From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) by sourceware.org (Postfix) with ESMTPS id 63BF5385E019 for ; Wed, 20 Dec 2023 06:59:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 63BF5385E019 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 63BF5385E019 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.206.16.166 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703055547; cv=none; b=ceIAfDEii3TfjM0j6g68f3OV8XAEm1B4chHRijcuKFExfv+MGTPcJK84yV3S0zoMfEeF+I1LkDMa3X7bINJ8UdKT1gUEs3H7I5Mrvs4HAcrPA/LfM1c6Nfar4r4/UJmda89YqfpWgdaGKtmRJPKP9lUlYdPK4G0pk/Pfl6J9PVc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703055547; c=relaxed/simple; bh=TICn+kfjczV3cNQ7WntbIT/7zU+WYAgTmrDqB4H30qM=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=CQ6NDQ+KOM+FB7x1t82HzGlslZFgT0sHGGRcxJniCOjCUpYY+Qja3JLb7YH5Yqr254utshqYFvG+I5NG8Vr+R9CILmv4LBJuBPYbrGRHKwEk2xvcSTAa9W0fpcoWRj3z6RD8UF3Mh3gmuHlypi6KydNqyoB21SwZv3sEkJkgsGs= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp72t1703055531ta3s87fu Received: from LAPTOP-EPITNQBU ( [58.60.1.10]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 20 Dec 2023 14:58:50 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: ERSZEewZJumllVev131wxFt+66PWA/gvtGyvIdzE5HAFdHeD8EaPy+3mAdT2s jWwc5Jm9xech6C3oczQoEFXVtR/B03Pg6J4OQXX9htYma2b3lJFbuCERS2F+CiWB4+Md9dj k++R4hatZYTcOFoAhLsmTM0IQ/zVCrtsK3IOLtarzv0FkO3kjSSwBMRQxLbxXnkT3vYq/JW XGG74S1B7PqkjNpVKPxRgHtMq999adD8G34Qe/LcSkNMTFwjV553c0XCy+0Jj4XnzPhVbBL DM+tsHrkh9ow+m/C2PL+vr8FdC8I+/FtA6i4JOHt7KwESGXea91szOFVovcOZbGz4vOqdUr BZT9M0uTN9lAjruFz7ib5ezs2PuSdgcaRi32eJw+QTUJzzxRLuqP0hhWLzF/w0YWyvgHT1M VdVfnD7M9qW/VYzAVNzwrKX/jjffwptQhSl0JMkcgyM= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 14999281617043547803 Date: Wed, 20 Dec 2023 14:58:51 +0800 From: "juzhe.zhong@rivai.ai" To: pan2.li , gcc-patches Cc: pan2.li , yanzhang.wang , kito.cheng , jeffreyalaw Subject: Re: [PATCH v2] RISC-V: Bugfix for the const vector in single steps References: <20231220023922.1076198-1-pan2.li@intel.com>, <20231220065606.2695737-1-pan2.li@intel.com> X-Priority: 3 X-GUID: C9677766-AC4D-4290-B615-C90020F94EE0 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <36B12A3075EC86C8+2023122014585062915715@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart503143333666_=----" 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,KAM_SHORT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,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_NextPart503143333666_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 KwkgICAgICBib29sIGRpZmZfc2VxX3JlcGVhdGVkX3AgPSB0cnVlOworCisJ ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHYubnBhdHRlcm5zICgp OyBpKyspCisJCXsKKwkJICBwb2x5X2ludDY0IGRpZmZfMCA9IHJ0eF90b19w b2x5X2ludDY0IChidWlsZGVyLmVsdCAoaSkpIC0gaTsKKwkJICBwb2x5X2lu dDY0IGRpZmZfMSA9IHJ0eF90b19wb2x5X2ludDY0ICgKKwkJICAgIGJ1aWxk ZXIuZWx0ICh2Lm5wYXR0ZXJucyAoKSArIGkpKSAtIHYubnBhdHRlcm5zICgp IC0gaTsKKworCQkgIGlmIChtYXliZV9uZSAoZGlmZl8wLCBkaWZmXzEpKQor CQkgICAgeworCQkgICAgICBkaWZmX3NlcV9yZXBlYXRlZF9wID0gZmFsc2U7 CisJCSAgICAgIGJyZWFrOworCQkgICAgfQorCQl9DQoNClRoaXMgY29kZSBz aG91bGQgYmUgd3JhcHBlZCBhcyBhIGhlbHBlciBmdW5jdGlvbiBpbnNpZGUg Y2xhc3MgcnZ2X2J1aWxkZXINCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0K IA0KRnJvbTogcGFuMi5saQ0KRGF0ZTogMjAyMy0xMi0yMCAxNDo1Ng0KVG86 IGdjYy1wYXRjaGVzDQpDQzoganV6aGUuemhvbmc7IHBhbjIubGk7IHlhbnpo YW5nLndhbmc7IGtpdG8uY2hlbmc7IGplZmZyZXlhbGF3DQpTdWJqZWN0OiBb UEFUQ0ggdjJdIFJJU0MtVjogQnVnZml4IGZvciB0aGUgY29uc3QgdmVjdG9y IGluIHNpbmdsZSBzdGVwcw0KRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVs LmNvbT4NCiANClRoaXMgcGF0Y2ggd291bGQgbGlrZSB0byBmaXggdGhlIGJl bG93IGV4ZWN1dGlvbiBmYWlsdXJlLg0KIA0KRkFJTDogZ2NjLmRnL3ZlY3Qv cHI5MjQyMC5jIC1mbHRvIC1mZmF0LWx0by1vYmplY3RzIGV4ZWN1dGlvbiB0 ZXN0DQogDQpUaGUgd2lsbCBiZSBvbmUgc2luZ2xlIHN0ZXAgY29uc3QgdmVj dG9yIGxpa2UgeyAtNCwgNCwgLTMsIDUsIC0yLCA2LCAtMSwgNywgLi4ufS4N CkZvciBzdWNoIGNvbnN0IHZlY3RvciBnZW5lcmF0aW9uIHdpdGggc2luZ2xl IHN0ZXAsIHdlIHdpbGwgZ2VuZXJhdGUgdmlkDQorIGRpZmYgaGVyZS4gRm9y IGV4YW1wbGUgYXMgYmVsb3csIGdpdmVuIG5wYXR0ZXJucyA9IDQuDQogDQp2 MT0gezMsIDIsIDEsIDAsIDcsIDYsIDUsIDQsIDExLCAxMCwgOSwgOC4uLiB9 DQp2MiAoZGlmZikgPSB7MyAtIDAsIDIgLSAxLCAxIC0gMiwgMCAtIDMsIDcg LSA0LCA2IC0gNSwgNSAtIDYsIDQgLSA3Li4ufQ0KICAgICAgICAgID0gezMs IDEsIC0xLCAzLCAzLCAxLCAtMSwgMyAuLi59DQp2MSA9IHZkICsgdmlkLg0K IA0KVW5mb3J0dW5hdGVseSwgdGhhdCBjYW5ub3Qgd29yayB3ZWxsIGZvciB7 IC00LCA0LCAtMywgNSwgLTIsIDYsIC0xLCA3LCAuLi59DQpiZWNhdXNlIGl0 IGhhcyBvbmUgaW1wbGljaXQgcmVxdWlyZW1lbnQgZm9yIHRoZSBkaWZmLiBB a2EsIHRoZSBkaWZmDQpzZXF1ZW5jZSBpbiBucGF0dGVybiBhcmUgcmVwZWF0 ZWQuIEZvciBleGFtcGxlIHRoZSB2MiAoZGlmZikgYXMgYWJvdmUuDQogDQpU aGUgZGlmZiBiZXR3ZWVuIHsgLTQsIDQsIC0zLCA1LCAtMiwgNiwgLTEsIDcs IC4uLn0gYW5kIHZpZCBhcmUgbm90DQpucGF0dGVybiBzaXplIHJlcGVhdGVk IGFuZCB0aGVuIHdlIGhhdmUgd3JvbmcgY29kZSBoZXJlLiBXZSBpbXBsZW1l bnQNCm9uZSBuZXcgY29kZSBnZW4gdGhlIHNlcXVlbmNlIGxpa2UgeyAtNCwg NCwgLTMsIDUsIC0yLCA2LCAtMSwgNywgLi4ufS4NCiANClRoZSBiZWxvdyB0 ZXN0cyBhcmUgcGFzc2VkIGZvciB0aGlzIHBhdGNoLg0KIA0KKiBUaGUgUlY2 NCByZWdyZXNzaW9uIHRlc3Qgd2l0aCBydjY0Z2N2IGNvbmZpZ3VyYXRpb24u DQoqIFRoZSBydW4gdGVzdCBnY2MuZGcvdmVjdC9wcjkyNDIwLmMgZm9yIGJl bG93IGNvbmZpZ3VyYXRpb25zLg0KIA0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0 Z2N2Ly1tYWJpPWxwNjRkLy1tY21vZGVsPW1lZGxvdw0KcmlzY3Ytc2ltLy1t YXJjaD1ydjY0Z2N2Ly1tYWJpPWxwNjRkLy1tY21vZGVsPW1lZGxvdy8tLXBh cmFtPXJpc2N2LWF1dG92ZWMtbG11bD1tMQ0KcmlzY3Ytc2ltLy1tYXJjaD1y djY0Z2N2Ly1tYWJpPWxwNjRkLy1tY21vZGVsPW1lZGxvdy8tLXBhcmFtPXJp c2N2LWF1dG92ZWMtbG11bD1tMS8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtcHJl ZmVyZW5jZT1maXhlZC12bG1heA0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0Z2N2 Ly1tYWJpPWxwNjRkLy1tY21vZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1 dG92ZWMtbG11bD1tMg0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0Z2N2Ly1tYWJp PWxwNjRkLy1tY21vZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMt bG11bD1tMi8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtcHJlZmVyZW5jZT1maXhl ZC12bG1heA0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0Z2N2Ly1tYWJpPWxwNjRk Ly1tY21vZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1t NA0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0Z2N2Ly1tYWJpPWxwNjRkLy1tY21v ZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1tNC8tLXBh cmFtPXJpc2N2LWF1dG92ZWMtcHJlZmVyZW5jZT1maXhlZC12bG1heA0Kcmlz Y3Ytc2ltLy1tYXJjaD1ydjY0Z2N2Ly1tYWJpPWxwNjRkLy1tY21vZGVsPW1l ZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1tOA0KcmlzY3Ytc2lt Ly1tYXJjaD1ydjY0Z2N2Ly1tYWJpPWxwNjRkLy1tY21vZGVsPW1lZGxvdy8t LXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1tOC8tLXBhcmFtPXJpc2N2LWF1 dG92ZWMtcHJlZmVyZW5jZT1maXhlZC12bG1heA0KcmlzY3Ytc2ltLy1tYXJj aD1ydjY0Z2N2X3p2bDI1NmIvLW1hYmk9bHA2NGQvLW1jbW9kZWw9bWVkbG93 Ly0tcGFyYW09cmlzY3YtYXV0b3ZlYy1sbXVsPW0xDQpyaXNjdi1zaW0vLW1h cmNoPXJ2NjRnY3ZfenZsMjU2Yi8tbWFiaT1scDY0ZC8tbWNtb2RlbD1tZWRs b3cvLS1wYXJhbT1yaXNjdi1hdXRvdmVjLWxtdWw9bTEvLS1wYXJhbT1yaXNj di1hdXRvdmVjLXByZWZlcmVuY2U9Zml4ZWQtdmxtYXgNCnJpc2N2LXNpbS8t bWFyY2g9cnY2NGdjdl96dmwyNTZiLy1tYWJpPWxwNjRkLy1tY21vZGVsPW1l ZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1tMg0KcmlzY3Ytc2lt Ly1tYXJjaD1ydjY0Z2N2X3p2bDI1NmIvLW1hYmk9bHA2NGQvLW1jbW9kZWw9 bWVkbG93Ly0tcGFyYW09cmlzY3YtYXV0b3ZlYy1sbXVsPW0yLy0tcGFyYW09 cmlzY3YtYXV0b3ZlYy1wcmVmZXJlbmNlPWZpeGVkLXZsbWF4DQpyaXNjdi1z aW0vLW1hcmNoPXJ2NjRnY3ZfenZsMjU2Yi8tbWFiaT1scDY0ZC8tbWNtb2Rl bD1tZWRsb3cvLS1wYXJhbT1yaXNjdi1hdXRvdmVjLWxtdWw9bTQNCnJpc2N2 LXNpbS8tbWFyY2g9cnY2NGdjdl96dmwyNTZiLy1tYWJpPWxwNjRkLy1tY21v ZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1tNC8tLXBh cmFtPXJpc2N2LWF1dG92ZWMtcHJlZmVyZW5jZT1maXhlZC12bG1heA0Kcmlz Y3Ytc2ltLy1tYXJjaD1ydjY0Z2N2X3p2bDI1NmIvLW1hYmk9bHA2NGQvLW1j bW9kZWw9bWVkbG93Ly0tcGFyYW09cmlzY3YtYXV0b3ZlYy1sbXVsPW04DQpy aXNjdi1zaW0vLW1hcmNoPXJ2NjRnY3ZfenZsMjU2Yi8tbWFiaT1scDY0ZC8t bWNtb2RlbD1tZWRsb3cvLS1wYXJhbT1yaXNjdi1hdXRvdmVjLWxtdWw9bTgv LS1wYXJhbT1yaXNjdi1hdXRvdmVjLXByZWZlcmVuY2U9Zml4ZWQtdmxtYXgN CnJpc2N2LXNpbS8tbWFyY2g9cnY2NGdjdl96dmw1MTJiLy1tYWJpPWxwNjRk Ly1tY21vZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1t MQ0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0Z2N2X3p2bDUxMmIvLW1hYmk9bHA2 NGQvLW1jbW9kZWw9bWVkbG93Ly0tcGFyYW09cmlzY3YtYXV0b3ZlYy1sbXVs PW0xLy0tcGFyYW09cmlzY3YtYXV0b3ZlYy1wcmVmZXJlbmNlPWZpeGVkLXZs bWF4DQpyaXNjdi1zaW0vLW1hcmNoPXJ2NjRnY3ZfenZsNTEyYi8tbWFiaT1s cDY0ZC8tbWNtb2RlbD1tZWRsb3cvLS1wYXJhbT1yaXNjdi1hdXRvdmVjLWxt dWw9bTINCnJpc2N2LXNpbS8tbWFyY2g9cnY2NGdjdl96dmw1MTJiLy1tYWJp PWxwNjRkLy1tY21vZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1dG92ZWMt bG11bD1tMi8tLXBhcmFtPXJpc2N2LWF1dG92ZWMtcHJlZmVyZW5jZT1maXhl ZC12bG1heA0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0Z2N2X3p2bDUxMmIvLW1h Ymk9bHA2NGQvLW1jbW9kZWw9bWVkbG93Ly0tcGFyYW09cmlzY3YtYXV0b3Zl Yy1sbXVsPW00DQpyaXNjdi1zaW0vLW1hcmNoPXJ2NjRnY3ZfenZsNTEyYi8t bWFiaT1scDY0ZC8tbWNtb2RlbD1tZWRsb3cvLS1wYXJhbT1yaXNjdi1hdXRv dmVjLWxtdWw9bTQvLS1wYXJhbT1yaXNjdi1hdXRvdmVjLXByZWZlcmVuY2U9 Zml4ZWQtdmxtYXgNCnJpc2N2LXNpbS8tbWFyY2g9cnY2NGdjdl96dmw1MTJi Ly1tYWJpPWxwNjRkLy1tY21vZGVsPW1lZGxvdy8tLXBhcmFtPXJpc2N2LWF1 dG92ZWMtbG11bD1tOA0KcmlzY3Ytc2ltLy1tYXJjaD1ydjY0Z2N2X3p2bDUx MmIvLW1hYmk9bHA2NGQvLW1jbW9kZWw9bWVkbG93Ly0tcGFyYW09cmlzY3Yt YXV0b3ZlYy1sbXVsPW04Ly0tcGFyYW09cmlzY3YtYXV0b3ZlYy1wcmVmZXJl bmNlPWZpeGVkLXZsbWF4DQogDQpnY2MvQ2hhbmdlTG9nOg0KIA0KKiBjb25m aWcvcmlzY3YvcmlzY3Ytdi5jYyAoZXhwYW5kX2NvbnN0X3ZlY3Rvcik6IEFk ZCByZXN0cmljdGlvbg0KZm9yIHRoZSB2aWQtZGlmZiBjb2RlIGdlbiBhbmQg aW1wbGVtZW50IGdlbmVyYWwgb25lLg0KIA0KZ2NjL3Rlc3RzdWl0ZS9DaGFu Z2VMb2c6DQogDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvYnVn LTcuYzogTmV3IHRlc3QuDQogDQpTaWduZWQtb2ZmLWJ5OiBQYW4gTGkgPHBh bjIubGlAaW50ZWwuY29tPg0KLS0tDQpnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXYuY2MgICAgICAgICAgICAgICAgICAgfCA4NCArKysrKysrKysrKysrKyst LS0tDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9idWctNy5j ICAgICAgfCA2MSArKysrKysrKysrKysrKw0KMiBmaWxlcyBjaGFuZ2VkLCAx MzAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pDQpjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9h dXRvdmVjL2J1Zy03LmMNCiANCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXYuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MN CmluZGV4IDQ4NmY1ZGViMjk2Li41YTU4OTllODVhZSAxMDA2NDQNCi0tLSBh L2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYw0KKysrIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi12LmNjDQpAQCAtMTI1NywyNCArMTI1Nyw3OCBAQCBl eHBhbmRfY29uc3RfdmVjdG9yIChydHggdGFyZ2V0LCBydHggc3JjKQ0KICBl bHNlDQogICAgew0KICAgICAgLyogR2VuZXJhdGUgdGhlIHZhcmlhYmxlLWxl bmd0aCB2ZWN0b3IgZm9sbG93aW5nIHRoaXMgcnVsZToNCi0geyBhLCBiLCBh LCBiLCBhICsgc3RlcCwgYiArIHN0ZXAsIGEgKyBzdGVwKjIsIGIgKyBzdGVw KjIsIC4uLn0NCi0gICAgRS5nLiB7IDMsIDIsIDEsIDAsIDcsIDYsIDUsIDQs IC4uLiB9ICovDQotICAgICAgIC8qIFN0ZXAgMjogR2VuZXJhdGUgZGlmZiA9 IFRBUkdFVCAtIFZJRDoNCi0geyAzLTAsIDItMSwgMS0yLCAwLTMsIDctNCwg Ni01LCA1LTYsIDQtNywgLi4uIH0qLw0KKyB7IGEsIGIsIGEgKyBzdGVwLCBi ICsgc3RlcCwgYSArIHN0ZXAqMiwgYiArIHN0ZXAqMiwgLi4uIH0gICovDQog ICAgICBydnZfYnVpbGRlciB2IChidWlsZGVyLm1vZGUgKCksIGJ1aWxkZXIu bnBhdHRlcm5zICgpLCAxKTsNCi0gICAgICAgZm9yICh1bnNpZ25lZCBpbnQg aSA9IDA7IGkgPCB2Lm5wYXR0ZXJucyAoKTsgKytpKQ0KKyAgICAgICBib29s IGRpZmZfc2VxX3JlcGVhdGVkX3AgPSB0cnVlOw0KKw0KKyAgICAgICBmb3Ig KHVuc2lnbmVkIGkgPSAwOyBpIDwgdi5ucGF0dGVybnMgKCk7IGkrKykNCisg ew0KKyAgIHBvbHlfaW50NjQgZGlmZl8wID0gcnR4X3RvX3BvbHlfaW50NjQg KGJ1aWxkZXIuZWx0IChpKSkgLSBpOw0KKyAgIHBvbHlfaW50NjQgZGlmZl8x ID0gcnR4X3RvX3BvbHlfaW50NjQgKA0KKyAgICAgYnVpbGRlci5lbHQgKHYu bnBhdHRlcm5zICgpICsgaSkpIC0gdi5ucGF0dGVybnMgKCkgLSBpOw0KKw0K KyAgIGlmIChtYXliZV9uZSAoZGlmZl8wLCBkaWZmXzEpKQ0KKyAgICAgew0K KyAgICAgICBkaWZmX3NlcV9yZXBlYXRlZF9wID0gZmFsc2U7DQorICAgICAg IGJyZWFrOw0KKyAgICAgfQ0KKyB9DQorDQorICAgICAgIGlmIChkaWZmX3Nl cV9yZXBlYXRlZF9wKQ0KKyB7DQorICAgLyogQ2FzZSAxOiBGb3IgZXhhbXBs ZSBhcyBiZWxvdzoNCisgICAgICB7MywgMiwgMSwgMCwgNywgNiwgNSwgNCwg MTEsIDEwLCA5LCA4Li4uIH0NCisgICAgICBXZSBoYXZlIDMgLSAwID0gMyBl cXVhbHMgNyAtIDQgPSAzLCB0aGUgc2VxdWVuY2UgaXMNCisgICAgICByZXBl YXRlZCBhcyBiZWxvdyBhZnRlciBtaW51cyB2aWQuDQorICAgICAgezMsIDEs IC0xLCAtMywgMywgMSwgLTEsIC0zLi4ufQ0KKyAgICAgIFRoZW4gd2UgY2Fu IHNpbXBsaWZ5IHRoZSBkaWZmIGNvZGUgZ2VuIHRvIGF0IG1vc3QNCisgICAg ICBucGF0dGVybnMoKS4gICovDQorDQorICAgLyogU3RlcCAxOiBHZW5lcmF0 ZSBkaWZmID0gVEFSR0VUIC0gVklELiAgKi8NCisgICBmb3IgKHVuc2lnbmVk IGludCBpID0gMDsgaSA8IHYubnBhdHRlcm5zICgpOyArK2kpDQorICAgICB7 DQorICAgICAgcG9seV9pbnQ2NCBkaWZmID0gcnR4X3RvX3BvbHlfaW50NjQg KGJ1aWxkZXIuZWx0IChpKSkgLSBpOw0KKyAgICAgIHYucXVpY2tfcHVzaCAo Z2VuX2ludF9tb2RlIChkaWZmLCB2LmlubmVyX21vZGUgKCkpKTsNCisgICAg IH0NCisNCisgICAvKiBTdGVwIDI6IEdlbmVyYXRlIHJlc3VsdCA9IFZJRCAr IGRpZmYuICAqLw0KKyAgIHJ0eCB2ZWMgPSB2LmJ1aWxkICgpOw0KKyAgIHJ0 eCBhZGRfb3BzW10gPSB7dGFyZ2V0LCB2aWQsIHZlY307DQorICAgZW1pdF92 bG1heF9pbnNuIChjb2RlX2Zvcl9wcmVkIChQTFVTLCBidWlsZGVyLm1vZGUg KCkpLA0KKyAgICBCSU5BUllfT1AsIGFkZF9vcHMpOw0KKyB9DQorICAgICAg IGVsc2UNCnsNCi0gICAvKiBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiB0 aGUgdGFyZ2V0IHNlcXVlbmNlIGFuZA0KLSAgICAgIHZpZCBzZXF1ZW5jZS4g IFRoZSBlbHQgKGkpIGNhbiBiZSBlaXRoZXIgY29uc3RfaW50IG9yDQotICAg ICAgY29uc3RfcG9seV9pbnQuICovDQotICAgcG9seV9pbnQ2NCBkaWZmID0g cnR4X3RvX3BvbHlfaW50NjQgKGJ1aWxkZXIuZWx0IChpKSkgLSBpOw0KLSAg IHYucXVpY2tfcHVzaCAoZ2VuX2ludF9tb2RlIChkaWZmLCB2LmlubmVyX21v ZGUgKCkpKTsNCisgICAvKiBDYXNlIDI6IEZvciBleGFtcGxlIGFzIGJlbG93 Og0KKyAgICAgIHsgLTQsIDQsIC00ICsgMSwgNCArIDEsIC00ICsgMiwgNCAr IDIsIC00ICsgMywgNCArIDMsIC4uLiB9DQorICAgICovDQorDQorICAgLyog U3RlcCAxOiBHZW5lcmF0ZSB7IGEsIGIsIGEsIGIsIC4uLiB9ICAqLw0KKyAg IGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgdi5ucGF0dGVybnMgKCk7 ICsraSkNCisgICAgIHYucXVpY2tfcHVzaCAoYnVpbGRlci5lbHQgKGkpKTsN CisgICBydHggbmV3X2Jhc2UgPSB2LmJ1aWxkICgpOw0KKw0KKyAgIC8qIFN0 ZXAgMjogR2VuZXJhdGUgdG1wID0gVklEID4+IExPRzIgKE5QQVRURVJOUyku ICAqLw0KKyAgIHJ0eCBzaGlmdF9jb3VudA0KKyAgICAgPSBnZW5faW50X21v ZGUgKGV4YWN0X2xvZzIgKGJ1aWxkZXIubnBhdHRlcm5zICgpKSwNCisgICAg IGJ1aWxkZXIuaW5uZXJfbW9kZSAoKSk7DQorICAgcnR4IHRtcCA9IGV4cGFu ZF9zaW1wbGVfYmlub3AgKGJ1aWxkZXIubW9kZSAoKSwgTFNISUZUUlQsDQor IHZpZCwgc2hpZnRfY291bnQsIE5VTExfUlRYLA0KKyBmYWxzZSwgT1BUQUJf RElSRUNUKTsNCisNCisgICAvKiBTdGVwIDM6IEdlbmVyYXRlIHRtcDIgPSB0 bXAgKiBzdGVwLiAgKi8NCisgICBydHggdG1wMiA9IGdlbl9yZWdfcnR4IChi dWlsZGVyLm1vZGUgKCkpOw0KKyAgIHJ0eCBzdGVwDQorICAgICA9IHNpbXBs aWZ5X2JpbmFyeV9vcGVyYXRpb24gKE1JTlVTLCBidWlsZGVyLmlubmVyX21v ZGUgKCksDQorIGJ1aWxkZXIuZWx0ICh2Lm5wYXR0ZXJucygpKSwNCisgYnVp bGRlci5lbHQgKDApKTsNCisgICBleHBhbmRfdmVjX3NlcmllcyAodG1wMiwg Y29uc3QwX3J0eCwgc3RlcCwgdG1wKTsNCisNCisgICAvKiBTdGVwIDQ6IEdl bmVyYXRlIHRhcmdldCA9IHRtcDIgKyBuZXdfYmFzZS4gICovDQorICAgcnR4 IGFkZF9vcHNbXSA9IHt0YXJnZXQsIHRtcDIsIG5ld19iYXNlfTsNCisgICBl bWl0X3ZsbWF4X2luc24gKGNvZGVfZm9yX3ByZWQgKFBMVVMsIGJ1aWxkZXIu bW9kZSAoKSksDQorICAgIEJJTkFSWV9PUCwgYWRkX29wcyk7DQp9DQotICAg ICAgIC8qIFN0ZXAgMjogR2VuZXJhdGUgcmVzdWx0ID0gVklEICsgZGlmZi4g ICovDQotICAgICAgIHJ0eCB2ZWMgPSB2LmJ1aWxkICgpOw0KLSAgICAgICBy dHggYWRkX29wc1tdID0ge3RhcmdldCwgdmlkLCB2ZWN9Ow0KLSAgICAgICBl bWl0X3ZsbWF4X2luc24gKGNvZGVfZm9yX3ByZWQgKFBMVVMsIGJ1aWxkZXIu bW9kZSAoKSksDQotIEJJTkFSWV9PUCwgYWRkX29wcyk7DQogICAgfQ0KfQ0K ICAgICAgIGVsc2UgaWYgKGJ1aWxkZXIuaW50ZXJsZWF2ZWRfc3RlcHBlZF9u cGF0dGVybnNfcCAoKSkNCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvYnVnLTcuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9idWctNy5jDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjlhY2Fj MzkxZjY1DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvYnVnLTcuYw0KQEAgLTAsMCAr MSw2MSBAQA0KKy8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IHsgcmlzY3ZfdiB9 IH0gfSAqLw0KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItc3RkPWM5 OSAtTzMgLWZ0cmVlLXZlY3Rvcml6ZSAtZm5vLXZlY3QtY29zdC1tb2RlbCAt ZmZhc3QtbWF0aCIgfSAqLw0KKw0KKyNkZWZpbmUgTiA0DQorc3RydWN0IEMg eyBpbnQgbCwgcjsgfTsNCitzdHJ1Y3QgQyBhW05dLCBiW05dLCBjW05dOw0K K3N0cnVjdCBDIGExW05dLCBiMVtOXSwgYzFbTl07DQorDQordm9pZCBfX2F0 dHJpYnV0ZV9fKChub2lubGluZSkpDQoraW5pdF9kYXRhX3ZlYyAoc3RydWN0 IEMgKiBfX3Jlc3RyaWN0IGEsIHN0cnVjdCBDICogX19yZXN0cmljdCBiLA0K KyAgICAgICAgc3RydWN0IEMgKiBfX3Jlc3RyaWN0IGMpDQorew0KKyAgaW50 IGk7DQorDQorICBmb3IgKGkgPSAwOyBpIDwgTjsgKytpKQ0KKyAgICB7DQor ICAgICAgYVtpXS5sID0gTiAtIGk7DQorICAgICAgYVtpXS5yID0gaSAtIE47 DQorDQorICAgICAgYltpXS5sID0gaSAtIE47DQorICAgICAgYltpXS5yID0g aSArIE47DQorDQorICAgICAgY1tpXS5sID0gLTEgLSBpOw0KKyAgICAgIGNb aV0uciA9IDIgKiBOIC0gMSAtIGk7DQorICAgIH0NCit9DQorDQoraW50DQor bWFpbiAoKQ0KK3sNCisgIGludCBpOw0KKw0KKyAgaW5pdF9kYXRhX3ZlYyAo YSwgYiwgYyk7DQorDQorI3ByYWdtYSBHQ0Mgbm92ZWN0b3INCisgIGZvciAo aSA9IDA7IGkgPCBOOyArK2kpDQorICAgIHsNCisgICAgICBhMVtpXS5sID0g TiAtIGk7DQorICAgICAgYTFbaV0uciA9IGkgLSBOOw0KKw0KKyAgICAgIGIx W2ldLmwgPSBpIC0gTjsNCisgICAgICBiMVtpXS5yID0gaSArIE47DQorDQor ICAgICAgYzFbaV0ubCA9IC0xIC0gaTsNCisgICAgICBjMVtpXS5yID0gMiAq IE4gLSAxIC0gaTsNCisgICAgfQ0KKw0KKyAgZm9yIChpID0gMDsgaSA8IE47 IGkrKykNCisgICAgew0KKyAgICAgIGlmIChhW2ldLmwgIT0gYTFbaV0ubCB8 fCBhW2ldLnIgIT0gYTFbaV0ucikNCisgX19idWlsdGluX2Fib3J0ICgpOw0K Kw0KKyAgICAgIGlmIChiW2ldLmwgIT0gYjFbaV0ubCB8fCBiW2ldLnIgIT0g YjFbaV0ucikNCisgX19idWlsdGluX2Fib3J0ICgpOw0KKw0KKyAgICAgIGlm IChjW2ldLmwgIT0gYzFbaV0ubCB8fCBjW2ldLnIgIT0gYzFbaV0ucikNCisg X19idWlsdGluX2Fib3J0ICgpOw0KKyAgICB9DQorDQorICByZXR1cm4gMDsN Cit9DQotLSANCjIuMzQuMQ0KIA0KIA0K ------=_001_NextPart503143333666_=------