/*
 * Copyright (c) 2026 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * @tc.name:sharedarray
 * @tc.desc:test sharedarray
 * @tc.type: FUNC
 * @tc.require: issueI8QUU0
 */

// @ts-nocheck
declare function print(str: any): string;
declare function isSendable(obj: lang.ISendable | Object): boolean;

class SendableClass {
    constructor() {
        "use sendable"
    }
}

class UnSendableClass {
    constructor() {
        "not sendable"
    }
}

let sendCs = new SendableClass();
if (isSendable(sendCs)) {
    print("Sendable class is sendable");
} else {
    print("Sendable class is not sendable");
}

let noSendCs = new UnSendableClass();
if (isSendable(noSendCs)) {
    print("UnSendable class is sendable");
} else {
    print("UnSendable class is not sendable");
}

let bool = true;
if (isSendable(bool)) {
    print("boolean is sendable");
} else {
    print("boolean is not sendable");
}


let str = "hello world";
if (isSendable(str)) {
    print("string is sendable");
} else {
    print("string is not sendable");
}

let num = 0;
if (isSendable(num)) {
    print("number is sendable");
} else {
    print("number is not sendable");
}

let bigInt = 124567890123456789012345678901234567890n;
if (isSendable(bigInt)) {
    print("bigInt is sendable");
} else {
    print("bigInt is not sendable");
}

function func()
{}
if (isSendable(func)) {
    print("function is sendable");
} else {
    print("function is not sendable");
}

function sendableFunc()
{
    "use sendable"
}
if (isSendable(sendableFunc)) {
    print("sendableFunc is sendable");
} else {
    print("sendableFunc is not sendable");
}

let sharedMap: SendableMap = new SendableMap<number, string>();
sharedMap.set(4, "value4");
let arr = SendableArray.from(sharedMap.keys());
if (isSendable(arr)) {
    print("Arr is sendable");
} else {
    print("Arr is not sendable");
}

print("=== Test Map with sendable objects ===");

class TestKey {
    id: number = 0;

    constructor(id: number) {
        "use sendable"
        this.id = id;
    }
}

print("Test 1: Empty Map");
let emptyMap: SendableMap = new SendableMap<object, string>();
let key1 = new TestKey(1);
let result1 = emptyMap.get(key1);
if (result1 === undefined) {
    print("Empty Map get returns undefined");
} else {
    print("Empty Map get returns: " + result1);
}

print("Test 2: Non-empty Map");
let nonEmptyMap: SendableMap = new SendableMap<object, number>();
let key2 = new TestKey(2);
let key3 = new TestKey(3);
nonEmptyMap.set(key2, 100);
nonEmptyMap.set(key3, 200);
print("Set key2=100, key3=200");

let value2 = nonEmptyMap.get(key2);
let value3 = nonEmptyMap.get(key3);
let value4 = nonEmptyMap.get(new TestKey(4));

if (value2 === 100) {
    print("Get key2 returns 100");
} else {
    print("Get key2 returns: " + value2);
}

if (value3 === 200) {
    print("Get key3 returns 200");
} else {
    print("Get key3 returns: " + value3);
}

if (value4 === undefined) {
    print("Get non-existent key returns undefined");
} else {
    print("Get non-existent key returns: " + value4);
}

print("Test 3: Multiple Map operations");
let testMap: SendableMap = new SendableMap<object, string>();
for (let i = 0; i < 10; i++) {
    let key = new TestKey(i);
    testMap.set(key, "value" + i);
}

let count = 0;
for (let i = 0; i < 10; i++) {
    let key = new TestKey(i);
    let val = testMap.get(key);
    if (val === "value" + i) {
        count++;
    }
}

if (count === 10) {
    print("All 10 Map operations successful");
} else {
    print("Map operations count: " + count);
}

