From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by sourceware.org (Postfix) with ESMTPS id 872FB385E021 for ; Thu, 14 Dec 2023 10:54:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 872FB385E021 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 872FB385E021 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.207.22.56 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702551259; cv=none; b=ftN6352RHawpmg/YHxdh5etq0d3FLfaLCjGBGz0ma4v9Q6+nh26mCJVD3YQGGJHsyX+rhIBuW25n3+QBB8MDb8clcibcuN1vDtdgSUTdreqtqKBqsblHaqDjQSp+7zNUWEnymHzsfk1QJl72J4jrQOScIy9N0F4cnZhAHkb7/fI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702551259; c=relaxed/simple; bh=U+oumLx5x3o06S193Gh5Rb2zKkjSwvW5pp+SfS59fvw=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=kGJGqmNfCbuzfa++I93rslwQl25rDlY/QWBA8H/JixtxMO3PcVzAPhH0XL34DFo1Tk4TyRwdmvBi6O0wIPvUT+VGiCGJUVlNtlaD3uGc7UndLa6wiIV1xEZq6j9SxcRqmj6Jzy7R8iPLTGZF/kYM3WwzPZ/n03J+tmglB/9544w= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp84t1702551244thx2sfr5 Received: from LAPTOP-EPITNQBU ( [58.60.1.10]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 14 Dec 2023 18:54:03 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: aBJFcW+uBGa/fIKvLv4U0eFb7J/uxrFuglnFf7XKUf+opqML2S6KSr4EEwvL4 0XqnS+Z7rPSGpHEs51YpCwDI/0Jj2TnRFTTU5LVuxqVZB9uRVCBj/HyuiHgxO8GaARZpcOg 67zd7VSsjNpM9s8DXxwBFwR+JB3wUvJJEiMyE+s/7IMu0fhLOLOh35XpcuM8+NPY/kA/Oi/ s5GlyGMp837riHIaUrfZ8IZ16qcS9OgM+wB7nTGeQFB+bteVEtvwHa4w7RjoGcos/cYMMQG gVis5h3Z6W6htXu8kliwAxKkguBBzl4I4KChvABpVLbgTSRqBgM+z3HF210yCG3/96JvVmk Dgw4WHh9jyArskyTB2q1xVF/MBRE4JJLZJ62msGPkCn/H7aKmfzsH5sVP4nLAAaIf0xBrqH SAa/fW0UNv0khyH4n8362CYx6xGYi/DSh2KM60lsFJTOOTsRr9hiDg== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 16523613281270263315 Date: Thu, 14 Dec 2023 18:54:02 +0800 From: "juzhe.zhong@rivai.ai" To: rguenther Cc: gcc-patches , richard.sandiford , jeffreyalaw Subject: Re: Re: [PATCH] Middle-end: Adjust decrement IV style partial vectorization COST model References: , <3011FF3A-EBCE-41F0-B29F-A90E258AA781@suse.de> X-Priority: 3 X-GUID: 4EAAFE2C-13C4-47A1-B211-A135C84616CE X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <201303B8CB4CDE9F+2023121418540225991853@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart548730603328_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-9.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,MANY_SPAN_IN_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SCC_5_SHORT_WORD_LINES,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_NextPart548730603328_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 VGhhbmtzIFJpY2hhcmQuDQoNCkxldCBtZSBjbGFyaWZ5IGFnYWluIHRvIG1h a2Ugc3VyZSBJIHVuZGVyc3RhbmQgeW91ciBjb21tZW50cyBjb3JyZWN0bHk6 DQoNCkRvIHlvdSBzdWdnZXN0IG5vdCB0byBtb2RlbCBhZGRyZXNzIGNvc3Qg aGVyZSBsaWtlIG90aGVyIHBhcnRpYWwgdmVjdG9yaXphdGlvbiBzdHlsZSAo d2hpbGVfdWx0LCBhdng1MTIuLi5ldGMpLg0KVGhlbiBzZXQgQ09TVCA9IDEg c2luY2Ugd2Ugb25seSBoYXZlIFNFTEVDVF9WTCBzaW5jZSBiZWdpbm5pbmcu DQpBdCB2YXJpb3VzIGNhc2VzIHdlIHNhdywgQ09TVD0xIGlzIGJldHRlciB0 aGFuIENPU1Q9Mi4NCg0KVGhhbmtzLg0KDQoNCg0KanV6aGUuemhvbmdAcml2 YWkuYWkNCiANCkZyb206IFJpY2hhcmQgQmllbmVyDQpEYXRlOiAyMDIzLTEy LTE0IDE4OjQ2DQpUbzoganV6aGUuemhvbmcNCkNDOiBnY2MtcGF0Y2hlczsg cmljaGFyZC5zYW5kaWZvcmQ7IGplZmZyZXlhbGF3DQpTdWJqZWN0OiBSZTog W1BBVENIXSBNaWRkbGUtZW5kOiBBZGp1c3QgZGVjcmVtZW50IElWIHN0eWxl IHBhcnRpYWwgdmVjdG9yaXphdGlvbiBDT1NUIG1vZGVsDQoNCg0KQW0gMTQu MTIuMjAyMyB1bSAwOToyOCBzY2hyaWViIGp1emhlLnpob25nQHJpdmFpLmFp Og0KDQrvu78gDQpIaSwgUmljaGFyZC4NCg0KSSBoYXZlIGEgcXVlc3Rpb24g YWJvdXQgdGhlIGRlY3JlbWVudCBJViBjb3N0aW5nIHNpbmNlIEkgZmluZCB0 aGUgcmVkdWN0aW9uIGNhc2UgaXMgZ2VuZXJhdGluZyBpbmZlcmlvciBjb2Rl Z2VuLg0KDQpyZWR1Y19wbHVzX2ludDoNCm12IGEzLGEwDQpibGUgYTEsemVy bywuTDcNCmFkZGl3IGE1LGExLC0xDQpsaSBhNCwyDQpibGV1IGE1LGE0LC5M OA0KdnNldGl2bGkgemVybyw0LGUzMixtMSx0YSxtYQ0Kc3JsaXcgYTQsYTEs Mg0Kdm12LnYuaSB2MSwwDQpzbGxpIGE0LGE0LDQNCmFkZCBhNCxhNCxhMA0K bXYgYTUsYTANCi5MNDoNCnZsZTMyLnYgdjIsMChhNSkNCmFkZGkgYTUsYTUs MTYNCnZhZGQudnYgdjEsdjEsdjINCmJuZSBhNSxhNCwuTDQNCmxpIGE1LDAN CnZtdi5zLnggdjIsYTUNCmFuZGkgYTUsYTEsLTQNCnZyZWRzdW0udnMgdjEs djEsdjINCnZtdi54LnMgYTAsdjENCmJlcSBhMSxhNSwuTDEyDQouTDM6DQpz dWJ3IGExLGExLGE1DQpzbGxpIGE1LGE1LDMyDQpzcmxpIGE1LGE1LDMyDQpz bGxpIGExLGExLDMyDQp2c2V0dmxpIGE0LHplcm8sZTMyLG0xLHRhLG1hDQpz bGxpIGE1LGE1LDINCnNybGkgYTEsYTEsMzINCnZtdi52LmkgdjEsMA0KYWRk IGEzLGEzLGE1DQp2c2V0dmxpIGExLGExLGU4LG1mNCx0YSxtYQ0KdmxlMzIu diB2MywwKGEzKQ0KbGkgYTUsMA0KdnNldGl2bGkgemVybywxLGUzMixtMSx0 YSxtYQ0Kdm12LnMueCB2MixhNQ0KdnNldHZsaSB6ZXJvLGExLGUzMixtMSx0 dSxtYQ0Kdm12LnYudiB2MSx2Mw0KdnNldHZsaSBhNCx6ZXJvLGUzMixtMSx0 YSxtYQ0KdnJlZHN1bS52cyB2MSx2MSx2Mg0Kdm12LngucyBhNSx2MQ0KYWRk dyBhMCxhMCxhNQ0KcmV0DQouTDEyOg0KcmV0DQouTDc6DQpsaSBhMCwwDQpy ZXQNCi5MODoNCmxpIGE1LDANCmxpIGEwLDANCmogLkwzDQoNClRoaXMgcGF0 Y2ggYWRqdXN0IGxlbmd0aF91cGRhdGVfY29zdCBmcm9tIDMgKG9yaWdpbmFs IGNvc3QpIGludG8gMiBjYW4gZml4IGNvbnZlcnNpb24gY2FzZSAodGhlIHRl c3QgYXBwZW5kIGluIHRoaXMgcGF0Y2gpLg0KQnV0IGNhbid0IGZpeCByZWR1 Y3Rpb24gY2FzZS4NCg0KVGhlbiBJIGFkanVzdCBpdCBpbnRvIENPU1QgPSAx Og0KDQpkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdC1sb29wLmNjIGIvZ2Nj L3RyZWUtdmVjdC1sb29wLmNjDQppbmRleCAxOWUzOGI4NjM3Yi4uNTBjOTli MWZlNzkgMTAwNjQ0DQotLS0gYS9nY2MvdHJlZS12ZWN0LWxvb3AuY2MNCisr KyBiL2djYy90cmVlLXZlY3QtbG9vcC5jYw0KQEAgLTQ4NzcsNyArNDg3Nyw3 IEBAIHZlY3RfZXN0aW1hdGVfbWluX3Byb2ZpdGFibGVfaXRlcnMgKGxvb3Bf dmVjX2luZm8gbG9vcF92aW5mbywNCiAgICAgICAgICAgICAgICAgcHJvY2Vz c2VkIGluIGN1cnJlbnQgaXRlcmF0aW9uLCBhbmQgYSBTSElGVCBvcGVyYXRp b24gdG8NCiAgICAgICAgICAgICAgICAgY29tcHV0ZSB0aGUgbmV4dCBtZW1v cnkgYWRkcmVzcyBpbnN0ZWFkIG9mIGFkZGluZyB2ZWN0b3JpemF0aW9uDQog ICAgICAgICAgICAgICAgIGZhY3Rvci4gICovDQotICAgICAgICAgICAgIGxl bmd0aF91cGRhdGVfY29zdCA9IDI7DQorICAgICAgICAgICAgIGxlbmd0aF91 cGRhdGVfY29zdCA9IDE7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAg ICAgIC8qIEZvciBpbmNyZW1lbnQgSVYgc3R5cGUsIEVhY2ggbWF5IG5lZWQg dHdvIE1JTnMgYW5kIG9uZSBNSU5VUyB0bw0KICAgICAgICAgICAgICAgICB1 cGRhdGUgbGVuZ3RocyBpbiBib2R5IGZvciBuZXh0IGl0ZXJhdGlvbi4gICov DQoNClRoZW4gdGhlIGNvZGVnZW4gaXMgcmVhc29uYWJsZSBub3c6DQoNCnJl ZHVjX3BsdXNfaW50Og0KYmxlIGExLHplcm8sLkw0DQp2c2V0dmxpIGE1LHpl cm8sZTMyLG0xLHRhLG1hDQp2bXYudi5pIHYxLDANCi5MMzoNCnZzZXR2bGkg YTUsYTEsZTMyLG0xLHR1LG1hDQp2bGUzMi52IHYyLDAoYTApDQpzbGxpIGE0 LGE1LDINCnN1YiBhMSxhMSxhNQ0KYWRkIGEwLGEwLGE0DQp2YWRkLnZ2IHYx LHYyLHYxDQpibmUgYTEsemVybywuTDMNCmxpIGE1LDANCnZzZXRpdmxpIHpl cm8sMSxlMzIsbTEsdGEsbWENCnZtdi5zLnggdjIsYTUNCnZzZXR2bGkgYTUs emVybyxlMzIsbTEsdGEsbWENCnZyZWRzdW0udnMgdjEsdjEsdjINCnZtdi54 LnMgYTAsdjENCnJldA0KLkw0Og0KbGkgYTAsMA0KcmV0DQoNClRoZSByZWFz b24gSSBzZXQgQ09TVCA9IDIgaW5zdGVhZCBvZiAxIGluIHRoaXMgcGF0Y2gg c2luY2UNCg0Kb25lIENPU1QgaXMgZm9yIFNFTEVDVF9WTC4NCg0KVGhlIG90 aGVyIGlzIGZvciBtZW1vcnkgYWRkcmVzcyBjYWxjdWxhdGlvbiBzaW5jZSB3 ZSBkb24ndCB1cGRhdGUgbWVtb3J5IGFkZHJlc3Mgd2l0aCBhZGRpbmcgVkYg ZGlyZWN0bHksDQppbnN0ZWFkOg0KDQpXZSBzaGlmdCB0aGUgcmVzdWx0IG9m IFNFTEVDVl9WTCwgYW5kIHRoZW4gYWRkIGl0IGludG8gdGhlIG1lbW9yeSBJ ViBhcyBmb2xsb3dzOg0KDQpTU0FfMSA9IFNFTEVDVF9WTCAtLT4gU1NBXzEg aXMgZWxlbWVudC13aXNlDQpTU0FfMiA9IFNTQV8xIDw8IDEgKElmIGVsZW1l bnQgaXMgSU5UMTYsIG1ha2UgaXQgdG8gYmUgYnl0ZXMtd2lzZSkNCm5leHQg aXRlcmF0aW9uIG1lbW9yeSBhZGRyZXNzID0gY3VycmVudCBpdGVyYXRpb24g bWVtb3J5IGFkZHJlc3MgKyBTU0FfMi4NCg0KSWYgZWxlbWVudGUgaXMgSU5U OCwgdGhlbiB0aGUgc2hpZnQgb3BlcmF0aW9uIGlzIG5vdCBuZWVkZWQ6DQpT U0FfMiA9IFNTQV8xIDw8IDEgc2luY2UgaXQgaXMgYWxyZWFkeSBieXRlLXdp c2UuDQoNClNvLCBteSBxdWVzdGlvbiBpcyB0aGUgQ09TVCBzaG91bGQgYmUg MSBvciAyLg0KSXQgc2VlbXMgdGhhdCBDT1NUID0gMSBpcyBiZXR0ZXIgZm9y DQp1c2luZyBTRUxFQ1RfVkwuDQoNCldlIGFyZSBub3QgbW9kZWxpbmcgYWRk cmVzcyBjb3N0LCBzbyB0cnlpbmcgdG8gYWNjb3VudCBmb3IgdGhpcyBoZXJl IGlzIG9ubHkgZ29pbmcgdG8gYmUgYSBoZXVyaXN0aWMgdGhhdOKAmXMgYXMg bWFueSB0aW1lcyB3cm9uZyB0aGFuIGl0IGlzIGNvcnJlY3QuICBJZiB0aGUg ZGlmZmVyZW5jZSBiZXR3ZWVuIFNFTEVDVF9WTCBhbmQgbm90IGlzIHNvIHNt YWxsICB0aGVuIHlvdeKAmWxsIGhhdmUgYSBoYXJkIHRpbWUgbW9kZWxpbmcg dGhpcyBoZXJlLg0KDQogDQpUaGFua3MuDQoNCg0KanV6aGUuemhvbmdAcml2 YWkuYWkNCiANCkZyb206IFJpY2hhcmQgQmllbmVyDQpEYXRlOiAyMDIzLTEy LTEzIDE4OjE3DQpUbzogSnV6aGUtWmhvbmcNCkNDOiBnY2MtcGF0Y2hlczsg cmljaGFyZC5zYW5kaWZvcmQ7IGplZmZyZXlhbGF3DQpTdWJqZWN0OiBSZTog W1BBVENIXSBNaWRkbGUtZW5kOiBBZGp1c3QgZGVjcmVtZW50IElWIHN0eWxl IHBhcnRpYWwgdmVjdG9yaXphdGlvbiBDT1NUIG1vZGVsDQpPbiBXZWQsIDEz IERlYyAyMDIzLCBKdXpoZS1aaG9uZyB3cm90ZToNCiANCj4gSGksIGJlZm9y ZSB0aGlzIHBhdGNoLCBhIHNpbXBsZSBjb252ZXJzaW9uIGNhc2UgZm9yIFJW ViBjb2RlZ2VuOg0KPiANCj4gZm9vOg0KPiAgICAgICAgIGJsZSAgICAgYTIs emVybywuTDgNCj4gICAgICAgICBhZGRpdyAgIGE1LGEyLC0xDQo+ICAgICAg ICAgbGkgICAgICBhNCw2DQo+ICAgICAgICAgYmxldSAgICBhNSxhNCwuTDYN Cj4gICAgICAgICBzcmxpdyAgIGEzLGEyLDMNCj4gICAgICAgICBzbGxpICAg IGEzLGEzLDMNCj4gICAgICAgICBhZGQgICAgIGEzLGEzLGEwDQo+ICAgICAg ICAgbXYgICAgICBhNSxhMA0KPiAgICAgICAgIG12ICAgICAgYTQsYTENCj4g ICAgICAgICB2c2V0aXZsaSAgICAgICAgemVybyw4LGUxNixtMSx0YSxtYQ0K PiAuTDQ6DQo+ICAgICAgICAgdmxlOC52ICB2MiwwKGE1KQ0KPiAgICAgICAg IGFkZGkgICAgYTUsYTUsOA0KPiAgICAgICAgIHZ6ZXh0LnZmMiAgICAgICB2 MSx2Mg0KPiAgICAgICAgIHZzZTE2LnYgdjEsMChhNCkNCj4gICAgICAgICBh ZGRpICAgIGE0LGE0LDE2DQo+ICAgICAgICAgYm5lICAgICBhMyxhNSwuTDQN Cj4gICAgICAgICBhbmRpICAgIGE1LGEyLC04DQo+ICAgICAgICAgYmVxICAg ICBhMixhNSwuTDEwDQo+IC5MMzoNCj4gICAgICAgICBzbGxpICAgIGE0LGE1 LDMyDQo+ICAgICAgICAgc3JsaSAgICBhNCxhNCwzMg0KPiAgICAgICAgIHN1 YncgICAgYTIsYTIsYTUNCj4gICAgICAgICBzbGxpICAgIGEyLGEyLDMyDQo+ ICAgICAgICAgc2xsaSAgICBhNSxhNCwxDQo+ICAgICAgICAgc3JsaSAgICBh MixhMiwzMg0KPiAgICAgICAgIGFkZCAgICAgYTAsYTAsYTQNCj4gICAgICAg ICBhZGQgICAgIGExLGExLGE1DQo+ICAgICAgICAgdnNldHZsaSB6ZXJvLGEy LGUxNixtMSx0YSxtYQ0KPiAgICAgICAgIHZsZTgudiAgdjIsMChhMCkNCj4g ICAgICAgICB2emV4dC52ZjIgICAgICAgdjEsdjINCj4gICAgICAgICB2c2Ux Ni52IHYxLDAoYTEpDQo+IC5MODoNCj4gICAgICAgICByZXQNCj4gLkwxMDoN Cj4gICAgICAgICByZXQNCj4gLkw2Og0KPiAgICAgICAgIGxpICAgICAgYTUs MA0KPiAgICAgICAgIGogICAgICAgLkwzDQo+IA0KPiBUaGlzIHZlY3Rvcml6 YXRpb24gZ28gdGhyb3VnaCBmaXJzdCBsb29wOg0KPiANCj4gICAgICAgICB2 c2V0aXZsaSAgICAgICAgemVybyw4LGUxNixtMSx0YSxtYQ0KPiAuTDQ6DQo+ ICAgICAgICAgdmxlOC52ICB2MiwwKGE1KQ0KPiAgICAgICAgIGFkZGkgICAg YTUsYTUsOA0KPiAgICAgICAgIHZ6ZXh0LnZmMiAgICAgICB2MSx2Mg0KPiAg ICAgICAgIHZzZTE2LnYgdjEsMChhNCkNCj4gICAgICAgICBhZGRpICAgIGE0 LGE0LDE2DQo+ICAgICAgICAgYm5lICAgICBhMyxhNSwuTDQNCj4gDQo+IEVh Y2ggaXRlcmF0aW9uIHByb2Nlc3NlcyA4IGVsZW1lbnRzLg0KPiANCj4gRm9y IGEgc2NhbGFibGUgdmVjdG9yaXphdGlvbiB3aXRoIFZMRU4gPiAxMjggYml0 cyBDUFUsIGl0J3Mgb2sgd2hlbiBWTEVOID0gMTI4Lg0KPiBCdXQsIGFzIGxv bmcgYXMgVkxFTiA+IDEyOCBiaXRzLCBpdCB3aWxsIHdhc3RlIHRoZSBDUFUg cmVzb3VyY2VzLiBUaGF0IGlzLCBlLmcuIFZMRU4gPSAyNTZiaXRzLg0KPiBv bmx5IGhhbGYgb2YgdGhlIHZlY3RvciB1bml0cyBhcmUgd29ya2luZyBhbmQg YW5vdGhlciBoYWxmIGlzIGlkbGUuDQo+IA0KPiBBZnRlciBpbnZlc3RpZ2F0 aW9uLCBJIHJlYWxpemUgdGhhdCBJIGZvcmdvdCB0byBhZGp1c3QgQ09TVCBm b3IgU0VMRUNUX1ZMLg0KPiBTbywgYWRqdXN0IENPU1QgZm9yIFNFTEVDVF9W TCBzdHlwbGUgbGVuZ3RoIHZlY3Rvcml6YXRpb24uIFdlIGFkanVzdCBDT1NU IGZyb20gMyB0byAyLiBzaW5jZQ0KPiBhZnRlciB0aGlzIHBhdGNoOg0KPiAN Cj4gZm9vOg0KPiBibGUgYTIsemVybywuTDUNCj4gLkwzOg0KPiB2c2V0dmxp IGE1LGEyLGUxNixtMSx0YSxtYSAgICAgLS0tLS0+IFNFTEVDVF9WTCBjb3N0 Lg0KPiB2bGU4LnYgdjIsMChhMCkNCj4gc2xsaSBhNCxhNSwxICAgICAgICAg ICAgICAgIC0tLS0tPiBhZGRpdGlvbmFsIHNoaWZ0IG9mIG91dGNvbWUgU0VM RUNUX1ZMIGZvciBtZW1vcnkgYWRkcmVzcyBjYWxjdWxhdGlvbi4NCj4gdnpl eHQudmYyIHYxLHYyDQo+IHN1YiBhMixhMixhNQ0KPiB2c2UxNi52IHYxLDAo YTEpDQo+IGFkZCBhMCxhMCxhNQ0KPiBhZGQgYTEsYTEsYTQNCj4gYm5lIGEy LHplcm8sLkwzDQo+IC5MNToNCj4gcmV0DQo+IA0KPiBUaGlzIHBhdGNoIGlz IGEgc2ltcGxlIGZpeCB0aGF0IEkgcHJldmlvdXMgZm9yZ290Lg0KPiANCj4g T2sgZm9yIHRydW5rID8NCiANCk9LLg0KIA0KUmljaGFyZC4NCiANCj4gSWYg bm90LCBJIGFtIGdvaW5nIHRvIGFkanVzdCBjb3N0IGluIGJhY2tlbmQgY29z dCBtb2RlbC4NCj4gDQo+IFBSIHRhcmdldC8xMTEzMTcNCj4gDQo+IGdjYy9D aGFuZ2VMb2c6DQo+IA0KPiAqIHRyZWUtdmVjdC1sb29wLmNjICh2ZWN0X2Vz dGltYXRlX21pbl9wcm9maXRhYmxlX2l0ZXJzKTogQWRqdXN0IGZvciBDT1NU IGZvciBkZWNyZW1lbnQgSVYuDQo+IA0KPiBnY2MvdGVzdHN1aXRlL0NoYW5n ZUxvZzoNCj4gDQo+ICogZ2NjLmRnL3ZlY3QvY29zdG1vZGVsL3Jpc2N2L3J2 di9wcjExMTMxNy5jOiBOZXcgdGVzdC4NCj4gDQo+IC0tLQ0KPiAgLi4uL2dj Yy5kZy92ZWN0L2Nvc3Rtb2RlbC9yaXNjdi9ydnYvcHIxMTEzMTcuYyAgfCAx MiArKysrKysrKysrKysNCj4gIGdjYy90cmVlLXZlY3QtbG9vcC5jYyAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMTcgKysrKysrKysrKysrKystLS0N Cj4gIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy5kZy92ZWN0L2Nvc3Rtb2RlbC9yaXNjdi9ydnYvcHIxMTEzMTcuYw0K PiANCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv Y29zdG1vZGVsL3Jpc2N2L3J2di9wcjExMTMxNy5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdmVjdC9jb3N0bW9kZWwvcmlzY3YvcnZ2L3ByMTExMzE3LmMN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAu LmQ0YmVhMjQyYTlhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdmVjdC9jb3N0bW9kZWwvcmlzY3YvcnZ2L3ByMTEx MzE3LmMNCj4gQEAgLTAsMCArMSwxMiBAQA0KPiArLyogeyBkZy1kbyBjb21w aWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3Yg LW1hYmk9bHA2NGQgLU8zIC1mdHJlZS12ZWN0b3JpemUgLS1wYXJhbT1yaXNj di1hdXRvdmVjLWxtdWw9bTEiIH0gKi8NCj4gKw0KPiArdm9pZA0KPiArZm9v IChjaGFyICpfX3Jlc3RyaWN0IGEsIHNob3J0ICpfX3Jlc3RyaWN0IGIsIGlu dCBuKQ0KPiArew0KPiArICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykN Cj4gKyAgICBiW2ldID0gKHNob3J0KSBhW2ldOw0KPiArfQ0KPiArDQo+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14MC05XSssXHMqW2EteDAtOV0rLFxzKmUxNixccyptMSxccyp0W2F1 XSxccyptW2F1XX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaX0gMSB9IH0gKi8NCj4gZGlmZiAt LWdpdCBhL2djYy90cmVlLXZlY3QtbG9vcC5jYyBiL2djYy90cmVlLXZlY3Qt bG9vcC5jYw0KPiBpbmRleCA2MjYxY2QxYmUxZC4uMTllMzhiODYzN2IgMTAw NjQ0DQo+IC0tLSBhL2djYy90cmVlLXZlY3QtbG9vcC5jYw0KPiArKysgYi9n Y2MvdHJlZS12ZWN0LWxvb3AuY2MNCj4gQEAgLTQ4NzAsMTAgKzQ4NzAsMjEg QEAgdmVjdF9lc3RpbWF0ZV9taW5fcHJvZml0YWJsZV9pdGVycyAobG9vcF92 ZWNfaW5mbyBsb29wX3ZpbmZvLA0KPiAgICAgIGlmIChwYXJ0aWFsX2xvYWRf c3RvcmVfYmlhcyAhPSAwKQ0KPiAgICAgICAgYm9keV9zdG10cyArPSAxOw0K PiAgDQo+IC0gICAgIC8qIEVhY2ggbWF5IG5lZWQgdHdvIE1JTnMgYW5kIG9u ZSBNSU5VUyB0byB1cGRhdGUgbGVuZ3RocyBpbiBib2R5DQo+IC0gICAgICAg IGZvciBuZXh0IGl0ZXJhdGlvbi4gICovDQo+ICsgICAgIHVuc2lnbmVkIGlu dCBsZW5ndGhfdXBkYXRlX2Nvc3QgPSAwOw0KPiArICAgICBpZiAoTE9PUF9W SU5GT19VU0lOR19ERUNSRU1FTlRJTkdfSVZfUCAobG9vcF92aW5mbykpDQo+ ICsgICAgICAgLyogRm9yIGRlY3JlbWVudCBJViBzdHlsZSwgd2UgdXNlIGEg c2luZ2xlIFNFTEVDVF9WTCBzaW5jZQ0KPiArIGJlZ2lubmluZyB0byBjYWxj dWxhdGUgdGhlIG51bWJlciBvZiBlbGVtZW50cyBuZWVkIHRvIGJlDQo+ICsg cHJvY2Vzc2VkIGluIGN1cnJlbnQgaXRlcmF0aW9uLCBhbmQgYSBTSElGVCBv cGVyYXRpb24gdG8NCj4gKyBjb21wdXRlIHRoZSBuZXh0IG1lbW9yeSBhZGRy ZXNzIGluc3RlYWQgb2YgYWRkaW5nIHZlY3Rvcml6YXRpb24NCj4gKyBmYWN0 b3IuICAqLw0KPiArICAgICAgIGxlbmd0aF91cGRhdGVfY29zdCA9IDI7DQo+ ICsgICAgIGVsc2UNCj4gKyAgICAgICAvKiBGb3IgaW5jcmVtZW50IElWIHN0 eXBlLCBFYWNoIG1heSBuZWVkIHR3byBNSU5zIGFuZCBvbmUgTUlOVVMgdG8N Cj4gKyB1cGRhdGUgbGVuZ3RocyBpbiBib2R5IGZvciBuZXh0IGl0ZXJhdGlv bi4gICovDQo+ICsgICAgICAgbGVuZ3RoX3VwZGF0ZV9jb3N0ID0gMzsNCj4g Kw0KPiAgICAgIGlmIChuZWVkX2l0ZXJhdGVfcCkNCj4gLSAgICAgICBib2R5 X3N0bXRzICs9IDMgKiBudW1fdmVjdG9yczsNCj4gKyAgICAgICBib2R5X3N0 bXRzICs9IGxlbmd0aF91cGRhdGVfY29zdCAqIG51bV92ZWN0b3JzOw0KPiAg ICB9DQo+ICANCj4gICAgICAgICh2b2lkKSBhZGRfc3RtdF9jb3N0ICh0YXJn ZXRfY29zdF9kYXRhLCBwcm9sb2d1ZV9zdG10cywNCj4gDQogDQotLSANClJp Y2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4NClNVU0UgU29mdHdh cmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwNCkZyYW5rZW5zdHJhc3NlIDE0 NiwgOTA0NjEgTnVlcm5iZXJnLCBHZXJtYW55Ow0KR0Y6IEl2byBUb3Rldiwg QW5kcmV3IE1jRG9uYWxkLCBXZXJuZXIgS25vYmxpY2g7IChIUkIgMzY4MDks IEFHIE51ZXJuYmVyZykNCiANCg== ------=_001_NextPart548730603328_=------