1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
22 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
23 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
24 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
25 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
26 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
31 typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q tySequence__YdLNCDKYeipzJx3I8Xw82Q;
32 typedef struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA tySequence__PJMRIt5QxCm6bRaVyQ5CGA;
33 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
34 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
35 typedef struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ;
36 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
37 typedef struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A tySequence__YWbgnI9b9a4j9aDYnupShIg3A;
38 typedef struct NimStringDesc NimStringDesc;
39 typedef struct TGenericSeq TGenericSeq;
40 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
41 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
42 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
43 typedef struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg;
44 typedef struct tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ;
45 typedef struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ tySequence__Q9atPKk5Xsv6h4rje4WzNLQ;
46 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
47 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
48 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
49 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
50 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
51 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
52 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
53 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
54 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
55 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
56 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
57 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
58 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
59 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
60 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
61 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
62 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
63 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
64 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
65 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
66 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
67 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
68 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
69 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
70 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
71 typedef struct tySequence__JokFGfUW6i9b6aeU7xu6xBw tySequence__JokFGfUW6i9b6aeU7xu6xBw;
72 typedef struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg;
73 typedef struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg tyTuple__SlmU1Ju0WFHUWkihyHMVYg;
74 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
75 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
76 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
77 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
78 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
79 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
80 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
81 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
82 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
83 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
84 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
85 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
86 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
87 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
88 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
89 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
90 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
91 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
92 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
93 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
94 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
95 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
96 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
97 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
98 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
99 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
100 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
101 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
102 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
103 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
104 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
105 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
106 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
107 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
108 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
109 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
110 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
111 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
112 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
113 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
114 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
115 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
116 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
117 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
118 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
119 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
120 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
121 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
122 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
123 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
124 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
125 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
126 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
127 typedef struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA;
128 typedef struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw tyTuple__C1iPjdrPjiQaUrcFhIp9aGw;
129 typedef struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA;
130 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
131 typedef struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ;
132 typedef struct tyTuple__4707W0MdkBgzyuDClNdLBQ tyTuple__4707W0MdkBgzyuDClNdLBQ;
133 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
134 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
135 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
136 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
137 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
138 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
139 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
140 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
141 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
142 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
143 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
144 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
145 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
146 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
147 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
148 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
149 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
150 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
151 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
152 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
153 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
154 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
155 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
156 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
157 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
158 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
159 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
160 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
161 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
162 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
163 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
164 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
165 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
166 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
167 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
168 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
169 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
170 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
171 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
172 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
173 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
174 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
175 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
176 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
177 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
178 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
179 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
180 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
181 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
182 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
183 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
184 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
185 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
186 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
187 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
188 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
189 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
190 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
191 typedef struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA;
192 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
193 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
194 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
195 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
196 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
197 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
198 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
199 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
200 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
201 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
202 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
203 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
204 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
205 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
206 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
207 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
208 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
209 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
210 NI counter;
211 };
212 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
213 NI Field0;
214 NI Field1;
215 NI Field2;
216 };
217 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
218 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
219 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
220 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
221 struct TNimType {
222 NI size;
223 NI align;
224 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
225 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
226 TNimType* base;
227 TNimNode* node;
228 void* finalizer;
229 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
230 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
231 };
232 struct RootObj {
233 TNimType* m_type;
234 };
235 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
236   RootObj Sup;
237 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
238 };
239 typedef NU8 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ;
240 typedef NU8 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
241 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
242 NU16 line;
243 NI16 col;
244 NI32 fileIndex;
245 };
246 struct TGenericSeq {
247 NI len;
248 NI reserved;
249 };
250 struct NimStringDesc {
251   TGenericSeq Sup;
252 NIM_CHAR data[SEQ_DECL_SIZE];
253 };
254 struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg {
255 NF tEnter;
256 tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos;
257 };
258 struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw {
259   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
260 tySequence__YdLNCDKYeipzJx3I8Xw82Q* code;
261 tySequence__PJMRIt5QxCm6bRaVyQ5CGA* debug;
262 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* globals;
263 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constants;
264 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
265 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionA;
266 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionB;
267 NI exceptionInstr;
268 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* prc;
269 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
270 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callsite;
271 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ mode;
272 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A features;
273 NIM_BOOL traceActive;
274 NI loopIterations;
275 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q comesFromHeuristic;
276 tySequence__YWbgnI9b9a4j9aDYnupShIg3A* callbacks;
277 NimStringDesc* errorFlag;
278 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
279 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
280 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
281 NI oldErrorCount;
282 tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg profiler;
283 NI* templInstCounter;
284 tySequence__Q9atPKk5Xsv6h4rje4WzNLQ* vmstateDiff;
285 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w procToCodePos;
286 };
287 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
288 NI32 module;
289 NI32 item;
290 };
291 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
292   RootObj Sup;
293 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
294 };
295 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
296 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
297 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
298 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
299 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
300 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
301 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
302 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
303 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
304 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
305 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
306 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
307 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
308 };
309 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
310   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
311 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
312 union{
313 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
314 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
315 } _kind_1;
316 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
317 NI bitsize;
318 NI alignment;
319 } _kind_2;
320 };
321 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
322 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
323 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
324 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
325 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
326 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
327 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
328 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
329 NI position;
330 NI offset;
331 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
332 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
333 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
334 };
335 typedef NU8 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ;
336 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
337 struct TNimNode {
338 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
339 NI offset;
340 TNimType* typ;
341 NCSTRING name;
342 NI len;
343 TNimNode** sons;
344 };
345 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
346 NI refcount;
347 TNimType* typ;
348 };
349 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
350 void* bottom;
351 };
352 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
353 NI len;
354 NI cap;
355 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
356 };
357 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
358 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
359 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
360 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
361 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
362 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
363 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
364 };
365 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
366 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
367 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
368 NI key;
369 NI upperBound;
370 NI level;
371 };
372 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
373 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
374 NI Field1;
375 };
376 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
377 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
378 NI len;
379 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
380 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
381 };
382 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
383 NI minLargeObj;
384 NI maxLargeObj;
385 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
386 NU32 flBitmap;
387 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
388 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
389 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
390 NI currMem;
391 NI maxMem;
392 NI freeMem;
393 NI occ;
394 NI lastSize;
395 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
396 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
397 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
398 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
399 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
400 NIM_BOOL locked;
401 NIM_BOOL blockChunkSizeIncrease;
402 NI nextChunkSize;
403 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
404 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
405 };
406 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
407 NI stackScans;
408 NI cycleCollections;
409 NI maxThreshold;
410 NI maxStackSize;
411 NI maxStackCells;
412 NI cycleTableSize;
413 NI64 maxPause;
414 };
415 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
416 NI counter;
417 NI max;
418 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
419 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
420 };
421 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
422 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
423 NI cycleThreshold;
424 NI zctThreshold;
425 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
426 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
427 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
428 NI recGcLock;
429 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
430 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
431 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
432 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
433 NI gcThreadId;
434 };
435 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
436 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
437 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
438 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
439 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
440 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
441 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
442 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
443 union{
444 struct {NI64 intVal;
445 } _kind_1;
446 struct {NF floatVal;
447 } _kind_2;
448 struct {NimStringDesc* strVal;
449 } _kind_3;
450 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
451 } _kind_4;
452 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
453 } _kind_5;
454 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
455 } _kind_6;
456 };
457 };
458 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
459 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
460 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
461 NimStringDesc* Field0;
462 NI Field1;
463 NI Field2;
464 };
465 struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ {
466 tySequence__JokFGfUW6i9b6aeU7xu6xBw* blocks;
467 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
468 tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg* regInfo;
469 };
470 typedef NU8 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ;
471 struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg {
472 NIM_BOOL Field0;
473 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ Field1;
474 };
475 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
476 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
477 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
478 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
479   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
480 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
481 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
482 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
483 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
484 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
485 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
486 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
487 NI64 size;
488 NI16 align;
489 NI16 paddingAtEnd;
490 NI16 lockLevel;
491 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
492 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
493 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
494 };
495 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
496 typedef NU8 tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
497 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
498 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
499 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
500 NI counter;
501 };
502 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
503 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
504 NI counter;
505 };
506 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
507 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
508 NI counter;
509 };
510 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
511 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
512 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
513 NI counter;
514 };
515 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
516 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
517 NI counter;
518 };
519 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
520 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
521 NI counter;
522 };
523 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
524 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
525 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
526 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
527 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
528 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
529 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
530 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
531 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
532 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
533 };
534 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
535 NI counter;
536 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
537 };
538 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
539 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
540 NI counter;
541 };
542 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
543 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
544 NI elems;
545 NI counter;
546 NI max;
547 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
548 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
549 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
550 };
551 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
552 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
553 NI counter;
554 };
555 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
556 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
557 NI counter;
558 };
559 typedef struct {
560 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
561 void* ClE_0;
562 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
563 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
564 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
565 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
566 NI counter;
567 };
568 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
569 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
570 NI counter;
571 };
572 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
573 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
574 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
575 tySequence__23SMqauuRsbDANhthj9bWlA* data;
576 NI counter;
577 };
578 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
579 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
580 NI counter;
581 };
582 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
583 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
584 NI counter;
585 };
586 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
587 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
588 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
589 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
590 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
591 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
592 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
593 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
594 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
595 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
596 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
597 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
598 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
599 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
600 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
601 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
602 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
603 };
604 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
605 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
606 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
607 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
608 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
609 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
610 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
611 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
612 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
613 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
614 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
615 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
616 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
617 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
618 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
619 NIM_BOOL suggestMode;
620 NIM_BOOL invalidTransitiveClosure;
621 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
622 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
623 RootObj* backend;
624 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
625 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
626 RootObj* vm;
627 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
628 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
629 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
630 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
631 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
632 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
633 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
634 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
635 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
636 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
637 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
638 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
639 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
640 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
641 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
642 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
643 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
644 tySequence__MAQKEADohlpnXTModtugbQ* passes;
645 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
646 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
647 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
648 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
649 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
650 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
651 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
652 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
653 };
654 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
655 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
656 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
657 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
658 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
659 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
660 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
661 NI intSize;
662 NI floatSize;
663 NI ptrSize;
664 NimStringDesc* tnl;
665 };
666 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
667 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
668 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
669 NIM_BOOL trackPosAttached;
670 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
671 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
672 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
673 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
674 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
675 NI32 systemFileIdx;
676 };
677 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
678 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
679 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
680 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
681 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
682 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
683 NI counter;
684 };
685 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
686 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
687 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
688 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
689 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
690 typedef struct {
691 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
692 void* ClE_0;
693 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
694 typedef struct {
695 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
696 void* ClE_0;
697 } tyProc__k2HFjxisIgDALbEUFojxaQ;
698 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
699 typedef struct {
700 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
701 void* ClE_0;
702 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
703 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
704 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
705 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
706 NI linesCompiled;
707 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
708 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
709 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
710 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
711 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
712 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
713 NimStringDesc* unitSep;
714 NI evalTemplateCounter;
715 NI evalMacroCounter;
716 NI8 exitcode;
717 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
718 NimStringDesc* cmdInput;
719 NIM_BOOL projectIsCmd;
720 NIM_BOOL implicitCmd;
721 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
722 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
723 NIM_BOOL hintProcessingDots;
724 NI verbosity;
725 NI numberOfProcessors;
726 NF lastCmdTime;
727 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
728 NI spellSuggestMax;
729 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
730 NimStringDesc* headerFile;
731 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
732 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
733 NimStringDesc* arguments;
734 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
735 NIM_BOOL oldNewlines;
736 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
737 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
738 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
739 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
740 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
741 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
742 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
743 NI mainPackageId;
744 NI errorCounter;
745 NI hintCounter;
746 NI warnCounter;
747 NI errorMax;
748 NI maxLoopIterationsVM;
749 NIM_BOOL isVmTrace;
750 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
751 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
752 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
753 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
754 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
755 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
756 NimStringDesc* outFile;
757 NimStringDesc* outDir;
758 NimStringDesc* jsonBuildFile;
759 NimStringDesc* prefixDir;
760 NimStringDesc* libpath;
761 NimStringDesc* nimcacheDir;
762 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
763 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
764 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
765 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
766 NimStringDesc* projectName;
767 NimStringDesc* projectPath;
768 NimStringDesc* projectFull;
769 NIM_BOOL projectIsStdin;
770 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
771 NI32 projectMainIdx;
772 NI32 projectMainIdx2;
773 NimStringDesc* command;
774 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
775 NimStringDesc* commandLine;
776 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
777 NIM_BOOL keepComments;
778 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
779 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
780 NimStringDesc* docSeeSrcUrl;
781 NimStringDesc* docRoot;
782 NimStringDesc* docCmd;
783 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
784 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
785 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
786 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
787 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
788 NimStringDesc* linkOptionsCmd;
789 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
790 NimStringDesc* linkOptions;
791 NimStringDesc* compileOptions;
792 NimStringDesc* cCompilerPath;
793 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
794 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
795 NI suggestVersion;
796 NI suggestMaxResults;
797 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
798 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
799 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
800 NimStringDesc* cppCustomNamespace;
801 NimStringDesc* nimMainPrefix;
802 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
803 };
804 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
805 NI id;
806 NimStringDesc* s;
807 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
808 NI h;
809 };
810 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
811 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
812 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
813 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
814 };
815 typedef NU8 tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
816 typedef struct {
817 N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
818 void* ClE_0;
819 } tyProc__5QC9cKfPJmKuW0XbCTd8ylA;
820 struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw {
821 NimStringDesc* Field0;
822 tyProc__5QC9cKfPJmKuW0XbCTd8ylA Field1;
823 };
824 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
825 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
826 struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA {
827   RootObj Sup;
828 NI colonstate_;
829 tyObject_TType__facALICuu8zUj0hjvbTLFg* t21;
830 tyObject_TType__facALICuu8zUj0hjvbTLFg* targ22;
831 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n3;
832 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg4;
833 };
834 typedef N_CLOSURE_PTR(NIM_BOOL, TM__24XApAWKNvaMkcyklm8bNA_54) (void);
835 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
836 struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ {
837 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* label;
838 tySequence__qwqHTkRvwhrRyENtudHQ7g* fixups;
839 };
840 typedef NU8 tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
841 struct tyTuple__4707W0MdkBgzyuDClNdLBQ {
842 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
843 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
844 };
845 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
846 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
847 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
848 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
849 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
850 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
851 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
852 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
853 };
854 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
855 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
856 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
857 };
858 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
859 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
860 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
861 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
862 };
863 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
864 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
865 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
866 };
867 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
868 NimStringDesc* definedSymbols;
869 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
870 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
871 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
872 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
873 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
874 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
875 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
876 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
877 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
878 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
879 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
880 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
881 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
882 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
883 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
884 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
885 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
886 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
887 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
888 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
889 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
890 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
891 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
892 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
893 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
894 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
895 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
896 };
897 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
898 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
899 NI counter;
900 };
901 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
902 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
903 NIM_BOOL symsInit;
904 NIM_BOOL typesInit;
905 NIM_BOOL loadedButAliveSetChanged;
906 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
907 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
908 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
909 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
910 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
911 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
912 };
913 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
914 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
915 NI counter;
916 };
917 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
918 NI32 thisModule;
919 NI32 lastFile;
920 NU32 lastLit;
921 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
922 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
923 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
924 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
925 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
926 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
927 };
928 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
929 NU32 module;
930 NI32 item;
931 };
932 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
933 NI module;
934 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
935 };
936 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
937 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
938 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
939 };
940 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
941 NI Field0;
942 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
943 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
944 };
945 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
946 NI module;
947 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
948 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
949 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
950 };
951 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
952 NI Field0;
953 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
954 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
955 };
956 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
957 NI Field0;
958 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
959 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
960 };
961 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
962 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
963 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
964 };
965 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
966 NI Field0;
967 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
968 };
969 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
970 NI Field0;
971 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
972 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
973 };
974 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
975 NI Field0;
976 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
977 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
978 };
979 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
980 NI Field0;
981 NimStringDesc* Field1;
982 NI32 Field2;
983 };
984 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
985 NI Field0;
986 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
987 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
988 };
989 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
990 NI Field0;
991 NI32 Field1;
992 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
993 };
994 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
995 NI Field0;
996 NI32 Field1;
997 NI32 Field2;
998 };
999 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1000 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1001 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1002 };
1003 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1004 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1005 NI Field0;
1006 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1007 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1008 };
1009 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1010 NI Field0;
1011 NI Field1;
1012 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1013 };
1014 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1015 NI Field0;
1016 NimStringDesc* Field1;
1017 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1018 };
1019 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1020 NI Field0;
1021 NimStringDesc* Field1;
1022 NI64 Field2;
1023 };
1024 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1025 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1026 NI entries;
1027 };
1028 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1029 NI Field0;
1030 NimStringDesc* Field1;
1031 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1032 };
1033 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1034 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1035 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1036 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1037 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1038 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1039 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1040 NIM_BOOL Field3;
1041 };
1042 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1043 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1044 NimStringDesc* Field1;
1045 };
1046 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1047 NimStringDesc* fullPath;
1048 NimStringDesc* projPath;
1049 NimStringDesc* shortName;
1050 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1051 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1052 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1053 NimStringDesc* dirtyFile;
1054 NimStringDesc* hash;
1055 NIM_BOOL dirty;
1056 };
1057 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1058 NI Field0;
1059 NimStringDesc* Field1;
1060 };
1061 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1062 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1063 NimStringDesc* nimname;
1064 NimStringDesc* cname;
1065 NimStringDesc* obj;
1066 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1067 NimStringDesc* customArgs;
1068 };
1069 struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA {
1070 NI ra;
1071 NI rb;
1072 NI rc;
1073 tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* slots;
1074 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentException;
1075 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currentLineInfo;
1076 };
1077 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1078 NU32 Field0;
1079 NimStringDesc* Field1;
1080 };
1081 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1082 NU16 line;
1083 NI16 col;
1084 NU32 file;
1085 };
1086 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1087 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1088 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1089 NI32 operand;
1090 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1091 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1092 };
1093 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1094 NU32 Field0;
1095 NI32 Field1;
1096 };
1097 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1098 NU32 Field0;
1099 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1100 };
1101 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1102 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1103 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1104 };
1105 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1106 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1107 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1108 };
1109 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1110 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1111 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1112 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1113 };
1114 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
1115 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1116 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1117 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1118 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1119 };
1120 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1121 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1122 NI Field1;
1123 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1124 };
1125 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1126 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1127 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1128 NIM_BOOL generated;
1129 NIM_BOOL isOverriden;
1130 NU32 name;
1131 NI32 path;
1132 };
1133 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1134 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1135 NU32 name;
1136 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1137 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1138 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1139 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1140 NI32 ast;
1141 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1142 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1143 NI bitsize;
1144 NI alignment;
1145 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1146 NI position;
1147 NI offset;
1148 NU32 externalName;
1149 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1150 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1151 NI32 constraint;
1152 };
1153 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1154 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1155 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1156 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1157 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1158 NI32 n;
1159 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1160 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1161 NI64 size;
1162 NI16 align;
1163 NI16 paddingAtEnd;
1164 NI16 lockLevel;
1165 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1166 NI32 nonUniqueId;
1167 };
1168 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1169 NI Field0;
1170 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1171 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1172 };
1173 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1174 NI Field0;
1175 NI32 Field1;
1176 NU32 Field2;
1177 };
1178 struct tySequence__YdLNCDKYeipzJx3I8Xw82Q {
1179   TGenericSeq Sup;
1180   NU64 data[SEQ_DECL_SIZE];
1181 };
1182 struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA {
1183   TGenericSeq Sup;
1184   tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q data[SEQ_DECL_SIZE];
1185 };
1186 struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg {
1187   TGenericSeq Sup;
1188   tyTuple__SlmU1Ju0WFHUWkihyHMVYg data[SEQ_DECL_SIZE];
1189 };
1190 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1191   TGenericSeq Sup;
1192   NimStringDesc* data[SEQ_DECL_SIZE];
1193 };
1194 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1195   TGenericSeq Sup;
1196   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1197 };
1198 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1199   TGenericSeq Sup;
1200   NI data[SEQ_DECL_SIZE];
1201 };
1202 struct tySequence__JokFGfUW6i9b6aeU7xu6xBw {
1203   TGenericSeq Sup;
1204   tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE];
1205 };
1206 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1207   TGenericSeq Sup;
1208   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1209 };
1210 struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A {
1211   TGenericSeq Sup;
1212   tyTuple__C1iPjdrPjiQaUrcFhIp9aGw data[SEQ_DECL_SIZE];
1213 };
1214 struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ {
1215   TGenericSeq Sup;
1216   tyTuple__4707W0MdkBgzyuDClNdLBQ data[SEQ_DECL_SIZE];
1217 };
1218 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1219   TGenericSeq Sup;
1220   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1221 };
1222 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1223   TGenericSeq Sup;
1224   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1225 };
1226 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1227   TGenericSeq Sup;
1228   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1229 };
1230 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1231   TGenericSeq Sup;
1232   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1233 };
1234 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1235   TGenericSeq Sup;
1236   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1237 };
1238 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1239   TGenericSeq Sup;
1240   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1241 };
1242 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1243   TGenericSeq Sup;
1244   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1245 };
1246 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1247   TGenericSeq Sup;
1248   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1249 };
1250 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1251   TGenericSeq Sup;
1252   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1253 };
1254 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1255   TGenericSeq Sup;
1256   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1257 };
1258 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1259   TGenericSeq Sup;
1260   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1261 };
1262 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1263   TGenericSeq Sup;
1264   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1265 };
1266 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1267   TGenericSeq Sup;
1268   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1269 };
1270 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1271   TGenericSeq Sup;
1272   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1273 };
1274 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1275   TGenericSeq Sup;
1276   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1277 };
1278 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1279   TGenericSeq Sup;
1280   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1281 };
1282 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1283   TGenericSeq Sup;
1284   NI32 data[SEQ_DECL_SIZE];
1285 };
1286 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1287   TGenericSeq Sup;
1288   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1289 };
1290 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1291   TGenericSeq Sup;
1292   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1293 };
1294 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1295   TGenericSeq Sup;
1296   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1297 };
1298 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1299   TGenericSeq Sup;
1300   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1301 };
1302 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1303   TGenericSeq Sup;
1304   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1305 };
1306 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1307   TGenericSeq Sup;
1308   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1309 };
1310 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1311   TGenericSeq Sup;
1312   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1313 };
1314 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1315   TGenericSeq Sup;
1316   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1317 };
1318 struct tySequence__MAQKEADohlpnXTModtugbQ {
1319   TGenericSeq Sup;
1320   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1321 };
1322 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1323   TGenericSeq Sup;
1324   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1325 };
1326 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1327   TGenericSeq Sup;
1328   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1329 };
1330 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1331   TGenericSeq Sup;
1332   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1333 };
1334 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1335   TGenericSeq Sup;
1336   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1337 };
1338 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1339   TGenericSeq Sup;
1340   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1341 };
1342 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1343   TGenericSeq Sup;
1344   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1345 };
1346 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1347   TGenericSeq Sup;
1348   NU32 data[SEQ_DECL_SIZE];
1349 };
1350 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1351   TGenericSeq Sup;
1352   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1353 };
1354 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1355   TGenericSeq Sup;
1356   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1357 };
1358 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1359   TGenericSeq Sup;
1360   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1361 };
1362 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1363   TGenericSeq Sup;
1364   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1365 };
1366 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1367   TGenericSeq Sup;
1368   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1369 };
1370 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1371   TGenericSeq Sup;
1372   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1373 };
1374 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1375   TGenericSeq Sup;
1376   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1377 };
1378 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1379   TGenericSeq Sup;
1380   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1381 };
1382 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1383   TGenericSeq Sup;
1384   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1385 };
1386 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1387   TGenericSeq Sup;
1388   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1389 };
1390 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1391   TGenericSeq Sup;
1392   NI64 data[SEQ_DECL_SIZE];
1393 };
1394 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1395   TGenericSeq Sup;
1396   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1397 };
1398 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1399   TGenericSeq Sup;
1400   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1401 };
1402 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1403   TGenericSeq Sup;
1404   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1405 };
1406 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1407   TGenericSeq Sup;
1408   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1409 };
1410 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key);
1411 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc);
1412 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1413 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1414 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1415 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
1416 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1417 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1418 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1419 static N_INLINE(void, asgnRef)(void** dest, void* src);
1420 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1421 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1422 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1423 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1424 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1425 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1426 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1427 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1428 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___importer_2284)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w* t, NI key, NI val);
1429 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBody__transf_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL cache);
1430 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1431 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a);
1432 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx);
1433 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1434 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
1435 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1436 static N_INLINE(void, nimGCunrefRC1)(void* p);
1437 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params);
1438 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1439 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1440 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1441 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1442 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp);
1443 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1444 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1445 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1446 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1447 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
1448 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1449 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1450 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1451 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1452 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1453 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1454 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1455 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1456 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1457 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadProcBody__icZic_8390)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1458 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1459 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1460 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1461 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1462 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1463 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1464 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition);
1465 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1466 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1467 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1468 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
1469 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1470 N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
1471 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1472 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1473 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1474 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt);
1475 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1476 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1477 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start);
1478 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1479 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1480 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1481 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef__ast_3483)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1482 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1483 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1484 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c);
1485 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy);
1486 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r);
1487 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1488 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
1489 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1490 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1491 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1492 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1493 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1494 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1495 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1496 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x);
1497 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
1498 N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
1499 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i);
1500 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1501 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1502 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1503 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1504 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1505 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1506 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1507 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1508 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1509 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1510 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest);
1511 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1512 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1513 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest);
1514 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest);
1515 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1516 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p);
1517 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1518 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1519 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm);
1520 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1521 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1522 N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1523 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x);
1524 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value);
1525 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr);
1526 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1528 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1529 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1530 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1531 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect__astmsgs_61)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc);
1532 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__ast_3817)(NimStringDesc* strVal, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1533 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1534 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1535 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind);
1536 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1537 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1538 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n);
1539 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1540 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1541 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1542 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1543 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1544 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm);
1545 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1546 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1547 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1548 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1549 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1550 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1551 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1552 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op);
1553 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0);
1554 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1555 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1556 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerSwap__lowerings_246)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1557 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1558 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1559 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1560 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1561 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode);
1562 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1563 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1564 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1565 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1566 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1567 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1568 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1569 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1570 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1571 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1572 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1573 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1574 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1575 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1576 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1577 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1579 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1581 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1582 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1583 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1584 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1585 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1586 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1587 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1588 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p);
1589 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen);
1590 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1591 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1592 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1593 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1594 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1595 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1596 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1597 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpacking__lowerings_116)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1598 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1599 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1600 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1601 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1602 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1603 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1604 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1605 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1606 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start);
1607 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff);
1608 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1609 extern TNimType NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_;
1610 extern TNimType NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_;
1611 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_2, "VM: immediate value does not fit into regBx", 43);
1612 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/vmgen.nim", 60);
1613 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_3 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1614 ((NI) 164),
1615 ((NI) 14)}
1616 ;
1617 extern TNimType NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_;
1618 extern TNimType NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_;
1619 static NIM_CONST tyTuple__SlmU1Ju0WFHUWkihyHMVYg TM__24XApAWKNvaMkcyklm8bNA_5 = {NIM_TRUE,
1620 ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2)}
1621 ;
1622 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_6, "cannot evaluate at compile time: ", 33);
1623 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_7 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1624 ((NI) 1477),
1625 ((NI) 13)}
1626 ;
1627 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_8, "cannot \'importc\' variable at compile time; ", 43);
1628 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_9 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1629 ((NI) 1616),
1630 ((NI) 14)}
1631 ;
1632 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_10 = {
1633 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x10,
1634 0x00}
1635 ;
1636 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_11 = {
1637 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1638 0x00}
1639 ;
1640 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_12, "vmgen.nim(1811, 14) `obj.sym.position == currPosition` ", 55);
1641 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_13, "cannot create null element for: ", 32);
1642 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_14 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1643 ((NI) 1813),
1644 ((NI) 19)}
1645 ;
1646 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
1647 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_15 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1648 ((NI) 1856),
1649 ((NI) 15)}
1650 ;
1651 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_16 = {
1652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1653 0x00}
1654 ;
1655 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_17 = {
1656 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1657 0x00}
1658 ;
1659 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_18, "VM problem: too many registers required", 39);
1660 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_19 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1661 ((NI) 229),
1662 ((NI) 15)}
1663 ;
1664 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_20 = {
1665 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x10,
1666 0x00}
1667 ;
1668 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_21, "(", 1);
1669 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_22, ", ", 2);
1670 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_23, ")", 1);
1671 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_24 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1672 ((NI) 1671),
1673 ((NI) 22)}
1674 ;
1675 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1676 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_25, "Closure iterators are not supported by VM!", 42);
1677 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_26 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1678 ((NI) 2023),
1679 ((NI) 19)}
1680 ;
1681 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_27, "*", 1);
1682 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_28, "vmgen.nim(2005, 16) `s.offset == -1` ", 37);
1683 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_29 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1684 ((NI) 452),
1685 ((NI) 17)}
1686 ;
1687 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_30, "cannot generate code for: ", 26);
1688 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_31 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1689 ((NI) 2046),
1690 ((NI) 19)}
1691 ;
1692 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_32 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1693 ((NI) 2048),
1694 ((NI) 17)}
1695 ;
1696 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_33 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1697 ((NI) 186),
1698 ((NI) 16)}
1699 ;
1700 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_34, "VM: immediate value does not fit into an int8", 45);
1701 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_35 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1702 ((NI) 147),
1703 ((NI) 14)}
1704 ;
1705 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_36 = {
1706 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1707 0x00}
1708 ;
1709 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_37, "not unused", 10);
1710 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_38 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1711 ((NI) 487),
1712 ((NI) 15)}
1713 ;
1714 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_39 = {
1715 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1716 0x00}
1717 ;
1718 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_40 = {
1719 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1720 0x00}
1721 ;
1722 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Zero__int495056_7;
1723 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_41 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1724 ((NI) 1720),
1725 ((NI) 17)}
1726 ;
1727 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_42 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1728 ((NI) 1732),
1729 ((NI) 17)}
1730 ;
1731 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_43, "no field symbol", 15);
1732 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_44 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1733 ((NI) 626),
1734 ((NI) 15)}
1735 ;
1736 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_45, "too large offset! cannot generate code for: ", 44);
1737 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_46 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1738 ((NI) 629),
1739 ((NI) 15)}
1740 ;
1741 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_47 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1742 ((NI) 269),
1743 ((NI) 15)}
1744 ;
1745 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_48 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1746 ((NI) 609),
1747 ((NI) 21)}
1748 ;
1749 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
1750 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_49 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1751 ((NI) 533),
1752 ((NI) 16)}
1753 ;
1754 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_50, "vmgen.nim(1062, 20) `false` ", 28);
1755 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_51 = {
1756 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1757 0x00}
1758 ;
1759 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
1760 N_LIB_PRIVATE TNimType NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_;
1761 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
1762 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
1763 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1764 N_LIB_PRIVATE TNimType NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_;
1765 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_53 = {
1766 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1767 0x00}
1768 ;
1769 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_55 = {
1770 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1771 0x00}
1772 ;
1773 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_56, "getType", 7);
1774 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_57, "typeKind", 8);
1775 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_58, "getTypeInst", 11);
1776 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_59, "getSize", 7);
1777 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_60, "getAlign", 8);
1778 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_61, "invalid bindSym usage", 21);
1779 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_62 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1780 ((NI) 962),
1781 ((NI) 16)}
1782 ;
1783 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_63, "getFile", 7);
1784 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_64, "getLine", 7);
1785 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_65, "getColumn", 9);
1786 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_66, "copyLineInfo", 12);
1787 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_67 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1788 ((NI) 1323),
1789 ((NI) 21)}
1790 ;
1791 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_68 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1792 ((NI) 1326),
1793 ((NI) 25)}
1794 ;
1795 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_69, "expandToAst requires 1 argument", 31);
1796 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_70 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1797 ((NI) 1349),
1798 ((NI) 17)}
1799 ;
1800 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_71, "expandToAst requires a call expression", 38);
1801 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_72 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1802 ((NI) 1359),
1803 ((NI) 17)}
1804 ;
1805 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_73, "\'$1\' requires \'.importc\' types to be \'.completeStruct\'", 54);
1806 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_75, "sizeof", 6);
1807 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_74 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_75)}
1808 ;
1809 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_76 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1810 ((NI) 1361),
1811 ((NI) 15)}
1812 ;
1813 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_78, "alignof", 7);
1814 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_77 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_78)}
1815 ;
1816 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_79 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1817 ((NI) 1363),
1818 ((NI) 15)}
1819 ;
1820 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_81, "offsetof", 8);
1821 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_80 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_81)}
1822 ;
1823 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_82 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1824 ((NI) 1365),
1825 ((NI) 15)}
1826 ;
1827 extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
1828 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_83 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1829 ((NI) 1384),
1830 ((NI) 15)}
1831 ;
1832 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_84, "cannot call method ", 19);
1833 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_85, " at compile time", 16);
1834 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_86 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1835 ((NI) 2055),
1836 ((NI) 18)}
1837 ;
1838 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_87, "stdlib.marshal.to", 17);
1839 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_88, "stdlib.marshal.$$", 17);
1840 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_89 = {
1841 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1842 0x00}
1843 ;
1844 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_90 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1845 ((NI) 1580),
1846 ((NI) 21)}
1847 ;
1848 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_91 = {
1849 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10,
1850 0x00}
1851 ;
1852 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_92 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1853 ((NI) 1766),
1854 ((NI) 17)}
1855 ;
1856 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1857 static NIM_CONST struct {
1858   TGenericSeq Sup;
1859   NI data[0];
1860 } TM__24XApAWKNvaMkcyklm8bNA_94 = {{0, 0 | NIM_STRLIT_FLAG}};
1861 static NIM_CONST tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ TM__24XApAWKNvaMkcyklm8bNA_93 = {((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), ((tySequence__qwqHTkRvwhrRyENtudHQ7g*)&TM__24XApAWKNvaMkcyklm8bNA_94)}
1862 ;
1863 extern TNimType NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_;
1864 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_95 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1865 ((NI) 178),
1866 ((NI) 16)}
1867 ;
1868 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_96, "VM problem: cannot find \'break\' target", 38);
1869 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_97 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1870 ((NI) 382),
1871 ((NI) 15)}
1872 ;
1873 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_98 = {
1874 0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1875 0x00}
1876 ;
1877 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_99, "invalid object constructor", 26);
1878 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_100 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1879 ((NI) 1968),
1880 ((NI) 17)}
1881 ;
1882 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_101 = {
1883 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00,
1884 0x00}
1885 ;
1886 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_102 = {
1887 0x04, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
1888 0x00}
1889 ;
1890 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_103 = {
1891 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1892 0x00}
1893 ;
1894 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_104, "VM does not support \'cast\' from ", 32);
1895 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_105, " to ", 4);
1896 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_106 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1897 ((NI) 938),
1898 ((NI) 15)}
1899 ;
1900 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_107, "cannot generate VM code for ", 28);
1901 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_108 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1902 ((NI) 2166),
1903 ((NI) 17)}
1904 ;
1905 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_109 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1906 ((NI) 2207),
1907 ((NI) 16)}
1908 ;
1909 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_110, "VM problem: dest register is not set", 36);
1910 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_111 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1911 ((NI) 2192),
1912 ((NI) 17)}
1913 ;
1914 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_112, "VM problem: dest register is set", 32);
1915 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_113 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1916 ((NI) 2183),
1917 ((NI) 15)}
1918 ;
1919 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)1920 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
1921 	NU64 result;
1922 	NU64 aH;
1923 	NU64 aL;
1924 	NU64 bH;
1925 	NU64 bL;
1926 	NU64 rHH;
1927 	NU64 rHL;
1928 	NU64 rLH;
1929 	NU64 rLL;
1930 	NU64 t;
1931 	NU64 c;
1932 	NU64 lo;
1933 	NU64 T6_;
1934 	NU64 hi;
1935 {	result = (NU64)0;
1936 	aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
1937 	aL = (NU64)(a & 4294967295ULL);
1938 	bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
1939 	bL = (NU64)(b & 4294967295ULL);
1940 	rHH = (NU64)((NU64)(aH) * (NU64)(bH));
1941 	rHL = (NU64)((NU64)(aH) * (NU64)(bL));
1942 	rLH = (NU64)((NU64)(aL) * (NU64)(bH));
1943 	rLL = (NU64)((NU64)(aL) * (NU64)(bL));
1944 	t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
1945 	{
1946 		if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
1947 		c = 1ULL;
1948 	}
1949 	goto LA1_;
1950 	LA3_: ;
1951 	{
1952 		c = 0ULL;
1953 	}
1954 	LA1_: ;
1955 	lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
1956 	T6_ = (NU64)0;
1957 	{
1958 		if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
1959 		T6_ = 1ULL;
1960 	}
1961 	goto LA7_;
1962 	LA9_: ;
1963 	{
1964 		T6_ = 0ULL;
1965 	}
1966 	LA7_: ;
1967 	c += T6_;
1968 	hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
1969 	result = (NU64)(hi ^ lo);
1970 	goto BeforeRet_;
1971 	}BeforeRet_: ;
1972 	return result;
1973 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1974 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1975 	NU64 result;
1976 	result = (NU64)0;
1977 	result = hiXorLoFallback64__pureZhashes_35(a, b);
1978 	return result;
1979 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1980 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1981 	NI result;
1982 	NU64 T1_;
1983 	NU64 T2_;
1984 	result = (NI)0;
1985 	T1_ = (NU64)0;
1986 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1987 	T2_ = (NU64)0;
1988 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1989 	result = ((NI) (T2_));
1990 	return result;
1991 }
N_INLINE(NI,hash__pureZhashes_128)1992 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1993 	NI result;
1994 	result = (NI)0;
1995 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1996 	return result;
1997 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1998 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1999 	NIM_BOOL result;
2000 	result = (NIM_BOOL)0;
2001 	result = !((hcode == ((NI) 0)));
2002 	return result;
2003 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)2004 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
2005 	NI result;
2006 	result = (NI)0;
2007 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2008 	return result;
2009 }
N_INLINE(NI,rawGet__sigmatch_5618)2010 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) {
2011 	NI result;
2012 	NI h;
2013 	NI T10_;
2014 {	result = (NI)0;
2015 	(*hc) = hash__pureZhashes_128(key);
2016 	{
2017 		if (!((*hc) == ((NI) 0))) goto LA3_;
2018 		(*hc) = ((NI) 314159265);
2019 	}
2020 	LA3_: ;
2021 	{
2022 		NI T7_;
2023 		T7_ = (t.data ? t.data->Sup.len : 0);
2024 		if (!(T7_ == ((NI) 0))) goto LA8_;
2025 		result = ((NI) -1);
2026 		goto BeforeRet_;
2027 	}
2028 	LA8_: ;
2029 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2030 	h = (NI)((*hc) & T10_);
2031 	{
2032 		while (1) {
2033 			NIM_BOOL T13_;
2034 			NI T20_;
2035 			T13_ = (NIM_BOOL)0;
2036 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2037 			if (!T13_) goto LA12;
2038 			{
2039 				NIM_BOOL T16_;
2040 				T16_ = (NIM_BOOL)0;
2041 				T16_ = (t.data->data[h].Field0 == (*hc));
2042 				if (!(T16_)) goto LA17_;
2043 				T16_ = (t.data->data[h].Field1 == key);
2044 				LA17_: ;
2045 				if (!T16_) goto LA18_;
2046 				result = h;
2047 				goto BeforeRet_;
2048 			}
2049 			LA18_: ;
2050 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2051 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
2052 		} LA12: ;
2053 	}
2054 	result = (NI)(((NI) -1) - h);
2055 	}BeforeRet_: ;
2056 	return result;
2057 }
N_NIMCALL(NI,getOrDefault__vmgen_3597)2058 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key) {
2059 	NI result;
2060 	NI hcX60gensym637_;
2061 	NI indexX60gensym637_;
2062 	result = (NI)0;
2063 	hcX60gensym637_ = (NI)0;
2064 	indexX60gensym637_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym637_));
2065 	{
2066 		if (!(((NI) 0) <= indexX60gensym637_)) goto LA3_;
2067 		result = t.data->data[indexX60gensym637_].Field2;
2068 	}
2069 	LA3_: ;
2070 	return result;
2071 }
N_INLINE(NI,pluspercent___system_696)2072 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2073 	NI result;
2074 	result = (NI)0;
2075 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
2076 	return result;
2077 }
N_INLINE(void,incRef__system_5308)2078 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2079 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2080 }
N_INLINE(NI,minuspercent___system_716)2081 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2082 	NI result;
2083 	result = (NI)0;
2084 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
2085 	return result;
2086 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)2087 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
2088 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2089 	NI T1_;
2090 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2091 	T1_ = (NI)0;
2092 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
2093 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2094 	return result;
2095 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2096 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2097 	NIM_BOOL result;
2098 	result = (NIM_BOOL)0;
2099 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
2100 	return result;
2101 }
N_INLINE(void,rtlAddZCT__system_5313)2102 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2103 	addZCT__system_5264((&gch__system_5217.zct), c);
2104 }
N_INLINE(void,decRef__system_5315)2105 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2106 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2107 	{
2108 		NIM_BOOL T3_;
2109 		T3_ = (NIM_BOOL)0;
2110 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2111 		if (!T3_) goto LA4_;
2112 		rtlAddZCT__system_5313(c);
2113 	}
2114 	LA4_: ;
2115 }
N_INLINE(void,asgnRef)2116 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2117 	{
2118 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2119 		if (!!((src == NIM_NIL))) goto LA3_;
2120 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2121 		T5_ = usrToCell__system_5270(src);
2122 		incRef__system_5308(T5_);
2123 	}
2124 	LA3_: ;
2125 	{
2126 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2127 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
2128 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2129 		T10_ = usrToCell__system_5270((*dest));
2130 		decRef__system_5315(T10_);
2131 	}
2132 	LA8_: ;
2133 	(*dest) = src;
2134 }
N_INLINE(NIM_BOOL,isCompileTimeProc__ast_4683)2135 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2136 	NIM_BOOL result;
2137 	NIM_BOOL T1_;
2138 	NIM_BOOL T3_;
2139 	result = (NIM_BOOL)0;
2140 	T1_ = (NIM_BOOL)0;
2141 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
2142 	if (T1_) goto LA2_;
2143 	T3_ = (NIM_BOOL)0;
2144 	T3_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2145 	if (!(T3_)) goto LA4_;
2146 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
2147 	LA4_: ;
2148 	T1_ = T3_;
2149 	LA2_: ;
2150 	result = T1_;
2151 	return result;
2152 }
N_NIMCALL(void,gABx__vmgen_375)2153 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx) {
2154 	{
2155 		NIM_BOOL T3_;
2156 		NU64 ins;
2157 		NI T7_;
2158 		NI T8_;
2159 		T3_ = (NIM_BOOL)0;
2160 		T3_ = (((NI) -8388608) <= bx);
2161 		if (!(T3_)) goto LA4_;
2162 		T3_ = (bx <= ((NI) 8388607));
2163 		LA4_: ;
2164 		if (!T3_) goto LA5_;
2165 		ins = (NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) ((NI)(bx + ((NI) 8388608))))) << (NU64)(24ULL)));
2166 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2167 		T7_ = (*c).code->Sup.len++;
2168 		(*c).code->data[T7_] = ins;
2169 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2170 		T8_ = (*c).debug->Sup.len++;
2171 		(*c).debug->data[T8_] = (*n).info;
2172 	}
2173 	goto LA1_;
2174 	LA5_: ;
2175 	{
2176 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_2), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_3, NIM_FALSE);
2177 	}
2178 	LA1_: ;
2179 }
N_NIMCALL(NI,xjmp__vmgen_398)2180 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a) {
2181 	NI result;
2182 	NI T1_;
2183 	result = (NI)0;
2184 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
2185 	result = T1_;
2186 	gABx__vmgen_375(c, n, opc, a, ((NI) 0));
2187 	return result;
2188 }
N_INLINE(void,nimGCunrefRC1)2189 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2190 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2191 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2192 	T1_ = usrToCell__system_5270(p);
2193 	decRef__system_5315(T1_);
2194 }
N_INLINE(NI,len__ast_3198)2195 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2196 	NI result;
2197 	NI T1_;
2198 	result = (NI)0;
2199 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2200 	result = T1_;
2201 	return result;
2202 }
N_NIMCALL(void,genParams__vmgen_3318)2203 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params) {
2204 	NI T1_;
2205 	NIM_BOOL colontmp_;
2206 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__2;
2207 	T1_ = (NI)0;
2208 	T1_ = len__ast_3198(params);
2209 	asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) (((T1_ >= ((NI) 1)) ? T1_ : ((NI) 1))))));
2210 	colontmp_ = NIM_TRUE;
2211 	colontmp__2 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
2212 	(*(*c).prc).regInfo->data[((NI) 0)].Field0 = colontmp_;
2213 	(*(*c).prc).regInfo->data[((NI) 0)].Field1 = colontmp__2;
2214 	{
2215 		NI i;
2216 		NI colontmp__3;
2217 		NI i_2;
2218 		i = (NI)0;
2219 		colontmp__3 = (NI)0;
2220 		colontmp__3 = len__ast_3198(params);
2221 		i_2 = ((NI) 1);
2222 		{
2223 			while (1) {
2224 				NIM_BOOL colontmp__4;
2225 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__5;
2226 				if (!(i_2 < colontmp__3)) goto LA4;
2227 				i = i_2;
2228 				colontmp__4 = NIM_TRUE;
2229 				colontmp__5 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2230 				(*(*c).prc).regInfo->data[i].Field0 = colontmp__4;
2231 				(*(*c).prc).regInfo->data[i].Field1 = colontmp__5;
2232 				i_2 += ((NI) 1);
2233 			} LA4: ;
2234 		}
2235 	}
2236 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)2237 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2238 	NIM_BOOL result;
2239 	NIM_BOOL T1_;
2240 	result = (NIM_BOOL)0;
2241 	T1_ = (NIM_BOOL)0;
2242 	T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2243 	if (!(T1_)) goto LA2_;
2244 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
2245 	LA2_: ;
2246 	result = T1_;
2247 	return result;
2248 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)2249 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2250 	NIM_BOOL result;
2251 	NIM_BOOL T1_;
2252 	NIM_BOOL T2_;
2253 	result = (NIM_BOOL)0;
2254 	T1_ = (NIM_BOOL)0;
2255 	T2_ = (NIM_BOOL)0;
2256 	T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2257 	if (!(T2_)) goto LA3_;
2258 	T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
2259 	LA3_: ;
2260 	T1_ = T2_;
2261 	if (!(T1_)) goto LA4_;
2262 	T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
2263 	LA4_: ;
2264 	result = T1_;
2265 	return result;
2266 }
N_INLINE(NIM_BOOL,isGenericRoutineStrict__ast_4639)2267 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2268 	NIM_BOOL result;
2269 	NIM_BOOL T1_;
2270 	result = (NIM_BOOL)0;
2271 	T1_ = (NIM_BOOL)0;
2272 	T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2273 	if (!(T1_)) goto LA2_;
2274 	T1_ = isGenericRoutine__ast_4627((*s).ast);
2275 	LA2_: ;
2276 	result = T1_;
2277 	return result;
2278 }
N_NIMCALL(void,genGenericParams__vmgen_3361)2279 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp) {
2280 	NI base;
2281 	NI T1_;
2282 	NI T2_;
2283 	T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
2284 	base = T1_;
2285 	T2_ = (NI)0;
2286 	T2_ = len__ast_3198(gp);
2287 	asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(base + T2_)))));
2288 	{
2289 		NI i;
2290 		NI colontmp_;
2291 		NI i_2;
2292 		i = (NI)0;
2293 		colontmp_ = (NI)0;
2294 		colontmp_ = len__ast_3198(gp);
2295 		i_2 = ((NI) 0);
2296 		{
2297 			while (1) {
2298 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
2299 				NIM_BOOL colontmp__2;
2300 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
2301 				if (!(i_2 < colontmp_)) goto LA5;
2302 				i = i_2;
2303 				param = (*(*gp)._kind_6.sons->data[i])._kind_4.sym;
2304 				(*param).position = (NI)(base + i);
2305 				colontmp__2 = NIM_TRUE;
2306 				colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2307 				(*(*c).prc).regInfo->data[(NI)(base + i)].Field0 = colontmp__2;
2308 				(*(*c).prc).regInfo->data[(NI)(base + i)].Field1 = colontmp__3;
2309 				i_2 += ((NI) 1);
2310 			} LA5: ;
2311 		}
2312 	}
2313 }
N_INLINE(NIM_BOOL,importcCondVar__vmgen_2257)2314 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2315 	NIM_BOOL result;
2316 {	result = (NIM_BOOL)0;
2317 	{
2318 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2319 		result = ((1792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2320 		goto BeforeRet_;
2321 	}
2322 	LA3_: ;
2323 	}BeforeRet_: ;
2324 	return result;
2325 }
N_NIMCALL(NIM_BOOL,isOwnedBy__vmgen_2234)2326 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
2327 	NIM_BOOL result;
2328 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a_2;
2329 {	result = (NIM_BOOL)0;
2330 	a_2 = (*a).owner;
2331 	{
2332 		while (1) {
2333 			NIM_BOOL T3_;
2334 			T3_ = (NIM_BOOL)0;
2335 			T3_ = !((a_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2336 			if (!(T3_)) goto LA4_;
2337 			T3_ = !(((*a_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2338 			LA4_: ;
2339 			if (!T3_) goto LA2;
2340 			{
2341 				if (!(a_2 == b)) goto LA7_;
2342 				result = NIM_TRUE;
2343 				goto BeforeRet_;
2344 			}
2345 			LA7_: ;
2346 			a_2 = (*a_2).owner;
2347 		} LA2: ;
2348 	}
2349 	}BeforeRet_: ;
2350 	return result;
2351 }
N_INLINE(void,nimCopyMem)2352 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2353 	void* T1_;
2354 	T1_ = (void*)0;
2355 	T1_ = memcpy(dest, source, ((size_t) (size)));
2356 }
N_INLINE(void,copyMem__system_1727)2357 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2358 	nimCopyMem(dest, source, size);
2359 }
N_INLINE(void,appendString)2360 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2361 	{
2362 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2363 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2364 		(*dest).Sup.len += (*src).Sup.len;
2365 	}
2366 	LA3_: ;
2367 }
N_NOINLINE(void,cannotEval__vmgen_2231)2368 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2369 	NimStringDesc* T1_;
2370 	NimStringDesc* T2_;
2371 	T1_ = NIM_NIL;
2372 	T2_ = NIM_NIL;
2373 	T2_ = renderTree__renderer_46(n, 0);
2374 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 33);
2375 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_6));
2376 appendString(T1_, T2_);
2377 	liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_7, NIM_FALSE);
2378 }
N_NIMCALL(void,checkCanEval__vmgen_2268)2379 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2380 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2381 {	s = (*n)._kind_4.sym;
2382 	{
2383 		if (!((268435464 & ~ (*s).flags)==0)) goto LA3_;
2384 		goto BeforeRet_;
2385 	}
2386 	LA3_: ;
2387 	{
2388 		NIM_BOOL T7_;
2389 		T7_ = (NIM_BOOL)0;
2390 		T7_ = importcCondVar__vmgen_2257(s);
2391 		if (!T7_) goto LA8_;
2392 		goto BeforeRet_;
2393 	}
2394 	LA8_: ;
2395 	{
2396 		NIM_BOOL T12_;
2397 		NIM_BOOL T13_;
2398 		NIM_BOOL T14_;
2399 		NIM_BOOL T16_;
2400 		T12_ = (NIM_BOOL)0;
2401 		T13_ = (NIM_BOOL)0;
2402 		T14_ = (NIM_BOOL)0;
2403 		T14_ = ((2856 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2404 		if (!(T14_)) goto LA15_;
2405 		T16_ = (NIM_BOOL)0;
2406 		T16_ = isOwnedBy__vmgen_2234(s, (*(*c).prc).sym);
2407 		T14_ = !(T16_);
2408 		LA15_: ;
2409 		T13_ = T14_;
2410 		if (!(T13_)) goto LA17_;
2411 		T13_ = !(((*s).owner == (*c).module));
2412 		LA17_: ;
2413 		T12_ = T13_;
2414 		if (!(T12_)) goto LA18_;
2415 		T12_ = !(((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0)));
2416 		LA18_: ;
2417 		if (!T12_) goto LA19_;
2418 		{
2419 			NIM_BOOL T23_;
2420 			T23_ = (NIM_BOOL)0;
2421 			T23_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
2422 			if (!(T23_)) goto LA24_;
2423 			T23_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
2424 			LA24_: ;
2425 			if (!T23_) goto LA25_;
2426 		}
2427 		goto LA21_;
2428 		LA25_: ;
2429 		{
2430 			cannotEval__vmgen_2231(c, n);
2431 		}
2432 		LA21_: ;
2433 	}
2434 	goto LA10_;
2435 	LA19_: ;
2436 	{
2437 		NIM_BOOL T29_;
2438 		T29_ = (NIM_BOOL)0;
2439 		T29_ = ((126976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2440 		if (!(T29_)) goto LA30_;
2441 		T29_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
2442 		LA30_: ;
2443 		if (!T29_) goto LA31_;
2444 		cannotEval__vmgen_2231(c, n);
2445 	}
2446 	goto LA10_;
2447 	LA31_: ;
2448 	LA10_: ;
2449 	}BeforeRet_: ;
2450 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)2451 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2452 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2453 	result = NIM_NIL;
2454 	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
2455 	{
2456 		NIM_BOOL T3_;
2457 		T3_ = (NIM_BOOL)0;
2458 		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2459 		if (!(T3_)) goto LA4_;
2460 		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
2461 		LA4_: ;
2462 		if (!T3_) goto LA5_;
2463 		result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
2464 		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
2465 	}
2466 	LA5_: ;
2467 	return result;
2468 }
N_INLINE(NIM_BOOL,importcCond__vmgen_2412)2469 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2470 	NIM_BOOL result;
2471 {	result = (NIM_BOOL)0;
2472 	{
2473 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2474 		{
2475 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
2476 			if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
2477 			T9_ = NIM_NIL;
2478 			T9_ = getBody__modulegraphs_11241((*c).graph, s);
2479 			result = ((*T9_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
2480 			goto BeforeRet_;
2481 		}
2482 		LA7_: ;
2483 	}
2484 	LA3_: ;
2485 	}BeforeRet_: ;
2486 	return result;
2487 }
N_NIMCALL(void,importcSym__vmgen_2428)2488 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2489 	NimStringDesc* T1_;
2490 	T1_ = NIM_NIL;
2491 	T1_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 43);
2492 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_8));
2493 appendString(T1_, (*(*s).name).s);
2494 	liMessage__msgs_1118((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_9, NIM_FALSE);
2495 }
N_INLINE(NI,len__ast_4002)2496 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2497 	NI result;
2498 	NI T1_;
2499 	result = (NI)0;
2500 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2501 	result = T1_;
2502 	return result;
2503 }
N_NIMCALL(void,getNullValueAux__vmgen_2711)2504 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition) {
2505 	{
2506 		NIM_BOOL T3_;
2507 		NIM_BOOL T4_;
2508 		NI T6_;
2509 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
2510 		T3_ = (NIM_BOOL)0;
2511 		T4_ = (NIM_BOOL)0;
2512 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2513 		if (!(T4_)) goto LA5_;
2514 		T6_ = (NI)0;
2515 		T6_ = len__ast_4002(t);
2516 		T4_ = (((NI) 0) < T6_);
2517 		LA5_: ;
2518 		T3_ = T4_;
2519 		if (!(T3_)) goto LA7_;
2520 		T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2521 		LA7_: ;
2522 		if (!T3_) goto LA8_;
2523 		b = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__24XApAWKNvaMkcyklm8bNA_11);
2524 		getNullValueAux__vmgen_2711(b, (*b).n, result, conf, currPosition);
2525 	}
2526 	LA8_: ;
2527 	switch ((*obj).kind) {
2528 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
2529 	{
2530 		{
2531 			NI i;
2532 			NI colontmp_;
2533 			NI i_2;
2534 			i = (NI)0;
2535 			colontmp_ = (NI)0;
2536 			colontmp_ = len__ast_3198(obj);
2537 			i_2 = ((NI) 0);
2538 			{
2539 				while (1) {
2540 					if (!(i_2 < colontmp_)) goto LA13;
2541 					i = i_2;
2542 					getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[i], result, conf, currPosition);
2543 					i_2 += ((NI) 1);
2544 				} LA13: ;
2545 			}
2546 		}
2547 	}
2548 	break;
2549 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
2550 	{
2551 		getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[((NI) 0)], result, conf, currPosition);
2552 		{
2553 			NI i_3;
2554 			NI colontmp__2;
2555 			NI i_4;
2556 			i_3 = (NI)0;
2557 			colontmp__2 = (NI)0;
2558 			colontmp__2 = len__ast_3198(obj);
2559 			i_4 = ((NI) 1);
2560 			{
2561 				while (1) {
2562 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
2563 					if (!(i_4 < colontmp__2)) goto LA17;
2564 					i_3 = i_4;
2565 					T18_ = NIM_NIL;
2566 					T18_ = lastSon__ast_4832((*obj)._kind_6.sons->data[i_3]);
2567 					getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), T18_, result, conf, currPosition);
2568 					i_4 += ((NI) 1);
2569 				} LA17: ;
2570 			}
2571 		}
2572 	}
2573 	break;
2574 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2575 	{
2576 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
2577 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
2578 		field = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), (*result).info);
2579 		add__ast_4797(field, obj);
2580 		T20_ = NIM_NIL;
2581 		T20_ = getNullValue__vmgen_2432((*(*obj)._kind_4.sym).typ, (*result).info, conf);
2582 		add__ast_4797(field, T20_);
2583 		add__ast_4797(result, field);
2584 		{
2585 			if (!!(((*(*obj)._kind_4.sym).position == (*currPosition)))) goto LA23_;
2586 			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_12));
2587 		}
2588 		LA23_: ;
2589 		(*currPosition) += ((NI) 1);
2590 	}
2591 	break;
2592 	default:
2593 	{
2594 		NimStringDesc* T26_;
2595 		NimStringDesc* T27_;
2596 		T26_ = NIM_NIL;
2597 		T27_ = NIM_NIL;
2598 		T27_ = dollar___renderer_2106(obj);
2599 		T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + 32);
2600 appendString(T26_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2601 appendString(T26_, T27_);
2602 		liMessage__msgs_1118(conf, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_14, NIM_FALSE);
2603 	}
2604 	break;
2605 	}
2606 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getNullValue__vmgen_2432)2607 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2608 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2609 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2610 	result = NIM_NIL;
2611 	t = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_10);
2612 	switch ((*t).kind) {
2613 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2614 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2615 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2616 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2617 	{
2618 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), info, t);
2619 	}
2620 	break;
2621 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2622 	{
2623 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11), info, t);
2624 	}
2625 	break;
2626 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2627 	{
2628 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), info, t);
2629 	}
2630 	break;
2631 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2632 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2633 	{
2634 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), info, t);
2635 		asgnRef((void**) (&(*result)._kind_3.strVal), ((NimStringDesc*) NIM_NIL));
2636 	}
2637 	break;
2638 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2639 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2640 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
2641 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2642 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
2643 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
2644 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
2645 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2646 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2647 	{
2648 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2649 	}
2650 	break;
2651 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
2652 	{
2653 		{
2654 			if (!!(((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA9_;
2655 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2656 		}
2657 		goto LA7_;
2658 		LA9_: ;
2659 		{
2660 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
2661 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
2662 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2663 			T12_ = NIM_NIL;
2664 			T12_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2665 			add__ast_4797(result, T12_);
2666 			T13_ = NIM_NIL;
2667 			T13_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2668 			add__ast_4797(result, T13_);
2669 		}
2670 		LA7_: ;
2671 	}
2672 	break;
2673 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
2674 	{
2675 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
2676 		NI currPosition;
2677 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), info, t);
2678 		T15_ = NIM_NIL;
2679 		T15_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info, t);
2680 		add__ast_4797(result, T15_);
2681 		currPosition = ((NI) 0);
2682 		getNullValueAux__vmgen_2711(t, (*t).n, result, conf, (&currPosition));
2683 	}
2684 	break;
2685 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
2686 	{
2687 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2688 		{
2689 			NI i;
2690 			NI colontmp_;
2691 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
2692 			NI i_2;
2693 			i = (NI)0;
2694 			colontmp_ = (NI)0;
2695 			T18_ = lengthOrd__types_1652(conf, t);
2696 			colontmp_ = toInt__int495056_170(T18_);
2697 			i_2 = ((NI) 0);
2698 			{
2699 				while (1) {
2700 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
2701 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
2702 					if (!(i_2 < colontmp_)) goto LA20;
2703 					i = i_2;
2704 					T21_ = NIM_NIL;
2705 					T21_ = elemType__types_263(t);
2706 					T22_ = NIM_NIL;
2707 					T22_ = getNullValue__vmgen_2432(T21_, info, conf);
2708 					add__ast_4797(result, T22_);
2709 					i_2 += ((NI) 1);
2710 				} LA20: ;
2711 			}
2712 		}
2713 	}
2714 	break;
2715 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
2716 	{
2717 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2718 		{
2719 			NI i_3;
2720 			NI colontmp__2;
2721 			NI i_4;
2722 			i_3 = (NI)0;
2723 			colontmp__2 = (NI)0;
2724 			colontmp__2 = len__ast_4002(t);
2725 			i_4 = ((NI) 0);
2726 			{
2727 				while (1) {
2728 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
2729 					if (!(i_4 < colontmp__2)) goto LA26;
2730 					i_3 = i_4;
2731 					T27_ = NIM_NIL;
2732 					T27_ = getNullValue__vmgen_2432((*t).sons->data[i_3], info, conf);
2733 					add__ast_4797(result, T27_);
2734 					i_4 += ((NI) 1);
2735 				} LA26: ;
2736 			}
2737 		}
2738 	}
2739 	break;
2740 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
2741 	{
2742 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), info, t);
2743 	}
2744 	break;
2745 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
2746 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
2747 	{
2748 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2749 	}
2750 	break;
2751 	default:
2752 	{
2753 		NimStringDesc* T31_;
2754 		T31_ = NIM_NIL;
2755 		T31_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 32);
2756 appendString(T31_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2757 appendString(T31_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
2758 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T31_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_15, NIM_FALSE);
2759 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
2760 	}
2761 	break;
2762 	}
2763 	return result;
2764 }
N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ,getSlotKind__vmgen_451)2765 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2766 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ result;
2767 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2768 	result = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
2769 	T1_ = NIM_NIL;
2770 	T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_17);
2771 	switch ((*T1_).kind) {
2772 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2773 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2774 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2775 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2776 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2777 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2778 	{
2779 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 4);
2780 	}
2781 	break;
2782 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2783 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2784 	{
2785 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6);
2786 	}
2787 	break;
2788 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2789 	{
2790 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 5);
2791 	}
2792 	break;
2793 	default:
2794 	{
2795 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2796 	}
2797 	break;
2798 	}
2799 	return result;
2800 }
N_INLINE(void,nimSetMem__systemZmemory_7)2801 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2802 	void* T1_;
2803 	T1_ = (void*)0;
2804 	T1_ = memset(a, v, ((size_t) (size)));
2805 }
N_INLINE(void,nimZeroMem)2806 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2807 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
2808 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,bestEffort__vmgen_468)2809 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
2810 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
2811 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
2812 	{
2813 		NIM_BOOL T3_;
2814 		T3_ = (NIM_BOOL)0;
2815 		T3_ = !(((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL)));
2816 		if (!(T3_)) goto LA4_;
2817 		T3_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2818 		LA4_: ;
2819 		if (!T3_) goto LA5_;
2820 		result = (*(*(*c).prc).sym).info;
2821 	}
2822 	goto LA1_;
2823 	LA5_: ;
2824 	{
2825 		result = (*(*c).module).info;
2826 	}
2827 	LA1_: ;
2828 	return result;
2829 }
N_NIMCALL(NI,getFreeRegister__vmgen_479)2830 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start) {
2831 	NI result;
2832 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
2833 	NI T30_;
2834 	NIM_BOOL colontmp__5;
2835 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
2836 {	result = (NI)0;
2837 	c = (*cc).prc;
2838 	{
2839 		NI i;
2840 		NI colontmp_;
2841 		NI T2_;
2842 		NI res;
2843 		i = (NI)0;
2844 		colontmp_ = (NI)0;
2845 		T2_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2846 		colontmp_ = (NI)(T2_ - ((NI) 1));
2847 		res = start;
2848 		{
2849 			while (1) {
2850 				if (!(res <= colontmp_)) goto LA4;
2851 				i = res;
2852 				{
2853 					NIM_BOOL T7_;
2854 					T7_ = (NIM_BOOL)0;
2855 					T7_ = ((*c).regInfo->data[i].Field1 == k);
2856 					if (!(T7_)) goto LA8_;
2857 					T7_ = !((*c).regInfo->data[i].Field0);
2858 					LA8_: ;
2859 					if (!T7_) goto LA9_;
2860 					(*c).regInfo->data[i].Field0 = NIM_TRUE;
2861 					result = ((NI) (i));
2862 					goto BeforeRet_;
2863 				}
2864 				LA9_: ;
2865 				res += ((NI) 1);
2866 			} LA4: ;
2867 		}
2868 	}
2869 	{
2870 		NI T13_;
2871 		T13_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2872 		if (!(((NI) 65535) <= T13_)) goto LA14_;
2873 		{
2874 			NI i_2;
2875 			NI colontmp__2;
2876 			NI T17_;
2877 			NI res_2;
2878 			i_2 = (NI)0;
2879 			colontmp__2 = (NI)0;
2880 			T17_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2881 			colontmp__2 = (NI)(T17_ - ((NI) 1));
2882 			res_2 = start;
2883 			{
2884 				while (1) {
2885 					if (!(res_2 <= colontmp__2)) goto LA19;
2886 					i_2 = res_2;
2887 					{
2888 						NIM_BOOL colontmp__3;
2889 						tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__4;
2890 						if (!!((*c).regInfo->data[i_2].Field0)) goto LA22_;
2891 						colontmp__3 = NIM_TRUE;
2892 						colontmp__4 = k;
2893 						(*c).regInfo->data[i_2].Field0 = colontmp__3;
2894 						(*c).regInfo->data[i_2].Field1 = colontmp__4;
2895 						result = ((NI) (i_2));
2896 						goto BeforeRet_;
2897 					}
2898 					LA22_: ;
2899 					res_2 += ((NI) 1);
2900 				} LA19: ;
2901 			}
2902 		}
2903 	}
2904 	LA14_: ;
2905 	{
2906 		NI T26_;
2907 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T29_;
2908 		T26_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2909 		if (!(((NI) 65535) <= T26_)) goto LA27_;
2910 		T29_ = bestEffort__vmgen_468(cc);
2911 		liMessage__msgs_1118((*cc).config, T29_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_19, NIM_FALSE);
2912 	}
2913 	LA27_: ;
2914 	T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2915 	result = ((NI) (((T30_ >= start) ? T30_ : start)));
2916 	asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(((NI) (result)) + ((NI) 1))))));
2917 	colontmp__5 = NIM_TRUE;
2918 	colontmp__6 = k;
2919 	(*c).regInfo->data[result].Field0 = colontmp__5;
2920 	(*c).regInfo->data[result].Field1 = colontmp__6;
2921 	}BeforeRet_: ;
2922 	return result;
2923 }
N_NIMCALL(NI,getTemp__vmgen_541)2924 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt) {
2925 	NI result;
2926 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
2927 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k;
2928 	result = (NI)0;
2929 	typ = skipTypesOrNil__ast_4185(tt, TM__24XApAWKNvaMkcyklm8bNA_16);
2930 	{
2931 		if (!(typ == 0)) goto LA3_;
2932 		k = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2933 	}
2934 	goto LA1_;
2935 	LA3_: ;
2936 	{
2937 		k = getSlotKind__vmgen_451(typ);
2938 	}
2939 	LA1_: ;
2940 	result = getFreeRegister__vmgen_479(cc, k, ((NI) 0));
2941 	return result;
2942 }
N_NIMCALL(NI,genx__vmgen_712)2943 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
2944 	NI result;
2945 	NI tmp;
2946 	result = (NI)0;
2947 	tmp = ((NI) -1);
2948 	gen__vmgen_687(c, n, (&tmp), flags);
2949 	{
2950 		if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
2951 		result = ((NI) (tmp));
2952 	}
2953 	LA3_: ;
2954 	return result;
2955 }
N_NIMCALL(void,gABC__vmgen_312)2956 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c) {
2957 	NU64 ins;
2958 	NI T1_;
2959 	NI T2_;
2960 	ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) (c))) << (NU64)(40ULL)));
2961 	asgnRef((void**) (&(*ctx).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*ctx).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2962 	T1_ = (*ctx).code->Sup.len++;
2963 	(*ctx).code->data[T1_] = ins;
2964 	asgnRef((void**) (&(*ctx).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*ctx).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2965 	T2_ = (*ctx).debug->Sup.len++;
2966 	(*ctx).debug->data[T2_] = (*n).info;
2967 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,whichAsgnOpc__vmgen_1846)2968 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy) {
2969 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
2970 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2971 	result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
2972 	T1_ = NIM_NIL;
2973 	T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
2974 	switch ((*T1_).kind) {
2975 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2976 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2977 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2978 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2979 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2980 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2981 	{
2982 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4);
2983 	}
2984 	break;
2985 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2986 	{
2987 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 5);
2988 	}
2989 	break;
2990 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2991 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2992 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2993 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2994 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2995 	{
2996 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 6);
2997 	}
2998 	break;
2999 	default:
3000 	{
3001 		{
3002 			if (!requiresCopy) goto LA8_;
3003 			result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 7);
3004 		}
3005 		goto LA6_;
3006 		LA8_: ;
3007 		{
3008 			result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 14);
3009 		}
3010 		LA6_: ;
3011 	}
3012 	break;
3013 	}
3014 	return result;
3015 }
N_NIMCALL(void,freeTemp__vmgen_550)3016 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r) {
3017 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c_2;
3018 	c_2 = (*c).prc;
3019 	{
3020 		if (!((248 &((NU16)1<<((NU)((*c_2).regInfo->data[r].Field1)&15U)))!=0)) goto LA3_;
3021 		(*c_2).regInfo->data[r].Field0 = NIM_FALSE;
3022 	}
3023 	LA3_: ;
3024 }
N_NIMCALL(void,genAdditionalCopy__vmgen_2307)3025 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
3026 	NI cc;
3027 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
3028 	cc = getTemp__vmgen_541(c, (*n).typ);
3029 	T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3030 	T1_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
3031 	gABC__vmgen_312(c, n, T1_, cc, value, ((NI) 0));
3032 	gABC__vmgen_312(c, n, opc, dest, idx, cc);
3033 	freeTemp__vmgen_550(c, cc);
3034 }
N_NIMCALL(void,genGlobalInit__vmgen_2436)3035 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3036 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3037 	NI dest;
3038 	T1_ = NIM_NIL;
3039 	T1_ = getNullValue__vmgen_2432((*s).typ, (*n).info, (*c).config);
3040 	add__ast_4797((*c).globals, T1_);
3041 	(*s).position = len__ast_3198((*c).globals);
3042 	dest = getTemp__vmgen_541(c, (*s).typ);
3043 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), dest, (*s).position);
3044 	{
3045 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
3046 		NI tmp;
3047 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
3048 		T4_ = NIM_NIL;
3049 		T4_ = astdef__ast_3483(s);
3050 		if (!!((T4_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA5_;
3051 		T7_ = NIM_NIL;
3052 		T7_ = astdef__ast_3483(s);
3053 		tmp = genx__vmgen_712(c, T7_, 0);
3054 		genAdditionalCopy__vmgen_2307(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest, ((NI) 0), tmp);
3055 		freeTemp__vmgen_550(c, dest);
3056 		freeTemp__vmgen_550(c, tmp);
3057 	}
3058 	LA5_: ;
3059 }
N_NIMCALL(NIM_BOOL,fitsRegister__vmgen_1814)3060 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3061 	NIM_BOOL result;
3062 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3063 	result = (NIM_BOOL)0;
3064 	T1_ = NIM_NIL;
3065 	T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_20);
3066 	result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
3067 	return result;
3068 }
N_NIMCALL(void,setSlot__vmgen_2224)3069 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
3070 	{
3071 		tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ T5_;
3072 		NI T11_;
3073 		if (!((*v).position == ((NI) 0))) goto LA3_;
3074 		T5_ = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
3075 		{
3076 			if (!((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9))) goto LA8_;
3077 			T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
3078 		}
3079 		goto LA6_;
3080 		LA8_: ;
3081 		{
3082 			T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
3083 		}
3084 		LA6_: ;
3085 		T11_ = (NI)0;
3086 		T11_ = getFreeRegister__vmgen_479(c, T5_, ((NI) 1));
3087 		(*v).position = ((NI) (T11_));
3088 	}
3089 	LA3_: ;
3090 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)3091 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
3092 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
3093 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)3094 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
3095 	NimStringDesc* result;
3096 	result = NIM_NIL;
3097 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
3098 appendString(result, info.Field0);
3099 	{
3100 		if (!(((NI) 0) < info.Field1)) goto LA3_;
3101 		result = resizeString(result, 1);
3102 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_21));
3103 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
3104 		{
3105 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
3106 			result = resizeString(result, 2);
3107 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_22));
3108 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
3109 		}
3110 		LA7_: ;
3111 		result = resizeString(result, 1);
3112 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_23));
3113 	}
3114 	LA3_: ;
3115 	return result;
3116 }
N_NIMCALL(void,genAsgn__vmgen_2215)3117 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
3118 	NI tmp;
3119 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
3120 	tmp = genx__vmgen_712(c, ri, 0);
3121 	T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3122 	T1_ = whichAsgnOpc__vmgen_1846(ri, requiresCopy);
3123 	gABC__vmgen_312(c, ri, T1_, ((NI) (dest)), tmp, ((NI) 0));
3124 	freeTemp__vmgen_550(c, tmp);
3125 }
N_NIMCALL(void,genRdVar__vmgen_2453)3126 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3127 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3128 	s = (*n)._kind_4.sym;
3129 	{
3130 		NIM_BOOL T3_;
3131 		NIM_BOOL isImportcVar;
3132 		T3_ = (NIM_BOOL)0;
3133 		T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
3134 		if (!(T3_)) goto LA4_;
3135 		T3_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
3136 		LA4_: ;
3137 		if (!T3_) goto LA5_;
3138 		isImportcVar = importcCondVar__vmgen_2257(s);
3139 		{
3140 			NIM_BOOL T9_;
3141 			NIM_BOOL T10_;
3142 			T9_ = (NIM_BOOL)0;
3143 			T10_ = (NIM_BOOL)0;
3144 			T10_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
3145 			if (T10_) goto LA11_;
3146 			T10_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3147 			LA11_: ;
3148 			T9_ = T10_;
3149 			if (T9_) goto LA12_;
3150 			T9_ = isImportcVar;
3151 			LA12_: ;
3152 			if (!T9_) goto LA13_;
3153 		}
3154 		goto LA7_;
3155 		LA13_: ;
3156 		{
3157 			if (!((*s).position == ((NI) 0))) goto LA16_;
3158 			cannotEval__vmgen_2231(c, n);
3159 		}
3160 		goto LA7_;
3161 		LA16_: ;
3162 		LA7_: ;
3163 		{
3164 			if (!((*s).position == ((NI) 0))) goto LA20_;
3165 			{
3166 				NIM_BOOL T24_;
3167 				T24_ = (NIM_BOOL)0;
3168 				T24_ = importcCond__vmgen_2412(c, s);
3169 				if (T24_) goto LA25_;
3170 				T24_ = isImportcVar;
3171 				LA25_: ;
3172 				if (!T24_) goto LA26_;
3173 				importcSym__vmgen_2428(c, (*n).info, s);
3174 			}
3175 			goto LA22_;
3176 			LA26_: ;
3177 			{
3178 				genGlobalInit__vmgen_2436(c, n, s);
3179 			}
3180 			LA22_: ;
3181 		}
3182 		LA20_: ;
3183 		{
3184 			NI T33_;
3185 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA31_;
3186 			T33_ = (NI)0;
3187 			T33_ = getTemp__vmgen_541(c, (*n).typ);
3188 			(*dest) = ((NI) (T33_));
3189 		}
3190 		LA31_: ;
3191 		{
3192 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA36_;
3193 			{
3194 				if (!isImportcVar) goto LA40_;
3195 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 179), ((NI) ((*dest))), (*s).position);
3196 			}
3197 			goto LA38_;
3198 			LA40_: ;
3199 			{
3200 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 177), ((NI) ((*dest))), (*s).position);
3201 			}
3202 			LA38_: ;
3203 		}
3204 		goto LA34_;
3205 		LA36_: ;
3206 		{
3207 			if (!isImportcVar) goto LA44_;
3208 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 178), ((NI) ((*dest))), (*s).position);
3209 		}
3210 		goto LA34_;
3211 		LA44_: ;
3212 		{
3213 			NIM_BOOL T47_;
3214 			NI cc;
3215 			T47_ = (NIM_BOOL)0;
3216 			T47_ = fitsRegister__vmgen_1814((*s).typ);
3217 			if (!(T47_)) goto LA48_;
3218 			T47_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 0))&7U)))!=0));
3219 			LA48_: ;
3220 			if (!T47_) goto LA49_;
3221 			cc = getTemp__vmgen_541(c, (*n).typ);
3222 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), cc, (*s).position);
3223 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
3224 			freeTemp__vmgen_550(c, cc);
3225 		}
3226 		goto LA34_;
3227 		LA49_: ;
3228 		{
3229 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), ((NI) ((*dest))), (*s).position);
3230 		}
3231 		LA34_: ;
3232 	}
3233 	goto LA1_;
3234 	LA5_: ;
3235 	{
3236 		{
3237 			NIM_BOOL T55_;
3238 			T55_ = (NIM_BOOL)0;
3239 			T55_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
3240 			if (!(T55_)) goto LA56_;
3241 			T55_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3242 			LA56_: ;
3243 			if (!T55_) goto LA57_;
3244 			setSlot__vmgen_2224(c, s);
3245 		}
3246 		LA57_: ;
3247 		{
3248 			NIM_BOOL T61_;
3249 			NIM_BOOL T63_;
3250 			T61_ = (NIM_BOOL)0;
3251 			T61_ = (((NI) 0) < (*s).position);
3252 			if (T61_) goto LA62_;
3253 			T63_ = (NIM_BOOL)0;
3254 			T63_ = ((*s).position == ((NI) 0));
3255 			if (!(T63_)) goto LA64_;
3256 			T63_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3257 			LA64_: ;
3258 			T61_ = T63_;
3259 			LA62_: ;
3260 			if (!T61_) goto LA65_;
3261 			{
3262 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA69_;
3263 				(*dest) = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
3264 				{
3265 					NimStringDesc* argX60gensym442_;
3266 					if (!!(((*(*c).prc).regInfo->data[(*dest)].Field1 < ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3)))) goto LA73_;
3267 					argX60gensym442_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_24);
3268 					internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym442_, TM__24XApAWKNvaMkcyklm8bNA_24);
3269 				}
3270 				LA73_: ;
3271 			}
3272 			goto LA67_;
3273 			LA69_: ;
3274 			{
3275 				NIM_BOOL requiresCopy;
3276 				NIM_BOOL T76_;
3277 				T76_ = (NIM_BOOL)0;
3278 				T76_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[(*dest)].Field1);
3279 				if (!(T76_)) goto LA77_;
3280 				T76_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 2))&7U)))!=0));
3281 				LA77_: ;
3282 				requiresCopy = T76_;
3283 				genAsgn__vmgen_2215(c, (*dest), n, requiresCopy);
3284 			}
3285 			LA67_: ;
3286 		}
3287 		goto LA59_;
3288 		LA65_: ;
3289 		{
3290 			cannotEval__vmgen_2231(c, n);
3291 		}
3292 		LA59_: ;
3293 	}
3294 	LA1_: ;
3295 }
N_INLINE(NimStringDesc *,X5BX5D___vmgen_3076)3296 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i) {
3297 	NimStringDesc* result;
3298 	result = NIM_NIL;
3299 	result = copyString(s[(NI)(sLen_0 - i)]);
3300 	return result;
3301 }
N_INLINE(int,nimCmpMem)3302 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
3303 	int result;
3304 	result = (int)0;
3305 	result = memcmp(a, b, ((size_t) (size)));
3306 	return result;
3307 }
N_INLINE(NIM_BOOL,equalMem__system_1735)3308 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
3309 	NIM_BOOL result;
3310 	int T1_;
3311 	result = (NIM_BOOL)0;
3312 	T1_ = (int)0;
3313 	T1_ = nimCmpMem(a, b, size);
3314 	result = (T1_ == ((NI32) 0));
3315 	return result;
3316 }
N_INLINE(NIM_BOOL,eqStrings)3317 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
3318 	NIM_BOOL result;
3319 	NI alen;
3320 	NI blen;
3321 {	result = (NIM_BOOL)0;
3322 	alen = (a ? a->Sup.len : 0);
3323 	blen = (b ? b->Sup.len : 0);
3324 	{
3325 		if (!(alen == blen)) goto LA3_;
3326 		{
3327 			if (!(alen == ((NI) 0))) goto LA7_;
3328 			result = NIM_TRUE;
3329 			goto BeforeRet_;
3330 		}
3331 		LA7_: ;
3332 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
3333 		goto BeforeRet_;
3334 	}
3335 	LA3_: ;
3336 	}BeforeRet_: ;
3337 	return result;
3338 }
N_NIMCALL(NIM_BOOL,matches__vmgen_3058)3339 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x) {
3340 	NIM_BOOL result;
3341 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* y;
3342 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3343 {	result = (NIM_BOOL)0;
3344 	y = nsuSplitChar(x, 46, ((NI) -1));
3345 	s_2 = s;
3346 	{
3347 		NI i;
3348 		NI colontmp_;
3349 		NI T2_;
3350 		NI res;
3351 		i = (NI)0;
3352 		colontmp_ = (NI)0;
3353 		T2_ = (y ? y->Sup.len : 0);
3354 		colontmp_ = T2_;
3355 		res = ((NI) 1);
3356 		{
3357 			while (1) {
3358 				if (!(res <= colontmp_)) goto LA4;
3359 				i = res;
3360 				{
3361 					NIM_BOOL T7_;
3362 					NIM_BOOL T9_;
3363 					NimStringDesc* T10_;
3364 					NI T11_;
3365 					NimStringDesc* T13_;
3366 					T7_ = (NIM_BOOL)0;
3367 					T7_ = (s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3368 					if (T7_) goto LA8_;
3369 					T9_ = (NIM_BOOL)0;
3370 					T10_ = NIM_NIL;
3371 					T10_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3372 					T11_ = (NI)0;
3373 					T11_ = nsuCmpIgnoreStyle(T10_, (*(*s_2).name).s);
3374 					T9_ = !((T11_ == ((NI) 0)));
3375 					if (!(T9_)) goto LA12_;
3376 					T13_ = NIM_NIL;
3377 					T13_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3378 					T9_ = !(eqStrings(T13_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_27)));
3379 					LA12_: ;
3380 					T7_ = T9_;
3381 					LA8_: ;
3382 					if (!T7_) goto LA14_;
3383 					result = NIM_FALSE;
3384 					goto BeforeRet_;
3385 				}
3386 				LA14_: ;
3387 				{
3388 					if (!(((*s_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0)) goto LA18_;
3389 					s_2 = (*(*s_2).owner).owner;
3390 				}
3391 				goto LA16_;
3392 				LA18_: ;
3393 				{
3394 					s_2 = (*s_2).owner;
3395 				}
3396 				LA16_: ;
3397 				{
3398 					while (1) {
3399 						NIM_BOOL T23_;
3400 						NIM_BOOL T24_;
3401 						T23_ = (NIM_BOOL)0;
3402 						T24_ = (NIM_BOOL)0;
3403 						T24_ = !((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3404 						if (!(T24_)) goto LA25_;
3405 						T24_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24));
3406 						LA25_: ;
3407 						T23_ = T24_;
3408 						if (!(T23_)) goto LA26_;
3409 						T23_ = !(((*s_2).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3410 						LA26_: ;
3411 						if (!T23_) goto LA22;
3412 						s_2 = (*s_2).owner;
3413 					} LA22: ;
3414 				}
3415 				res += ((NI) 1);
3416 			} LA4: ;
3417 		}
3418 	}
3419 	result = NIM_TRUE;
3420 	}BeforeRet_: ;
3421 	return result;
3422 }
N_NIMCALL(NIM_BOOL,procIsCallback__vmgen_3104)3423 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3424 	NIM_BOOL result;
3425 	NI i;
3426 {	result = (NIM_BOOL)0;
3427 	{
3428 		if (!((*s).offset < ((NI) -1))) goto LA3_;
3429 		result = NIM_TRUE;
3430 		goto BeforeRet_;
3431 	}
3432 	LA3_: ;
3433 	i = ((NI) -2);
3434 	{
3435 		NimStringDesc** key;
3436 		tyProc__5QC9cKfPJmKuW0XbCTd8ylA* value;
3437 		NI i_2;
3438 		NI L;
3439 		NI T6_;
3440 		key = (NimStringDesc**)0;
3441 		value = (tyProc__5QC9cKfPJmKuW0XbCTd8ylA*)0;
3442 		i_2 = ((NI) 0);
3443 		T6_ = ((*c).callbacks ? (*c).callbacks->Sup.len : 0);
3444 		L = T6_;
3445 		{
3446 			while (1) {
3447 				if (!(i_2 < L)) goto LA8;
3448 				key = (&(*c).callbacks->data[i_2].Field0);
3449 				value = (&(*c).callbacks->data[i_2].Field1);
3450 				{
3451 					NIM_BOOL T11_;
3452 					T11_ = (NIM_BOOL)0;
3453 					T11_ = matches__vmgen_3058(s, (*key));
3454 					if (!T11_) goto LA12_;
3455 					{
3456 						if (!!(((*s).offset == ((NI) -1)))) goto LA16_;
3457 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_28));
3458 					}
3459 					LA16_: ;
3460 					(*s).offset = i;
3461 					result = NIM_TRUE;
3462 					goto BeforeRet_;
3463 				}
3464 				LA12_: ;
3465 				i -= ((NI) 1);
3466 				i_2 += ((NI) 1);
3467 			} LA8: ;
3468 		}
3469 	}
3470 	}BeforeRet_: ;
3471 	return result;
3472 }
N_NIMCALL(NIM_BOOL,sameConstant__vmgen_969)3473 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3474 	NIM_BOOL result;
3475 {	result = (NIM_BOOL)0;
3476 	result = NIM_FALSE;
3477 	{
3478 		if (!(a == b)) goto LA3_;
3479 		result = NIM_TRUE;
3480 	}
3481 	goto LA1_;
3482 	LA3_: ;
3483 	{
3484 		NIM_BOOL T6_;
3485 		NIM_BOOL T7_;
3486 		T6_ = (NIM_BOOL)0;
3487 		T7_ = (NIM_BOOL)0;
3488 		T7_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3489 		if (!(T7_)) goto LA8_;
3490 		T7_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3491 		LA8_: ;
3492 		T6_ = T7_;
3493 		if (!(T6_)) goto LA9_;
3494 		T6_ = ((*a).kind == (*b).kind);
3495 		LA9_: ;
3496 		if (!T6_) goto LA10_;
3497 		switch ((*a).kind) {
3498 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3499 		{
3500 			result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
3501 		}
3502 		break;
3503 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
3504 		{
3505 			result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
3506 		}
3507 		break;
3508 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
3509 		{
3510 			result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
3511 		}
3512 		break;
3513 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
3514 		{
3515 			union { NF source; NU64 dest; } LOC16;
3516 			union { NF source; NU64 dest; } LOC17;
3517 			LOC16.source = (*a)._kind_2.floatVal;
3518 			LOC17.source = (*b)._kind_2.floatVal;
3519 			result = (LOC16.dest == LOC17.dest);
3520 		}
3521 		break;
3522 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
3523 		{
3524 			result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
3525 		}
3526 		break;
3527 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
3528 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3529 		{
3530 			result = ((*a).typ == (*b).typ);
3531 		}
3532 		break;
3533 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
3534 		{
3535 			result = NIM_TRUE;
3536 		}
3537 		break;
3538 		default:
3539 		{
3540 			{
3541 				NI T24_;
3542 				NI T25_;
3543 				T24_ = (NI)0;
3544 				T24_ = len__ast_3198(a);
3545 				T25_ = (NI)0;
3546 				T25_ = len__ast_3198(b);
3547 				if (!(T24_ == T25_)) goto LA26_;
3548 				{
3549 					NI i;
3550 					NI colontmp_;
3551 					NI i_2;
3552 					i = (NI)0;
3553 					colontmp_ = (NI)0;
3554 					colontmp_ = len__ast_3198(a);
3555 					i_2 = ((NI) 0);
3556 					{
3557 						while (1) {
3558 							if (!(i_2 < colontmp_)) goto LA30;
3559 							i = i_2;
3560 							{
3561 								NIM_BOOL T33_;
3562 								T33_ = (NIM_BOOL)0;
3563 								T33_ = sameConstant__vmgen_969((*a)._kind_6.sons->data[i], (*b)._kind_6.sons->data[i]);
3564 								if (!!(T33_)) goto LA34_;
3565 								goto BeforeRet_;
3566 							}
3567 							LA34_: ;
3568 							i_2 += ((NI) 1);
3569 						} LA30: ;
3570 					}
3571 				}
3572 				result = NIM_TRUE;
3573 			}
3574 			LA26_: ;
3575 		}
3576 		break;
3577 		}
3578 	}
3579 	goto LA1_;
3580 	LA10_: ;
3581 	LA1_: ;
3582 	}BeforeRet_: ;
3583 	return result;
3584 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canonValue__vmgen_947)3585 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3586 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3587 	result = NIM_NIL;
3588 	result = n;
3589 	return result;
3590 }
N_NIMCALL(NI,rawGenLiteral__vmgen_950)3591 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3592 	NI result;
3593 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3594 	result = (NI)0;
3595 	result = len__ast_3198((*c).constants);
3596 	(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4)) & 31);
3597 	T1_ = NIM_NIL;
3598 	T1_ = canonValue__vmgen_947(n);
3599 	add__ast_4797((*c).constants, T1_);
3600 	{
3601 		NimStringDesc* argX60gensym109_;
3602 		if (!!((result < ((NI) 8388607)))) goto LA4_;
3603 		argX60gensym109_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_29);
3604 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym109_, TM__24XApAWKNvaMkcyklm8bNA_29);
3605 	}
3606 	LA4_: ;
3607 	return result;
3608 }
N_NIMCALL(NI,genLiteral__vmgen_1013)3609 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3610 	NI result;
3611 {	result = (NI)0;
3612 	{
3613 		NI i;
3614 		NI colontmp_;
3615 		NI i_2;
3616 		i = (NI)0;
3617 		colontmp_ = (NI)0;
3618 		colontmp_ = len__ast_3198((*c).constants);
3619 		i_2 = ((NI) 0);
3620 		{
3621 			while (1) {
3622 				if (!(i_2 < colontmp_)) goto LA3;
3623 				i = i_2;
3624 				{
3625 					NIM_BOOL T6_;
3626 					T6_ = (NIM_BOOL)0;
3627 					T6_ = sameConstant__vmgen_969((*(*c).constants)._kind_6.sons->data[i], n);
3628 					if (!T6_) goto LA7_;
3629 					result = i;
3630 					goto BeforeRet_;
3631 				}
3632 				LA7_: ;
3633 				i_2 += ((NI) 1);
3634 			} LA3: ;
3635 		}
3636 	}
3637 	result = rawGenLiteral__vmgen_950(c, n);
3638 	}BeforeRet_: ;
3639 	return result;
3640 }
N_NIMCALL(void,genLit__vmgen_1199)3641 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
3642 	NI lit;
3643 	{
3644 		NI T5_;
3645 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3646 		T5_ = (NI)0;
3647 		T5_ = getTemp__vmgen_541(c, (*n).typ);
3648 		(*dest) = ((NI) (T5_));
3649 	}
3650 	LA3_: ;
3651 	lit = genLiteral__vmgen_1013(c, n);
3652 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
3653 }
N_NIMCALL(void,genTypeLit__vmgen_2407)3654 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest) {
3655 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
3656 	n = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3657 	asgnRef((void**) (&(*n).typ), t);
3658 	genLit__vmgen_1199(c, n, dest);
3659 }
N_NIMCALL(NIM_BOOL,isTemp__vmgen_929)3660 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest) {
3661 	NIM_BOOL result;
3662 	NIM_BOOL T1_;
3663 	result = (NIM_BOOL)0;
3664 	T1_ = (NIM_BOOL)0;
3665 	T1_ = (((NI) 0) <= ((NI) (dest)));
3666 	if (!(T1_)) goto LA2_;
3667 	T1_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[dest].Field1);
3668 	LA2_: ;
3669 	result = T1_;
3670 	return result;
3671 }
N_NIMCALL(void,gen__vmgen_692)3672 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3673 	NI d;
3674 	d = ((NI) (dest));
3675 	gen__vmgen_687(c, n, (&d), flags);
3676 }
N_NIMCALL(void,patch__vmgen_434)3677 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p) {
3678 	NI p_2;
3679 	NI diff;
3680 	NI T1_;
3681 	NU64 oldInstr;
3682 	p_2 = p;
3683 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
3684 	diff = (NI)(T1_ - p_2);
3685 	{
3686 		NIM_BOOL T4_;
3687 		NimStringDesc* argX60gensym51_;
3688 		T4_ = (NIM_BOOL)0;
3689 		T4_ = (((NI) -8388607) < diff);
3690 		if (!(T4_)) goto LA5_;
3691 		T4_ = (diff < ((NI) 8388607));
3692 		LA5_: ;
3693 		if (!!(T4_)) goto LA6_;
3694 		argX60gensym51_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_33);
3695 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym51_, TM__24XApAWKNvaMkcyklm8bNA_33);
3696 	}
3697 	LA6_: ;
3698 	oldInstr = (*c).code->data[p_2];
3699 	(*c).code->data[p_2] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
3700 }
N_NIMCALL(void,genAndOr__vmgen_937)3701 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest) {
3702 	NIM_BOOL copyBack;
3703 	NIM_BOOL T1_;
3704 	NIM_BOOL T3_;
3705 	NI tmp;
3706 	NI lab1;
3707 	T1_ = (NIM_BOOL)0;
3708 	T1_ = (((NI) ((*dest))) < ((NI) 0));
3709 	if (T1_) goto LA2_;
3710 	T3_ = (NIM_BOOL)0;
3711 	T3_ = isTemp__vmgen_929(c, (*dest));
3712 	T1_ = !(T3_);
3713 	LA2_: ;
3714 	copyBack = T1_;
3715 	{
3716 		if (!copyBack) goto LA6_;
3717 		tmp = getTemp__vmgen_541(c, (*n).typ);
3718 	}
3719 	goto LA4_;
3720 	LA6_: ;
3721 	{
3722 		tmp = ((NI) ((*dest)));
3723 	}
3724 	LA4_: ;
3725 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 1)], tmp, 0);
3726 	lab1 = xjmp__vmgen_398(c, n, opc, tmp);
3727 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 2)], tmp, 0);
3728 	patch__vmgen_434(c, lab1);
3729 	{
3730 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA11_;
3731 		(*dest) = ((NI) (tmp));
3732 	}
3733 	goto LA9_;
3734 	LA11_: ;
3735 	{
3736 		if (!copyBack) goto LA14_;
3737 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
3738 		freeTemp__vmgen_550(c, tmp);
3739 	}
3740 	goto LA9_;
3741 	LA14_: ;
3742 	LA9_: ;
3743 }
N_NIMCALL(NIM_BOOL,isInt8Lit__vmgen_1558)3744 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3745 	NIM_BOOL result;
3746 	result = (NIM_BOOL)0;
3747 	{
3748 		NIM_BOOL T5_;
3749 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3750 		T5_ = (NIM_BOOL)0;
3751 		T5_ = (IL64(-128) <= (*n)._kind_1.intVal);
3752 		if (!(T5_)) goto LA6_;
3753 		T5_ = ((*n)._kind_1.intVal <= IL64(127));
3754 		LA6_: ;
3755 		result = T5_;
3756 	}
3757 	LA3_: ;
3758 	return result;
3759 }
N_NIMCALL(void,gABI__vmgen_347)3760 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm) {
3761 	{
3762 		NIM_BOOL T3_;
3763 		NU64 ins;
3764 		NI T7_;
3765 		NI T8_;
3766 		T3_ = (NIM_BOOL)0;
3767 		T3_ = (IL64(-128) <= imm);
3768 		if (!(T3_)) goto LA4_;
3769 		T3_ = (imm <= IL64(127));
3770 		LA4_: ;
3771 		if (!T3_) goto LA5_;
3772 		ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) ((NI64)(imm + IL64(128))))) << (NU64)(40ULL)));
3773 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
3774 		T7_ = (*c).code->Sup.len++;
3775 		(*c).code->data[T7_] = ins;
3776 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
3777 		T8_ = (*c).debug->Sup.len++;
3778 		(*c).debug->data[T8_] = (*n).info;
3779 	}
3780 	goto LA1_;
3781 	LA5_: ;
3782 	{
3783 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_34), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_35, NIM_FALSE);
3784 	}
3785 	LA1_: ;
3786 }
N_NIMCALL(void,genBinaryABC__vmgen_1405)3787 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3788 	NI tmp;
3789 	NI tmp2;
3790 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3791 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
3792 	{
3793 		NI T5_;
3794 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3795 		T5_ = (NI)0;
3796 		T5_ = getTemp__vmgen_541(c, (*n).typ);
3797 		(*dest) = ((NI) (T5_));
3798 	}
3799 	LA3_: ;
3800 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
3801 	freeTemp__vmgen_550(c, tmp);
3802 	freeTemp__vmgen_550(c, tmp2);
3803 }
N_NIMCALL(void,genNarrow__vmgen_1427)3804 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
3805 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
3806 	NI64 size;
3807 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
3808 	size = getSize__types_3327((*c).config, t);
3809 	{
3810 		NIM_BOOL T3_;
3811 		NIM_BOOL T5_;
3812 		T3_ = (NIM_BOOL)0;
3813 		T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
3814 		if (T3_) goto LA4_;
3815 		T5_ = (NIM_BOOL)0;
3816 		T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
3817 		if (!(T5_)) goto LA6_;
3818 		T5_ = (size < IL64(8));
3819 		LA6_: ;
3820 		T3_ = T5_;
3821 		LA4_: ;
3822 		if (!T3_) goto LA7_;
3823 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3824 	}
3825 	goto LA1_;
3826 	LA7_: ;
3827 	{
3828 		NIM_BOOL T10_;
3829 		NIM_BOOL T12_;
3830 		T10_ = (NIM_BOOL)0;
3831 		T10_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
3832 		if (T10_) goto LA11_;
3833 		T12_ = (NIM_BOOL)0;
3834 		T12_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3835 		if (!(T12_)) goto LA13_;
3836 		T12_ = (size < IL64(8));
3837 		LA13_: ;
3838 		T10_ = T12_;
3839 		LA11_: ;
3840 		if (!T10_) goto LA14_;
3841 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 97), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3842 	}
3843 	goto LA1_;
3844 	LA14_: ;
3845 	LA1_: ;
3846 }
N_NIMCALL(void,genAddSubInt__vmgen_1588)3847 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3848 	{
3849 		NIM_BOOL T3_;
3850 		NI tmp;
3851 		T3_ = (NIM_BOOL)0;
3852 		T3_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
3853 		if (!T3_) goto LA4_;
3854 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3855 		{
3856 			NI T10_;
3857 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
3858 			T10_ = (NI)0;
3859 			T10_ = getTemp__vmgen_541(c, (*n).typ);
3860 			(*dest) = ((NI) (T10_));
3861 		}
3862 		LA8_: ;
3863 		gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), ((NI) ((*dest))), tmp, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
3864 		freeTemp__vmgen_550(c, tmp);
3865 	}
3866 	goto LA1_;
3867 	LA4_: ;
3868 	{
3869 		genBinaryABC__vmgen_1405(c, n, dest, opc);
3870 	}
3871 	LA1_: ;
3872 	genNarrow__vmgen_1427(c, n, (*dest));
3873 }
N_INLINE(void,unused__vmgen_1026)3874 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x) {
3875 	{
3876 		if (!(((NI) 0) <= ((NI) (x)))) goto LA3_;
3877 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_37), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_38, NIM_FALSE);
3878 	}
3879 	LA3_: ;
3880 }
N_NIMCALL(NI,genIndex__vmgen_1305)3881 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr) {
3882 	NI result;
3883 	result = (NI)0;
3884 	{
3885 		NIM_BOOL T3_;
3886 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
3887 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA x;
3888 		NIM_BOOL T6_;
3889 		NI tmp;
3890 		NI T9_;
3891 		T3_ = (NIM_BOOL)0;
3892 		T4_ = NIM_NIL;
3893 		T4_ = skipTypes__ast_3735(arr, TM__24XApAWKNvaMkcyklm8bNA_40);
3894 		T3_ = ((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
3895 		if (!(T3_)) goto LA5_;
3896 		x = firstOrd__types_1353((*c).config, arr);
3897 		T6_ = (NIM_BOOL)0;
3898 		T6_ = eqeq___int495056_313(x, Zero__int495056_7);
3899 		T3_ = !(T6_);
3900 		LA5_: ;
3901 		if (!T3_) goto LA7_;
3902 		tmp = genx__vmgen_712(c, n, 0);
3903 		freeTemp__vmgen_550(c, tmp);
3904 		result = getTemp__vmgen_541(c, (*n).typ);
3905 		T9_ = (NI)0;
3906 		T9_ = toInt__int495056_170(x);
3907 		gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 32), result, tmp, ((NI64) (T9_)));
3908 	}
3909 	goto LA1_;
3910 	LA7_: ;
3911 	{
3912 		result = genx__vmgen_712(c, n, 0);
3913 	}
3914 	LA1_: ;
3915 	return result;
3916 }
N_NIMCALL(NI,genField__vmgen_1288)3917 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3918 	NI result;
3919 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3920 	result = (NI)0;
3921 	{
3922 		NIM_BOOL T3_;
3923 		T3_ = (NIM_BOOL)0;
3924 		T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
3925 		if (T3_) goto LA4_;
3926 		T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)));
3927 		LA4_: ;
3928 		if (!T3_) goto LA5_;
3929 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_43), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_44, NIM_FALSE);
3930 	}
3931 	LA5_: ;
3932 	s = (*n)._kind_4.sym;
3933 	{
3934 		NimStringDesc* T11_;
3935 		if (!(((NI) 65535) < (*s).position)) goto LA9_;
3936 		T11_ = NIM_NIL;
3937 		T11_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 44);
3938 appendString(T11_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_45));
3939 appendString(T11_, (*(*s).name).s);
3940 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_46, NIM_FALSE);
3941 	}
3942 	LA9_: ;
3943 	result = ((NI) ((*s).position));
3944 	return result;
3945 }
N_NIMCALL(void,genCheckedObjAccessAux__vmgen_1316)3946 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3947 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
3948 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkExpr;
3949 	NIM_BOOL negCheck;
3950 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* disc;
3951 	NI discVal;
3952 	NI T14_;
3953 	NI setLit;
3954 	NI rs;
3955 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
3956 	NI lab1;
3957 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T16_;
3958 	tyObject_TType__facALICuu8zUj0hjvbTLFg* strType;
3959 	NI msgReg;
3960 	NI T22_;
3961 	NimStringDesc* fieldName;
3962 	NimStringDesc* msg;
3963 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strLit;
3964 	{
3965 		NimStringDesc* argX60gensym456_;
3966 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46)))) goto LA3_;
3967 		argX60gensym456_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_41);
3968 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym456_, TM__24XApAWKNvaMkcyklm8bNA_41);
3969 	}
3970 	LA3_: ;
3971 	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
3972 	checkExpr = (*n)._kind_6.sons->data[((NI) 1)];
3973 	negCheck = ((*(*(*checkExpr)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
3974 	{
3975 		NI T9_;
3976 		if (!negCheck) goto LA7_;
3977 		T9_ = (NI)0;
3978 		T9_ = len__ast_3198(checkExpr);
3979 		checkExpr = (*checkExpr)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
3980 	}
3981 	LA7_: ;
3982 	disc = (*checkExpr)._kind_6.sons->data[((NI) 2)];
3983 	{
3984 		NimStringDesc* argX60gensym465_;
3985 		if (!!(((*(*disc)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA12_;
3986 		argX60gensym465_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_42);
3987 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym465_, TM__24XApAWKNvaMkcyklm8bNA_42);
3988 	}
3989 	LA12_: ;
3990 	gen__vmgen_687(c, (*accessExpr)._kind_6.sons->data[((NI) 0)], dest, flags);
3991 	discVal = getTemp__vmgen_541(c, (*disc).typ);
3992 	T14_ = (NI)0;
3993 	T14_ = genField__vmgen_1288(c, disc);
3994 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), discVal, ((NI) ((*dest))), T14_);
3995 	setLit = genx__vmgen_712(c, (*checkExpr)._kind_6.sons->data[((NI) 1)], 0);
3996 	T15_ = NIM_NIL;
3997 	T15_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
3998 	rs = getTemp__vmgen_541(c, T15_);
3999 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84), rs, setLit, discVal);
4000 	freeTemp__vmgen_550(c, discVal);
4001 	freeTemp__vmgen_550(c, setLit);
4002 	T16_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
4003 	{
4004 		if (!negCheck) goto LA19_;
4005 		T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162);
4006 	}
4007 	goto LA17_;
4008 	LA19_: ;
4009 	{
4010 		T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161);
4011 	}
4012 	LA17_: ;
4013 	lab1 = xjmp__vmgen_398(c, n, T16_, rs);
4014 	freeTemp__vmgen_550(c, rs);
4015 	strType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
4016 	T22_ = (NI)0;
4017 	T22_ = getTemp__vmgen_541(c, strType);
4018 	msgReg = ((NI) (T22_));
4019 	fieldName = dollar___renderer_2106((*accessExpr)._kind_6.sons->data[((NI) 1)]);
4020 	msg = genFieldDefect__astmsgs_61((*c).config, fieldName, (*disc)._kind_4.sym);
4021 	strLit = newStrNode__ast_3817(msg, (*(*accessExpr)._kind_6.sons->data[((NI) 1)]).info);
4022 	asgnRef((void**) (&(*strLit).typ), strType);
4023 	genLit__vmgen_1199(c, strLit, (&msgReg));
4024 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 96), ((NI) (msgReg)), discVal, ((NI) 0));
4025 	freeTemp__vmgen_550(c, ((NI) (msgReg)));
4026 	patch__vmgen_434(c, lab1);
4027 }
N_NIMCALL(void,genAsgnPatch__vmgen_1321)4028 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value) {
4029 	switch ((*le).kind) {
4030 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4031 	{
4032 		NI dest;
4033 		NI idx;
4034 		dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4035 		idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
4036 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, value);
4037 		freeTemp__vmgen_550(c, dest);
4038 		freeTemp__vmgen_550(c, idx);
4039 	}
4040 	break;
4041 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4042 	{
4043 		NI objR;
4044 		NI idx_2;
4045 		objR = ((NI) -1);
4046 		genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
4047 		idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
4048 		gABC__vmgen_312(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, value);
4049 		freeTemp__vmgen_550(c, ((NI) (objR)));
4050 	}
4051 	break;
4052 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4053 	{
4054 		NI dest_2;
4055 		NI idx_3;
4056 		dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4057 		idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
4058 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, value);
4059 		freeTemp__vmgen_550(c, dest_2);
4060 	}
4061 	break;
4062 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
4063 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
4064 	{
4065 		NI dest_3;
4066 		dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4067 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), value);
4068 		freeTemp__vmgen_550(c, dest_3);
4069 	}
4070 	break;
4071 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4072 	{
4073 		{
4074 			NIM_BOOL T8_;
4075 			NI dest_4;
4076 			T8_ = (NIM_BOOL)0;
4077 			T8_ = (((*(*le)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4078 			if (!(T8_)) goto LA9_;
4079 			T8_ = !(((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4080 			LA9_: ;
4081 			if (!T8_) goto LA10_;
4082 			dest_4 = genx__vmgen_712(c, le, 2);
4083 			gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_4, ((NI) 0), value);
4084 			freeTemp__vmgen_550(c, dest_4);
4085 		}
4086 		LA10_: ;
4087 	}
4088 	break;
4089 	default:
4090 	{
4091 	}
4092 	break;
4093 	}
4094 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)4095 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4096 	NIM_BOOL result;
4097 	NIM_BOOL T1_;
4098 	result = (NIM_BOOL)0;
4099 	T1_ = (NIM_BOOL)0;
4100 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4101 	if (T1_) goto LA2_;
4102 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
4103 	LA2_: ;
4104 	result = T1_;
4105 	return result;
4106 }
N_NIMCALL(NI,getTempRange__vmgen_559)4107 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind) {
4108 	NI result;
4109 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
4110 	NI T34_;
4111 	NI T35_;
4112 {	result = (NI)0;
4113 	c = (*cc).prc;
4114 	{
4115 		NIM_BOOL T3_;
4116 		NI T4_;
4117 		NI T6_;
4118 		T3_ = (NIM_BOOL)0;
4119 		T4_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4120 		T3_ = (((NI) 40) <= T4_);
4121 		if (T3_) goto LA5_;
4122 		T6_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4123 		T3_ = (((NI) 65535) <= (NI)(T6_ + n));
4124 		LA5_: ;
4125 		if (!T3_) goto LA7_;
4126 		{
4127 			NI i;
4128 			NI colontmp_;
4129 			NI T10_;
4130 			NI res;
4131 			i = (NI)0;
4132 			colontmp_ = (NI)0;
4133 			T10_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4134 			colontmp_ = (NI)(T10_ - n);
4135 			res = ((NI) 0);
4136 			{
4137 				while (1) {
4138 					if (!(res <= colontmp_)) goto LA12;
4139 					i = res;
4140 					{
4141 						if (!!((*c).regInfo->data[i].Field0)) goto LA15_;
4142 						{
4143 							{
4144 								NI j;
4145 								NI colontmp__2;
4146 								NI colontmp__3;
4147 								NI res_2;
4148 								j = (NI)0;
4149 								colontmp__2 = (NI)0;
4150 								colontmp__3 = (NI)0;
4151 								colontmp__2 = (NI)(i + ((NI) 1));
4152 								colontmp__3 = (NI)((NI)(i + n) - ((NI) 1));
4153 								res_2 = colontmp__2;
4154 								{
4155 									while (1) {
4156 										if (!(res_2 <= colontmp__3)) goto LA20;
4157 										j = res_2;
4158 										{
4159 											if (!(*c).regInfo->data[j].Field0) goto LA23_;
4160 											goto LA17;
4161 										}
4162 										LA23_: ;
4163 										res_2 += ((NI) 1);
4164 									} LA20: ;
4165 								}
4166 							}
4167 							result = ((NI) (i));
4168 							{
4169 								NI k;
4170 								NI colontmp__4;
4171 								NI res_3;
4172 								k = (NI)0;
4173 								colontmp__4 = (NI)0;
4174 								colontmp__4 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4175 								res_3 = ((NI) (result));
4176 								{
4177 									while (1) {
4178 										NIM_BOOL colontmp__5;
4179 										tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
4180 										if (!(res_3 <= ((NI) (colontmp__4)))) goto LA27;
4181 										k = ((NI) (res_3));
4182 										colontmp__5 = NIM_TRUE;
4183 										colontmp__6 = kind;
4184 										(*c).regInfo->data[k].Field0 = colontmp__5;
4185 										(*c).regInfo->data[k].Field1 = colontmp__6;
4186 										res_3 += ((NI) 1);
4187 									} LA27: ;
4188 								}
4189 							}
4190 							goto BeforeRet_;
4191 						} LA17: ;
4192 					}
4193 					LA15_: ;
4194 					res += ((NI) 1);
4195 				} LA12: ;
4196 			}
4197 		}
4198 	}
4199 	LA7_: ;
4200 	{
4201 		NI T30_;
4202 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T33_;
4203 		T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4204 		if (!(((NI) 65535) <= (NI)(T30_ + n))) goto LA31_;
4205 		T33_ = bestEffort__vmgen_468(cc);
4206 		liMessage__msgs_1118((*cc).config, T33_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_47, NIM_FALSE);
4207 	}
4208 	LA31_: ;
4209 	T34_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4210 	result = ((NI) (T34_));
4211 	T35_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4212 	asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(T35_ + n)))));
4213 	{
4214 		NI k_2;
4215 		NI colontmp__7;
4216 		NI res_4;
4217 		k_2 = (NI)0;
4218 		colontmp__7 = (NI)0;
4219 		colontmp__7 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4220 		res_4 = ((NI) (result));
4221 		{
4222 			while (1) {
4223 				NIM_BOOL colontmp__8;
4224 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__9;
4225 				if (!(res_4 <= ((NI) (colontmp__7)))) goto LA38;
4226 				k_2 = ((NI) (res_4));
4227 				colontmp__8 = NIM_TRUE;
4228 				colontmp__9 = kind;
4229 				(*c).regInfo->data[k_2].Field0 = colontmp__8;
4230 				(*c).regInfo->data[k_2].Field1 = colontmp__9;
4231 				res_4 += ((NI) 1);
4232 			} LA38: ;
4233 		}
4234 	}
4235 	}BeforeRet_: ;
4236 	return result;
4237 }
N_NIMCALL(NI,genType__vmgen_1088)4238 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
4239 	NI result;
4240 	NI T10_;
4241 	NI T11_;
4242 {	result = (NI)0;
4243 	{
4244 		NI i;
4245 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4246 		NI i_2;
4247 		NI L;
4248 		NI T2_;
4249 		i = (NI)0;
4250 		t = NIM_NIL;
4251 		i_2 = ((NI) 0);
4252 		T2_ = ((*c).types ? (*c).types->Sup.len : 0);
4253 		L = T2_;
4254 		{
4255 			while (1) {
4256 				if (!(i_2 < L)) goto LA4;
4257 				i = i_2;
4258 				t = (*c).types->data[i_2];
4259 				{
4260 					NIM_BOOL T7_;
4261 					T7_ = (NIM_BOOL)0;
4262 					T7_ = sameType__types_1815(t, typ, 0);
4263 					if (!T7_) goto LA8_;
4264 					result = i;
4265 					goto BeforeRet_;
4266 				}
4267 				LA8_: ;
4268 				i_2 += ((NI) 1);
4269 			} LA4: ;
4270 		}
4271 	}
4272 	T10_ = ((*c).types ? (*c).types->Sup.len : 0);
4273 	result = T10_;
4274 	asgnRef((void**) (&(*c).types), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).types), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
4275 	T11_ = (*c).types->Sup.len++;
4276 	asgnRef((void**) (&(*c).types->data[T11_]), typ);
4277 	{
4278 		NimStringDesc* argX60gensym128_;
4279 		if (!!((result <= ((NI) 8388607)))) goto LA14_;
4280 		argX60gensym128_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_49);
4281 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym128_, TM__24XApAWKNvaMkcyklm8bNA_49);
4282 	}
4283 	LA14_: ;
4284 	}BeforeRet_: ;
4285 	return result;
4286 }
N_NIMCALL(void,freeTempRange__vmgen_626)4287 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n) {
4288 	{
4289 		NI i;
4290 		NI colontmp_;
4291 		NI res;
4292 		i = (NI)0;
4293 		colontmp_ = (NI)0;
4294 		colontmp_ = ((NI) ((NI)((NI)(((NI) (start)) + n) - ((NI) 1))));
4295 		res = ((NI) (start));
4296 		{
4297 			while (1) {
4298 				if (!(res <= ((NI) (colontmp_)))) goto LA3;
4299 				i = ((NI) (res));
4300 				freeTemp__vmgen_550(c, i);
4301 				res += ((NI) 1);
4302 			} LA3: ;
4303 		}
4304 	}
4305 }
N_NIMCALL(void,genCall__vmgen_1204)4306 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4307 	NI x;
4308 	NI T16_;
4309 	tyObject_TType__facALICuu8zUj0hjvbTLFg* fntyp;
4310 	NI T37_;
4311 {	{
4312 		NIM_BOOL T3_;
4313 		NI T4_;
4314 		T3_ = (NIM_BOOL)0;
4315 		T4_ = (NI)0;
4316 		T4_ = len__ast_3198(n);
4317 		T3_ = (T4_ == ((NI) 0));
4318 		if (T3_) goto LA5_;
4319 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).typ == 0);
4320 		LA5_: ;
4321 		if (!T3_) goto LA6_;
4322 		goto BeforeRet_;
4323 	}
4324 	LA6_: ;
4325 	{
4326 		NIM_BOOL T10_;
4327 		NIM_BOOL T12_;
4328 		NI T15_;
4329 		T10_ = (NIM_BOOL)0;
4330 		T10_ = (((NI) ((*dest))) < ((NI) 0));
4331 		if (!(T10_)) goto LA11_;
4332 		T12_ = (NIM_BOOL)0;
4333 		T12_ = isEmptyType__ast_4779((*n).typ);
4334 		T10_ = !(T12_);
4335 		LA11_: ;
4336 		if (!T10_) goto LA13_;
4337 		T15_ = (NI)0;
4338 		T15_ = getTemp__vmgen_541(c, (*n).typ);
4339 		(*dest) = ((NI) (T15_));
4340 	}
4341 	LA13_: ;
4342 	T16_ = (NI)0;
4343 	T16_ = len__ast_3198(n);
4344 	x = getTempRange__vmgen_559(c, T16_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4345 	fntyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
4346 	{
4347 		NI i;
4348 		NI colontmp_;
4349 		NI i_2;
4350 		i = (NI)0;
4351 		colontmp_ = (NI)0;
4352 		colontmp_ = len__ast_3198(n);
4353 		i_2 = ((NI) 0);
4354 		{
4355 			while (1) {
4356 				NI r;
4357 				if (!(i_2 < colontmp_)) goto LA19;
4358 				i = i_2;
4359 				r = ((NI) ((NI)(((NI) (x)) + i)));
4360 				gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 4);
4361 				{
4362 					NI T22_;
4363 					NI T29_;
4364 					T22_ = (NI)0;
4365 					T22_ = len__ast_4002(fntyp);
4366 					if (!(T22_ <= i)) goto LA23_;
4367 					{
4368 						NimStringDesc* argX60gensym147_;
4369 						if (!!((((*fntyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0))) goto LA27_;
4370 						argX60gensym147_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_48);
4371 						internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym147_, TM__24XApAWKNvaMkcyklm8bNA_48);
4372 					}
4373 					LA27_: ;
4374 					T29_ = (NI)0;
4375 					T29_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[i]).typ);
4376 					gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), r, T29_);
4377 				}
4378 				LA23_: ;
4379 				i_2 += ((NI) 1);
4380 			} LA19: ;
4381 		}
4382 	}
4383 	{
4384 		NI T34_;
4385 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA32_;
4386 		T34_ = (NI)0;
4387 		T34_ = len__ast_3198(n);
4388 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 154), ((NI) 0), x, ((NI) (T34_)));
4389 	}
4390 	goto LA30_;
4391 	LA32_: ;
4392 	{
4393 		NI T36_;
4394 		T36_ = (NI)0;
4395 		T36_ = len__ast_3198(n);
4396 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 155), ((NI) ((*dest))), x, ((NI) (T36_)));
4397 	}
4398 	LA30_: ;
4399 	T37_ = (NI)0;
4400 	T37_ = len__ast_3198(n);
4401 	freeTempRange__vmgen_626(c, x, T37_);
4402 	}BeforeRet_: ;
4403 }
N_NIMCALL(NIM_BOOL,needsAsgnPatch__vmgen_1269)4404 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4405 	NIM_BOOL result;
4406 	NIM_BOOL T1_;
4407 	NIM_BOOL T3_;
4408 	NIM_BOOL T5_;
4409 	result = (NIM_BOOL)0;
4410 	T1_ = (NIM_BOOL)0;
4411 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
4412 	if (T1_) goto LA2_;
4413 	T3_ = (NIM_BOOL)0;
4414 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4415 	if (!(T3_)) goto LA4_;
4416 	T5_ = (NIM_BOOL)0;
4417 	T5_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4418 	if (!(T5_)) goto LA6_;
4419 	T5_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4420 	LA6_: ;
4421 	T3_ = T5_;
4422 	LA4_: ;
4423 	T1_ = T3_;
4424 	LA2_: ;
4425 	result = T1_;
4426 	return result;
4427 }
N_NIMCALL(void,genNew__vmgen_1350)4428 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4429 	NI dest;
4430 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4431 	NI T8_;
4432 	{
4433 		NIM_BOOL T3_;
4434 		T3_ = (NIM_BOOL)0;
4435 		T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4436 		if (!T3_) goto LA4_;
4437 		dest = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4438 	}
4439 	goto LA1_;
4440 	LA4_: ;
4441 	{
4442 		dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4443 	}
4444 	LA1_: ;
4445 	T7_ = NIM_NIL;
4446 	T7_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4447 	T8_ = (NI)0;
4448 	T8_ = genType__vmgen_1088(c, (*T7_).sons->data[((NI) 0)]);
4449 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), dest, T8_);
4450 	genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4451 	freeTemp__vmgen_550(c, dest);
4452 }
N_NIMCALL(void,genNewSeq__vmgen_1364)4453 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4454 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4455 	NI dest;
4456 	NI tmp;
4457 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4458 	NI T8_;
4459 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
4460 	{
4461 		NIM_BOOL T3_;
4462 		T3_ = (NIM_BOOL)0;
4463 		T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4464 		if (!T3_) goto LA4_;
4465 		dest = getTemp__vmgen_541(c, t);
4466 	}
4467 	goto LA1_;
4468 	LA4_: ;
4469 	{
4470 		dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4471 	}
4472 	LA1_: ;
4473 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4474 	T7_ = NIM_NIL;
4475 	T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4476 	T8_ = (NI)0;
4477 	T8_ = genType__vmgen_1088(c, T7_);
4478 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), dest, T8_);
4479 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4480 	freeTemp__vmgen_550(c, tmp);
4481 	genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4482 	freeTemp__vmgen_550(c, dest);
4483 }
N_NIMCALL(void,genNewSeqOfCap__vmgen_1379)4484 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4485 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4486 	NI tmp;
4487 	NI T6_;
4488 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4489 	NI T8_;
4490 	t = (*n).typ;
4491 	{
4492 		NI T5_;
4493 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4494 		T5_ = (NI)0;
4495 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4496 		(*dest) = ((NI) (T5_));
4497 	}
4498 	LA3_: ;
4499 	tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4500 	T6_ = (NI)0;
4501 	T6_ = genType__vmgen_1088(c, t);
4502 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
4503 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, ((NI) 0));
4504 	T7_ = NIM_NIL;
4505 	T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4506 	T8_ = (NI)0;
4507 	T8_ = genType__vmgen_1088(c, T7_);
4508 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T8_);
4509 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4510 	freeTemp__vmgen_550(c, tmp);
4511 }
N_NIMCALL(void,genUnaryABC__vmgen_1390)4512 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4513 	NI tmp;
4514 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4515 	{
4516 		NI T5_;
4517 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4518 		T5_ = (NI)0;
4519 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4520 		(*dest) = ((NI) (T5_));
4521 	}
4522 	LA3_: ;
4523 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4524 	freeTemp__vmgen_550(c, tmp);
4525 }
N_NIMCALL(void,genUnaryABI__vmgen_1397)4526 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm) {
4527 	NI tmp;
4528 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4529 	{
4530 		NI T5_;
4531 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4532 		T5_ = (NI)0;
4533 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4534 		(*dest) = ((NI) (T5_));
4535 	}
4536 	LA3_: ;
4537 	gABI__vmgen_347(c, n, opc, ((NI) ((*dest))), tmp, imm);
4538 	freeTemp__vmgen_550(c, tmp);
4539 }
N_NIMCALL(void,genSetType__vmgen_1481)4540 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4541 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4542 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
4543 	{
4544 		NI T5_;
4545 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3_;
4546 		T5_ = (NI)0;
4547 		T5_ = genType__vmgen_1088(c, t);
4548 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), dest, T5_);
4549 	}
4550 	LA3_: ;
4551 }
N_NIMCALL(void,genCard__vmgen_1621)4552 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4553 	NI tmp;
4554 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4555 	{
4556 		NI T5_;
4557 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4558 		T5_ = (NI)0;
4559 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4560 		(*dest) = ((NI) (T5_));
4561 	}
4562 	LA3_: ;
4563 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4564 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 39), ((NI) ((*dest))), tmp, ((NI) 0));
4565 	freeTemp__vmgen_550(c, tmp);
4566 }
N_NIMCALL(void,genBinaryABCnarrow__vmgen_1471)4567 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4568 	genBinaryABC__vmgen_1405(c, n, dest, opc);
4569 	genNarrow__vmgen_1427(c, n, (*dest));
4570 }
N_NIMCALL(void,genNarrowU__vmgen_1453)4571 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4572 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4573 	NI64 size;
4574 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4575 	size = getSize__types_3327((*c).config, t);
4576 	{
4577 		NIM_BOOL T3_;
4578 		NIM_BOOL T5_;
4579 		T3_ = (NIM_BOOL)0;
4580 		T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
4581 		if (T3_) goto LA4_;
4582 		T5_ = (NIM_BOOL)0;
4583 		T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
4584 		if (!(T5_)) goto LA6_;
4585 		T5_ = (size < IL64(8));
4586 		LA6_: ;
4587 		T3_ = T5_;
4588 		LA4_: ;
4589 		if (!T3_) goto LA7_;
4590 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
4591 	}
4592 	LA7_: ;
4593 }
N_NIMCALL(void,genBinaryABCnarrowU__vmgen_1476)4594 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4595 	genBinaryABC__vmgen_1405(c, n, dest, opc);
4596 	genNarrowU__vmgen_1453(c, n, (*dest));
4597 }
N_NIMCALL(void,Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)4598 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op) {
4599 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* a;
4600 	a = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*)p;
4601 	nimGCvisit((void*)(*a).t21, op);
4602 	nimGCvisit((void*)(*a).targ22, op);
4603 	nimGCvisit((void*)(*a).n3, op);
4604 	nimGCvisit((void*)(*a).arg4, op);
4605 }
N_CLOSURE(NIM_BOOL,implicitConv__vmgen_1610)4606 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0) {
4607 	NIM_BOOL result;
4608 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenvP_;
4609 {	result = (NIM_BOOL)0;
4610 	colonenvP_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) ClE_0;
4611 	{
4612 		NIM_BOOL T3_;
4613 		T3_ = (NIM_BOOL)0;
4614 		T3_ = sameType__types_1815((*colonenvP_).t21, (*colonenvP_).targ22, 0);
4615 		if (!T3_) goto LA4_;
4616 		result = NIM_TRUE;
4617 		goto BeforeRet_;
4618 	}
4619 	LA4_: ;
4620 	{
4621 		NIM_BOOL T8_;
4622 		T8_ = (NIM_BOOL)0;
4623 		T8_ = ((*(*(*colonenvP_).n3).typ).kind == (*(*(*colonenvP_).arg4).typ).kind);
4624 		if (!(T8_)) goto LA9_;
4625 		T8_ = ((*(*(*colonenvP_).arg4).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4626 		LA9_: ;
4627 		if (!T8_) goto LA10_;
4628 		result = NIM_TRUE;
4629 		goto BeforeRet_;
4630 	}
4631 	LA10_: ;
4632 	}BeforeRet_: ;
4633 	return result;
4634 }
N_NIMCALL(void,genConv__vmgen_1602)4635 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4636 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenv_;
4637 	NI tmp;
4638 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4639 	NI T13_;
4640 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
4641 	NI T15_;
4642 {	colonenv_ = NIM_NIL;
4643 	colonenv_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) newObj((&NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_), sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA));
4644 	(*colonenv_).Sup.m_type = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
4645 	asgnRef((void**) (&(*colonenv_).n3), n);
4646 	asgnRef((void**) (&(*colonenv_).arg4), arg);
4647 	asgnRef((void**) (&(*colonenv_).t21), skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4648 	asgnRef((void**) (&(*colonenv_).targ22), skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4649 	{
4650 		tyProc__In3g79a0qTcRmbTbJp9ba9ctg T3_;
4651 		NIM_BOOL T4_;
4652 		nimZeroMem((void*)(&T3_), sizeof(tyProc__In3g79a0qTcRmbTbJp9ba9ctg));
4653 		T3_.ClP_0 = implicitConv__vmgen_1610; T3_.ClE_0 = colonenv_;
4654 		T4_ = (NIM_BOOL)0;
4655 		T4_ = T3_.ClE_0? T3_.ClP_0(T3_.ClE_0):((TM__24XApAWKNvaMkcyklm8bNA_54)(T3_.ClP_0))();
4656 		if (!T4_) goto LA5_;
4657 		gen__vmgen_687(c, (*colonenv_).arg4, dest, 0);
4658 		goto BeforeRet_;
4659 	}
4660 	LA5_: ;
4661 	tmp = genx__vmgen_712(c, (*colonenv_).arg4, 0);
4662 	{
4663 		NI T11_;
4664 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
4665 		T11_ = (NI)0;
4666 		T11_ = getTemp__vmgen_541(c, (*(*colonenv_).n3).typ);
4667 		(*dest) = ((NI) (T11_));
4668 	}
4669 	LA9_: ;
4670 	gABC__vmgen_312(c, (*colonenv_).n3, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4671 	T12_ = NIM_NIL;
4672 	T12_ = skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4673 	T13_ = (NI)0;
4674 	T13_ = genType__vmgen_1088(c, T12_);
4675 	gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T13_);
4676 	T14_ = NIM_NIL;
4677 	T14_ = skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4678 	T15_ = (NI)0;
4679 	T15_ = genType__vmgen_1088(c, T14_);
4680 	gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T15_);
4681 	freeTemp__vmgen_550(c, tmp);
4682 	}BeforeRet_: ;
4683 }
N_NIMCALL(void,genBinarySet__vmgen_1494)4684 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4685 	NI tmp;
4686 	NI tmp2;
4687 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4688 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4689 	{
4690 		NI T5_;
4691 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4692 		T5_ = (NI)0;
4693 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4694 		(*dest) = ((NI) (T5_));
4695 	}
4696 	LA3_: ;
4697 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4698 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 2)], tmp2);
4699 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4700 	freeTemp__vmgen_550(c, tmp);
4701 	freeTemp__vmgen_550(c, tmp2);
4702 }
N_NIMCALL(void,genVarargsABC__vmgen_1533)4703 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4704 	NI x;
4705 	NI T6_;
4706 	NI T10_;
4707 	NI T11_;
4708 	{
4709 		NI T5_;
4710 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4711 		T5_ = (NI)0;
4712 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4713 		(*dest) = ((NI) (T5_));
4714 	}
4715 	LA3_: ;
4716 	T6_ = (NI)0;
4717 	T6_ = len__ast_3198(n);
4718 	x = getTempRange__vmgen_559(c, (NI)(T6_ - ((NI) 1)), ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6));
4719 	{
4720 		NI i;
4721 		NI colontmp_;
4722 		NI i_2;
4723 		i = (NI)0;
4724 		colontmp_ = (NI)0;
4725 		colontmp_ = len__ast_3198(n);
4726 		i_2 = ((NI) 1);
4727 		{
4728 			while (1) {
4729 				NI r;
4730 				if (!(i_2 < colontmp_)) goto LA9;
4731 				i = i_2;
4732 				r = ((NI) ((NI)((NI)(((NI) (x)) + i) - ((NI) 1))));
4733 				gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4734 				i_2 += ((NI) 1);
4735 			} LA9: ;
4736 		}
4737 	}
4738 	T10_ = (NI)0;
4739 	T10_ = len__ast_3198(n);
4740 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), x, ((NI) ((NI)(T10_ - ((NI) 1)))));
4741 	T11_ = (NI)0;
4742 	T11_ = len__ast_3198(n);
4743 	freeTempRange__vmgen_626(c, x, (NI)(T11_ - ((NI) 1)));
4744 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,ldNullOpcode__vmgen_1836)4745 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4746 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
4747 	result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
4748 	{
4749 		NIM_BOOL T3_;
4750 		T3_ = (NIM_BOOL)0;
4751 		T3_ = fitsRegister__vmgen_1814(t);
4752 		if (!T3_) goto LA4_;
4753 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173);
4754 	}
4755 	goto LA1_;
4756 	LA4_: ;
4757 	{
4758 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172);
4759 	}
4760 	LA1_: ;
4761 	return result;
4762 }
N_NIMCALL(void,genBinaryStmtVar__vmgen_1513)4763 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4764 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4765 	NI dest;
4766 	NI tmp;
4767 	x = (*n)._kind_6.sons->data[((NI) 1)];
4768 	{
4769 		if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
4770 		x = (*x)._kind_6.sons->data[((NI) 0)];
4771 	}
4772 	LA3_: ;
4773 	dest = genx__vmgen_712(c, x, 0);
4774 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4775 	gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4776 	freeTemp__vmgen_550(c, tmp);
4777 	freeTemp__vmgen_550(c, dest);
4778 }
N_NIMCALL(void,genBinaryABCD__vmgen_1414)4779 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4780 	NI tmp;
4781 	NI tmp2;
4782 	NI tmp3;
4783 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4784 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4785 	tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4786 	{
4787 		NI T5_;
4788 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4789 		T5_ = (NI)0;
4790 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4791 		(*dest) = ((NI) (T5_));
4792 	}
4793 	LA3_: ;
4794 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4795 	gABC__vmgen_312(c, n, opc, tmp3, ((NI) 0), ((NI) 0));
4796 	freeTemp__vmgen_550(c, tmp);
4797 	freeTemp__vmgen_550(c, tmp2);
4798 	freeTemp__vmgen_550(c, tmp3);
4799 }
N_NIMCALL(void,genVoidABC__vmgen_1749)4800 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode) {
4801 	NI tmp1;
4802 	NI tmp2;
4803 	NI tmp3;
4804 	unused__vmgen_1026(c, n, dest);
4805 	tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4806 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4807 	tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4808 	gABC__vmgen_312(c, n, opcode, tmp1, tmp2, tmp3);
4809 	freeTemp__vmgen_550(c, tmp1);
4810 	freeTemp__vmgen_550(c, tmp2);
4811 	freeTemp__vmgen_550(c, tmp3);
4812 }
N_NIMCALL(void,genBinaryStmt__vmgen_1505)4813 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4814 	NI dest;
4815 	NI tmp;
4816 	dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4817 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4818 	gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4819 	freeTemp__vmgen_550(c, tmp);
4820 	freeTemp__vmgen_550(c, dest);
4821 }
N_NIMCALL(void,genBindSym__vmgen_1760)4822 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4823 	{
4824 		NI T3_;
4825 		T3_ = (NI)0;
4826 		T3_ = len__ast_3198(n);
4827 		if (!(T3_ == ((NI) 2))) goto LA4_;
4828 		{
4829 			NI idx;
4830 			if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
4831 			idx = genLiteral__vmgen_1013(c, (*n)._kind_6.sons->data[((NI) 1)]);
4832 			{
4833 				NI T14_;
4834 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA12_;
4835 				T14_ = (NI)0;
4836 				T14_ = getTemp__vmgen_541(c, (*n).typ);
4837 				(*dest) = ((NI) (T14_));
4838 			}
4839 			LA12_: ;
4840 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 181), ((NI) ((*dest))), idx);
4841 		}
4842 		goto LA6_;
4843 		LA8_: ;
4844 		{
4845 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_61), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_62, NIM_FALSE);
4846 		}
4847 		LA6_: ;
4848 	}
4849 	goto LA1_;
4850 	LA4_: ;
4851 	{
4852 		NI x;
4853 		NI T22_;
4854 		NI tmp0;
4855 		NI tmp1;
4856 		NI T27_;
4857 		NI T28_;
4858 		NI tmp2;
4859 		NI T29_;
4860 		NI T30_;
4861 		NI T31_;
4862 		NI T32_;
4863 		{
4864 			NI T21_;
4865 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA19_;
4866 			T21_ = (NI)0;
4867 			T21_ = getTemp__vmgen_541(c, (*n).typ);
4868 			(*dest) = ((NI) (T21_));
4869 		}
4870 		LA19_: ;
4871 		T22_ = (NI)0;
4872 		T22_ = len__ast_3198(n);
4873 		x = getTempRange__vmgen_559(c, T22_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4874 		tmp0 = ((NI) (x));
4875 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 0)], (&tmp0));
4876 		{
4877 			NI i;
4878 			NI colontmp_;
4879 			NI T24_;
4880 			NI i_2;
4881 			i = (NI)0;
4882 			colontmp_ = (NI)0;
4883 			T24_ = (NI)0;
4884 			T24_ = len__ast_3198(n);
4885 			colontmp_ = (NI)(T24_ - ((NI) 2));
4886 			i_2 = ((NI) 1);
4887 			{
4888 				while (1) {
4889 					NI r;
4890 					if (!(i_2 < colontmp_)) goto LA26;
4891 					i = i_2;
4892 					r = ((NI) ((NI)(((NI) (x)) + i)));
4893 					gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4894 					i_2 += ((NI) 1);
4895 				} LA26: ;
4896 			}
4897 		}
4898 		T27_ = (NI)0;
4899 		T27_ = len__ast_3198(n);
4900 		tmp1 = ((NI) ((NI)((NI)(((NI) (x)) + T27_) - ((NI) 2))));
4901 		T28_ = (NI)0;
4902 		T28_ = len__ast_3198(n);
4903 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))], (&tmp1));
4904 		T29_ = (NI)0;
4905 		T29_ = len__ast_3198(n);
4906 		tmp2 = ((NI) ((NI)((NI)(((NI) (x)) + T29_) - ((NI) 1))));
4907 		T30_ = (NI)0;
4908 		T30_ = len__ast_3198(n);
4909 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T30_ - ((NI) 1))], (&tmp2));
4910 		T31_ = (NI)0;
4911 		T31_ = len__ast_3198(n);
4912 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 182), ((NI) ((*dest))), x, ((NI) (T31_)));
4913 		T32_ = (NI)0;
4914 		T32_ = len__ast_3198(n);
4915 		freeTempRange__vmgen_626(c, x, T32_);
4916 	}
4917 	LA1_: ;
4918 }
N_NIMCALL(void,genMagic__vmgen_1858)4919 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
4920 	switch (m) {
4921 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
4922 	{
4923 		genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), dest);
4924 	}
4925 	break;
4926 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
4927 	{
4928 		genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), dest);
4929 	}
4930 	break;
4931 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
4932 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
4933 	{
4934 		genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31));
4935 	}
4936 	break;
4937 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
4938 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
4939 	{
4940 		genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29));
4941 	}
4942 	break;
4943 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
4944 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
4945 	{
4946 		NIM_BOOL isUnsigned;
4947 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
4948 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
4949 		NI d;
4950 		unused__vmgen_1026(c, n, (*dest));
4951 		T6_ = NIM_NIL;
4952 		T6_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_39);
4953 		isUnsigned = ((*T6_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T6_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
4954 		{
4955 			if (!!(isUnsigned)) goto LA9_;
4956 			{
4957 				if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA13_;
4958 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29);
4959 			}
4960 			goto LA11_;
4961 			LA13_: ;
4962 			{
4963 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31);
4964 			}
4965 			LA11_: ;
4966 		}
4967 		goto LA7_;
4968 		LA9_: ;
4969 		{
4970 			{
4971 				if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA19_;
4972 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53);
4973 			}
4974 			goto LA17_;
4975 			LA19_: ;
4976 			{
4977 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54);
4978 			}
4979 			LA17_: ;
4980 		}
4981 		LA7_: ;
4982 		d = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4983 		{
4984 			NIM_BOOL T24_;
4985 			T24_ = (NIM_BOOL)0;
4986 			T24_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
4987 			if (!(T24_)) goto LA25_;
4988 			T24_ = !(isUnsigned);
4989 			LA25_: ;
4990 			if (!T24_) goto LA26_;
4991 			gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), d, d, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
4992 		}
4993 		goto LA22_;
4994 		LA26_: ;
4995 		{
4996 			NI tmp;
4997 			tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4998 			gABC__vmgen_312(c, n, opc, d, d, tmp);
4999 			freeTemp__vmgen_550(c, tmp);
5000 		}
5001 		LA22_: ;
5002 		genNarrow__vmgen_1427(c, (*n)._kind_6.sons->data[((NI) 1)], ((NI) (d)));
5003 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d);
5004 		freeTemp__vmgen_550(c, d);
5005 	}
5006 	break;
5007 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
5008 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 43):
5009 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144):
5010 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
5011 	{
5012 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
5013 	}
5014 	break;
5015 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
5016 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154):
5017 	{
5018 		genCall__vmgen_1204(c, n, dest);
5019 	}
5020 	break;
5021 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
5022 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
5023 	{
5024 		unused__vmgen_1026(c, n, (*dest));
5025 		genNew__vmgen_1350(c, n);
5026 	}
5027 	break;
5028 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34):
5029 	{
5030 		unused__vmgen_1026(c, n, (*dest));
5031 		genNewSeq__vmgen_1364(c, n);
5032 	}
5033 	break;
5034 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 35):
5035 	{
5036 		genNewSeqOfCap__vmgen_1379(c, n, dest);
5037 	}
5038 	break;
5039 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 145):
5040 	{
5041 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160));
5042 	}
5043 	break;
5044 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 146):
5045 	{
5046 		NI T36_;
5047 		NI tmp_2;
5048 		T36_ = (NI)0;
5049 		T36_ = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5050 		freeTemp__vmgen_550(c, T36_);
5051 		tmp_2 = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5052 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp_2, ((NI) 0));
5053 		{
5054 			NI T41_;
5055 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA39_;
5056 			T41_ = (NI)0;
5057 			T41_ = getTemp__vmgen_541(c, (*n).typ);
5058 			(*dest) = ((NI) (T41_));
5059 		}
5060 		LA39_: ;
5061 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160), ((NI) ((*dest))), tmp_2, ((NI) 0));
5062 		freeTemp__vmgen_550(c, tmp_2);
5063 	}
5064 	break;
5065 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36):
5066 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38):
5067 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
5068 	{
5069 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(0));
5070 	}
5071 	break;
5072 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37):
5073 	{
5074 		switch ((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind) {
5075 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5076 		{
5077 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), IL64(0));
5078 		}
5079 		break;
5080 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5081 		{
5082 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), IL64(0));
5083 		}
5084 		break;
5085 		default:
5086 		{
5087 			{
5088 				NimStringDesc* T51_;
5089 				if (!NIM_TRUE) goto LA49_;
5090 				T51_ = NIM_NIL;
5091 				T51_ = rawNewString((reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 28);
5092 appendString(T51_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_50));
5093 appendString(T51_, reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5094 				failedAssertImpl__systemZassertions_56(T51_);
5095 			}
5096 			LA49_: ;
5097 		}
5098 		break;
5099 		}
5100 	}
5101 	break;
5102 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
5103 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
5104 	{
5105 		NI d_2;
5106 		NI tmp_3;
5107 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T53_;
5108 		unused__vmgen_1026(c, n, (*dest));
5109 		d_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5110 		tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5111 		genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], d_2);
5112 		T53_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5113 		{
5114 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40))) goto LA56_;
5115 			T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36);
5116 		}
5117 		goto LA54_;
5118 		LA56_: ;
5119 		{
5120 			T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 38);
5121 		}
5122 		LA54_: ;
5123 		gABC__vmgen_312(c, n, T53_, d_2, tmp_3, ((NI) 0));
5124 		freeTemp__vmgen_550(c, d_2);
5125 		freeTemp__vmgen_550(c, tmp_3);
5126 	}
5127 	break;
5128 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
5129 	{
5130 		genCard__vmgen_1621(c, n, dest);
5131 	}
5132 	break;
5133 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
5134 	{
5135 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 40));
5136 	}
5137 	break;
5138 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
5139 	{
5140 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 41));
5141 	}
5142 	break;
5143 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 50):
5144 	{
5145 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 42));
5146 	}
5147 	break;
5148 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
5149 	{
5150 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 43));
5151 	}
5152 	break;
5153 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
5154 	{
5155 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 44));
5156 	}
5157 	break;
5158 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
5159 	{
5160 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 45));
5161 	}
5162 	break;
5163 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
5164 	{
5165 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 46));
5166 	}
5167 	break;
5168 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
5169 	{
5170 		NI tmp_4;
5171 		NI tmp2;
5172 		tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5173 		genNarrowU__vmgen_1453(c, n, ((NI) (tmp_4)));
5174 		tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5175 		{
5176 			NI T72_;
5177 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA70_;
5178 			T72_ = (NI)0;
5179 			T72_ = getTemp__vmgen_541(c, (*n).typ);
5180 			(*dest) = ((NI) (T72_));
5181 		}
5182 		LA70_: ;
5183 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 47), ((NI) ((*dest))), tmp_4, tmp2);
5184 		freeTemp__vmgen_550(c, tmp_4);
5185 		freeTemp__vmgen_550(c, tmp2);
5186 	}
5187 	break;
5188 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
5189 	{
5190 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5191 		NI64 size;
5192 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 48));
5193 		t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5194 		size = getSize__types_3327((*c).config, t);
5195 		{
5196 			NIM_BOOL T76_;
5197 			NIM_BOOL T78_;
5198 			T76_ = (NIM_BOOL)0;
5199 			T76_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5200 			if (T76_) goto LA77_;
5201 			T78_ = (NIM_BOOL)0;
5202 			T78_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5203 			if (!(T78_)) goto LA79_;
5204 			T78_ = (size < IL64(8));
5205 			LA79_: ;
5206 			T76_ = T78_;
5207 			LA77_: ;
5208 			if (!T76_) goto LA80_;
5209 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5210 		}
5211 		goto LA74_;
5212 		LA80_: ;
5213 		{
5214 			NIM_BOOL T83_;
5215 			NIM_BOOL T85_;
5216 			T83_ = (NIM_BOOL)0;
5217 			T83_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
5218 			if (T83_) goto LA84_;
5219 			T85_ = (NIM_BOOL)0;
5220 			T85_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5221 			if (!(T85_)) goto LA86_;
5222 			T85_ = (size < IL64(8));
5223 			LA86_: ;
5224 			T83_ = T85_;
5225 			LA84_: ;
5226 			if (!T83_) goto LA87_;
5227 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5228 		}
5229 		goto LA74_;
5230 		LA87_: ;
5231 		LA74_: ;
5232 	}
5233 	break;
5234 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
5235 	{
5236 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 49));
5237 	}
5238 	break;
5239 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 60):
5240 	{
5241 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 50));
5242 	}
5243 	break;
5244 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 61):
5245 	{
5246 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 51));
5247 	}
5248 	break;
5249 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 62):
5250 	{
5251 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 52));
5252 	}
5253 	break;
5254 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
5255 	{
5256 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53));
5257 	}
5258 	break;
5259 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
5260 	{
5261 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54));
5262 	}
5263 	break;
5264 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
5265 	{
5266 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 55));
5267 	}
5268 	break;
5269 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
5270 	{
5271 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 56));
5272 	}
5273 	break;
5274 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 69):
5275 	{
5276 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 57));
5277 	}
5278 	break;
5279 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
5280 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
5281 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
5282 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
5283 	{
5284 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 58));
5285 	}
5286 	break;
5287 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
5288 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
5289 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
5290 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
5291 	{
5292 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 59));
5293 	}
5294 	break;
5295 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
5296 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
5297 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
5298 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
5299 	{
5300 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 60));
5301 	}
5302 	break;
5303 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
5304 	{
5305 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 61));
5306 	}
5307 	break;
5308 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
5309 	{
5310 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 62));
5311 	}
5312 	break;
5313 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
5314 	{
5315 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 63));
5316 	}
5317 	break;
5318 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
5319 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
5320 	{
5321 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 64));
5322 	}
5323 	break;
5324 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
5325 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
5326 	{
5327 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 65));
5328 	}
5329 	break;
5330 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
5331 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
5332 	{
5333 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 66));
5334 	}
5335 	break;
5336 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 90):
5337 	{
5338 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 69));
5339 	}
5340 	break;
5341 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
5342 	{
5343 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 70));
5344 	}
5345 	break;
5346 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
5347 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 94):
5348 	{
5349 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 71));
5350 		genNarrow__vmgen_1427(c, n, (*dest));
5351 	}
5352 	break;
5353 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 100):
5354 	{
5355 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 72));
5356 	}
5357 	break;
5358 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
5359 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 99):
5360 	{
5361 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
5362 	}
5363 	break;
5364 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 98):
5365 	{
5366 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
5367 		NI64 size_2;
5368 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 73));
5369 		t_2 = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5370 		size_2 = getSize__types_3327((*c).config, t_2);
5371 		{
5372 			NIM_BOOL T115_;
5373 			NIM_BOOL T117_;
5374 			T115_ = (NIM_BOOL)0;
5375 			T115_ = ((*t_2).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t_2).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5376 			if (T115_) goto LA116_;
5377 			T117_ = (NIM_BOOL)0;
5378 			T117_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5379 			if (!(T117_)) goto LA118_;
5380 			T117_ = (size_2 < IL64(8));
5381 			LA118_: ;
5382 			T115_ = T117_;
5383 			LA116_: ;
5384 			if (!T115_) goto LA119_;
5385 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size_2 * IL64(8)))), ((NI) 0));
5386 		}
5387 		LA119_: ;
5388 	}
5389 	break;
5390 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 101):
5391 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 102):
5392 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 103):
5393 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 104):
5394 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 105):
5395 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 106):
5396 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
5397 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 108):
5398 	{
5399 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
5400 	}
5401 	break;
5402 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
5403 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91):
5404 	{
5405 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 74));
5406 	}
5407 	break;
5408 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
5409 	{
5410 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 75));
5411 	}
5412 	break;
5413 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
5414 	{
5415 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 76));
5416 	}
5417 	break;
5418 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
5419 	{
5420 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 77));
5421 	}
5422 	break;
5423 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
5424 	{
5425 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 78));
5426 	}
5427 	break;
5428 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
5429 	{
5430 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 79));
5431 	}
5432 	break;
5433 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
5434 	{
5435 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 80));
5436 	}
5437 	break;
5438 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
5439 	{
5440 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 81));
5441 	}
5442 	break;
5443 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
5444 	{
5445 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 82));
5446 	}
5447 	break;
5448 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 125):
5449 	{
5450 		genVarargsABC__vmgen_1533(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 83));
5451 	}
5452 	break;
5453 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
5454 	{
5455 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84));
5456 	}
5457 	break;
5458 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 135):
5459 	{
5460 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 85));
5461 	}
5462 	break;
5463 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 136):
5464 	{
5465 		NI tmp_5;
5466 		unused__vmgen_1026(c, n, (*dest));
5467 		tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5468 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 95), tmp_5, ((NI) 0), ((NI) 0));
5469 		freeTemp__vmgen_550(c, tmp_5);
5470 	}
5471 	break;
5472 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137):
5473 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
5474 	{
5475 		NI d_3;
5476 		NI tmp_6;
5477 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
5478 		unused__vmgen_1026(c, n, (*dest));
5479 		d_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5480 		tmp_6 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5481 		T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5482 		{
5483 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137))) goto LA139_;
5484 			T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 86);
5485 		}
5486 		goto LA137_;
5487 		LA139_: ;
5488 		{
5489 			T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 87);
5490 		}
5491 		LA137_: ;
5492 		gABC__vmgen_312(c, n, T136_, d_3, tmp_6, ((NI) 0));
5493 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_3);
5494 		freeTemp__vmgen_550(c, tmp_6);
5495 		freeTemp__vmgen_550(c, d_3);
5496 	}
5497 	break;
5498 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142):
5499 	{
5500 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T143_;
5501 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T151_;
5502 		unused__vmgen_1026(c, n, (*dest));
5503 		T143_ = NIM_NIL;
5504 		{
5505 			NIM_BOOL T146_;
5506 			T146_ = (NIM_BOOL)0;
5507 			T146_ = ((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL));
5508 			if (T146_) goto LA147_;
5509 			T146_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
5510 			LA147_: ;
5511 			if (!T146_) goto LA148_;
5512 			T143_ = (*c).module;
5513 		}
5514 		goto LA144_;
5515 		LA148_: ;
5516 		{
5517 			T143_ = (*(*c).prc).sym;
5518 		}
5519 		LA144_: ;
5520 		T151_ = NIM_NIL;
5521 		T151_ = lowerSwap__lowerings_246((*c).graph, n, (*c).Sup.idgen, T143_);
5522 		gen__vmgen_707(c, T151_, 0);
5523 	}
5524 	break;
5525 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
5526 	{
5527 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 88));
5528 	}
5529 	break;
5530 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 147):
5531 	{
5532 		NI d2;
5533 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* d2AsNode;
5534 		NI tmp1;
5535 		NI tmp3;
5536 		{
5537 			NI T158_;
5538 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA156_;
5539 			T158_ = (NI)0;
5540 			T158_ = getTemp__vmgen_541(c, (*n).typ);
5541 			(*dest) = ((NI) (T158_));
5542 		}
5543 		LA156_: ;
5544 		d2 = (NI)0;
5545 		d2AsNode = (*(*n)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)];
5546 		{
5547 			NIM_BOOL T161_;
5548 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T164_;
5549 			T161_ = (NIM_BOOL)0;
5550 			T161_ = needsAsgnPatch__vmgen_1269(d2AsNode);
5551 			if (!T161_) goto LA162_;
5552 			T164_ = NIM_NIL;
5553 			T164_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
5554 			d2 = getTemp__vmgen_541(c, T164_);
5555 		}
5556 		goto LA159_;
5557 		LA162_: ;
5558 		{
5559 			d2 = genx__vmgen_712(c, d2AsNode, 0);
5560 		}
5561 		LA159_: ;
5562 		tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5563 		tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
5564 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), ((NI) ((*dest))), tmp1, d2);
5565 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), tmp3, ((NI) 0), ((NI) 0));
5566 		freeTemp__vmgen_550(c, tmp1);
5567 		freeTemp__vmgen_550(c, tmp3);
5568 		genAsgnPatch__vmgen_1321(c, d2AsNode, d2);
5569 		freeTemp__vmgen_550(c, d2);
5570 	}
5571 	break;
5572 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 158):
5573 	{
5574 		NI d_4;
5575 		NI T167_;
5576 		unused__vmgen_1026(c, n, (*dest));
5577 		d_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5578 		T167_ = (NI)0;
5579 		T167_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5580 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), d_4, T167_);
5581 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), d_4, ((NI) (d_4)));
5582 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_4);
5583 	}
5584 	break;
5585 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
5586 	{
5587 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T174_;
5588 		NI T175_;
5589 		{
5590 			NI T173_;
5591 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA171_;
5592 			T173_ = (NI)0;
5593 			T173_ = getTemp__vmgen_541(c, (*n).typ);
5594 			(*dest) = ((NI) (T173_));
5595 		}
5596 		LA171_: ;
5597 		T174_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5598 		T174_ = ldNullOpcode__vmgen_1836((*n).typ);
5599 		T175_ = (NI)0;
5600 		T175_ = genType__vmgen_1088(c, (*n).typ);
5601 		gABx__vmgen_375(c, n, T174_, ((NI) ((*dest))), T175_);
5602 	}
5603 	break;
5604 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
5605 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 14):
5606 	{
5607 		NI tmp_7;
5608 		NI idx;
5609 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T182_;
5610 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
5611 		NI T187_;
5612 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T188_;
5613 		{
5614 			NI T181_;
5615 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA179_;
5616 			T181_ = (NI)0;
5617 			T181_ = getTemp__vmgen_541(c, (*n).typ);
5618 			(*dest) = ((NI) (T181_));
5619 		}
5620 		LA179_: ;
5621 		tmp_7 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5622 		T182_ = NIM_NIL;
5623 		T182_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5624 		idx = getTemp__vmgen_541(c, T182_);
5625 		typ = (*(*n)._kind_6.sons->data[((NI) 2)]).typ;
5626 		{
5627 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA185_;
5628 			typ = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_55);
5629 		}
5630 		LA185_: ;
5631 		T187_ = (NI)0;
5632 		T187_ = genType__vmgen_1088(c, typ);
5633 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), idx, T187_);
5634 		T188_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5635 		{
5636 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA191_;
5637 			T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 89);
5638 		}
5639 		goto LA189_;
5640 		LA191_: ;
5641 		{
5642 			T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 90);
5643 		}
5644 		LA189_: ;
5645 		gABC__vmgen_312(c, n, T188_, ((NI) ((*dest))), tmp_7, idx);
5646 		freeTemp__vmgen_550(c, tmp_7);
5647 		freeTemp__vmgen_550(c, idx);
5648 	}
5649 	break;
5650 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
5651 	{
5652 		NI tmp_8;
5653 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T200_;
5654 		{
5655 			NI T199_;
5656 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA197_;
5657 			T199_ = (NI)0;
5658 			T199_ = getTemp__vmgen_541(c, (*n).typ);
5659 			(*dest) = ((NI) (T199_));
5660 		}
5661 		LA197_: ;
5662 		tmp_8 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5663 		T200_ = NIM_NIL;
5664 		T200_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5665 		switch ((*T200_).kind) {
5666 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5667 		{
5668 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), ((NI) ((*dest))), tmp_8, IL64(1));
5669 		}
5670 		break;
5671 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5672 		{
5673 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), ((NI) ((*dest))), tmp_8, IL64(1));
5674 		}
5675 		break;
5676 		default:
5677 		{
5678 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), ((NI) ((*dest))), tmp_8, IL64(1));
5679 		}
5680 		break;
5681 		}
5682 		freeTemp__vmgen_550(c, tmp_8);
5683 	}
5684 	break;
5685 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20):
5686 	{
5687 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5688 		unused__vmgen_1026(c, n, (*dest));
5689 		n_2 = skipConv__types_3588((*n)._kind_6.sons->data[((NI) 1)]);
5690 		{
5691 			NI x;
5692 			NI T209_;
5693 			NI T213_;
5694 			NI T214_;
5695 			if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA207_;
5696 			T209_ = (NI)0;
5697 			T209_ = len__ast_3198(n_2);
5698 			x = getTempRange__vmgen_559(c, T209_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
5699 			{
5700 				NI i;
5701 				NI colontmp_;
5702 				NI i_2;
5703 				i = (NI)0;
5704 				colontmp_ = (NI)0;
5705 				colontmp_ = len__ast_3198(n_2);
5706 				i_2 = ((NI) 0);
5707 				{
5708 					while (1) {
5709 						NI r;
5710 						if (!(i_2 < colontmp_)) goto LA212;
5711 						i = i_2;
5712 						r = ((NI) ((NI)(((NI) (x)) + i)));
5713 						gen__vmgen_692(c, (*n_2)._kind_6.sons->data[i], r, 0);
5714 						i_2 += ((NI) 1);
5715 					} LA212: ;
5716 				}
5717 			}
5718 			T213_ = (NI)0;
5719 			T213_ = len__ast_3198(n_2);
5720 			gABC__vmgen_312(c, n_2, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153), x, ((NI) (T213_)), ((NI) 0));
5721 			T214_ = (NI)0;
5722 			T214_ = len__ast_3198(n_2);
5723 			freeTempRange__vmgen_626(c, x, T214_);
5724 		}
5725 		LA207_: ;
5726 	}
5727 	break;
5728 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131):
5729 	{
5730 		unused__vmgen_1026(c, n, (*dest));
5731 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 100));
5732 	}
5733 	break;
5734 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132):
5735 	{
5736 		unused__vmgen_1026(c, n, (*dest));
5737 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 101));
5738 	}
5739 	break;
5740 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133):
5741 	{
5742 		unused__vmgen_1026(c, n, (*dest));
5743 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 102));
5744 	}
5745 	break;
5746 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 25):
5747 	{
5748 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 141));
5749 	}
5750 	break;
5751 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 26):
5752 	{
5753 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 142));
5754 	}
5755 	break;
5756 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 13):
5757 	{
5758 		NI tmp_9;
5759 		NI T226_;
5760 		tmp_9 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5761 		{
5762 			NI T225_;
5763 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA223_;
5764 			T225_ = (NI)0;
5765 			T225_ = getTemp__vmgen_541(c, (*n).typ);
5766 			(*dest) = ((NI) (T225_));
5767 		}
5768 		LA223_: ;
5769 		T226_ = (NI)0;
5770 		T226_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5771 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), tmp_9, T226_);
5772 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 184), ((NI) ((*dest))), tmp_9, ((NI) 0));
5773 		freeTemp__vmgen_550(c, tmp_9);
5774 	}
5775 	break;
5776 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 22):
5777 	{
5778 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 139));
5779 	}
5780 	break;
5781 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 23):
5782 	{
5783 		genBinaryABCD__vmgen_1414(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 140));
5784 	}
5785 	break;
5786 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 212):
5787 	{
5788 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(16));
5789 	}
5790 	break;
5791 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 255):
5792 	{
5793 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 151));
5794 	}
5795 	break;
5796 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 272):
5797 	{
5798 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 152));
5799 	}
5800 	break;
5801 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 270):
5802 	{
5803 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 187));
5804 	}
5805 	break;
5806 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 273):
5807 	{
5808 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 188));
5809 	}
5810 	break;
5811 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 213):
5812 	{
5813 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 157));
5814 	}
5815 	break;
5816 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 214):
5817 	{
5818 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 158));
5819 	}
5820 	break;
5821 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 217):
5822 	{
5823 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 125));
5824 	}
5825 	break;
5826 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 215):
5827 	{
5828 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 104));
5829 	}
5830 	break;
5831 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 216):
5832 	{
5833 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 105));
5834 	}
5835 	break;
5836 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 218):
5837 	{
5838 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 106));
5839 	}
5840 	break;
5841 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 219):
5842 	{
5843 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 107));
5844 	}
5845 	break;
5846 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 220):
5847 	{
5848 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 127));
5849 	}
5850 	break;
5851 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 221):
5852 	{
5853 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 128));
5854 	}
5855 	break;
5856 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 222):
5857 	{
5858 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 129));
5859 	}
5860 	break;
5861 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 223):
5862 	{
5863 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 130));
5864 	}
5865 	break;
5866 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 224):
5867 	{
5868 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 131));
5869 	}
5870 	break;
5871 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 225):
5872 	{
5873 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 132));
5874 	}
5875 	break;
5876 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 226):
5877 	{
5878 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 133));
5879 	}
5880 	break;
5881 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 227):
5882 	{
5883 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 134));
5884 	}
5885 	break;
5886 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 228):
5887 	{
5888 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 135));
5889 	}
5890 	break;
5891 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 229):
5892 	{
5893 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 136));
5894 	}
5895 	break;
5896 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 230):
5897 	{
5898 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 137));
5899 	}
5900 	break;
5901 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 231):
5902 	{
5903 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 108));
5904 	}
5905 	break;
5906 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 232):
5907 	{
5908 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 109));
5909 	}
5910 	break;
5911 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 233):
5912 	{
5913 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 110));
5914 	}
5915 	break;
5916 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 234):
5917 	{
5918 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 111));
5919 	}
5920 	break;
5921 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 235):
5922 	{
5923 		NI tmp_10;
5924 		NI rc;
5925 		tmp_10 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5926 		{
5927 			NI T261_;
5928 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA259_;
5929 			T261_ = (NI)0;
5930 			T261_ = getTemp__vmgen_541(c, (*n).typ);
5931 			(*dest) = ((NI) (T261_));
5932 		}
5933 		LA259_: ;
5934 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_56))) goto LA262_;
5935 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_57))) goto LA263_;
5936 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_58))) goto LA264_;
5937 		goto LA265_;
5938 		LA262_: ;
5939 		{
5940 			rc = ((NI) 0);
5941 		}
5942 		goto LA266_;
5943 		LA263_: ;
5944 		{
5945 			rc = ((NI) 1);
5946 		}
5947 		goto LA266_;
5948 		LA264_: ;
5949 		{
5950 			rc = ((NI) 2);
5951 		}
5952 		goto LA266_;
5953 		LA265_: ;
5954 		{
5955 			rc = ((NI) 3);
5956 		}
5957 		LA266_: ;
5958 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 112), ((NI) ((*dest))), tmp_10, ((NI) (rc)));
5959 		freeTemp__vmgen_550(c, tmp_10);
5960 	}
5961 	break;
5962 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 249):
5963 	{
5964 		NI imm;
5965 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_59))) goto LA272_;
5966 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_60))) goto LA273_;
5967 		goto LA274_;
5968 		LA272_: ;
5969 		{
5970 			imm = ((NI) 0);
5971 		}
5972 		goto LA275_;
5973 		LA273_: ;
5974 		{
5975 			imm = ((NI) 1);
5976 		}
5977 		goto LA275_;
5978 		LA274_: ;
5979 		{
5980 			imm = ((NI) 2);
5981 		}
5982 		LA275_: ;
5983 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 115), ((NI64) (imm)));
5984 	}
5985 	break;
5986 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 236):
5987 	{
5988 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 113));
5989 	}
5990 	break;
5991 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 248):
5992 	{
5993 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 114));
5994 	}
5995 	break;
5996 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 237):
5997 	{
5998 		unused__vmgen_1026(c, n, (*dest));
5999 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 116));
6000 	}
6001 	break;
6002 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 238):
6003 	{
6004 		unused__vmgen_1026(c, n, (*dest));
6005 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 117));
6006 	}
6007 	break;
6008 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 239):
6009 	{
6010 		unused__vmgen_1026(c, n, (*dest));
6011 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 118));
6012 	}
6013 	break;
6014 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 240):
6015 	{
6016 		unused__vmgen_1026(c, n, (*dest));
6017 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 119));
6018 	}
6019 	break;
6020 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 241):
6021 	{
6022 		unused__vmgen_1026(c, n, (*dest));
6023 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 120));
6024 	}
6025 	break;
6026 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 242):
6027 	{
6028 		unused__vmgen_1026(c, n, (*dest));
6029 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 121));
6030 	}
6031 	break;
6032 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 244):
6033 	{
6034 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 122));
6035 	}
6036 	break;
6037 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 245):
6038 	{
6039 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 123));
6040 	}
6041 	break;
6042 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 246):
6043 	{
6044 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 124));
6045 	}
6046 	break;
6047 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250):
6048 	{
6049 		genBindSym__vmgen_1760(c, n, dest);
6050 	}
6051 	break;
6052 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 247):
6053 	{
6054 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 150));
6055 	}
6056 	break;
6057 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 252):
6058 	{
6059 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 149));
6060 	}
6061 	break;
6062 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 253):
6063 	{
6064 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 67));
6065 	}
6066 	break;
6067 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 254):
6068 	{
6069 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 68));
6070 	}
6071 	break;
6072 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 243):
6073 	{
6074 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_63))) goto LA296_;
6075 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_64))) goto LA297_;
6076 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_65))) goto LA298_;
6077 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_66))) goto LA299_;
6078 		goto LA300_;
6079 		LA296_: ;
6080 		{
6081 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(0));
6082 		}
6083 		goto LA301_;
6084 		LA297_: ;
6085 		{
6086 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(1));
6087 		}
6088 		goto LA301_;
6089 		LA298_: ;
6090 		{
6091 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(2));
6092 		}
6093 		goto LA301_;
6094 		LA299_: ;
6095 		{
6096 			{
6097 				NI T308_;
6098 				NimStringDesc* argX60gensym324_;
6099 				T308_ = (NI)0;
6100 				T308_ = len__ast_3198(n);
6101 				if (!!((T308_ == ((NI) 3)))) goto LA309_;
6102 				argX60gensym324_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_67);
6103 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym324_, TM__24XApAWKNvaMkcyklm8bNA_67);
6104 			}
6105 			LA309_: ;
6106 			unused__vmgen_1026(c, n, (*dest));
6107 			genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 148));
6108 		}
6109 		goto LA301_;
6110 		LA300_: ;
6111 		{
6112 			{
6113 				NimStringDesc* argX60gensym326_;
6114 				if (!NIM_TRUE) goto LA314_;
6115 				argX60gensym326_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_68);
6116 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym326_, TM__24XApAWKNvaMkcyklm8bNA_68);
6117 			}
6118 			LA314_: ;
6119 		}
6120 		LA301_: ;
6121 	}
6122 	break;
6123 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 257):
6124 	{
6125 		unused__vmgen_1026(c, n, (*dest));
6126 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 146));
6127 	}
6128 	break;
6129 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 258):
6130 	{
6131 		unused__vmgen_1026(c, n, (*dest));
6132 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 145));
6133 	}
6134 	break;
6135 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 259):
6136 	{
6137 		{
6138 			NI T321_;
6139 			T321_ = (NI)0;
6140 			T321_ = len__ast_3198(n);
6141 			if (!(T321_ <= ((NI) 1))) goto LA322_;
6142 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 143), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6143 		}
6144 		goto LA319_;
6145 		LA322_: ;
6146 		{
6147 			unused__vmgen_1026(c, n, (*dest));
6148 			genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 144));
6149 		}
6150 		LA319_: ;
6151 	}
6152 	break;
6153 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 251):
6154 	{
6155 		{
6156 			NI T330_;
6157 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA328_;
6158 			T330_ = (NI)0;
6159 			T330_ = getTemp__vmgen_541(c, (*n).typ);
6160 			(*dest) = ((NI) (T330_));
6161 		}
6162 		LA328_: ;
6163 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 159), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6164 	}
6165 	break;
6166 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 256):
6167 	{
6168 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 126));
6169 	}
6170 	break;
6171 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63):
6172 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64):
6173 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 95):
6174 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
6175 	{
6176 		genCall__vmgen_1204(c, n, dest);
6177 	}
6178 	break;
6179 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27):
6180 	{
6181 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
6182 		{
6183 			NI T336_;
6184 			T336_ = (NI)0;
6185 			T336_ = len__ast_3198(n);
6186 			if (!!((T336_ == ((NI) 2)))) goto LA337_;
6187 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_69), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_70, NIM_FALSE);
6188 		}
6189 		LA337_: ;
6190 		arg = (*n)._kind_6.sons->data[((NI) 1)];
6191 		{
6192 			if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA341_;
6193 			{
6194 				NI T347_;
6195 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA345_;
6196 				T347_ = (NI)0;
6197 				T347_ = getTemp__vmgen_541(c, (*n).typ);
6198 				(*dest) = ((NI) (T347_));
6199 			}
6200 			LA345_: ;
6201 			genCall__vmgen_1204(c, arg, dest);
6202 		}
6203 		goto LA339_;
6204 		LA341_: ;
6205 		{
6206 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_71), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_72, NIM_FALSE);
6207 		}
6208 		LA339_: ;
6209 	}
6210 	break;
6211 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
6212 	{
6213 		NimStringDesc* T350_;
6214 		T350_ = NIM_NIL;
6215 		T350_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_74, 1);
6216 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T350_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_76, NIM_FALSE);
6217 	}
6218 	break;
6219 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
6220 	{
6221 		NimStringDesc* T352_;
6222 		T352_ = NIM_NIL;
6223 		T352_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_77, 1);
6224 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T352_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_79, NIM_FALSE);
6225 	}
6226 	break;
6227 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
6228 	{
6229 		NimStringDesc* T354_;
6230 		T354_ = NIM_NIL;
6231 		T354_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_80, 1);
6232 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T354_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_82, NIM_FALSE);
6233 	}
6234 	break;
6235 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267):
6236 	{
6237 	}
6238 	break;
6239 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
6240 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
6241 	{
6242 	}
6243 	break;
6244 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148):
6245 	{
6246 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg_2;
6247 		NI a;
6248 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T363_;
6249 		arg_2 = (*n)._kind_6.sons->data[((NI) 1)];
6250 		a = genx__vmgen_712(c, arg_2, 0);
6251 		{
6252 			NI T362_;
6253 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA360_;
6254 			T362_ = (NI)0;
6255 			T362_ = getTemp__vmgen_541(c, (*arg_2).typ);
6256 			(*dest) = ((NI) (T362_));
6257 		}
6258 		LA360_: ;
6259 		T363_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6260 		T363_ = whichAsgnOpc__vmgen_1846(arg_2, NIM_FALSE);
6261 		gABC__vmgen_312(c, arg_2, T363_, ((NI) ((*dest))), a, ((NI) 0));
6262 		freeTemp__vmgen_550(c, a);
6263 	}
6264 	break;
6265 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 274):
6266 	{
6267 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 138));
6268 	}
6269 	break;
6270 	default:
6271 	{
6272 		NimStringDesc* T366_;
6273 		T366_ = NIM_NIL;
6274 		T366_ = rawNewString((reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)) ? reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_))->Sup.len : 0) + 26);
6275 appendString(T366_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
6276 appendString(T366_, reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)));
6277 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T366_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_83, NIM_FALSE);
6278 	}
6279 	break;
6280 	}
6281 }
N_NIMCALL(void,genMarshalLoad__vmgen_2071)6282 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6283 	NI tmp;
6284 	NI T6_;
6285 	{
6286 		NI T5_;
6287 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6288 		T5_ = (NI)0;
6289 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6290 		(*dest) = ((NI) (T5_));
6291 	}
6292 	LA3_: ;
6293 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6294 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) ((*dest))), tmp, ((NI) 0));
6295 	T6_ = (NI)0;
6296 	T6_ = genType__vmgen_1088(c, (*n).typ);
6297 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) 0), T6_);
6298 	freeTemp__vmgen_550(c, tmp);
6299 }
N_NIMCALL(void,genMarshalStore__vmgen_2077)6300 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6301 	NI tmp;
6302 	NI T6_;
6303 	{
6304 		NI T5_;
6305 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6306 		T5_ = (NI)0;
6307 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6308 		(*dest) = ((NI) (T5_));
6309 	}
6310 	LA3_: ;
6311 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6312 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) ((*dest))), tmp, ((NI) 0));
6313 	T6_ = (NI)0;
6314 	T6_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
6315 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) 0), T6_);
6316 	freeTemp__vmgen_550(c, tmp);
6317 }
N_INLINE(void,clearDest__vmgen_718)6318 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6319 	{
6320 		NIM_BOOL T3_;
6321 		NIM_BOOL T5_;
6322 		T3_ = (NIM_BOOL)0;
6323 		T3_ = (((NI) 0) <= ((NI) ((*dest))));
6324 		if (!(T3_)) goto LA4_;
6325 		T5_ = (NIM_BOOL)0;
6326 		T5_ = ((*n).typ == 0);
6327 		if (T5_) goto LA6_;
6328 		T5_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
6329 		LA6_: ;
6330 		T3_ = T5_;
6331 		LA4_: ;
6332 		if (!T3_) goto LA7_;
6333 		freeTemp__vmgen_550(c, ((NI) ((*dest))));
6334 		(*dest) = ((NI) -1);
6335 	}
6336 	LA7_: ;
6337 }
N_NIMCALL(NIM_BOOL,isInt16Lit__vmgen_1573)6338 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6339 	NIM_BOOL result;
6340 	result = (NIM_BOOL)0;
6341 	{
6342 		NIM_BOOL T5_;
6343 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
6344 		T5_ = (NIM_BOOL)0;
6345 		T5_ = (IL64(-32768) <= (*n)._kind_1.intVal);
6346 		if (!(T5_)) goto LA6_;
6347 		T5_ = ((*n)._kind_1.intVal <= IL64(32767));
6348 		LA6_: ;
6349 		result = T5_;
6350 	}
6351 	LA3_: ;
6352 	return result;
6353 }
N_NIMCALL(void,preventFalseAlias__vmgen_2315)6354 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
6355 	{
6356 		NIM_BOOL T3_;
6357 		NIM_BOOL T4_;
6358 		NIM_BOOL T6_;
6359 		T3_ = (NIM_BOOL)0;
6360 		T4_ = (NIM_BOOL)0;
6361 		T4_ = isTemp__vmgen_929(c, ((NI) (dest)));
6362 		T3_ = !(T4_);
6363 		if (!(T3_)) goto LA5_;
6364 		T6_ = (NIM_BOOL)0;
6365 		T6_ = fitsRegister__vmgen_1814((*n).typ);
6366 		T3_ = !(T6_);
6367 		LA5_: ;
6368 		if (!T3_) goto LA7_;
6369 		genAdditionalCopy__vmgen_2307(c, n, opc, dest, idx, value);
6370 	}
6371 	goto LA1_;
6372 	LA7_: ;
6373 	{
6374 		gABC__vmgen_312(c, n, opc, dest, idx, value);
6375 	}
6376 	LA1_: ;
6377 }
N_NIMCALL(void,genAsgn__vmgen_2329)6378 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
6379 	switch ((*le).kind) {
6380 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
6381 	{
6382 		NI dest;
6383 		NI idx;
6384 		NI tmp;
6385 		dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6386 		idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
6387 		tmp = genx__vmgen_712(c, ri, 0);
6388 		{
6389 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
6390 			T4_ = NIM_NIL;
6391 			T4_ = skipTypes__ast_3735((*(*le)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6392 			if (!((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA5_;
6393 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 26), dest, idx, tmp);
6394 		}
6395 		goto LA2_;
6396 		LA5_: ;
6397 		{
6398 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, tmp);
6399 		}
6400 		LA2_: ;
6401 		freeTemp__vmgen_550(c, tmp);
6402 		freeTemp__vmgen_550(c, idx);
6403 		freeTemp__vmgen_550(c, dest);
6404 	}
6405 	break;
6406 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
6407 	{
6408 		NI objR;
6409 		NI idx_2;
6410 		NI tmp_2;
6411 		objR = ((NI) -1);
6412 		genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
6413 		idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
6414 		tmp_2 = genx__vmgen_712(c, ri, 0);
6415 		preventFalseAlias__vmgen_2315(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, tmp_2);
6416 		freeTemp__vmgen_550(c, tmp_2);
6417 		freeTemp__vmgen_550(c, ((NI) (objR)));
6418 	}
6419 	break;
6420 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
6421 	{
6422 		NI dest_2;
6423 		NI idx_3;
6424 		NI tmp_3;
6425 		dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6426 		idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
6427 		tmp_3 = genx__vmgen_712(c, ri, 0);
6428 		preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, tmp_3);
6429 		freeTemp__vmgen_550(c, tmp_3);
6430 		freeTemp__vmgen_550(c, dest_2);
6431 	}
6432 	break;
6433 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
6434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
6435 	{
6436 		NI dest_3;
6437 		NI tmp_4;
6438 		dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6439 		tmp_4 = genx__vmgen_712(c, ri, 0);
6440 		preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), tmp_4);
6441 		freeTemp__vmgen_550(c, dest_3);
6442 		freeTemp__vmgen_550(c, tmp_4);
6443 	}
6444 	break;
6445 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6446 	{
6447 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
6448 		s = (*le)._kind_4.sym;
6449 		checkCanEval__vmgen_2268(c, le);
6450 		{
6451 			NIM_BOOL T14_;
6452 			NI tmp_5;
6453 			NI val;
6454 			T14_ = (NIM_BOOL)0;
6455 			T14_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6456 			if (!(T14_)) goto LA15_;
6457 			T14_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6458 			LA15_: ;
6459 			if (!T14_) goto LA16_;
6460 			tmp_5 = getTemp__vmgen_541(c, (*le).typ);
6461 			gen__vmgen_692(c, le, tmp_5, 2);
6462 			val = genx__vmgen_712(c, ri, 0);
6463 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp_5, ((NI) 0), val);
6464 			freeTemp__vmgen_550(c, val);
6465 			freeTemp__vmgen_550(c, tmp_5);
6466 		}
6467 		goto LA12_;
6468 		LA16_: ;
6469 		{
6470 			NI dest_4;
6471 			{
6472 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21))) goto LA21_;
6473 				setSlot__vmgen_2224(c, s);
6474 			}
6475 			LA21_: ;
6476 			{
6477 				NIM_BOOL T25_;
6478 				NIM_BOOL T27_;
6479 				NimStringDesc* argX60gensym417_;
6480 				T25_ = (NIM_BOOL)0;
6481 				T25_ = (((NI) 0) < (*s).position);
6482 				if (T25_) goto LA26_;
6483 				T27_ = (NIM_BOOL)0;
6484 				T27_ = ((*s).position == ((NI) 0));
6485 				if (!(T27_)) goto LA28_;
6486 				T27_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6487 				LA28_: ;
6488 				T25_ = T27_;
6489 				LA26_: ;
6490 				if (!!(T25_)) goto LA29_;
6491 				argX60gensym417_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_90);
6492 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym417_, TM__24XApAWKNvaMkcyklm8bNA_90);
6493 			}
6494 			LA29_: ;
6495 			dest_4 = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
6496 			{
6497 				NIM_BOOL T33_;
6498 				NIM_BOOL T34_;
6499 				NIM_BOOL T35_;
6500 				NIM_BOOL T37_;
6501 				NI cc;
6502 				tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T41_;
6503 				T33_ = (NIM_BOOL)0;
6504 				T34_ = (NIM_BOOL)0;
6505 				T35_ = (NIM_BOOL)0;
6506 				T35_ = isTemp__vmgen_929(c, ((NI) (dest_4)));
6507 				T34_ = !(T35_);
6508 				if (!(T34_)) goto LA36_;
6509 				T37_ = (NIM_BOOL)0;
6510 				T37_ = fitsRegister__vmgen_1814((*le).typ);
6511 				T34_ = !(T37_);
6512 				LA36_: ;
6513 				T33_ = T34_;
6514 				if (!(T33_)) goto LA38_;
6515 				T33_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6516 				LA38_: ;
6517 				if (!T33_) goto LA39_;
6518 				cc = getTemp__vmgen_541(c, (*le).typ);
6519 				gen__vmgen_692(c, ri, cc, 0);
6520 				T41_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6521 				T41_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
6522 				gABC__vmgen_312(c, le, T41_, dest_4, cc, ((NI) 0));
6523 				freeTemp__vmgen_550(c, cc);
6524 			}
6525 			goto LA31_;
6526 			LA39_: ;
6527 			{
6528 				gen__vmgen_692(c, ri, dest_4, 0);
6529 			}
6530 			LA31_: ;
6531 		}
6532 		LA12_: ;
6533 	}
6534 	break;
6535 	default:
6536 	{
6537 		NI dest_5;
6538 		dest_5 = genx__vmgen_712(c, le, 2);
6539 		genAsgn__vmgen_2215(c, ((NI) (dest_5)), ri, requiresCopy);
6540 		freeTemp__vmgen_550(c, dest_5);
6541 	}
6542 	break;
6543 	}
6544 }
N_NIMCALL(void,genObjAccess__vmgen_2569)6545 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6546 	NI a;
6547 	NI b;
6548 	a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6549 	b = genField__vmgen_1288(c, (*n)._kind_6.sons->data[((NI) 1)]);
6550 	{
6551 		NI T5_;
6552 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6553 		T5_ = (NI)0;
6554 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6555 		(*dest) = ((NI) (T5_));
6556 	}
6557 	LA3_: ;
6558 	{
6559 		if (!!(((2 & flags) == 0))) goto LA8_;
6560 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), a, b);
6561 	}
6562 	goto LA6_;
6563 	LA8_: ;
6564 	{
6565 		NIM_BOOL T11_;
6566 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
6567 		NI cc;
6568 		T11_ = (NIM_BOOL)0;
6569 		T11_ = ((3 & flags) == 0);
6570 		if (!(T11_)) goto LA12_;
6571 		T13_ = NIM_NIL;
6572 		T13_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6573 		T11_ = fitsRegister__vmgen_1814(T13_);
6574 		LA12_: ;
6575 		if (!T11_) goto LA14_;
6576 		cc = getTemp__vmgen_541(c, (*n).typ);
6577 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, a, b);
6578 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6579 		freeTemp__vmgen_550(c, cc);
6580 	}
6581 	goto LA6_;
6582 	LA14_: ;
6583 	{
6584 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), a, b);
6585 	}
6586 	LA6_: ;
6587 	freeTemp__vmgen_550(c, a);
6588 }
N_NIMCALL(void,genCheckedObjAccess__vmgen_2646)6589 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6590 	NI objR;
6591 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
6592 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
6593 	NI fieldPos;
6594 	objR = ((NI) -1);
6595 	genCheckedObjAccessAux__vmgen_1316(c, n, (&objR), flags);
6596 	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
6597 	field = (*accessExpr)._kind_6.sons->data[((NI) 1)];
6598 	{
6599 		NimStringDesc* argX60gensym473_;
6600 		if (!!(((*(*field)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA3_;
6601 		argX60gensym473_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_92);
6602 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym473_, TM__24XApAWKNvaMkcyklm8bNA_92);
6603 	}
6604 	LA3_: ;
6605 	{
6606 		NI T9_;
6607 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA7_;
6608 		T9_ = (NI)0;
6609 		T9_ = getTemp__vmgen_541(c, (*n).typ);
6610 		(*dest) = ((NI) (T9_));
6611 	}
6612 	LA7_: ;
6613 	fieldPos = genField__vmgen_1288(c, field);
6614 	{
6615 		if (!!(((2 & flags) == 0))) goto LA12_;
6616 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6617 	}
6618 	goto LA10_;
6619 	LA12_: ;
6620 	{
6621 		NIM_BOOL T15_;
6622 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
6623 		NI cc;
6624 		T15_ = (NIM_BOOL)0;
6625 		T15_ = ((3 & flags) == 0);
6626 		if (!(T15_)) goto LA16_;
6627 		T17_ = NIM_NIL;
6628 		T17_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6629 		T15_ = fitsRegister__vmgen_1814(T17_);
6630 		LA16_: ;
6631 		if (!T15_) goto LA18_;
6632 		cc = getTemp__vmgen_541(c, (*accessExpr).typ);
6633 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, ((NI) (objR)), fieldPos);
6634 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6635 		freeTemp__vmgen_550(c, cc);
6636 	}
6637 	goto LA10_;
6638 	LA18_: ;
6639 	{
6640 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6641 	}
6642 	LA10_: ;
6643 	freeTemp__vmgen_550(c, ((NI) (objR)));
6644 }
N_NIMCALL(void,genArrAccessOpcode__vmgen_2541)6645 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6646 	NI a;
6647 	NI b;
6648 	a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6649 	b = genIndex__vmgen_1305(c, (*n)._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
6650 	{
6651 		NI T5_;
6652 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6653 		T5_ = (NI)0;
6654 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6655 		(*dest) = ((NI) (T5_));
6656 	}
6657 	LA3_: ;
6658 	{
6659 		NIM_BOOL T8_;
6660 		T8_ = (NIM_BOOL)0;
6661 		T8_ = (opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17) || opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28));
6662 		if (!(T8_)) goto LA9_;
6663 		T8_ = ((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0);
6664 		LA9_: ;
6665 		if (!T8_) goto LA10_;
6666 		gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6667 	}
6668 	goto LA6_;
6669 	LA10_: ;
6670 	{
6671 		NIM_BOOL T13_;
6672 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
6673 		NI cc;
6674 		T13_ = (NIM_BOOL)0;
6675 		T13_ = ((3 & flags) == 0);
6676 		if (!(T13_)) goto LA14_;
6677 		T15_ = NIM_NIL;
6678 		T15_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6679 		T13_ = fitsRegister__vmgen_1814(T15_);
6680 		LA14_: ;
6681 		if (!T13_) goto LA16_;
6682 		cc = getTemp__vmgen_541(c, (*n).typ);
6683 		gABC__vmgen_312(c, n, opc, cc, a, b);
6684 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6685 		freeTemp__vmgen_550(c, cc);
6686 	}
6687 	goto LA6_;
6688 	LA16_: ;
6689 	{
6690 		gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6691 	}
6692 	LA6_: ;
6693 	freeTemp__vmgen_550(c, a);
6694 	freeTemp__vmgen_550(c, b);
6695 }
N_NIMCALL(void,genArrAccess__vmgen_2682)6696 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6697 	tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag arrayType;
6698 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6699 	T1_ = NIM_NIL;
6700 	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6701 	arrayType = (*T1_).kind;
6702 	{
6703 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
6704 		if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA4_;
6705 		{
6706 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA8_;
6707 			opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28);
6708 		}
6709 		goto LA6_;
6710 		LA8_: ;
6711 		{
6712 			opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 27);
6713 		}
6714 		LA6_: ;
6715 		genArrAccessOpcode__vmgen_2541(c, n, dest, opc, flags);
6716 	}
6717 	goto LA2_;
6718 	LA4_: ;
6719 	{
6720 		if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA12_;
6721 		genTypeLit__vmgen_2407(c, (*n).typ, dest);
6722 	}
6723 	goto LA2_;
6724 	LA12_: ;
6725 	{
6726 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc_2;
6727 		{
6728 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA17_;
6729 			opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17);
6730 		}
6731 		goto LA15_;
6732 		LA17_: ;
6733 		{
6734 			opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 16);
6735 		}
6736 		LA15_: ;
6737 		genArrAccessOpcode__vmgen_2541(c, n, dest, opc_2, flags);
6738 	}
6739 	LA2_: ;
6740 }
N_NIMCALL(NIM_BOOL,unneededIndirection__vmgen_2084)6741 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6742 	NIM_BOOL result;
6743 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6744 	result = (NIM_BOOL)0;
6745 	T1_ = NIM_NIL;
6746 	T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
6747 	result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
6748 	return result;
6749 }
N_NIMCALL(void,genDeref__vmgen_2181)6750 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6751 	{
6752 		NIM_BOOL T3_;
6753 		T3_ = (NIM_BOOL)0;
6754 		T3_ = unneededIndirection__vmgen_2084((*n)._kind_6.sons->data[((NI) 0)]);
6755 		if (!T3_) goto LA4_;
6756 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, flags);
6757 		{
6758 			NIM_BOOL T8_;
6759 			T8_ = (NIM_BOOL)0;
6760 			T8_ = ((3 & flags) == 0);
6761 			if (!(T8_)) goto LA9_;
6762 			T8_ = fitsRegister__vmgen_1814((*n).typ);
6763 			LA9_: ;
6764 			if (!T8_) goto LA10_;
6765 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6766 		}
6767 		LA10_: ;
6768 	}
6769 	goto LA1_;
6770 	LA4_: ;
6771 	{
6772 		NI tmp;
6773 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6774 		{
6775 			NI T17_;
6776 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA15_;
6777 			T17_ = (NI)0;
6778 			T17_ = getTemp__vmgen_541(c, (*n).typ);
6779 			(*dest) = ((NI) (T17_));
6780 		}
6781 		LA15_: ;
6782 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 24), ((NI) ((*dest))), tmp, ((NI) 0));
6783 		{
6784 			NIM_BOOL T20_;
6785 			T20_ = (NIM_BOOL)0;
6786 			T20_ = ((3 & flags) == 0);
6787 			if (!(T20_)) goto LA21_;
6788 			T20_ = fitsRegister__vmgen_1814((*n).typ);
6789 			LA21_: ;
6790 			if (!T20_) goto LA22_;
6791 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6792 		}
6793 		LA22_: ;
6794 		freeTemp__vmgen_550(c, tmp);
6795 	}
6796 	LA1_: ;
6797 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canElimAddr__vmgen_2095)6798 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6799 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
6800 {	result = NIM_NIL;
6801 	{
6802 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
6803 		T3_ = NIM_NIL;
6804 		T3_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
6805 		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA4_;
6806 		result = (*n)._kind_6.sons->data[((NI) 0)];
6807 		goto BeforeRet_;
6808 	}
6809 	LA4_: ;
6810 	switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
6811 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
6812 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
6813 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
6814 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
6815 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
6816 	{
6817 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6818 		m = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6819 		{
6820 			if (!((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA9_;
6821 			result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6822 			add__ast_4797(result, (*m)._kind_6.sons->data[((NI) 0)]);
6823 		}
6824 		LA9_: ;
6825 	}
6826 	break;
6827 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
6828 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
6829 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
6830 	{
6831 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m_2;
6832 		m_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
6833 		{
6834 			if (!((*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA14_;
6835 			result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6836 			add__ast_4797(result, (*m_2)._kind_6.sons->data[((NI) 0)]);
6837 		}
6838 		LA14_: ;
6839 	}
6840 	break;
6841 	default:
6842 	{
6843 		{
6844 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA19_;
6845 			result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6846 		}
6847 		LA19_: ;
6848 	}
6849 	break;
6850 	}
6851 	}BeforeRet_: ;
6852 	return result;
6853 }
N_NIMCALL(NIM_BOOL,isGlobal__vmgen_1254)6854 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6855 	NIM_BOOL result;
6856 	NIM_BOOL T1_;
6857 	NIM_BOOL T3_;
6858 	result = (NIM_BOOL)0;
6859 	T1_ = (NIM_BOOL)0;
6860 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6861 	if (!(T1_)) goto LA2_;
6862 	T3_ = (NIM_BOOL)0;
6863 	T3_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6864 	if (!(T3_)) goto LA4_;
6865 	T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6866 	LA4_: ;
6867 	T1_ = T3_;
6868 	LA2_: ;
6869 	result = T1_;
6870 	return result;
6871 }
N_NIMCALL(void,genAddr__vmgen_2138)6872 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6873 	tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ newflags;
6874 {	{
6875 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6876 		m = canElimAddr__vmgen_2095(n);
6877 		if (!!((m == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
6878 		gen__vmgen_687(c, m, dest, flags);
6879 		goto BeforeRet_;
6880 	}
6881 	LA3_: ;
6882 	newflags = ((flags & ~ 1) | 2);
6883 	{
6884 		NIM_BOOL T7_;
6885 		T7_ = (NIM_BOOL)0;
6886 		T7_ = isGlobal__vmgen_1254((*n)._kind_6.sons->data[((NI) 0)]);
6887 		if (T7_) goto LA8_;
6888 		T7_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
6889 		LA8_: ;
6890 		if (!T7_) goto LA9_;
6891 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, newflags);
6892 	}
6893 	goto LA5_;
6894 	LA9_: ;
6895 	{
6896 		NI tmp;
6897 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], newflags);
6898 		{
6899 			NI T16_;
6900 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA14_;
6901 			T16_ = (NI)0;
6902 			T16_ = getTemp__vmgen_541(c, (*n).typ);
6903 			(*dest) = ((NI) (T16_));
6904 		}
6905 		LA14_: ;
6906 		{
6907 			if (!(((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[tmp].Field1)) goto LA19_;
6908 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 23), ((NI) ((*dest))), tmp, ((NI) 0));
6909 			(*(*c).prc).regInfo->data[tmp].Field1 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 8);
6910 		}
6911 		goto LA17_;
6912 		LA19_: ;
6913 		{
6914 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 22), ((NI) ((*dest))), tmp, ((NI) 0));
6915 		}
6916 		LA17_: ;
6917 		freeTemp__vmgen_550(c, tmp);
6918 	}
6919 	LA5_: ;
6920 	}BeforeRet_: ;
6921 }
N_NIMCALL(NIM_BOOL,isNotOpr__vmgen_729)6922 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6923 	NIM_BOOL result;
6924 	NIM_BOOL T1_;
6925 	NIM_BOOL T2_;
6926 	result = (NIM_BOOL)0;
6927 	T1_ = (NIM_BOOL)0;
6928 	T2_ = (NIM_BOOL)0;
6929 	T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
6930 	if (!(T2_)) goto LA3_;
6931 	T2_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6932 	LA3_: ;
6933 	T1_ = T2_;
6934 	if (!(T1_)) goto LA4_;
6935 	T1_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
6936 	LA4_: ;
6937 	result = T1_;
6938 	return result;
6939 }
N_NIMCALL(void,genIf__vmgen_883)6940 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6941 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
6942 	{
6943 		NIM_BOOL T3_;
6944 		NIM_BOOL T5_;
6945 		NI T8_;
6946 		T3_ = (NIM_BOOL)0;
6947 		T3_ = (((NI) ((*dest))) < ((NI) 0));
6948 		if (!(T3_)) goto LA4_;
6949 		T5_ = (NIM_BOOL)0;
6950 		T5_ = isEmptyType__ast_4779((*n).typ);
6951 		T3_ = !(T5_);
6952 		LA4_: ;
6953 		if (!T3_) goto LA6_;
6954 		T8_ = (NI)0;
6955 		T8_ = getTemp__vmgen_541(c, (*n).typ);
6956 		(*dest) = ((NI) (T8_));
6957 	}
6958 	LA6_: ;
6959 	endings = NIM_NIL;
6960 	{
6961 		NI i;
6962 		NI colontmp_;
6963 		NI i_2;
6964 		i = (NI)0;
6965 		colontmp_ = (NI)0;
6966 		colontmp_ = len__ast_3198(n);
6967 		i_2 = ((NI) 0);
6968 		{
6969 			while (1) {
6970 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
6971 				if (!(i_2 < colontmp_)) goto LA11;
6972 				i = i_2;
6973 				it = (*n)._kind_6.sons->data[i];
6974 				{
6975 					NI T14_;
6976 					NI tmp;
6977 					NI elsePos;
6978 					T14_ = (NI)0;
6979 					T14_ = len__ast_3198(it);
6980 					if (!(T14_ == ((NI) 2))) goto LA15_;
6981 					tmp = getTemp__vmgen_541(c, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
6982 					elsePos = (NI)0;
6983 					{
6984 						NIM_BOOL T19_;
6985 						T19_ = (NIM_BOOL)0;
6986 						T19_ = isNotOpr__vmgen_729((*it)._kind_6.sons->data[((NI) 0)]);
6987 						if (!T19_) goto LA20_;
6988 						gen__vmgen_692(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], tmp, 0);
6989 						elsePos = xjmp__vmgen_398(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
6990 					}
6991 					goto LA17_;
6992 					LA20_: ;
6993 					{
6994 						gen__vmgen_692(c, (*it)._kind_6.sons->data[((NI) 0)], tmp, 0);
6995 						elsePos = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
6996 					}
6997 					LA17_: ;
6998 					freeTemp__vmgen_550(c, tmp);
6999 					clearDest__vmgen_718(c, n, dest);
7000 					gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 1)], dest, 0);
7001 					{
7002 						NI T25_;
7003 						NI T28_;
7004 						NI T29_;
7005 						T25_ = (NI)0;
7006 						T25_ = len__ast_3198(n);
7007 						if (!(i < (NI)(T25_ - ((NI) 1)))) goto LA26_;
7008 						T28_ = (NI)0;
7009 						T28_ = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7010 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7011 						T29_ = endings->Sup.len++;
7012 						endings->data[T29_] = T28_;
7013 					}
7014 					LA26_: ;
7015 					patch__vmgen_434(c, elsePos);
7016 				}
7017 				goto LA12_;
7018 				LA15_: ;
7019 				{
7020 					clearDest__vmgen_718(c, n, dest);
7021 					gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
7022 				}
7023 				LA12_: ;
7024 				i_2 += ((NI) 1);
7025 			} LA11: ;
7026 		}
7027 	}
7028 	{
7029 		NI* endPos;
7030 		NI i_3;
7031 		NI L;
7032 		NI T32_;
7033 		endPos = (NI*)0;
7034 		i_3 = ((NI) 0);
7035 		T32_ = (endings ? endings->Sup.len : 0);
7036 		L = T32_;
7037 		{
7038 			while (1) {
7039 				if (!(i_3 < L)) goto LA34;
7040 				endPos = (&endings->data[i_3]);
7041 				patch__vmgen_434(c, (*endPos));
7042 				i_3 += ((NI) 1);
7043 			} LA34: ;
7044 		}
7045 	}
7046 	clearDest__vmgen_718(c, n, dest);
7047 }
N_NIMCALL(void,genCase__vmgen_1030)7048 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7049 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
7050 	NI tmp;
7051 	{
7052 		NIM_BOOL T3_;
7053 		T3_ = (NIM_BOOL)0;
7054 		T3_ = isEmptyType__ast_4779((*n).typ);
7055 		if (!!(T3_)) goto LA4_;
7056 		{
7057 			NI T10_;
7058 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
7059 			T10_ = (NI)0;
7060 			T10_ = getTemp__vmgen_541(c, (*n).typ);
7061 			(*dest) = ((NI) (T10_));
7062 		}
7063 		LA8_: ;
7064 	}
7065 	goto LA1_;
7066 	LA4_: ;
7067 	{
7068 		unused__vmgen_1026(c, n, (*dest));
7069 	}
7070 	LA1_: ;
7071 	endings = NIM_NIL;
7072 	tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
7073 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 0)], tmp, 0);
7074 	{
7075 		NI i;
7076 		NI colontmp_;
7077 		NI i_2;
7078 		i = (NI)0;
7079 		colontmp_ = (NI)0;
7080 		colontmp_ = len__ast_3198(n);
7081 		i_2 = ((NI) 1);
7082 		{
7083 			while (1) {
7084 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7085 				if (!(i_2 < colontmp_)) goto LA14;
7086 				i = i_2;
7087 				it = (*n)._kind_6.sons->data[i];
7088 				{
7089 					NI T17_;
7090 					T17_ = (NI)0;
7091 					T17_ = len__ast_3198(it);
7092 					if (!(T17_ == ((NI) 1))) goto LA18_;
7093 					{
7094 						NIM_BOOL T22_;
7095 						T22_ = (NIM_BOOL)0;
7096 						T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
7097 						if (T22_) goto LA23_;
7098 						T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7099 						LA23_: ;
7100 						if (!T22_) goto LA24_;
7101 						gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
7102 					}
7103 					LA24_: ;
7104 				}
7105 				goto LA15_;
7106 				LA18_: ;
7107 				{
7108 					NI b;
7109 					NI elsePos;
7110 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
7111 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
7112 					b = rawGenLiteral__vmgen_950(c, it);
7113 					gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165), tmp, b);
7114 					T27_ = NIM_NIL;
7115 					T27_ = lastSon__ast_4832(it);
7116 					elsePos = xjmp__vmgen_398(c, T27_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
7117 					T28_ = NIM_NIL;
7118 					T28_ = lastSon__ast_4832(it);
7119 					gen__vmgen_687(c, T28_, dest, 0);
7120 					{
7121 						NI T31_;
7122 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
7123 						NI T35_;
7124 						NI T36_;
7125 						T31_ = (NI)0;
7126 						T31_ = len__ast_3198(n);
7127 						if (!(i < (NI)(T31_ - ((NI) 1)))) goto LA32_;
7128 						T34_ = NIM_NIL;
7129 						T34_ = lastSon__ast_4832(it);
7130 						T35_ = (NI)0;
7131 						T35_ = xjmp__vmgen_398(c, T34_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7132 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7133 						T36_ = endings->Sup.len++;
7134 						endings->data[T36_] = T35_;
7135 					}
7136 					LA32_: ;
7137 					patch__vmgen_434(c, elsePos);
7138 				}
7139 				LA15_: ;
7140 				clearDest__vmgen_718(c, n, dest);
7141 				i_2 += ((NI) 1);
7142 			} LA14: ;
7143 		}
7144 	}
7145 	freeTemp__vmgen_550(c, tmp);
7146 	{
7147 		NI* endPos;
7148 		NI i_3;
7149 		NI L;
7150 		NI T38_;
7151 		endPos = (NI*)0;
7152 		i_3 = ((NI) 0);
7153 		T38_ = (endings ? endings->Sup.len : 0);
7154 		L = T38_;
7155 		{
7156 			while (1) {
7157 				if (!(i_3 < L)) goto LA40;
7158 				endPos = (&endings->data[i_3]);
7159 				patch__vmgen_434(c, (*endPos));
7160 				i_3 += ((NI) 1);
7161 			} LA40: ;
7162 		}
7163 	}
7164 }
N_NIMCALL(NI,genLabel__vmgen_416)7165 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7166 	NI result;
7167 	NI T1_;
7168 	result = (NI)0;
7169 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7170 	result = T1_;
7171 	return result;
7172 }
N_NIMCALL(NIM_BOOL,isTrue__vmgen_746)7173 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7174 	NIM_BOOL result;
7175 	NIM_BOOL T1_;
7176 	NIM_BOOL T2_;
7177 	NIM_BOOL T3_;
7178 	NIM_BOOL T7_;
7179 	result = (NIM_BOOL)0;
7180 	T1_ = (NIM_BOOL)0;
7181 	T2_ = (NIM_BOOL)0;
7182 	T3_ = (NIM_BOOL)0;
7183 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7184 	if (!(T3_)) goto LA4_;
7185 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
7186 	LA4_: ;
7187 	T2_ = T3_;
7188 	if (!(T2_)) goto LA5_;
7189 	T2_ = !(((*(*n)._kind_4.sym).position == ((NI) 0)));
7190 	LA5_: ;
7191 	T1_ = T2_;
7192 	if (T1_) goto LA6_;
7193 	T7_ = (NIM_BOOL)0;
7194 	T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
7195 	if (!(T7_)) goto LA8_;
7196 	T7_ = !(((*n)._kind_1.intVal == IL64(0)));
7197 	LA8_: ;
7198 	T1_ = T7_;
7199 	LA6_: ;
7200 	result = T1_;
7201 	return result;
7202 }
N_NIMCALL(void,jmpBack__vmgen_422)7203 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p) {
7204 	NI dist;
7205 	NI T1_;
7206 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7207 	dist = (NI)(p - T1_);
7208 	{
7209 		NIM_BOOL T4_;
7210 		NimStringDesc* argX60gensym49_;
7211 		T4_ = (NIM_BOOL)0;
7212 		T4_ = (((NI) -8388607) < dist);
7213 		if (!(T4_)) goto LA5_;
7214 		T4_ = (dist < ((NI) 8388607));
7215 		LA5_: ;
7216 		if (!!(T4_)) goto LA6_;
7217 		argX60gensym49_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_95);
7218 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym49_, TM__24XApAWKNvaMkcyklm8bNA_95);
7219 	}
7220 	LA6_: ;
7221 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164), ((NI) 0), dist);
7222 }
N_NIMCALL(void,popBlock__vmgen_639)7223 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen) {
7224 	{
7225 		NI* f;
7226 		tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
7227 		NI i;
7228 		NI L;
7229 		NI T2_;
7230 		f = (NI*)0;
7231 		colontmp_ = NIM_NIL;
7232 		colontmp_ = (*(*c).prc).blocks->data[oldLen].fixups;
7233 		i = ((NI) 0);
7234 		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
7235 		L = T2_;
7236 		{
7237 			while (1) {
7238 				if (!(i < L)) goto LA4;
7239 				f = (&colontmp_->data[i]);
7240 				patch__vmgen_434(c, (*f));
7241 				i += ((NI) 1);
7242 			} LA4: ;
7243 		}
7244 	}
7245 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) setLengthSeqV2(&((*(*c).prc).blocks)->Sup, (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_), ((NI) (oldLen))));
7246 }
N_NIMCALL(void,genWhile__vmgen_761)7247 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7248 	NI lab1;
7249 	NI oldLen;
7250 	NI T1_;
7251 	NI T2_;
7252 	lab1 = genLabel__vmgen_416(c);
7253 	T1_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7254 	oldLen = T1_;
7255 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7256 	T2_ = (*(*c).prc).blocks->Sup.len++;
7257 	asgnRef((void**) (&(*(*c).prc).blocks->data[T2_].label), TM__24XApAWKNvaMkcyklm8bNA_93.label);
7258 	genericSeqAssign((&(*(*c).prc).blocks->data[T2_].fixups), TM__24XApAWKNvaMkcyklm8bNA_93.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7259 	{
7260 		NIM_BOOL T5_;
7261 		T5_ = (NIM_BOOL)0;
7262 		T5_ = isTrue__vmgen_746((*n)._kind_6.sons->data[((NI) 0)]);
7263 		if (!T5_) goto LA6_;
7264 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7265 		jmpBack__vmgen_422(c, n, lab1);
7266 	}
7267 	goto LA3_;
7268 	LA6_: ;
7269 	{
7270 		NIM_BOOL T9_;
7271 		NI tmp;
7272 		NI lab2;
7273 		T9_ = (NIM_BOOL)0;
7274 		T9_ = isNotOpr__vmgen_729((*n)._kind_6.sons->data[((NI) 0)]);
7275 		if (!T9_) goto LA10_;
7276 		tmp = genx__vmgen_712(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], 0);
7277 		lab2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
7278 		freeTemp__vmgen_550(c, tmp);
7279 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7280 		jmpBack__vmgen_422(c, n, lab1);
7281 		patch__vmgen_434(c, lab2);
7282 	}
7283 	goto LA3_;
7284 	LA10_: ;
7285 	{
7286 		NI tmp_2;
7287 		NI lab2_2;
7288 		tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7289 		lab2_2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp_2);
7290 		freeTemp__vmgen_550(c, tmp_2);
7291 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7292 		jmpBack__vmgen_422(c, n, lab1);
7293 		patch__vmgen_434(c, lab2_2);
7294 	}
7295 	LA3_: ;
7296 	popBlock__vmgen_639(c, oldLen);
7297 }
N_NIMCALL(void,genBlock__vmgen_799)7298 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7299 	NI oldRegisterCount;
7300 	NI T1_;
7301 	NI oldLen;
7302 	NI T2_;
7303 	tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ T3_;
7304 	NI T4_;
7305 	T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7306 	oldRegisterCount = T1_;
7307 	T2_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7308 	oldLen = T2_;
7309 	nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7310 	nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7311 	T3_.label = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7312 	T3_.fixups = NIM_NIL;
7313 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7314 	T4_ = (*(*c).prc).blocks->Sup.len++;
7315 	asgnRef((void**) (&(*(*c).prc).blocks->data[T4_].label), T3_.label);
7316 	genericSeqAssign((&(*(*c).prc).blocks->data[T4_].fixups), T3_.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7317 	gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
7318 	popBlock__vmgen_639(c, oldLen);
7319 	{
7320 		NI i;
7321 		NI colontmp_;
7322 		NI T6_;
7323 		NI i_2;
7324 		i = (NI)0;
7325 		colontmp_ = (NI)0;
7326 		T6_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7327 		colontmp_ = T6_;
7328 		i_2 = oldRegisterCount;
7329 		{
7330 			while (1) {
7331 				if (!(i_2 < colontmp_)) goto LA8;
7332 				i = i_2;
7333 				{
7334 					NIM_BOOL colontmp__2;
7335 					tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
7336 					if (!!((i == ((NI) ((*dest)))))) goto LA11_;
7337 					colontmp__2 = NIM_FALSE;
7338 					colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 0);
7339 					(*(*c).prc).regInfo->data[i].Field0 = colontmp__2;
7340 					(*(*c).prc).regInfo->data[i].Field1 = colontmp__3;
7341 				}
7342 				LA11_: ;
7343 				i_2 += ((NI) 1);
7344 			} LA8: ;
7345 		}
7346 	}
7347 	clearDest__vmgen_718(c, n, dest);
7348 }
N_NIMCALL(void,genReturn__vmgen_1190)7349 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7350 	{
7351 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
7352 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7353 	}
7354 	LA3_: ;
7355 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
7356 }
N_NIMCALL(void,genRaise__vmgen_1185)7357 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7358 	NI dest;
7359 	dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7360 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 156), dest, ((NI) 0), ((NI) 0));
7361 	freeTemp__vmgen_550(c, dest);
7362 }
N_NIMCALL(void,genBreak__vmgen_831)7363 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7364 	NI lab1;
7365 {	lab1 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7366 	{
7367 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
7368 		{
7369 			NI i;
7370 			NI colontmp_;
7371 			NI T6_;
7372 			NI res;
7373 			i = (NI)0;
7374 			colontmp_ = (NI)0;
7375 			T6_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7376 			colontmp_ = (NI)(T6_ - ((NI) 1));
7377 			res = colontmp_;
7378 			{
7379 				while (1) {
7380 					if (!(((NI) 0) <= res)) goto LA8;
7381 					i = res;
7382 					{
7383 						NI T13_;
7384 						if (!((*(*c).prc).blocks->data[i].label == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym)) goto LA11_;
7385 						asgnRef((void**) (&(*(*c).prc).blocks->data[i].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[i].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7386 						T13_ = (*(*c).prc).blocks->data[i].fixups->Sup.len++;
7387 						(*(*c).prc).blocks->data[i].fixups->data[T13_] = lab1;
7388 						goto BeforeRet_;
7389 					}
7390 					LA11_: ;
7391 					res -= ((NI) 1);
7392 				} LA8: ;
7393 			}
7394 		}
7395 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_96), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_97, NIM_FALSE);
7396 	}
7397 	goto LA1_;
7398 	LA3_: ;
7399 	{
7400 		NI T15_;
7401 		NI T16_;
7402 		T15_ = (((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0)-1);
7403 		asgnRef((void**) (&(*(*c).prc).blocks->data[T15_].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[T15_].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7404 		T16_ = (*(*c).prc).blocks->data[T15_].fixups->Sup.len++;
7405 		(*(*c).prc).blocks->data[T15_].fixups->data[T16_] = lab1;
7406 	}
7407 	LA1_: ;
7408 	}BeforeRet_: ;
7409 }
N_NIMCALL(void,genTry__vmgen_1110)7410 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7411 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
7412 	NI ehPos;
7413 	NI jumpToFinally;
7414 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
7415 	{
7416 		NIM_BOOL T3_;
7417 		NIM_BOOL T5_;
7418 		NI T8_;
7419 		T3_ = (NIM_BOOL)0;
7420 		T3_ = (((NI) ((*dest))) < ((NI) 0));
7421 		if (!(T3_)) goto LA4_;
7422 		T5_ = (NIM_BOOL)0;
7423 		T5_ = isEmptyType__ast_4779((*n).typ);
7424 		T3_ = !(T5_);
7425 		LA4_: ;
7426 		if (!T3_) goto LA6_;
7427 		T8_ = (NI)0;
7428 		T8_ = getTemp__vmgen_541(c, (*n).typ);
7429 		(*dest) = ((NI) (T8_));
7430 	}
7431 	LA6_: ;
7432 	endings = NIM_NIL;
7433 	ehPos = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166), ((NI) 0));
7434 	gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
7435 	clearDest__vmgen_718(c, n, dest);
7436 	jumpToFinally = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7437 	patch__vmgen_434(c, ehPos);
7438 	{
7439 		NI i;
7440 		NI colontmp_;
7441 		NI i_2;
7442 		i = (NI)0;
7443 		colontmp_ = (NI)0;
7444 		colontmp_ = len__ast_3198(n);
7445 		i_2 = ((NI) 1);
7446 		{
7447 			while (1) {
7448 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7449 				if (!(i_2 < colontmp_)) goto LA11;
7450 				i = i_2;
7451 				it = (*n)._kind_6.sons->data[i];
7452 				{
7453 					NI endExcept;
7454 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
7455 					if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA14_;
7456 					endExcept = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0));
7457 					{
7458 						NI j;
7459 						NI colontmp__2;
7460 						NI T17_;
7461 						NI i_3;
7462 						j = (NI)0;
7463 						colontmp__2 = (NI)0;
7464 						T17_ = (NI)0;
7465 						T17_ = len__ast_3198(it);
7466 						colontmp__2 = (NI)(T17_ - ((NI) 1));
7467 						i_3 = ((NI) 0);
7468 						{
7469 							while (1) {
7470 								tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
7471 								NI T20_;
7472 								if (!(i_3 < colontmp__2)) goto LA19;
7473 								j = i_3;
7474 								typ = skipTypes__ast_3735((*(*it)._kind_6.sons->data[j]).typ, TM__24XApAWKNvaMkcyklm8bNA_98);
7475 								T20_ = (NI)0;
7476 								T20_ = genType__vmgen_1088(c, typ);
7477 								gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), T20_);
7478 								i_3 += ((NI) 1);
7479 							} LA19: ;
7480 						}
7481 					}
7482 					{
7483 						NI T23_;
7484 						T23_ = (NI)0;
7485 						T23_ = len__ast_3198(it);
7486 						if (!(T23_ == ((NI) 1))) goto LA24_;
7487 						gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), ((NI) 0));
7488 					}
7489 					LA24_: ;
7490 					T26_ = NIM_NIL;
7491 					T26_ = lastSon__ast_4832(it);
7492 					gen__vmgen_687(c, T26_, dest, 0);
7493 					clearDest__vmgen_718(c, n, dest);
7494 					{
7495 						NI T29_;
7496 						NI T32_;
7497 						NI T33_;
7498 						T29_ = (NI)0;
7499 						T29_ = len__ast_3198(n);
7500 						if (!(i < T29_)) goto LA30_;
7501 						T32_ = (NI)0;
7502 						T32_ = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7503 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7504 						T33_ = endings->Sup.len++;
7505 						endings->data[T33_] = T32_;
7506 					}
7507 					LA30_: ;
7508 					patch__vmgen_434(c, endExcept);
7509 				}
7510 				LA14_: ;
7511 				i_2 += ((NI) 1);
7512 			} LA11: ;
7513 		}
7514 	}
7515 	fin = lastSon__ast_4832(n);
7516 	patch__vmgen_434(c, jumpToFinally);
7517 	gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 168), ((NI) 0), ((NI) 0));
7518 	{
7519 		NI* endPos;
7520 		NI i_4;
7521 		NI L;
7522 		NI T35_;
7523 		endPos = (NI*)0;
7524 		i_4 = ((NI) 0);
7525 		T35_ = (endings ? endings->Sup.len : 0);
7526 		L = T35_;
7527 		{
7528 			while (1) {
7529 				if (!(i_4 < L)) goto LA37;
7530 				endPos = (&endings->data[i_4]);
7531 				patch__vmgen_434(c, (*endPos));
7532 				i_4 += ((NI) 1);
7533 			} LA37: ;
7534 		}
7535 	}
7536 	{
7537 		if (!((*fin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA40_;
7538 		gen__vmgen_707(c, (*fin)._kind_6.sons->data[((NI) 0)], 0);
7539 		clearDest__vmgen_718(c, n, dest);
7540 	}
7541 	LA40_: ;
7542 	gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 169), ((NI) 0), ((NI) 0));
7543 }
N_INLINE(NI,safeLen__ast_3191)7544 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7545 	NI result;
7546 	result = (NI)0;
7547 	{
7548 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
7549 		result = ((NI) 0);
7550 	}
7551 	goto LA1_;
7552 	LA3_: ;
7553 	{
7554 		result = len__ast_3198(n);
7555 	}
7556 	LA1_: ;
7557 	return result;
7558 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getOwner__vmgen_2251)7559 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7560 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
7561 	result = NIM_NIL;
7562 	result = (*(*c).prc).sym;
7563 	{
7564 		if (!(result == 0)) goto LA3_;
7565 		result = (*c).module;
7566 	}
7567 	LA3_: ;
7568 	return result;
7569 }
N_NIMCALL(void,genVarSection__vmgen_2831)7570 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7571 	{
7572 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
7573 		a = NIM_NIL;
7574 		{
7575 			NI i;
7576 			NI colontmp_;
7577 			NI i_2;
7578 			i = (NI)0;
7579 			colontmp_ = (NI)0;
7580 			colontmp_ = safeLen__ast_3191(n);
7581 			i_2 = ((NI) 0);
7582 			{
7583 				while (1) {
7584 					if (!(i_2 < colontmp_)) goto LA4;
7585 					i = i_2;
7586 					a = (*n)._kind_6.sons->data[i];
7587 					{
7588 						{
7589 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8_;
7590 							goto LA5;
7591 						}
7592 						LA8_: ;
7593 						{
7594 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T28_;
7595 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
7596 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA12_;
7597 							{
7598 								NI i_3;
7599 								NI colontmp__2;
7600 								NI T15_;
7601 								NI i_4;
7602 								i_3 = (NI)0;
7603 								colontmp__2 = (NI)0;
7604 								T15_ = (NI)0;
7605 								T15_ = len__ast_3198(a);
7606 								colontmp__2 = (NI)(T15_ - ((NI) 2));
7607 								i_4 = ((NI) 0);
7608 								{
7609 									while (1) {
7610 										if (!(i_4 < colontmp__2)) goto LA17;
7611 										i_3 = i_4;
7612 										{
7613 											if (!((*(*a)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA20_;
7614 											{
7615 												NIM_BOOL T24_;
7616 												T24_ = (NIM_BOOL)0;
7617 												T24_ = (((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7618 												if (!(T24_)) goto LA25_;
7619 												T24_ = !(((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7620 												LA25_: ;
7621 												if (!!(T24_)) goto LA26_;
7622 												setSlot__vmgen_2224(c, (*(*a)._kind_6.sons->data[i_3])._kind_4.sym);
7623 											}
7624 											LA26_: ;
7625 											checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[i_3]);
7626 										}
7627 										LA20_: ;
7628 										i_4 += ((NI) 1);
7629 									} LA17: ;
7630 								}
7631 							}
7632 							T28_ = NIM_NIL;
7633 							T28_ = getOwner__vmgen_2251(c);
7634 							T29_ = NIM_NIL;
7635 							T29_ = lowerTupleUnpacking__lowerings_116((*c).graph, a, (*c).Sup.idgen, T28_);
7636 							gen__vmgen_707(c, T29_, 0);
7637 						}
7638 						goto LA10_;
7639 						LA12_: ;
7640 						{
7641 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7642 							if (!((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA31_;
7643 							s = (*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7644 							checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[((NI) 0)]);
7645 							{
7646 								NIM_BOOL T35_;
7647 								T35_ = (NIM_BOOL)0;
7648 								T35_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7649 								if (!(T35_)) goto LA36_;
7650 								T35_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7651 								LA36_: ;
7652 								if (!T35_) goto LA37_;
7653 								{
7654 									if (!((*s).position == ((NI) 0))) goto LA41_;
7655 									{
7656 										NIM_BOOL T45_;
7657 										T45_ = (NIM_BOOL)0;
7658 										T45_ = importcCond__vmgen_2412(c, s);
7659 										if (!T45_) goto LA46_;
7660 										importcSym__vmgen_2428(c, (*a).info, s);
7661 									}
7662 									goto LA43_;
7663 									LA46_: ;
7664 									{
7665 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sa;
7666 										sa = getNullValue__vmgen_2432((*s).typ, (*a).info, (*c).config);
7667 										add__ast_4797((*c).globals, sa);
7668 										(*s).position = len__ast_3198((*c).globals);
7669 									}
7670 									LA43_: ;
7671 								}
7672 								LA41_: ;
7673 								{
7674 									NI tmp;
7675 									NI val;
7676 									if (!!(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA51_;
7677 									tmp = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 2);
7678 									val = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 2)], 0);
7679 									genAdditionalCopy__vmgen_2307(c, (*a)._kind_6.sons->data[((NI) 2)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp, ((NI) 0), val);
7680 									freeTemp__vmgen_550(c, val);
7681 									freeTemp__vmgen_550(c, tmp);
7682 								}
7683 								LA51_: ;
7684 							}
7685 							goto LA33_;
7686 							LA37_: ;
7687 							{
7688 								setSlot__vmgen_2224(c, s);
7689 								{
7690 									tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T58_;
7691 									NI T59_;
7692 									if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA56_;
7693 									T58_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7694 									T58_ = ldNullOpcode__vmgen_1836((*s).typ);
7695 									T59_ = (NI)0;
7696 									T59_ = genType__vmgen_1088(c, (*s).typ);
7697 									gABx__vmgen_375(c, a, T58_, ((NI) ((*s).position)), T59_);
7698 								}
7699 								goto LA54_;
7700 								LA56_: ;
7701 								{
7702 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
7703 									{
7704 										NIM_BOOL T63_;
7705 										tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T66_;
7706 										NI T67_;
7707 										T63_ = (NIM_BOOL)0;
7708 										T63_ = fitsRegister__vmgen_1814((*s).typ);
7709 										if (!!(T63_)) goto LA64_;
7710 										T66_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7711 										T66_ = ldNullOpcode__vmgen_1836((*s).typ);
7712 										T67_ = (NI)0;
7713 										T67_ = genType__vmgen_1088(c, (*s).typ);
7714 										gABx__vmgen_375(c, a, T66_, ((NI) ((*s).position)), T67_);
7715 									}
7716 									LA64_: ;
7717 									le = (*a)._kind_6.sons->data[((NI) 0)];
7718 									{
7719 										NIM_BOOL T70_;
7720 										NIM_BOOL T71_;
7721 										NI cc;
7722 										tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T75_;
7723 										T70_ = (NIM_BOOL)0;
7724 										T71_ = (NIM_BOOL)0;
7725 										T71_ = fitsRegister__vmgen_1814((*le).typ);
7726 										T70_ = !(T71_);
7727 										if (!(T70_)) goto LA72_;
7728 										T70_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
7729 										LA72_: ;
7730 										if (!T70_) goto LA73_;
7731 										cc = getTemp__vmgen_541(c, (*le).typ);
7732 										gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], cc, 0);
7733 										T75_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7734 										T75_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
7735 										gABC__vmgen_312(c, le, T75_, ((NI) ((*s).position)), cc, ((NI) 0));
7736 										freeTemp__vmgen_550(c, cc);
7737 									}
7738 									goto LA68_;
7739 									LA73_: ;
7740 									{
7741 										gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], ((NI) ((*s).position)), 0);
7742 									}
7743 									LA68_: ;
7744 								}
7745 								LA54_: ;
7746 							}
7747 							LA33_: ;
7748 						}
7749 						goto LA10_;
7750 						LA31_: ;
7751 						{
7752 							{
7753 								NI tmp_2;
7754 								tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T82_;
7755 								NI T83_;
7756 								if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA80_;
7757 								tmp_2 = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 0);
7758 								T82_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7759 								T82_ = ldNullOpcode__vmgen_1836((*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7760 								T83_ = (NI)0;
7761 								T83_ = genType__vmgen_1088(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7762 								gABx__vmgen_375(c, a, T82_, tmp_2, T83_);
7763 								freeTemp__vmgen_550(c, tmp_2);
7764 							}
7765 							goto LA78_;
7766 							LA80_: ;
7767 							{
7768 								genAsgn__vmgen_2329(c, (*a)._kind_6.sons->data[((NI) 0)], (*a)._kind_6.sons->data[((NI) 2)], NIM_TRUE);
7769 							}
7770 							LA78_: ;
7771 						}
7772 						LA10_: ;
7773 					} LA5: ;
7774 					i_2 += ((NI) 1);
7775 				} LA4: ;
7776 			}
7777 		}
7778 	}
7779 }
N_NIMCALL(void,genArrayConstr__vmgen_2947)7780 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7781 	NI T6_;
7782 	tyObject_TType__facALICuu8zUj0hjvbTLFg* intType;
7783 	tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
7784 	{
7785 		NI T5_;
7786 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7787 		T5_ = (NI)0;
7788 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7789 		(*dest) = ((NI) (T5_));
7790 	}
7791 	LA3_: ;
7792 	T6_ = (NI)0;
7793 	T6_ = genType__vmgen_1088(c, (*n).typ);
7794 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7795 	intType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
7796 	seqType = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
7797 	{
7798 		NI tmp;
7799 		NI T11_;
7800 		NI T12_;
7801 		if (!((*seqType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA9_;
7802 		tmp = getTemp__vmgen_541(c, intType);
7803 		T11_ = (NI)0;
7804 		T11_ = len__ast_3198(n);
7805 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, T11_);
7806 		T12_ = (NI)0;
7807 		T12_ = genType__vmgen_1088(c, seqType);
7808 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T12_);
7809 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
7810 		freeTemp__vmgen_550(c, tmp);
7811 	}
7812 	LA9_: ;
7813 	{
7814 		NI T15_;
7815 		NI tmp_2;
7816 		NI T18_;
7817 		T15_ = (NI)0;
7818 		T15_ = len__ast_3198(n);
7819 		if (!(((NI) 0) < T15_)) goto LA16_;
7820 		tmp_2 = getTemp__vmgen_541(c, intType);
7821 		T18_ = (NI)0;
7822 		T18_ = genType__vmgen_1088(c, intType);
7823 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173), tmp_2, T18_);
7824 		{
7825 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7826 			x = NIM_NIL;
7827 			{
7828 				NI i;
7829 				NI colontmp_;
7830 				NI i_2;
7831 				i = (NI)0;
7832 				colontmp_ = (NI)0;
7833 				colontmp_ = safeLen__ast_3191(n);
7834 				i_2 = ((NI) 0);
7835 				{
7836 					while (1) {
7837 						NI a;
7838 						if (!(i_2 < colontmp_)) goto LA22;
7839 						i = i_2;
7840 						x = (*n)._kind_6.sons->data[i];
7841 						a = genx__vmgen_712(c, x, 0);
7842 						preventFalseAlias__vmgen_2315(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), ((NI) ((*dest))), tmp_2, a);
7843 						gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 30), tmp_2, tmp_2, IL64(1));
7844 						freeTemp__vmgen_550(c, a);
7845 						i_2 += ((NI) 1);
7846 					} LA22: ;
7847 				}
7848 			}
7849 		}
7850 		freeTemp__vmgen_550(c, tmp_2);
7851 	}
7852 	LA16_: ;
7853 }
N_NIMCALL(void,genSetConstr__vmgen_2971)7854 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7855 	NI T6_;
7856 	{
7857 		NI T5_;
7858 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7859 		T5_ = (NI)0;
7860 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7861 		(*dest) = ((NI) (T5_));
7862 	}
7863 	LA3_: ;
7864 	T6_ = (NI)0;
7865 	T6_ = genType__vmgen_1088(c, (*n).typ);
7866 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7867 	{
7868 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7869 		x = NIM_NIL;
7870 		{
7871 			NI i;
7872 			NI colontmp_;
7873 			NI i_2;
7874 			i = (NI)0;
7875 			colontmp_ = (NI)0;
7876 			colontmp_ = safeLen__ast_3191(n);
7877 			i_2 = ((NI) 0);
7878 			{
7879 				while (1) {
7880 					if (!(i_2 < colontmp_)) goto LA10;
7881 					i = i_2;
7882 					x = (*n)._kind_6.sons->data[i];
7883 					{
7884 						NI a;
7885 						NI b;
7886 						if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA13_;
7887 						a = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 0)], 0);
7888 						b = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 1)], 0);
7889 						gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 37), ((NI) ((*dest))), a, b);
7890 						freeTemp__vmgen_550(c, b);
7891 						freeTemp__vmgen_550(c, a);
7892 					}
7893 					goto LA11_;
7894 					LA13_: ;
7895 					{
7896 						NI a_2;
7897 						a_2 = genx__vmgen_712(c, x, 0);
7898 						gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36), ((NI) ((*dest))), a_2, ((NI) 0));
7899 						freeTemp__vmgen_550(c, a_2);
7900 					}
7901 					LA11_: ;
7902 					i_2 += ((NI) 1);
7903 				} LA10: ;
7904 			}
7905 		}
7906 	}
7907 }
N_NIMCALL(void,genObjConstr__vmgen_2985)7908 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7909 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7910 	{
7911 		NI T5_;
7912 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7913 		T5_ = (NI)0;
7914 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7915 		(*dest) = ((NI) (T5_));
7916 	}
7917 	LA3_: ;
7918 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
7919 	{
7920 		NI T10_;
7921 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA8_;
7922 		T10_ = (NI)0;
7923 		T10_ = genType__vmgen_1088(c, (*t).sons->data[((NI) 0)]);
7924 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), ((NI) ((*dest))), T10_);
7925 	}
7926 	goto LA6_;
7927 	LA8_: ;
7928 	{
7929 		NI T12_;
7930 		T12_ = (NI)0;
7931 		T12_ = genType__vmgen_1088(c, (*n).typ);
7932 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T12_);
7933 	}
7934 	LA6_: ;
7935 	{
7936 		NI i;
7937 		NI colontmp_;
7938 		NI i_2;
7939 		i = (NI)0;
7940 		colontmp_ = (NI)0;
7941 		colontmp_ = len__ast_3198(n);
7942 		i_2 = ((NI) 1);
7943 		{
7944 			while (1) {
7945 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7946 				if (!(i_2 < colontmp_)) goto LA15;
7947 				i = i_2;
7948 				it = (*n)._kind_6.sons->data[i];
7949 				{
7950 					NIM_BOOL T18_;
7951 					NI idx;
7952 					NI tmp;
7953 					T18_ = (NIM_BOOL)0;
7954 					T18_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
7955 					if (!(T18_)) goto LA19_;
7956 					T18_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7957 					LA19_: ;
7958 					if (!T18_) goto LA20_;
7959 					idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
7960 					tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
7961 					preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
7962 					freeTemp__vmgen_550(c, tmp);
7963 				}
7964 				goto LA16_;
7965 				LA20_: ;
7966 				{
7967 					liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_99), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_100, NIM_FALSE);
7968 				}
7969 				LA16_: ;
7970 				i_2 += ((NI) 1);
7971 			} LA15: ;
7972 		}
7973 	}
7974 }
N_NIMCALL(void,genTupleConstr__vmgen_3027)7975 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7976 	{
7977 		NI T5_;
7978 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7979 		T5_ = (NI)0;
7980 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7981 		(*dest) = ((NI) (T5_));
7982 	}
7983 	LA3_: ;
7984 	{
7985 		NI T10_;
7986 		if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA8_;
7987 		T10_ = (NI)0;
7988 		T10_ = genType__vmgen_1088(c, (*n).typ);
7989 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T10_);
7990 		{
7991 			NI i;
7992 			NI colontmp_;
7993 			NI i_2;
7994 			i = (NI)0;
7995 			colontmp_ = (NI)0;
7996 			colontmp_ = len__ast_3198(n);
7997 			i_2 = ((NI) 0);
7998 			{
7999 				while (1) {
8000 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
8001 					if (!(i_2 < colontmp_)) goto LA13;
8002 					i = i_2;
8003 					it = (*n)._kind_6.sons->data[i];
8004 					{
8005 						NI idx;
8006 						NI tmp;
8007 						if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA16_;
8008 						idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
8009 						tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
8010 						preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
8011 						freeTemp__vmgen_550(c, tmp);
8012 					}
8013 					goto LA14_;
8014 					LA16_: ;
8015 					{
8016 						NI tmp_2;
8017 						tmp_2 = genx__vmgen_712(c, it, 0);
8018 						preventFalseAlias__vmgen_2315(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), ((NI) (i)), tmp_2);
8019 						freeTemp__vmgen_550(c, tmp_2);
8020 					}
8021 					LA14_: ;
8022 					i_2 += ((NI) 1);
8023 				} LA13: ;
8024 			}
8025 		}
8026 	}
8027 	LA8_: ;
8028 }
N_NIMCALL(void,genCastIntFloat__vmgen_1628)8029 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
8030 	tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag signedIntegers;
8031 	tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag unsignedIntegers;
8032 	tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
8033 	tyObject_TType__facALICuu8zUj0hjvbTLFg* dst;
8034 	NI64 srcSize;
8035 	NI64 dstSize;
8036 	nimZeroMem((void*)signedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
8037 	nimCopyMem((void*)signedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_101, 9);
8038 	nimZeroMem((void*)unsignedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
8039 	nimCopyMem((void*)unsignedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_102, 9);
8040 	src = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
8041 	dst = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
8042 	srcSize = getSize__types_3327((*c).config, src);
8043 	dstSize = getSize__types_3327((*c).config, dst);
8044 	{
8045 		NIM_BOOL T3_;
8046 		NI tmp;
8047 		T3_ = (NIM_BOOL)0;
8048 		T3_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8049 		if (!(T3_)) goto LA4_;
8050 		T3_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8051 		LA4_: ;
8052 		if (!T3_) goto LA5_;
8053 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8054 		{
8055 			NI T11_;
8056 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
8057 			T11_ = (NI)0;
8058 			T11_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8059 			(*dest) = ((NI) (T11_));
8060 		}
8061 		LA9_: ;
8062 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
8063 		{
8064 			if (!!((dstSize == IL64(8)))) goto LA14_;
8065 			{
8066 				if (!((signedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA18_;
8067 				{
8068 					if (!(dstSize <= srcSize)) goto LA22_;
8069 					gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8070 				}
8071 				LA22_: ;
8072 			}
8073 			goto LA16_;
8074 			LA18_: ;
8075 			{
8076 				if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA25_;
8077 				{
8078 					NIM_BOOL T29_;
8079 					T29_ = (NIM_BOOL)0;
8080 					T29_ = ((signedIntegers[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0);
8081 					if (T29_) goto LA30_;
8082 					T29_ = (dstSize < srcSize);
8083 					LA30_: ;
8084 					if (!T29_) goto LA31_;
8085 					gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8086 				}
8087 				LA31_: ;
8088 			}
8089 			goto LA16_;
8090 			LA25_: ;
8091 			LA16_: ;
8092 		}
8093 		LA14_: ;
8094 		freeTemp__vmgen_550(c, tmp);
8095 	}
8096 	goto LA1_;
8097 	LA5_: ;
8098 	{
8099 		NIM_BOOL T34_;
8100 		NIM_BOOL T35_;
8101 		NI tmp_2;
8102 		T34_ = (NIM_BOOL)0;
8103 		T35_ = (NIM_BOOL)0;
8104 		T35_ = (srcSize == dstSize);
8105 		if (!(T35_)) goto LA36_;
8106 		T35_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8107 		LA36_: ;
8108 		T34_ = T35_;
8109 		if (!(T34_)) goto LA37_;
8110 		T34_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8111 		LA37_: ;
8112 		if (!T34_) goto LA38_;
8113 		tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8114 		{
8115 			NI T44_;
8116 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA42_;
8117 			T44_ = (NI)0;
8118 			T44_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8119 			(*dest) = ((NI) (T44_));
8120 		}
8121 		LA42_: ;
8122 		{
8123 			if (!((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA47_;
8124 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 8), ((NI) ((*dest))), tmp_2, ((NI) 0));
8125 		}
8126 		goto LA45_;
8127 		LA47_: ;
8128 		{
8129 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 9), ((NI) ((*dest))), tmp_2, ((NI) 0));
8130 		}
8131 		LA45_: ;
8132 		freeTemp__vmgen_550(c, tmp_2);
8133 	}
8134 	goto LA1_;
8135 	LA38_: ;
8136 	{
8137 		NIM_BOOL T51_;
8138 		NIM_BOOL T52_;
8139 		NI tmp_3;
8140 		T51_ = (NIM_BOOL)0;
8141 		T52_ = (NIM_BOOL)0;
8142 		T52_ = (srcSize == dstSize);
8143 		if (!(T52_)) goto LA53_;
8144 		T52_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8145 		LA53_: ;
8146 		T51_ = T52_;
8147 		if (!(T51_)) goto LA54_;
8148 		T51_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8149 		LA54_: ;
8150 		if (!T51_) goto LA55_;
8151 		tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8152 		{
8153 			NI T61_;
8154 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA59_;
8155 			T61_ = (NI)0;
8156 			T61_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8157 			(*dest) = ((NI) (T61_));
8158 		}
8159 		LA59_: ;
8160 		{
8161 			if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA64_;
8162 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 10), ((NI) ((*dest))), tmp_3, ((NI) 0));
8163 			{
8164 				if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA68_;
8165 				gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) 32), ((NI) 0));
8166 			}
8167 			LA68_: ;
8168 		}
8169 		goto LA62_;
8170 		LA64_: ;
8171 		{
8172 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 11), ((NI) ((*dest))), tmp_3, ((NI) 0));
8173 		}
8174 		LA62_: ;
8175 		freeTemp__vmgen_550(c, tmp_3);
8176 	}
8177 	goto LA1_;
8178 	LA55_: ;
8179 	{
8180 		NIM_BOOL T72_;
8181 		NI tmp_4;
8182 		NI64 imm;
8183 		NI T81_;
8184 		T72_ = (NIM_BOOL)0;
8185 		T72_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
8186 		if (!(T72_)) goto LA73_;
8187 		T72_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8188 		LA73_: ;
8189 		if (!T72_) goto LA74_;
8190 		tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8191 		{
8192 			NI T80_;
8193 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA78_;
8194 			T80_ = (NI)0;
8195 			T80_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8196 			(*dest) = ((NI) (T80_));
8197 		}
8198 		LA78_: ;
8199 		T81_ = (NI)0;
8200 		{
8201 			if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA84_;
8202 			T81_ = ((NI) 1);
8203 		}
8204 		goto LA82_;
8205 		LA84_: ;
8206 		{
8207 			T81_ = ((NI) 2);
8208 		}
8209 		LA82_: ;
8210 		imm = ((NI64) (T81_));
8211 		gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 12), ((NI) ((*dest))), tmp_4, imm);
8212 		freeTemp__vmgen_550(c, tmp_4);
8213 	}
8214 	goto LA1_;
8215 	LA74_: ;
8216 	{
8217 		NIM_BOOL T88_;
8218 		NI tmp_5;
8219 		NI T97_;
8220 		T88_ = (NIM_BOOL)0;
8221 		T88_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8222 		if (!(T88_)) goto LA89_;
8223 		T88_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
8224 		LA89_: ;
8225 		if (!T88_) goto LA90_;
8226 		tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8227 		{
8228 			NI T96_;
8229 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA94_;
8230 			T96_ = (NI)0;
8231 			T96_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8232 			(*dest) = ((NI) (T96_));
8233 		}
8234 		LA94_: ;
8235 		T97_ = (NI)0;
8236 		T97_ = genType__vmgen_1088(c, dst);
8237 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), ((NI) ((*dest))), T97_);
8238 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 13), ((NI) ((*dest))), tmp_5, ((NI) 0));
8239 		freeTemp__vmgen_550(c, tmp_5);
8240 	}
8241 	goto LA1_;
8242 	LA90_: ;
8243 	{
8244 		NIM_BOOL T99_;
8245 		T99_ = (NIM_BOOL)0;
8246 		T99_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
8247 		if (!(T99_)) goto LA100_;
8248 		T99_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
8249 		LA100_: ;
8250 		if (!T99_) goto LA101_;
8251 		{
8252 			NI T107_;
8253 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA105_;
8254 			T107_ = (NI)0;
8255 			T107_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8256 			(*dest) = ((NI) (T107_));
8257 		}
8258 		LA105_: ;
8259 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
8260 	}
8261 	goto LA1_;
8262 	LA101_: ;
8263 	{
8264 		NimStringDesc* T109_;
8265 		T109_ = NIM_NIL;
8266 		T109_ = rawNewString((reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + (reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 36);
8267 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_104));
8268 appendString(T109_, reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8269 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_105));
8270 appendString(T109_, reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8271 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T109_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_106, NIM_FALSE);
8272 	}
8273 	LA1_: ;
8274 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3519)8275 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8276 	NIM_BOOL result;
8277 	result = (NIM_BOOL)0;
8278 	result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
8279 	return result;
8280 }
N_NIMCALL(void,gen__vmgen_687)8281 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8282 	switch ((*n).kind) {
8283 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8284 	{
8285 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
8286 		s = (*n)._kind_4.sym;
8287 		checkCanEval__vmgen_2268(c, n);
8288 		switch ((*s).kind) {
8289 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
8290 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
8291 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5):
8292 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
8293 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
8294 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
8295 		{
8296 			genRdVar__vmgen_2453(c, n, dest, flags);
8297 		}
8298 		break;
8299 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
8300 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
8301 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
8302 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
8303 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
8304 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
8305 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
8306 		{
8307 			{
8308 				NIM_BOOL T6_;
8309 				T6_ = (NIM_BOOL)0;
8310 				T6_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
8311 				if (!(T6_)) goto LA7_;
8312 				T6_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
8313 				LA7_: ;
8314 				if (!T6_) goto LA8_;
8315 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_25), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_26, NIM_FALSE);
8316 			}
8317 			LA8_: ;
8318 			{
8319 				NIM_BOOL T12_;
8320 				T12_ = (NIM_BOOL)0;
8321 				T12_ = procIsCallback__vmgen_3104(c, s);
8322 				if (!T12_) goto LA13_;
8323 			}
8324 			goto LA10_;
8325 			LA13_: ;
8326 			{
8327 				NIM_BOOL T16_;
8328 				T16_ = (NIM_BOOL)0;
8329 				T16_ = importcCond__vmgen_2412(c, s);
8330 				if (!T16_) goto LA17_;
8331 				importcSym__vmgen_2428(c, (*n).info, s);
8332 			}
8333 			goto LA10_;
8334 			LA17_: ;
8335 			LA10_: ;
8336 			genLit__vmgen_1199(c, n, dest);
8337 		}
8338 		break;
8339 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
8340 		{
8341 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constVal;
8342 			{
8343 				if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA22_;
8344 				constVal = (*s).ast;
8345 			}
8346 			goto LA20_;
8347 			LA22_: ;
8348 			{
8349 				constVal = (*(*s).typ).n;
8350 			}
8351 			LA20_: ;
8352 			gen__vmgen_687(c, constVal, dest, 0);
8353 		}
8354 		break;
8355 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
8356 		{
8357 			{
8358 				NI T30_;
8359 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA28_;
8360 				T30_ = (NI)0;
8361 				T30_ = getTemp__vmgen_541(c, (*n).typ);
8362 				(*dest) = ((NI) (T30_));
8363 			}
8364 			LA28_: ;
8365 			{
8366 				NIM_BOOL T33_;
8367 				T33_ = (NIM_BOOL)0;
8368 				T33_ = (((NI) -32768) <= (*s).position);
8369 				if (!(T33_)) goto LA34_;
8370 				T33_ = ((*s).position <= ((NI) 32767));
8371 				LA34_: ;
8372 				if (!T33_) goto LA35_;
8373 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), (*s).position);
8374 			}
8375 			goto LA31_;
8376 			LA35_: ;
8377 			{
8378 				NI lit;
8379 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
8380 				T38_ = NIM_NIL;
8381 				T38_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*s).position)));
8382 				lit = genLiteral__vmgen_1013(c, T38_);
8383 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
8384 			}
8385 			LA31_: ;
8386 		}
8387 		break;
8388 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
8389 		{
8390 			genTypeLit__vmgen_2407(c, (*s).typ, dest);
8391 		}
8392 		break;
8393 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
8394 		{
8395 			{
8396 				NIM_BOOL T43_;
8397 				T43_ = (NIM_BOOL)0;
8398 				T43_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8399 				if (!(T43_)) goto LA44_;
8400 				T43_ = ((*(*(*c).prc).sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
8401 				LA44_: ;
8402 				if (!T43_) goto LA45_;
8403 				genRdVar__vmgen_2453(c, n, dest, flags);
8404 			}
8405 			goto LA41_;
8406 			LA45_: ;
8407 			{
8408 				NimStringDesc* T48_;
8409 				T48_ = NIM_NIL;
8410 				T48_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8411 appendString(T48_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8412 appendString(T48_, (*(*s).name).s);
8413 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T48_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_31, NIM_FALSE);
8414 			}
8415 			LA41_: ;
8416 		}
8417 		break;
8418 		default:
8419 		{
8420 			NimStringDesc* T50_;
8421 			T50_ = NIM_NIL;
8422 			T50_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8423 appendString(T50_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8424 appendString(T50_, (*(*s).name).s);
8425 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_32, NIM_FALSE);
8426 		}
8427 		break;
8428 		}
8429 	}
8430 	break;
8431 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
8432 	{
8433 		{
8434 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
8435 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA54_;
8436 			s_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
8437 			{
8438 				if (!!(((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA58_;
8439 				genMagic__vmgen_1858(c, n, dest, (*s_2).magic);
8440 			}
8441 			goto LA56_;
8442 			LA58_: ;
8443 			{
8444 				NimStringDesc* T63_;
8445 				if (!((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA61_;
8446 				T63_ = NIM_NIL;
8447 				T63_ = rawNewString(((*(*s_2).name).s ? (*(*s_2).name).s->Sup.len : 0) + 35);
8448 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_84));
8449 appendString(T63_, (*(*s_2).name).s);
8450 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_85));
8451 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T63_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_86, NIM_FALSE);
8452 			}
8453 			goto LA56_;
8454 			LA61_: ;
8455 			{
8456 				NIM_BOOL T65_;
8457 				T65_ = (NIM_BOOL)0;
8458 				T65_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_87));
8459 				if (!T65_) goto LA66_;
8460 				genMarshalLoad__vmgen_2071(c, n, dest);
8461 			}
8462 			goto LA56_;
8463 			LA66_: ;
8464 			{
8465 				NIM_BOOL T69_;
8466 				T69_ = (NIM_BOOL)0;
8467 				T69_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_88));
8468 				if (!T69_) goto LA70_;
8469 				genMarshalStore__vmgen_2077(c, n, dest);
8470 			}
8471 			goto LA56_;
8472 			LA70_: ;
8473 			{
8474 				genCall__vmgen_1204(c, n, dest);
8475 				clearDest__vmgen_718(c, n, dest);
8476 			}
8477 			LA56_: ;
8478 		}
8479 		goto LA52_;
8480 		LA54_: ;
8481 		{
8482 			genCall__vmgen_1204(c, n, dest);
8483 			clearDest__vmgen_718(c, n, dest);
8484 		}
8485 		LA52_: ;
8486 	}
8487 	break;
8488 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
8489 	{
8490 		{
8491 			NIM_BOOL T77_;
8492 			T77_ = (NIM_BOOL)0;
8493 			T77_ = isInt16Lit__vmgen_1573(n);
8494 			if (!T77_) goto LA78_;
8495 			{
8496 				NI T84_;
8497 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA82_;
8498 				T84_ = (NI)0;
8499 				T84_ = getTemp__vmgen_541(c, (*n).typ);
8500 				(*dest) = ((NI) (T84_));
8501 			}
8502 			LA82_: ;
8503 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), ((NI) ((*n)._kind_1.intVal)));
8504 		}
8505 		goto LA75_;
8506 		LA78_: ;
8507 		{
8508 			genLit__vmgen_1199(c, n, dest);
8509 		}
8510 		LA75_: ;
8511 	}
8512 	break;
8513 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
8514 	{
8515 		genLit__vmgen_1199(c, n, dest);
8516 	}
8517 	break;
8518 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
8519 	{
8520 		{
8521 			NIM_BOOL T90_;
8522 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T93_;
8523 			T90_ = (NIM_BOOL)0;
8524 			T90_ = isEmptyType__ast_4779((*n).typ);
8525 			if (!!(T90_)) goto LA91_;
8526 			T93_ = NIM_NIL;
8527 			T93_ = getNullValue__vmgen_2432((*n).typ, (*n).info, (*c).config);
8528 			genLit__vmgen_1199(c, T93_, dest);
8529 		}
8530 		goto LA88_;
8531 		LA91_: ;
8532 		{
8533 			unused__vmgen_1026(c, n, (*dest));
8534 		}
8535 		LA88_: ;
8536 	}
8537 	break;
8538 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
8539 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
8540 	{
8541 		unused__vmgen_1026(c, n, (*dest));
8542 		genAsgn__vmgen_2329(c, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73)));
8543 	}
8544 	break;
8545 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
8546 	{
8547 		genObjAccess__vmgen_2569(c, n, dest, flags);
8548 	}
8549 	break;
8550 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
8551 	{
8552 		genCheckedObjAccess__vmgen_2646(c, n, dest, flags);
8553 	}
8554 	break;
8555 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
8556 	{
8557 		genArrAccess__vmgen_2682(c, n, dest, flags);
8558 	}
8559 	break;
8560 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
8561 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
8562 	{
8563 		genDeref__vmgen_2181(c, n, dest, flags);
8564 	}
8565 	break;
8566 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
8567 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
8568 	{
8569 		genAddr__vmgen_2138(c, n, dest, flags);
8570 	}
8571 	break;
8572 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
8573 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
8574 	{
8575 		genIf__vmgen_883(c, n, dest);
8576 	}
8577 	break;
8578 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
8579 	{
8580 		gen__vmgen_687(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], dest, 0);
8581 	}
8582 	break;
8583 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
8584 	{
8585 		genCase__vmgen_1030(c, n, dest);
8586 	}
8587 	break;
8588 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
8589 	{
8590 		unused__vmgen_1026(c, n, (*dest));
8591 		genWhile__vmgen_761(c, n);
8592 	}
8593 	break;
8594 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
8595 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
8596 	{
8597 		genBlock__vmgen_799(c, n, dest);
8598 	}
8599 	break;
8600 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
8601 	{
8602 		genReturn__vmgen_1190(c, n);
8603 	}
8604 	break;
8605 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
8606 	{
8607 		genRaise__vmgen_1185(c, n);
8608 	}
8609 	break;
8610 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
8611 	{
8612 		genBreak__vmgen_831(c, n);
8613 	}
8614 	break;
8615 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
8616 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
8617 	{
8618 		genTry__vmgen_1110(c, n, dest);
8619 	}
8620 	break;
8621 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
8622 	{
8623 		{
8624 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
8625 			x = NIM_NIL;
8626 			{
8627 				NI i;
8628 				NI colontmp_;
8629 				NI i_2;
8630 				i = (NI)0;
8631 				colontmp_ = (NI)0;
8632 				colontmp_ = safeLen__ast_3191(n);
8633 				i_2 = ((NI) 0);
8634 				{
8635 					while (1) {
8636 						if (!(i_2 < colontmp_)) goto LA114;
8637 						i = i_2;
8638 						x = (*n)._kind_6.sons->data[i];
8639 						gen__vmgen_707(c, x, 0);
8640 						i_2 += ((NI) 1);
8641 					} LA114: ;
8642 				}
8643 			}
8644 		}
8645 	}
8646 	break;
8647 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
8648 	{
8649 		NI T120_;
8650 		{
8651 			NI i_3;
8652 			NI colontmp__2;
8653 			NI T117_;
8654 			NI i_4;
8655 			i_3 = (NI)0;
8656 			colontmp__2 = (NI)0;
8657 			T117_ = (NI)0;
8658 			T117_ = len__ast_3198(n);
8659 			colontmp__2 = (NI)(T117_ - ((NI) 1));
8660 			i_4 = ((NI) 0);
8661 			{
8662 				while (1) {
8663 					if (!(i_4 < colontmp__2)) goto LA119;
8664 					i_3 = i_4;
8665 					gen__vmgen_707(c, (*n)._kind_6.sons->data[i_3], 0);
8666 					i_4 += ((NI) 1);
8667 				} LA119: ;
8668 			}
8669 		}
8670 		T120_ = (NI)0;
8671 		T120_ = len__ast_3198(n);
8672 		gen__vmgen_687(c, (*n)._kind_6.sons->data[(NI)(T120_ - ((NI) 1))], dest, flags);
8673 	}
8674 	break;
8675 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
8676 	{
8677 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
8678 		T122_ = NIM_NIL;
8679 		T122_ = lastSon__ast_4832(n);
8680 		gen__vmgen_687(c, T122_, dest, flags);
8681 	}
8682 	break;
8683 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
8684 	{
8685 		unused__vmgen_1026(c, n, (*dest));
8686 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8687 	}
8688 	break;
8689 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
8690 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
8691 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
8692 	{
8693 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8694 	}
8695 	break;
8696 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
8697 	{
8698 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8699 	}
8700 	break;
8701 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
8702 	{
8703 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8704 	}
8705 	break;
8706 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
8707 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
8708 	{
8709 		unused__vmgen_1026(c, n, (*dest));
8710 		genVarSection__vmgen_2831(c, n);
8711 	}
8712 	break;
8713 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
8714 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
8715 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
8716 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
8717 	{
8718 		unused__vmgen_1026(c, n, (*dest));
8719 	}
8720 	break;
8721 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
8722 	{
8723 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T130_;
8724 		T130_ = NIM_NIL;
8725 		T130_ = newSymNode__ast_3716((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
8726 		genLit__vmgen_1199(c, T130_, dest);
8727 	}
8728 	break;
8729 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
8730 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
8731 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
8732 	{
8733 		NI tmp0;
8734 		NI tmp1;
8735 		NI tmp2;
8736 		tmp0 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8737 		tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8738 		tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
8739 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 103), tmp0, tmp1, tmp2);
8740 		freeTemp__vmgen_550(c, tmp1);
8741 		freeTemp__vmgen_550(c, tmp2);
8742 		{
8743 			tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
8744 			if (!(((NI) 0) <= ((NI) ((*dest))))) goto LA134_;
8745 			T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
8746 			T136_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
8747 			gABC__vmgen_312(c, n, T136_, ((NI) ((*dest))), tmp0, ((NI) 0));
8748 			freeTemp__vmgen_550(c, tmp0);
8749 		}
8750 		goto LA132_;
8751 		LA134_: ;
8752 		{
8753 			(*dest) = ((NI) (tmp0));
8754 		}
8755 		LA132_: ;
8756 	}
8757 	break;
8758 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
8759 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
8760 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
8761 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
8762 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
8763 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
8764 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
8765 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
8766 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
8767 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
8768 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
8769 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
8770 	{
8771 		unused__vmgen_1026(c, n, (*dest));
8772 	}
8773 	break;
8774 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
8775 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
8776 	{
8777 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
8778 	}
8779 	break;
8780 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
8781 	{
8782 		genArrayConstr__vmgen_2947(c, n, dest);
8783 	}
8784 	break;
8785 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
8786 	{
8787 		genSetConstr__vmgen_2971(c, n, dest);
8788 	}
8789 	break;
8790 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
8791 	{
8792 		genObjConstr__vmgen_2985(c, n, dest);
8793 	}
8794 	break;
8795 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
8796 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
8797 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
8798 	{
8799 		genTupleConstr__vmgen_3027(c, n, dest);
8800 	}
8801 	break;
8802 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
8803 	{
8804 		{
8805 			if (!(((*c).features &((NU8)1<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 0))&7U)))!=0)) goto LA147_;
8806 			genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 94));
8807 		}
8808 		goto LA145_;
8809 		LA147_: ;
8810 		{
8811 			genCastIntFloat__vmgen_1628(c, n, dest);
8812 		}
8813 		LA145_: ;
8814 	}
8815 	break;
8816 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
8817 	{
8818 		genTypeLit__vmgen_2407(c, (*n).typ, dest);
8819 	}
8820 	break;
8821 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
8822 	{
8823 	}
8824 	break;
8825 	default:
8826 	{
8827 		{
8828 			NIM_BOOL T155_;
8829 			T155_ = (NIM_BOOL)0;
8830 			T155_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8831 			if (!(T155_)) goto LA156_;
8832 			T155_ = isCompileTimeOnly__types_3519((*n).typ);
8833 			LA156_: ;
8834 			if (!T155_) goto LA157_;
8835 			genTypeLit__vmgen_2407(c, (*n).typ, dest);
8836 		}
8837 		goto LA153_;
8838 		LA157_: ;
8839 		{
8840 			NimStringDesc* T160_;
8841 			NimStringDesc* T161_;
8842 			T160_ = NIM_NIL;
8843 			T161_ = NIM_NIL;
8844 			T161_ = dollar___renderer_2106(n);
8845 			T160_ = rawNewString((T161_ ? T161_->Sup.len : 0) + 28);
8846 appendString(T160_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_107));
8847 appendString(T160_, T161_);
8848 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T160_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_108, NIM_FALSE);
8849 		}
8850 		LA153_: ;
8851 	}
8852 	break;
8853 	}
8854 }
N_NIMCALL(void,gen__vmgen_707)8855 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8856 	NI tmp;
8857 	tmp = ((NI) -1);
8858 	gen__vmgen_687(c, n, (&tmp), flags);
8859 	{
8860 		if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
8861 		freeTemp__vmgen_550(c, ((NI) (tmp)));
8862 	}
8863 	LA3_: ;
8864 }
N_NIMCALL(void,finalJumpTarget__vmgen_3340)8865 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff) {
8866 	NU64 oldInstr;
8867 	{
8868 		NIM_BOOL T3_;
8869 		NimStringDesc* argX60gensym608_;
8870 		T3_ = (NIM_BOOL)0;
8871 		T3_ = (((NI) -8388607) < diff);
8872 		if (!(T3_)) goto LA4_;
8873 		T3_ = (diff < ((NI) 8388607));
8874 		LA4_: ;
8875 		if (!!(T3_)) goto LA5_;
8876 		argX60gensym608_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_109);
8877 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym608_, TM__24XApAWKNvaMkcyklm8bNA_109);
8878 	}
8879 	LA5_: ;
8880 	oldInstr = (*c).code->data[pc];
8881 	(*c).code->data[pc] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
8882 }
N_NIMCALL(void,optimizeJumps__vmgen_3387)8883 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start) {
8884 	{
8885 		NI i;
8886 		NI colontmp_;
8887 		NI T2_;
8888 		NI i_2;
8889 		i = (NI)0;
8890 		colontmp_ = (NI)0;
8891 		T2_ = ((*c).code ? (*c).code->Sup.len : 0);
8892 		colontmp_ = T2_;
8893 		i_2 = start;
8894 		{
8895 			while (1) {
8896 				tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
8897 				if (!(i_2 < colontmp_)) goto LA4;
8898 				i = i_2;
8899 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(0ULL)) & 255ULL)));
8900 				switch (opc) {
8901 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8902 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8903 				{
8904 					NI reg;
8905 					NI d;
8906 					reg = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(8ULL)) & 65535ULL)));
8907 					d = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8908 					{
8909 						NI iters;
8910 						NI res;
8911 						iters = (NI)0;
8912 						res = ((NI) 10);
8913 						{
8914 							while (1) {
8915 								if (!(((NI) 0) <= res)) goto LA8;
8916 								iters = res;
8917 								switch (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL)))) {
8918 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8919 								{
8920 									d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8921 								}
8922 								break;
8923 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8924 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8925 								{
8926 									{
8927 										if (!!((((NI) (((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(8ULL)) & 65535ULL))))) == ((NI) (reg))))) goto LA13_;
8928 										goto LA6;
8929 									}
8930 									LA13_: ;
8931 									{
8932 										if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL))) == opc)) goto LA17_;
8933 										d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8934 									}
8935 									goto LA15_;
8936 									LA17_: ;
8937 									{
8938 										d += ((NI) 1);
8939 									}
8940 									LA15_: ;
8941 								}
8942 								break;
8943 								default:
8944 								{
8945 									goto LA6;
8946 								}
8947 								break;
8948 								}
8949 								res -= ((NI) 1);
8950 							} LA8: ;
8951 						}
8952 					} LA6: ;
8953 					{
8954 						if (!!((d == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA23_;
8955 						finalJumpTarget__vmgen_3340(c, i, (NI)(d - i));
8956 					}
8957 					LA23_: ;
8958 				}
8959 				break;
8960 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8961 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164):
8962 				{
8963 					NI d_2;
8964 					NI iters_2;
8965 					d_2 = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8966 					iters_2 = ((NI) 10);
8967 					{
8968 						while (1) {
8969 							NIM_BOOL T28_;
8970 							T28_ = (NIM_BOOL)0;
8971 							T28_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163));
8972 							if (!(T28_)) goto LA29_;
8973 							T28_ = (((NI) 0) < iters_2);
8974 							LA29_: ;
8975 							if (!T28_) goto LA27;
8976 							d_2 += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8977 							iters_2 -= ((NI) 1);
8978 						} LA27: ;
8979 					}
8980 					{
8981 						if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1))) goto LA32_;
8982 						(*c).code->data[i] = (*c).code->data[d_2];
8983 					}
8984 					goto LA30_;
8985 					LA32_: ;
8986 					{
8987 						if (!!((d_2 == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA35_;
8988 						finalJumpTarget__vmgen_3340(c, i, (NI)(d_2 - i));
8989 					}
8990 					goto LA30_;
8991 					LA35_: ;
8992 					LA30_: ;
8993 				}
8994 				break;
8995 				default:
8996 				{
8997 				}
8998 				break;
8999 				}
9000 				i_2 += ((NI) 1);
9001 			} LA4: ;
9002 		}
9003 	}
9004 }
N_NIMCALL(NI,genProc__vmgen_3055)9005 N_LIB_PRIVATE N_NIMCALL(NI, genProc__vmgen_3055)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9006 	NI result;
9007 	NI pos;
9008 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym636_;
9009 	NIM_BOOL wasNotGenProcBefore;
9010 	NIM_BOOL noRegistersAllocated;
9011 	result = (NI)0;
9012 	xX60gensym636_ = s;
9013 	pos = getOrDefault__vmgen_3597((*c).procToCodePos, (NI)((NI)((NU32)(((NI) ((*xX60gensym636_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym636_).Sup.itemId.item))));
9014 	wasNotGenProcBefore = (pos == ((NI) 0));
9015 	noRegistersAllocated = ((*s).offset == ((NI) -1));
9016 	{
9017 		NIM_BOOL T3_;
9018 		NI last;
9019 		NI T7_;
9020 		NU64 eofInstr;
9021 		NI T14_;
9022 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym641_;
9023 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
9024 		NIM_BOOL T15_;
9025 		NI procStart;
9026 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* p;
9027 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* T16_;
9028 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* oldPrc;
9029 		NI T28_;
9030 		T3_ = (NIM_BOOL)0;
9031 		T3_ = wasNotGenProcBefore;
9032 		if (T3_) goto LA4_;
9033 		T3_ = noRegistersAllocated;
9034 		LA4_: ;
9035 		if (!T3_) goto LA5_;
9036 		T7_ = ((*c).code ? (*c).code->Sup.len : 0);
9037 		last = (NI)(T7_ - ((NI) 1));
9038 		eofInstr = (NU64)0;
9039 		{
9040 			NIM_BOOL T10_;
9041 			T10_ = (NIM_BOOL)0;
9042 			T10_ = (((NI) 0) <= last);
9043 			if (!(T10_)) goto LA11_;
9044 			T10_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
9045 			LA11_: ;
9046 			if (!T10_) goto LA12_;
9047 			eofInstr = (*c).code->data[last];
9048 			asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
9049 			asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
9050 		}
9051 		LA12_: ;
9052 		T14_ = ((*c).code ? (*c).code->Sup.len : 0);
9053 		result = (NI)(T14_ + ((NI) 1));
9054 		xX60gensym641_ = s;
9055 		X5BX5Deq___importer_2284((&(*c).procToCodePos), (NI)((NI)((NU32)(((NI) ((*xX60gensym641_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym641_).Sup.itemId.item))), result);
9056 		T15_ = (NIM_BOOL)0;
9057 		T15_ = isCompileTimeProc__ast_4683(s);
9058 		body = transformBody__transf_16((*c).graph, (*c).Sup.idgen, s, !(T15_));
9059 		procStart = xjmp__vmgen_398(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
9060 		T16_ = NIM_NIL;
9061 		T16_ = (tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) newObj((&NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_), sizeof(tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ));
9062 		if ((*T16_).blocks) { nimGCunrefRC1((*T16_).blocks); (*T16_).blocks = NIM_NIL; }
9063 		asgnRef((void**) (&(*T16_).sym), s);
9064 		p = T16_;
9065 		oldPrc = (*c).prc;
9066 		asgnRef((void**) (&(*c).prc), p);
9067 		genParams__vmgen_3318(c, (*(*s).typ).n);
9068 		{
9069 			NIM_BOOL T19_;
9070 			T19_ = (NIM_BOOL)0;
9071 			T19_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
9072 			if (!(T19_)) goto LA20_;
9073 			T19_ = isGenericRoutineStrict__ast_4639(s);
9074 			LA20_: ;
9075 			if (!T19_) goto LA21_;
9076 			genGenericParams__vmgen_3361(c, (*(*s).ast)._kind_6.sons->data[((NI) 2)]);
9077 		}
9078 		LA21_: ;
9079 		{
9080 			NI T27_;
9081 			if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12))&63U)))!=0)) goto LA25_;
9082 			asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) incrSeqV3((TGenericSeq*)((*(*c).prc).regInfo), (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_)));
9083 			T27_ = (*(*c).prc).regInfo->Sup.len++;
9084 			(*(*c).prc).regInfo->data[T27_] = TM__24XApAWKNvaMkcyklm8bNA_5;
9085 		}
9086 		LA25_: ;
9087 		gen__vmgen_707(c, body, 0);
9088 		gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
9089 		patch__vmgen_434(c, procStart);
9090 		gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) ((NU64)((NU64)((NU64)(eofInstr) >> (NU64)(8ULL)) & 65535ULL))), ((NI) 0), ((NI) 0));
9091 		optimizeJumps__vmgen_3387(c, result);
9092 		T28_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
9093 		(*s).offset = T28_;
9094 		asgnRef((void**) (&(*c).prc), oldPrc);
9095 	}
9096 	goto LA1_;
9097 	LA5_: ;
9098 	{
9099 		asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((*s).offset))));
9100 		result = pos;
9101 	}
9102 	LA1_: ;
9103 	return result;
9104 }
N_NIMCALL(void,removeLastEof__vmgen_3268)9105 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
9106 	NI last;
9107 	NI T1_;
9108 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9109 	last = (NI)(T1_ - ((NI) 1));
9110 	{
9111 		NIM_BOOL T4_;
9112 		T4_ = (NIM_BOOL)0;
9113 		T4_ = (((NI) 0) <= last);
9114 		if (!(T4_)) goto LA5_;
9115 		T4_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
9116 		LA5_: ;
9117 		if (!T4_) goto LA6_;
9118 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
9119 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
9120 	}
9121 	LA6_: ;
9122 }
N_NIMCALL(NI,genExpr__vmgen_3309)9123 N_LIB_PRIVATE N_NIMCALL(NI, genExpr__vmgen_3309)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresValue) {
9124 	NI result;
9125 	NI T1_;
9126 	NI d;
9127 	result = (NI)0;
9128 	removeLastEof__vmgen_3268(c);
9129 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9130 	result = T1_;
9131 	d = ((NI) -1);
9132 	gen__vmgen_687(c, n, (&d), 0);
9133 	{
9134 		if (!(((NI) (d)) < ((NI) 0))) goto LA4_;
9135 		{
9136 			if (!requiresValue) goto LA8_;
9137 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_110), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_111, NIM_FALSE);
9138 		}
9139 		LA8_: ;
9140 		d = ((NI) 0);
9141 	}
9142 	LA4_: ;
9143 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) (d)), ((NI) 0), ((NI) 0));
9144 	return result;
9145 }
N_NIMCALL(NI,genStmt__vmgen_3301)9146 N_LIB_PRIVATE N_NIMCALL(NI, genStmt__vmgen_3301)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9147 	NI result;
9148 	NI T1_;
9149 	NI d;
9150 	result = (NI)0;
9151 	removeLastEof__vmgen_3268(c);
9152 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9153 	result = T1_;
9154 	d = ((NI) -1);
9155 	gen__vmgen_687(c, n, (&d), 0);
9156 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) 0), ((NI) 0), ((NI) 0));
9157 	{
9158 		if (!(((NI) 0) <= ((NI) (d)))) goto LA4_;
9159 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_112), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_113, NIM_FALSE);
9160 	}
9161 	LA4_: ;
9162 	return result;
9163 }
N_NIMCALL(void,compiler_vmgenDatInit000)9164 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmgenDatInit000)(void) {
9165 static TNimNode* TM__24XApAWKNvaMkcyklm8bNA_52_5[5];
9166 static TNimNode TM__24XApAWKNvaMkcyklm8bNA_0[6];
9167 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9168 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9169 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.kind = 17;
9170 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
9171 TM__24XApAWKNvaMkcyklm8bNA_52_5[0] = &TM__24XApAWKNvaMkcyklm8bNA_0[1];
9172 TM__24XApAWKNvaMkcyklm8bNA_0[1].kind = 1;
9173 TM__24XApAWKNvaMkcyklm8bNA_0[1].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, colonstate_);
9174 TM__24XApAWKNvaMkcyklm8bNA_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
9175 TM__24XApAWKNvaMkcyklm8bNA_0[1].name = ":state";
9176 TM__24XApAWKNvaMkcyklm8bNA_52_5[1] = &TM__24XApAWKNvaMkcyklm8bNA_0[2];
9177 TM__24XApAWKNvaMkcyklm8bNA_0[2].kind = 1;
9178 TM__24XApAWKNvaMkcyklm8bNA_0[2].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, t21);
9179 TM__24XApAWKNvaMkcyklm8bNA_0[2].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9180 TM__24XApAWKNvaMkcyklm8bNA_0[2].name = "t21";
9181 TM__24XApAWKNvaMkcyklm8bNA_52_5[2] = &TM__24XApAWKNvaMkcyklm8bNA_0[3];
9182 TM__24XApAWKNvaMkcyklm8bNA_0[3].kind = 1;
9183 TM__24XApAWKNvaMkcyklm8bNA_0[3].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, targ22);
9184 TM__24XApAWKNvaMkcyklm8bNA_0[3].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9185 TM__24XApAWKNvaMkcyklm8bNA_0[3].name = "targ22";
9186 TM__24XApAWKNvaMkcyklm8bNA_52_5[3] = &TM__24XApAWKNvaMkcyklm8bNA_0[4];
9187 TM__24XApAWKNvaMkcyklm8bNA_0[4].kind = 1;
9188 TM__24XApAWKNvaMkcyklm8bNA_0[4].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, n3);
9189 TM__24XApAWKNvaMkcyklm8bNA_0[4].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9190 TM__24XApAWKNvaMkcyklm8bNA_0[4].name = "n3";
9191 TM__24XApAWKNvaMkcyklm8bNA_52_5[4] = &TM__24XApAWKNvaMkcyklm8bNA_0[5];
9192 TM__24XApAWKNvaMkcyklm8bNA_0[5].kind = 1;
9193 TM__24XApAWKNvaMkcyklm8bNA_0[5].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, arg4);
9194 TM__24XApAWKNvaMkcyklm8bNA_0[5].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9195 TM__24XApAWKNvaMkcyklm8bNA_0[5].name = "arg4";
9196 TM__24XApAWKNvaMkcyklm8bNA_0[0].len = 5; TM__24XApAWKNvaMkcyklm8bNA_0[0].kind = 2; TM__24XApAWKNvaMkcyklm8bNA_0[0].sons = &TM__24XApAWKNvaMkcyklm8bNA_52_5[0];
9197 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.node = &TM__24XApAWKNvaMkcyklm8bNA_0[0];
9198 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9199 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9200 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.kind = 22;
9201 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.base = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
9202 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.marker = Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw;
9203 }
9204 
9205