@contractkit/plugin-typescript 0.16.1 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">87.38% </span>
26
+ <span class="strong">87.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>561/642</span>
28
+ <span class='fraction'>571/652</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">81.19% </span>
33
+ <span class="strong">81.63% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>354/436</span>
35
+ <span class='fraction'>369/452</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">90.16% </span>
40
+ <span class="strong">89.91% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>110/122</span>
42
+ <span class='fraction'>107/119</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.24% </span>
47
+ <span class="strong">88.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>458/519</span>
49
+ <span class='fraction'>473/534</span>
50
50
  </div>
51
51
 
52
52
 
@@ -1145,7 +1145,57 @@
1145
1145
  <a name='L1080'></a><a href='#L1080'>1080</a>
1146
1146
  <a name='L1081'></a><a href='#L1081'>1081</a>
1147
1147
  <a name='L1082'></a><a href='#L1082'>1082</a>
1148
- <a name='L1083'></a><a href='#L1083'>1083</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <a name='L1083'></a><a href='#L1083'>1083</a>
1149
+ <a name='L1084'></a><a href='#L1084'>1084</a>
1150
+ <a name='L1085'></a><a href='#L1085'>1085</a>
1151
+ <a name='L1086'></a><a href='#L1086'>1086</a>
1152
+ <a name='L1087'></a><a href='#L1087'>1087</a>
1153
+ <a name='L1088'></a><a href='#L1088'>1088</a>
1154
+ <a name='L1089'></a><a href='#L1089'>1089</a>
1155
+ <a name='L1090'></a><a href='#L1090'>1090</a>
1156
+ <a name='L1091'></a><a href='#L1091'>1091</a>
1157
+ <a name='L1092'></a><a href='#L1092'>1092</a>
1158
+ <a name='L1093'></a><a href='#L1093'>1093</a>
1159
+ <a name='L1094'></a><a href='#L1094'>1094</a>
1160
+ <a name='L1095'></a><a href='#L1095'>1095</a>
1161
+ <a name='L1096'></a><a href='#L1096'>1096</a>
1162
+ <a name='L1097'></a><a href='#L1097'>1097</a>
1163
+ <a name='L1098'></a><a href='#L1098'>1098</a>
1164
+ <a name='L1099'></a><a href='#L1099'>1099</a>
1165
+ <a name='L1100'></a><a href='#L1100'>1100</a>
1166
+ <a name='L1101'></a><a href='#L1101'>1101</a>
1167
+ <a name='L1102'></a><a href='#L1102'>1102</a>
1168
+ <a name='L1103'></a><a href='#L1103'>1103</a>
1169
+ <a name='L1104'></a><a href='#L1104'>1104</a>
1170
+ <a name='L1105'></a><a href='#L1105'>1105</a>
1171
+ <a name='L1106'></a><a href='#L1106'>1106</a>
1172
+ <a name='L1107'></a><a href='#L1107'>1107</a>
1173
+ <a name='L1108'></a><a href='#L1108'>1108</a>
1174
+ <a name='L1109'></a><a href='#L1109'>1109</a>
1175
+ <a name='L1110'></a><a href='#L1110'>1110</a>
1176
+ <a name='L1111'></a><a href='#L1111'>1111</a>
1177
+ <a name='L1112'></a><a href='#L1112'>1112</a>
1178
+ <a name='L1113'></a><a href='#L1113'>1113</a>
1179
+ <a name='L1114'></a><a href='#L1114'>1114</a>
1180
+ <a name='L1115'></a><a href='#L1115'>1115</a>
1181
+ <a name='L1116'></a><a href='#L1116'>1116</a>
1182
+ <a name='L1117'></a><a href='#L1117'>1117</a>
1183
+ <a name='L1118'></a><a href='#L1118'>1118</a>
1184
+ <a name='L1119'></a><a href='#L1119'>1119</a>
1185
+ <a name='L1120'></a><a href='#L1120'>1120</a>
1186
+ <a name='L1121'></a><a href='#L1121'>1121</a>
1187
+ <a name='L1122'></a><a href='#L1122'>1122</a>
1188
+ <a name='L1123'></a><a href='#L1123'>1123</a>
1189
+ <a name='L1124'></a><a href='#L1124'>1124</a>
1190
+ <a name='L1125'></a><a href='#L1125'>1125</a>
1191
+ <a name='L1126'></a><a href='#L1126'>1126</a>
1192
+ <a name='L1127'></a><a href='#L1127'>1127</a>
1193
+ <a name='L1128'></a><a href='#L1128'>1128</a>
1194
+ <a name='L1129'></a><a href='#L1129'>1129</a>
1195
+ <a name='L1130'></a><a href='#L1130'>1130</a>
1196
+ <a name='L1131'></a><a href='#L1131'>1131</a>
1197
+ <a name='L1132'></a><a href='#L1132'>1132</a>
1198
+ <a name='L1133'></a><a href='#L1133'>1133</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
1149
1199
  <span class="cline-any cline-neutral">&nbsp;</span>
1150
1200
  <span class="cline-any cline-neutral">&nbsp;</span>
1151
1201
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1170,9 +1220,14 @@
1170
1220
  <span class="cline-any cline-neutral">&nbsp;</span>
1171
1221
  <span class="cline-any cline-neutral">&nbsp;</span>
1172
1222
  <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-yes">117x</span>
1174
1223
  <span class="cline-any cline-neutral">&nbsp;</span>
1175
- <span class="cline-any cline-yes">110x</span>
1224
+ <span class="cline-any cline-neutral">&nbsp;</span>
1225
+ <span class="cline-any cline-neutral">&nbsp;</span>
1226
+ <span class="cline-any cline-neutral">&nbsp;</span>
1227
+ <span class="cline-any cline-neutral">&nbsp;</span>
1228
+ <span class="cline-any cline-yes">121x</span>
1229
+ <span class="cline-any cline-neutral">&nbsp;</span>
1230
+ <span class="cline-any cline-yes">114x</span>
1176
1231
  <span class="cline-any cline-neutral">&nbsp;</span>
1177
1232
  <span class="cline-any cline-yes">5x</span>
1178
1233
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1203,127 +1258,137 @@
1203
1258
  <span class="cline-any cline-neutral">&nbsp;</span>
1204
1259
  <span class="cline-any cline-neutral">&nbsp;</span>
1205
1260
  <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-yes">136x</span>
1261
+ <span class="cline-any cline-yes">138x</span>
1207
1262
  <span class="cline-any cline-neutral">&nbsp;</span>
1208
1263
  <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-yes">136x</span>
1210
- <span class="cline-any cline-yes">205x</span>
1211
- <span class="cline-any cline-yes">26x</span>
1264
+ <span class="cline-any cline-yes">138x</span>
1265
+ <span class="cline-any cline-yes">210x</span>
1266
+ <span class="cline-any cline-yes">27x</span>
1212
1267
  <span class="cline-any cline-neutral">&nbsp;</span>
1213
1268
  <span class="cline-any cline-neutral">&nbsp;</span>
1214
1269
  <span class="cline-any cline-neutral">&nbsp;</span>
1215
1270
  <span class="cline-any cline-neutral">&nbsp;</span>
1216
1271
  <span class="cline-any cline-neutral">&nbsp;</span>
1217
- <span class="cline-any cline-yes">136x</span>
1218
- <span class="cline-any cline-yes">136x</span>
1219
- <span class="cline-any cline-yes">153x</span>
1220
- <span class="cline-any cline-yes">153x</span>
1221
- <span class="cline-any cline-yes">198x</span>
1222
- <span class="cline-any cline-yes">140x</span>
1223
- <span class="cline-any cline-yes">140x</span>
1224
- <span class="cline-any cline-yes">177x</span>
1272
+ <span class="cline-any cline-yes">138x</span>
1273
+ <span class="cline-any cline-yes">138x</span>
1274
+ <span class="cline-any cline-yes">156x</span>
1275
+ <span class="cline-any cline-yes">156x</span>
1276
+ <span class="cline-any cline-yes">207x</span>
1277
+ <span class="cline-any cline-yes">146x</span>
1278
+ <span class="cline-any cline-yes">146x</span>
1279
+ <span class="cline-any cline-yes">181x</span>
1225
1280
  <span class="cline-any cline-neutral">&nbsp;</span>
1226
1281
  <span class="cline-any cline-neutral">&nbsp;</span>
1227
1282
  <span class="cline-any cline-neutral">&nbsp;</span>
1228
- <span class="cline-any cline-yes">140x</span>
1283
+ <span class="cline-any cline-yes">146x</span>
1229
1284
  <span class="cline-any cline-neutral">&nbsp;</span>
1230
1285
  <span class="cline-any cline-neutral">&nbsp;</span>
1231
- <span class="cline-any cline-yes">140x</span>
1232
- <span class="cline-any cline-yes">140x</span>
1233
- <span class="cline-any cline-yes">63x</span>
1234
- <span class="cline-any cline-yes">19x</span>
1235
- <span class="cline-any cline-yes">19x</span>
1236
- <span class="cline-any cline-yes">19x</span>
1286
+ <span class="cline-any cline-yes">146x</span>
1287
+ <span class="cline-any cline-yes">146x</span>
1288
+ <span class="cline-any cline-yes">66x</span>
1289
+ <span class="cline-any cline-yes">20x</span>
1290
+ <span class="cline-any cline-yes">20x</span>
1291
+ <span class="cline-any cline-yes">20x</span>
1237
1292
  <span class="cline-any cline-neutral">&nbsp;</span>
1238
1293
  <span class="cline-any cline-neutral">&nbsp;</span>
1239
1294
  <span class="cline-any cline-neutral">&nbsp;</span>
1240
1295
  <span class="cline-any cline-neutral">&nbsp;</span>
1241
1296
  <span class="cline-any cline-neutral">&nbsp;</span>
