From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg150.qq.com (smtpbg150.qq.com [18.132.163.193]) by sourceware.org (Postfix) with ESMTPS id 1CAD93858CDA for ; Fri, 19 Aug 2022 09:57:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1CAD93858CDA 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: bizesmtp88t1660903067t0wlev7w Received: from LAPTOP-EPITNQBU ( [58.60.1.3]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 19 Aug 2022 17:57:46 +0800 (CST) X-QQ-SSF: 01400000002000C0I000B00A0000000 X-QQ-FEAT: aBJFcW+uBGawH0yC77ImUTw5JJqkVe/l+6208p9UNFpci4XOkLNvV+OYq7XIN Vkd56QFwh7Q+wjON+URTjmRMeD89745Sul7MIdrN1MUcZRuplo+K3zy4RwGUw4HLSyWwdjx yiDqR3nP2gTRdZQwwDXUIgQLEE+Jrr1LHl0pSEX6zJRSP792h2/TOIfDhRQIOHlBH/Jo+Nm 7quYj7ObmdEmvLUozkeFHvmtwdthyt3BKOdRIYVvxSn9Bl98++jAcZu7fb7eB+MDNSLs6rZ aU6zmHglPnd/QYW6axJLMjBxxHTMxAomx5HANDGpqsI4PbulqPTGbaf+QL0ho9/+hzweh8b t2YBtJiGhHKNLsACymq/7gIPX9Y5C8CcmjB0kvVBx96Ne+tQ89y5KSoYc66WN+T6qp1qtao Bn7yRlMPQRwwnSvonO57+NxzHnmXRtd8 X-QQ-GoodBg: 2 Date: Fri, 19 Aug 2022 17:57:46 +0800 From: "juzhe.zhong@rivai.ai" To: richard.sandiford Cc: rguenther , gcc-patches , 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: C702EFA7-2654-4E60-83DF-09EBABC1E468 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_50, GIT_PATCH_0, HTML_MESSAGE, KAM_DMARC_STATUS, MIME_CHARSET_FARAWAY, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, 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="GB2312" 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 09:58:00 -0000 PiBBaCwgcmlnaHQsIHNvcnJ5IGZvciB0aGUgYm9ndXMgc3VnZ2VzdGlvbi4NCj4gSW4gdGhhdCBj YXNlLCB3aGF0IHNwZWNpZmljYWxseSBnb2VzIHdyb25nPyAgV2hpY2ggdGVzdCBpbg0KPiB0ZXN0 X3ZlY3Rvcl9zdWJyZWdzX21vZGVzIGZhaWxzLCBhbmQgd2hhdCBkb2VzIHRoZSBJQ0UgbG9vayBs aWtlPw0KDQpCZWNhdXNlIG1heV9iZSAobnVuaXRzLCAxKSByZXR1cm4gdHJ1ZS4gRm9yIG51bml0 cyA9ICgxLDEpLCBpdCB3aWxsIGV4ZWN1dGUgdGVzdF92ZWN0b3Jfc3VicmVnc19tb2Rlcy4NClRo ZSBmYWlsIElDRToNCi4uLy4uLy4uL3Jpc2N2LWdjYy9nY2Mvc2ltcGxpZnktcnR4LmNjOjgzOTY6 IHRlc3RfdmVjdG9yX3N1YnJlZ3NfbW9kZXM6IEZBSUw6IEFTU0VSVF9SVFhfRVEgKGV4cGVjdGVk LCBzaW1wbGlmeV9zdWJyZWcgKFFJbW9kZSwgeCwgaW5uZXJfbW9kZSwgYnl0ZSkpDQogIGV4cGVj dGVkOiAobmlsKQ0KDQogIGFjdHVhbDogKGNvbnN0X2ludCAwIFswXSkNCmNjMTogaW50ZXJuYWwg Y29tcGlsZXIgZXJyb3I6IGluIGFzc2VydF9ydHhfZXFfYXQsIGF0IHNlbGZ0ZXN0LXJ0bC5jYzo1 Nw0KMHgxMzA0ZWUxIHNlbGZ0ZXN0Ojphc3NlcnRfcnR4X2VxX2F0KHNlbGZ0ZXN0Ojpsb2NhdGlv biBjb25zdCYsIGNoYXIgY29uc3QqLCBydHhfZGVmKiwgcnR4X2RlZiopDQogICAgICAgIC4uLy4u Ly4uL3Jpc2N2LWdjYy9nY2Mvc2VsZnRlc3QtcnRsLmNjOjU3DQoweDEzMzI1MDQgdGVzdF92ZWN0 b3Jfc3VicmVnc19tb2Rlcw0KICAgICAgICAuLi8uLi8uLi9yaXNjdi1nY2MvZ2NjL3NpbXBsaWZ5 LXJ0eC5jYzo4Mzk1DQoweDEzMzI5ODggdGVzdF92ZWN0b3Jfc3VicmVnc19mb3JlX2JhY2sNCiAg ICAgICAgLi4vLi4vLi4vcmlzY3YtZ2NjL2djYy9zaW1wbGlmeS1ydHguY2M6ODQ0Mg0KMHgxMzMy YWU3IHRlc3RfdmVjdG9yX3N1YnJlZ3MNCiAgICAgICAgLi4vLi4vLi4vcmlzY3YtZ2NjL2djYy9z aW1wbGlmeS1ydHguY2M6ODQ2Nw0KMHgxMzMyYzU3IHRlc3RfdmVjdG9yX29wcw0KICAgICAgICAu Li8uLi8uLi9yaXNjdi1nY2MvZ2NjL3NpbXBsaWZ5LXJ0eC5jYzo4NDg3DQoweDEzMzJjN2Igc2Vs ZnRlc3Q6OnNpbXBsaWZ5X3J0eF9jY190ZXN0cygpDQogICAgICAgIC4uLy4uLy4uL3Jpc2N2LWdj Yy9nY2Mvc2ltcGxpZnktcnR4LmNjOjg1NDcNCjB4MjEzMThmYSBzZWxmdGVzdDo6cnVuX3Rlc3Rz KCkNCiAgICAgICAgLi4vLi4vLi4vcmlzY3YtZ2NjL2djYy9zZWxmdGVzdC1ydW4tdGVzdHMuY2M6 MTE1DQoweDEzNjJhNzYgdG9wbGV2OjpydW5fc2VsZl90ZXN0cygpDQogICAgICAgIC4uLy4uLy4u L3Jpc2N2LWdjYy9nY2MvdG9wbGV2LmNjOjIyMDUNCg0KSSBhbmFseXplZCB0aGUgY29kZXM6DQpJ biB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX2ZvcmVfYmFjaywgd2hlbiBudW5pdHMgPSAoMSwxKS4gVGhl IGV4cGVjdGVkID0gTlVMTF9SVFggYW5kIHNpbXBsaWZ5X3N1YnJlZyAoUUltb2RlLCB4LCBpbm5l cl9tb2RlLCBieXRlKSA9IGNvbnN0X2ludCAwLg0KU28gdGhlIGFzc2VydGlvbiBmYWlscy4NCg0K VGhpcyBpcyB0aGUgdGVzdCBmb3Igc3RlcHBlZCB2ZWN0b3IgdXNpbmcgMiBlbGVtZW50IHBlciBw YXR0ZXJuLiAgRm9yIHBvbHlfdWludDE2ICgxLDEpLCBpdCdzIHRydWUgaXQgaXMgcG9zc2libGUg b25seSBoYXMgMSBlbGVtZW50LiANCkkgdGhpbmsgaXQgbWFrZXMgc2Vuc2UgdG8gZmFpbCB0aGUg dGVzdC4gSG93ZXZlciBmb3IgcG9seSAoMSwxKSBtYWNoaW5lIG1vZGUsIGNhbiB3ZSBoYXZlIHRo ZSBjaGFuY2UgdGhhdCBzb21lIHRhcmdldCBkZWZpbmUgdGhpcw0Ka2luZCBvZiBtYWNoaW5lIG1v ZGUgb25seSB1c2VkIGZvciBpbnRyaW5zaWNzPyAgSSBhbHJlYWR5IGRldmVsb3BlZCBmdWxsIFJW ViBzdXBwb3J0IGluIEdDQyAoaW5jbHVkaW5nIGludHJpbnNjIGFuZCBhdXRvLXZlY3Rvcml6YXRp b24pLg0KSSBvbmx5IGVuYWJsZSBhdXRvLXZlY3Rvcml6YXRpb24gd2l0aCBtb2RlIGxhcmdlciB0 aGFuICgyLDIpIGFuZCB0ZXN0IGl0IGZ1bGx5Lg0KRnJvbSBteSBleHBlcmllbmNlLCBpdCBzZWVt cyB0aGUgc3RlcHBlZCB2ZWN0b3Igb25seSBjcmVhdGVkIGR1cmluZyBWTEEgYXV0by12ZWN0b3Jp emF0aW9uLiBBbmQgSSB0aGluayBvbmx5IGFsbG93IHBvbHkgKDEsMSltb2RlIHVzZWQgaW4gaW50 cmluc2ljcyB3aWxsDQpub3QgY3JlYXRlIGlzc3Vlcy4gQW0gSSB1bmRlcnN0YW5kaW5nIHdyb25n IKO/RmVlbCBmcmVlIHRvIGNvcnJlY3QgbWUuIFRoYW5rcyB+DQoNCg0KDQpqdXpoZS56aG9uZ0By aXZhaS5haQ0KIA0KRnJvbTogUmljaGFyZCBTYW5kaWZvcmQNCkRhdGU6IDIwMjItMDgtMTkgMTc6 MzUNClRvOiBqdXpoZS56aG9uZ1xAcml2YWkuYWkNCkNDOiByZ3VlbnRoZXI7IGdjYy1wYXRjaGVz OyBraXRvLmNoZW5nDQpTdWJqZWN0OiBSZTogW1BBVENIXSBtaWRkbGUtZW5kOiBza2lwcCBzdGVw cGVkIHZlY3RvciB0ZXN0IG9mIHBvbHlfaW50ICgxLCAxKSBhbmQgYWxsb3cgdGhlIG1hY2hpbmVf bW9kZSBkZWZpbml0aW9uIHdpdGggcG9seV91aW50MTYgKDEsIDEpDQoianV6aGUuemhvbmdAcml2 YWkuYWkiIDxqdXpoZS56aG9uZ0ByaXZhaS5haT4gd3JpdGVzOg0KPiBIaSwgUmljaGFyZC4gSSB0 cmllZCB0aGUgY29kZXM6DQo+IGlmICghbnVuaXRzLmlzX2NvbnN0YW50ICgpICYmIG1heWJlX2d0 IChudW5pdHMsIDEpKSANCj4gdGVzdF92ZWN0b3Jfc3VicmVnc19tb2RlcyAoeCwgbnVuaXRzIC0g bWluX251bml0cywgY291bnQpOw0KPg0KPiBJdCBzdGlsbCBmYWlsZWQuIEZvciBudW5pdHMgPSAo MSwxKSAsIG1heWJlX2d0IChudW5pdHMsIDEpIHJldHVybiB0cnVlIHZhbHVlLg0KIA0KQWgsIHJp Z2h0LCBzb3JyeSBmb3IgdGhlIGJvZ3VzIHN1Z2dlc3Rpb24uDQogDQpJbiB0aGF0IGNhc2UsIHdo YXQgc3BlY2lmaWNhbGx5IGdvZXMgd3Jvbmc/ICBXaGljaCB0ZXN0IGluDQp0ZXN0X3ZlY3Rvcl9z dWJyZWdzX21vZGVzIGZhaWxzLCBhbmQgd2hhdCBkb2VzIHRoZSBJQ0UgbG9vayBsaWtlPw0KIA0K VGhhbmtzLA0KUmljaGFyZA0KIA0KPiBCdXQgSSB0cmllZDoNCj4gaWYgKCFudW5pdHMuaXNfY29u c3RhbnQgKCkgJiYga25vd25fZ3QgKG51bml0cywgMSkpIA0KPiB0ZXN0X3ZlY3Rvcl9zdWJyZWdz X21vZGVzICh4LCBudW5pdHMgLSBtaW5fbnVuaXRzLCBjb3VudCk7DQo+IEl0IHBhc3MuIEJ1dCBp dCByZXBvcnQgYSB3YXJuaW5nOiAid2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBh bmQgdW5zaWduZWQgaW50ZWdlciBleHByZXNzaW9ucyBbLVdzaWduLWNvbXBhcmVdIiBkdXJpbmcg dGhlIGNvbXBpbGF0aW9uLg0KPg0KPiBGaW5hbGx5LCBJIHRyaWVkOg0KPiBpZiAoIW51bml0cy5p c19jb25zdGFudCAoKSAmJiBrbm93bl9ndCAoR0VUX01PREVfTlVOSVRTIChpbm5lcl9tb2RlKSwg MSkpIA0KPiB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVzICh4LCBudW5pdHMgLSBtaW5fbnVuaXRz LCBjb3VudCk7DQo+IEl0IHBhc3NlZCB3aXRoIG5vIHdhcm5pbmcuDQo+DQo+IElzICdrbm93bl9n dCAoR0VUX01PREVfTlVOSVRTIChpbm5lcl9tb2RlKSwgMSknIGEgZ29vZCBzb2x1dGlvbiBmb3Ig dGhpcz8NCj4gVGhhbmtzIQ0KPg0KPg0KPiBqdXpoZS56aG9uZ0ByaXZhaS5haQ0KPiAgDQo+IEZy b206IFJpY2hhcmQgU2FuZGlmb3JkDQo+IERhdGU6IDIwMjItMDgtMTkgMTY6MDMNCj4gVG86IGp1 emhlLnpob25nDQo+IENDOiBnY2MtcGF0Y2hlczsgcmd1ZW50aGVyOyBraXRvLmNoZW5nDQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0hdIG1pZGRsZS1lbmQ6IHNraXBwIHN0ZXBwZWQgdmVjdG9yIHRlc3Qg b2YgcG9seV9pbnQgKDEsIDEpIGFuZCBhbGxvdyB0aGUgbWFjaGluZV9tb2RlIGRlZmluaXRpb24g d2l0aCBwb2x5X3VpbnQxNiAoMSwgMSkNCj4ganV6aGUuemhvbmdAcml2YWkuYWkgd3JpdGVzOg0K Pj4gRnJvbTogemhvbmdqdXpoZSA8anV6aGUuemhvbmdAcml2YWkuYWk+DQo+Pg0KPj4gSGVsbG8u IFRoaXMgcGF0Y2ggaXMgcHJlcGFyaW5nIGZvciBmb2xsb3dpbmcgUlZWIHN1cHBvcnQuDQo+Pg0K Pj4gQm90aCBBUk0gU1ZFIGFuZCBSVlYgKFJJU0MtViAnVicgRXh0ZW5zaW9uKSBzdXBwb3J0IGxl bmd0aC1hZ25vc3RpYyB2ZWN0b3IuDQo+PiBUaGUgbWluaW11bSB2ZWN0b3IgbGVuZ3RoIG9mIEFS TSBTVkUgaXMgMTI4LWJpdCBhbmQgdGhlIHJ1bnRpbWUgaW52YXJpYW50IG9mIEFSTSBTVkUgaXMg YWx3YXlzIDEyOC1iaXQgYmxvY2tzLg0KPj4gSG93ZXZlciwgdGhlIG1pbmltdW0gdmVjdG9yIGxl bmd0aCBvZiBSVlYgY2FuIGJlIDMyYml0IGluICdadmUzMionIHN1Yi1leHRlbnNpb24gYW5kIDY0 Yml0IGluICdadmUqJyBzdWItZXh0ZW5zaW9uLg0KPj4NCj4+IFNvIEkgZGVmaW5lIHRoZSBtYWNo aW5lX21vZGUgYXMgZm9sbG93czoNCj4+IFZFQ1RPUl9NT0RFX1dJVEhfUFJFRklYIChWTngsIElO VCwgREksIDEsIDApOw0KPj4gQURKVVNUX05VTklUUyAoTU9ERSwgcmlzY3ZfdmVjdG9yX2NodW5r cyk7DQo+PiBUaGUgcmlzY3ZfdmVjdG9yX2NodW5rcyA9IHBvbHlfdWludDE2ICgxLCAxKQ0KPj4N Cj4+IFRoZSBjb21waWxhdGlvbiBpcyBmYWlsZWQgZm9yIHRoZSBzdGVwcGVkIHZlY3RvciB0ZXN0 Og0KPj4gKGNvbnN0X3ZlY3RvcjpWTngxREkgcmVwZWF0IFsNCj4+ICAgICAgICAgKGNvbnN0X2lu dCA4IFsweDhdKQ0KPj4gICAgICAgICAoY29uc3RfaW50IDcgWzB4N10pDQo+PiAgICAgXSkNCj4+ DQo+PiBJIHVuZGVyc3RhbmQgZm9yIHN0ZXBwZWQgdmVjdG9yIHNob3VsZCBhbHdheXMgaGF2ZSBh bGVhc3QgMiBlbGVtZW50cyBhbmQgc3RlcHBlZCB2ZWN0b3IgaW5pdGlhbGl6YXRpb24gaXMgY29t bW9uDQo+PiBmb3IgVkxBICh2ZWN0b3ItbGVuZ3RoZSBhZ25vc3RpYykgYXV0by12ZWN0b3JpemF0 aW9uLiBJdCBtYWtlcyBzZW5zZSB0aGF0IHJlcG9ydCBmYWlsIGZvciBzdGVwcGVkIHZlY3RvciBv ZiBwb2x5X3VpbnQxNiAoMSwgMSkuDQo+Pg0KPj4gbWFjaGluZSBtb2RlIHdpdGggbnVuaXRzID0g cG9seV91aW50MTYgKDEsIDEpIG5lZWRzIHRvIGltcGxlbWVudGVkIGluIGludHJpbnNpY3MuIEFu ZCBJIHdvdWxkIGxpa2UgdG8gZW5hYmxlIFJWViBhdXRvLXZlY3Rvcml6YXRpb24NCj4+IHdpdGgg dmVjdG9yIG1vZGUgb25seSBudW5pdHMgaXMgbGFyZ2VyIHRoYW4gcG9seV91aW50MTYgKDIsIDIp IGluIFJJU0MtViBiYWNrZW5kLiBJIHRoaW5rIGl0IHdpbGwgbm90IGNyZWF0ZSBpc3N1ZSBpZiB3 ZSBkZWZpbmUNCj4+IHZlY3RvciBtb2RlIHdpdGggbnVuaXRzID0gcG9seV91aW50MTYgKDEsIDEp LiBGZWVsIGZyZWUgdG8gY29ycmVjdCBtZSBvciBvZmZlciBtZSBzb21lIG90aGVyIGJldHRlciBz b2x1dGlvbnMuIFRoYW5rcyENCj4+DQo+PiAgIA0KPj4NCj4+IGdjYy9DaGFuZ2VMb2c6DQo+Pg0K Pj4gICAgICAgICAqIHNpbXBsaWZ5LXJ0eC5jYyAodGVzdF92ZWN0b3Jfc3VicmVnc19mb3JlX2Jh Y2spOiBza2lwIHRlc3QgZm9yIHBvbHlfdWludDE2ICgxLCAxKS4NCj4+DQo+PiAtLS0NCj4+ICBn Y2Mvc2ltcGxpZnktcnR4LmNjIHwgMiArLQ0KPj4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9nY2Mvc2ltcGxpZnktcnR4 LmNjIGIvZ2NjL3NpbXBsaWZ5LXJ0eC5jYw0KPj4gaW5kZXggN2QwOWJmNzEwM2QuLjYxZTBkZmEw MGQwIDEwMDY0NA0KPj4gLS0tIGEvZ2NjL3NpbXBsaWZ5LXJ0eC5jYw0KPj4gKysrIGIvZ2NjL3Np bXBsaWZ5LXJ0eC5jYw0KPj4gQEAgLTg0MzgsNyArODQzOCw3IEBAIHRlc3RfdmVjdG9yX3N1YnJl Z3NfZm9yZV9iYWNrIChtYWNoaW5lX21vZGUgaW5uZXJfbW9kZSkNCj4+ICAgIHJ0eCB4ID0gYnVp bGRlci5idWlsZCAoKTsNCj4+ICANCj4+ICAgIHRlc3RfdmVjdG9yX3N1YnJlZ3NfbW9kZXMgKHgp Ow0KPj4gLSAgaWYgKCFudW5pdHMuaXNfY29uc3RhbnQgKCkpDQo+PiArICBpZiAoIW51bml0cy5p c19jb25zdGFudCAoKSAmJiBrbm93bl9uZSAobnVuaXRzLCBwb2x5X3VpbnQxNiAoMSwgMSkpKQ0K Pj4gICAgICB0ZXN0X3ZlY3Rvcl9zdWJyZWdzX21vZGVzICh4LCBudW5pdHMgLSBtaW5fbnVuaXRz LCBjb3VudCk7DQo+ICANCj4gSSB0aGluayBpbnN0ZWFkIHdlIHNob3VsZCB1c2UgbWF5YmVfZ3Qg KG51bml0cywgMSksIG9uIHRoZSBiYXNpcyB0aGF0DQo+IHRoZSBmb3JlX2JhY2sgdGVzdHMgcmVx dWlyZSB2ZWN0b3JzIHRoYXQgaGF2ZSBhIG1pbmltdW0gb2YgMiBlbGVtZW50cy4NCj4gU29tZXRo aW5nIGxpa2UgcG9seV91aW50MTYgKDEsIDIpIHdvdWxkIGhhdmUgdGhlIHNhbWUgcHJvYmxlbSBh cw0KPiBwb2x5X3VpbnQxNiAoMSwgMSkuICAoezEsIDJ9IGlzIGFuIHVubGlrZWx5IHZhbHVlLCBi dXQgaXQncyBPSyBpbg0KPiBwcmluY2lwbGUuKQ0KPiAgDQo+IFRoaXMgY29ycmVzcG9uZHMgdG8g dGhlIG1pbmltdW0gb2YgMyBlbGVtZW50cyBmb3IgdGhlIHN0ZXBwZWQgdGVzdHM6DQo+ICANCj4g ICBpZiAoR0VUX01PREVfQ0xBU1MgKG1vZGUpID09IE1PREVfVkVDVE9SX0lOVA0KPiAgICAgICAm JiBtYXliZV9ndCAoR0VUX01PREVfTlVOSVRTIChtb2RlKSwgMikpDQo+ICAgICB7DQo+ICAgICAg IHRlc3RfdmVjdG9yX29wc19zZXJpZXMgKG1vZGUsIHNjYWxhcl9yZWcpOw0KPiAgICAgICB0ZXN0 X3ZlY3Rvcl9zdWJyZWdzIChtb2RlKTsNCj4gICAgIH0NCj4gIA0KPiBUaGFua3MsDQo+IFJpY2hh cmQNCj4gIA0KIA0K