From: "金光雅夫 (KANEMITSU Masao)" Date: 2002-11-09T15:54:38+09:00 Subject: [ruby-list:36419] Re: Flyaway --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_ Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit 金光です。どもっ。 On Sat, 9 Nov 2002 12:31:35 +0900 rubikitch wrote: > From: 金光雅夫 (KANEMITSU Masao) > Subject: [ruby-list:36416] Re: Flyaway > Date: Sat, 9 Nov 2002 07:32:21 +0900 > > メールきちんと読んでいますか? AtesakiとNengaを同等に扱っていたので、Nengaのみに絞ったという ことを伝えておくべきでした。 > > > > では、Atesaki.[]は未定義でしょ。 > > > Atesaki#[]は定義されていますが。 > > > そもそもデータが入っていない状態ですし。 > 肝心のAtesakiクラスはどうなりました? Nengaクラスに置き換えられました。 > # Atesaki#[]は定義されているようだけど。 > > > puts '[Enter] to exit' > > gets > DRb.thread.join > がありますね。 これ(DRb.thread.join)、dRuby本には出てこないし、入れておくと CTRL-Cで中断できないので、はずしてみたんですが必要ですか? > > > となっています。でもって、実行すると、Nenga['2002'] の参照を終えたあと > > ハング。 > そもそも、入力データはいずこに。 > テストしようにもデータがないからどうにもこうにも。 Windows用のGUIからとった、簡単なデータです。なんでもいいんです。 構想としては、宛先文字列をキーとして、値は郵便番号、住所、などを含みます。 > > > しょうがないので、pstoreを使うのを断念して、dRuby本のプログラムのままの版で > > やってみようかと思っているのですが、そういう問題ではないのでしょうか。 > それは違うような。たぶん。 > くわしく見ていない(見られない)ので確信まではもてませんが。 > > るびきち☆ > http://www.ruby-lang.org/~rubikitch/ ←Ruby大衆化計画(笑) ですよねぇ。ひとつひとつつぶしていくしかないですが、DRb.thread.joinからやって みますか。。。 M.Kanemitsu ——————————————— 金光雅夫 masao-k@a-net.email.ne.jp http://www.masao-k.net http://isweb14.infoseek.co.jp/art/soshikon/ http://isweb15.infoseek.co.jp/computer/ruby256/ http://www.masao-k.net/tDiary/ http://www.masao-k.net/RubyBook/ 〒216-0031 川崎市宮前区神木本町5-14-12 自宅: 044-877-5006 携帯: 090-2753-5292 -- "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="fwid_srv.rb" Content-Disposition: attachment; filename="fwid_srv.rb" Content-Transfer-Encoding: base64 cmVxdWlyZSAnZmx5YXdheScNCnJlcXVpcmUgJ2RyYi9kcmInDQpyZXF1aXJlICdmd19wc19uZW5n YScNCnJlcXVpcmUgJ2Z3aWRjb252Jw0KcmVxdWlyZSAnTmVuZ2EtdXJpJw0KDQpjbGFzcyBOZW5n YQ0KICBpbmNsdWRlIERSYlVuZHVtcGVkDQogIGluY2x1ZGUgRldJZE1vZA0KICANCiAgZGVmIGlu aXRpYWxpemUNCiAgICBzdXBlcg0KICAgIEBhcnJheSA9IFtdDQogIGVuZA0KICANCiAgZGVmIFtd KGtleSkNCiAgICByZXR1cm4gQGFycmF5W2tleV0NCiAgZW5kDQplbmQNCg0KDQpjbGFzcyBGcm9u dA0KICBkZWYgW10oa2V5KQ0KICAgIHJldHVybiBOZW5nYVtrZXldDQogIGVuZA0KZW5kDQoNCkRS Yi5pbnN0YWxsX2lkX2NvbnYoRldJZENvbnYubmV3KQ0KDQpEUmIuc3RhcnRfc2VydmljZShOZW5n YTo6VVJJLCBGcm9udC5uZXcpDQpwdXRzICdbRW50ZXJdIHRvIGV4aXQnDQpnZXRzDQo= --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="fwidconv.rb" Content-Disposition: attachment; filename="fwidconv.rb" Content-Transfer-Encoding: base64 cmVxdWlyZSAnZHJiL2RyYicNCg0KbW9kdWxlIEZXSWRNb2QNCiAgZGVmIHNlbGYuYXBwZW5kX2Zl YXR1cmVzKG1vZCkNCiAgICBzdXBlcg0KICAgIEZXSWRDb252LmFkZF9jbGFzcyhtb2QpDQogIGVu ZA0KICANCiAgZGVmIGluaXRpYWxpemUoKmFyZ3MpDQogICAgTWFyc2hhbC5kdW1wKGFyZ3MpDQog ICAgc3VwZXINCiAgZW5kDQogIA0KICBkZWYgdG9faWQNCiAgICBbc2VsZi50eXBlLnRvX3MsIEBm d19hcmddDQogIGVuZA0KZW5kDQoNCmNsYXNzIEZXSWRDb252IDwgRFJiOjpEUmJJZENvbnYNCiAg QEBrbGFzcyA9IHt9DQogIA0KICBkZWYgc2VsZi5hZGRfY2xhc3MobW9kKQ0KICAgIEBAa2xhc3Nb bW9kLnRvX3NdID0gbW9kDQogIGVuZA0KICANCiAgZGVmIHRvX2lkKG9iaikNCiAgICByZXR1cm4g b2JqLnRvX2lkIGlmIG9iai5raW5kX29mPyBGV0lkTW9kDQogICAgc3VwZXIob2JqKQ0KICBlbmQN CiAgDQogIGRlZiB0b19vYmoocmVmKQ0KICAgIGlmIEFycmF5ID09PSByZWYgJiYgcmVmLnNpemUg PT0gMg0KICAgICAga2xhc3MgPSBAQGtsYXNzW3JlZlswXV0NCiAgICAgIGFyZ3MgPSByZWZbMV0N CiAgICAgIHJldHVybiBrbGFzc1sqYXJnc10NCiAgICBlbmQNCiAgICBzdXBlcihyZWYpDQogIGVu ZA0KZW5kDQo= --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="Nenga-uri.rb" Content-Disposition: attachment; filename="Nenga-uri.rb" Content-Transfer-Encoding: base64 Y2xhc3MgTmVuZ2ENCiAgVVJJID0gImRydWJ5Oi8vbG9jYWxob3N0OjEzMTEwIg0KZW5kDQoNCnJl cXVpcmUgJ2RyYi9kcmInDQpEUmI6OnN0YXJ0X3NlcnZpY2UNCg== --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="you4.rb" Content-Disposition: attachment; filename="you4.rb" Content-Transfer-Encoding: base64 JEtDT0RFID0gInNqaXMiDQpyZXF1aXJlICdwaGknDQppbmNsdWRlIFBoaQ0KDQpmb3JtID0gQ29t cG9uZW50Ll9sb2FkIG9wZW4oJ3lvdS5hZm0nLCAncmInKS5yZWFkDQoNCmxhYmVsMSA9IGZvcm0u bGFiZWwxDQpsYWJlbDIgPSBmb3JtLmxhYmVsMg0KbGFiZWwzID0gZm9ybS5sYWJlbDMNCmVkaXQx ID0gZm9ybS5lZGl0MQ0KZWRpdDIgPSBmb3JtLmVkaXQyDQplZGl0MyA9IGZvcm0uZWRpdDMNCmJ1 dHRvbjEgPSBmb3JtLmJ1dHRvbjENCmJ1dHRvbjIgPSBmb3JtLmJ1dHRvbjINCmJ1dHRvbjMgPSBm b3JtLmJ1dHRvbjMNCg0KbGFiZWwxLmNhcHRpb24gPSAnl1iV1pTUjYYnDQpsYWJlbDIuY2FwdGlv biA9ICePWo+KJw0KbGFiZWwzLmNhcHRpb24gPSAnlryRTycNCmVkaXQxLnRleHQgPSAnJw0KZWRp dDIudGV4dCA9ICcnDQplZGl0My50ZXh0ID0gJycNCmJ1dHRvbjEuY2FwdGlvbiA9ICeRiozdlc+K tycNCmJ1dHRvbjIuY2FwdGlvbiA9ICeV25G2Jw0KYnV0dG9uMy5jYXB0aW9uID0gJ0NWU49vl80n DQoNCktFTiA9IHsNCiAgIpZrikOTuSIgPT4gIjAxIiwNCiAgIpDCkFiMpyIgPT4gIjAyIiwNCiAg IorijuiMpyIgPT4gIjAzIiwNCiAgIot7j+mMpyIgPT4gIjA0IiwNCiAgIo9Ik2OMpyIgPT4gIjA1 IiwNCiAgIo5SjGCMpyIgPT4gIjA2IiwNCiAgIpWfk4eMpyIgPT4gIjA3IiwNCiAgIoxRlG6MpyIg PT4gIjA4IiwNCiAgIpPIltiMpyIgPT4gIjA5IiwNCiAgIojvj+mMpyIgPT4gIjEwIiwNCiAgIo3p i8qMpyIgPT4gIjExIiwNCiAgIpDnl3SMpyIgPT4gIjEyIiwNCiAgIpOMi56TcyIgPT4gIjEzIiwN CiAgIpBfk96Q7IynIiA9PiAiMTQiLA0KICAikFaKg4ynIiA9PiAiMTUiLA0KICAilXiOUoynIiA9 PiAiMTYiLA0KICAikM6Q7IynIiA9PiAiMTciLA0KICAilZ+I5IynIiA9PiAiMTgiLA0KICAijlKX nIynIiA9PiAiMTkiLA0KICAikreW7IynIiA9PiAiMjAiLA0KICAiivKVjIynIiA9PiAiMjEiLA0K ICAikMOJqoynIiA9PiAiMjIiLA0KICAiiKSSbYynIiA9PiAiMjMiLA0KICAijk+PZIynIiA9PiAi MjQiLA0KICAijqCJ6oynIiA9PiAiMjUiLA0KICAii56Tc5V7IiA9PiAiMjYiLA0KICAikeWN45V7 IiA9PiAiMjciLA0KICAilbqMyYynIiA9PiAiMjgiLA0KICAik96Xx4ynIiA9PiAiMjkiLA0KICAi mGGJzI5SjKciID0+ICIzMCIsDQogICKSuY7mjKciID0+ICIzMSIsDQogICKTh42qjKciID0+ICIz MiIsDQogICKJqo5SjKciID0+ICIzMyIsDQogICKNTJOHjKciID0+ICIzNCIsDQogICKOUoz7jKci ID0+ICIzNSIsDQogICKTv5OHjKciID0+ICIzNiIsDQogICKNgZDsjKciID0+ICIzNyIsDQogICKI pJVRjKciID0+ICIzOCIsDQogICKNgpJtjKciID0+ICIzOSIsDQogICKVn4mqjKciID0+ICI0MCIs DQogICKNsonqjKciID0+ICI0MSIsDQogICKSt43ojKciID0+ICI0MiIsDQogICKMRpZ7jKciID0+ ICI0MyIsDQogICKR5ZWqjKciID0+ICI0NCIsDQogICKLe43ojKciID0+ICI0NSIsDQogICKOrY6Z k4eMpyIgPT4gIjQ2IiwNCiAgIomrk+qMpyIgPT4gIjQ3Ig0KfQ0KDQpkZWYgYnV0dG9uMS5vbl9j bGljaw0KICByZXF1aXJlICdjZ2knDQogIHJlcXVpcmUgJ25ldC9odHRwJw0KICBOZXQ6OkhUVFAu dmVyc2lvbl8xXzINCg0KICBpZiAoIXBhcmVudC5lZGl0Mi50ZXh0LmVtcHR5PykNCiAgICBsaW5l ID0gcGFyZW50LmVkaXQyLnRleHQuZHVwDQogICAgS0VOLmVhY2ggeyB8a2V5LCB2YWx1ZXwNCiAg ICAgIGlmIGxpbmUgPX4ga2V5DQogICAgICAgIGxpbmUuc3ViISAoIGtleSwgJycgKQ0KICAgICAg ICAkS0VOID0ga2V5DQogICAgICAgIGJhbmdvdSA9IGdldEIodmFsdWUsIGxpbmUpDQogICAgICAg IHBhcmVudC5lZGl0MS50ZXh0ID0gYmFuZ291DQogICAgICAgICRKSVAgPSBiYW5nb3UNCiAgICAg ICAgc3AobGluZSkNCiAgICAgIGVuZA0KICAgIH0NCiAgICByZXR1cm4NCiAgZW5kDQogIA0KICAk SklQID0gcGFyZW50LmVkaXQxLnRleHQNCiAgDQogIGp5dXVzeW8gPSBnZXRKKHBhcmVudC5lZGl0 MS50ZXh0KQ0KICBwYXJlbnQuZWRpdDIudGV4dCA9IGp5dXVzeW8NCiAgc3Aoanl1dXN5bykNCmVu ZA0KDQo9YmVnaW4NCoGDkF+T3pDsjKeBhIKpgueMn431grWC3IK1gr2BQg0KgUA8Zm9udCBzaXpl PSsxPoGnMjE2LTAwMzGBQIGEkOyN6I5zi3uRT4vmkF+W2JZ7kqw8L2ZvbnQ+PGJyPg0KPWVuZA0K DQoNCmRlZiBnZXRCKHZhbHVlLCBsKQ0KICBsaW5lID0gbC5kdXANCiAgbGluZS5nc3ViISAoL1sw LTmCTy2CWC2BfF0vLCAnJykNCg0KICByZXNwb25zZSA9IG5pbA0KICBOZXQ6OkhUVFAuc3RhcnQo ICd3d3cuMDU2My5uZXQnLCA4MCApIHt8aHR0cHwNCiAgICAgIHJlc3BvbnNlICwgPSBodHRwLnBv c3QoICcvY2dpLWJpbi95dXViaW5iYW5nb3UveXV1YmluYmFuZ291LmNnaScsDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgImtlbj0je3ZhbHVlfSZrZXk9I3tsaW5lfSINCiAgICAgICAgICAg ICAgICAgICApDQogIH0NCg0KICBiYW5nb3UgPSAiIg0KICBhbGwgPSByZXNwb25zZS5ib2R5DQog IGFsbC5lYWNoX2xpbmUgeyB8Z3lvdXwNCiAgICBpZiAoZ3lvdSA9fiAvgacoLiopgUAvKQ0KICAg ICAgYmFuZ291ID0gJDENCiAgICBlbmQNCiAgfQ0KICByZXR1cm4gYmFuZ291DQplbmQNCg0KDQpk ZWYgc3AobCkNCiAgbGluZSA9IGwuZHVwDQogIGlmIC9eKC4qW5Nzk7mVe4ynXSkvID1+IGxpbmUN CiAgICAkS0VOID0gJDENCiAgICBsaW5lLnN1YiEgKC9eKC4qW5Nzk7mVe4ynXSkvLCAnJykNCiAg ZW5kDQogIA0KICBpZiAvXiguKovmKS8gPX4gbGluZQ0KICAgICRTSElLVSA9ICQxDQogICAgbGlu ZS5zdWIhICgvXiguKovmKS8sICcnKQ0KICBlbmQNCiAgDQogIGlmIC9eKC4qjnMpLyA9fiBsaW5l DQogICAgJFNISUtVID0gJDENCiAgICBsaW5lLnN1YiEgKC9eKC4qjnMpLywgJycpDQogIGVuZA0K ICANCiAgaWYgL14oLipbkqyRuoxTXSkvID1+IGxpbmUNCiAgICAkVFlPVSA9ICQxDQogICAgbGlu ZS5zdWIhICgvXiguKluSrJG6jFNdKS8sICcnKQ0KICBlbmQNCiAgDQogIGlmIC9eKFswLTmCTy2C WC2BfF0rKS8gPX4gbGluZQ0KICAgICRCQU5DSEkgPSAkMQ0KICAgIGxpbmUuc3ViISAoL14oWzAt OYJPLYJYLYF8XSspLywgJycpDQogIGVuZA0KICANCiAgJFNVQiA9IGxpbmUNCmVuZA0KDQoNCmRl ZiBnZXRKKHZhbHVlKQ0KICByZXNwb25zZSA9IG5pbA0KICBOZXQ6OkhUVFAuc3RhcnQoICd3d3cu MDU2My5uZXQnLCA4MCApIHt8aHR0cHwNCiAgICAgIHJlc3BvbnNlICwgPSBodHRwLnBvc3QoICcv Y2dpLWJpbi95dXViaW5iYW5nb3UveXV1YmluYmFuZ291LmNnaScsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgImtlbj0xNCZrZXk9I3t2YWx1ZX0iICkNCiAgfQ0KICANCiAganl1dXN5byA9 ICIiDQogIHJlc3BvbnNlLmJvZHkuZWFjaF9saW5lIHsgfGxpbmV8DQogICAgaWYgbGluZSA9fiAv gYMoW16BhF0rKYGEgqmC54yfjfWCtYLcgrWCvS8NCiAgICAgIGp5dXVzeW8gKz0gJDENCiAgICAg ICRLRU4gPSAkMQ0KICAgIGVuZA0KICAgIGlmIGxpbmUgPX4gL4GnW16BhF0rgYQoLiopPFwvZm9u dD4vDQogICAgICBqeXV1c3lvICs9ICQxDQogICAgICBzcCgkMSkNCiAgICBlbmQNCiAgfQ0KICBy ZXR1cm4ganl1dXN5bw0KZW5kDQoNCg0KJE5FTkdBID0gW10NCg0KZGVmIGJ1dHRvbjIub25fY2xp Y2sNCiAgcmVxdWlyZSAnZHJiL2RyYicNCiAgcmVxdWlyZSAiTmVuZ2EtdXJpIg0KICANCiAgIyBu ZW5nYSA9IE5lbmdhOjpuZXcNCiAgZGIgPSBEUmJPYmplY3QubmV3KG5pbCwgTmVuZ2E6OlVSSSkN Cg0KDQpwIGRiDQoNCg0KICBhdGVzYWtpID0gZGJbJzIwMDMnXSAgIyAyMDAzlE6J6oNJg3WDV4NG g06DZ4LwkLaQrA0KDQoNCnAgYXRlc2FraQ0KDQoNCiAgDQo9YmVnaW4NCiI4MTMwMDAxIiwilZ+J qoynIiwilZ+Jqo5zk4yL5iIsIpOCjLQiLCIyLTEyLTE4Iiwil+mW2JdslfsiLCIiLCIiLCKL4Iz1 ieuWvonrkKwiLCK2yNDCz7uxt8+7xdgiLCKXbCINCiI4MTIwMDQ0IiwilZ+JqoynIiwilZ+Jqo5z lI6RvYvmIiwikOeR4yIsIjMtMy0zMyIsIovgjPWI44lAIiwiIiwiIiwii+CM9ZCzjYSDdINXg0ci LCK2yNDCvrK63rPMvN60Iiwil2wiDQo9ZW5kDQogIA0KICBpZiBwYXJlbnQuZWRpdDEudGV4dC5l bXB0eT8NCiAgICBwICKXWJXWlNSNhoKqg1qDYoNngrOC6oLEgqKC3IK5gvEiDQogICAgcmV0dXJu DQogIGVuZA0KICANCiAgaWYgcGFyZW50LmVkaXQyLnRleHQuZW1wdHk/DQogICAgcCAij1qPioKq g1qDYoNngrOC6oLEgqKC3IK5gvEiDQogICAgcmV0dXJuDQogIGVuZA0KICANCiAgYnV0dG9uMS5v bl9jbGljaw0KICANCiAgYXRlc2FraVsnSklQJ10gPSBwYXJlbnQuZWRpdDEudGV4dA0KICBhdGVz YWtpWydLRU4nXSA9ICRLRU4gICMgZGVmIGJ1dHRvbjGK1phBgsWDWoNig2eCt4LpDQogIGF0ZXNh a2lbJ1NISUtVJ10gPSAkU0hJS1UNCiAgYXRlc2FraVsnVFlPVSddID0gJFRZT1UNCiAgYXRlc2Fr aVsnQkFOQ0hJJ10gPSAkQkFOQ0hJDQogIGF0ZXNha2lbJ1NVQiddID0gJFNVQg0KICBhdGVzYWtp WydOQU1FJ10gPSBwYXJlbnQuZWRpdDMudGV4dA0KICAjIJPHgt2CzSAiIiCCxZLKgumCxpBNgraC vYKiDQogIGF0ZXNha2lbJ0dPVSddID0gIpdsIg0KDQoNCnAgYXRlc2FraQ0KDQoNCiAgJE5FTkdB IDw8IGF0ZXNha2kNCg0KDQpwICRORU5HQQ0KDQplbmQNCg0KDQpkZWYgYnV0dG9uMy5vbl9jbGlj aw0KICBpZiAkTkVOR0EuZW1wdHk/DQogICAgcCAigtyCvoi2kOaCqpXbkbaCs4LqgsSCooLcgrmC 8SINCiAgICAkTkVOR0EgPSBbXQ0KICAgIHJldHVybg0KICBlbmQNCg0KcCAkTkVOR0ENCg0KICAk TkVOR0EuZWFjaCBkbyB8aXRlbXwNCiAgICBwcmludCAlcSggIiN7aXRlbVsnSklQJ119IiwiI3tp dGVtWydLRU4nXX0iLCIje2l0ZW1bJ1NISUtVJ119IiwiI3tpdGVtWydUWU9VJ119IiwiI3tpdGVt WydTVUInXX0iLCIiLCIiLCIje3BhcmVudC5lZGl0My50ZXh0fSIsIiIsIiN7aXRlbVsnR09VJ119 IlxuICkNCiAgZW5kDQplbmQNCg0KZm9ybS5zaG93DQpQaGkubWFpbmxvb3ANCg== --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="flyaway.rb" Content-Disposition: attachment; filename="flyaway.rb" Content-Transfer-Encoding: base64 bW9kdWxlIEZseXdlaWdodEZhY3RvcnkNCiAgZGVmIEZseXdlaWdodEZhY3RvcnkuYXBwZW5kX2Zl YXR1cmVzKG1vZCkNCiAgICBzdXBlcg0KICAgIG1vZC5wcml2YXRlX2NsYXNzX21ldGhvZCA6bmV3 DQogICAgbW9kLmNvbnN0X3NldCgiRldfVEFCTEUiLCB7fSkNCiAgICANCiAgICBkZWYgbW9kLltd KCphcmcpDQogICAgICBrZXkgPSAoYXJnLnNpemUgPT0gMSApID8gYXJnWzBdIDogYXJnDQogICAg ICBfX29sZF9zdGF0dXMgPSBUcmVhZC5jcml0aWNhbA0KICAgICAgYmVnaW4NCiAgICAgICAgVGhy ZWFkLmNyaXRpY2FsID0gdHJ1ZQ0KICAgICAgICByZXR1cm4gc2VsZjo6RldfVEFCTEVba2V5XSB8 fCBzZWxmOjpGV19UQUJMRVtrZXldID0gbmV3KCphcmcpDQogICAgICBlbnN1cmUNCiAgICAgICAg VHJlYWQuY3JpdGljYWwgPSBfX29sZF9zdGF0dXMNCiAgICAgIGVuZA0KICAgIGVuZA0KICAgIA0K ICAgIGRlZiBtb2QuX2xvYWQocykNCiAgICAgIHNlbGZbKk1hcnNoYWwubG9hZChzKV0NCiAgICBl bmQNCiAgZW5kDQogIA0KICBwcml2YXRlDQogIGRlZiBpbml0aWFsaXplKCphcmcpDQogICAgQGZ3 X2FyZz0gYXJnDQogIGVuZA0KICANCiAgZGVmIF9kdW1wKHBvcnQpDQogICAgTWFyc2hhbC5kdW1w KEBmd19hcmcsIHBvcnQpDQogIGVuZA0KZW5kDQo= --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="fw_ps_nenga.rb" Content-Disposition: attachment; filename="fw_ps_nenga.rb" Content-Transfer-Encoding: base64 cmVxdWlyZSAnZmx5YXdheScNCnJlcXVpcmUgJ3BzdG9yZScNCg0KY2xhc3MgTmVuZ2ENCiAgaW5j bHVkZSBGbHl3ZWlnaHRGYWN0b3J5DQogIA0KICBAQGRiID0gUFN0b3JlLm5ldygiYzovbmVuZ2Ei KQ0KICANCiAgZGVmIGluaXRpYWxpemUobmVuZG8pICAjIJROk3gNCiAgICBzdXBlcihuZW5kbykN CiAgICBAbmVuZG8gPSBuZW5kbw0KICAgIA0KICAgIEBAZGIudHJhbnNhY3Rpb24gZG8NCiAgICAg IHVubGVzcyBAQGRiLnJvb3Q/KG5lbmRvKQ0KICAgICAgICBAQGRiW25lbmRvXSA9IFtdDQogICAg ICBlbmQNCiAgICAgIEB2YWx1ZSA9IEBAZGJbbmVuZG9dDQogICAgICBAQGRiLmNvbW1pdA0KICAg IGVuZA0KICBlbmQNCiAgDQogIGRlZiBbXShrKQ0KICAgIEBAZGIudHJhbnNhY3Rpb24gZG8NCiAg ICAgIEB2YWx1ZVtrXQ0KICAgIGVuZA0KICBlbmQNCiAgDQogIGRlZiBbXT0oaywgdikNCiAgICBA QGRiLnRyYW5zYWN0aW9uIGRvDQogICAgICBAdmFsdWVba10gPSB2DQogICAgZW5kDQogICAgQEBk Yi5jb21taXQNCiAgZW5kDQplbmQNCg== --------_3DCCAD9E464106ED30F0_MULTIPART_MIXED_--