1242
- <span class="cline-any cline-yes">136x</span>
1297
+ <span class="cline-any cline-yes">138x</span>
1243
1298
  <span class="cline-any cline-neutral">&nbsp;</span>
1244
1299
  <span class="cline-any cline-neutral">&nbsp;</span>
1245
1300
  <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-yes">94x</span>
1247
- <span class="cline-any cline-yes">94x</span>
1248
- <span class="cline-any cline-yes">94x</span>
1301
+ <span class="cline-any cline-yes">100x</span>
1302
+ <span class="cline-any cline-yes">100x</span>
1303
+ <span class="cline-any cline-yes">100x</span>
1249
1304
  <span class="cline-any cline-no">&nbsp;</span>
1250
1305
  <span class="cline-any cline-neutral">&nbsp;</span>
1251
- <span class="cline-any cline-yes">94x</span>
1306
+ <span class="cline-any cline-yes">100x</span>
1252
1307
  <span class="cline-any cline-yes">1x</span>
1253
1308
  <span class="cline-any cline-neutral">&nbsp;</span>
1254
1309
  <span class="cline-any cline-neutral">&nbsp;</span>
1255
- <span class="cline-any cline-yes">94x</span>
1256
- <span class="cline-any cline-yes">94x</span>
1257
- <span class="cline-any cline-yes">94x</span>
1258
- <span class="cline-any cline-yes">94x</span>
1310
+ <span class="cline-any cline-yes">100x</span>
1311
+ <span class="cline-any cline-yes">100x</span>
1312
+ <span class="cline-any cline-yes">100x</span>
1313
+ <span class="cline-any cline-yes">100x</span>
1259
1314
  <span class="cline-any cline-neutral">&nbsp;</span>
1260
1315
  <span class="cline-any cline-neutral">&nbsp;</span>
1261
1316
  <span class="cline-any cline-neutral">&nbsp;</span>
1262
- <span class="cline-any cline-yes">76x</span>
1263
- <span class="cline-any cline-yes">76x</span>
1264
- <span class="cline-any cline-yes">76x</span>
1265
- <span class="cline-any cline-yes">76x</span>
1266
- <span class="cline-any cline-yes">76x</span>
1267
- <span class="cline-any cline-yes">76x</span>
1268
- <span class="cline-any cline-yes">76x</span>
1269
- <span class="cline-any cline-yes">76x</span>
1270
1317
  <span class="cline-any cline-neutral">&nbsp;</span>
1271
1318
  <span class="cline-any cline-neutral">&nbsp;</span>
1272
- <span class="cline-any cline-yes">76x</span>
1273
- <span class="cline-any cline-yes">76x</span>
1274
- <span class="cline-any cline-yes">76x</span>
1275
1319
  <span class="cline-any cline-neutral">&nbsp;</span>
1276
1320
  <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-yes">76x</span>
1278
- <span class="cline-any cline-yes">76x</span>
1279
- <span class="cline-any cline-yes">76x</span>
1280
1321
  <span class="cline-any cline-neutral">&nbsp;</span>
1281
1322
  <span class="cline-any cline-neutral">&nbsp;</span>
1282
- <span class="cline-any cline-yes">76x</span>
1283
- <span class="cline-any cline-yes">76x</span>
1284
- <span class="cline-any cline-yes">76x</span>
1285
1323
  <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-yes">76x</span>
1287
- <span class="cline-any cline-yes">76x</span>
1288
- <span class="cline-any cline-yes">76x</span>
1289
- <span class="cline-any cline-yes">76x</span>
1290
- <span class="cline-any cline-yes">76x</span>
1291
- <span class="cline-any cline-yes">76x</span>
1292
- <span class="cline-any cline-yes">76x</span>
1324
+ <span class="cline-any cline-neutral">&nbsp;</span>
1325
+ <span class="cline-any cline-neutral">&nbsp;</span>
1326
+ <span class="cline-any cline-neutral">&nbsp;</span>
1327
+ <span class="cline-any cline-yes">78x</span>
1328
+ <span class="cline-any cline-yes">78x</span>
1329
+ <span class="cline-any cline-yes">78x</span>
1330
+ <span class="cline-any cline-yes">78x</span>
1331
+ <span class="cline-any cline-yes">78x</span>
1332
+ <span class="cline-any cline-yes">78x</span>
1333
+ <span class="cline-any cline-yes">78x</span>
1334
+ <span class="cline-any cline-yes">78x</span>
1335
+ <span class="cline-any cline-neutral">&nbsp;</span>
1336
+ <span class="cline-any cline-neutral">&nbsp;</span>
1337
+ <span class="cline-any cline-yes">78x</span>
1338
+ <span class="cline-any cline-yes">78x</span>
1339
+ <span class="cline-any cline-yes">78x</span>
1340
+ <span class="cline-any cline-neutral">&nbsp;</span>
1341
+ <span class="cline-any cline-neutral">&nbsp;</span>
1342
+ <span class="cline-any cline-yes">78x</span>
1343
+ <span class="cline-any cline-yes">78x</span>
1344
+ <span class="cline-any cline-yes">78x</span>
1345
+ <span class="cline-any cline-neutral">&nbsp;</span>
1346
+ <span class="cline-any cline-neutral">&nbsp;</span>
1347
+ <span class="cline-any cline-yes">78x</span>
1348
+ <span class="cline-any cline-yes">78x</span>
1349
+ <span class="cline-any cline-yes">78x</span>
1350
+ <span class="cline-any cline-neutral">&nbsp;</span>
1351
+ <span class="cline-any cline-yes">78x</span>
1352
+ <span class="cline-any cline-yes">78x</span>
1353
+ <span class="cline-any cline-yes">78x</span>
1354
+ <span class="cline-any cline-yes">78x</span>
1355
+ <span class="cline-any cline-yes">78x</span>
1356
+ <span class="cline-any cline-yes">78x</span>
1357
+ <span class="cline-any cline-yes">78x</span>
1293
1358
  <span class="cline-any cline-yes">19x</span>
1294
1359
  <span class="cline-any cline-yes">19x</span>
1295
1360
  <span class="cline-any cline-neutral">&nbsp;</span>
1296
- <span class="cline-any cline-yes">76x</span>
1297
- <span class="cline-any cline-yes">76x</span>
1361
+ <span class="cline-any cline-yes">78x</span>
1362
+ <span class="cline-any cline-yes">78x</span>
1298
1363
  <span class="cline-any cline-yes">1x</span>
1299
1364
  <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-yes">76x</span>
1365
+ <span class="cline-any cline-yes">78x</span>
1301
1366
  <span class="cline-any cline-yes">5x</span>
1302
1367
  <span class="cline-any cline-neutral">&nbsp;</span>
1303
1368
  <span class="cline-any cline-neutral">&nbsp;</span>
1304
1369
  <span class="cline-any cline-neutral">&nbsp;</span>
1305
- <span class="cline-any cline-yes">76x</span>
1370
+ <span class="cline-any cline-yes">78x</span>
1306
1371
  <span class="cline-any cline-yes">3x</span>
1307
1372
  <span class="cline-any cline-neutral">&nbsp;</span>
1308
1373
  <span class="cline-any cline-neutral">&nbsp;</span>
1309
1374
  <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-yes">76x</span>
1375
+ <span class="cline-any cline-yes">78x</span>
1311
1376
  <span class="cline-any cline-yes">1x</span>
1312
1377
  <span class="cline-any cline-yes">1x</span>
1313
1378
  <span class="cline-any cline-neutral">&nbsp;</span>
1314
1379
  <span class="cline-any cline-neutral">&nbsp;</span>
1315
1380
  <span class="cline-any cline-neutral">&nbsp;</span>
1316
- <span class="cline-any cline-yes">76x</span>
1381
+ <span class="cline-any cline-yes">78x</span>
1317
1382
  <span class="cline-any cline-neutral">&nbsp;</span>
1318
- <span class="cline-any cline-yes">133x</span>
1319
- <span class="cline-any cline-yes">94x</span>
1383
+ <span class="cline-any cline-yes">138x</span>
1384
+ <span class="cline-any cline-yes">100x</span>
1320
1385
  <span class="cline-any cline-neutral">&nbsp;</span>
1321
- <span class="cline-any cline-yes">76x</span>
1322
- <span class="cline-any cline-yes">94x</span>
1323
- <span class="cline-any cline-yes">94x</span>
1386
+ <span class="cline-any cline-yes">78x</span>
1387
+ <span class="cline-any cline-yes">100x</span>
1388
+ <span class="cline-any cline-yes">100x</span>
1324
1389
  <span class="cline-any cline-neutral">&nbsp;</span>
1325
1390
  <span class="cline-any cline-neutral">&nbsp;</span>
1326
- <span class="cline-any cline-yes">76x</span>
1391
+ <span class="cline-any cline-yes">78x</span>
1327
1392
  <span class="cline-any cline-neutral">&nbsp;</span>
1328
1393
  <span class="cline-any cline-neutral">&nbsp;</span>
1329
1394
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1336,7 +1401,7 @@
1336
1401
  <span class="cline-any cline-neutral">&nbsp;</span>
1337
1402
  <span class="cline-any cline-neutral">&nbsp;</span>
1338
1403
  <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-yes">98x</span>
1404
+ <span class="cline-any cline-yes">102x</span>
1340
1405
  <span class="cline-any cline-neutral">&nbsp;</span>
1341
1406
  <span class="cline-any cline-neutral">&nbsp;</span>
1342
1407
  <span class="cline-any cline-yes">11x</span>
@@ -1346,7 +1411,7 @@
1346
1411
  <span class="cline-any cline-neutral">&nbsp;</span>
1347
1412
  <span class="cline-any cline-yes">7x</span>
1348
1413
  <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-yes">98x</span>
1414
+ <span class="cline-any cline-yes">102x</span>
1350
1415
  <span class="cline-any cline-neutral">&nbsp;</span>
