From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg154.qq.com (smtpbg154.qq.com [15.184.224.54]) by sourceware.org (Postfix) with ESMTPS id 426013858C41 for ; Wed, 17 May 2023 14:56:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 426013858C41 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: bizesmtp76t1684335393tiyh3vxp Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 17 May 2023 22:56:32 +0800 (CST) X-QQ-SSF: 01400000000000F0R000000A0000000 X-QQ-FEAT: abxxcdK0JW5ck47WbydK8nZdQG5k2KTRVhAYft5rQ23GEYAT3AKRKVyyuzpTT MRcXUMpkdrrk3n8ud2LDKaR1E579/xeIQMHju5Ra0nUASO/hn6e38C3bpz43F7LPNUMWoQP U7G/ei9oE8X5YtnmiiasZzhkhD6gJ0lhOhnOlvtx3SSQsCaDgzsVJ5Fdep5n+VUDykuqGZ0 d12AJ8LNdE438p2S8qmIk4F8gvQVqX4CzMnY3i6SCstmljs31nYeLzgp7Zjh2tw0cm0CfjA E1Htlqzl2VM7aFQRPY8DSVZJ/XW9EYoNr7J2cfuxQA1lhHNfN03byeH3OdBg2DLohnAiSwu BH6cuzKQOXS6qDMFbotzDR4RZCkwCjeH6ekz+K6DWKDmi79+7GeT5tER47fp+KKNshz4+gJ 6tKF4JTRNBQ= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 8407398516067899472 Date: Wed, 17 May 2023 22:56:34 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: kito.cheng Cc: gcc-patches , kito.cheng , palmer , palmer , "Jeff Law" , rdapp.gcc Subject: Re: Re: [PATCH] RISC-V: Add mode switching target hook to insert rounding mode config for fixed-point instructions References: <20230517095818.1285188-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 455B82F7-3905-4E6C-AB09-0A941AD21C6B X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <852E0494124337CE+2023051722563375114139@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart877736746624_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,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_NextPart877736746624_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGksIEtpdG8uIFRoZSBpbnRyaW5zaWMgZG9jIGhhcyB1cGRhdGVkIGZpeGVk IHBvaW50IGVudW0uDQpUaGlzIHBhdGNoIChZb3UgaGF2ZSBMR1RNKSBzaG91 bGQgYmUgbWVyZ2VkIGFmdGVyIHRoaXMgcGF0Y2g6DQoNCmh0dHBzOi8vcGF0 Y2h3b3JrLnNvdXJjZXdhcmUub3JnL3Byb2plY3QvZ2NjL3BhdGNoLzIwMjMw NTE3MDUyNTIxLjQwNTgzNi0xLWp1emhlLnpob25nQHJpdmFpLmFpLyANCkNh biB5b3UgcmVzcG9uZCB0aGlzIHBhdGNoID8NCg0KVGhhbmtzLg0KDQoNCmp1 emhlLnpob25nQHJpdmFpLmFpDQogDQpGcm9tOiBLaXRvIENoZW5nDQpEYXRl OiAyMDIzLTA1LTE3IDE4OjA1DQpUbzoganV6aGUuemhvbmcNCkNDOiBnY2Mt cGF0Y2hlczsga2l0by5jaGVuZzsgcGFsbWVyOyBwYWxtZXI7IGplZmZyZXlh bGF3OyByZGFwcC5nY2MNClN1YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0MtVjog QWRkIG1vZGUgc3dpdGNoaW5nIHRhcmdldCBob29rIHRvIGluc2VydCByb3Vu ZGluZyBtb2RlIGNvbmZpZyBmb3IgZml4ZWQtcG9pbnQgaW5zdHJ1Y3Rpb25z DQpMR1RNLCBpdCdzIHJlYWxseSBhd2Vzb21lLCBJIGtub3cgaXQncyBraW5k IG9mIGJsb2NraW5nIGR1ZSB0byBlbnVtDQpzdHVmZiwgc28gZmVlbCBmcmVl IHRvIGNvbW1pdCB0aGlzIG9uY2UgaXQgdW5ibG9jayA6KQ0KIA0KT24gV2Vk LCBNYXkgMTcsIDIwMjMgYXQgNTo1OOKAr1BNIDxqdXpoZS56aG9uZ0ByaXZh aS5haT4gd3JvdGU6DQo+DQo+IEZyb206IEp1emhlLVpob25nIDxqdXpoZS56 aG9uZ0ByaXZhaS5haT4NCj4NCj4gSGksIHRoaXMgcGF0Y2ggc3VwcG9ydCB0 aGUgbmV3IGNvbWluZyBmaXhlZC1wb2ludCBpbnRyaW5zaWNzOg0KPiBodHRw czovL2dpdGh1Yi5jb20vcmlzY3Ytbm9uLWlzYS9ydnYtaW50cmluc2ljLWRv Yy9wdWxsLzIyMg0KPg0KPiBJbnNlcnQgZml4ZWQtcG9pbnQgcm91bmRpbmcg bW9kZSBjb25maWd1cmF0aW9uIGJ5IG1vZGUgc3dpdGNoaW5nIHRhcmdldCBo b29rLg0KPg0KPiBNb2RlIHN3aXRjaGluZyB0YXJnZXQgaG9vayBpcyBpbXBs ZW1lbnRlZCBhcHBseWluZyBMQ00gKExhenkgY29kZSBNb3Rpb24pLg0KPg0K PiBTbyB0aGUgcGVyZm9ybWFuY2UgJiYgY29ycmVjdG5lc3MgY2FuIGJlIHdl bGwgdHJ1c3RlZC4NCj4NCj4gSGVyZSBpcyB0aGUgZXhhbXBsZToNCj4NCj4g dm9pZCBmICh2b2lkICogaW4sIHZvaWQgKm91dCwgaW50MzJfdCB4LCBpbnQg biwgaW50IG0pDQo+IHsNCj4gICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkr Kykgew0KPiAgICAgdmludDMybTFfdCB2ID0gX19yaXNjdl92bGUzMl92X2kz Mm0xIChpbiArIGksIDQpOw0KPiAgICAgdmludDMybTFfdCB2MiA9IF9fcmlz Y3ZfdmxlMzJfdl9pMzJtMV90dSAodiwgaW4gKyAxMDAgKyBpLCA0KTsNCj4g ICAgIHZpbnQzMm0xX3QgdjMgPSBfX3Jpc2N2X3ZhYWRkX3Z4X2kzMm0xICh2 MiwgMCwgVlhSTV9SRE4sIDQpOw0KPiAgICAgdjMgPSBfX3Jpc2N2X3ZhYWRk X3Z4X2kzMm0xICh2MywgMywgVlhSTV9SRE4sIDQpOw0KPiAgICAgX19yaXNj dl92c2UzMl92X2kzMm0xIChvdXQgKyAxMDAgKyBpLCB2MywgNCk7DQo+ICAg fQ0KPg0KPiAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7DQo+ICAg ICB2aW50MzJtMV90IHYgPSBfX3Jpc2N2X3ZsZTMyX3ZfaTMybTEgKGluICsg aSArIDEwMDAsIDQpOw0KPiAgICAgdmludDMybTFfdCB2MiA9IF9fcmlzY3Zf dmxlMzJfdl9pMzJtMV90dSAodiwgaW4gKyAxMDAgKyBpICsgMTAwMCwgNCk7 DQo+ICAgICB2aW50MzJtMV90IHYzID0gX19yaXNjdl92YWFkZF92eF9pMzJt MSAodjIsIDAsIFZYUk1fUkROLCA0KTsNCj4gICAgIHYzID0gX19yaXNjdl92 YWFkZF92eF9pMzJtMSAodjMsIDMsIFZYUk1fUkROLCA0KTsNCj4gICAgIF9f cmlzY3ZfdnNlMzJfdl9pMzJtMSAob3V0ICsgMTAwICsgaSArIDEwMDAsIHYz LCA0KTsNCj4gICB9DQo+IH0NCj4NCj4gQVNNOg0KPg0KPiAuLi4NCj4gY3Ny d2kgICB2eHJtLDINCj4gdnNldGl2bGkgICAgICAgIHplcm8sNCxlMzIsbTEs dHUsbWENCj4gLi4uDQo+IExvb3AgMQ0KPiAuLi4NCj4gTG9vcCAyDQo+DQo+ IG1vZGUgc3dpdGNoaW5nIGNhbiBnbG9iYWwgcmVjb2duaXplIGJvdGggTG9v cCAxIGFuZCBMb29wIDIgYXJlIHVzaW5nIFJETg0KPiByb3VuZGluZyBtb2Rl IGFuZCBob2lzdCBzdWNoIHNpbmdsZSAiY3Nyd2kgdnhybSwyIiB0byBkb21p bmF0ZSBib3RoIExvb3AgMQ0KPiBhbmQgTG9vcCAyLg0KPg0KPiBCZXNpZGVz LCBJIGhhdmUgYWRkIGNvcnJlY3RuZXNzIGNoZWNrIHNhbml0eSB0ZXN0cyBp biB0aGlzIHBhdGNoIHRvby4NCj4NCj4gT2sgZm9yIHRydW5rID8NCj4NCj4g Z2NjL0NoYW5nZUxvZzoNCj4NCj4gICAgICAgICAqIGNvbmZpZy9yaXNjdi9y aXNjdi1vcHRzLmggKGVudW0gcmlzY3ZfZW50aXR5KTogTmV3IGVudW0uDQo+ ICAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3YuY2MgKHJpc2N2X2VtaXRf bW9kZV9zZXQpOiBOZXcgZnVuY3Rpb24uDQo+ICAgICAgICAgKHJpc2N2X21v ZGVfbmVlZGVkKTogRGl0dG8uDQo+ICAgICAgICAgKHJpc2N2X21vZGVfYWZ0 ZXIpOiBEaXR0by4NCj4gICAgICAgICAocmlzY3ZfbW9kZV9lbnRyeSk6IERp dHRvLg0KPiAgICAgICAgIChyaXNjdl9tb2RlX2V4aXQpOiBEaXR0by4NCj4g ICAgICAgICAocmlzY3ZfbW9kZV9wcmlvcml0eSk6IERpdHRvLg0KPiAgICAg ICAgIChUQVJHRVRfTU9ERV9FTUlUKTogTmV3IHRhcmdldCBob29rLg0KPiAg ICAgICAgIChUQVJHRVRfTU9ERV9ORUVERUQpOiBEaXR0by4NCj4gICAgICAg ICAoVEFSR0VUX01PREVfQUZURVIpOiBEaXR0by4NCj4gICAgICAgICAoVEFS R0VUX01PREVfRU5UUlkpOiBEaXR0by4NCj4gICAgICAgICAoVEFSR0VUX01P REVfRVhJVCk6IERpdHRvLg0KPiAgICAgICAgIChUQVJHRVRfTU9ERV9QUklP UklUWSk6IERpdHRvLg0KPiAgICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2 LmggKE9QVElNSVpFX01PREVfU1dJVENISU5HKTogRGl0dG8uDQo+ICAgICAg ICAgKE5VTV9NT0RFU19GT1JfTU9ERV9TV0lUQ0hJTkcpOiBEaXR0by4NCj4g ICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi5tZDogQWRkIGNzcnd2eHJt Lg0KPiAgICAgICAgICogY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZCAocm51LHJu ZSxyZG4scm9kLG5vbmUpOiBOZXcgYXR0cmlidXRlLg0KPiAgICAgICAgICh2 eHJtc2kpOiBOZXcgcGF0dGVybi4NCj4NCj4gZ2NjL3Rlc3RzdWl0ZS9DaGFu Z2VMb2c6DQo+DQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3Z4cm0tMTAuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tNi5jOiBOZXcgdGVzdC4NCj4gICAg ICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdnhybS03LmM6IE5l dyB0ZXN0Lg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS92eHJtLTguYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3Z4cm0tOS5jOiBOZXcgdGVzdC4NCj4NCj4gLS0t DQo+ICBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaCAgICAgICAgICAg ICAgICAgfCAgIDggKysNCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuY2Mg ICAgICAgICAgICAgICAgICAgICB8IDEwNCArKysrKysrKysrKysrKysrKysN Cj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuaCAgICAgICAgICAgICAgICAg ICAgICB8ICAgNiArLQ0KPiAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZCAg ICAgICAgICAgICAgICAgICAgIHwgICAzICstDQo+ICBnY2MvY29uZmlnL3Jp c2N2L3ZlY3Rvci5tZCAgICAgICAgICAgICAgICAgICAgfCAgMjkgKysrKysN Cj4gIC4uLi9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tMTAuYyAg ICAgICB8ICAyNiArKysrKw0KPiAgLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvdnhybS02LmMgICAgICAgIHwgIDE1ICsrKw0KPiAgLi4uL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdnhybS03LmMgICAgICAgIHwgIDE2ICsr Kw0KPiAgLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdnhybS04LmMg ICAgICAgIHwgIDE4ICsrKw0KPiAgLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvdnhybS05LmMgICAgICAgIHwgIDI2ICsrKysrDQo+ICAxMCBmaWxl cyBjaGFuZ2VkLCAyNDkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkN Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvdnhybS0xMC5jDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3Z4cm0tNi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tNy5jDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3Z4cm0tOC5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tOS5j DQo+DQo+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9w dHMuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5oDQo+IGluZGV4 IDFiMmU2ZGU1ZTFiLi4yYTE2NDAyMjY1YSAxMDA2NDQNCj4gLS0tIGEvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmgNCj4gKysrIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi1vcHRzLmgNCj4gQEAgLTkxLDYgKzkxLDE0IEBAIGVu dW0gcmlzY3ZfbXVsdGlsaWJfc2VsZWN0X2tpbmQgew0KPiAgICBzZWxlY3Rf YnlfYWJpLA0KPiAgfTsNCj4NCj4gKy8qIEVOVElUSUVTIGluIG1vZGUgc3dp dGNoaW5nLiAgKi8NCj4gK2VudW0gcmlzY3ZfZW50aXR5DQo+ICt7DQo+ICsg IFJJU0NWX1ZYUk0gPSAwLA0KPiArICBSSVNDVl9GUk0sDQo+ICsgIE1BWF9S SVNDVl9FTlRJVElFUw0KPiArfTsNCj4gKw0KPiAgI2RlZmluZSBNQVNLX1pJ Q1NSICAgICgxIDw8IDApDQo+ICAjZGVmaW5lIE1BU0tfWklGRU5DRUkgKDEg PDwgMSkNCj4NCj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+IGluZGV4IGRl NWI4N2IxYTg3Li4wZDFiODNmNDMxNSAxMDA2NDQNCj4gLS0tIGEvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5jYw0KPiArKysgYi9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LmNjDQo+IEBAIC03NTEzLDYgKzc1MTMsOTUgQEAgcmlzY3ZfdmVj dG9yaXplX3ByZWZlcnJlZF92ZWN0b3JfYWxpZ25tZW50IChjb25zdF90cmVl IHR5cGUpDQo+ICAgIHJldHVybiBUWVBFX0FMSUdOICh0eXBlKTsNCj4gIH0N Cj4NCj4gKy8qIEltcGxlbWVudCBNb2RlIHN3aXRjaGluZy4gICovDQo+ICsN Cj4gK3N0YXRpYyB2b2lkDQo+ICtyaXNjdl9lbWl0X21vZGVfc2V0IChpbnQg ZW50aXR5LCBpbnQgbW9kZSwgaW50IHByZXZfbW9kZSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgSEFSRF9SRUdfU0VUIHJlZ3NfbGl2ZSBBVFRSSUJVVEVf VU5VU0VEKQ0KPiArew0KPiArICBzd2l0Y2ggKGVudGl0eSkNCj4gKyAgICB7 DQo+ICsgICAgY2FzZSBSSVNDVl9WWFJNOg0KPiArICAgICAgaWYgKG1vZGUg IT0gVlhSTV9NT0RFX05PTkUgJiYgbW9kZSAhPSBwcmV2X21vZGUpDQo+ICsg ICAgICAgZW1pdF9pbnNuIChnZW5fdnhybXNpIChnZW5faW50X21vZGUgKG1v ZGUsIFNJbW9kZSkpKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGRlZmF1 bHQ6DQo+ICsgICAgICBnY2NfdW5yZWFjaGFibGUgKCk7DQo+ICsgICAgfQ0K PiArfQ0KPiArDQo+ICsvKiBSZXR1cm4gbW9kZSB0aGF0IGVudGl0eSBtdXN0 IGJlIHN3aXRjaGVkIGludG8NCj4gKyAgIHByaW9yIHRvIHRoZSBleGVjdXRp b24gb2YgaW5zbi4gICovDQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Jpc2N2 X21vZGVfbmVlZGVkIChpbnQgZW50aXR5LCBydHhfaW5zbiAqaW5zbikNCj4g K3sNCj4gKyAgc3dpdGNoIChlbnRpdHkpDQo+ICsgICAgew0KPiArICAgIGNh c2UgUklTQ1ZfVlhSTToNCj4gKyAgICAgIHJldHVybiByZWNvZ19tZW1vaXpl ZCAoaW5zbikgPj0gMCA/IGdldF9hdHRyX3Z4cm1fbW9kZSAoaW5zbikNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogVlhS TV9NT0RFX05PTkU7DQo+ICsgICAgZGVmYXVsdDoNCj4gKyAgICAgIGdjY191 bnJlYWNoYWJsZSAoKTsNCj4gKyAgICB9DQo+ICt9DQo+ICsNCj4gKy8qIFJl dHVybiB0aGUgbW9kZSB0aGF0IGFuIGluc24gcmVzdWx0cyBpbi4gICovDQo+ ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Jpc2N2X21vZGVfYWZ0ZXIgKGludCBl bnRpdHksIGludCBtb2RlLCBydHhfaW5zbiAqaW5zbikNCj4gK3sNCj4gKyAg c3dpdGNoIChlbnRpdHkpDQo+ICsgICAgew0KPiArICAgIGNhc2UgUklTQ1Zf VlhSTToNCj4gKyAgICAgIGlmIChyZWNvZ19tZW1vaXplZCAoaW5zbikgPj0g MCkNCj4gKyAgICAgICByZXR1cm4gcmVnX21lbnRpb25lZF9wIChnZW5fcnR4 X1JFRyAoU0ltb2RlLCBWWFJNX1JFR05VTSksDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUEFUVEVSTiAoaW5zbikpDQo+ICsgICAgICAg ICAgICAgICAgPyBnZXRfYXR0cl92eHJtX21vZGUgKGluc24pDQo+ICsgICAg ICAgICAgICAgICAgOiBtb2RlOw0KPiArICAgICAgZWxzZQ0KPiArICAgICAg IHJldHVybiBtb2RlOw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICBnY2Nf dW5yZWFjaGFibGUgKCk7DQo+ICsgICAgfQ0KPiArfQ0KPiArDQo+ICsvKiBS ZXR1cm4gYSBtb2RlIHRoYXQgRU5USVRZIGlzIGFzc3VtZWQgdG8gYmUNCj4g KyAgIHN3aXRjaGVkIHRvIGF0IGZ1bmN0aW9uIGVudHJ5LiAgKi8NCj4gKw0K PiArc3RhdGljIGludA0KPiArcmlzY3ZfbW9kZV9lbnRyeSAoaW50IGVudGl0 eSkNCj4gK3sNCj4gKyAgc3dpdGNoIChlbnRpdHkpDQo+ICsgICAgew0KPiAr ICAgIGNhc2UgUklTQ1ZfVlhSTToNCj4gKyAgICAgIHJldHVybiBWWFJNX01P REVfTk9ORTsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgZ2NjX3VucmVh Y2hhYmxlICgpOw0KPiArICAgIH0NCj4gK30NCj4gKw0KPiArLyogUmV0dXJu IGEgbW9kZSB0aGF0IEVOVElUWSBpcyBhc3N1bWVkIHRvIGJlDQo+ICsgICBz d2l0Y2hlZCB0byBhdCBmdW5jdGlvbiBleGl0LiAgKi8NCj4gKw0KPiArc3Rh dGljIGludA0KPiArcmlzY3ZfbW9kZV9leGl0IChpbnQgZW50aXR5KQ0KPiAr ew0KPiArICBzd2l0Y2ggKGVudGl0eSkNCj4gKyAgICB7DQo+ICsgICAgY2Fz ZSBSSVNDVl9WWFJNOg0KPiArICAgICAgcmV0dXJuIFZYUk1fTU9ERV9OT05F Ow0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICBnY2NfdW5yZWFjaGFibGUg KCk7DQo+ICsgICAgfQ0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICty aXNjdl9tb2RlX3ByaW9yaXR5IChpbnQsIGludCBuKQ0KPiArew0KPiArICBy ZXR1cm4gbjsNCj4gK30NCj4gKw0KPiAgLyogSW5pdGlhbGl6ZSB0aGUgR0ND IHRhcmdldCBzdHJ1Y3R1cmUuICAqLw0KPiAgI3VuZGVmIFRBUkdFVF9BU01f QUxJR05FRF9ISV9PUA0KPiAgI2RlZmluZSBUQVJHRVRfQVNNX0FMSUdORURf SElfT1AgIlx0LmhhbGZcdCINCj4gQEAgLTc3ODksNiArNzg3OCwyMSBAQCBy aXNjdl92ZWN0b3JpemVfcHJlZmVycmVkX3ZlY3Rvcl9hbGlnbm1lbnQgKGNv bnN0X3RyZWUgdHlwZSkNCj4gICNkZWZpbmUgVEFSR0VUX1ZFQ1RPUklaRV9Q UkVGRVJSRURfVkVDVE9SX0FMSUdOTUVOVCBcDQo+ICAgIHJpc2N2X3ZlY3Rv cml6ZV9wcmVmZXJyZWRfdmVjdG9yX2FsaWdubWVudA0KPg0KPiArLyogTW9k ZSBzd2l0Y2hpbmcgaG9va3MuICAqLw0KPiArDQo+ICsjdW5kZWYgVEFSR0VU X01PREVfRU1JVA0KPiArI2RlZmluZSBUQVJHRVRfTU9ERV9FTUlUIHJpc2N2 X2VtaXRfbW9kZV9zZXQNCj4gKyN1bmRlZiBUQVJHRVRfTU9ERV9ORUVERUQN Cj4gKyNkZWZpbmUgVEFSR0VUX01PREVfTkVFREVEIHJpc2N2X21vZGVfbmVl ZGVkDQo+ICsjdW5kZWYgVEFSR0VUX01PREVfQUZURVINCj4gKyNkZWZpbmUg VEFSR0VUX01PREVfQUZURVIgcmlzY3ZfbW9kZV9hZnRlcg0KPiArI3VuZGVm IFRBUkdFVF9NT0RFX0VOVFJZDQo+ICsjZGVmaW5lIFRBUkdFVF9NT0RFX0VO VFJZIHJpc2N2X21vZGVfZW50cnkNCj4gKyN1bmRlZiBUQVJHRVRfTU9ERV9F WElUDQo+ICsjZGVmaW5lIFRBUkdFVF9NT0RFX0VYSVQgcmlzY3ZfbW9kZV9l eGl0DQo+ICsjdW5kZWYgVEFSR0VUX01PREVfUFJJT1JJVFkNCj4gKyNkZWZp bmUgVEFSR0VUX01PREVfUFJJT1JJVFkgcmlzY3ZfbW9kZV9wcmlvcml0eQ0K PiArDQo+ICBzdHJ1Y3QgZ2NjX3RhcmdldCB0YXJnZXRtID0gVEFSR0VUX0lO SVRJQUxJWkVSOw0KPg0KPiAgI2luY2x1ZGUgImd0LXJpc2N2LmgiDQo+IGRp ZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmggYi9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LmgNCj4gaW5kZXggZjU1YmQ2MTEyYTguLjI5ZjJj MDdjZTVkIDEwMDY0NA0KPiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmgNCj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oDQo+IEBAIC04 NDUsNyArODQ1LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiAgICAiZnMwIiwg ImZzMSIsICJmYTAiLCAiZmExIiwgImZhMiIsICJmYTMiLCAiZmE0IiwgImZh NSIsICAgICAgXA0KPiAgICAiZmE2IiwgImZhNyIsICJmczIiLCAiZnMzIiwg ImZzNCIsICJmczUiLCAiZnM2IiwgImZzNyIsICAgICAgXA0KPiAgICAiZnM4 IiwgImZzOSIsICJmczEwIiwiZnMxMSIsImZ0OCIsICJmdDkiLCAiZnQxMCIs ImZ0MTEiLCAgICAgXA0KPiAtICAiYXJnIiwgImZyYW1lIiwgInZsIiwgInZ0 eXBlIiwgIk4vQSIsICJOL0EiLCAiTi9BIiwgIk4vQSIsICAgIFwNCj4gKyAg ImFyZyIsICJmcmFtZSIsICJ2bCIsICJ2dHlwZSIsICJ2eHJtIiwgIk4vQSIs ICJOL0EiLCAiTi9BIiwgICBcDQo+ICAgICJOL0EiLCAiTi9BIiwgIk4vQSIs ICJOL0EiLCAiTi9BIiwgIk4vQSIsICJOL0EiLCAiTi9BIiwgICAgICBcDQo+ ICAgICJOL0EiLCAiTi9BIiwgIk4vQSIsICJOL0EiLCAiTi9BIiwgIk4vQSIs ICJOL0EiLCAiTi9BIiwgICAgICBcDQo+ICAgICJOL0EiLCAiTi9BIiwgIk4v QSIsICJOL0EiLCAiTi9BIiwgIk4vQSIsICJOL0EiLCAiTi9BIiwgICAgICBc DQo+IEBAIC0xMTA3LDQgKzExMDcsOCBAQCBleHRlcm4gdm9pZCByaXNjdl9y ZW1vdmVfdW5uZWVkZWRfc2F2ZV9yZXN0b3JlX2NhbGxzICh2b2lkKTsNCj4g ICAgIENPTlNUMV9SVFggZm9yIHRoZSBzaW1wbGlmaWNhdGlvbi4gICovDQo+ ICAjZGVmaW5lIFZFQ1RPUl9TVE9SRV9GTEFHX1ZBTFVFKE1PREUpIENPTlNU TTFfUlRYIChHRVRfTU9ERV9JTk5FUiAoTU9ERSkpDQo+DQo+ICsvKiBNb2Rl IHN3aXRjaGluZyAoTGF6eSBjb2RlIG1vdGlvbikgZm9yIFJWViByb3VuZGlu ZyBtb2RlIGluc3RydWN0aW9ucy4gICovDQo+ICsjZGVmaW5lIE9QVElNSVpF X01PREVfU1dJVENISU5HKEVOVElUWSkgKFRBUkdFVF9WRUNUT1IpDQo+ICsj ZGVmaW5lIE5VTV9NT0RFU19GT1JfTU9ERV9TV0lUQ0hJTkcge1ZYUk1fTU9E RV9OT05FfQ0KPiArDQo+ICAjZW5kaWYgLyogISBHQ0NfUklTQ1ZfSCAqLw0K PiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZCBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YubWQNCj4gaW5kZXggOTE4MDhkNmJkMmEu LmE5MTc5OTMxMjE3IDEwMDY0NA0KPiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2Lm1kDQo+ICsrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YubWQN Cj4gQEAgLTI4NCw2ICsyODQsNyBAQA0KPiAgOzsgQ2xhc3NpZmljYXRpb24g b2YgUlZWIGluc3RydWN0aW9ucyB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIGVh Y2ggUlZWIC5tZCBwYXR0ZXJuIGFuZCB1c2VkIGJ5IHNjaGVkdWxlci4NCj4g IDs7IHJkdmxlbmIgICAgIHZlY3RvciBieXRlIGxlbmd0aCB2bGVuYiBjc3Jy IHJlYWQNCj4gIDs7IHJkdmwgICAgICAgIHZlY3RvciBsZW5ndGggdmwgY3Ny ciByZWFkDQo+ICs7OyB3cnZ4cm0gICAgICB2ZWN0b3IgZml4ZWQtcG9pbnQg cm91bmRpbmcgbW9kZSB3cml0ZQ0KPiAgOzsgdnNldHZsICAgICAgdmVjdG9y IGNvbmZpZ3VyYXRpb24tc2V0dGluZyBpbnN0cnVjaW9ucw0KPiAgOzsgNy4g VmVjdG9yIExvYWRzIGFuZCBTdG9yZXMNCj4gIDs7IHZsZGUgICAgICAgIHZl Y3RvciB1bml0LXN0cmlkZSBsb2FkIGluc3RydWN0aW9ucw0KPiBAQCAtMzg3 LDcgKzM4OCw3IEBADQo+ICAgICBtdGMsbWZjLGNvbnN0LGFyaXRoLGxvZ2lj YWwsc2hpZnQsc2x0LGltdWwsaWRpdixtb3ZlLGZtb3ZlLGZhZGQsZm11bCwN Cj4gICAgIGZtYWRkLGZkaXYsZmNtcCxmY3Z0LGZzcXJ0LG11bHRpLGF1aXBj LHNmYl9hbHUsbm9wLGdob3N0LGJpdG1hbmlwLHJvdGF0ZSwNCj4gICAgIGNs bXVsLG1pbixtYXgsbWludSxtYXh1LGNseixjdHosY3BvcCwNCj4gLSAgIGF0 b21pYyxjb25kbW92ZSxjcnlwdG8scmR2bGVuYixyZHZsLHZzZXR2bCx2bGRl LHZzdGUsdmxkbSx2c3RtLHZsZHMsdnN0cywNCj4gKyAgIGF0b21pYyxjb25k bW92ZSxjcnlwdG8scmR2bGVuYixyZHZsLHdydnhybSx2c2V0dmwsdmxkZSx2 c3RlLHZsZG0sdnN0bSx2bGRzLHZzdHMsDQo+ICAgICB2bGR1eCx2bGRveCx2 c3R1eCx2c3RveCx2bGRmZix2bGRyLHZzdHIsDQo+ICAgICB2bHNlZ2RlLHZz c2VndGUsdmxzZWdkcyx2c3NlZ3RzLHZsc2VnZHV4LHZsc2VnZG94LHZzc2Vn dHV4LHZzc2VndG94LHZsc2VnZGZmLA0KPiAgICAgdmlhbHUsdml3YWx1LHZl eHQsdmljYWx1LHZzaGlmdCx2bnNoaWZ0LHZpY21wLHZpbWlubWF4LA0KPiBk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQgYi9nY2Mv Y29uZmlnL3Jpc2N2L3ZlY3Rvci5tZA0KPiBpbmRleCBhMDZiODRkNzQ3My4u MWMxMDI5NDM2MjIgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcvcmlzY3Yv dmVjdG9yLm1kDQo+ICsrKyBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1k DQo+IEBAIC00MDcsNiArNDA3LDI2IEBADQo+ICAgICAgICAgICAgKHN5bWJv bF9yZWYgIklOVFZBTCAob3BlcmFuZHNbNF0pIildDQo+ICAgICAgICAgKGNv bnN0X2ludCBJTlZBTElEX0FUVFJJQlVURSkpKQ0KPg0KPiArOzsgRGVmaW5l cyByb3VuZGluZyBtb2RlIG9mIGFuIGZpeGVkLXBvaW50IG9wZXJhdGlvbi4N Cj4gKw0KPiArKGRlZmluZV9hdHRyICJ2eHJtX21vZGUiICJybnUscm5lLHJk bixyb2Qsbm9uZSINCj4gKyAgKGNvbmQgWyhhbmQgKGVxX2F0dHIgInR5cGUi ICJ2c2FsdSx2YWFsdSx2c211bCx2c3NoaWZ0LHZuY2xpcCIpDQo+ICsgICAg ICAgICAgICAgKG1hdGNoX3Rlc3QgIklOVFZBTChvcGVyYW5kc1s5XSkgPT0g cmlzY3ZfdmVjdG9yOjpWWFJNX1JOVSIpKQ0KPiArICAgICAgICAoY29uc3Rf c3RyaW5nICJybnUiKQ0KPiArDQo+ICsgICAgICAgIChhbmQgKGVxX2F0dHIg InR5cGUiICJ2c2FsdSx2YWFsdSx2c211bCx2c3NoaWZ0LHZuY2xpcCIpDQo+ ICsgICAgICAgICAgICAgKG1hdGNoX3Rlc3QgIklOVFZBTChvcGVyYW5kc1s5 XSkgPT0gcmlzY3ZfdmVjdG9yOjpWWFJNX1JORSIpKQ0KPiArICAgICAgICAo Y29uc3Rfc3RyaW5nICJybmUiKQ0KPiArDQo+ICsgICAgICAgIChhbmQgKGVx X2F0dHIgInR5cGUiICJ2c2FsdSx2YWFsdSx2c211bCx2c3NoaWZ0LHZuY2xp cCIpDQo+ICsgICAgICAgICAgICAgKG1hdGNoX3Rlc3QgIklOVFZBTChvcGVy YW5kc1s5XSkgPT0gcmlzY3ZfdmVjdG9yOjpWWFJNX1JETiIpKQ0KPiArICAg ICAgICAoY29uc3Rfc3RyaW5nICJyZG4iKQ0KPiArDQo+ICsgICAgICAgIChh bmQgKGVxX2F0dHIgInR5cGUiICJ2c2FsdSx2YWFsdSx2c211bCx2c3NoaWZ0 LHZuY2xpcCIpDQo+ICsgICAgICAgICAgICAgKG1hdGNoX3Rlc3QgIklOVFZB TChvcGVyYW5kc1s5XSkgPT0gcmlzY3ZfdmVjdG9yOjpWWFJNX1JPRCIpKQ0K PiArICAgICAgICAoY29uc3Rfc3RyaW5nICJyb2QiKV0NCj4gKyAgICAgICAg KGNvbnN0X3N0cmluZyAibm9uZSIpKSkNCj4gKw0KPiAgOzsgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gIDs7IC0tLS0gTWlzY2VsbGFuZW91cyBPcGVyYXRp b25zDQo+ICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBAQCAtNTg0LDYg KzYwNCwxNSBAQA0KPiAgICAiVEFSR0VUX1ZFQ1RPUiINCj4gICAgIiIpDQo+ DQo+ICs7OyBTZXQgVlhSTQ0KPiArKGRlZmluZV9pbnNuICJ2eHJtc2kiDQo+ ICsgIFsoc2V0IChyZWc6U0kgVlhSTV9SRUdOVU0pDQo+ICsgICAgICAgKG1h dGNoX29wZXJhbmQgMCAiY29uc3RfaW50X29wZXJhbmQiICJpIikpXQ0KPiAr ICAiVEFSR0VUX1ZFQ1RPUiINCj4gKyAgImNzcndpXHR2eHJtLCUwIg0KPiAr ICBbKHNldF9hdHRyICJ0eXBlIiAid3J2eHJtIikNCj4gKyAgIChzZXRfYXR0 ciAibW9kZSIgIlNJIildKQ0KPiArDQo+ICA7OyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiAgOzsgLS0tLSBNb3ZlcyBPcGVyYXRpb25zDQo+ICA7OyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tMTAuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92eHJtLTEwLmMN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAu LmE3MDdhYTE2NDVlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tMTAuYw0K PiBAQCAtMCwwICsxLDI2IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAq Lw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1s cDY0ZCAtTzMgLWZuby1zY2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWlu c25zMiIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgi DQo+ICsNCj4gK3ZvaWQgZiAodm9pZCAqIGluLCB2b2lkICpvdXQsIGludDMy X3QgeCwgaW50IG4sIGludCBtKQ0KPiArew0KPiArICBmb3IgKGludCBpID0g MDsgaSA8IG47IGkrKykgew0KPiArICAgIHZpbnQzMm0xX3QgdiA9IF9fcmlz Y3ZfdmxlMzJfdl9pMzJtMSAoaW4gKyBpLCA0KTsNCj4gKyAgICB2aW50MzJt MV90IHYyID0gX19yaXNjdl92bGUzMl92X2kzMm0xX3R1ICh2LCBpbiArIDEw MCArIGksIDQpOw0KPiArICAgIHZpbnQzMm0xX3QgdjMgPSBfX3Jpc2N2X3Zh YWRkX3Z4X2kzMm0xICh2MiwgMCwgVlhSTV9SRE4sIDQpOw0KPiArICAgIHYz ID0gX19yaXNjdl92YWFkZF92eF9pMzJtMSAodjMsIDMsIFZYUk1fUkROLCA0 KTsNCj4gKyAgICBfX3Jpc2N2X3ZzZTMyX3ZfaTMybTEgKG91dCArIDEwMCAr IGksIHYzLCA0KTsNCj4gKyAgfQ0KPiArDQo+ICsgIGZvciAoaW50IGkgPSAw OyBpIDwgbjsgaSsrKSB7DQo+ICsgICAgdmludDMybTFfdCB2ID0gX19yaXNj dl92bGUzMl92X2kzMm0xIChpbiArIGkgKyAxMDAwLCA0KTsNCj4gKyAgICB2 aW50MzJtMV90IHYyID0gX19yaXNjdl92bGUzMl92X2kzMm0xX3R1ICh2LCBp biArIDEwMCArIGkgKyAxMDAwLCA0KTsNCj4gKyAgICB2aW50MzJtMV90IHYz ID0gX19yaXNjdl92YWFkZF92eF9pMzJtMSAodjIsIDAsIFZYUk1fUk5FLCA0 KTsNCj4gKyAgICB2MyA9IF9fcmlzY3ZfdmFhZGRfdnhfaTMybTEgKHYzLCAz LCBWWFJNX1JORSwgNCk7DQo+ICsgICAgX19yaXNjdl92c2UzMl92X2kzMm0x IChvdXQgKyAxMDAgKyBpICsgMTAwMCwgdjMsIDQpOw0KPiArICB9DQo+ICt9 DQo+ICsNCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7Y3Nyd2lccyt2eHJtLFxzKjF9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge2NzcndpXHMrdnhybSxccyoy fSAxIH0gfSAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tNi5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0tNi5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi40YjM0NmQ2 N2MyNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92eHJtLTYuYw0KPiBAQCAtMCww ICsxLDE1IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyog eyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMi IH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiAr DQo+ICt2b2lkIGYgKHZvaWQgKiBpbiwgdm9pZCAqb3V0LCBpbnQzMl90IHgs IGludCBuLCBpbnQgbSkNCj4gK3sNCj4gKyAgdmludDMybTFfdCB2ID0gX19y aXNjdl92bGUzMl92X2kzMm0xIChpbiwgNCk7DQo+ICsgIHZpbnQzMm0xX3Qg djIgPSBfX3Jpc2N2X3ZsZTMyX3ZfaTMybTFfdHUgKHYsIGluICsgMTAwLCA0 KTsNCj4gKyAgdmludDMybTFfdCB2MyA9IF9fcmlzY3ZfdmFhZGRfdnhfaTMy bTEgKHYyLCAwLCBWWFJNX1JETiwgNCk7DQo+ICsgIHYzID0gX19yaXNjdl92 YWFkZF92eF9pMzJtMSAodjMsIDMsIFZYUk1fUkROLCA0KTsNCj4gKyAgX19y aXNjdl92c2UzMl92X2kzMm0xIChvdXQgKyAxMDAsIHYzLCA0KTsNCj4gK30N Cj4gKw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHtjc3J3aVxzK3Z4cm0sXHMqMn0gMSB9IH0gKi8NCj4gZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92eHJt LTcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS92eHJtLTcuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwMC4uMWNhNzk1Y2UzZjQNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv dnhybS03LmMNCj4gQEAgLTAsMCArMSwxNiBAQA0KPiArLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRn Y3YgLW1hYmk9bHA2NGQgLU8zIiB9ICovDQo+ICsNCj4gKyNpbmNsdWRlICJy aXNjdl92ZWN0b3IuaCINCj4gKw0KPiArdm9pZCBmICh2b2lkICogaW4sIHZv aWQgKm91dCwgaW50MzJfdCB4LCBpbnQgbiwgaW50IG0pDQo+ICt7DQo+ICsg IHZpbnQzMm0xX3QgdiA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAoaW4sIDQp Ow0KPiArICB2aW50MzJtMV90IHYyID0gX19yaXNjdl92bGUzMl92X2kzMm0x X3R1ICh2LCBpbiArIDEwMCwgNCk7DQo+ICsgIHZpbnQzMm0xX3QgdjMgPSBf X3Jpc2N2X3ZhYWRkX3Z4X2kzMm0xICh2MiwgMCwgVlhSTV9STkUsIDQpOw0K PiArICB2MyA9IF9fcmlzY3ZfdmFhZGRfdnhfaTMybTEgKHYzLCAzLCBWWFJN X1JETiwgNCk7DQo+ICsgIF9fcmlzY3ZfdnNlMzJfdl9pMzJtMSAob3V0ICsg MTAwLCB2MywgNCk7DQo+ICt9DQo+ICsNCj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7Y3Nyd2lccyt2eHJtLFxzKjF9IDEgfSB9 ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e2NzcndpXHMrdnhybSxccyoyfSAxIH0gfSAqLw0KPiBkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z4cm0t OC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3Z4cm0tOC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAwLi41Nzk5ZjczMWUyMQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92 eHJtLTguYw0KPiBAQCAtMCwwICsxLDE4IEBADQo+ICsvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdj diAtbWFiaT1scDY0ZCAtTzMgLWZuby1zY2hlZHVsZS1pbnNucyAtZm5vLXNj aGVkdWxlLWluc25zMiIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3Zf dmVjdG9yLmgiDQo+ICsNCj4gK3ZvaWQgZiAodm9pZCAqIGluLCB2b2lkICpv dXQsIGludDMyX3QgeCwgaW50IG4sIGludCBtKQ0KPiArew0KPiArICBmb3Ig KGludCBpID0gMDsgaSA8IG47IGkrKykgew0KPiArICAgIHZpbnQzMm0xX3Qg diA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAoaW4gKyBpLCA0KTsNCj4gKyAg ICB2aW50MzJtMV90IHYyID0gX19yaXNjdl92bGUzMl92X2kzMm0xX3R1ICh2 LCBpbiArIDEwMCArIGksIDQpOw0KPiArICAgIHZpbnQzMm0xX3QgdjMgPSBf X3Jpc2N2X3ZhYWRkX3Z4X2kzMm0xICh2MiwgMCwgVlhSTV9SRE4sIDQpOw0K PiArICAgIHYzID0gX19yaXNjdl92YWFkZF92eF9pMzJtMSAodjMsIDMsIFZY Uk1fUkROLCA0KTsNCj4gKyAgICBfX3Jpc2N2X3ZzZTMyX3ZfaTMybTEgKG91 dCArIDEwMCArIGksIHYzLCA0KTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge2NzcndpXHMr dnhybSxccyoyXHMrdnNldGl2bGlccyt6ZXJvLFxzKjQsXHMqZTMyLFxzKm0x LFxzKnR1LFxzKm1bYXVdfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtjc3J3aVxzK3Z4cm0sXHMqMn0gMSB9 IH0gKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS92eHJtLTkuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS92eHJtLTkuYw0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uMTM5MjFkNGFmMjEN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdnhybS05LmMNCj4gQEAgLTAsMCArMSwy NiBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGct b3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIC1mbm8t c2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCj4g Kw0KPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiArDQo+ICt2b2lk IGYgKHZvaWQgKiBpbiwgdm9pZCAqb3V0LCBpbnQzMl90IHgsIGludCBuLCBp bnQgbSkNCj4gK3sNCj4gKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKysp IHsNCj4gKyAgICB2aW50MzJtMV90IHYgPSBfX3Jpc2N2X3ZsZTMyX3ZfaTMy bTEgKGluICsgaSwgNCk7DQo+ICsgICAgdmludDMybTFfdCB2MiA9IF9fcmlz Y3ZfdmxlMzJfdl9pMzJtMV90dSAodiwgaW4gKyAxMDAgKyBpLCA0KTsNCj4g KyAgICB2aW50MzJtMV90IHYzID0gX19yaXNjdl92YWFkZF92eF9pMzJtMSAo djIsIDAsIFZYUk1fUkROLCA0KTsNCj4gKyAgICB2MyA9IF9fcmlzY3ZfdmFh ZGRfdnhfaTMybTEgKHYzLCAzLCBWWFJNX1JETiwgNCk7DQo+ICsgICAgX19y aXNjdl92c2UzMl92X2kzMm0xIChvdXQgKyAxMDAgKyBpLCB2MywgNCk7DQo+ ICsgIH0NCj4gKw0KPiArICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykg ew0KPiArICAgIHZpbnQzMm0xX3QgdiA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJt MSAoaW4gKyBpICsgMTAwMCwgNCk7DQo+ICsgICAgdmludDMybTFfdCB2MiA9 IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMV90dSAodiwgaW4gKyAxMDAgKyBpICsg MTAwMCwgNCk7DQo+ICsgICAgdmludDMybTFfdCB2MyA9IF9fcmlzY3ZfdmFh ZGRfdnhfaTMybTEgKHYyLCAwLCBWWFJNX1JETiwgNCk7DQo+ICsgICAgdjMg PSBfX3Jpc2N2X3ZhYWRkX3Z4X2kzMm0xICh2MywgMywgVlhSTV9SRE4sIDQp Ow0KPiArICAgIF9fcmlzY3ZfdnNlMzJfdl9pMzJtMSAob3V0ICsgMTAwICsg aSArIDEwMDAsIHYzLCA0KTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge2NzcndpXHMrdnhy bSxccyoyXHMrdnNldGl2bGlccyt6ZXJvLFxzKjQsXHMqZTMyLFxzKm0xLFxz KnR1LFxzKm1bYXVdfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHtjc3J3aVxzK3Z4cm0sXHMqMn0gMSB9IH0g Ki8NCj4gLS0NCj4gMi4zNi4zDQo+DQogDQo= ------=_001_NextPart877736746624_=------