From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) by sourceware.org (Postfix) with ESMTPS id E0CD23858D35 for ; Wed, 26 Apr 2023 04:15:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E0CD23858D35 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: bizesmtp62t1682482548twfqyjhm Received: from LAPTOP-EPITNQBU ( [58.60.1.20]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 26 Apr 2023 12:15:47 +0800 (CST) X-QQ-SSF: 01400000000000F0P000000A0000000 X-QQ-FEAT: RQW/96u6Toit85ps+o8aqnGkmNXTmGvJtIJt/mfaRplZTrkhTYGMW6BBbo5l5 MNRllLgGq2Y/6oX6E7uOSjb0bG+PVWDEqJ7ZVrIOEG/QayibT/f36cBvWa79SuaIO6mAOKJ 2ONfQH2qv7Co+ixlLyl4UXMpatGCj3eIZNyPjmlYJFFeKVqq5zQCpemTA0PWisW2xZNEOaE R0q1kCERzoJpce+qspZGUY5HMrbiz0K5+hx0CekXsCOW/tchq5Avm/9Rx2qa/4WYazEcfBN LxPa2UctaMnYgsIzkZkA8NdR1L8/3ep4cKhddHhIF3N3jB1B556dKekI/EEEyRaxPUEX2PO Ib4w1f4cHwfg2m6eVLjxce1Mm6FKiY2bIQrc9CgbUHTMtDc+Z2A+yCiJ8669Oy+Aym3ywW0 9Ub77hw+B4OZLv5FbqhLlw== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 16591664749252239198 Date: Wed, 26 Apr 2023 12:15:47 +0800 From: "juzhe.zhong@rivai.ai" To: richard.sandiford Cc: gcc-patches , rguenther Subject: Re: Re: [PATCH] VECT: Add decrement IV iteration loop control by variable amount support References: <20230425134229.181115-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 0D626331-BB57-4D70-9833-62569D74915E X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <8D207B8D88895F0E+20230426121547140175172@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart162042156684_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_SORBS_WEB,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_NextPart162042156684_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 VGhhbmtzIFJpY2hhcmQgc28gbXVjaC4NCg0KPj4gSSBkb24ndCB0aGluayB0 aGF0J3MgZ3VhcmFudGVlZCBieSB0aGUgcHJvcG9zZWQgZGVmaW5pdGlvbiBv ZiBXSElMRV9MRU4uDQo+PiBUaGUgZmlyc3QgaW50NjRfdCBXSElMRV9MRU4g Y291bGQgY29tZSB1cCBzaG9ydCwgYW5kIHJldHVybiBzb21ldGhpbmcNCj4+ IGxlc3MgdGhhbiBWRi8yLg0KDQpJIGFtIHNvIHNvcnJ5IHRoYXQgdGhlIGNv bW1lbnRzIG9mIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfYnlfd2hpbGVfbGVu DQppcyB0b3RhbGx5IG1pc2xlYWRpbmcgYW5kIGluY29ycmVjdCBhbmQgSSBo YXZlIHNlbnQgVjMgcGF0Y2ggdG8gZml4IHRoYXQuDQpBY3R1YWxseSwgSSBk b24ndCB1c2UgV0hJTEVfTEVOIGluIG11bHRpLXJncm91cHMgc2l0dWF0aW9u LCBpbnN0ZWFkLCBJIHVzZSBNSU5fRVhQUg0KdG8gZm9yY2UgVkYgZWxlbWVu dHMgZm9yIGVhY2ggbm9uLWZpbmFsIGl0ZXJhdGlvbiB0byBtYWtlIHN1cmUg cmVzdWx0IGlzIGNvcnJlY3QuDQoNClllcywgSSBhZ3JlZSB3aXRoIHlvdSB0 aGF0IFdISUxFX0xFTiB3aWxsIHByb2R1Y2UgaXNzdWVzIGZvciBTTFAgc2l0 dWF0aW9uIHRoYXQNCmhhdmluZyBtdWx0aS1yZ3JvdXBzIHNpbmNlIFdISUxF X0xFTiBkZWZpbml0aW9uIGlzIGFsbG93IHRhcmdldCBwcm9kdWNlcyBub24t VkYNCm91dGNvbWUgaW4gbm9uLWZpbmFsIGl0ZXJhdGlvbi4gDQoNCkFjdHVh bGx5LCBJIGhhdmUgZnVsbHkgdGVzdGVkIHRoaXMgcGF0Y2ggd2l0aCBsb2Nh bCBkb3duc3RyZWFtDQphdXRvLXZlY3Rvcml6YXRpb24gdGVzdGNhc2VzIGFu ZCB5b3VyIGNvbW1lbnQgaXMgY29ycmVjdCBzaW5jZSBJIHNhdyB0aGUgaXNz dWUgYXMgeW91IHNhaWQNCmF0IHRoZSBiZWdpbm5pbmcgc28gSSB1c2UgTUlO X0VYUFIgaW4gbXVsdGktcmdyb3VwcyBzaXR1YXRpb24gYnV0IEkgZm9yZ290 IHRvIHVwZGF0ZSB0aGUNCmNvbW1lbnRzIGFuZCBtYWtlIHlvdSBjb25mdXNl ZC4gUmVhbGx5IHNvcnJ5Lg0KDQo+PiBJcyB0aGlzIGlmbi1zcGVjaWZpYyBo YW5kbGluZyBuZWVkZWQ/ICBGcm9tIHRoZSBkZXNjcmlwdGlvbiwgaXQgc2Vl bXMNCj4+IGxpa2UgV0hJTEVfTEVOIGNvdWxkIGJlIGEgbm9ybWFsIGJpbmFy eSBpbnRlcm5hbCBmdW5jdGlvbi4NCg0KPj4gVGhlIGNvbW1lbnQgbmVlZHMg dG8gYmUgdXBkYXRlZCB0byBkZXNjcmliZSB0aGUgbmV3IGludGVyZmFjZS4N Cg0KPj5UaGlzIGlzIHBlcnNvbmFsIHByZWZlcmVuY2UsIGJ1dDogSSB0aGlu ayB0aGUgaW50ZXJmYWNlIHdvdWxkIGJlDQo+PmNsZWFyZXIgaWYgdGhlIGNv ZGUgYXJndW1lbnQgY2FtZSBiZXR3ZWVuIHRoZSBiYXNlIGFuZCBzdGVwLA0K Pj5zbyB0aGF0IHRoZSBvcmRlciBtYXRjaGVzIGEgU0NFVi4gIFRoZSBjb2Rl IGNvdWxkIG5vIGxvbmdlciBiZQ0KPj5hIGRlZmF1bHQgYXJndW1lbnQsIGFu ZCBzbyBhbGwgY2FsbGVycyB3b3VsZCBuZWVkIHRvIGJlIHVwZGF0ZWQsDQo+ PmJ1dCBJTU8gdGhhdCdzIE9LLiAgTm90IHN1cmUgd2hhdCBvdGhlcnMgdGhp bmsgdGhvdWdoLg0KDQo+PlRoZSBwYXRjaCBkb2Vzbid0IHNlZW0gdG8gY2hh bmdlIHZlY3RfZXN0aW1hdGVfbWluX3Byb2ZpdGFibGVfaXRlcnMgdGhvdWdo LA0KPj5zbyB0aGUgY29tbWVudCBkb2Vzbid0IHNlZW0gYWNjdXJhdGUuDQoN CkFkZHJlc3MgYWxsIGNvbW1lbnRzIGFuZCBmaXggcGF0Y2ggVjM6IA0KaHR0 cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMy1B cHJpbC82MTY3MzAuaHRtbCANCkZlZWwgZnJlZSB0byBjb21tZW50cy4NCg0K VGhhbmtzDQoNCg0KanV6aGUuemhvbmdAcml2YWkuYWkNCiANCkZyb206IFJp Y2hhcmQgU2FuZGlmb3JkDQpEYXRlOiAyMDIzLTA0LTI2IDAwOjU4DQpUbzog anV6aGUuemhvbmcNCkNDOiBnY2MtcGF0Y2hlczsgcmd1ZW50aGVyDQpTdWJq ZWN0OiBSZTogW1BBVENIXSBWRUNUOiBBZGQgZGVjcmVtZW50IElWIGl0ZXJh dGlvbiBsb29wIGNvbnRyb2wgYnkgdmFyaWFibGUgYW1vdW50IHN1cHBvcnQN Cmp1emhlLnpob25nQHJpdmFpLmFpIHdyaXRlczoNCj4gZGlmZiAtLWdpdCBh L2djYy9pbnRlcm5hbC1mbi5jYyBiL2djYy9pbnRlcm5hbC1mbi5jYw0KPiBp bmRleCA2ZTgxZGMwNWUwZS4uNWY0NGRlZjkwZDMgMTAwNjQ0DQo+IC0tLSBh L2djYy9pbnRlcm5hbC1mbi5jYw0KPiArKysgYi9nY2MvaW50ZXJuYWwtZm4u Y2MNCj4gQEAgLTEyNyw2ICsxMjcsNyBAQCBpbml0X2ludGVybmFsX2ZucyAo KQ0KPiAgI2RlZmluZSBjb25kX2JpbmFyeV9kaXJlY3QgeyAxLCAxLCB0cnVl IH0NCj4gICNkZWZpbmUgY29uZF90ZXJuYXJ5X2RpcmVjdCB7IDEsIDEsIHRy dWUgfQ0KPiAgI2RlZmluZSB3aGlsZV9kaXJlY3QgeyAwLCAyLCBmYWxzZSB9 DQo+ICsjZGVmaW5lIHdoaWxlX2xlbl9kaXJlY3QgeyAwLCAwLCBmYWxzZSB9 DQo+ICAjZGVmaW5lIGZvbGRfZXh0cmFjdF9kaXJlY3QgeyAyLCAyLCBmYWxz ZSB9DQo+ICAjZGVmaW5lIGZvbGRfbGVmdF9kaXJlY3QgeyAxLCAxLCBmYWxz ZSB9DQo+ICAjZGVmaW5lIG1hc2tfZm9sZF9sZWZ0X2RpcmVjdCB7IDEsIDEs IGZhbHNlIH0NCj4gQEAgLTM3MDIsNiArMzcwMywzMyBAQCBleHBhbmRfd2hp bGVfb3B0YWJfZm4gKGludGVybmFsX2ZuLCBnY2FsbCAqc3RtdCwgY29udmVy dF9vcHRhYiBvcHRhYikNCj4gICAgICBlbWl0X21vdmVfaW5zbiAobGhzX3J0 eCwgb3BzWzBdLnZhbHVlKTsNCj4gIH0NCj4gIA0KPiArLyogRXhwYW5kIFdI SUxFX0xFTiBjYWxsIFNUTVQgdXNpbmcgb3B0YWIgT1BUQUIuICAqLw0KPiAr c3RhdGljIHZvaWQNCj4gK2V4cGFuZF93aGlsZV9sZW5fb3B0YWJfZm4gKGlu dGVybmFsX2ZuLCBnY2FsbCAqc3RtdCwgY29udmVydF9vcHRhYiBvcHRhYikN Cj4gK3sNCj4gKyAgZXhwYW5kX29wZXJhbmQgb3BzWzNdOw0KPiArICB0cmVl IHJoc190eXBlWzJdOw0KPiArDQo+ICsgIHRyZWUgbGhzID0gZ2ltcGxlX2Nh bGxfbGhzIChzdG10KTsNCj4gKyAgdHJlZSBsaHNfdHlwZSA9IFRSRUVfVFlQ RSAobGhzKTsNCj4gKyAgcnR4IGxoc19ydHggPSBleHBhbmRfZXhwciAobGhz LCBOVUxMX1JUWCwgVk9JRG1vZGUsIEVYUEFORF9XUklURSk7DQo+ICsgIGNy ZWF0ZV9vdXRwdXRfb3BlcmFuZCAoJm9wc1swXSwgbGhzX3J0eCwgVFlQRV9N T0RFIChsaHNfdHlwZSkpOw0KPiArDQo+ICsgIGZvciAodW5zaWduZWQgaW50 IGkgPSAwOyBpIDwgZ2ltcGxlX2NhbGxfbnVtX2FyZ3MgKHN0bXQpOyArK2kp DQo+ICsgICAgew0KPiArICAgICAgdHJlZSByaHMgPSBnaW1wbGVfY2FsbF9h cmcgKHN0bXQsIGkpOw0KPiArICAgICAgcmhzX3R5cGVbaV0gPSBUUkVFX1RZ UEUgKHJocyk7DQo+ICsgICAgICBydHggcmhzX3J0eCA9IGV4cGFuZF9ub3Jt YWwgKHJocyk7DQo+ICsgICAgICBjcmVhdGVfaW5wdXRfb3BlcmFuZCAoJm9w c1tpICsgMV0sIHJoc19ydHgsIFRZUEVfTU9ERSAocmhzX3R5cGVbaV0pKTsN Cj4gKyAgICB9DQo+ICsNCj4gKyAgaW5zbl9jb2RlIGljb2RlID0gZGlyZWN0 X29wdGFiX2hhbmRsZXIgKG9wdGFiLCBUWVBFX01PREUgKHJoc190eXBlWzBd KSk7DQo+ICsNCj4gKyAgZXhwYW5kX2luc24gKGljb2RlLCAzLCBvcHMpOw0K PiArICBpZiAoIXJ0eF9lcXVhbF9wIChsaHNfcnR4LCBvcHNbMF0udmFsdWUp KQ0KPiArICAgIGVtaXRfbW92ZV9pbnNuIChsaHNfcnR4LCBvcHNbMF0udmFs dWUpOw0KPiArfQ0KIA0KSXMgdGhpcyBpZm4tc3BlY2lmaWMgaGFuZGxpbmcg bmVlZGVkPyAgRnJvbSB0aGUgZGVzY3JpcHRpb24sIGl0IHNlZW1zDQpsaWtl IFdISUxFX0xFTiBjb3VsZCBiZSBhIG5vcm1hbCBiaW5hcnkgaW50ZXJuYWwg ZnVuY3Rpb24uDQogDQo+ICsNCj4gIC8qIEV4cGFuZCBhIGNhbGwgdG8gYSBj b252ZXJ0LWxpa2Ugb3B0YWIgdXNpbmcgdGhlIG9wZXJhbmRzIGluIFNUTVQu DQo+ICAgICBGTiBoYXMgYSBzaW5nbGUgb3V0cHV0IG9wZXJhbmQgYW5kIE5B UkdTIGlucHV0IG9wZXJhbmRzLiAgKi8NCj4gIA0KPiBAQCAtMzg0Myw2ICsz ODcxLDcgQEAgbXVsdGlfdmVjdG9yX29wdGFiX3N1cHBvcnRlZF9wIChjb252 ZXJ0X29wdGFiIG9wdGFiLCB0cmVlX3BhaXIgdHlwZXMsDQo+ICAjZGVmaW5l IGRpcmVjdF9zY2F0dGVyX3N0b3JlX29wdGFiX3N1cHBvcnRlZF9wIGNvbnZl cnRfb3B0YWJfc3VwcG9ydGVkX3ANCj4gICNkZWZpbmUgZGlyZWN0X2xlbl9z dG9yZV9vcHRhYl9zdXBwb3J0ZWRfcCBkaXJlY3Rfb3B0YWJfc3VwcG9ydGVk X3ANCj4gICNkZWZpbmUgZGlyZWN0X3doaWxlX29wdGFiX3N1cHBvcnRlZF9w IGNvbnZlcnRfb3B0YWJfc3VwcG9ydGVkX3ANCj4gKyNkZWZpbmUgZGlyZWN0 X3doaWxlX2xlbl9vcHRhYl9zdXBwb3J0ZWRfcCBkaXJlY3Rfb3B0YWJfc3Vw cG9ydGVkX3ANCj4gICNkZWZpbmUgZGlyZWN0X2ZvbGRfZXh0cmFjdF9vcHRh Yl9zdXBwb3J0ZWRfcCBkaXJlY3Rfb3B0YWJfc3VwcG9ydGVkX3ANCj4gICNk ZWZpbmUgZGlyZWN0X2ZvbGRfbGVmdF9vcHRhYl9zdXBwb3J0ZWRfcCBkaXJl Y3Rfb3B0YWJfc3VwcG9ydGVkX3ANCj4gICNkZWZpbmUgZGlyZWN0X21hc2tf Zm9sZF9sZWZ0X29wdGFiX3N1cHBvcnRlZF9wIGRpcmVjdF9vcHRhYl9zdXBw b3J0ZWRfcA0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2ludGVybmFsLWZuLmRlZiBi L2djYy9pbnRlcm5hbC1mbi5kZWYNCj4gaW5kZXggN2ZlNzQyYzJhZTcuLjNh OTMzYWJmZjVkIDEwMDY0NA0KPiAtLS0gYS9nY2MvaW50ZXJuYWwtZm4uZGVm DQo+ICsrKyBiL2djYy9pbnRlcm5hbC1mbi5kZWYNCj4gQEAgLTE1Myw2ICsx NTMsNyBAQCBERUZfSU5URVJOQUxfT1BUQUJfRk4gKFZFQ19TRVQsIDAsIHZl Y19zZXQsIHZlY19zZXQpDQo+ICBERUZfSU5URVJOQUxfT1BUQUJfRk4gKExF Tl9TVE9SRSwgMCwgbGVuX3N0b3JlLCBsZW5fc3RvcmUpDQo+ICANCj4gIERF Rl9JTlRFUk5BTF9PUFRBQl9GTiAoV0hJTEVfVUxULCBFQ0ZfQ09OU1QgfCBF Q0ZfTk9USFJPVywgd2hpbGVfdWx0LCB3aGlsZSkNCj4gK0RFRl9JTlRFUk5B TF9PUFRBQl9GTiAoV0hJTEVfTEVOLCBFQ0ZfQ09OU1QgfCBFQ0ZfTk9USFJP Vywgd2hpbGVfbGVuLCB3aGlsZV9sZW4pDQo+ICBERUZfSU5URVJOQUxfT1BU QUJfRk4gKENIRUNLX1JBV19QVFJTLCBFQ0ZfQ09OU1QgfCBFQ0ZfTk9USFJP VywNCj4gICAgICAgICBjaGVja19yYXdfcHRycywgY2hlY2tfcHRycykNCj4g IERFRl9JTlRFUk5BTF9PUFRBQl9GTiAoQ0hFQ0tfV0FSX1BUUlMsIEVDRl9D T05TVCB8IEVDRl9OT1RIUk9XLA0KPiBkaWZmIC0tZ2l0IGEvZ2NjL29wdGFi cy5kZWYgYi9nY2Mvb3B0YWJzLmRlZg0KPiBpbmRleCA2OTVmNTkxMWIzMC4u ZjU5MzhiZDJjMjQgMTAwNjQ0DQo+IC0tLSBhL2djYy9vcHRhYnMuZGVmDQo+ ICsrKyBiL2djYy9vcHRhYnMuZGVmDQo+IEBAIC00NzYsMyArNDc2LDQgQEAg T1BUQUJfREMgKHZlY19zZXJpZXNfb3B0YWIsICJ2ZWNfc2VyaWVzJGEiLCBW RUNfU0VSSUVTKQ0KPiAgT1BUQUJfRCAodmVjX3NobF9pbnNlcnRfb3B0YWIs ICJ2ZWNfc2hsX2luc2VydF8kYSIpDQo+ICBPUFRBQl9EIChsZW5fbG9hZF9v cHRhYiwgImxlbl9sb2FkXyRhIikNCj4gIE9QVEFCX0QgKGxlbl9zdG9yZV9v cHRhYiwgImxlbl9zdG9yZV8kYSIpDQo+ICtPUFRBQl9EICh3aGlsZV9sZW5f b3B0YWIsICJ3aGlsZV9sZW4kYSIpDQo+IGRpZmYgLS1naXQgYS9nY2MvdHJl ZS1zc2EtbG9vcC1tYW5pcC5jYyBiL2djYy90cmVlLXNzYS1sb29wLW1hbmlw LmNjDQo+IGluZGV4IGE1MjI3N2FiZGJmLi41NDg0NWE2MjI5OCAxMDA2NDQN Cj4gLS0tIGEvZ2NjL3RyZWUtc3NhLWxvb3AtbWFuaXAuY2MNCj4gKysrIGIv Z2NjL3RyZWUtc3NhLWxvb3AtbWFuaXAuY2MNCj4gQEAgLTU5LDE0ICs1OSwx NCBAQCBzdGF0aWMgYml0bWFwX29ic3RhY2sgbG9vcF9yZW5hbWVyX29ic3Rh Y2s7DQo+ICB2b2lkDQo+ICBjcmVhdGVfaXYgKHRyZWUgYmFzZSwgdHJlZSBz dGVwLCB0cmVlIHZhciwgY2xhc3MgbG9vcCAqbG9vcCwNCj4gICAgIGdpbXBs ZV9zdG10X2l0ZXJhdG9yICppbmNyX3BvcywgYm9vbCBhZnRlciwNCj4gLSAg ICB0cmVlICp2YXJfYmVmb3JlLCB0cmVlICp2YXJfYWZ0ZXIpDQo+ICsgICAg dHJlZSAqdmFyX2JlZm9yZSwgdHJlZSAqdmFyX2FmdGVyLCBlbnVtIHRyZWVf Y29kZSBjb2RlKQ0KIA0KVGhlIGNvbW1lbnQgbmVlZHMgdG8gYmUgdXBkYXRl ZCB0byBkZXNjcmliZSB0aGUgbmV3IGludGVyZmFjZS4NCiANClRoaXMgaXMg cGVyc29uYWwgcHJlZmVyZW5jZSwgYnV0OiBJIHRoaW5rIHRoZSBpbnRlcmZh Y2Ugd291bGQgYmUNCmNsZWFyZXIgaWYgdGhlIGNvZGUgYXJndW1lbnQgY2Ft ZSBiZXR3ZWVuIHRoZSBiYXNlIGFuZCBzdGVwLA0Kc28gdGhhdCB0aGUgb3Jk ZXIgbWF0Y2hlcyBhIFNDRVYuICBUaGUgY29kZSBjb3VsZCBubyBsb25nZXIg YmUNCmEgZGVmYXVsdCBhcmd1bWVudCwgYW5kIHNvIGFsbCBjYWxsZXJzIHdv dWxkIG5lZWQgdG8gYmUgdXBkYXRlZCwNCmJ1dCBJTU8gdGhhdCdzIE9LLiAg Tm90IHN1cmUgd2hhdCBvdGhlcnMgdGhpbmsgdGhvdWdoLg0KIA0KPiAgew0K PiAgICBnYXNzaWduICpzdG10Ow0KPiAgICBncGhpICpwaGk7DQo+ICAgIHRy ZWUgaW5pdGlhbCwgc3RlcDE7DQo+ICAgIGdpbXBsZV9zZXEgc3RtdHM7DQo+ ICAgIHRyZWUgdmIsIHZhOw0KPiAtICBlbnVtIHRyZWVfY29kZSBpbmNyX29w ID0gUExVU19FWFBSOw0KPiArICBlbnVtIHRyZWVfY29kZSBpbmNyX29wID0g Y29kZTsNCj4gICAgZWRnZSBwZSA9IGxvb3BfcHJlaGVhZGVyX2VkZ2UgKGxv b3ApOw0KPiAgDQo+ICAgIGlmICh2YXIgIT0gTlVMTF9UUkVFKQ0KPiBkaWZm IC0tZ2l0IGEvZ2NjL3RyZWUtc3NhLWxvb3AtbWFuaXAuaCBiL2djYy90cmVl LXNzYS1sb29wLW1hbmlwLmgNCj4gaW5kZXggZDQ5MjczYTM5ODcuLmRhNzU1 MzIwYTNhIDEwMDY0NA0KPiAtLS0gYS9nY2MvdHJlZS1zc2EtbG9vcC1tYW5p cC5oDQo+ICsrKyBiL2djYy90cmVlLXNzYS1sb29wLW1hbmlwLmgNCj4gQEAg LTIzLDcgKzIzLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBD T1BZSU5HMy4gIElmIG5vdCBzZWUNCj4gIHR5cGVkZWYgdm9pZCAoKnRyYW5z Zm9ybV9jYWxsYmFjaykoY2xhc3MgbG9vcCAqLCB2b2lkICopOw0KPiAgDQo+ ICBleHRlcm4gdm9pZCBjcmVhdGVfaXYgKHRyZWUsIHRyZWUsIHRyZWUsIGNs YXNzIGxvb3AgKiwgZ2ltcGxlX3N0bXRfaXRlcmF0b3IgKiwNCj4gLSAgICAg ICAgYm9vbCwgdHJlZSAqLCB0cmVlICopOw0KPiArICAgICAgICBib29sLCB0 cmVlICosIHRyZWUgKiwgZW51bSB0cmVlX2NvZGUgPSBQTFVTX0VYUFIpOw0K PiAgZXh0ZXJuIHZvaWQgcmV3cml0ZV9pbnRvX2xvb3BfY2xvc2VkX3NzYSAo Yml0bWFwLCB1bnNpZ25lZCk7DQo+ICBleHRlcm4gdm9pZCB2ZXJpZnlfbG9v cF9jbG9zZWRfc3NhIChib29sLCBjbGFzcyBsb29wICogPSBOVUxMKTsNCj4g IA0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdC1sb29wLW1hbmlwLmNj IGIvZ2NjL3RyZWUtdmVjdC1sb29wLW1hbmlwLmNjDQo+IGluZGV4IGY2MGZh NTBlOGY0Li5hMWM4OTJmMjg1YSAxMDA2NDQNCj4gLS0tIGEvZ2NjL3RyZWUt dmVjdC1sb29wLW1hbmlwLmNjDQo+ICsrKyBiL2djYy90cmVlLXZlY3QtbG9v cC1tYW5pcC5jYw0KPiBAQCAtNjgyLDYgKzY4MiwyMTAgQEAgdmVjdF9zZXRf bG9vcF9jb250cm9sc19kaXJlY3RseSAoY2xhc3MgbG9vcCAqbG9vcCwgbG9v cF92ZWNfaW5mbyBsb29wX3ZpbmZvLA0KPiAgICByZXR1cm4gbmV4dF9jdHJs Ow0KPiAgfQ0KPiAgDQo+ICsvKiBIZWxwZXIgZm9yIHZlY3Rfc2V0X2xvb3Bf Y29uZGl0aW9uX3BhcnRpYWxfdmVjdG9ycy4gIEdlbmVyYXRlIGRlZmluaXRp b25zDQo+ICsgICBmb3IgYWxsIHRoZSByZ3JvdXAgY29udHJvbHMgaW4gUkdD IGFuZCByZXR1cm4gYSBjb250cm9sIHRoYXQgaXMgbm9uemVybw0KPiArICAg d2hlbiB0aGUgbG9vcCBuZWVkcyB0byBpdGVyYXRlLiAgQWRkIGFueSBuZXcg cHJlaGVhZGVyIHN0YXRlbWVudHMgdG8NCj4gKyAgIFBSRUhFQURFUl9TRVEu ICBVc2UgTE9PUF9DT05EX0dTSSB0byBpbnNlcnQgY29kZSBiZWZvcmUgdGhl IGV4aXQgZ2NvbmQuDQo+ICsNCj4gKyAgIFJHQyBiZWxvbmdzIHRvIGxvb3Ag TE9PUC4gIFRoZSBsb29wIG9yaWdpbmFsbHkgaXRlcmF0ZWQgTklURVJTDQo+ ICsgICB0aW1lcyBhbmQgaGFzIGJlZW4gdmVjdG9yaXplZCBhY2NvcmRpbmcg dG8gTE9PUF9WSU5GTy4NCj4gKw0KPiArICAgVW5saWtlIHZlY3Rfc2V0X2xv b3BfY29udHJvbHNfZGlyZWN0bHkgd2hpY2ggaXMgaXRlcmF0aW5nIGZyb20g MC1iYXNlZCBJVg0KPiArICAgdG8gVEVTVF9MSU1JVCAtIGJpYXMuDQo+ICsN Cj4gKyAgIEluIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfYnlfd2hpbGVfbGVu LCB3ZSBhcmUgaXRlcmF0aW5nIGZyb20gc3RhcnQgYXQNCj4gKyAgIElWID0g VEVTVF9MSU1JVCAtIGJpYXMgYW5kIGtlZXAgc3VidHJhY3QgSVYgYnkgdGhl IGxlbmd0aCBjYWxjdWxhdGVkIGJ5DQo+ICsgICBJRk5fV0hJTEVfTEVOIHBh dHRlcm4uDQo+ICsNCj4gKyAgIE5vdGU6IHRoZSBjb3N0IG9mIHRoZSBjb2Rl IGdlbmVyYXRlZCBieSB0aGlzIGZ1bmN0aW9uIGlzIG1vZGVsZWQNCj4gKyAg IGJ5IHZlY3RfZXN0aW1hdGVfbWluX3Byb2ZpdGFibGVfaXRlcnMsIHNvIGNo YW5nZXMgaGVyZSBtYXkgbmVlZA0KPiArICAgY29ycmVzcG9uZGluZyBjaGFu Z2VzIHRoZXJlLg0KIA0KVGhlIHBhdGNoIGRvZXNuJ3Qgc2VlbSB0byBjaGFu Z2UgdmVjdF9lc3RpbWF0ZV9taW5fcHJvZml0YWJsZV9pdGVycyB0aG91Z2gs DQpzbyB0aGUgY29tbWVudCBkb2Vzbid0IHNlZW0gYWNjdXJhdGUuDQogDQo+ ICsNCj4gKyAgIDEuIFNpbmdsZSByZ3JvdXAsIHRoZSBHaW1wbGUgSVIgc2hv dWxkIGJlOg0KPiArDQo+ICsgPGJiIDM+DQo+ICsgXzE5ID0gKHVuc2lnbmVk IGxvbmcpIG5fNShEKTsNCj4gKyAuLi4NCj4gKw0KPiArIDxiYiA0PjoNCj4g KyAuLi4NCj4gKyAjIGl2dG1wXzIwID0gUEhJIDxpdnRtcF8yMSg0KSwgXzE5 KDMpPg0KPiArIC4uLg0KPiArIF8yMiA9IC5XSElMRV9MRU4gKGl2dG1wXzIw LCB2Zik7DQo+ICsgLi4uDQo+ICsgdmVjdG9yIHN0YXRlbWVudCAodXNlIF8y Mik7DQo+ICsgLi4uDQo+ICsgaXZ0bXBfMjEgPSBpdnRtcF8yMCAtIF8yMjsN Cj4gKyAuLi4NCj4gKyBpZiAoaXZ0bXBfMjEgIT0gMCkNCj4gKyAgIGdvdG8g PGJiIDQ+OyBbNzUuMDAlXQ0KPiArIGVsc2UNCj4gKyAgIGdvdG8gPGJiIDU+ OyBbMjUuMDAlXQ0KPiArDQo+ICsgPGJiIDU+DQo+ICsgcmV0dXJuOw0KPiAr DQo+ICsgICBOb3RlOiBJRk5fV0hJTEVfTEVOIHdpbGwgZ3VhcmFudGVlICJp dnRtcF8yMSA9IGl2dG1wXzIwIC0gXzIyIiBuZXZlcg0KPiArICAgdW5kZXJm bG93IDAuDQo+ICsNCj4gKyAgIDIuIE11bHRpcGxlIHJncm91cCwgdGhlIEdp bXBsZSBJUiBzaG91bGQgYmU6DQo+ICsNCj4gKyA8YmIgMz4NCj4gKyBfNzAg PSAodW5zaWduZWQgbG9uZykgYm5kLjdfNTI7DQo+ICsgXzcxID0gXzcwICog MjsNCj4gKyBfNzIgPSBNQVhfRVhQUiA8XzcxLCA0PjsNCj4gKyBfNzMgPSBf NzIgKyAxODQ0Njc0NDA3MzcwOTU1MTYxMjsNCj4gKyAuLi4NCj4gKw0KPiAr IDxiYiA0PjoNCj4gKyAuLi4NCj4gKyAjIGl2dG1wXzc0ID0gUEhJIDxpdnRt cF83NSg2KSwgXzczKDEyKT4NCj4gKyAjIGl2dG1wXzc3ID0gUEhJIDxpdnRt cF83OCg2KSwgXzcxKDEyKT4NCj4gKyBfNzYgPSAuV0hJTEVfTEVOIChpdnRt cF83NCwgdmYgKiBuaXRlbXNfcGVyX2N0cmwpOw0KPiArIF83OSA9IC5XSElM RV9MRU4gKGl2dG1wXzc3LCB2ZiAqIG5pdGVtc19wZXJfY3RybCk7DQo+ICsg Li4uDQo+ICsgdmVjdG9yIHN0YXRlbWVudCAodXNlIF83OSk7DQo+ICsgLi4u DQo+ICsgdmVjdG9yIHN0YXRlbWVudCAodXNlIF83Nik7DQo+ICsgLi4uDQo+ ICsgXzY1ID0gXzc5IC8gMjsNCj4gKyB2ZWN0b3Igc3RhdGVtZW50ICh1c2Ug XzY1KTsNCj4gKyAuLi4NCj4gKyBfNjggPSBfNzYgLyAyOw0KPiArIHZlY3Rv ciBzdGF0ZW1lbnQgKHVzZSBfNjgpOw0KPiArIC4uLg0KPiArIGl2dG1wXzc4 ID0gaXZ0bXBfNzcgLSBfNzk7DQo+ICsgaXZ0bXBfNzUgPSBpdnRtcF83NCAt IF83NjsNCj4gKyAuLi4NCj4gKyBpZiAoaXZ0bXBfNzggIT0gMCkNCj4gKyAg IGdvdG8gPGJiIDQ+OyBbNzUuMDAlXQ0KPiArIGVsc2UNCj4gKyAgIGdvdG8g PGJiIDU+OyBbMjUuMDAlXQ0KPiArDQo+ICsgPGJiIDU+DQo+ICsgcmV0dXJu Ow0KPiArDQo+ICsqLw0KIA0KSSdtIG5vdCBzdXJlIGl0J3Mgc2FmZSB0byBo YW5kbGUgbXVsdGlwbGUgcmdyb3VwcyBsaWtlIHRoaXMuDQpGb3IgZXhhbXBs ZSwgaWYgYSBsb29wIG9wZXJhdGVzIG9uIGJvdGggaW50MzJfdHMgYW5kIGlu dDY0X3RzLCBhbmQgdXNlcw0KZnVsbHktcGFja2VkIHZlY3RvcnMgZm9yIGJv dGggZGF0YSB0eXBlcywgdGhlcmUgd2lsbCBiZSB0d28gaW50NjRfdA0KdmVj dG9ycyBwZXIgaW50MzJfdCB2ZWN0b3IgKHNpbmNlIHRoZSB0b3RhbCBudW1i ZXIgb2YgbGFuZXMgaGFzIHRvDQpiZSB0aGUgc2FtZSBmb3IgYm90aCB0eXBl cykuICBUaGUgaW50MzJfdCB2ZWN0b3JzIHdvdWxkIGJlIGNvbnRyb2xsZWQN CmJ5IG9uZSByZ3JvdXAgKHdpdGggb25lIGNvbnRyb2wpIGFuZCB0aGUgaW50 NjRfdCB2ZWN0b3JzIHdvdWxkDQpiZSBjb250cm9sbGVkIGJ5IGEgZGlmZmVy ZW50IHJncm91cCAod2l0aCB0d28gY29udHJvbHMpLg0KQnV0IGl0J3MgY3Jp dGljYWwgdGhhdCB0aGUgdHdvIHJncm91cHMgcHJvY2VzcyB0aGUgc2FtZSBu dW1iZXINCm9mIHNjYWxhcnMgZXZlcnkgaXRlcmF0aW9uLCBhbmQgdGhhdCB0 aGV5ICJhZ3JlZSIgb24gd2hpY2gNCmVsZW1lbnRzIGFyZSBiZWluZyBwcm9j ZXNzZWQuDQogDQpTbyBpZiB0aGUgaW50MzJfdCBsZW5ndGggaXMgc29tZSB2 YWx1ZSBYLCB3aGVyZSBYPD1WRiwgdGhlbiB0aGUgaW50MzJfdA0KY29udHJv bCB3aWxsIGVuYWJsZSB0aGUgcHJvY2Vzc2luZyBvZiBYIGNvbnNlY3V0aXZl IGVsZW1lbnRzLCBzdGFydGluZw0KYXQgdGhlIGZpcnN0IGxhbmUuICBJdCdz IHRoZW4gY3JpdGljYWwgdGhhdCB0aGUgaW50NjRfdCBjb250cm9sIGVuYWJs ZXMNCnByb2Nlc3Npbmcgb2YgdGhvc2Ugc2FtZSBlbGVtZW50cy4gIElmIFZG LzI8PVg8PVZGIHRoZW4gdGhlIGZpcnN0DQppbnQ2NF90IGNvbnRyb2wgbXVz dCBpbmNsdWRlIGFsbCBWRi8yIGVsZW1lbnRzIGFuZCB0aGUgc2Vjb25kIG11 c3QNCmluY2x1ZGUgZXhhY3RseSB0aGUgZmlyc3QgWC1WRi8yIGVsZW1lbnRz Lg0KIA0KSSBkb24ndCB0aGluayB0aGF0J3MgZ3VhcmFudGVlZCBieSB0aGUg cHJvcG9zZWQgZGVmaW5pdGlvbiBvZiBXSElMRV9MRU4uDQpUaGUgZmlyc3Qg aW50NjRfdCBXSElMRV9MRU4gY291bGQgY29tZSB1cCBzaG9ydCwgYW5kIHJl dHVybiBzb21ldGhpbmcNCmxlc3MgdGhhbiBWRi8yLg0KIA0KVGhhbmtzLA0K UmljaGFyZA0KIA0K ------=_001_NextPart162042156684_=------