1351
1416
  <span class="cline-any cline-yes">1x</span>
1352
1417
  <span class="cline-any cline-yes">2x</span>
@@ -1371,54 +1436,54 @@
1371
1436
  <span class="cline-any cline-neutral">&nbsp;</span>
1372
1437
  <span class="cline-any cline-neutral">&nbsp;</span>
1373
1438
  <span class="cline-any cline-neutral">&nbsp;</span>
1374
- <span class="cline-any cline-yes">94x</span>
1375
- <span class="cline-any cline-yes">3x</span>
1439
+ <span class="cline-any cline-yes">100x</span>
1440
+ <span class="cline-any cline-yes">5x</span>
1376
1441
  <span class="cline-any cline-neutral">&nbsp;</span>
1377
1442
  <span class="cline-any cline-neutral">&nbsp;</span>
1378
- <span class="cline-any cline-yes">91x</span>
1443
+ <span class="cline-any cline-yes">95x</span>
1379
1444
  <span class="cline-any cline-neutral">&nbsp;</span>
1380
1445
  <span class="cline-any cline-neutral">&nbsp;</span>
1381
1446
  <span class="cline-any cline-neutral">&nbsp;</span>
1382
- <span class="cline-any cline-yes">117x</span>
1447
+ <span class="cline-any cline-yes">122x</span>
1383
1448
  <span class="cline-any cline-neutral">&nbsp;</span>
1384
- <span class="cline-any cline-yes">94x</span>
1449
+ <span class="cline-any cline-yes">100x</span>
1385
1450
  <span class="cline-any cline-neutral">&nbsp;</span>
1386
1451
  <span class="cline-any cline-neutral">&nbsp;</span>
1387
1452
  <span class="cline-any cline-neutral">&nbsp;</span>
1388
1453
  <span class="cline-any cline-neutral">&nbsp;</span>
1389
- <span class="cline-any cline-yes">94x</span>
1454
+ <span class="cline-any cline-yes">100x</span>
1390
1455
  <span class="cline-any cline-yes">3x</span>
1391
1456
  <span class="cline-any cline-neutral">&nbsp;</span>
1392
1457
  <span class="cline-any cline-neutral">&nbsp;</span>
1393
- <span class="cline-any cline-yes">91x</span>
1458
+ <span class="cline-any cline-yes">95x</span>
1394
1459
  <span class="cline-any cline-neutral">&nbsp;</span>
1395
1460
  <span class="cline-any cline-neutral">&nbsp;</span>
1396
1461
  <span class="cline-any cline-neutral">&nbsp;</span>
1462
+ <span class="cline-any cline-yes">5x</span>
1463
+ <span class="cline-any cline-yes">5x</span>
1464
+ <span class="cline-any cline-yes">5x</span>
1465
+ <span class="cline-any cline-yes">5x</span>
1466
+ <span class="cline-any cline-yes">5x</span>
1397
1467
  <span class="cline-any cline-yes">3x</span>
1398
1468
  <span class="cline-any cline-yes">3x</span>
1399
- <span class="cline-any cline-yes">3x</span>
1400
- <span class="cline-any cline-yes">3x</span>
1401
- <span class="cline-any cline-yes">3x</span>
1402
- <span class="cline-any cline-yes">2x</span>
1403
- <span class="cline-any cline-yes">2x</span>
1404
1469
  <span class="cline-any cline-neutral">&nbsp;</span>
1405
- <span class="cline-any cline-yes">3x</span>
1470
+ <span class="cline-any cline-yes">5x</span>
1406
1471
  <span class="cline-any cline-no">&nbsp;</span>
1407
1472
  <span class="cline-any cline-neutral">&nbsp;</span>
1408
- <span class="cline-any cline-yes">3x</span>
1473
+ <span class="cline-any cline-yes">5x</span>
1409
1474
  <span class="cline-any cline-neutral">&nbsp;</span>
1410
1475
  <span class="cline-any cline-neutral">&nbsp;</span>
1411
1476
  <span class="cline-any cline-neutral">&nbsp;</span>
1412
- <span class="cline-any cline-yes">66x</span>
1413
- <span class="cline-any cline-yes">66x</span>
1477
+ <span class="cline-any cline-yes">69x</span>
1478
+ <span class="cline-any cline-yes">69x</span>
1414
1479
  <span class="cline-any cline-neutral">&nbsp;</span>
1415
- <span class="cline-any cline-yes">66x</span>
1480
+ <span class="cline-any cline-yes">69x</span>
1416
1481
  <span class="cline-any cline-neutral">&nbsp;</span>
1417
- <span class="cline-any cline-yes">66x</span>
1418
- <span class="cline-any cline-yes">66x</span>
1419
- <span class="cline-any cline-yes">66x</span>
1482
+ <span class="cline-any cline-yes">69x</span>
1483
+ <span class="cline-any cline-yes">69x</span>
1484
+ <span class="cline-any cline-yes">69x</span>
1420
1485
  <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-yes">66x</span>
1486
+ <span class="cline-any cline-yes">69x</span>
1422
1487
  <span class="cline-any cline-neutral">&nbsp;</span>
1423
1488
  <span class="cline-any cline-yes">8x</span>
1424
1489
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1442,9 +1507,9 @@
1442
1507
  <span class="cline-any cline-yes">8x</span>
1443
1508
  <span class="cline-any cline-neutral">&nbsp;</span>
1444
1509
  <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-yes">58x</span>
1446
- <span class="cline-any cline-yes">58x</span>
1447
- <span class="cline-any cline-yes">66x</span>
1510
+ <span class="cline-any cline-yes">61x</span>
1511
+ <span class="cline-any cline-yes">61x</span>
1512
+ <span class="cline-any cline-yes">69x</span>
1448
1513
  <span class="cline-any cline-yes">5x</span>
1449
1514
  <span class="cline-any cline-yes">5x</span>
1450
1515
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1454,13 +1519,13 @@
1454
1519
  <span class="cline-any cline-yes">5x</span>
1455
1520
  <span class="cline-any cline-yes">5x</span>
1456
1521
  <span class="cline-any cline-neutral">&nbsp;</span>
1457
- <span class="cline-any cline-yes">53x</span>
1458
- <span class="cline-any cline-yes">68x</span>
1459
- <span class="cline-any cline-yes">53x</span>
1522
+ <span class="cline-any cline-yes">56x</span>
1523
+ <span class="cline-any cline-yes">71x</span>
1524
+ <span class="cline-any cline-yes">56x</span>
1460
1525
  <span class="cline-any cline-neutral">&nbsp;</span>
1461
1526
  <span class="cline-any cline-neutral">&nbsp;</span>
1462
- <span class="cline-any cline-yes">58x</span>
1463
- <span class="cline-any cline-yes">58x</span>
1527
+ <span class="cline-any cline-yes">61x</span>
1528
+ <span class="cline-any cline-yes">61x</span>
1464
1529
  <span class="cline-any cline-neutral">&nbsp;</span>
1465
1530
  <span class="cline-any cline-neutral">&nbsp;</span>
1466
1531
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1475,21 +1540,21 @@
1475
1540
  <span class="cline-any cline-neutral">&nbsp;</span>
1476
1541
  <span class="cline-any cline-neutral">&nbsp;</span>
1477
1542
  <span class="cline-any cline-neutral">&nbsp;</span>
1478
- <span class="cline-any cline-yes">25x</span>
1479
- <span class="cline-any cline-yes">25x</span>
1543
+ <span class="cline-any cline-yes">26x</span>
1544
+ <span class="cline-any cline-yes">26x</span>
1480
1545
  <span class="cline-any cline-neutral">&nbsp;</span>
1481
- <span class="cline-any cline-yes">25x</span>
1546
+ <span class="cline-any cline-yes">26x</span>
1482
1547
  <span class="cline-any cline-neutral">&nbsp;</span>
1483
- <span class="cline-any cline-yes">25x</span>
1548
+ <span class="cline-any cline-yes">26x</span>
1484
1549
  <span class="cline-any cline-neutral">&nbsp;</span>
1485
- <span class="cline-any cline-yes">25x</span>
1486
- <span class="cline-any cline-yes">43x</span>
1550
+ <span class="cline-any cline-yes">26x</span>
1551
+ <span class="cline-any cline-yes">45x</span>
1487
1552
  <span class="cline-any cline-neutral">&nbsp;</span>
1488
- <span class="cline-any cline-yes">25x</span>
1553
+ <span class="cline-any cline-yes">26x</span>
1489
1554
  <span class="cline-any cline-neutral">&nbsp;</span>
1490
1555
  <span class="cline-any cline-neutral">&nbsp;</span>
1491
1556
  <span class="cline-any cline-neutral">&nbsp;</span>
1492
- <span class="cline-any cline-yes">25x</span>
1557
+ <span class="cline-any cline-yes">26x</span>
1493
1558
  <span class="cline-any cline-yes">4x</span>
1494
1559
  <span class="cline-any cline-yes">4x</span>
1495
1560
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1503,34 +1568,34 @@
1503
1568
  <span class="cline-any cline-neutral">&nbsp;</span>
1504
1569
  <span class="cline-any cline-neutral">&nbsp;</span>
1505
1570
  <span class="cline-any cline-neutral">&nbsp;</span>
1506
- <span class="cline-any cline-yes">44x</span>
1507
- <span class="cline-any cline-yes">25x</span>
1508
- <span class="cline-any cline-yes">25x</span>
1571
+ <span class="cline-any cline-yes">46x</span>
1572
+ <span class="cline-any cline-yes">26x</span>
1573
+ <span class="cline-any cline-yes">26x</span>
1509
1574
  <span class="cline-any cline-yes">6x</span>
1510
1575
  <span class="cline-any cline-yes">5x</span>
1511
1576
  <span class="cline-any cline-neutral">&nbsp;</span>
