Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / tests / async-exc-compilation.cs
1 //
2 // Test handling of async exceptions received during JIT compilation
3 //
4 using System;
5 using System.Runtime.Remoting;
6 using System.Runtime.Remoting.Proxies;
7 using System.Runtime.Remoting.Messaging;
8 using System.Reflection;
9 using System.Threading;
10
11 class MainClass
12 {
13         static int Main (string[] args) {
14                 Thread t = new Thread (new ThreadStart (Run));
15                 t.Start ();
16                 Thread.Sleep (100);
17                 t.Abort ();
18                 return 0;
19         }
20
21         public static void Run () {
22                 try {
23                         // Call a method which takes a lot of time to compile
24                         // We should receive the abort exception while compiling this method
25                         Long (5);
26                         Console.WriteLine ("Long");
27                         Thread.Sleep (10000);
28                 }
29                 catch (ThreadAbortException) {
30                         Thread.ResetAbort ();
31                         Console.WriteLine ("OK");
32                 }
33         }
34
35         // This method should take a lot of time for the JIT to compile
36         public static int Long (int arg) {
37                 // Make an inifite loop not going into unmanaged code
38                 while (arg == 5)
39                         ;
40
41                 int total = 0;
42                 MyRealProxy mrp = new MyRealProxy (new MBRO ());
43                 object o = mrp.GetTransparentProxy ();
44
45                 mrp.CanCastToCalled = false;
46                 I1 itf1 = (I1)o;
47                 if (!mrp.CanCastToCalled)
48                         return 1;
49                 total += itf1.CallMe (1);
50                 mrp.CanCastToCalled = false;
51                 itf1 = (I1)o;
52                 if (mrp.CanCastToCalled)
53                         return 1;
54                 total += itf1.CallMe (1);
55
56                 mrp.CanCastToCalled = false;
57                 I2 itf2 = (I2)o;
58                 if (!mrp.CanCastToCalled)
59                         return 2;
60                 total += itf2.CallMe (2);
61                 mrp.CanCastToCalled = false;
62                 itf2 = (I2)o;
63                 if (mrp.CanCastToCalled)
64                         return 2;
65                 total += itf2.CallMe (2);
66
67                 mrp.CanCastToCalled = false;
68                 I3 itf3 = (I3)o;
69                 if (!mrp.CanCastToCalled)
70                         return 3;
71                 total += itf3.CallMe (3);
72                 mrp.CanCastToCalled = false;
73                 itf3 = (I3)o;
74                 if (mrp.CanCastToCalled)
75                         return 3;
76                 total += itf3.CallMe (3);
77
78                 mrp.CanCastToCalled = false;
79                 I4 itf4 = (I4)o;
80                 if (!mrp.CanCastToCalled)
81                         return 4;
82                 total += itf4.CallMe (4);
83                 mrp.CanCastToCalled = false;
84                 itf4 = (I4)o;
85                 if (mrp.CanCastToCalled)
86                         return 4;
87                 total += itf4.CallMe (4);
88
89                 mrp.CanCastToCalled = false;
90                 I5 itf5 = (I5)o;
91                 if (!mrp.CanCastToCalled)
92                         return 5;
93                 total += itf5.CallMe (5);
94                 mrp.CanCastToCalled = false;
95                 itf5 = (I5)o;
96                 if (mrp.CanCastToCalled)
97                         return 5;
98                 total += itf5.CallMe (5);
99
100                 mrp.CanCastToCalled = false;
101                 I6 itf6 = (I6)o;
102                 if (!mrp.CanCastToCalled)
103                         return 6;
104                 total += itf6.CallMe (6);
105                 mrp.CanCastToCalled = false;
106                 itf6 = (I6)o;
107                 if (mrp.CanCastToCalled)
108                         return 6;
109                 total += itf6.CallMe (6);
110
111                 mrp.CanCastToCalled = false;
112                 I7 itf7 = (I7)o;
113                 if (!mrp.CanCastToCalled)
114                         return 7;
115                 total += itf7.CallMe (7);
116                 mrp.CanCastToCalled = false;
117                 itf7 = (I7)o;
118                 if (mrp.CanCastToCalled)
119                         return 7;
120                 total += itf7.CallMe (7);
121
122                 mrp.CanCastToCalled = false;
123                 I8 itf8 = (I8)o;
124                 if (!mrp.CanCastToCalled)
125                         return 8;
126                 total += itf8.CallMe (8);
127                 mrp.CanCastToCalled = false;
128                 itf8 = (I8)o;
129                 if (mrp.CanCastToCalled)
130                         return 8;
131                 total += itf8.CallMe (8);
132
133                 mrp.CanCastToCalled = false;
134                 I9 itf9 = (I9)o;
135                 if (!mrp.CanCastToCalled)
136                         return 9;
137                 total += itf9.CallMe (9);
138                 mrp.CanCastToCalled = false;
139                 itf9 = (I9)o;
140                 if (mrp.CanCastToCalled)
141                         return 9;
142                 total += itf9.CallMe (9);
143
144                 mrp.CanCastToCalled = false;
145                 I10 itf10 = (I10)o;
146                 if (!mrp.CanCastToCalled)
147                         return 10;
148                 total += itf10.CallMe (10);
149                 mrp.CanCastToCalled = false;
150                 itf10 = (I10)o;
151                 if (mrp.CanCastToCalled)
152                         return 10;
153                 total += itf10.CallMe (10);
154
155                 mrp.CanCastToCalled = false;
156                 I11 itf11 = (I11)o;
157                 if (!mrp.CanCastToCalled)
158                         return 11;
159                 total += itf11.CallMe (11);
160                 mrp.CanCastToCalled = false;
161                 itf11 = (I11)o;
162                 if (mrp.CanCastToCalled)
163                         return 11;
164                 total += itf11.CallMe (11);
165
166                 mrp.CanCastToCalled = false;
167                 I12 itf12 = (I12)o;
168                 if (!mrp.CanCastToCalled)
169                         return 12;
170                 total += itf12.CallMe (12);
171                 mrp.CanCastToCalled = false;
172                 itf12 = (I12)o;
173                 if (mrp.CanCastToCalled)
174                         return 12;
175                 total += itf12.CallMe (12);
176
177                 mrp.CanCastToCalled = false;
178                 I13 itf13 = (I13)o;
179                 if (!mrp.CanCastToCalled)
180                         return 13;
181                 total += itf13.CallMe (13);
182                 mrp.CanCastToCalled = false;
183                 itf13 = (I13)o;
184                 if (mrp.CanCastToCalled)
185                         return 13;
186                 total += itf13.CallMe (13);
187
188                 mrp.CanCastToCalled = false;
189                 I14 itf14 = (I14)o;
190                 if (!mrp.CanCastToCalled)
191                         return 14;
192                 total += itf14.CallMe (14);
193                 mrp.CanCastToCalled = false;
194                 itf14 = (I14)o;
195                 if (mrp.CanCastToCalled)
196                         return 14;
197                 total += itf14.CallMe (14);
198
199                 mrp.CanCastToCalled = false;
200                 I15 itf15 = (I15)o;
201                 if (!mrp.CanCastToCalled)
202                         return 15;
203                 total += itf15.CallMe (15);
204                 mrp.CanCastToCalled = false;
205                 itf15 = (I15)o;
206                 if (mrp.CanCastToCalled)
207                         return 15;
208                 total += itf15.CallMe (15);
209
210                 mrp.CanCastToCalled = false;
211                 I16 itf16 = (I16)o;
212                 if (!mrp.CanCastToCalled)
213                         return 16;
214                 total += itf16.CallMe (16);
215                 mrp.CanCastToCalled = false;
216                 itf16 = (I16)o;
217                 if (mrp.CanCastToCalled)
218                         return 16;
219                 total += itf16.CallMe (16);
220
221                 mrp.CanCastToCalled = false;
222                 I17 itf17 = (I17)o;
223                 if (!mrp.CanCastToCalled)
224                         return 17;
225                 total += itf17.CallMe (17);
226                 mrp.CanCastToCalled = false;
227                 itf17 = (I17)o;
228                 if (mrp.CanCastToCalled)
229                         return 17;
230                 total += itf17.CallMe (17);
231
232                 mrp.CanCastToCalled = false;
233                 I18 itf18 = (I18)o;
234                 if (!mrp.CanCastToCalled)
235                         return 18;
236                 total += itf18.CallMe (18);
237                 mrp.CanCastToCalled = false;
238                 itf18 = (I18)o;
239                 if (mrp.CanCastToCalled)
240                         return 18;
241                 total += itf18.CallMe (18);
242
243                 mrp.CanCastToCalled = false;
244                 I19 itf19 = (I19)o;
245                 if (!mrp.CanCastToCalled)
246                         return 19;
247                 total += itf19.CallMe (19);
248                 mrp.CanCastToCalled = false;
249                 itf19 = (I19)o;
250                 if (mrp.CanCastToCalled)
251                         return 19;
252                 total += itf19.CallMe (19);
253
254                 mrp.CanCastToCalled = false;
255                 I20 itf20 = (I20)o;
256                 if (!mrp.CanCastToCalled)
257                         return 20;
258                 total += itf20.CallMe (20);
259                 mrp.CanCastToCalled = false;
260                 itf20 = (I20)o;
261                 if (mrp.CanCastToCalled)
262                         return 20;
263                 total += itf20.CallMe (20);
264
265                 mrp.CanCastToCalled = false;
266                 I21 itf21 = (I21)o;
267                 if (!mrp.CanCastToCalled)
268                         return 21;
269                 total += itf21.CallMe (21);
270                 mrp.CanCastToCalled = false;
271                 itf21 = (I21)o;
272                 if (mrp.CanCastToCalled)
273                         return 21;
274                 total += itf21.CallMe (21);
275
276                 mrp.CanCastToCalled = false;
277                 I22 itf22 = (I22)o;
278                 if (!mrp.CanCastToCalled)
279                         return 22;
280                 total += itf22.CallMe (22);
281                 mrp.CanCastToCalled = false;
282                 itf22 = (I22)o;
283                 if (mrp.CanCastToCalled)
284                         return 22;
285                 total += itf22.CallMe (22);
286
287                 mrp.CanCastToCalled = false;
288                 I23 itf23 = (I23)o;
289                 if (!mrp.CanCastToCalled)
290                         return 23;
291                 total += itf23.CallMe (23);
292                 mrp.CanCastToCalled = false;
293                 itf23 = (I23)o;
294                 if (mrp.CanCastToCalled)
295                         return 23;
296                 total += itf23.CallMe (23);
297
298                 mrp.CanCastToCalled = false;
299                 I24 itf24 = (I24)o;
300                 if (!mrp.CanCastToCalled)
301                         return 24;
302                 total += itf24.CallMe (24);
303                 mrp.CanCastToCalled = false;
304                 itf24 = (I24)o;
305                 if (mrp.CanCastToCalled)
306                         return 24;
307                 total += itf24.CallMe (24);
308
309                 mrp.CanCastToCalled = false;
310                 I25 itf25 = (I25)o;
311                 if (!mrp.CanCastToCalled)
312                         return 25;
313                 total += itf25.CallMe (25);
314                 mrp.CanCastToCalled = false;
315                 itf25 = (I25)o;
316                 if (mrp.CanCastToCalled)
317                         return 25;
318                 total += itf25.CallMe (25);
319
320                 mrp.CanCastToCalled = false;
321                 I26 itf26 = (I26)o;
322                 if (!mrp.CanCastToCalled)
323                         return 26;
324                 total += itf26.CallMe (26);
325                 mrp.CanCastToCalled = false;
326                 itf26 = (I26)o;
327                 if (mrp.CanCastToCalled)
328                         return 26;
329                 total += itf26.CallMe (26);
330
331                 mrp.CanCastToCalled = false;
332                 I27 itf27 = (I27)o;
333                 if (!mrp.CanCastToCalled)
334                         return 27;
335                 total += itf27.CallMe (27);
336                 mrp.CanCastToCalled = false;
337                 itf27 = (I27)o;
338                 if (mrp.CanCastToCalled)
339                         return 27;
340                 total += itf27.CallMe (27);
341
342                 mrp.CanCastToCalled = false;
343                 I28 itf28 = (I28)o;
344                 if (!mrp.CanCastToCalled)
345                         return 28;
346                 total += itf28.CallMe (28);
347                 mrp.CanCastToCalled = false;
348                 itf28 = (I28)o;
349                 if (mrp.CanCastToCalled)
350                         return 28;
351                 total += itf28.CallMe (28);
352
353                 mrp.CanCastToCalled = false;
354                 I29 itf29 = (I29)o;
355                 if (!mrp.CanCastToCalled)
356                         return 29;
357                 total += itf29.CallMe (29);
358                 mrp.CanCastToCalled = false;
359                 itf29 = (I29)o;
360                 if (mrp.CanCastToCalled)
361                         return 29;
362                 total += itf29.CallMe (29);
363
364                 mrp.CanCastToCalled = false;
365                 I30 itf30 = (I30)o;
366                 if (!mrp.CanCastToCalled)
367                         return 30;
368                 total += itf30.CallMe (30);
369                 mrp.CanCastToCalled = false;
370                 itf30 = (I30)o;
371                 if (mrp.CanCastToCalled)
372                         return 30;
373                 total += itf30.CallMe (30);
374
375                 mrp.CanCastToCalled = false;
376                 I31 itf31 = (I31)o;
377                 if (!mrp.CanCastToCalled)
378                         return 31;
379                 total += itf31.CallMe (31);
380                 mrp.CanCastToCalled = false;
381                 itf31 = (I31)o;
382                 if (mrp.CanCastToCalled)
383                         return 31;
384                 total += itf31.CallMe (31);
385
386                 mrp.CanCastToCalled = false;
387                 I32 itf32 = (I32)o;
388                 if (!mrp.CanCastToCalled)
389                         return 32;
390                 total += itf32.CallMe (32);
391                 mrp.CanCastToCalled = false;
392                 itf32 = (I32)o;
393                 if (mrp.CanCastToCalled)
394                         return 32;
395                 total += itf32.CallMe (32);
396
397                 mrp.CanCastToCalled = false;
398                 I33 itf33 = (I33)o;
399                 if (!mrp.CanCastToCalled)
400                         return 33;
401                 total += itf33.CallMe (33);
402                 mrp.CanCastToCalled = false;
403                 itf33 = (I33)o;
404                 if (mrp.CanCastToCalled)
405                         return 33;
406                 total += itf33.CallMe (33);
407
408                 mrp.CanCastToCalled = false;
409                 I34 itf34 = (I34)o;
410                 if (!mrp.CanCastToCalled)
411                         return 34;
412                 total += itf34.CallMe (34);
413                 mrp.CanCastToCalled = false;
414                 itf34 = (I34)o;
415                 if (mrp.CanCastToCalled)
416                         return 34;
417                 total += itf34.CallMe (34);
418
419                 mrp.CanCastToCalled = false;
420                 I35 itf35 = (I35)o;
421                 if (!mrp.CanCastToCalled)
422                         return 35;
423                 total += itf35.CallMe (35);
424                 mrp.CanCastToCalled = false;
425                 itf35 = (I35)o;
426                 if (mrp.CanCastToCalled)
427                         return 35;
428                 total += itf35.CallMe (35);
429
430                 mrp.CanCastToCalled = false;
431                 I36 itf36 = (I36)o;
432                 if (!mrp.CanCastToCalled)
433                         return 36;
434                 total += itf36.CallMe (36);
435                 mrp.CanCastToCalled = false;
436                 itf36 = (I36)o;
437                 if (mrp.CanCastToCalled)
438                         return 36;
439                 total += itf36.CallMe (36);
440
441                 mrp.CanCastToCalled = false;
442                 I37 itf37 = (I37)o;
443                 if (!mrp.CanCastToCalled)
444                         return 37;
445                 total += itf37.CallMe (37);
446                 mrp.CanCastToCalled = false;
447                 itf37 = (I37)o;
448                 if (mrp.CanCastToCalled)
449                         return 37;
450                 total += itf37.CallMe (37);
451
452                 mrp.CanCastToCalled = false;
453                 I38 itf38 = (I38)o;
454                 if (!mrp.CanCastToCalled)
455                         return 38;
456                 total += itf38.CallMe (38);
457                 mrp.CanCastToCalled = false;
458                 itf38 = (I38)o;
459                 if (mrp.CanCastToCalled)
460                         return 38;
461                 total += itf38.CallMe (38);
462
463                 mrp.CanCastToCalled = false;
464                 I39 itf39 = (I39)o;
465                 if (!mrp.CanCastToCalled)
466                         return 39;
467                 total += itf39.CallMe (39);
468                 mrp.CanCastToCalled = false;
469                 itf39 = (I39)o;
470                 if (mrp.CanCastToCalled)
471                         return 39;
472                 total += itf39.CallMe (39);
473
474                 mrp.CanCastToCalled = false;
475                 I40 itf40 = (I40)o;
476                 if (!mrp.CanCastToCalled)
477                         return 40;
478                 total += itf40.CallMe (40);
479                 mrp.CanCastToCalled = false;
480                 itf40 = (I40)o;
481                 if (mrp.CanCastToCalled)
482                         return 40;
483                 total += itf40.CallMe (40);
484
485                 mrp.CanCastToCalled = false;
486                 I41 itf41 = (I41)o;
487                 if (!mrp.CanCastToCalled)
488                         return 41;
489                 total += itf41.CallMe (41);
490                 mrp.CanCastToCalled = false;
491                 itf41 = (I41)o;
492                 if (mrp.CanCastToCalled)
493                         return 41;
494                 total += itf41.CallMe (41);
495
496                 mrp.CanCastToCalled = false;
497                 I42 itf42 = (I42)o;
498                 if (!mrp.CanCastToCalled)
499                         return 42;
500                 total += itf42.CallMe (42);
501                 mrp.CanCastToCalled = false;
502                 itf42 = (I42)o;
503                 if (mrp.CanCastToCalled)
504                         return 42;
505                 total += itf42.CallMe (42);
506
507                 mrp.CanCastToCalled = false;
508                 I43 itf43 = (I43)o;
509                 if (!mrp.CanCastToCalled)
510                         return 43;
511                 total += itf43.CallMe (43);
512                 mrp.CanCastToCalled = false;
513                 itf43 = (I43)o;
514                 if (mrp.CanCastToCalled)
515                         return 43;
516                 total += itf43.CallMe (43);
517
518                 mrp.CanCastToCalled = false;
519                 I44 itf44 = (I44)o;
520                 if (!mrp.CanCastToCalled)
521                         return 44;
522                 total += itf44.CallMe (44);
523                 mrp.CanCastToCalled = false;
524                 itf44 = (I44)o;
525                 if (mrp.CanCastToCalled)
526                         return 44;
527                 total += itf44.CallMe (44);
528
529                 mrp.CanCastToCalled = false;
530                 I45 itf45 = (I45)o;
531                 if (!mrp.CanCastToCalled)
532                         return 45;
533                 total += itf45.CallMe (45);
534                 mrp.CanCastToCalled = false;
535                 itf45 = (I45)o;
536                 if (mrp.CanCastToCalled)
537                         return 45;
538                 total += itf45.CallMe (45);
539
540                 mrp.CanCastToCalled = false;
541                 I46 itf46 = (I46)o;
542                 if (!mrp.CanCastToCalled)
543                         return 46;
544                 total += itf46.CallMe (46);
545                 mrp.CanCastToCalled = false;
546                 itf46 = (I46)o;
547                 if (mrp.CanCastToCalled)
548                         return 46;
549                 total += itf46.CallMe (46);
550
551                 mrp.CanCastToCalled = false;
552                 I47 itf47 = (I47)o;
553                 if (!mrp.CanCastToCalled)
554                         return 47;
555                 total += itf47.CallMe (47);
556                 mrp.CanCastToCalled = false;
557                 itf47 = (I47)o;
558                 if (mrp.CanCastToCalled)
559                         return 47;
560                 total += itf47.CallMe (47);
561
562                 mrp.CanCastToCalled = false;
563                 I48 itf48 = (I48)o;
564                 if (!mrp.CanCastToCalled)
565                         return 48;
566                 total += itf48.CallMe (48);
567                 mrp.CanCastToCalled = false;
568                 itf48 = (I48)o;
569                 if (mrp.CanCastToCalled)
570                         return 48;
571                 total += itf48.CallMe (48);
572
573                 mrp.CanCastToCalled = false;
574                 I49 itf49 = (I49)o;
575                 if (!mrp.CanCastToCalled)
576                         return 49;
577                 total += itf49.CallMe (49);
578                 mrp.CanCastToCalled = false;
579                 itf49 = (I49)o;
580                 if (mrp.CanCastToCalled)
581                         return 49;
582                 total += itf49.CallMe (49);
583
584                 mrp.CanCastToCalled = false;
585                 I50 itf50 = (I50)o;
586                 if (!mrp.CanCastToCalled)
587                         return 50;
588                 total += itf50.CallMe (50);
589                 mrp.CanCastToCalled = false;
590                 itf50 = (I50)o;
591                 if (mrp.CanCastToCalled)
592                         return 50;
593                 total += itf50.CallMe (50);
594
595                 mrp.CanCastToCalled = false;
596                 I51 itf51 = (I51)o;
597                 if (!mrp.CanCastToCalled)
598                         return 51;
599                 total += itf51.CallMe (51);
600                 mrp.CanCastToCalled = false;
601                 itf51 = (I51)o;
602                 if (mrp.CanCastToCalled)
603                         return 51;
604                 total += itf51.CallMe (51);
605
606                 mrp.CanCastToCalled = false;
607                 I52 itf52 = (I52)o;
608                 if (!mrp.CanCastToCalled)
609                         return 52;
610                 total += itf52.CallMe (52);
611                 mrp.CanCastToCalled = false;
612                 itf52 = (I52)o;
613                 if (mrp.CanCastToCalled)
614                         return 52;
615                 total += itf52.CallMe (52);
616
617                 mrp.CanCastToCalled = false;
618                 I53 itf53 = (I53)o;
619                 if (!mrp.CanCastToCalled)
620                         return 53;
621                 total += itf53.CallMe (53);
622                 mrp.CanCastToCalled = false;
623                 itf53 = (I53)o;
624                 if (mrp.CanCastToCalled)
625                         return 53;
626                 total += itf53.CallMe (53);
627
628                 mrp.CanCastToCalled = false;
629                 I54 itf54 = (I54)o;
630                 if (!mrp.CanCastToCalled)
631                         return 54;
632                 total += itf54.CallMe (54);
633                 mrp.CanCastToCalled = false;
634                 itf54 = (I54)o;
635                 if (mrp.CanCastToCalled)
636                         return 54;
637                 total += itf54.CallMe (54);
638
639                 mrp.CanCastToCalled = false;
640                 I55 itf55 = (I55)o;
641                 if (!mrp.CanCastToCalled)
642                         return 55;
643                 total += itf55.CallMe (55);
644                 mrp.CanCastToCalled = false;
645                 itf55 = (I55)o;
646                 if (mrp.CanCastToCalled)
647                         return 55;
648                 total += itf55.CallMe (55);
649
650                 mrp.CanCastToCalled = false;
651                 I56 itf56 = (I56)o;
652                 if (!mrp.CanCastToCalled)
653                         return 56;
654                 total += itf56.CallMe (56);
655                 mrp.CanCastToCalled = false;
656                 itf56 = (I56)o;
657                 if (mrp.CanCastToCalled)
658                         return 56;
659                 total += itf56.CallMe (56);
660
661                 mrp.CanCastToCalled = false;
662                 I57 itf57 = (I57)o;
663                 if (!mrp.CanCastToCalled)
664                         return 57;
665                 total += itf57.CallMe (57);
666                 mrp.CanCastToCalled = false;
667                 itf57 = (I57)o;
668                 if (mrp.CanCastToCalled)
669                         return 57;
670                 total += itf57.CallMe (57);
671
672                 mrp.CanCastToCalled = false;
673                 I58 itf58 = (I58)o;
674                 if (!mrp.CanCastToCalled)
675                         return 58;
676                 total += itf58.CallMe (58);
677                 mrp.CanCastToCalled = false;
678                 itf58 = (I58)o;
679                 if (mrp.CanCastToCalled)
680                         return 58;
681                 total += itf58.CallMe (58);
682
683                 mrp.CanCastToCalled = false;
684                 I59 itf59 = (I59)o;
685                 if (!mrp.CanCastToCalled)
686                         return 59;
687                 total += itf59.CallMe (59);
688                 mrp.CanCastToCalled = false;
689                 itf59 = (I59)o;
690                 if (mrp.CanCastToCalled)
691                         return 59;
692                 total += itf59.CallMe (59);
693
694                 mrp.CanCastToCalled = false;
695                 I60 itf60 = (I60)o;
696                 if (!mrp.CanCastToCalled)
697                         return 60;
698                 total += itf60.CallMe (60);
699                 mrp.CanCastToCalled = false;
700                 itf60 = (I60)o;
701                 if (mrp.CanCastToCalled)
702                         return 60;
703                 total += itf60.CallMe (60);
704
705                 mrp.CanCastToCalled = false;
706                 I61 itf61 = (I61)o;
707                 if (!mrp.CanCastToCalled)
708                         return 61;
709                 total += itf61.CallMe (61);
710                 mrp.CanCastToCalled = false;
711                 itf61 = (I61)o;
712                 if (mrp.CanCastToCalled)
713                         return 61;
714                 total += itf61.CallMe (61);
715
716                 mrp.CanCastToCalled = false;
717                 I62 itf62 = (I62)o;
718                 if (!mrp.CanCastToCalled)
719                         return 62;
720                 total += itf62.CallMe (62);
721                 mrp.CanCastToCalled = false;
722                 itf62 = (I62)o;
723                 if (mrp.CanCastToCalled)
724                         return 62;
725                 total += itf62.CallMe (62);
726
727                 mrp.CanCastToCalled = false;
728                 I63 itf63 = (I63)o;
729                 if (!mrp.CanCastToCalled)
730                         return 63;
731                 total += itf63.CallMe (63);
732                 mrp.CanCastToCalled = false;
733                 itf63 = (I63)o;
734                 if (mrp.CanCastToCalled)
735                         return 63;
736                 total += itf63.CallMe (63);
737
738                 mrp.CanCastToCalled = false;
739                 I64 itf64 = (I64)o;
740                 if (!mrp.CanCastToCalled)
741                         return 64;
742                 total += itf64.CallMe (64);
743                 mrp.CanCastToCalled = false;
744                 itf64 = (I64)o;
745                 if (mrp.CanCastToCalled)
746                         return 64;
747                 total += itf64.CallMe (64);
748
749                 mrp.CanCastToCalled = false;
750                 I65 itf65 = (I65)o;
751                 if (!mrp.CanCastToCalled)
752                         return 65;
753                 total += itf65.CallMe (65);
754                 mrp.CanCastToCalled = false;
755                 itf65 = (I65)o;
756                 if (mrp.CanCastToCalled)
757                         return 65;
758                 total += itf65.CallMe (65);
759
760                 mrp.CanCastToCalled = false;
761                 I66 itf66 = (I66)o;
762                 if (!mrp.CanCastToCalled)
763                         return 66;
764                 total += itf66.CallMe (66);
765                 mrp.CanCastToCalled = false;
766                 itf66 = (I66)o;
767                 if (mrp.CanCastToCalled)
768                         return 66;
769                 total += itf66.CallMe (66);
770
771                 mrp.CanCastToCalled = false;
772                 I67 itf67 = (I67)o;
773                 if (!mrp.CanCastToCalled)
774                         return 67;
775                 total += itf67.CallMe (67);
776                 mrp.CanCastToCalled = false;
777                 itf67 = (I67)o;
778                 if (mrp.CanCastToCalled)
779                         return 67;
780                 total += itf67.CallMe (67);
781
782                 mrp.CanCastToCalled = false;
783                 I68 itf68 = (I68)o;
784                 if (!mrp.CanCastToCalled)
785                         return 68;
786                 total += itf68.CallMe (68);
787                 mrp.CanCastToCalled = false;
788                 itf68 = (I68)o;
789                 if (mrp.CanCastToCalled)
790                         return 68;
791                 total += itf68.CallMe (68);
792
793                 mrp.CanCastToCalled = false;
794                 I69 itf69 = (I69)o;
795                 if (!mrp.CanCastToCalled)
796                         return 69;
797                 total += itf69.CallMe (69);
798                 mrp.CanCastToCalled = false;
799                 itf69 = (I69)o;
800                 if (mrp.CanCastToCalled)
801                         return 69;
802                 total += itf69.CallMe (69);
803
804                 mrp.CanCastToCalled = false;
805                 I70 itf70 = (I70)o;
806                 if (!mrp.CanCastToCalled)
807                         return 70;
808                 total += itf70.CallMe (70);
809                 mrp.CanCastToCalled = false;
810                 itf70 = (I70)o;
811                 if (mrp.CanCastToCalled)
812                         return 70;
813                 total += itf70.CallMe (70);
814
815                 mrp.CanCastToCalled = false;
816                 I71 itf71 = (I71)o;
817                 if (!mrp.CanCastToCalled)
818                         return 71;
819                 total += itf71.CallMe (71);
820                 mrp.CanCastToCalled = false;
821                 itf71 = (I71)o;
822                 if (mrp.CanCastToCalled)
823                         return 71;
824                 total += itf71.CallMe (71);
825
826                 mrp.CanCastToCalled = false;
827                 I72 itf72 = (I72)o;
828                 if (!mrp.CanCastToCalled)
829                         return 72;
830                 total += itf72.CallMe (72);
831                 mrp.CanCastToCalled = false;
832                 itf72 = (I72)o;
833                 if (mrp.CanCastToCalled)
834                         return 72;
835                 total += itf72.CallMe (72);
836
837                 mrp.CanCastToCalled = false;
838                 I73 itf73 = (I73)o;
839                 if (!mrp.CanCastToCalled)
840                         return 73;
841                 total += itf73.CallMe (73);
842                 mrp.CanCastToCalled = false;
843                 itf73 = (I73)o;
844                 if (mrp.CanCastToCalled)
845                         return 73;
846                 total += itf73.CallMe (73);
847
848                 mrp.CanCastToCalled = false;
849                 I74 itf74 = (I74)o;
850                 if (!mrp.CanCastToCalled)
851                         return 74;
852                 total += itf74.CallMe (74);
853                 mrp.CanCastToCalled = false;
854                 itf74 = (I74)o;
855                 if (mrp.CanCastToCalled)
856                         return 74;
857                 total += itf74.CallMe (74);
858
859                 mrp.CanCastToCalled = false;
860                 I75 itf75 = (I75)o;
861                 if (!mrp.CanCastToCalled)
862                         return 75;
863                 total += itf75.CallMe (75);
864                 mrp.CanCastToCalled = false;
865                 itf75 = (I75)o;
866                 if (mrp.CanCastToCalled)
867                         return 75;
868                 total += itf75.CallMe (75);
869
870                 mrp.CanCastToCalled = false;
871                 I76 itf76 = (I76)o;
872                 if (!mrp.CanCastToCalled)
873                         return 76;
874                 total += itf76.CallMe (76);
875                 mrp.CanCastToCalled = false;
876                 itf76 = (I76)o;
877                 if (mrp.CanCastToCalled)
878                         return 76;
879                 total += itf76.CallMe (76);
880
881                 mrp.CanCastToCalled = false;
882                 I77 itf77 = (I77)o;
883                 if (!mrp.CanCastToCalled)
884                         return 77;
885                 total += itf77.CallMe (77);
886                 mrp.CanCastToCalled = false;
887                 itf77 = (I77)o;
888                 if (mrp.CanCastToCalled)
889                         return 77;
890                 total += itf77.CallMe (77);
891
892                 mrp.CanCastToCalled = false;
893                 I78 itf78 = (I78)o;
894                 if (!mrp.CanCastToCalled)
895                         return 78;
896                 total += itf78.CallMe (78);
897                 mrp.CanCastToCalled = false;
898                 itf78 = (I78)o;
899                 if (mrp.CanCastToCalled)
900                         return 78;
901                 total += itf78.CallMe (78);
902
903                 mrp.CanCastToCalled = false;
904                 I79 itf79 = (I79)o;
905                 if (!mrp.CanCastToCalled)
906                         return 79;
907                 total += itf79.CallMe (79);
908                 mrp.CanCastToCalled = false;
909                 itf79 = (I79)o;
910                 if (mrp.CanCastToCalled)
911                         return 79;
912                 total += itf79.CallMe (79);
913
914                 mrp.CanCastToCalled = false;
915                 I80 itf80 = (I80)o;
916                 if (!mrp.CanCastToCalled)
917                         return 80;
918                 total += itf80.CallMe (80);
919                 mrp.CanCastToCalled = false;
920                 itf80 = (I80)o;
921                 if (mrp.CanCastToCalled)
922                         return 80;
923                 total += itf80.CallMe (80);
924
925                 mrp.CanCastToCalled = false;
926                 I81 itf81 = (I81)o;
927                 if (!mrp.CanCastToCalled)
928                         return 81;
929                 total += itf81.CallMe (81);
930                 mrp.CanCastToCalled = false;
931                 itf81 = (I81)o;
932                 if (mrp.CanCastToCalled)
933                         return 81;
934                 total += itf81.CallMe (81);
935
936                 mrp.CanCastToCalled = false;
937                 I82 itf82 = (I82)o;
938                 if (!mrp.CanCastToCalled)
939                         return 82;
940                 total += itf82.CallMe (82);
941                 mrp.CanCastToCalled = false;
942                 itf82 = (I82)o;
943                 if (mrp.CanCastToCalled)
944                         return 82;
945                 total += itf82.CallMe (82);
946
947                 mrp.CanCastToCalled = false;
948                 I83 itf83 = (I83)o;
949                 if (!mrp.CanCastToCalled)
950                         return 83;
951                 total += itf83.CallMe (83);
952                 mrp.CanCastToCalled = false;
953                 itf83 = (I83)o;
954                 if (mrp.CanCastToCalled)
955                         return 83;
956                 total += itf83.CallMe (83);
957
958                 mrp.CanCastToCalled = false;
959                 I84 itf84 = (I84)o;
960                 if (!mrp.CanCastToCalled)
961                         return 84;
962                 total += itf84.CallMe (84);
963                 mrp.CanCastToCalled = false;
964                 itf84 = (I84)o;
965                 if (mrp.CanCastToCalled)
966                         return 84;
967                 total += itf84.CallMe (84);
968
969                 mrp.CanCastToCalled = false;
970                 I85 itf85 = (I85)o;
971                 if (!mrp.CanCastToCalled)
972                         return 85;
973                 total += itf85.CallMe (85);
974                 mrp.CanCastToCalled = false;
975                 itf85 = (I85)o;
976                 if (mrp.CanCastToCalled)
977                         return 85;
978                 total += itf85.CallMe (85);
979
980                 mrp.CanCastToCalled = false;
981                 I86 itf86 = (I86)o;
982                 if (!mrp.CanCastToCalled)
983                         return 86;
984                 total += itf86.CallMe (86);
985                 mrp.CanCastToCalled = false;
986                 itf86 = (I86)o;
987                 if (mrp.CanCastToCalled)
988                         return 86;
989                 total += itf86.CallMe (86);
990
991                 mrp.CanCastToCalled = false;
992                 I87 itf87 = (I87)o;
993                 if (!mrp.CanCastToCalled)
994                         return 87;
995                 total += itf87.CallMe (87);
996                 mrp.CanCastToCalled = false;
997                 itf87 = (I87)o;
998                 if (mrp.CanCastToCalled)
999                         return 87;
1000                 total += itf87.CallMe (87);
1001
1002                 mrp.CanCastToCalled = false;
1003                 I88 itf88 = (I88)o;
1004                 if (!mrp.CanCastToCalled)
1005                         return 88;
1006                 total += itf88.CallMe (88);
1007                 mrp.CanCastToCalled = false;
1008                 itf88 = (I88)o;
1009                 if (mrp.CanCastToCalled)
1010                         return 88;
1011                 total += itf88.CallMe (88);
1012
1013                 mrp.CanCastToCalled = false;
1014                 I89 itf89 = (I89)o;
1015                 if (!mrp.CanCastToCalled)
1016                         return 89;
1017                 total += itf89.CallMe (89);
1018                 mrp.CanCastToCalled = false;
1019                 itf89 = (I89)o;
1020                 if (mrp.CanCastToCalled)
1021                         return 89;
1022                 total += itf89.CallMe (89);
1023
1024                 mrp.CanCastToCalled = false;
1025                 I90 itf90 = (I90)o;
1026                 if (!mrp.CanCastToCalled)
1027                         return 90;
1028                 total += itf90.CallMe (90);
1029                 mrp.CanCastToCalled = false;
1030                 itf90 = (I90)o;
1031                 if (mrp.CanCastToCalled)
1032                         return 90;
1033                 total += itf90.CallMe (90);
1034
1035                 mrp.CanCastToCalled = false;
1036                 I91 itf91 = (I91)o;
1037                 if (!mrp.CanCastToCalled)
1038                         return 91;
1039                 total += itf91.CallMe (91);
1040                 mrp.CanCastToCalled = false;
1041                 itf91 = (I91)o;
1042                 if (mrp.CanCastToCalled)
1043                         return 91;
1044                 total += itf91.CallMe (91);
1045
1046                 mrp.CanCastToCalled = false;
1047                 I92 itf92 = (I92)o;
1048                 if (!mrp.CanCastToCalled)
1049                         return 92;
1050                 total += itf92.CallMe (92);
1051                 mrp.CanCastToCalled = false;
1052                 itf92 = (I92)o;
1053                 if (mrp.CanCastToCalled)
1054                         return 92;
1055                 total += itf92.CallMe (92);
1056
1057                 mrp.CanCastToCalled = false;
1058                 I93 itf93 = (I93)o;
1059                 if (!mrp.CanCastToCalled)
1060                         return 93;
1061                 total += itf93.CallMe (93);
1062                 mrp.CanCastToCalled = false;
1063                 itf93 = (I93)o;
1064                 if (mrp.CanCastToCalled)
1065                         return 93;
1066                 total += itf93.CallMe (93);
1067
1068                 mrp.CanCastToCalled = false;
1069                 I94 itf94 = (I94)o;
1070                 if (!mrp.CanCastToCalled)
1071                         return 94;
1072                 total += itf94.CallMe (94);
1073                 mrp.CanCastToCalled = false;
1074                 itf94 = (I94)o;
1075                 if (mrp.CanCastToCalled)
1076                         return 94;
1077                 total += itf94.CallMe (94);
1078
1079                 mrp.CanCastToCalled = false;
1080                 I95 itf95 = (I95)o;
1081                 if (!mrp.CanCastToCalled)
1082                         return 95;
1083                 total += itf95.CallMe (95);
1084                 mrp.CanCastToCalled = false;
1085                 itf95 = (I95)o;
1086                 if (mrp.CanCastToCalled)
1087                         return 95;
1088                 total += itf95.CallMe (95);
1089
1090                 mrp.CanCastToCalled = false;
1091                 I96 itf96 = (I96)o;
1092                 if (!mrp.CanCastToCalled)
1093                         return 96;
1094                 total += itf96.CallMe (96);
1095                 mrp.CanCastToCalled = false;
1096                 itf96 = (I96)o;
1097                 if (mrp.CanCastToCalled)
1098                         return 96;
1099                 total += itf96.CallMe (96);
1100
1101                 mrp.CanCastToCalled = false;
1102                 I97 itf97 = (I97)o;
1103                 if (!mrp.CanCastToCalled)
1104                         return 97;
1105                 total += itf97.CallMe (97);
1106                 mrp.CanCastToCalled = false;
1107                 itf97 = (I97)o;
1108                 if (mrp.CanCastToCalled)
1109                         return 97;
1110                 total += itf97.CallMe (97);
1111
1112                 mrp.CanCastToCalled = false;
1113                 I98 itf98 = (I98)o;
1114                 if (!mrp.CanCastToCalled)
1115                         return 98;
1116                 total += itf98.CallMe (98);
1117                 mrp.CanCastToCalled = false;
1118                 itf98 = (I98)o;
1119                 if (mrp.CanCastToCalled)
1120                         return 98;
1121                 total += itf98.CallMe (98);
1122
1123                 mrp.CanCastToCalled = false;
1124                 I99 itf99 = (I99)o;
1125                 if (!mrp.CanCastToCalled)
1126                         return 99;
1127                 total += itf99.CallMe (99);
1128                 mrp.CanCastToCalled = false;
1129                 itf99 = (I99)o;
1130                 if (mrp.CanCastToCalled)
1131                         return 99;
1132                 total += itf99.CallMe (99);
1133
1134                 mrp.CanCastToCalled = false;
1135                 I100 itf100 = (I100)o;
1136                 if (!mrp.CanCastToCalled)
1137                         return 100;
1138                 total += itf100.CallMe (100);
1139                 mrp.CanCastToCalled = false;
1140                 itf100 = (I100)o;
1141                 if (mrp.CanCastToCalled)
1142                         return 100;
1143                 total += itf100.CallMe (100);
1144
1145                 mrp.CanCastToCalled = false;
1146                 I101 itf101 = (I101)o;
1147                 if (!mrp.CanCastToCalled)
1148                         return 101;
1149                 total += itf101.CallMe (101);
1150                 mrp.CanCastToCalled = false;
1151                 itf101 = (I101)o;
1152                 if (mrp.CanCastToCalled)
1153                         return 101;
1154                 total += itf101.CallMe (101);
1155
1156                 mrp.CanCastToCalled = false;
1157                 I102 itf102 = (I102)o;
1158                 if (!mrp.CanCastToCalled)
1159                         return 102;
1160                 total += itf102.CallMe (102);
1161                 mrp.CanCastToCalled = false;
1162                 itf102 = (I102)o;
1163                 if (mrp.CanCastToCalled)
1164                         return 102;
1165                 total += itf102.CallMe (102);
1166
1167                 mrp.CanCastToCalled = false;
1168                 I103 itf103 = (I103)o;
1169                 if (!mrp.CanCastToCalled)
1170                         return 103;
1171                 total += itf103.CallMe (103);
1172                 mrp.CanCastToCalled = false;
1173                 itf103 = (I103)o;
1174                 if (mrp.CanCastToCalled)
1175                         return 103;
1176                 total += itf103.CallMe (103);
1177
1178                 mrp.CanCastToCalled = false;
1179                 I104 itf104 = (I104)o;
1180                 if (!mrp.CanCastToCalled)
1181                         return 104;
1182                 total += itf104.CallMe (104);
1183                 mrp.CanCastToCalled = false;
1184                 itf104 = (I104)o;
1185                 if (mrp.CanCastToCalled)
1186                         return 104;
1187                 total += itf104.CallMe (104);
1188
1189                 mrp.CanCastToCalled = false;
1190                 I105 itf105 = (I105)o;
1191                 if (!mrp.CanCastToCalled)
1192                         return 105;
1193                 total += itf105.CallMe (105);
1194                 mrp.CanCastToCalled = false;
1195                 itf105 = (I105)o;
1196                 if (mrp.CanCastToCalled)
1197                         return 105;
1198                 total += itf105.CallMe (105);
1199
1200                 mrp.CanCastToCalled = false;
1201                 I106 itf106 = (I106)o;
1202                 if (!mrp.CanCastToCalled)
1203                         return 106;
1204                 total += itf106.CallMe (106);
1205                 mrp.CanCastToCalled = false;
1206                 itf106 = (I106)o;
1207                 if (mrp.CanCastToCalled)
1208                         return 106;
1209                 total += itf106.CallMe (106);
1210
1211                 mrp.CanCastToCalled = false;
1212                 I107 itf107 = (I107)o;
1213                 if (!mrp.CanCastToCalled)
1214                         return 107;
1215                 total += itf107.CallMe (107);
1216                 mrp.CanCastToCalled = false;
1217                 itf107 = (I107)o;
1218                 if (mrp.CanCastToCalled)
1219                         return 107;
1220                 total += itf107.CallMe (107);
1221
1222                 mrp.CanCastToCalled = false;
1223                 I108 itf108 = (I108)o;
1224                 if (!mrp.CanCastToCalled)
1225                         return 108;
1226                 total += itf108.CallMe (108);
1227                 mrp.CanCastToCalled = false;
1228                 itf108 = (I108)o;
1229                 if (mrp.CanCastToCalled)
1230                         return 108;
1231                 total += itf108.CallMe (108);
1232
1233                 mrp.CanCastToCalled = false;
1234                 I109 itf109 = (I109)o;
1235                 if (!mrp.CanCastToCalled)
1236                         return 109;
1237                 total += itf109.CallMe (109);
1238                 mrp.CanCastToCalled = false;
1239                 itf109 = (I109)o;
1240                 if (mrp.CanCastToCalled)
1241                         return 109;
1242                 total += itf109.CallMe (109);
1243
1244                 mrp.CanCastToCalled = false;
1245                 I110 itf110 = (I110)o;
1246                 if (!mrp.CanCastToCalled)
1247                         return 110;
1248                 total += itf110.CallMe (110);
1249                 mrp.CanCastToCalled = false;
1250                 itf110 = (I110)o;
1251                 if (mrp.CanCastToCalled)
1252                         return 110;
1253                 total += itf110.CallMe (110);
1254
1255                 mrp.CanCastToCalled = false;
1256                 I111 itf111 = (I111)o;
1257                 if (!mrp.CanCastToCalled)
1258                         return 111;
1259                 total += itf111.CallMe (111);
1260                 mrp.CanCastToCalled = false;
1261                 itf111 = (I111)o;
1262                 if (mrp.CanCastToCalled)
1263                         return 111;
1264                 total += itf111.CallMe (111);
1265
1266                 mrp.CanCastToCalled = false;
1267                 I112 itf112 = (I112)o;
1268                 if (!mrp.CanCastToCalled)
1269                         return 112;
1270                 total += itf112.CallMe (112);
1271                 mrp.CanCastToCalled = false;
1272                 itf112 = (I112)o;
1273                 if (mrp.CanCastToCalled)
1274                         return 112;
1275                 total += itf112.CallMe (112);
1276
1277                 mrp.CanCastToCalled = false;
1278                 I113 itf113 = (I113)o;
1279                 if (!mrp.CanCastToCalled)
1280                         return 113;
1281                 total += itf113.CallMe (113);
1282                 mrp.CanCastToCalled = false;
1283                 itf113 = (I113)o;
1284                 if (mrp.CanCastToCalled)
1285                         return 113;
1286                 total += itf113.CallMe (113);
1287
1288                 mrp.CanCastToCalled = false;
1289                 I114 itf114 = (I114)o;
1290                 if (!mrp.CanCastToCalled)
1291                         return 114;
1292                 total += itf114.CallMe (114);
1293                 mrp.CanCastToCalled = false;
1294                 itf114 = (I114)o;
1295                 if (mrp.CanCastToCalled)
1296                         return 114;
1297                 total += itf114.CallMe (114);
1298
1299                 mrp.CanCastToCalled = false;
1300                 I115 itf115 = (I115)o;
1301                 if (!mrp.CanCastToCalled)
1302                         return 115;
1303                 total += itf115.CallMe (115);
1304                 mrp.CanCastToCalled = false;
1305                 itf115 = (I115)o;
1306                 if (mrp.CanCastToCalled)
1307                         return 115;
1308                 total += itf115.CallMe (115);
1309
1310                 mrp.CanCastToCalled = false;
1311                 I116 itf116 = (I116)o;
1312                 if (!mrp.CanCastToCalled)
1313                         return 116;
1314                 total += itf116.CallMe (116);
1315                 mrp.CanCastToCalled = false;
1316                 itf116 = (I116)o;
1317                 if (mrp.CanCastToCalled)
1318                         return 116;
1319                 total += itf116.CallMe (116);
1320
1321                 mrp.CanCastToCalled = false;
1322                 I117 itf117 = (I117)o;
1323                 if (!mrp.CanCastToCalled)
1324                         return 117;
1325                 total += itf117.CallMe (117);
1326                 mrp.CanCastToCalled = false;
1327                 itf117 = (I117)o;
1328                 if (mrp.CanCastToCalled)
1329                         return 117;
1330                 total += itf117.CallMe (117);
1331
1332                 mrp.CanCastToCalled = false;
1333                 I118 itf118 = (I118)o;
1334                 if (!mrp.CanCastToCalled)
1335                         return 118;
1336                 total += itf118.CallMe (118);
1337                 mrp.CanCastToCalled = false;
1338                 itf118 = (I118)o;
1339                 if (mrp.CanCastToCalled)
1340                         return 118;
1341                 total += itf118.CallMe (118);
1342
1343                 mrp.CanCastToCalled = false;
1344                 I119 itf119 = (I119)o;
1345                 if (!mrp.CanCastToCalled)
1346                         return 119;
1347                 total += itf119.CallMe (119);
1348                 mrp.CanCastToCalled = false;
1349                 itf119 = (I119)o;
1350                 if (mrp.CanCastToCalled)
1351                         return 119;
1352                 total += itf119.CallMe (119);
1353
1354                 mrp.CanCastToCalled = false;
1355                 I120 itf120 = (I120)o;
1356                 if (!mrp.CanCastToCalled)
1357                         return 120;
1358                 total += itf120.CallMe (120);
1359                 mrp.CanCastToCalled = false;
1360                 itf120 = (I120)o;
1361                 if (mrp.CanCastToCalled)
1362                         return 120;
1363                 total += itf120.CallMe (120);
1364
1365                 mrp.CanCastToCalled = false;
1366                 I121 itf121 = (I121)o;
1367                 if (!mrp.CanCastToCalled)
1368                         return 121;
1369                 total += itf121.CallMe (121);
1370                 mrp.CanCastToCalled = false;
1371                 itf121 = (I121)o;
1372                 if (mrp.CanCastToCalled)
1373                         return 121;
1374                 total += itf121.CallMe (121);
1375
1376                 mrp.CanCastToCalled = false;
1377                 I122 itf122 = (I122)o;
1378                 if (!mrp.CanCastToCalled)
1379                         return 122;
1380                 total += itf122.CallMe (122);
1381                 mrp.CanCastToCalled = false;
1382                 itf122 = (I122)o;
1383                 if (mrp.CanCastToCalled)
1384                         return 122;
1385                 total += itf122.CallMe (122);
1386
1387                 mrp.CanCastToCalled = false;
1388                 I123 itf123 = (I123)o;
1389                 if (!mrp.CanCastToCalled)
1390                         return 123;
1391                 total += itf123.CallMe (123);
1392                 mrp.CanCastToCalled = false;
1393                 itf123 = (I123)o;
1394                 if (mrp.CanCastToCalled)
1395                         return 123;
1396                 total += itf123.CallMe (123);
1397
1398                 mrp.CanCastToCalled = false;
1399                 I124 itf124 = (I124)o;
1400                 if (!mrp.CanCastToCalled)
1401                         return 124;
1402                 total += itf124.CallMe (124);
1403                 mrp.CanCastToCalled = false;
1404                 itf124 = (I124)o;
1405                 if (mrp.CanCastToCalled)
1406                         return 124;
1407                 total += itf124.CallMe (124);
1408
1409                 mrp.CanCastToCalled = false;
1410                 I125 itf125 = (I125)o;
1411                 if (!mrp.CanCastToCalled)
1412                         return 125;
1413                 total += itf125.CallMe (125);
1414                 mrp.CanCastToCalled = false;
1415                 itf125 = (I125)o;
1416                 if (mrp.CanCastToCalled)
1417                         return 125;
1418                 total += itf125.CallMe (125);
1419
1420                 mrp.CanCastToCalled = false;
1421                 I126 itf126 = (I126)o;
1422                 if (!mrp.CanCastToCalled)
1423                         return 126;
1424                 total += itf126.CallMe (126);
1425                 mrp.CanCastToCalled = false;
1426                 itf126 = (I126)o;
1427                 if (mrp.CanCastToCalled)
1428                         return 126;
1429                 total += itf126.CallMe (126);
1430
1431                 mrp.CanCastToCalled = false;
1432                 I127 itf127 = (I127)o;
1433                 if (!mrp.CanCastToCalled)
1434                         return 127;
1435                 total += itf127.CallMe (127);
1436                 mrp.CanCastToCalled = false;
1437                 itf127 = (I127)o;
1438                 if (mrp.CanCastToCalled)
1439                         return 127;
1440                 total += itf127.CallMe (127);
1441
1442                 mrp.CanCastToCalled = false;
1443                 I128 itf128 = (I128)o;
1444                 if (!mrp.CanCastToCalled)
1445                         return 128;
1446                 total += itf128.CallMe (128);
1447                 mrp.CanCastToCalled = false;
1448                 itf128 = (I128)o;
1449                 if (mrp.CanCastToCalled)
1450                         return 128;
1451                 total += itf128.CallMe (128);
1452
1453                 mrp.CanCastToCalled = false;
1454                 I129 itf129 = (I129)o;
1455                 if (!mrp.CanCastToCalled)
1456                         return 129;
1457                 total += itf129.CallMe (129);
1458                 mrp.CanCastToCalled = false;
1459                 itf129 = (I129)o;
1460                 if (mrp.CanCastToCalled)
1461                         return 129;
1462                 total += itf129.CallMe (129);
1463
1464                 mrp.CanCastToCalled = false;
1465                 I130 itf130 = (I130)o;
1466                 if (!mrp.CanCastToCalled)
1467                         return 130;
1468                 total += itf130.CallMe (130);
1469                 mrp.CanCastToCalled = false;
1470                 itf130 = (I130)o;
1471                 if (mrp.CanCastToCalled)
1472                         return 130;
1473                 total += itf130.CallMe (130);
1474
1475                 mrp.CanCastToCalled = false;
1476                 I131 itf131 = (I131)o;
1477                 if (!mrp.CanCastToCalled)
1478                         return 131;
1479                 total += itf131.CallMe (131);
1480                 mrp.CanCastToCalled = false;
1481                 itf131 = (I131)o;
1482                 if (mrp.CanCastToCalled)
1483                         return 131;
1484                 total += itf131.CallMe (131);
1485
1486                 mrp.CanCastToCalled = false;
1487                 I132 itf132 = (I132)o;
1488                 if (!mrp.CanCastToCalled)
1489                         return 132;
1490                 total += itf132.CallMe (132);
1491                 mrp.CanCastToCalled = false;
1492                 itf132 = (I132)o;
1493                 if (mrp.CanCastToCalled)
1494                         return 132;
1495                 total += itf132.CallMe (132);
1496
1497                 mrp.CanCastToCalled = false;
1498                 I133 itf133 = (I133)o;
1499                 if (!mrp.CanCastToCalled)
1500                         return 133;
1501                 total += itf133.CallMe (133);
1502                 mrp.CanCastToCalled = false;
1503                 itf133 = (I133)o;
1504                 if (mrp.CanCastToCalled)
1505                         return 133;
1506                 total += itf133.CallMe (133);
1507
1508                 mrp.CanCastToCalled = false;
1509                 I134 itf134 = (I134)o;
1510                 if (!mrp.CanCastToCalled)
1511                         return 134;
1512                 total += itf134.CallMe (134);
1513                 mrp.CanCastToCalled = false;
1514                 itf134 = (I134)o;
1515                 if (mrp.CanCastToCalled)
1516                         return 134;
1517                 total += itf134.CallMe (134);
1518
1519                 mrp.CanCastToCalled = false;
1520                 I135 itf135 = (I135)o;
1521                 if (!mrp.CanCastToCalled)
1522                         return 135;
1523                 total += itf135.CallMe (135);
1524                 mrp.CanCastToCalled = false;
1525                 itf135 = (I135)o;
1526                 if (mrp.CanCastToCalled)
1527                         return 135;
1528                 total += itf135.CallMe (135);
1529
1530                 mrp.CanCastToCalled = false;
1531                 I136 itf136 = (I136)o;
1532                 if (!mrp.CanCastToCalled)
1533                         return 136;
1534                 total += itf136.CallMe (136);
1535                 mrp.CanCastToCalled = false;
1536                 itf136 = (I136)o;
1537                 if (mrp.CanCastToCalled)
1538                         return 136;
1539                 total += itf136.CallMe (136);
1540
1541                 mrp.CanCastToCalled = false;
1542                 I137 itf137 = (I137)o;
1543                 if (!mrp.CanCastToCalled)
1544                         return 137;
1545                 total += itf137.CallMe (137);
1546                 mrp.CanCastToCalled = false;
1547                 itf137 = (I137)o;
1548                 if (mrp.CanCastToCalled)
1549                         return 137;
1550                 total += itf137.CallMe (137);
1551
1552                 mrp.CanCastToCalled = false;
1553                 I138 itf138 = (I138)o;
1554                 if (!mrp.CanCastToCalled)
1555                         return 138;
1556                 total += itf138.CallMe (138);
1557                 mrp.CanCastToCalled = false;
1558                 itf138 = (I138)o;
1559                 if (mrp.CanCastToCalled)
1560                         return 138;
1561                 total += itf138.CallMe (138);
1562
1563                 mrp.CanCastToCalled = false;
1564                 I139 itf139 = (I139)o;
1565                 if (!mrp.CanCastToCalled)
1566                         return 139;
1567                 total += itf139.CallMe (139);
1568                 mrp.CanCastToCalled = false;
1569                 itf139 = (I139)o;
1570                 if (mrp.CanCastToCalled)
1571                         return 139;
1572                 total += itf139.CallMe (139);
1573
1574                 mrp.CanCastToCalled = false;
1575                 I140 itf140 = (I140)o;
1576                 if (!mrp.CanCastToCalled)
1577                         return 140;
1578                 total += itf140.CallMe (140);
1579                 mrp.CanCastToCalled = false;
1580                 itf140 = (I140)o;
1581                 if (mrp.CanCastToCalled)
1582                         return 140;
1583                 total += itf140.CallMe (140);
1584
1585                 mrp.CanCastToCalled = false;
1586                 I141 itf141 = (I141)o;
1587                 if (!mrp.CanCastToCalled)
1588                         return 141;
1589                 total += itf141.CallMe (141);
1590                 mrp.CanCastToCalled = false;
1591                 itf141 = (I141)o;
1592                 if (mrp.CanCastToCalled)
1593                         return 141;
1594                 total += itf141.CallMe (141);
1595
1596                 mrp.CanCastToCalled = false;
1597                 I142 itf142 = (I142)o;
1598                 if (!mrp.CanCastToCalled)
1599                         return 142;
1600                 total += itf142.CallMe (142);
1601                 mrp.CanCastToCalled = false;
1602                 itf142 = (I142)o;
1603                 if (mrp.CanCastToCalled)
1604                         return 142;
1605                 total += itf142.CallMe (142);
1606
1607                 mrp.CanCastToCalled = false;
1608                 I143 itf143 = (I143)o;
1609                 if (!mrp.CanCastToCalled)
1610                         return 143;
1611                 total += itf143.CallMe (143);
1612                 mrp.CanCastToCalled = false;
1613                 itf143 = (I143)o;
1614                 if (mrp.CanCastToCalled)
1615                         return 143;
1616                 total += itf143.CallMe (143);
1617
1618                 mrp.CanCastToCalled = false;
1619                 I144 itf144 = (I144)o;
1620                 if (!mrp.CanCastToCalled)
1621                         return 144;
1622                 total += itf144.CallMe (144);
1623                 mrp.CanCastToCalled = false;
1624                 itf144 = (I144)o;
1625                 if (mrp.CanCastToCalled)
1626                         return 144;
1627                 total += itf144.CallMe (144);
1628
1629                 mrp.CanCastToCalled = false;
1630                 I145 itf145 = (I145)o;
1631                 if (!mrp.CanCastToCalled)
1632                         return 145;
1633                 total += itf145.CallMe (145);
1634                 mrp.CanCastToCalled = false;
1635                 itf145 = (I145)o;
1636                 if (mrp.CanCastToCalled)
1637                         return 145;
1638                 total += itf145.CallMe (145);
1639
1640                 mrp.CanCastToCalled = false;
1641                 I146 itf146 = (I146)o;
1642                 if (!mrp.CanCastToCalled)
1643                         return 146;
1644                 total += itf146.CallMe (146);
1645                 mrp.CanCastToCalled = false;
1646                 itf146 = (I146)o;
1647                 if (mrp.CanCastToCalled)
1648                         return 146;
1649                 total += itf146.CallMe (146);
1650
1651                 mrp.CanCastToCalled = false;
1652                 I147 itf147 = (I147)o;
1653                 if (!mrp.CanCastToCalled)
1654                         return 147;
1655                 total += itf147.CallMe (147);
1656                 mrp.CanCastToCalled = false;
1657                 itf147 = (I147)o;
1658                 if (mrp.CanCastToCalled)
1659                         return 147;
1660                 total += itf147.CallMe (147);
1661
1662                 mrp.CanCastToCalled = false;
1663                 I148 itf148 = (I148)o;
1664                 if (!mrp.CanCastToCalled)
1665                         return 148;
1666                 total += itf148.CallMe (148);
1667                 mrp.CanCastToCalled = false;
1668                 itf148 = (I148)o;
1669                 if (mrp.CanCastToCalled)
1670                         return 148;
1671                 total += itf148.CallMe (148);
1672
1673                 mrp.CanCastToCalled = false;
1674                 I149 itf149 = (I149)o;
1675                 if (!mrp.CanCastToCalled)
1676                         return 149;
1677                 total += itf149.CallMe (149);
1678                 mrp.CanCastToCalled = false;
1679                 itf149 = (I149)o;
1680                 if (mrp.CanCastToCalled)
1681                         return 149;
1682                 total += itf149.CallMe (149);
1683
1684                 mrp.CanCastToCalled = false;
1685                 I150 itf150 = (I150)o;
1686                 if (!mrp.CanCastToCalled)
1687                         return 150;
1688                 total += itf150.CallMe (150);
1689                 mrp.CanCastToCalled = false;
1690                 itf150 = (I150)o;
1691                 if (mrp.CanCastToCalled)
1692                         return 150;
1693                 total += itf150.CallMe (150);
1694
1695                 mrp.CanCastToCalled = false;
1696                 I151 itf151 = (I151)o;
1697                 if (!mrp.CanCastToCalled)
1698                         return 151;
1699                 total += itf151.CallMe (151);
1700                 mrp.CanCastToCalled = false;
1701                 itf151 = (I151)o;
1702                 if (mrp.CanCastToCalled)
1703                         return 151;
1704                 total += itf151.CallMe (151);
1705
1706                 mrp.CanCastToCalled = false;
1707                 I152 itf152 = (I152)o;
1708                 if (!mrp.CanCastToCalled)
1709                         return 152;
1710                 total += itf152.CallMe (152);
1711                 mrp.CanCastToCalled = false;
1712                 itf152 = (I152)o;
1713                 if (mrp.CanCastToCalled)
1714                         return 152;
1715                 total += itf152.CallMe (152);
1716
1717                 mrp.CanCastToCalled = false;
1718                 I153 itf153 = (I153)o;
1719                 if (!mrp.CanCastToCalled)
1720                         return 153;
1721                 total += itf153.CallMe (153);
1722                 mrp.CanCastToCalled = false;
1723                 itf153 = (I153)o;
1724                 if (mrp.CanCastToCalled)
1725                         return 153;
1726                 total += itf153.CallMe (153);
1727
1728                 mrp.CanCastToCalled = false;
1729                 I154 itf154 = (I154)o;
1730                 if (!mrp.CanCastToCalled)
1731                         return 154;
1732                 total += itf154.CallMe (154);
1733                 mrp.CanCastToCalled = false;
1734                 itf154 = (I154)o;
1735                 if (mrp.CanCastToCalled)
1736                         return 154;
1737                 total += itf154.CallMe (154);
1738
1739                 mrp.CanCastToCalled = false;
1740                 I155 itf155 = (I155)o;
1741                 if (!mrp.CanCastToCalled)
1742                         return 155;
1743                 total += itf155.CallMe (155);
1744                 mrp.CanCastToCalled = false;
1745                 itf155 = (I155)o;
1746                 if (mrp.CanCastToCalled)
1747                         return 155;
1748                 total += itf155.CallMe (155);
1749
1750                 mrp.CanCastToCalled = false;
1751                 I156 itf156 = (I156)o;
1752                 if (!mrp.CanCastToCalled)
1753                         return 156;
1754                 total += itf156.CallMe (156);
1755                 mrp.CanCastToCalled = false;
1756                 itf156 = (I156)o;
1757                 if (mrp.CanCastToCalled)
1758                         return 156;
1759                 total += itf156.CallMe (156);
1760
1761                 mrp.CanCastToCalled = false;
1762                 I157 itf157 = (I157)o;
1763                 if (!mrp.CanCastToCalled)
1764                         return 157;
1765                 total += itf157.CallMe (157);
1766                 mrp.CanCastToCalled = false;
1767                 itf157 = (I157)o;
1768                 if (mrp.CanCastToCalled)
1769                         return 157;
1770                 total += itf157.CallMe (157);
1771
1772                 mrp.CanCastToCalled = false;
1773                 I158 itf158 = (I158)o;
1774                 if (!mrp.CanCastToCalled)
1775                         return 158;
1776                 total += itf158.CallMe (158);
1777                 mrp.CanCastToCalled = false;
1778                 itf158 = (I158)o;
1779                 if (mrp.CanCastToCalled)
1780                         return 158;
1781                 total += itf158.CallMe (158);
1782
1783                 mrp.CanCastToCalled = false;
1784                 I159 itf159 = (I159)o;
1785                 if (!mrp.CanCastToCalled)
1786                         return 159;
1787                 total += itf159.CallMe (159);
1788                 mrp.CanCastToCalled = false;
1789                 itf159 = (I159)o;
1790                 if (mrp.CanCastToCalled)
1791                         return 159;
1792                 total += itf159.CallMe (159);
1793
1794                 mrp.CanCastToCalled = false;
1795                 I160 itf160 = (I160)o;
1796                 if (!mrp.CanCastToCalled)
1797                         return 160;
1798                 total += itf160.CallMe (160);
1799                 mrp.CanCastToCalled = false;
1800                 itf160 = (I160)o;
1801                 if (mrp.CanCastToCalled)
1802                         return 160;
1803                 total += itf160.CallMe (160);
1804
1805                 mrp.CanCastToCalled = false;
1806                 I161 itf161 = (I161)o;
1807                 if (!mrp.CanCastToCalled)
1808                         return 161;
1809                 total += itf161.CallMe (161);
1810                 mrp.CanCastToCalled = false;
1811                 itf161 = (I161)o;
1812                 if (mrp.CanCastToCalled)
1813                         return 161;
1814                 total += itf161.CallMe (161);
1815
1816                 mrp.CanCastToCalled = false;
1817                 I162 itf162 = (I162)o;
1818                 if (!mrp.CanCastToCalled)
1819                         return 162;
1820                 total += itf162.CallMe (162);
1821                 mrp.CanCastToCalled = false;
1822                 itf162 = (I162)o;
1823                 if (mrp.CanCastToCalled)
1824                         return 162;
1825                 total += itf162.CallMe (162);
1826
1827                 mrp.CanCastToCalled = false;
1828                 I163 itf163 = (I163)o;
1829                 if (!mrp.CanCastToCalled)
1830                         return 163;
1831                 total += itf163.CallMe (163);
1832                 mrp.CanCastToCalled = false;
1833                 itf163 = (I163)o;
1834                 if (mrp.CanCastToCalled)
1835                         return 163;
1836                 total += itf163.CallMe (163);
1837
1838                 mrp.CanCastToCalled = false;
1839                 I164 itf164 = (I164)o;
1840                 if (!mrp.CanCastToCalled)
1841                         return 164;
1842                 total += itf164.CallMe (164);
1843                 mrp.CanCastToCalled = false;
1844                 itf164 = (I164)o;
1845                 if (mrp.CanCastToCalled)
1846                         return 164;
1847                 total += itf164.CallMe (164);
1848
1849                 mrp.CanCastToCalled = false;
1850                 I165 itf165 = (I165)o;
1851                 if (!mrp.CanCastToCalled)
1852                         return 165;
1853                 total += itf165.CallMe (165);
1854                 mrp.CanCastToCalled = false;
1855                 itf165 = (I165)o;
1856                 if (mrp.CanCastToCalled)
1857                         return 165;
1858                 total += itf165.CallMe (165);
1859
1860                 mrp.CanCastToCalled = false;
1861                 I166 itf166 = (I166)o;
1862                 if (!mrp.CanCastToCalled)
1863                         return 166;
1864                 total += itf166.CallMe (166);
1865                 mrp.CanCastToCalled = false;
1866                 itf166 = (I166)o;
1867                 if (mrp.CanCastToCalled)
1868                         return 166;
1869                 total += itf166.CallMe (166);
1870
1871                 mrp.CanCastToCalled = false;
1872                 I167 itf167 = (I167)o;
1873                 if (!mrp.CanCastToCalled)
1874                         return 167;
1875                 total += itf167.CallMe (167);
1876                 mrp.CanCastToCalled = false;
1877                 itf167 = (I167)o;
1878                 if (mrp.CanCastToCalled)
1879                         return 167;
1880                 total += itf167.CallMe (167);
1881
1882                 mrp.CanCastToCalled = false;
1883                 I168 itf168 = (I168)o;
1884                 if (!mrp.CanCastToCalled)
1885                         return 168;
1886                 total += itf168.CallMe (168);
1887                 mrp.CanCastToCalled = false;
1888                 itf168 = (I168)o;
1889                 if (mrp.CanCastToCalled)
1890                         return 168;
1891                 total += itf168.CallMe (168);
1892
1893                 mrp.CanCastToCalled = false;
1894                 I169 itf169 = (I169)o;
1895                 if (!mrp.CanCastToCalled)
1896                         return 169;
1897                 total += itf169.CallMe (169);
1898                 mrp.CanCastToCalled = false;
1899                 itf169 = (I169)o;
1900                 if (mrp.CanCastToCalled)
1901                         return 169;
1902                 total += itf169.CallMe (169);
1903
1904                 mrp.CanCastToCalled = false;
1905                 I170 itf170 = (I170)o;
1906                 if (!mrp.CanCastToCalled)
1907                         return 170;
1908                 total += itf170.CallMe (170);
1909                 mrp.CanCastToCalled = false;
1910                 itf170 = (I170)o;
1911                 if (mrp.CanCastToCalled)
1912                         return 170;
1913                 total += itf170.CallMe (170);
1914
1915                 mrp.CanCastToCalled = false;
1916                 I171 itf171 = (I171)o;
1917                 if (!mrp.CanCastToCalled)
1918                         return 171;
1919                 total += itf171.CallMe (171);
1920                 mrp.CanCastToCalled = false;
1921                 itf171 = (I171)o;
1922                 if (mrp.CanCastToCalled)
1923                         return 171;
1924                 total += itf171.CallMe (171);
1925
1926                 mrp.CanCastToCalled = false;
1927                 I172 itf172 = (I172)o;
1928                 if (!mrp.CanCastToCalled)
1929                         return 172;
1930                 total += itf172.CallMe (172);
1931                 mrp.CanCastToCalled = false;
1932                 itf172 = (I172)o;
1933                 if (mrp.CanCastToCalled)
1934                         return 172;
1935                 total += itf172.CallMe (172);
1936
1937                 mrp.CanCastToCalled = false;
1938                 I173 itf173 = (I173)o;
1939                 if (!mrp.CanCastToCalled)
1940                         return 173;
1941                 total += itf173.CallMe (173);
1942                 mrp.CanCastToCalled = false;
1943                 itf173 = (I173)o;
1944                 if (mrp.CanCastToCalled)
1945                         return 173;
1946                 total += itf173.CallMe (173);
1947
1948                 mrp.CanCastToCalled = false;
1949                 I174 itf174 = (I174)o;
1950                 if (!mrp.CanCastToCalled)
1951                         return 174;
1952                 total += itf174.CallMe (174);
1953                 mrp.CanCastToCalled = false;
1954                 itf174 = (I174)o;
1955                 if (mrp.CanCastToCalled)
1956                         return 174;
1957                 total += itf174.CallMe (174);
1958
1959                 mrp.CanCastToCalled = false;
1960                 I175 itf175 = (I175)o;
1961                 if (!mrp.CanCastToCalled)
1962                         return 175;
1963                 total += itf175.CallMe (175);
1964                 mrp.CanCastToCalled = false;
1965                 itf175 = (I175)o;
1966                 if (mrp.CanCastToCalled)
1967                         return 175;
1968                 total += itf175.CallMe (175);
1969
1970                 mrp.CanCastToCalled = false;
1971                 I176 itf176 = (I176)o;
1972                 if (!mrp.CanCastToCalled)
1973                         return 176;
1974                 total += itf176.CallMe (176);
1975                 mrp.CanCastToCalled = false;
1976                 itf176 = (I176)o;
1977                 if (mrp.CanCastToCalled)
1978                         return 176;
1979                 total += itf176.CallMe (176);
1980
1981                 mrp.CanCastToCalled = false;
1982                 I177 itf177 = (I177)o;
1983                 if (!mrp.CanCastToCalled)
1984                         return 177;
1985                 total += itf177.CallMe (177);
1986                 mrp.CanCastToCalled = false;
1987                 itf177 = (I177)o;
1988                 if (mrp.CanCastToCalled)
1989                         return 177;
1990                 total += itf177.CallMe (177);
1991
1992                 mrp.CanCastToCalled = false;
1993                 I178 itf178 = (I178)o;
1994                 if (!mrp.CanCastToCalled)
1995                         return 178;
1996                 total += itf178.CallMe (178);
1997                 mrp.CanCastToCalled = false;
1998                 itf178 = (I178)o;
1999                 if (mrp.CanCastToCalled)
2000                         return 178;
2001                 total += itf178.CallMe (178);
2002
2003                 mrp.CanCastToCalled = false;
2004                 I179 itf179 = (I179)o;
2005                 if (!mrp.CanCastToCalled)
2006                         return 179;
2007                 total += itf179.CallMe (179);
2008                 mrp.CanCastToCalled = false;
2009                 itf179 = (I179)o;
2010                 if (mrp.CanCastToCalled)
2011                         return 179;
2012                 total += itf179.CallMe (179);
2013
2014                 mrp.CanCastToCalled = false;
2015                 I180 itf180 = (I180)o;
2016                 if (!mrp.CanCastToCalled)
2017                         return 180;
2018                 total += itf180.CallMe (180);
2019                 mrp.CanCastToCalled = false;
2020                 itf180 = (I180)o;
2021                 if (mrp.CanCastToCalled)
2022                         return 180;
2023                 total += itf180.CallMe (180);
2024
2025                 mrp.CanCastToCalled = false;
2026                 I181 itf181 = (I181)o;
2027                 if (!mrp.CanCastToCalled)
2028                         return 181;
2029                 total += itf181.CallMe (181);
2030                 mrp.CanCastToCalled = false;
2031                 itf181 = (I181)o;
2032                 if (mrp.CanCastToCalled)
2033                         return 181;
2034                 total += itf181.CallMe (181);
2035
2036                 mrp.CanCastToCalled = false;
2037                 I182 itf182 = (I182)o;
2038                 if (!mrp.CanCastToCalled)
2039                         return 182;
2040                 total += itf182.CallMe (182);
2041                 mrp.CanCastToCalled = false;
2042                 itf182 = (I182)o;
2043                 if (mrp.CanCastToCalled)
2044                         return 182;
2045                 total += itf182.CallMe (182);
2046
2047                 mrp.CanCastToCalled = false;
2048                 I183 itf183 = (I183)o;
2049                 if (!mrp.CanCastToCalled)
2050                         return 183;
2051                 total += itf183.CallMe (183);
2052                 mrp.CanCastToCalled = false;
2053                 itf183 = (I183)o;
2054                 if (mrp.CanCastToCalled)
2055                         return 183;
2056                 total += itf183.CallMe (183);
2057
2058                 mrp.CanCastToCalled = false;
2059                 I184 itf184 = (I184)o;
2060                 if (!mrp.CanCastToCalled)
2061                         return 184;
2062                 total += itf184.CallMe (184);
2063                 mrp.CanCastToCalled = false;
2064                 itf184 = (I184)o;
2065                 if (mrp.CanCastToCalled)
2066                         return 184;
2067                 total += itf184.CallMe (184);
2068
2069                 mrp.CanCastToCalled = false;
2070                 I185 itf185 = (I185)o;
2071                 if (!mrp.CanCastToCalled)
2072                         return 185;
2073                 total += itf185.CallMe (185);
2074                 mrp.CanCastToCalled = false;
2075                 itf185 = (I185)o;
2076                 if (mrp.CanCastToCalled)
2077                         return 185;
2078                 total += itf185.CallMe (185);
2079
2080                 mrp.CanCastToCalled = false;
2081                 I186 itf186 = (I186)o;
2082                 if (!mrp.CanCastToCalled)
2083                         return 186;
2084                 total += itf186.CallMe (186);
2085                 mrp.CanCastToCalled = false;
2086                 itf186 = (I186)o;
2087                 if (mrp.CanCastToCalled)
2088                         return 186;
2089                 total += itf186.CallMe (186);
2090
2091                 mrp.CanCastToCalled = false;
2092                 I187 itf187 = (I187)o;
2093                 if (!mrp.CanCastToCalled)
2094                         return 187;
2095                 total += itf187.CallMe (187);
2096                 mrp.CanCastToCalled = false;
2097                 itf187 = (I187)o;
2098                 if (mrp.CanCastToCalled)
2099                         return 187;
2100                 total += itf187.CallMe (187);
2101
2102                 mrp.CanCastToCalled = false;
2103                 I188 itf188 = (I188)o;
2104                 if (!mrp.CanCastToCalled)
2105                         return 188;
2106                 total += itf188.CallMe (188);
2107                 mrp.CanCastToCalled = false;
2108                 itf188 = (I188)o;
2109                 if (mrp.CanCastToCalled)
2110                         return 188;
2111                 total += itf188.CallMe (188);
2112
2113                 mrp.CanCastToCalled = false;
2114                 I189 itf189 = (I189)o;
2115                 if (!mrp.CanCastToCalled)
2116                         return 189;
2117                 total += itf189.CallMe (189);
2118                 mrp.CanCastToCalled = false;
2119                 itf189 = (I189)o;
2120                 if (mrp.CanCastToCalled)
2121                         return 189;
2122                 total += itf189.CallMe (189);
2123
2124                 mrp.CanCastToCalled = false;
2125                 I190 itf190 = (I190)o;
2126                 if (!mrp.CanCastToCalled)
2127                         return 190;
2128                 total += itf190.CallMe (190);
2129                 mrp.CanCastToCalled = false;
2130                 itf190 = (I190)o;
2131                 if (mrp.CanCastToCalled)
2132                         return 190;
2133                 total += itf190.CallMe (190);
2134
2135                 mrp.CanCastToCalled = false;
2136                 I191 itf191 = (I191)o;
2137                 if (!mrp.CanCastToCalled)
2138                         return 191;
2139                 total += itf191.CallMe (191);
2140                 mrp.CanCastToCalled = false;
2141                 itf191 = (I191)o;
2142                 if (mrp.CanCastToCalled)
2143                         return 191;
2144                 total += itf191.CallMe (191);
2145
2146                 mrp.CanCastToCalled = false;
2147                 I192 itf192 = (I192)o;
2148                 if (!mrp.CanCastToCalled)
2149                         return 192;
2150                 total += itf192.CallMe (192);
2151                 mrp.CanCastToCalled = false;
2152                 itf192 = (I192)o;
2153                 if (mrp.CanCastToCalled)
2154                         return 192;
2155                 total += itf192.CallMe (192);
2156
2157                 mrp.CanCastToCalled = false;
2158                 I193 itf193 = (I193)o;
2159                 if (!mrp.CanCastToCalled)
2160                         return 193;
2161                 total += itf193.CallMe (193);
2162                 mrp.CanCastToCalled = false;
2163                 itf193 = (I193)o;
2164                 if (mrp.CanCastToCalled)
2165                         return 193;
2166                 total += itf193.CallMe (193);
2167
2168                 mrp.CanCastToCalled = false;
2169                 I194 itf194 = (I194)o;
2170                 if (!mrp.CanCastToCalled)
2171                         return 194;
2172                 total += itf194.CallMe (194);
2173                 mrp.CanCastToCalled = false;
2174                 itf194 = (I194)o;
2175                 if (mrp.CanCastToCalled)
2176                         return 194;
2177                 total += itf194.CallMe (194);
2178
2179                 mrp.CanCastToCalled = false;
2180                 I195 itf195 = (I195)o;
2181                 if (!mrp.CanCastToCalled)
2182                         return 195;
2183                 total += itf195.CallMe (195);
2184                 mrp.CanCastToCalled = false;
2185                 itf195 = (I195)o;
2186                 if (mrp.CanCastToCalled)
2187                         return 195;
2188                 total += itf195.CallMe (195);
2189
2190                 mrp.CanCastToCalled = false;
2191                 I196 itf196 = (I196)o;
2192                 if (!mrp.CanCastToCalled)
2193                         return 196;
2194                 total += itf196.CallMe (196);
2195                 mrp.CanCastToCalled = false;
2196                 itf196 = (I196)o;
2197                 if (mrp.CanCastToCalled)
2198                         return 196;
2199                 total += itf196.CallMe (196);
2200
2201                 mrp.CanCastToCalled = false;
2202                 I197 itf197 = (I197)o;
2203                 if (!mrp.CanCastToCalled)
2204                         return 197;
2205                 total += itf197.CallMe (197);
2206                 mrp.CanCastToCalled = false;
2207                 itf197 = (I197)o;
2208                 if (mrp.CanCastToCalled)
2209                         return 197;
2210                 total += itf197.CallMe (197);
2211
2212                 mrp.CanCastToCalled = false;
2213                 I198 itf198 = (I198)o;
2214                 if (!mrp.CanCastToCalled)
2215                         return 198;
2216                 total += itf198.CallMe (198);
2217                 mrp.CanCastToCalled = false;
2218                 itf198 = (I198)o;
2219                 if (mrp.CanCastToCalled)
2220                         return 198;
2221                 total += itf198.CallMe (198);
2222
2223                 mrp.CanCastToCalled = false;
2224                 I199 itf199 = (I199)o;
2225                 if (!mrp.CanCastToCalled)
2226                         return 199;
2227                 total += itf199.CallMe (199);
2228                 mrp.CanCastToCalled = false;
2229                 itf199 = (I199)o;
2230                 if (mrp.CanCastToCalled)
2231                         return 199;
2232                 total += itf199.CallMe (199);
2233
2234                 mrp.CanCastToCalled = false;
2235                 I200 itf200 = (I200)o;
2236                 if (!mrp.CanCastToCalled)
2237                         return 200;
2238                 total += itf200.CallMe (200);
2239                 mrp.CanCastToCalled = false;
2240                 itf200 = (I200)o;
2241                 if (mrp.CanCastToCalled)
2242                         return 200;
2243                 total += itf200.CallMe (200);
2244
2245                 mrp.CanCastToCalled = false;
2246                 I201 itf201 = (I201)o;
2247                 if (!mrp.CanCastToCalled)
2248                         return 201;
2249                 total += itf201.CallMe (201);
2250                 mrp.CanCastToCalled = false;
2251                 itf201 = (I201)o;
2252                 if (mrp.CanCastToCalled)
2253                         return 201;
2254                 total += itf201.CallMe (201);
2255
2256                 mrp.CanCastToCalled = false;
2257                 I202 itf202 = (I202)o;
2258                 if (!mrp.CanCastToCalled)
2259                         return 202;
2260                 total += itf202.CallMe (202);
2261                 mrp.CanCastToCalled = false;
2262                 itf202 = (I202)o;
2263                 if (mrp.CanCastToCalled)
2264                         return 202;
2265                 total += itf202.CallMe (202);
2266
2267                 mrp.CanCastToCalled = false;
2268                 I203 itf203 = (I203)o;
2269                 if (!mrp.CanCastToCalled)
2270                         return 203;
2271                 total += itf203.CallMe (203);
2272                 mrp.CanCastToCalled = false;
2273                 itf203 = (I203)o;
2274                 if (mrp.CanCastToCalled)
2275                         return 203;
2276                 total += itf203.CallMe (203);
2277
2278                 mrp.CanCastToCalled = false;
2279                 I204 itf204 = (I204)o;
2280                 if (!mrp.CanCastToCalled)
2281                         return 204;
2282                 total += itf204.CallMe (204);
2283                 mrp.CanCastToCalled = false;
2284                 itf204 = (I204)o;
2285                 if (mrp.CanCastToCalled)
2286                         return 204;
2287                 total += itf204.CallMe (204);
2288
2289                 mrp.CanCastToCalled = false;
2290                 I205 itf205 = (I205)o;
2291                 if (!mrp.CanCastToCalled)
2292                         return 205;
2293                 total += itf205.CallMe (205);
2294                 mrp.CanCastToCalled = false;
2295                 itf205 = (I205)o;
2296                 if (mrp.CanCastToCalled)
2297                         return 205;
2298                 total += itf205.CallMe (205);
2299
2300                 mrp.CanCastToCalled = false;
2301                 I206 itf206 = (I206)o;
2302                 if (!mrp.CanCastToCalled)
2303                         return 206;
2304                 total += itf206.CallMe (206);
2305                 mrp.CanCastToCalled = false;
2306                 itf206 = (I206)o;
2307                 if (mrp.CanCastToCalled)
2308                         return 206;
2309                 total += itf206.CallMe (206);
2310
2311                 mrp.CanCastToCalled = false;
2312                 I207 itf207 = (I207)o;
2313                 if (!mrp.CanCastToCalled)
2314                         return 207;
2315                 total += itf207.CallMe (207);
2316                 mrp.CanCastToCalled = false;
2317                 itf207 = (I207)o;
2318                 if (mrp.CanCastToCalled)
2319                         return 207;
2320                 total += itf207.CallMe (207);
2321
2322                 mrp.CanCastToCalled = false;
2323                 I208 itf208 = (I208)o;
2324                 if (!mrp.CanCastToCalled)
2325                         return 208;
2326                 total += itf208.CallMe (208);
2327                 mrp.CanCastToCalled = false;
2328                 itf208 = (I208)o;
2329                 if (mrp.CanCastToCalled)
2330                         return 208;
2331                 total += itf208.CallMe (208);
2332
2333                 mrp.CanCastToCalled = false;
2334                 I209 itf209 = (I209)o;
2335                 if (!mrp.CanCastToCalled)
2336                         return 209;
2337                 total += itf209.CallMe (209);
2338                 mrp.CanCastToCalled = false;
2339                 itf209 = (I209)o;
2340                 if (mrp.CanCastToCalled)
2341                         return 209;
2342                 total += itf209.CallMe (209);
2343
2344                 mrp.CanCastToCalled = false;
2345                 I210 itf210 = (I210)o;
2346                 if (!mrp.CanCastToCalled)
2347                         return 210;
2348                 total += itf210.CallMe (210);
2349                 mrp.CanCastToCalled = false;
2350                 itf210 = (I210)o;
2351                 if (mrp.CanCastToCalled)
2352                         return 210;
2353                 total += itf210.CallMe (210);
2354
2355                 mrp.CanCastToCalled = false;
2356                 I211 itf211 = (I211)o;
2357                 if (!mrp.CanCastToCalled)
2358                         return 211;
2359                 total += itf211.CallMe (211);
2360                 mrp.CanCastToCalled = false;
2361                 itf211 = (I211)o;
2362                 if (mrp.CanCastToCalled)
2363                         return 211;
2364                 total += itf211.CallMe (211);
2365
2366                 mrp.CanCastToCalled = false;
2367                 I212 itf212 = (I212)o;
2368                 if (!mrp.CanCastToCalled)
2369                         return 212;
2370                 total += itf212.CallMe (212);
2371                 mrp.CanCastToCalled = false;
2372                 itf212 = (I212)o;
2373                 if (mrp.CanCastToCalled)
2374                         return 212;
2375                 total += itf212.CallMe (212);
2376
2377                 mrp.CanCastToCalled = false;
2378                 I213 itf213 = (I213)o;
2379                 if (!mrp.CanCastToCalled)
2380                         return 213;
2381                 total += itf213.CallMe (213);
2382                 mrp.CanCastToCalled = false;
2383                 itf213 = (I213)o;
2384                 if (mrp.CanCastToCalled)
2385                         return 213;
2386                 total += itf213.CallMe (213);
2387
2388                 mrp.CanCastToCalled = false;
2389                 I214 itf214 = (I214)o;
2390                 if (!mrp.CanCastToCalled)
2391                         return 214;
2392                 total += itf214.CallMe (214);
2393                 mrp.CanCastToCalled = false;
2394                 itf214 = (I214)o;
2395                 if (mrp.CanCastToCalled)
2396                         return 214;
2397                 total += itf214.CallMe (214);
2398
2399                 mrp.CanCastToCalled = false;
2400                 I215 itf215 = (I215)o;
2401                 if (!mrp.CanCastToCalled)
2402                         return 215;
2403                 total += itf215.CallMe (215);
2404                 mrp.CanCastToCalled = false;
2405                 itf215 = (I215)o;
2406                 if (mrp.CanCastToCalled)
2407                         return 215;
2408                 total += itf215.CallMe (215);
2409
2410                 mrp.CanCastToCalled = false;
2411                 I216 itf216 = (I216)o;
2412                 if (!mrp.CanCastToCalled)
2413                         return 216;
2414                 total += itf216.CallMe (216);
2415                 mrp.CanCastToCalled = false;
2416                 itf216 = (I216)o;
2417                 if (mrp.CanCastToCalled)
2418                         return 216;
2419                 total += itf216.CallMe (216);
2420
2421                 mrp.CanCastToCalled = false;
2422                 I217 itf217 = (I217)o;
2423                 if (!mrp.CanCastToCalled)
2424                         return 217;
2425                 total += itf217.CallMe (217);
2426                 mrp.CanCastToCalled = false;
2427                 itf217 = (I217)o;
2428                 if (mrp.CanCastToCalled)
2429                         return 217;
2430                 total += itf217.CallMe (217);
2431
2432                 mrp.CanCastToCalled = false;
2433                 I218 itf218 = (I218)o;
2434                 if (!mrp.CanCastToCalled)
2435                         return 218;
2436                 total += itf218.CallMe (218);
2437                 mrp.CanCastToCalled = false;
2438                 itf218 = (I218)o;
2439                 if (mrp.CanCastToCalled)
2440                         return 218;
2441                 total += itf218.CallMe (218);
2442
2443                 mrp.CanCastToCalled = false;
2444                 I219 itf219 = (I219)o;
2445                 if (!mrp.CanCastToCalled)
2446                         return 219;
2447                 total += itf219.CallMe (219);
2448                 mrp.CanCastToCalled = false;
2449                 itf219 = (I219)o;
2450                 if (mrp.CanCastToCalled)
2451                         return 219;
2452                 total += itf219.CallMe (219);
2453
2454                 mrp.CanCastToCalled = false;
2455                 I220 itf220 = (I220)o;
2456                 if (!mrp.CanCastToCalled)
2457                         return 220;
2458                 total += itf220.CallMe (220);
2459                 mrp.CanCastToCalled = false;
2460                 itf220 = (I220)o;
2461                 if (mrp.CanCastToCalled)
2462                         return 220;
2463                 total += itf220.CallMe (220);
2464
2465                 mrp.CanCastToCalled = false;
2466                 I221 itf221 = (I221)o;
2467                 if (!mrp.CanCastToCalled)
2468                         return 221;
2469                 total += itf221.CallMe (221);
2470                 mrp.CanCastToCalled = false;
2471                 itf221 = (I221)o;
2472                 if (mrp.CanCastToCalled)
2473                         return 221;
2474                 total += itf221.CallMe (221);
2475
2476                 mrp.CanCastToCalled = false;
2477                 I222 itf222 = (I222)o;
2478                 if (!mrp.CanCastToCalled)
2479                         return 222;
2480                 total += itf222.CallMe (222);
2481                 mrp.CanCastToCalled = false;
2482                 itf222 = (I222)o;
2483                 if (mrp.CanCastToCalled)
2484                         return 222;
2485                 total += itf222.CallMe (222);
2486
2487                 mrp.CanCastToCalled = false;
2488                 I223 itf223 = (I223)o;
2489                 if (!mrp.CanCastToCalled)
2490                         return 223;
2491                 total += itf223.CallMe (223);
2492                 mrp.CanCastToCalled = false;
2493                 itf223 = (I223)o;
2494                 if (mrp.CanCastToCalled)
2495                         return 223;
2496                 total += itf223.CallMe (223);
2497
2498                 mrp.CanCastToCalled = false;
2499                 I224 itf224 = (I224)o;
2500                 if (!mrp.CanCastToCalled)
2501                         return 224;
2502                 total += itf224.CallMe (224);
2503                 mrp.CanCastToCalled = false;
2504                 itf224 = (I224)o;
2505                 if (mrp.CanCastToCalled)
2506                         return 224;
2507                 total += itf224.CallMe (224);
2508
2509                 mrp.CanCastToCalled = false;
2510                 I225 itf225 = (I225)o;
2511                 if (!mrp.CanCastToCalled)
2512                         return 225;
2513                 total += itf225.CallMe (225);
2514                 mrp.CanCastToCalled = false;
2515                 itf225 = (I225)o;
2516                 if (mrp.CanCastToCalled)
2517                         return 225;
2518                 total += itf225.CallMe (225);
2519
2520                 mrp.CanCastToCalled = false;
2521                 I226 itf226 = (I226)o;
2522                 if (!mrp.CanCastToCalled)
2523                         return 226;
2524                 total += itf226.CallMe (226);
2525                 mrp.CanCastToCalled = false;
2526                 itf226 = (I226)o;
2527                 if (mrp.CanCastToCalled)
2528                         return 226;
2529                 total += itf226.CallMe (226);
2530
2531                 mrp.CanCastToCalled = false;
2532                 I227 itf227 = (I227)o;
2533                 if (!mrp.CanCastToCalled)
2534                         return 227;
2535                 total += itf227.CallMe (227);
2536                 mrp.CanCastToCalled = false;
2537                 itf227 = (I227)o;
2538                 if (mrp.CanCastToCalled)
2539                         return 227;
2540                 total += itf227.CallMe (227);
2541
2542                 mrp.CanCastToCalled = false;
2543                 I228 itf228 = (I228)o;
2544                 if (!mrp.CanCastToCalled)
2545                         return 228;
2546                 total += itf228.CallMe (228);
2547                 mrp.CanCastToCalled = false;
2548                 itf228 = (I228)o;
2549                 if (mrp.CanCastToCalled)
2550                         return 228;
2551                 total += itf228.CallMe (228);
2552
2553                 mrp.CanCastToCalled = false;
2554                 I229 itf229 = (I229)o;
2555                 if (!mrp.CanCastToCalled)
2556                         return 229;
2557                 total += itf229.CallMe (229);
2558                 mrp.CanCastToCalled = false;
2559                 itf229 = (I229)o;
2560                 if (mrp.CanCastToCalled)
2561                         return 229;
2562                 total += itf229.CallMe (229);
2563
2564                 mrp.CanCastToCalled = false;
2565                 I230 itf230 = (I230)o;
2566                 if (!mrp.CanCastToCalled)
2567                         return 230;
2568                 total += itf230.CallMe (230);
2569                 mrp.CanCastToCalled = false;
2570                 itf230 = (I230)o;
2571                 if (mrp.CanCastToCalled)
2572                         return 230;
2573                 total += itf230.CallMe (230);
2574
2575                 mrp.CanCastToCalled = false;
2576                 I231 itf231 = (I231)o;
2577                 if (!mrp.CanCastToCalled)
2578                         return 231;
2579                 total += itf231.CallMe (231);
2580                 mrp.CanCastToCalled = false;
2581                 itf231 = (I231)o;
2582                 if (mrp.CanCastToCalled)
2583                         return 231;
2584                 total += itf231.CallMe (231);
2585
2586                 mrp.CanCastToCalled = false;
2587                 I232 itf232 = (I232)o;
2588                 if (!mrp.CanCastToCalled)
2589                         return 232;
2590                 total += itf232.CallMe (232);
2591                 mrp.CanCastToCalled = false;
2592                 itf232 = (I232)o;
2593                 if (mrp.CanCastToCalled)
2594                         return 232;
2595                 total += itf232.CallMe (232);
2596
2597                 mrp.CanCastToCalled = false;
2598                 I233 itf233 = (I233)o;
2599                 if (!mrp.CanCastToCalled)
2600                         return 233;
2601                 total += itf233.CallMe (233);
2602                 mrp.CanCastToCalled = false;
2603                 itf233 = (I233)o;
2604                 if (mrp.CanCastToCalled)
2605                         return 233;
2606                 total += itf233.CallMe (233);
2607
2608                 mrp.CanCastToCalled = false;
2609                 I234 itf234 = (I234)o;
2610                 if (!mrp.CanCastToCalled)
2611                         return 234;
2612                 total += itf234.CallMe (234);
2613                 mrp.CanCastToCalled = false;
2614                 itf234 = (I234)o;
2615                 if (mrp.CanCastToCalled)
2616                         return 234;
2617                 total += itf234.CallMe (234);
2618
2619                 mrp.CanCastToCalled = false;
2620                 I235 itf235 = (I235)o;
2621                 if (!mrp.CanCastToCalled)
2622                         return 235;
2623                 total += itf235.CallMe (235);
2624                 mrp.CanCastToCalled = false;
2625                 itf235 = (I235)o;
2626                 if (mrp.CanCastToCalled)
2627                         return 235;
2628                 total += itf235.CallMe (235);
2629
2630                 mrp.CanCastToCalled = false;
2631                 I236 itf236 = (I236)o;
2632                 if (!mrp.CanCastToCalled)
2633                         return 236;
2634                 total += itf236.CallMe (236);
2635                 mrp.CanCastToCalled = false;
2636                 itf236 = (I236)o;
2637                 if (mrp.CanCastToCalled)
2638                         return 236;
2639                 total += itf236.CallMe (236);
2640
2641                 mrp.CanCastToCalled = false;
2642                 I237 itf237 = (I237)o;
2643                 if (!mrp.CanCastToCalled)
2644                         return 237;
2645                 total += itf237.CallMe (237);
2646                 mrp.CanCastToCalled = false;
2647                 itf237 = (I237)o;
2648                 if (mrp.CanCastToCalled)
2649                         return 237;
2650                 total += itf237.CallMe (237);
2651
2652                 mrp.CanCastToCalled = false;
2653                 I238 itf238 = (I238)o;
2654                 if (!mrp.CanCastToCalled)
2655                         return 238;
2656                 total += itf238.CallMe (238);
2657                 mrp.CanCastToCalled = false;
2658                 itf238 = (I238)o;
2659                 if (mrp.CanCastToCalled)
2660                         return 238;
2661                 total += itf238.CallMe (238);
2662
2663                 mrp.CanCastToCalled = false;
2664                 I239 itf239 = (I239)o;
2665                 if (!mrp.CanCastToCalled)
2666                         return 239;
2667                 total += itf239.CallMe (239);
2668                 mrp.CanCastToCalled = false;
2669                 itf239 = (I239)o;
2670                 if (mrp.CanCastToCalled)
2671                         return 239;
2672                 total += itf239.CallMe (239);
2673
2674                 mrp.CanCastToCalled = false;
2675                 I240 itf240 = (I240)o;
2676                 if (!mrp.CanCastToCalled)
2677                         return 240;
2678                 total += itf240.CallMe (240);
2679                 mrp.CanCastToCalled = false;
2680                 itf240 = (I240)o;
2681                 if (mrp.CanCastToCalled)
2682                         return 240;
2683                 total += itf240.CallMe (240);
2684
2685                 mrp.CanCastToCalled = false;
2686                 I241 itf241 = (I241)o;
2687                 if (!mrp.CanCastToCalled)
2688                         return 241;
2689                 total += itf241.CallMe (241);
2690                 mrp.CanCastToCalled = false;
2691                 itf241 = (I241)o;
2692                 if (mrp.CanCastToCalled)
2693                         return 241;
2694                 total += itf241.CallMe (241);
2695
2696                 mrp.CanCastToCalled = false;
2697                 I242 itf242 = (I242)o;
2698                 if (!mrp.CanCastToCalled)
2699                         return 242;
2700                 total += itf242.CallMe (242);
2701                 mrp.CanCastToCalled = false;
2702                 itf242 = (I242)o;
2703                 if (mrp.CanCastToCalled)
2704                         return 242;
2705                 total += itf242.CallMe (242);
2706
2707                 mrp.CanCastToCalled = false;
2708                 I243 itf243 = (I243)o;
2709                 if (!mrp.CanCastToCalled)
2710                         return 243;
2711                 total += itf243.CallMe (243);
2712                 mrp.CanCastToCalled = false;
2713                 itf243 = (I243)o;
2714                 if (mrp.CanCastToCalled)
2715                         return 243;
2716                 total += itf243.CallMe (243);
2717
2718                 mrp.CanCastToCalled = false;
2719                 I244 itf244 = (I244)o;
2720                 if (!mrp.CanCastToCalled)
2721                         return 244;
2722                 total += itf244.CallMe (244);
2723                 mrp.CanCastToCalled = false;
2724                 itf244 = (I244)o;
2725                 if (mrp.CanCastToCalled)
2726                         return 244;
2727                 total += itf244.CallMe (244);
2728
2729                 mrp.CanCastToCalled = false;
2730                 I245 itf245 = (I245)o;
2731                 if (!mrp.CanCastToCalled)
2732                         return 245;
2733                 total += itf245.CallMe (245);
2734                 mrp.CanCastToCalled = false;
2735                 itf245 = (I245)o;
2736                 if (mrp.CanCastToCalled)
2737                         return 245;
2738                 total += itf245.CallMe (245);
2739
2740                 mrp.CanCastToCalled = false;
2741                 I246 itf246 = (I246)o;
2742                 if (!mrp.CanCastToCalled)
2743                         return 246;
2744                 total += itf246.CallMe (246);
2745                 mrp.CanCastToCalled = false;
2746                 itf246 = (I246)o;
2747                 if (mrp.CanCastToCalled)
2748                         return 246;
2749                 total += itf246.CallMe (246);
2750
2751                 mrp.CanCastToCalled = false;
2752                 I247 itf247 = (I247)o;
2753                 if (!mrp.CanCastToCalled)
2754                         return 247;
2755                 total += itf247.CallMe (247);
2756                 mrp.CanCastToCalled = false;
2757                 itf247 = (I247)o;
2758                 if (mrp.CanCastToCalled)
2759                         return 247;
2760                 total += itf247.CallMe (247);
2761
2762                 mrp.CanCastToCalled = false;
2763                 I248 itf248 = (I248)o;
2764                 if (!mrp.CanCastToCalled)
2765                         return 248;
2766                 total += itf248.CallMe (248);
2767                 mrp.CanCastToCalled = false;
2768                 itf248 = (I248)o;
2769                 if (mrp.CanCastToCalled)
2770                         return 248;
2771                 total += itf248.CallMe (248);
2772
2773                 mrp.CanCastToCalled = false;
2774                 I249 itf249 = (I249)o;
2775                 if (!mrp.CanCastToCalled)
2776                         return 249;
2777                 total += itf249.CallMe (249);
2778                 mrp.CanCastToCalled = false;
2779                 itf249 = (I249)o;
2780                 if (mrp.CanCastToCalled)
2781                         return 249;
2782                 total += itf249.CallMe (249);
2783
2784                 mrp.CanCastToCalled = false;
2785                 I250 itf250 = (I250)o;
2786                 if (!mrp.CanCastToCalled)
2787                         return 250;
2788                 total += itf250.CallMe (250);
2789                 mrp.CanCastToCalled = false;
2790                 itf250 = (I250)o;
2791                 if (mrp.CanCastToCalled)
2792                         return 250;
2793                 total += itf250.CallMe (250);
2794
2795                 mrp.CanCastToCalled = false;
2796                 I251 itf251 = (I251)o;
2797                 if (!mrp.CanCastToCalled)
2798                         return 251;
2799                 total += itf251.CallMe (251);
2800                 mrp.CanCastToCalled = false;
2801                 itf251 = (I251)o;
2802                 if (mrp.CanCastToCalled)
2803                         return 251;
2804                 total += itf251.CallMe (251);
2805
2806                 mrp.CanCastToCalled = false;
2807                 I252 itf252 = (I252)o;
2808                 if (!mrp.CanCastToCalled)
2809                         return 252;
2810                 total += itf252.CallMe (252);
2811                 mrp.CanCastToCalled = false;
2812                 itf252 = (I252)o;
2813                 if (mrp.CanCastToCalled)
2814                         return 252;
2815                 total += itf252.CallMe (252);
2816
2817                 mrp.CanCastToCalled = false;
2818                 I253 itf253 = (I253)o;
2819                 if (!mrp.CanCastToCalled)
2820                         return 253;
2821                 total += itf253.CallMe (253);
2822                 mrp.CanCastToCalled = false;
2823                 itf253 = (I253)o;
2824                 if (mrp.CanCastToCalled)
2825                         return 253;
2826                 total += itf253.CallMe (253);
2827
2828                 mrp.CanCastToCalled = false;
2829                 I254 itf254 = (I254)o;
2830                 if (!mrp.CanCastToCalled)
2831                         return 254;
2832                 total += itf254.CallMe (254);
2833                 mrp.CanCastToCalled = false;
2834                 itf254 = (I254)o;
2835                 if (mrp.CanCastToCalled)
2836                         return 254;
2837                 total += itf254.CallMe (254);
2838
2839                 mrp.CanCastToCalled = false;
2840                 I255 itf255 = (I255)o;
2841                 if (!mrp.CanCastToCalled)
2842                         return 255;
2843                 total += itf255.CallMe (255);
2844                 mrp.CanCastToCalled = false;
2845                 itf255 = (I255)o;
2846                 if (mrp.CanCastToCalled)
2847                         return 255;
2848                 total += itf255.CallMe (255);
2849
2850                 mrp.CanCastToCalled = false;
2851                 I256 itf256 = (I256)o;
2852                 if (!mrp.CanCastToCalled)
2853                         return 256;
2854                 total += itf256.CallMe (256);
2855                 mrp.CanCastToCalled = false;
2856                 itf256 = (I256)o;
2857                 if (mrp.CanCastToCalled)
2858                         return 256;
2859                 total += itf256.CallMe (256);
2860
2861                 mrp.CanCastToCalled = false;
2862                 I257 itf257 = (I257)o;
2863                 if (!mrp.CanCastToCalled)
2864                         return 257;
2865                 total += itf257.CallMe (257);
2866                 mrp.CanCastToCalled = false;
2867                 itf257 = (I257)o;
2868                 if (mrp.CanCastToCalled)
2869                         return 257;
2870                 total += itf257.CallMe (257);
2871
2872                 mrp.CanCastToCalled = false;
2873                 I258 itf258 = (I258)o;
2874                 if (!mrp.CanCastToCalled)
2875                         return 258;
2876                 total += itf258.CallMe (258);
2877                 mrp.CanCastToCalled = false;
2878                 itf258 = (I258)o;
2879                 if (mrp.CanCastToCalled)
2880                         return 258;
2881                 total += itf258.CallMe (258);
2882
2883                 mrp.CanCastToCalled = false;
2884                 I259 itf259 = (I259)o;
2885                 if (!mrp.CanCastToCalled)
2886                         return 259;
2887                 total += itf259.CallMe (259);
2888                 mrp.CanCastToCalled = false;
2889                 itf259 = (I259)o;
2890                 if (mrp.CanCastToCalled)
2891                         return 259;
2892                 total += itf259.CallMe (259);
2893
2894                 mrp.CanCastToCalled = false;
2895                 I260 itf260 = (I260)o;
2896                 if (!mrp.CanCastToCalled)
2897                         return 260;
2898                 total += itf260.CallMe (260);
2899                 mrp.CanCastToCalled = false;
2900                 itf260 = (I260)o;
2901                 if (mrp.CanCastToCalled)
2902                         return 260;
2903                 total += itf260.CallMe (260);
2904
2905                 mrp.CanCastToCalled = false;
2906                 I261 itf261 = (I261)o;
2907                 if (!mrp.CanCastToCalled)
2908                         return 261;
2909                 total += itf261.CallMe (261);
2910                 mrp.CanCastToCalled = false;
2911                 itf261 = (I261)o;
2912                 if (mrp.CanCastToCalled)
2913                         return 261;
2914                 total += itf261.CallMe (261);
2915
2916                 mrp.CanCastToCalled = false;
2917                 I262 itf262 = (I262)o;
2918                 if (!mrp.CanCastToCalled)
2919                         return 262;
2920                 total += itf262.CallMe (262);
2921                 mrp.CanCastToCalled = false;
2922                 itf262 = (I262)o;
2923                 if (mrp.CanCastToCalled)
2924                         return 262;
2925                 total += itf262.CallMe (262);
2926
2927                 mrp.CanCastToCalled = false;
2928                 I263 itf263 = (I263)o;
2929                 if (!mrp.CanCastToCalled)
2930                         return 263;
2931                 total += itf263.CallMe (263);
2932                 mrp.CanCastToCalled = false;
2933                 itf263 = (I263)o;
2934                 if (mrp.CanCastToCalled)
2935                         return 263;
2936                 total += itf263.CallMe (263);
2937
2938                 mrp.CanCastToCalled = false;
2939                 I264 itf264 = (I264)o;
2940                 if (!mrp.CanCastToCalled)
2941                         return 264;
2942                 total += itf264.CallMe (264);
2943                 mrp.CanCastToCalled = false;
2944                 itf264 = (I264)o;
2945                 if (mrp.CanCastToCalled)
2946                         return 264;
2947                 total += itf264.CallMe (264);
2948
2949                 mrp.CanCastToCalled = false;
2950                 I265 itf265 = (I265)o;
2951                 if (!mrp.CanCastToCalled)
2952                         return 265;
2953                 total += itf265.CallMe (265);
2954                 mrp.CanCastToCalled = false;
2955                 itf265 = (I265)o;
2956                 if (mrp.CanCastToCalled)
2957                         return 265;
2958                 total += itf265.CallMe (265);
2959
2960                 mrp.CanCastToCalled = false;
2961                 I266 itf266 = (I266)o;
2962                 if (!mrp.CanCastToCalled)
2963                         return 266;
2964                 total += itf266.CallMe (266);
2965                 mrp.CanCastToCalled = false;
2966                 itf266 = (I266)o;
2967                 if (mrp.CanCastToCalled)
2968                         return 266;
2969                 total += itf266.CallMe (266);
2970
2971                 mrp.CanCastToCalled = false;
2972                 I267 itf267 = (I267)o;
2973                 if (!mrp.CanCastToCalled)
2974                         return 267;
2975                 total += itf267.CallMe (267);
2976                 mrp.CanCastToCalled = false;
2977                 itf267 = (I267)o;
2978                 if (mrp.CanCastToCalled)
2979                         return 267;
2980                 total += itf267.CallMe (267);
2981
2982                 mrp.CanCastToCalled = false;
2983                 I268 itf268 = (I268)o;
2984                 if (!mrp.CanCastToCalled)
2985                         return 268;
2986                 total += itf268.CallMe (268);
2987                 mrp.CanCastToCalled = false;
2988                 itf268 = (I268)o;
2989                 if (mrp.CanCastToCalled)
2990                         return 268;
2991                 total += itf268.CallMe (268);
2992
2993                 mrp.CanCastToCalled = false;
2994                 I269 itf269 = (I269)o;
2995                 if (!mrp.CanCastToCalled)
2996                         return 269;
2997                 total += itf269.CallMe (269);
2998                 mrp.CanCastToCalled = false;
2999                 itf269 = (I269)o;
3000                 if (mrp.CanCastToCalled)
3001                         return 269;
3002                 total += itf269.CallMe (269);
3003
3004                 mrp.CanCastToCalled = false;
3005                 I270 itf270 = (I270)o;
3006                 if (!mrp.CanCastToCalled)
3007                         return 270;
3008                 total += itf270.CallMe (270);
3009                 mrp.CanCastToCalled = false;
3010                 itf270 = (I270)o;
3011                 if (mrp.CanCastToCalled)
3012                         return 270;
3013                 total += itf270.CallMe (270);
3014
3015                 mrp.CanCastToCalled = false;
3016                 I271 itf271 = (I271)o;
3017                 if (!mrp.CanCastToCalled)
3018                         return 271;
3019                 total += itf271.CallMe (271);
3020                 mrp.CanCastToCalled = false;
3021                 itf271 = (I271)o;
3022                 if (mrp.CanCastToCalled)
3023                         return 271;
3024                 total += itf271.CallMe (271);
3025
3026                 mrp.CanCastToCalled = false;
3027                 I272 itf272 = (I272)o;
3028                 if (!mrp.CanCastToCalled)
3029                         return 272;
3030                 total += itf272.CallMe (272);
3031                 mrp.CanCastToCalled = false;
3032                 itf272 = (I272)o;
3033                 if (mrp.CanCastToCalled)
3034                         return 272;
3035                 total += itf272.CallMe (272);
3036
3037                 mrp.CanCastToCalled = false;
3038                 I273 itf273 = (I273)o;
3039                 if (!mrp.CanCastToCalled)
3040                         return 273;
3041                 total += itf273.CallMe (273);
3042                 mrp.CanCastToCalled = false;
3043                 itf273 = (I273)o;
3044                 if (mrp.CanCastToCalled)
3045                         return 273;
3046                 total += itf273.CallMe (273);
3047
3048                 mrp.CanCastToCalled = false;
3049                 I274 itf274 = (I274)o;
3050                 if (!mrp.CanCastToCalled)
3051                         return 274;
3052                 total += itf274.CallMe (274);
3053                 mrp.CanCastToCalled = false;
3054                 itf274 = (I274)o;
3055                 if (mrp.CanCastToCalled)
3056                         return 274;
3057                 total += itf274.CallMe (274);
3058
3059                 mrp.CanCastToCalled = false;
3060                 I275 itf275 = (I275)o;
3061                 if (!mrp.CanCastToCalled)
3062                         return 275;
3063                 total += itf275.CallMe (275);
3064                 mrp.CanCastToCalled = false;
3065                 itf275 = (I275)o;
3066                 if (mrp.CanCastToCalled)
3067                         return 275;
3068                 total += itf275.CallMe (275);
3069
3070                 mrp.CanCastToCalled = false;
3071                 I276 itf276 = (I276)o;
3072                 if (!mrp.CanCastToCalled)
3073                         return 276;
3074                 total += itf276.CallMe (276);
3075                 mrp.CanCastToCalled = false;
3076                 itf276 = (I276)o;
3077                 if (mrp.CanCastToCalled)
3078                         return 276;
3079                 total += itf276.CallMe (276);
3080
3081                 mrp.CanCastToCalled = false;
3082                 I277 itf277 = (I277)o;
3083                 if (!mrp.CanCastToCalled)
3084                         return 277;
3085                 total += itf277.CallMe (277);
3086                 mrp.CanCastToCalled = false;
3087                 itf277 = (I277)o;
3088                 if (mrp.CanCastToCalled)
3089                         return 277;
3090                 total += itf277.CallMe (277);
3091
3092                 mrp.CanCastToCalled = false;
3093                 I278 itf278 = (I278)o;
3094                 if (!mrp.CanCastToCalled)
3095                         return 278;
3096                 total += itf278.CallMe (278);
3097                 mrp.CanCastToCalled = false;
3098                 itf278 = (I278)o;
3099                 if (mrp.CanCastToCalled)
3100                         return 278;
3101                 total += itf278.CallMe (278);
3102
3103                 mrp.CanCastToCalled = false;
3104                 I279 itf279 = (I279)o;
3105                 if (!mrp.CanCastToCalled)
3106                         return 279;
3107                 total += itf279.CallMe (279);
3108                 mrp.CanCastToCalled = false;
3109                 itf279 = (I279)o;
3110                 if (mrp.CanCastToCalled)
3111                         return 279;
3112                 total += itf279.CallMe (279);
3113
3114                 mrp.CanCastToCalled = false;
3115                 I280 itf280 = (I280)o;
3116                 if (!mrp.CanCastToCalled)
3117                         return 280;
3118                 total += itf280.CallMe (280);
3119                 mrp.CanCastToCalled = false;
3120                 itf280 = (I280)o;
3121                 if (mrp.CanCastToCalled)
3122                         return 280;
3123                 total += itf280.CallMe (280);
3124
3125                 mrp.CanCastToCalled = false;
3126                 I281 itf281 = (I281)o;
3127                 if (!mrp.CanCastToCalled)
3128                         return 281;
3129                 total += itf281.CallMe (281);
3130                 mrp.CanCastToCalled = false;
3131                 itf281 = (I281)o;
3132                 if (mrp.CanCastToCalled)
3133                         return 281;
3134                 total += itf281.CallMe (281);
3135
3136                 mrp.CanCastToCalled = false;
3137                 I282 itf282 = (I282)o;
3138                 if (!mrp.CanCastToCalled)
3139                         return 282;
3140                 total += itf282.CallMe (282);
3141                 mrp.CanCastToCalled = false;
3142                 itf282 = (I282)o;
3143                 if (mrp.CanCastToCalled)
3144                         return 282;
3145                 total += itf282.CallMe (282);
3146
3147                 mrp.CanCastToCalled = false;
3148                 I283 itf283 = (I283)o;
3149                 if (!mrp.CanCastToCalled)
3150                         return 283;
3151                 total += itf283.CallMe (283);
3152                 mrp.CanCastToCalled = false;
3153                 itf283 = (I283)o;
3154                 if (mrp.CanCastToCalled)
3155                         return 283;
3156                 total += itf283.CallMe (283);
3157
3158                 mrp.CanCastToCalled = false;
3159                 I284 itf284 = (I284)o;
3160                 if (!mrp.CanCastToCalled)
3161                         return 284;
3162                 total += itf284.CallMe (284);
3163                 mrp.CanCastToCalled = false;
3164                 itf284 = (I284)o;
3165                 if (mrp.CanCastToCalled)
3166                         return 284;
3167                 total += itf284.CallMe (284);
3168
3169                 mrp.CanCastToCalled = false;
3170                 I285 itf285 = (I285)o;
3171                 if (!mrp.CanCastToCalled)
3172                         return 285;
3173                 total += itf285.CallMe (285);
3174                 mrp.CanCastToCalled = false;
3175                 itf285 = (I285)o;
3176                 if (mrp.CanCastToCalled)
3177                         return 285;
3178                 total += itf285.CallMe (285);
3179
3180                 mrp.CanCastToCalled = false;
3181                 I286 itf286 = (I286)o;
3182                 if (!mrp.CanCastToCalled)
3183                         return 286;
3184                 total += itf286.CallMe (286);
3185                 mrp.CanCastToCalled = false;
3186                 itf286 = (I286)o;
3187                 if (mrp.CanCastToCalled)
3188                         return 286;
3189                 total += itf286.CallMe (286);
3190
3191                 mrp.CanCastToCalled = false;
3192                 I287 itf287 = (I287)o;
3193                 if (!mrp.CanCastToCalled)
3194                         return 287;
3195                 total += itf287.CallMe (287);
3196                 mrp.CanCastToCalled = false;
3197                 itf287 = (I287)o;
3198                 if (mrp.CanCastToCalled)
3199                         return 287;
3200                 total += itf287.CallMe (287);
3201
3202                 mrp.CanCastToCalled = false;
3203                 I288 itf288 = (I288)o;
3204                 if (!mrp.CanCastToCalled)
3205                         return 288;
3206                 total += itf288.CallMe (288);
3207                 mrp.CanCastToCalled = false;
3208                 itf288 = (I288)o;
3209                 if (mrp.CanCastToCalled)
3210                         return 288;
3211                 total += itf288.CallMe (288);
3212
3213                 mrp.CanCastToCalled = false;
3214                 I289 itf289 = (I289)o;
3215                 if (!mrp.CanCastToCalled)
3216                         return 289;
3217                 total += itf289.CallMe (289);
3218                 mrp.CanCastToCalled = false;
3219                 itf289 = (I289)o;
3220                 if (mrp.CanCastToCalled)
3221                         return 289;
3222                 total += itf289.CallMe (289);
3223
3224                 mrp.CanCastToCalled = false;
3225                 I290 itf290 = (I290)o;
3226                 if (!mrp.CanCastToCalled)
3227                         return 290;
3228                 total += itf290.CallMe (290);
3229                 mrp.CanCastToCalled = false;
3230                 itf290 = (I290)o;
3231                 if (mrp.CanCastToCalled)
3232                         return 290;
3233                 total += itf290.CallMe (290);
3234
3235                 mrp.CanCastToCalled = false;
3236                 I291 itf291 = (I291)o;
3237                 if (!mrp.CanCastToCalled)
3238                         return 291;
3239                 total += itf291.CallMe (291);
3240                 mrp.CanCastToCalled = false;
3241                 itf291 = (I291)o;
3242                 if (mrp.CanCastToCalled)
3243                         return 291;
3244                 total += itf291.CallMe (291);
3245
3246                 mrp.CanCastToCalled = false;
3247                 I292 itf292 = (I292)o;
3248                 if (!mrp.CanCastToCalled)
3249                         return 292;
3250                 total += itf292.CallMe (292);
3251                 mrp.CanCastToCalled = false;
3252                 itf292 = (I292)o;
3253                 if (mrp.CanCastToCalled)
3254                         return 292;
3255                 total += itf292.CallMe (292);
3256
3257                 mrp.CanCastToCalled = false;
3258                 I293 itf293 = (I293)o;
3259                 if (!mrp.CanCastToCalled)
3260                         return 293;
3261                 total += itf293.CallMe (293);
3262                 mrp.CanCastToCalled = false;
3263                 itf293 = (I293)o;
3264                 if (mrp.CanCastToCalled)
3265                         return 293;
3266                 total += itf293.CallMe (293);
3267
3268                 mrp.CanCastToCalled = false;
3269                 I294 itf294 = (I294)o;
3270                 if (!mrp.CanCastToCalled)
3271                         return 294;
3272                 total += itf294.CallMe (294);
3273                 mrp.CanCastToCalled = false;
3274                 itf294 = (I294)o;
3275                 if (mrp.CanCastToCalled)
3276                         return 294;
3277                 total += itf294.CallMe (294);
3278
3279                 mrp.CanCastToCalled = false;
3280                 I295 itf295 = (I295)o;
3281                 if (!mrp.CanCastToCalled)
3282                         return 295;
3283                 total += itf295.CallMe (295);
3284                 mrp.CanCastToCalled = false;
3285                 itf295 = (I295)o;
3286                 if (mrp.CanCastToCalled)
3287                         return 295;
3288                 total += itf295.CallMe (295);
3289
3290                 mrp.CanCastToCalled = false;
3291                 I296 itf296 = (I296)o;
3292                 if (!mrp.CanCastToCalled)
3293                         return 296;
3294                 total += itf296.CallMe (296);
3295                 mrp.CanCastToCalled = false;
3296                 itf296 = (I296)o;
3297                 if (mrp.CanCastToCalled)
3298                         return 296;
3299                 total += itf296.CallMe (296);
3300
3301                 mrp.CanCastToCalled = false;
3302                 I297 itf297 = (I297)o;
3303                 if (!mrp.CanCastToCalled)
3304                         return 297;
3305                 total += itf297.CallMe (297);
3306                 mrp.CanCastToCalled = false;
3307                 itf297 = (I297)o;
3308                 if (mrp.CanCastToCalled)
3309                         return 297;
3310                 total += itf297.CallMe (297);
3311
3312                 mrp.CanCastToCalled = false;
3313                 I298 itf298 = (I298)o;
3314                 if (!mrp.CanCastToCalled)
3315                         return 298;
3316                 total += itf298.CallMe (298);
3317                 mrp.CanCastToCalled = false;
3318                 itf298 = (I298)o;
3319                 if (mrp.CanCastToCalled)
3320                         return 298;
3321                 total += itf298.CallMe (298);
3322
3323                 mrp.CanCastToCalled = false;
3324                 I299 itf299 = (I299)o;
3325                 if (!mrp.CanCastToCalled)
3326                         return 299;
3327                 total += itf299.CallMe (299);
3328                 mrp.CanCastToCalled = false;
3329                 itf299 = (I299)o;
3330                 if (mrp.CanCastToCalled)
3331                         return 299;
3332                 total += itf299.CallMe (299);
3333
3334                 mrp.CanCastToCalled = false;
3335                 I300 itf300 = (I300)o;
3336                 if (!mrp.CanCastToCalled)
3337                         return 300;
3338                 total += itf300.CallMe (300);
3339                 mrp.CanCastToCalled = false;
3340                 itf300 = (I300)o;
3341                 if (mrp.CanCastToCalled)
3342                         return 300;
3343                 total += itf300.CallMe (300);
3344
3345                 Console.WriteLine ("finished");
3346
3347                 return 0;
3348         }
3349 }
3350
3351 class MyRealProxy : RealProxy, IRemotingTypeInfo
3352 {
3353         MBRO mbro;
3354         bool can_cast_to_called = false;
3355
3356         public MyRealProxy (MBRO mbro)
3357                 : base (typeof (MBRO)) {
3358                 this.mbro = mbro;
3359         }
3360
3361         public override System.Runtime.Remoting.Messaging.IMessage Invoke (System.Runtime.Remoting.Messaging.IMessage msg) {
3362                 IMethodCallMessage call = (IMethodCallMessage)msg;
3363
3364                 return new ReturnMessage (mbro.CallMe ((int)call.Args[0]), null, 0, null, call);
3365         }
3366
3367         public bool CanCastTo (Type fromType, object o) {
3368                 can_cast_to_called = true;
3369                 return true;
3370         }
3371
3372         public string TypeName {
3373                 get {
3374                         return "";
3375                 }
3376                 set {
3377                         throw new Exception ("Should not be called");
3378                 }
3379         }
3380
3381         public bool CanCastToCalled {
3382                 get {
3383                         return can_cast_to_called;
3384                 }
3385                 set {
3386                         can_cast_to_called = value;
3387                 }
3388         }
3389 }
3390
3391 class MBRO : MarshalByRefObject
3392 {
3393         public int CallMe (int a) {
3394                 return a;
3395         }
3396 }
3397
3398 interface I1
3399 {
3400         int CallMe (int a);
3401 }
3402
3403 interface I2
3404 {
3405         int CallMe (int a);
3406 }
3407
3408 interface I3
3409 {
3410         int CallMe (int a);
3411 }
3412
3413 interface I4
3414 {
3415         int CallMe (int a);
3416 }
3417
3418 interface I5
3419 {
3420         int CallMe (int a);
3421 }
3422
3423 interface I6
3424 {
3425         int CallMe (int a);
3426 }
3427
3428 interface I7
3429 {
3430         int CallMe (int a);
3431 }
3432
3433 interface I8
3434 {
3435         int CallMe (int a);
3436 }
3437
3438 interface I9
3439 {
3440         int CallMe (int a);
3441 }
3442
3443 interface I10
3444 {
3445         int CallMe (int a);
3446 }
3447
3448 interface I11
3449 {
3450         int CallMe (int a);
3451 }
3452
3453 interface I12
3454 {
3455         int CallMe (int a);
3456 }
3457
3458 interface I13
3459 {
3460         int CallMe (int a);
3461 }
3462
3463 interface I14
3464 {
3465         int CallMe (int a);
3466 }
3467
3468 interface I15
3469 {
3470         int CallMe (int a);
3471 }
3472
3473 interface I16
3474 {
3475         int CallMe (int a);
3476 }
3477
3478 interface I17
3479 {
3480         int CallMe (int a);
3481 }
3482
3483 interface I18
3484 {
3485         int CallMe (int a);
3486 }
3487
3488 interface I19
3489 {
3490         int CallMe (int a);
3491 }
3492
3493 interface I20
3494 {
3495         int CallMe (int a);
3496 }
3497
3498 interface I21
3499 {
3500         int CallMe (int a);
3501 }
3502
3503 interface I22
3504 {
3505         int CallMe (int a);
3506 }
3507
3508 interface I23
3509 {
3510         int CallMe (int a);
3511 }
3512
3513 interface I24
3514 {
3515         int CallMe (int a);
3516 }
3517
3518 interface I25
3519 {
3520         int CallMe (int a);
3521 }
3522
3523 interface I26
3524 {
3525         int CallMe (int a);
3526 }
3527
3528 interface I27
3529 {
3530         int CallMe (int a);
3531 }
3532
3533 interface I28
3534 {
3535         int CallMe (int a);
3536 }
3537
3538 interface I29
3539 {
3540         int CallMe (int a);
3541 }
3542
3543 interface I30
3544 {
3545         int CallMe (int a);
3546 }
3547
3548 interface I31
3549 {
3550         int CallMe (int a);
3551 }
3552
3553 interface I32
3554 {
3555         int CallMe (int a);
3556 }
3557
3558 interface I33
3559 {
3560         int CallMe (int a);
3561 }
3562
3563 interface I34
3564 {
3565         int CallMe (int a);
3566 }
3567
3568 interface I35
3569 {
3570         int CallMe (int a);
3571 }
3572
3573 interface I36
3574 {
3575         int CallMe (int a);
3576 }
3577
3578 interface I37
3579 {
3580         int CallMe (int a);
3581 }
3582
3583 interface I38
3584 {
3585         int CallMe (int a);
3586 }
3587
3588 interface I39
3589 {
3590         int CallMe (int a);
3591 }
3592
3593 interface I40
3594 {
3595         int CallMe (int a);
3596 }
3597
3598 interface I41
3599 {
3600         int CallMe (int a);
3601 }
3602
3603 interface I42
3604 {
3605         int CallMe (int a);
3606 }
3607
3608 interface I43
3609 {
3610         int CallMe (int a);
3611 }
3612
3613 interface I44
3614 {
3615         int CallMe (int a);
3616 }
3617
3618 interface I45
3619 {
3620         int CallMe (int a);
3621 }
3622
3623 interface I46
3624 {
3625         int CallMe (int a);
3626 }
3627
3628 interface I47
3629 {
3630         int CallMe (int a);
3631 }
3632
3633 interface I48
3634 {
3635         int CallMe (int a);
3636 }
3637
3638 interface I49
3639 {
3640         int CallMe (int a);
3641 }
3642
3643 interface I50
3644 {
3645         int CallMe (int a);
3646 }
3647
3648 interface I51
3649 {
3650         int CallMe (int a);
3651 }
3652
3653 interface I52
3654 {
3655         int CallMe (int a);
3656 }
3657
3658 interface I53
3659 {
3660         int CallMe (int a);
3661 }
3662
3663 interface I54
3664 {
3665         int CallMe (int a);
3666 }
3667
3668 interface I55
3669 {
3670         int CallMe (int a);
3671 }
3672
3673 interface I56
3674 {
3675         int CallMe (int a);
3676 }
3677
3678 interface I57
3679 {
3680         int CallMe (int a);
3681 }
3682
3683 interface I58
3684 {
3685         int CallMe (int a);
3686 }
3687
3688 interface I59
3689 {
3690         int CallMe (int a);
3691 }
3692
3693 interface I60
3694 {
3695         int CallMe (int a);
3696 }
3697
3698 interface I61
3699 {
3700         int CallMe (int a);
3701 }
3702
3703 interface I62
3704 {
3705         int CallMe (int a);
3706 }
3707
3708 interface I63
3709 {
3710         int CallMe (int a);
3711 }
3712
3713 interface I64
3714 {
3715         int CallMe (int a);
3716 }
3717
3718 interface I65
3719 {
3720         int CallMe (int a);
3721 }
3722
3723 interface I66
3724 {
3725         int CallMe (int a);
3726 }
3727
3728 interface I67
3729 {
3730         int CallMe (int a);
3731 }
3732
3733 interface I68
3734 {
3735         int CallMe (int a);
3736 }
3737
3738 interface I69
3739 {
3740         int CallMe (int a);
3741 }
3742
3743 interface I70
3744 {
3745         int CallMe (int a);
3746 }
3747
3748 interface I71
3749 {
3750         int CallMe (int a);
3751 }
3752
3753 interface I72
3754 {
3755         int CallMe (int a);
3756 }
3757
3758 interface I73
3759 {
3760         int CallMe (int a);
3761 }
3762
3763 interface I74
3764 {
3765         int CallMe (int a);
3766 }
3767
3768 interface I75
3769 {
3770         int CallMe (int a);
3771 }
3772
3773 interface I76
3774 {
3775         int CallMe (int a);
3776 }
3777
3778 interface I77
3779 {
3780         int CallMe (int a);
3781 }
3782
3783 interface I78
3784 {
3785         int CallMe (int a);
3786 }
3787
3788 interface I79
3789 {
3790         int CallMe (int a);
3791 }
3792
3793 interface I80
3794 {
3795         int CallMe (int a);
3796 }
3797
3798 interface I81
3799 {
3800         int CallMe (int a);
3801 }
3802
3803 interface I82
3804 {
3805         int CallMe (int a);
3806 }
3807
3808 interface I83
3809 {
3810         int CallMe (int a);
3811 }
3812
3813 interface I84
3814 {
3815         int CallMe (int a);
3816 }
3817
3818 interface I85
3819 {
3820         int CallMe (int a);
3821 }
3822
3823 interface I86
3824 {
3825         int CallMe (int a);
3826 }
3827
3828 interface I87
3829 {
3830         int CallMe (int a);
3831 }
3832
3833 interface I88
3834 {
3835         int CallMe (int a);
3836 }
3837
3838 interface I89
3839 {
3840         int CallMe (int a);
3841 }
3842
3843 interface I90
3844 {
3845         int CallMe (int a);
3846 }
3847
3848 interface I91
3849 {
3850         int CallMe (int a);
3851 }
3852
3853 interface I92
3854 {
3855         int CallMe (int a);
3856 }
3857
3858 interface I93
3859 {
3860         int CallMe (int a);
3861 }
3862
3863 interface I94
3864 {
3865         int CallMe (int a);
3866 }
3867
3868 interface I95
3869 {
3870         int CallMe (int a);
3871 }
3872
3873 interface I96
3874 {
3875         int CallMe (int a);
3876 }
3877
3878 interface I97
3879 {
3880         int CallMe (int a);
3881 }
3882
3883 interface I98
3884 {
3885         int CallMe (int a);
3886 }
3887
3888 interface I99
3889 {
3890         int CallMe (int a);
3891 }
3892
3893 interface I100
3894 {
3895         int CallMe (int a);
3896 }
3897
3898 interface I101
3899 {
3900         int CallMe (int a);
3901 }
3902
3903 interface I102
3904 {
3905         int CallMe (int a);
3906 }
3907
3908 interface I103
3909 {
3910         int CallMe (int a);
3911 }
3912
3913 interface I104
3914 {
3915         int CallMe (int a);
3916 }
3917
3918 interface I105
3919 {
3920         int CallMe (int a);
3921 }
3922
3923 interface I106
3924 {
3925         int CallMe (int a);
3926 }
3927
3928 interface I107
3929 {
3930         int CallMe (int a);
3931 }
3932
3933 interface I108
3934 {
3935         int CallMe (int a);
3936 }
3937
3938 interface I109
3939 {
3940         int CallMe (int a);
3941 }
3942
3943 interface I110
3944 {
3945         int CallMe (int a);
3946 }
3947
3948 interface I111
3949 {
3950         int CallMe (int a);
3951 }
3952
3953 interface I112
3954 {
3955         int CallMe (int a);
3956 }
3957
3958 interface I113
3959 {
3960         int CallMe (int a);
3961 }
3962
3963 interface I114
3964 {
3965         int CallMe (int a);
3966 }
3967
3968 interface I115
3969 {
3970         int CallMe (int a);
3971 }
3972
3973 interface I116
3974 {
3975         int CallMe (int a);
3976 }
3977
3978 interface I117
3979 {
3980         int CallMe (int a);
3981 }
3982
3983 interface I118
3984 {
3985         int CallMe (int a);
3986 }
3987
3988 interface I119
3989 {
3990         int CallMe (int a);
3991 }
3992
3993 interface I120
3994 {
3995         int CallMe (int a);
3996 }
3997
3998 interface I121
3999 {
4000         int CallMe (int a);
4001 }
4002
4003 interface I122
4004 {
4005         int CallMe (int a);
4006 }
4007
4008 interface I123
4009 {
4010         int CallMe (int a);
4011 }
4012
4013 interface I124
4014 {
4015         int CallMe (int a);
4016 }
4017
4018 interface I125
4019 {
4020         int CallMe (int a);
4021 }
4022
4023 interface I126
4024 {
4025         int CallMe (int a);
4026 }
4027
4028 interface I127
4029 {
4030         int CallMe (int a);
4031 }
4032
4033 interface I128
4034 {
4035         int CallMe (int a);
4036 }
4037
4038 interface I129
4039 {
4040         int CallMe (int a);
4041 }
4042
4043 interface I130
4044 {
4045         int CallMe (int a);
4046 }
4047
4048 interface I131
4049 {
4050         int CallMe (int a);
4051 }
4052
4053 interface I132
4054 {
4055         int CallMe (int a);
4056 }
4057
4058 interface I133
4059 {
4060         int CallMe (int a);
4061 }
4062
4063 interface I134
4064 {
4065         int CallMe (int a);
4066 }
4067
4068 interface I135
4069 {
4070         int CallMe (int a);
4071 }
4072
4073 interface I136
4074 {
4075         int CallMe (int a);
4076 }
4077
4078 interface I137
4079 {
4080         int CallMe (int a);
4081 }
4082
4083 interface I138
4084 {
4085         int CallMe (int a);
4086 }
4087
4088 interface I139
4089 {
4090         int CallMe (int a);
4091 }
4092
4093 interface I140
4094 {
4095         int CallMe (int a);
4096 }
4097
4098 interface I141
4099 {
4100         int CallMe (int a);
4101 }
4102
4103 interface I142
4104 {
4105         int CallMe (int a);
4106 }
4107
4108 interface I143
4109 {
4110         int CallMe (int a);
4111 }
4112
4113 interface I144
4114 {
4115         int CallMe (int a);
4116 }
4117
4118 interface I145
4119 {
4120         int CallMe (int a);
4121 }
4122
4123 interface I146
4124 {
4125         int CallMe (int a);
4126 }
4127
4128 interface I147
4129 {
4130         int CallMe (int a);
4131 }
4132
4133 interface I148
4134 {
4135         int CallMe (int a);
4136 }
4137
4138 interface I149
4139 {
4140         int CallMe (int a);
4141 }
4142
4143 interface I150
4144 {
4145         int CallMe (int a);
4146 }
4147
4148 interface I151
4149 {
4150         int CallMe (int a);
4151 }
4152
4153 interface I152
4154 {
4155         int CallMe (int a);
4156 }
4157
4158 interface I153
4159 {
4160         int CallMe (int a);
4161 }
4162
4163 interface I154
4164 {
4165         int CallMe (int a);
4166 }
4167
4168 interface I155
4169 {
4170         int CallMe (int a);
4171 }
4172
4173 interface I156
4174 {
4175         int CallMe (int a);
4176 }
4177
4178 interface I157
4179 {
4180         int CallMe (int a);
4181 }
4182
4183 interface I158
4184 {
4185         int CallMe (int a);
4186 }
4187
4188 interface I159
4189 {
4190         int CallMe (int a);
4191 }
4192
4193 interface I160
4194 {
4195         int CallMe (int a);
4196 }
4197
4198 interface I161
4199 {
4200         int CallMe (int a);
4201 }
4202
4203 interface I162
4204 {
4205         int CallMe (int a);
4206 }
4207
4208 interface I163
4209 {
4210         int CallMe (int a);
4211 }
4212
4213 interface I164
4214 {
4215         int CallMe (int a);
4216 }
4217
4218 interface I165
4219 {
4220         int CallMe (int a);
4221 }
4222
4223 interface I166
4224 {
4225         int CallMe (int a);
4226 }
4227
4228 interface I167
4229 {
4230         int CallMe (int a);
4231 }
4232
4233 interface I168
4234 {
4235         int CallMe (int a);
4236 }
4237
4238 interface I169
4239 {
4240         int CallMe (int a);
4241 }
4242
4243 interface I170
4244 {
4245         int CallMe (int a);
4246 }
4247
4248 interface I171
4249 {
4250         int CallMe (int a);
4251 }
4252
4253 interface I172
4254 {
4255         int CallMe (int a);
4256 }
4257
4258 interface I173
4259 {
4260         int CallMe (int a);
4261 }
4262
4263 interface I174
4264 {
4265         int CallMe (int a);
4266 }
4267
4268 interface I175
4269 {
4270         int CallMe (int a);
4271 }
4272
4273 interface I176
4274 {
4275         int CallMe (int a);
4276 }
4277
4278 interface I177
4279 {
4280         int CallMe (int a);
4281 }
4282
4283 interface I178
4284 {
4285         int CallMe (int a);
4286 }
4287
4288 interface I179
4289 {
4290         int CallMe (int a);
4291 }
4292
4293 interface I180
4294 {
4295         int CallMe (int a);
4296 }
4297
4298 interface I181
4299 {
4300         int CallMe (int a);
4301 }
4302
4303 interface I182
4304 {
4305         int CallMe (int a);
4306 }
4307
4308 interface I183
4309 {
4310         int CallMe (int a);
4311 }
4312
4313 interface I184
4314 {
4315         int CallMe (int a);
4316 }
4317
4318 interface I185
4319 {
4320         int CallMe (int a);
4321 }
4322
4323 interface I186
4324 {
4325         int CallMe (int a);
4326 }
4327
4328 interface I187
4329 {
4330         int CallMe (int a);
4331 }
4332
4333 interface I188
4334 {
4335         int CallMe (int a);
4336 }
4337
4338 interface I189
4339 {
4340         int CallMe (int a);
4341 }
4342
4343 interface I190
4344 {
4345         int CallMe (int a);
4346 }
4347
4348 interface I191
4349 {
4350         int CallMe (int a);
4351 }
4352
4353 interface I192
4354 {
4355         int CallMe (int a);
4356 }
4357
4358 interface I193
4359 {
4360         int CallMe (int a);
4361 }
4362
4363 interface I194
4364 {
4365         int CallMe (int a);
4366 }
4367
4368 interface I195
4369 {
4370         int CallMe (int a);
4371 }
4372
4373 interface I196
4374 {
4375         int CallMe (int a);
4376 }
4377
4378 interface I197
4379 {
4380         int CallMe (int a);
4381 }
4382
4383 interface I198
4384 {
4385         int CallMe (int a);
4386 }
4387
4388 interface I199
4389 {
4390         int CallMe (int a);
4391 }
4392
4393 interface I200
4394 {
4395         int CallMe (int a);
4396 }
4397
4398 interface I201
4399 {
4400         int CallMe (int a);
4401 }
4402
4403 interface I202
4404 {
4405         int CallMe (int a);
4406 }
4407
4408 interface I203
4409 {
4410         int CallMe (int a);
4411 }
4412
4413 interface I204
4414 {
4415         int CallMe (int a);
4416 }
4417
4418 interface I205
4419 {
4420         int CallMe (int a);
4421 }
4422
4423 interface I206
4424 {
4425         int CallMe (int a);
4426 }
4427
4428 interface I207
4429 {
4430         int CallMe (int a);
4431 }
4432
4433 interface I208
4434 {
4435         int CallMe (int a);
4436 }
4437
4438 interface I209
4439 {
4440         int CallMe (int a);
4441 }
4442
4443 interface I210
4444 {
4445         int CallMe (int a);
4446 }
4447
4448 interface I211
4449 {
4450         int CallMe (int a);
4451 }
4452
4453 interface I212
4454 {
4455         int CallMe (int a);
4456 }
4457
4458 interface I213
4459 {
4460         int CallMe (int a);
4461 }
4462
4463 interface I214
4464 {
4465         int CallMe (int a);
4466 }
4467
4468 interface I215
4469 {
4470         int CallMe (int a);
4471 }
4472
4473 interface I216
4474 {
4475         int CallMe (int a);
4476 }
4477
4478 interface I217
4479 {
4480         int CallMe (int a);
4481 }
4482
4483 interface I218
4484 {
4485         int CallMe (int a);
4486 }
4487
4488 interface I219
4489 {
4490         int CallMe (int a);
4491 }
4492
4493 interface I220
4494 {
4495         int CallMe (int a);
4496 }
4497
4498 interface I221
4499 {
4500         int CallMe (int a);
4501 }
4502
4503 interface I222
4504 {
4505         int CallMe (int a);
4506 }
4507
4508 interface I223
4509 {
4510         int CallMe (int a);
4511 }
4512
4513 interface I224
4514 {
4515         int CallMe (int a);
4516 }
4517
4518 interface I225
4519 {
4520         int CallMe (int a);
4521 }
4522
4523 interface I226
4524 {
4525         int CallMe (int a);
4526 }
4527
4528 interface I227
4529 {
4530         int CallMe (int a);
4531 }
4532
4533 interface I228
4534 {
4535         int CallMe (int a);
4536 }
4537
4538 interface I229
4539 {
4540         int CallMe (int a);
4541 }
4542
4543 interface I230
4544 {
4545         int CallMe (int a);
4546 }
4547
4548 interface I231
4549 {
4550         int CallMe (int a);
4551 }
4552
4553 interface I232
4554 {
4555         int CallMe (int a);
4556 }
4557
4558 interface I233
4559 {
4560         int CallMe (int a);
4561 }
4562
4563 interface I234
4564 {
4565         int CallMe (int a);
4566 }
4567
4568 interface I235
4569 {
4570         int CallMe (int a);
4571 }
4572
4573 interface I236
4574 {
4575         int CallMe (int a);
4576 }
4577
4578 interface I237
4579 {
4580         int CallMe (int a);
4581 }
4582
4583 interface I238
4584 {
4585         int CallMe (int a);
4586 }
4587
4588 interface I239
4589 {
4590         int CallMe (int a);
4591 }
4592
4593 interface I240
4594 {
4595         int CallMe (int a);
4596 }
4597
4598 interface I241
4599 {
4600         int CallMe (int a);
4601 }
4602
4603 interface I242
4604 {
4605         int CallMe (int a);
4606 }
4607
4608 interface I243
4609 {
4610         int CallMe (int a);
4611 }
4612
4613 interface I244
4614 {
4615         int CallMe (int a);
4616 }
4617
4618 interface I245
4619 {
4620         int CallMe (int a);
4621 }
4622
4623 interface I246
4624 {
4625         int CallMe (int a);
4626 }
4627
4628 interface I247
4629 {
4630         int CallMe (int a);
4631 }
4632
4633 interface I248
4634 {
4635         int CallMe (int a);
4636 }
4637
4638 interface I249
4639 {
4640         int CallMe (int a);
4641 }
4642
4643 interface I250
4644 {
4645         int CallMe (int a);
4646 }
4647
4648 interface I251
4649 {
4650         int CallMe (int a);
4651 }
4652
4653 interface I252
4654 {
4655         int CallMe (int a);
4656 }
4657
4658 interface I253
4659 {
4660         int CallMe (int a);
4661 }
4662
4663 interface I254
4664 {
4665         int CallMe (int a);
4666 }
4667
4668 interface I255
4669 {
4670         int CallMe (int a);
4671 }
4672
4673 interface I256
4674 {
4675         int CallMe (int a);
4676 }
4677
4678 interface I257
4679 {
4680         int CallMe (int a);
4681 }
4682
4683 interface I258
4684 {
4685         int CallMe (int a);
4686 }
4687
4688 interface I259
4689 {
4690         int CallMe (int a);
4691 }
4692
4693 interface I260
4694 {
4695         int CallMe (int a);
4696 }
4697
4698 interface I261
4699 {
4700         int CallMe (int a);
4701 }
4702
4703 interface I262
4704 {
4705         int CallMe (int a);
4706 }
4707
4708 interface I263
4709 {
4710         int CallMe (int a);
4711 }
4712
4713 interface I264
4714 {
4715         int CallMe (int a);
4716 }
4717
4718 interface I265
4719 {
4720         int CallMe (int a);
4721 }
4722
4723 interface I266
4724 {
4725         int CallMe (int a);
4726 }
4727
4728 interface I267
4729 {
4730         int CallMe (int a);
4731 }
4732
4733 interface I268
4734 {
4735         int CallMe (int a);
4736 }
4737
4738 interface I269
4739 {
4740         int CallMe (int a);
4741 }
4742
4743 interface I270
4744 {
4745         int CallMe (int a);
4746 }
4747
4748 interface I271
4749 {
4750         int CallMe (int a);
4751 }
4752
4753 interface I272
4754 {
4755         int CallMe (int a);
4756 }
4757
4758 interface I273
4759 {
4760         int CallMe (int a);
4761 }
4762
4763 interface I274
4764 {
4765         int CallMe (int a);
4766 }
4767
4768 interface I275
4769 {
4770         int CallMe (int a);
4771 }
4772
4773 interface I276
4774 {
4775         int CallMe (int a);
4776 }
4777
4778 interface I277
4779 {
4780         int CallMe (int a);
4781 }
4782
4783 interface I278
4784 {
4785         int CallMe (int a);
4786 }
4787
4788 interface I279
4789 {
4790         int CallMe (int a);
4791 }
4792
4793 interface I280
4794 {
4795         int CallMe (int a);
4796 }
4797
4798 interface I281
4799 {
4800         int CallMe (int a);
4801 }
4802
4803 interface I282
4804 {
4805         int CallMe (int a);
4806 }
4807
4808 interface I283
4809 {
4810         int CallMe (int a);
4811 }
4812
4813 interface I284
4814 {
4815         int CallMe (int a);
4816 }
4817
4818 interface I285
4819 {
4820         int CallMe (int a);
4821 }
4822
4823 interface I286
4824 {
4825         int CallMe (int a);
4826 }
4827
4828 interface I287
4829 {
4830         int CallMe (int a);
4831 }
4832
4833 interface I288
4834 {
4835         int CallMe (int a);
4836 }
4837
4838 interface I289
4839 {
4840         int CallMe (int a);
4841 }
4842
4843 interface I290
4844 {
4845         int CallMe (int a);
4846 }
4847
4848 interface I291
4849 {
4850         int CallMe (int a);
4851 }
4852
4853 interface I292
4854 {
4855         int CallMe (int a);
4856 }
4857
4858 interface I293
4859 {
4860         int CallMe (int a);
4861 }
4862
4863 interface I294
4864 {
4865         int CallMe (int a);
4866 }
4867
4868 interface I295
4869 {
4870         int CallMe (int a);
4871 }
4872
4873 interface I296
4874 {
4875         int CallMe (int a);
4876 }
4877
4878 interface I297
4879 {
4880         int CallMe (int a);
4881 }
4882
4883 interface I298
4884 {
4885         int CallMe (int a);
4886 }
4887
4888 interface I299
4889 {
4890         int CallMe (int a);
4891 }
4892
4893 interface I300
4894 {
4895         int CallMe (int a);
4896 }