class SendableClassDic {
    constructor() {
        "use sendable";
    }
    a1:string = "string";
    a2:string = "string";
    a3:string = "string";
    a4:string = "string";
    a5:string = "string";
    a6:string = "string";
    a7:string = "string";
    a8:string = "string";
    a9:string = "string";
    a10:string = "string";
    a11:string = "string";
    a12:string = "string";
    a13:string = "string";
    a14:string = "string";
    a15:string = "string";
    a16:string = "string";
    a17:string = "string";
    a18:string = "string";
    a19:string = "string";
    a20:string = "string";
    a21:string = "string";
    a22:string = "string";
    a23:string = "string";
    a24:string = "string";
    a25:string = "string";
    a26:string = "string";
    a27:string = "string";
    a28:string = "string";
    a29:string = "string";
    a30:string = "string";
    a31:string = "string";
    a32:string = "string";
    a33:string = "string";
    a34:string = "string";
    a35:string = "string";
    a36:string = "string";
    a37:string = "string";
    a38:string = "string";
    a39:string = "string";
    a40:string = "string";
    a41:string = "string";
    a42:string = "string";
    a43:string = "string";
    a44:string = "string";
    a45:string = "string";
    a46:string = "string";
    a47:string = "string";
    a48:string = "string";
    a49:string = "string";
    a50:string = "string";
    a51:string = "string";
    a52:string = "string";
    a53:string = "string";
    a54:string = "string";
    a55:string = "string";
    a56:string = "string";
    a57:string = "string";
    a58:string = "string";
    a59:string = "string";
    a60:string = "string";
    a61:string = "string";
    a62:string = "string";
    a63:string = "string";
    a64:string = "string";
    a65:string = "string";
    a66:string = "string";
    a67:string = "string";
    a68:string = "string";
    a69:string = "string";
    a70:string = "string";
    a71:string = "string";
    a72:string = "string";
    a73:string = "string";
    a74:string = "string";
    a75:string = "string";
    a76:string = "string";
    a77:string = "string";
    a78:string = "string";
    a79:string = "string";
    a80:string = "string";
    a81:string = "string";
    a82:string = "string";
    a83:string = "string";
    a84:string = "string";
    a85:string = "string";
    a86:string = "string";
    a87:string = "string";
    a88:string = "string";
    a89:string = "string";
    a90:string = "string";
    a91:string = "string";
    a92:string = "string";
    a93:string = "string";
    a94:string = "string";
    a95:string = "string";
    a96:string = "string";
    a97:string = "string";
    a98:string = "string";
    a99:string = "string";
    a100:string = "string";
    a101:string = "string";
    a102:string = "string";
    a103:string = "string";
    a104:string = "string";
    a105:string = "string";
    a106:string = "string";
    a107:string = "string";
    a108:string = "string";
    a109:string = "string";
    a110:string = "string";
    a111:string = "string";
    a112:string = "string";
    a113:string = "string";
    a114:string = "string";
    a115:string = "string";
    a116:string = "string";
    a117:string = "string";
    a118:string = "string";
    a119:string = "string";
    a120:string = "string";
    a121:string = "string";
    a122:string = "string";
    a123:string = "string";
    a124:string = "string";
    a125:string = "string";
    a126:string = "string";
    a127:string = "string";
    a128:string = "string";
    a129:string = "string";
    a130:string = "string";
    a131:string = "string";
    a132:string = "string";
    a133:string = "string";
    a134:string = "string";
    a135:string = "string";
    a136:string = "string";
    a137:string = "string";
    a138:string = "string";
    a139:string = "string";
    a140:string = "string";
    a141:string = "string";
    a142:string = "string";
    a143:string = "string";
    a144:string = "string";
    a145:string = "string";
    a146:string = "string";
    a147:string = "string";
    a148:string = "string";
    a149:string = "string";
    a150:string = "string";
    a151:string = "string";
    a152:string = "string";
    a153:string = "string";
    a154:string = "string";
    a155:string = "string";
    a156:string = "string";
    a157:string = "string";
    a158:string = "string";
    a159:string = "string";
    a160:string = "string";
    a161:string = "string";
    a162:string = "string";
    a163:string = "string";
    a164:string = "string";
    a165:string = "string";
    a166:string = "string";
    a167:string = "string";
    a168:string = "string";
    a169:string = "string";
    a170:string = "string";
    a171:string = "string";
    a172:string = "string";
    a173:string = "string";
    a174:string = "string";
    a175:string = "string";
    a176:string = "string";
    a177:string = "string";
    a178:string = "string";
    a179:string = "string";
    a180:string = "string";
    a181:string = "string";
    a182:string = "string";
    a183:string = "string";
    a184:string = "string";
    a185:string = "string";
    a186:string = "string";
    a187:string = "string";
    a188:string = "string";
    a189:string = "string";
    a190:string = "string";
    a191:string = "string";
    a192:string = "string";
    a193:string = "string";
    a194:string = "string";
    a195:string = "string";
    a196:string = "string";
    a197:string = "string";
    a198:string = "string";
    a199:string = "string";
    a200:string = "string";
    a201:string = "string";
    a202:string = "string";
    a203:string = "string";
    a204:string = "string";
    a205:string = "string";
    a206:string = "string";
    a207:string = "string";
    a208:string = "string";
    a209:string = "string";
    a210:string = "string";
    a211:string = "string";
    a212:string = "string";
    a213:string = "string";
    a214:string = "string";
    a215:string = "string";
    a216:string = "string";
    a217:string = "string";
    a218:string = "string";
    a219:string = "string";
    a220:string = "string";
    a221:string = "string";
    a222:string = "string";
    a223:string = "string";
    a224:string = "string";
    a225:string = "string";
    a226:string = "string";
    a227:string = "string";
    a228:string = "string";
    a229:string = "string";
    a230:string = "string";
    a231:string = "string";
    a232:string = "string";
    a233:string = "string";
    a234:string = "string";
    a235:string = "string";
    a236:string = "string";
    a237:string = "string";
    a238:string = "string";
    a239:string = "string";
    a240:string = "string";
    a241:string = "string";
    a242:string = "string";
    a243:string = "string";
    a244:string = "string";
    a245:string = "string";
    a246:string = "string";
    a247:string = "string";
    a248:string = "string";
    a249:string = "string";
    a250:string = "string";
    a251:string = "string";
    a252:string = "string";
    a253:string = "string";
    a254:string = "string";
    a255:string = "string";
    a256:string = "string";
    a257:string = "string";
    a258:string = "string";
    a259:string = "string";
    a260:string = "string";
    a261:string = "string";
    a262:string = "string";
    a263:string = "string";
    a264:string = "string";
    a265:string = "string";
    a266:string = "string";
    a267:string = "string";
    a268:string = "string";
    a269:string = "string";
    a270:string = "string";
    a271:string = "string";
    a272:string = "string";
    a273:string = "string";
    a274:string = "string";
    a275:string = "string";
    a276:string = "string";
    a277:string = "string";
    a278:string = "string";
    a279:string = "string";
    a280:string = "string";
    a281:string = "string";
    a282:string = "string";
    a283:string = "string";
    a284:string = "string";
    a285:string = "string";
    a286:string = "string";
    a287:string = "string";
    a288:string = "string";
    a289:string = "string";
    a290:string = "string";
    a291:string = "string";
    a292:string = "string";
    a293:string = "string";
    a294:string = "string";
    a295:string = "string";
    a296:string = "string";
    a297:string = "string";
    a298:string = "string";
    a299:string = "string";
    a300:string = "string";
    a301:string = "string";
    a302:string = "string";
    a303:string = "string";
    a304:string = "string";
    a305:string = "string";
    a306:string = "string";
    a307:string = "string";
    a308:string = "string";
    a309:string = "string";
    a310:string = "string";
    a311:string = "string";
    a312:string = "string";
    a313:string = "string";
    a314:string = "string";
    a315:string = "string";
    a316:string = "string";
    a317:string = "string";
    a318:string = "string";
    a319:string = "string";
    a320:string = "string";
    a321:string = "string";
    a322:string = "string";
    a323:string = "string";
    a324:string = "string";
    a325:string = "string";
    a326:string = "string";
    a327:string = "string";
    a328:string = "string";
    a329:string = "string";
    a330:string = "string";
    a331:string = "string";
    a332:string = "string";
    a333:string = "string";
    a334:string = "string";
    a335:string = "string";
    a336:string = "string";
    a337:string = "string";
    a338:string = "string";
    a339:string = "string";
    a340:string = "string";
    a341:string = "string";
    a342:string = "string";
    a343:string = "string";
    a344:string = "string";
    a345:string = "string";
    a346:string = "string";
    a347:string = "string";
    a348:string = "string";
    a349:string = "string";
    a350:string = "string";
    a351:string = "string";
    a352:string = "string";
    a353:string = "string";
    a354:string = "string";
    a355:string = "string";
    a356:string = "string";
    a357:string = "string";
    a358:string = "string";
    a359:string = "string";
    a360:string = "string";
    a361:string = "string";
    a362:string = "string";
    a363:string = "string";
    a364:string = "string";
    a365:string = "string";
    a366:string = "string";
    a367:string = "string";
    a368:string = "string";
    a369:string = "string";
    a370:string = "string";
    a371:string = "string";
    a372:string = "string";
    a373:string = "string";
    a374:string = "string";
    a375:string = "string";
    a376:string = "string";
    a377:string = "string";
    a378:string = "string";
    a379:string = "string";
    a380:string = "string";
    a381:string = "string";
    a382:string = "string";
    a383:string = "string";
    a384:string = "string";
    a385:string = "string";
    a386:string = "string";
    a387:string = "string";
    a388:string = "string";
    a389:string = "string";
    a390:string = "string";
    a391:string = "string";
    a392:string = "string";
    a393:string = "string";
    a394:string = "string";
    a395:string = "string";
    a396:string = "string";
    a397:string = "string";
    a398:string = "string";
    a399:string = "string";
    a400:string = "string";
    a401:string = "string";
    a402:string = "string";
    a403:string = "string";
    a404:string = "string";
    a405:string = "string";
    a406:string = "string";
    a407:string = "string";
    a408:string = "string";
    a409:string = "string";
    a410:string = "string";
    a411:string = "string";
    a412:string = "string";
    a413:string = "string";
    a414:string = "string";
    a415:string = "string";
    a416:string = "string";
    a417:string = "string";
    a418:string = "string";
    a419:string = "string";
    a420:string = "string";
    a421:string = "string";
    a422:string = "string";
    a423:string = "string";
    a424:string = "string";
    a425:string = "string";
    a426:string = "string";
    a427:string = "string";
    a428:string = "string";
    a429:string = "string";
    a430:string = "string";
    a431:string = "string";
    a432:string = "string";
    a433:string = "string";
    a434:string = "string";
    a435:string = "string";
    a436:string = "string";
    a437:string = "string";
    a438:string = "string";
    a439:string = "string";
    a440:string = "string";
    a441:string = "string";
    a442:string = "string";
    a443:string = "string";
    a444:string = "string";
    a445:string = "string";
    a446:string = "string";
    a447:string = "string";
    a448:string = "string";
    a449:string = "string";
    a450:string = "string";
    a451:string = "string";
    a452:string = "string";
    a453:string = "string";
    a454:string = "string";
    a455:string = "string";
    a456:string = "string";
    a457:string = "string";
    a458:string = "string";
    a459:string = "string";
    a460:string = "string";
    a461:string = "string";
    a462:string = "string";
    a463:string = "string";
    a464:string = "string";
    a465:string = "string";
    a466:string = "string";
    a467:string = "string";
    a468:string = "string";
    a469:string = "string";
    a470:string = "string";
    a471:string = "string";
    a472:string = "string";
    a473:string = "string";
    a474:string = "string";
    a475:string = "string";
    a476:string = "string";
    a477:string = "string";
    a478:string = "string";
    a479:string = "string";
    a480:string = "string";
    a481:string = "string";
    a482:string = "string";
    a483:string = "string";
    a484:string = "string";
    a485:string = "string";
    a486:string = "string";
    a487:string = "string";
    a488:string = "string";
    a489:string = "string";
    a490:string = "string";
    a491:string = "string";
    a492:string = "string";
    a493:string = "string";
    a494:string = "string";
    a495:string = "string";
    a496:string = "string";
    a497:string = "string";
    a498:string = "string";
    a499:string = "string";
    a500:string = "string";
    a501:string = "string";
    a502:string = "string";
    a503:string = "string";
    a504:string = "string";
    a505:string = "string";
    a506:string = "string";
    a507:string = "string";
    a508:string = "string";
    a509:string = "string";
    a510:string = "string";
    a511:string = "string";
    a512:string = "string";
    a513:string = "string";
    a514:string = "string";
    a515:string = "string";
    a516:string = "string";
    a517:string = "string";
    a518:string = "string";
    a519:string = "string";
    a520:string = "string";
    a521:string = "string";
    a522:string = "string";
    a523:string = "string";
    a524:string = "string";
    a525:string = "string";
    a526:string = "string";
    a527:string = "string";
    a528:string = "string";
    a529:string = "string";
    a530:string = "string";
    a531:string = "string";
    a532:string = "string";
    a533:string = "string";
    a534:string = "string";
    a535:string = "string";
    a536:string = "string";
    a537:string = "string";
    a538:string = "string";
    a539:string = "string";
    a540:string = "string";
    a541:string = "string";
    a542:string = "string";
    a543:string = "string";
    a544:string = "string";
    a545:string = "string";
    a546:string = "string";
    a547:string = "string";
    a548:string = "string";
    a549:string = "string";
    a550:string = "string";
    a551:string = "string";
    a552:string = "string";
    a553:string = "string";
    a554:string = "string";
    a555:string = "string";
    a556:string = "string";
    a557:string = "string";
    a558:string = "string";
    a559:string = "string";
    a560:string = "string";
    a561:string = "string";
    a562:string = "string";
    a563:string = "string";
    a564:string = "string";
    a565:string = "string";
    a566:string = "string";
    a567:string = "string";
    a568:string = "string";
    a569:string = "string";
    a570:string = "string";
    a571:string = "string";
    a572:string = "string";
    a573:string = "string";
    a574:string = "string";
    a575:string = "string";
    a576:string = "string";
    a577:string = "string";
    a578:string = "string";
    a579:string = "string";
    a580:string = "string";
    a581:string = "string";
    a582:string = "string";
    a583:string = "string";
    a584:string = "string";
    a585:string = "string";
    a586:string = "string";
    a587:string = "string";
    a588:string = "string";
    a589:string = "string";
    a590:string = "string";
    a591:string = "string";
    a592:string = "string";
    a593:string = "string";
    a594:string = "string";
    a595:string = "string";
    a596:string = "string";
    a597:string = "string";
    a598:string = "string";
    a599:string = "string";
    a600:string = "string";
    a601:string = "string";
    a602:string = "string";
    a603:string = "string";
    a604:string = "string";
    a605:string = "string";
    a606:string = "string";
    a607:string = "string";
    a608:string = "string";
    a609:string = "string";
    a610:string = "string";
    a611:string = "string";
    a612:string = "string";
    a613:string = "string";
    a614:string = "string";
    a615:string = "string";
    a616:string = "string";
    a617:string = "string";
    a618:string = "string";
    a619:string = "string";
    a620:string = "string";
    a621:string = "string";
    a622:string = "string";
    a623:string = "string";
    a624:string = "string";
    a625:string = "string";
    a626:string = "string";
    a627:string = "string";
    a628:string = "string";
    a629:string = "string";
    a630:string = "string";
    a631:string = "string";
    a632:string = "string";
    a633:string = "string";
    a634:string = "string";
    a635:string = "string";
    a636:string = "string";
    a637:string = "string";
    a638:string = "string";
    a639:string = "string";
    a640:string = "string";
    a641:string = "string";
    a642:string = "string";
    a643:string = "string";
    a644:string = "string";
    a645:string = "string";
    a646:string = "string";
    a647:string = "string";
    a648:string = "string";
    a649:string = "string";
    a650:string = "string";
    a651:string = "string";
    a652:string = "string";
    a653:string = "string";
    a654:string = "string";
    a655:string = "string";
    a656:string = "string";
    a657:string = "string";
    a658:string = "string";
    a659:string = "string";
    a660:string = "string";
    a661:string = "string";
    a662:string = "string";
    a663:string = "string";
    a664:string = "string";
    a665:string = "string";
    a666:string = "string";
    a667:string = "string";
    a668:string = "string";
    a669:string = "string";
    a670:string = "string";
    a671:string = "string";
    a672:string = "string";
    a673:string = "string";
    a674:string = "string";
    a675:string = "string";
    a676:string = "string";
    a677:string = "string";
    a678:string = "string";
    a679:string = "string";
    a680:string = "string";
    a681:string = "string";
    a682:string = "string";
    a683:string = "string";
    a684:string = "string";
    a685:string = "string";
    a686:string = "string";
    a687:string = "string";
    a688:string = "string";
    a689:string = "string";
    a690:string = "string";
    a691:string = "string";
    a692:string = "string";
    a693:string = "string";
    a694:string = "string";
    a695:string = "string";
    a696:string = "string";
    a697:string = "string";
    a698:string = "string";
    a699:string = "string";
    a700:string = "string";
    a701:string = "string";
    a702:string = "string";
    a703:string = "string";
    a704:string = "string";
    a705:string = "string";
    a706:string = "string";
    a707:string = "string";
    a708:string = "string";
    a709:string = "string";
    a710:string = "string";
    a711:string = "string";
    a712:string = "string";
    a713:string = "string";
    a714:string = "string";
    a715:string = "string";
    a716:string = "string";
    a717:string = "string";
    a718:string = "string";
    a719:string = "string";
    a720:string = "string";
    a721:string = "string";
    a722:string = "string";
    a723:string = "string";
    a724:string = "string";
    a725:string = "string";
    a726:string = "string";
    a727:string = "string";
    a728:string = "string";
    a729:string = "string";
    a730:string = "string";
    a731:string = "string";
    a732:string = "string";
    a733:string = "string";
    a734:string = "string";
    a735:string = "string";
    a736:string = "string";
    a737:string = "string";
    a738:string = "string";
    a739:string = "string";
    a740:string = "string";
    a741:string = "string";
    a742:string = "string";
    a743:string = "string";
    a744:string = "string";
    a745:string = "string";
    a746:string = "string";
    a747:string = "string";
    a748:string = "string";
    a749:string = "string";
    a750:string = "string";
    a751:string = "string";
    a752:string = "string";
    a753:string = "string";
    a754:string = "string";
    a755:string = "string";
    a756:string = "string";
    a757:string = "string";
    a758:string = "string";
    a759:string = "string";
    a760:string = "string";
    a761:string = "string";
    a762:string = "string";
    a763:string = "string";
    a764:string = "string";
    a765:string = "string";
    a766:string = "string";
    a767:string = "string";
    a768:string = "string";
    a769:string = "string";
    a770:string = "string";
    a771:string = "string";
    a772:string = "string";
    a773:string = "string";
    a774:string = "string";
    a775:string = "string";
    a776:string = "string";
    a777:string = "string";
    a778:string = "string";
    a779:string = "string";
    a780:string = "string";
    a781:string = "string";
    a782:string = "string";
    a783:string = "string";
    a784:string = "string";
    a785:string = "string";
    a786:string = "string";
    a787:string = "string";
    a788:string = "string";
    a789:string = "string";
    a790:string = "string";
    a791:string = "string";
    a792:string = "string";
    a793:string = "string";
    a794:string = "string";
    a795:string = "string";
    a796:string = "string";
    a797:string = "string";
    a798:string = "string";
    a799:string = "string";
    a800:string = "string";
    a801:string = "string";
    a802:string = "string";
    a803:string = "string";
    a804:string = "string";
    a805:string = "string";
    a806:string = "string";
    a807:string = "string";
    a808:string = "string";
    a809:string = "string";
    a810:string = "string";
    a811:string = "string";
    a812:string = "string";
    a813:string = "string";
    a814:string = "string";
    a815:string = "string";
    a816:string = "string";
    a817:string = "string";
    a818:string = "string";
    a819:string = "string";
    a820:string = "string";
    a821:string = "string";
    a822:string = "string";
    a823:string = "string";
    a824:string = "string";
    a825:string = "string";
    a826:string = "string";
    a827:string = "string";
    a828:string = "string";
    a829:string = "string";
    a830:string = "string";
    a831:string = "string";
    a832:string = "string";
    a833:string = "string";
    a834:string = "string";
    a835:string = "string";
    a836:string = "string";
    a837:string = "string";
    a838:string = "string";
    a839:string = "string";
    a840:string = "string";
    a841:string = "string";
    a842:string = "string";
    a843:string = "string";
    a844:string = "string";
    a845:string = "string";
    a846:string = "string";
    a847:string = "string";
    a848:string = "string";
    a849:string = "string";
    a850:string = "string";
    a851:string = "string";
    a852:string = "string";
    a853:string = "string";
    a854:string = "string";
    a855:string = "string";
    a856:string = "string";
    a857:string = "string";
    a858:string = "string";
    a859:string = "string";
    a860:string = "string";
    a861:string = "string";
    a862:string = "string";
    a863:string = "string";
    a864:string = "string";
    a865:string = "string";
    a866:string = "string";
    a867:string = "string";
    a868:string = "string";
    a869:string = "string";
    a870:string = "string";
    a871:string = "string";
    a872:string = "string";
    a873:string = "string";
    a874:string = "string";
    a875:string = "string";
    a876:string = "string";
    a877:string = "string";
    a878:string = "string";
    a879:string = "string";
    a880:string = "string";
    a881:string = "string";
    a882:string = "string";
    a883:string = "string";
    a884:string = "string";
    a885:string = "string";
    a886:string = "string";
    a887:string = "string";
    a888:string = "string";
    a889:string = "string";
    a890:string = "string";
    a891:string = "string";
    a892:string = "string";
    a893:string = "string";
    a894:string = "string";
    a895:string = "string";
    a896:string = "string";
    a897:string = "string";
    a898:string = "string";
    a899:string = "string";
    a900:string = "string";
    a901:string = "string";
    a902:string = "string";
    a903:string = "string";
    a904:string = "string";
    a905:string = "string";
    a906:string = "string";
    a907:string = "string";
    a908:string = "string";
    a909:string = "string";
    a910:string = "string";
    a911:string = "string";
    a912:string = "string";
    a913:string = "string";
    a914:string = "string";
    a915:string = "string";
    a916:string = "string";
    a917:string = "string";
    a918:string = "string";
    a919:string = "string";
    a920:string = "string";
    a921:string = "string";
    a922:string = "string";
    a923:string = "string";
    a924:string = "string";
    a925:string = "string";
    a926:string = "string";
    a927:string = "string";
    a928:string = "string";
    a929:string = "string";
    a930:string = "string";
    a931:string = "string";
    a932:string = "string";
    a933:string = "string";
    a934:string = "string";
    a935:string = "string";
    a936:string = "string";
    a937:string = "string";
    a938:string = "string";
    a939:string = "string";
    a940:string = "string";
    a941:string = "string";
    a942:string = "string";
    a943:string = "string";
    a944:string = "string";
    a945:string = "string";
    a946:string = "string";
    a947:string = "string";
    a948:string = "string";
    a949:string = "string";
    a950:string = "string";
    a951:string = "string";
    a952:string = "string";
    a953:string = "string";
    a954:string = "string";
    a955:string = "string";
    a956:string = "string";
    a957:string = "string";
    a958:string = "string";
    a959:string = "string";
    a960:string = "string";
    a961:string = "string";
    a962:string = "string";
    a963:string = "string";
    a964:string = "string";
    a965:string = "string";
    a966:string = "string";
    a967:string = "string";
    a968:string = "string";
    a969:string = "string";
    a970:string = "string";
    a971:string = "string";
    a972:string = "string";
    a973:string = "string";
    a974:string = "string";
    a975:string = "string";
    a976:string = "string";
    a977:string = "string";
    a978:string = "string";
    a979:string = "string";
    a980:string = "string";
    a981:string = "string";
    a982:string = "string";
    a983:string = "string";
    a984:string = "string";
    a985:string = "string";
    a986:string = "string";
    a987:string = "string";
    a988:string = "string";
    a989:string = "string";
    a990:string = "string";
    a991:string = "string";
    a992:string = "string";
    a993:string = "string";
    a994:string = "string";
    a995:string = "string";
    a996:string = "string";
    a997:string = "string";
    a998:string = "string";
    a999:string = "string";
    a1000:string = "string";
    a1001:string = "string";
    a1002:string = "string";
    a1003:string = "string";
    a1004:string = "string";
    a1005:string = "string";
    a1006:string = "string";
    a1007:string = "string";
    a1008:string = "string";
    a1009:string = "string";
    a1010:string = "string";
    a1011:string = "string";
    a1012:string = "string";
    a1013:string = "string";
    a1014:string = "string";
    a1015:string = "string";
    a1016:string = "string";
    a1017:string = "string";
    a1018:string = "string";
    a1019:string = "string";
    a1020:string = "string";
    a1021:string = "string";
    a1022:string = "string";
    a1023:string = "string";
    a1024:string = "string";
    a1025:string = "string";
    a1026:string = "string";
    a1027:string = "string";
    a1028:string = "string";
    a1029:string = "string";
    a1030:string = "string";
    a1031:string = "string";
    a1032:string = "string";
    a1033:string = "string";
    a1034:string = "string";
    a1035:string = "string";
    a1036:string = "string";
    a1037:string = "string";
    a1038:string = "string";
    a1039:string = "string";
    a1040:string = "string";
    a1041:string = "string";
    a1042:string = "string";
    a1043:string = "string";
    a1044:string = "string";
    a1045:string = "string";
    a1046:string = "string";
    a1047:string = "string";
    a1048:string = "string";
    a1049:string = "string";
    a1050:string = "string";
    a1051:string = "string";
    a1052:string = "string";
    a1053:string = "string";
    a1054:string = "string";
    a1055:string = "string";
    a1056:string = "string";
    a1057:string = "string";
    a1058:string = "string";
    a1059:string = "string";
    a1060:string = "string";
    a1061:string = "string";
    a1062:string = "string";
    a1063:string = "string";
    a1064:string = "string";
    a1065:string = "string";
    a1066:string = "string";
    a1067:string = "string";
    a1068:string = "string";
    a1069:string = "string";
    a1070:string = "string";
    a1071:string = "string";
    a1072:string = "string";
    a1073:string = "string";
    a1074:string = "string";
    a1075:string = "string";
    a1076:string = "string";
    a1077:string = "string";
    a1078:string = "string";
    a1079:string = "string";
    a1080:string = "string";
    a1081:string = "string";
    a1082:string = "string";
    a1083:string = "string";
    a1084:string = "string";
    a1085:string = "string";
    a1086:string = "string";
    a1087:string = "string";
    a1088:string = "string";
    a1089:string = "string";
    a1090:string = "string";
    a1091:string = "string";
    a1092:string = "string";
    a1093:string = "string";
    a1094:string = "string";
    a1095:string = "string";
    a1096:string = "string";
    a1097:string = "string";
    a1098:string = "string";
    a1099:string = "string";
    a1100:string = "string";
    a1101:string = "string";
    a1102:string = "string";
    a1103:string = "string";
    a1104:string = "string";
    a1105:string = "string";
    a1106:string = "string";
    a1107:string = "string";
    a1108:string = "string";
    a1109:string = "string";
    a1110:string = "string";
    a1111:string = "string";
    a1112:string = "string";
    a1113:string = "string";
    a1114:string = "string";
    a1115:string = "string";
    a1116:string = "string";
    a1117:string = "string";
    a1118:string = "string";
    a1119:string = "string";
    a1120:string = "string";
    a1121:string = "string";
    a1122:string = "string";
    a1123:string = "string";
    a1124:string = "string";
    a1125:string = "string";
    a1126:string = "string";
    a1127:string = "string";
    a1128:string = "string";
    a1129:string = "string";
    a1130:string = "string";
    a1131:string = "string";
    a1132:string = "string";
    a1133:string = "string";
    a1134:string = "string";
    a1135:string = "string";
    a1136:string = "string";
    a1137:string = "string";
    a1138:string = "string";
    a1139:string = "string";
    a1140:string = "string";
    a1141:string = "string";
    a1142:string = "string";
    a1143:string = "string";
    a1144:string = "string";
    a1145:string = "string";
    a1146:string = "string";
    a1147:string = "string";
    a1148:string = "string";
    a1149:string = "string";
    a1150:string = "string";
    a1151:string = "string";
    a1152:string = "string";
    a1153:string = "string";
    a1154:string = "string";
    a1155:string = "string";
    a1156:string = "string";
    a1157:string = "string";
    a1158:string = "string";
    a1159:string = "string";
    a1160:string = "string";
    a1161:string = "string";
    a1162:string = "string";
    a1163:string = "string";
    a1164:string = "string";
    a1165:string = "string";
    a1166:string = "string";
    a1167:string = "string";
    a1168:string = "string";
    a1169:string = "string";
    a1170:string = "string";
    a1171:string = "string";
    a1172:string = "string";
    a1173:string = "string";
    a1174:string = "string";
    a1175:string = "string";
    a1176:string = "string";
    a1177:string = "string";
    a1178:string = "string";
    a1179:string = "string";
    a1180:string = "string";
    a1181:string = "string";
    a1182:string = "string";
    a1183:string = "string";
    a1184:string = "string";
    a1185:string = "string";
    a1186:string = "string";
    a1187:string = "string";
    a1188:string = "string";
    a1189:string = "string";
    a1190:string = "string";
    a1191:string = "string";
    a1192:string = "string";
    a1193:string = "string";
    a1194:string = "string";
    a1195:string = "string";
    a1196:string = "string";
}
let a = new SendableClassDic();
print("SendableClassDic OK");