From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbguseast3.qq.com (smtpbguseast3.qq.com [54.243.244.52]) by sourceware.org (Postfix) with ESMTPS id 03CB43858C2C for ; Thu, 2 Nov 2023 11:55:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 03CB43858C2C 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 03CB43858C2C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.243.244.52 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698926155; cv=none; b=tZcH/ApzqaxdmVi2N7RqfEZj4MlVHS8RRsaaNkIW2hPMDRCfwGHE+jBsjVUUrT2iqYJuzdVbcjLAcZ7j8SkKMQMoXH6abdxBY4hDezX/XnVgWeY4UzIJAdM3OvgvjZ06HdVr1na7pIaQX5JzhmfxgYOwLXe2HMG0xAOPhMa+kU4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698926155; c=relaxed/simple; bh=BRyqwtfGQHam+1KY+xMusSWTTWESiR1fYhygC3qdfFw=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=TCvF3NFrAZ6w8Pu6wCDAqWFat04cWumKNIpBhRcUtHa32ih4UPNGQeX9LzKA/9j5zvMO9zbXq9qzdBwI7jjiwc8YsZYcv+WypRK33IqQVMd6C8WmMcStD1YK6feGC3iOBWFRg1lLLULYG0XyipRwuwjtjZg88k4rggAGKffKgOg= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp74t1698926137tv3ixblm Received: from LAPTOP-EPITNQBU ( [113.104.224.227]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 02 Nov 2023 19:55:36 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: r7EP/KuzAv9Pgw+vpu4ygBpoYslli5wgTFzic5d2VlAKuf7KacW01aAqM0/75 MpODbJbyXjVB6ZZWKm19yITarNrAxgCWB608tCQU25XEQ3bTbjpgNezu46RJhqTyUhin/BX JQTesUsCZZyPHJFCtIqn3WOfEt+8R9XSxHpIn+GB+bGf+YJh81F892JJBD4YQn7NgyUYcqR MAL44JqYSBcE83YDcVTD3e8uLlUWi9EfyVUVVFdMfF9E4WrdsKLXvFQncizyp6lS25KCEbe Q7BQKIoqtQtPX4lMC4611T6kcW41BV6xCRsqwKcbVIalaRz3UOHSmVNbNdMUKyaiN+Env9y vJ28oKkhV/QclRCWm82G6tEbnWTTXPhI/y+vghkcIgtinZc+GR/9QNkGR4ra5UAgKU6LEI8 72cUFaulOIPvB611ob2j7lBtSagJICyUDiILB4RAz1k= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 9612802782171766428 Date: Thu, 2 Nov 2023 19:55:36 +0800 From: "juzhe.zhong@rivai.ai" To: rguenther Cc: gcc-patches , richard.sandiford Subject: Re: Re: [tree-optimization/111721] VECT: Support SLP for MASK_LEN_GATHER_LOAD with dummy mask References: <20231102005737.2418307-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 8C6C509C-0AAA-4722-8919-BB768DEF3664 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <139EDDA0CFD3668B+202311021955356114382@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart054441030106_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,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: This is a multi-part message in MIME format. ------=_001_NextPart054441030106_=---- Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: base64 VGhhbmtzIFJpY2hpLg0KDQpUaGUgZm9sbG93aW5nIGlzIHRoZSBWMiBwYXRj aDoNClRlc3Rpbmcgb24gWDg2IGFuZCBhYXJjaDY0IGFyZSBydW5uaW5nLg0K DQpkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdC1zbHAuY2MgYi9nY2MvdHJl ZS12ZWN0LXNscC5jYw0KaW5kZXggNDNkNzQyZTNjOTIuLmU3ZjdmOTc2ZjEx IDEwMDY0NA0KLS0tIGEvZ2NjL3RyZWUtdmVjdC1zbHAuY2MNCisrKyBiL2dj Yy90cmVlLXZlY3Qtc2xwLmNjDQpAQCAtNzYwLDcgKzc2MCw3IEBAIHZlY3Rf Z2V0X2FuZF9jaGVja19zbHBfZGVmcyAodmVjX2luZm8gKnZpbmZvLCB1bnNp Z25lZCBjaGFyIHN3YXAsDQogICAgICAgICAgICAgICB8fCBkdCA9PSB2ZWN0 X2V4dGVybmFsX2RlZikNCiAgICAgICAgICAgICAgJiYgIUdFVF9NT0RFX1NJ WkUgKHZpbmZvLT52ZWN0b3JfbW9kZSkuaXNfY29uc3RhbnQgKCkNCiAgICAg ICAgICAgICAgJiYgKFRSRUVfQ09ERSAodHlwZSkgPT0gQk9PTEVBTl9UWVBF DQotICAgICAgICAgICAgICAgICB8fCAhY2FuX2R1cGxpY2F0ZV9hbmRfaW50 ZXJsZWF2ZV9wICh2aW5mbywgc3RtdHMubGVuZ3RoICgpLA0KKyAgICAgICAg ICAgICAgICAgJiYgIWNhbl9kdXBsaWNhdGVfYW5kX2ludGVybGVhdmVfcCAo dmluZm8sIHN0bXRzLmxlbmd0aCAoKSwNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUpKSkNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgaWYgKGR1bXBfZW5hYmxlZF9w ICgpKQ0KZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3Qtc3RtdHMuY2MgYi9n Y2MvdHJlZS12ZWN0LXN0bXRzLmNjDQppbmRleCA2Y2U0ODY4ZDNlMS4uNmM0 NzEyMWUxNTggMTAwNjQ0DQotLS0gYS9nY2MvdHJlZS12ZWN0LXN0bXRzLmNj DQorKysgYi9nY2MvdHJlZS12ZWN0LXN0bXRzLmNjDQpAQCAtOTg1OSwxMCAr OTg1OSwxNiBAQCB2ZWN0b3JpemFibGVfbG9hZCAodmVjX2luZm8gKnZpbmZv LA0KICAgICAgIG1hc2tfaW5kZXggPSBpbnRlcm5hbF9mbl9tYXNrX2luZGV4 IChpZm4pOw0KICAgICAgIGlmIChtYXNrX2luZGV4ID49IDAgJiYgc2xwX25v ZGUpDQogICAgICAgIG1hc2tfaW5kZXggPSB2ZWN0X3NscF9jaGlsZF9pbmRl eF9mb3Jfb3BlcmFuZCAoY2FsbCwgbWFza19pbmRleCk7DQorICAgICAgc2xw X3RyZWUgc2xwX29wID0gTlVMTDsNCiAgICAgICBpZiAobWFza19pbmRleCA+ PSAwDQogICAgICAgICAgJiYgIXZlY3RfY2hlY2tfc2NhbGFyX21hc2sgKHZp bmZvLCBzdG10X2luZm8sIHNscF9ub2RlLCBtYXNrX2luZGV4LA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWFzaywgTlVMTCwg Jm1hc2tfZHQsICZtYXNrX3ZlY3R5cGUpKQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmbWFzaywgJnNscF9vcCwgJm1hc2tfZHQs ICZtYXNrX3ZlY3R5cGUpKQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQorICAg ICAgLyogTUFTS19MRU5fR0FUSEVSX0xPQUQgZHVtbXkgbWFzayAtMSBzaG91 bGQgYWx3YXlzIG1hdGNoIHRoZQ0KKyAgICAgICAgTUFTS19WRUNUWVBFLiAg Ki8NCisgICAgICBpZiAobWFza19pbmRleCA+PSAwICYmIHNscF9ub2RlICYm IG1hc2tfZHQgPT0gdmVjdF9jb25zdGFudF9kZWYNCisgICAgICAgICAmJiAh dmVjdF9tYXliZV91cGRhdGVfc2xwX29wX3ZlY3R5cGUgKHNscF9vcCwgbWFz a192ZWN0eXBlKSkNCisgICAgICAgZ2NjX3VucmVhY2hhYmxlICgpOw0KICAg ICB9DQoNCg0KDQoNCmp1emhlLnpob25nQHJpdmFpLmFpDQogDQpGcm9tOiBS aWNoYXJkIEJpZW5lcg0KRGF0ZTogMjAyMy0xMS0wMiAxOToxMQ0KVG86IEp1 emhlLVpob25nDQpDQzogZ2NjLXBhdGNoZXM7IHJpY2hhcmQuc2FuZGlmb3Jk DQpTdWJqZWN0OiBSZTogW3RyZWUtb3B0aW1pemF0aW9uLzExMTcyMV0gVkVD VDogU3VwcG9ydCBTTFAgZm9yIE1BU0tfTEVOX0dBVEhFUl9MT0FEIHdpdGgg ZHVtbXkgbWFzaw0KT24gVGh1LCAyIE5vdiAyMDIzLCBKdXpoZS1aaG9uZyB3 cm90ZToNCiANCj4gVGhpcyBwYXRjaCBmaXhlcyBmb2xsb3dpbmcgRkFJTHMg Zm9yIFJWVjoNCj4gRkFJTDogZ2NjLmRnL3ZlY3QvdmVjdC1nYXRoZXItMS5j IC1mbHRvIC1mZmF0LWx0by1vYmplY3RzICBzY2FuLXRyZWUtZHVtcCB2ZWN0 ICJMb29wIGNvbnRhaW5zIG9ubHkgU0xQIHN0bXRzIg0KPiBGQUlMOiBnY2Mu ZGcvdmVjdC92ZWN0LWdhdGhlci0xLmMgc2Nhbi10cmVlLWR1bXAgdmVjdCAi TG9vcCBjb250YWlucyBvbmx5IFNMUCBzdG10cyINCj4gDQo+IEJvb3RzdHJh cCBvbiBYODYgYW5kIHJlZ3Rlc3QgcGFzc2VkLg0KPiANCj4gVGVzdGVkIG9u IGFhcmNoNjQgcGFzc2VkLg0KPiANCj4gT2sgZm9yIHRydW5rID8NCj4gDQo+ ICAgICAgICAgUFIgdHJlZS1vcHRpbWl6YXRpb24vMTExNzIxDQo+IA0KPiBn Y2MvQ2hhbmdlTG9nOg0KPiANCj4gICAgICAgICAqIHRyZWUtdmVjdC1zbHAu Y2MgKHZlY3RfZ2V0X2FuZF9jaGVja19zbHBfZGVmcyk6IFN1cHBvcnQgU0xQ IGZvciBkdW1teSBtYXNrIC0xLg0KPiAgICAgICAgICogdHJlZS12ZWN0LXN0 bXRzLmNjICh2ZWN0b3JpemFibGVfbG9hZCk6IERpdHRvLg0KPiANCj4gLS0t DQo+ICBnY2MvdHJlZS12ZWN0LXNscC5jYyAgIHwgMTQgKysrKysrKysrKysr LS0NCj4gIGdjYy90cmVlLXZlY3Qtc3RtdHMuY2MgfCAgOCArKysrKysrLQ0K PiAgMiBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3Qtc2xw LmNjIGIvZ2NjL3RyZWUtdmVjdC1zbHAuY2MNCj4gaW5kZXggNDNkNzQyZTNj OTIuLjIzY2EwMzE4ZTMxIDEwMDY0NA0KPiAtLS0gYS9nY2MvdHJlZS12ZWN0 LXNscC5jYw0KPiArKysgYi9nY2MvdHJlZS12ZWN0LXNscC5jYw0KPiBAQCAt NzU2LDggKzc1Niw3IEBAIHZlY3RfZ2V0X2FuZF9jaGVja19zbHBfZGVmcyAo dmVjX2luZm8gKnZpbmZvLCB1bnNpZ25lZCBjaGFyIHN3YXAsDQo+ICB7DQo+ ICAgIHRyZWUgdHlwZSA9IFRSRUVfVFlQRSAob3BybmQpOw0KPiAgICBkdCA9 IGR0c1tpXTsNCj4gLSAgIGlmICgoZHQgPT0gdmVjdF9jb25zdGFudF9kZWYN Cj4gLSAgICAgICAgfHwgZHQgPT0gdmVjdF9leHRlcm5hbF9kZWYpDQo+ICsg ICBpZiAoZHQgPT0gdmVjdF9leHRlcm5hbF9kZWYNCj4gICAgICAgICYmICFH RVRfTU9ERV9TSVpFICh2aW5mby0+dmVjdG9yX21vZGUpLmlzX2NvbnN0YW50 ICgpDQo+ICAgICAgICAmJiAoVFJFRV9DT0RFICh0eXBlKSA9PSBCT09MRUFO X1RZUEUNCj4gICAgfHwgIWNhbl9kdXBsaWNhdGVfYW5kX2ludGVybGVhdmVf cCAodmluZm8sIHN0bXRzLmxlbmd0aCAoKSwNCj4gQEAgLTc2OSw2ICs3Njgs MTcgQEAgdmVjdF9nZXRfYW5kX2NoZWNrX3NscF9kZWZzICh2ZWNfaW5mbyAq dmluZm8sIHVuc2lnbmVkIGNoYXIgc3dhcCwNCj4gICJmb3IgdmFyaWFibGUt bGVuZ3RoIFNMUCAlVFxuIiwgb3BybmQpOw0KPiAgICAgICAgcmV0dXJuIC0x Ow0KPiAgICAgIH0NCj4gKyAgIGlmIChkdCA9PSB2ZWN0X2NvbnN0YW50X2Rl Zg0KPiArICAgICAgICYmICFHRVRfTU9ERV9TSVpFICh2aW5mby0+dmVjdG9y X21vZGUpLmlzX2NvbnN0YW50ICgpDQo+ICsgICAgICAgJiYgIWNhbl9kdXBs aWNhdGVfYW5kX2ludGVybGVhdmVfcCAodmluZm8sIHN0bXRzLmxlbmd0aCAo KSwgdHlwZSkpDQo+ICsgICAgIHsNCj4gKyAgICAgICBpZiAoZHVtcF9lbmFi bGVkX3AgKCkpDQo+ICsgZHVtcF9wcmludGZfbG9jIChNU0dfTUlTU0VEX09Q VElNSVpBVElPTiwgdmVjdF9sb2NhdGlvbiwNCj4gKyAiQnVpbGQgU0xQIGZh aWxlZDogaW52YWxpZCB0eXBlIG9mIGRlZiAiDQo+ICsgImZvciB2YXJpYWJs ZS1sZW5ndGggU0xQICVUXG4iLA0KPiArIG9wcm5kKTsNCj4gKyAgICAgICBy ZXR1cm4gLTE7DQo+ICsgICAgIH0NCiANCkkgZG9uJ3QgdGhpbmsgdGhhdCdz IHF1aXRlIGNvcnJlY3QuICBjYW5fZHVwbGljYXRlX2FuZF9pbnRlcmxlYXZl X3ANCmRvZXNuJ3QgZ2V0IGVub3VnaCBpbmZvIGhlcmUgYW5kIElJUkMgZXZl biBtYXRlcmlhbGl6aW5nIGFyYml0cmFyeQ0KY29uc3RhbnRzIGlzbid0IHBv c3NpYmxlIHdpdGggVkxBIHZlY3RvcnMuICBUaGUgdmVyeSBmaXJzdCB0aGlu Zw0KdGhlIGZ1bmN0aW9uIGRvZXMgaXMNCiANCiAgdHJlZSBiYXNlX3ZlY3Rv cl90eXBlID0gZ2V0X3ZlY3R5cGVfZm9yX3NjYWxhcl90eXBlICh2aW5mbywg ZWx0X3R5cGUsIA0KY291bnQpOw0KICBpZiAoIWJhc2VfdmVjdG9yX3R5cGUg fHwgIVZFQ1RPUl9NT0RFX1AgKFRZUEVfTU9ERSAoYmFzZV92ZWN0b3JfdHlw ZSkpKQ0KICAgIHJldHVybiBmYWxzZTsNCiANCmJ1dCBmb3IgbWFza3MgdGhh dCdzIG5vdCBnb2luZyB0byBnZXQgdXMgdGhlIGNvcnJlY3QgdmVjdG9yIHR5 cGUuDQpXaGlsZSBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHdlIGhhdmUgdGhh dCAnQk9PTEVBTl9UWVBFJyBzcGVjaWFsDQpjYXNlIChtYXliZSB0aGUgaW50 ZW50IHdhcyB0byBpZGVudGlmeSAnbWFzaycgb3BlcmFuZHMgdGhhdCB3YXk/ KSwNCndlIG1pZ2h0IHdhbnQgdG8gcmVxdWlyZSB0aGF0IHdlIGNhbiBtYXRl cmlhbGl6ZSBib3RoIGFsbC16ZXJvDQphbmQgYWxsLW9uZXMgY29uc3RhbnQg J21hc2sncy4gIEJ1dCB0aGVuICdtYXNrJyBvcGVyYW5kcyBzaG91bGQNCmJl IHByb3Blcmx5IGlkZW50aWZpZWQgaGVyZS4NCiANCk1heWJlIHdlIGNhbiBh bHNvIHNpbXBseSBkZWxheSB0aGUgY2hlY2sgdG8gdGhlIHBvaW50IHdlIGtu b3cNCndoZXRoZXIgd2UncmUgZmFjaW5nIGFuIHVuaWZvcm0gY29uc3RhbnQg b3Igbm90IChub3RlIGZvciAnZmlyc3QnLA0Kd2UgY2Fubm90IHJlYWxseSBz cGVjaWFsLWNhc2UgdmVjdF9jb25zdGFudF9kZWYgYXMgdGhlIHNlY29uZA0K U0xQIGxhbmUgbWlnaHQgZGVtb3RlIHRoYXQgdG8gdmVjdF9leHRlcm5hbF9k ZWYpLiAgSXQncyBhbHdheXMNCmEgYmFsYW5jZSBvZiB3aGV0aGVyIHRvIHJl amVjdCBzdGggYXQgU0xQIGJ1aWxkIHRpbWUgKHBvc3NpYmx5DQphbGxvd2lu ZyBvcGVyYW5kIHN3YXBwaW5nIHRvIGRvIG1hZ2ljKSBvciB0byBkZWxheSBj aGVja3MNCnRvIHN0bXQgYW5hbHlzaXMgdGltZS4gIFRoYXQgbWlnaHQgYWxz byBleHBsYWluIHRoYXQgeW91DQpkbyBub3Qgc2VlIGZhbGxvdXQgb2YgdGhl ICJ3cm9uZyIgY2hhbmdlICh0aGUgbGF0ZXIgY2hlY2tpbmcNCndpbGwgY2F0 Y2ggaXQgYW55d2F5KS4NCiANClRoZXJlJ3MgcHJvYmFibHkgdGVzdHN1aXRl IGNvdmVyYWdlIGZvciBTVkUgaGVyZS4NCiANClRoYXQgc2FpZCwgYSAiY29y cmVjdCIgcGF0Y2ggbWlnaHQgYmUgdG8gc2ltcGx5IGNoYW5nZQ0KIA0KICAg ICAgICAgICAgICAmJiAoVFJFRV9DT0RFICh0eXBlKSA9PSBCT09MRUFOX1RZ UEUNCiAgICAgICAgICAgICAgICAgIHx8ICFjYW5fZHVwbGljYXRlX2FuZF9p bnRlcmxlYXZlX3AgKHZpbmZvLCBzdG10cy5sZW5ndGggDQooKSwNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHR5cGUpKSkNCiANCnRvDQogDQogICAgICAgJiYgVFJFRV9DT0RFICh0 eXBlKSAhPSBCT09MRUFOX1RZUEUNCiAgICAgICAmJiAhY2FuX2R1cGxpY2F0 ZV9hbmRfaW50ZXJsZWF2ZV9wICh2aW5mbywgc3RtdHMubGVuZ3RoIA0KKCks ICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdHlwZSkNCiANCnRodXMgZGVsYXkgJ21hc2sn IG9wZXJhbmQgdmFsaWRhdGlvbiBoZXJlLg0KIA0KTm90ZSBJIHN0aWxsIHRo aW5rIHdlIHNob3VsZCBpbXByb3ZlIFRSRUVfQ09ERSAodHlwZSkgPT0gQk9P TEVBTl9UWVBFDQp0byBpZGVudGlmeSBpbnRlcm5hbCBmdW5jdGlvbiBtYXNr IG9wZXJhbmRzIG9ubHkuDQogDQpSaWNoYXJkLg0KIA0KIA0KPiAgDQo+ICAg IC8qIEZvciB0aGUgc3dhcHBpbmcgbG9naWMgYmVsb3cgZm9yY2UgdmVjdF9y ZWR1Y3Rpb25fZGVmDQo+ICAgICAgIGZvciB0aGUgcmVkdWN0aW9uIG9wIGlu IGEgU0xQIHJlZHVjdGlvbiBncm91cC4gICovDQo+IGRpZmYgLS1naXQgYS9n Y2MvdHJlZS12ZWN0LXN0bXRzLmNjIGIvZ2NjL3RyZWUtdmVjdC1zdG10cy5j Yw0KPiBpbmRleCA2Y2U0ODY4ZDNlMS4uNmM0NzEyMWUxNTggMTAwNjQ0DQo+ IC0tLSBhL2djYy90cmVlLXZlY3Qtc3RtdHMuY2MNCj4gKysrIGIvZ2NjL3Ry ZWUtdmVjdC1zdG10cy5jYw0KPiBAQCAtOTg1OSwxMCArOTg1OSwxNiBAQCB2 ZWN0b3JpemFibGVfbG9hZCAodmVjX2luZm8gKnZpbmZvLA0KPiAgICAgICAg bWFza19pbmRleCA9IGludGVybmFsX2ZuX21hc2tfaW5kZXggKGlmbik7DQo+ ICAgICAgICBpZiAobWFza19pbmRleCA+PSAwICYmIHNscF9ub2RlKQ0KPiAg bWFza19pbmRleCA9IHZlY3Rfc2xwX2NoaWxkX2luZGV4X2Zvcl9vcGVyYW5k IChjYWxsLCBtYXNrX2luZGV4KTsNCj4gKyAgICAgIHNscF90cmVlIHNscF9v cCA9IE5VTEw7DQo+ICAgICAgICBpZiAobWFza19pbmRleCA+PSAwDQo+ICAg ICYmICF2ZWN0X2NoZWNrX3NjYWxhcl9tYXNrICh2aW5mbywgc3RtdF9pbmZv LCBzbHBfbm9kZSwgbWFza19pbmRleCwNCj4gLSAgICAgICAmbWFzaywgTlVM TCwgJm1hc2tfZHQsICZtYXNrX3ZlY3R5cGUpKQ0KPiArICAgICAgICZtYXNr LCAmc2xwX29wLCAmbWFza19kdCwgJm1hc2tfdmVjdHlwZSkpDQo+ICByZXR1 cm4gZmFsc2U7DQo+ICsgICAgICAvKiBNQVNLX0xFTl9HQVRIRVJfTE9BRCBk dW1teSBtYXNrIC0xIHNob3VsZCBhbHdheXMgbWF0Y2ggdGhlDQo+ICsgTUFT S19WRUNUWVBFLiAgKi8NCj4gKyAgICAgIGlmIChtYXNrX2luZGV4ID49IDAg JiYgc2xwX25vZGUgJiYgbWFza19kdCA9PSB2ZWN0X2NvbnN0YW50X2RlZg0K PiArICAgJiYgIXZlY3RfbWF5YmVfdXBkYXRlX3NscF9vcF92ZWN0eXBlIChz bHBfb3AsIG1hc2tfdmVjdHlwZSkpDQo+ICsgZ2NjX3VucmVhY2hhYmxlICgp Ow0KPiAgICAgIH0NCj4gIA0KPiAgICB0cmVlIHZlY3R5cGUgPSBTVE1UX1ZJ TkZPX1ZFQ1RZUEUgKHN0bXRfaW5mbyk7DQo+IA0KIA0KLS0gDQpSaWNoYXJk IEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+DQpTVVNFIFNvZnR3YXJlIFNv bHV0aW9ucyBHZXJtYW55IEdtYkgsDQpGcmFua2Vuc3RyYXNzZSAxNDYsIDkw NDYxIE51ZXJuYmVyZywgR2VybWFueTsNCkdGOiBJdm8gVG90ZXYsIEFuZHJl dyBNY0RvbmFsZCwgV2VybmVyIEtub2JsaWNoOyAoSFJCIDM2ODA5LCBBRyBO dWVybmJlcmcpDQogDQo= ------=_001_NextPart054441030106_=------