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