1512
- <span class="cline-any cline-yes">20x</span>
1577
+ <span class="cline-any cline-yes">21x</span>
1513
1578
  <span class="cline-any cline-neutral">&nbsp;</span>
1514
- <span class="cline-any cline-yes">40x</span>
1515
- <span class="cline-any cline-yes">25x</span>
1516
- <span class="cline-any cline-yes">25x</span>
1517
- <span class="cline-any cline-yes">25x</span>
1579
+ <span class="cline-any cline-yes">42x</span>
1580
+ <span class="cline-any cline-yes">26x</span>
1581
+ <span class="cline-any cline-yes">26x</span>
1582
+ <span class="cline-any cline-yes">26x</span>
1518
1583
  <span class="cline-any cline-neutral">&nbsp;</span>
1519
1584
  <span class="cline-any cline-neutral">&nbsp;</span>
1520
1585
  <span class="cline-any cline-neutral">&nbsp;</span>
1521
- <span class="cline-any cline-yes">44x</span>
1522
- <span class="cline-any cline-yes">25x</span>
1523
- <span class="cline-any cline-yes">25x</span>
1586
+ <span class="cline-any cline-yes">46x</span>
1587
+ <span class="cline-any cline-yes">26x</span>
1588
+ <span class="cline-any cline-yes">26x</span>
1524
1589
  <span class="cline-any cline-yes">6x</span>
1525
1590
  <span class="cline-any cline-yes">5x</span>
1526
1591
  <span class="cline-any cline-neutral">&nbsp;</span>
1527
- <span class="cline-any cline-yes">20x</span>
1592
+ <span class="cline-any cline-yes">21x</span>
1528
1593
  <span class="cline-any cline-neutral">&nbsp;</span>
1529
- <span class="cline-any cline-yes">30x</span>
1530
- <span class="cline-any cline-yes">25x</span>
1531
- <span class="cline-any cline-yes">25x</span>
1594
+ <span class="cline-any cline-yes">31x</span>
1595
+ <span class="cline-any cline-yes">26x</span>
1596
+ <span class="cline-any cline-yes">26x</span>
1532
1597
  <span class="cline-any cline-neutral">&nbsp;</span>
1533
- <span class="cline-any cline-yes">25x</span>
1598
+ <span class="cline-any cline-yes">26x</span>
1534
1599
  <span class="cline-any cline-neutral">&nbsp;</span>
1535
1600
  <span class="cline-any cline-neutral">&nbsp;</span>
1536
1601
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1550,7 +1615,7 @@
1550
1615
  <span class="cline-any cline-neutral">&nbsp;</span>
1551
1616
  <span class="cline-any cline-neutral">&nbsp;</span>
1552
1617
  <span class="cline-any cline-neutral">&nbsp;</span>
1553
- <span class="cline-any cline-yes">127x</span>
1618
+ <span class="cline-any cline-yes">132x</span>
1554
1619
  <span class="cline-any cline-neutral">&nbsp;</span>
1555
1620
  <span class="cline-any cline-neutral">&nbsp;</span>
1556
1621
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1591,30 +1656,38 @@
1591
1656
  <span class="cline-any cline-neutral">&nbsp;</span>
1592
1657
  <span class="cline-any cline-neutral">&nbsp;</span>
1593
1658
  <span class="cline-any cline-neutral">&nbsp;</span>
1594
- <span class="cline-any cline-yes">133x</span>
1595
- <span class="cline-any cline-yes">133x</span>
1659
+ <span class="cline-any cline-yes">138x</span>
1660
+ <span class="cline-any cline-yes">138x</span>
1596
1661
  <span class="cline-any cline-neutral">&nbsp;</span>
1597
- <span class="cline-any cline-yes">133x</span>
1662
+ <span class="cline-any cline-yes">138x</span>
1598
1663
  <span class="cline-any cline-neutral">&nbsp;</span>
1599
- <span class="cline-any cline-yes">133x</span>
1600
- <span class="cline-any cline-yes">133x</span>
1664
+ <span class="cline-any cline-yes">138x</span>
1665
+ <span class="cline-any cline-yes">138x</span>
1601
1666
  <span class="cline-any cline-yes">6x</span>
1602
1667
  <span class="cline-any cline-yes">6x</span>
1603
- <span class="cline-any cline-yes">127x</span>
1604
- <span class="cline-any cline-yes">4x</span>
1668
+ <span class="cline-any cline-yes">132x</span>
1669
+ <span class="cline-any cline-yes">6x</span>
1670
+ <span class="cline-any cline-neutral">&nbsp;</span>
1671
+ <span class="cline-any cline-yes">138x</span>
1672
+ <span class="cline-any cline-neutral">&nbsp;</span>
1673
+ <span class="cline-any cline-yes">138x</span>
1674
+ <span class="cline-any cline-yes">138x</span>
1675
+ <span class="cline-any cline-neutral">&nbsp;</span>
1676
+ <span class="cline-any cline-neutral">&nbsp;</span>
1677
+ <span class="cline-any cline-neutral">&nbsp;</span>
1605
1678
  <span class="cline-any cline-neutral">&nbsp;</span>
1606
- <span class="cline-any cline-yes">133x</span>
1607
1679
  <span class="cline-any cline-neutral">&nbsp;</span>
1608
- <span class="cline-any cline-yes">133x</span>
1609
- <span class="cline-any cline-yes">133x</span>
1610
1680
  <span class="cline-any cline-neutral">&nbsp;</span>
1611
1681
  <span class="cline-any cline-neutral">&nbsp;</span>
1612
1682
  <span class="cline-any cline-neutral">&nbsp;</span>
1613
1683
  <span class="cline-any cline-neutral">&nbsp;</span>
1614
1684
  <span class="cline-any cline-neutral">&nbsp;</span>
1615
- <span class="cline-any cline-yes">262x</span>
1616
1685
  <span class="cline-any cline-neutral">&nbsp;</span>
1617
- <span class="cline-any cline-yes">200x</span>
1686
+ <span class="cline-any cline-neutral">&nbsp;</span>
1687
+ <span class="cline-any cline-neutral">&nbsp;</span>
1688
+ <span class="cline-any cline-yes">269x</span>
1689
+ <span class="cline-any cline-neutral">&nbsp;</span>
1690
+ <span class="cline-any cline-yes">205x</span>
1618
1691
  <span class="cline-any cline-neutral">&nbsp;</span>
1619
1692
  <span class="cline-any cline-yes">12x</span>
1620
1693
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1630,7 +1703,7 @@
1630
1703
  <span class="cline-any cline-neutral">&nbsp;</span>
1631
1704
  <span class="cline-any cline-yes">1x</span>
1632
1705
  <span class="cline-any cline-neutral">&nbsp;</span>
1633
- <span class="cline-any cline-yes">2x</span>
1706
+ <span class="cline-any cline-yes">4x</span>
1634
1707
  <span class="cline-any cline-neutral">&nbsp;</span>
1635
1708
  <span class="cline-any cline-yes">26x</span>
1636
1709
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1669,15 +1742,15 @@
1669
1742
  <span class="cline-any cline-neutral">&nbsp;</span>
1670
1743
  <span class="cline-any cline-neutral">&nbsp;</span>
1671
1744
  <span class="cline-any cline-neutral">&nbsp;</span>
1672
- <span class="cline-any cline-yes">228x</span>
1745
+ <span class="cline-any cline-yes">234x</span>
1673
1746
  <span class="cline-any cline-neutral">&nbsp;</span>
1747
+ <span class="cline-any cline-yes">116x</span>
1748
+ <span class="cline-any cline-yes">116x</span>
1749
+ <span class="cline-any cline-yes">115x</span>
1674
1750
  <span class="cline-any cline-yes">114x</span>
1675
- <span class="cline-any cline-yes">114x</span>
1676
- <span class="cline-any cline-yes">113x</span>
1677
- <span class="cline-any cline-yes">112x</span>
1678
- <span class="cline-any cline-yes">114x</span>
1679
- <span class="cline-any cline-yes">114x</span>
1680
- <span class="cline-any cline-yes">114x</span>
1751
+ <span class="cline-any cline-yes">116x</span>
1752
+ <span class="cline-any cline-yes">116x</span>
1753
+ <span class="cline-any cline-yes">116x</span>
1681
1754
  <span class="cline-any cline-neutral">&nbsp;</span>
1682
1755
  <span class="cline-any cline-neutral">&nbsp;</span>
1683
1756
  <span class="cline-any cline-yes">16x</span>
@@ -1686,10 +1759,10 @@
1686
1759
  <span class="cline-any cline-yes">16x</span>
1687
1760
  <span class="cline-any cline-neutral">&nbsp;</span>
1688
1761
  <span class="cline-any cline-neutral">&nbsp;</span>
1689
- <span class="cline-any cline-yes">12x</span>
1690
- <span class="cline-any cline-yes">12x</span>
1691
- <span class="cline-any cline-yes">12x</span>
1692
- <span class="cline-any cline-yes">12x</span>
1762
+ <span class="cline-any cline-yes">16x</span>
1763
+ <span class="cline-any cline-yes">16x</span>
1764
+ <span class="cline-any cline-yes">16x</span>
1765
+ <span class="cline-any cline-yes">16x</span>
1693
1766
  <span class="cline-any cline-neutral">&nbsp;</span>
1694
1767
  <span class="cline-any cline-neutral">&nbsp;</span>
1695
1768
  <span class="cline-any cline-yes">6x</span>
@@ -1777,11 +1850,17 @@
1777
1850
  <span class="cline-any cline-neutral">&nbsp;</span>
1778
1851
  <span class="cline-any cline-neutral">&nbsp;</span>
1779
1852
  <span class="cline-any cline-neutral">&nbsp;</span>
1780
- <span class="cline-any cline-yes">2x</span>
1853
+ <span class="cline-any cline-yes">4x</span>
1781
1854
  <span class="cline-any cline-neutral">&nbsp;</span>
