From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) by sourceware.org (Postfix) with ESMTPS id E81123858CDB for ; Wed, 24 May 2023 12:19:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E81123858CDB 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: bizesmtp80t1684930780tj9342nh Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 24 May 2023 20:19:38 +0800 (CST) X-QQ-SSF: 01400000000000F0R000000A0000000 X-QQ-FEAT: Xz3VOcA7Mr1HwlRm3R2OAfd2gdsHAxvGrYIupqoFgvLJYA1/nvK8XZjFfl55d 0S5i007a8GzhfsZdqSJUKLC2fFXOUhi3iXFEJWPdQa1fuz+YYOVfiLrSLya4ccWyKJVLrPL gaz5r6S/p3qzZsfY6VrNelMe7GspWNSPgdVS/FOXL27P1AFC0LVQ2oLT9Nh+cPCc8FdOQo/ d9lEvZYr4brCxZq6NBiwARawx8lXAuhMgoFoOjiskWqdj7UKDDsdwilmvwA9bF9kHlWfPOK 7Bw29e3K97bSgWi7ES81cEFnEXggXcUl6VXUf1RkluqLnAidls2g/w2MrFiSDht78EBVTPk kx6Io5ubXB1lCn1E2mZogyDXEfrpw9qMmxiH1aHwgDhB7PVG1C8+kn+WMChDNnzILi33IFh bvXCtR00fkGsVXpcD54ohzs/CKa4A9+LNenX9kgfMgQ= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 13095201278728209370 Date: Wed, 24 May 2023 20:19:38 +0800 From: =?GB2312?B?1tO+09Xc?= To: richard.sandiford Cc: gcc-patches , rguenther Subject: Re: Re: [PATCH V12] VECT: Add decrement IV iteration loop control by variable amount support References: <20230522083814.1647787-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 304E43C8-64DA-4AFF-88DC-61CCDB361A66 X-Has-Attach: yes X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <7AA4D0FFB656D8A6+202305242019375795173@rivai.ai> Content-Type: multipart/mixed; boundary="----=_001_NextPart540131331364_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00,CHARSET_FARAWAY_HEADER,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,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_NextPart540131331364_=---- Content-Type: multipart/alternative; boundary="----=_002_NextPart212464203632_=----" ------=_002_NextPart212464203632_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 SGksIFJpY2hhcmQuDQpGb3Igc3RlcCAxLiBJIGhhdmUgd3JpdGUgdGhpcyBw YXRjaC4gQ291bGQgeW91IHRha2UgYSBsb29rIGF0IGl0Pw0KDQpUaGFua3Mu DQoNCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogUmljaGFy ZCBTYW5kaWZvcmQNCkRhdGU6IDIwMjMtMDUtMjQgMTk6MjMNClRvOiBqdXpo ZS56aG9uZw0KQ0M6IGdjYy1wYXRjaGVzOyByZ3VlbnRoZXINClN1YmplY3Q6 IFJlOiBbUEFUQ0ggVjEyXSBWRUNUOiBBZGQgZGVjcmVtZW50IElWIGl0ZXJh dGlvbiBsb29wIGNvbnRyb2wgYnkgdmFyaWFibGUgYW1vdW50IHN1cHBvcnQN ClNvcnJ5IGZvciB0aGUgc2xvdyByZXZpZXcuICBJIG5lZWRlZCBzb21lIHRp bWUgdG8gZ28gdGhyb3VnaCB0aGlzDQpwYXRjaCBhbmQgc3Vycm91bmRpbmcg Y29kZSB0byB1bmRlcnN0YW5kIGl0LCBhbmQgdG8gdW5kZXJzdGFuZA0Kd2h5 IGl0IHdhc24ndCBzdHJ1Y3R1cmVkIHRoZSB3YXkgSSB3YXMgZXhwZWN0aW5n Lg0KIA0KSSd2ZSBnb3Qgc29tZSBzcGVjaWZpYyBjb21tZW50cyBiZWxvdywg YW5kIHRoZW4gYSBnZW5lcmFsIGNvbW1lbnQNCmFib3V0IGhvdyBJIHRoaW5r IHdlIHNob3VsZCBzdHJ1Y3R1cmUgdGhpcy4NCiANCmp1emhlLnpob25nQHJp dmFpLmFpIHdyaXRlczoNCj4gRnJvbTogSnUtWmhlIFpob25nIDxqdXpoZS56 aG9uZ0ByaXZhaS5haT4NCj4NCj4gZ2NjL0NoYW5nZUxvZzoNCj4NCj4gICAg ICAgICAqIHRyZWUtdmVjdC1sb29wLW1hbmlwLmNjICh2ZWN0X2FkanVzdF9s b29wX2xlbnNfY29udHJvbCk6IE5ldyBmdW5jdGlvbi4NCj4gICAgICAgICAo dmVjdF9zZXRfbG9vcF9jb250cm9sc19kaXJlY3RseSk6IEFkZCBkZWNyZW1l bnQgSVYgc3VwcG9ydC4NCj4gICAgICAgICAodmVjdF9zZXRfbG9vcF9jb25k aXRpb25fcGFydGlhbF92ZWN0b3JzKTogRGl0dG8uDQo+ICAgICAgICAgKiB0 cmVlLXZlY3QtbG9vcC5jYzogRGl0dG8uDQo+ICAgICAgICAgKiB0cmVlLXZl Y3Rvcml6ZXIuaCAoTE9PUF9WSU5GT19VU0lOR19ERUNSRU1FTlRJTkdfSVZf UCk6IE5ldyBtYWNyby4NCj4NCj4gLS0tDQo+ICBnY2MvdHJlZS12ZWN0LWxv b3AtbWFuaXAuY2MgfCAxODQgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystDQo+ICBnY2MvdHJlZS12ZWN0LWxvb3AuY2MgICAgICAgfCAg MTAgKysNCj4gIGdjYy90cmVlLXZlY3Rvcml6ZXIuaCAgICAgICB8ICAgOCAr Kw0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkNCj4NCj4gZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3Qt bG9vcC1tYW5pcC5jYyBiL2djYy90cmVlLXZlY3QtbG9vcC1tYW5pcC5jYw0K PiBpbmRleCBmZjYxNTllMDhkNS4uOTRiMzhkMWUwZmIgMTAwNjQ0DQo+IC0t LSBhL2djYy90cmVlLXZlY3QtbG9vcC1tYW5pcC5jYw0KPiArKysgYi9nY2Mv dHJlZS12ZWN0LWxvb3AtbWFuaXAuY2MNCj4gQEAgLTM4NSw2ICszODUsNjYg QEAgdmVjdF9tYXliZV9wZXJtdXRlX2xvb3BfbWFza3MgKGdpbXBsZV9zZXEg KnNlcSwgcmdyb3VwX2NvbnRyb2xzICpkZXN0X3JnbSwNCj4gICAgcmV0dXJu IGZhbHNlOw0KPiAgfQ0KPiAgDQo+ICsvKiBUcnkgdG8gdXNlIGFkanVzdCBs b29wIGxlbnMgZm9yIG5vbi1TTFAgbXVsdGlwbGUtcmdyb3Vwcy4NCj4gKw0K PiArICAgICBfMzYgPSBNSU5fRVhQUiA8aXZ0bXBfMzQsIFZGPjsNCj4gKw0K PiArICAgICBGaXJzdCBsZW5ndGggKE1JTiAoWCwgVkYvTikpOg0KPiArICAg ICAgIGxvb3BfbGVuXzE1ID0gTUlOX0VYUFIgPF8zNiwgVkYvTj47DQo+ICsN Cj4gKyAgICAgU2Vjb25kIGxlbmd0aDoNCj4gKyAgICAgICB0bXAgPSBfMzYg LSBsb29wX2xlbl8xNTsNCj4gKyAgICAgICBsb29wX2xlbl8xNiA9IE1JTiAo dG1wLCBWRi9OKTsNCj4gKw0KPiArICAgICBUaGlyZCBsZW5ndGg6DQo+ICsg ICAgICAgdG1wMiA9IHRtcCAtIGxvb3BfbGVuXzE2Ow0KPiArICAgICAgIGxv b3BfbGVuXzE3ID0gTUlOICh0bXAyLCBWRi9OKTsNCj4gKw0KPiArICAgICBM YXN0IGxlbmd0aDoNCj4gKyAgICAgICBsb29wX2xlbl8xOCA9IHRtcDIgLSBs b29wX2xlbl8xNzsNCj4gKyovDQo+ICsNCj4gK3N0YXRpYyB2b2lkDQo+ICt2 ZWN0X2FkanVzdF9sb29wX2xlbnNfY29udHJvbCAodHJlZSBpdl90eXBlLCBn aW1wbGVfc2VxICpzZXEsDQo+ICsgICAgICAgIHJncm91cF9jb250cm9scyAq ZGVzdF9yZ20sDQo+ICsgICAgICAgIHJncm91cF9jb250cm9scyAqc3JjX3Jn bSwgdHJlZSBzdGVwKQ0KPiArew0KPiArICB0cmVlIGN0cmxfdHlwZSA9IGRl c3RfcmdtLT50eXBlOw0KPiArICBwb2x5X3VpbnQ2NCBuaXRlbXNfcGVyX2N0 cmwNCj4gKyAgICA9IFRZUEVfVkVDVE9SX1NVQlBBUlRTIChjdHJsX3R5cGUp ICogZGVzdF9yZ20tPmZhY3RvcjsNCj4gKyAgdHJlZSBsZW5ndGhfbGltaXQg PSBidWlsZF9pbnRfY3N0IChpdl90eXBlLCBuaXRlbXNfcGVyX2N0cmwpOw0K PiArDQo+ICsgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZGVzdF9y Z20tPmNvbnRyb2xzLmxlbmd0aCAoKTsgKytpKQ0KPiArICAgIHsNCj4gKyAg ICAgIGlmICghc3RlcCkNCj4gKyBzdGVwID0gc3JjX3JnbS0+Y29udHJvbHNb aSAvIGRlc3RfcmdtLT5jb250cm9scy5sZW5ndGggKCldOw0KIA0KQ291bGQg eW91IGV4cGxhaW4gdGhpcyBpbmRleD8gIEl0IGxvb2tzIGxpa2UgaXQgd2ls bCBhbHdheXMgYmUgMA0KZHVlIHRvIHRoZSByYW5nZSBvZiBpLg0KIA0KU2lu Y2UgdGhpcyBpcyB0aGUgb25seSB1c2Ugb2Ygc3JjX3JnbSwgaXQgbWlnaHQg YmUgY2xlYW5lciB0byBkcm9wDQpzcmNfcmdtIGFuZCBvbmx5IHBhc3MgdGhl IHN0ZXAuDQogDQo+ICsgICAgICB0cmVlIGN0cmwgPSBkZXN0X3JnbS0+Y29u dHJvbHNbaV07DQo+ICsgICAgICBpZiAoaSA9PSAwKQ0KPiArIHsNCj4gKyAg IC8qIEZpcnN0IGl0ZXJhdGlvbjogTUlOIChYLCBWRi9OKSBjYXBwZWQgdG8g dGhlIHJhbmdlIFswLCBWRi9OXS4gICovDQo+ICsgICBnYXNzaWduICphc3Np Z24NCj4gKyAgICAgPSBnaW1wbGVfYnVpbGRfYXNzaWduIChjdHJsLCBNSU5f RVhQUiwgc3RlcCwgbGVuZ3RoX2xpbWl0KTsNCj4gKyAgIGdpbXBsZV9zZXFf YWRkX3N0bXQgKHNlcSwgYXNzaWduKTsNCj4gKyB9DQo+ICsgICAgICBlbHNl IGlmIChpID09IGRlc3RfcmdtLT5jb250cm9scy5sZW5ndGggKCkgLSAxKQ0K PiArIHsNCj4gKyAgIC8qIExhc3QgaXRlcmF0aW9uOiBSZW1haW4gY2FwcGVk IHRvIHRoZSByYW5nZSBbMCwgVkYvTl0uICAqLw0KPiArICAgZ2Fzc2lnbiAq YXNzaWduID0gZ2ltcGxlX2J1aWxkX2Fzc2lnbiAoY3RybCwgTUlOVVNfRVhQ Uiwgc3RlcCwNCj4gKyBkZXN0X3JnbS0+Y29udHJvbHNbaSAtIDFdKTsNCj4g KyAgIGdpbXBsZV9zZXFfYWRkX3N0bXQgKHNlcSwgYXNzaWduKTsNCj4gKyB9 DQo+ICsgICAgICBlbHNlDQo+ICsgew0KPiArICAgLyogKE1JTiAocmVtYWlu LCBWRipJL04pKSBjYXBwZWQgdG8gdGhlIHJhbmdlIFswLCBWRi9OXS4gICov DQo+ICsgICBzdGVwID0gZ2ltcGxlX2J1aWxkIChzZXEsIE1JTlVTX0VYUFIs IGl2X3R5cGUsIHN0ZXAsDQo+ICsgICAgICAgIGRlc3RfcmdtLT5jb250cm9s c1tpIC0gMV0pOw0KPiArICAgZ2Fzc2lnbiAqYXNzaWduDQo+ICsgICAgID0g Z2ltcGxlX2J1aWxkX2Fzc2lnbiAoY3RybCwgTUlOX0VYUFIsIHN0ZXAsIGxl bmd0aF9saW1pdCk7DQo+ICsgICBnaW1wbGVfc2VxX2FkZF9zdG10IChzZXEs IGFzc2lnbik7DQo+ICsgfQ0KPiArICAgIH0NCj4gK30NCiANCk5vdCB5b3Vy IGZhdWx0LCBidXQgdGhlIHN0cnVjdHVyZSBzZWVtcyBraW5kLW9mIGF3a3dh cmQsIHNpbmNlDQppdCdzIHJlYWxseSBhIE1JTlVTX0VYUFIgZm9yIGkgIT0g MCBmb2xsb3dlZCBieSBhIE1JTl9FWFBSIGZvciBpICE9IGxhc3QuDQpCdXQg SSBhZ3JlZSB0aGF0IGl0IHByb2JhYmx5IGhhcyB0byBiZSB3cml0dGVuIGFz IGFib3ZlIGdpdmVuIHRoYXQNCnRoZSBmaW5hbCBkZXN0aW5hdGlvbiBpcyBm aXhlZCBpbiBhZHZhbmNlLg0KIA0KPiArDQo+ICAvKiBIZWxwZXIgZm9yIHZl Y3Rfc2V0X2xvb3BfY29uZGl0aW9uX3BhcnRpYWxfdmVjdG9ycy4gIEdlbmVy YXRlIGRlZmluaXRpb25zDQo+ICAgICBmb3IgYWxsIHRoZSByZ3JvdXAgY29u dHJvbHMgaW4gUkdDIGFuZCByZXR1cm4gYSBjb250cm9sIHRoYXQgaXMgbm9u emVybw0KPiAgICAgd2hlbiB0aGUgbG9vcCBuZWVkcyB0byBpdGVyYXRlLiAg QWRkIGFueSBuZXcgcHJlaGVhZGVyIHN0YXRlbWVudHMgdG8NCj4gQEAgLTQ2 OCw5ICs1MjgsNzggQEAgdmVjdF9zZXRfbG9vcF9jb250cm9sc19kaXJlY3Rs eSAoY2xhc3MgbG9vcCAqbG9vcCwgbG9vcF92ZWNfaW5mbyBsb29wX3ZpbmZv LA0KPiAgICBnaW1wbGVfc3RtdF9pdGVyYXRvciBpbmNyX2dzaTsNCj4gICAg Ym9vbCBpbnNlcnRfYWZ0ZXI7DQo+ICAgIHN0YW5kYXJkX2l2X2luY3JlbWVu dF9wb3NpdGlvbiAobG9vcCwgJmluY3JfZ3NpLCAmaW5zZXJ0X2FmdGVyKTsN Cj4gLSAgY3JlYXRlX2l2IChidWlsZF9pbnRfY3N0IChpdl90eXBlLCAwKSwg UExVU19FWFBSLCBuaXRlbXNfc3RlcCwgTlVMTF9UUkVFLA0KPiAtICAgICAg bG9vcCwgJmluY3JfZ3NpLCBpbnNlcnRfYWZ0ZXIsICZpbmRleF9iZWZvcmVf aW5jciwNCj4gLSAgICAgICZpbmRleF9hZnRlcl9pbmNyKTsNCj4gKyAgaWYg KExPT1BfVklORk9fVVNJTkdfREVDUkVNRU5USU5HX0lWX1AgKGxvb3Bfdmlu Zm8pKQ0KPiArICAgIHsNCj4gKyAgICAgIG5pdGVtc190b3RhbCA9IGdpbXBs ZV9jb252ZXJ0IChwcmVoZWFkZXJfc2VxLCBpdl90eXBlLCBuaXRlbXNfdG90 YWwpOw0KPiArICAgICAgdHJlZSBzdGVwID0gbWFrZV9zc2FfbmFtZSAoaXZf dHlwZSk7DQo+ICsgICAgICAvKiBDcmVhdGUgZGVjcmVtZW50IElWLiAgKi8N Cj4gKyAgICAgIGNyZWF0ZV9pdiAobml0ZW1zX3RvdGFsLCBNSU5VU19FWFBS LCBzdGVwLCBOVUxMX1RSRUUsIGxvb3AsICZpbmNyX2dzaSwNCj4gKyBpbnNl cnRfYWZ0ZXIsICZpbmRleF9iZWZvcmVfaW5jciwgJmluZGV4X2FmdGVyX2lu Y3IpOw0KPiArICAgICAgdHJlZSB0ZW1wID0gZ2ltcGxlX2J1aWxkIChoZWFk ZXJfc2VxLCBNSU5fRVhQUiwgaXZfdHlwZSwNCj4gKyBpbmRleF9iZWZvcmVf aW5jciwgbml0ZW1zX3N0ZXApOw0KPiArICAgICAgZ2ltcGxlX3NlcV9hZGRf c3RtdCAoaGVhZGVyX3NlcSwgZ2ltcGxlX2J1aWxkX2Fzc2lnbiAoc3RlcCwg dGVtcCkpOw0KIA0KUHJvYmFibHkgc2ltcGxlciB0byBidWlsZCB0aGUgTUlO X0VYUFIgYXMgYSBnaW1wbGVfYnVpbGRfYXNzaWduLA0Kd2l0aCAic3RlcCIg YXMgaXRzIGRlc3RpbmF0aW9uLiAgTm8gc2ltcGxpZmljYXRpb24gaXMgbGlr ZWx5IGdpdmVuDQp0aGF0IHRoZSBpbnB1dCBpcyBhIGZyZXNobHktbWludGVk IElWLg0KIA0KPiArDQo+ICsgICAgICBpZiAocmdjLT5tYXhfbnNjYWxhcnNf cGVyX2l0ZXIgPT0gMSkNCiANCkknbSBub3Qgc3VyZSB0aGlzIGlzIHRoZSBj b3JyZWN0IGNvbmRpdGlvbi4gIElzbid0IHRoZSBzcGxpdCByZWFsbHkNCmJl dHdlZW4gd2hldGhlciByZ2MtPmNvbnRyb2xzLmxlbmd0aCAoKSBpcyAxIG9y IGdyZWF0ZXIgdGhhbiAxPw0KSXQncyBwb3NzaWJsZSAoZXZlbiBjb21tb24p IGZvciByZ2MtPmNvbnRyb2xzLmxlbmd0aCAoKSA9PSAxDQomJiByZ2MtPm1h eF9uc2NhbGFyc19wZXJfaXRlciAhPSAxLCBhbmQgaW4gdGhhdCBjYXNlLA0K dmVjdF9hZGp1c3RfbG9vcF9sZW5zX2NvbnRyb2wgd2lsbCBjcmVhdGUgYW4g dW5uZWNlc3NhcnkgTUlOX0VYUFIuDQogDQpXaGVuIHJnYy0+Y29udHJvbHMu bGVuZ3RoICgpIGlzIDEsIGl0IHdvdWxkIGJlIGdvb2QgdG8gdXNlDQpyZ2Mt PmNvbnRyb2xzWzBdIGFzICJzdGVwIiBhYm92ZSwgcmF0aGVyIHRoYW4gbWFr ZSBhIG5ldyBTU0EgbmFtZS4NCiANClRoYW5rcyBmb3IgcHV0dGluZyB0aGUg Y29kZSBoZXJlIHRob3VnaC4gIEl0IGxvb2tzIGxpa2UgdGhlIHJpZ2h0DQpw bGFjZSB0byBtZS4NCiANCk1vcmUgb24gdGhpcyBiZWxvdy4NCiANCj4gKyB7 DQo+ICsgICAvKiBzaW5nbGUgcmdyb3VwOg0KPiArICAgICAgLi4uDQo+ICsg ICAgICBfMTAgPSAodW5zaWduZWQgbG9uZykgY291bnRfMTIoRCk7DQo+ICsg ICAgICAuLi4NCj4gKyAgICAgICMgaXZ0bXBfOSA9IFBISSA8aXZ0bXBfMzUo NiksIF8xMCg1KT4NCj4gKyAgICAgIF8zNiA9IE1JTl9FWFBSIDxpdnRtcF85 LCBQT0xZX0lOVF9DU1QgWzQsIDRdPjsNCj4gKyAgICAgIC4uLg0KPiArICAg ICAgdmVjdF9fNC44XzI4ID0gLkxFTl9MT0FEIChfMTcsIDMyQiwgXzM2LCAw KTsNCj4gKyAgICAgIC4uLg0KPiArICAgICAgaXZ0bXBfMzUgPSBpdnRtcF85 IC0gXzM2Ow0KPiArICAgICAgLi4uDQo+ICsgICAgICBpZiAoaXZ0bXBfMzUg IT0gMCkNCj4gKyAgICAgICAgZ290byA8YmIgND47IFs4My4zMyVdDQo+ICsg ICAgICBlbHNlDQo+ICsgICAgICAgIGdvdG8gPGJiIDU+OyBbMTYuNjclXQ0K PiArICAgKi8NCj4gKyAgIGdhc3NpZ24gKmFzc2lnbiA9IGdpbXBsZV9idWls ZF9hc3NpZ24gKHJnYy0+Y29udHJvbHNbMF0sIHN0ZXApOw0KPiArICAgZ2lt cGxlX3NlcV9hZGRfc3RtdCAoaGVhZGVyX3NlcSwgYXNzaWduKTsNCj4gKyB9 DQo+ICsgICAgICBlbHNlDQo+ICsgew0KPiArICAgLyogTXVsdGlwbGUgcmdy b3VwIChTTFApOg0KPiArICAgICAgLi4uDQo+ICsgICAgICBfMzggPSAodW5z aWduZWQgbG9uZykgYm5kLjdfMjk7DQo+ICsgICAgICBfMzkgPSBfMzggKiAy Ow0KPiArICAgICAgLi4uDQo+ICsgICAgICAjIGl2dG1wXzQxID0gUEhJIDxp dnRtcF80Mig2KSwgXzM5KDUpPg0KPiArICAgICAgLi4uDQo+ICsgICAgICBf NDMgPSBNSU5fRVhQUiA8aXZ0bXBfNDEsIDMyPjsNCj4gKyAgICAgIGxvb3Bf bGVuXzI2ID0gTUlOX0VYUFIgPF80MywgMTY+Ow0KPiArICAgICAgbG9vcF9s ZW5fMjUgPSBfNDMgLSBsb29wX2xlbl8yNjsNCj4gKyAgICAgIC4uLg0KPiAr ICAgICAgLkxFTl9TVE9SRSAoXzYsIDhCLCBsb29wX2xlbl8yNiwgLi4uKTsN Cj4gKyAgICAgIC4uLg0KPiArICAgICAgLkxFTl9TVE9SRSAoXzI1LCA4Qiwg bG9vcF9sZW5fMjUsIC4uLik7DQo+ICsgICAgICBfMzMgPSBsb29wX2xlbl8y NiAvIDI7DQo+ICsgICAgICAuLi4NCj4gKyAgICAgIC5MRU5fU1RPUkUgKF84 LCAxNkIsIF8zMywgLi4uKTsNCj4gKyAgICAgIF8zNiA9IGxvb3BfbGVuXzI1 IC8gMjsNCj4gKyAgICAgIC4uLg0KPiArICAgICAgLkxFTl9TVE9SRSAoXzE1 LCAxNkIsIF8zNiwgLi4uKTsNCj4gKyAgICAgIGl2dG1wXzQyID0gaXZ0bXBf NDEgLSBfNDM7DQo+ICsgICAgICAuLi4NCj4gKyAgICAgIGlmIChpdnRtcF80 MiAhPSAwKQ0KPiArICAgICAgICBnb3RvIDxiYiA0PjsgWzgzLjMzJV0NCj4g KyAgICAgIGVsc2UNCj4gKyAgICAgICBnb3RvIDxiYiA1PjsgWzE2LjY3JV0N Cj4gKyAgICovDQo+ICsgICB2ZWN0X2FkanVzdF9sb29wX2xlbnNfY29udHJv bCAoaXZfdHlwZSwgaGVhZGVyX3NlcSwgcmdjLCBOVUxMLCBzdGVwKTsNCj4g KyB9DQo+ICsgICAgICByZXR1cm4gaW5kZXhfYWZ0ZXJfaW5jcjsNCj4gKyAg ICB9DQo+ICsgIGVsc2UNCj4gKyAgICB7DQo+ICsgICAgICAvKiBDcmVhdGUg aW5jcmVtZW50IElWLiAgKi8NCj4gKyAgICAgIGNyZWF0ZV9pdiAoYnVpbGRf aW50X2NzdCAoaXZfdHlwZSwgMCksIFBMVVNfRVhQUiwgbml0ZW1zX3N0ZXAs IE5VTExfVFJFRSwNCj4gKyBsb29wLCAmaW5jcl9nc2ksIGluc2VydF9hZnRl ciwgJmluZGV4X2JlZm9yZV9pbmNyLA0KPiArICZpbmRleF9hZnRlcl9pbmNy KTsNCj4gKyAgICB9DQogDQpQcm9iYWJseSBiZXR0ZXIgdG8gaGF2ZSBubyAi ZWxzZSIgYW5kIGluc3RlYWQgZmFsbCB0aHJvdWdoIHRvIHRoaXMNCmNyZWF0 ZV9pdi4gIEl0IG1ha2VzIGl0IGNsZWFyZXIgdGhhdCB0aGUgZGVjcmVtZW50 aW5nIElWIGNhc2UNCmRvZXNuJ3QgY29udGludWUgYmV5b25kIHRoZSAiaWYi IGFib3ZlLg0KIA0KPiAgDQo+ICAgIHRyZWUgemVyb19pbmRleCA9IGJ1aWxk X2ludF9jc3QgKGNvbXBhcmVfdHlwZSwgMCk7DQo+ICAgIHRyZWUgdGVzdF9p bmRleCwgdGVzdF9saW1pdCwgZmlyc3RfbGltaXQ7DQo+IEBAIC03NTMsNiAr ODgyLDU1IEBAIHZlY3Rfc2V0X2xvb3BfY29uZGl0aW9uX3BhcnRpYWxfdmVj dG9ycyAoY2xhc3MgbG9vcCAqbG9vcCwNCj4gICAgICAgIGNvbnRpbnVlOw0K PiAgICB9DQo+ICANCj4gKyBpZiAoTE9PUF9WSU5GT19VU0lOR19ERUNSRU1F TlRJTkdfSVZfUCAobG9vcF92aW5mbykNCj4gKyAgICAgJiYgcmdjLT5tYXhf bnNjYWxhcnNfcGVyX2l0ZXIgPT0gMQ0KPiArICAgICAmJiByZ2MgIT0gJkxP T1BfVklORk9fTEVOUyAobG9vcF92aW5mbylbMF0pDQo+ICsgICB7DQo+ICsg ICAgIC8qIE11bHRpcGxlIHJncm91cCAobm9uLVNMUCk6DQo+ICsgICAgICAg Li4uDQo+ICsgICAgICAgXzM4ID0gKHVuc2lnbmVkIGxvbmcpIG5fMTIoRCk7 DQo+ICsgICAgICAgLi4uDQo+ICsgICAgICAgIyBpdnRtcF8zOCA9IFBISSA8 aXZ0bXBfMzkoMyksIDEwMCgyKT4NCj4gKyAgICAgICAuLi4NCj4gKyAgICAg ICBfNDAgPSBNSU5fRVhQUiA8aXZ0bXBfMzgsIFBPTFlfSU5UX0NTVCBbOCwg OF0+Ow0KPiArICAgICAgIGxvb3BfbGVuXzIxID0gTUlOX0VYUFIgPF80MCwg UE9MWV9JTlRfQ1NUIFsyLCAyXT47DQo+ICsgICAgICAgXzQxID0gXzQwIC0g bG9vcF9sZW5fMjE7DQo+ICsgICAgICAgbG9vcF9sZW5fMjAgPSBNSU5fRVhQ UiA8XzQxLCBQT0xZX0lOVF9DU1QgWzIsIDJdPjsNCj4gKyAgICAgICBfNDIg PSBfNDAgLSBsb29wX2xlbl8yMDsNCj4gKyAgICAgICBsb29wX2xlbl8xOSA9 IE1JTl9FWFBSIDxfNDIsIFBPTFlfSU5UX0NTVCBbMiwgMl0+Ow0KPiArICAg ICAgIF80MyA9IF80MCAtIGxvb3BfbGVuXzE5Ow0KPiArICAgICAgIGxvb3Bf bGVuXzE2ID0gTUlOX0VYUFIgPF80MywgUE9MWV9JTlRfQ1NUIFsyLCAyXT47 DQo+ICsgICAgICAgLi4uDQo+ICsgICAgICAgdmVjdF9fNC44XzE1ID0gLkxF Tl9MT0FEIChfNiwgNjRCLCBsb29wX2xlbl8yMSwgMCk7DQo+ICsgICAgICAg Li4uDQo+ICsgICAgICAgdmVjdF9fNC45XzggPSAuTEVOX0xPQUQgKF8xMywg NjRCLCBsb29wX2xlbl8yMCwgMCk7DQo+ICsgICAgICAgLi4uDQo+ICsgICAg ICAgdmVjdF9fNC4xMF8yOCA9IC5MRU5fTE9BRCAoXzQ2LCA2NEIsIGxvb3Bf bGVuXzE5LCAwKTsNCj4gKyAgICAgICAuLi4NCj4gKyAgICAgICB2ZWN0X180 LjExXzMwID0gLkxFTl9MT0FEIChfNDksIDY0QiwgbG9vcF9sZW5fMTYsIDAp Ow0KPiArICAgICAgIHZlY3RfXzcuMTNfMzEgPSBWRUNfUEFDS19UUlVOQ19F WFBSIDx2ZWN0X180LjhfMTUsIHZlY3RfXzQuOV84PjsNCj4gKyAgICAgICB2 ZWN0X183LjEzXzMyID0gVkVDX1BBQ0tfVFJVTkNfRVhQUiA8Li4uPjsNCj4g KyAgICAgICB2ZWN0X183LjEyXzMzID0gVkVDX1BBQ0tfVFJVTkNfRVhQUiA8 Li4uPjsNCj4gKyAgICAgICAuLi4NCj4gKyAgICAgICAuTEVOX1NUT1JFIChf MTQsIDE2QiwgXzQwLCB2ZWN0X183LjEyXzMzLCAwKTsNCj4gKyAgICAgICBp dnRtcF8zOSA9IGl2dG1wXzM4IC0gXzQwOw0KPiArICAgICAgIC4uLg0KPiAr ICAgICAgIGlmIChpdnRtcF8zOSAhPSAwKQ0KPiArIGdvdG8gPGJiIDM+OyBb OTIuMzElXQ0KPiArICAgICAgIGVsc2UNCj4gKyBnb3RvIDxiYiA0PjsgWzcu NjklXQ0KPiArICAgICAqLw0KPiArICAgICByZ3JvdXBfY29udHJvbHMgKnN1 Yl9yZ2MNCj4gKyAgICAgICA9ICYoKmNvbnRyb2xzKVtubWFza3MgLyByZ2Mt PmNvbnRyb2xzLmxlbmd0aCAoKSAtIDFdOw0KPiArICAgICBpZiAoIXN1Yl9y Z2MtPmNvbnRyb2xzLmlzX2VtcHR5ICgpKQ0KPiArICAgICAgIHsNCj4gKyB0 cmVlIGl2X3R5cGUgPSBMT09QX1ZJTkZPX1JHUk9VUF9JVl9UWVBFIChsb29w X3ZpbmZvKTsNCj4gKyB2ZWN0X2FkanVzdF9sb29wX2xlbnNfY29udHJvbCAo aXZfdHlwZSwgJmhlYWRlcl9zZXEsIHJnYywNCj4gKyAgICAgICAgc3ViX3Jn YywgTlVMTF9UUkVFKTsNCj4gKyBjb250aW51ZTsNCj4gKyAgICAgICB9DQo+ ICsgICB9DQogDQpJIGRvbid0IHRoaW5rIHRoaXMgaXMgcmlnaHQsIHNpbmNl IGlmIHdlIGhhdmUgMS1jb250cm9sLCAyLWNvbnRyb2wNCmFuZCA0LWNvbnRy b2wgZ3JvdXBzLCB0aGUgZmFuLW91dCBmb3IgdGhlIDQtY29udHJvbCBncm91 cCBtdXN0IGJlDQpiYXNlZCBvbiB0aGUgMS1jb250cm9sIGdyb3VwIHJhdGhl ciB0aGFuIGFueSBnZW5lcmFsIHN1Yl9yZ2MuDQpVc2luZyBhbnkgb3RoZXIg cmdyb3VwIHdvdWxkIG1lYW4gdGhhdCB0aGUgaW5wdXQgd2FzIGFscmVhZHkN CmNsYW1wZWQgYnkgYSBNSU5fRVhQUiAoYmVjYXVzZSB0aGF0IGlucHV0IHdv dWxkIGl0c2VsZiBoYXZlIGJlZW4NCmNyZWF0ZWQgYnkgdmVjdF9hZGp1c3Rf bG9vcF9sZW5zX2NvbnRyb2wpLg0KIA0KPiArDQo+ICAvKiBTZWUgd2hldGhl ciB6ZXJvLWJhc2VkIElWIHdvdWxkIGV2ZXIgZ2VuZXJhdGUgYWxsLWZhbHNl IG1hc2tzDQo+ICAgICBvciB6ZXJvIGxlbmd0aCBiZWZvcmUgd3JhcHBpbmcg YXJvdW5kLiAgKi8NCj4gIGJvb2wgbWlnaHRfd3JhcF9wID0gdmVjdF9yZ3Jv dXBfaXZfbWlnaHRfd3JhcF9wIChsb29wX3ZpbmZvLCByZ2MpOw0KPiBkaWZm IC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdC1sb29wLmNjIGIvZ2NjL3RyZWUtdmVj dC1sb29wLmNjDQo+IGluZGV4IGNmMTAxMzJiMGJmLi41M2FjNGQyYTZjMiAx MDA2NDQNCj4gLS0tIGEvZ2NjL3RyZWUtdmVjdC1sb29wLmNjDQo+ICsrKyBi L2djYy90cmVlLXZlY3QtbG9vcC5jYw0KPiBAQCAtMjcyNSw2ICsyNzI1LDE2 IEBAIHN0YXJ0X292ZXI6DQo+ICAgICAgICAmJiAhdmVjdF92ZXJpZnlfbG9v cF9sZW5zIChsb29wX3ZpbmZvKSkNCj4gICAgICBMT09QX1ZJTkZPX0NBTl9V U0VfUEFSVElBTF9WRUNUT1JTX1AgKGxvb3BfdmluZm8pID0gZmFsc2U7DQo+ ICANCj4gKyAgLyogSWYgd2UncmUgdmVjdG9yaXppbmcgYW4gbG9vcCB0aGF0 IHVzZXMgbGVuZ3RoICJjb250cm9scyIgYW5kDQo+ICsgICAgIGNhbiBpdGVy YXRlIG1vcmUgdGhhbiBvbmNlLCB3ZSBhcHBseSBkZWNyZW1lbnRpbmcgSVYg YXBwcm9hY2gNCj4gKyAgICAgaW4gbG9vcCBjb250cm9sLiAgKi8NCj4gKyAg aWYgKExPT1BfVklORk9fQ0FOX1VTRV9QQVJUSUFMX1ZFQ1RPUlNfUCAobG9v cF92aW5mbykNCj4gKyAgICAgICYmICFMT09QX1ZJTkZPX0xFTlMgKGxvb3Bf dmluZm8pLmlzX2VtcHR5ICgpDQo+ICsgICAgICAmJiAhKExPT1BfVklORk9f TklURVJTX0tOT1dOX1AgKGxvb3BfdmluZm8pDQo+ICsgICAgJiYga25vd25f bGUgKExPT1BfVklORk9fSU5UX05JVEVSUyAobG9vcF92aW5mbyksDQo+ICsg TE9PUF9WSU5GT19WRUNUX0ZBQ1RPUiAobG9vcF92aW5mbykpKSkNCiANCkkg dGhpbmsgdGhpcyBhbHNvIG5lZWRzIHRvIGNoZWNrOg0KIA0KTE9PUF9WSU5G T19QQVJUSUFMX0xPQURfU1RPUkVfQklBUyAobG9vcF92aW5mbykgPT0gMA0K IA0KLS0tLS0NCiANCkkgdGhpbmsgYW5vdGhlciB3YXkgdG8gdGhpbmsgYWJv dXQgdGhlIHBhdGNoIGlzIHRoaXM6DQogDQpUaGluZ3Mgd291bGQgYmUgZWFz eSBpZiB0aGVyZSB3YXMgYWx3YXlzIGEgMS1jb250cm9sIGdyb3VwLg0KVGhl biB3ZSBjb3VsZCBjcmVhdGUgYSBkZWNyZW1lbnRpbmcgSVYgZm9yIHRoYXQg MS1jb250cm9sIGdyb3VwLA0KaW4gdGhlIHdheSB0aGF0IHlvdSBkbyBhYm92 ZS4gIEFsbCBvdGhlciBncm91cHMgd291bGQgdXNlIHRoZQ0KMS1jb250cm9s IGdyb3VwIGFzIGlucHV0LiAgVGhleSB3b3VsZCBmYW4gdGhhdCBpbnB1dCBv dXQgdXNpbmcNCnZlY3RfYWRqdXN0X2xvb3BfbGVuc19jb250cm9sLg0KIA0K SG93ZXZlciwgdGhlcmUgaXNuJ3QgZ3VhcmFudGVlZCB0byBiZSAxLWNvbnRy b2wgZ3JvdXAsIGFuZCBjcmVhdGluZw0KYSBmYWtlIG9uZSBtaWdodCBub3Qg YmUgZWFzeS4gIFdlJ2QgbmVlZCB0byBjYWxjdWxhdGUgdmFsaWQgdmFsdWVz DQpmb3IgdGhlIGZhY3RvciwgdHlwZSwgbnNjYWxhcnNfcGVyX2l0ZXIsIGV0 Yy4gZmllbGRzLg0KIA0KU28gd2hlbiB0aGVyZSBpcyBubyAxLWNvbnRyb2wg Z3JvdXAsIGl0J3MgcHJvYmFibHkgZWFzaWVyIHRvIGNyZWF0ZQ0KYSBkZWNy ZW1lbnRpbmcgSVYgYmFzZWQgb24gdGhlIGZpcnN0IG5vbi1lbXB0eSBncm91 cC4gIFRoaXMgaXMgd2hhdA0KeW91ciBwYXRjaCBkb2VzLiAgQW5kIEkgdGhp bmsgaXQncyB0aGUgcmlnaHQgYXBwcm9hY2guDQogDQpIb3dldmVyLCB0aGUg SVYgY3JlYXRlZCBpbiB0aGlzIHdheSBpcyAic3BlY2lhbCIuICBJdCBkb2Vz bid0IGV4aXN0DQphcyBwYXJ0IG9mIHRoZSBub3JtYWwgcmdyb3VwIGZyYW1l d29yay4gIEl0J3Mgc29tZXRoaW5nIGNyZWF0ZWQNCm91dHNpZGUgdGhlIHJn cm91cCBmcmFtZXdvcmsgdG8gbWFrZSB0aGUgY29udHJvbHMgZWFzaWVyIHRv IHBvcHVsYXRlLg0KIA0KSW4geW91ciBjYXNlLCB0aGlzIGlzIHRoZSBjYXNl IHdoZXJlICJzdGVwIiBpcyBjcmVhdGVkIGFuZCBpcyBub3QNCmFzc2lnbmVk IGRpcmVjdGx5IHRvIHJnYy0+Y29udHJvbHMuDQogDQpHaXZlbiB0aGF0LCBJ IHRoaW5rIHdlIHNob3VsZCBzdHJ1Y3R1cmUgdGhlIGNvZGUgYXMgZm9sbG93 cywNCmNoYW5naW5nIHRoZSBiZWhhdmlvdXIgb25seSBmb3IgTE9PUF9WSU5G T19VU0lOR19ERUNSRU1FTlRJTkdfSVZfUDoNCiANCigxKSBJbiB2ZWN0X3Nl dF9sb29wX2NvbmRpdGlvbl9wYXJ0aWFsX3ZlY3RvcnMsIGZvciB0aGUgZmly c3QgaXRlcmF0aW9uIG9mOg0KIA0KICBGT1JfRUFDSF9WRUNfRUxUICgqY29u dHJvbHMsIGksIHJnYykNCiAgICBpZiAoIXJnYy0+Y29udHJvbHMuaXNfZW1w dHkgKCkpDQogDQpjYWxsIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfZGlyZWN0 bHkuICBUaGF0IGlzOg0KIA0KLyogU2VlIHdoZXRoZXIgemVyby1iYXNlZCBJ ViB3b3VsZCBldmVyIGdlbmVyYXRlIGFsbC1mYWxzZSBtYXNrcw0KICAgb3Ig emVybyBsZW5ndGggYmVmb3JlIHdyYXBwaW5nIGFyb3VuZC4gICovDQpib29s IG1pZ2h0X3dyYXBfcCA9IHZlY3Rfcmdyb3VwX2l2X21pZ2h0X3dyYXBfcCAo bG9vcF92aW5mbywgcmdjKTsNCiANCi8qIFNldCB1cCBhbGwgY29udHJvbHMg Zm9yIHRoaXMgZ3JvdXAuICAqLw0KdGVzdF9jdHJsID0gdmVjdF9zZXRfbG9v cF9jb250cm9sc19kaXJlY3RseSAobG9vcCwgbG9vcF92aW5mbywNCiAgICAg JnByZWhlYWRlcl9zZXEsDQogICAgICZoZWFkZXJfc2VxLA0KICAgICBsb29w X2NvbmRfZ3NpLCByZ2MsDQogICAgIG5pdGVycywgbml0ZXJzX3NraXAsDQog ICAgIG1pZ2h0X3dyYXBfcCk7DQogDQpuZWVkcyB0byBiZSBhbiAiaWYiIHRo YXQgKGZvciBMT09QX1ZJTkZPX1VTSU5HX0RFQ1JFTUVOVElOR19JVl9QKQ0K aXMgb25seSBleGVjdXRlZCBvbiB0aGUgZmlyc3QgaXRlcmF0aW9uLg0KIA0K KDIpIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfZGlyZWN0bHkgY2FsY3VsYXRl cyAic3RlcCIgYXMgaW4geW91ciBwYXRjaC4NCklmIHJnYyBoYXMgMSBjb250 cm9sLCB0aGlzIHN0ZXAgaXMgdGhlIFNTQSBuYW1lIGNyZWF0ZWQgZm9yIHRo YXQgY29udHJvbC4NCk90aGVyd2lzZSB0aGUgc3RlcCBpcyBhIGZyZXNoIFNT QSBuYW1lLCBhcyBpbiB5b3VyIHBhdGNoLg0KIA0KKDMpIHZlY3Rfc2V0X2xv b3BfY29udHJvbHNfZGlyZWN0bHkgc3RvcmVzIHRoaXMgc3RlcCBzb21ld2hl cmUgZm9yIGxhdGVyDQp1c2UsIHByb2JhYmx5IGluIExPT1BfVklORk8uICBM ZXQncyB1c2UgIlMiIHRvIHJlZmVyIHRvIHRoaXMgc3RvcmVkIHN0ZXAuDQog DQooNCkgQWZ0ZXIgdGhlIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfZGlyZWN0 bHkgY2FsbCBhYm92ZSwgYW5kIG91dHNpZGUNCnRoZSAiaWYiIHN0YXRlbWVu dCB0aGF0IG5vdyBjb250YWlucyB2ZWN0X3NldF9sb29wX2NvbnRyb2xzX2Rp cmVjdGx5LA0KY2hlY2sgd2hldGhlciByZ2MtPmNvbnRyb2xzLmxlbmd0aCAo KSA+IDEuICBJZiBzbywgdXNlDQp2ZWN0X2FkanVzdF9sb29wX2xlbnNfY29u dHJvbCB0byBzZXQgdGhlIGNvbnRyb2xzIGJhc2VkIG9uIFMuDQogDQpUaGVu IHRoZSBvbmx5IGNhbGxlciBvZiB2ZWN0X2FkanVzdF9sb29wX2xlbnNfY29u dHJvbCBpcw0KdmVjdF9zZXRfbG9vcF9jb25kaXRpb25fcGFydGlhbF92ZWN0 b3JzLiAgQW5kIHRoZSBzdGFydGluZw0Kc3RlcCBmb3IgdmVjdF9hZGp1c3Rf bG9vcF9sZW5zX2NvbnRyb2wgaXMgYWx3YXlzIFMuDQogDQpJdCBzb3VuZHMg Y29tcGxpY2F0ZWQgd2hlbiBJIHdyaXRlIGl0IGxpa2UgdGhhdCwgYnV0IEkg dGhpbmsgaXQNCndpbGwgYmUgY2xlYXJlciBpbiBjb2RlLg0KIA0KSG9wZSB0 aGF0IG1ha2VzIHNlbnNlLiAgUGxlYXNlIGxldCBtZSBrbm93IGlmIG5vdC4N CiANClRoYW5rcywNClJpY2hhcmQNCiANCg== ------=_002_NextPart212464203632_=------ ------=_001_NextPart540131331364_=---- Content-Type: application/octet-stream; name="step1.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="step1.patch" ZGlmZiAtLWdpdCBhL3Jpc2N2LWdjYy9nY2MvdHJlZS12ZWN0LWxvb3AtbWFu aXAuY2MgYi9yaXNjdi1nY2MvZ2NjL3RyZWUtdmVjdC1sb29wLW1hbmlwLmNj CmluZGV4IGZmNjE1OWUwOC4uOWIyZWU1MzUwIDEwMDY0NAotLS0gYS9yaXNj di1nY2MvZ2NjL3RyZWUtdmVjdC1sb29wLW1hbmlwLmNjCisrKyBiL3Jpc2N2 LWdjYy9nY2MvdHJlZS12ZWN0LWxvb3AtbWFuaXAuY2MKQEAgLTQ2OCw2ICs0 NjgsMTggQEAgdmVjdF9zZXRfbG9vcF9jb250cm9sc19kaXJlY3RseSAoY2xh c3MgbG9vcCAqbG9vcCwgbG9vcF92ZWNfaW5mbyBsb29wX3ZpbmZvLAogICBn aW1wbGVfc3RtdF9pdGVyYXRvciBpbmNyX2dzaTsKICAgYm9vbCBpbnNlcnRf YWZ0ZXI7CiAgIHN0YW5kYXJkX2l2X2luY3JlbWVudF9wb3NpdGlvbiAobG9v cCwgJmluY3JfZ3NpLCAmaW5zZXJ0X2FmdGVyKTsKKyAgaWYgKExPT1BfVklO Rk9fVVNJTkdfREVDUkVNRU5USU5HX0lWX1AgKGxvb3BfdmluZm8pKQorICAg IHsKKyAgICAgIG5pdGVtc190b3RhbCA9IGdpbXBsZV9jb252ZXJ0IChwcmVo ZWFkZXJfc2VxLCBpdl90eXBlLCBuaXRlbXNfdG90YWwpOworICAgICAgdHJl ZSBzdGVwID0gcmdjLT5jb250cm9scy5sZW5ndGggKCkgPT0gMSA/IHJnYy0+ Y29udHJvbHNbMF0KKwkJCQkJICAgICAgIDogbWFrZV9zc2FfbmFtZSAoaXZf dHlwZSk7CisgICAgICBnaW1wbGVfc2VxX2FkZF9zdG10IChoZWFkZXJfc2Vx LAorCQkJICAgZ2ltcGxlX2J1aWxkX2Fzc2lnbiAoc3RlcCwgTUlOX0VYUFIs IG5pdGVtc190b3RhbCwKKwkJCQkJCW5pdGVtc19zdGVwKSk7CisgICAgICBy ZXR1cm4gc3RlcDsKKyAgICB9CisKKyAgLyogQ3JlYXRlIGluY3JlbWVudCBJ Vi4gICovCiAgIGNyZWF0ZV9pdiAoYnVpbGRfaW50X2NzdCAoaXZfdHlwZSwg MCksIFBMVVNfRVhQUiwgbml0ZW1zX3N0ZXAsIE5VTExfVFJFRSwKIAkgICAg IGxvb3AsICZpbmNyX2dzaSwgaW5zZXJ0X2FmdGVyLCAmaW5kZXhfYmVmb3Jl X2luY3IsCiAJICAgICAmaW5kZXhfYWZ0ZXJfaW5jcik7CkBAIC03NjQsNiAr Nzc2LDEzIEBAIHZlY3Rfc2V0X2xvb3BfY29uZGl0aW9uX3BhcnRpYWxfdmVj dG9ycyAoY2xhc3MgbG9vcCAqbG9vcCwKIAkJCQkJCSAgICAgbG9vcF9jb25k X2dzaSwgcmdjLAogCQkJCQkJICAgICBuaXRlcnMsIG5pdGVyc19za2lwLAog CQkJCQkJICAgICBtaWdodF93cmFwX3ApOworCisJLyogRGVjcmVtZW50IElW IG9ubHkgcnVuIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfZGlyZWN0bHkgb25j ZS4gICovCisJaWYgKExPT1BfVklORk9fVVNJTkdfREVDUkVNRU5USU5HX0lW X1AgKGxvb3BfdmluZm8pKQorCSAgeworCSAgICBMT09QX1ZJTkZPX0RFQ1JF TUVOVElOR19JVl9TVEVQIChsb29wX3ZpbmZvKSA9IHRlc3RfY3RybDsKKwkg ICAgYnJlYWs7CisJICB9CiAgICAgICB9CiAKICAgLyogRW1pdCBhbGwgYWNj dW11bGF0ZWQgc3RhdGVtZW50cy4gICovCmRpZmYgLS1naXQgYS9yaXNjdi1n Y2MvZ2NjL3RyZWUtdmVjdC1sb29wLmNjIGIvcmlzY3YtZ2NjL2djYy90cmVl LXZlY3QtbG9vcC5jYwppbmRleCBjZjEwMTMyYjAuLjQ1NmY1MGZhNyAxMDA2 NDQKLS0tIGEvcmlzY3YtZ2NjL2djYy90cmVlLXZlY3QtbG9vcC5jYworKysg Yi9yaXNjdi1nY2MvZ2NjL3RyZWUtdmVjdC1sb29wLmNjCkBAIC05NzMsNiAr OTczLDggQEAgX2xvb3BfdmVjX2luZm86Ol9sb29wX3ZlY19pbmZvIChjbGFz cyBsb29wICpsb29wX2luLCB2ZWNfaW5mb19zaGFyZWQgKnNoYXJlZCkKICAg ICB2ZWN0b3JpemFibGUgKGZhbHNlKSwKICAgICBjYW5fdXNlX3BhcnRpYWxf dmVjdG9yc19wIChwYXJhbV92ZWN0X3BhcnRpYWxfdmVjdG9yX3VzYWdlICE9 IDApLAogICAgIHVzaW5nX3BhcnRpYWxfdmVjdG9yc19wIChmYWxzZSksCisg ICAgdXNpbmdfZGVjcmVtZW50aW5nX2l2X3AgKGZhbHNlKSwKKyAgICBkZWNy ZW1lbnRpbmdfaXZfc3RlcCAoTlVMTF9UUkVFKSwKICAgICBlcGlsX3VzaW5n X3BhcnRpYWxfdmVjdG9yc19wIChmYWxzZSksCiAgICAgcGFydGlhbF9sb2Fk X3N0b3JlX2JpYXMgKDApLAogICAgIHBlZWxpbmdfZm9yX2dhcHMgKGZhbHNl KSwKQEAgLTI3MjUsNiArMjcyNywxNyBAQCBzdGFydF9vdmVyOgogICAgICAg JiYgIXZlY3RfdmVyaWZ5X2xvb3BfbGVucyAobG9vcF92aW5mbykpCiAgICAg TE9PUF9WSU5GT19DQU5fVVNFX1BBUlRJQUxfVkVDVE9SU19QIChsb29wX3Zp bmZvKSA9IGZhbHNlOwogCisgIC8qIElmIHdlJ3JlIHZlY3Rvcml6aW5nIGFu IGxvb3AgdGhhdCB1c2VzIGxlbmd0aCAiY29udHJvbHMiIGFuZAorICAgICBj YW4gaXRlcmF0ZSBtb3JlIHRoYW4gb25jZSwgd2UgYXBwbHkgZGVjcmVtZW50 aW5nIElWIGFwcHJvYWNoCisgICAgIGluIGxvb3AgY29udHJvbC4gICovCisg IGlmIChMT09QX1ZJTkZPX0NBTl9VU0VfUEFSVElBTF9WRUNUT1JTX1AgKGxv b3BfdmluZm8pCisgICAgICAmJiAhTE9PUF9WSU5GT19MRU5TIChsb29wX3Zp bmZvKS5pc19lbXB0eSAoKQorICAgICAgJiYgTE9PUF9WSU5GT19QQVJUSUFM X0xPQURfU1RPUkVfQklBUyAobG9vcF92aW5mbykgPT0gMAorICAgICAgJiYg IShMT09QX1ZJTkZPX05JVEVSU19LTk9XTl9QIChsb29wX3ZpbmZvKQorCSAg ICYmIGtub3duX2xlIChMT09QX1ZJTkZPX0lOVF9OSVRFUlMgKGxvb3Bfdmlu Zm8pLAorCQkJTE9PUF9WSU5GT19WRUNUX0ZBQ1RPUiAobG9vcF92aW5mbykp KSkKKyAgICBMT09QX1ZJTkZPX1VTSU5HX0RFQ1JFTUVOVElOR19JVl9QIChs b29wX3ZpbmZvKSA9IHRydWU7CisKICAgLyogSWYgd2UncmUgdmVjdG9yaXpp bmcgYW4gZXBpbG9ndWUgbG9vcCwgdGhlIHZlY3Rvcml6ZWQgbG9vcCBlaXRo ZXIgbmVlZHMKICAgICAgdG8gYmUgYWJsZSB0byBoYW5kbGUgZmV3ZXIgdGhh biBWRiBzY2FsYXJzLCBvciBuZWVkcyB0byBoYXZlIGEgbG93ZXIgVkYKICAg ICAgdGhhbiB0aGUgbWFpbiBsb29wLiAgKi8KZGlmZiAtLWdpdCBhL3Jpc2N2 LWdjYy9nY2MvdHJlZS12ZWN0b3JpemVyLmggYi9yaXNjdi1nY2MvZ2NjL3Ry ZWUtdmVjdG9yaXplci5oCmluZGV4IDAyZDJhZDZmYi4uN2VkMDc5ZjU0IDEw MDY0NAotLS0gYS9yaXNjdi1nY2MvZ2NjL3RyZWUtdmVjdG9yaXplci5oCisr KyBiL3Jpc2N2LWdjYy9nY2MvdHJlZS12ZWN0b3JpemVyLmgKQEAgLTgxOCw2 ICs4MTgsMTYgQEAgcHVibGljOgogICAgICB0aGUgdmVjdG9yIGxvb3AgY2Fu IGhhbmRsZSBmZXdlciB0aGFuIFZGIHNjYWxhcnMuICAqLwogICBib29sIHVz aW5nX3BhcnRpYWxfdmVjdG9yc19wOwogCisgIC8qIFRydWUgaWYgd2UndmUg ZGVjaWRlZCB0byB1c2UgYSBkZWNyZW1lbnRpbmcgbG9vcCBjb250cm9sIElW IHRoYXQgY291bnRzCisgICAgIHNjYWxhcnMuIFRoaXMgY2FuIGJlIGRvbmUg Zm9yIGFueSBsb29wIHRoYXQ6CisKKwkoYSkgdXNlcyBsZW5ndGggImNvbnRy b2xzIjsgYW5kCisJKGIpIGNhbiBpdGVyYXRlIG1vcmUgdGhhbiBvbmNlLiAg Ki8KKyAgYm9vbCB1c2luZ19kZWNyZW1lbnRpbmdfaXZfcDsKKworICAvKiBU aGUgdmFyaWFibGUgYW1vdW50IHN0ZXAgZm9yIGRlY3JlbWVudCBJVi4gICov CisgIHRyZWUgZGVjcmVtZW50aW5nX2l2X3N0ZXA7CisKICAgLyogVHJ1ZSBp ZiB3ZSd2ZSBkZWNpZGVkIHRvIHVzZSBwYXJ0aWFsbHktcG9wdWxhdGVkIHZl Y3RvcnMgZm9yIHRoZQogICAgICBlcGlsb2d1ZSBvZiBsb29wLiAgKi8KICAg Ym9vbCBlcGlsX3VzaW5nX3BhcnRpYWxfdmVjdG9yc19wOwpAQCAtODkwLDYg KzkwMCw4IEBAIHB1YmxpYzoKICNkZWZpbmUgTE9PUF9WSU5GT19WRUNUT1JJ WkFCTEVfUChMKSAgICAgICAoTCktPnZlY3Rvcml6YWJsZQogI2RlZmluZSBM T09QX1ZJTkZPX0NBTl9VU0VfUEFSVElBTF9WRUNUT1JTX1AoTCkgKEwpLT5j YW5fdXNlX3BhcnRpYWxfdmVjdG9yc19wCiAjZGVmaW5lIExPT1BfVklORk9f VVNJTkdfUEFSVElBTF9WRUNUT1JTX1AoTCkgKEwpLT51c2luZ19wYXJ0aWFs X3ZlY3RvcnNfcAorI2RlZmluZSBMT09QX1ZJTkZPX1VTSU5HX0RFQ1JFTUVO VElOR19JVl9QKEwpIChMKS0+dXNpbmdfZGVjcmVtZW50aW5nX2l2X3AKKyNk ZWZpbmUgTE9PUF9WSU5GT19ERUNSRU1FTlRJTkdfSVZfU1RFUChMKSAoTCkt PmRlY3JlbWVudGluZ19pdl9zdGVwCiAjZGVmaW5lIExPT1BfVklORk9fRVBJ TF9VU0lOR19QQVJUSUFMX1ZFQ1RPUlNfUChMKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogICAoTCktPmVwaWxfdXNpbmdfcGFydGlhbF92ZWN0 b3JzX3AKICNkZWZpbmUgTE9PUF9WSU5GT19QQVJUSUFMX0xPQURfU1RPUkVf QklBUyhMKSAoTCktPnBhcnRpYWxfbG9hZF9zdG9yZV9iaWFzCg== ------=_001_NextPart540131331364_=------