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 A4FF347E5F6; Mon, 29 May 2023 16:55:33 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A4FF347E5F6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1685368533; bh=bRorywbIC7tvJEPuemKky+BWkOeDOo33257eFzjbE4Q=; 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=GLZSp2GuJ2wF2TYgeOVVp/u3cGIj1f1dVBvx5ClQYlYbWPNb02VzbEQErnV4Mbrk+ 6Lg2+SdzCtj49yMS3tHELJT+JzQDHoMFu2Ccyy02YhRum37ybVtr/RpgExftTAjAIp +QZjxZxkU9a8/UAfsYVmhqdahQ8zKsBEekRxdO9Q= Received: from f403.i.mail.ru (f403.i.mail.ru [45.84.128.190]) (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 A803947DF0F for ; Mon, 29 May 2023 16:55:31 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A803947DF0F Received: by f403.i.mail.ru with local (envelope-from ) id 1q3dLO-0003Tt-10; Mon, 29 May 2023 16:55:30 +0300 Received: by e.mail.ru with HTTP; Mon, 29 May 2023 16:55:29 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16846550441177828543 X-SenderField-Remind: 0 Date: Mon, 29 May 2023 16:55:29 +0300 X-Priority: 3 (Normal) Message-ID: <1685368529.447090114@f403.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--dB3eCdE41A8089F27D8660153F0853411685368529" In-Reply-To: References: <1684149117.34095260@f521.i.mail.ru> X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 119C1F4DF6A9251C1EA9861B4B16FED4E17F5B420F0BF0D3261867F21E1A25B18FD872164937FA4CB0345CAAB2FAD751839B145183BECF2591561F417A4B6D1EC4D9C23D1907D2BA X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE744EC4835F354AAB2C4224003CC836476ABE134FDCE4E2725BFD28B28ED4578739E625A9149C048EE9647ADFADE5905B129508FF2E8683A3EB287FD4696A6DC2FA8DF7F3B2552694A4E2F5AFA99E116B42401471946AA11AF23F8577A6DFFEA7CAE28AD3C7270E4528F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB553375663B864DAE13BB2D6A3F1CA7761562245A15781DE2BEAC6B1EA471835C12D1D9774AD6D5ED66289B5278DA827A17800CE761BF645B0430E8D69FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C385CCBA673D36D1A4117882F4460429728AD0CFFFB425014E868A13BD56FB6657E2021AF6380DFAD1A18204E546F3947CB11811A4A51E3B096D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F7900637F765F39FA4E70FFE43847C11F186F3C59DAA53EE0834AAEE X-C1DE0DAB: 0D63561A33F958A500BF2CD7BAFFDE00FF6308CC2EC1DB6039571FA064253909F87CCE6106E1FC07E67D4AC08A07B9B06A1CB4668A9CA5FACB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0ADE2815F1F17DA7190F22D334B9B612B432CCB5A6D6581D03D0776B5B2C279835F17BCBE6708A5A68D02015372BE9702A27ACEF11F3A083B0FBE3623EC81A00CD9513FFA457724FAEEFB09CD35F65C73AE6C3F92257B05EA669B815B7972F6FBBECF4A4BCEFFBD14057285EC174C2C8DBA6536EB022892E53443082AE146A756F3 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhrYRlgUi6ER2BAVEP9uZZIg== X-Mailru-MI: 10000000000400800 X-Mailru-Sender: D940E3D0A8BFF72FAB4CDABEBB66FCA44C57A912EC49CA513B51231BE2CBEF7B7D5A6823F94D1C8A06CD02445D2D9C8FA2BFD6D8330F0C2D563E610FBBDBB4C842051EA7CBBFB509093DA5C00B83CE8412EB40C6FA10D71EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_1/2=5D_test=3A_add?= =?utf-8?q?_utility_for_parsing_=60jit=2Edump=60?= 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: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--dB3eCdE41A8089F27D8660153F0853411685368529 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIGZpeGVzLiBMR1RNIG5vdy4KwqAKLS0KQmVzdCBy ZWdhcmRzLApNYXhpbSBLb2tyeWFzaGtpbgrCoArCoAo+wqAKPj5IaSwgTWF4aW0hCj4+VGhhbmtz IGZvciB0aGUgcmV2aWV3IQo+PlBsZWFzZSBjb25zaWRlciBteSBhbnN3ZXJzIGJlbG93Lgo+Pgo+ Pk9uIDE1LjA1LjIzLCBNYXhpbSBLb2tyeWFzaGtpbiB3cm90ZToKPj4+Cj4+PiBIaSwgU2VyZ2V5 IQo+Pj4gVGhhbmtzIGZvciB0aGUgcGF0Y2ghCj4+PiBQbGVhc2UgY29uc2lkZXIgbXkgY29tbWVu dHMgYmVsb3cuCj4+PiDCoAo+Pj4gPsKgCj4+PiA+PlRoaXMgY29tbWl0IGFkZHMgc2ltcGxlIHBh cnNlciBmb3IgdHJhY2VzIHRvIGJlIGFuYWx5emVkIGluIHRoZSB0ZXN0Lgo+Pj4gPlR5cG86IHMv YWRkcy9hZGRzIGEvCj4+Cj4+Rml4ZWQuCj4+Cj4+PiA+PkZvciBub3cgbm90aGluZyB0b28gZmFu Y3kgYXQgYWxsIC0tIGp1c3Qgc3RhcnQgYGppdC5kdW1wYCB0byB0ZW1wb3JhcnkKPj4+ID5UeXBv OiBzL3RlbXBvcmFyeS9hIHRlbXBvcmFyeS8KPj4KPj5GaXhlZC4KPj4KPj4+ID4+ZmlsZSBhbmQg cGFyc2UgYW5kIHJlbW92ZSB0aGlzIGZpbGUgd2hlbiBkdW1wIGlzIHN0b3BwZWQuIFRoZSBhcnJh eQo+Pj4gPj53aXRoIHJlc3VsdGluZyB0cmFjZXMgaXMgcmV0dXJuZWQuCj4+PiA+Pgo+Pj4gPj5G b3Igbm93LCBqdXN0IGZpbmQgYSBzaW5nbGUgSVIgYnkgcGF0dGVybiBhbmQgcmV0dXJuIHJlZiBu dW1iZXIgYW5kIElSLAo+Pj4gPj5pZiBleGlzdHMuIE1vcmUgZnVuY3Rpb25hbGl0eSBtYXkgYmUg YWRkZWQgaWYgaXQgd2lsbCBiZSBuZWNlc3NhcnkgZm9yCj4+PiA+VHlwbzogcy9pZiBleGlzdHMv aWYgdGhleSBleGlzdC8KPj4+ID5UeXBvOiBzL2l0IHdpbGwgYmUvaXQgaXMvCj4+Cj4+Rml4ZWQs IHRoYW5rcyEKPj4KPj4+ID4+dGVzdHMuCj4+PiA+Pi0tLQo+Pj4gPj7CoHRlc3QvdGFyYW50b29s LXRlc3RzL3V0aWxzL2ppdF9wYXJzZS5sdWEgfCAxNTYgKysrKysrKysrKysrKysrKysrKysrKysK Pj4+ID4+wqAxIGZpbGUgY2hhbmdlZCwgMTU2IGluc2VydGlvbnMoKykKPj4+ID4+wqBjcmVhdGUg bW9kZSAxMDA2NDQgdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvaml0X3BhcnNlLmx1YQo+Pj4g Pj4KPj4+ID4+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2ppdF9wYXJz ZS5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy91dGlscy9qaXRfcGFyc2UubHVhCj4+PiA+Pm5l dyBmaWxlIG1vZGUgMTAwNjQ0Cj4+PiA+PmluZGV4IDAwMDAwMDAwLi5mZThlMGUwOAo+Pj4gPj4t LS0gL2Rldi9udWxsCj4+PiA+PisrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2ppdF9w YXJzZS5sdWEKPj4+ID4+QEAgLTAsMCArMSwxNTYgQEAKPj4KPj48c25pcHBlZD4KPj4KPj4+ID4+ K2xvY2FsIGZ1bmN0aW9uIHBhcnNlX3RyYWNlX2hkcihjdHgsIGxpbmUsIHRyYWNlX251bSwgc3Rh dHVzKQo+Pj4gPj4rIGxvY2FsIHRyYWNlcyA9IGN0eC50cmFjZXMKPj4+ID4+KyBpZiBzdGF0dXMg PT0gJ3N0YXJ0JyB0aGVuCj4+PiA+PisgbG9jYWwgdHJhY2UgPSB0cmFjZV9uZXcodHJhY2VfbnVt KQo+Pj4gPj4rIHRyYWNlLnBhcmVudCwgdHJhY2UucGFyZW50X2V4aXRubyA9IGxpbmU6bWF0Y2go J3N0YXJ0ICglZCspLyglZCspJykKPj4+ID4+KyAtLSBYWFg6IEFzc3VtZSwgdGhhdCBzb3VyY2Ug bGluZSBjYW4ndCBjb250YWluIHNwYWNlcy4KPj4+ID4+KyAtLSBGb3IgZXhhbXBsZSwgaXQncyBu b3QgIihjb21tYW5kIGxpbmUpIi4KPj4+ID4+KyB0cmFjZS5zdGFydF9sb2MgPSBsaW5lOm1hdGNo KCcgKFteJXNdKykkJykKPj4+ID4+KyB0cmFjZXNbdHJhY2VfbnVtXSA9IHRyYWNlCj4+PiA+Pisg Y3R4LnBhcnNpbmdfdHJhY2UgPSB0cmFjZV9udW0KPj4+ID4+KyBjdHgucGFyc2luZyA9ICdiYycK Pj4+ID4+KyBlbHNlaWYgc3RhdHVzID09ICdzdG9wJyB0aGVuCj4+PiA+PisgYXNzZXJ0KGN0eC5w YXJzaW5nX3RyYWNlID09IHRyYWNlX251bSkKPj4+ID4+KyBjdHgucGFyc2luZ190cmFjZSA9IG5p bAo+Pj4gPj4rIGN0eC5wYXJzaW5nID0gbmlsCj4+PiA+PisgZWxzZWlmIHN0YXR1cyA9PSAnYWJv cnQnIHRoZW4KPj4+ID4+KyBhc3NlcnQoY3R4LnBhcnNpbmdfdHJhY2UgPT0gdHJhY2VfbnVtKQo+ Pj4gPj4rIGN0eC5wYXJzaW5nX3RyYWNlID0gbmlsCj4+PiA+PisgY3R4LnBhcnNpbmcgPSBuaWwK Pj4+ID4+KyB0cmFjZXNbdHJhY2VfbnVtXSA9IG5pbAo+Pj4gPlR3byBicmFuY2hlcyBiZWxvdyBh cmUgYWxtb3N0IGlkZW50aWNhbC4gSXMgaXQgcG9zc2libGUgdG8gYXZvaWQKPj4+ID5kdXBsaWNh dGlvbj8KPj4KPj5JIHN1cHBvc2UsIG5vLCBlc3BlY2lhbGx5IHNpbmNlIHdlIG1heSB3YW50IHRv IGRvIHNvbWUgbW9yZSB3b3JrIGZvcgo+PmFib3J0ZWQgdHJhY2VzIChJIGp1c3QgZG9uJ3Qgc3Vy ZSBmb3Igbm93KS4KPj4KPj4+ID5TaWRlIG5vdGU6IEFsc28sIEkgbGlrZSBpdCBtdWNoIG1vcmUg d2hlbiBzd2l0Y2gtbGlrZSBjb25zdHJ1Y3Rpb25zCj4+PiA+aW4gTHVhIGFyZSBpbXBsZW1lbnRl ZCB3aXRoIHRhYmxlcywgYmVjYXVzZSBpdCBzZWVtcyB0byBiZSBjbGVhbmVyLgo+Pj4gPkZlZWwg ZnJlZSB0byBpZ25vcmUuCj4+Cj4+UmV3cml0dGVuIGluIHRoaXMgd2F5LCBzZWUgdGhlIGl0ZXJh dGl2ZSBwYXRjaCBiZWxvdy4gQnJhbmNoIGlzCj4+Zm9yY2UtcHVzaGVkLgo+Pgo+Pj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KPj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvaml0X3BhcnNlLmx1 YSBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2ppdF9wYXJzZS5sdWEKPj5pbmRleCBmZThl MGUwOC4uN2U4Zjg3OWUgMTAwNjQ0Cj4+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMv aml0X3BhcnNlLmx1YQo+PisrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL3V0aWxzL2ppdF9wYXJz ZS5sdWEKPj5AQCAtNjQsOSArNjQsOSBAQCBsb2NhbCBmdW5jdGlvbiBwYXJzZV9tY29kZSh0cmFj ZSwgbGluZSkKPj7CoMKgwqB0cmFjZS5tY29kZVsjdHJhY2UubWNvZGUgKyAxXSA9IHthZGRyID0g YWRkciwgaW5zdHJ1Y3Rpb24gPSBpbnN0cnVjdGlvbix9Cj4+wqBlbmQKPj7CoAo+Pi1sb2NhbCBm dW5jdGlvbiBwYXJzZV90cmFjZV9oZHIoY3R4LCBsaW5lLCB0cmFjZV9udW0sIHN0YXR1cykKPj4t IGxvY2FsIHRyYWNlcyA9IGN0eC50cmFjZXMKPj4tIGlmIHN0YXR1cyA9PSAnc3RhcnQnIHRoZW4K Pj4rbG9jYWwgaGVhZGVyX2hhbmRsZXJzID0gewo+Pisgc3RhcnQgPSBmdW5jdGlvbihjdHgsIGxp bmUsIHRyYWNlX251bSkKPj4rIGxvY2FsIHRyYWNlcyA9IGN0eC50cmFjZXMKPj7CoMKgwqDCoMKg bG9jYWwgdHJhY2UgPSB0cmFjZV9uZXcodHJhY2VfbnVtKQo+PsKgwqDCoMKgwqB0cmFjZS5wYXJl bnQsIHRyYWNlLnBhcmVudF9leGl0bm8gPSBsaW5lOm1hdGNoKCdzdGFydCAoJWQrKS8oJWQrKScp Cj4+wqDCoMKgwqDCoC0tIFhYWDogQXNzdW1lLCB0aGF0IHNvdXJjZSBsaW5lIGNhbid0IGNvbnRh aW4gc3BhY2VzLgo+PkBAIC03NSwyMyArNzUsMjcgQEAgbG9jYWwgZnVuY3Rpb24gcGFyc2VfdHJh Y2VfaGRyKGN0eCwgbGluZSwgdHJhY2VfbnVtLCBzdGF0dXMpCj4+wqDCoMKgwqDCoHRyYWNlc1t0 cmFjZV9udW1dID0gdHJhY2UKPj7CoMKgwqDCoMKgY3R4LnBhcnNpbmdfdHJhY2UgPSB0cmFjZV9u dW0KPj7CoMKgwqDCoMKgY3R4LnBhcnNpbmcgPSAnYmMnCj4+LSBlbHNlaWYgc3RhdHVzID09ICdz dG9wJyB0aGVuCj4+KyBlbmQsCj4+KyBzdG9wID0gZnVuY3Rpb24oY3R4LCBsaW5lLCB0cmFjZV9u dW0pCj4+KyBsb2NhbCB0cmFjZXMgPSBjdHgudHJhY2VzCj4+wqDCoMKgwqDCoGFzc2VydChjdHgu cGFyc2luZ190cmFjZSA9PSB0cmFjZV9udW0pCj4+wqDCoMKgwqDCoGN0eC5wYXJzaW5nX3RyYWNl ID0gbmlsCj4+wqDCoMKgwqDCoGN0eC5wYXJzaW5nID0gbmlsCj4+LSBlbHNlaWYgc3RhdHVzID09 ICdhYm9ydCcgdGhlbgo+PisgZW5kLAo+PisgYWJvcnQgPSBmdW5jdGlvbihjdHgsIGxpbmUsIHRy YWNlX251bSkKPj4rIGxvY2FsIHRyYWNlcyA9IGN0eC50cmFjZXMKPj7CoMKgwqDCoMKgYXNzZXJ0 KGN0eC5wYXJzaW5nX3RyYWNlID09IHRyYWNlX251bSkKPj7CoMKgwqDCoMKgY3R4LnBhcnNpbmdf dHJhY2UgPSBuaWwKPj7CoMKgwqDCoMKgY3R4LnBhcnNpbmcgPSBuaWwKPj7CoMKgwqDCoMKgdHJh Y2VzW3RyYWNlX251bV0gPSBuaWwKPj4tIGVsc2VpZiBzdGF0dXMgPT0gJ0lSJyB0aGVuCj4+KyBl bmQsCj4+KyBJUiA9IGZ1bmN0aW9uKGN0eCwgbGluZSwgdHJhY2VfbnVtKQo+PsKgwqDCoMKgwqBj dHgucGFyc2luZyA9ICdJUicKPj4tIGVsc2VpZiBzdGF0dXMgPT0gJ21jb2RlJyB0aGVuCj4+KyBl bmQsCj4+KyBtY29kZSA9IGZ1bmN0aW9uKGN0eCwgbGluZSwgdHJhY2VfbnVtKQo+PsKgwqDCoMKg wqBjdHgucGFyc2luZyA9ICdtY29kZScKPj4tIGVsc2UKPj4tIGVycm9yKCdVbmtub3duIHRyYWNl IHN0YXR1czogJyAuLiBzdGF0dXMpCj4+LSBlbmQKPj4tZW5kCj4+KyBlbmQsCj4+K30KPj7CoAo+ PsKgbG9jYWwgZnVuY3Rpb24gcGFyc2VfbGluZShjdHgsIGxpbmUpCj4+wqDCoMKgaWYgbGluZSA9 PSAnJyB0aGVuCj4+QEAgLTEwNSw3ICsxMDksMTEgQEAgbG9jYWwgZnVuY3Rpb24gcGFyc2VfbGlu ZShjdHgsIGxpbmUpCj4+wqAKPj7CoMKgwqBsb2NhbCB0cmFjZV9udW0sIHN0YXR1cyA9IGxpbmU6 bWF0Y2goJ1RSQUNFICglZCspICgldyspJykKPj7CoMKgwqBpZiB0cmFjZV9udW0gdGhlbgo+Pi0g cGFyc2VfdHJhY2VfaGRyKGN0eCwgbGluZSwgdG9udW1iZXIodHJhY2VfbnVtKSwgc3RhdHVzKQo+ PisgaWYgKGhlYWRlcl9oYW5kbGVyc1tzdGF0dXNdKSB0aGVuCj4+KyBoZWFkZXJfaGFuZGxlcnNb c3RhdHVzXShjdHgsIGxpbmUsIHRvbnVtYmVyKHRyYWNlX251bSkpCj4+KyBlbHNlCj4+KyBlcnJv cignVW5rbm93biB0cmFjZSBzdGF0dXM6ICcgLi4gc3RhdHVzKQo+PisgZW5kCj4+wqDCoMKgwqDC oHJldHVybgo+PsKgwqDCoGVuZAo+Pj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPj4KPj4+ID4+KyBlbHNlaWYgc3RhdHVz ID09ICdJUicgdGhlbgo+Pj4gPj4rIGN0eC5wYXJzaW5nID0gJ0lSJwo+Pj4gPj4rIGVsc2VpZiBz dGF0dXMgPT0gJ21jb2RlJyB0aGVuCj4+PiA+PisgY3R4LnBhcnNpbmcgPSAnbWNvZGUnCj4+PiA+ PisgZWxzZQo+Pj4gPj4rIGVycm9yKCdVbmtub3duIHRyYWNlIHN0YXR1czogJyAuLiBzdGF0dXMp Cj4+PiA+PisgZW5kCj4+PiA+PitlbmQKPj4+ID4+Kwo+Pgo+PjxzbmlwcGVkPgo+Pgo+Pj4gPj4r Cj4+PiA+Pitsb2NhbCBKRFVNUF9GSUxFCj4+PiA+PisKPj4+ID4+K2xvY2FsIGZ1bmN0aW9uIHBh cnNlX2ppdF9kdW1wKCkKPj4+ID4+KyBsb2NhbCBjdHggPSB7dHJhY2VzID0ge319Cj4+PiA+Pisg Zm9yIGxpbmUgaW4gaW8ubGluZXMoSkRVTVBfRklMRSkgZG8KPj4+ID5JIHRoaW5rIHdlIHNob3Vs ZCBwZXJmb3JtIGVycm9yIGNoZWNraW5nIGZvciB0aGF0wqBpbyBvcGVyYXRpb24uCj4+Cj4+SXQg aXMgZG9uZSB1bmRlciB0aGUgaG9vZDoKPj58ICQgc3JjL2x1YWppdCAtZSAnZm9yIF8gaW4gaW8u bGluZXMoInVuZXhpc3RlZCIpIGRvIGVuZCAnCj4+fCBzcmMvbHVhaml0OiAoY29tbWFuZCBsaW5l KToxOiBiYWQgYXJndW1lbnQgIzEgdG8gJ2xpbmVzJyAodW5leGlzdGVkOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5KQo+Pnwgc3RhY2sgdHJhY2ViYWNrOgo+PnwgW0NdOiBpbiBmdW5jdGlvbiAn bGluZXMnCj4+fCAoY29tbWFuZCBsaW5lKToxOiBpbiBtYWluIGNodW5rCj4+fCBbQ106IGF0IDB4 NTViNzNjMjgxMDY0Cj4+Cj4+PiA+PisgcGFyc2VfbGluZShjdHgsIGxpbmUpCj4+PiA+PisgZW5k Cj4+PiA+PisgcmV0dXJuIGN0eC50cmFjZXMKPj4+ID4+K2VuZAo+Pj4gPj4rCj4+PiA+PitNLnN0 YXJ0ID0gZnVuY3Rpb24oZmxhZ3MpCj4+PiA+PisgYXNzZXJ0KEpEVU1QX0ZJTEUgPT0gbmlsLCAn aml0X3BhcnNlIGlzIGFscmVhZHkgcnVubmluZycpCj4+PiA+PisgLS0gQWx3YXlzIHVzZSBwbGFp biB0ZXh0IG91dHB1dC4KPj4+ID4+KyBmbGFncyA9IGZsYWdzIC4uICdUJwo+Pj4gPk5pdDogV2hh dCBpZiBlaXRoZXIgYEFgIG9ywqBgSGAgaXMgcHJlc2VudCBpbiB0aGUgZmxhZ3M/IEkgYmVsaWV2 ZSwgbm8KPj4+ID5vbmUgaXMgZ29pbmcgdG8gZG8gc3VjaCB0aGluZ3MsIGJ1dCBhbnl3YXkgaXQg aXMgd29ydGggY29uc2lkZXJpbmcKPj4+ID5hcyBhIHRoaW5nIHRvIGNoZWNrLiBGZWVsIGZyZWUg dG8gaWdub3JlLgo+Pgo+Pkl0IGlzIHJld3JpdHRlbiBieSB0aGUgbGFzdCBmbGFnIChpLmUuIGFw cGVuZGVkIGBUYCkuCj4+Cj4+PiA+PisgSkRVTVBfRklMRSA9IG9zLnRtcG5hbWUoKQo+Pj4gPj4r IGpkdW1wLnN0YXJ0KGZsYWdzLCBKRFVNUF9GSUxFKQo+Pj4gPj4rZW5kCj4+PiA+PisKPj4+ID4+ K00uZmluaXNoID0gZnVuY3Rpb24oKQo+Pj4gPj4rIGFzc2VydChKRFVNUF9GSUxFIH49IG5pbCwg J2ppdF9wYXJzZSBpcyBub3QgcnVubmluZycpCj4+PiA+PisgamR1bXAub2ZmKCkKPj4+ID4+KyBs b2NhbCB0cmFjZXMgPSBwYXJzZV9qaXRfZHVtcCgpCj4+PiA+Pisgb3MucmVtb3ZlKEpEVU1QX0ZJ TEUpCj4+PiA+PisgSkRVTVBfRklMRSA9IG5pbAo+Pj4gPj4rIHJldHVybiB0cmFjZXMKPj4+ID4+ K2VuZAo+Pj4gPj4rCj4+PiA+PistLSBUdXJuIG9mZiBjb21waWxhdGlvbiBmb3IgdGhlc2UgbW9k dWxlcyB0byBhdm9pZCBzaWRlIGVmZmVjdHMuCj4+PiA+PitqaXQub2ZmKHRydWUsIHRydWUpCj4+ PiA+PitqaXQub2ZmKGpkdW1wLm9uLCB0cnVlKQo+Pj4gPj4raml0Lm9mZihqZHVtcC5vZmYsIHRy dWUpCj4+PiA+PisKPj4+ID4+K3JldHVybiBNCj4+PiA+Pi0tCj4+PiA+PjIuMzQuMQo+Pj4gPi0t Cj4+PiA+QmVzdCByZWdhcmRzLAo+Pj4gPk1heGltIEtva3J5YXNoa2luCj4+PiA+wqAKPj4KPj4t LQo+PkJlc3QgcmVnYXJkcywKPj5TZXJnZXkgS2FwbHVuCj7CoA== ----ALT--dB3eCdE41A8089F27D8660153F0853411685368529 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIGZp eGVzLiBMR1RNIG5vdy48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUt d2lkZ2V0PSJjb250YWluZXIiPjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48 ZGl2Pi0tPGJyPkJlc3QgcmVnYXJkcyw8L2Rpdj48ZGl2Pk1heGltIEtva3J5YXNoa2luPC9kaXY+ PC9kaXY+PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxibG9ja3F1b3Rl IHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRp bmc6MCAwIDAgMTBweDsiPjxkaXY+Jm5ic3A7PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0 OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRp diBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBp ZD0ic3R5bGVfMTY4NDY1NTA0NDExNzc4Mjg1NDNfQk9EWSI+SGksIE1heGltITxicj5UaGFua3Mg Zm9yIHRoZSByZXZpZXchPGJyPlBsZWFzZSBjb25zaWRlciBteSBhbnN3ZXJzIGJlbG93Ljxicj48 YnI+T24gMTUuMDUuMjMsIE1heGltIEtva3J5YXNoa2luIHdyb3RlOjxicj4mZ3Q7PGJyPiZndDsg SGksIFNlcmdleSE8YnI+Jmd0OyBUaGFua3MgZm9yIHRoZSBwYXRjaCE8YnI+Jmd0OyBQbGVhc2Ug Y29uc2lkZXIgbXkgY29tbWVudHMgYmVsb3cuPGJyPiZndDsgJm5ic3A7PGJyPiZndDsgJmd0OyZu YnNwOzxicj4mZ3Q7ICZndDsmZ3Q7VGhpcyBjb21taXQgYWRkcyBzaW1wbGUgcGFyc2VyIGZvciB0 cmFjZXMgdG8gYmUgYW5hbHl6ZWQgaW4gdGhlIHRlc3QuPGJyPiZndDsgJmd0O1R5cG86IHMvYWRk cy9hZGRzIGEvPGJyPjxicj5GaXhlZC48YnI+PGJyPiZndDsgJmd0OyZndDtGb3Igbm93IG5vdGhp bmcgdG9vIGZhbmN5IGF0IGFsbCAtLSBqdXN0IHN0YXJ0IGBqaXQuZHVtcGAgdG8gdGVtcG9yYXJ5 PGJyPiZndDsgJmd0O1R5cG86IHMvdGVtcG9yYXJ5L2EgdGVtcG9yYXJ5Lzxicj48YnI+Rml4ZWQu PGJyPjxicj4mZ3Q7ICZndDsmZ3Q7ZmlsZSBhbmQgcGFyc2UgYW5kIHJlbW92ZSB0aGlzIGZpbGUg d2hlbiBkdW1wIGlzIHN0b3BwZWQuIFRoZSBhcnJheTxicj4mZ3Q7ICZndDsmZ3Q7d2l0aCByZXN1 bHRpbmcgdHJhY2VzIGlzIHJldHVybmVkLjxicj4mZ3Q7ICZndDsmZ3Q7PGJyPiZndDsgJmd0OyZn dDtGb3Igbm93LCBqdXN0IGZpbmQgYSBzaW5nbGUgSVIgYnkgcGF0dGVybiBhbmQgcmV0dXJuIHJl ZiBudW1iZXIgYW5kIElSLDxicj4mZ3Q7ICZndDsmZ3Q7aWYgZXhpc3RzLiBNb3JlIGZ1bmN0aW9u YWxpdHkgbWF5IGJlIGFkZGVkIGlmIGl0IHdpbGwgYmUgbmVjZXNzYXJ5IGZvcjxicj4mZ3Q7ICZn dDtUeXBvOiBzL2lmIGV4aXN0cy9pZiB0aGV5IGV4aXN0Lzxicj4mZ3Q7ICZndDtUeXBvOiBzL2l0 IHdpbGwgYmUvaXQgaXMvPGJyPjxicj5GaXhlZCwgdGhhbmtzITxicj48YnI+Jmd0OyAmZ3Q7Jmd0 O3Rlc3RzLjxicj4mZ3Q7ICZndDsmZ3Q7LS0tPGJyPiZndDsgJmd0OyZndDsmbmJzcDt0ZXN0L3Rh cmFudG9vbC10ZXN0cy91dGlscy9qaXRfcGFyc2UubHVhIHwgMTU2ICsrKysrKysrKysrKysrKysr KysrKysrPGJyPiZndDsgJmd0OyZndDsmbmJzcDsxIGZpbGUgY2hhbmdlZCwgMTU2IGluc2VydGlv bnMoKyk8YnI+Jmd0OyAmZ3Q7Jmd0OyZuYnNwO2NyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFu dG9vbC10ZXN0cy91dGlscy9qaXRfcGFyc2UubHVhPGJyPiZndDsgJmd0OyZndDs8YnI+Jmd0OyAm Z3Q7Jmd0O2RpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy91dGlscy9qaXRfcGFyc2Uu bHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvaml0X3BhcnNlLmx1YTxicj4mZ3Q7ICZn dDsmZ3Q7bmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+Jmd0OyAmZ3Q7Jmd0O2luZGV4IDAwMDAwMDAw Li5mZThlMGUwODxicj4mZ3Q7ICZndDsmZ3Q7LS0tIC9kZXYvbnVsbDxicj4mZ3Q7ICZndDsmZ3Q7 KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvaml0X3BhcnNlLmx1YTxicj4mZ3Q7ICZn dDsmZ3Q7QEAgLTAsMCArMSwxNTYgQEA8YnI+PGJyPiZsdDtzbmlwcGVkJmd0Ozxicj48YnI+Jmd0 OyAmZ3Q7Jmd0Oytsb2NhbCBmdW5jdGlvbiBwYXJzZV90cmFjZV9oZHIoY3R4LCBsaW5lLCB0cmFj ZV9udW0sIHN0YXR1cyk8YnI+Jmd0OyAmZ3Q7Jmd0OysgbG9jYWwgdHJhY2VzID0gY3R4LnRyYWNl czxicj4mZ3Q7ICZndDsmZ3Q7KyBpZiBzdGF0dXMgPT0gJ3N0YXJ0JyB0aGVuPGJyPiZndDsgJmd0 OyZndDsrIGxvY2FsIHRyYWNlID0gdHJhY2VfbmV3KHRyYWNlX251bSk8YnI+Jmd0OyAmZ3Q7Jmd0 OysgdHJhY2UucGFyZW50LCB0cmFjZS5wYXJlbnRfZXhpdG5vID0gbGluZTptYXRjaCgnc3RhcnQg KCVkKykvKCVkKyknKTxicj4mZ3Q7ICZndDsmZ3Q7KyAtLSBYWFg6IEFzc3VtZSwgdGhhdCBzb3Vy Y2UgbGluZSBjYW4ndCBjb250YWluIHNwYWNlcy48YnI+Jmd0OyAmZ3Q7Jmd0OysgLS0gRm9yIGV4 YW1wbGUsIGl0J3Mgbm90ICIoY29tbWFuZCBsaW5lKSIuPGJyPiZndDsgJmd0OyZndDsrIHRyYWNl LnN0YXJ0X2xvYyA9IGxpbmU6bWF0Y2goJyAoW14lc10rKSQnKTxicj4mZ3Q7ICZndDsmZ3Q7KyB0 cmFjZXNbdHJhY2VfbnVtXSA9IHRyYWNlPGJyPiZndDsgJmd0OyZndDsrIGN0eC5wYXJzaW5nX3Ry YWNlID0gdHJhY2VfbnVtPGJyPiZndDsgJmd0OyZndDsrIGN0eC5wYXJzaW5nID0gJ2JjJzxicj4m Z3Q7ICZndDsmZ3Q7KyBlbHNlaWYgc3RhdHVzID09ICdzdG9wJyB0aGVuPGJyPiZndDsgJmd0OyZn dDsrIGFzc2VydChjdHgucGFyc2luZ190cmFjZSA9PSB0cmFjZV9udW0pPGJyPiZndDsgJmd0OyZn dDsrIGN0eC5wYXJzaW5nX3RyYWNlID0gbmlsPGJyPiZndDsgJmd0OyZndDsrIGN0eC5wYXJzaW5n ID0gbmlsPGJyPiZndDsgJmd0OyZndDsrIGVsc2VpZiBzdGF0dXMgPT0gJ2Fib3J0JyB0aGVuPGJy PiZndDsgJmd0OyZndDsrIGFzc2VydChjdHgucGFyc2luZ190cmFjZSA9PSB0cmFjZV9udW0pPGJy PiZndDsgJmd0OyZndDsrIGN0eC5wYXJzaW5nX3RyYWNlID0gbmlsPGJyPiZndDsgJmd0OyZndDsr IGN0eC5wYXJzaW5nID0gbmlsPGJyPiZndDsgJmd0OyZndDsrIHRyYWNlc1t0cmFjZV9udW1dID0g bmlsPGJyPiZndDsgJmd0O1R3byBicmFuY2hlcyBiZWxvdyBhcmUgYWxtb3N0IGlkZW50aWNhbC4g SXMgaXQgcG9zc2libGUgdG8gYXZvaWQ8YnI+Jmd0OyAmZ3Q7ZHVwbGljYXRpb24/PGJyPjxicj5J IHN1cHBvc2UsIG5vLCBlc3BlY2lhbGx5IHNpbmNlIHdlIG1heSB3YW50IHRvIGRvIHNvbWUgbW9y ZSB3b3JrIGZvcjxicj5hYm9ydGVkIHRyYWNlcyAoSSBqdXN0IGRvbid0IHN1cmUgZm9yIG5vdyku PGJyPjxicj4mZ3Q7ICZndDtTaWRlIG5vdGU6IEFsc28sIEkgbGlrZSBpdCBtdWNoIG1vcmUgd2hl biBzd2l0Y2gtbGlrZSBjb25zdHJ1Y3Rpb25zPGJyPiZndDsgJmd0O2luIEx1YSBhcmUgaW1wbGVt ZW50ZWQgd2l0aCB0YWJsZXMsIGJlY2F1c2UgaXQgc2VlbXMgdG8gYmUgY2xlYW5lci48YnI+Jmd0 OyAmZ3Q7RmVlbCBmcmVlIHRvIGlnbm9yZS48YnI+PGJyPlJld3JpdHRlbiBpbiB0aGlzIHdheSwg c2VlIHRoZSBpdGVyYXRpdmUgcGF0Y2ggYmVsb3cuIEJyYW5jaCBpczxicj5mb3JjZS1wdXNoZWQu PGJyPjxicj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PGJyPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy91 dGlscy9qaXRfcGFyc2UubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvdXRpbHMvaml0X3BhcnNl Lmx1YTxicj5pbmRleCBmZThlMGUwOC4uN2U4Zjg3OWUgMTAwNjQ0PGJyPi0tLSBhL3Rlc3QvdGFy YW50b29sLXRlc3RzL3V0aWxzL2ppdF9wYXJzZS5sdWE8YnI+KysrIGIvdGVzdC90YXJhbnRvb2wt dGVzdHMvdXRpbHMvaml0X3BhcnNlLmx1YTxicj5AQCAtNjQsOSArNjQsOSBAQCBsb2NhbCBmdW5j dGlvbiBwYXJzZV9tY29kZSh0cmFjZSwgbGluZSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7dHJhY2Uu bWNvZGVbI3RyYWNlLm1jb2RlICsgMV0gPSB7YWRkciA9IGFkZHIsIGluc3RydWN0aW9uID0gaW5z dHJ1Y3Rpb24sfTxicj4mbmJzcDtlbmQ8YnI+Jm5ic3A7PGJyPi1sb2NhbCBmdW5jdGlvbiBwYXJz ZV90cmFjZV9oZHIoY3R4LCBsaW5lLCB0cmFjZV9udW0sIHN0YXR1cyk8YnI+LSBsb2NhbCB0cmFj ZXMgPSBjdHgudHJhY2VzPGJyPi0gaWYgc3RhdHVzID09ICdzdGFydCcgdGhlbjxicj4rbG9jYWwg aGVhZGVyX2hhbmRsZXJzID0gezxicj4rIHN0YXJ0ID0gZnVuY3Rpb24oY3R4LCBsaW5lLCB0cmFj ZV9udW0pPGJyPisgbG9jYWwgdHJhY2VzID0gY3R4LnRyYWNlczxicj4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtsb2NhbCB0cmFjZSA9IHRyYWNlX25ldyh0cmFjZV9udW0pPGJyPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3RyYWNlLnBhcmVudCwgdHJhY2UucGFyZW50X2V4aXRu byA9IGxpbmU6bWF0Y2goJ3N0YXJ0ICglZCspLyglZCspJyk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7LS0gWFhYOiBBc3N1bWUsIHRoYXQgc291cmNlIGxpbmUgY2FuJ3QgY29udGFp biBzcGFjZXMuPGJyPkBAIC03NSwyMyArNzUsMjcgQEAgbG9jYWwgZnVuY3Rpb24gcGFyc2VfdHJh Y2VfaGRyKGN0eCwgbGluZSwgdHJhY2VfbnVtLCBzdGF0dXMpPGJyPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3RyYWNlc1t0cmFjZV9udW1dID0gdHJhY2U8YnI+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Y3R4LnBhcnNpbmdfdHJhY2UgPSB0cmFjZV9udW08YnI+Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y3R4LnBhcnNpbmcgPSAnYmMnPGJyPi0gZWxzZWlmIHN0YXR1 cyA9PSAnc3RvcCcgdGhlbjxicj4rIGVuZCw8YnI+KyBzdG9wID0gZnVuY3Rpb24oY3R4LCBsaW5l LCB0cmFjZV9udW0pPGJyPisgbG9jYWwgdHJhY2VzID0gY3R4LnRyYWNlczxicj4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDthc3NlcnQoY3R4LnBhcnNpbmdfdHJhY2UgPT0gdHJhY2VfbnVt KTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdHgucGFyc2luZ190cmFjZSA9IG5p bDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdHgucGFyc2luZyA9IG5pbDxicj4t IGVsc2VpZiBzdGF0dXMgPT0gJ2Fib3J0JyB0aGVuPGJyPisgZW5kLDxicj4rIGFib3J0ID0gZnVu Y3Rpb24oY3R4LCBsaW5lLCB0cmFjZV9udW0pPGJyPisgbG9jYWwgdHJhY2VzID0gY3R4LnRyYWNl czxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDthc3NlcnQoY3R4LnBhcnNpbmdfdHJh Y2UgPT0gdHJhY2VfbnVtKTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdHgucGFy c2luZ190cmFjZSA9IG5pbDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdHgucGFy c2luZyA9IG5pbDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt0cmFjZXNbdHJhY2Vf bnVtXSA9IG5pbDxicj4tIGVsc2VpZiBzdGF0dXMgPT0gJ0lSJyB0aGVuPGJyPisgZW5kLDxicj4r IElSID0gZnVuY3Rpb24oY3R4LCBsaW5lLCB0cmFjZV9udW0pPGJyPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO2N0eC5wYXJzaW5nID0gJ0lSJzxicj4tIGVsc2VpZiBzdGF0dXMgPT0gJ21j b2RlJyB0aGVuPGJyPisgZW5kLDxicj4rIG1jb2RlID0gZnVuY3Rpb24oY3R4LCBsaW5lLCB0cmFj ZV9udW0pPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2N0eC5wYXJzaW5nID0gJ21j b2RlJzxicj4tIGVsc2U8YnI+LSBlcnJvcignVW5rbm93biB0cmFjZSBzdGF0dXM6ICcgLi4gc3Rh dHVzKTxicj4tIGVuZDxicj4tZW5kPGJyPisgZW5kLDxicj4rfTxicj4mbmJzcDs8YnI+Jm5ic3A7 bG9jYWwgZnVuY3Rpb24gcGFyc2VfbGluZShjdHgsIGxpbmUpPGJyPiZuYnNwOyZuYnNwOyZuYnNw O2lmIGxpbmUgPT0gJycgdGhlbjxicj5AQCAtMTA1LDcgKzEwOSwxMSBAQCBsb2NhbCBmdW5jdGlv biBwYXJzZV9saW5lKGN0eCwgbGluZSk8YnI+Jm5ic3A7PGJyPiZuYnNwOyZuYnNwOyZuYnNwO2xv Y2FsIHRyYWNlX251bSwgc3RhdHVzID0gbGluZTptYXRjaCgnVFJBQ0UgKCVkKykgKCV3KyknKTxi cj4mbmJzcDsmbmJzcDsmbmJzcDtpZiB0cmFjZV9udW0gdGhlbjxicj4tIHBhcnNlX3RyYWNlX2hk cihjdHgsIGxpbmUsIHRvbnVtYmVyKHRyYWNlX251bSksIHN0YXR1cyk8YnI+KyBpZiAoaGVhZGVy X2hhbmRsZXJzW3N0YXR1c10pIHRoZW48YnI+KyBoZWFkZXJfaGFuZGxlcnNbc3RhdHVzXShjdHgs IGxpbmUsIHRvbnVtYmVyKHRyYWNlX251bSkpPGJyPisgZWxzZTxicj4rIGVycm9yKCdVbmtub3du IHRyYWNlIHN0YXR1czogJyAuLiBzdGF0dXMpPGJyPisgZW5kPGJyPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldHVybjxicj4mbmJzcDsmbmJzcDsmbmJzcDtlbmQ8YnI+PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PTxicj48YnI+Jmd0OyAmZ3Q7Jmd0OysgZWxzZWlmIHN0YXR1cyA9PSAnSVInIHRoZW48YnI+Jmd0 OyAmZ3Q7Jmd0OysgY3R4LnBhcnNpbmcgPSAnSVInPGJyPiZndDsgJmd0OyZndDsrIGVsc2VpZiBz dGF0dXMgPT0gJ21jb2RlJyB0aGVuPGJyPiZndDsgJmd0OyZndDsrIGN0eC5wYXJzaW5nID0gJ21j b2RlJzxicj4mZ3Q7ICZndDsmZ3Q7KyBlbHNlPGJyPiZndDsgJmd0OyZndDsrIGVycm9yKCdVbmtu b3duIHRyYWNlIHN0YXR1czogJyAuLiBzdGF0dXMpPGJyPiZndDsgJmd0OyZndDsrIGVuZDxicj4m Z3Q7ICZndDsmZ3Q7K2VuZDxicj4mZ3Q7ICZndDsmZ3Q7Kzxicj48YnI+Jmx0O3NuaXBwZWQmZ3Q7 PGJyPjxicj4mZ3Q7ICZndDsmZ3Q7Kzxicj4mZ3Q7ICZndDsmZ3Q7K2xvY2FsIEpEVU1QX0ZJTEU8 YnI+Jmd0OyAmZ3Q7Jmd0Oys8YnI+Jmd0OyAmZ3Q7Jmd0Oytsb2NhbCBmdW5jdGlvbiBwYXJzZV9q aXRfZHVtcCgpPGJyPiZndDsgJmd0OyZndDsrIGxvY2FsIGN0eCA9IHt0cmFjZXMgPSB7fX08YnI+ Jmd0OyAmZ3Q7Jmd0OysgZm9yIGxpbmUgaW4gaW8ubGluZXMoSkRVTVBfRklMRSkgZG88YnI+Jmd0 OyAmZ3Q7SSB0aGluayB3ZSBzaG91bGQgcGVyZm9ybSBlcnJvciBjaGVja2luZyBmb3IgdGhhdCZu YnNwO2lvIG9wZXJhdGlvbi48YnI+PGJyPkl0IGlzIGRvbmUgdW5kZXIgdGhlIGhvb2Q6PGJyPnwg JCBzcmMvbHVhaml0IC1lICdmb3IgXyBpbiBpby5saW5lcygidW5leGlzdGVkIikgZG8gZW5kICc8 YnI+fCBzcmMvbHVhaml0OiAoY29tbWFuZCBsaW5lKToxOiBiYWQgYXJndW1lbnQgIzEgdG8gJ2xp bmVzJyAodW5leGlzdGVkOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5KTxicj58IHN0YWNrIHRy YWNlYmFjazo8YnI+fCBbQ106IGluIGZ1bmN0aW9uICdsaW5lcyc8YnI+fCAoY29tbWFuZCBsaW5l KToxOiBpbiBtYWluIGNodW5rPGJyPnwgW0NdOiBhdCAweDU1YjczYzI4MTA2NDxicj48YnI+Jmd0 OyAmZ3Q7Jmd0OysgcGFyc2VfbGluZShjdHgsIGxpbmUpPGJyPiZndDsgJmd0OyZndDsrIGVuZDxi cj4mZ3Q7ICZndDsmZ3Q7KyByZXR1cm4gY3R4LnRyYWNlczxicj4mZ3Q7ICZndDsmZ3Q7K2VuZDxi cj4mZ3Q7ICZndDsmZ3Q7Kzxicj4mZ3Q7ICZndDsmZ3Q7K00uc3RhcnQgPSBmdW5jdGlvbihmbGFn cyk8YnI+Jmd0OyAmZ3Q7Jmd0OysgYXNzZXJ0KEpEVU1QX0ZJTEUgPT0gbmlsLCAnaml0X3BhcnNl IGlzIGFscmVhZHkgcnVubmluZycpPGJyPiZndDsgJmd0OyZndDsrIC0tIEFsd2F5cyB1c2UgcGxh aW4gdGV4dCBvdXRwdXQuPGJyPiZndDsgJmd0OyZndDsrIGZsYWdzID0gZmxhZ3MgLi4gJ1QnPGJy PiZndDsgJmd0O05pdDogV2hhdCBpZiBlaXRoZXIgYEFgIG9yJm5ic3A7YEhgIGlzIHByZXNlbnQg aW4gdGhlIGZsYWdzPyBJIGJlbGlldmUsIG5vPGJyPiZndDsgJmd0O29uZSBpcyBnb2luZyB0byBk byBzdWNoIHRoaW5ncywgYnV0IGFueXdheSBpdCBpcyB3b3J0aCBjb25zaWRlcmluZzxicj4mZ3Q7 ICZndDthcyBhIHRoaW5nIHRvIGNoZWNrLiBGZWVsIGZyZWUgdG8gaWdub3JlLjxicj48YnI+SXQg aXMgcmV3cml0dGVuIGJ5IHRoZSBsYXN0IGZsYWcgKGkuZS4gYXBwZW5kZWQgYFRgKS48YnI+PGJy PiZndDsgJmd0OyZndDsrIEpEVU1QX0ZJTEUgPSBvcy50bXBuYW1lKCk8YnI+Jmd0OyAmZ3Q7Jmd0 OysgamR1bXAuc3RhcnQoZmxhZ3MsIEpEVU1QX0ZJTEUpPGJyPiZndDsgJmd0OyZndDsrZW5kPGJy PiZndDsgJmd0OyZndDsrPGJyPiZndDsgJmd0OyZndDsrTS5maW5pc2ggPSBmdW5jdGlvbigpPGJy PiZndDsgJmd0OyZndDsrIGFzc2VydChKRFVNUF9GSUxFIH49IG5pbCwgJ2ppdF9wYXJzZSBpcyBu b3QgcnVubmluZycpPGJyPiZndDsgJmd0OyZndDsrIGpkdW1wLm9mZigpPGJyPiZndDsgJmd0OyZn dDsrIGxvY2FsIHRyYWNlcyA9IHBhcnNlX2ppdF9kdW1wKCk8YnI+Jmd0OyAmZ3Q7Jmd0Oysgb3Mu cmVtb3ZlKEpEVU1QX0ZJTEUpPGJyPiZndDsgJmd0OyZndDsrIEpEVU1QX0ZJTEUgPSBuaWw8YnI+ Jmd0OyAmZ3Q7Jmd0OysgcmV0dXJuIHRyYWNlczxicj4mZ3Q7ICZndDsmZ3Q7K2VuZDxicj4mZ3Q7 ICZndDsmZ3Q7Kzxicj4mZ3Q7ICZndDsmZ3Q7Ky0tIFR1cm4gb2ZmIGNvbXBpbGF0aW9uIGZvciB0 aGVzZSBtb2R1bGVzIHRvIGF2b2lkIHNpZGUgZWZmZWN0cy48YnI+Jmd0OyAmZ3Q7Jmd0OytqaXQu b2ZmKHRydWUsIHRydWUpPGJyPiZndDsgJmd0OyZndDsraml0Lm9mZihqZHVtcC5vbiwgdHJ1ZSk8 YnI+Jmd0OyAmZ3Q7Jmd0OytqaXQub2ZmKGpkdW1wLm9mZiwgdHJ1ZSk8YnI+Jmd0OyAmZ3Q7Jmd0 Oys8YnI+Jmd0OyAmZ3Q7Jmd0OytyZXR1cm4gTTxicj4mZ3Q7ICZndDsmZ3Q7LS08YnI+Jmd0OyAm Z3Q7Jmd0OzIuMzQuMTxicj4mZ3Q7ICZndDstLTxicj4mZ3Q7ICZndDtCZXN0IHJlZ2FyZHMsPGJy PiZndDsgJmd0O01heGltIEtva3J5YXNoa2luPGJyPiZndDsgJmd0OyZuYnNwOzxicj48YnI+LS08 YnI+QmVzdCByZWdhcmRzLDxicj5TZXJnZXkgS2FwbHVuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+ PC9ibG9ja3F1b3RlPjxkaXY+Jm5ic3A7PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvQk9EWT48 L0hUTUw+Cg== ----ALT--dB3eCdE41A8089F27D8660153F0853411685368529--