1782
1855
  <span class="cline-any cline-neutral">&nbsp;</span>
1783
1856
  <span class="cline-any cline-neutral">&nbsp;</span>
1857
+ <span class="cline-any cline-neutral">&nbsp;</span>
1858
+ <span class="cline-any cline-yes">4x</span>
1859
+ <span class="cline-any cline-yes">4x</span>
1860
+ <span class="cline-any cline-yes">4x</span>
1861
+ <span class="cline-any cline-yes">4x</span>
1784
1862
  <span class="cline-any cline-yes">2x</span>
1863
+ <span class="cline-any cline-neutral">&nbsp;</span>
1785
1864
  <span class="cline-any cline-yes">2x</span>
1786
1865
  <span class="cline-any cline-neutral">&nbsp;</span>
1787
1866
  <span class="cline-any cline-yes">2x</span>
@@ -1798,6 +1877,9 @@
1798
1877
  <span class="cline-any cline-neutral">&nbsp;</span>
1799
1878
  <span class="cline-any cline-yes">2x</span>
1800
1879
  <span class="cline-any cline-neutral">&nbsp;</span>
1880
+ <span class="cline-any cline-neutral">&nbsp;</span>
1881
+ <span class="cline-any cline-yes">4x</span>
1882
+ <span class="cline-any cline-neutral">&nbsp;</span>
1801
1883
  <span class="cline-any cline-no">&nbsp;</span>
1802
1884
  <span class="cline-any cline-no">&nbsp;</span>
1803
1885
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1846,7 +1928,7 @@
1846
1928
  <span class="cline-any cline-neutral">&nbsp;</span>
1847
1929
  <span class="cline-any cline-neutral">&nbsp;</span>
1848
1930
  <span class="cline-any cline-neutral">&nbsp;</span>
1849
- <span class="cline-any cline-yes">28x</span>
1931
+ <span class="cline-any cline-yes">29x</span>
1850
1932
  <span class="cline-any cline-neutral">&nbsp;</span>
1851
1933
  <span class="cline-any cline-neutral">&nbsp;</span>
1852
1934
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1856,9 +1938,9 @@
1856
1938
  <span class="cline-any cline-neutral">&nbsp;</span>
1857
1939
  <span class="cline-any cline-neutral">&nbsp;</span>
1858
1940
  <span class="cline-any cline-neutral">&nbsp;</span>
1859
- <span class="cline-any cline-yes">59x</span>
1941
+ <span class="cline-any cline-yes">61x</span>
1860
1942
  <span class="cline-any cline-neutral">&nbsp;</span>
1861
- <span class="cline-any cline-yes">28x</span>
1943
+ <span class="cline-any cline-yes">29x</span>
1862
1944
  <span class="cline-any cline-neutral">&nbsp;</span>
1863
1945
  <span class="cline-any cline-yes">25x</span>
1864
1946
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1876,12 +1958,21 @@
1876
1958
  <span class="cline-any cline-neutral">&nbsp;</span>
1877
1959
  <span class="cline-any cline-no">&nbsp;</span>
1878
1960
  <span class="cline-any cline-neutral">&nbsp;</span>
1961
+ <span class="cline-any cline-yes">3x</span>
1962
+ <span class="cline-any cline-yes">3x</span>
1963
+ <span class="cline-any cline-yes">3x</span>
1964
+ <span class="cline-any cline-yes">3x</span>
1965
+ <span class="cline-any cline-yes">3x</span>
1966
+ <span class="cline-any cline-yes">1x</span>
1967
+ <span class="cline-any cline-yes">1x</span>
1968
+ <span class="cline-any cline-neutral">&nbsp;</span>
1879
1969
  <span class="cline-any cline-yes">2x</span>
1880
1970
  <span class="cline-any cline-yes">2x</span>
1971
+ <span class="cline-any cline-neutral">&nbsp;</span>
1881
1972
  <span class="cline-any cline-yes">2x</span>
1882
- <span class="cline-any cline-yes">2x</span>
1883
- <span class="cline-any cline-yes">2x</span>
1884
- <span class="cline-any cline-yes">2x</span>
1973
+ <span class="cline-any cline-neutral">&nbsp;</span>
1974
+ <span class="cline-any cline-neutral">&nbsp;</span>
1975
+ <span class="cline-any cline-yes">3x</span>
1885
1976
  <span class="cline-any cline-neutral">&nbsp;</span>
1886
1977
  <span class="cline-any cline-no">&nbsp;</span>
1887
1978
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1904,26 +1995,26 @@
1904
1995
  <span class="cline-any cline-neutral">&nbsp;</span>
1905
1996
  <span class="cline-any cline-neutral">&nbsp;</span>
1906
1997
  <span class="cline-any cline-neutral">&nbsp;</span>
1907
- <span class="cline-any cline-yes">32x</span>
1908
- <span class="cline-any cline-yes">32x</span>
1998
+ <span class="cline-any cline-yes">33x</span>
1999
+ <span class="cline-any cline-yes">33x</span>
1909
2000
  <span class="cline-any cline-neutral">&nbsp;</span>
1910
- <span class="cline-any cline-yes">32x</span>
2001
+ <span class="cline-any cline-yes">33x</span>
1911
2002
  <span class="cline-any cline-neutral">&nbsp;</span>
1912
- <span class="cline-any cline-yes">32x</span>
1913
- <span class="cline-any cline-yes">32x</span>
2003
+ <span class="cline-any cline-yes">33x</span>
2004
+ <span class="cline-any cline-yes">33x</span>
1914
2005
  <span class="cline-any cline-yes">1x</span>
1915
2006
  <span class="cline-any cline-yes">1x</span>
1916
- <span class="cline-any cline-yes">31x</span>
2007
+ <span class="cline-any cline-yes">32x</span>
1917
2008
  <span class="cline-any cline-yes">3x</span>
1918
2009
  <span class="cline-any cline-neutral">&nbsp;</span>
1919
- <span class="cline-any cline-yes">32x</span>
2010
+ <span class="cline-any cline-yes">33x</span>
1920
2011
  <span class="cline-any cline-neutral">&nbsp;</span>
1921
- <span class="cline-any cline-yes">32x</span>
1922
- <span class="cline-any cline-yes">32x</span>
2012
+ <span class="cline-any cline-yes">33x</span>
2013
+ <span class="cline-any cline-yes">33x</span>
1923
2014
  <span class="cline-any cline-neutral">&nbsp;</span>
1924
2015
  <span class="cline-any cline-neutral">&nbsp;</span>
1925
2016
  <span class="cline-any cline-neutral">&nbsp;</span>
1926
- <span class="cline-any cline-yes">30x</span>
2017
+ <span class="cline-any cline-yes">31x</span>
1927
2018
  <span class="cline-any cline-neutral">&nbsp;</span>
1928
2019
  <span class="cline-any cline-neutral">&nbsp;</span>
1929
2020
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1934,7 +2025,7 @@
1934
2025
  <span class="cline-any cline-neutral">&nbsp;</span>
1935
2026
  <span class="cline-any cline-neutral">&nbsp;</span>
1936
2027
  <span class="cline-any cline-neutral">&nbsp;</span>
1937
- <span class="cline-any cline-yes">3x</span>
2028
+ <span class="cline-any cline-yes">5x</span>
1938
2029
  <span class="cline-any cline-neutral">&nbsp;</span>
1939
2030
  <span class="cline-any cline-yes">1x</span>
1940
2031
  <span class="cline-any cline-yes">1x</span>
@@ -1944,12 +2035,21 @@
1944
2035
  <span class="cline-any cline-no">&nbsp;</span>
1945
2036
  <span class="cline-any cline-neutral">&nbsp;</span>
1946
2037
  <span class="cline-any cline-neutral">&nbsp;</span>
2038
+ <span class="cline-any cline-yes">4x</span>
2039
+ <span class="cline-any cline-yes">4x</span>
2040
+ <span class="cline-any cline-yes">4x</span>
2041
+ <span class="cline-any cline-yes">4x</span>
2042
+ <span class="cline-any cline-yes">4x</span>
1947
2043
  <span class="cline-any cline-yes">2x</span>
1948
2044
  <span class="cline-any cline-yes">2x</span>
2045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1949
2046
  <span class="cline-any cline-yes">2x</span>
1950
2047
  <span class="cline-any cline-yes">2x</span>
2048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1951
2049
  <span class="cline-any cline-yes">2x</span>
1952
- <span class="cline-any cline-yes">2x</span>
2050
+ <span class="cline-any cline-neutral">&nbsp;</span>
2051
+ <span class="cline-any cline-neutral">&nbsp;</span>
2052
+ <span class="cline-any cline-yes">4x</span>
1953
2053
  <span class="cline-any cline-neutral">&nbsp;</span>
1954
2054
  <span class="cline-any cline-no">&nbsp;</span>
1955
2055
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1985,11 +2085,11 @@
1985
2085
  <span class="cline-any cline-neutral">&nbsp;</span>
1986
2086
  <span class="cline-any cline-neutral">&nbsp;</span>
1987
2087
  <span class="cline-any cline-neutral">&nbsp;</span>
1988
- <span class="cline-any cline-yes">201x</span>
2088
+ <span class="cline-any cline-yes">207x</span>
1989
2089
  <span class="cline-any cline-neutral">&nbsp;</span>
1990
2090
  <span class="cline-any cline-neutral">&nbsp;</span>
1991
2091
  <span class="cline-any cline-neutral">&nbsp;</span>
1992
- <span class="cline-any cline-yes">201x</span>
2092
+ <span class="cline-any cline-yes">207x</span>
1993
2093
  <span class="cline-any cline-neutral">&nbsp;</span>
1994
2094
  <span class="cline-any cline-neutral">&nbsp;</span>
1995
2095
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2001,13 +2101,13 @@
2001
2101
  <span class="cline-any cline-neutral">&nbsp;</span>
