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 5395B7232E3; Wed, 6 Dec 2023 18:07:13 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 5395B7232E3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1701875233; bh=3uz/qIa9e3LUIgezYMFjTiOhRbMbQb/udRlIryGXYa4=; 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=HJha4Qesshw/D2NDYjWUCzoncITdjf9uQY7znuPnuwB0bDpvAvcVupPLFs4fOa4jL FgyJpKwLmWe/hAduC/AtT4YWVDRNUTDG8Os/OB9HbQR9PV5D90cYnyRdRF2yP4D7l3 +KsZg1mmbRe8QoIMAWmThfPoOBcCrC3SZTnKNTD8= Received: from f329.i.mail.ru (f329.i.mail.ru [45.84.128.142]) (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 C89EF6B7200 for ; Wed, 6 Dec 2023 18:07:11 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org C89EF6B7200 Received: by f329.i.mail.ru with local (envelope-from ) id 1rAtUU-0002Jo-A5; Wed, 06 Dec 2023 18:07:10 +0300 Received: by e.mail.ru with HTTP; Wed, 06 Dec 2023 18:07:10 +0300 To: =?UTF-8?B?U2VyZ2V5IEJyb25uaWtvdg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 17008285690419145462 X-SenderField-Remind: 0 Date: Wed, 06 Dec 2023 18:07:10 +0300 Message-ID: <1701875230.476933162@f762.i.mail.ru> X-Priority: 3 (Normal) Content-Type: multipart/alternative; boundary="--ALT--8f76133DB193C4882Bf980c82F41844e1701875230" In-Reply-To: <45b0a53a-c85a-44cd-ba43-6df62d76befa@tarantool.org> References: <20231122143534.11330-1-max.kokryashkin@gmail.com> <20231122143534.11330-2-max.kokryashkin@gmail.com> <45b0a53a-c85a-44cd-ba43-6df62d76befa@tarantool.org> X-Mailru-Src: fe X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C89EAF21FBB369C359C8CF612B453ECFC9004A0A8FFD797658FD872164937FA4C34B1EF819970D91E9BDE19209ECEEDF142C685D5C959F621210EFB3F061D7FAF X-B7AD71C0: 6FEFE4C63DFE2D85718F43753FD9AD21390936EE2A242988633761F9DFDC81E9F873FC07BF6675C4C89C342AC3721EBB X-C1DE0DAB: 0D63561A33F958A55901EE64DB76F4874C95D04B43E8DBD9F35FE6A44186B444F87CCE6106E1FC07E67D4AC08A07B9B0AD0E433DBF1FBFA3CB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0ADE2815F1F17DA7190716CD42B3DD1D34C6A8C9D3D02BBDF95C309C3DCA0696D78260EF15A5F976C66D9CF9183CA9A19A3995CD4BB3311334EE8C81CF76ADC7EB204482184CDF258B60418BC8E7D6EDF22CCCD6E56942C8645EFD5F92BBFF2871F3337CA05E7731B2EEE3B44FECB6B2E88CA0DA1748C802944B6C6411D86935C89514B84AEA3032DB463D76BF08FF1C992ED6A17656DB59BCAD427812AF56FC65B X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhGG9kRkisUtWFxasz0biIDQ== X-Mailru-MI: 1000000000800 X-Mailru-Sender: 11C2EC085EDE56FA38FD4C59F7EFE407290F369F5265D979C290D49B20D8F1C3C0BC4D69BC2616C606CD02445D2D9C8FA2BFD6D8330F0C2D563E610FBBDBB4C842051EA7CBBFB509093DA5C00B83CE8412EB40C6FA10D71EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: OK Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_v3_1/3=5D_Improve_?= =?utf-8?q?error_reporting_on_stack_overflow=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?TWFrc2ltIEtva3J5YXNoa2lu?= , tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--8f76133DB193C4882Bf980c82F41844e1701875230 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIHJldmlldyEKVGhlIHRlc3QgY2FzZSBpbmRlZWQg ZmFpbHMgb25seSBmb3IgdGhlIEdDNjQgbW9kZSBiZWZvcmUgdGhlIHBhdGNoLgpJJ3ZlIHRyaWVk IHRvIG1ha2UgaXQgZmFpbCBmb3Igbm9uLUdDNjQgbW9kZSwgYnV0IHRoZSBzYW1lIGlzc3VlIGFy aXNlZCDigJQKYW4gYXJiaXRyYXJ5IGFtb3VudCBvZiBzbG90cyBuZWVkZWQsIGFuZCB0aGF0IGFt b3VudCBuZWVkcyB0byBiZSBtb2RpZmllZAplYWNoIHRpbWUgdGhlcmUgaXMgYSBtaW5vciBjaGFu Z2UgaW4gdGhlIEx1YSBzdGFjayBiZWhhdmlvci4gV2l0aCB0aGF0IGluCm1pbmQsIEnigJl2ZSBk ZWNpZGVkIHRvIGxlYXZlIGl0IGFzIGl0IGlzLiBBZGRlZCBhIGNvbW1lbnQgYW5kIG1vZGlmaWVk IHRoZQpjb21taXQgbWVzc2FnZS4gVGhlIG5ldyBjb21taXQgbWVzc2FnZToKPT09CkltcHJvdmUg ZXJyb3IgcmVwb3J0aW5nIG9uIHN0YWNrIG92ZXJmbG93LgrCoApUaGFua3MgdG8gTmljb2xhcyBM ZWJlZGVuY28uCsKgCihjaGVycnktcGlja2VkIGZyb20gY29tbWl0IDgxMzVkZTJhMDIwNGU2YWNk OTJiMjMxMTMxYzRhMWUwYmUwM2FjMWMpCsKgClRoZSBgbGpfc3RhdGVfZ3Jvd3N0YWNrYCBkb2Vz bid0IGFjY291bnQgZm9yIGEgcG90ZW50aWFsIGVycm9yCmhhbmRsZXIgaW52b2NhdGlvbiBieSBg eHBjYWxsYCwgd2hpY2ggbWF5IGxlYWQgdG8gdGhlIHNlY29uZAplcnJvciB3aGlsZSBoYW5kbGlu ZyBhIHN0YWNrIG92ZXJmbG93LCByZXN1bHRpbmcgaW4gYSBtaXNsZWFkaW5nCmVycm9yICJlcnJv ciBpbiBlcnJvciBoYW5kbGluZyIsIHdoaWxlIHRoZSByZWFsIGlzc3VlIGlzIGEgc3RhY2sKb3Zl cmZsb3cuIFRoaXMgcGF0Y2ggYWRkcmVzc2VzIHRoaXMgaXNzdWUgYnkgZml4aW5nIHRoZSBjb25k aXRpb24KYXQgd2hpY2ggc3RhY2sgb3ZlcmZsb3cgZXJyb3JzIGFyZSB0aHJvd24uIE5vdyBpdCdz IHRocm93biBpZiB0aGUKc3RhY2sgc2l6ZSBpcyBhdCBsZWFzdCBhdCB0aGUgbGltaXQsIGluc3Rl YWQgb2Ygd2hlbiBpdCBpcyBvdmVyCnRoZSBsaW1pdC4KwqAKVGhlIHRlc3QgY2FzZSBpcyB2ZXJ5 IGZyYWdpbGUsIGFuZCB0aGUgaXNzdWUgaXMgaGFyZCB0byByZXByb2R1Y2UKaW4gYSByb2J1c3Qg d2F5LiBUaGUgcHJvdmlkZWQgcmVwcm9kdWNlciBmYWlsZWQgYmVmb3JlIHRoZSBwYXRjaApmb3Ig R0M2NCBtb2RlIG9ubHkuIE5vbi1HQzY0IG1vZGUgcmVxdWlyZXMgYW4gYXJiaXRyYXJ5IG51bWJl cgpvZiBzdGFjayBzbG90cyB0byBiZSBmaWxsZWQsIHdoaWNoIGlzIGV2ZW4gbW9yZSBmcmFnaWxl LgrCoApUaGlzIGNvbW1pdCBhbHNvIGRpc2FibGVzIHRoZSBzZWNvbmQgdGVzdCBmcm9tCmBsai02 MDMtZXJyLXNuYXAtcmVzdG9yZWAsIHNpbmNlIGFmdGVyIHRoaXMgcGF0Y2ggYW5kIHRoZSB0d28K Zm9sbG93LXVwcyBmb3IgaXQsIHRoZXJlIGlzIG5vIHN1Y2ggYW1vdW50IG9mIHN0YWNrIHNsb3Rz IHdpdGgKd2hpY2ggdGhlIHRlc3Qgd29ya3MgdGhlIHdheSBpdCBzaG91bGQuCsKgCkxhc3RseSwg dGhpcyBwYXRjaCBhZGRzIGFuIGFsdGVybmF0aXZlIHRvIGBsdWFjbWRgIHRvIHRoZQpgdXRpbHMu ZXhlY2AgbW9kdWxlLCB3aGljaCBpcyBjYWxsZWQgYGx1YWJpbmAuIFRoYXQgZnVuY3Rpb24gaXMK c2ltaWxhciB0byB0aGUgYGx1YWNtZGAsIHdpdGggdGhlIG9ubHkgZGlmZmVyZW5jZSBvZiByZXR1 cm5pbmcKb25seSB0aGUgZXhlY3V0YWJsZSBpdHNlbGYgd2l0aG91dCBhbnkgYWRkaXRpb25hbCBD TEkgb3B0aW9ucwpwYXNzZWQuCsKgCk1heGltIEtva3J5YXNoa2luOgoqIGFkZGVkIHRoZSBkZXNj cmlwdGlvbiBhbmQgdGhlIHRlc3QgZm9yIHRoZSBwcm9ibGVtCsKgClBhcnQgb2YgdGFyYW50b29s L3RhcmFudG9vbCM5MTQ1Cj09PQrCoApBbmQgdGhlIGRpZmYgZm9yIHRoZcKgY29tbWVudDoKPT09 CmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai05NjItc3RhY2stb3ZlcmZsb3ct cmVwb3J0LnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTYyLXN0YWNrLW92ZXJm bG93LXJlcG9ydC50ZXN0Lmx1YQppbmRleCA0NWE4ODhmNC4uZTVmOWQ5YTQgMTAwNjQ0Ci0tLSBh L3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTk2Mi1zdGFjay1vdmVyZmxvdy1yZXBvcnQudGVzdC5s dWEKKysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9y dC50ZXN0Lmx1YQpAQCAtMyw2ICszLDEyIEBAIGxvY2FsIHRhcCA9IHJlcXVpcmUoJ3RhcCcpCsKg bG9jYWwgdGVzdCA9IHRhcC50ZXN0KCdsai05NjItc3RhY2stb3ZlcmZsb3ctcmVwb3J0JykKwqB0 ZXN0OnBsYW4oMSkKwqAKKy0tIFhYWDogVGhlIHRlc3QgY2FzZSBpcyB2ZXJ5IGZyYWdpbGUsIGFu ZCB0aGUgaXNzdWUgaXMgaGFyZCB0bworLS0gcmVwcm9kdWNlIGluIGEgcm9idXN0IHdheS4gVGhl IHByb3ZpZGVkIHJlcHJvZHVjZXIgZmFpbGVkCistLSBiZWZvcmUgdGhlIHBhdGNoIGZvciBHQzY0 IG1vZGUgb25seS4gTm9uLUdDNjQgbW9kZSByZXF1aXJlcworLS0gYW4gYXJiaXRyYXJ5IG51bWJl ciBvZiBzdGFjayBzbG90cyB0byBiZSBmaWxsZWQsIHdoaWNoIGlzCistLSBldmVuIG1vcmUgZnJh Z2lsZS4KKwrCoGxvY2FsIExVQUJJTiA9IHJlcXVpcmUoJ3V0aWxzJykuZXhlYy5sdWFiaW4oYXJn KQrCoGxvY2FsIFNDUklQVCA9IGFyZ1swXTpnc3ViKCclLnRlc3QlLmx1YSQnLCAnL3NjcmlwdC5s dWEnKQrCoGxvY2FsIG91dHB1dCA9IGlvLnBvcGVuKExVQUJJTiAuLiAnIDI+JjEgJyAuLiBTQ1JJ UFQsICdyJyk6cmVhZCgnKmFsbCcpCsKgCj09PQotLQpCZXN0IHJlZ2FyZHMsCk1heGltIEtva3J5 YXNoa2luCsKgCsKgIAo+0J/Rj9GC0L3QuNGG0LAsIDI0INC90L7Rj9Cx0YDRjyAyMDIzLCAxNToy MiArMDM6MDAg0L7RgiBTZXJnZXkgQnJvbm5pa292IDxzZXJnZXliQHRhcmFudG9vbC5vcmc+Ogo+ wqAKPkhlbGxvLCBNYXgKPgo+dGhhbmtzIGZvciB0aGUgcGF0Y2ghCj4KPnByb3Bvc2VkIHRlc3Qg aXMgcGFzc2VkIGFmdGVyIHJldmVydGluZyBhIGZpeAo+Cj4KPk9uIDExLzIyLzIzIDE3OjM1LCBN YWtzaW0gS29rcnlhc2hraW4gd3JvdGU6Cj4+IEZyb206IE1pa2UgUGFsbCA8bWlrZT4KPj4KPj4g VGhhbmtzIHRvIE5pY29sYXMgTGViZWRlbmNvLgo+Pgo+PiAoY2hlcnJ5LXBpY2tlZCBmcm9tIGNv bW1pdCA4MTM1ZGUyYTAyMDRlNmFjZDkyYjIzMTEzMWM0YTFlMGJlMDNhYzFjKQo+Pgo+PiBUaGUg YGxqX3N0YXRlX2dyb3dzdGFja2AgZG9lc24ndCBhY2NvdW50IGZvciBhIHBvdGVudGlhbCBlcnJv cgo+PiBoYW5kbGVyIGludm9jYXRpb24gYnkgYHhwY2FsbGAsIHdoaWNoIG1heSBsZWFkIHRvIHRo ZSBzZWNvbmQKPj4gZXJyb3Igd2hpbGUgaGFuZGxpbmcgYSBzdGFjayBvdmVyZmxvdywgcmVzdWx0 aW5nIGluIGEgbWlzbGVhZGluZwo+PiBlcnJvciAiZXJyb3IgaW4gZXJyb3IgaGFuZGxpbmciLCB3 aGlsZSB0aGUgcmVhbCBpc3N1ZSBpcyBhIHN0YWNrCj4+IG92ZXJmbG93LiBUaGlzIHBhdGNoIGFk ZHJlc3NlcyB0aGlzIGlzc3VlIGJ5IGZpeGluZyB0aGUgY29uZGl0aW9uCj4+IGF0IHdoaWNoIHN0 YWNrIG92ZXJmbG93IGVycm9ycyBhcmUgdGhyb3duLiBOb3cgaXQncyB0aHJvd24gaWYgdGhlCj4+ IHN0YWNrIHNpemUgaXMgYXQgbGVhc3QgYXQgdGhlIGxpbWl0LCBpbnN0ZWFkIG9mIHdoZW4gaXQg aXMgb3Zlcgo+PiB0aGUgbGltaXQuCj4+Cj4+IFRoaXMgY29tbWl0IGFsc28gZGlzYWJsZXMgdGhl IHNlY29uZCB0ZXN0IGZyb20KPj4gYGxqLTYwMy1lcnItc25hcC1yZXN0b3JlYCwgc2luY2UgYWZ0 ZXIgdGhpcyBwYXRjaCBhbmQgdGhlIHR3bwo+PiBmb2xsb3ctdXBzIGZvciBpdCwgdGhlcmUgaXMg bm8gc3VjaCBhbW91bnQgb2Ygc3RhY2sgc2xvdHMgd2l0aAo+PiB3aGljaCB0aGUgdGVzdCB3b3Jr cyB0aGUgd2F5IGl0IHNob3VsZC4KPj4KPj4gTGFzdGx5LCB0aGlzIHBhdGNoIGFkZHMgYW4gYWx0 ZXJuYXRpdmUgdG8gYGx1YWNtZGAgdG8gdGhlCj4+IGB1dGlscy5leGVjYCBtb2R1bGUsIHdoaWNo IGlzIGNhbGxlZCBgbHVhYmluYC4gVGhhdCBmdW5jdGlvbiBpcwo+PiBzaW1pbGFyIHRvIHRoZSBg bHVhY21kYCwgd2l0aCB0aGUgb25seSBkaWZmZXJlbmNlIG9mIHJldHVybmluZwo+PiBvbmx5IHRo ZSBleGVjdXRhYmxlIGl0c2VsZiB3aXRob3V0IGFueSBhZGRpdGlvbmFsIENMSSBvcHRpb25zCj4+ IHBhc3NlZC4KPj4KPj4gTWF4aW0gS29rcnlhc2hraW46Cj4+ICogYWRkZWQgdGhlIGRlc2NyaXB0 aW9uIGFuZCB0aGUgdGVzdCBmb3IgdGhlIHByb2JsZW0KPj4KPj4gUGFydCBvZiB0YXJhbnRvb2wv dGFyYW50b29sIzkxNDUKPj4gLS0tCj4+IHNyYy9sal9zdGF0ZS5jIHwgMiArLQo+PiAuLi4vbGot NjAzLWVyci1zbmFwLXJlc3RvcmUudGVzdC5sdWEgfCAxICsKPj4gLi4uL2xqLTk2Mi1zdGFjay1v dmVyZmxvdy1yZXBvcnQudGVzdC5sdWEgfCAxMCArKysrKysrKysrCj4+IC4uLi9sai05NjItc3Rh Y2stb3ZlcmZsb3ctcmVwb3J0L3NjcmlwdC5sdWEgfCAzICsrKwo+PiB0ZXN0L3RhcmFudG9vbC10 ZXN0cy91dGlscy9leGVjLmx1YSB8IDE1ICsrKysrKysrKysrKy0tLQo+PiA1IGZpbGVzIGNoYW5n ZWQsIDI3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4+IGNyZWF0ZSBtb2RlIDEwMDY0 NCB0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai05NjItc3RhY2stb3ZlcmZsb3ctcmVwb3J0LnRlc3Qu bHVhCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai05NjItc3Rh Y2stb3ZlcmZsb3ctcmVwb3J0L3NjcmlwdC5sdWEKPj4KPj4gZGlmZiAtLWdpdCBhL3NyYy9sal9z dGF0ZS5jIGIvc3JjL2xqX3N0YXRlLmMKPj4gaW5kZXggNjg0MzM2ZDUuLjc2MTUzYmFkIDEwMDY0 NAo+PiAtLS0gYS9zcmMvbGpfc3RhdGUuYwo+PiArKysgYi9zcmMvbGpfc3RhdGUuYwo+PiBAQCAt MTMyLDcgKzEzMiw3IEBAIHZvaWQgTEpfRkFTVENBTEwgbGpfc3RhdGVfZ3Jvd3N0YWNrKGx1YV9T dGF0ZSAqTCwgTVNpemUgbmVlZCkKPj4gbiA9IExKX1NUQUNLX01BWDsKPj4gfQo+PiByZXNpemVz dGFjayhMLCBuKTsKPj4gLSBpZiAoTC0+c3RhY2tzaXplID4gTEpfU1RBQ0tfTUFYRVgpCj4+ICsg aWYgKEwtPnN0YWNrc2l6ZSA+PSBMSl9TVEFDS19NQVhFWCkKPj4gbGpfZXJyX21zZyhMLCBMSl9F UlJfU1RLT1YpOwo+PiB9Cj4+Cj4+IGRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9s ai02MDMtZXJyLXNuYXAtcmVzdG9yZS50ZXN0Lmx1YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xq LTYwMy1lcnItc25hcC1yZXN0b3JlLnRlc3QubHVhCj4+IGluZGV4IDk2ZWJmOTJjLi5mNWM4NDc0 ZiAxMDA2NDQKPj4gLS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNjAzLWVyci1zbmFwLXJl c3RvcmUudGVzdC5sdWEKPj4gKysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNjAzLWVyci1z bmFwLXJlc3RvcmUudGVzdC5sdWEKPj4gQEAgLTM2LDYgKzM2LDcgQEAgbG9jYWwgZnVuY3Rpb24g ZG9fdGVzdCgpCj4+IC0tIFRhcmFudG9vbCBhdCBzdGFydCwgc28ganVzdCBza2lwIHRlc3QgZm9y IGl0Lgo+PiAtLSBsdWFjaGVjazogbm8gZ2xvYmFsCj4+IFsnRGlzYWJsZSB0ZXN0IGZvciBUYXJh bnRvb2wnXSA9IF9UQVJBTlRPT0wsCj4+ICsgWydTdGFjayBvdmVyZmxvdyBpcyBub3cgaGFuZGxl ZCBkaWZmZXJlbnRseSddID0gdHJ1ZSwKPj4gfSkKPj4KPj4gdGVzdDpvayhub3QgaGFuZGxlcl9p c19jYWxsZWQpCj4+IGRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai05NjItc3Rh Y2stb3ZlcmZsb3ctcmVwb3J0LnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTYy LXN0YWNrLW92ZXJmbG93LXJlcG9ydC50ZXN0Lmx1YQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ PiBpbmRleCAwMDAwMDAwMC4uNDVhODg4ZjQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi90ZXN0 L3RhcmFudG9vbC10ZXN0cy9sai05NjItc3RhY2stb3ZlcmZsb3ctcmVwb3J0LnRlc3QubHVhCj4+ IEBAIC0wLDAgKzEsMTAgQEAKPj4gK2xvY2FsIHRhcCA9IHJlcXVpcmUoJ3RhcCcpCj4+ICstLSBU aGUgdGVzdCByZXByb2R1Y2VzIHRoZSBwcm9ibGVtIG9ubHkgZm9yIEdDNjQgbW9kZSB3aXRoIGVu YWJsZWQgSklULgo+PiArbG9jYWwgdGVzdCA9IHRhcC50ZXN0KCdsai05NjItc3RhY2stb3ZlcmZs b3ctcmVwb3J0JykKPj4gK3Rlc3Q6cGxhbigxKQo+PiArCj4+ICtsb2NhbCBMVUFCSU4gPSByZXF1 aXJlKCd1dGlscycpLmV4ZWMubHVhYmluKGFyZykKPj4gK2xvY2FsIFNDUklQVCA9IGFyZ1swXTpn c3ViKCclLnRlc3QlLmx1YSQnLCAnL3NjcmlwdC5sdWEnKQo+PiArbG9jYWwgb3V0cHV0ID0gaW8u cG9wZW4oTFVBQklOIC4uICcgMj4mMSAnIC4uIFNDUklQVCwgJ3InKTpyZWFkKCcqYWxsJykKPj4g K3Rlc3Q6bGlrZShvdXRwdXQsICdzdGFjayBvdmVyZmxvdycsICdzdGFjayBvdmVyZmxvdyByZXBv cnRlZCBjb3JyZWN0bHknKQo+PiArdGVzdDpkb25lKHRydWUpCj4+IGRpZmYgLS1naXQgYS90ZXN0 L3RhcmFudG9vbC10ZXN0cy9sai05NjItc3RhY2stb3ZlcmZsb3ctcmVwb3J0L3NjcmlwdC5sdWEg Yi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai05NjItc3RhY2stb3ZlcmZsb3ctcmVwb3J0L3Njcmlw dC5sdWEKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAuLjMxYzVjYTMz Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTYyLXN0 YWNrLW92ZXJmbG93LXJlcG9ydC9zY3JpcHQubHVhCj4+IEBAIC0wLDAgKzEsMyBAQAo+PiArLS0g WFhYOiBGdW5jdGlvbiBgZmAgaXMgZ2xvYmFsIHRvIGF2b2lkIHVzaW5nIGFuIGFkZGl0aW9uYWwg c3RhY2sgc2xvdC4KPj4gKy0tIGx1YWNoZWNrOiBubyBnbG9iYWwKPj4gK2YgPSBmdW5jdGlvbigp IGYoKSBlbmQ7IGYoKQo+PiBkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMv ZXhlYy5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy91dGlscy9leGVjLmx1YQo+PiBpbmRleCBh NTZjYTJkYy4uNDhhMDhiYTUgMTAwNjQ0Cj4+IC0tLSBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0 aWxzL2V4ZWMubHVhCj4+ICsrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2V4ZWMubHVh Cj4+IEBAIC0xLDE0ICsxLDIzIEBACj4+IGxvY2FsIE0gPSB7fQo+Pgo+PiAtZnVuY3Rpb24gTS5s dWFjbWQoYXJncykKPj4gK2xvY2FsIGZ1bmN0aW9uIGV4ZWN1dGFibGVfaWR4KGFyZ3MpCj4+IC0t IGFyZ1stMV0gaXMgZ3VhcmFudGVlZCB0byBiZSBub3QgbmlsLgo+PiBsb2NhbCBpZHggPSAtMgo+ PiB3aGlsZSBhcmdzW2lkeF0gZG8KPj4gYXNzZXJ0KHR5cGUoYXJnc1tpZHhdKSA9PSAnc3RyaW5n JywgJ0NvbW1hbmQgcGFydCBoYXZlIHRvIGJlIGEgc3RyaW5nJykKPj4gaWR4ID0gaWR4IC0gMQo+ PiBlbmQKPj4gLSAtLSByZXR1cm4gdGhlIGZ1bGwgY29tbWFuZCB3aXRoIGZsYWdzLgo+PiAtIHJl dHVybiB0YWJsZS5jb25jYXQoYXJncywgJyAnLCBpZHggKyAxLCAtMSkKPj4gKyByZXR1cm4gaWR4 ICsgMQo+PiArZW5kCj4+ICsKPj4gK2Z1bmN0aW9uIE0ubHVhYmluKGFyZ3MpCj4+ICsgLS0gUmV0 dXJuIG9ubHkgdGhlIGV4ZWN1dGFibGUuCj4+ICsgcmV0dXJuIGFyZ3NbZXhlY3V0YWJsZV9pZHgo YXJncyldCj4+ICtlbmQKPj4gKwo+PiArZnVuY3Rpb24gTS5sdWFjbWQoYXJncykKPj4gKyAtLSBS ZXR1cm4gdGhlIGZ1bGwgY29tbWFuZCB3aXRoIGZsYWdzLgo+PiArIHJldHVybiB0YWJsZS5jb25j YXQoYXJncywgJyAnLCBleGVjdXRhYmxlX2lkeChhcmdzKSwgLTEpCj4+IGVuZAo+Pgo+PiBsb2Nh bCBmdW5jdGlvbiBtYWtlZW52KHRhYmVudikKwqA= ----ALT--8f76133DB193C4882Bf980c82F41844e1701875230 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIHJl dmlldyE8L2Rpdj48ZGl2PlRoZSB0ZXN0IGNhc2UgaW5kZWVkIGZhaWxzIG9ubHkgZm9yIHRoZSBH QzY0IG1vZGUgYmVmb3JlIHRoZSBwYXRjaC48L2Rpdj48ZGl2PkkndmUgdHJpZWQgdG8gbWFrZSBp dCBmYWlsIGZvciBub24tR0M2NCBtb2RlLCBidXQgdGhlIHNhbWUgaXNzdWUgYXJpc2VkIOKAlDwv ZGl2PjxkaXY+YW4gYXJiaXRyYXJ5IGFtb3VudCBvZiBzbG90cyBuZWVkZWQsIGFuZCB0aGF0IGFt b3VudCBuZWVkcyB0byBiZSBtb2RpZmllZDwvZGl2PjxkaXY+ZWFjaCB0aW1lIHRoZXJlIGlzIGEg bWlub3IgY2hhbmdlIGluIHRoZSBMdWEgc3RhY2sgYmVoYXZpb3IuIFdpdGggdGhhdCBpbjwvZGl2 PjxkaXY+bWluZCwgSeKAmXZlIGRlY2lkZWQgdG8gbGVhdmUgaXQgYXMgaXQgaXMuIEFkZGVkIGEg Y29tbWVudCBhbmQgbW9kaWZpZWQgdGhlPC9kaXY+PGRpdj5jb21taXQgbWVzc2FnZS4gVGhlIG5l dyBjb21taXQgbWVzc2FnZTo8L2Rpdj48ZGl2Pj09PTwvZGl2PjxkaXY+PGRpdj48ZGl2PkltcHJv dmUgZXJyb3IgcmVwb3J0aW5nIG9uIHN0YWNrIG92ZXJmbG93LjwvZGl2PjwvZGl2PjxkaXY+Jm5i c3A7PC9kaXY+PGRpdj48ZGl2PlRoYW5rcyB0byBOaWNvbGFzIExlYmVkZW5jby48L2Rpdj48L2Rp dj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PGRpdj4oY2hlcnJ5LXBpY2tlZCBmcm9tIGNvbW1pdCA4 MTM1ZGUyYTAyMDRlNmFjZDkyYjIzMTEzMWM0YTFlMGJlMDNhYzFjKTwvZGl2PjwvZGl2PjxkaXY+ Jm5ic3A7PC9kaXY+PGRpdj48ZGl2PlRoZSBgbGpfc3RhdGVfZ3Jvd3N0YWNrYCBkb2Vzbid0IGFj Y291bnQgZm9yIGEgcG90ZW50aWFsIGVycm9yPC9kaXY+PGRpdj5oYW5kbGVyIGludm9jYXRpb24g YnkgYHhwY2FsbGAsIHdoaWNoIG1heSBsZWFkIHRvIHRoZSBzZWNvbmQ8L2Rpdj48ZGl2PmVycm9y IHdoaWxlIGhhbmRsaW5nIGEgc3RhY2sgb3ZlcmZsb3csIHJlc3VsdGluZyBpbiBhIG1pc2xlYWRp bmc8L2Rpdj48ZGl2PmVycm9yICJlcnJvciBpbiBlcnJvciBoYW5kbGluZyIsIHdoaWxlIHRoZSBy ZWFsIGlzc3VlIGlzIGEgc3RhY2s8L2Rpdj48ZGl2Pm92ZXJmbG93LiBUaGlzIHBhdGNoIGFkZHJl c3NlcyB0aGlzIGlzc3VlIGJ5IGZpeGluZyB0aGUgY29uZGl0aW9uPC9kaXY+PGRpdj5hdCB3aGlj aCBzdGFjayBvdmVyZmxvdyBlcnJvcnMgYXJlIHRocm93bi4gTm93IGl0J3MgdGhyb3duIGlmIHRo ZTwvZGl2PjxkaXY+c3RhY2sgc2l6ZSBpcyBhdCBsZWFzdCBhdCB0aGUgbGltaXQsIGluc3RlYWQg b2Ygd2hlbiBpdCBpcyBvdmVyPC9kaXY+PGRpdj50aGUgbGltaXQuPC9kaXY+PC9kaXY+PGRpdj4m bmJzcDs8L2Rpdj48ZGl2PjxkaXY+VGhlIHRlc3QgY2FzZSBpcyB2ZXJ5IGZyYWdpbGUsIGFuZCB0 aGUgaXNzdWUgaXMgaGFyZCB0byByZXByb2R1Y2U8L2Rpdj48ZGl2PmluIGEgcm9idXN0IHdheS4g VGhlIHByb3ZpZGVkIHJlcHJvZHVjZXIgZmFpbGVkIGJlZm9yZSB0aGUgcGF0Y2g8L2Rpdj48ZGl2 PmZvciBHQzY0IG1vZGUgb25seS4gTm9uLUdDNjQgbW9kZSByZXF1aXJlcyBhbiBhcmJpdHJhcnkg bnVtYmVyPC9kaXY+PGRpdj5vZiBzdGFjayBzbG90cyB0byBiZSBmaWxsZWQsIHdoaWNoIGlzIGV2 ZW4gbW9yZSBmcmFnaWxlLjwvZGl2PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj48ZGl2PlRo aXMgY29tbWl0IGFsc28gZGlzYWJsZXMgdGhlIHNlY29uZCB0ZXN0IGZyb208L2Rpdj48ZGl2PmBs ai02MDMtZXJyLXNuYXAtcmVzdG9yZWAsIHNpbmNlIGFmdGVyIHRoaXMgcGF0Y2ggYW5kIHRoZSB0 d288L2Rpdj48ZGl2PmZvbGxvdy11cHMgZm9yIGl0LCB0aGVyZSBpcyBubyBzdWNoIGFtb3VudCBv ZiBzdGFjayBzbG90cyB3aXRoPC9kaXY+PGRpdj53aGljaCB0aGUgdGVzdCB3b3JrcyB0aGUgd2F5 IGl0IHNob3VsZC48L2Rpdj48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PGRpdj5MYXN0bHks IHRoaXMgcGF0Y2ggYWRkcyBhbiBhbHRlcm5hdGl2ZSB0byBgbHVhY21kYCB0byB0aGU8L2Rpdj48 ZGl2PmB1dGlscy5leGVjYCBtb2R1bGUsIHdoaWNoIGlzIGNhbGxlZCBgbHVhYmluYC4gVGhhdCBm dW5jdGlvbiBpczwvZGl2PjxkaXY+c2ltaWxhciB0byB0aGUgYGx1YWNtZGAsIHdpdGggdGhlIG9u bHkgZGlmZmVyZW5jZSBvZiByZXR1cm5pbmc8L2Rpdj48ZGl2Pm9ubHkgdGhlIGV4ZWN1dGFibGUg aXRzZWxmIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgQ0xJIG9wdGlvbnM8L2Rpdj48ZGl2PnBhc3Nl ZC48L2Rpdj48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PGRpdj5NYXhpbSBLb2tyeWFzaGtp bjo8L2Rpdj48ZGl2PiogYWRkZWQgdGhlIGRlc2NyaXB0aW9uIGFuZCB0aGUgdGVzdCBmb3IgdGhl IHByb2JsZW08L2Rpdj48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PGRpdj5QYXJ0IG9mIHRh cmFudG9vbC90YXJhbnRvb2wjOTE0NTwvZGl2PjxkaXY+PT09PC9kaXY+PGRpdj4mbmJzcDs8L2Rp dj48ZGl2PkFuZCB0aGUgZGlmZiBmb3IgdGhlJm5ic3A7Y29tbWVudDo8L2Rpdj48ZGl2Pj09PTwv ZGl2PjxkaXY+PGRpdj48ZGl2PmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai05 NjItc3RhY2stb3ZlcmZsb3ctcmVwb3J0LnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMv bGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9ydC50ZXN0Lmx1YTwvZGl2PjxkaXY+aW5kZXggNDVh ODg4ZjQuLmU1ZjlkOWE0IDEwMDY0NDwvZGl2PjxkaXY+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVz dHMvbGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9ydC50ZXN0Lmx1YTwvZGl2PjxkaXY+KysrIGIv dGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9ydC50ZXN0Lmx1 YTwvZGl2PjxkaXY+QEAgLTMsNiArMywxMiBAQCBsb2NhbCB0YXAgPSByZXF1aXJlKCd0YXAnKTwv ZGl2PjxkaXY+Jm5ic3A7bG9jYWwgdGVzdCA9IHRhcC50ZXN0KCdsai05NjItc3RhY2stb3ZlcmZs b3ctcmVwb3J0Jyk8L2Rpdj48ZGl2PiZuYnNwO3Rlc3Q6cGxhbigxKTwvZGl2PjwvZGl2PjxkaXY+ Jm5ic3A7PC9kaXY+PGRpdj48ZGl2PistLSBYWFg6IFRoZSB0ZXN0IGNhc2UgaXMgdmVyeSBmcmFn aWxlLCBhbmQgdGhlIGlzc3VlIGlzIGhhcmQgdG88L2Rpdj48ZGl2PistLSByZXByb2R1Y2UgaW4g YSByb2J1c3Qgd2F5LiBUaGUgcHJvdmlkZWQgcmVwcm9kdWNlciBmYWlsZWQ8L2Rpdj48ZGl2Pist LSBiZWZvcmUgdGhlIHBhdGNoIGZvciBHQzY0IG1vZGUgb25seS4gTm9uLUdDNjQgbW9kZSByZXF1 aXJlczwvZGl2PjxkaXY+Ky0tIGFuIGFyYml0cmFyeSBudW1iZXIgb2Ygc3RhY2sgc2xvdHMgdG8g YmUgZmlsbGVkLCB3aGljaCBpczwvZGl2PjxkaXY+Ky0tIGV2ZW4gbW9yZSBmcmFnaWxlLjwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+Jm5ic3A7bG9jYWwgTFVBQklOID0gcmVxdWlyZSgndXRpbHMnKS5l eGVjLmx1YWJpbihhcmcpPC9kaXY+PGRpdj4mbmJzcDtsb2NhbCBTQ1JJUFQgPSBhcmdbMF06Z3N1 YignJS50ZXN0JS5sdWEkJywgJy9zY3JpcHQubHVhJyk8L2Rpdj48ZGl2PiZuYnNwO2xvY2FsIG91 dHB1dCA9IGlvLnBvcGVuKExVQUJJTiAuLiAnIDImZ3Q7JmFtcDsxICcgLi4gU0NSSVBULCAncicp OnJlYWQoJyphbGwnKTwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PC9kaXY+PC9kaXY+PGRpdj49PT08 L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj48 ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGVudCI+PGRpdj4tLTxicj5CZXN0IHJlZ2Fy ZHMsPC9kaXY+PGRpdj5NYXhpbSBLb2tyeWFzaGtpbjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+Jm5i c3A7PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6 MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij7Qn9GP 0YLQvdC40YbQsCwgMjQg0L3QvtGP0LHRgNGPIDIwMjMsIDE1OjIyICswMzowMCDQvtGCIFNlcmdl eSBCcm9ubmlrb3YgJmx0O3NlcmdleWJAdGFyYW50b29sLm9yZyZndDs6PGJyPiZuYnNwOzxkaXYg aWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9 InN0eWxlXzE3MDA4Mjg1NjkwNDE5MTQ1NDYyX0JPRFkiPkhlbGxvLCBNYXg8YnI+PGJyPnRoYW5r cyBmb3IgdGhlIHBhdGNoITxicj48YnI+cHJvcG9zZWQgdGVzdCBpcyBwYXNzZWQgYWZ0ZXIgcmV2 ZXJ0aW5nIGEgZml4PGJyPjxicj48YnI+T24gMTEvMjIvMjMgMTc6MzUsIE1ha3NpbSBLb2tyeWFz aGtpbiB3cm90ZTo8ZGl2IGNsYXNzPSJtYWlsLXF1b3RlLWNvbGxhcHNlIj4mZ3Q7IEZyb206IE1p a2UgUGFsbCAmbHQ7bWlrZSZndDs8YnI+Jmd0Ozxicj4mZ3Q7IFRoYW5rcyB0byBOaWNvbGFzIExl YmVkZW5jby48YnI+Jmd0Ozxicj4mZ3Q7IChjaGVycnktcGlja2VkIGZyb20gY29tbWl0IDgxMzVk ZTJhMDIwNGU2YWNkOTJiMjMxMTMxYzRhMWUwYmUwM2FjMWMpPGJyPiZndDs8YnI+Jmd0OyBUaGUg YGxqX3N0YXRlX2dyb3dzdGFja2AgZG9lc24ndCBhY2NvdW50IGZvciBhIHBvdGVudGlhbCBlcnJv cjxicj4mZ3Q7IGhhbmRsZXIgaW52b2NhdGlvbiBieSBgeHBjYWxsYCwgd2hpY2ggbWF5IGxlYWQg dG8gdGhlIHNlY29uZDxicj4mZ3Q7IGVycm9yIHdoaWxlIGhhbmRsaW5nIGEgc3RhY2sgb3ZlcmZs b3csIHJlc3VsdGluZyBpbiBhIG1pc2xlYWRpbmc8YnI+Jmd0OyBlcnJvciAiZXJyb3IgaW4gZXJy b3IgaGFuZGxpbmciLCB3aGlsZSB0aGUgcmVhbCBpc3N1ZSBpcyBhIHN0YWNrPGJyPiZndDsgb3Zl cmZsb3cuIFRoaXMgcGF0Y2ggYWRkcmVzc2VzIHRoaXMgaXNzdWUgYnkgZml4aW5nIHRoZSBjb25k aXRpb248YnI+Jmd0OyBhdCB3aGljaCBzdGFjayBvdmVyZmxvdyBlcnJvcnMgYXJlIHRocm93bi4g Tm93IGl0J3MgdGhyb3duIGlmIHRoZTxicj4mZ3Q7IHN0YWNrIHNpemUgaXMgYXQgbGVhc3QgYXQg dGhlIGxpbWl0LCBpbnN0ZWFkIG9mIHdoZW4gaXQgaXMgb3Zlcjxicj4mZ3Q7IHRoZSBsaW1pdC48 YnI+Jmd0Ozxicj4mZ3Q7IFRoaXMgY29tbWl0IGFsc28gZGlzYWJsZXMgdGhlIHNlY29uZCB0ZXN0 IGZyb208YnI+Jmd0OyBgbGotNjAzLWVyci1zbmFwLXJlc3RvcmVgLCBzaW5jZSBhZnRlciB0aGlz IHBhdGNoIGFuZCB0aGUgdHdvPGJyPiZndDsgZm9sbG93LXVwcyBmb3IgaXQsIHRoZXJlIGlzIG5v IHN1Y2ggYW1vdW50IG9mIHN0YWNrIHNsb3RzIHdpdGg8YnI+Jmd0OyB3aGljaCB0aGUgdGVzdCB3 b3JrcyB0aGUgd2F5IGl0IHNob3VsZC48YnI+Jmd0Ozxicj4mZ3Q7IExhc3RseSwgdGhpcyBwYXRj aCBhZGRzIGFuIGFsdGVybmF0aXZlIHRvIGBsdWFjbWRgIHRvIHRoZTxicj4mZ3Q7IGB1dGlscy5l eGVjYCBtb2R1bGUsIHdoaWNoIGlzIGNhbGxlZCBgbHVhYmluYC4gVGhhdCBmdW5jdGlvbiBpczxi cj4mZ3Q7IHNpbWlsYXIgdG8gdGhlIGBsdWFjbWRgLCB3aXRoIHRoZSBvbmx5IGRpZmZlcmVuY2Ug b2YgcmV0dXJuaW5nPGJyPiZndDsgb25seSB0aGUgZXhlY3V0YWJsZSBpdHNlbGYgd2l0aG91dCBh bnkgYWRkaXRpb25hbCBDTEkgb3B0aW9uczxicj4mZ3Q7IHBhc3NlZC48YnI+Jmd0Ozxicj4mZ3Q7 IE1heGltIEtva3J5YXNoa2luOjxicj4mZ3Q7ICogYWRkZWQgdGhlIGRlc2NyaXB0aW9uIGFuZCB0 aGUgdGVzdCBmb3IgdGhlIHByb2JsZW08YnI+Jmd0Ozxicj4mZ3Q7IFBhcnQgb2YgdGFyYW50b29s L3RhcmFudG9vbCM5MTQ1PGJyPiZndDsgLS0tPGJyPiZndDsgc3JjL2xqX3N0YXRlLmMgfCAyICst PGJyPiZndDsgLi4uL2xqLTYwMy1lcnItc25hcC1yZXN0b3JlLnRlc3QubHVhIHwgMSArPGJyPiZn dDsgLi4uL2xqLTk2Mi1zdGFjay1vdmVyZmxvdy1yZXBvcnQudGVzdC5sdWEgfCAxMCArKysrKysr KysrPGJyPiZndDsgLi4uL2xqLTk2Mi1zdGFjay1vdmVyZmxvdy1yZXBvcnQvc2NyaXB0Lmx1YSB8 IDMgKysrPGJyPiZndDsgdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvZXhlYy5sdWEgfCAxNSAr KysrKysrKysrKystLS08YnI+Jmd0OyA1IGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pPGJyPiZndDsgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvdGFyYW50b29s LXRlc3RzL2xqLTk2Mi1zdGFjay1vdmVyZmxvdy1yZXBvcnQudGVzdC5sdWE8YnI+Jmd0OyBjcmVh dGUgbW9kZSAxMDA2NDQgdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTYyLXN0YWNrLW92ZXJmbG93 LXJlcG9ydC9zY3JpcHQubHVhPGJyPiZndDs8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvc3JjL2xqX3N0 YXRlLmMgYi9zcmMvbGpfc3RhdGUuYzxicj4mZ3Q7IGluZGV4IDY4NDMzNmQ1Li43NjE1M2JhZCAx MDA2NDQ8YnI+Jmd0OyAtLS0gYS9zcmMvbGpfc3RhdGUuYzxicj4mZ3Q7ICsrKyBiL3NyYy9sal9z dGF0ZS5jPGJyPiZndDsgQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIExKX0ZBU1RDQUxMIGxqX3N0 YXRlX2dyb3dzdGFjayhsdWFfU3RhdGUgKkwsIE1TaXplIG5lZWQpPGJyPiZndDsgbiA9IExKX1NU QUNLX01BWDs8YnI+Jmd0OyB9PGJyPiZndDsgcmVzaXplc3RhY2soTCwgbik7PGJyPiZndDsgLSBp ZiAoTC0mZ3Q7c3RhY2tzaXplICZndDsgTEpfU1RBQ0tfTUFYRVgpPGJyPiZndDsgKyBpZiAoTC0m Z3Q7c3RhY2tzaXplICZndDs9IExKX1NUQUNLX01BWEVYKTxicj4mZ3Q7IGxqX2Vycl9tc2coTCwg TEpfRVJSX1NUS09WKTs8YnI+Jmd0OyB9PGJyPiZndDs8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVz dC90YXJhbnRvb2wtdGVzdHMvbGotNjAzLWVyci1zbmFwLXJlc3RvcmUudGVzdC5sdWEgYi90ZXN0 L3RhcmFudG9vbC10ZXN0cy9sai02MDMtZXJyLXNuYXAtcmVzdG9yZS50ZXN0Lmx1YTxicj4mZ3Q7 IGluZGV4IDk2ZWJmOTJjLi5mNWM4NDc0ZiAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS90ZXN0L3RhcmFu dG9vbC10ZXN0cy9sai02MDMtZXJyLXNuYXAtcmVzdG9yZS50ZXN0Lmx1YTxicj4mZ3Q7ICsrKyBi L3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTYwMy1lcnItc25hcC1yZXN0b3JlLnRlc3QubHVhPGJy PiZndDsgQEAgLTM2LDYgKzM2LDcgQEAgbG9jYWwgZnVuY3Rpb24gZG9fdGVzdCgpPGJyPiZndDsg LS0gVGFyYW50b29sIGF0IHN0YXJ0LCBzbyBqdXN0IHNraXAgdGVzdCBmb3IgaXQuPGJyPiZndDsg LS0gbHVhY2hlY2s6IG5vIGdsb2JhbDxicj4mZ3Q7IFsnRGlzYWJsZSB0ZXN0IGZvciBUYXJhbnRv b2wnXSA9IF9UQVJBTlRPT0wsPGJyPiZndDsgKyBbJ1N0YWNrIG92ZXJmbG93IGlzIG5vdyBoYW5k bGVkIGRpZmZlcmVudGx5J10gPSB0cnVlLDxicj4mZ3Q7IH0pPGJyPiZndDs8YnI+Jmd0OyB0ZXN0 Om9rKG5vdCBoYW5kbGVyX2lzX2NhbGxlZCk8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC90YXJh bnRvb2wtdGVzdHMvbGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9ydC50ZXN0Lmx1YSBiL3Rlc3Qv dGFyYW50b29sLXRlc3RzL2xqLTk2Mi1zdGFjay1vdmVyZmxvdy1yZXBvcnQudGVzdC5sdWE8YnI+ Jmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4mZ3Q7IGluZGV4IDAwMDAwMDAwLi40NWE4ODhm NDxicj4mZ3Q7IC0tLSAvZGV2L251bGw8YnI+Jmd0OyArKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0 cy9sai05NjItc3RhY2stb3ZlcmZsb3ctcmVwb3J0LnRlc3QubHVhPGJyPiZndDsgQEAgLTAsMCAr MSwxMCBAQDxicj4mZ3Q7ICtsb2NhbCB0YXAgPSByZXF1aXJlKCd0YXAnKTxicj4mZ3Q7ICstLSBU aGUgdGVzdCByZXByb2R1Y2VzIHRoZSBwcm9ibGVtIG9ubHkgZm9yIEdDNjQgbW9kZSB3aXRoIGVu YWJsZWQgSklULjxicj4mZ3Q7ICtsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoJ2xqLTk2Mi1zdGFjay1v dmVyZmxvdy1yZXBvcnQnKTxicj4mZ3Q7ICt0ZXN0OnBsYW4oMSk8YnI+Jmd0OyArPGJyPiZndDsg K2xvY2FsIExVQUJJTiA9IHJlcXVpcmUoJ3V0aWxzJykuZXhlYy5sdWFiaW4oYXJnKTxicj4mZ3Q7 ICtsb2NhbCBTQ1JJUFQgPSBhcmdbMF06Z3N1YignJS50ZXN0JS5sdWEkJywgJy9zY3JpcHQubHVh Jyk8YnI+Jmd0OyArbG9jYWwgb3V0cHV0ID0gaW8ucG9wZW4oTFVBQklOIC4uICcgMiZndDsmYW1w OzEgJyAuLiBTQ1JJUFQsICdyJyk6cmVhZCgnKmFsbCcpPGJyPiZndDsgK3Rlc3Q6bGlrZShvdXRw dXQsICdzdGFjayBvdmVyZmxvdycsICdzdGFjayBvdmVyZmxvdyByZXBvcnRlZCBjb3JyZWN0bHkn KTxicj4mZ3Q7ICt0ZXN0OmRvbmUodHJ1ZSk8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC90YXJh bnRvb2wtdGVzdHMvbGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9ydC9zY3JpcHQubHVhIGIvdGVz dC90YXJhbnRvb2wtdGVzdHMvbGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9ydC9zY3JpcHQubHVh PGJyPiZndDsgbmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+Jmd0OyBpbmRleCAwMDAwMDAwMC4uMzFj NWNhMzM8YnI+Jmd0OyAtLS0gL2Rldi9udWxsPGJyPiZndDsgKysrIGIvdGVzdC90YXJhbnRvb2wt dGVzdHMvbGotOTYyLXN0YWNrLW92ZXJmbG93LXJlcG9ydC9zY3JpcHQubHVhPGJyPiZndDsgQEAg LTAsMCArMSwzIEBAPGJyPiZndDsgKy0tIFhYWDogRnVuY3Rpb24gYGZgIGlzIGdsb2JhbCB0byBh dm9pZCB1c2luZyBhbiBhZGRpdGlvbmFsIHN0YWNrIHNsb3QuPGJyPiZndDsgKy0tIGx1YWNoZWNr OiBubyBnbG9iYWw8YnI+Jmd0OyArZiA9IGZ1bmN0aW9uKCkgZigpIGVuZDsgZigpPGJyPiZndDsg ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2V4ZWMubHVhIGIvdGVzdC90 YXJhbnRvb2wtdGVzdHMvdXRpbHMvZXhlYy5sdWE8YnI+Jmd0OyBpbmRleCBhNTZjYTJkYy4uNDhh MDhiYTUgMTAwNjQ0PGJyPiZndDsgLS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvZXhl Yy5sdWE8YnI+Jmd0OyArKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy91dGlscy9leGVjLmx1YTxi cj4mZ3Q7IEBAIC0xLDE0ICsxLDIzIEBAPGJyPiZndDsgbG9jYWwgTSA9IHt9PGJyPiZndDs8YnI+ Jmd0OyAtZnVuY3Rpb24gTS5sdWFjbWQoYXJncyk8YnI+Jmd0OyArbG9jYWwgZnVuY3Rpb24gZXhl Y3V0YWJsZV9pZHgoYXJncyk8YnI+Jmd0OyAtLSBhcmdbLTFdIGlzIGd1YXJhbnRlZWQgdG8gYmUg bm90IG5pbC48YnI+Jmd0OyBsb2NhbCBpZHggPSAtMjxicj4mZ3Q7IHdoaWxlIGFyZ3NbaWR4XSBk bzxicj4mZ3Q7IGFzc2VydCh0eXBlKGFyZ3NbaWR4XSkgPT0gJ3N0cmluZycsICdDb21tYW5kIHBh cnQgaGF2ZSB0byBiZSBhIHN0cmluZycpPGJyPiZndDsgaWR4ID0gaWR4IC0gMTxicj4mZ3Q7IGVu ZDxicj4mZ3Q7IC0gLS0gcmV0dXJuIHRoZSBmdWxsIGNvbW1hbmQgd2l0aCBmbGFncy48YnI+Jmd0 OyAtIHJldHVybiB0YWJsZS5jb25jYXQoYXJncywgJyAnLCBpZHggKyAxLCAtMSk8YnI+Jmd0OyAr IHJldHVybiBpZHggKyAxPGJyPiZndDsgK2VuZDxicj4mZ3Q7ICs8YnI+Jmd0OyArZnVuY3Rpb24g TS5sdWFiaW4oYXJncyk8YnI+Jmd0OyArIC0tIFJldHVybiBvbmx5IHRoZSBleGVjdXRhYmxlLjxi cj4mZ3Q7ICsgcmV0dXJuIGFyZ3NbZXhlY3V0YWJsZV9pZHgoYXJncyldPGJyPiZndDsgK2VuZDxi cj4mZ3Q7ICs8YnI+Jmd0OyArZnVuY3Rpb24gTS5sdWFjbWQoYXJncyk8YnI+Jmd0OyArIC0tIFJl dHVybiB0aGUgZnVsbCBjb21tYW5kIHdpdGggZmxhZ3MuPGJyPiZndDsgKyByZXR1cm4gdGFibGUu Y29uY2F0KGFyZ3MsICcgJywgZXhlY3V0YWJsZV9pZHgoYXJncyksIC0xKTxicj4mZ3Q7IGVuZDxi cj4mZ3Q7PGJyPiZndDsgbG9jYWwgZnVuY3Rpb24gbWFrZWVudih0YWJlbnYpPC9kaXY+PC9kaXY+ PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+Jm5ic3A7PC9kaXY+PC9CT0RZPjwv SFRNTD4K ----ALT--8f76133DB193C4882Bf980c82F41844e1701875230--