From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Tmd1eeG7hW4gUGjGsOG7m2MgVGjDoG5o?= Date: Wed, 13 Jul 2011 10:53:24 +0000 Subject: [Error] RECVMSG Message-Id: <4E1D7924.5010505@gmail.com> MIME-Version: 1 Content-Type: multipart/mixed; boundary="------------060202070900040908060603" List-Id: To: linux-sctp@vger.kernel.org This is a multi-part message in MIME format. --------------060202070900040908060603 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I am coding apps transfer file with LKSCTP. With server receiver file. I use recvmsg(sk,&inmessage,0). And I want get infomation header of this packet, but I check inmessage. inmessage.msg_controllen=0, and inmessage.msg_flags=136. What's 136. In client I just send flags=0. And msg_control, msg_controllen with full infomation. And cmsg = CMSG_FIRSTHDR(&inmessage); always return NULL so I can't write data to file. Please help me. I attacth code send_file recv_file. I have checked client. It's ok. But I don't know why infomation header is NULL. --------------060202070900040908060603 Content-Type: text/plain; name="code_server.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="code_server.c" dm9pZCByZWN2X2ZpbGUoaW50IHNrKQp7CiAgICBjaGFyIGluY21zZ1tDTVNHX1NQQUNFKHNp emVvZihfc2N0cF9jbXNnX2RhdGFfdCkpXTsKCXN0cnVjdCBpb3ZlYyBpb3Y7CglzdHJ1Y3Qg bXNnaGRyIGlubWVzc2FnZTsKICAgIHN0cnVjdCBjbXNnaGRyICpjbXNnOwogICAgX3NjdHBf Y21zZ19kYXRhX3QgKnNpbmZvOwoJaW50IGVycm9yOwogICAgc3RhdGljIGNoYXIgYnVmZmVy WzEwMjRdOwogICAgaW50IGJ1ZmZlcl9zaXplPTEwMjQ7CiAgICBpbnQgY2hlY2tfbGlzdGVu OwoKIAkvKiBNYXJrIHNrIGFzIGJlaW5nIGFibGUgdG8gYWNjZXB0IG5ldyBhc3NvY2lhdGlv bnMgKi8KCWNoZWNrX2xpc3RlbiA9IGxpc3RlbihzaywgNSk7CglpZiAoY2hlY2tfbGlzdGVu ICE9IDApIHsKCQlwcmludGYoIlxuXG5cdFx0bGlzdGVuIEZhaWx1cmU6ICAlcy5cblxuXG4i LAoJCSAgICAgICBzdHJlcnJvcihlcnJubykpOwoJCWV4aXQoMSk7Cgl9CgkvKiBJbml0aWFs aXplIGlubWVzc2FnZSB3aXRoIGVub3VnaCBzcGFjZSBmb3IgREFUQS4uLiAqLwoJbWVtc2V0 KCZpbm1lc3NhZ2UsIDAsIHNpemVvZihpbm1lc3NhZ2UpKTsKCWlmICgoaW92Lmlvdl9iYXNl ID0gbWFsbG9jKDUwMDApKSA9PSBOVUxMKSB7CgkJcHJpbnRmKCIgQ2FuJ3QgYWxsb2NhdGUg bWVtb3J5LlxuIik7CgkJZXhpdCgxKTsKCX0KCWlvdi5pb3ZfYmFzZSA9IGJ1ZmZlcjsKCWlv di5pb3ZfbGVuID0gNTAwMDsKICAgIGlubWVzc2FnZS5tc2dfaW92ID0gJmlvdjsKCWlubWVz c2FnZS5tc2dfaW92bGVuID0gMTsKCS8qIG9yIGEgY29udHJvbCBtZXNzYWdlLiAgKi8KCWlu bWVzc2FnZS5tc2dfY29udHJvbCA9IGluY21zZzsKCWlubWVzc2FnZS5tc2dfY29udHJvbGxl biA9IHNpemVvZihpbmNtc2cpOwogICAgaW50IHdyaXRlYnl0ZT0wOwogICAgaW50IGZkWzEw XTsKICAgICBpbnQgY2hlY2tfZmlsZT0wOwogICAgZm9yKGNoZWNrX2ZpbGU9MDtjaGVja19m aWxlPGNvdW50X2ZpbGU7Y2hlY2tfZmlsZSsrKQogICAgewogICAgICAgIGZkW2NoZWNrX2Zp bGVdID0gZm9wZW4obG9jYWxmaWxlW2NoZWNrX2ZpbGVdLCJ3Iik7CiAgICAgICAgaWYoZmRb Y2hlY2tfZmlsZV09PS0xKQogICAgICAgICAgICByZXR1cm47CiAgICB9CglwcmludGYoIiBs aXN0ZW5pbmcuLi5cbiIpOwoJLyogR2V0IHRoZSBtZXNzYWdlcyBzZW50ICovCiAgICBpbnQg dGltZV9jbG9jaz0wOwogICAgdGltZV90IHN0YXJ0LCBmaW5pc2g7CiAgICBjbG9ja190IHN0 YXJ0X2MsIGZpbmlzaF9jOwoJbG9uZyBkdXJhdGlvbj0wOwogICAgZG91YmxlIGR1cmF0aW9u X2M9MDsKICAgIGxvbmcgdGVtcDsKCXdoaWxlICgoZXJyb3IgPSByZWN2bXNnKHNrLCAmaW5t ZXNzYWdlLCBNU0dfV0FJVEFMTCkpPj0wKSB7CiAgICAgICAgaWYoICEoaW5tZXNzYWdlLm1z Z19mbGFncyAmIE1TR19OT1RJRklDQVRJT04gKSl7CiAgICAgICAgICAgIGNtc2cgPSBDTVNH X0ZJUlNUSERSKCZpbm1lc3NhZ2UpOwogICAgICAgICAgICBpZihjbXNnPT1OVUxMKWNvbnRp bnVlOwogICAgICAgICAgICBzaW5mbyA9IChzdHJ1Y3Qgc2N0cF9zbmRyY3ZpbmZvKilDTVNH X0RBVEEoY21zZyk7CiAgICAgICAgICAgIHdyaXRlYnl0ZT1md3JpdGUoYnVmZmVyLGVycm9y LDEsZmRbc2luZm8tPnNpbmZvX3N0cmVhbV0pOwogICAgICAgICAgICBpZih0aW1lX2Nsb2Nr PT0wKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHRpbWVfY2xvY2s9 MTsKICAgICAgICAgICAgICAgICAgICBzdGFydD10aW1lKE5VTEwpOwogICAgICAgICAgICAg ICAgICAgIHN0YXJ0X2M9Y2xvY2soKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9CgkJ ZWxzZSB7CgkJCXVuaW9uIHNjdHBfbm90aWZpY2F0aW9uICpzbjsKCQkJc24gPSAodW5pb24g c2N0cF9ub3RpZmljYXRpb24gKilpb3YuaW92X2Jhc2U7CgkJCWlmICgoc24tPnNuX2hlYWRl ci5zbl90eXBlID09IFNDVFBfQVNTT0NfQ0hBTkdFKSAmJgoJCQkgICAgKHNuLT5zbl9hc3Nv Y19jaGFuZ2Uuc2FjX3N0YXRlCgkJCSAgICAgPT0gU0NUUF9TSFVURE9XTl9DT01QKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgIH0KICAgIGZpbmlzaD10aW1lKE5VTEwpOwogICAgZmluaXNoX2M9Y2xvY2so KTsKICAgIHRlbXA9ZmluaXNoX2Mtc3RhcnRfYzsKICAgIGR1cmF0aW9uX2M9KGRvdWJsZSl0 ZW1wL0NMT0NLU19QRVJfU0VDOwogICAgZHVyYXRpb249ZmluaXNoLXN0YXJ0OwoJcHJpbnRm KCJ0aGUgZmlsZSBoYXMgYmVlbiB0cmFuc2ZlcnJlZCBpbiAlZCBzZWNzIGFuZCAlMi4zZiBz ZWNzLlxuIixkdXJhdGlvbixkdXJhdGlvbl9jKTsKCWNsb3NlKGZkKTsKICAgICAgICAgY2xv c2Uoc2spOwp9IC8qIGNvbW1hbmRfbGlzdGVuKCkgKi8= --------------060202070900040908060603 Content-Type: text/plain; name="code_client.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="code_client.c" b2lkIHNlbmRfZmlsZShpbnQgc2spCnsKICAgIHN0cnVjdCBtc2doZHIgb3V0bXNnOwogICAg Y2hhciBvdXRjbXNnW0NNU0dfU1BBQ0Uoc2l6ZW9mKHN0cnVjdCBzY3RwX3NuZHJjdmluZm8p KV07CiAgICBzdHJ1Y3QgY21zZ2hkciAqY21zZzsKICAgIHN0cnVjdCBzY3RwX3NuZHJjdmlu Zm8gKnNpbmZvOwogICAgc3RydWN0IGlvdmVjIGlvdjsKICAgIGNoYXIgbWVzc2FnZVsxMDI0 XTsKICAgIHN0cnVjdCBob3N0ZW50ICpoc3Q7CiAgICBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJz OwogICAgaW50IG1zZ2xlbjsKICAgIGludCBlcnJvciA9IDA7CiAgICBpbnQgdHJ5X2Vycm9y PTA7CiAgICBpbnQgc3RyZWFtID0gMDsKICAgIC8vS2llbSBsYWkgZGlhIGNoaSBkaWNoIHZh IGdhbiBjYWMgdGhvbmcgdGluIHBodSBob3AKICAgICAgICBpZiAocmVtb3RlX2hvc3QgIT0g TlVMTCkgewoJCWhzdCA9IGdldGhvc3RieW5hbWUocmVtb3RlX2hvc3QpOwoJCWlmIChoc3Qg PT0gTlVMTCB8fCBoc3QtPmhfbGVuZ3RoIDwgMSkgewoJCQlmcHJpbnRmKHN0ZGVyciwgIiVz OiBiYWQgaG9zdG5hbWU6IFxuIiwKCQkJCXJlbW90ZV9ob3N0KTsKCQkJZXhpdCgxKTsKCQl9 CgkJcmFfZmFtaWx5ID0gaHN0LT5oX2FkZHJ0eXBlOwogICAgICAgICAgICAgICAgcmFfbGVu ID0gc2l6ZW9mKHJlbW90ZV9hZGRyKTsKICAgICAgICAgICAgICAgIHJhX3JhdyA9ICZyZW1v dGVfYWRkci5zaW5fYWRkcjsKCQlyZW1vdGVfYWRkci5zaW5fcG9ydCA9IGh0b25zKDgwMDAp OwoJCXJlbW90ZV9hZGRyLnNpbl9mYW1pbHkgPSBBRl9JTkVUOwoJCW1lbWNweShyYV9yYXcs IGhzdC0+aF9hZGRyX2xpc3RbMF0sIGhzdC0+aF9sZW5ndGgpOwogICAgICAgIH0KICAgICAg ICBlbHNlCiAgICAgICAgewogICAgICAgICAgICAvL0hvc3RuYW1lIGtob25nIHRvbiB0YWkg dGhvYXQgY2h1b25nIHRyaW5oLi4uCiAgICAgICAgICAgIHByaW50ZigiTm90IGZvdW5kIHJl bW90ZSBob3N0ISEhXG4iKTsKICAgICAgICAgICAgcHJpbnRmKCJTaHV0ZG93biBwcm9ncmFt LlxuIik7CiAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgfQogICAgICAgIHByaW50Zigi SG9zdCBuYW1lIGlzICVzLlxuIixyZW1vdGVfaG9zdCk7CiAgICAgICAgLy8gS0llbSB0cmEg c3UgdG9uIHRhaSBjdWEga2V0IG5vaSB0b2kgcmVtb3RlIGFkZHJzCiAgICAgICAgaWYgKChT T0NLX1NFUVBBQ0tFVCA9PSBzb2NrZXRfdHlwZSkgJiYgYXNzb2NpZCAmJgogICAgICAgICAg ICAoMCAhPSB0ZXN0X3NrX2Zvcl9hc3NvYyhzaywgYXNzb2NpZCkpKSB7CgkJYXNzb2NpZCA9 IHRlc3RfcmVjdl9hc3NvY19jaGFuZ2Uoc2spOwoJCXByaW50ZigiT2xkIGFzc29jaWF0aW9u IGdvbmUsIFN0YXJ0aW5nIGEgbmV3IG9uZSFcbiIpOwoJCW5ld19jb25uZWN0aW9uID0gMTsK CX0KICAgICAgICBpbnQgZmRbMTBdOwogICAgICAgIGludCBjaGVja19maWxlPTA7CiAgICAg ICAgZm9yKGNoZWNrX2ZpbGU9MDtjaGVja19maWxlPGNvdW50X2ZpbGU7Y2hlY2tfZmlsZSsr KQogICAgICAgIHsKCiAgICAgICAgICAgIGlmICggbG9jYWxmaWxlW2NoZWNrX2ZpbGVdID09 IE5VTEwgKSBmZFtjaGVja19maWxlXSA9IDA7CiAgICAgICAgICAgIC8vZmQgPSBvcGVuKGxv Y2FsZmlsZSxPX1JET05MWSk7CiAgICAgICAgICAgIGZkW2NoZWNrX2ZpbGVdID0gZm9wZW4o bG9jYWxmaWxlW2NoZWNrX2ZpbGVdLCJyIik7CiAgICAgICAgICAgIGlmKGZkW2NoZWNrX2Zp bGVdPT0tMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcHJpbnRmKCJSZWFkIGZp bGUgZXJyb3IuXG4iKTsKICAgICAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgICAgIH0K ICAgICAgICAgICAgcHJpbnRmKCJSZWFkeSB0byBzZW5kIGZpbGUuLi4uXG4iKTsKICAgICAg ICB9CiAgICAgICAgbXNnbGVuPWZyZWFkKG1lc3NhZ2UsMTAyNCwxLGZkWzBdKTsKICAgICAg ICBkbyB7CiAgICAgICAgICAgIC8qIEluaXRpYWxpemUgdGhlIG1lc3NhZ2Ugc3RydWN0IHdl IHVzZSB0byBwYXNzCgkJICogbWVzc2FnZXMgdG8gdGhlIHJlbW90ZSBzb2NrZXQuCiAgICAg ICAgICAgICAqLwogICAgICAgICAgICB0cnlfZXJyb3IrKzsKICAgICAgICAgICAgaWYodHJ5 X2Vycm9yPT0xMDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHByaW50ZigiQ2Fu J3QgY29ubmVjdCByZW1vdGUgYWRkcmVzcyxwcm9ncmFtIHNodXRkb3duLlxuIik7CiAgICAg ICAgICAgICAgICBleGl0KDEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlvdi5pb3Zf YmFzZSA9IG1lc3NhZ2U7CiAgICAgICAgICAgIGlvdi5pb3ZfbGVuID0gc2l6ZW9mKG1lc3Nh Z2UpOwogICAgICAgICAgICBvdXRtc2cubXNnX25hbWU9JnJlbW90ZV9ob3N0OwogICAgICAg ICAgICBvdXRtc2cubXNnX25hbWVsZW49c2l6ZW9mKHJlbW90ZV9ob3N0KTsKICAgICAgICAg ICAgb3V0bXNnLm1zZ19pb3YgPSAmaW92OwogICAgICAgICAgICBvdXRtc2cubXNnX2lvdmxl biA9IDE7CiAgICAgICAgICAgIG91dG1zZy5tc2dfY29udHJvbCA9IG91dGNtc2c7OwogICAg ICAgICAgICBvdXRtc2cubXNnX2NvbnRyb2xsZW4gPSBzaXplb2Yob3V0Y21zZyk7CiAgICAg ICAgICAgIG91dG1zZy5tc2dfbmFtZSA9ICZyZW1vdGVfYWRkcjsKICAgICAgICAgICAgb3V0 bXNnLm1zZ19uYW1lbGVuID0gcmFfbGVuOwogICAgICAgICAgICBjbXNnID0gQ01TR19GSVJT VEhEUigmb3V0bXNnKTsKICAgICAgICAgICAgY21zZy0+Y21zZ19sZXZlbCA9IElQUFJPVE9f U0NUUDsKICAgICAgICAgICAgY21zZy0+Y21zZ190eXBlID0gU0NUUF9TTkRSQ1Y7CiAgICAg ICAgICAgIGNtc2ctPmNtc2dfbGVuID0gQ01TR19MRU4oc2l6ZW9mKHN0cnVjdCBzY3RwX3Nu ZHJjdmluZm8pKTsKICAgICAgICAgICAgb3V0bXNnLm1zZ19jb250cm9sbGVuID0gY21zZy0+ Y21zZ19sZW47CiAgICAgICAgICAgIHNpbmZvID0gKHN0cnVjdCBzY3RwX3NuZHJjdmluZm8g KilDTVNHX0RBVEEoY21zZyk7CiAgICAgICAgICAgIG1lbXNldChzaW5mbywgMCwgc2l6ZW9m KHN0cnVjdCBzY3RwX3NuZHJjdmluZm8pKTsKICAgICAgICAgICAgc2luZm8tPnNpbmZvX2Zs YWdzID0gMDsKICAgICAgICAgICAgc2luZm8tPnNpbmZvX3N0cmVhbSA9IDA7CiAgICAgICAg ICAgIGVycm9yID0gc2VuZG1zZyhzaywgJm91dG1zZywgTVNHX1dBSVRBTEwpOwogICAgICAg ICAgICBpZiAoZXJyb3IgIT0gc2l6ZW9mKG1lc3NhZ2UpKQoJCXByaW50ZihzdGRlcnIsICI6 IGVycm9yOiAlcy5cbiIsIHN0cmVycm9yKGVycm5vKSk7Cgl9IHdoaWxlIChlcnJvciAhPSBz aXplb2YobWVzc2FnZSkpOwoKICAgIC8qIElmIHRoaXMgaXMgdGhlIGZpcnN0IG1lc3NhZ2Ug c2VudCBvdmVyIGEgVURQLXN0eWxlIHNvY2tldCwKICAgICAqIGdldCB0aGUgYXNzb2NpZCBm cm9tIHRoZSBTQ1RQX0FTU09DX0NIQU5HRSBub3RpZmljYXRpb24uCiAgICAgKi8KCWlmICgo U09DS19TRVFQQUNLRVQgPT0gc29ja2V0X3R5cGUpICYmICgwID09IGFzc29jaWQpKQoJCQlh c3NvY2lkID0gdGVzdF9yZWN2X2Fzc29jX2NoYW5nZShzayk7CgoJLyogVmVyaWZ5IHRoZXJl IGlzIG5vIGFzc29jaWF0aW9uLiAgKi8KCWlmICgwICE9IHRlc3Rfc2tfZm9yX2Fzc29jKHNr LCBhc3NvY2lkKSkgewoJCXByaW50ZigiTm8gYXNzb2NpYXRpb24gaXMgcHJlc2VudCBub3ch IVxuIik7CgkJbmV3X2Nvbm5lY3Rpb24gPSAxOwoJCX0KICAgICAgICBlbHNlIHsKCQlpZiAo bmV3X2Nvbm5lY3Rpb24pIHsKCQlpbnQgcmMgPSBzY3RwX2dldHBhZGRycyhzaywgYXNzb2Np ZCwgJmFkZHJzKTsKCQlpZiAoMCA+PSByYykgewogICAgICAgICAgICAgICAgICAgIGlmIChy YyA9PSAwKSB7CgkJCWZwcmludGYoc3RkZXJyLCAic2N0cF9nZXRwYWRkcnMgZmFpbGVkLCBu byBwZWVycy5cbiIpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CgkJCWZwcmludGYo c3RkZXJyLCAic2N0cF9nZXRwYWRkcnMgZmFpbGVkICVzKCVkKS5cbiIsIHN0cmVycm9yKGVy cm5vKSwgZXJybm8pOwoJCQl9CiAgICAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOwoJ CX0KCQlwcmludGYoIk5ldyBjb25uZWN0aW9uLCBwZWVyIGFkZHJlc3Nlc1xuIik7CgkJLy9w cmludF9hZGRyX2J1ZihhZGRycywgcmMpOwoJCXNjdHBfZnJlZXBhZGRycyhhZGRycyk7CgkJ bmV3X2Nvbm5lY3Rpb24gPSAwOwoJCX0KICAgIH0KICAgIGlvdi5pb3ZfYmFzZSA9IGJ1ZmZl cjsKCWlvdi5pb3ZfbGVuID0gMTsKCW91dG1zZy5tc2dfaW92ID0gJmlvdjsKCW91dG1zZy5t c2dfaW92bGVuID0gMTsKICAgICAgICBpbnQgZW5kX2ZpbGVbY291bnRfZmlsZV07CiAgICAg ICAgZm9yKGNoZWNrX2ZpbGU9MDtjaGVja19maWxlPGNvdW50X2ZpbGU7Y2hlY2tfZmlsZSsr KQogICAgICAgIHsKICAgICAgICAgICAgZW5kX2ZpbGVbY2hlY2tfZmlsZV09MDsKICAgICAg ICB9CiAgICAgICAgLyogb3BlbiB0aGUgZmlsZSAqLwogICAgICAgIHRpbWVfdCBzdGFydCwg ZmluaXNoOwogICAgICAgIGNsb2NrX3Qgc3RhcnRfYywgZmluaXNoX2M7Cglsb25nIGR1cmF0 aW9uPTA7CiAgICBkb3VibGUgZHVyYXRpb25fYz0wOwogICAgbG9uZyB0ZW1wOwoJc3RhcnQ9 dGltZShOVUxMKTsKICAgICAgICBzdGFydF9jPWNsb2NrKCk7CiAgICAgICAgcHJpbnRmKCJS ZXR1cm4gY29kZSBSZWFseS4uLi5cbiIpOwogICAgICAgIHdoaWxlKGZpbmlzaGVkX2ZpbGU8 Y291bnRfZmlsZSkKICAgICAgICB7CiAgICAgICAgICAgIGZvcihjaGVja19maWxlPTA7Y2hl Y2tfZmlsZTxjb3VudF9maWxlO2NoZWNrX2ZpbGUrKykKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgaWYoZW5kX2ZpbGVbY2hlY2tfZmlsZV09PTEpIGNvbnRpbnVlOwogICAgICAg ICAgICAgICAgbXNnbGVuID0gZnJlYWQobWVzc2FnZSwxMDI0LDEsZmRbY2hlY2tfZmlsZV0p OwogICAgICAgICAgICAgICAgaWYobXNnbGVuPD0wKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIGVuZF9maWxlW2NoZWNrX2ZpbGVdPTE7CiAgICAgICAgICAgICAg ICAgICAgZmluaXNoZWRfZmlsZSsrOwogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc3RyZWFtPWNoZWNrX2ZpbGU7CiAg ICAgICAgICAgICAgICBzaW5mby0+c2luZm9fc3RyZWFtID0gc3RyZWFtOwogICAgICAgICAg ICAgICAgaW92Lmlvdl9sZW4gPSBzaXplb2YobWVzc2FnZSk7CiAgICAgICAgICAgICAgICBl cnJvciA9IHNlbmRtc2coc2ssICZvdXRtc2csIE1TR19XQUlUQUxMKTsKICAgICAgICAgICAg fQogICAgICAgIH0KICAgICAgICBmaW5pc2g9dGltZShOVUxMKTsKICAgICAgICBmaW5pc2hf Yz1jbG9jaygpOwogICAgICAgIHRlbXA9ZmluaXNoX2Mtc3RhcnRfYzsKICAgICAgICBkdXJh dGlvbl9jPShkb3VibGUpdGVtcC9DTE9DS1NfUEVSX1NFQzsKICAgICAgICBkdXJhdGlvbj1m aW5pc2gtc3RhcnQ7CgkvL2R1cmF0aW9uPWZpbmlzaC1zdGFydDsKCXByaW50ZigidGhlIGZp bGUgaGFzIGJlZW4gdHJhbnNmZXJyZWQgaW4gJWQgc2VjcyBhbmQgJTIuM2Ygc2Vjcy5cbiIs ZHVyYXRpb24sZHVyYXRpb25fYyk7CgljbG9zZShmZCk7CgljbG9zZShzayk7Cn0= --------------060202070900040908060603--