2002
2102
  <span class="cline-any cline-neutral">&nbsp;</span>
2003
2103
  <span class="cline-any cline-neutral">&nbsp;</span>
2004
- <span class="cline-any cline-yes">130x</span>
2104
+ <span class="cline-any cline-yes">135x</span>
2005
2105
  <span class="cline-any cline-neutral">&nbsp;</span>
2006
2106
  <span class="cline-any cline-neutral">&nbsp;</span>
2007
2107
  <span class="cline-any cline-neutral">&nbsp;</span>
2008
- <span class="cline-any cline-yes">1348x</span>
2108
+ <span class="cline-any cline-yes">1421x</span>
2009
2109
  <span class="cline-any cline-neutral">&nbsp;</span>
2010
- <span class="cline-any cline-yes">797x</span>
2110
+ <span class="cline-any cline-yes">822x</span>
2011
2111
  <span class="cline-any cline-neutral">&nbsp;</span>
2012
2112
  <span class="cline-any cline-yes">76x</span>
2013
2113
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2019,24 +2119,24 @@
2019
2119
  <span class="cline-any cline-neutral">&nbsp;</span>
2020
2120
  <span class="cline-any cline-yes">2x</span>
2021
2121
  <span class="cline-any cline-neutral">&nbsp;</span>
2022
- <span class="cline-any cline-yes">36x</span>
2122
+ <span class="cline-any cline-yes">68x</span>
2023
2123
  <span class="cline-any cline-neutral">&nbsp;</span>
2024
2124
  <span class="cline-any cline-yes">6x</span>
2025
2125
  <span class="cline-any cline-neutral">&nbsp;</span>
2026
2126
  <span class="cline-any cline-yes">46x</span>
2027
2127
  <span class="cline-any cline-neutral">&nbsp;</span>
2028
- <span class="cline-any cline-yes">393x</span>
2128
+ <span class="cline-any cline-yes">425x</span>
2029
2129
  <span class="cline-any cline-neutral">&nbsp;</span>
2030
2130
  <span class="cline-any cline-neutral">&nbsp;</span>
2031
2131
  <span class="cline-any cline-neutral">&nbsp;</span>
2032
2132
  <span class="cline-any cline-neutral">&nbsp;</span>
2033
- <span class="cline-any cline-yes">765x</span>
2133
+ <span class="cline-any cline-yes">790x</span>
2034
2134
  <span class="cline-any cline-neutral">&nbsp;</span>
2035
2135
  <span class="cline-any cline-neutral">&nbsp;</span>
2036
2136
  <span class="cline-any cline-neutral">&nbsp;</span>
2037
- <span class="cline-any cline-yes">241x</span>
2137
+ <span class="cline-any cline-yes">258x</span>
2038
2138
  <span class="cline-any cline-neutral">&nbsp;</span>
2039
- <span class="cline-any cline-yes">139x</span>
2139
+ <span class="cline-any cline-yes">144x</span>
2040
2140
  <span class="cline-any cline-neutral">&nbsp;</span>
2041
2141
  <span class="cline-any cline-yes">14x</span>
2042
2142
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2044,66 +2144,66 @@
2044
2144
  <span class="cline-any cline-neutral">&nbsp;</span>
2045
2145
  <span class="cline-any cline-no">&nbsp;</span>
2046
2146
  <span class="cline-any cline-neutral">&nbsp;</span>
2047
- <span class="cline-any cline-yes">4x</span>
2147
+ <span class="cline-any cline-yes">8x</span>
2048
2148
  <span class="cline-any cline-neutral">&nbsp;</span>
2049
2149
  <span class="cline-any cline-yes">8x</span>
2050
2150
  <span class="cline-any cline-neutral">&nbsp;</span>
2051
- <span class="cline-any cline-yes">76x</span>
2151
+ <span class="cline-any cline-yes">84x</span>
2052
2152
  <span class="cline-any cline-neutral">&nbsp;</span>
2053
2153
  <span class="cline-any cline-neutral">&nbsp;</span>
2054
2154
  <span class="cline-any cline-neutral">&nbsp;</span>
2055
2155
  <span class="cline-any cline-neutral">&nbsp;</span>
2056
- <span class="cline-any cline-yes">165x</span>
2057
- <span class="cline-any cline-yes">136x</span>
2156
+ <span class="cline-any cline-yes">171x</span>
2157
+ <span class="cline-any cline-yes">138x</span>
2058
2158
  <span class="cline-any cline-neutral">&nbsp;</span>
2059
- <span class="cline-any cline-yes">136x</span>
2060
- <span class="cline-any cline-yes">165x</span>
2061
- <span class="cline-any cline-yes">165x</span>
2062
- <span class="cline-any cline-yes">165x</span>
2063
- <span class="cline-any cline-yes">233x</span>
2159
+ <span class="cline-any cline-yes">138x</span>
2160
+ <span class="cline-any cline-yes">171x</span>
2161
+ <span class="cline-any cline-yes">171x</span>
2162
+ <span class="cline-any cline-yes">171x</span>
2163
+ <span class="cline-any cline-yes">238x</span>
2064
2164
  <span class="cline-any cline-neutral">&nbsp;</span>
2065
2165
  <span class="cline-any cline-neutral">&nbsp;</span>
2066
2166
  <span class="cline-any cline-neutral">&nbsp;</span>
2067
- <span class="cline-any cline-yes">165x</span>
2068
- <span class="cline-any cline-yes">136x</span>
2167
+ <span class="cline-any cline-yes">171x</span>
2168
+ <span class="cline-any cline-yes">138x</span>
2069
2169
  <span class="cline-any cline-neutral">&nbsp;</span>
2070
2170
  <span class="cline-any cline-neutral">&nbsp;</span>
2071
2171
  <span class="cline-any cline-neutral">&nbsp;</span>
2072
2172
  <span class="cline-any cline-neutral">&nbsp;</span>
2073
- <span class="cline-any cline-yes">47x</span>
2074
- <span class="cline-any cline-yes">30x</span>
2173
+ <span class="cline-any cline-yes">50x</span>
2174
+ <span class="cline-any cline-yes">31x</span>
2075
2175
  <span class="cline-any cline-neutral">&nbsp;</span>
2076
- <span class="cline-any cline-yes">30x</span>
2077
- <span class="cline-any cline-yes">47x</span>
2176
+ <span class="cline-any cline-yes">31x</span>
2177
+ <span class="cline-any cline-yes">50x</span>
2078
2178
  <span class="cline-any cline-neutral">&nbsp;</span>
2079
- <span class="cline-any cline-yes">45x</span>
2080
- <span class="cline-any cline-yes">4x</span>
2081
- <span class="cline-any cline-yes">4x</span>
2179
+ <span class="cline-any cline-yes">47x</span>
2180
+ <span class="cline-any cline-yes">5x</span>
2181
+ <span class="cline-any cline-yes">5x</span>
2082
2182
  <span class="cline-any cline-neutral">&nbsp;</span>
2083
2183
  <span class="cline-any cline-neutral">&nbsp;</span>
2084
2184
  <span class="cline-any cline-neutral">&nbsp;</span>
2085
- <span class="cline-any cline-yes">41x</span>
2185
+ <span class="cline-any cline-yes">42x</span>
2086
2186
  <span class="cline-any cline-yes">2x</span>
2087
2187
  <span class="cline-any cline-neutral">&nbsp;</span>
2088
- <span class="cline-any cline-yes">72x</span>
2089
- <span class="cline-any cline-yes">41x</span>
2090
- <span class="cline-any cline-yes">48x</span>
2188
+ <span class="cline-any cline-yes">74x</span>
2189
+ <span class="cline-any cline-yes">42x</span>
2190
+ <span class="cline-any cline-yes">49x</span>
2091
2191
  <span class="cline-any cline-neutral">&nbsp;</span>
2092
2192
  <span class="cline-any cline-neutral">&nbsp;</span>
2093
2193
  <span class="cline-any cline-neutral">&nbsp;</span>
2094
2194
  <span class="cline-any cline-neutral">&nbsp;</span>
2095
- <span class="cline-any cline-yes">30x</span>
2096
- <span class="cline-any cline-yes">47x</span>
2195
+ <span class="cline-any cline-yes">31x</span>
2196
+ <span class="cline-any cline-yes">50x</span>
2097
2197
  <span class="cline-any cline-neutral">&nbsp;</span>
2098
2198
  <span class="cline-any cline-neutral">&nbsp;</span>
2099
- <span class="cline-any cline-yes">30x</span>
2199
+ <span class="cline-any cline-yes">31x</span>
2100
2200
  <span class="cline-any cline-neutral">&nbsp;</span>
2101
2201
  <span class="cline-any cline-neutral">&nbsp;</span>
2102
2202
  <span class="cline-any cline-neutral">&nbsp;</span>
2103
- <span class="cline-any cline-yes">72x</span>
2203
+ <span class="cline-any cline-yes">76x</span>
2104
2204
  <span class="cline-any cline-neutral">&nbsp;</span>
2105
- <span class="cline-any cline-yes">15x</span>
2106
- <span class="cline-any cline-yes">15x</span>
2205
+ <span class="cline-any cline-yes">17x</span>
2206
+ <span class="cline-any cline-yes">17x</span>
2107
2207
  <span class="cline-any cline-neutral">&nbsp;</span>
2108
2208
  <span class="cline-any cline-yes">6x</span>
2109
2209
  <span class="cline-any cline-yes">6x</span>
@@ -2121,8 +2221,8 @@
2121
2221
  <span class="cline-any cline-no">&nbsp;</span>
2122
2222
  <span class="cline-any cline-no">&nbsp;</span>
2123
2223
  <span class="cline-any cline-neutral">&nbsp;</span>
2124
- <span class="cline-any cline-yes">8x</span>
2125
- <span class="cline-any cline-yes">4x</span>
2224
+ <span class="cline-any cline-yes">10x</span>
2225
+ <span class="cline-any cline-yes">5x</span>
2126
2226
  <span class="cline-any cline-neutral">&nbsp;</span>
