From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sender4-pp-o90.zoho.com (sender4-pp-o90.zoho.com [136.143.188.90]) by sourceware.org (Postfix) with ESMTPS id 3DC7B3858C2A; Fri, 19 Jan 2024 20:21:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3DC7B3858C2A Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=zoho.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=zoho.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3DC7B3858C2A Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=136.143.188.90 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705695692; cv=pass; b=V4A6e1QW31aF4JXf6dGaM0y9IJ8Sla6xF6Vg55ZrgKDdABrRV6dFuc18I3AIYtaQD2IVqUn7kYCTpp+YcJigFjJsLOvh3Aqgpkf4QbuO07sGNk4W+aTF2T344Hp8+33PI2n7V4/9rqtAYWjFc99IlhvO4u5vLUsNV+Geov7awSg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705695692; c=relaxed/simple; bh=PmPj/Vp3UYjb1ocUNUHMclLz+BS2bgWu10g/VW39WHA=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=nOL9aSLGFjEiziDZPAJpmHwJ5W0N6QF+eilKogKgWmvFAI9bf40AocyycHmMLgOgjvhxk9E6FZknDelCM1cprPZUvJP1xk/CBWId1Wr6ghoTC1R5IoRAZgL6FyrSHCjMRdFL+XW0CK1bjucFx1Bh/32qLyT8GSYbqHmXiZCF2S4= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1705695683; cv=none; d=zohomail.com; s=zohoarc; b=mbEE7Tpbjw3aofoRuhBt3r04+hBA7aLV3VCqgMQfOxpblPpcc4qicpb0/2++zVOkxBuXTgA14wml4EzryKJwXtpGwU43tprRpfeXDsS0RCdMwDtdBOxiO5HG9tVizCWgP+H/Et1mYP6Ct4C6ewrsH+MV+6AR1XIh0P8DUSEf0tA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1705695683; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=PmPj/Vp3UYjb1ocUNUHMclLz+BS2bgWu10g/VW39WHA=; b=ih7FGOZ0xumYq9jJAJEKV1J9XoxjstAz4w2clxY8wP7JTRxAP4VK9XliFooAWcqBczbEh8MSFT+vSpBb/gHH5yXvpGTDJWSne7diPMh6OJDsQOMniQczBlKvBd3ysd657VduXxwvFxpxOWCojq++sJXNBTqMV12fbNjhukNBTzY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zoho.com; spf=pass smtp.mailfrom=bouanto@zoho.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1705695683; s=zm2022; d=zoho.com; i=bouanto@zoho.com; h=Message-ID:Subject:Subject:From:From:To:To:Date:Date:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:MIME-Version:Feedback-ID:Message-Id:Reply-To:Cc; bh=PmPj/Vp3UYjb1ocUNUHMclLz+BS2bgWu10g/VW39WHA=; b=NeO0N7F5pXifM8KTtugBCnFQQz/5ylpnGgzoEfbUPlNxxGGFui6vyz+d1tXosBtC O2b+waK9n2Ee52TGvfufefheKKma2x2gGmIVYoLK476xNMKZkegN5x9jr+2APfDPxOV SEO+m9G0i4Pu63sntaPi40W9rqg2O7erYWW5L18I= Received: from [192.168.1.172] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 1705695681951663.2097429218575; Fri, 19 Jan 2024 12:21:21 -0800 (PST) Message-ID: Subject: Re: [PATCH] libgccjit: Add vector permutation and vector access operations From: Antoni Boucher To: David Malcolm , jit@gcc.gnu.org, gcc-patches@gcc.gnu.org Date: Fri, 19 Jan 2024 15:21:20 -0500 In-Reply-To: References: <9db455400eafdfc0ed204d5949840978174380cb.camel@redhat.com> Autocrypt: addr=bouanto@zoho.com; prefer-encrypt=mutual; keydata=mQENBFOSMLQBCADO5aw6Ys8thMQUNzrwAnfJX2wbgWiz0pQ01DjYj22eeIpChkoZn6LWdt4dieq30u2rFi/yQzJ02foHwI2+aL9rU6xz/x4TwqyRJQGMOqklNc3R+pdXmH4WDQkQDWmLxvc07vu+zb8Tx5A6pMDh4J2ncCEhLEUcH39Yq/yg4eBnFwUX6N7kakvHrnScGNqhnSFCacoJeMJUAR+1G7VBSBd++jmnHLnx3mj7QkRZVECJUw2zqiv1yReCC6GU4SvqLjdqm5ZGeoWOqD/NHjBRoEeOVjzp6M/qOjjWRbkJVqmvgfcD8UytSSqqboR35YFT4L+rZt2ri3T12MJb3i5syCAXABEBAAG0IUFudG9uaSBCb3VjaGVyIDxib3VhbnRvQHpvaG8uY29tPokBVgQTAQgAQAIbIwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QM4FCRLMEZoACgkQRVeGAwR4zcFBQQf/afttJrA/puADQZhrDfkgr0MFvq6iB+GCy1b8BkXimk1TOXTPt87YLehSeijNu3JkYhl5eRc87BNfU9J87KfI/KIy6hZxqlDXk16FhW9bw/7wYEA0hpb3MUn7xLElXDT0ZHaD+KTe8Oun7qfzgx5RlL6r/WODf3CkSpO085R/rfeBqDEx9mVlhDWgq6Az3CZoD+3CqiCKVqmDuHTWz4kwrd9AM5eVcLvvLKnZIdoIp+G5Ao6BvaGlZyfenN1iOSjLy2NXNt4MnUt0lUYEP5KSIIRhHQ8xkUbj7eWUmaahkxhNb3fH3sAPwGnRZrPpb4rgYzNmSk63wWMh9M2xk+rLb7kBDQRTkjC0AQgAumZzsAV/UFWI+dpzebQfma36kKYZZFuseant5sq/HWP553XQ/U6ttJiKyN5MpCqtxvCAoRplf42YhlHuFqgf73WJxoJ6Y+sdyqoBSwlR+ gzAneAmsa8gmmY0wawH0Z2leazjKuS7mJjVEQZg0ZGsiCVRGeRnDqFGzDEzDc9ngWKSoTq0fKzlGy1X85OrtmUrvEbhSo6HP+FoeunHkIqrxu3w3vDoFEXxVQlKI6V3I4nCz5n6DB8WR3L7nsiiTnOiGirPw1ngvWFLW86kkA4FJpayc8Xl3va3SLY+2y4yuROboX2DVI4AC/Qeug/mDiBicPxkP6YfUartQRMe6obkEQARAQABiQE8BBgBCAAmAhsMFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QRsFCRLMEecACgkQRVeGAwR4zcE56ggAgTgrJInBKC+7552Dpccuo6Clh3wZfjlNLv9/6r5lKEbaNzaTrfhPiAP4WgnluIUmj8amOFLFJpj+BAVNOXpZ4D2R3o9ch8z7fot+fW4Yw+PKIxH4I2xEys8ndoEB3aiQwHjKcGIhkIU7uyMJFQr2aWjdTY0gmXw0YZueHOSLgo7uX4XKxB8fEO/yto/Tff2YBAAq+AtNwt+Gh5YS9rZw7rwUTWMi84yVOlc+zRE79E9NJkvdTwX7IJYo64VzIRNfgHsn7QNdVzuM1XIFHl+Glk6cIlI8s6BO7nEoCn3hTF104fQTAO3fEs+XXZOKXo2lk8faowEoPq5r58StrV0nyg== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.50.3 MIME-Version: 1.0 Feedback-ID: rr08011228138e4ef0415ed7e333bf3b4b0000aa70b77c202bdcaee8ecc76f247856879be24e2021bb6ee6b387:zu08011226e9fb704a72e21214f3aa32e30000293d193fbdefa3b214dd7f4cb0352d10883c27d4fff4d7e2:rf08011232f14b9b7fbd6dd9fe8eacfeca0000b6b6ac1bf28f3d0f326017d7a2f2233815306f6af22429b4f37baee7df88ab61c5f2e34e:ZohoMail X-ZohoMailClient: External X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: RGF2aWQ6IFBpbmcuCgpPbiBUaHUsIDIwMjMtMTEtMzAgYXQgMTc6MTYgLTA1MDAsIEFudG9uaSBC b3VjaGVyIHdyb3RlOgo+IEFsbCBvZiB0aGVzZSBhcmUgZml4ZWQgaW4gdGhpcyBuZXcgcGF0Y2gu Cj4gVGhhbmtzIGZvciB0aGUgcmV2aWV3Lgo+IAo+IE9uIE1vbiwgMjAyMy0xMS0yMCBhdCAxODow NSAtMDUwMCwgRGF2aWQgTWFsY29sbSB3cm90ZToKPiA+IE9uIEZyaSwgMjAyMy0xMS0xNyBhdCAx NzozNiAtMDUwMCwgQW50b25pIEJvdWNoZXIgd3JvdGU6Cj4gPiA+IEhpLgo+ID4gPiBUaGlzIHBh dGNoIGFkZHMgYSB2ZWN0b3IgcGVybXV0YXRpb24gYW5kIHZlY3RvciBhY2Nlc3Mgb3BlcmF0aW9u cwo+ID4gPiAoYnVnCj4gPiA+IDExMjYwMikuCj4gPiA+IAo+ID4gPiBUaGlzIHdhcyBzcGxpdCBm cm9tIHRoaXMgcGF0Y2g6Cj4gPiA+IGh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2ppdC8y MDIzcTEvMDAxNjA2Lmh0bWwKPiA+ID4gCj4gPiAKPiA+IFRoYW5rcyBmb3IgdGhlIHBhdGNoLgo+ ID4gCj4gPiBPdmVyYWxsLCBsb29rcyBnb29kLCBidXQgMyBtaW5vciBuaXRwaWNrczoKPiA+IAo+ ID4gWy4uLnNuaXAuLi5dCj4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2djYy9qaXQvZG9jcy90b3Bp Y3MvY29tcGF0aWJpbGl0eS5yc3QKPiA+ID4gYi9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBhdGli aWxpdHkucnN0Cj4gPiA+IGluZGV4IGViZWRlNDQwZWU0Li5hNzY0ZTM5NjhkMSAxMDA2NDQKPiA+ ID4gLS0tIGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdAo+ID4gPiArKysg Yi9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0Cj4gPiA+IEBAIC0zNzgsMyAr Mzc4LDEzIEBAIGFsaWdubWVudCBvZiBhIHZhcmlhYmxlOgo+ID4gPiDCoC0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gPiA+IMKgYGBMSUJHQ0NKSVRfQUJJXzI1YGAgY292ZXJzIHRoZSBhZGRpdGlvbiBv Zgo+ID4gPiDCoDpmdW5jOmBnY2Nfaml0X3R5cGVfZ2V0X3Jlc3RyaWN0YAo+ID4gPiArCj4gPiA+ ICsKPiA+ID4gKy4uIF9MSUJHQ0NKSVRfQUJJXzI2Ogo+ID4gPiArCj4gPiA+ICtgYExJQkdDQ0pJ VF9BQklfMjZgYAo+ID4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gK2BgTElCR0NDSklU X0FCSV8yNmBgIGNvdmVycyB0aGUgYWRkaXRpb24gb2YgZnVuY3Rpb25zIHRvCj4gPiA+IG1hbmlw dWxhdGUgdmVjdG9yczoKPiA+ID4gKwo+ID4gPiArwqAgKiA6ZnVuYzpgZ2NjX2ppdF9jb250ZXh0 X25ld19ydmFsdWVfdmVjdG9yX3Blcm1gCj4gPiA+ICvCoCAqIDpmdW5jOmBnY2Nfaml0X2NvbnRl eHRfbmV3X3ZlY3Rvcl9hY2Nlc3NgCj4gPiA+IGRpZmYgLS1naXQgYS9nY2Mvaml0L2RvY3MvdG9w aWNzL2V4cHJlc3Npb25zLnJzdAo+ID4gPiBiL2djYy9qaXQvZG9jcy90b3BpY3MvZXhwcmVzc2lv bnMucnN0Cj4gPiA+IGluZGV4IDQyY2ZlZTM2MzAyLi40YTQ1YWExM2Y1YyAxMDA2NDQKPiA+ID4g LS0tIGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3QKPiA+ID4gKysrIGIvZ2Nj L2ppdC9kb2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3QKPiA+ID4gQEAgLTI5NSw2ICsyOTUsMzUg QEAgVmVjdG9yIGV4cHJlc3Npb25zCj4gPiA+IMKgCj4gPiA+IMKgwqDCoMKgwqDCoCAjaWZkZWYK PiA+ID4gTElCR0NDSklUX0hBVkVfZ2NjX2ppdF9jb250ZXh0X25ld19ydmFsdWVfZnJvbV92ZWN0 b3IKPiA+ID4gwqAKPiA+ID4gKy4uIGZ1bmN0aW9uOjogZ2NjX2ppdF9ydmFsdWUgKiBcCj4gPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnY2Nfaml0X2NvbnRleHRfbmV3X3J2YWx1ZV92 ZWN0b3JfcGVybQo+ID4gPiAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LCBcCj4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+IGdjY19qaXRf bG9jYXRpb24gKmxvYywgXAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoAo+ID4gPiBnY2Nfaml0X3J2YWx1ZSAqZWxlbWVudHMxLCBcCj4gPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+ IGdjY19qaXRfcnZhbHVlICplbGVtZW50czIsIFwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiA+ID4gZ2NjX2ppdF9ydmFsdWUgKm1hc2sp Owo+ID4gPiArCj4gPiA+ICvCoMKgIEJ1aWxkIGEgcGVybXV0YXRpb24gb2YgdHdvIHZlY3RvcnMu Cj4gPiA+ICsKPiA+ID4gK8KgwqAgImVsZW1lbnRzMSIgYW5kICJlbGVtZW50czIiIHNob3VsZCBo YXZlIHRoZSBzYW1lIHR5cGUuCj4gPiA+ICvCoMKgIFRoZSBsZW5ndGggb2YgIm1hc2siIGFuZCAi ZWxlbWVudHMxIiBzaG91bGQgYmUgdGhlIHNhbWUuCj4gPiA+ICvCoMKgIFRoZSBlbGVtZW50IHR5 cGUgb2YgIm1hc2siIHNob3VsZCBiZSBpbnRlZ3JhbC4KPiA+ID4gK8KgwqAgVGhlIHNpemUgb2Yg dGhlIGVsZW1lbnQgdHlwZSBvZiAibWFzayIgYW5kICJlbGVtZW50czEiIHNob3VsZAo+ID4gPiBi ZSB0aGUgc2FtZS4KPiA+ID4gKwo+ID4gPiArwqDCoCBUaGlzIGVudHJ5cG9pbnQgd2FzIGFkZGVk IGluIDpyZWY6YExJQkdDQ0pJVF9BQklfMjVgOyB5b3UgY2FuCj4gPiA+IHRlc3QgZm9yCj4gPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXl4KPiA+ IFNob3VsZCBiZSAyNgo+ID4gCj4gPiBbLi4uc25pcC4uLl0KPiA+IAo+ID4gPiDCoFVuYXJ5IE9w ZXJhdGlvbnMKPiA+ID4gwqAqKioqKioqKioqKioqKioqCj4gPiA+IMKgCj4gPiA+IEBAIC0xMDIw LDMgKzEwNDksMjcgQEAgRmllbGQgYWNjZXNzIGlzIHByb3ZpZGVkIHNlcGFyYXRlbHkgZm9yCj4g PiA+IGJvdGgKPiA+ID4gbHZhbHVlcyBhbmQgcnZhbHVlcy4KPiA+ID4gwqDCoMKgwqDCoMKgIFBU UltJTkRFWF0KPiA+ID4gwqAKPiA+ID4gwqDCoMKgIGluIEMgKG9yLCBpbmRlZWQsIHRvIGBgUFRS ICsgSU5ERVhgYCkuCj4gPiA+ICsKPiA+ID4gKy4uIGZ1bmN0aW9uOjogZ2NjX2ppdF9sdmFsdWUg KlwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdjY19qaXRfY29udGV4dF9uZXdf dmVjdG9yX2FjY2VzcyAoZ2NjX2ppdF9jb250ZXh0Cj4gPiA+ICpjdHh0LFwKPiA+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gPiBnY2Nfaml0X2xvY2F0aW9u Cj4gPiA+ICpsb2MsXAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGdjY19qaXRfcnZhbHVlCj4gPiA+ICp2ZWN0b3IsXAo+ID4gPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdjY19qaXRfcnZhbHVlCj4gPiA+ICppbmRleCkKPiA+ ID4gKwo+ID4gPiArwqDCoCBHaXZlbiBhbiBydmFsdWUgb2YgdmVjdG9yIHR5cGUgYGBUIF9fYXR0 cmlidXRlX18KPiA+ID4gKChfX3ZlY3Rvcl9zaXplX18gKFNJWkUpKSlgYCwgZ2V0IHRoZSBlbGVt ZW50IGBUYCBhdAo+ID4gPiArwqDCoCB0aGUgZ2l2ZW4gaW5kZXguCj4gPiA+ICsKPiA+ID4gK8Kg wqAgVGhpcyBlbnRyeXBvaW50IHdhcyBhZGRlZCBpbiA6cmVmOmBMSUJHQ0NKSVRfQUJJXzI1YDsg eW91IGNhbgo+ID4gPiB0ZXN0IGZvcgo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIF5eCj4gPiAKPiA+IExpa2V3aXNlIGhlcmUuCj4gPiAKPiA+ IFsuLi5zbmlwLi4uXQo+ID4gCj4gPiA+IEBAIC00MDcxLDYgKzQxMDcsNzkgQEAgZ2NjX2ppdF9j b250ZXh0X25ld19ydmFsdWVfZnJvbV92ZWN0b3IKPiA+ID4gKGdjY19qaXRfY29udGV4dCAqY3R4 dCwKPiA+ID4gwqDCoMKgwqDCoCAoZ2NjOjpqaXQ6OnJlY29yZGluZzo6cnZhbHVlICoqKWVsZW1l bnRzKTsKPiA+ID4gwqB9Cj4gPiA+IMKgCj4gPiA+ICsvKiBQdWJsaWMgZW50cnlwb2ludC7CoCBT ZWUgZGVzY3JpcHRpb24gaW4gbGliZ2Njaml0LmguCj4gPiA+ICsKPiA+ID4gK8KgwqAgQWZ0ZXIg ZXJyb3ItY2hlY2tpbmcsIHRoZSByZWFsIHdvcmsgaXMgZG9uZSBieSB0aGUKPiA+ID4gK8KgwqAg Z2NjOjpqaXQ6OnJlY29yZGluZzo6Y29udGV4dDo6bmV3X3J2YWx1ZV92ZWN0b3JfcGVybSBtZXRo b2QsCj4gPiA+IGluCj4gPiA+ICvCoMKgIGppdC1yZWNvcmRpbmcuY2MuwqAgKi8KPiA+ID4gKwo+ ID4gPiArZ2NjX2ppdF9ydmFsdWUgKgo+ID4gPiArZ2NjX2ppdF9jb250ZXh0X25ld19ydmFsdWVf dmVjdG9yX3Blcm0gKGdjY19qaXRfY29udGV4dCAqY3R4dCwKPiA+ID4gKwkJCQkJZ2NjX2ppdF9s b2NhdGlvbiAqbG9jLAo+ID4gPiArCQkJCQlnY2Nfaml0X3J2YWx1ZQo+ID4gPiAqZWxlbWVudHMx LAo+ID4gPiArCQkJCQlnY2Nfaml0X3J2YWx1ZQo+ID4gPiAqZWxlbWVudHMyLAo+ID4gPiArCQkJ CQlnY2Nfaml0X3J2YWx1ZSAqbWFzaykKPiA+ID4gK3sKPiA+ID4gK8KgIFJFVFVSTl9OVUxMX0lG X0ZBSUwgKGN0eHQsIE5VTEwsIGxvYywgIk5VTEwgY3R4dCIpOwo+ID4gPiArwqAgSklUX0xPR19G VU5DIChjdHh0LT5nZXRfbG9nZ2VyICgpKTsKPiA+ID4gKwo+ID4gPiArwqAgLyogTE9DIGNhbiBi ZSBOVUxMLsKgICovCj4gPiAKPiA+IC4uLmJ1dCAiZWxlbWVudHMxIiwgImVsZW1lbnRzMiIsIGFu ZCAibWFzayIgbXVzdCBub3QgYmUgTlVMTCwgYXMKPiA+IHRoZXkncmUgZGVyZWZlcmVuY2VkIGJl bG93LsKgIFNvIHRoaXMgaXMgZ29pbmcgdG8gbmVlZCBzb21ldGhpbmcKPiA+IGxpa2UKPiA+IHRo ZSBmb2xsb3dpbmcgKHVudGVzdGVkKToKPiA+IAo+ID4gwqAgUkVUVVJOX05VTExfSUZfRkFJTCAo ZWxlbWVudHMxLCBjdHh0LCBsb2MsICJOVUxMIGVsZW1lbnRzMSIpOwo+ID4gwqAgUkVUVVJOX05V TExfSUZfRkFJTCAoZWxlbWVudHMyLCBjdHh0LCBsb2MsICJOVUxMIGVsZW1lbnRzMiIpOwo+ID4g wqAgUkVUVVJOX05VTExfSUZfRkFJTCAobWFzaywgY3R4dCwgbG9jLCAiTlVMTCBtYXNrIik7Cj4g PiAKPiA+IFsuLi5zbmlwLi4uXQo+ID4gCj4gPiBPSyB3aXRoIHRob3NlIGZpeGVkLgo+ID4gCj4g PiBUaGFua3MKPiA+IERhdmUKPiA+IAo+IAoK