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 975F63853337; Sat, 17 Feb 2024 16:55:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 975F63853337 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 975F63853337 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=1708188906; cv=pass; b=HACn+fWnaeLajNJxS9iNtleyqMx22VAlDXEIVgIy5pzOcomZGKqOn7JYzra7qe5nvVB6ecMfDi+t3DLODKkRfFRpUFMrPbl8jWN8fjozPed/I9gMcgFqc5jZuTvK6gTLoSFBwZCjfaCeuNlBaAj8wyaYPAKfIxFw6mbJo8VbVik= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708188906; c=relaxed/simple; bh=TnbTtCkbvmaWWc2gBPmbWhl1w3HPHF7Iz7iZ4iG0J5g=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=oS1sWhYu9GiXHucnoXmTgEILHWX6FlE32uVxyKfhWXgY6q8GMyICnvz0AAk06R4ZLZGZ2yoWGyc6CObdOan1O2pKaYqY7/Gf9DgiQSY7ZIA/ACkcueHatxlb3EVRSiYWZlFXziU3QG2aDCZSpPzOgNb9QiFbDa/NnWfUfNMcpzU= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1708188898; cv=none; d=zohomail.com; s=zohoarc; b=Wd+nyfQ3jnpgewKDLjocHp3deJAAnRH9ySNNU9avWQtahQ8lRHy5H2QtKY+yNuyfb48uJ8pR7A0SmkWVGiTb54CS1ywiRrdb7wGldxcDhqBYawEqlRk8ZcR+reZOzHdGLBR9lCYV3UxPNAyLcWwfK6wWt+oDPqHIYTbN1XJ09eE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708188898; 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=TnbTtCkbvmaWWc2gBPmbWhl1w3HPHF7Iz7iZ4iG0J5g=; b=HXXQy0aRBuSV0MTXJdd2eQrXuUFU+1DtoBtaEN2W6MfEhs9hCigzvYkcYpS2a2BEwvX5FCunMe/T+sKUB196C4mkxwEb4sEx7ac/ZBRwYBcGB729i1MoxZTtoxiRwz7LXqeMq8RIe6BmLIWP+/AEpkaxWLb8yIFWlihjYjWbdlE= 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=1708188898; 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=TnbTtCkbvmaWWc2gBPmbWhl1w3HPHF7Iz7iZ4iG0J5g=; b=Ss7Oas4OM/Jrb7olK0c3xCpGE8lS32oEw/5nqyRsYPebWGV6DjVFrRk37HtlLtVG YRNvaB6CTpJcuqohXvTNp7Gae131XGvKeuiBSIGv7M3K7j8JBNcuDdaBpUFh21fb1x/ xsk86MdOSssINpD4kmeJ3nDx0t5hlGYmIC8QnHgQ= Received: from [192.168.1.172] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 1708188897831394.0024552929989; Sat, 17 Feb 2024 08:54:57 -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: Sat, 17 Feb 2024 11:54:55 -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: rr080112288258a19ac7ae3eb9a4c8c6960000a23d0099cf8caad3e0f49659368fbbeddc9d4c77c7eda7f75259:zu08011226b38082e5ba44166712eed21b00000d8b1927da1a647c9dbdc34973995a6f41ce2b7b44865e84:rf08011232066962039458807d50d395d6000056188ea4f39bbff61e2fe1be704efbc8c1b5961671cad7dfcc44ad24b8873f5d263cfebe:ZohoMail X-ZohoMailClient: External X-Spam-Status: No, score=-10.0 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: RGF2aWQ6IFBpbmcuCgpPbiBGcmksIDIwMjQtMDEtMTkgYXQgMTU6MjEgLTA1MDAsIEFudG9uaSBC b3VjaGVyIHdyb3RlOgo+IERhdmlkOiBQaW5nLgo+IAo+IE9uIFRodSwgMjAyMy0xMS0zMCBhdCAx NzoxNiAtMDUwMCwgQW50b25pIEJvdWNoZXIgd3JvdGU6Cj4gPiBBbGwgb2YgdGhlc2UgYXJlIGZp eGVkIGluIHRoaXMgbmV3IHBhdGNoLgo+ID4gVGhhbmtzIGZvciB0aGUgcmV2aWV3Lgo+ID4gCj4g PiBPbiBNb24sIDIwMjMtMTEtMjAgYXQgMTg6MDUgLTA1MDAsIERhdmlkIE1hbGNvbG0gd3JvdGU6 Cj4gPiA+IE9uIEZyaSwgMjAyMy0xMS0xNyBhdCAxNzozNiAtMDUwMCwgQW50b25pIEJvdWNoZXIg d3JvdGU6Cj4gPiA+ID4gSGkuCj4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIGEgdmVjdG9yIHBlcm11 dGF0aW9uIGFuZCB2ZWN0b3IgYWNjZXNzCj4gPiA+ID4gb3BlcmF0aW9ucwo+ID4gPiA+IChidWcK PiA+ID4gPiAxMTI2MDIpLgo+ID4gPiA+IAo+ID4gPiA+IFRoaXMgd2FzIHNwbGl0IGZyb20gdGhp cyBwYXRjaDoKPiA+ID4gPiBodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9qaXQvMjAyM3Ex LzAwMTYwNi5odG1sCj4gPiA+ID4gCj4gPiA+IAo+ID4gPiBUaGFua3MgZm9yIHRoZSBwYXRjaC4K PiA+ID4gCj4gPiA+IE92ZXJhbGwsIGxvb2tzIGdvb2QsIGJ1dCAzIG1pbm9yIG5pdHBpY2tzOgo+ ID4gPiAKPiA+ID4gWy4uLnNuaXAuLi5dCj4gPiA+IAo+ID4gPiA+IGRpZmYgLS1naXQgYS9nY2Mv aml0L2RvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0Cj4gPiA+ID4gYi9nY2Mvaml0L2RvY3Mv dG9waWNzL2NvbXBhdGliaWxpdHkucnN0Cj4gPiA+ID4gaW5kZXggZWJlZGU0NDBlZTQuLmE3NjRl Mzk2OGQxIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJp bGl0eS5yc3QKPiA+ID4gPiArKysgYi9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBhdGliaWxpdHku cnN0Cj4gPiA+ID4gQEAgLTM3OCwzICszNzgsMTMgQEAgYWxpZ25tZW50IG9mIGEgdmFyaWFibGU6 Cj4gPiA+ID4gwqAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+IMKgYGBMSUJHQ0NKSVRfQUJJ XzI1YGAgY292ZXJzIHRoZSBhZGRpdGlvbiBvZgo+ID4gPiA+IMKgOmZ1bmM6YGdjY19qaXRfdHlw ZV9nZXRfcmVzdHJpY3RgCj4gPiA+ID4gKwo+ID4gPiA+ICsKPiA+ID4gPiArLi4gX0xJQkdDQ0pJ VF9BQklfMjY6Cj4gPiA+ID4gKwo+ID4gPiA+ICtgYExJQkdDQ0pJVF9BQklfMjZgYAo+ID4gPiA+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+ICtgYExJQkdDQ0pJVF9BQklfMjZgYCBjb3Zl cnMgdGhlIGFkZGl0aW9uIG9mIGZ1bmN0aW9ucyB0bwo+ID4gPiA+IG1hbmlwdWxhdGUgdmVjdG9y czoKPiA+ID4gPiArCj4gPiA+ID4gK8KgICogOmZ1bmM6YGdjY19qaXRfY29udGV4dF9uZXdfcnZh bHVlX3ZlY3Rvcl9wZXJtYAo+ID4gPiA+ICvCoCAqIDpmdW5jOmBnY2Nfaml0X2NvbnRleHRfbmV3 X3ZlY3Rvcl9hY2Nlc3NgCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2djYy9qaXQvZG9jcy90b3BpY3Mv ZXhwcmVzc2lvbnMucnN0Cj4gPiA+ID4gYi9nY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25z LnJzdAo+ID4gPiA+IGluZGV4IDQyY2ZlZTM2MzAyLi40YTQ1YWExM2Y1YyAxMDA2NDQKPiA+ID4g PiAtLS0gYS9nY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25zLnJzdAo+ID4gPiA+ICsrKyBi L2djYy9qaXQvZG9jcy90b3BpY3MvZXhwcmVzc2lvbnMucnN0Cj4gPiA+ID4gQEAgLTI5NSw2ICsy OTUsMzUgQEAgVmVjdG9yIGV4cHJlc3Npb25zCj4gPiA+ID4gwqAKPiA+ID4gPiDCoMKgwqDCoMKg wqAgI2lmZGVmCj4gPiA+ID4gTElCR0NDSklUX0hBVkVfZ2NjX2ppdF9jb250ZXh0X25ld19ydmFs dWVfZnJvbV92ZWN0b3IKPiA+ID4gPiDCoAo+ID4gPiA+ICsuLiBmdW5jdGlvbjo6IGdjY19qaXRf cnZhbHVlICogXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnY2Nfaml0X2Nv bnRleHRfbmV3X3J2YWx1ZV92ZWN0b3JfcGVybQo+ID4gPiA+IChnY2Nfaml0X2NvbnRleHQgKmN0 eHQsIFwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoAo+ID4gPiA+IGdjY19qaXRfbG9jYXRpb24gKmxvYywgXAo+ID4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+ID4gZ2NjX2pp dF9ydmFsdWUgKmVsZW1lbnRzMSwgXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+ID4gZ2NjX2ppdF9ydmFsdWUgKmVsZW1lbnRz MiwgXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgCj4gPiA+ID4gZ2NjX2ppdF9ydmFsdWUgKm1hc2spOwo+ID4gPiA+ICsKPiA+ID4gPiAr wqDCoCBCdWlsZCBhIHBlcm11dGF0aW9uIG9mIHR3byB2ZWN0b3JzLgo+ID4gPiA+ICsKPiA+ID4g PiArwqDCoCAiZWxlbWVudHMxIiBhbmQgImVsZW1lbnRzMiIgc2hvdWxkIGhhdmUgdGhlIHNhbWUg dHlwZS4KPiA+ID4gPiArwqDCoCBUaGUgbGVuZ3RoIG9mICJtYXNrIiBhbmQgImVsZW1lbnRzMSIg c2hvdWxkIGJlIHRoZSBzYW1lLgo+ID4gPiA+ICvCoMKgIFRoZSBlbGVtZW50IHR5cGUgb2YgIm1h c2siIHNob3VsZCBiZSBpbnRlZ3JhbC4KPiA+ID4gPiArwqDCoCBUaGUgc2l6ZSBvZiB0aGUgZWxl bWVudCB0eXBlIG9mICJtYXNrIiBhbmQgImVsZW1lbnRzMSIKPiA+ID4gPiBzaG91bGQKPiA+ID4g PiBiZSB0aGUgc2FtZS4KPiA+ID4gPiArCj4gPiA+ID4gK8KgwqAgVGhpcyBlbnRyeXBvaW50IHdh cyBhZGRlZCBpbiA6cmVmOmBMSUJHQ0NKSVRfQUJJXzI1YDsgeW91Cj4gPiA+ID4gY2FuCj4gPiA+ ID4gdGVzdCBmb3IKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIF5eCj4gPiA+IFNob3VsZCBiZSAyNgo+ID4gPiAKPiA+ID4gWy4uLnNuaXAu Li5dCj4gPiA+IAo+ID4gPiA+IMKgVW5hcnkgT3BlcmF0aW9ucwo+ID4gPiA+IMKgKioqKioqKioq KioqKioqKgo+ID4gPiA+IMKgCj4gPiA+ID4gQEAgLTEwMjAsMyArMTA0OSwyNyBAQCBGaWVsZCBh Y2Nlc3MgaXMgcHJvdmlkZWQgc2VwYXJhdGVseSBmb3IKPiA+ID4gPiBib3RoCj4gPiA+ID4gbHZh bHVlcyBhbmQgcnZhbHVlcy4KPiA+ID4gPiDCoMKgwqDCoMKgwqAgUFRSW0lOREVYXQo+ID4gPiA+ IMKgCj4gPiA+ID4gwqDCoMKgIGluIEMgKG9yLCBpbmRlZWQsIHRvIGBgUFRSICsgSU5ERVhgYCku Cj4gPiA+ID4gKwo+ID4gPiA+ICsuLiBmdW5jdGlvbjo6IGdjY19qaXRfbHZhbHVlICpcCj4gPiA+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdjY19qaXRfY29udGV4dF9uZXdfdmVjdG9y X2FjY2Vzcwo+ID4gPiA+IChnY2Nfaml0X2NvbnRleHQKPiA+ID4gPiAqY3R4dCxcCj4gPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gPiA+IGdjY19qaXRf bG9jYXRpb24KPiA+ID4gPiAqbG9jLFwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgCj4gPiA+ID4gZ2NjX2ppdF9ydmFsdWUKPiA+ID4gPiAqdmVjdG9yLFwK PiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+ID4g Z2NjX2ppdF9ydmFsdWUKPiA+ID4gPiAqaW5kZXgpCj4gPiA+ID4gKwo+ID4gPiA+ICvCoMKgIEdp dmVuIGFuIHJ2YWx1ZSBvZiB2ZWN0b3IgdHlwZSBgYFQgX19hdHRyaWJ1dGVfXwo+ID4gPiA+ICgo X192ZWN0b3Jfc2l6ZV9fIChTSVpFKSkpYGAsIGdldCB0aGUgZWxlbWVudCBgVGAgYXQKPiA+ID4g PiArwqDCoCB0aGUgZ2l2ZW4gaW5kZXguCj4gPiA+ID4gKwo+ID4gPiA+ICvCoMKgIFRoaXMgZW50 cnlwb2ludCB3YXMgYWRkZWQgaW4gOnJlZjpgTElCR0NDSklUX0FCSV8yNWA7IHlvdQo+ID4gPiA+ IGNhbgo+ID4gPiA+IHRlc3QgZm9yCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBeXgo+ID4gPiAKPiA+ID4gTGlrZXdpc2UgaGVyZS4KPiA+ ID4gCj4gPiA+IFsuLi5zbmlwLi4uXQo+ID4gPiAKPiA+ID4gPiBAQCAtNDA3MSw2ICs0MTA3LDc5 IEBAIGdjY19qaXRfY29udGV4dF9uZXdfcnZhbHVlX2Zyb21fdmVjdG9yCj4gPiA+ID4gKGdjY19q aXRfY29udGV4dCAqY3R4dCwKPiA+ID4gPiDCoMKgwqDCoMKgIChnY2M6OmppdDo6cmVjb3JkaW5n OjpydmFsdWUgKiopZWxlbWVudHMpOwo+ID4gPiA+IMKgfQo+ID4gPiA+IMKgCj4gPiA+ID4gKy8q IFB1YmxpYyBlbnRyeXBvaW50LsKgIFNlZSBkZXNjcmlwdGlvbiBpbiBsaWJnY2NqaXQuaC4KPiA+ ID4gPiArCj4gPiA+ID4gK8KgwqAgQWZ0ZXIgZXJyb3ItY2hlY2tpbmcsIHRoZSByZWFsIHdvcmsg aXMgZG9uZSBieSB0aGUKPiA+ID4gPiArwqDCoCBnY2M6OmppdDo6cmVjb3JkaW5nOjpjb250ZXh0 OjpuZXdfcnZhbHVlX3ZlY3Rvcl9wZXJtCj4gPiA+ID4gbWV0aG9kLAo+ID4gPiA+IGluCj4gPiA+ ID4gK8KgwqAgaml0LXJlY29yZGluZy5jYy7CoCAqLwo+ID4gPiA+ICsKPiA+ID4gPiArZ2NjX2pp dF9ydmFsdWUgKgo+ID4gPiA+ICtnY2Nfaml0X2NvbnRleHRfbmV3X3J2YWx1ZV92ZWN0b3JfcGVy bSAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LAo+ID4gPiA+ICsJCQkJCWdjY19qaXRfbG9jYXRpb24g KmxvYywKPiA+ID4gPiArCQkJCQlnY2Nfaml0X3J2YWx1ZQo+ID4gPiA+ICplbGVtZW50czEsCj4g PiA+ID4gKwkJCQkJZ2NjX2ppdF9ydmFsdWUKPiA+ID4gPiAqZWxlbWVudHMyLAo+ID4gPiA+ICsJ CQkJCWdjY19qaXRfcnZhbHVlICptYXNrKQo+ID4gPiA+ICt7Cj4gPiA+ID4gK8KgIFJFVFVSTl9O VUxMX0lGX0ZBSUwgKGN0eHQsIE5VTEwsIGxvYywgIk5VTEwgY3R4dCIpOwo+ID4gPiA+ICvCoCBK SVRfTE9HX0ZVTkMgKGN0eHQtPmdldF9sb2dnZXIgKCkpOwo+ID4gPiA+ICsKPiA+ID4gPiArwqAg LyogTE9DIGNhbiBiZSBOVUxMLsKgICovCj4gPiA+IAo+ID4gPiAuLi5idXQgImVsZW1lbnRzMSIs ICJlbGVtZW50czIiLCBhbmQgIm1hc2siIG11c3Qgbm90IGJlIE5VTEwsIGFzCj4gPiA+IHRoZXkn cmUgZGVyZWZlcmVuY2VkIGJlbG93LsKgIFNvIHRoaXMgaXMgZ29pbmcgdG8gbmVlZCBzb21ldGhp bmcKPiA+ID4gbGlrZQo+ID4gPiB0aGUgZm9sbG93aW5nICh1bnRlc3RlZCk6Cj4gPiA+IAo+ID4g PiDCoCBSRVRVUk5fTlVMTF9JRl9GQUlMIChlbGVtZW50czEsIGN0eHQsIGxvYywgIk5VTEwgZWxl bWVudHMxIik7Cj4gPiA+IMKgIFJFVFVSTl9OVUxMX0lGX0ZBSUwgKGVsZW1lbnRzMiwgY3R4dCwg bG9jLCAiTlVMTCBlbGVtZW50czIiKTsKPiA+ID4gwqAgUkVUVVJOX05VTExfSUZfRkFJTCAobWFz aywgY3R4dCwgbG9jLCAiTlVMTCBtYXNrIik7Cj4gPiA+IAo+ID4gPiBbLi4uc25pcC4uLl0KPiA+ ID4gCj4gPiA+IE9LIHdpdGggdGhvc2UgZml4ZWQuCj4gPiA+IAo+ID4gPiBUaGFua3MKPiA+ID4g RGF2ZQo+ID4gPiAKPiA+IAo+IAoK