2127
2227
  <span class="cline-any cline-no">&nbsp;</span>
2128
2228
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2137,66 +2237,66 @@
2137
2237
  <span class="cline-any cline-neutral">&nbsp;</span>
2138
2238
  <span class="cline-any cline-neutral">&nbsp;</span>
2139
2239
  <span class="cline-any cline-neutral">&nbsp;</span>
2140
- <span class="cline-any cline-yes">165x</span>
2141
- <span class="cline-any cline-yes">165x</span>
2240
+ <span class="cline-any cline-yes">171x</span>
2241
+ <span class="cline-any cline-yes">171x</span>
2142
2242
  <span class="cline-any cline-neutral">&nbsp;</span>
2143
2243
  <span class="cline-any cline-neutral">&nbsp;</span>
2144
- <span class="cline-any cline-yes">136x</span>
2145
- <span class="cline-any cline-yes">136x</span>
2146
- <span class="cline-any cline-yes">165x</span>
2147
- <span class="cline-any cline-yes">165x</span>
2148
- <span class="cline-any cline-yes">165x</span>
2149
- <span class="cline-any cline-yes">165x</span>
2150
- <span class="cline-any cline-yes">233x</span>
2244
+ <span class="cline-any cline-yes">138x</span>
2245
+ <span class="cline-any cline-yes">138x</span>
2246
+ <span class="cline-any cline-yes">171x</span>
2247
+ <span class="cline-any cline-yes">171x</span>
2248
+ <span class="cline-any cline-yes">171x</span>
2249
+ <span class="cline-any cline-yes">171x</span>
2250
+ <span class="cline-any cline-yes">238x</span>
2151
2251
  <span class="cline-any cline-neutral">&nbsp;</span>
2152
2252
  <span class="cline-any cline-neutral">&nbsp;</span>
2153
- <span class="cline-any cline-yes">165x</span>
2154
- <span class="cline-any cline-yes">165x</span>
2155
- <span class="cline-any cline-yes">49x</span>
2253
+ <span class="cline-any cline-yes">171x</span>
2254
+ <span class="cline-any cline-yes">171x</span>
2255
+ <span class="cline-any cline-yes">53x</span>
2156
2256
  <span class="cline-any cline-neutral">&nbsp;</span>
2157
- <span class="cline-any cline-yes">165x</span>
2257
+ <span class="cline-any cline-yes">171x</span>
2158
2258
  <span class="cline-any cline-neutral">&nbsp;</span>
2159
2259
  <span class="cline-any cline-neutral">&nbsp;</span>
2160
2260
  <span class="cline-any cline-neutral">&nbsp;</span>
2161
- <span class="cline-any cline-yes">136x</span>
2162
- <span class="cline-any cline-yes">165x</span>
2163
- <span class="cline-any cline-yes">136x</span>
2164
- <span class="cline-any cline-yes">165x</span>
2165
- <span class="cline-any cline-yes">26x</span>
2261
+ <span class="cline-any cline-yes">138x</span>
2262
+ <span class="cline-any cline-yes">171x</span>
2263
+ <span class="cline-any cline-yes">138x</span>
2264
+ <span class="cline-any cline-yes">171x</span>
2265
+ <span class="cline-any cline-yes">30x</span>
2166
2266
  <span class="cline-any cline-neutral">&nbsp;</span>
2167
2267
  <span class="cline-any cline-neutral">&nbsp;</span>
2168
2268
  <span class="cline-any cline-neutral">&nbsp;</span>
2169
2269
  <span class="cline-any cline-neutral">&nbsp;</span>
2170
2270
  <span class="cline-any cline-neutral">&nbsp;</span>
2171
2271
  <span class="cline-any cline-neutral">&nbsp;</span>
2172
- <span class="cline-any cline-yes">136x</span>
2173
- <span class="cline-any cline-yes">136x</span>
2174
- <span class="cline-any cline-yes">165x</span>
2272
+ <span class="cline-any cline-yes">138x</span>
2273
+ <span class="cline-any cline-yes">138x</span>
2274
+ <span class="cline-any cline-yes">171x</span>
2175
2275
  <span class="cline-any cline-neutral">&nbsp;</span>
2176
2276
  <span class="cline-any cline-neutral">&nbsp;</span>
2177
- <span class="cline-any cline-yes">136x</span>
2178
- <span class="cline-any cline-yes">136x</span>
2179
- <span class="cline-any cline-yes">165x</span>
2277
+ <span class="cline-any cline-yes">138x</span>
2278
+ <span class="cline-any cline-yes">138x</span>
2279
+ <span class="cline-any cline-yes">171x</span>
2180
2280
  <span class="cline-any cline-neutral">&nbsp;</span>
2181
2281
  <span class="cline-any cline-neutral">&nbsp;</span>
2182
- <span class="cline-any cline-yes">136x</span>
2183
- <span class="cline-any cline-yes">136x</span>
2184
- <span class="cline-any cline-yes">165x</span>
2185
- <span class="cline-any cline-yes">165x</span>
2282
+ <span class="cline-any cline-yes">138x</span>
2283
+ <span class="cline-any cline-yes">138x</span>
2284
+ <span class="cline-any cline-yes">171x</span>
2285
+ <span class="cline-any cline-yes">171x</span>
2186
2286
  <span class="cline-any cline-neutral">&nbsp;</span>
2187
- <span class="cline-any cline-yes">165x</span>
2188
- <span class="cline-any cline-yes">243x</span>
2189
- <span class="cline-any cline-yes">26x</span>
2287
+ <span class="cline-any cline-yes">171x</span>
2288
+ <span class="cline-any cline-yes">261x</span>
2289
+ <span class="cline-any cline-yes">28x</span>
2190
2290
  <span class="cline-any cline-neutral">&nbsp;</span>
2191
2291
  <span class="cline-any cline-neutral">&nbsp;</span>
2192
2292
  <span class="cline-any cline-neutral">&nbsp;</span>
2193
2293
  <span class="cline-any cline-neutral">&nbsp;</span>
2194
2294
  <span class="cline-any cline-neutral">&nbsp;</span>
2195
- <span class="cline-any cline-yes">136x</span>
2196
- <span class="cline-any cline-yes">165x</span>
2295
+ <span class="cline-any cline-yes">138x</span>
2296
+ <span class="cline-any cline-yes">171x</span>
2197
2297
  <span class="cline-any cline-neutral">&nbsp;</span>
2198
2298
  <span class="cline-any cline-neutral">&nbsp;</span>
2199
- <span class="cline-any cline-yes">136x</span>
2299
+ <span class="cline-any cline-yes">138x</span>
2200
2300
  <span class="cline-any cline-neutral">&nbsp;</span>
2201
2301
  <span class="cline-any cline-neutral">&nbsp;</span>
2202
2302
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2251,6 +2351,11 @@ import {
2251
2351
  collectExternalOutputRefs as ckCollectExternalOutputRefs,
2252
2352
  } from '@contractkit/core';
2253
2353
  &nbsp;
