1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
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_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
22 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
23 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
24 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
25 typedef struct tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A;
26 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
27 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
28 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
29 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
30 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
31 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
32 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
33 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
34 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
35 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
36 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
37 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
38 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
39 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
40 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
41 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
42 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
43 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
44 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
45 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
46 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
47 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
48 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
49 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
50 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
51 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
52 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
53 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
54 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
55 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
56 typedef struct RootObj RootObj;
57 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
58 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
59 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
60 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
61 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
62 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
63 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
64 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
65 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
66 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
67 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
68 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
69 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
70 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
71 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
72 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
73 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
74 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
75 typedef struct TNimType TNimType;
76 typedef struct TNimNode TNimNode;
77 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
78 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
79 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
80 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
81 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
82 typedef struct NimStringDesc NimStringDesc;
83 typedef struct TGenericSeq TGenericSeq;
84 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
85 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
86 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
87 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
88 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
89 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
90 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
91 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
92 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
93 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
94 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
95 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
96 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
97 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
98 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
99 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
100 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
101 typedef struct tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw;
102 typedef struct tySequence__1I3cxybVrOXM64KW2dfERQ tySequence__1I3cxybVrOXM64KW2dfERQ;
103 typedef struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw;
104 typedef struct tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w;
105 typedef struct tyObject_Table__5WMmzblM3wEpYUTgMBzetQ tyObject_Table__5WMmzblM3wEpYUTgMBzetQ;
106 typedef struct tySequence__gVogYzwlGNrCaz6jQnXRzA tySequence__gVogYzwlGNrCaz6jQnXRzA;
107 typedef struct tyTuple__O3AtiO8fwKWfdl6NGmuzhw tyTuple__O3AtiO8fwKWfdl6NGmuzhw;
108 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
109 typedef struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ tyTuple__EFqgCXJ4d8PgqOdFJmldsQ;
110 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
111 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
112 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
113 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
114 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
115 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
116 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
117 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
118 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
119 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
120 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
121 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
122 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
123 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
124 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
125 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
126 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
127 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
128 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
129 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
130 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
131 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
132 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
133 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
134 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
135 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
136 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
137 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
138 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
139 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
140 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
141 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
142 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
143 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
144 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
145 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
146 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
147 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
148 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
149 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
150 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
151 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
152 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
153 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
154 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
155 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
156 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
157 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
158 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
159 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
160 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
161 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
162 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
163 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
164 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
165 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
166 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
167 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
168 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
169 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
170 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
171 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
172 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
173 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
174 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
175 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
176 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
177 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
178 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
179 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
180 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
181 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
182 struct tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A {
183 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
184 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn;
185 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* stateVarSym;
186 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmpResultSym;
187 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* unrollFinallySym;
188 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* curExcSym;
189 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* states;
190 NI blockLevel;
191 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* stateLoopLabel;
192 NI exitStateIdx;
193 NI tempVarId;
194 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempVars;
195 tySequence__qwqHTkRvwhrRyENtudHQ7g* exceptionTable;
196 NIM_BOOL hasExceptions;
197 NI curExcHandlingState;
198 NI nearestFinally;
199 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
200 };
201 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
202 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
203 NI counter;
204 };
205 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
206 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
207 NI counter;
208 };
209 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
210 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
211 NI counter;
212 };
213 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
214 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
215 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
216 NI counter;
217 };
218 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
219 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
220 NI counter;
221 };
222 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
223 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
224 NI counter;
225 };
226 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
227 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
228 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
229 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
230 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
231 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
232 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
233 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
234 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
235 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
236 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
237 };
238 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
239 NI counter;
240 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
241 };
242 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
243 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
244 NI counter;
245 };
246 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
247 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
248 NI elems;
249 NI counter;
250 NI max;
251 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
252 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
253 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
254 };
255 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
256 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
257 NI counter;
258 };
259 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
260 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
261 NI counter;
262 };
263 typedef struct {
264 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
265 void* ClE_0;
266 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
267 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
268 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
269 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
270 NI counter;
271 };
272 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
273 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
274 NI counter;
275 };
276 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
277 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
278 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
279 tySequence__23SMqauuRsbDANhthj9bWlA* data;
280 NI counter;
281 };
282 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
283 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
284 NI counter;
285 };
286 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
287 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
288 NI counter;
289 };
290 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
291 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
292 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
293 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
294 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
295 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
296 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
297 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
298 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
299 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
300 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
301 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
302 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
303 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
304 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
305 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
306 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
307 };
308 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
309 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
310 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
311 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
312 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
313 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
314 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
315 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
316 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
317 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
318 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
319 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
320 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
321 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
322 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
323 NIM_BOOL suggestMode;
324 NIM_BOOL invalidTransitiveClosure;
325 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
326 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
327 RootObj* backend;
328 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
329 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
330 RootObj* vm;
331 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
332 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
333 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
334 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
335 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
336 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
337 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
338 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
339 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
340 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
341 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
342 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
343 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
344 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
345 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
346 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
347 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
348 tySequence__MAQKEADohlpnXTModtugbQ* passes;
349 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
350 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
351 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
352 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
353 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
354 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
355 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
356 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
357 };
358 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
359 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
360 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
361 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
362 struct TNimType {
363 NI size;
364 NI align;
365 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
366 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
367 TNimType* base;
368 TNimNode* node;
369 void* finalizer;
370 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
371 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
372 };
373 struct RootObj {
374 TNimType* m_type;
375 };
376 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
377 NI32 module;
378 NI32 item;
379 };
380 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
381   RootObj Sup;
382 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
383 };
384 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
385 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
386 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
387 NU16 line;
388 NI16 col;
389 NI32 fileIndex;
390 };
391 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
392 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
393 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
394 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
395 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
396 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
397 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
398 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
399 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
400 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
401 };
402 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
403   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
404 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
405 union{
406 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
407 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
408 } _kind_1;
409 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
410 NI bitsize;
411 NI alignment;
412 } _kind_2;
413 };
414 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
415 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
416 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
417 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
418 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
419 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
420 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
421 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
422 NI position;
423 NI offset;
424 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
425 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
426 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
427 };
428 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
429 NI32 module;
430 NI32 symId;
431 NI32 typeId_0;
432 NIM_BOOL sealed;
433 };
434 struct TGenericSeq {
435 NI len;
436 NI reserved;
437 };
438 struct NimStringDesc {
439   TGenericSeq Sup;
440 NIM_CHAR data[SEQ_DECL_SIZE];
441 };
442 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
443 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
444 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
445 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
446   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
447 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
448 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
449 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
450 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
451 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
452 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
454 NI64 size;
455 NI16 align;
456 NI16 paddingAtEnd;
457 NI16 lockLevel;
458 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
459 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
460 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
461 };
462 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
463 NI refcount;
464 TNimType* typ;
465 };
466 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
467 void* bottom;
468 };
469 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
470 NI len;
471 NI cap;
472 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
473 };
474 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
475 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
476 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
477 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
478 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
479 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
480 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
481 };
482 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
483 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
484 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
485 NI key;
486 NI upperBound;
487 NI level;
488 };
489 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
490 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
491 NI Field1;
492 };
493 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
494 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
495 NI len;
496 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
497 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
498 };
499 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
500 NI minLargeObj;
501 NI maxLargeObj;
502 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
503 NU32 flBitmap;
504 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
505 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
506 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
507 NI currMem;
508 NI maxMem;
509 NI freeMem;
510 NI occ;
511 NI lastSize;
512 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
513 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
514 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
515 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
516 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
517 NIM_BOOL locked;
518 NIM_BOOL blockChunkSizeIncrease;
519 NI nextChunkSize;
520 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
521 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
522 };
523 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
524 NI stackScans;
525 NI cycleCollections;
526 NI maxThreshold;
527 NI maxStackSize;
528 NI maxStackCells;
529 NI cycleTableSize;
530 NI64 maxPause;
531 };
532 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
533 NI counter;
534 NI max;
535 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
536 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
537 };
538 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
539 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
540 NI cycleThreshold;
541 NI zctThreshold;
542 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
543 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
544 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
545 NI recGcLock;
546 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
547 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
548 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
549 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
550 NI gcThreadId;
551 };
552 struct tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw {
553 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* finallys;
554 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
555 tySequence__1I3cxybVrOXM64KW2dfERQ* blocks;
556 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
557 };
558 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
559 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
560 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
561 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
562 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
563 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
564 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
565 union{
566 struct {NI64 intVal;
567 } _kind_1;
568 struct {NF floatVal;
569 } _kind_2;
570 struct {NimStringDesc* strVal;
571 } _kind_3;
572 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
573 } _kind_4;
574 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
575 } _kind_5;
576 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
577 } _kind_6;
578 };
579 };
580 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
581 struct TNimNode {
582 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
583 NI offset;
584 TNimType* typ;
585 NCSTRING name;
586 NI len;
587 TNimNode** sons;
588 };
589 struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw {
590 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
591 NI Field1;
592 };
593 struct tyObject_Table__5WMmzblM3wEpYUTgMBzetQ {
594 tySequence__gVogYzwlGNrCaz6jQnXRzA* data;
595 NI counter;
596 };
597 struct tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w {
598 tyObject_Table__5WMmzblM3wEpYUTgMBzetQ tab;
599 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
600 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
601 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
602 };
603 struct tyTuple__O3AtiO8fwKWfdl6NGmuzhw {
604 NI Field0;
605 NI Field1;
606 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
607 };
608 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
609 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
610 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
611 NimStringDesc* Field0;
612 NI Field1;
613 NI Field2;
614 };
615 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
616 struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ {
617 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
618 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
619 };
620 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
621 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
622 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
623 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
624 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
625 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
626 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
627 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
628 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
629 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
630 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
631 };
632 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
633 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
634 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
635 };
636 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
637 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
638 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
639 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
640 };
641 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
642 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
643 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
644 };
645 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
646 NimStringDesc* definedSymbols;
647 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
648 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
649 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
650 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
651 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
652 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
653 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
654 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
655 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
656 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
657 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
658 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
659 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
660 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
661 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
662 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
663 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
664 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
665 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
666 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
667 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
668 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
669 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
670 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
671 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
672 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
673 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
674 };
675 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
676 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
677 NI counter;
678 };
679 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
680 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
681 NIM_BOOL symsInit;
682 NIM_BOOL typesInit;
683 NIM_BOOL loadedButAliveSetChanged;
684 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
685 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
686 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
687 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
688 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
689 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
690 };
691 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
692 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
693 NI counter;
694 };
695 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
696 NI32 thisModule;
697 NI32 lastFile;
698 NU32 lastLit;
699 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
700 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
701 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
702 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
703 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
704 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
705 };
706 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
707 NU32 module;
708 NI32 item;
709 };
710 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
711 NI module;
712 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
713 };
714 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
715 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
716 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
717 };
718 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
719 NI Field0;
720 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
721 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
722 };
723 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
724 NI module;
725 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
726 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
727 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
728 };
729 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
730 NI Field0;
731 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
732 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
733 };
734 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
735 NI Field0;
736 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
737 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
738 };
739 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
740 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
741 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
742 };
743 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
744 NI Field0;
745 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
746 };
747 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
748 NI Field0;
749 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
750 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
751 };
752 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
753 NI Field0;
754 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
755 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
756 };
757 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
758 NI Field0;
759 NimStringDesc* Field1;
760 NI32 Field2;
761 };
762 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
763 NI Field0;
764 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
765 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
766 };
767 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
768 NI Field0;
769 NI32 Field1;
770 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
771 };
772 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
773 NI Field0;
774 NI32 Field1;
775 NI32 Field2;
776 };
777 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
778 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
779 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
780 };
781 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
782 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
783 NI Field0;
784 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
785 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
786 };
787 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
788 NI Field0;
789 NI Field1;
790 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
791 };
792 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
793 NI Field0;
794 NimStringDesc* Field1;
795 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
796 };
797 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
798 NI Field0;
799 NimStringDesc* Field1;
800 NI64 Field2;
801 };
802 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
803 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
804 NI entries;
805 };
806 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
807 NI Field0;
808 NimStringDesc* Field1;
809 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
810 };
811 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
812 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
813 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
814 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
815 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
816 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
817 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
818 NIM_BOOL Field3;
819 };
820 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
821 NU32 Field0;
822 NimStringDesc* Field1;
823 };
824 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
825 NU16 line;
826 NI16 col;
827 NU32 file;
828 };
829 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
830 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
831 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
832 NI32 operand;
833 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
834 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
835 };
836 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
837 NU32 Field0;
838 NI32 Field1;
839 };
840 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
841 NU32 Field0;
842 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
843 };
844 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
845 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
846 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
847 };
848 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
849 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
850 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
851 };
852 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
853 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
854 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
855 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
856 };
857 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
858 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
859 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
860 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
861 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
862 };
863 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
864 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
865 NI Field1;
866 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
867 };
868 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
869 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
870 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
871 NIM_BOOL generated;
872 NIM_BOOL isOverriden;
873 NU32 name;
874 NI32 path;
875 };
876 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
877 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
878 NU32 name;
879 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
880 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
881 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
882 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
883 NI32 ast;
884 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
885 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
886 NI bitsize;
887 NI alignment;
888 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
889 NI position;
890 NI offset;
891 NU32 externalName;
892 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
893 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
894 NI32 constraint;
895 };
896 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
897 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
898 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
899 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
900 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
901 NI32 n;
902 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
903 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
904 NI64 size;
905 NI16 align;
906 NI16 paddingAtEnd;
907 NI16 lockLevel;
908 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
909 NI32 nonUniqueId;
910 };
911 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
912 NI Field0;
913 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
914 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
915 };
916 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
917 NI Field0;
918 NI32 Field1;
919 NU32 Field2;
920 };
921 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
922   TGenericSeq Sup;
923   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
924 };
925 struct tySequence__1I3cxybVrOXM64KW2dfERQ {
926   TGenericSeq Sup;
927   tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw data[SEQ_DECL_SIZE];
928 };
929 struct tySequence__gVogYzwlGNrCaz6jQnXRzA {
930   TGenericSeq Sup;
931   tyTuple__O3AtiO8fwKWfdl6NGmuzhw data[SEQ_DECL_SIZE];
932 };
933 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
934   TGenericSeq Sup;
935   NI data[SEQ_DECL_SIZE];
936 };
937 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
938   TGenericSeq Sup;
939   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
940 };
941 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
942   TGenericSeq Sup;
943   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
944 };
945 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
946   TGenericSeq Sup;
947   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
948 };
949 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
950   TGenericSeq Sup;
951   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
952 };
953 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
954   TGenericSeq Sup;
955   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
956 };
957 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
958   TGenericSeq Sup;
959   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
960 };
961 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
962   TGenericSeq Sup;
963   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
964 };
965 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
966   TGenericSeq Sup;
967   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
968 };
969 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
970   TGenericSeq Sup;
971   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
972 };
973 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
974   TGenericSeq Sup;
975   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
976 };
977 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
978   TGenericSeq Sup;
979   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
980 };
981 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
982   TGenericSeq Sup;
983   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
984 };
985 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
986   TGenericSeq Sup;
987   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
988 };
989 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
990   TGenericSeq Sup;
991   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
992 };
993 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
994   TGenericSeq Sup;
995   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
996 };
997 struct tySequence__48JTohSgTy339bRxHzUD8KA {
998   TGenericSeq Sup;
999   NI32 data[SEQ_DECL_SIZE];
1000 };
1001 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1002   TGenericSeq Sup;
1003   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1004 };
1005 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1006   TGenericSeq Sup;
1007   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1008 };
1009 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1010   TGenericSeq Sup;
1011   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1012 };
1013 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1014   TGenericSeq Sup;
1015   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1016 };
1017 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1018   TGenericSeq Sup;
1019   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1020 };
1021 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1022   TGenericSeq Sup;
1023   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1024 };
1025 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1026   TGenericSeq Sup;
1027   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1028 };
1029 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1030   TGenericSeq Sup;
1031   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1032 };
1033 struct tySequence__MAQKEADohlpnXTModtugbQ {
1034   TGenericSeq Sup;
1035   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1036 };
1037 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1038   TGenericSeq Sup;
1039   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1040 };
1041 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1042   TGenericSeq Sup;
1043   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1044 };
1045 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1046   TGenericSeq Sup;
1047   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1048 };
1049 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1050   TGenericSeq Sup;
1051   NU32 data[SEQ_DECL_SIZE];
1052 };
1053 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1054   TGenericSeq Sup;
1055   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1056 };
1057 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1058   TGenericSeq Sup;
1059   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1060 };
1061 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1062   TGenericSeq Sup;
1063   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1064 };
1065 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1066   TGenericSeq Sup;
1067   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1068 };
1069 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1070   TGenericSeq Sup;
1071   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1072 };
1073 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1074   TGenericSeq Sup;
1075   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1076 };
1077 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1078   TGenericSeq Sup;
1079   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1080 };
1081 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1082   TGenericSeq Sup;
1083   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1084 };
1085 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1086   TGenericSeq Sup;
1087   NimStringDesc* data[SEQ_DECL_SIZE];
1088 };
1089 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1090   TGenericSeq Sup;
1091   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1092 };
1093 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1094   TGenericSeq Sup;
1095   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1096 };
1097 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1098   TGenericSeq Sup;
1099   NI64 data[SEQ_DECL_SIZE];
1100 };
1101 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1102   TGenericSeq Sup;
1103   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1104 };
1105 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1106   TGenericSeq Sup;
1107   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1108 };
1109 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1110   TGenericSeq Sup;
1111   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1112 };
1113 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1114   TGenericSeq Sup;
1115   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1116 };
1117 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1118 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1119 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getEnvParam__lambdalifting_131)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* routine);
1120 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
1121 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1122 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1123 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createClosureIterStateType__lambdalifting_33)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* iter, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1124 static N_INLINE(void, asgnRef)(void** dest, void* src);
1125 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1126 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1127 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
1128 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1129 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1130 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1131 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1132 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1133 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, preprocess__closureiters_3362)(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1134 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1135 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1136 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1137 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1138 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pop__trees_32)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s);
1139 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1140 static N_INLINE(void, pop__closureiters_3415)(tySequence__1I3cxybVrOXM64KW2dfERQ** s, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result);
1141 static N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*, X5BX5D___closureiters_3437)(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* s, NI sLen_0, NI i);
1142 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1143 N_LIB_PRIVATE N_NIMCALL(void, initTable__closureiters_3484)(NI initialSize, tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* Result);
1144 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1145 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_177)(NI x);
1146 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1147 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1148 static N_NIMCALL(void, Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)(void* p, NI op);
1149 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1150 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, freshVars__closureiters_1804)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w* c);
1151 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOrDefault__closureiters_1903)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key);
1152 static N_INLINE(NI, rawGet__closureiters_1912)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI* hc);
1153 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1154 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1155 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1156 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1157 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1158 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1159 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1160 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1161 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, copySym__ast_4054)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id);
1162 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___closureiters_2290)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val);
1163 static N_INLINE(NIM_BOOL, mustRehash__closureiters_2463)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t);
1164 N_LIB_PRIVATE N_NIMCALL(void, enlarge__closureiters_2616)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t);
1165 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__closureiters_2916)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, tySequence__gVogYzwlGNrCaz6jQnXRzA** data, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val, NI hc, NI h);
1166 static N_INLINE(NI, rawGetKnownHC__closureiters_3085)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI hc);
1167 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1168 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);
1169 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toStmtList__closureiters_136)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1170 N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_97)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1171 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntLit__lowerings_695)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI64 value);
1172 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1173 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerStmtListExprs__closureiters_478)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* needsSplit);
1174 N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ* Result);
1175 static N_INLINE(void, nimGCunrefRC1)(void* p);
1176 N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_406)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** y, NI yLen_0);
1177 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1178 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1179 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newTempVar__closureiters_167)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1180 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newEnvVar__closureiters_49)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NimStringDesc* name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1181 N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_63)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v);
1182 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, addUniqueField__lowerings_443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* obj, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1183 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1184 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1185 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1186 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1187 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1188 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1189 N_LIB_PRIVATE N_NIMCALL(void, addExprAssgn__closureiters_446)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* output, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* input, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1190 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAsgn__closureiters_441)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v);
1191 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAccess__closureiters_70)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1192 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, rawIndirectAccess__lowerings_326)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1193 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1194 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, convertExprBodyToAsgn__closureiters_469)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprBody, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res);
1195 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNotCall__closureiters_474)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e);
1196 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysMagic__magicsys_29)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1197 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1198 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysSym__magicsys_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
1199 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1200 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_371)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1201 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYields__closureiters_175)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1202 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIteratorBody__closureiters_1173)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1203 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, addGotoOut__closureiters_147)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut);
1204 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksAndContinuesInWhile__closureiters_179)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* before, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after);
1205 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksInBlock__closureiters_205)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* label, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after);
1206 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, collectExceptState__closureiters_256)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1207 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, callCodegenProc__lowerings_635)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg1, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg2, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg3, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* optionalArgs);
1208 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOr__closureiters_251)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1209 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNullifyCurExc__closureiters_245)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1210 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCurExcAccess__closureiters_91)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1211 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1212 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getFinallyNode__closureiters_357)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1213 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformReturnsInTry__closureiters_1107)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1214 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newUnrollFinallyAccess__closureiters_84)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1215 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntTypeNode__ast_3783)(NI64 intVal, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1216 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTmpResultAccess__closureiters_77)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1217 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEndFinallyNode__closureiters_1092)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1218 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getClosureIterResult__lambdalifting_62)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* iter, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1219 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCompilerProc__magicsys_145)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
1220 N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_316)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1221 N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1659)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1222 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipStmtList__closureiters_1491)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1223 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipThroughEmptyStates__closureiters_1529)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1224 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1225 N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1503)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateIdx);
1226 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
1227 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1746)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI i);
1228 N_LIB_PRIVATE N_NIMCALL(void, del__closureiters_3571)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
1229 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStateAssignments__closureiters_1386)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1230 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_45)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateNo);
1231 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_41)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toValue);
1232 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAccess__closureiters_35)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1233 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getStateField__lambdalifting_4660)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1234 N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1235 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoStateLoop__closureiters_1612)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1236 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoTryExcept__closureiters_1605)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1237 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCatchBody__closureiters_1568)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1238 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createExceptionTable__closureiters_1553)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx);
1239 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newArrayType__closureiters_1545)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1240 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1241 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1242 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1243 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1244 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_2, ":state", 6);
1245 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_3, ":stateLoop", 10);
1246 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1247 extern TNimType NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_;
1248 N_LIB_PRIVATE TNimType NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_;
1249 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
1250 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
1251 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_;
1252 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_5, "unsupported control flow: \'finally: ... raise\' duplicated because of \'break\'", 76);
1253 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_7, "/home/runner/work/nightlies/nightlies/nim/compiler/closureiters.nim", 67);
1254 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_6 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1255 ((NI) 1337),
1256 ((NI) 14)}
1257 ;
1258 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1259 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1260 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_8, "lowerStmtListExprs: constr typ.isNil", 36);
1261 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_9 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1262 ((NI) 468),
1263 ((NI) 35)}
1264 ;
1265 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_10, ":tmpSlLower", 11);
1266 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_11, "lowerStmtListExpr(nkIf): ", 25);
1267 extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
1268 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_12 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1269 ((NI) 546),
1270 ((NI) 23)}
1271 ;
1272 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_13, "lowerStmtListExpr(nkTryStmt): ", 30);
1273 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_14 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1274 ((NI) 576),
1275 ((NI) 25)}
1276 ;
1277 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_15, "lowerStmtListExpr(nkCaseStmt): ", 31);
1278 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_16 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1279 ((NI) 608),
1280 ((NI) 25)}
1281 ;
1282 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_17, "not", 3);
1283 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_18, "true", 4);
1284 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_19, "yield in expr not lowered", 25);
1285 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_20 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1286 ((NI) 1420),
1287 ((NI) 17)}
1288 ;
1289 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_21, "transformClosureIteratorBody != s", 33);
1290 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_22 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1291 ((NI) 888),
1292 ((NI) 23)}
1293 ;
1294 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_23, "of", 2);
1295 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_24, "getCurrentException", 19);
1296 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_25, "or", 2);
1297 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_26, ":curExc", 7);
1298 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_27, ":unrollFinally", 14);
1299 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_28, ":tmpResult", 10);
1300 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_29, "==", 2);
1301 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_30, "closureIterSetupExc", 19);
1302 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_31, "transformReturnsInTry != tryBody", 32);
1303 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_32 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1304 ((NI) 997),
1305 ((NI) 21)}
1306 ;
1307 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_33, "transformClosureIteratorBody != tryBody", 39);
1308 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_34 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1309 ((NI) 999),
1310 ((NI) 21)}
1311 ;
1312 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_35, "transformReturnsInTry != exceptBody", 35);
1313 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_36 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1314 ((NI) 1004),
1315 ((NI) 21)}
1316 ;
1317 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_37, "transformClosureIteratorBody != exceptBody", 42);
1318 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_38 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1319 ((NI) 1006),
1320 ((NI) 21)}
1321 ;
1322 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_39, "transformClosureIteratorBody != finallyBody", 43);
1323 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_40 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1324 ((NI) 1011),
1325 ((NI) 21)}
1326 ;
1327 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_41, "closure iter ", 13);
1328 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__slVvvIjx75ivXdMpHiE9c9aQ_42 = {((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_7),
1329 ((NI) 1014),
1330 ((NI) 17)}
1331 ;
1332 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_43, "<", 1);
1333 STRING_LITERAL(TM__slVvvIjx75ivXdMpHiE9c9aQ_44, "-", 1);
1334 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
N_INLINE(void,nimSetMem__systemZmemory_7)1335 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1336 	void* T1_;
1337 	T1_ = (void*)0;
1338 	T1_ = memset(a, v, ((size_t) (size)));
1339 }
N_INLINE(void,nimZeroMem)1340 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1341 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1342 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)1343 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
1344 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
1345 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1346 	(*x).symId += ((NI) 1);
1347 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1348 	result.module = (*x).module;
1349 	result.item = (*x).symId;
1350 	return result;
1351 }
N_INLINE(NI,pluspercent___system_696)1352 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1353 	NI result;
1354 	result = (NI)0;
1355 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
1356 	return result;
1357 }
N_INLINE(void,incRef__system_5309)1358 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1359 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1360 }
N_INLINE(NI,minuspercent___system_716)1361 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1362 	NI result;
1363 	result = (NI)0;
1364 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
1365 	return result;
1366 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)1367 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
1368 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1369 	NI T1_;
1370 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1371 	T1_ = (NI)0;
1372 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
1373 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1374 	return result;
1375 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1376 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1377 	NIM_BOOL result;
1378 	result = (NIM_BOOL)0;
1379 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
1380 	return result;
1381 }
N_INLINE(void,rtlAddZCT__system_5314)1382 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1383 	addZCT__system_5265((&gch__system_5218.zct), c);
1384 }
N_INLINE(void,decRef__system_5316)1385 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1386 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1387 	{
1388 		NIM_BOOL T3_;
1389 		T3_ = (NIM_BOOL)0;
1390 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1391 		if (!T3_) goto LA4_;
1392 		rtlAddZCT__system_5314(c);
1393 	}
1394 	LA4_: ;
1395 }
N_INLINE(void,asgnRef)1396 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1397 	{
1398 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1399 		if (!!((src == NIM_NIL))) goto LA3_;
1400 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1401 		T5_ = usrToCell__system_5271(src);
1402 		incRef__system_5309(T5_);
1403 	}
1404 	LA3_: ;
1405 	{
1406 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1407 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1408 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1409 		T10_ = usrToCell__system_5271((*dest));
1410 		decRef__system_5316(T10_);
1411 	}
1412 	LA8_: ;
1413 	(*dest) = src;
1414 }
N_INLINE(NI,len__ast_3198)1415 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1416 	NI result;
1417 	NI T1_;
1418 	result = (NI)0;
1419 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1420 	result = T1_;
1421 	return result;
1422 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pop__trees_32)1423 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pop__trees_32)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s) {
1424 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1425 	NI L;
1426 	NI T1_;
1427 	result = NIM_NIL;
1428 	T1_ = ((*s) ? (*s)->Sup.len : 0);
1429 	L = (NI)(T1_ - ((NI) 1));
1430 	result = (*s)->data[L];
1431 	unsureAsgnRef((void**) (&(*s)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*s))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (L))));
1432 	return result;
1433 }
N_INLINE(void,pop__closureiters_3415)1434 static N_INLINE(void, pop__closureiters_3415)(tySequence__1I3cxybVrOXM64KW2dfERQ** s, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result) {
1435 	NI L;
1436 	NI T1_;
1437 	T1_ = ((*s) ? (*s)->Sup.len : 0);
1438 	L = (NI)(T1_ - ((NI) 1));
1439 	unsureAsgnRef((void**) (&(*Result).Field0), (*s)->data[L].Field0);
1440 	(*Result).Field1 = (*s)->data[L].Field1;
1441 	unsureAsgnRef((void**) (&(*s)), (tySequence__1I3cxybVrOXM64KW2dfERQ*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_), ((NI) (L))));
1442 }
N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw *,X5BX5D___closureiters_3437)1443 static N_INLINE(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*, X5BX5D___closureiters_3437)(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* s, NI sLen_0, NI i) {
1444 	tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* result;
1445 	result = (tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*)0;
1446 	result = (&s[(NI)(sLen_0 - i)]);
1447 	return result;
1448 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1449 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1450 	NI result;
1451 	result = (NI)0;
1452 	result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1453 	return result;
1454 }
N_NIMCALL(void,Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)1455 static N_NIMCALL(void, Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA)(void* p, NI op) {
1456 	tySequence__gVogYzwlGNrCaz6jQnXRzA* a;
1457 	NI T1_;
1458 	a = (tySequence__gVogYzwlGNrCaz6jQnXRzA*)p;
1459 	T1_ = (NI)0;
1460 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1461 	nimGCvisit((void*)a->data[T1_].Field2, op);
1462 	}
1463 }
N_NIMCALL(void,initTable__closureiters_3484)1464 N_LIB_PRIVATE N_NIMCALL(void, initTable__closureiters_3484)(NI initialSize, tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* Result) {
1465 	NI correctSizeX60gensym346_;
1466 	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1467 	(*Result).counter = 0;
1468 	correctSizeX60gensym346_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1469 	(*Result).counter = ((NI) 0);
1470 	unsureAsgnRef((void**) (&(*Result).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym346_))));
1471 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1472 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1473 	NU64 result;
1474 	result = (NU64)0;
1475 	__uint128_t r = a; r *= b; result = (r >> 64) ^ r;
1476 	return result;
1477 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1478 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1479 	NI result;
1480 	NU64 T1_;
1481 	NU64 T2_;
1482 	result = (NI)0;
1483 	T1_ = (NU64)0;
1484 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1485 	T2_ = (NU64)0;
1486 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1487 	result = ((NI) (T2_));
1488 	return result;
1489 }
N_INLINE(NI,hash__pureZhashes_128)1490 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1491 	NI result;
1492 	result = (NI)0;
1493 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1494 	return result;
1495 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1496 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1497 	NIM_BOOL result;
1498 	result = (NIM_BOOL)0;
1499 	result = !((hcode == ((NI) 0)));
1500 	return result;
1501 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1502 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1503 	NI result;
1504 	result = (NI)0;
1505 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1506 	return result;
1507 }
N_INLINE(NI,rawGet__closureiters_1912)1508 static N_INLINE(NI, rawGet__closureiters_1912)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI* hc) {
1509 	NI result;
1510 	NI h;
1511 	NI T10_;
1512 {	result = (NI)0;
1513 	(*hc) = hash__pureZhashes_128(key);
1514 	{
1515 		if (!((*hc) == ((NI) 0))) goto LA3_;
1516 		(*hc) = ((NI) 314159265);
1517 	}
1518 	LA3_: ;
1519 	{
1520 		NI T7_;
1521 		T7_ = (t.data ? t.data->Sup.len : 0);
1522 		if (!(T7_ == ((NI) 0))) goto LA8_;
1523 		result = ((NI) -1);
1524 		goto BeforeRet_;
1525 	}
1526 	LA8_: ;
1527 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1528 	h = (NI)((*hc) & T10_);
1529 	{
1530 		while (1) {
1531 			NIM_BOOL T13_;
1532 			NI T20_;
1533 			T13_ = (NIM_BOOL)0;
1534 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1535 			if (!T13_) goto LA12;
1536 			{
1537 				NIM_BOOL T16_;
1538 				T16_ = (NIM_BOOL)0;
1539 				T16_ = (t.data->data[h].Field0 == (*hc));
1540 				if (!(T16_)) goto LA17_;
1541 				T16_ = (t.data->data[h].Field1 == key);
1542 				LA17_: ;
1543 				if (!T16_) goto LA18_;
1544 				result = h;
1545 				goto BeforeRet_;
1546 			}
1547 			LA18_: ;
1548 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1549 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
1550 		} LA12: ;
1551 	}
1552 	result = (NI)(((NI) -1) - h);
1553 	}BeforeRet_: ;
1554 	return result;
1555 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getOrDefault__closureiters_1903)1556 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOrDefault__closureiters_1903)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key) {
1557 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
1558 	NI hcX60gensym308_;
1559 	NI indexX60gensym308_;
1560 	result = NIM_NIL;
1561 	hcX60gensym308_ = (NI)0;
1562 	indexX60gensym308_ = rawGet__closureiters_1912(t, key, (&hcX60gensym308_));
1563 	{
1564 		if (!(((NI) 0) <= indexX60gensym308_)) goto LA3_;
1565 		result = t.data->data[indexX60gensym308_].Field2;
1566 	}
1567 	LA3_: ;
1568 	return result;
1569 }
N_INLINE(NI,safeLen__ast_3191)1570 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1571 	NI result;
1572 	result = (NI)0;
1573 	{
1574 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1575 		result = ((NI) 0);
1576 	}
1577 	goto LA1_;
1578 	LA3_: ;
1579 	{
1580 		result = len__ast_3198(n);
1581 	}
1582 	LA1_: ;
1583 	return result;
1584 }
N_INLINE(NIM_BOOL,mustRehash__closureiters_2463)1585 static N_INLINE(NIM_BOOL, mustRehash__closureiters_2463)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t) {
1586 	NIM_BOOL result;
1587 	NIM_BOOL T1_;
1588 	NI T2_;
1589 	NI T4_;
1590 	result = (NIM_BOOL)0;
1591 	T1_ = (NIM_BOOL)0;
1592 	T2_ = (t.data ? t.data->Sup.len : 0);
1593 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1594 	if (T1_) goto LA3_;
1595 	T4_ = (t.data ? t.data->Sup.len : 0);
1596 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1597 	LA3_: ;
1598 	result = T1_;
1599 	return result;
1600 }
N_NIMCALL(void,rawInsert__closureiters_2916)1601 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__closureiters_2916)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, tySequence__gVogYzwlGNrCaz6jQnXRzA** data, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val, NI hc, NI h) {
1602 	(*data)->data[h].Field1 = key;
1603 	asgnRef((void**) (&(*data)->data[h].Field2), val);
1604 	(*data)->data[h].Field0 = hc;
1605 }
N_NIMCALL(void,enlarge__closureiters_2616)1606 N_LIB_PRIVATE N_NIMCALL(void, enlarge__closureiters_2616)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t) {
1607 	tySequence__gVogYzwlGNrCaz6jQnXRzA* n;
1608 	NI T1_;
1609 	tySequence__gVogYzwlGNrCaz6jQnXRzA* T2_;
1610 	n = NIM_NIL;
1611 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1612 	n = (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1613 	T2_ = NIM_NIL;
1614 	T2_ = (*t).data;
1615 	unsureAsgnRef((void**) (&(*t).data), n);
1616 	n = T2_;
1617 	{
1618 		NI i;
1619 		NI colontmp_;
1620 		NI T4_;
1621 		NI res;
1622 		i = (NI)0;
1623 		colontmp_ = (NI)0;
1624 		T4_ = ((n ? n->Sup.len : 0)-1);
1625 		colontmp_ = T4_;
1626 		res = ((NI) 0);
1627 		{
1628 			while (1) {
1629 				NI eh;
1630 				if (!(res <= colontmp_)) goto LA6;
1631 				i = res;
1632 				eh = n->data[i].Field0;
1633 				{
1634 					NIM_BOOL T9_;
1635 					NI j;
1636 					NI T12_;
1637 					NI T17_;
1638 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
1639 					T9_ = (NIM_BOOL)0;
1640 					T9_ = isFilled__pureZcollectionsZtables_31(eh);
1641 					if (!T9_) goto LA10_;
1642 					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1643 					j = (NI)(eh & T12_);
1644 					{
1645 						while (1) {
1646 							NIM_BOOL T15_;
1647 							NI T16_;
1648 							T15_ = (NIM_BOOL)0;
1649 							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1650 							if (!T15_) goto LA14;
1651 							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1652 							j = nextTry__pureZcollectionsZtables_34(j, T16_);
1653 						} LA14: ;
1654 					}
1655 					T17_ = (NI)0;
1656 					T17_ = n->data[i].Field1;
1657 					n->data[i].Field1 = 0;
1658 					T18_ = NIM_NIL;
1659 					T18_ = n->data[i].Field2;
1660 					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
1661 					rawInsert__closureiters_2916(t, (&(*t).data), T17_, T18_, eh, j);
1662 				}
1663 				LA10_: ;
1664 				res += ((NI) 1);
1665 			} LA6: ;
1666 		}
1667 	}
1668 }
N_INLINE(NI,rawGetKnownHC__closureiters_3085)1669 static N_INLINE(NI, rawGetKnownHC__closureiters_3085)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ t, NI key, NI hc) {
1670 	NI result;
1671 	NI h;
1672 	NI T6_;
1673 {	result = (NI)0;
1674 	{
1675 		NI T3_;
1676 		T3_ = (t.data ? t.data->Sup.len : 0);
1677 		if (!(T3_ == ((NI) 0))) goto LA4_;
1678 		result = ((NI) -1);
1679 		goto BeforeRet_;
1680 	}
1681 	LA4_: ;
1682 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1683 	h = (NI)(hc & T6_);
1684 	{
1685 		while (1) {
1686 			NIM_BOOL T9_;
1687 			NI T16_;
1688 			T9_ = (NIM_BOOL)0;
1689 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1690 			if (!T9_) goto LA8;
1691 			{
1692 				NIM_BOOL T12_;
1693 				T12_ = (NIM_BOOL)0;
1694 				T12_ = (t.data->data[h].Field0 == hc);
1695 				if (!(T12_)) goto LA13_;
1696 				T12_ = (t.data->data[h].Field1 == key);
1697 				LA13_: ;
1698 				if (!T12_) goto LA14_;
1699 				result = h;
1700 				goto BeforeRet_;
1701 			}
1702 			LA14_: ;
1703 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1704 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
1705 		} LA8: ;
1706 	}
1707 	result = (NI)(((NI) -1) - h);
1708 	}BeforeRet_: ;
1709 	return result;
1710 }
N_NIMCALL(void,X5BX5Deq___closureiters_2290)1711 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___closureiters_2290)(tyObject_Table__5WMmzblM3wEpYUTgMBzetQ* t, NI key, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* val) {
1712 	NI hc;
1713 	NI index;
1714 	{
1715 		NI T3_;
1716 		NI correctSizeX60gensym318_;
1717 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1718 		if (!(T3_ == ((NI) 0))) goto LA4_;
1719 		correctSizeX60gensym318_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1720 		(*t).counter = ((NI) 0);
1721 		unsureAsgnRef((void**) (&(*t).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym318_))));
1722 	}
1723 	LA4_: ;
1724 	hc = (NI)0;
1725 	index = rawGet__closureiters_1912((*t), key, (&hc));
1726 	{
1727 		if (!(((NI) 0) <= index)) goto LA8_;
1728 		asgnRef((void**) (&(*t).data->data[index].Field2), val);
1729 	}
1730 	goto LA6_;
1731 	LA8_: ;
1732 	{
1733 		{
1734 			NI T13_;
1735 			NI correctSizeX60gensym321_;
1736 			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
1737 			if (!(T13_ == ((NI) 0))) goto LA14_;
1738 			correctSizeX60gensym321_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1739 			(*t).counter = ((NI) 0);
1740 			unsureAsgnRef((void**) (&(*t).data), (tySequence__gVogYzwlGNrCaz6jQnXRzA*) newSeq((&NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_), ((NI) (correctSizeX60gensym321_))));
1741 		}
1742 		LA14_: ;
1743 		{
1744 			NIM_BOOL T18_;
1745 			T18_ = (NIM_BOOL)0;
1746 			T18_ = mustRehash__closureiters_2463((*t));
1747 			if (!T18_) goto LA19_;
1748 			enlarge__closureiters_2616(t);
1749 			index = rawGetKnownHC__closureiters_3085((*t), key, hc);
1750 		}
1751 		LA19_: ;
1752 		index = (NI)(((NI) -1) - index);
1753 		rawInsert__closureiters_2916(t, (&(*t).data), key, val, hc, index);
1754 		(*t).counter += ((NI) 1);
1755 	}
1756 	LA6_: ;
1757 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,freshVars__closureiters_1804)1758 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, freshVars__closureiters_1804)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w* c) {
1759 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1760 	result = NIM_NIL;
1761 	switch ((*n).kind) {
1762 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1763 	{
1764 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
1765 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym307_;
1766 		xX60gensym307_ = (*n)._kind_4.sym;
1767 		x = getOrDefault__closureiters_1903((*c).tab, (NI)((NI)((NU64)(((NI) ((*xX60gensym307_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym307_).Sup.itemId.item))));
1768 		{
1769 			if (!(x == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
1770 			result = n;
1771 		}
1772 		goto LA2_;
1773 		LA4_: ;
1774 		{
1775 			result = newSymNode__ast_3719(x, (*n).info);
1776 		}
1777 		LA2_: ;
1778 	}
1779 	break;
1780 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1781 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1782 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
1783 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
1784 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
1785 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
1786 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
1787 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
1788 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
1789 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
1790 	{
1791 		result = n;
1792 	}
1793 	break;
1794 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
1795 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
1796 	{
1797 		result = copyNode__ast_4336(n);
1798 		{
1799 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
1800 			it = NIM_NIL;
1801 			{
1802 				NI i;
1803 				NI colontmp_;
1804 				NI i_2;
1805 				i = (NI)0;
1806 				colontmp_ = (NI)0;
1807 				colontmp_ = safeLen__ast_3191(n);
1808 				i_2 = ((NI) 0);
1809 				{
1810 					while (1) {
1811 						if (!(i_2 < colontmp_)) goto LA12;
1812 						i = i_2;
1813 						it = (*n)._kind_6.sons->data[i];
1814 						{
1815 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idefs;
1816 							if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA15_;
1817 							idefs = copyNode__ast_4336(it);
1818 							{
1819 								NI v;
1820 								NI colontmp__2;
1821 								NI T18_;
1822 								NI res;
1823 								v = (NI)0;
1824 								colontmp__2 = (NI)0;
1825 								T18_ = (NI)0;
1826 								T18_ = len__ast_3198(it);
1827 								colontmp__2 = (NI)(T18_ - ((NI) 3));
1828 								res = ((NI) 0);
1829 								{
1830 									while (1) {
1831 										if (!(res <= colontmp__2)) goto LA20;
1832 										v = res;
1833 										{
1834 											tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x_2;
1835 											tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T25_;
1836 											tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym316_;
1837 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
1838 											if (!((*(*it)._kind_6.sons->data[v]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA23_;
1839 											T25_ = nextSymId__ast_3132((*c).idgen);
1840 											x_2 = copySym__ast_4054((*(*it)._kind_6.sons->data[v])._kind_4.sym, T25_);
1841 											xX60gensym316_ = (*(*it)._kind_6.sons->data[v])._kind_4.sym;
1842 											X5BX5Deq___closureiters_2290((&(*c).tab), (NI)((NI)((NU64)(((NI) ((*xX60gensym316_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym316_).Sup.itemId.item))), x_2);
1843 											T26_ = NIM_NIL;
1844 											T26_ = newSymNode__ast_3716(x_2);
1845 											add__ast_4797(idefs, T26_);
1846 										}
1847 										goto LA21_;
1848 										LA23_: ;
1849 										{
1850 											add__ast_4797(idefs, (*it)._kind_6.sons->data[v]);
1851 										}
1852 										LA21_: ;
1853 										res += ((NI) 1);
1854 									} LA20: ;
1855 								}
1856 							}
1857 							{
1858 								NI rest;
1859 								NI colontmp__3;
1860 								NI colontmp__4;
1861 								NI T29_;
1862 								NI i_3;
1863 								rest = (NI)0;
1864 								colontmp__3 = (NI)0;
1865 								colontmp__4 = (NI)0;
1866 								T29_ = (NI)0;
1867 								T29_ = len__ast_3198(it);
1868 								colontmp__3 = (NI)(T29_ - ((NI) 2));
1869 								colontmp__4 = len__ast_3198(it);
1870 								i_3 = colontmp__3;
1871 								{
1872 									while (1) {
1873 										if (!(i_3 < colontmp__4)) goto LA31;
1874 										rest = i_3;
1875 										add__ast_4797(idefs, (*it)._kind_6.sons->data[rest]);
1876 										i_3 += ((NI) 1);
1877 									} LA31: ;
1878 								}
1879 							}
1880 							add__ast_4797(result, idefs);
1881 						}
1882 						goto LA13_;
1883 						LA15_: ;
1884 						{
1885 							add__ast_4797(result, it);
1886 						}
1887 						LA13_: ;
1888 						i_2 += ((NI) 1);
1889 					} LA12: ;
1890 				}
1891 			}
1892 		}
1893 	}
1894 	break;
1895 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
1896 	{
1897 		liMessage__msgs_1118((*c).config, (*c).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_5), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__slVvvIjx75ivXdMpHiE9c9aQ_6, NIM_FALSE);
1898 	}
1899 	break;
1900 	default:
1901 	{
1902 		result = n;
1903 		{
1904 			NI i_4;
1905 			NI colontmp__5;
1906 			NI i_5;
1907 			i_4 = (NI)0;
1908 			colontmp__5 = (NI)0;
1909 			colontmp__5 = safeLen__ast_3191(n);
1910 			i_5 = ((NI) 0);
1911 			{
1912 				while (1) {
1913 					if (!(i_5 < colontmp__5)) goto LA37;
1914 					i_4 = i_5;
1915 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_4]), freshVars__closureiters_1804((*n)._kind_6.sons->data[i_4], c));
1916 					i_5 += ((NI) 1);
1917 				} LA37: ;
1918 			}
1919 		}
1920 	}
1921 	break;
1922 	}
1923 	return result;
1924 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,preprocess__closureiters_3362)1925 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, preprocess__closureiters_3362)(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1926 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1927 	result = NIM_NIL;
1928 	result = n;
1929 	switch ((*n).kind) {
1930 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
1931 	{
1932 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f;
1933 		f = lastSon__ast_4832(n);
1934 		{
1935 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
1936 			NI T7_;
1937 			if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA4_;
1938 			T6_ = NIM_NIL;
1939 			T6_ = lastSon__ast_4832(f);
1940 			unsureAsgnRef((void**) (&(*c).finallys), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*c).finallys), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
1941 			T7_ = (*c).finallys->Sup.len++;
1942 			asgnRef((void**) (&(*c).finallys->data[T7_]), T6_);
1943 		}
1944 		LA4_: ;
1945 		{
1946 			NI i;
1947 			NI colontmp_;
1948 			NI i_2;
1949 			i = (NI)0;
1950 			colontmp_ = (NI)0;
1951 			colontmp_ = len__ast_3198(n);
1952 			i_2 = ((NI) 0);
1953 			{
1954 				while (1) {
1955 					if (!(i_2 < colontmp_)) goto LA10;
1956 					i = i_2;
1957 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i]));
1958 					i_2 += ((NI) 1);
1959 				} LA10: ;
1960 			}
1961 		}
1962 		{
1963 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
1964 			if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA13_;
1965 			T15_ = NIM_NIL;
1966 			T15_ = pop__trees_32((&(*c).finallys));
1967 			(void)(T15_);
1968 		}
1969 		LA13_: ;
1970 	}
1971 	break;
1972 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
1973 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
1974 	{
1975 		tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T17_;
1976 		NI T18_;
1977 		NI T19_;
1978 		tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T23_;
1979 		nimZeroMem((void*)(&T17_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
1980 		T17_.Field0 = n;
1981 		T18_ = ((*c).finallys ? (*c).finallys->Sup.len : 0);
1982 		T17_.Field1 = T18_;
1983 		unsureAsgnRef((void**) (&(*c).blocks), (tySequence__1I3cxybVrOXM64KW2dfERQ*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtupleLn58pnode_idx58intTT__1I3cxybVrOXM64KW2dfERQ_)));
1984 		T19_ = (*c).blocks->Sup.len++;
1985 		asgnRef((void**) (&(*c).blocks->data[T19_].Field0), T17_.Field0);
1986 		(*c).blocks->data[T19_].Field1 = T17_.Field1;
1987 		{
1988 			NI i_3;
1989 			NI colontmp__2;
1990 			NI i_4;
1991 			i_3 = (NI)0;
1992 			colontmp__2 = (NI)0;
1993 			colontmp__2 = len__ast_3198(n);
1994 			i_4 = ((NI) 0);
1995 			{
1996 				while (1) {
1997 					if (!(i_4 < colontmp__2)) goto LA22;
1998 					i_3 = i_4;
1999 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i_3]));
2000 					i_4 += ((NI) 1);
2001 				} LA22: ;
2002 			}
2003 		}
2004 		nimZeroMem((void*)(&T23_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
2005 		pop__closureiters_3415((&(*c).blocks), (&T23_));
2006 		(void)(T23_);
2007 	}
2008 	break;
2009 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
2010 	{
2011 		{
2012 			NI T27_;
2013 			T27_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
2014 			if (!(T27_ == ((NI) 0))) goto LA28_;
2015 		}
2016 		goto LA25_;
2017 		LA28_: ;
2018 		{
2019 			NI fin;
2020 			fin = ((NI) -1);
2021 			{
2022 				tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* T35_;
2023 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA33_;
2024 				T35_ = (tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw*)0;
2025 				T35_ = X5BX5D___closureiters_3437((*c).blocks->data, ((*c).blocks ? (*c).blocks->Sup.len : 0), ((NI) 1));
2026 				fin = (*T35_).Field1;
2027 			}
2028 			goto LA31_;
2029 			LA33_: ;
2030 			{
2031 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA37_;
2032 				{
2033 					NI i_5;
2034 					NI colontmp__3;
2035 					NI T40_;
2036 					NI res;
2037 					i_5 = (NI)0;
2038 					colontmp__3 = (NI)0;
2039 					T40_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
2040 					colontmp__3 = T40_;
2041 					res = colontmp__3;
2042 					{
2043 						while (1) {
2044 							if (!(((NI) 0) <= res)) goto LA42;
2045 							i_5 = res;
2046 							{
2047 								NIM_BOOL T45_;
2048 								NIM_BOOL T46_;
2049 								T45_ = (NIM_BOOL)0;
2050 								T46_ = (NIM_BOOL)0;
2051 								T46_ = ((*(*c).blocks->data[i_5].Field0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112));
2052 								if (!(T46_)) goto LA47_;
2053 								T46_ = ((*(*(*c).blocks->data[i_5].Field0)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2054 								LA47_: ;
2055 								T45_ = T46_;
2056 								if (!(T45_)) goto LA48_;
2057 								T45_ = ((*(*(*c).blocks->data[i_5].Field0)._kind_6.sons->data[((NI) 0)])._kind_4.sym == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
2058 								LA48_: ;
2059 								if (!T45_) goto LA49_;
2060 								fin = (*c).blocks->data[i_5].Field1;
2061 								goto LA39;
2062 							}
2063 							LA49_: ;
2064 							res -= ((NI) 1);
2065 						} LA42: ;
2066 					}
2067 				} LA39: ;
2068 			}
2069 			goto LA31_;
2070 			LA37_: ;
2071 			LA31_: ;
2072 			{
2073 				if (!(((NI) 0) <= fin)) goto LA53_;
2074 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2075 				{
2076 					NI i_6;
2077 					NI colontmp__4;
2078 					NI T56_;
2079 					NI res_2;
2080 					i_6 = (NI)0;
2081 					colontmp__4 = (NI)0;
2082 					T56_ = (((*c).finallys ? (*c).finallys->Sup.len : 0)-1);
2083 					colontmp__4 = T56_;
2084 					res_2 = colontmp__4;
2085 					{
2086 						while (1) {
2087 							tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w vars;
2088 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
2089 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T60_;
2090 							if (!(fin <= res_2)) goto LA58;
2091 							i_6 = res_2;
2092 							nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w));
2093 							nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__BITJ25TBEN8CE4NK59coN0w));
2094 							initTable__closureiters_3484(((NI) 32), (&vars.tab));
2095 							vars.config = (*c).config;
2096 							vars.info = (*n).info;
2097 							vars.idgen = (*c).idgen;
2098 							T59_ = NIM_NIL;
2099 							T59_ = preprocess__closureiters_3362(c, (*c).finallys->data[i_6]);
2100 							T60_ = NIM_NIL;
2101 							T60_ = freshVars__closureiters_1804(T59_, (&vars));
2102 							add__ast_4797(result, T60_);
2103 							unsureAsgnRef((void**) (&(*c).idgen), vars.idgen);
2104 							res_2 -= ((NI) 1);
2105 						} LA58: ;
2106 					}
2107 				}
2108 				add__ast_4797(result, n);
2109 			}
2110 			LA53_: ;
2111 		}
2112 		LA25_: ;
2113 	}
2114 	break;
2115 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2116 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
2117 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
2118 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2119 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
2120 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
2121 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
2122 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
2123 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2124 	{
2125 	}
2126 	break;
2127 	default:
2128 	{
2129 		{
2130 			NI i_7;
2131 			NI colontmp__5;
2132 			NI i_8;
2133 			i_7 = (NI)0;
2134 			colontmp__5 = (NI)0;
2135 			colontmp__5 = len__ast_3198(n);
2136 			i_8 = ((NI) 0);
2137 			{
2138 				while (1) {
2139 					if (!(i_8 < colontmp__5)) goto LA65;
2140 					i_7 = i_8;
2141 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_7]), preprocess__closureiters_3362(c, (*n)._kind_6.sons->data[i_7]));
2142 					i_8 += ((NI) 1);
2143 				} LA65: ;
2144 			}
2145 		}
2146 	}
2147 	break;
2148 	}
2149 	return result;
2150 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,toStmtList__closureiters_136)2151 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toStmtList__closureiters_136)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2152 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2153 	result = NIM_NIL;
2154 	result = n;
2155 	{
2156 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126)))) goto LA3_;
2157 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2158 		add__ast_4797(result, n);
2159 	}
2160 	LA3_: ;
2161 	return result;
2162 }
N_NIMCALL(NI,newState__closureiters_97)2163 N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_97)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
2164 	NI result;
2165 	NI T1_;
2166 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resLit;
2167 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
2168 	NI T2_;
2169 	NI T3_;
2170 	result = (NI)0;
2171 	T1_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
2172 	result = T1_;
2173 	resLit = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) (result)));
2174 	s = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157), (*n).info);
2175 	add__ast_4797(s, resLit);
2176 	add__ast_4797(s, n);
2177 	unsureAsgnRef((void**) (&(*ctx).states), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ctx).states), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
2178 	T2_ = (*ctx).states->Sup.len++;
2179 	asgnRef((void**) (&(*ctx).states->data[T2_]), s);
2180 	unsureAsgnRef((void**) (&(*ctx).exceptionTable), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*ctx).exceptionTable), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
2181 	T3_ = (*ctx).exceptionTable->Sup.len++;
2182 	(*ctx).exceptionTable->data[T3_] = (*ctx).curExcHandlingState;
2183 	{
2184 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2185 		if (!!((gotoOut == 0))) goto LA6_;
2186 		T8_ = NIM_NIL;
2187 		T8_ = newIntLit__lowerings_695((*ctx).g, (*gotoOut).info, ((NI64) (result)));
2188 		add__ast_4797(gotoOut, T8_);
2189 	}
2190 	LA6_: ;
2191 	return result;
2192 }
N_INLINE(void,nimGCunrefRC1)2193 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2194 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2195 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2196 	T1_ = usrToCell__system_5271(p);
2197 	decRef__system_5316(T1_);
2198 }
N_NIMCALL(void,add__closureiters_406)2199 N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_406)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** y, NI yLen_0) {
2200 	NI xl;
2201 	NI T1_;
2202 	T1_ = ((*x) ? (*x)->Sup.len : 0);
2203 	xl = T1_;
2204 	unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(xl + yLen_0)))));
2205 	{
2206 		NI i;
2207 		NI colontmp_;
2208 		NI res;
2209 		i = (NI)0;
2210 		colontmp_ = (NI)0;
2211 		colontmp_ = (yLen_0-1);
2212 		res = ((NI) 0);
2213 		{
2214 			while (1) {
2215 				if (!(res <= colontmp_)) goto LA4;
2216 				i = res;
2217 				asgnRef((void**) (&(*x)->data[(NI)(xl + i)]), y[i]);
2218 				res += ((NI) 1);
2219 			} LA4: ;
2220 		}
2221 	}
2222 }
N_NIMCALL(void,exprToStmtList__closureiters_385)2223 N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ* Result) {
2224 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
2225 	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
2226 	unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
2227 	unsureAsgnRef((void**) (&(*Result).Field0), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info));
2228 	if ((*(*Result).Field0)._kind_6.sons) { nimGCunrefRC1((*(*Result).Field0)._kind_6.sons); (*(*Result).Field0)._kind_6.sons = NIM_NIL; }
2229 	n_2 = n;
2230 	{
2231 		while (1) {
2232 			NI T3_;
2233 			NI T4_;
2234 			if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA2;
2235 			add__closureiters_406((&(*(*Result).Field0)._kind_6.sons), (*n_2)._kind_6.sons->data, ((*n_2)._kind_6.sons ? (*n_2)._kind_6.sons->Sup.len : 0));
2236 			T3_ = (NI)0;
2237 			T3_ = len__ast_3198((*Result).Field0);
2238 			asgnRef((void**) (&(*(*Result).Field0)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*Result).Field0)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(T3_ - ((NI) 1))))));
2239 			T4_ = (NI)0;
2240 			T4_ = len__ast_3198(n_2);
2241 			n_2 = (*n_2)._kind_6.sons->data[(NI)(T4_ - ((NI) 1))];
2242 		} LA2: ;
2243 	}
2244 	unsureAsgnRef((void**) (&(*Result).Field1), n_2);
2245 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)2246 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2247 	NIM_BOOL result;
2248 	NIM_BOOL T1_;
2249 	result = (NIM_BOOL)0;
2250 	T1_ = (NIM_BOOL)0;
2251 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2252 	if (T1_) goto LA2_;
2253 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
2254 	LA2_: ;
2255 	result = T1_;
2256 	return result;
2257 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newEnvVar__closureiters_49)2258 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newEnvVar__closureiters_49)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NimStringDesc* name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2259 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2260 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
2261 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
2262 	result = NIM_NIL;
2263 	T1_ = NIM_NIL;
2264 	T1_ = getIdent__idents_143((*(*ctx).g).cache, name);
2265 	T2_ = nextSymId__ast_3132((*ctx).idgen);
2266 	result = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T1_, T2_, (*ctx).fn, (*(*ctx).fn).info, 0);
2267 	asgnRef((void**) (&(*result).typ), typ);
2268 	{
2269 		if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
2270 		{
2271 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
2272 			if (!((*ctx).tempVars == 0)) goto LA9_;
2273 			unsureAsgnRef((void**) (&(*ctx).tempVars), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ctx).fn).info));
2274 			T11_ = NIM_NIL;
2275 			T11_ = newSymNode__ast_3716(result);
2276 			addVar__lowerings_63((*ctx).tempVars, T11_);
2277 		}
2278 		LA9_: ;
2279 	}
2280 	goto LA3_;
2281 	LA5_: ;
2282 	{
2283 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* envParam;
2284 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
2285 		envParam = getEnvParam__lambdalifting_131((*ctx).fn);
2286 		T13_ = NIM_NIL;
2287 		T13_ = lastSon__ast_3743((*envParam).typ);
2288 		result = addUniqueField__lowerings_443(T13_, result, (*(*ctx).g).cache, (*ctx).idgen);
2289 	}
2290 	LA3_: ;
2291 	return result;
2292 }
N_INLINE(void,nimCopyMem)2293 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2294 	void* T1_;
2295 	T1_ = (void*)0;
2296 	T1_ = memcpy(dest, source, ((size_t) (size)));
2297 }
N_INLINE(void,copyMem__system_1727)2298 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2299 	nimCopyMem(dest, source, size);
2300 }
N_INLINE(void,appendString)2301 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2302 	{
2303 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2304 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2305 		(*dest).Sup.len += (*src).Sup.len;
2306 	}
2307 	LA3_: ;
2308 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newTempVar__closureiters_167)2309 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newTempVar__closureiters_167)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2310 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2311 	NimStringDesc* T1_;
2312 	NimStringDesc* T2_;
2313 	result = NIM_NIL;
2314 	T1_ = NIM_NIL;
2315 	T2_ = NIM_NIL;
2316 	T2_ = dollar___systemZdollars_3((*ctx).tempVarId);
2317 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 11);
2318 appendString(T1_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_10));
2319 appendString(T1_, T2_);
2320 	result = newEnvVar__closureiters_49(ctx, T1_, typ);
2321 	(*ctx).tempVarId += ((NI) 1);
2322 	return result;
2323 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEnvVarAccess__closureiters_70)2324 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAccess__closureiters_70)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2325 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2326 	result = NIM_NIL;
2327 	{
2328 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
2329 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
2330 		if (!((*ctx).stateVarSym == 0)) goto LA3_;
2331 		T5_ = NIM_NIL;
2332 		T5_ = getEnvParam__lambdalifting_131((*ctx).fn);
2333 		T6_ = NIM_NIL;
2334 		T6_ = newSymNode__ast_3716(T5_);
2335 		result = rawIndirectAccess__lowerings_326(T6_, s, (*(*ctx).fn).info);
2336 	}
2337 	goto LA1_;
2338 	LA3_: ;
2339 	{
2340 		result = newSymNode__ast_3716(s);
2341 	}
2342 	LA1_: ;
2343 	return result;
2344 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEnvVarAsgn__closureiters_441)2345 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEnvVarAsgn__closureiters_441)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v) {
2346 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2347 	result = NIM_NIL;
2348 	{
2349 		NIM_BOOL T3_;
2350 		T3_ = (NIM_BOOL)0;
2351 		T3_ = isEmptyType__ast_4779((*v).typ);
2352 		if (!T3_) goto LA4_;
2353 		result = v;
2354 	}
2355 	goto LA1_;
2356 	LA4_: ;
2357 	{
2358 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T7_;
2359 		nimZeroMem((void*)T7_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2360 		T7_[0] = newEnvVarAccess__closureiters_70(ctx, s);
2361 		T7_[1] = v;
2362 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T7_, 2);
2363 		(*result).info = (*v).info;
2364 	}
2365 	LA1_: ;
2366 	return result;
2367 }
N_NIMCALL(void,addExprAssgn__closureiters_446)2368 N_LIB_PRIVATE N_NIMCALL(void, addExprAssgn__closureiters_446)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* output, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* input, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
2369 	{
2370 		tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T5_;
2371 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
2372 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
2373 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
2374 		if (!((*input).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
2375 		nimZeroMem((void*)(&T5_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2376 		exprToStmtList__closureiters_385(input, (&T5_));
2377 		st = NIM_NIL;
2378 		st = T5_.Field0;
2379 		res = NIM_NIL;
2380 		res = T5_.Field1;
2381 		add__ast_4797(output, st);
2382 		T6_ = NIM_NIL;
2383 		T6_ = newEnvVarAsgn__closureiters_441(ctx, sym, res);
2384 		add__ast_4797(output, T6_);
2385 	}
2386 	goto LA1_;
2387 	LA3_: ;
2388 	{
2389 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
2390 		T8_ = NIM_NIL;
2391 		T8_ = newEnvVarAsgn__closureiters_441(ctx, sym, input);
2392 		add__ast_4797(output, T8_);
2393 	}
2394 	LA1_: ;
2395 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,convertExprBodyToAsgn__closureiters_469)2396 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, convertExprBodyToAsgn__closureiters_469)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprBody, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* res) {
2397 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2398 	result = NIM_NIL;
2399 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*exprBody).info);
2400 	addExprAssgn__closureiters_446(ctx, result, exprBody, res);
2401 	return result;
2402 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newNotCall__closureiters_474)2403 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNotCall__closureiters_474)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
2404 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2405 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
2406 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
2407 	result = NIM_NIL;
2408 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2409 	T2_ = NIM_NIL;
2410 	T2_ = getSysMagic__magicsys_29(g, (*e).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_17), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
2411 	T1_[0] = newSymNode__ast_3719(T2_, (*e).info);
2412 	T1_[1] = e;
2413 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 2);
2414 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60(g, (*e).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
2415 	return result;
2416 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,lowerStmtListExprs__closureiters_478)2417 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerStmtListExprs__closureiters_478)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL* needsSplit) {
2418 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2419 	result = NIM_NIL;
2420 	result = n;
2421 	switch ((*n).kind) {
2422 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2423 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
2424 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
2425 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2426 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
2427 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
2428 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
2429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
2430 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2431 	{
2432 	}
2433 	break;
2434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
2435 	{
2436 		NIM_BOOL ns;
2437 		ns = NIM_FALSE;
2438 		{
2439 			NI i;
2440 			NI colontmp_;
2441 			NI i_2;
2442 			i = (NI)0;
2443 			colontmp_ = (NI)0;
2444 			colontmp_ = len__ast_3198(n);
2445 			i_2 = ((NI) 0);
2446 			{
2447 				while (1) {
2448 					if (!(i_2 < colontmp_)) goto LA5;
2449 					i = i_2;
2450 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i], (&ns)));
2451 					i_2 += ((NI) 1);
2452 				} LA5: ;
2453 			}
2454 		}
2455 		{
2456 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T10_;
2457 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
2458 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex;
2459 			if (!ns) goto LA8_;
2460 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2461 			nimZeroMem((void*)(&T10_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2462 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T10_));
2463 			st = NIM_NIL;
2464 			st = T10_.Field0;
2465 			ex = NIM_NIL;
2466 			ex = T10_.Field1;
2467 			add__ast_4797(result, st);
2468 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex);
2469 			add__ast_4797(result, n);
2470 		}
2471 		LA8_: ;
2472 		(*needsSplit) = NIM_TRUE;
2473 	}
2474 	break;
2475 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
2476 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
2477 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
2478 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
2479 	{
2480 		NIM_BOOL ns_2;
2481 		ns_2 = NIM_FALSE;
2482 		{
2483 			NI i_3;
2484 			NI colontmp__2;
2485 			NI i_4;
2486 			i_3 = (NI)0;
2487 			colontmp__2 = (NI)0;
2488 			colontmp__2 = len__ast_3198(n);
2489 			i_4 = ((NI) 0);
2490 			{
2491 				while (1) {
2492 					if (!(i_4 < colontmp__2)) goto LA14;
2493 					i_3 = i_4;
2494 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_3], (&ns_2)));
2495 					i_4 += ((NI) 1);
2496 				} LA14: ;
2497 			}
2498 		}
2499 		{
2500 			if (!ns_2) goto LA17_;
2501 			(*needsSplit) = NIM_TRUE;
2502 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2503 			{
2504 				if (!((*n).typ == 0)) goto LA21_;
2505 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_8), TM__slVvvIjx75ivXdMpHiE9c9aQ_9);
2506 			}
2507 			LA21_: ;
2508 			asgnRef((void**) (&(*result).typ), (*n).typ);
2509 			{
2510 				NI i_5;
2511 				NI colontmp__3;
2512 				NI i_6;
2513 				i_5 = (NI)0;
2514 				colontmp__3 = (NI)0;
2515 				colontmp__3 = len__ast_3198(n);
2516 				i_6 = ((NI) 0);
2517 				{
2518 					while (1) {
2519 						if (!(i_6 < colontmp__3)) goto LA25;
2520 						i_5 = i_6;
2521 						switch ((*(*n)._kind_6.sons->data[i_5]).kind) {
2522 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
2523 						{
2524 							{
2525 								tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T31_;
2526 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_2;
2527 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_2;
2528 								if (!((*(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA29_;
2529 								nimZeroMem((void*)(&T31_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2530 								exprToStmtList__closureiters_385((*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)], (&T31_));
2531 								st_2 = NIM_NIL;
2532 								st_2 = T31_.Field0;
2533 								ex_2 = NIM_NIL;
2534 								ex_2 = T31_.Field1;
2535 								add__ast_4797(result, st_2);
2536 								asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]), ex_2);
2537 							}
2538 							LA29_: ;
2539 						}
2540 						break;
2541 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
2542 						{
2543 							tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T33_;
2544 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_3;
2545 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_3;
2546 							nimZeroMem((void*)(&T33_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2547 							exprToStmtList__closureiters_385((*n)._kind_6.sons->data[i_5], (&T33_));
2548 							st_3 = NIM_NIL;
2549 							st_3 = T33_.Field0;
2550 							ex_3 = NIM_NIL;
2551 							ex_3 = T33_.Field1;
2552 							add__ast_4797(result, st_3);
2553 							asgnRef((void**) (&(*n)._kind_6.sons->data[i_5]), ex_3);
2554 						}
2555 						break;
2556 						default:
2557 						{
2558 						}
2559 						break;
2560 						}
2561 						i_6 += ((NI) 1);
2562 					} LA25: ;
2563 				}
2564 			}
2565 			add__ast_4797(result, n);
2566 		}
2567 		LA17_: ;
2568 	}
2569 	break;
2570 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
2571 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
2572 	{
2573 		NIM_BOOL ns_3;
2574 		ns_3 = NIM_FALSE;
2575 		{
2576 			NI i_7;
2577 			NI colontmp__4;
2578 			NI i_8;
2579 			i_7 = (NI)0;
2580 			colontmp__4 = (NI)0;
2581 			colontmp__4 = len__ast_3198(n);
2582 			i_8 = ((NI) 0);
2583 			{
2584 				while (1) {
2585 					if (!(i_8 < colontmp__4)) goto LA38;
2586 					i_7 = i_8;
2587 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_7]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_7], (&ns_3)));
2588 					i_8 += ((NI) 1);
2589 				} LA38: ;
2590 			}
2591 		}
2592 		{
2593 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp;
2594 			NIM_BOOL isExpr;
2595 			NIM_BOOL T43_;
2596 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curS;
2597 			if (!ns_3) goto LA41_;
2598 			(*needsSplit) = NIM_TRUE;
2599 			tmp = NIM_NIL;
2600 			T43_ = (NIM_BOOL)0;
2601 			T43_ = isEmptyType__ast_4779((*n).typ);
2602 			isExpr = !(T43_);
2603 			{
2604 				if (!isExpr) goto LA46_;
2605 				tmp = newTempVar__closureiters_167(ctx, (*n).typ);
2606 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2607 				asgnRef((void**) (&(*result).typ), (*n).typ);
2608 			}
2609 			goto LA44_;
2610 			LA46_: ;
2611 			{
2612 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2613 			}
2614 			LA44_: ;
2615 			curS = result;
2616 			{
2617 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
2618 				branch = NIM_NIL;
2619 				{
2620 					NI i_9;
2621 					NI colontmp__5;
2622 					NI i_10;
2623 					i_9 = (NI)0;
2624 					colontmp__5 = (NI)0;
2625 					colontmp__5 = safeLen__ast_3191(n);
2626 					i_10 = ((NI) 0);
2627 					{
2628 						while (1) {
2629 							if (!(i_10 < colontmp__5)) goto LA52;
2630 							i_9 = i_10;
2631 							branch = (*n)._kind_6.sons->data[i_9];
2632 							switch ((*branch).kind) {
2633 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
2634 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2635 							{
2636 								{
2637 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody;
2638 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBranch;
2639 									tyArray__jlWPjgtbdjE069arIWHC9c9bg T58_;
2640 									if (!isExpr) goto LA56_;
2641 									branchBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*branch).info);
2642 									addExprAssgn__closureiters_446((&(*ctx)), branchBody, (*branch)._kind_6.sons->data[((NI) 0)], tmp);
2643 									nimZeroMem((void*)T58_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2644 									T58_[0] = branchBody;
2645 									newBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T58_, 1);
2646 									add__ast_4797(curS, newBranch);
2647 								}
2648 								goto LA54_;
2649 								LA56_: ;
2650 								{
2651 									add__ast_4797(curS, branch);
2652 								}
2653 								LA54_: ;
2654 							}
2655 							break;
2656 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
2657 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
2658 							{
2659 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBranch_2;
2660 								newBranch_2 = NIM_NIL;
2661 								{
2662 									tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T65_;
2663 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_4;
2664 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
2665 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBody;
2666 									tyArray__jlWPjgtbdjE069arIWHC9c9bg T66_;
2667 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T67_;
2668 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newIf;
2669 									tyArray__jlWPjgtbdjE069arIWHC9c9bg T68_;
2670 									if (!((*(*branch)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA63_;
2671 									nimZeroMem((void*)(&T65_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2672 									exprToStmtList__closureiters_385((*branch)._kind_6.sons->data[((NI) 0)], (&T65_));
2673 									st_4 = NIM_NIL;
2674 									st_4 = T65_.Field0;
2675 									res = NIM_NIL;
2676 									res = T65_.Field1;
2677 									nimZeroMem((void*)T66_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2678 									T66_[0] = st_4;
2679 									elseBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T66_, 1);
2680 									nimZeroMem((void*)T67_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
2681 									T67_[0] = res;
2682 									T67_[1] = (*branch)._kind_6.sons->data[((NI) 1)];
2683 									newBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T67_, 2);
2684 									nimZeroMem((void*)T68_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2685 									T68_[0] = newBranch_2;
2686 									newIf = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T68_, 1);
2687 									add__ast_4797(elseBody, newIf);
2688 									{
2689 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newElse;
2690 										if (!((*curS).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92))) goto LA71_;
2691 										newElse = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (*branch).info);
2692 										add__ast_4797(newElse, elseBody);
2693 										add__ast_4797(curS, newElse);
2694 									}
2695 									goto LA69_;
2696 									LA71_: ;
2697 									{
2698 										add__ast_4797(curS, elseBody);
2699 									}
2700 									LA69_: ;
2701 									curS = newIf;
2702 								}
2703 								goto LA61_;
2704 								LA63_: ;
2705 								{
2706 									newBranch_2 = branch;
2707 									{
2708 										if (!((*curS).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92))) goto LA77_;
2709 										add__ast_4797(curS, newBranch_2);
2710 									}
2711 									goto LA75_;
2712 									LA77_: ;
2713 									{
2714 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newIf_2;
2715 										tyArray__jlWPjgtbdjE069arIWHC9c9bg T80_;
2716 										nimZeroMem((void*)T80_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
2717 										T80_[0] = newBranch_2;
2718 										newIf_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T80_, 1);
2719 										add__ast_4797(curS, newIf_2);
2720 										curS = newIf_2;
2721 									}
2722 									LA75_: ;
2723 								}
2724 								LA61_: ;
2725 								{
2726 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody_2;
2727 									if (!isExpr) goto LA83_;
2728 									branchBody_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*branch)._kind_6.sons->data[((NI) 1)]).info);
2729 									addExprAssgn__closureiters_446((&(*ctx)), branchBody_2, (*branch)._kind_6.sons->data[((NI) 1)], tmp);
2730 									asgnRef((void**) (&(*newBranch_2)._kind_6.sons->data[((NI) 1)]), branchBody_2);
2731 								}
2732 								LA83_: ;
2733 							}
2734 							break;
2735 							default:
2736 							{
2737 								NimStringDesc* T86_;
2738 								T86_ = NIM_NIL;
2739 								T86_ = rawNewString((reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 25);
2740 appendString(T86_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_11));
2741 appendString(T86_, reprEnum((NI)(*branch).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2742 								internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T86_, TM__slVvvIjx75ivXdMpHiE9c9aQ_12);
2743 							}
2744 							break;
2745 							}
2746 							i_10 += ((NI) 1);
2747 						} LA52: ;
2748 					}
2749 				}
2750 			}
2751 			{
2752 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T91_;
2753 				if (!isExpr) goto LA89_;
2754 				T91_ = NIM_NIL;
2755 				T91_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp);
2756 				add__ast_4797(result, T91_);
2757 			}
2758 			LA89_: ;
2759 		}
2760 		LA41_: ;
2761 	}
2762 	break;
2763 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
2764 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
2765 	{
2766 		NIM_BOOL ns_4;
2767 		ns_4 = NIM_FALSE;
2768 		{
2769 			NI i_11;
2770 			NI colontmp__6;
2771 			NI i_12;
2772 			i_11 = (NI)0;
2773 			colontmp__6 = (NI)0;
2774 			colontmp__6 = len__ast_3198(n);
2775 			i_12 = ((NI) 0);
2776 			{
2777 				while (1) {
2778 					if (!(i_12 < colontmp__6)) goto LA95;
2779 					i_11 = i_12;
2780 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_11]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_11], (&ns_4)));
2781 					i_12 += ((NI) 1);
2782 				} LA95: ;
2783 			}
2784 		}
2785 		{
2786 			NIM_BOOL isExpr_2;
2787 			NIM_BOOL T100_;
2788 			if (!ns_4) goto LA98_;
2789 			(*needsSplit) = NIM_TRUE;
2790 			T100_ = (NIM_BOOL)0;
2791 			T100_ = isEmptyType__ast_4779((*n).typ);
2792 			isExpr_2 = !(T100_);
2793 			{
2794 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_2;
2795 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T117_;
2796 				if (!isExpr_2) goto LA103_;
2797 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2798 				asgnRef((void**) (&(*result).typ), (*n).typ);
2799 				tmp_2 = newTempVar__closureiters_167(ctx, (*n).typ);
2800 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*n)._kind_6.sons->data[((NI) 0)], tmp_2));
2801 				{
2802 					NI i_13;
2803 					NI colontmp__7;
2804 					NI i_14;
2805 					i_13 = (NI)0;
2806 					colontmp__7 = (NI)0;
2807 					colontmp__7 = len__ast_3198(n);
2808 					i_14 = ((NI) 1);
2809 					{
2810 						while (1) {
2811 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_2;
2812 							if (!(i_14 < colontmp__7)) goto LA107;
2813 							i_13 = i_14;
2814 							branch_2 = (*n)._kind_6.sons->data[i_13];
2815 							switch ((*branch_2).kind) {
2816 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
2817 							{
2818 								{
2819 									if (!((*(*branch_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA111_;
2820 									asgnRef((void**) (&(*branch_2)._kind_6.sons->data[((NI) 1)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_2)._kind_6.sons->data[((NI) 1)], tmp_2));
2821 								}
2822 								goto LA109_;
2823 								LA111_: ;
2824 								{
2825 									asgnRef((void**) (&(*branch_2)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_2)._kind_6.sons->data[((NI) 0)], tmp_2));
2826 								}
2827 								LA109_: ;
2828 							}
2829 							break;
2830 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
2831 							{
2832 							}
2833 							break;
2834 							default:
2835 							{
2836 								NimStringDesc* T116_;
2837 								T116_ = NIM_NIL;
2838 								T116_ = rawNewString((reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 30);
2839 appendString(T116_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_13));
2840 appendString(T116_, reprEnum((NI)(*branch_2).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2841 								internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T116_, TM__slVvvIjx75ivXdMpHiE9c9aQ_14);
2842 							}
2843 							break;
2844 							}
2845 							i_14 += ((NI) 1);
2846 						} LA107: ;
2847 					}
2848 				}
2849 				add__ast_4797(result, n);
2850 				T117_ = NIM_NIL;
2851 				T117_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_2);
2852 				add__ast_4797(result, T117_);
2853 			}
2854 			LA103_: ;
2855 		}
2856 		LA98_: ;
2857 	}
2858 	break;
2859 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
2860 	{
2861 		NIM_BOOL ns_5;
2862 		ns_5 = NIM_FALSE;
2863 		{
2864 			NI i_15;
2865 			NI colontmp__8;
2866 			NI i_16;
2867 			i_15 = (NI)0;
2868 			colontmp__8 = (NI)0;
2869 			colontmp__8 = len__ast_3198(n);
2870 			i_16 = ((NI) 0);
2871 			{
2872 				while (1) {
2873 					if (!(i_16 < colontmp__8)) goto LA121;
2874 					i_15 = i_16;
2875 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_15]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_15], (&ns_5)));
2876 					i_16 += ((NI) 1);
2877 				} LA121: ;
2878 			}
2879 		}
2880 		{
2881 			NIM_BOOL isExpr_3;
2882 			NIM_BOOL T126_;
2883 			if (!ns_5) goto LA124_;
2884 			(*needsSplit) = NIM_TRUE;
2885 			T126_ = (NIM_BOOL)0;
2886 			T126_ = isEmptyType__ast_4779((*n).typ);
2887 			isExpr_3 = !(T126_);
2888 			{
2889 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_3;
2890 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T145_;
2891 				if (!isExpr_3) goto LA129_;
2892 				tmp_3 = newTempVar__closureiters_167(ctx, (*n).typ);
2893 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
2894 				asgnRef((void**) (&(*result).typ), (*n).typ);
2895 				{
2896 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T135_;
2897 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_5;
2898 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_4;
2899 					if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA133_;
2900 					nimZeroMem((void*)(&T135_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2901 					exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T135_));
2902 					st_5 = NIM_NIL;
2903 					st_5 = T135_.Field0;
2904 					ex_4 = NIM_NIL;
2905 					ex_4 = T135_.Field1;
2906 					add__ast_4797(result, st_5);
2907 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_4);
2908 				}
2909 				LA133_: ;
2910 				{
2911 					NI i_17;
2912 					NI colontmp__9;
2913 					NI i_18;
2914 					i_17 = (NI)0;
2915 					colontmp__9 = (NI)0;
2916 					colontmp__9 = len__ast_3198(n);
2917 					i_18 = ((NI) 1);
2918 					{
2919 						while (1) {
2920 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_3;
2921 							if (!(i_18 < colontmp__9)) goto LA138;
2922 							i_17 = i_18;
2923 							branch_3 = (*n)._kind_6.sons->data[i_17];
2924 							switch ((*branch_3).kind) {
2925 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
2926 							{
2927 								NI T140_;
2928 								NI T141_;
2929 								T140_ = (NI)0;
2930 								T140_ = len__ast_3198(branch_3);
2931 								T141_ = (NI)0;
2932 								T141_ = len__ast_3198(branch_3);
2933 								asgnRef((void**) (&(*branch_3)._kind_6.sons->data[(NI)(T140_ - ((NI) 1))]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_3)._kind_6.sons->data[(NI)(T141_ - ((NI) 1))], tmp_3));
2934 							}
2935 							break;
2936 							case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2937 							{
2938 								asgnRef((void**) (&(*branch_3)._kind_6.sons->data[((NI) 0)]), convertExprBodyToAsgn__closureiters_469((&(*ctx)), (*branch_3)._kind_6.sons->data[((NI) 0)], tmp_3));
2939 							}
2940 							break;
2941 							default:
2942 							{
2943 								NimStringDesc* T144_;
2944 								T144_ = NIM_NIL;
2945 								T144_ = rawNewString((reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 31);
2946 appendString(T144_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_15));
2947 appendString(T144_, reprEnum((NI)(*branch_3).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
2948 								internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T144_, TM__slVvvIjx75ivXdMpHiE9c9aQ_16);
2949 							}
2950 							break;
2951 							}
2952 							i_18 += ((NI) 1);
2953 						} LA138: ;
2954 					}
2955 				}
2956 				add__ast_4797(result, n);
2957 				T145_ = NIM_NIL;
2958 				T145_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_3);
2959 				add__ast_4797(result, T145_);
2960 			}
2961 			goto LA127_;
2962 			LA129_: ;
2963 			{
2964 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T149_;
2965 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_6;
2966 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_5;
2967 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA147_;
2968 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
2969 				nimZeroMem((void*)(&T149_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2970 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T149_));
2971 				st_6 = NIM_NIL;
2972 				st_6 = T149_.Field0;
2973 				ex_5 = NIM_NIL;
2974 				ex_5 = T149_.Field1;
2975 				add__ast_4797(result, st_6);
2976 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_5);
2977 				add__ast_4797(result, n);
2978 			}
2979 			goto LA127_;
2980 			LA147_: ;
2981 			LA127_: ;
2982 		}
2983 		LA124_: ;
2984 	}
2985 	break;
2986 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
2987 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
2988 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
2989 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
2990 	{
2991 		NIM_BOOL ns_6;
2992 		ns_6 = NIM_FALSE;
2993 		{
2994 			NI i_19;
2995 			NI colontmp__10;
2996 			NI i_20;
2997 			i_19 = (NI)0;
2998 			colontmp__10 = (NI)0;
2999 			colontmp__10 = len__ast_3198(n);
3000 			i_20 = ((NI) 0);
3001 			{
3002 				while (1) {
3003 					if (!(i_20 < colontmp__10)) goto LA153;
3004 					i_19 = i_20;
3005 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_19]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_19], (&ns_6)));
3006 					i_20 += ((NI) 1);
3007 				} LA153: ;
3008 			}
3009 		}
3010 		{
3011 			NIM_BOOL isExpr_4;
3012 			NIM_BOOL T158_;
3013 			if (!ns_6) goto LA156_;
3014 			(*needsSplit) = NIM_TRUE;
3015 			T158_ = (NIM_BOOL)0;
3016 			T158_ = isEmptyType__ast_4779((*n).typ);
3017 			isExpr_4 = !(T158_);
3018 			{
3019 				if (!isExpr_4) goto LA161_;
3020 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3021 				asgnRef((void**) (&(*result).typ), (*n).typ);
3022 			}
3023 			goto LA159_;
3024 			LA161_: ;
3025 			{
3026 				result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3027 			}
3028 			LA159_: ;
3029 			{
3030 				NIM_BOOL T166_;
3031 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
3032 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_4;
3033 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T175_;
3034 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
3035 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBody;
3036 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T185_;
3037 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
3038 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T186_;
3039 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifNode;
3040 				tyArray__jlWPjgtbdjE069arIWHC9c9bg T187_;
3041 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T188_;
3042 				T166_ = (NIM_BOOL)0;
3043 				T166_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3044 				if (!(T166_)) goto LA167_;
3045 				T166_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110));
3046 				LA167_: ;
3047 				if (!T166_) goto LA168_;
3048 				cond = (*n)._kind_6.sons->data[((NI) 1)];
3049 				{
3050 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T174_;
3051 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_7;
3052 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_6;
3053 					if (!((*cond).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA172_;
3054 					nimZeroMem((void*)(&T174_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3055 					exprToStmtList__closureiters_385(cond, (&T174_));
3056 					st_7 = NIM_NIL;
3057 					st_7 = T174_.Field0;
3058 					ex_6 = NIM_NIL;
3059 					ex_6 = T174_.Field1;
3060 					add__ast_4797(result, st_7);
3061 					cond = ex_6;
3062 				}
3063 				LA172_: ;
3064 				tmp_4 = newTempVar__closureiters_167(ctx, (*cond).typ);
3065 				T175_ = NIM_NIL;
3066 				T175_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_4, cond);
3067 				add__ast_4797(result, T175_);
3068 				check = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_4);
3069 				{
3070 					if (!((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110))) goto LA178_;
3071 					check = newNotCall__closureiters_474((*ctx).g, check);
3072 				}
3073 				LA178_: ;
3074 				cond = (*n)._kind_6.sons->data[((NI) 2)];
3075 				ifBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*cond).info);
3076 				{
3077 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T184_;
3078 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_8;
3079 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_7;
3080 					if (!((*cond).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA182_;
3081 					nimZeroMem((void*)(&T184_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3082 					exprToStmtList__closureiters_385(cond, (&T184_));
3083 					st_8 = NIM_NIL;
3084 					st_8 = T184_.Field0;
3085 					ex_7 = NIM_NIL;
3086 					ex_7 = T184_.Field1;
3087 					add__ast_4797(ifBody, st_8);
3088 					cond = ex_7;
3089 				}
3090 				LA182_: ;
3091 				T185_ = NIM_NIL;
3092 				T185_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_4, cond);
3093 				add__ast_4797(ifBody, T185_);
3094 				nimZeroMem((void*)T186_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3095 				T186_[0] = check;
3096 				T186_[1] = ifBody;
3097 				ifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T186_, 2);
3098 				nimZeroMem((void*)T187_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3099 				T187_[0] = ifBranch;
3100 				ifNode = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T187_, 1);
3101 				add__ast_4797(result, ifNode);
3102 				T188_ = NIM_NIL;
3103 				T188_ = newEnvVarAccess__closureiters_70((&(*ctx)), tmp_4);
3104 				add__ast_4797(result, T188_);
3105 			}
3106 			goto LA164_;
3107 			LA168_: ;
3108 			{
3109 				{
3110 					NI i_21;
3111 					NI colontmp__11;
3112 					NI i_22;
3113 					i_21 = (NI)0;
3114 					colontmp__11 = (NI)0;
3115 					colontmp__11 = len__ast_3198(n);
3116 					i_22 = ((NI) 0);
3117 					{
3118 						while (1) {
3119 							if (!(i_22 < colontmp__11)) goto LA192;
3120 							i_21 = i_22;
3121 							{
3122 								tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T197_;
3123 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_9;
3124 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_8;
3125 								if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA195_;
3126 								nimZeroMem((void*)(&T197_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3127 								exprToStmtList__closureiters_385((*n)._kind_6.sons->data[i_21], (&T197_));
3128 								st_9 = NIM_NIL;
3129 								st_9 = T197_.Field0;
3130 								ex_8 = NIM_NIL;
3131 								ex_8 = T197_.Field1;
3132 								add__ast_4797(result, st_9);
3133 								asgnRef((void**) (&(*n)._kind_6.sons->data[i_21]), ex_8);
3134 							}
3135 							LA195_: ;
3136 							{
3137 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* tmp_5;
3138 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T202_;
3139 								if (!((*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[i_21]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA200_;
3140 								tmp_5 = newTempVar__closureiters_167(ctx, (*(*n)._kind_6.sons->data[i_21]).typ);
3141 								T202_ = NIM_NIL;
3142 								T202_ = newEnvVarAsgn__closureiters_441((&(*ctx)), tmp_5, (*n)._kind_6.sons->data[i_21]);
3143 								add__ast_4797(result, T202_);
3144 								asgnRef((void**) (&(*n)._kind_6.sons->data[i_21]), newEnvVarAccess__closureiters_70((&(*ctx)), tmp_5));
3145 							}
3146 							LA200_: ;
3147 							i_22 += ((NI) 1);
3148 						} LA192: ;
3149 					}
3150 				}
3151 				add__ast_4797(result, n);
3152 			}
3153 			LA164_: ;
3154 		}
3155 		LA156_: ;
3156 	}
3157 	break;
3158 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
3159 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
3160 	{
3161 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3162 		{
3163 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3164 			c = NIM_NIL;
3165 			{
3166 				NI i_23;
3167 				NI colontmp__12;
3168 				NI i_24;
3169 				i_23 = (NI)0;
3170 				colontmp__12 = (NI)0;
3171 				colontmp__12 = safeLen__ast_3191(n);
3172 				i_24 = ((NI) 0);
3173 				{
3174 					while (1) {
3175 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSect;
3176 						NIM_BOOL ns_7;
3177 						NI T208_;
3178 						NI T209_;
3179 						if (!(i_24 < colontmp__12)) goto LA207;
3180 						i_23 = i_24;
3181 						c = (*n)._kind_6.sons->data[i_23];
3182 						varSect = newNodeI__ast_3356((*n).kind, (*n).info);
3183 						add__ast_4797(varSect, c);
3184 						ns_7 = NIM_FALSE;
3185 						T208_ = (NI)0;
3186 						T208_ = len__ast_3198(c);
3187 						T209_ = (NI)0;
3188 						T209_ = len__ast_3198(c);
3189 						asgnRef((void**) (&(*c)._kind_6.sons->data[(NI)(T208_ - ((NI) 1))]), lowerStmtListExprs__closureiters_478(ctx, (*c)._kind_6.sons->data[(NI)(T209_ - ((NI) 1))], (&ns_7)));
3190 						{
3191 							NI T214_;
3192 							tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T215_;
3193 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_10;
3194 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_9;
3195 							NI T216_;
3196 							if (!ns_7) goto LA212_;
3197 							(*needsSplit) = NIM_TRUE;
3198 							T214_ = (NI)0;
3199 							T214_ = len__ast_3198(c);
3200 							nimZeroMem((void*)(&T215_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3201 							exprToStmtList__closureiters_385((*c)._kind_6.sons->data[(NI)(T214_ - ((NI) 1))], (&T215_));
3202 							st_10 = NIM_NIL;
3203 							st_10 = T215_.Field0;
3204 							ex_9 = NIM_NIL;
3205 							ex_9 = T215_.Field1;
3206 							add__ast_4797(result, st_10);
3207 							T216_ = (NI)0;
3208 							T216_ = len__ast_3198(c);
3209 							asgnRef((void**) (&(*c)._kind_6.sons->data[(NI)(T216_ - ((NI) 1))]), ex_9);
3210 						}
3211 						LA212_: ;
3212 						add__ast_4797(result, varSect);
3213 						i_24 += ((NI) 1);
3214 					} LA207: ;
3215 				}
3216 			}
3217 		}
3218 	}
3219 	break;
3220 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
3221 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
3222 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
3223 	{
3224 		NIM_BOOL ns_8;
3225 		ns_8 = NIM_FALSE;
3226 		{
3227 			NI i_25;
3228 			NI colontmp__13;
3229 			NI i_26;
3230 			i_25 = (NI)0;
3231 			colontmp__13 = (NI)0;
3232 			colontmp__13 = len__ast_3198(n);
3233 			i_26 = ((NI) 0);
3234 			{
3235 				while (1) {
3236 					if (!(i_26 < colontmp__13)) goto LA220;
3237 					i_25 = i_26;
3238 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_25]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_25], (&ns_8)));
3239 					i_26 += ((NI) 1);
3240 				} LA220: ;
3241 			}
3242 		}
3243 		{
3244 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T225_;
3245 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_11;
3246 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_10;
3247 			if (!ns_8) goto LA223_;
3248 			(*needsSplit) = NIM_TRUE;
3249 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3250 			nimZeroMem((void*)(&T225_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3251 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T225_));
3252 			st_11 = NIM_NIL;
3253 			st_11 = T225_.Field0;
3254 			ex_10 = NIM_NIL;
3255 			ex_10 = T225_.Field1;
3256 			add__ast_4797(result, st_11);
3257 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_10);
3258 			add__ast_4797(result, n);
3259 		}
3260 		LA223_: ;
3261 	}
3262 	break;
3263 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3264 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
3265 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
3266 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
3267 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
3268 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
3269 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
3270 	{
3271 		NIM_BOOL ns_9;
3272 		ns_9 = NIM_FALSE;
3273 		{
3274 			NI i_27;
3275 			NI colontmp__14;
3276 			NI colontmp__15;
3277 			NI i_28;
3278 			i_27 = (NI)0;
3279 			colontmp__14 = (NI)0;
3280 			colontmp__15 = (NI)0;
3281 			colontmp__14 = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61));
3282 			colontmp__15 = len__ast_3198(n);
3283 			i_28 = colontmp__14;
3284 			{
3285 				while (1) {
3286 					if (!(i_28 < colontmp__15)) goto LA229;
3287 					i_27 = i_28;
3288 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_27]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_27], (&ns_9)));
3289 					i_28 += ((NI) 1);
3290 				} LA229: ;
3291 			}
3292 		}
3293 		{
3294 			NI T234_;
3295 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T235_;
3296 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_12;
3297 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_11;
3298 			NI T236_;
3299 			if (!ns_9) goto LA232_;
3300 			(*needsSplit) = NIM_TRUE;
3301 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3302 			asgnRef((void**) (&(*result).typ), (*n).typ);
3303 			T234_ = (NI)0;
3304 			T234_ = len__ast_3198(n);
3305 			nimZeroMem((void*)(&T235_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3306 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[(NI)(T234_ - ((NI) 1))], (&T235_));
3307 			st_12 = NIM_NIL;
3308 			st_12 = T235_.Field0;
3309 			ex_11 = NIM_NIL;
3310 			ex_11 = T235_.Field1;
3311 			add__ast_4797(result, st_12);
3312 			T236_ = (NI)0;
3313 			T236_ = len__ast_3198(n);
3314 			asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T236_ - ((NI) 1))]), ex_11);
3315 			add__ast_4797(result, n);
3316 		}
3317 		LA232_: ;
3318 	}
3319 	break;
3320 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
3321 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
3322 	{
3323 		NIM_BOOL ns_10;
3324 		ns_10 = NIM_FALSE;
3325 		{
3326 			NI i_29;
3327 			NI colontmp__16;
3328 			NI i_30;
3329 			i_29 = (NI)0;
3330 			colontmp__16 = (NI)0;
3331 			colontmp__16 = len__ast_3198(n);
3332 			i_30 = ((NI) 0);
3333 			{
3334 				while (1) {
3335 					if (!(i_30 < colontmp__16)) goto LA240;
3336 					i_29 = i_30;
3337 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_29]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_29], (&ns_10)));
3338 					i_30 += ((NI) 1);
3339 				} LA240: ;
3340 			}
3341 		}
3342 		{
3343 			if (!ns_10) goto LA243_;
3344 			(*needsSplit) = NIM_TRUE;
3345 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
3346 			{
3347 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T249_;
3348 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_13;
3349 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_12;
3350 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA247_;
3351 				nimZeroMem((void*)(&T249_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3352 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T249_));
3353 				st_13 = NIM_NIL;
3354 				st_13 = T249_.Field0;
3355 				ex_12 = NIM_NIL;
3356 				ex_12 = T249_.Field1;
3357 				add__ast_4797(result, st_13);
3358 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_12);
3359 			}
3360 			LA247_: ;
3361 			{
3362 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T254_;
3363 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_14;
3364 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_13;
3365 				if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA252_;
3366 				nimZeroMem((void*)(&T254_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3367 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T254_));
3368 				st_14 = NIM_NIL;
3369 				st_14 = T254_.Field0;
3370 				ex_13 = NIM_NIL;
3371 				ex_13 = T254_.Field1;
3372 				add__ast_4797(result, st_14);
3373 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), ex_13);
3374 			}
3375 			LA252_: ;
3376 			add__ast_4797(result, n);
3377 		}
3378 		LA243_: ;
3379 	}
3380 	break;
3381 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
3382 	{
3383 		NIM_BOOL lhsNeedsSplit;
3384 		NIM_BOOL rhsNeedsSplit;
3385 		lhsNeedsSplit = NIM_FALSE;
3386 		rhsNeedsSplit = NIM_FALSE;
3387 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&lhsNeedsSplit)));
3388 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&rhsNeedsSplit)));
3389 		{
3390 			NIM_BOOL T258_;
3391 			T258_ = (NIM_BOOL)0;
3392 			T258_ = lhsNeedsSplit;
3393 			if (T258_) goto LA259_;
3394 			T258_ = rhsNeedsSplit;
3395 			LA259_: ;
3396 			if (!T258_) goto LA260_;
3397 			(*needsSplit) = NIM_TRUE;
3398 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3399 			{
3400 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T266_;
3401 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_15;
3402 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_14;
3403 				if (!lhsNeedsSplit) goto LA264_;
3404 				nimZeroMem((void*)(&T266_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3405 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T266_));
3406 				st_15 = NIM_NIL;
3407 				st_15 = T266_.Field0;
3408 				ex_14 = NIM_NIL;
3409 				ex_14 = T266_.Field1;
3410 				add__ast_4797(result, st_15);
3411 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_14);
3412 			}
3413 			LA264_: ;
3414 			{
3415 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T271_;
3416 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_16;
3417 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_15;
3418 				if (!rhsNeedsSplit) goto LA269_;
3419 				nimZeroMem((void*)(&T271_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3420 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T271_));
3421 				st_16 = NIM_NIL;
3422 				st_16 = T271_.Field0;
3423 				ex_15 = NIM_NIL;
3424 				ex_15 = T271_.Field1;
3425 				add__ast_4797(result, st_16);
3426 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), ex_15);
3427 			}
3428 			LA269_: ;
3429 			add__ast_4797(result, n);
3430 		}
3431 		LA260_: ;
3432 	}
3433 	break;
3434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3435 	{
3436 		NIM_BOOL condNeedsSplit;
3437 		NIM_BOOL bodyNeedsSplit;
3438 		condNeedsSplit = NIM_FALSE;
3439 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&condNeedsSplit)));
3440 		bodyNeedsSplit = NIM_FALSE;
3441 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&bodyNeedsSplit)));
3442 		{
3443 			NIM_BOOL T275_;
3444 			T275_ = (NIM_BOOL)0;
3445 			T275_ = condNeedsSplit;
3446 			if (T275_) goto LA276_;
3447 			T275_ = bodyNeedsSplit;
3448 			LA276_: ;
3449 			if (!T275_) goto LA277_;
3450 			(*needsSplit) = NIM_TRUE;
3451 			{
3452 				tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T283_;
3453 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_17;
3454 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_16;
3455 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* brk;
3456 				tyArray__jlWPjgtbdjE069arIWHC9c9bg T284_;
3457 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch_4;
3458 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T285_;
3459 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check_2;
3460 				tyArray__jlWPjgtbdjE069arIWHC9c9bg T286_;
3461 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newBody;
3462 				tyArray__T6RKPw8xfAeNaoei9aZGzXg T287_;
3463 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T288_;
3464 				if (!condNeedsSplit) goto LA281_;
3465 				nimZeroMem((void*)(&T283_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3466 				exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T283_));
3467 				st_17 = NIM_NIL;
3468 				st_17 = T283_.Field0;
3469 				ex_16 = NIM_NIL;
3470 				ex_16 = T283_.Field1;
3471 				nimZeroMem((void*)T284_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3472 				T284_[0] = (*(*ctx).g).emptyNode;
3473 				brk = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), T284_, 1);
3474 				nimZeroMem((void*)T285_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3475 				T285_[0] = newNotCall__closureiters_474((*ctx).g, ex_16);
3476 				T285_[1] = brk;
3477 				branch_4 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T285_, 2);
3478 				nimZeroMem((void*)T286_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
3479 				T286_[0] = branch_4;
3480 				check_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T286_, 1);
3481 				nimZeroMem((void*)T287_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3482 				T287_[0] = st_17;
3483 				T287_[1] = check_2;
3484 				T287_[2] = (*n)._kind_6.sons->data[((NI) 1)];
3485 				newBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T287_, 3);
3486 				T288_ = NIM_NIL;
3487 				T288_ = getSysSym__magicsys_16((*ctx).g, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_18));
3488 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(T288_));
3489 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newBody);
3490 			}
3491 			LA281_: ;
3492 		}
3493 		LA277_: ;
3494 	}
3495 	break;
3496 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
3497 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
3498 	{
3499 		NIM_BOOL ns_11;
3500 		ns_11 = NIM_FALSE;
3501 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 0)], (&ns_11)));
3502 		{
3503 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T294_;
3504 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_18;
3505 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_17;
3506 			if (!ns_11) goto LA292_;
3507 			(*needsSplit) = NIM_TRUE;
3508 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3509 			asgnRef((void**) (&(*result).typ), (*n).typ);
3510 			nimZeroMem((void*)(&T294_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3511 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 0)], (&T294_));
3512 			st_18 = NIM_NIL;
3513 			st_18 = T294_.Field0;
3514 			ex_17 = NIM_NIL;
3515 			ex_17 = T294_.Field1;
3516 			add__ast_4797(result, st_18);
3517 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ex_17);
3518 			add__ast_4797(result, n);
3519 		}
3520 		LA292_: ;
3521 	}
3522 	break;
3523 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
3524 	{
3525 		NIM_BOOL ns_12;
3526 		ns_12 = NIM_FALSE;
3527 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[((NI) 1)], (&ns_12)));
3528 		{
3529 			tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T300_;
3530 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st_19;
3531 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex_18;
3532 			if (!ns_12) goto LA298_;
3533 			(*needsSplit) = NIM_TRUE;
3534 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info);
3535 			asgnRef((void**) (&(*result).typ), (*n).typ);
3536 			nimZeroMem((void*)(&T300_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
3537 			exprToStmtList__closureiters_385((*n)._kind_6.sons->data[((NI) 1)], (&T300_));
3538 			st_19 = NIM_NIL;
3539 			st_19 = T300_.Field0;
3540 			ex_18 = NIM_NIL;
3541 			ex_18 = T300_.Field1;
3542 			transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 112));
3543 			asgnRef((void**) (&(*n).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3544 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), st_19);
3545 			add__ast_4797(result, n);
3546 			add__ast_4797(result, ex_18);
3547 		}
3548 		LA298_: ;
3549 	}
3550 	break;
3551 	default:
3552 	{
3553 		{
3554 			NI i_31;
3555 			NI colontmp__17;
3556 			NI i_32;
3557 			i_31 = (NI)0;
3558 			colontmp__17 = (NI)0;
3559 			colontmp__17 = len__ast_3198(n);
3560 			i_32 = ((NI) 0);
3561 			{
3562 				while (1) {
3563 					if (!(i_32 < colontmp__17)) goto LA304;
3564 					i_31 = i_32;
3565 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_31]), lowerStmtListExprs__closureiters_478(ctx, (*n)._kind_6.sons->data[i_31], needsSplit));
3566 					i_32 += ((NI) 1);
3567 				} LA304: ;
3568 			}
3569 		}
3570 	}
3571 	break;
3572 	}
3573 	return result;
3574 }
N_NIMCALL(NIM_BOOL,hasYields__closureiters_175)3575 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYields__closureiters_175)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3576 	NIM_BOOL result;
3577 	result = (NIM_BOOL)0;
3578 	switch ((*n).kind) {
3579 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
3580 	{
3581 		result = NIM_TRUE;
3582 	}
3583 	break;
3584 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3585 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3586 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3587 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3588 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3589 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3590 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3591 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3592 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3593 	{
3594 	}
3595 	break;
3596 	default:
3597 	{
3598 		{
3599 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3600 			c = NIM_NIL;
3601 			{
3602 				NI i;
3603 				NI colontmp_;
3604 				NI i_2;
3605 				i = (NI)0;
3606 				colontmp_ = (NI)0;
3607 				colontmp_ = safeLen__ast_3191(n);
3608 				i_2 = ((NI) 0);
3609 				{
3610 					while (1) {
3611 						if (!(i_2 < colontmp_)) goto LA7;
3612 						i = i_2;
3613 						c = (*n)._kind_6.sons->data[i];
3614 						{
3615 							NIM_BOOL T10_;
3616 							T10_ = (NIM_BOOL)0;
3617 							T10_ = hasYields__closureiters_175(c);
3618 							if (!T10_) goto LA11_;
3619 							result = NIM_TRUE;
3620 							goto LA4;
3621 						}
3622 						LA11_: ;
3623 						i_2 += ((NI) 1);
3624 					} LA7: ;
3625 				}
3626 			}
3627 		} LA4: ;
3628 	}
3629 	break;
3630 	}
3631 	return result;
3632 }
N_NIMCALL(NIM_BOOL,hasYieldsInExpressions__closureiters_371)3633 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_371)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3634 	NIM_BOOL result;
3635 {	result = (NIM_BOOL)0;
3636 	switch ((*n).kind) {
3637 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3638 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3639 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3640 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3641 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3642 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3643 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3644 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3645 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3646 	{
3647 	}
3648 	break;
3649 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
3650 	{
3651 		{
3652 			NIM_BOOL T5_;
3653 			T5_ = (NIM_BOOL)0;
3654 			T5_ = isEmptyType__ast_4779((*n).typ);
3655 			if (!T5_) goto LA6_;
3656 			{
3657 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3658 				c = NIM_NIL;
3659 				{
3660 					NI i;
3661 					NI colontmp_;
3662 					NI i_2;
3663 					i = (NI)0;
3664 					colontmp_ = (NI)0;
3665 					colontmp_ = safeLen__ast_3191(n);
3666 					i_2 = ((NI) 0);
3667 					{
3668 						while (1) {
3669 							if (!(i_2 < colontmp_)) goto LA11;
3670 							i = i_2;
3671 							c = (*n)._kind_6.sons->data[i];
3672 							{
3673 								NIM_BOOL T14_;
3674 								T14_ = (NIM_BOOL)0;
3675 								T14_ = hasYieldsInExpressions__closureiters_371(c);
3676 								if (!T14_) goto LA15_;
3677 								result = NIM_TRUE;
3678 								goto BeforeRet_;
3679 							}
3680 							LA15_: ;
3681 							i_2 += ((NI) 1);
3682 						} LA11: ;
3683 					}
3684 				}
3685 			}
3686 		}
3687 		goto LA3_;
3688 		LA6_: ;
3689 		{
3690 			result = hasYields__closureiters_175(n);
3691 		}
3692 		LA3_: ;
3693 	}
3694 	break;
3695 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3696 	{
3697 		{
3698 			NI i_3;
3699 			NI colontmp__2;
3700 			NI i_4;
3701 			i_3 = (NI)0;
3702 			colontmp__2 = (NI)0;
3703 			colontmp__2 = len__ast_3198(n);
3704 			i_4 = ((NI) 1);
3705 			{
3706 				while (1) {
3707 					if (!(i_4 < colontmp__2)) goto LA21;
3708 					i_3 = i_4;
3709 					{
3710 						NIM_BOOL T24_;
3711 						T24_ = (NIM_BOOL)0;
3712 						T24_ = hasYieldsInExpressions__closureiters_371((*n)._kind_6.sons->data[i_3]);
3713 						if (!T24_) goto LA25_;
3714 						result = NIM_TRUE;
3715 						goto BeforeRet_;
3716 					}
3717 					LA25_: ;
3718 					i_4 += ((NI) 1);
3719 				} LA21: ;
3720 			}
3721 		}
3722 	}
3723 	break;
3724 	default:
3725 	{
3726 		{
3727 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c_2;
3728 			c_2 = NIM_NIL;
3729 			{
3730 				NI i_5;
3731 				NI colontmp__3;
3732 				NI i_6;
3733 				i_5 = (NI)0;
3734 				colontmp__3 = (NI)0;
3735 				colontmp__3 = safeLen__ast_3191(n);
3736 				i_6 = ((NI) 0);
3737 				{
3738 					while (1) {
3739 						if (!(i_6 < colontmp__3)) goto LA31;
3740 						i_5 = i_6;
3741 						c_2 = (*n)._kind_6.sons->data[i_5];
3742 						{
3743 							NIM_BOOL T34_;
3744 							T34_ = (NIM_BOOL)0;
3745 							T34_ = hasYieldsInExpressions__closureiters_371(c_2);
3746 							if (!T34_) goto LA35_;
3747 							result = NIM_TRUE;
3748 							goto BeforeRet_;
3749 						}
3750 						LA35_: ;
3751 						i_6 += ((NI) 1);
3752 					} LA31: ;
3753 				}
3754 			}
3755 		}
3756 	}
3757 	break;
3758 	}
3759 	}BeforeRet_: ;
3760 	return result;
3761 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,addGotoOut__closureiters_147)3762 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, addGotoOut__closureiters_147)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
3763 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3764 	result = NIM_NIL;
3765 	result = toStmtList__closureiters_136(n);
3766 	{
3767 		NIM_BOOL T3_;
3768 		NI T4_;
3769 		NI T6_;
3770 		T3_ = (NIM_BOOL)0;
3771 		T4_ = (NI)0;
3772 		T4_ = len__ast_3198(result);
3773 		T3_ = (T4_ == ((NI) 0));
3774 		if (T3_) goto LA5_;
3775 		T6_ = (NI)0;
3776 		T6_ = len__ast_3198(result);
3777 		T3_ = !(((*(*result)._kind_6.sons->data[(NI)(T6_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156)));
3778 		LA5_: ;
3779 		if (!T3_) goto LA7_;
3780 		add__ast_4797(result, gotoOut);
3781 	}
3782 	LA7_: ;
3783 	return result;
3784 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformBreaksAndContinuesInWhile__closureiters_179)3785 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksAndContinuesInWhile__closureiters_179)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* before, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after) {
3786 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3787 	result = NIM_NIL;
3788 	result = n;
3789 	switch ((*n).kind) {
3790 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3791 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3792 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3793 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3794 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3795 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3796 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3797 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3798 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3799 	{
3800 	}
3801 	break;
3802 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3803 	{
3804 	}
3805 	break;
3806 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
3807 	{
3808 		result = before;
3809 	}
3810 	break;
3811 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
3812 	{
3813 		(*ctx).blockLevel += ((NI) 1);
3814 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksAndContinuesInWhile__closureiters_179(ctx, (*result)._kind_6.sons->data[((NI) 1)], before, after));
3815 		(*ctx).blockLevel -= ((NI) 1);
3816 	}
3817 	break;
3818 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
3819 	{
3820 		{
3821 			if (!((*ctx).blockLevel == ((NI) 0))) goto LA8_;
3822 			result = after;
3823 		}
3824 		LA8_: ;
3825 	}
3826 	break;
3827 	default:
3828 	{
3829 		{
3830 			NI i;
3831 			NI colontmp_;
3832 			NI i_2;
3833 			i = (NI)0;
3834 			colontmp_ = (NI)0;
3835 			colontmp_ = len__ast_3198(n);
3836 			i_2 = ((NI) 0);
3837 			{
3838 				while (1) {
3839 					if (!(i_2 < colontmp_)) goto LA13;
3840 					i = i_2;
3841 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformBreaksAndContinuesInWhile__closureiters_179(ctx, (*n)._kind_6.sons->data[i], before, after));
3842 					i_2 += ((NI) 1);
3843 				} LA13: ;
3844 			}
3845 		}
3846 	}
3847 	break;
3848 	}
3849 	return result;
3850 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformBreaksInBlock__closureiters_205)3851 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBreaksInBlock__closureiters_205)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* label, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* after) {
3852 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3853 	result = NIM_NIL;
3854 	result = n;
3855 	switch ((*n).kind) {
3856 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3857 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
3858 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
3859 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
3860 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
3861 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
3862 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
3863 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
3864 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
3865 	{
3866 	}
3867 	break;
3868 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
3869 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
3870 	{
3871 		(*ctx).blockLevel += ((NI) 1);
3872 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksInBlock__closureiters_205(ctx, (*result)._kind_6.sons->data[((NI) 1)], label, after));
3873 		(*ctx).blockLevel -= ((NI) 1);
3874 	}
3875 	break;
3876 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
3877 	{
3878 		{
3879 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA6_;
3880 			{
3881 				if (!((*ctx).blockLevel == ((NI) 0))) goto LA10_;
3882 				result = after;
3883 			}
3884 			LA10_: ;
3885 		}
3886 		goto LA4_;
3887 		LA6_: ;
3888 		{
3889 			{
3890 				NIM_BOOL T15_;
3891 				T15_ = (NIM_BOOL)0;
3892 				T15_ = ((*label).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3893 				if (!(T15_)) goto LA16_;
3894 				T15_ = ((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym == (*label)._kind_4.sym);
3895 				LA16_: ;
3896 				if (!T15_) goto LA17_;
3897 				result = after;
3898 			}
3899 			LA17_: ;
3900 		}
3901 		LA4_: ;
3902 	}
3903 	break;
3904 	default:
3905 	{
3906 		{
3907 			NI i;
3908 			NI colontmp_;
3909 			NI i_2;
3910 			i = (NI)0;
3911 			colontmp_ = (NI)0;
3912 			colontmp_ = len__ast_3198(n);
3913 			i_2 = ((NI) 0);
3914 			{
3915 				while (1) {
3916 					if (!(i_2 < colontmp_)) goto LA22;
3917 					i = i_2;
3918 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformBreaksInBlock__closureiters_205(ctx, (*n)._kind_6.sons->data[i], label, after));
3919 					i_2 += ((NI) 1);
3920 				} LA22: ;
3921 			}
3922 		}
3923 	}
3924 	break;
3925 	}
3926 	return result;
3927 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newOr__closureiters_251)3928 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newOr__closureiters_251)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3929 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3930 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T1_;
3931 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
3932 	result = NIM_NIL;
3933 	nimZeroMem((void*)T1_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3934 	T2_ = NIM_NIL;
3935 	T2_ = getSysMagic__magicsys_29(g, (*a).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_25), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110));
3936 	T1_[0] = newSymNode__ast_3716(T2_);
3937 	T1_[1] = a;
3938 	T1_[2] = b;
3939 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 3);
3940 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60(g, (*a).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
3941 	(*result).info = (*a).info;
3942 	return result;
3943 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newCurExcAccess__closureiters_91)3944 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCurExcAccess__closureiters_91)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
3945 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3946 	result = NIM_NIL;
3947 	{
3948 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
3949 		if (!((*ctx).curExcSym == 0)) goto LA3_;
3950 		T5_ = NIM_NIL;
3951 		T5_ = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3952 		unsureAsgnRef((void**) (&(*ctx).curExcSym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_26), (*T5_).typ));
3953 	}
3954 	LA3_: ;
3955 	result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).curExcSym);
3956 	return result;
3957 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newNullifyCurExc__closureiters_245)3958 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNullifyCurExc__closureiters_245)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3959 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3960 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curExc;
3961 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nilnode;
3962 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
3963 	result = NIM_NIL;
3964 	curExc = newCurExcAccess__closureiters_91(ctx);
3965 	(*curExc).info = info;
3966 	nilnode = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
3967 	asgnRef((void**) (&(*nilnode).typ), (*curExc).typ);
3968 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3969 	T1_[0] = curExc;
3970 	T1_[1] = nilnode;
3971 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T1_, 2);
3972 	return result;
3973 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,collectExceptState__closureiters_256)3974 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, collectExceptState__closureiters_256)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3975 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3976 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt;
3977 	tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
3978 	result = NIM_NIL;
3979 	ifStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), (*n).info);
3980 	g = (*ctx).g;
3981 	{
3982 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
3983 		c = NIM_NIL;
3984 		{
3985 			NI i;
3986 			NI colontmp_;
3987 			NI i_2;
3988 			i = (NI)0;
3989 			colontmp_ = (NI)0;
3990 			colontmp_ = safeLen__ast_3191(n);
3991 			i_2 = ((NI) 0);
3992 			{
3993 				while (1) {
3994 					if (!(i_2 < colontmp_)) goto LA4;
3995 					i = i_2;
3996 					c = (*n)._kind_6.sons->data[i];
3997 					{
3998 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
3999 						NI T32_;
4000 						if (!((*c).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA7_;
4001 						ifBranch = NIM_NIL;
4002 						{
4003 							NI T11_;
4004 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
4005 							T11_ = (NI)0;
4006 							T11_ = len__ast_3198(c);
4007 							if (!(((NI) 1) < T11_)) goto LA12_;
4008 							cond = NIM_NIL;
4009 							{
4010 								NI i_3;
4011 								NI colontmp__2;
4012 								NI T15_;
4013 								NI i_4;
4014 								i_3 = (NI)0;
4015 								colontmp__2 = (NI)0;
4016 								T15_ = (NI)0;
4017 								T15_ = len__ast_3198(c);
4018 								colontmp__2 = (NI)(T15_ - ((NI) 1));
4019 								i_4 = ((NI) 0);
4020 								{
4021 									while (1) {
4022 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nextCond;
4023 										tyArray__T6RKPw8xfAeNaoei9aZGzXg T18_;
4024 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T19_;
4025 										if (!(i_4 < colontmp__2)) goto LA17;
4026 										i_3 = i_4;
4027 										nimZeroMem((void*)T18_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4028 										T19_ = NIM_NIL;
4029 										T19_ = getSysMagic__magicsys_29(g, (*c).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_23), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15));
4030 										T18_[0] = newSymNode__ast_3716(T19_);
4031 										T18_[1] = callCodegenProc__lowerings_635(g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4032 										T18_[2] = (*c)._kind_6.sons->data[i_3];
4033 										nextCond = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T18_, 3);
4034 										asgnRef((void**) (&(*nextCond).typ), getSysType__magicsys_60((*ctx).g, (*c).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
4035 										(*nextCond).info = (*c).info;
4036 										{
4037 											if (!(cond == 0)) goto LA22_;
4038 											cond = nextCond;
4039 										}
4040 										goto LA20_;
4041 										LA22_: ;
4042 										{
4043 											cond = newOr__closureiters_251(g, cond, nextCond);
4044 										}
4045 										LA20_: ;
4046 										i_4 += ((NI) 1);
4047 									} LA17: ;
4048 								}
4049 							}
4050 							ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (*c).info);
4051 							add__ast_4797(ifBranch, cond);
4052 						}
4053 						goto LA9_;
4054 						LA12_: ;
4055 						{
4056 							{
4057 								NI T28_;
4058 								T28_ = (NI)0;
4059 								T28_ = len__ast_3198(ifStmt);
4060 								if (!(T28_ == ((NI) 0))) goto LA29_;
4061 								ifStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
4062 								ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c).info);
4063 							}
4064 							goto LA26_;
4065 							LA29_: ;
4066 							{
4067 								ifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), (*c).info);
4068 							}
4069 							LA26_: ;
4070 						}
4071 						LA9_: ;
4072 						T32_ = (NI)0;
4073 						T32_ = len__ast_3198(c);
4074 						add__ast_4797(ifBranch, (*c)._kind_6.sons->data[(NI)(T32_ - ((NI) 1))]);
4075 						add__ast_4797(ifStmt, ifBranch);
4076 					}
4077 					LA7_: ;
4078 					i_2 += ((NI) 1);
4079 				} LA4: ;
4080 			}
4081 		}
4082 	}
4083 	{
4084 		NI T35_;
4085 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T38_;
4086 		T35_ = (NI)0;
4087 		T35_ = len__ast_3198(ifStmt);
4088 		if (!!((T35_ == ((NI) 0)))) goto LA36_;
4089 		nimZeroMem((void*)T38_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4090 		T38_[0] = newNullifyCurExc__closureiters_245(ctx, (*n).info);
4091 		T38_[1] = ifStmt;
4092 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T38_, 2);
4093 	}
4094 	goto LA33_;
4095 	LA36_: ;
4096 	{
4097 		result = (*(*ctx).g).emptyNode;
4098 	}
4099 	LA33_: ;
4100 	return result;
4101 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getFinallyNode__closureiters_357)4102 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getFinallyNode__closureiters_357)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4103 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4104 	NI T1_;
4105 	result = NIM_NIL;
4106 	T1_ = (NI)0;
4107 	T1_ = len__ast_3198(n);
4108 	result = (*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))];
4109 	{
4110 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA4_;
4111 		result = (*result)._kind_6.sons->data[((NI) 0)];
4112 	}
4113 	goto LA2_;
4114 	LA4_: ;
4115 	{
4116 		result = (*(*ctx).g).emptyNode;
4117 	}
4118 	LA2_: ;
4119 	return result;
4120 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newUnrollFinallyAccess__closureiters_84)4121 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newUnrollFinallyAccess__closureiters_84)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4122 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4123 	result = NIM_NIL;
4124 	{
4125 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4126 		if (!((*ctx).unrollFinallySym == 0)) goto LA3_;
4127 		T5_ = NIM_NIL;
4128 		T5_ = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4129 		unsureAsgnRef((void**) (&(*ctx).unrollFinallySym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_27), T5_));
4130 	}
4131 	LA3_: ;
4132 	result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).unrollFinallySym);
4133 	return result;
4134 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newTmpResultAccess__closureiters_77)4135 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTmpResultAccess__closureiters_77)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
4136 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4137 	result = NIM_NIL;
4138 	{
4139 		if (!((*ctx).tmpResultSym == 0)) goto LA3_;
4140 		unsureAsgnRef((void**) (&(*ctx).tmpResultSym), newEnvVar__closureiters_49(ctx, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_28), (*(*(*ctx).fn).typ).sons->data[((NI) 0)]));
4141 	}
4142 	LA3_: ;
4143 	result = newEnvVarAccess__closureiters_70((&(*ctx)), (*ctx).tmpResultSym);
4144 	return result;
4145 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformReturnsInTry__closureiters_1107)4146 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformReturnsInTry__closureiters_1107)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4147 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4148 	result = NIM_NIL;
4149 	result = n;
4150 	switch ((*n).kind) {
4151 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
4152 	{
4153 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4154 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* goto_1;
4155 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T17_;
4156 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4157 		{
4158 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
4159 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4160 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
4161 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
4162 			asgn = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info);
4163 			T3_ = NIM_NIL;
4164 			T3_ = newUnrollFinallyAccess__closureiters_84(ctx, (*n).info);
4165 			add__ast_4797(asgn, T3_);
4166 			T4_ = NIM_NIL;
4167 			T4_ = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4168 			T5_ = NIM_NIL;
4169 			T5_ = newIntTypeNode__ast_3783(IL64(1), T4_);
4170 			add__ast_4797(asgn, T5_);
4171 			add__ast_4797(result, asgn);
4172 		}
4173 		{
4174 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgnTmpResult;
4175 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
4176 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4177 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
4178 			asgnTmpResult = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info);
4179 			T10_ = NIM_NIL;
4180 			T10_ = newTmpResultAccess__closureiters_77(ctx);
4181 			add__ast_4797(asgnTmpResult, T10_);
4182 			{
4183 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74))) goto LA13_;
4184 				x = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
4185 			}
4186 			goto LA11_;
4187 			LA13_: ;
4188 			{
4189 				x = (*n)._kind_6.sons->data[((NI) 0)];
4190 			}
4191 			LA11_: ;
4192 			add__ast_4797(asgnTmpResult, x);
4193 			add__ast_4797(result, asgnTmpResult);
4194 		}
4195 		LA8_: ;
4196 		T16_ = NIM_NIL;
4197 		T16_ = newNullifyCurExc__closureiters_245(ctx, (*n).info);
4198 		add__ast_4797(result, T16_);
4199 		nimZeroMem((void*)T17_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4200 		T17_[0] = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
4201 		goto_1 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T17_, 1);
4202 		add__ast_4797(result, goto_1);
4203 	}
4204 	break;
4205 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4206 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4207 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4208 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4209 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4210 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4211 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4212 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4213 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4214 	{
4215 	}
4216 	break;
4217 	default:
4218 	{
4219 		{
4220 			NI i;
4221 			NI colontmp_;
4222 			NI i_2;
4223 			i = (NI)0;
4224 			colontmp_ = (NI)0;
4225 			colontmp_ = len__ast_3198(n);
4226 			i_2 = ((NI) 0);
4227 			{
4228 				while (1) {
4229 					if (!(i_2 < colontmp_)) goto LA22;
4230 					i = i_2;
4231 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformReturnsInTry__closureiters_1107(ctx, (*n)._kind_6.sons->data[i]));
4232 					i_2 += ((NI) 1);
4233 				} LA22: ;
4234 			}
4235 		}
4236 	}
4237 	break;
4238 	}
4239 	return result;
4240 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newEndFinallyNode__closureiters_1092)4241 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newEndFinallyNode__closureiters_1092)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
4242 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4243 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* curExc;
4244 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nilnode;
4245 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cmp;
4246 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T1_;
4247 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
4248 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
4249 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
4250 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T4_;
4251 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retStmt;
4252 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T5_;
4253 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
4254 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T6_;
4255 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nullifyExc;
4256 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T7_;
4257 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T8_;
4258 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raiseStmt;
4259 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T9_;
4260 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4261 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T10_;
4262 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T11_;
4263 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBody;
4264 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T12_;
4265 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elifBranch;
4266 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
4267 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T14_;
4268 	result = NIM_NIL;
4269 	curExc = newCurExcAccess__closureiters_91(ctx);
4270 	nilnode = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
4271 	asgnRef((void**) (&(*nilnode).typ), (*curExc).typ);
4272 	nimZeroMem((void*)T1_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4273 	T2_ = NIM_NIL;
4274 	T2_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_29), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87));
4275 	T1_[0] = newSymNode__ast_3719(T2_, info);
4276 	T1_[1] = curExc;
4277 	T1_[2] = nilnode;
4278 	cmp = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 3);
4279 	asgnRef((void**) (&(*cmp).typ), getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
4280 	nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4281 	T4_ = NIM_NIL;
4282 	T4_ = getClosureIterResult__lambdalifting_62((*ctx).g, (*ctx).fn, (*ctx).idgen);
4283 	T3_[0] = newSymNode__ast_3719(T4_, info);
4284 	T3_[1] = newTmpResultAccess__closureiters_77(ctx);
4285 	asgn = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T3_, 2);
4286 	nimZeroMem((void*)T5_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4287 	T5_[0] = asgn;
4288 	retStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109), T5_, 1);
4289 	nimZeroMem((void*)T6_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4290 	T6_[0] = cmp;
4291 	T6_[1] = retStmt;
4292 	branch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T6_, 2);
4293 	nimZeroMem((void*)T7_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4294 	T8_ = NIM_NIL;
4295 	T8_ = getCompilerProc__magicsys_145((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_30));
4296 	T7_[0] = newSymNode__ast_3716(T8_);
4297 	T7_[1] = nilnode;
4298 	nullifyExc = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T7_, 2);
4299 	(*nullifyExc).info = info;
4300 	nimZeroMem((void*)T9_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4301 	T9_[0] = curExc;
4302 	raiseStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T9_, 1);
4303 	(*raiseStmt).info = info;
4304 	nimZeroMem((void*)T10_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4305 	nimZeroMem((void*)T11_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4306 	T11_[0] = nullifyExc;
4307 	T11_[1] = raiseStmt;
4308 	T10_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T11_, 2);
4309 	elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T10_, 1);
4310 	nimZeroMem((void*)T12_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4311 	T12_[0] = branch;
4312 	T12_[1] = elseBranch;
4313 	ifBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T12_, 2);
4314 	nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4315 	T13_[0] = newUnrollFinallyAccess__closureiters_84(ctx, info);
4316 	T13_[1] = ifBody;
4317 	elifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T13_, 2);
4318 	(*elifBranch).info = info;
4319 	nimZeroMem((void*)T14_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4320 	T14_[0] = elifBranch;
4321 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T14_, 1);
4322 	return result;
4323 }
N_NIMCALL(void,addElseToExcept__closureiters_316)4324 N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_316)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4325 	{
4326 		NIM_BOOL T3_;
4327 		NIM_BOOL T4_;
4328 		NI T7_;
4329 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBody;
4330 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4331 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T20_;
4332 		T3_ = (NIM_BOOL)0;
4333 		T4_ = (NIM_BOOL)0;
4334 		T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
4335 		if (!(T4_)) goto LA5_;
4336 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92));
4337 		LA5_: ;
4338 		T3_ = T4_;
4339 		if (!(T3_)) goto LA6_;
4340 		T7_ = (NI)0;
4341 		T7_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
4342 		T3_ = !(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[(NI)(T7_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)));
4343 		LA6_: ;
4344 		if (!T3_) goto LA8_;
4345 		branchBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4346 		{
4347 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T11_;
4348 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4349 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
4350 			nimZeroMem((void*)T11_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4351 			T11_[0] = newUnrollFinallyAccess__closureiters_84(ctx, (*n).info);
4352 			T12_ = NIM_NIL;
4353 			T12_ = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
4354 			T11_[1] = newIntTypeNode__ast_3783(IL64(1), T12_);
4355 			T13_ = NIM_NIL;
4356 			T13_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T11_, 2);
4357 			add__ast_4797(branchBody, T13_);
4358 		}
4359 		{
4360 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T15_;
4361 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4362 			nimZeroMem((void*)T15_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4363 			T15_[0] = newCurExcAccess__closureiters_91(ctx);
4364 			T15_[1] = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4365 			T16_ = NIM_NIL;
4366 			T16_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T15_, 2);
4367 			add__ast_4797(branchBody, T16_);
4368 		}
4369 		{
4370 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T18_;
4371 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
4372 			nimZeroMem((void*)T18_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4373 			T18_[0] = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
4374 			T19_ = NIM_NIL;
4375 			T19_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T18_, 1);
4376 			add__ast_4797(branchBody, T19_);
4377 		}
4378 		nimZeroMem((void*)T20_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4379 		T20_[0] = branchBody;
4380 		elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T20_, 1);
4381 		add__ast_4797((*n)._kind_6.sons->data[((NI) 1)], elseBranch);
4382 	}
4383 	LA8_: ;
4384 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformClosureIteratorBody__closureiters_1173)4385 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIteratorBody__closureiters_1173)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut) {
4386 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4387 	result = NIM_NIL;
4388 	result = n;
4389 	switch ((*n).kind) {
4390 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4391 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4392 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4393 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4394 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4395 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4396 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4397 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4398 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4399 	{
4400 	}
4401 	break;
4402 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4403 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4404 	{
4405 		result = addGotoOut__closureiters_147(result, gotoOut);
4406 		{
4407 			NI i;
4408 			NI colontmp_;
4409 			NI i_2;
4410 			i = (NI)0;
4411 			colontmp_ = (NI)0;
4412 			colontmp_ = len__ast_3198(n);
4413 			i_2 = ((NI) 0);
4414 			{
4415 				while (1) {
4416 					if (!(i_2 < colontmp_)) goto LA5;
4417 					i = i_2;
4418 					{
4419 						NIM_BOOL T8_;
4420 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* go;
4421 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4422 						NI T14_;
4423 						T8_ = (NIM_BOOL)0;
4424 						T8_ = hasYields__closureiters_175((*n)._kind_6.sons->data[i]);
4425 						if (!T8_) goto LA9_;
4426 						go = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*(*n)._kind_6.sons->data[i]).info);
4427 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i], go));
4428 						s = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[(NI)(i + ((NI) 1))]).info);
4429 						{
4430 							NI j;
4431 							NI colontmp__2;
4432 							NI colontmp__3;
4433 							NI i_3;
4434 							j = (NI)0;
4435 							colontmp__2 = (NI)0;
4436 							colontmp__3 = (NI)0;
4437 							colontmp__2 = (NI)(i + ((NI) 1));
4438 							colontmp__3 = len__ast_3198(n);
4439 							i_3 = colontmp__2;
4440 							{
4441 								while (1) {
4442 									if (!(i_3 < colontmp__3)) goto LA13;
4443 									j = i_3;
4444 									add__ast_4797(s, (*n)._kind_6.sons->data[j]);
4445 									i_3 += ((NI) 1);
4446 								} LA13: ;
4447 							}
4448 						}
4449 						asgnRef((void**) (&(*n)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*n)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(i + ((NI) 1))))));
4450 						T14_ = (NI)0;
4451 						T14_ = newState__closureiters_97(ctx, s, go);
4452 						(void)(T14_);
4453 						{
4454 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
4455 							T17_ = NIM_NIL;
4456 							T17_ = transformClosureIteratorBody__closureiters_1173(ctx, s, gotoOut);
4457 							if (!!((T17_ == s))) goto LA18_;
4458 							internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_21), TM__slVvvIjx75ivXdMpHiE9c9aQ_22);
4459 						}
4460 						LA18_: ;
4461 						goto LA3;
4462 					}
4463 					LA9_: ;
4464 					i_2 += ((NI) 1);
4465 				} LA5: ;
4466 			}
4467 		} LA3: ;
4468 	}
4469 	break;
4470 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
4471 	{
4472 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4473 		add__ast_4797(result, n);
4474 		add__ast_4797(result, gotoOut);
4475 	}
4476 	break;
4477 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
4478 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
4479 	{
4480 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4481 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4482 	}
4483 	break;
4484 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
4485 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
4486 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
4487 	{
4488 		NI T23_;
4489 		NI T24_;
4490 		NI T25_;
4491 		NI T26_;
4492 		T23_ = (NI)0;
4493 		T23_ = len__ast_3198(result);
4494 		T24_ = (NI)0;
4495 		T24_ = len__ast_3198(result);
4496 		asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[(NI)(T24_ - ((NI) 1))], gotoOut));
4497 		T25_ = (NI)0;
4498 		T25_ = len__ast_3198(result);
4499 		T26_ = (NI)0;
4500 		T26_ = len__ast_3198(result);
4501 		asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[(NI)(T26_ - ((NI) 1))], gotoOut));
4502 	}
4503 	break;
4504 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
4505 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4506 	{
4507 		{
4508 			NI i_4;
4509 			NI colontmp__4;
4510 			NI i_5;
4511 			i_4 = (NI)0;
4512 			colontmp__4 = (NI)0;
4513 			colontmp__4 = len__ast_3198(n);
4514 			i_5 = ((NI) 0);
4515 			{
4516 				while (1) {
4517 					if (!(i_5 < colontmp__4)) goto LA30;
4518 					i_4 = i_5;
4519 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_4]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i_4], gotoOut));
4520 					i_5 += ((NI) 1);
4521 				} LA30: ;
4522 			}
4523 		}
4524 		{
4525 			NI T33_;
4526 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch;
4527 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T36_;
4528 			T33_ = (NI)0;
4529 			T33_ = len__ast_3198(n);
4530 			if (!!(((*(*n)._kind_6.sons->data[(NI)(T33_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)))) goto LA34_;
4531 			nimZeroMem((void*)T36_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4532 			T36_[0] = gotoOut;
4533 			elseBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T36_, 1);
4534 			add__ast_4797(n, elseBranch);
4535 		}
4536 		LA34_: ;
4537 	}
4538 	break;
4539 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
4540 	{
4541 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
4542 		NI T38_;
4543 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifNode;
4544 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elifBranch;
4545 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
4546 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elseBranch_2;
4547 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T39_;
4548 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
4549 		s_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
4550 		T38_ = (NI)0;
4551 		T38_ = newState__closureiters_97(ctx, s_2, result);
4552 		(void)(T38_);
4553 		ifNode = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), (*n).info);
4554 		elifBranch = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), (*n).info);
4555 		add__ast_4797(elifBranch, (*n)._kind_6.sons->data[((NI) 0)]);
4556 		body = addGotoOut__closureiters_147((*n)._kind_6.sons->data[((NI) 1)], result);
4557 		body = transformBreaksAndContinuesInWhile__closureiters_179(ctx, body, result, gotoOut);
4558 		body = transformClosureIteratorBody__closureiters_1173(ctx, body, result);
4559 		add__ast_4797(elifBranch, body);
4560 		add__ast_4797(ifNode, elifBranch);
4561 		nimZeroMem((void*)T39_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4562 		T39_[0] = gotoOut;
4563 		elseBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88), T39_, 1);
4564 		add__ast_4797(ifNode, elseBranch_2);
4565 		add__ast_4797(s_2, ifNode);
4566 	}
4567 	break;
4568 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
4569 	{
4570 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), addGotoOut__closureiters_147((*result)._kind_6.sons->data[((NI) 1)], gotoOut));
4571 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformBreaksInBlock__closureiters_205(ctx, (*result)._kind_6.sons->data[((NI) 1)], (*result)._kind_6.sons->data[((NI) 0)], gotoOut));
4572 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), transformClosureIteratorBody__closureiters_1173(ctx, (*result)._kind_6.sons->data[((NI) 1)], gotoOut));
4573 	}
4574 	break;
4575 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4576 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
4577 	{
4578 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tryBody;
4579 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptBody;
4580 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finallyBody;
4581 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T42_;
4582 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
4583 		NI tryIdx;
4584 		NI T44_;
4585 		NI exceptIdx;
4586 		NI finallyIdx;
4587 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* outToFinally;
4588 		(*ctx).hasExceptions = NIM_TRUE;
4589 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
4590 		tryBody = toStmtList__closureiters_136((*n)._kind_6.sons->data[((NI) 0)]);
4591 		exceptBody = collectExceptState__closureiters_256(ctx, n);
4592 		nimZeroMem((void*)T42_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4593 		T42_[0] = getFinallyNode__closureiters_357(ctx, n);
4594 		finallyBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T42_, 1);
4595 		finallyBody = transformReturnsInTry__closureiters_1107(ctx, finallyBody);
4596 		T43_ = NIM_NIL;
4597 		T43_ = newEndFinallyNode__closureiters_1092(ctx, (*finallyBody).info);
4598 		add__ast_4797(finallyBody, T43_);
4599 		T44_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4600 		tryIdx = T44_;
4601 		exceptIdx = (NI)0;
4602 		finallyIdx = (NI)0;
4603 		{
4604 			if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA47_;
4605 			exceptIdx = ((NI64)-((NI)(tryIdx + ((NI) 1))));
4606 			finallyIdx = (NI)(tryIdx + ((NI) 2));
4607 		}
4608 		goto LA45_;
4609 		LA47_: ;
4610 		{
4611 			exceptIdx = (NI)(tryIdx + ((NI) 1));
4612 			finallyIdx = (NI)(tryIdx + ((NI) 1));
4613 		}
4614 		LA45_: ;
4615 		outToFinally = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*finallyBody).info);
4616 		{
4617 			NI oldExcHandlingState;
4618 			NI realTryIdx;
4619 			NI realFinallyIdx;
4620 			oldExcHandlingState = (*ctx).curExcHandlingState;
4621 			(*ctx).curExcHandlingState = exceptIdx;
4622 			realTryIdx = newState__closureiters_97(ctx, tryBody, result);
4623 			{
4624 				NI realExceptIdx;
4625 				if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA53_;
4626 				(*ctx).curExcHandlingState = finallyIdx;
4627 				realExceptIdx = newState__closureiters_97(ctx, exceptBody, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4628 			}
4629 			LA53_: ;
4630 			(*ctx).curExcHandlingState = oldExcHandlingState;
4631 			realFinallyIdx = newState__closureiters_97(ctx, finallyBody, outToFinally);
4632 		}
4633 		{
4634 			NI oldNearestFinally;
4635 			NI oldExcHandlingState_2;
4636 			oldNearestFinally = (*ctx).nearestFinally;
4637 			(*ctx).nearestFinally = finallyIdx;
4638 			oldExcHandlingState_2 = (*ctx).curExcHandlingState;
4639 			(*ctx).curExcHandlingState = exceptIdx;
4640 			{
4641 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
4642 				T58_ = NIM_NIL;
4643 				T58_ = transformReturnsInTry__closureiters_1107(ctx, tryBody);
4644 				if (!!((T58_ == tryBody))) goto LA59_;
4645 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_31), TM__slVvvIjx75ivXdMpHiE9c9aQ_32);
4646 			}
4647 			LA59_: ;
4648 			{
4649 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
4650 				T63_ = NIM_NIL;
4651 				T63_ = transformClosureIteratorBody__closureiters_1173(ctx, tryBody, outToFinally);
4652 				if (!!((T63_ == tryBody))) goto LA64_;
4653 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_33), TM__slVvvIjx75ivXdMpHiE9c9aQ_34);
4654 			}
4655 			LA64_: ;
4656 			(*ctx).curExcHandlingState = finallyIdx;
4657 			addElseToExcept__closureiters_316(ctx, exceptBody);
4658 			{
4659 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T68_;
4660 				T68_ = NIM_NIL;
4661 				T68_ = transformReturnsInTry__closureiters_1107(ctx, exceptBody);
4662 				if (!!((T68_ == exceptBody))) goto LA69_;
4663 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_35), TM__slVvvIjx75ivXdMpHiE9c9aQ_36);
4664 			}
4665 			LA69_: ;
4666 			{
4667 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T73_;
4668 				T73_ = NIM_NIL;
4669 				T73_ = transformClosureIteratorBody__closureiters_1173(ctx, exceptBody, outToFinally);
4670 				if (!!((T73_ == exceptBody))) goto LA74_;
4671 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_37), TM__slVvvIjx75ivXdMpHiE9c9aQ_38);
4672 			}
4673 			LA74_: ;
4674 			(*ctx).curExcHandlingState = oldExcHandlingState_2;
4675 			(*ctx).nearestFinally = oldNearestFinally;
4676 			{
4677 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T78_;
4678 				T78_ = NIM_NIL;
4679 				T78_ = transformClosureIteratorBody__closureiters_1173(ctx, finallyBody, gotoOut);
4680 				if (!!((T78_ == finallyBody))) goto LA79_;
4681 				internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_39), TM__slVvvIjx75ivXdMpHiE9c9aQ_40);
4682 			}
4683 			LA79_: ;
4684 		}
4685 	}
4686 	break;
4687 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
4688 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
4689 	{
4690 		NimStringDesc* T82_;
4691 		T82_ = NIM_NIL;
4692 		T82_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 13);
4693 appendString(T82_, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_41));
4694 appendString(T82_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
4695 		internalErrorImpl__msgs_1431((*(*ctx).g).config, unknownLineInfo__lineinfos_280, T82_, TM__slVvvIjx75ivXdMpHiE9c9aQ_42);
4696 	}
4697 	break;
4698 	default:
4699 	{
4700 		{
4701 			NI i_6;
4702 			NI colontmp__5;
4703 			NI i_7;
4704 			i_6 = (NI)0;
4705 			colontmp__5 = (NI)0;
4706 			colontmp__5 = len__ast_3198(n);
4707 			i_7 = ((NI) 0);
4708 			{
4709 				while (1) {
4710 					if (!(i_7 < colontmp__5)) goto LA86;
4711 					i_6 = i_7;
4712 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_6]), transformClosureIteratorBody__closureiters_1173(ctx, (*n)._kind_6.sons->data[i_6], gotoOut));
4713 					i_7 += ((NI) 1);
4714 				} LA86: ;
4715 			}
4716 		}
4717 	}
4718 	break;
4719 	}
4720 	return result;
4721 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipStmtList__closureiters_1491)4722 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipStmtList__closureiters_1491)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4723 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4724 {	result = NIM_NIL;
4725 	result = n;
4726 	{
4727 		while (1) {
4728 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA2;
4729 			{
4730 				NI T5_;
4731 				T5_ = (NI)0;
4732 				T5_ = len__ast_3198(result);
4733 				if (!(T5_ == ((NI) 0))) goto LA6_;
4734 				result = (*(*ctx).g).emptyNode;
4735 				goto BeforeRet_;
4736 			}
4737 			LA6_: ;
4738 			result = (*result)._kind_6.sons->data[((NI) 0)];
4739 		} LA2: ;
4740 	}
4741 	}BeforeRet_: ;
4742 	return result;
4743 }
N_NIMCALL(NI,skipEmptyStates__closureiters_1503)4744 N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1503)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateIdx) {
4745 	NI result;
4746 	NI maxJumps;
4747 	NI T1_;
4748 	NI stateIdx_2;
4749 	result = (NI)0;
4750 	T1_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4751 	maxJumps = T1_;
4752 	stateIdx_2 = stateIdx;
4753 	{
4754 		while (1) {
4755 			NI label;
4756 			NI newLabel;
4757 			label = stateIdx_2;
4758 			{
4759 				if (!(label == (*ctx).exitStateIdx)) goto LA6_;
4760 				goto LA2;
4761 			}
4762 			LA6_: ;
4763 			newLabel = label;
4764 			{
4765 				if (!(label == ((NI) -1))) goto LA10_;
4766 				newLabel = (*ctx).exitStateIdx;
4767 			}
4768 			goto LA8_;
4769 			LA10_: ;
4770 			{
4771 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fs;
4772 				fs = skipStmtList__closureiters_1491(ctx, (*(*ctx).states->data[label])._kind_6.sons->data[((NI) 1)]);
4773 				{
4774 					if (!((*fs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156))) goto LA15_;
4775 					newLabel = ((NI) ((*(*fs)._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
4776 				}
4777 				LA15_: ;
4778 			}
4779 			LA8_: ;
4780 			{
4781 				if (!(label == newLabel)) goto LA19_;
4782 				goto LA2;
4783 			}
4784 			LA19_: ;
4785 			stateIdx_2 = newLabel;
4786 			maxJumps -= ((NI) 1);
4787 			{
4788 				if (!(maxJumps == ((NI) 0))) goto LA23_;
4789 			}
4790 			LA23_: ;
4791 		}
4792 	} LA2: ;
4793 	result = ((NI) ((*(*(*ctx).states->data[stateIdx_2])._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
4794 	return result;
4795 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipThroughEmptyStates__closureiters_1529)4796 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipThroughEmptyStates__closureiters_1529)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4797 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4798 	result = NIM_NIL;
4799 	result = n;
4800 	switch ((*n).kind) {
4801 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4802 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
4803 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
4804 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
4805 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
4806 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
4807 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
4808 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
4809 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
4810 	{
4811 	}
4812 	break;
4813 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
4814 	{
4815 		NI T3_;
4816 		result = copyTree__ast_4431(n);
4817 		T3_ = (NI)0;
4818 		T3_ = skipEmptyStates__closureiters_1503((&(*ctx)), ((NI) ((*(*result)._kind_6.sons->data[((NI) 0)])._kind_1.intVal)));
4819 		(*(*result)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = ((NI64) (T3_));
4820 	}
4821 	break;
4822 	default:
4823 	{
4824 		{
4825 			NI i;
4826 			NI colontmp_;
4827 			NI i_2;
4828 			i = (NI)0;
4829 			colontmp_ = (NI)0;
4830 			colontmp_ = len__ast_3198(n);
4831 			i_2 = ((NI) 0);
4832 			{
4833 				while (1) {
4834 					if (!(i_2 < colontmp_)) goto LA7;
4835 					i = i_2;
4836 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), skipThroughEmptyStates__closureiters_1529(ctx, (*n)._kind_6.sons->data[i]));
4837 					i_2 += ((NI) 1);
4838 				} LA7: ;
4839 			}
4840 		}
4841 	}
4842 	break;
4843 	}
4844 	return result;
4845 }
N_NIMCALL(void,delete__closureiters_1709)4846 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i) {
4847 	NI xlX60gensym304_;
4848 	NI T1_;
4849 	T1_ = ((*x) ? (*x)->Sup.len : 0);
4850 	xlX60gensym304_ = T1_;
4851 	{
4852 		NI jX60gensym304_;
4853 		NI colontmp_;
4854 		NI colontmp__2;
4855 		NI res;
4856 		jX60gensym304_ = (NI)0;
4857 		colontmp_ = (NI)0;
4858 		colontmp__2 = (NI)0;
4859 		colontmp_ = ((NI) (i));
4860 		colontmp__2 = (NI)(xlX60gensym304_ - ((NI) 2));
4861 		res = colontmp_;
4862 		{
4863 			while (1) {
4864 				if (!(res <= colontmp__2)) goto LA4;
4865 				jX60gensym304_ = res;
4866 				asgnRef((void**) (&(*x)->data[jX60gensym304_]), (*x)->data[(NI)(jX60gensym304_ + ((NI) 1))]);
4867 				res += ((NI) 1);
4868 			} LA4: ;
4869 		}
4870 	}
4871 	unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(xlX60gensym304_ - ((NI) 1))))));
4872 }
N_NIMCALL(void,delete__closureiters_1746)4873 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1746)(tySequence__qwqHTkRvwhrRyENtudHQ7g** x, NI i) {
4874 	NI xlX60gensym306_;
4875 	NI T1_;
4876 	T1_ = ((*x) ? (*x)->Sup.len : 0);
4877 	xlX60gensym306_ = T1_;
4878 	{
4879 		NI jX60gensym306_;
4880 		NI colontmp_;
4881 		NI colontmp__2;
4882 		NI res;
4883 		jX60gensym306_ = (NI)0;
4884 		colontmp_ = (NI)0;
4885 		colontmp__2 = (NI)0;
4886 		colontmp_ = ((NI) (i));
4887 		colontmp__2 = (NI)(xlX60gensym306_ - ((NI) 2));
4888 		res = colontmp_;
4889 		{
4890 			while (1) {
4891 				if (!(res <= colontmp__2)) goto LA4;
4892 				jX60gensym306_ = res;
4893 				(*x)->data[jX60gensym306_] = (*x)->data[(NI)(jX60gensym306_ + ((NI) 1))];
4894 				res += ((NI) 1);
4895 			} LA4: ;
4896 		}
4897 	}
4898 	unsureAsgnRef((void**) (&(*x)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) ((NI)(xlX60gensym306_ - ((NI) 1))))));
4899 }
N_NIMCALL(void,deleteEmptyStates__closureiters_1659)4900 N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1659)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
4901 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* goOut;
4902 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T1_;
4903 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T2_;
4904 	NI iValid;
4905 	NI i_5;
4906 	nimZeroMem((void*)T1_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4907 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
4908 	T1_[0] = newIntLit__lowerings_695((*ctx).g, T2_, IL64(-1));
4909 	goOut = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T1_, 1);
4910 	(*ctx).exitStateIdx = newState__closureiters_97(ctx, goOut, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4911 	iValid = ((NI) 0);
4912 	{
4913 		NI i;
4914 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
4915 		NI i_2;
4916 		NI L;
4917 		NI T4_;
4918 		i = (NI)0;
4919 		s = NIM_NIL;
4920 		i_2 = ((NI) 0);
4921 		T4_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4922 		L = T4_;
4923 		{
4924 			while (1) {
4925 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
4926 				if (!(i_2 < L)) goto LA6;
4927 				i = i_2;
4928 				s = (*ctx).states->data[i_2];
4929 				body = skipStmtList__closureiters_1491((&(*ctx)), (*s)._kind_6.sons->data[((NI) 1)]);
4930 				{
4931 					NIM_BOOL T9_;
4932 					NIM_BOOL T10_;
4933 					NI T12_;
4934 					T9_ = (NIM_BOOL)0;
4935 					T10_ = (NIM_BOOL)0;
4936 					T10_ = ((*body).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156));
4937 					if (!(T10_)) goto LA11_;
4938 					T12_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4939 					T10_ = !((i == (NI)(T12_ - ((NI) 1))));
4940 					LA11_: ;
4941 					T9_ = T10_;
4942 					if (!(T9_)) goto LA13_;
4943 					T9_ = !((i == ((NI) 0)));
4944 					LA13_: ;
4945 					if (!T9_) goto LA14_;
4946 					(*(*s)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = IL64(-1);
4947 				}
4948 				goto LA7_;
4949 				LA14_: ;
4950 				{
4951 					(*(*s)._kind_6.sons->data[((NI) 0)])._kind_1.intVal = ((NI64) (iValid));
4952 					iValid += ((NI) 1);
4953 				}
4954 				LA7_: ;
4955 				i_2 += ((NI) 1);
4956 			} LA6: ;
4957 		}
4958 	}
4959 	{
4960 		NI i_3;
4961 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
4962 		NI i_4;
4963 		NI L_2;
4964 		NI T18_;
4965 		i_3 = (NI)0;
4966 		s_2 = NIM_NIL;
4967 		i_4 = ((NI) 0);
4968 		T18_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
4969 		L_2 = T18_;
4970 		{
4971 			while (1) {
4972 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body_2;
4973 				if (!(i_4 < L_2)) goto LA20;
4974 				i_3 = i_4;
4975 				s_2 = (*ctx).states->data[i_4];
4976 				body_2 = skipStmtList__closureiters_1491((&(*ctx)), (*s_2)._kind_6.sons->data[((NI) 1)]);
4977 				{
4978 					NIM_BOOL T23_;
4979 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
4980 					NI excHandlState;
4981 					T23_ = (NIM_BOOL)0;
4982 					T23_ = !(((*body_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156)));
4983 					if (T23_) goto LA24_;
4984 					T23_ = (i_3 == ((NI) 0));
4985 					LA24_: ;
4986 					if (!T23_) goto LA25_;
4987 					T27_ = NIM_NIL;
4988 					T27_ = skipThroughEmptyStates__closureiters_1529(ctx, s_2);
4989 					(void)(T27_);
4990 					excHandlState = (*ctx).exceptionTable->data[i_3];
4991 					{
4992 						NI T32_;
4993 						if (!(excHandlState < ((NI) 0))) goto LA30_;
4994 						T32_ = (NI)0;
4995 						T32_ = skipEmptyStates__closureiters_1503((&(*ctx)), ((NI64)-(excHandlState)));
4996 						(*ctx).exceptionTable->data[i_3] = ((NI64)-(T32_));
4997 					}
4998 					goto LA28_;
4999 					LA30_: ;
5000 					{
5001 						if (!!((excHandlState == ((NI) 0)))) goto LA34_;
5002 						(*ctx).exceptionTable->data[i_3] = skipEmptyStates__closureiters_1503((&(*ctx)), excHandlState);
5003 					}
5004 					goto LA28_;
5005 					LA34_: ;
5006 					LA28_: ;
5007 				}
5008 				LA25_: ;
5009 				i_4 += ((NI) 1);
5010 			} LA20: ;
5011 		}
5012 	}
5013 	i_5 = ((NI) 0);
5014 	{
5015 		while (1) {
5016 			NI T38_;
5017 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fs;
5018 			T38_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
5019 			if (!(i_5 < (NI)(T38_ - ((NI) 1)))) goto LA37;
5020 			fs = skipStmtList__closureiters_1491((&(*ctx)), (*(*ctx).states->data[i_5])._kind_6.sons->data[((NI) 1)]);
5021 			{
5022 				NIM_BOOL T41_;
5023 				T41_ = (NIM_BOOL)0;
5024 				T41_ = ((*fs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156));
5025 				if (!(T41_)) goto LA42_;
5026 				T41_ = !((i_5 == ((NI) 0)));
5027 				LA42_: ;
5028 				if (!T41_) goto LA43_;
5029 				delete__closureiters_1709((&(*ctx).states), ((NI) (i_5)));
5030 				delete__closureiters_1746((&(*ctx).exceptionTable), ((NI) (i_5)));
5031 			}
5032 			goto LA39_;
5033 			LA43_: ;
5034 			{
5035 				i_5 += ((NI) 1);
5036 			}
5037 			LA39_: ;
5038 		} LA37: ;
5039 	}
5040 }
N_NIMCALL(void,del__closureiters_3571)5041 N_LIB_PRIVATE N_NIMCALL(void, del__closureiters_3571)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i) {
5042 	NI xl;
5043 	NI T1_;
5044 	T1_ = ((*x) ? (*x)->Sup.len : 0);
5045 	xl = (NI)(T1_ - ((NI) 1));
5046 	asgnRef((void**) (&(*x)->data[i]), (*x)->data[xl]);
5047 	unsureAsgnRef((void**) (&(*x)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*x))->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (xl))));
5048 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAccess__closureiters_35)5049 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAccess__closureiters_35)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
5050 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5051 	result = NIM_NIL;
5052 	{
5053 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
5054 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
5055 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
5056 		if (!((*ctx).stateVarSym == 0)) goto LA3_;
5057 		T5_ = NIM_NIL;
5058 		T5_ = getEnvParam__lambdalifting_131((*ctx).fn);
5059 		T6_ = NIM_NIL;
5060 		T6_ = newSymNode__ast_3716(T5_);
5061 		T7_ = NIM_NIL;
5062 		T7_ = getStateField__lambdalifting_4660((*ctx).g, (*ctx).fn);
5063 		result = rawIndirectAccess__lowerings_326(T6_, T7_, (*(*ctx).fn).info);
5064 	}
5065 	goto LA1_;
5066 	LA3_: ;
5067 	{
5068 		result = newSymNode__ast_3716((*ctx).stateVarSym);
5069 	}
5070 	LA1_: ;
5071 	return result;
5072 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAssgn__closureiters_41)5073 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_41)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toValue) {
5074 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5075 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5076 	result = NIM_NIL;
5077 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5078 	T1_[0] = newStateAccess__closureiters_35(ctx);
5079 	T1_[1] = toValue;
5080 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T1_, 2);
5081 	return result;
5082 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newStateAssgn__closureiters_45)5083 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStateAssgn__closureiters_45)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, NI stateNo) {
5084 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5085 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
5086 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
5087 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5088 	result = NIM_NIL;
5089 	nimZeroMem((void*)(&T1_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
5090 	T2_ = NIM_NIL;
5091 	T2_ = getSysType__magicsys_60((*ctx).g, T1_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5092 	T3_ = NIM_NIL;
5093 	T3_ = newIntTypeNode__ast_3783(((NI64) (stateNo)), T2_);
5094 	result = newStateAssgn__closureiters_41(ctx, T3_);
5095 	return result;
5096 }
N_NIMCALL(NI,stateFromGotoState__closureiters_1375)5097 N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1375)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5098 	NI result;
5099 	result = (NI)0;
5100 	result = ((NI) ((*(*n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal));
5101 	return result;
5102 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformStateAssignments__closureiters_1386)5103 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStateAssignments__closureiters_1386)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5104 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5105 	result = NIM_NIL;
5106 	result = n;
5107 	switch ((*n).kind) {
5108 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
5109 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
5110 	{
5111 		{
5112 			NIM_BOOL T4_;
5113 			NI T5_;
5114 			NI T9_;
5115 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
5116 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retStmt;
5117 			T4_ = (NIM_BOOL)0;
5118 			T5_ = (NI)0;
5119 			T5_ = len__ast_3198(n);
5120 			T4_ = !((T5_ == ((NI) 0)));
5121 			if (!(T4_)) goto LA6_;
5122 			T4_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104));
5123 			LA6_: ;
5124 			if (!T4_) goto LA7_;
5125 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5126 			T9_ = (NI)0;
5127 			T9_ = stateFromGotoState__closureiters_1375((*n)._kind_6.sons->data[((NI) 1)]);
5128 			T10_ = NIM_NIL;
5129 			T10_ = newStateAssgn__closureiters_45(ctx, T9_);
5130 			add__ast_4797(result, T10_);
5131 			retStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109), (*n).info);
5132 			{
5133 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5134 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* retVal;
5135 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T15_;
5136 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
5137 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13_;
5138 				a = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).info);
5139 				retVal = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
5140 				T15_ = NIM_NIL;
5141 				T15_ = getClosureIterResult__lambdalifting_62((*ctx).g, (*ctx).fn, (*ctx).idgen);
5142 				T16_ = NIM_NIL;
5143 				T16_ = newSymNode__ast_3716(T15_);
5144 				add__ast_4797(a, T16_);
5145 				add__ast_4797(a, retVal);
5146 				add__ast_4797(retStmt, a);
5147 			}
5148 			goto LA11_;
5149 			LA13_: ;
5150 			{
5151 				add__ast_4797(retStmt, (*(*ctx).g).emptyNode);
5152 			}
5153 			LA11_: ;
5154 			add__ast_4797(result, retStmt);
5155 		}
5156 		goto LA2_;
5157 		LA7_: ;
5158 		{
5159 			{
5160 				NI i;
5161 				NI colontmp_;
5162 				NI i_2;
5163 				i = (NI)0;
5164 				colontmp_ = (NI)0;
5165 				colontmp_ = len__ast_3198(n);
5166 				i_2 = ((NI) 0);
5167 				{
5168 					while (1) {
5169 						if (!(i_2 < colontmp_)) goto LA21;
5170 						i = i_2;
5171 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), transformStateAssignments__closureiters_1386(ctx, (*n)._kind_6.sons->data[i]));
5172 						i_2 += ((NI) 1);
5173 					} LA21: ;
5174 				}
5175 			}
5176 		}
5177 		LA2_: ;
5178 	}
5179 	break;
5180 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
5181 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
5182 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
5183 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
5184 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
5185 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
5186 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
5187 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
5188 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
5189 	{
5190 	}
5191 	break;
5192 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
5193 	{
5194 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
5195 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5196 		T24_ = NIM_NIL;
5197 		T24_ = newStateAssgn__closureiters_45(ctx, ((NI) -1));
5198 		add__ast_4797(result, T24_);
5199 		add__ast_4797(result, n);
5200 	}
5201 	break;
5202 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
5203 	{
5204 		NI T26_;
5205 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
5206 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* breakState;
5207 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
5208 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5209 		T26_ = (NI)0;
5210 		T26_ = stateFromGotoState__closureiters_1375(n);
5211 		T27_ = NIM_NIL;
5212 		T27_ = newStateAssgn__closureiters_45(ctx, T26_);
5213 		add__ast_4797(result, T27_);
5214 		breakState = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), (*n).info);
5215 		T28_ = NIM_NIL;
5216 		T28_ = newSymNode__ast_3716((*ctx).stateLoopLabel);
5217 		add__ast_4797(breakState, T28_);
5218 		add__ast_4797(result, breakState);
5219 	}
5220 	break;
5221 	default:
5222 	{
5223 		{
5224 			NI i_3;
5225 			NI colontmp__2;
5226 			NI i_4;
5227 			i_3 = (NI)0;
5228 			colontmp__2 = (NI)0;
5229 			colontmp__2 = len__ast_3198(n);
5230 			i_4 = ((NI) 0);
5231 			{
5232 				while (1) {
5233 					if (!(i_4 < colontmp__2)) goto LA32;
5234 					i_3 = i_4;
5235 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), transformStateAssignments__closureiters_1386(ctx, (*n)._kind_6.sons->data[i_3]));
5236 					i_4 += ((NI) 1);
5237 				} LA32: ;
5238 			}
5239 		}
5240 	}
5241 	break;
5242 	}
5243 	return result;
5244 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)5245 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5246 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5247 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5248 	(*x).typeId_0 += ((NI) 1);
5249 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5250 	result.module = (*x).module;
5251 	result.item = (*x).typeId_0;
5252 	return result;
5253 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newArrayType__closureiters_1545)5254 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newArrayType__closureiters_1545)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
5255 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5256 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
5257 	tyObject_TType__facALICuu8zUj0hjvbTLFg* rng;
5258 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
5259 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
5260 	result = NIM_NIL;
5261 	T1_ = nextTypeId__ast_3151(idgen);
5262 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), T1_, owner);
5263 	T2_ = nextTypeId__ast_3151(idgen);
5264 	rng = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), T2_, owner);
5265 	nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5266 	T3_[0] = newIntLit__lowerings_695(g, (*owner).info, IL64(0));
5267 	T3_[1] = newIntLit__lowerings_695(g, (*owner).info, ((NI64) (n)));
5268 	asgnRef((void**) (&(*rng).n), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), T3_, 2));
5269 	rawAddSon__ast_4288(rng, t, NIM_TRUE);
5270 	rawAddSon__ast_4288(result, rng, NIM_TRUE);
5271 	rawAddSon__ast_4288(result, t, NIM_TRUE);
5272 	return result;
5273 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,createExceptionTable__closureiters_1553)5274 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, createExceptionTable__closureiters_1553)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx) {
5275 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5276 	NI T1_;
5277 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
5278 	result = NIM_NIL;
5279 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*ctx).fn).info);
5280 	T1_ = ((*ctx).exceptionTable ? (*ctx).exceptionTable->Sup.len : 0);
5281 	T2_ = NIM_NIL;
5282 	T2_ = getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
5283 	asgnRef((void**) (&(*result).typ), newArrayType__closureiters_1545((*ctx).g, T1_, T2_, (*ctx).idgen, (*ctx).fn));
5284 	{
5285 		NI* i;
5286 		NI i_2;
5287 		NI L;
5288 		NI T4_;
5289 		i = (NI*)0;
5290 		i_2 = ((NI) 0);
5291 		T4_ = ((*ctx).exceptionTable ? (*ctx).exceptionTable->Sup.len : 0);
5292 		L = T4_;
5293 		{
5294 			while (1) {
5295 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elem;
5296 				if (!(i_2 < L)) goto LA6;
5297 				i = (&(*ctx).exceptionTable->data[i_2]);
5298 				elem = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*i))));
5299 				asgnRef((void**) (&(*elem).typ), getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)));
5300 				add__ast_4797(result, elem);
5301 				i_2 += ((NI) 1);
5302 			} LA6: ;
5303 		}
5304 	}
5305 	return result;
5306 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newCatchBody__closureiters_1568)5307 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newCatchBody__closureiters_1568)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
5308 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5309 	tyObject_TType__facALICuu8zUj0hjvbTLFg* intTyp;
5310 	tyObject_TType__facALICuu8zUj0hjvbTLFg* boolTyp;
5311 	result = NIM_NIL;
5312 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), info);
5313 	intTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5314 	boolTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
5315 	{
5316 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* getNextState;
5317 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
5318 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
5319 		nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5320 		T2_[0] = createExceptionTable__closureiters_1553(ctx);
5321 		T2_[1] = newStateAccess__closureiters_35(ctx);
5322 		getNextState = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T2_, 2);
5323 		asgnRef((void**) (&(*getNextState).typ), intTyp);
5324 		T3_ = NIM_NIL;
5325 		T3_ = newStateAssgn__closureiters_41(ctx, getNextState);
5326 		add__ast_4797(result, T3_);
5327 	}
5328 	{
5329 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
5330 		tyArray__T6RKPw8xfAeNaoei9aZGzXg T5_;
5331 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
5332 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raiseStmt;
5333 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T7_;
5334 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch;
5335 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T8_;
5336 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt;
5337 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T9_;
5338 		nimZeroMem((void*)T5_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5339 		T6_ = NIM_NIL;
5340 		T6_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_29), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70));
5341 		T5_[0] = newSymNode__ast_3716(T6_);
5342 		T5_[1] = newStateAccess__closureiters_35(ctx);
5343 		T5_[2] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5344 		cond = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T5_, 3);
5345 		asgnRef((void**) (&(*cond).typ), boolTyp);
5346 		nimZeroMem((void*)T7_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5347 		T7_[0] = (*(*ctx).g).emptyNode;
5348 		raiseStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T7_, 1);
5349 		nimZeroMem((void*)T8_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5350 		T8_[0] = cond;
5351 		T8_[1] = raiseStmt;
5352 		ifBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T8_, 2);
5353 		nimZeroMem((void*)T9_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5354 		T9_[0] = ifBranch;
5355 		ifStmt = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T9_, 1);
5356 		add__ast_4797(result, ifStmt);
5357 	}
5358 	{
5359 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond_2;
5360 		tyArray__T6RKPw8xfAeNaoei9aZGzXg T11_;
5361 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
5362 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* asgn;
5363 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
5364 		nimZeroMem((void*)T11_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5365 		T12_ = NIM_NIL;
5366 		T12_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72));
5367 		T11_[0] = newSymNode__ast_3716(T12_);
5368 		T11_[1] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5369 		T11_[2] = newStateAccess__closureiters_35(ctx);
5370 		cond_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T11_, 3);
5371 		asgnRef((void**) (&(*cond_2).typ), boolTyp);
5372 		nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5373 		T13_[0] = newUnrollFinallyAccess__closureiters_84(ctx, info);
5374 		T13_[1] = cond_2;
5375 		asgn = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T13_, 2);
5376 		add__ast_4797(result, asgn);
5377 	}
5378 	{
5379 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond_3;
5380 		tyArray__T6RKPw8xfAeNaoei9aZGzXg T15_;
5381 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
5382 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* negateState;
5383 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T17_;
5384 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
5385 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifBranch_2;
5386 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T19_;
5387 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ifStmt_2;
5388 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T20_;
5389 		nimZeroMem((void*)T15_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5390 		T16_ = NIM_NIL;
5391 		T16_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72));
5392 		T15_[0] = newSymNode__ast_3716(T16_);
5393 		T15_[1] = newStateAccess__closureiters_35(ctx);
5394 		T15_[2] = newIntTypeNode__ast_3783(IL64(0), intTyp);
5395 		cond_3 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T15_, 3);
5396 		asgnRef((void**) (&(*cond_3).typ), boolTyp);
5397 		nimZeroMem((void*)T17_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5398 		T18_ = NIM_NIL;
5399 		T18_ = getSysMagic__magicsys_29((*ctx).g, info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_44), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93));
5400 		T17_[0] = newSymNode__ast_3716(T18_);
5401 		T17_[1] = newStateAccess__closureiters_35(ctx);
5402 		negateState = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T17_, 2);
5403 		asgnRef((void**) (&(*negateState).typ), intTyp);
5404 		nimZeroMem((void*)T19_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5405 		T19_[0] = cond_3;
5406 		T19_[1] = newStateAssgn__closureiters_41(ctx, negateState);
5407 		ifBranch_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T19_, 2);
5408 		nimZeroMem((void*)T20_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5409 		T20_[0] = ifBranch_2;
5410 		ifStmt_2 = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T20_, 1);
5411 		add__ast_4797(result, ifStmt_2);
5412 	}
5413 	{
5414 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T22_;
5415 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
5416 		nimZeroMem((void*)T22_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5417 		T22_[0] = newCurExcAccess__closureiters_91(ctx);
5418 		T22_[1] = callCodegenProc__lowerings_635((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_24), unknownLineInfo__lineinfos_280, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5419 		T23_ = NIM_NIL;
5420 		T23_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T22_, 2);
5421 		add__ast_4797(result, T23_);
5422 	}
5423 	return result;
5424 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,wrapIntoTryExcept__closureiters_1605)5425 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoTryExcept__closureiters_1605)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5426 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5427 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* setupExc;
5428 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5429 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
5430 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tryBody;
5431 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
5432 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptBranch;
5433 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T4_;
5434 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T5_;
5435 	result = NIM_NIL;
5436 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5437 	T2_ = NIM_NIL;
5438 	T2_ = getCompilerProc__magicsys_145((*ctx).g, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_30));
5439 	T1_[0] = newSymNode__ast_3716(T2_);
5440 	T1_[1] = newCurExcAccess__closureiters_91(ctx);
5441 	setupExc = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T1_, 2);
5442 	nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5443 	T3_[0] = setupExc;
5444 	T3_[1] = n;
5445 	tryBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T3_, 2);
5446 	nimZeroMem((void*)T4_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5447 	T4_[0] = newCatchBody__closureiters_1568(ctx, (*(*ctx).fn).info);
5448 	exceptBranch = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87), T4_, 1);
5449 	nimZeroMem((void*)T5_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5450 	T5_[0] = tryBody;
5451 	T5_[1] = exceptBranch;
5452 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106), T5_, 2);
5453 	return result;
5454 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,wrapIntoStateLoop__closureiters_1612)5455 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapIntoStateLoop__closureiters_1612)(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5456 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5457 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
5458 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T1_;
5459 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
5460 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* localVars;
5461 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* blockStmt;
5462 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
5463 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gs;
5464 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
5465 	NI T14_;
5466 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
5467 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* blockBody;
5468 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T16_;
5469 	result = NIM_NIL;
5470 	loopBody = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5471 	nimZeroMem((void*)T1_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5472 	T2_ = NIM_NIL;
5473 	T2_ = getSysSym__magicsys_16((*ctx).g, (*n).info, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_18));
5474 	T1_[0] = newSymNode__ast_3716(T2_);
5475 	T1_[1] = loopBody;
5476 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), T1_, 2);
5477 	(*result).info = (*n).info;
5478 	localVars = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
5479 	{
5480 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSect;
5481 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
5482 		if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
5483 		varSect = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*n).info);
5484 		T7_ = NIM_NIL;
5485 		T7_ = newSymNode__ast_3716((*ctx).stateVarSym);
5486 		addVar__lowerings_63(varSect, T7_);
5487 		add__ast_4797(localVars, varSect);
5488 		{
5489 			if (!!(((*ctx).tempVars == 0))) goto LA10_;
5490 			add__ast_4797(localVars, (*ctx).tempVars);
5491 		}
5492 		LA10_: ;
5493 	}
5494 	LA5_: ;
5495 	blockStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112), (*n).info);
5496 	T12_ = NIM_NIL;
5497 	T12_ = newSymNode__ast_3716((*ctx).stateLoopLabel);
5498 	add__ast_4797(blockStmt, T12_);
5499 	gs = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), (*n).info);
5500 	T13_ = NIM_NIL;
5501 	T13_ = newStateAccess__closureiters_35(ctx);
5502 	add__ast_4797(gs, T13_);
5503 	T14_ = ((*ctx).states ? (*ctx).states->Sup.len : 0);
5504 	T15_ = NIM_NIL;
5505 	T15_ = newIntLit__lowerings_695((*ctx).g, (*n).info, ((NI64) ((NI)(T14_ - ((NI) 1)))));
5506 	add__ast_4797(gs, T15_);
5507 	nimZeroMem((void*)T16_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5508 	T16_[0] = gs;
5509 	T16_[1] = localVars;
5510 	T16_[2] = n;
5511 	blockBody = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T16_, 3);
5512 	{
5513 		if (!(*ctx).hasExceptions) goto LA19_;
5514 		blockBody = wrapIntoTryExcept__closureiters_1605(ctx, blockBody);
5515 	}
5516 	LA19_: ;
5517 	add__ast_4797(blockStmt, blockBody);
5518 	add__ast_4797(loopBody, blockStmt);
5519 	return result;
5520 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transformClosureIterator__closureiters_3541)5521 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformClosureIterator__closureiters_3541)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5522 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5523 	tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A ctx;
5524 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T8_;
5525 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T9_;
5526 	tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw pc;
5527 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5528 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
5529 	NI T11_;
5530 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gotoOut;
5531 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T12_;
5532 	NIM_BOOL ns;
5533 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
5534 	result = NIM_NIL;
5535 	nimZeroMem((void*)(&ctx), sizeof(tyObject_Ctx__Sws9awoFPhDR7PA2lS1LQ5A));
5536 	ctx.g = g;
5537 	ctx.fn = fn;
5538 	ctx.idgen = idgen;
5539 	{
5540 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
5541 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T6_;
5542 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
5543 		T3_ = NIM_NIL;
5544 		T3_ = getEnvParam__lambdalifting_131(fn);
5545 		if (!(T3_ == 0)) goto LA4_;
5546 		T6_ = NIM_NIL;
5547 		T6_ = getIdent__idents_143((*ctx.g).cache, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_2));
5548 		T7_ = nextSymId__ast_3132(idgen);
5549 		ctx.stateVarSym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T6_, T7_, fn, (*fn).info, 0);
5550 		asgnRef((void**) (&(*ctx.stateVarSym).typ), createClosureIterStateType__lambdalifting_33(g, fn, idgen));
5551 	}
5552 	LA4_: ;
5553 	T8_ = NIM_NIL;
5554 	T8_ = getIdent__idents_143((*ctx.g).cache, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_3));
5555 	T9_ = nextSymId__ast_3132(idgen);
5556 	ctx.stateLoopLabel = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), T8_, T9_, fn, (*fn).info, 0);
5557 	nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw));
5558 	nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__ATjkivkWYrBstrMNxiy9cNw));
5559 	pc.finallys = NIM_NIL;
5560 	pc.config = (*g).config;
5561 	pc.idgen = idgen;
5562 	T10_ = NIM_NIL;
5563 	T10_ = toStmtList__closureiters_136(n);
5564 	n_2 = preprocess__closureiters_3362((&pc), T10_);
5565 	T11_ = (NI)0;
5566 	T11_ = newState__closureiters_97((&ctx), n_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5567 	(void)(T11_);
5568 	nimZeroMem((void*)T12_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
5569 	T12_[0] = newIntLit__lowerings_695(g, (*n_2).info, IL64(-1));
5570 	gotoOut = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156), T12_, 1);
5571 	ns = NIM_FALSE;
5572 	n_2 = lowerStmtListExprs__closureiters_478((&ctx), n_2, (&ns));
5573 	{
5574 		NIM_BOOL T15_;
5575 		T15_ = (NIM_BOOL)0;
5576 		T15_ = hasYieldsInExpressions__closureiters_371(n_2);
5577 		if (!T15_) goto LA16_;
5578 		internalErrorImpl__msgs_1431((*ctx.g).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__slVvvIjx75ivXdMpHiE9c9aQ_19), TM__slVvvIjx75ivXdMpHiE9c9aQ_20);
5579 	}
5580 	LA16_: ;
5581 	T18_ = NIM_NIL;
5582 	T18_ = transformClosureIteratorBody__closureiters_1173((&ctx), n_2, gotoOut);
5583 	(void)(T18_);
5584 	deleteEmptyStates__closureiters_1659((&ctx));
5585 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n_2).info);
5586 	{
5587 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s;
5588 		NI i;
5589 		NI L;
5590 		NI T20_;
5591 		s = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5592 		i = ((NI) 0);
5593 		T20_ = (ctx.states ? ctx.states->Sup.len : 0);
5594 		L = T20_;
5595 		{
5596 			while (1) {
5597 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
5598 				if (!(i < L)) goto LA22;
5599 				s = &ctx.states->data[i];
5600 				body = (*(*s))._kind_6.sons->data[((NI) 1)];
5601 				del__closureiters_3571((&(*(*s))._kind_6.sons), ((NI) 1));
5602 				add__ast_4797(result, (*s));
5603 				add__ast_4797(result, body);
5604 				i += ((NI) 1);
5605 			} LA22: ;
5606 		}
5607 	}
5608 	result = transformStateAssignments__closureiters_1386((&ctx), result);
5609 	result = wrapIntoStateLoop__closureiters_1612((&ctx), result);
5610 	return result;
5611 }
N_NIMCALL(void,compiler_closureitersDatInit000)5612 N_LIB_PRIVATE N_NIMCALL(void, compiler_closureitersDatInit000)(void) {
5613 static TNimNode* TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[3];
5614 static TNimNode TM__slVvvIjx75ivXdMpHiE9c9aQ_0[4];
5615 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.size = sizeof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw);
5616 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.align = NIM_ALIGNOF(tyTuple__O3AtiO8fwKWfdl6NGmuzhw);
5617 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.kind = 18;
5618 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.base = 0;
5619 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[0] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1];
5620 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].kind = 1;
5621 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field0);
5622 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5623 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[1].name = "Field0";
5624 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[1] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2];
5625 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].kind = 1;
5626 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field1);
5627 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5628 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[2].name = "Field1";
5629 TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[2] = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3];
5630 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].kind = 1;
5631 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].offset = offsetof(tyTuple__O3AtiO8fwKWfdl6NGmuzhw, Field2);
5632 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
5633 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[3].name = "Field2";
5634 TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].len = 3; TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].kind = 2; TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0].sons = &TM__slVvvIjx75ivXdMpHiE9c9aQ_4_3[0];
5635 NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_.node = &TM__slVvvIjx75ivXdMpHiE9c9aQ_0[0];
5636 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.size = sizeof(tySequence__gVogYzwlGNrCaz6jQnXRzA*);
5637 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.align = NIM_ALIGNOF(tySequence__gVogYzwlGNrCaz6jQnXRzA*);
5638 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.kind = 24;
5639 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.base = (&NTIkeyvaluepair__O3AtiO8fwKWfdl6NGmuzhw_);
5640 NTIkeyvaluepairseq__gVogYzwlGNrCaz6jQnXRzA_.marker = Marker_tySequence__gVogYzwlGNrCaz6jQnXRzA;
5641 }
5642 
5643