From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id DD9F45B18EA; Wed, 4 Oct 2023 14:26:35 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org DD9F45B18EA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1696418796; bh=hKZT1WWUkImvP9RpneyY8Y/MXUmGVokrc1qkZpFRqLc=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=uV4iLL6UyHEHbfNXxKVjX5KYGssMd3SZXZB/pPnXd1W9GzghH9aGA/g1SG1Rin2C4 L8spabRLyKP3B0C70dkGl8TZ837RST+O1Zhf/zv/dN2vz7Fafo2rKhKYflSNNbivX+ 5vpu3nrMUa4pyZJwvWd0BI+tQpdrt+Re11H+t3pM= Received: from f319.i.mail.ru (f319.i.mail.ru [45.84.128.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 379DE5B18EA for ; Wed, 4 Oct 2023 14:26:34 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 379DE5B18EA Received: by f319.i.mail.ru with local (envelope-from ) id 1qo01Q-0004eF-R6; Wed, 04 Oct 2023 14:26:33 +0300 Received: by e.mail.ru with HTTP; Wed, 04 Oct 2023 14:26:32 +0300 To: =?UTF-8?B?U2VyZ2V5IEJyb25uaWtvdg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16963606110595000926 X-SenderField-Remind: 0 Date: Wed, 04 Oct 2023 14:26:32 +0300 Message-ID: <1696418792.685957500@f488.i.mail.ru> X-Priority: 3 (Normal) Content-Type: multipart/alternative; boundary="--ALT--48778e5A908A130D4390363d8A66e6571696418792" In-Reply-To: <9a13eea1-4807-916c-2e34-873237743f97@tarantool.org> References: <839195a6a6ff32a49c5a690a9f0101cc741901fd.1695968227.git.m.kokryashkin@tarantool.org> <9a13eea1-4807-916c-2e34-873237743f97@tarantool.org> X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C1A36A14C61175E8EB1179DC644BE0D5CDF7D436F007CFB368FD872164937FA4C89526EF381EEA0145C184AA1C286D51B4D6BE20C9C67C031A31C0D5947440C8F X-C1DE0DAB: 0D63561A33F958A5F9BE9AD6691BBC4B2CB066E2ECEE9D05E81C08E4AEEFBA13F87CCE6106E1FC07E67D4AC08A07B9B01DAA61796BF5227BCB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0AD5177F0B940C8B66ECE892A7B2722663E91682638B966EB3F662256BEEFA9527F3FF6CC19C1F59811DA137A492AEF3FF725CFF797315181C72EB7EA3C959234CE10762C6E90C4C6B737FD76D11AF80A0D5F352047F36150E1D6AF9A6D1872F72FEA455F16B58544A21C197AAF4D2E4732965026E5D17F6739C77C69D99B9914278E50E1F0597A6FD5CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhQOXUXNbQVLIo2aNiwXKiDg== X-Mailru-MI: 800 X-Mailru-Sender: 11C2EC085EDE56FA38FD4C59F7EFE407C7FC116076C0F949A9480EDFB0519B85DD23434AC9E5B00006CD02445D2D9C8FA2BFD6D8330F0C2D563E610FBBDBB4C842051EA7CBBFB509093DA5C00B83CE8412EB40C6FA10D71EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: OK Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_v2_5/5=5D_Restore_?= =?utf-8?q?cur=5FL_for_specific_Lua/C_API_use_case=2E?= X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Maxim Kokryashkin via Tarantool-patches Reply-To: =?UTF-8?B?TWF4aW0gS29rcnlhc2hraW4=?= Cc: =?UTF-8?B?TWF4aW0gS29rcnlhc2hraW4=?= , tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--48778e5A908A130D4390363d8A66e6571696418792 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIQpUaGFua3MgZm9yIHRoZSByZXZpZXchCkZpeGVkIHlvdXIgY29tbWVudCwgdGhlIGJyYW5j aCBpcyBmb3JjZS1wdXNoZWQuCsKgCi0tCkJlc3QgcmVnYXJkcywKTWF4aW0gS29rcnlhc2hraW4K wqAKwqAgCj7QktGC0L7RgNC90LjQuiwgMyDQvtC60YLRj9Cx0YDRjyAyMDIzLCAyMjoxNiArMDM6 MDAg0L7RgiBTZXJnZXkgQnJvbm5pa292IHZpYSBUYXJhbnRvb2wtcGF0Y2hlcyA8dGFyYW50b29s LXBhdGNoZXNAZGV2LnRhcmFudG9vbC5vcmc+Ogo+wqAKPkhpLCBNYXgKPgo+Cj50aGFua3MgZm9y IHRoZSBwYXRjaCEgU2VlIG15IGNvbW1lbnRzLgo+Cj4KPk9uIDkvMjkvMjMgMDk6MjAsIE1heGlt IEtva3J5YXNoa2luIHdyb3RlOgo+PiBGcm9tOiBNaWtlIFBhbGwgPG1pa2U+Cj4+Cj4+IFRoYW5r cyB0byBQZXRlciBDYXdsZXkuCj4+Cj4+IChjaGVycnktcGlja2VkIGZyb20gY29tbWl0IGU4Njk5 MGY3ZjI0YTk0YjA4OTcwNjFmMjVhODQ1NDdmZTExMDhiZWQpCj4+Cj4+IENvbnNpZGVyIHRoZSBm b2xsb3dpbmcgTHVhIEMgQVBJIGZ1bmN0aW9uOgo+Pgo+PiBgYGAKPj4gc3RhdGljIGludCBlcnJv cl9hZnRlcl9jb3JvdXRpbmVfcmV0dXJuKGx1YV9TdGF0ZSAqTCkKPj4gewo+PiBsdWFfU3RhdGUg KmlubmVyTCA9IGx1YV9uZXd0aHJlYWQoTCk7Cj4+IGx1YUxfbG9hZHN0cmluZyhpbm5lckwsICJw cmludCgnaW5uZXIgY29ybycpIik7Cj4+IGx1YV9wY2FsbChpbm5lckwsIDAsIDAsIDApOwo+PiBs dWFMX2Vycm9yKEwsICJteSBmYW5jeSBlcnJvciIpOwo+PiByZXR1cm4gMDsKPj4gfQo+PiBgYGAK Pj4KPj4gQW5kIHRoZSBmb2xsb3dpbmcgTHVhIHNjcmlwdDoKPj4gYGBgCj4+IGxvY2FsIGxpYmN1 cl9MID0gcmVxdWlyZSgnbGliY3VyX0wnKQo+Pgo+PiBsb2NhbCBmdW5jdGlvbiBvbmVzbmFwX2Yo dmFyKQo+PiBpZiB2YXIgdGhlbgo+PiByZXR1cm4gMQo+PiBlbHNlCj4+IHJldHVybiAwCj4+IGVu ZAo+PiBlbmQKPj4KPj4gLS0gQ29tcGlsZSBmdW5jdGlvbiB0byB0cmFjZSB3aXRoIHNuYXBzaG90 Lgo+PiBpZiBqaXQgdGhlbiBqaXQub3B0LnN0YXJ0KCdob3Rsb29wPTEnKSBlbmQKPj4gb25lc25h cF9mKHRydWUpCj4+IG9uZXNuYXBfZih0cnVlKQo+Pgo+PiBsb2NhbCByLCBzID0gcGNhbGwobGli Y3VyX0wuZXJyb3JfYWZ0ZXJfY29yb3V0aW5lX3JldHVybikKPj4gb25lc25hcF9mKGZhbHNlKQo+ PiBgYGAKPj4KPj4gVGhpcyBpcyB0aGUgb25seSBjYXNlIHdoZW4gYGN1cl9MYCBpcyBub3QgcmVz dG9yZWQsIGFjY29yZGluZyB0bwo+PiB0aGUgYW5hbHlzaXMgZG9uZSBpbiAgaHR0cHM6Ly9naXRo dWIuY29tL0x1YUpJVC9MdWFKSVQvaXNzdWVzLzEwNjYgLgo+Cj5QbGVhc2UgcmVtb3ZlIGxpbmsg dG8gdGhlIGlzc3VlIGZyb20gY29tbWl0IG1lc3NhZ2UsCj4KPnRoaXMgY291bGQgYmUgYSByZWFz b24gb2Ygc3BhbSBwaW5ncyBpbiB0aGUgaXNzdWUgaXRzZWxmLgo+Cj4+Cj4+IFRoaXMgcGF0Y2gg Y2hhbmdlcyB0aGUgZXJyb3ItY2F0Y2hpbmcgcm91dGluZSwgc28gbm93IHRoZSBwYXRjaAo+PiBz ZXRzIHRoZSBhY3R1YWwgY3VyX0wgdGhlcmUuCj4+IE5vdyBpdCBpcyBwb3NzaWJsZSB0byB0aHJv dyBlcnJvcnMgb24gbm9uLWV4ZWN1dGluZyBjb3JvdXRpbmVzLAo+PiB3aGljaCBpcyBhIHZpb2xh dGlvbiBvZiB0aGUgTHVhIEMgQVBJLiBTbywgZXZlbiB0aG91Z2ggaXQgaXMgbm93Cj4+IHBvc3Np YmxlLCB0aGF0IGJlaGF2aW9yIHNob3VsZCBiZSBhdm9pZGVkIGFueXdheS4KPj4KPj4gTWF4aW0g S29rcnlhc2hraW46Cj4+ICogYWRkZWQgdGhlIGRlc2NyaXB0aW9uIGFuZCB0aGUgdGVzdCBmb3Ig dGhlIHByb2JsZW0KPj4KPj4gUmVzb2x2ZXMgdGFyYW50b29sL3RhcmFudG9vbCM2MzIzCj4+IC0t LQo+PiBzcmMvbGpfZXJyLmMgfCA1ICsrLQo+PiB0ZXN0L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxp c3RzLnR4dCB8IDEgKwo+PiAuLi4tZml4LWN1cl9MLWFmdGVyLWNvcm91dGluZS1yZXN1bWUudGVz dC5sdWEgfCAzMiArKysrKysrKysrKysrKysrKysrCj4+IC4uLi9DTWFrZUxpc3RzLnR4dCB8IDEg Kwo+PiAuLi4vbGliY3VyX0xfY29yb3V0aW5lLmMgfCAyMiArKysrKysrKysrKysrCj4+IDUgZmls ZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+PiBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMTA2Ni1maXgtY3VyX0wtYWZ0ZXItY29y b3V0aW5lLXJlc3VtZS50ZXN0Lmx1YQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC90YXJhbnRv b2wtdGVzdHMvbGotMTA2Ni1maXgtY3VyX0wtYWZ0ZXItY29yb3V0aW5lLXJlc3VtZS9DTWFrZUxp c3RzLnR4dAo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMTA2 Ni1maXgtY3VyX0wtYWZ0ZXItY29yb3V0aW5lLXJlc3VtZS9saWJjdXJfTF9jb3JvdXRpbmUuYwo+ Pgo+PiBkaWZmIC0tZ2l0IGEvc3JjL2xqX2Vyci5jIGIvc3JjL2xqX2Vyci5jCj4+IGluZGV4IDQ2 ZmI4MWVlLi4xYTlhMmYyYiAxMDA2NDQKPj4gLS0tIGEvc3JjL2xqX2Vyci5jCj4+ICsrKyBiL3Ny Yy9sal9lcnIuYwo+PiBAQCAtMTc0LDEyICsxNzQsMTUgQEAgc3RhdGljIHZvaWQgKmVycl91bndp bmQobHVhX1N0YXRlICpMLCB2b2lkICpzdG9wY2YsIGludCBlcnJjb2RlKQo+PiBjYXNlIEZSQU1F X1BDQUxMOiAvKiBGRiBwY2FsbCgpIGZyYW1lLiAqLwo+PiBjYXNlIEZSQU1FX1BDQUxMSDogLyog RkYgcGNhbGwoKSBmcmFtZSBpbnNpZGUgaG9vay4gKi8KPj4gaWYgKGVycmNvZGUpIHsKPj4gKyBn bG9iYWxfU3RhdGUgKmc7Cj4+IGlmIChlcnJjb2RlID09IExVQV9ZSUVMRCkgewo+PiBmcmFtZSA9 IGZyYW1lX3ByZXZkKGZyYW1lKTsKPj4gYnJlYWs7Cj4+IH0KPj4gKyBnID0gRyhMKTsKPj4gKyBz ZXRnY3JlZihnLT5jdXJfTCwgb2JqMmdjbyhMKSk7Cj4+IGlmIChmcmFtZV90eXBlcChmcmFtZSkg PT0gRlJBTUVfUENBTEwpCj4+IC0gaG9va19sZWF2ZShHKEwpKTsKPj4gKyBob29rX2xlYXZlKGcp Owo+PiBMLT5iYXNlID0gZnJhbWVfcHJldmQoZnJhbWUpICsgMTsKPj4gTC0+Y2ZyYW1lID0gY2Y7 Cj4+IHVud2luZHN0YWNrKEwsIEwtPmJhc2UpOwo+PiBkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRv b2wtdGVzdHMvQ01ha2VMaXN0cy50eHQgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxpc3Rz LnR4dAo+PiBpbmRleCBjMTVkNjAzNy4uZDg0MDcyZTAgMTAwNjQ0Cj4+IC0tLSBhL3Rlc3QvdGFy YW50b29sLXRlc3RzL0NNYWtlTGlzdHMudHh0Cj4+ICsrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3Rz L0NNYWtlTGlzdHMudHh0Cj4+IEBAIC02OCw2ICs2OCw3IEBAIGFkZF9zdWJkaXJlY3RvcnkobGot NzI3LWxpZ2h0dXNlcmRhdGEtaXRlcm4pCj4+IGFkZF9zdWJkaXJlY3RvcnkobGotODAyLXBhbmlj LWF0LW1jb2RlLXByb3RmYWlsKQo+PiBhZGRfc3ViZGlyZWN0b3J5KGxqLWZsdXNoLW9uLXRyYWNl KQo+PiBhZGRfc3ViZGlyZWN0b3J5KGxqLTEwMDQtb29tLWVycm9yLWZyYW1lKQo+PiArYWRkX3N1 YmRpcmVjdG9yeShsai0xMDY2LWZpeC1jdXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lKQo+Pgo+ PiAjIFRoZSBwYXJ0IG9mIHRoZSBtZW1vcnkgcHJvZmlsZXIgdG9vbGNoYWluIGlzIGxvY2F0ZWQg aW4gdG9vbHMKPj4gIyBkaXJlY3RvcnksIGppdCwgcHJvZmlsZXIsIGFuZCBieXRlY29kZSB0b29s Y2hhaW5zIGFyZSBsb2NhdGVkCj4+IGRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9s ai0xMDY2LWZpeC1jdXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lLnRlc3QubHVhIGIvdGVzdC90 YXJhbnRvb2wtdGVzdHMvbGotMTA2Ni1maXgtY3VyX0wtYWZ0ZXItY29yb3V0aW5lLXJlc3VtZS50 ZXN0Lmx1YQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMC4uMzkxOWFl MjMKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0xMDY2 LWZpeC1jdXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lLnRlc3QubHVhCj4+IEBAIC0wLDAgKzEs MzIgQEAKPj4gK2xvY2FsIHRhcCA9IHJlcXVpcmUoJ3RhcCcpCj4+ICtsb2NhbCB0ZXN0ID0gdGFw LnRlc3QoJ2xqLTEwNjYtZml4LWN1cl9MLWFmdGVyLWNvcm91dGluZS1yZXN1bWUnKTpza2lwY29u ZCh7Cj4+ICsgWydUZXN0IHJlcXVpcmVzIEpJVCBlbmFibGVkJ10gPSBub3Qgaml0LnN0YXR1cygp LAo+PiArfSkKPj4gKwo+PiArdGVzdDpwbGFuKDEpCj4+ICsKPj4gK2xvY2FsIGxpYmN1cl9MX2Nv cm91dGluZSA9IHJlcXVpcmUoJ2xpYmN1cl9MX2Nvcm91dGluZScpCj4+ICsKPj4gK2xvY2FsIGZ1 bmN0aW9uIGNib29sKGNvbmQpCj4+ICsgaWYgY29uZCB0aGVuCj4+ICsgcmV0dXJuIDEKPj4gKyBl bHNlCj4+ICsgcmV0dXJuIDAKPj4gKyBlbmQKPj4gK2VuZAo+PiArCj4+ICstLSBDb21waWxlIGZ1 bmN0aW9uIHRvIHRyYWNlIHdpdGggc25hcHNob3QuCj4+ICtqaXQub3B0LnN0YXJ0KCdob3Rsb29w PTEnKQo+PiArLS0gRmlyc3QgY2FsbCBtYWtlcyBgY2Jvb2woKWAgaG90IGVub3VnaCB0byBiZSBy ZWNvcmRlZCBuZXh0IHRpbWUuCj4+ICtjYm9vbCh0cnVlKQo+PiArLS0gU2Vjb25kIGNhbGwgcmVj b3JkcyBgY2Jvb2woKWAgYm9keSAoaS5lLiBgaWZgIGJyYW5jaCkuIFRoaXMgaXMKPj4gKy0tIGEg cm9vdCB0cmFjZSBmb3IgYGNib29sKClgLgo+PiArY2Jvb2wodHJ1ZSkKPj4gKwo+PiArbG9jYWwg cmVzID0gcGNhbGwobGliY3VyX0xfY29yb3V0aW5lLmVycm9yX2FmdGVyX2Nvcm91dGluZV9yZXR1 cm4pCj4+ICthc3NlcnQocmVzID09IGZhbHNlLCAicmV0dXJuIGZyb20gZXJyb3IiKQo+PiArLS0g Q2FsbCB3aXRoIHJlc3RvcmF0aW9uIGZyb20gYSBzbmFwc2hvdCB3aXRoIHdyb25nIGN1cl9MLgo+ PiArY2Jvb2woZmFsc2UpCj4+ICsKPj4gK3Rlc3Q6b2sodHJ1ZSkKPj4gK3Rlc3Q6ZG9uZSh0cnVl KQo+PiBkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMTA2Ni1maXgtY3VyX0wt YWZ0ZXItY29yb3V0aW5lLXJlc3VtZS9DTWFrZUxpc3RzLnR4dCBiL3Rlc3QvdGFyYW50b29sLXRl c3RzL2xqLTEwNjYtZml4LWN1cl9MLWFmdGVyLWNvcm91dGluZS1yZXN1bWUvQ01ha2VMaXN0cy50 eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAuLmM4YTM3MzFmCj4+ IC0tLSAvZGV2L251bGwKPj4gKysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMTA2Ni1maXgt Y3VyX0wtYWZ0ZXItY29yb3V0aW5lLXJlc3VtZS9DTWFrZUxpc3RzLnR4dAo+PiBAQCAtMCwwICsx IEBACj4+ICtCdWlsZFRlc3RDTGliKGxpYmN1cl9MX2Nvcm91dGluZSBsaWJjdXJfTF9jb3JvdXRp bmUuYykKPj4gZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTEwNjYtZml4LWN1 cl9MLWFmdGVyLWNvcm91dGluZS1yZXN1bWUvbGliY3VyX0xfY29yb3V0aW5lLmMgYi90ZXN0L3Rh cmFudG9vbC10ZXN0cy9sai0xMDY2LWZpeC1jdXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lL2xp YmN1cl9MX2Nvcm91dGluZS5jCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAw MDAwLi43YTcxZDBmMAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL3Rlc3QvdGFyYW50b29sLXRl c3RzL2xqLTEwNjYtZml4LWN1cl9MLWFmdGVyLWNvcm91dGluZS1yZXN1bWUvbGliY3VyX0xfY29y b3V0aW5lLmMKPj4gQEAgLTAsMCArMSwyMiBAQAo+PiArI2luY2x1ZGUgImx1YS5oIgo+PiArI2lu Y2x1ZGUgImxhdXhsaWIuaCIKPj4gKwo+PiArc3RhdGljIGludCBlcnJvcl9hZnRlcl9jb3JvdXRp bmVfcmV0dXJuKGx1YV9TdGF0ZSAqTCkKPj4gK3sKPj4gKyBsdWFfU3RhdGUgKmlubmVyTCA9IGx1 YV9uZXd0aHJlYWQoTCk7Cj4+ICsgbHVhTF9sb2Fkc3RyaW5nKGlubmVyTCwgInByaW50KCdpbm5l ciBjb3JvJykiKTsKPj4gKyBsdWFfcGNhbGwoaW5uZXJMLCAwLCAwLCAwKTsKPj4gKyBsdWFMX2Vy cm9yKEwsICJteSBmYW5jeSBlcnJvciIpOwo+PiArIHJldHVybiAwOwo+PiArfQo+PiArCj4+ICtz dGF0aWMgY29uc3Qgc3RydWN0IGx1YUxfUmVnIGxpYmN1cl9MX2Nvcm91dGluZVtdID0gewo+PiAr IHsiZXJyb3JfYWZ0ZXJfY29yb3V0aW5lX3JldHVybiIsIGVycm9yX2FmdGVyX2Nvcm91dGluZV9y ZXR1cm59LAo+PiArIHtOVUxMLCBOVUxMfQo+PiArfTsKPj4gKwo+PiArTFVBX0FQSSBpbnQgbHVh b3Blbl9saWJjdXJfTF9jb3JvdXRpbmUobHVhX1N0YXRlICpMKQo+PiArewo+PiArIGx1YUxfcmVn aXN0ZXIoTCwgImxpYmN1cl9MX2Nvcm91dGluZSIsIGxpYmN1cl9MX2Nvcm91dGluZSk7Cj4+ICsg cmV0dXJuIDE7Cj4+ICt9CsKg ----ALT--48778e5A908A130D4390363d8A66e6571696418792 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGkhPC9kaXY+PGRpdj5UaGFua3MgZm9yIHRoZSByZXZpZXchPC9k aXY+PGRpdj5GaXhlZCB5b3VyIGNvbW1lbnQsIHRoZSBicmFuY2ggaXMgZm9yY2UtcHVzaGVkLjwv ZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRhaW5l ciI+PGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRlbnQiPjxkaXY+LS08YnI+QmVzdCBy ZWdhcmRzLDwvZGl2PjxkaXY+TWF4aW0gS29rcnlhc2hraW48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2 PiZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1s ZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+ 0JLRgtC+0YDQvdC40LosIDMg0L7QutGC0Y/QsdGA0Y8gMjAyMywgMjI6MTYgKzAzOjAwINC+0YIg U2VyZ2V5IEJyb25uaWtvdiB2aWEgVGFyYW50b29sLXBhdGNoZXMgJmx0O3RhcmFudG9vbC1wYXRj aGVzQGRldi50YXJhbnRvb2wub3JnJmd0Ozo8YnI+Jm5ic3A7PGRpdiBpZD0iIj48ZGl2IGNsYXNz PSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTY5NjM2MDYx MTA1OTUwMDA5MjZfQk9EWSI+SGksIE1heDxicj48YnI+PGJyPnRoYW5rcyBmb3IgdGhlIHBhdGNo ISBTZWUgbXkgY29tbWVudHMuPGJyPjxicj48YnI+T24gOS8yOS8yMyAwOToyMCwgTWF4aW0gS29r cnlhc2hraW4gd3JvdGU6PGJyPiZndDsgRnJvbTogTWlrZSBQYWxsICZsdDttaWtlJmd0Ozxicj4m Z3Q7PGJyPiZndDsgVGhhbmtzIHRvIFBldGVyIENhd2xleS48YnI+Jmd0Ozxicj4mZ3Q7IChjaGVy cnktcGlja2VkIGZyb20gY29tbWl0IGU4Njk5MGY3ZjI0YTk0YjA4OTcwNjFmMjVhODQ1NDdmZTEx MDhiZWQpPGJyPiZndDs8YnI+Jmd0OyBDb25zaWRlciB0aGUgZm9sbG93aW5nIEx1YSBDIEFQSSBm dW5jdGlvbjo8YnI+Jmd0Ozxicj4mZ3Q7IGBgYDxicj4mZ3Q7IHN0YXRpYyBpbnQgZXJyb3JfYWZ0 ZXJfY29yb3V0aW5lX3JldHVybihsdWFfU3RhdGUgKkwpPGJyPiZndDsgezxicj4mZ3Q7IGx1YV9T dGF0ZSAqaW5uZXJMID0gbHVhX25ld3RocmVhZChMKTs8YnI+Jmd0OyBsdWFMX2xvYWRzdHJpbmco aW5uZXJMLCAicHJpbnQoJ2lubmVyIGNvcm8nKSIpOzxicj4mZ3Q7IGx1YV9wY2FsbChpbm5lckws IDAsIDAsIDApOzxicj4mZ3Q7IGx1YUxfZXJyb3IoTCwgIm15IGZhbmN5IGVycm9yIik7PGJyPiZn dDsgcmV0dXJuIDA7PGJyPiZndDsgfTxicj4mZ3Q7IGBgYDxicj4mZ3Q7PGJyPiZndDsgQW5kIHRo ZSBmb2xsb3dpbmcgTHVhIHNjcmlwdDo8YnI+Jmd0OyBgYGA8YnI+Jmd0OyBsb2NhbCBsaWJjdXJf TCA9IHJlcXVpcmUoJ2xpYmN1cl9MJyk8YnI+Jmd0Ozxicj4mZ3Q7IGxvY2FsIGZ1bmN0aW9uIG9u ZXNuYXBfZih2YXIpPGJyPiZndDsgaWYgdmFyIHRoZW48YnI+Jmd0OyByZXR1cm4gMTxicj4mZ3Q7 IGVsc2U8YnI+Jmd0OyByZXR1cm4gMDxicj4mZ3Q7IGVuZDxicj4mZ3Q7IGVuZDxicj4mZ3Q7PGJy PiZndDsgLS0gQ29tcGlsZSBmdW5jdGlvbiB0byB0cmFjZSB3aXRoIHNuYXBzaG90Ljxicj4mZ3Q7 IGlmIGppdCB0aGVuIGppdC5vcHQuc3RhcnQoJ2hvdGxvb3A9MScpIGVuZDxicj4mZ3Q7IG9uZXNu YXBfZih0cnVlKTxicj4mZ3Q7IG9uZXNuYXBfZih0cnVlKTxicj4mZ3Q7PGJyPiZndDsgbG9jYWwg ciwgcyA9IHBjYWxsKGxpYmN1cl9MLmVycm9yX2FmdGVyX2Nvcm91dGluZV9yZXR1cm4pPGJyPiZn dDsgb25lc25hcF9mKGZhbHNlKTxicj4mZ3Q7IGBgYDxicj4mZ3Q7PGJyPiZndDsgVGhpcyBpcyB0 aGUgb25seSBjYXNlIHdoZW4gYGN1cl9MYCBpcyBub3QgcmVzdG9yZWQsIGFjY29yZGluZyB0bzxi cj4mZ3Q7IHRoZSBhbmFseXNpcyBkb25lIGluIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9M dWFKSVQvTHVhSklUL2lzc3Vlcy8xMDY2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIu Y29tL0x1YUpJVC9MdWFKSVQvaXNzdWVzLzEwNjY8L2E+Ljxicj48YnI+UGxlYXNlIHJlbW92ZSBs aW5rIHRvIHRoZSBpc3N1ZSBmcm9tIGNvbW1pdCBtZXNzYWdlLDxicj48YnI+dGhpcyBjb3VsZCBi ZSBhIHJlYXNvbiBvZiBzcGFtIHBpbmdzIGluIHRoZSBpc3N1ZSBpdHNlbGYuPGJyPjxicj4mZ3Q7 PGJyPiZndDsgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBlcnJvci1jYXRjaGluZyByb3V0aW5lLCBz byBub3cgdGhlIHBhdGNoPGJyPiZndDsgc2V0cyB0aGUgYWN0dWFsIGN1cl9MIHRoZXJlLjxicj4m Z3Q7IE5vdyBpdCBpcyBwb3NzaWJsZSB0byB0aHJvdyBlcnJvcnMgb24gbm9uLWV4ZWN1dGluZyBj b3JvdXRpbmVzLDxicj4mZ3Q7IHdoaWNoIGlzIGEgdmlvbGF0aW9uIG9mIHRoZSBMdWEgQyBBUEku IFNvLCBldmVuIHRob3VnaCBpdCBpcyBub3c8YnI+Jmd0OyBwb3NzaWJsZSwgdGhhdCBiZWhhdmlv ciBzaG91bGQgYmUgYXZvaWRlZCBhbnl3YXkuPGJyPiZndDs8YnI+Jmd0OyBNYXhpbSBLb2tyeWFz aGtpbjo8YnI+Jmd0OyAqIGFkZGVkIHRoZSBkZXNjcmlwdGlvbiBhbmQgdGhlIHRlc3QgZm9yIHRo ZSBwcm9ibGVtPGJyPiZndDs8YnI+Jmd0OyBSZXNvbHZlcyB0YXJhbnRvb2wvdGFyYW50b29sIzYz MjM8YnI+Jmd0OyAtLS08YnI+Jmd0OyBzcmMvbGpfZXJyLmMgfCA1ICsrLTxicj4mZ3Q7IHRlc3Qv dGFyYW50b29sLXRlc3RzL0NNYWtlTGlzdHMudHh0IHwgMSArPGJyPiZndDsgLi4uLWZpeC1jdXJf TC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lLnRlc3QubHVhIHwgMzIgKysrKysrKysrKysrKysrKysr Kzxicj4mZ3Q7IC4uLi9DTWFrZUxpc3RzLnR4dCB8IDEgKzxicj4mZ3Q7IC4uLi9saWJjdXJfTF9j b3JvdXRpbmUuYyB8IDIyICsrKysrKysrKysrKys8YnI+Jmd0OyA1IGZpbGVzIGNoYW5nZWQsIDYw IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSk8YnI+Jmd0OyBjcmVhdGUgbW9kZSAxMDA2NDQg dGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMTA2Ni1maXgtY3VyX0wtYWZ0ZXItY29yb3V0aW5lLXJl c3VtZS50ZXN0Lmx1YTxicj4mZ3Q7IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFudG9vbC10 ZXN0cy9sai0xMDY2LWZpeC1jdXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lL0NNYWtlTGlzdHMu dHh0PGJyPiZndDsgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvdGFyYW50b29sLXRlc3RzL2xqLTEw NjYtZml4LWN1cl9MLWFmdGVyLWNvcm91dGluZS1yZXN1bWUvbGliY3VyX0xfY29yb3V0aW5lLmM8 YnI+Jmd0Ozxicj4mZ3Q7IGRpZmYgLS1naXQgYS9zcmMvbGpfZXJyLmMgYi9zcmMvbGpfZXJyLmM8 YnI+Jmd0OyBpbmRleCA0NmZiODFlZS4uMWE5YTJmMmIgMTAwNjQ0PGJyPiZndDsgLS0tIGEvc3Jj L2xqX2Vyci5jPGJyPiZndDsgKysrIGIvc3JjL2xqX2Vyci5jPGJyPiZndDsgQEAgLTE3NCwxMiAr MTc0LDE1IEBAIHN0YXRpYyB2b2lkICplcnJfdW53aW5kKGx1YV9TdGF0ZSAqTCwgdm9pZCAqc3Rv cGNmLCBpbnQgZXJyY29kZSk8YnI+Jmd0OyBjYXNlIEZSQU1FX1BDQUxMOiAvKiBGRiBwY2FsbCgp IGZyYW1lLiAqLzxicj4mZ3Q7IGNhc2UgRlJBTUVfUENBTExIOiAvKiBGRiBwY2FsbCgpIGZyYW1l IGluc2lkZSBob29rLiAqLzxicj4mZ3Q7IGlmIChlcnJjb2RlKSB7PGJyPiZndDsgKyBnbG9iYWxf U3RhdGUgKmc7PGJyPiZndDsgaWYgKGVycmNvZGUgPT0gTFVBX1lJRUxEKSB7PGJyPiZndDsgZnJh bWUgPSBmcmFtZV9wcmV2ZChmcmFtZSk7PGJyPiZndDsgYnJlYWs7PGJyPiZndDsgfTxicj4mZ3Q7 ICsgZyA9IEcoTCk7PGJyPiZndDsgKyBzZXRnY3JlZihnLSZndDtjdXJfTCwgb2JqMmdjbyhMKSk7 PGJyPiZndDsgaWYgKGZyYW1lX3R5cGVwKGZyYW1lKSA9PSBGUkFNRV9QQ0FMTCk8YnI+Jmd0OyAt IGhvb2tfbGVhdmUoRyhMKSk7PGJyPiZndDsgKyBob29rX2xlYXZlKGcpOzxicj4mZ3Q7IEwtJmd0 O2Jhc2UgPSBmcmFtZV9wcmV2ZChmcmFtZSkgKyAxOzxicj4mZ3Q7IEwtJmd0O2NmcmFtZSA9IGNm Ozxicj4mZ3Q7IHVud2luZHN0YWNrKEwsIEwtJmd0O2Jhc2UpOzxicj4mZ3Q7IGRpZmYgLS1naXQg YS90ZXN0L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3QvdGFyYW50b29sLXRl c3RzL0NNYWtlTGlzdHMudHh0PGJyPiZndDsgaW5kZXggYzE1ZDYwMzcuLmQ4NDA3MmUwIDEwMDY0 NDxicj4mZ3Q7IC0tLSBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL0NNYWtlTGlzdHMudHh0PGJyPiZn dDsgKysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvQ01ha2VMaXN0cy50eHQ8YnI+Jmd0OyBAQCAt NjgsNiArNjgsNyBAQCBhZGRfc3ViZGlyZWN0b3J5KGxqLTcyNy1saWdodHVzZXJkYXRhLWl0ZXJu KTxicj4mZ3Q7IGFkZF9zdWJkaXJlY3RvcnkobGotODAyLXBhbmljLWF0LW1jb2RlLXByb3RmYWls KTxicj4mZ3Q7IGFkZF9zdWJkaXJlY3RvcnkobGotZmx1c2gtb24tdHJhY2UpPGJyPiZndDsgYWRk X3N1YmRpcmVjdG9yeShsai0xMDA0LW9vbS1lcnJvci1mcmFtZSk8YnI+Jmd0OyArYWRkX3N1YmRp cmVjdG9yeShsai0xMDY2LWZpeC1jdXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lKTxicj4mZ3Q7 PGJyPiZndDsgIyBUaGUgcGFydCBvZiB0aGUgbWVtb3J5IHByb2ZpbGVyIHRvb2xjaGFpbiBpcyBs b2NhdGVkIGluIHRvb2xzPGJyPiZndDsgIyBkaXJlY3RvcnksIGppdCwgcHJvZmlsZXIsIGFuZCBi eXRlY29kZSB0b29sY2hhaW5zIGFyZSBsb2NhdGVkPGJyPiZndDsgZGlmZiAtLWdpdCBhL3Rlc3Qv dGFyYW50b29sLXRlc3RzL2xqLTEwNjYtZml4LWN1cl9MLWFmdGVyLWNvcm91dGluZS1yZXN1bWUu dGVzdC5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0xMDY2LWZpeC1jdXJfTC1hZnRlci1j b3JvdXRpbmUtcmVzdW1lLnRlc3QubHVhPGJyPiZndDsgbmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+ Jmd0OyBpbmRleCAwMDAwMDAwMC4uMzkxOWFlMjM8YnI+Jmd0OyAtLS0gL2Rldi9udWxsPGJyPiZn dDsgKysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotMTA2Ni1maXgtY3VyX0wtYWZ0ZXItY29y b3V0aW5lLXJlc3VtZS50ZXN0Lmx1YTxicj4mZ3Q7IEBAIC0wLDAgKzEsMzIgQEA8YnI+Jmd0OyAr bG9jYWwgdGFwID0gcmVxdWlyZSgndGFwJyk8YnI+Jmd0OyArbG9jYWwgdGVzdCA9IHRhcC50ZXN0 KCdsai0xMDY2LWZpeC1jdXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lJyk6c2tpcGNvbmQoezxi cj4mZ3Q7ICsgWydUZXN0IHJlcXVpcmVzIEpJVCBlbmFibGVkJ10gPSBub3Qgaml0LnN0YXR1cygp LDxicj4mZ3Q7ICt9KTxicj4mZ3Q7ICs8YnI+Jmd0OyArdGVzdDpwbGFuKDEpPGJyPiZndDsgKzxi cj4mZ3Q7ICtsb2NhbCBsaWJjdXJfTF9jb3JvdXRpbmUgPSByZXF1aXJlKCdsaWJjdXJfTF9jb3Jv dXRpbmUnKTxicj4mZ3Q7ICs8YnI+Jmd0OyArbG9jYWwgZnVuY3Rpb24gY2Jvb2woY29uZCk8YnI+ Jmd0OyArIGlmIGNvbmQgdGhlbjxicj4mZ3Q7ICsgcmV0dXJuIDE8YnI+Jmd0OyArIGVsc2U8YnI+ Jmd0OyArIHJldHVybiAwPGJyPiZndDsgKyBlbmQ8YnI+Jmd0OyArZW5kPGJyPiZndDsgKzxicj4m Z3Q7ICstLSBDb21waWxlIGZ1bmN0aW9uIHRvIHRyYWNlIHdpdGggc25hcHNob3QuPGJyPiZndDsg K2ppdC5vcHQuc3RhcnQoJ2hvdGxvb3A9MScpPGJyPiZndDsgKy0tIEZpcnN0IGNhbGwgbWFrZXMg YGNib29sKClgIGhvdCBlbm91Z2ggdG8gYmUgcmVjb3JkZWQgbmV4dCB0aW1lLjxicj4mZ3Q7ICtj Ym9vbCh0cnVlKTxicj4mZ3Q7ICstLSBTZWNvbmQgY2FsbCByZWNvcmRzIGBjYm9vbCgpYCBib2R5 IChpLmUuIGBpZmAgYnJhbmNoKS4gVGhpcyBpczxicj4mZ3Q7ICstLSBhIHJvb3QgdHJhY2UgZm9y IGBjYm9vbCgpYC48YnI+Jmd0OyArY2Jvb2wodHJ1ZSk8YnI+Jmd0OyArPGJyPiZndDsgK2xvY2Fs IHJlcyA9IHBjYWxsKGxpYmN1cl9MX2Nvcm91dGluZS5lcnJvcl9hZnRlcl9jb3JvdXRpbmVfcmV0 dXJuKTxicj4mZ3Q7ICthc3NlcnQocmVzID09IGZhbHNlLCAicmV0dXJuIGZyb20gZXJyb3IiKTxi cj4mZ3Q7ICstLSBDYWxsIHdpdGggcmVzdG9yYXRpb24gZnJvbSBhIHNuYXBzaG90IHdpdGggd3Jv bmcgY3VyX0wuPGJyPiZndDsgK2Nib29sKGZhbHNlKTxicj4mZ3Q7ICs8YnI+Jmd0OyArdGVzdDpv ayh0cnVlKTxicj4mZ3Q7ICt0ZXN0OmRvbmUodHJ1ZSk8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVz dC90YXJhbnRvb2wtdGVzdHMvbGotMTA2Ni1maXgtY3VyX0wtYWZ0ZXItY29yb3V0aW5lLXJlc3Vt ZS9DTWFrZUxpc3RzLnR4dCBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTEwNjYtZml4LWN1cl9M LWFmdGVyLWNvcm91dGluZS1yZXN1bWUvQ01ha2VMaXN0cy50eHQ8YnI+Jmd0OyBuZXcgZmlsZSBt b2RlIDEwMDY0NDxicj4mZ3Q7IGluZGV4IDAwMDAwMDAwLi5jOGEzNzMxZjxicj4mZ3Q7IC0tLSAv ZGV2L251bGw8YnI+Jmd0OyArKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0xMDY2LWZpeC1j dXJfTC1hZnRlci1jb3JvdXRpbmUtcmVzdW1lL0NNYWtlTGlzdHMudHh0PGJyPiZndDsgQEAgLTAs MCArMSBAQDxicj4mZ3Q7ICtCdWlsZFRlc3RDTGliKGxpYmN1cl9MX2Nvcm91dGluZSBsaWJjdXJf TF9jb3JvdXRpbmUuYyk8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMv bGotMTA2Ni1maXgtY3VyX0wtYWZ0ZXItY29yb3V0aW5lLXJlc3VtZS9saWJjdXJfTF9jb3JvdXRp bmUuYyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTEwNjYtZml4LWN1cl9MLWFmdGVyLWNvcm91 dGluZS1yZXN1bWUvbGliY3VyX0xfY29yb3V0aW5lLmM8YnI+Jmd0OyBuZXcgZmlsZSBtb2RlIDEw MDY0NDxicj4mZ3Q7IGluZGV4IDAwMDAwMDAwLi43YTcxZDBmMDxicj4mZ3Q7IC0tLSAvZGV2L251 bGw8YnI+Jmd0OyArKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai0xMDY2LWZpeC1jdXJfTC1h ZnRlci1jb3JvdXRpbmUtcmVzdW1lL2xpYmN1cl9MX2Nvcm91dGluZS5jPGJyPiZndDsgQEAgLTAs MCArMSwyMiBAQDxicj4mZ3Q7ICsjaW5jbHVkZSAibHVhLmgiPGJyPiZndDsgKyNpbmNsdWRlICJs YXV4bGliLmgiPGJyPiZndDsgKzxicj4mZ3Q7ICtzdGF0aWMgaW50IGVycm9yX2FmdGVyX2Nvcm91 dGluZV9yZXR1cm4obHVhX1N0YXRlICpMKTxicj4mZ3Q7ICt7PGJyPiZndDsgKyBsdWFfU3RhdGUg KmlubmVyTCA9IGx1YV9uZXd0aHJlYWQoTCk7PGJyPiZndDsgKyBsdWFMX2xvYWRzdHJpbmcoaW5u ZXJMLCAicHJpbnQoJ2lubmVyIGNvcm8nKSIpOzxicj4mZ3Q7ICsgbHVhX3BjYWxsKGlubmVyTCwg MCwgMCwgMCk7PGJyPiZndDsgKyBsdWFMX2Vycm9yKEwsICJteSBmYW5jeSBlcnJvciIpOzxicj4m Z3Q7ICsgcmV0dXJuIDA7PGJyPiZndDsgK308YnI+Jmd0OyArPGJyPiZndDsgK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbHVhTF9SZWcgbGliY3VyX0xfY29yb3V0aW5lW10gPSB7PGJyPiZndDsgKyB7ImVy cm9yX2FmdGVyX2Nvcm91dGluZV9yZXR1cm4iLCBlcnJvcl9hZnRlcl9jb3JvdXRpbmVfcmV0dXJu fSw8YnI+Jmd0OyArIHtOVUxMLCBOVUxMfTxicj4mZ3Q7ICt9Ozxicj4mZ3Q7ICs8YnI+Jmd0OyAr TFVBX0FQSSBpbnQgbHVhb3Blbl9saWJjdXJfTF9jb3JvdXRpbmUobHVhX1N0YXRlICpMKTxicj4m Z3Q7ICt7PGJyPiZndDsgKyBsdWFMX3JlZ2lzdGVyKEwsICJsaWJjdXJfTF9jb3JvdXRpbmUiLCBs aWJjdXJfTF9jb3JvdXRpbmUpOzxicj4mZ3Q7ICsgcmV0dXJuIDE7PGJyPiZndDsgK308L2Rpdj48 L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj4mbmJzcDs8L2Rpdj48L0JPRFk+PC9I VE1MPgo= ----ALT--48778e5A908A130D4390363d8A66e6571696418792--