From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgjp3.qq.com (smtpbgjp3.qq.com [54.92.39.34]) by sourceware.org (Postfix) with ESMTPS id 0583A3858D32 for ; Sun, 7 May 2023 21:54:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0583A3858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp70t1683496463tgml0nz5 Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 08 May 2023 05:54:22 +0800 (CST) X-QQ-SSF: 01400000000000F0Q000000A0000000 X-QQ-FEAT: 7YFKcddXaghUmIrSbBuIHbAXcSpLF/dsPC0b6d2YZIr9k2bHsDK1czYQJ6yu1 Oj3DUWwCF842j+d3xx4lAIMsmIp2WeVnNkhd3ue6TA2O4kk5sp7OavwHdAo6lmRSGsJ4fPE 4VlxCGbByugJihQabd3BR2G1peW9MP5z7I60h5e9ioOoZZHvYvwOur11Y03pJpXMoZ0dyWm pH7qhI7Es+45HUjWZ9Kq41XKmgDTyU0J8xrErzojc+WplqAdD5gOg6YDG77k7e6SWtsT2Ix VMJJf5mnDDDgqFJ3mr0ZUx9DJlbgN8mfKn13xe+HWpz2u81zv2KAiEcqy1YbA96bUl6+03L TxL7stlVgTch3hSuI7hB9z5IVM7ApEMGi5XyaFo11+Q4Ee2ue2RovuOJbqS5RrLsDcHLhBB beM6Pv9nq44= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 4350871076085026469 Date: Mon, 8 May 2023 05:54:24 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: "Jeff Law" , gcc-patches Cc: richard.sandiford , rguenther Subject: Re: Re: [PATCH V4] VECT: Add decrement IV iteration loop control by variable amount support References: <20230504132540.286148-1-juzhe.zhong@rivai.ai>, <62a49c62-8632-baff-c3d6-c4277fd669ca@gmail.com> X-Priority: 3 X-GUID: 753F0430-E73C-4C47-AAF1-DFDF4A5A2DDE X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart812007046054_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_KAM_HTML_FONT_INVALID,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: This is a multi-part message in MIME format. ------=_001_NextPart812007046054_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Pj4gSXQncyBiZWVuIHByZXR0eSBzdGFuZGFyZCB0byBzdGljayB3aXRoIGp1 c3QgUExVU19FWFBSIGZvciB0aGlzIHN0dWZmDQo+PiBhbmQgaW5zdGVhZCBu ZWdhdGUgdGhlIGNvbnN0YW50IHRvIHByb2R1Y2UgdGhlIHNhbWUgZWZmZWN0 IGFzDQo+PiBNSU5VU19FWFBSLiAgSXMgdGhlcmUgYSByZWFzb24gd2UncmUg bm90IGNvbnRpbnVpbmcgdGhhdCBwcmFjdGljZT8NCj4+IFNvcnJ5IGlmIHlv dSd2ZSBhbnN3ZXJlZCB0aGlzIGFscmVhZHkgLS0gaWYgeW91IGhhdmUsIHlv dSBjYW4ganVzdCBwb2ludA0KPj4gbWUgYXQgdGhlIHByaW9yIGRpc2N1c3Np b24gYW5kIEknbGwgcmVhZCBpdC4NCg0KUmljaGFyZCAoU2FuZGlmb3JkKSBo YXMgYW5zd2VyZWQgdGhpcyBxdWVzdGlvbjoNCmh0dHBzOi8vZ2NjLmdudS5v cmcvcGlwZXJtYWlsL2djYy1wYXRjaGVzLzIwMjMtQXByaWwvNjE2NzQ1Lmh0 bWwgDQpBbmQgYXMgUmljaGFyZCAoQmllbmVyKSBzYWlkLCBpdCB3aWxsIG1h a2UgSVZPUFRzIGZhaWxlZCBpZiB3ZSBoYXZlIHZhcmlhYmxlIElWcy4NCkhv d2V2ZXIsIHdlIGFscmVhZHkgaGF2ZSBpbXBsZW1lbnRlZCB2YXJpYWJsZSBJ VnMgaW4gZG93bnN0cmVhbSBSVlYgR0NDDQphbmQgd29ya3MgZmluZSBhbmQg SSBkb24ndCBzZWUgYW55IGJhZCBjb2RlZ2VuIHNvIGZhci4gU28sIEkgdGhp bmsgaXQgbWF5IG5vdA0KYmUgYSBzZXJpb3VzIGlzc3VlIGZvciBSVlYuDQoN CkJlc2lkZXMsIHRoaXMgaW1wbGVtZW50YXRpb24gaXMgbm90IG15IGlkZWEg d2hpY2ggaXMganVzdCBmb2xsb3dpbmcgdGhlIGd1aWRlIGNvbWluZw0KZnJv bSBSVlYgSVNBIHNwZWMuICBBbmQgYWxzbyBpbnNwaXJlZCBieSB0aGUgaW1w bGVtZW50YXRpb24gY29taW5nIGZyb20gTExWTS4NClJlZmVyZW5jZToNCjEp LiBSVlYgSVNBOiBodHRwczovL2dpdGh1Yi5jb20vcmlzY3YvcmlzY3Ytdi1z cGVjL2Jsb2IvbWFzdGVyL2V4YW1wbGUvdnZhZGRpbnQzMi5zIA0KMikuIExM Vk0gbGVuZ3RoIHN0dWZmIGltcGxlbWVudGF0aW9uIChTaG91bGQgbm90ZSB0 aGF0ICJnZXRfdmVjdG9yX2xlbmd0aCIgcGF0dGVybiBpbiBMTFZNIGlzDQog ICAgIHRvdGFsbHkgZG9pbmcgdGhlIHNhbWUgdGhpbmcgYXMgInNlbGVjdF92 bCIgcGF0dGVybiBpbiBHQ0MgaGVyZToNCiAgICAgaHR0cHM6Ly9yZXZpZXdz Lmxsdm0ub3JnL0Q5OTc1MCANCg0KdnZhZGRpbnQzMjoNCiAgICB2c2V0dmxp IHQwLCBhMCwgZTMyLCB0YSwgbWEgICMgU2V0IHZlY3RvciBsZW5ndGggYmFz ZWQgb24gMzItYml0IHZlY3RvcnMNCiAgICB2bGUzMi52IHYwLCAoYTEpICAg ICAgICAgIyBHZXQgZmlyc3QgdmVjdG9yDQogICAgICBzdWIgYTAsIGEwLCB0 MCAgICAgICAgICMgRGVjcmVtZW50IG51bWJlciBkb25lDQogICAgICBzbGxp IHQwLCB0MCwgMiAgICAgICAgICMgTXVsdGlwbHkgbnVtYmVyIGRvbmUgYnkg NCBieXRlcw0KICAgICAgYWRkIGExLCBhMSwgdDAgICAgICAgICAjIEJ1bXAg cG9pbnRlcg0KICAgIHZsZTMyLnYgdjEsIChhMikgICAgICAgICAjIEdldCBz ZWNvbmQgdmVjdG9yDQogICAgICBhZGQgYTIsIGEyLCB0MCAgICAgICAgICMg QnVtcCBwb2ludGVyDQogICAgdmFkZC52diB2MiwgdjAsIHYxICAgICAgICMg U3VtIHZlY3RvcnMNCiAgICB2c2UzMi52IHYyLCAoYTMpICAgICAgICAgIyBT dG9yZSByZXN1bHQNCiAgICAgIGFkZCBhMywgYTMsIHQwICAgICAgICAgIyBC dW1wIHBvaW50ZXINCiAgICAgIGJuZXogYTAsIHZ2YWRkaW50MzIgICAgIyBM b29wIGJhY2sNCiAgICAgIHJldCAgICAgICAgICAgICAgICAgICAgIyBGaW5p c2hlZA0KDQpOb3RpY2UgInN1YiBhMCwgYTAsIHQwIiwgdGhlICJ0MCIgaXMg dGhlIHZhcmlhYmxlIGNvbWluZyBmcm9tICJ2c2V0dmxpIHQwLCBhMCwgZTMy LCB0YSwgbWEiDQp3aGljaCBpcyBnZW5lcmF0ZWQgYnkgImdldF92ZWN0b3Jf bGVuZ3RoIiBpbiBMTFZNLCBvciBzaW1pbGlhciBpdCBpcyBhbHNvIGdlbmVy YXRkIGJ5ICJzZWxlY3RfdmwiIGluIEdDQyB0b28uDQoNCk90aGVyIGNvbW1l bnRzIGZyb20gSmVmZiB3aWxsIGJlIGFkZHJlc3NlZCBpbiB0aGUgbmV4dCBw YXRjaCAoVjUpLCBJIHdpbGwgd2FpdCBmb3INClJpY2hhcmRzIChib3RoIFNh bmRpZm9yZCAmJiBCaWVuZXIgdGhhdCBhcmUgdGhlIGV4cGVydHMgaW4gTG9v cCBWZWN0b3JpemVyKSBjb21tZW50cy4NClRoZW4gc2VuZCBWNSBwYXRjaCB3 aGljaCBpcyBpbmNsdWRpbmcgYWxsIGNvbW1lbnRzIGZyb20gSmVmZiAmJiBS aWNoYXJkcyAoU2FuZGlmb3JkICYmIEJpZW5lcikuDQoNClRoYW5rcy4NCg0K DQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogSmVmZiBMYXcNCkRh dGU6IDIwMjMtMDUtMDcgMjM6MTkNClRvOiBqdXpoZS56aG9uZzsgZ2NjLXBh dGNoZXMNCkNDOiByaWNoYXJkLnNhbmRpZm9yZDsgcmd1ZW50aGVyDQpTdWJq ZWN0OiBSZTogW1BBVENIIFY0XSBWRUNUOiBBZGQgZGVjcmVtZW50IElWIGl0 ZXJhdGlvbiBsb29wIGNvbnRyb2wgYnkgdmFyaWFibGUgYW1vdW50IHN1cHBv cnQNCiANCiANCk9uIDUvNC8yMyAwNzoyNSwganV6aGUuemhvbmdAcml2YWku YWkgd3JvdGU6DQo+IEZyb206IEp1LVpoZSBaaG9uZyA8anV6aGUuemhvbmdA cml2YWkuYWk+DQo+IA0KPiBUaGlzIHBhdGNoIGlzIGZpeGluZyBWMyBwYXRj aDoNCj4gaHR0cHM6Ly9wYXRjaHdvcmsuc291cmNld2FyZS5vcmcvcHJvamVj dC9nY2MvcGF0Y2gvMjAyMzA0MDcwMTQ3NDEuMTM5Mzg3LTEtanV6aGUuemhv bmdAcml2YWkuYWkvDQo+IA0KPiBGaXggaXNzdWVzIGFjY29yZGluZyB0byBS aWNoYXJkIFNhbmRpZm9yZCAmJiBSaWNoYXJkIEJpZW5lci4NCj4gDQo+IDEu IFJlbmFtZSBXSElMRV9MRU4gcGF0dGVybiBpbnRvIFNFTEVDVF9WTCBhY2Nv cmRpbmcgdG8gUmljaGFyZCBTYW5kaWZvcmQuDQo+IDIuIFN1cHBvcnQgbXVs dGlwbGUtcmdyb3VwIGZvciBub24tU0xQIGF1dG8tdmVjdG9yaXphdGlvbi4N Cj4gDQo+ICAgICBGb3IgdmVjX3BhY2tfdHJ1bmMgcGF0dGVybiAobXVsdGkt cmdyb3VwIG9mIG5vbi1TTFApLCB3ZSBnZW5lcmF0ZSB0aGUgdG90YWwgbGVu Z3RoOg0KPiANCj4gICAgICAgXzM2ID0gTUlOX0VYUFIgPGl2dG1wXzM0LCBQ T0xZX0lOVF9DU1QgWzgsIDhdPjsNCj4gDQo+ICAgICAgIEZpcnN0IGxlbmd0 aCAoTUlOIChYLCBWRi9OKSk6DQo+ICAgICAgICAgbG9vcF9sZW5fMTUgPSBN SU5fRVhQUiA8XzM2LCBQT0xZX0lOVF9DU1QgWzIsIDJdPjsNCj4gDQo+ICAg ICAgIFNlY29uZCBsZW5ndGggKFggLSBNSU4gKFgsIDEgKiBWRi9OKSk6DQo+ ICAgICAgICAgbG9vcF9sZW5fMTYgPSBfMzYgLSBsb29wX2xlbl8xNTsNCj4g DQo+ICAgICAgIFRoaXJkIGxlbmd0aCAoWCAtIE1JTiAoWCwgMiAqIFZGL04p KToNCj4gICAgICAgICBfMzggPSBNSU5fRVhQUiA8XzM2LCBQT0xZX0lOVF9D U1QgWzQsIDRdPjsNCj4gICAgICAgICBsb29wX2xlbl8xNyA9IF8zNiAtIF8z ODsNCj4gDQo+ICAgICAgIEZvcnRoIGxlbmd0aCAoWCAtIE1JTiAoWCwgMyAq IFZGL04pKToNCj4gICAgICAgICBfMzkgPSBNSU5fRVhQUiA8XzM2LCBQT0xZ X0lOVF9DU1QgWzYsIDZdPjsNCj4gICAgICAgICBsb29wX2xlbl8xOCA9IF8z NiAtIF8zOTsNCj4gDQo+IFRoZSByZWFzb24gdGhhdCBJIHVzZSBNSU5fRVhQ UiBpbnN0ZWFkIG9mIFNFTEVDVF9WTCB0byBjYWxjdWxhdGUgdG90YWwgbGVu Z3RoIHNpbmNlIHVzaW5nIFNFTEVDVF9WTA0KPiB0byBhZGFwdCBpbmR1Y3Rp b24gSVYgY29uc3VtZXMgbW9yZSBpbnN0cnVjdGlvbnMgdGhhbiBqdXN0IHVz aW5nIE1JTl9FWFBSLiBBbHNvLCBkdXJpbmcgdGVzdGluZywNCj4gSSBmb3Vu ZCBpdCdzIGhhcmQgdG8gYWRqdXN0IGxlbmd0aCBjb3JyZWN0bHkgYWNjb3Jk aW5nIHRvIFNFTEVDVF9WTC4NCj4gDQo+IFNvLCB0aGlzIHBhdGNoIHdlIG9u bHkgdXNlIFNFTEVDVF9WTCBmb3Igc2luZ2xlLXJncm91cCB3aXRoIHNpbmds ZSBsZW5ndGggY29udHJvbC4NCj4gDQo+IDMuIEZpeCBkb2N1bWVudCBvZiBz ZWxlY3RfdmwgZm9yIFJpY2hhcmQgQmllbmVyIChyZW1vdmUgbW9kZSBOKS4N Cj4gNC4gRml4IGNvbW1lbnRzIG9mIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNf Ynlfc2VsZWN0X3ZsIGFjY29yZGluZyB0byBSaWNoYXJkIEJpZW5lci4NCj4g NS4gS2VlcCBsb29wX3ZpbmZvIGFzIGZpcnN0IHBhcmFtZXRlciBmb3IgInZl Y3RfZ2V0X2xvb3BfbGVuIi4NCj4gNi4gbWFrZSByZXF1aXJlbWVudCBvZiBn ZXRfd2hpbGVfbGVuX2RhdGFfcmVmX3B0ciBvdXRzaWRlLCBsZXQgaXQgdG8g YmUgZ2F0ZWQgYXQgdGhlIGNhbGxlciBzaXRlLg0KPiANCj4gTW9yZSBjb21t ZW50cyBmcm9tIFJpY2hhcmQgQmllbmVyOg0KPj4+IFNvIGl0J3Mgbm90IGFj dHVhbGx5IHNhdHVyYXRpbmcuICBUaGUgc2F0dXJhdGluZyBvcGVyYXRpb24g aXMgZG9uZSBieSAuV0hJTEVfTEVOPw0KPiBJIGRlZmluZSB0aGUgb3V0Y29t ZSBvZiBTRUxFQ1RfVkwgKG4sIHZmKSAgKFdISUxFX0xFTikgPSBJTl9SQU5H RSAoMCwgbWluIChuLCB2ZikpIHdpbGwgbWFrZQ0KPiB0aGUgbG9vcCBjb250 cm9sIGNvdW50ZXIgbmV2ZXIgdW5kZXJmbG93IHplcm8uDQo+IA0KPj4+IEkg c2VlLiAgSSB3b25kZXIgaWYgaXQgbWFrZXMgc2Vuc2UgdG8gbGVhdmUgLldI SUxFX0xFTiBhc2lkZSBmb3IgYSBzdGFydCwNCj4+PiB0aGUgYWJvdmUgc2No ZW1lIHNob3VsZCBhbHNvIHdvcmsgZm9yIHNpbmdsZSByZ3JvdXBzLCBubz8N Cj4+PiBBcyBzYWlkLCBpdCBfbG9va3NfIGxpa2UgeW91IGNhbiBwcm9ncmVz cyB3aXRob3V0IC5XSElMRV9MRU4gYW5kIHVzaW5nDQo+Pj4gLldISUxFX0xF TiBpcyBhIHB1cmUgb3B0aW1pemF0aW9uPw0KPiBZZXMsIFNFTEVDVF9WTCAo V0hJTEVfTEVOKSBpcyBwdXJlIG9wdGltaXphdGlvbiBmb3Igc2luZ2xlLXJn cm91cCBhbmQgYWxsb3cNCj4gdGFyZ2V0IGFkanVzdCBhbnkgbGVuZ3RoID0g SU5SQU5HRSAoMCwgbWluIChuLCB2ZikpIGVhY2ggaXRlcmF0aW9uLg0KPiAN Cj4gTGV0IG1lIGtub3duIGlmIEkgbWlzc2VkIHNvbWV0aGluZyBmb3IgdGhl IFYzIHBhdGNoLg0KU28gYXQgYSBoaWdoIGxldmVsIHRoaXMgaXMgcHJldHR5 IGdvb2QuICBJIHRoaW5rIHRoZXJlJ3Mgc29tZSANCmltcHJvdmVtZW50cyB3 ZSBzaG91bGQgbWFrZSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgY29tbWVu dHMsIGJ1dCBJJ20gDQpjb21mb3J0YWJsZSB3aXRoIG1vc3Qgb2YgdGhlIGlt cGxlbWVudGF0aW9uIGRldGFpbHMuDQogDQogDQogDQo+IA0KPiBkaWZmIC0t Z2l0IGEvZ2NjL2RvYy9tZC50ZXhpIGIvZ2NjL2RvYy9tZC50ZXhpDQo+IGlu ZGV4IGNjNGE5M2E4NzYzLi45OWNmMGNkYmRjYSAxMDA2NDQNCj4gLS0tIGEv Z2NjL2RvYy9tZC50ZXhpDQo+ICsrKyBiL2djYy9kb2MvbWQudGV4aQ0KPiBA QCAtNDk3NCw2ICs0OTc0LDQwIEBAIGZvciAoaSA9IDE7IGkgPCBvcGVyYW5k MzsgaSsrKQ0KPiAgICAgb3BlcmFuZDBbaV0gPSBvcGVyYW5kMFtpIC0gMV0g JiYgKG9wZXJhbmQxICsgaSA8IG9wZXJhbmQyKTsNCj4gICBAZW5kIHNtYWxs ZXhhbXBsZQ0KPiAgIA0KPiArQGNpbmRleCBAY29kZXtzZWxlY3RfdmxAdmFy e219fSBpbnN0cnVjdGlvbiBwYXR0ZXJuDQo+ICtAaXRlbSBAY29kZXtzZWxl Y3RfdmxAdmFye219fQ0KPiArU2V0IG9wZXJhbmQgMCB0byB0aGUgbnVtYmVy IG9mIGFjdGl2ZSBlbGVtZW50cyBpbiB2ZWN0b3Igd2lsbCBiZSB1cGRhdGVk IHZhbHVlLg0KVGhpcyByZWFkcyByYXRoZXIgcG9vcmx5LiAgSXMgdGhpcyBz dGlsbCBhY2N1cmF0ZT8NCiANClNldCBvcGVyYW5kIDAgdG8gdGhlIG51bWJl ciBvZiBhY3RpdmUgZWxlbWVudHMgaW4gYSB2ZWN0b3IgdG8gYmUgdXBkYXRl ZCANCmluIGEgbG9vcCBpdGVyYXRpb24gYmFzZWQgb24gdGhlIHRvdGFsIG51 bWJlciBvZiBlbGVtZW50cyB0byBiZSB1cGRhdGVkLCANCnRoZSB2ZWN0b3Jp emF0aW9uIGZhY3RvciBhbmQgdmVjdG9yIHByb3BlcnRpZXMgb2YgdGhlIHRh cmdldC4NCiANCiANCj4gK29wZXJhbmQgMSBpcyB0aGUgdG90YWwgZWxlbWVu dHMgbmVlZCB0byBiZSB1cGRhdGVkIHZhbHVlLg0Kb3BlcmFuZCAxIGlzIHRo ZSB0b3RhbCBlbGVtZW50cyBpbiB0aGUgdmVjdG9yIHRvIGJlIHVwZGF0ZWQu DQogDQogDQo+ICsNCj4gK1RoZSBvdXRwdXQgb2YgdGhpcyBwYXR0ZXJuIGlz IG5vdCBvbmx5IHVzZWQgYXMgSVYgb2YgbG9vcCBjb250cm9sIGNvdW50ZXIs IGJ1dCBhbHNvDQo+ICtpcyB1c2VkIGFzIHRoZSBJViBvZiBhZGRyZXNzIGNh bGN1bGF0aW9uIHdpdGggbXVsdGlwbHkvc2hpZnQgb3BlcmF0aW9uLiBUaGlz IGFsbG93DQo+ICt1cyBkeW5hbWljIGFkanVzdCB0aGUgbnVtYmVyIG9mIGVs ZW1lbnRzIGlzIHByb2Nlc3NlZCBpbiBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUg bG9vcC4NClRoaXMgYWxsb3dzIGR5bmFtaWMgYWRqdXN0bWVudCBvZiB0aGUg bnVtYmVyIG9mIGVsZW1lbnRzIHByb2Nlc3NlZCBlYWNoIA0KbG9vcCBpdGVy YXRpb24uIC0tIGlzIHRoYXQgc3RpbGwgYWNjdXJhdGUgYW5kIGRvZXMgaXQg cmVhZCBiZXR0ZXI/DQogDQogDQo+IEBAIC00Nyw3ICs0Nyw5IEBAIGFsb25n IHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2Vl DQo+ICAgICAgc28gdGhhdCB3ZSBjYW4gZnJlZSB0aGVtIGFsbCBhdCBvbmNl LiAgKi8NCj4gICBzdGF0aWMgYml0bWFwX29ic3RhY2sgbG9vcF9yZW5hbWVy X29ic3RhY2s7DQo+ICAgDQo+IC0vKiBDcmVhdGVzIGFuIGluZHVjdGlvbiB2 YXJpYWJsZSB3aXRoIHZhbHVlIEJBU0UgKyBTVEVQICogaXRlcmF0aW9uIGlu IExPT1AuDQo+ICsvKiBDcmVhdGVzIGFuIGluZHVjdGlvbiB2YXJpYWJsZSB3 aXRoIHZhbHVlIEJBU0UgKCsvLSkgU1RFUCAqIGl0ZXJhdGlvbiBpbiBMT09Q Lg0KPiArICAgSWYgQ09ERSBpcyBQTFVTX0VYUFIsIHRoZSBpbmR1Y3Rpb24g dmFyaWFibGUgaXMgQkFTRSArIFNURVAgKiBpdGVyYXRpb24uDQo+ICsgICBJ ZiBDT0RFIGlzIE1JTlVTX0VYUFIsIHRoZSBpbmR1Y3Rpb24gdmFyaWFibGUg aXMgQkFTRSAtIFNURVAgKiBpdGVyYXRpb24uDQo+ICAgICAgSXQgaXMgZXhw ZWN0ZWQgdGhhdCBuZWl0aGVyIEJBU0Ugbm9yIFNURVAgYXJlIHNoYXJlZCB3 aXRoIG90aGVyIGV4cHJlc3Npb25zDQo+ICAgICAgKHVubGVzcyB0aGUgc2hh cmluZyBydWxlcyBhbGxvdyB0aGlzKS4gIFVzZSBWQVIgYXMgYSBiYXNlIHZh cl9kZWNsIGZvciBpdA0KPiAgICAgIChpZiBOVUxMLCBhIG5ldyB0ZW1wb3Jh cnkgd2lsbCBiZSBjcmVhdGVkKS4gIFRoZSBpbmNyZW1lbnQgd2lsbCBvY2N1 ciBhdA0KSXQncyBiZWVuIHByZXR0eSBzdGFuZGFyZCB0byBzdGljayB3aXRo IGp1c3QgUExVU19FWFBSIGZvciB0aGlzIHN0dWZmIA0KYW5kIGluc3RlYWQg bmVnYXRlIHRoZSBjb25zdGFudCB0byBwcm9kdWNlIHRoZSBzYW1lIGVmZmVj dCBhcyANCk1JTlVTX0VYUFIuICBJcyB0aGVyZSBhIHJlYXNvbiB3ZSdyZSBu b3QgY29udGludWluZyB0aGF0IHByYWN0aWNlPyANClNvcnJ5IGlmIHlvdSd2 ZSBhbnN3ZXJlZCB0aGlzIGFscmVhZHkgLS0gaWYgeW91IGhhdmUsIHlvdSBj YW4ganVzdCBwb2ludCANCm1lIGF0IHRoZSBwcmlvciBkaXNjdXNzaW9uIGFu ZCBJJ2xsIHJlYWQgaXQuDQogDQogDQogDQo+IGRpZmYgLS1naXQgYS9nY2Mv dHJlZS12ZWN0LWxvb3AtbWFuaXAuY2MgYi9nY2MvdHJlZS12ZWN0LWxvb3At bWFuaXAuY2MNCj4gaW5kZXggNDRiZDVmMmM4MDUuLmQ2M2RlZDVkNGYwIDEw MDY0NA0KPiAtLS0gYS9nY2MvdHJlZS12ZWN0LWxvb3AtbWFuaXAuY2MNCj4g KysrIGIvZ2NjL3RyZWUtdmVjdC1sb29wLW1hbmlwLmNjDQo+IEBAIC0zODUs NiArMzg1LDQ4IEBAIHZlY3RfbWF5YmVfcGVybXV0ZV9sb29wX21hc2tzIChn aW1wbGVfc2VxICpzZXEsIHJncm91cF9jb250cm9scyAqZGVzdF9yZ20sDQo+ ICAgICByZXR1cm4gZmFsc2U7DQo+ICAgfQ0KPiAgIA0KPiArLyogVHJ5IHRv IHVzZSBwZXJtdXRlcyB0byBkZWZpbmUgdGhlIGxlbnMgaW4gREVTVF9SR00g dXNpbmcgdGhlIGxlbnMNCj4gKyAgIGluIFNSQ19SR00sIGdpdmVuIHRoYXQg dGhlIGZvcm1lciBoYXMgdHdpY2UgYXMgbWFueSBsZW5zIGFzIHRoZQ0KPiAr ICAgbGF0dGVyLiAgUmV0dXJuIHRydWUgb24gc3VjY2VzcywgYWRkaW5nIGFu eSBuZXcgc3RhdGVtZW50cyB0byBTRVEuICAqLw0KSSB3b3VsZCBzdWdnZXN0 IG5vdCB1c2luZyAicGVybXV0ZSIgaW4gdGhpcyBkZXNjcmlwdGlvbi4gIFdo ZW4gSSByZWFkIA0KcGVybXV0ZSBpbiB0aGUgY29udGV4dCBvZiB2ZWN0b3Jp emF0aW9uLCBJIHRoaW5rIG9mIGEgdmVjdG9yIHBlcm11dGUgdG8gDQpzY3Jh bWJsZSBlbGVtZW50cyB3aXRoaW4gYSB2ZWN0b3IuDQogDQpUaGlzIGxvb2tz IGxpa2UgeW91J3JlIGp1c3QgYWRqdXN0aW5nIGhvdyBtYW55IHZlY3RvciBl bGVtZW50cyB5b3UncmUgDQpvcGVyYXRpbmcgb24uDQogDQo+ICsgew0KPiAr ICAgLyogRm9yIFNMUCwgd2UgY2FuJ3QgYWxsb3cgbm9uLVZGIG51bWJlciBv ZiBlbGVtZW50cyB0byBiZSBwcm9jZXNzZWQNCj4gKyAgICAgIGluIG5vbi1m aW5hbCBpdGVyYXRpb24uIFdlIGZvcmNlIHRoZSBudW1iZXIgb2YgZWxlbWVu dHMgdG8gYmUNCj4gKyAgICBwcm9jZXNzZWQgaW4gZWFjaCBub24tZmluYWwg aXRlcmF0aW9uIGlzIFZGIGVsZW1lbnRzLiBJZiB3ZSBhbGxvdw0KPiArICAg IG5vbi1WRiBlbGVtZW50cyBwcm9jZXNzaW5nIGluIG5vbi1maW5hbCBpdGVy YXRpb24gd2lsbCBtYWtlIFNMUCB0b28NCj4gKyAgICBjb21wbGljYXRlZCBh bmQgcHJvZHVjZSBpbmZlcmlvciBjb2RlZ2VuLg0KTG9va3MgbGlrZSB5b3Ug bWF5IGhhdmUgbWl4ZWQgdXAgc3BhY2VzIGFuZCB0YWJzIGluIHRoZSBhYm92 ZSBjb21tZW50LiANCkp1c3QgYSBuaXQsIGJ1dCBsZXQncyBnbyBhaGVhZCBh bmQgZ2V0IGl0IGZpeGVkLg0KIA0KPiBAQCAtNzAzLDYgKzEwNDAsMTAgQEAg dmVjdF9zZXRfbG9vcF9jb25kaXRpb25fcGFydGlhbF92ZWN0b3JzIChjbGFz cyBsb29wICpsb29wLA0KPiAgIA0KPiAgICAgYm9vbCB1c2VfbWFza3NfcCA9 IExPT1BfVklORk9fRlVMTFlfTUFTS0VEX1AgKGxvb3BfdmluZm8pOw0KPiAg ICAgdHJlZSBjb21wYXJlX3R5cGUgPSBMT09QX1ZJTkZPX1JHUk9VUF9DT01Q QVJFX1RZUEUgKGxvb3BfdmluZm8pOw0KPiArICB0cmVlIGl2X3R5cGUgPSBM T09QX1ZJTkZPX1JHUk9VUF9JVl9UWVBFIChsb29wX3ZpbmZvKTsNCj4gKyAg Ym9vbCB1c2VfdmxfcCA9ICF1c2VfbWFza3NfcA0KPiArICAgJiYgZGlyZWN0 X2ludGVybmFsX2ZuX3N1cHBvcnRlZF9wIChJRk5fU0VMRUNUX1ZMLCBpdl90 eXBlLA0KPiArICAgICAgT1BUSU1JWkVfRk9SX1NQRUVEKTsNCldoZW4geW91 IGJyZWFrIGEgbGluZSB3aXRoIGEgbG9naWNhbCBsaWtlIHRoaXMsIGdvIGFo ZWFkIGFuZCBhZGQgDQpwYXJlbnRoZXNpcyBhbmQgbWFrZSBzdXJlIHRoZSBs b2dpY2FsIGFsaWducyBqdXN0IGFmdGVyIHRoZSBwYXJlbi4gIGllDQogDQpi b29sIHVzZV92bF9wID0gKCF1c2VfbWFza3NfcA0KJiYgZGlyZWN0Li4uLg0K IA0KIA0KQWx0ZXJuYXRlbHksIGNvbXB1dGUgdGhlIGRpcmVjdF9pdG5lcm5h bF9mbl9zdXBwb3J0ZWRfcCBpbnRvIGl0cyBvd24gDQpib29sZWFuIGFuZCB0 aGVuIHlvdSBkb24ndCBuZWVkIGFzIG11Y2ggbGluZSB3cmFwcGluZy4NCiAN CkluIGdlbmVyYWwsIGRvbid0IGJlIGFmcmFpZCB0byB1c2UgZXh0cmEgdGVt cG9yYXJpZXMgaWYgZG9pbmcgc28gDQppbXByb3ZlcyByZWFkYWJpbGl0eS4N CiANCiANCiANCiANCiANCj4gKyAgIGVsc2UgaWYgKGxvb3BfbGVucyAmJiBs b29wX2xlbnMtPmxlbmd0aCAoKSA9PSAxDQo+ICsgICAgJiYgZGlyZWN0X2lu dGVybmFsX2ZuX3N1cHBvcnRlZF9wICgNCj4gKyAgICAgIElGTl9TRUxFQ1Rf VkwsIExPT1BfVklORk9fUkdST1VQX0lWX1RZUEUgKGxvb3BfdmluZm8pLA0K PiArICAgICAgT1BUSU1JWkVfRk9SX1NQRUVEKQ0KPiArICAgICYmIG1lbW9y eV9hY2Nlc3NfdHlwZSAhPSBWTUFUX0lOVkFSSUFOVCkNClRoaXMgbG9va3Mg bGlrZSBhIGdvb2QgZXhhbXBsZSBvZiBjb2RlIHRoYXQgd291bGQgYmUgZWFz aWVyIHRvIHJlYWQgaWYgDQp0aGUgY2FsbCB0byBkaXJlY3RfaW50ZXJuYWwt Zm5fc3VwcG9ydGVkX3Agd2FzIHNhdmVkIGludG8gYSB0ZW1wb3JhcnkuIA0K U2ltaWxhcmx5IGZvciB0aGUgaW5zdGFuY2UgeW91IGFkZGVkIGluIHZlY3Rv cml6YWJsZV9sb2FkLg0KIA0KIA0KSSdkIGxpa2UgdG8gZ2V0IHRoaXMgcGF0 Y2ggd3JhcHBlZCB1cCBzb29uLiAgIEJ1dCBJIGFsc28gd2FudCB0byBnaXZl IA0KYm90aCBSaWNoYXJkcyBhIGNoYW5jZSB0byBjaGltZSBpbiB3aXRoIHRo ZWlyIGNvbmNlcm5zLg0KIA0KVGhhbmtzLA0KIA0KSmVmZg0KIA0K ------=_001_NextPart812007046054_=------