From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) by sourceware.org (Postfix) with ESMTPS id 29ACA3858D32 for ; Thu, 2 Nov 2023 14:23:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 29ACA3858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 29ACA3858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=18.194.254.142 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698935036; cv=none; b=jcJoetJR1Vc+WP1kg4zgGwGn82UBvpf5k9NnJom++GV5LKDL3k+28M7nw+YU5vpx2D95kb0iYqKvNzOIhtPpwz7zArAZu/Qqkzn1VPiHFwsiHrmN9WDTlBxnDoBAY8enbwTNqZtD9efYGkIlcvFk7CfH05pQcKMhwY897Emym5M= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698935036; c=relaxed/simple; bh=llJOfaciLcmTJM6XWIzUpn2rCzzXo6vDYkhyUWl8pjY=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=SpLphGrJKkfY94VaFSZiCra20ndT63T6LIXV4ZKVDfVOqj7UTI0cwenp86MF7+M1WH3B0vOItmlgrYi2OU4SnsacUqsb0AgI3G5UhubBK/csxJrPwB8iI/L13YqSuEArFPooOCodcawgtob0jKKhTIuyCKRxgQUQ6aavz3V4eWU= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp76t1698935018tev7vax8 Received: from TABLET-POE6JQHH ( [116.77.1.145]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 02 Nov 2023 22:23:36 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: k8Irs33ik7sqhsTfGKm0vjvFAIuB77zfM2XSk6WiEVSiA36TMn3SY1DpozVul YBZ7a8UpuF4MRd5WiCb04rkbhJ7NDvHAn/GtiGpe3bNWRUzaqOoaZl9Xq3N7bq57HM9/2Jh xGakDjOtJrvBvzS681y9B+fo9N8kiLtCjXvykY09X87mqz/tiT6enm/wf9Cofc8LV4xv9ec RjF/brBw2kIIm1hLO1GaHCJaXaYrp1ZNq96FvbZhZ43/NvMRO2RnzcfzXMhPdc6KLxh23wV oamPg5vPDWpug0fGJrLFvSk+H7YSzMA7ipzmUmrVRuHe1bUqb9aEDGFyywCUPMwrAd+r1Rk FiosKcYfBgRdAEx2SFPi2xJ/WZ/biVlBMJ0lheqHqqAJtjQDesafKeD5XLh5i8NM73Gih+e fXtA5n2qYK4yE0ZIwC/A0uD2V9+W6kEcQDWl9TbvhK8= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 4656073375504250206 Date: Thu, 2 Nov 2023 22:23:37 +0800 From: =?utf-8?B?6ZKf5bGF5ZOy?= To: rguenther Cc: gcc-patches , "Jeff Law" , richard.sandiford , rdapp.gcc Subject: Re: Re: [PATCH V2] OPTABS/IFN: Add mask_len_strided_load/mask_len_strided_store OPTABS/IFN References: <20231031095920.3210489-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 24A1DDF0-A85B-4431-AE59-17FBB9EDEBD1 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart024062645158_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS,TXREP,T_KAM_HTML_FONT_INVALID,T_SCC_BODY_TEXT_LINE,T_SPF_HELO_TEMPERROR 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_NextPart024062645158_=---- Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIFJpY2hpLg0KDQo+PiBEbyB3ZSByZWFsbHkgbmVlZCB0byBoYXZlIHR3 byBtb2RlcyBmb3IgdGhlIG9wdGFiIHRob3VnaCBvciBjb3VsZCB3ZQ0KPj4g c2ltcGx5IHJlcXVpcmUgdGhlIHRhcmdldCB0byBzdXBwb3J0IGFyYml0cmFy eSBvZmZzZXQgbW9kZXMgKGdpdmUgaXQNCj4+IGlzIGltcGxpY2l0bHkgY29u c3RyYWluZWQgdG8gcHRyX21vZGUgZm9yIHRoZSBiYXNlIGFscmVhZHkpPyAg T3INCj4+IHByb3Blcmx5IGV4dGVuZC90cnVuY2F0ZSB0aGUgb2Zmc2V0IGF0 IGV4cGFuc2lvbiB0aW1lLCBzYXkgdG8gcHRyX21vZGUNCj4+IG9yIHRvIHRo ZSBtb2RlIG9mIHNpemV0eXBlLg0KDQpGb3IgUlZWLCBpdCdzIG9rIGJ5IGRl ZmF1bHQgc2V0IHN0cmlkZSB0eXBlIGFzIHB0cl9tb2RlL3NpemVfdHlwZSBi eSBkZWZhdWx0Lg0KSXMgaXQgb2sgdGhhdCBJIGRlZmluZSBzdHJpZGVkIGxv YWQvc3RvcmUgYXMgc2luZ2xlIG1vZGUgb3B0YWIgYW5kIGRlZmF1bHQgUG1v ZGUgYXMgc3RyaWRlIG9wZXJhbmQ/DQpIb3cgYWJvdXQgc2NhbGUgYW5kIHNp Z25lZC91bnNpZ25lZCBvcGVyYW5kID8NCkl0IHNlZW1zIHNjYWxlIG9wZXJh bmQgY2FuIGJlIHJlbW92ZWQgPyBTaW5jZSB3ZSBjYW4gcGFzcyBEUl9TVEVQ IGRpcmVjdGx5IHRvIHRoZSBzdHJpZGUgYXJndW1lbnRzLg0KQnV0IEkgdGhp bmsgd2UgY2FuJ3QgcmVtb3ZlIHNpZ25lZC91bnNpZ25lZCBvcGVyYW5kIHNp bmNlIGZvciBzdHJpZGVkIG1vZGUgPSBTSSBtb2RlLCB0aGUgdW5zaWduZWQN Cm1heGltdW0gc3RyaWRlID0gMl4zMSB3aGVyYXMgc2lnbmVkIGlzIDIgXiAz MC4NCg0KDQoNCg0KanV6aGUuemhvbmdAcml2YWkuYWkNCiANCkZyb206IFJp Y2hhcmQgQmllbmVyDQpEYXRlOiAyMDIzLTExLTAyIDIxOjUyDQpUbzogSnV6 aGUtWmhvbmcNCkNDOiBnY2MtcGF0Y2hlczsgamVmZnJleWFsYXc7IHJpY2hh cmQuc2FuZGlmb3JkOyByZGFwcC5nY2MNClN1YmplY3Q6IFJlOiBbUEFUQ0gg VjJdIE9QVEFCUy9JRk46IEFkZCBtYXNrX2xlbl9zdHJpZGVkX2xvYWQvbWFz a19sZW5fc3RyaWRlZF9zdG9yZSBPUFRBQlMvSUZODQpPbiBUdWUsIDMxIE9j dCAyMDIzLCBKdXpoZS1aaG9uZyB3cm90ZToNCiANCj4gQXMgcHJldmlvdXMg UmljaGFyZCdzIHN1Z2dlc3RlZCwgd2Ugc2hvdWxkIHN1cHBvcnQgc3RyaWRl ZCBsb2FkL3N0b3JlIGluDQo+IGxvb3AgdmVjdG9yaXplciBpbnN0ZWFkIGhh Y2tpbmcgUklTQy1WIGJhY2tlbmQuDQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMg TUFTS19MRU5fU1RSSURFRCBMT0FEL1NUT1JFIE9QVEFCUy9JRk4uDQo+IA0K PiBUaGUgR0lNUExFIElSIGlzIHNhbWUgYXMgbWFza19sZW5fZ2F0aGVyX2xv YWQvbWFza19sZW5fc2NhdHRlcl9zdG9yZSBidXQgd2l0aA0KPiBjaGFuZ2lu ZyB2ZWN0b3Igb2Zmc2V0IGludG8gc2NhbGFyIHN0cmlkZS4NCiANCkkgc2Vl IHRoYXQgaXQgZm9sbG93cyBnYXRoZXIvc2NhdHRlci4gIEknbGwgbm90ZSB0 aGF0IHdoZW4gaW50cm9kdWNpbmcNCnRob3NlIHdlIGZhaWxlZCB0byBhZGQg YSBzcGVjaWZpZXIgZm9yIFRCQUEgYW5kIGFsaWdubWVudCBpbmZvIGZvciB0 aGUNCmRhdGEgYWNjZXNzLiAgVGhhdCBtZWFucyB3ZSBoYXZlIHRvIHVzZSBh bGlhcy1zZXQgemVybyBmb3IgdGhlIGFjY2Vzc2VzDQooSSBzZWUgZXhpc3Rp bmcgdGFyZ2V0cyB1c2UgVU5TUEVDcyB3aXRoIHNvbWUgbm90IGVsYWJvcmF0 ZSBNRU0gYW55d2F5LA0KYnV0IFRCQUEgaW5mbyBtaWdodCBoYXZlIGJlZW4g dGhlICJlYXN5IiBhbmQgb2J2aW91cyBwcm9wZXJ0eSB0byANCnByZXNlcnZl KS4gIEZvciBhbGlnbm1lbnQgd2UgZWl0aGVyIGhhdmUgdG8gYXNzdW1lIHVu YWxpZ25lZCBvciByZWplY3QNCnZlY3Rvcml6YXRpb24gb2YgYWNjZXNzZXMg dGhhdCBkbyBub3QgaGF2ZSB0aGVpciBvcmlnaW5hbCBzY2FsYXIgYWNjZXNz ZXMNCm5hdHVyYWxseSBhbGlnbmVkIChhbGlnbmVkIGFjY29yZGluZyB0byB0 aGVpciBtb2RlKS4gIFdlIGRvbid0IHNlZW0NCnRvIGNoZWNrIHRoYXQgdGhv dWdoLg0KIA0KSXQgbWlnaHQgYmUgZmluZSB0byBnbyBmb3J3YXJkIHdpdGgg dGhpcyBzaW5jZSBnYXRoZXIvc2NhdHRlciBhcmUgYnJva2VuDQppbiBhIHNp bWlsYXIgd2F5Lg0KIA0KRG8gd2UgcmVhbGx5IG5lZWQgdG8gaGF2ZSB0d28g bW9kZXMgZm9yIHRoZSBvcHRhYiB0aG91Z2ggb3IgY291bGQgd2UNCnNpbXBs eSByZXF1aXJlIHRoZSB0YXJnZXQgdG8gc3VwcG9ydCBhcmJpdHJhcnkgb2Zm c2V0IG1vZGVzIChnaXZlIGl0DQppcyBpbXBsaWNpdGx5IGNvbnN0cmFpbmVk IHRvIHB0cl9tb2RlIGZvciB0aGUgYmFzZSBhbHJlYWR5KT8gIE9yDQpwcm9w ZXJseSBleHRlbmQvdHJ1bmNhdGUgdGhlIG9mZnNldCBhdCBleHBhbnNpb24g dGltZSwgc2F5IHRvIHB0cl9tb2RlDQpvciB0byB0aGUgbW9kZSBvZiBzaXpl dHlwZS4NCiANClRoYW5rcywNClJpY2hhcmQuDQo+IFdlIGRvbid0IGhhdmUg c3RyaWRlZF9sb2FkL3N0cmlkZWRfc3RvcmUgYW5kIG1hc2tfc3RyaWRlZF9s b2FkL21hc2tfc3RyaWRlZF9zdG9yZSBzaW5jZQ0KPiBpdCd0IHVubGlrZWx5 IFJWViB3aWxsIGhhdmUgc3VjaCBvcHRhYnMgYW5kIHdlIGNhbid0IGFkZCB0 aGUgcGF0dGVybnMgdGhhdCB3ZSBjYW4ndCB0ZXN0IHRoZW0uDQo+DQo+IA0K PiBnY2MvQ2hhbmdlTG9nOg0KPiANCj4gKiBkb2MvbWQudGV4aTogQWRkIG1h c2tfbGVuX3N0cmlkZWRfbG9hZC9tYXNrX2xlbl9zdHJpZGVkX3N0b3JlLg0K PiAqIGludGVybmFsLWZuLmNjIChpbnRlcm5hbF9sb2FkX2ZuX3ApOiBEaXR0 by4NCj4gKGludGVybmFsX3N0cmlkZWRfZm5fcCk6IERpdHRvLg0KPiAoaW50 ZXJuYWxfZm5fbGVuX2luZGV4KTogRGl0dG8uDQo+IChpbnRlcm5hbF9mbl9t YXNrX2luZGV4KTogRGl0dG8uDQo+IChpbnRlcm5hbF9mbl9zdG9yZWRfdmFs dWVfaW5kZXgpOiBEaXR0by4NCj4gKGludGVybmFsX3N0cmlkZWRfZm5fc3Vw cG9ydGVkX3ApOiBEaXR0by4NCj4gKiBpbnRlcm5hbC1mbi5kZWYgKE1BU0tf TEVOX1NUUklERURfTE9BRCk6IERpdHRvLg0KPiAoTUFTS19MRU5fU1RSSURF RF9TVE9SRSk6IERpdHRvLg0KPiAqIGludGVybmFsLWZuLmggKGludGVybmFs X3N0cmlkZWRfZm5fcCk6IERpdHRvLg0KPiAoaW50ZXJuYWxfc3RyaWRlZF9m bl9zdXBwb3J0ZWRfcCk6IERpdHRvLg0KPiAqIG9wdGFicy5kZWYgKE9QVEFC X0NEKTogRGl0dG8uDQo+IA0KPiAtLS0NCj4gIGdjYy9kb2MvbWQudGV4aSAg ICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysNCj4gIGdjYy9pbnRlcm5hbC1mbi5jYyAgfCA0NCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgZ2NjL2ludGVy bmFsLWZuLmRlZiB8ICA0ICsrKysNCj4gIGdjYy9pbnRlcm5hbC1mbi5oICAg fCAgMiArKw0KPiAgZ2NjL29wdGFicy5kZWYgICAgICB8ICAyICsrDQo+ICA1 IGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspDQo+IA0KPiBkaWZm IC0tZ2l0IGEvZ2NjL2RvYy9tZC50ZXhpIGIvZ2NjL2RvYy9tZC50ZXhpDQo+ IGluZGV4IGZhYjI1MTMxMDVhLi41YmFjNzEzYTBkZCAxMDA2NDQNCj4gLS0t IGEvZ2NjL2RvYy9tZC50ZXhpDQo+ICsrKyBiL2djYy9kb2MvbWQudGV4aQ0K PiBAQCAtNTA5NCw2ICs1MDk0LDMyIEBAIEJpdCBAdmFye2l9IG9mIHRoZSBt YXNrIGlzIHNldCBpZiBlbGVtZW50IEB2YXJ7aX0gb2YgdGhlIHJlc3VsdCBz aG91bGQNCj4gIGJlIGxvYWRlZCBmcm9tIG1lbW9yeSBhbmQgY2xlYXIgaWYg ZWxlbWVudCBAdmFye2l9IG9mIHRoZSByZXN1bHQgc2hvdWxkIGJlIHVuZGVm aW5lZC4NCj4gIE1hc2sgZWxlbWVudHMgQHZhcntpfSB3aXRoIEB2YXJ7aX0g PiAob3BlcmFuZCA2ICsgb3BlcmFuZCA3KSBhcmUgaWdub3JlZC4NCj4gIA0K PiArQGNpbmRleCBAY29kZXttYXNrX2xlbl9zdHJpZGVkX2xvYWRAdmFye219 QHZhcntufX0gaW5zdHJ1Y3Rpb24gcGF0dGVybg0KPiArQGl0ZW0gQHNhbXB7 bWFza19sZW5fc3RyaWRlZF9sb2FkQHZhcnttfUB2YXJ7bn19DQo+ICtMb2Fk IHNldmVyYWwgc2VwYXJhdGUgbWVtb3J5IGxvY2F0aW9ucyBpbnRvIGEgZGVz dGluYXRpb24gdmVjdG9yIG9mIG1vZGUgQHZhcnttfS4NCj4gK09wZXJhbmQg MCBpcyBhIGRlc3RpbmF0aW9uIHZlY3RvciBvZiBtb2RlIEB2YXJ7bX0uDQo+ ICtPcGVyYW5kIDEgaXMgYSBzY2FsYXIgYmFzZSBhZGRyZXNzIGFuZCBvcGVy YW5kIDIgaXMgYSBzY2FsYXIgc3RyaWRlIG9mIG1vZGUgQHZhcntufS4NCj4g K1RoZSBpbnN0cnVjdGlvbiBjYW4gYmUgc2VlbiBhcyBhIHNwZWNpYWwgY2Fz ZSBvZiBAY29kZXttYXNrX2xlbl9nYXRoZXJfbG9hZEB2YXJ7bX1AdmFye259 fQ0KPiArd2l0aCBhbiBvZmZzZXQgdmVjdG9yIHRoYXQgaXMgYSBAY29kZXt2 ZWNfc2VyaWVzfSB3aXRoIG9wZXJhbmQgMSBhcyBiYXNlIGFuZCBvcGVyYW5k IDIgYXMgc3RlcC4NCj4gK0ZvciBlYWNoIGVsZW1lbnQgaW5kZXggaToNCj4g Kw0KPiArQGl0ZW1pemUgQGJ1bGxldA0KPiArQGl0ZW0NCj4gK2V4dGVuZCB0 aGUgc3RyaWRlIHRvIGFkZHJlc3Mgd2lkdGgsIHVzaW5nIHplcm8NCj4gK2V4 dGVuc2lvbiBpZiBvcGVyYW5kIDMgaXMgMSBhbmQgc2lnbiBleHRlbnNpb24g aWYgb3BlcmFuZCAzIGlzIHplcm87DQo+ICtAaXRlbQ0KPiArbXVsdGlwbHkg dGhlIGV4dGVuZGVkIHN0cmlkZSBieSBvcGVyYW5kIDQ7DQo+ICtAaXRlbQ0K PiArYWRkIHRoZSByZXN1bHQgdG8gdGhlIGJhc2U7IGFuZA0KPiArQGl0ZW0N Cj4gK2xvYWQgdGhlIHZhbHVlIGF0IHRoYXQgYWRkcmVzcyAob3BlcmFuZCAx ICsgQHZhcntpfSAqIG11bHRpcGxpZWQgYW5kIGV4dGVuZGVkIHN0cmlkZSkg aW50byBlbGVtZW50IEB2YXJ7aX0gb2Ygb3BlcmFuZCAwLg0KPiArQGVuZCBp dGVtaXplDQo+ICsNCj4gK1NpbWlsYXIgdG8gbWFza19sZW5fbG9hZCwgdGhl IGluc3RydWN0aW9uIGxvYWRzIGF0IG1vc3QgKG9wZXJhbmQgNiArIG9wZXJh bmQgNykgZWxlbWVudHMgZnJvbSBtZW1vcnkuDQo+ICtCaXQgQHZhcntpfSBv ZiB0aGUgbWFzayBpcyBzZXQgaWYgZWxlbWVudCBAdmFye2l9IG9mIHRoZSBy ZXN1bHQgc2hvdWxkDQo+ICtiZSBsb2FkZWQgZnJvbSBtZW1vcnkgYW5kIGNs ZWFyIGlmIGVsZW1lbnQgQHZhcntpfSBvZiB0aGUgcmVzdWx0IHNob3VsZCBi ZSB1bmRlZmluZWQuDQo+ICtNYXNrIGVsZW1lbnRzIEB2YXJ7aX0gd2l0aCBA dmFye2l9ID4gKG9wZXJhbmQgNiArIG9wZXJhbmQgNykgYXJlIGlnbm9yZWQu DQo+ICsNCj4gIEBjaW5kZXggQGNvZGV7c2NhdHRlcl9zdG9yZUB2YXJ7bX1A dmFye259fSBpbnN0cnVjdGlvbiBwYXR0ZXJuDQo+ICBAaXRlbSBAc2FtcHtz Y2F0dGVyX3N0b3JlQHZhcnttfUB2YXJ7bn19DQo+ICBTdG9yZSBhIHZlY3Rv ciBvZiBtb2RlIEB2YXJ7bX0gaW50byBzZXZlcmFsIGRpc3RpbmN0IG1lbW9y eSBsb2NhdGlvbnMuDQo+IEBAIC01MTMxLDYgKzUxNTcsMzEgQEAgYXQgbW9z dCAob3BlcmFuZCA2ICsgb3BlcmFuZCA3KSBlbGVtZW50cyBvZiAob3BlcmFu ZCA0KSB0byBtZW1vcnkuDQo+ICBCaXQgQHZhcntpfSBvZiB0aGUgbWFzayBp cyBzZXQgaWYgZWxlbWVudCBAdmFye2l9IG9mIChvcGVyYW5kIDQpIHNob3Vs ZCBiZSBzdG9yZWQuDQo+ICBNYXNrIGVsZW1lbnRzIEB2YXJ7aX0gd2l0aCBA dmFye2l9ID4gKG9wZXJhbmQgNiArIG9wZXJhbmQgNykgYXJlIGlnbm9yZWQu DQo+ICANCj4gK0BjaW5kZXggQGNvZGV7bWFza19sZW5fc3RyaWRlZF9zdG9y ZUB2YXJ7bX1AdmFye259fSBpbnN0cnVjdGlvbiBwYXR0ZXJuDQo+ICtAaXRl bSBAc2FtcHttYXNrX2xlbl9zdHJpZGVkX3N0b3JlQHZhcnttfUB2YXJ7bn19 DQo+ICtTdG9yZSBhIHZlY3RvciBvZiBtb2RlIG0gaW50byBzZXZlcmFsIGRp c3RpbmN0IG1lbW9yeSBsb2NhdGlvbnMuDQo+ICtPcGVyYW5kIDAgaXMgYSBz Y2FsYXIgYmFzZSBhZGRyZXNzIGFuZCBvcGVyYW5kIDEgaXMgc2NhbGFyIHN0 cmlkZSBvZiBtb2RlIEB2YXJ7bn0uDQo+ICtPcGVyYW5kIDIgaXMgdGhlIHZl Y3RvciBvZiB2YWx1ZXMgdGhhdCBzaG91bGQgYmUgc3RvcmVkLCB3aGljaCBp cyBvZiBtb2RlIEB2YXJ7bX0uDQo+ICtUaGUgaW5zdHJ1Y3Rpb24gY2FuIGJl IHNlZW4gYXMgYSBzcGVjaWFsIGNhc2Ugb2YgQGNvZGV7bWFza19sZW5fc2Nh dHRlcl9zdG9yZUB2YXJ7bX1AdmFye259fQ0KPiArd2l0aCBhbiBvZmZzZXQg dmVjdG9yIHRoYXQgaXMgYSBAY29kZXt2ZWNfc2VyaWVzfSB3aXRoIG9wZXJh bmQgMSBhcyBiYXNlIGFuZCBvcGVyYW5kIDIgYXMgc3RlcC4NCj4gK0ZvciBl YWNoIGVsZW1lbnQgaW5kZXggaToNCj4gKw0KPiArQGl0ZW1pemUgQGJ1bGxl dA0KPiArQGl0ZW0NCj4gK2V4dGVuZCB0aGUgc3RyaWRlIHRvIGFkZHJlc3Mg d2lkdGgsIHVzaW5nIHplcm8NCj4gK2V4dGVuc2lvbiBpZiBvcGVyYW5kIDIg aXMgMSBhbmQgc2lnbiBleHRlbnNpb24gaWYgb3BlcmFuZCAyIGlzIHplcm87 DQo+ICtAaXRlbQ0KPiArbXVsdGlwbHkgdGhlIGV4dGVuZGVkIHN0cmlkZSBi eSBvcGVyYW5kIDM7DQo+ICtAaXRlbQ0KPiArYWRkIHRoZSByZXN1bHQgdG8g dGhlIGJhc2U7IGFuZA0KPiArQGl0ZW0NCj4gK3N0b3JlIGVsZW1lbnQgQHZh cntpfSBvZiBvcGVyYW5kIDQgdG8gdGhhdCBhZGRyZXNzIChvcGVyYW5kIDEg KyBAdmFye2l9ICogbXVsdGlwbGllZCBhbmQgZXh0ZW5kZWQgc3RyaWRlKS4N Cj4gK0BlbmQgaXRlbWl6ZQ0KPiArDQo+ICtTaW1pbGFyIHRvIG1hc2tfbGVu X3N0b3JlLCB0aGUgaW5zdHJ1Y3Rpb24gc3RvcmVzIGF0IG1vc3QgKG9wZXJh bmQgNiArIG9wZXJhbmQgNykgZWxlbWVudHMgb2YgKG9wZXJhbmQgNCkgdG8g bWVtb3J5Lg0KPiArQml0IEB2YXJ7aX0gb2YgdGhlIG1hc2sgaXMgc2V0IGlm IGVsZW1lbnQgQHZhcntpfSBvZiAob3BlcmFuZCA0KSBzaG91bGQgYmUgc3Rv cmVkLg0KPiArTWFzayBlbGVtZW50cyBAdmFye2l9IHdpdGggQHZhcntpfSA+ IChvcGVyYW5kIDYgKyBvcGVyYW5kIDcpIGFyZSBpZ25vcmVkLg0KPiArDQo+ ICBAY2luZGV4IEBjb2Rle3ZlY19zZXRAdmFye219fSBpbnN0cnVjdGlvbiBw YXR0ZXJuDQo+ICBAaXRlbSBAc2FtcHt2ZWNfc2V0QHZhcnttfX0NCj4gIFNl dCBnaXZlbiBmaWVsZCBpbiB0aGUgdmVjdG9yIHZhbHVlLiAgT3BlcmFuZCAw IGlzIHRoZSB2ZWN0b3IgdG8gbW9kaWZ5LA0KPiBkaWZmIC0tZ2l0IGEvZ2Nj L2ludGVybmFsLWZuLmNjIGIvZ2NjL2ludGVybmFsLWZuLmNjDQo+IGluZGV4 IGU3NDUxYjk2MzUzLi5mN2Y4NWFhN2RkZSAxMDA2NDQNCj4gLS0tIGEvZ2Nj L2ludGVybmFsLWZuLmNjDQo+ICsrKyBiL2djYy9pbnRlcm5hbC1mbi5jYw0K PiBAQCAtNDU5Niw2ICs0NTk2LDcgQEAgaW50ZXJuYWxfbG9hZF9mbl9wIChp bnRlcm5hbF9mbiBmbikNCj4gICAgICBjYXNlIElGTl9HQVRIRVJfTE9BRDoN Cj4gICAgICBjYXNlIElGTl9NQVNLX0dBVEhFUl9MT0FEOg0KPiAgICAgIGNh c2UgSUZOX01BU0tfTEVOX0dBVEhFUl9MT0FEOg0KPiArICAgIGNhc2UgSUZO X01BU0tfTEVOX1NUUklERURfTE9BRDoNCj4gICAgICBjYXNlIElGTl9MRU5f TE9BRDoNCj4gICAgICBjYXNlIElGTl9NQVNLX0xFTl9MT0FEOg0KPiAgICAg ICAgcmV0dXJuIHRydWU7DQo+IEBAIC00NjQ4LDYgKzQ2NDksMjIgQEAgaW50 ZXJuYWxfZ2F0aGVyX3NjYXR0ZXJfZm5fcCAoaW50ZXJuYWxfZm4gZm4pDQo+ ICAgICAgfQ0KPiAgfQ0KPiAgDQo+ICsvKiBSZXR1cm4gdHJ1ZSBpZiBJRk4g aXMgc29tZSBmb3JtIG9mIHN0cmlkZWQgbG9hZCBvciBzdHJpZGVkIHN0b3Jl LiAgKi8NCj4gKw0KPiArYm9vbA0KPiAraW50ZXJuYWxfc3RyaWRlZF9mbl9w IChpbnRlcm5hbF9mbiBmbikNCj4gK3sNCj4gKyAgc3dpdGNoIChmbikNCj4g KyAgICB7DQo+ICsgICAgY2FzZSBJRk5fTUFTS19MRU5fU1RSSURFRF9MT0FE Og0KPiArICAgIGNhc2UgSUZOX01BU0tfTEVOX1NUUklERURfU1RPUkU6DQo+ ICsgICAgICByZXR1cm4gdHJ1ZTsNCj4gKw0KPiArICAgIGRlZmF1bHQ6DQo+ ICsgICAgICByZXR1cm4gZmFsc2U7DQo+ICsgICAgfQ0KPiArfQ0KPiArDQo+ ICAvKiBJZiBGTiB0YWtlcyBhIHZlY3RvciBsZW4gYXJndW1lbnQsIHJldHVy biB0aGUgaW5kZXggb2YgdGhhdCBhcmd1bWVudCwNCj4gICAgIG90aGVyd2lz ZSByZXR1cm4gLTEuICAqLw0KPiAgDQo+IEBAIC00NjYyLDYgKzQ2NzksOCBA QCBpbnRlcm5hbF9mbl9sZW5faW5kZXggKGludGVybmFsX2ZuIGZuKQ0KPiAg DQo+ICAgICAgY2FzZSBJRk5fTUFTS19MRU5fR0FUSEVSX0xPQUQ6DQo+ICAg ICAgY2FzZSBJRk5fTUFTS19MRU5fU0NBVFRFUl9TVE9SRToNCj4gKyAgICBj YXNlIElGTl9NQVNLX0xFTl9TVFJJREVEX0xPQUQ6DQo+ICsgICAgY2FzZSBJ Rk5fTUFTS19MRU5fU1RSSURFRF9TVE9SRToNCj4gICAgICBjYXNlIElGTl9D T05EX0xFTl9GTUE6DQo+ICAgICAgY2FzZSBJRk5fQ09ORF9MRU5fRk1TOg0K PiAgICAgIGNhc2UgSUZOX0NPTkRfTEVOX0ZOTUE6DQo+IEBAIC00NzE5LDYg KzQ3MzgsOCBAQCBpbnRlcm5hbF9mbl9tYXNrX2luZGV4IChpbnRlcm5hbF9m biBmbikNCj4gICAgICBjYXNlIElGTl9NQVNLX1NDQVRURVJfU1RPUkU6DQo+ ICAgICAgY2FzZSBJRk5fTUFTS19MRU5fR0FUSEVSX0xPQUQ6DQo+ICAgICAg Y2FzZSBJRk5fTUFTS19MRU5fU0NBVFRFUl9TVE9SRToNCj4gKyAgICBjYXNl IElGTl9NQVNLX0xFTl9TVFJJREVEX0xPQUQ6DQo+ICsgICAgY2FzZSBJRk5f TUFTS19MRU5fU1RSSURFRF9TVE9SRToNCj4gICAgICAgIHJldHVybiA0Ow0K PiAgDQo+ICAgICAgZGVmYXVsdDoNCj4gQEAgLTQ3NDAsNiArNDc2MSw3IEBA IGludGVybmFsX2ZuX3N0b3JlZF92YWx1ZV9pbmRleCAoaW50ZXJuYWxfZm4g Zm4pDQo+ICAgICAgY2FzZSBJRk5fU0NBVFRFUl9TVE9SRToNCj4gICAgICBj YXNlIElGTl9NQVNLX1NDQVRURVJfU1RPUkU6DQo+ICAgICAgY2FzZSBJRk5f TUFTS19MRU5fU0NBVFRFUl9TVE9SRToNCj4gKyAgICBjYXNlIElGTl9NQVNL X0xFTl9TVFJJREVEX1NUT1JFOg0KPiAgICAgICAgcmV0dXJuIDM7DQo+ICAN Cj4gICAgICBjYXNlIElGTl9MRU5fU1RPUkU6DQo+IEBAIC00Nzg0LDYgKzQ4 MDYsMjggQEAgaW50ZXJuYWxfZ2F0aGVyX3NjYXR0ZXJfZm5fc3VwcG9ydGVk X3AgKGludGVybmFsX2ZuIGlmbiwgdHJlZSB2ZWN0b3JfdHlwZSwNCj4gICAg JiYgaW5zbl9vcGVyYW5kX21hdGNoZXMgKGljb2RlLCAzICsgb3V0cHV0X29w cywgR0VOX0lOVCAoc2NhbGUpKSk7DQo+ICB9DQo+ICANCj4gKy8qIFJldHVy biB0cnVlIGlmIHRoZSB0YXJnZXQgc3VwcG9ydHMgc3RyaWRlZCBsb2FkIG9y IHN0cmlkZWQgc3RvcmUgZnVuY3Rpb24NCj4gKyAgIElGTi4gIEZvciBsb2Fk cywgVkVDVE9SX1RZUEUgaXMgdGhlIHZlY3RvciB0eXBlIG9mIHRoZSBsb2Fk IHJlc3VsdCwNCj4gKyAgIHdoaWxlIGZvciBzdG9yZXMgaXQgaXMgdGhlIHZl Y3RvciB0eXBlIG9mIHRoZSBzdG9yZWQgZGF0YSBhcmd1bWVudC4NCj4gKyAg IFNUUklERV9UWVBFIGlzIHRoZSB0eXBlIHRoYXQgaG9sZHMgdGhlIHN0cmlk ZSBmcm9tIHRoZSBwcmV2aW91cyBlbGVtZW50DQo+ICsgICBtZW1vcnkgYWRk cmVzcyBvZiBlYWNoIGxvYWRlZCBvciBzdG9yZWQgZWxlbWVudC4NCj4gKyAg IFNDQUxFIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlc2Ugc3RyaWRlIHNo b3VsZCBiZSBtdWx0aXBsaWVkDQo+ICsgICAqYWZ0ZXIqIHRoZXkgaGF2ZSBi ZWVuIGV4dGVuZGVkIHRvIGFkZHJlc3Mgd2lkdGguICAqLw0KPiArDQo+ICti b29sDQo+ICtpbnRlcm5hbF9zdHJpZGVkX2ZuX3N1cHBvcnRlZF9wIChpbnRl cm5hbF9mbiBpZm4sIHRyZWUgdmVjdG9yX3R5cGUsDQo+ICsgdHJlZSBvZmZz ZXRfdHlwZSwgaW50IHNjYWxlKQ0KPiArew0KPiArICBvcHRhYiBvcHRhYiA9 IGRpcmVjdF9pbnRlcm5hbF9mbl9vcHRhYiAoaWZuKTsNCj4gKyAgaW5zbl9j b2RlIGljb2RlID0gY29udmVydF9vcHRhYl9oYW5kbGVyIChvcHRhYiwgVFlQ RV9NT0RFICh2ZWN0b3JfdHlwZSksDQo+ICsgICAgVFlQRV9NT0RFIChvZmZz ZXRfdHlwZSkpOw0KPiArICBpbnQgb3V0cHV0X29wcyA9IGludGVybmFsX2xv YWRfZm5fcCAoaWZuKSA/IDEgOiAwOw0KPiArICBib29sIHVuc2lnbmVkX3Ag PSBUWVBFX1VOU0lHTkVEIChvZmZzZXRfdHlwZSk7DQo+ICsgIHJldHVybiAo aWNvZGUgIT0gQ09ERV9GT1Jfbm90aGluZw0KPiArICAgJiYgaW5zbl9vcGVy YW5kX21hdGNoZXMgKGljb2RlLCAyICsgb3V0cHV0X29wcywgR0VOX0lOVCAo dW5zaWduZWRfcCkpDQo+ICsgICAmJiBpbnNuX29wZXJhbmRfbWF0Y2hlcyAo aWNvZGUsIDMgKyBvdXRwdXRfb3BzLCBHRU5fSU5UIChzY2FsZSkpKTsNCj4g K30NCj4gKw0KPiAgLyogUmV0dXJuIHRydWUgaWYgdGhlIHRhcmdldCBzdXBw b3J0cyBJRk5fQ0hFQ0tfe1JBVyxXQVJ9X1BUUlMgZnVuY3Rpb24gSUZODQo+ ICAgICBmb3IgcG9pbnRlcnMgb2YgdHlwZSBUWVBFIHdoZW4gdGhlIGFjY2Vz c2VzIGhhdmUgTEVOR1RIIGJ5dGVzIGFuZCB0aGVpcg0KPiAgICAgY29tbW9u IGJ5dGUgYWxpZ25tZW50IGlzIEFMSUdOLiAgKi8NCj4gZGlmZiAtLWdpdCBh L2djYy9pbnRlcm5hbC1mbi5kZWYgYi9nY2MvaW50ZXJuYWwtZm4uZGVmDQo+ IGluZGV4IGEyMDIzYWI5YzNkLi4wZmE1MzJlOGY2YiAxMDA2NDQNCj4gLS0t IGEvZ2NjL2ludGVybmFsLWZuLmRlZg0KPiArKysgYi9nY2MvaW50ZXJuYWwt Zm4uZGVmDQo+IEBAIC0xOTksNiArMTk5LDggQEAgREVGX0lOVEVSTkFMX09Q VEFCX0ZOIChNQVNLX0dBVEhFUl9MT0FELCBFQ0ZfUFVSRSwNCj4gICAgICAg ICBtYXNrX2dhdGhlcl9sb2FkLCBnYXRoZXJfbG9hZCkNCj4gIERFRl9JTlRF Uk5BTF9PUFRBQl9GTiAoTUFTS19MRU5fR0FUSEVSX0xPQUQsIEVDRl9QVVJF LA0KPiAgICAgICAgIG1hc2tfbGVuX2dhdGhlcl9sb2FkLCBnYXRoZXJfbG9h ZCkNCj4gK0RFRl9JTlRFUk5BTF9PUFRBQl9GTiAoTUFTS19MRU5fU1RSSURF RF9MT0FELCBFQ0ZfUFVSRSwNCj4gKyAgICAgICAgbWFza19sZW5fc3RyaWRl ZF9sb2FkLCBnYXRoZXJfbG9hZCkNCj4gIA0KPiAgREVGX0lOVEVSTkFMX09Q VEFCX0ZOIChMRU5fTE9BRCwgRUNGX1BVUkUsIGxlbl9sb2FkLCBsZW5fbG9h ZCkNCj4gIERFRl9JTlRFUk5BTF9PUFRBQl9GTiAoTUFTS19MRU5fTE9BRCwg RUNGX1BVUkUsIG1hc2tfbGVuX2xvYWQsIG1hc2tfbGVuX2xvYWQpDQo+IEBA IC0yMDgsNiArMjEwLDggQEAgREVGX0lOVEVSTkFMX09QVEFCX0ZOIChNQVNL X1NDQVRURVJfU1RPUkUsIDAsDQo+ICAgICAgICAgbWFza19zY2F0dGVyX3N0 b3JlLCBzY2F0dGVyX3N0b3JlKQ0KPiAgREVGX0lOVEVSTkFMX09QVEFCX0ZO IChNQVNLX0xFTl9TQ0FUVEVSX1NUT1JFLCAwLA0KPiAgICAgICAgIG1hc2tf bGVuX3NjYXR0ZXJfc3RvcmUsIHNjYXR0ZXJfc3RvcmUpDQo+ICtERUZfSU5U RVJOQUxfT1BUQUJfRk4gKE1BU0tfTEVOX1NUUklERURfU1RPUkUsIDAsDQo+ ICsgICAgICAgIG1hc2tfbGVuX3N0cmlkZWRfc3RvcmUsIHNjYXR0ZXJfc3Rv cmUpDQo+ICANCj4gIERFRl9JTlRFUk5BTF9PUFRBQl9GTiAoTUFTS19TVE9S RSwgMCwgbWFza3N0b3JlLCBtYXNrX3N0b3JlKQ0KPiAgREVGX0lOVEVSTkFM X09QVEFCX0ZOIChTVE9SRV9MQU5FUywgRUNGX0NPTlNULCB2ZWNfc3RvcmVf bGFuZXMsIHN0b3JlX2xhbmVzKQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2ludGVy bmFsLWZuLmggYi9nY2MvaW50ZXJuYWwtZm4uaA0KPiBpbmRleCA5OWRlMTNh MDE5OS4uODM3OWM2MWRmZjcgMTAwNjQ0DQo+IC0tLSBhL2djYy9pbnRlcm5h bC1mbi5oDQo+ICsrKyBiL2djYy9pbnRlcm5hbC1mbi5oDQo+IEBAIC0yMzUs MTEgKzIzNSwxMyBAQCBleHRlcm4gYm9vbCBjYW5faW50ZXJwcmV0X2FzX2Nv bmRpdGlvbmFsX29wX3AgKGdpbXBsZSAqLCB0cmVlICosDQo+ICBleHRlcm4g Ym9vbCBpbnRlcm5hbF9sb2FkX2ZuX3AgKGludGVybmFsX2ZuKTsNCj4gIGV4 dGVybiBib29sIGludGVybmFsX3N0b3JlX2ZuX3AgKGludGVybmFsX2ZuKTsN Cj4gIGV4dGVybiBib29sIGludGVybmFsX2dhdGhlcl9zY2F0dGVyX2ZuX3Ag KGludGVybmFsX2ZuKTsNCj4gK2V4dGVybiBib29sIGludGVybmFsX3N0cmlk ZWRfZm5fcCAoaW50ZXJuYWxfZm4pOw0KPiAgZXh0ZXJuIGludCBpbnRlcm5h bF9mbl9tYXNrX2luZGV4IChpbnRlcm5hbF9mbik7DQo+ICBleHRlcm4gaW50 IGludGVybmFsX2ZuX2xlbl9pbmRleCAoaW50ZXJuYWxfZm4pOw0KPiAgZXh0 ZXJuIGludCBpbnRlcm5hbF9mbl9zdG9yZWRfdmFsdWVfaW5kZXggKGludGVy bmFsX2ZuKTsNCj4gIGV4dGVybiBib29sIGludGVybmFsX2dhdGhlcl9zY2F0 dGVyX2ZuX3N1cHBvcnRlZF9wIChpbnRlcm5hbF9mbiwgdHJlZSwNCj4gICAg ICB0cmVlLCB0cmVlLCBpbnQpOw0KPiArZXh0ZXJuIGJvb2wgaW50ZXJuYWxf c3RyaWRlZF9mbl9zdXBwb3J0ZWRfcCAoaW50ZXJuYWxfZm4sIHRyZWUsIHRy ZWUsIGludCk7DQo+ICBleHRlcm4gYm9vbCBpbnRlcm5hbF9jaGVja19wdHJz X2ZuX3N1cHBvcnRlZF9wIChpbnRlcm5hbF9mbiwgdHJlZSwNCj4gIHBvbHlf dWludDY0LCB1bnNpZ25lZCBpbnQpOw0KPiAgI2RlZmluZSBWRUNUX1BBUlRJ QUxfQklBU19VTlNVUFBPUlRFRCAxMjcNCj4gZGlmZiAtLWdpdCBhL2djYy9v cHRhYnMuZGVmIGIvZ2NjL29wdGFicy5kZWYNCj4gaW5kZXggMmNjYmU0MTk3 YjcuLjNkODVhYzVmNjc4IDEwMDY0NA0KPiAtLS0gYS9nY2Mvb3B0YWJzLmRl Zg0KPiArKysgYi9nY2Mvb3B0YWJzLmRlZg0KPiBAQCAtOTgsOSArOTgsMTEg QEAgT1BUQUJfQ0QobWFza19sZW5fc3RvcmVfb3B0YWIsICJtYXNrX2xlbl9z dG9yZSRhJGIiKQ0KPiAgT1BUQUJfQ0QoZ2F0aGVyX2xvYWRfb3B0YWIsICJn YXRoZXJfbG9hZCRhJGIiKQ0KPiAgT1BUQUJfQ0QobWFza19nYXRoZXJfbG9h ZF9vcHRhYiwgIm1hc2tfZ2F0aGVyX2xvYWQkYSRiIikNCj4gIE9QVEFCX0NE KG1hc2tfbGVuX2dhdGhlcl9sb2FkX29wdGFiLCAibWFza19sZW5fZ2F0aGVy X2xvYWQkYSRiIikNCj4gK09QVEFCX0NEKG1hc2tfbGVuX3N0cmlkZWRfbG9h ZF9vcHRhYiwgIm1hc2tfbGVuX3N0cmlkZWRfbG9hZCRhJGIiKQ0KPiAgT1BU QUJfQ0Qoc2NhdHRlcl9zdG9yZV9vcHRhYiwgInNjYXR0ZXJfc3RvcmUkYSRi IikNCj4gIE9QVEFCX0NEKG1hc2tfc2NhdHRlcl9zdG9yZV9vcHRhYiwgIm1h c2tfc2NhdHRlcl9zdG9yZSRhJGIiKQ0KPiAgT1BUQUJfQ0QobWFza19sZW5f c2NhdHRlcl9zdG9yZV9vcHRhYiwgIm1hc2tfbGVuX3NjYXR0ZXJfc3RvcmUk YSRiIikNCj4gK09QVEFCX0NEKG1hc2tfbGVuX3N0cmlkZWRfc3RvcmVfb3B0 YWIsICJtYXNrX2xlbl9zdHJpZGVkX3N0b3JlJGEkYiIpDQo+ICBPUFRBQl9D RCh2ZWNfZXh0cmFjdF9vcHRhYiwgInZlY19leHRyYWN0JGEkYiIpDQo+ICBP UFRBQl9DRCh2ZWNfaW5pdF9vcHRhYiwgInZlY19pbml0JGEkYiIpDQo+ICAN Cj4gDQogDQotLSANClJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5k ZT4NClNVU0UgU29mdHdhcmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwNCkZy YW5rZW5zdHJhc3NlIDE0NiwgOTA0NjEgTnVlcm5iZXJnLCBHZXJtYW55Ow0K R0Y6IEl2byBUb3RldiwgQW5kcmV3IE1jRG9uYWxkLCBXZXJuZXIgS25vYmxp Y2g7IChIUkIgMzY4MDksIEFHIE51ZXJuYmVyZykNCiANCg== ------=_001_NextPart024062645158_=------