2354
+ /**
2355
+ * Maps a ContractKit object mode to its Zod constructor name.
2356
+ *
2357
+ * @returns `"z.strictObject"` | `"z.object"` | `"z.looseObject"`
2358
+ */
2254
2359
  export function modeToWrapper(mode: ObjectMode): string {
2255
2360
  switch (mode) {
2256
2361
  case 'strict':
@@ -2340,6 +2445,16 @@ function generateComments(model: ModelNode, outPath?: string): string[] {
2340
2445
  return lines;
2341
2446
  }
2342
2447
  &nbsp;
2448
+ /**
2449
+ * Generate a TypeScript module containing Zod schemas for every model in `root`.
2450
+ *
2451
+ * Emits up to three schemas per model when visibility modifiers are present:
2452
+ * `ModelBase` (all fields), `Model` (read — no writeonly), `ModelInput` (write — no readonly).
2453
+ *
2454
+ * @param root - The parsed contract root node.
2455
+ * @param context - Optional cross-file context for import resolution and Input/Output variant tracking.
2456
+ * @returns The full TypeScript source as a string.
2457
+ */
2343
2458
  export function generateContract(root: ContractRootNode, context?: ContractCodegenContext): string {
2344
2459
  const needsDateTime = rootNeedsDateTime(root);
2345
2460
  const needsDuration = rootNeedsScalar(root, 'duration');
@@ -2693,6 +2808,14 @@ function renderField(field: FieldNode, defaultMode?: ObjectMode): string[] {
2693
2808
  &nbsp;
2694
2809
  // ─── Type rendering ────────────────────────────────────────────────────────
2695
2810
  &nbsp;
2811
+ /**
2812
+ * Render a ContractKit AST type node as a Zod schema expression string.
2813
+ *
2814
+ * @param parseCaseTransform - When set, generates a `.transform()` that remaps incoming keys from
2815
+ * the given casing (`'snake'` | `'pascal'`) to camelCase for `inlineObject` types.
2816
+ * @param defaultMode - Fallback object mode (`'strict'` | `'strip'` | `'loose'`) when the node
2817
+ * doesn't specify its own mode.
2818
+ */
2696
2819
  export function renderType(type: ContractTypeNode, parseCaseTransform?: 'snake' | 'pascal', defaultMode?: ObjectMode): string {
2697
2820
  switch (type.kind) {
2698
2821
  case 'scalar':
@@ -2860,25 +2983,34 @@ function renderDiscriminatedUnion(u: DiscriminatedUnionTypeNode, parseCaseTransf
2860
2983
  &nbsp;
2861
2984
  function renderIntersection(i: IntersectionTypeNode, parseCaseTransform?: 'snake' | 'pascal', defaultMode?: ObjectMode): string {
2862
2985
  const [first, ...rest] = i.members;
2863
- // When the pattern is ref &amp; { inlineObject(s) }, use .extend() to produce a
2864
- // single merged ZodObject. Using .and(z.strictObject) breaks because each
2865
- // strict side rejects the other side's keys during intersection parsing.
2866
- <span class="missing-if-branch" title="else path not taken" >E</span>if (first &amp;&amp; first.kind === 'ref' &amp;&amp; rest.length &gt; 0 &amp;&amp; rest.every(m =&gt; m.kind === 'inlineObject')) {
2867
- const allFields = rest.flatMap(m =&gt; (m as InlineObjectTypeNode).fields);
2868
- const fieldLines =
2869
- parseCaseTransform === 'snake'
2870
- ? <span class="branch-0 cbranch-no" title="branch not covered" >renderFieldsAsSnakeCase(allFields, defaultMode)</span>
2871
- .map(<span class="fstat-no" title="function not covered" >l =&gt; <span class="cstat-no" title="statement not covered" >`</span> ${l}`)</span>
2872
- .join('\n')
2873
- : parseCaseTransform === 'pascal'
2874
- ? <span class="branch-0 cbranch-no" title="branch not covered" >renderFieldsAsPascalCase(allFields, defaultMode)</span>
2875
- .map(<span class="fstat-no" title="function not covered" >l =&gt; <span class="cstat-no" title="statement not covered" >`</span> ${l}`)</span>
2876
- .join('\n')
2877
- : allFields
2878
- .flatMap(f =&gt; renderField(f, defaultMode))
2879
- .map(l =&gt; ` ${l}`)
2880
- .join('\n');
2881
- return `${first.name}.extend({\n${fieldLines}\n})`;
2986
+ // When the pattern is ref &amp; (ref | inlineObject)*, use .extend() chains to
2987
+ // produce a single ZodObject. .and() breaks strict objects — each strict side
2988
+ // rejects the other side's keys during intersection parsing, and ZodIntersection
2989
+ // has no .strict() method.
2990
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (first &amp;&amp; first.kind === 'ref' &amp;&amp; rest.length &gt; 0 &amp;&amp; rest.every(m =&gt; m.kind === 'ref' || m.kind === 'inlineObject')) {
2991
+ let expr = first.name;
2992
+ for (const member of rest) {
2993
+ if (member.kind === 'ref') {
2994
+ expr += `.extend(${member.name}.shape)`;
2995
+ } else {
2996
+ const m = member as InlineObjectTypeNode;
2997
+ const fieldLines =
2998
+ parseCaseTransform === 'snake'
2999
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >renderFieldsAsSnakeCase(m.fields, defaultMode)</span>
3000
+ .map(<span class="fstat-no" title="function not covered" >l =&gt; <span class="cstat-no" title="statement not covered" >`</span> ${l}`)</span>
3001
+ .join('\n')
3002
+ : parseCaseTransform === 'pascal'
3003
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >renderFieldsAsPascalCase(m.fields, defaultMode)</span>
3004
+ .map(<span class="fstat-no" title="function not covered" >l =&gt; <span class="cstat-no" title="statement not covered" >`</span> ${l}`)</span>
3005
+ .join('\n')
3006
+ : m.fields
3007
+ .flatMap(f =&gt; renderField(f, defaultMode))
3008
+ .map(l =&gt; ` ${l}`)
3009
+ .join('\n');
3010
+ expr += `.extend({\n${fieldLines}\n})`;
3011
+ }
3012
+ }
3013
+ return expr;
2882
3014
  }
2883
3015
  let expr = <span class="cstat-no" title="statement not covered" >renderType(first!, parseCaseTransform, defaultMode);</span>
2884
3016
  <span class="cstat-no" title="statement not covered" > for (const member of rest) {</span>
@@ -2959,11 +3091,20 @@ export function renderInputType(type: ContractTypeNode, modelsWithInput?: Set&lt
2959
3091
  <span class="cstat-no" title="statement not covered" > return `z.discriminatedUnion("${escapeString(type.discriminator)}", [${type.members.map(<span class="fstat-no" title="function not covered" >m =&gt; <span class="cstat-no" title="statement not covered" >r</span>enderInputType(m, modelsWithInput, defaultMode)).j</span>oin(', ')}])`;</span>
2960
3092
  case 'intersection': {
2961
3093
  const [first, ...rest] = type.members;
2962
- <span class="missing-if-branch" title="else path not taken" >E</span>if (first &amp;&amp; first.kind === 'ref' &amp;&amp; rest.length &gt; 0 &amp;&amp; rest.every(m =&gt; m.kind === 'inlineObject')) {
2963
- const base = modelsWithInput?.has(first.name) ? `${first.name}Input` : <span class="branch-1 cbranch-no" title="branch not covered" >first.name;</span>
2964
- const allFields = rest.flatMap(m =&gt; (m as InlineObjectTypeNode).fields);
2965
- const fieldLines = allFields.map(f =&gt; ` ${renderInputField(f, modelsWithInput ?? <span class="branch-1 cbranch-no" title="branch not covered" >new Set(), d</span>efaultMode)}`).join('\n');
2966
- return `${base}.extend({\n${fieldLines}\n})`;
3094
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (first &amp;&amp; first.kind === 'ref' &amp;&amp; rest.length &gt; 0 &amp;&amp; rest.every(m =&gt; m.kind === 'ref' || m.kind === 'inlineObject')) {
3095
+ let expr = modelsWithInput?.has(first.name) ? `${first.name}Input` : <span class="branch-1 cbranch-no" title="branch not covered" >first.name;</span>
3096
+ for (const member of rest) {
3097
+ if (member.kind === 'ref') {
3098
+ const name = modelsWithInput?.has(member.name) ? <span class="branch-0 cbranch-no" title="branch not covered" >`${member.name}Input` </span>: member.name;
3099
+ expr += `.extend(${name}.shape)`;
3100
+ } else {
3101
+ const fieldLines = (member as InlineObjectTypeNode).fields
3102
+ .map(f =&gt; ` ${renderInputField(f, modelsWithInput ?? <span class="branch-1 cbranch-no" title="branch not covered" >new Set(), d</span>efaultMode)}`)
3103
+ .join('\n');
3104
+ expr += `.extend({\n${fieldLines}\n})`;
3105
+ }
3106
+ }
3107
+ return expr;
2967
3108
  }
2968
3109
  let expr = <span class="cstat-no" title="statement not covered" >renderInputType(first!, modelsWithInput, defaultMode);</span>
2969
3110
  <span class="cstat-no" title="statement not covered" > for (const member of rest) {</span>
@@ -3027,11 +3168,20 @@ export function renderQueryType(type: ContractTypeNode, modelsWithInput?: Set&lt
3027
3168
  }
3028
3169
  case 'intersection': {
3029
3170
  const [first, ...rest] = type.members;
3030
- <span class="missing-if-branch" title="else path not taken" >E</span>if (first &amp;&amp; first.kind === 'ref' &amp;&amp; rest.length &gt; 0 &amp;&amp; rest.every(m =&gt; m.kind === 'inlineObject')) {
3031
- const base = modelsWithInput?.has(first.name) ? `${first.name}Input` : first.name;
3032
- const allFields = rest.flatMap(m =&gt; (m as InlineObjectTypeNode).fields);
3033
- const fieldLines = allFields.map(f =&gt; ` ${renderQueryField(f, modelsWithInput, defaultMode)}`).join('\n');
3034
- return `${base}.extend({\n${fieldLines}\n})`;
3171
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (first &amp;&amp; first.kind === 'ref' &amp;&amp; rest.length &gt; 0 &amp;&amp; rest.every(m =&gt; m.kind === 'ref' || m.kind === 'inlineObject')) {
3172
+ let expr = modelsWithInput?.has(first.name) ? `${first.name}Input` : first.name;
3173
+ for (const member of rest) {
3174
+ if (member.kind === 'ref') {
3175
+ const name = modelsWithInput?.has(member.name) ? <span class="branch-0 cbranch-no" title="branch not covered" >`${member.name}Input` </span>: member.name;
3176
+ expr += `.extend(${name}.shape)`;
3177
+ } else {
3178
+ const fieldLines = (member as InlineObjectTypeNode).fields
3179
+ .map(f =&gt; ` ${renderQueryField(f, modelsWithInput, defaultMode)}`)
3180
+ .join('\n');
3181
+ expr += `.extend({\n${fieldLines}\n})`;
3182
+ }
3183
+ }
3184
+ return expr;
3035
3185
  }
3036
3186
  let expr = <span class="cstat-no" title="statement not covered" >renderQueryType(first!, modelsWithInput, defaultMode);</span>
3037
3187
  <span class="cstat-no" title="statement not covered" > for (const member of rest) {</span>
@@ -3184,7 +3334,7 @@ export function collectExternalInputRefs(root: ContractRootNode, modelsWithInput
3184
3334
  function collectInputTypeRefs(type: ContractTypeNode, out: Set&lt;string&gt;, modelsWithInput: Set&lt;string&gt;): void {
3185
3335
  switch (type.kind) {
3186
3336
  case 'ref':
3187
- <span class="missing-if-branch" title="else path not taken" >E</span>if (modelsWithInput.has(type.name)) out.add(`${type.name}Input`);
3337
+ if (modelsWithInput.has(type.name)) out.add(`${type.name}Input`);
3188
3338
  break;
3189
3339
  case 'array':
3190
3340
  collectInputTypeRefs(type.item, out, modelsWithInput);
@@ -3316,7 +3466,7 @@ export function pascalToDotCase(name: string): string {
3316
3466
  <div class='footer quiet pad2 space-top1 center small'>
3317
3467
  Code coverage generated by
3318
3468
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3319
- at 2026-04-29T12:51:10.318Z
3469
+ at 2026-05-01T17:30:37.719Z
3320
3470
  </div>
3321
3471
  <script src="../prettify.js"></script>
3322
3472
  <script>