From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgsg2.qq.com (smtpbgsg2.qq.com [54.254.200.128]) by sourceware.org (Postfix) with ESMTPS id D64473858C52 for ; Fri, 19 Aug 2022 14:34:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D64473858C52 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: bizesmtp82t1660919682tq0o2by1 Received: from TABLET-POE6JQHH ( [36.36.107.177]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 19 Aug 2022 22:34:41 +0800 (CST) X-QQ-SSF: 01400000002000C0I000B00A0000000 X-QQ-FEAT: +ynUkgUhZJmfdqZx2Nsm0EL6hCEr777wpKJnOPoP029CqAGNWS9TaGYGZVgkq pCsaQRyKwRnGNjzTwW6q3y4TGfuwEKg80qaAjFsRACkSyroWU04LoLBTTcp4bnIj4VuZFqq sDARMPCxVQ9kbXFyKU6laRqf9TFEZO51IuIxHVAbxK1uGi8p8fDaoaSqegvCKRKm5VTSu8a wO+4AhjOfSsRmhXAQNLDfOcgnsc9ZA7hIYW3kaM9UfU4Q4mYp+lav4LS7Ee+m8cRNjKikFO EGV/P7HH4OGmINSbnl7uG4dPPRFvXz4Mvhupf2rfhSEFsA00zoJx2t8m4o7fPn24Ano1Leh NMOn1jpOB67RJ5UXV5BVz3HREzeHejZ7Y59dH6EGvN0gy30kL+VxsANFOMxc7nBLoWmDxxg pes+NZF1LHKPouvx0xQWbmDN4USqphv4HUBipBnnbWs= X-QQ-GoodBg: 2 Date: Fri, 19 Aug 2022 22:34:35 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: richard.sandiford Cc: gcc-patches , rguenther , kito.cheng Subject: Re: Re: [PATCH] middle-end: skipp stepped vector test of poly_int (1, 1) and allow the machine_mode definition with poly_uint16 (1, 1) References: <20220818104608.259204-1-juzhe.zhong@rivai.ai>, , , , , X-Priority: 3 X-GUID: 636FAAB2-037F-4AA6-AC7F-BDD03B2745AB X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <781C254B1237B319+202208192234349812258@rivai.ai> X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, HTML_MESSAGE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_PASS, TXREP, T_KAM_HTML_FONT_INVALID, T_SCC_BODY_TEXT_LINE, WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Aug 2022 14:35:01 -0000 SSByZXdyaXRlIHRlc3RfdmVjdG9yX3N1YnJlZ3NfZm9yZV9iYWNrIGFzIGZvbGxvd3M6DQoNCnN0 YXRpYyB2b2lkDQp0ZXN0X3ZlY3Rvcl9zdWJyZWdzX2ZvcmVfYmFjayAobWFjaGluZV9tb2RlIGlu bmVyX21vZGUpDQp7DQogIHBvbHlfdWludDY0IG51bml0cyA9IEdFVF9NT0RFX05VTklUUyAoaW5u ZXJfbW9kZSk7DQogIHVuc2lnbmVkIGludCBtaW5fbnVuaXRzID0gY29uc3RhbnRfbG93ZXJfYm91 bmQgKG51bml0cyk7DQogIHNjYWxhcl9tb2RlIGludF9tb2RlID0gR0VUX01PREVfSU5ORVIgKGlu bmVyX21vZGUpOw0KICB1bnNpZ25lZCBpbnQgY291bnQgPSBnY2QgKG1pbl9udW5pdHMsIDQpOw0K DQogIHJ0eF92ZWN0b3JfYnVpbGRlciBidWlsZGVyIChpbm5lcl9tb2RlLCBjb3VudCwgMik7DQog IHVuc2lnbmVkIGludCBuZWx0c19wZXJfcGF0dGVybiA9IGNvdW50ID09IDEgPyAyIDogY291bnQ7 DQogIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbmVsdHNfcGVyX3BhdHRlcm47ICsraSkN CiAgICBidWlsZGVyLnF1aWNrX3B1c2ggKGdlbl9pbnRfbW9kZSAoaSwgaW50X21vZGUpKTsNCiAg Zm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBjb3VudDsgKytpKQ0KICAgIGJ1aWxkZXIucXVp Y2tfcHVzaCAoZ2VuX2ludF9tb2RlICgtKGludCkgaSwgaW50X21vZGUpKTsNCiAgcnR4IHggPSBi dWlsZGVyLmJ1aWxkICgpOw0KDQogIHRlc3RfdmVjdG9yX3N1YnJlZ3NfbW9kZXMgKHgpOw0KICBp ZiAoIW51bml0cy5pc19jb25zdGFudCAoKSkNCiAgICB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVz ICh4LCBudW5pdHMgLSBtaW5fbnVuaXRzLCBjb3VudCk7DQp9DQoNCkkgYWRkIHRoZSBjb2RlOiB1 bnNpZ25lZCBpbnQgbmVsdHNfcGVyX3BhdHRlcm4gPSBjb3VudCA9PSAxID8gMiA6IGNvdW50Ow0K dGhlbiByZXBsYWNlIHRoZSAiY291bnQiIGludG8gIm5lbHRzX3Blcl9wYXR0ZXJuICIgaW4gdGhl IGZpcnN0IGxvb3AuDQoNCkl0IGNhbiBwYXNzIG5vdy4gQW5kICJ4IiB2YWx1ZSBJIHByaW50IG91 dCBzZWVtcyB0byBiZSBjb3JyZWN0Og0KKGNvbnN0X3ZlY3RvcjpWTngxREkgWw0KICAgICAgICAo Y29uc3RfaW50IDAgWzBdKQ0KICAgICAgICByZXBlYXQgWw0KICAgICAgICAgICAgKGNvbnN0X2lu dCAxIFsweDFdKQ0KICAgICAgICBdDQogICAgXSkNCg0KSXMgdGhpcyBjb3JyZWN0IHNvbHV0aW9u ID8gDQoNClRoYW5rcy4NCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogUmljaGFy ZCBTYW5kaWZvcmQNCkRhdGU6IDIwMjItMDgtMTkgMjA6NTINClRvOiBqdXpoZS56aG9uZ1xAcml2 YWkuYWkNCkNDOiBnY2MtcGF0Y2hlczsgcmd1ZW50aGVyOyBraXRvLmNoZW5nDQpTdWJqZWN0OiBS ZTogW1BBVENIXSBtaWRkbGUtZW5kOiBza2lwcCBzdGVwcGVkIHZlY3RvciB0ZXN0IG9mIHBvbHlf aW50ICgxLCAxKSBhbmQgYWxsb3cgdGhlIG1hY2hpbmVfbW9kZSBkZWZpbml0aW9uIHdpdGggcG9s eV91aW50MTYgKDEsIDEpDQoianV6aGUuemhvbmdAcml2YWkuYWkiIDxqdXpoZS56aG9uZ0ByaXZh aS5haT4gd3JpdGVzOg0KPj4gQWgsIHJpZ2h0LCBzb3JyeSBmb3IgdGhlIGJvZ3VzIHN1Z2dlc3Rp b24uDQo+PiBJbiB0aGF0IGNhc2UsIHdoYXQgc3BlY2lmaWNhbGx5IGdvZXMgd3Jvbmc/ICBXaGlj aCB0ZXN0IGluDQo+PiB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVzIGZhaWxzLCBhbmQgd2hhdCBk b2VzIHRoZSBJQ0UgbG9vayBsaWtlPw0KPg0KPiBCZWNhdXNlIG1heV9iZSAobnVuaXRzLCAxKSBy ZXR1cm4gdHJ1ZS4gRm9yIG51bml0cyA9ICgxLDEpLCBpdCB3aWxsIGV4ZWN1dGUgdGVzdF92ZWN0 b3Jfc3VicmVnc19tb2Rlcy4NCj4gVGhlIGZhaWwgSUNFOg0KPiAuLi8uLi8uLi9yaXNjdi1nY2Mv Z2NjL3NpbXBsaWZ5LXJ0eC5jYzo4Mzk2OiB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVzOiBGQUlM OiBBU1NFUlRfUlRYX0VRIChleHBlY3RlZCwgc2ltcGxpZnlfc3VicmVnIChRSW1vZGUsIHgsIGlu bmVyX21vZGUsIGJ5dGUpKQ0KPiAgIGV4cGVjdGVkOiAobmlsKQ0KPg0KPiAgIGFjdHVhbDogKGNv bnN0X2ludCAwIFswXSkNCj4gY2MxOiBpbnRlcm5hbCBjb21waWxlciBlcnJvcjogaW4gYXNzZXJ0 X3J0eF9lcV9hdCwgYXQgc2VsZnRlc3QtcnRsLmNjOjU3DQo+IDB4MTMwNGVlMSBzZWxmdGVzdDo6 YXNzZXJ0X3J0eF9lcV9hdChzZWxmdGVzdDo6bG9jYXRpb24gY29uc3QmLCBjaGFyIGNvbnN0Kiwg cnR4X2RlZiosIHJ0eF9kZWYqKQ0KPiAgICAgICAgIC4uLy4uLy4uL3Jpc2N2LWdjYy9nY2Mvc2Vs ZnRlc3QtcnRsLmNjOjU3DQo+IDB4MTMzMjUwNCB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVzDQo+ ICAgICAgICAgLi4vLi4vLi4vcmlzY3YtZ2NjL2djYy9zaW1wbGlmeS1ydHguY2M6ODM5NQ0KPiAw eDEzMzI5ODggdGVzdF92ZWN0b3Jfc3VicmVnc19mb3JlX2JhY2sNCj4gICAgICAgICAuLi8uLi8u Li9yaXNjdi1nY2MvZ2NjL3NpbXBsaWZ5LXJ0eC5jYzo4NDQyDQo+IDB4MTMzMmFlNyB0ZXN0X3Zl Y3Rvcl9zdWJyZWdzDQo+ICAgICAgICAgLi4vLi4vLi4vcmlzY3YtZ2NjL2djYy9zaW1wbGlmeS1y dHguY2M6ODQ2Nw0KPiAweDEzMzJjNTcgdGVzdF92ZWN0b3Jfb3BzDQo+ICAgICAgICAgLi4vLi4v Li4vcmlzY3YtZ2NjL2djYy9zaW1wbGlmeS1ydHguY2M6ODQ4Nw0KPiAweDEzMzJjN2Igc2VsZnRl c3Q6OnNpbXBsaWZ5X3J0eF9jY190ZXN0cygpDQo+ICAgICAgICAgLi4vLi4vLi4vcmlzY3YtZ2Nj L2djYy9zaW1wbGlmeS1ydHguY2M6ODU0Nw0KPiAweDIxMzE4ZmEgc2VsZnRlc3Q6OnJ1bl90ZXN0 cygpDQo+ICAgICAgICAgLi4vLi4vLi4vcmlzY3YtZ2NjL2djYy9zZWxmdGVzdC1ydW4tdGVzdHMu Y2M6MTE1DQo+IDB4MTM2MmE3NiB0b3BsZXY6OnJ1bl9zZWxmX3Rlc3RzKCkNCj4gICAgICAgICAu Li8uLi8uLi9yaXNjdi1nY2MvZ2NjL3RvcGxldi5jYzoyMjA1DQo+DQo+IEkgYW5hbHl6ZWQgdGhl IGNvZGVzOg0KPiBJbiB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX2ZvcmVfYmFjaywgd2hlbiBudW5pdHMg PSAoMSwxKS4gVGhlIGV4cGVjdGVkID0gTlVMTF9SVFggYW5kIHNpbXBsaWZ5X3N1YnJlZyAoUUlt b2RlLCB4LCBpbm5lcl9tb2RlLCBieXRlKSA9IGNvbnN0X2ludCAwLg0KPiBTbyB0aGUgYXNzZXJ0 aW9uIGZhaWxzLg0KIA0KSG1tLCBvaywgc28gdGhlIHN1YnJlZyBvcGVyYXRpb24gaXMgdW5leHBl Y3RlZCBzdWNjZWVkaW5nLg0KIA0KPiBUaGlzIGlzIHRoZSB0ZXN0IGZvciBzdGVwcGVkIHZlY3Rv ciB1c2luZyAyIGVsZW1lbnQgcGVyIHBhdHRlcm4uICBGb3IgcG9seV91aW50MTYgKDEsMSksIGl0 J3MgdHJ1ZSBpdCBpcyBwb3NzaWJsZSBvbmx5IGhhcyAxIGVsZW1lbnQuIA0KIA0KVGhlIHN0ZXBw ZWQgY2FzZSBpcyAzIGVsZW1lbnRzIHBlciBwYXR0ZXJuIHJhdGhlciB0aGFuIDIuICBJbiBhIHN0 ZXBwZWQNCnBhdHRlcm46IGEsIGIsIGIrbiBhcmUgcmVwcmVzZW50ZWQgZXhwbGljaXRseSwgdGhl biB0aGUgcmVzdCBhcmUNCmltcGxpY2l0bHkgYituKjIsIGIrbiozLCBldGMuDQogDQpUaGUgY2Fz ZSBiZWluZyBoYW5kbGVkIGJ5IHRoaXMgY29kZSBpcyBpbnN0ZWFkIHRoZSAyLWVsZW1lbnQgY2Fz ZToNCmEsIGIgYXJlIHJlcHJlc2VudGVkIGV4cGxpY2l0bHksIHRoZW4gdGhlIHJlc3QgYXJlIGlt cGxpY2l0bHkgYWxsIGIuDQogDQpXaHkgaXMgKDEsMSkgZGlmZmVyZW50IHRob3VnaD8gIFRoZSB0 ZXN0IGlzIGNvbnN0cnVjdGluZzoNCiANCiAgbnVuaXRzOiAxICsgMXgNCiAgc2hhcGU6IG5lbHRz X3Blcl9wYXR0ZXJuID09IDIsIG5wYXR0ZXJucyA9PSAxDQogIGVsZW1lbnRzOiBhLCBiWywgYiwg YiwgYiwgYiwgLi4uXQ0KIA0KSXQgdGhlbiB0ZXN0cyBzdWJyZWdzIHN0YXJ0aW5nIGF0IDAgKyAx eCAoc28gc3RhcnRpbmcgYXQgdGhlIGZpcnN0IGIpLg0KQnV0IGZvciAoMiwyKSB3ZSBzaG91bGQg aGF2ZToNCiANCiAgbnVuaXRzOiAyICsgMngNCiAgc2hhcGU6IG5lbHRzX3Blcl9wYXR0ZXJuID09 IDIsIG5wYXR0ZXJucyA9PSAyDQogIGVsZW1lbnRzOiBhMSwgYTIsIGIxLCBiMlssIGIxLCBiMiwg YjEsIGIyLCAuLi5dDQogDQphbmQgd2Ugc2hvdWxkIHRlc3Qgc3VicmVncyBzdGFydGluZyBhdCAw ICsgMnggKHNvIHN0YXJ0aW5nIGF0IHRoZQ0KZmlyc3QgYjEpLiAgVGhlIHR3byBjYXNlcyBzaG91 bGQgYmUgdmVyeSBzaW1pbGFyLCBpdCdzIGp1c3QgdGhhdCB0aGUNCigyLDIpIGNhc2UgZG91Ymxl cyB0aGUgbnVtYmVyIG9mIHBhdHRlcm5zLg0KIA0KPiBJIHRoaW5rIGl0IG1ha2VzIHNlbnNlIHRv IGZhaWwgdGhlIHRlc3QuIEhvd2V2ZXIgZm9yIHBvbHkgKDEsMSkgbWFjaGluZSBtb2RlLCBjYW4g d2UgaGF2ZSB0aGUgY2hhbmNlIHRoYXQgc29tZSB0YXJnZXQgZGVmaW5lIHRoaXMNCj4ga2luZCBv ZiBtYWNoaW5lIG1vZGUgb25seSB1c2VkIGZvciBpbnRyaW5zaWNzPyAgSSBhbHJlYWR5IGRldmVs b3BlZCBmdWxsIFJWViBzdXBwb3J0IGluIEdDQyAoaW5jbHVkaW5nIGludHJpbnNjIGFuZCBhdXRv LXZlY3Rvcml6YXRpb24pLg0KPiBJIG9ubHkgZW5hYmxlIGF1dG8tdmVjdG9yaXphdGlvbiB3aXRo IG1vZGUgbGFyZ2VyIHRoYW4gKDIsMikgYW5kIHRlc3QgaXQgZnVsbHkuDQo+IEZyb20gbXkgZXhw ZXJpZW5jZSwgaXQgc2VlbXMgdGhlIHN0ZXBwZWQgdmVjdG9yIG9ubHkgY3JlYXRlZCBkdXJpbmcg VkxBIGF1dG8tdmVjdG9yaXphdGlvbi4gQW5kIEkgdGhpbmsgb25seSBhbGxvdyBwb2x5ICgxLDEp bW9kZSB1c2VkIGluIGludHJpbnNpY3Mgd2lsbA0KPiBub3QgY3JlYXRlIGlzc3Vlcy4gQW0gSSB1 bmRlcnN0YW5kaW5nIHdyb25nIO+8n0ZlZWwgZnJlZSB0byBjb3JyZWN0IG1lLiBUaGFua3Mgfg0K IA0KRm9sbG93aW5nIG9uIGZyb20gd2hhdCBJIHNhaWQgYWJvdmUsIGl0IGRvZXNuJ3QgbG9vayBs aWtlIHRoaXMgcGFydGljdWxhcg0KY2FzZSBpcyByZWxhdGVkIHRvIHN0ZXBwZWQgdmVjdG9ycy4N CiANCigxLDEpIHNob3VsZG4ndCAobmVlZCB0bykgYmUgYSBzcGVjaWFsIGNhc2UgdGhvdWdoLiAg QW55IHBvdGVudGl0YWwNCnByb2JsZW1zIHRoYXQgd291bGQgb2NjdXIgZm9yICgxLDEpIHdpdGgg bnBhdHRlcm5zPT0xIHdvdWxkIGFsc28gb2NjdXINCmZvciAobixuKSB3aXRoIG5wYXR0ZXJucz09 bi4gIEUuZy4gaWYgc3RlcHBlZCB2ZWN0b3JzIGFyZSBwcm9ibGVtYXRpYw0KZm9yICgxLDEpIHRo ZW4gYW4gaW50ZXJsZWF2aW5nIG9mIDIgc3RlcHBlZCB2ZWN0b3JzIChpLmUuIG5wYXR0ZXJucz09 MikNCndvdWxkIGJlIHByb2JsZW1hdGljIGZvciAoMiwyKS4NCiANClNvIHllYWgsIHByZXZlbnRp bmcgYSBtb2RlIGJlaW5nIHVzZWQgZm9yIGF1dG92ZWN0b3Jpc2F0aW9uIHdvdWxkIGFsbG93DQp0 aGUgdGFyZ2V0IHRvIGhhdmUgYSBiaXQgbW9yZSBjb250cm9sIG92ZXIgd2hpY2ggY29uc3RhbnRz IGFyZSBhY3R1YWxseQ0KZ2VuZXJhdGVkLiAgQnV0IGl0IHNob3VsZG4ndCBiZSBuZWNlc3Nhcnkg dG8gZG8gdGhhdCBmb3IgY29ycmVjdG5lc3MuDQogDQpUaGFua3MsDQpSaWNoYXJkDQogDQo+IGp1 emhlLnpob25nQHJpdmFpLmFpDQo+ICANCj4gRnJvbTogUmljaGFyZCBTYW5kaWZvcmQNCj4gRGF0 ZTogMjAyMi0wOC0xOSAxNzozNQ0KPiBUbzoganV6aGUuemhvbmdcQHJpdmFpLmFpDQo+IENDOiBy Z3VlbnRoZXI7IGdjYy1wYXRjaGVzOyBraXRvLmNoZW5nDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hd IG1pZGRsZS1lbmQ6IHNraXBwIHN0ZXBwZWQgdmVjdG9yIHRlc3Qgb2YgcG9seV9pbnQgKDEsIDEp IGFuZCBhbGxvdyB0aGUgbWFjaGluZV9tb2RlIGRlZmluaXRpb24gd2l0aCBwb2x5X3VpbnQxNiAo MSwgMSkNCj4gImp1emhlLnpob25nQHJpdmFpLmFpIiA8anV6aGUuemhvbmdAcml2YWkuYWk+IHdy aXRlczoNCj4+IEhpLCBSaWNoYXJkLiBJIHRyaWVkIHRoZSBjb2RlczoNCj4+IGlmICghbnVuaXRz LmlzX2NvbnN0YW50ICgpICYmIG1heWJlX2d0IChudW5pdHMsIDEpKSANCj4+IHRlc3RfdmVjdG9y X3N1YnJlZ3NfbW9kZXMgKHgsIG51bml0cyAtIG1pbl9udW5pdHMsIGNvdW50KTsNCj4+DQo+PiBJ dCBzdGlsbCBmYWlsZWQuIEZvciBudW5pdHMgPSAoMSwxKSAsIG1heWJlX2d0IChudW5pdHMsIDEp IHJldHVybiB0cnVlIHZhbHVlLg0KPiAgDQo+IEFoLCByaWdodCwgc29ycnkgZm9yIHRoZSBib2d1 cyBzdWdnZXN0aW9uLg0KPiAgDQo+IEluIHRoYXQgY2FzZSwgd2hhdCBzcGVjaWZpY2FsbHkgZ29l cyB3cm9uZz8gIFdoaWNoIHRlc3QgaW4NCj4gdGVzdF92ZWN0b3Jfc3VicmVnc19tb2RlcyBmYWls cywgYW5kIHdoYXQgZG9lcyB0aGUgSUNFIGxvb2sgbGlrZT8NCj4gIA0KPiBUaGFua3MsDQo+IFJp Y2hhcmQNCj4gIA0KPj4gQnV0IEkgdHJpZWQ6DQo+PiBpZiAoIW51bml0cy5pc19jb25zdGFudCAo KSAmJiBrbm93bl9ndCAobnVuaXRzLCAxKSkgDQo+PiB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVz ICh4LCBudW5pdHMgLSBtaW5fbnVuaXRzLCBjb3VudCk7DQo+PiBJdCBwYXNzLiBCdXQgaXQgcmVw b3J0IGEgd2FybmluZzogIndhcm5pbmc6IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kIHVu c2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMgWy1Xc2lnbi1jb21wYXJlXSIgZHVyaW5nIHRoZSBj b21waWxhdGlvbi4NCj4+DQo+PiBGaW5hbGx5LCBJIHRyaWVkOg0KPj4gaWYgKCFudW5pdHMuaXNf Y29uc3RhbnQgKCkgJiYga25vd25fZ3QgKEdFVF9NT0RFX05VTklUUyAoaW5uZXJfbW9kZSksIDEp KSANCj4+IHRlc3RfdmVjdG9yX3N1YnJlZ3NfbW9kZXMgKHgsIG51bml0cyAtIG1pbl9udW5pdHMs IGNvdW50KTsNCj4+IEl0IHBhc3NlZCB3aXRoIG5vIHdhcm5pbmcuDQo+Pg0KPj4gSXMgJ2tub3du X2d0IChHRVRfTU9ERV9OVU5JVFMgKGlubmVyX21vZGUpLCAxKScgYSBnb29kIHNvbHV0aW9uIGZv ciB0aGlzPw0KPj4gVGhhbmtzIQ0KPj4NCj4+DQo+PiBqdXpoZS56aG9uZ0ByaXZhaS5haQ0KPj4g IA0KPj4gRnJvbTogUmljaGFyZCBTYW5kaWZvcmQNCj4+IERhdGU6IDIwMjItMDgtMTkgMTY6MDMN Cj4+IFRvOiBqdXpoZS56aG9uZw0KPj4gQ0M6IGdjYy1wYXRjaGVzOyByZ3VlbnRoZXI7IGtpdG8u Y2hlbmcNCj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIG1pZGRsZS1lbmQ6IHNraXBwIHN0ZXBwZWQg dmVjdG9yIHRlc3Qgb2YgcG9seV9pbnQgKDEsIDEpIGFuZCBhbGxvdyB0aGUgbWFjaGluZV9tb2Rl IGRlZmluaXRpb24gd2l0aCBwb2x5X3VpbnQxNiAoMSwgMSkNCj4+IGp1emhlLnpob25nQHJpdmFp LmFpIHdyaXRlczoNCj4+PiBGcm9tOiB6aG9uZ2p1emhlIDxqdXpoZS56aG9uZ0ByaXZhaS5haT4N Cj4+Pg0KPj4+IEhlbGxvLiBUaGlzIHBhdGNoIGlzIHByZXBhcmluZyBmb3IgZm9sbG93aW5nIFJW ViBzdXBwb3J0Lg0KPj4+DQo+Pj4gQm90aCBBUk0gU1ZFIGFuZCBSVlYgKFJJU0MtViAnVicgRXh0 ZW5zaW9uKSBzdXBwb3J0IGxlbmd0aC1hZ25vc3RpYyB2ZWN0b3IuDQo+Pj4gVGhlIG1pbmltdW0g dmVjdG9yIGxlbmd0aCBvZiBBUk0gU1ZFIGlzIDEyOC1iaXQgYW5kIHRoZSBydW50aW1lIGludmFy aWFudCBvZiBBUk0gU1ZFIGlzIGFsd2F5cyAxMjgtYml0IGJsb2Nrcy4NCj4+PiBIb3dldmVyLCB0 aGUgbWluaW11bSB2ZWN0b3IgbGVuZ3RoIG9mIFJWViBjYW4gYmUgMzJiaXQgaW4gJ1p2ZTMyKicg c3ViLWV4dGVuc2lvbiBhbmQgNjRiaXQgaW4gJ1p2ZSonIHN1Yi1leHRlbnNpb24uDQo+Pj4NCj4+ PiBTbyBJIGRlZmluZSB0aGUgbWFjaGluZV9tb2RlIGFzIGZvbGxvd3M6DQo+Pj4gVkVDVE9SX01P REVfV0lUSF9QUkVGSVggKFZOeCwgSU5ULCBESSwgMSwgMCk7DQo+Pj4gQURKVVNUX05VTklUUyAo TU9ERSwgcmlzY3ZfdmVjdG9yX2NodW5rcyk7DQo+Pj4gVGhlIHJpc2N2X3ZlY3Rvcl9jaHVua3Mg PSBwb2x5X3VpbnQxNiAoMSwgMSkNCj4+Pg0KPj4+IFRoZSBjb21waWxhdGlvbiBpcyBmYWlsZWQg Zm9yIHRoZSBzdGVwcGVkIHZlY3RvciB0ZXN0Og0KPj4+IChjb25zdF92ZWN0b3I6Vk54MURJIHJl cGVhdCBbDQo+Pj4gICAgICAgICAoY29uc3RfaW50IDggWzB4OF0pDQo+Pj4gICAgICAgICAoY29u c3RfaW50IDcgWzB4N10pDQo+Pj4gICAgIF0pDQo+Pj4NCj4+PiBJIHVuZGVyc3RhbmQgZm9yIHN0 ZXBwZWQgdmVjdG9yIHNob3VsZCBhbHdheXMgaGF2ZSBhbGVhc3QgMiBlbGVtZW50cyBhbmQgc3Rl cHBlZCB2ZWN0b3IgaW5pdGlhbGl6YXRpb24gaXMgY29tbW9uDQo+Pj4gZm9yIFZMQSAodmVjdG9y LWxlbmd0aGUgYWdub3N0aWMpIGF1dG8tdmVjdG9yaXphdGlvbi4gSXQgbWFrZXMgc2Vuc2UgdGhh dCByZXBvcnQgZmFpbCBmb3Igc3RlcHBlZCB2ZWN0b3Igb2YgcG9seV91aW50MTYgKDEsIDEpLg0K Pj4+DQo+Pj4gbWFjaGluZSBtb2RlIHdpdGggbnVuaXRzID0gcG9seV91aW50MTYgKDEsIDEpIG5l ZWRzIHRvIGltcGxlbWVudGVkIGluIGludHJpbnNpY3MuIEFuZCBJIHdvdWxkIGxpa2UgdG8gZW5h YmxlIFJWViBhdXRvLXZlY3Rvcml6YXRpb24NCj4+PiB3aXRoIHZlY3RvciBtb2RlIG9ubHkgbnVu aXRzIGlzIGxhcmdlciB0aGFuIHBvbHlfdWludDE2ICgyLCAyKSBpbiBSSVNDLVYgYmFja2VuZC4g SSB0aGluayBpdCB3aWxsIG5vdCBjcmVhdGUgaXNzdWUgaWYgd2UgZGVmaW5lDQo+Pj4gdmVjdG9y IG1vZGUgd2l0aCBudW5pdHMgPSBwb2x5X3VpbnQxNiAoMSwgMSkuIEZlZWwgZnJlZSB0byBjb3Jy ZWN0IG1lIG9yIG9mZmVyIG1lIHNvbWUgb3RoZXIgYmV0dGVyIHNvbHV0aW9ucy4gVGhhbmtzIQ0K Pj4+DQo+Pj4gICANCj4+Pg0KPj4+IGdjYy9DaGFuZ2VMb2c6DQo+Pj4NCj4+PiAgICAgICAgICog c2ltcGxpZnktcnR4LmNjICh0ZXN0X3ZlY3Rvcl9zdWJyZWdzX2ZvcmVfYmFjayk6IHNraXAgdGVz dCBmb3IgcG9seV91aW50MTYgKDEsIDEpLg0KPj4+DQo+Pj4gLS0tDQo+Pj4gIGdjYy9zaW1wbGlm eS1ydHguY2MgfCAyICstDQo+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL2djYy9zaW1wbGlmeS1ydHguY2MgYi9n Y2Mvc2ltcGxpZnktcnR4LmNjDQo+Pj4gaW5kZXggN2QwOWJmNzEwM2QuLjYxZTBkZmEwMGQwIDEw MDY0NA0KPj4+IC0tLSBhL2djYy9zaW1wbGlmeS1ydHguY2MNCj4+PiArKysgYi9nY2Mvc2ltcGxp ZnktcnR4LmNjDQo+Pj4gQEAgLTg0MzgsNyArODQzOCw3IEBAIHRlc3RfdmVjdG9yX3N1YnJlZ3Nf Zm9yZV9iYWNrIChtYWNoaW5lX21vZGUgaW5uZXJfbW9kZSkNCj4+PiAgICBydHggeCA9IGJ1aWxk ZXIuYnVpbGQgKCk7DQo+Pj4gIA0KPj4+ICAgIHRlc3RfdmVjdG9yX3N1YnJlZ3NfbW9kZXMgKHgp Ow0KPj4+IC0gIGlmICghbnVuaXRzLmlzX2NvbnN0YW50ICgpKQ0KPj4+ICsgIGlmICghbnVuaXRz LmlzX2NvbnN0YW50ICgpICYmIGtub3duX25lIChudW5pdHMsIHBvbHlfdWludDE2ICgxLCAxKSkp DQo+Pj4gICAgICB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVzICh4LCBudW5pdHMgLSBtaW5fbnVu aXRzLCBjb3VudCk7DQo+PiAgDQo+PiBJIHRoaW5rIGluc3RlYWQgd2Ugc2hvdWxkIHVzZSBtYXli ZV9ndCAobnVuaXRzLCAxKSwgb24gdGhlIGJhc2lzIHRoYXQNCj4+IHRoZSBmb3JlX2JhY2sgdGVz dHMgcmVxdWlyZSB2ZWN0b3JzIHRoYXQgaGF2ZSBhIG1pbmltdW0gb2YgMiBlbGVtZW50cy4NCj4+ IFNvbWV0aGluZyBsaWtlIHBvbHlfdWludDE2ICgxLCAyKSB3b3VsZCBoYXZlIHRoZSBzYW1lIHBy b2JsZW0gYXMNCj4+IHBvbHlfdWludDE2ICgxLCAxKS4gICh7MSwgMn0gaXMgYW4gdW5saWtlbHkg dmFsdWUsIGJ1dCBpdCdzIE9LIGluDQo+PiBwcmluY2lwbGUuKQ0KPj4gIA0KPj4gVGhpcyBjb3Jy ZXNwb25kcyB0byB0aGUgbWluaW11bSBvZiAzIGVsZW1lbnRzIGZvciB0aGUgc3RlcHBlZCB0ZXN0 czoNCj4+ICANCj4+ICAgaWYgKEdFVF9NT0RFX0NMQVNTIChtb2RlKSA9PSBNT0RFX1ZFQ1RPUl9J TlQNCj4+ICAgICAgICYmIG1heWJlX2d0IChHRVRfTU9ERV9OVU5JVFMgKG1vZGUpLCAyKSkNCj4+ ICAgICB7DQo+PiAgICAgICB0ZXN0X3ZlY3Rvcl9vcHNfc2VyaWVzIChtb2RlLCBzY2FsYXJfcmVn KTsNCj4+ICAgICAgIHRlc3RfdmVjdG9yX3N1YnJlZ3MgKG1vZGUpOw0KPj4gICAgIH0NCj4+ICAN Cj4+IFRoYW5rcywNCj4+IFJpY2hhcmQNCj4+ICANCj4gIA0KIA0K