From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 9359 invoked from network); 26 Apr 2023 07:25:40 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 26 Apr 2023 07:25:40 -0000 Received: (qmail 1686 invoked by uid 550); 26 Apr 2023 07:25:32 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 1645 invoked from network); 26 Apr 2023 07:25:30 -0000 X-Originating-IP: [104.249.174.122] Date: Wed, 26 Apr 2023 15:25:11 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: =?UTF-8?B?5byg6aOe?= To: musl@lists.openwall.com X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.15 build 20230321(1bf45b10) Copyright (c) 2002-2023 www.mailtech.cn cnic.cn In-Reply-To: <20230421133034.GS3630668@port70.net> References: <7ab4e713.9fae.1876e1ac122.Coremail.zhangfei@nj.iscas.ac.cn> <658c32ae.2348c.187980096c9.Coremail.zhangfei@nj.iscas.ac.cn> <20230419090210.GR3630668@port70.net> <4deb3986.247e1.1879dbd21b4.Coremail.zhangfei@nj.iscas.ac.cn> <20230421133034.GS3630668@port70.net> Content-Type: multipart/mixed; boundary="----=_Part_365689_197173445.1682493911505" MIME-Version: 1.0 Message-ID: <37ca1f0c.1a115.187bc73b1d2.Coremail.zhangfei@nj.iscas.ac.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID:qgCowABXn8fY0UhkFmAUAA--.28836W X-CM-SenderInfo: x2kd0whihlq03mol2u1dvotugofq/1tbiCQENEWRIfyPyuwAAst X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= Subject: Re: Re: Re: Re: [musl] memset_riscv64 ------=_Part_365689_197173445.1682493911505 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 SGnvvIEKSSB1c2VkIHlvdXIgdGVzdCBleGFtcGxlIGFuZCBtb2RpZmllZCB0aGUgY29kZSBmb3Ig dGhlIGxpbmsgeW91IHByb3ZpZGVkIHRvIGVuYWJsZSBpdCB0bwpydW4gb24gdGhlIHJpc2N2IHBs YXRmb3JtLCBqdXN0IGxpa2UgdGVzdF9tZW1zZXQxLmMgYW5kIHRlc3RfbWVtc2V0Mi5jLgoKSGVy ZSBhcmUgdGhlIHRlc3QgcmVzdWx0cyBmb3IgdGVzdF9tZW1zZXQxLmPvvJoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlyc3QgcnVuIHJlc3VsdAotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KICAgICAgICAgICAgICB8ICAgQyBsYW5ndWFnZSBpbXBsZW1lbnRhdGlvbiAgICAg IHwgQmFzaWMgaW5zdHJ1Y3Rpb24gaW1wbGVtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCnNpemUoYnl0ZXMpICAgfCAgbWluX3RpbWUocykgICAgICAgc3BlZWQoR0IvcykgICB8 ICBtaW5fdGltZShzKSAgICAgICBzcGVlZChHQi9zKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KMTYgICAgICAgICAgICB8ICAwLjAwMDAyMjE1MiAgICAgICAgICAwLjE4ICAgICAgIHwgIDAu MDAwMDIwODE4ICAgICAgICAgIDAuMjAgICAgICAgCjMyICAgICAgICAgICAgfCAgMC4wMDAwMjY5 NjggICAgICAgICAgMC4zMCAgICAgICB8ICAwLjAwMDAyMzM4MCAgICAgICAgICAwLjM1ICAgICAg IAo0OCAgICAgICAgICAgIHwgIDAuMDAwMDI3NDUwICAgICAgICAgIDAuNDUgICAgICAgfCAgMC4w MDAwMjM4NjAgICAgICAgICAgMC41MiAgICAgICAKNjQgICAgICAgICAgICB8ICAwLjAwMDAyOTIx NSAgICAgICAgICAwLjU2ICAgICAgIHwgIDAuMDAwMDI0MzQxICAgICAgICAgIDAuNjcgICAgICAg Cjk2ICAgICAgICAgICAgfCAgMC4wMDAwMzAxNzggICAgICAgICAgMC44MSAgICAgICB8ICAwLjAw MDAyNTMwMiAgICAgICAgICAwLjk3ICAgICAgIAoyMDAgICAgICAgICAgIHwgIDAuMDAwMDMzMjI4 ICAgICAgICAgIDEuNTQgICAgICAgfCAgMC4wMDAwMjc4NjQgICAgICAgICAgMS44NCAgICAgICAK MzAwICAgICAgICAgICB8ICAwLjAwMDAzNjI3OSAgICAgICAgICAyLjEyICAgICAgIHwgIDAuMDAw MDMxMjI3ICAgICAgICAgIDIuNDYgICAgICAgCjQwMCAgICAgICAgICAgfCAgMC4wMDAwMzk4MTAg ICAgICAgICAgMi41NyAgICAgICB8ICAwLjAwMDAzMzk0OSAgICAgICAgICAzLjAyICAgICAgIAo2 MDAgICAgICAgICAgIHwgIDAuMDAwMDQ3ODM2ICAgICAgICAgIDMuMjEgICAgICAgfCAgMC4wMDAw NDA1MTUgICAgICAgICAgMy43OSAgICAgICAKMTAyNCAgICAgICAgICB8ICAwLjAwMDA2NDUzMSAg ICAgICAgICA0LjA2ICAgICAgIHwgIDAuMDAwMDU0MTI3ICAgICAgICAgIDQuODQgICAgICAKMjA0 OCAgICAgICAgICB8ICAwLjAwMDEwNjkxMCAgICAgICAgICA0LjkwICAgICAgIHwgIDAuMDAwMDg5 OTk4ICAgICAgICAgIDUuODMgICAgICAKNDA5NiAgICAgICAgICB8ICAwLjAwMDE5MTgyOCAgICAg ICAgICA1LjQ3ICAgICAgIHwgIDAuMDAwMTU1NjU2ICAgICAgICAgIDYuNzQgICAgICAgCjgxOTIg ICAgICAgICAgfCAgMC4wMDAzNTYwNDYgICAgICAgICAgNS44OSAgICAgICB8ICAwLjAwMDI4Njgx MSAgICAgICAgICA3LjMxICAgICAgIAoxNjM4NCAgICAgICAgIHwgIDAuMDAwNjg1MTI0ICAgICAg ICAgIDYuMTIgICAgICAgfCAgMC4wMDA1NDk0NDEgICAgICAgICAgNy42MyAgICAgICAKMzI3Njgg ICAgICAgICB8ICAwLjAwMTQ2MDMwNCAgICAgICAgICA1Ljc0ICAgICAgIHwgIDAuMDAxMjIyMTg5 ICAgICAgICAgIDYuODYgICAgICAKNjU1MzYgICAgICAgICB8ICAwLjAxMjA4MjI4MCAgICAgICAg ICAxLjM5ICAgICAgIHwgIDAuMDEyMDU0ODcyICAgICAgICAgIDEuMzkKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWNvbmQgcnVu IHJlc3VsdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgfCAgIEMg bGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24gICAgICB8IEJhc2ljIGluc3RydWN0aW9uIGltcGxlbWVu dGF0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzaXplKGJ5dGVzKSAgIHwgIG1pbl90 aW1lKHMpICAgICAgIHNwZWVkKEdCL3MpICAgfCAgbWluX3RpbWUocykgICAgICAgc3BlZWQoR0Iv cykKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjE2ICAgICAgICAgICAgfCAgMC4wMDAwMjE3 NTUgICAgICAgICAgMC4xOSAgICAgICB8ICAwLjAwMDAyMDc1MCAgICAgICAgICAwLjIwICAgICAg CjMyICAgICAgICAgICAgfCAgMC4wMDAwMjY0ODQgICAgICAgICAgMC4zMSAgICAgICB8ICAwLjAw MDAyMjgxMCAgICAgICAgICAwLjM2ICAgICAgCjQ4ICAgICAgICAgICAgfCAgMC4wMDAwMjY5NTcg ICAgICAgICAgMC40NiAgICAgICB8ICAwLjAwMDAyMzYwMSAgICAgICAgICAwLjUyICAgICAgIAo2 NCAgICAgICAgICAgIHwgIDAuMDAwMDI4NjkyICAgICAgICAgIDAuNTcgICAgICAgfCAgMC4wMDAw MjM5MTggICAgICAgICAgMC42OSAgICAgICAKOTYgICAgICAgICAgICB8ICAwLjAwMDAyOTYzOCAg ICAgICAgICAwLjgzICAgICAgIHwgIDAuMDAwMDI0ODY4ICAgICAgICAgIDAuOTkgICAgICAgCjIw MCAgICAgICAgICAgfCAgMC4wMDAwMzI2MzMgICAgICAgICAgMS41NyAgICAgICB8ICAwLjAwMDAy NzQwMyAgICAgICAgICAxLjg3ICAgICAgIAozMDAgICAgICAgICAgIHwgIDAuMDAwMDM1NjI4ICAg ICAgICAgIDIuMTYgICAgICAgfCAgMC4wMDAwMzA4ODcgICAgICAgICAgMi40OSAgICAgICAKNDAw ICAgICAgICAgICB8ICAwLjAwMDAzODc4MSAgICAgICAgICAyLjY0ICAgICAgIHwgIDAuMDAwMDMz NTgwICAgICAgICAgIDMuMDUgICAgICAgIAo2MDAgICAgICAgICAgIHwgIDAuMDAwMDQ2OTc5ICAg ICAgICAgIDMuMjcgICAgICAgfCAgMC4wMDAwNDAyMzMgICAgICAgICAgMy44MiAgICAgICAKMTAy NCAgICAgICAgICB8ICAwLjAwMDA2MzUzMiAgICAgICAgICA0LjEzICAgICAgIHwgIDAuMDAwMDUz NTM4ICAgICAgICAgIDQuOTAgICAgIAoyMDQ4ICAgICAgICAgIHwgIDAuMDAwMTA0OTkzICAgICAg ICAgIDQuOTkgICAgICAgfCAgMC4wMDAwODg4NjEgICAgICAgICAgNS45MCAgICAKNDA5NiAgICAg ICAgICB8ICAwLjAwMDE4ODM4OSAgICAgICAgICA1LjU3ICAgICAgIHwgIDAuMDAwMTUzODA0ICAg ICAgICAgIDYuODIgICAgICAgIAo4MTkyICAgICAgICAgIHwgIDAuMDAwMzQ5NjY0ICAgICAgICAg IDYuMDAgICAgICAgfCAgMC4wMDAyODM2OTEgICAgICAgICAgNy4zOSAgICAgICAKMTYzODQgICAg ICAgICB8ICAwLjAwMDY3MzAwMCAgICAgICAgICA2LjIzICAgICAgIHwgIDAuMDAwNTQzNDY0ICAg ICAgICAgIDcuNzIgICAgICAgCjMyNzY4ICAgICAgICAgfCAgMC4wMDE0MzMxODEgICAgICAgICAg NS44NSAgICAgICB8ICAwLjAwMTIxNzQ0OCAgICAgICAgICA2Ljg5ICAgICAKNjU1MzYgICAgICAg ICB8ICAwLjAxMTg1MDExMSAgICAgICAgICAxLjQyICAgICAgIHwgIDAuMDExOTQ1MjgxICAgICAg ICAgIDEuNDAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUaGlyZCBydW4gcmVzdWx0IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KICAgICAgICAgICAgICB8ICAgQyBsYW5ndWFnZSBpbXBsZW1lbnRhdGlvbiAgICAgIHwgQmFz aWMgaW5zdHJ1Y3Rpb24gaW1wbGVtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CnNpemUoYnl0ZXMpICAgfCAgbWluX3RpbWUocykgICAgICAgc3BlZWQoR0IvcykgICB8ICBtaW5f dGltZShzKSAgICAgICBzcGVlZChHQi9zKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMTYg ICAgICAgICAgICB8ICAwLjAwMDAyMTg4NSAgICAgICAgICAwLjE5ICAgICAgIHwgIDAuMDAwMDIw ODE2ICAgICAgICAgIDAuMjAgICAgICAKMzIgICAgICAgICAgICB8ICAwLjAwMDAyNjY0MiAgICAg ICAgICAwLjMxICAgICAgIHwgIDAuMDAwMDIzMDQwICAgICAgICAgIDAuMzYgICAgICAKNDggICAg ICAgICAgICB8ICAwLjAwMDAyNzExOCAgICAgICAgICAwLjQ1ICAgICAgIHwgIDAuMDAwMDIzNjc2 ICAgICAgICAgIDAuNTIgICAgICAgCjY0ICAgICAgICAgICAgfCAgMC4wMDAwMjg4NjMgICAgICAg ICAgMC41NyAgICAgICB8ICAwLjAwMDAyNDMxMSAgICAgICAgICAwLjY3ICAgICAgCjk2ICAgICAg ICAgICAgfCAgMC4wMDAwMjk4MTQgICAgICAgICAgMC44MiAgICAgICB8ICAwLjAwMDAyNDk0NyAg ICAgICAgICAwLjk5ICAgICAgCjIwMCAgICAgICAgICAgfCAgMC4wMDAwMzQ0MTMgICAgICAgICAg MS40OSAgICAgICB8ICAwLjAwMDAyNzY0OCAgICAgICAgICAxLjg1ICAgICAgIAozMDAgICAgICAg ICAgIHwgIDAuMDAwMDM1ODQxICAgICAgICAgIDIuMTQgICAgICAgfCAgMC4wMDAwMzExNDQgICAg ICAgICAgMi40NyAgICAgICAKNDAwICAgICAgICAgICB8ICAwLjAwMDAzOTMyOSAgICAgICAgICAy LjYwICAgICAgIHwgIDAuMDAwMDM0MDA1ICAgICAgICAgIDMuMDEgICAgICAgIAo2MDAgICAgICAg ICAgIHwgIDAuMDAwMDQ3MjU5ICAgICAgICAgIDMuMjUgICAgICAgfCAgMC4wMDAwNDAzNjAgICAg ICAgICAgMy44MSAgICAgICAKMTAyNCAgICAgICAgICB8ICAwLjAwMDA2Mzc1MiAgICAgICAgICA0 LjExICAgICAgIHwgIDAuMDAwMDUzODY3ICAgICAgICAgIDQuODcgICAgIAoyMDQ4ICAgICAgICAg IHwgIDAuMDAwMTA1NjIwICAgICAgICAgIDQuOTYgICAgICAgfCAgMC4wMDAwODkzMDIgICAgICAg ICAgNS44NyAgIAo0MDk2ICAgICAgICAgIHwgIDAuMDAwMTg5NTEzICAgICAgICAgIDUuNTMgICAg ICAgfCAgMC4wMDAxNTQ2MTAgICAgICAgICAgNi43OCAgICAgICAKODE5MiAgICAgICAgICB8ICAw LjAwMDM1MTc0OSAgICAgICAgICA1Ljk2ICAgICAgIHwgIDAuMDAwMjg0NTkxICAgICAgICAgIDcu MzcgICAgICAgIAoxNjM4NCAgICAgICAgIHwgIDAuMDAwNjc2ODU1ICAgICAgICAgIDYuMjAgICAg ICAgfCAgMC4wMDA1NDUxODcgICAgICAgICAgNy42OSAgICAgICAgCjMyNzY4ICAgICAgICAgfCAg MC4wMDE0NDAxNDEgICAgICAgICAgNS44MiAgICAgICB8ICAwLjAwMTIwODc1NiAgICAgICAgICA2 Ljk0ICAgICAgCjY1NTM2ICAgICAgICAgfCAgMC4wMTE5NzQyMTggICAgICAgICAgMS40MCAgICAg ICB8ICAwLjAxMTk3NjE3MiAgICAgICAgICAxLjQwCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQoKSGVyZSBhcmUgdGhlIHRlc3QgcmVzdWx0cyBmb3IgdGVzdF9tZW1zZXQyLmPvvJoKCiAgICAg ICAgICAgICAgICAgICAgICAgIEMgbGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24KUmFuZG9tIG1lbXNl dCAoYnl0ZXMvbnMpOgogICAgICAgICAgIG1lbXNldF9jYWxsIDMySzogMC4zNiA2NEs6IDAuMjkg MTI4SzogMC4yNSAyNTZLOiAwLjIzIDUxMks6IDAuMjIgMTAyNEs6IDAuMjEgYXZnIDAuMjUKCk1l ZGl1bSBtZW1zZXQgKGJ5dGVzL25zKToKICAgICAgICAgICBtZW1zZXRfY2FsbCA4QjogMC4yOCAx NkI6IDAuMzAgMzJCOiAwLjQ4IDY0QjogMC44NiAxMjhCOiAxLjU1IDI1NkI6IDIuNjAgNTEyQjog My44NgpMYXJnZSBtZW1zZXQgKGJ5dGVzL25zKToKICAgICAgICAgICBtZW1zZXRfY2FsbCAxSzog NC44MiAySzogNS40MCA0SzogNS44MyA4SzogNi4wOSAxNks6IDYuMjIgMzJLOiA2LjE0IDY0Szog MS4zOQoKICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgaW5zdHJ1Y3Rpb24gaW1wbGVtZW50 YXRpb24KUmFuZG9tIG1lbXNldCAoYnl0ZXMvbnMpOgogICAgICAgICAgIG1lbXNldF9jYWxsIDMy SzogMC40NSA2NEs6IDAuMzUgMTI4SzogMC4zMCAyNTZLOiAwLjI4IDUxMks6IDAuMjcgMTAyNEs6 IDAuMjUgYXZnIDAuMzAKCk1lZGl1bSBtZW1zZXQgKGJ5dGVzL25zKToKICAgICAgICAgICBtZW1z ZXRfY2FsbCA4QjogMC4xOCAxNkI6IDAuNDggMzJCOiAwLjkxIDY0QjogMS42MyAxMjhCOiAyLjcx IDI1NkI6IDQuNDAgNTEyQjogNS42NwpMYXJnZSBtZW1zZXQgKGJ5dGVzL25zKToKICAgICAgICAg ICBtZW1zZXRfY2FsbCAxSzogNi42MiAySzogNy4wMyA0SzogNy40NyA4SzogNy43MSAxNks6IDcu ODMgMzJLOiA3LjY0IDY0SzogMS40MAoKRnJvbSB0aGUgdGVzdCByZXN1bHRzLCBpdCBjYW4gYmUg c2VlbiB0aGF0IHRoZSBtZW1zZXQgaW1wbGVtZW50ZWQgaW4gQyBsYW5ndWFnZSBwZXJmb3JtcyBi ZXR0ZXIgCmF0IGFyb3VuZCA4IGJ5dGVzLCB3aGlsZSBpbiBvdGhlciBjYXNlcywgdGhlIGFzc2Vt Ymx5IGltcGxlbWVudGF0aW9uIHdpbGwgcGVyZm9ybSBiZXR0ZXIuCgpGZWkgWmhhbmcKJmd0OyAt LS0tLeWOn+Wni+mCruS7ti0tLS0tCiZndDsg5Y+R5Lu25Lq6OiAiU3phYm9sY3MgTmFneSIgPG5z ekBwb3J0NzAubmV0PgomZ3Q7IOWPkemAgeaXtumXtDogMjAyMy0wNC0yMSAyMTozMDozNCAo5pif 5pyf5LqUKQomZ3Q7IOaUtuS7tuS6ujogIuW8oOmjniIgPHpoYW5nZmVpQG5qLmlzY2FzLmFjLmNu PgomZ3Q7IOaKhOmAgTogbXVzbEBsaXN0cy5vcGVud2FsbC5jb20KJmd0OyDkuLvpopg6IFJlOiBS ZTogUmU6IFttdXNsXSBtZW1zZXRfcmlzY3Y2NAomZ3Q7IAomZ3Q7ICog5byg6aOeIDx6aGFuZ2Zl aUBuai5pc2Nhcy5hYy5jbj4gWzIwMjMtMDQtMjAgMTY6MTc6MTAgKzA4MDBdOgomZ3Q7ICZndDsg SGkhCiZndDsgJmd0OyBJIGxpc3RlbmVkIHRvIHlvdXIgc3VnZ2VzdGlvbnMgYW5kIHJlZmVycmVk IHRvIHN0cmluZy5jIGluIE11c2wncyB0ZXN0IHNldChsaWJjLWJlbmNoKSwgCiZndDsgJmd0OyBh bmQgdGhlbiBtb2RpZmllZCB0aGUgdGVzdCBjYXNlcy4gU2luY2UgQlVGTEVOIGlzIGEgZml4ZWQg dmFsdWUgaW4gc3RybGVuLmMsIEkgbW9kaWZpZWQgCiZndDsgJmd0OyBpdCB0byBhIHZhcmlhYmxl IGFzIGEgcGFyYW1ldGVyIGluIG15IG93biB0ZXN0IGNhc2UgYW5kIHBhc3NlZCBpdCB0byB0aGUg bWVtc2V0IGZ1bmN0aW9uLiAKJmd0OyAmZ3Q7IEkgYWRqdXN0ZWQgdGhlIExPT1BfVElNRVMgaGFz IGJlZW4gY291bnRlZCB1cCB0byA1MDAgdGltZXMgYW5kIHRoZSBydW5uaW5nIHRpbWUgaGFzIGJl ZW4gCiZndDsgJmd0OyBzb3J0ZWQsIG9ubHkgcmVjb3JkaW5nIHRoZSBydW5uaW5nIHRpbWUgb2Yg dGhlIG1pZGRsZSAzMDAgdGltZXMuCiZndDsgJmd0OyAKJmd0OyAmZ3Q7IEkgdG9vayB0dXJucyBl eGVjdXRpbmcgdHdvIHByb2dyYW1zIG9uIHRoZSBTaUZpdmUgY2hpcCB0aHJlZSB0aW1lcyBlYWNo LCBhbmQgdGhlIHJlc3VsdHMgCiZndDsgJmd0OyBhcmUgc2hvd24gYmVsb3cuCiZndDsgJmd0OyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpcnN0IHJ1biByZXN1bHQKJmd0OyAmZ3Q7IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZndDsgJmd0OyBsZW5ndGgoYnl0ZSkgIEMgbGFuZ3VhZ2Ug aW1wbGVtZW50YXRpb24ocykgICBCYXNpYyBpbnN0cnVjdGlvbiBpbXBsZW1lbnRhdGlvbihzKQom Z3Q7ICZndDsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJmd0OyAmZ3Q7IDEwMCAgICAgICAgICAg ICAgICAgMC4wMDIyMDgxMDIgICAgICAgICAgICAgICAgICAgICAwLjAwMjMwNDA1NgomZ3Q7ICZn dDsgMjAwICAgICAgICAgICAgICAgICAwLjAwNTA1MzIwOCAgICAgICAgICAgICAgICAgICAgIDAu MDA0NjI5NTk4CiZndDsgJmd0OyA0MDAgICAgICAgICAgICAgICAgIDAuMDA4NjY2Njg0ICAgICAg ICAgICAgICAgICAgICAgMC4wMDc3MzkxNzYKJmd0OyAmZ3Q7IDgwMCAgICAgICAgICAgICAgICAg MC4wMTQwNjUxOTYgICAgICAgICAgICAgICAgICAgICAwLjAxMjM3MjcwMgomZ3Q7ICZndDsgMTYw MCAgICAgICAgICAgICAgICAwLjAyMzM3NzY4NSAgICAgICAgICAgICAgICAgICAgIDAuMDIwMDkw OTY2CiZndDsgJmd0OyAzMjAwICAgICAgICAgICAgICAgIDAuMDQwMjIxODQ5ICAgICAgICAgICAg ICAgICAgICAgMC4wMzQwNTk2MzEKJmd0OyAmZ3Q7IDY0MDAgICAgICAgICAgICAgICAgMC4wNzIw OTUzNzcgICAgICAgICAgICAgICAgICAgICAwLjA2MDAyODkwNgomZ3Q7ICZndDsgMTI4MDAgICAg ICAgICAgICAgICAwLjEzNDA0MDQ3NSAgICAgICAgICAgICAgICAgICAgIDAuMTEwMDM5Mzg3CiZn dDsgJmd0OyAyNTYwMCAgICAgICAgICAgICAgIDAuMjU3NDI2ODA2ICAgICAgICAgICAgICAgICAg ICAgMC4yMTA3MTA5NTIKJmd0OyAmZ3Q7IDUxMjAwICAgICAgICAgICAgICAgMS4xNzM3NTUxNjAg ICAgICAgICAgICAgICAgICAgICAxLjEyMTgzMzIyNwomZ3Q7ICZndDsgMTAyNDAwICAgICAgICAg ICAgICAzLjY5MzE3MDQwMiAgICAgICAgICAgICAgICAgICAgIDMuNjM3MTk0MDk4CiZndDsgJmd0 OyAyMDQ4MDAgICAgICAgICAgICAgIDguOTE5OTc1NDU1ICAgICAgICAgICAgICAgICAgICAgOC44 NjU1MDQ0NjAKJmd0OyAmZ3Q7IDQwOTYwMCAgICAgICAgICAgICAxOS40MTA5MjI0MTggICAgICAg ICAgICAgICAgICAgIDE5LjM2MDk1NjQ5MwomZ3Q7ICZndDsgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWNv bmQgcnVuIHJlc3VsdCAKJmd0OyAmZ3Q7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZndDsgJmd0 OyBsZW5ndGgoYnl0ZSkgIEMgbGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24ocykgICBCYXNpYyBpbnN0 cnVjdGlvbiBpbXBsZW1lbnRhdGlvbihzKQomZ3Q7ICZndDsgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KJmd0OyAmZ3Q7IDEwMCAgICAgICAgICAgICAgICAgMC4wMDIyMDgxMDkgICAgICAgICAgICAg ICAgICAgICAwLjAwMjI5Mzg1NwomZ3Q7ICZndDsgMjAwICAgICAgICAgICAgICAgICAwLjAwNTA1 NzM3NCAgICAgICAgICAgICAgICAgICAgIDAuMDA0NjQwNjY5CiZndDsgJmd0OyA0MDAgICAgICAg ICAgICAgICAgIDAuMDA4Njc0MjE4ICAgICAgICAgICAgICAgICAgICAgMC4wMDc3NjA3OTUKJmd0 OyAmZ3Q7IDgwMCAgICAgICAgICAgICAgICAgMC4wMTQwNjg1ODIgICAgICAgICAgICAgICAgICAg ICAwLjAxMjQxNzA4NAomZ3Q7ICZndDsgMTYwMCAgICAgICAgICAgICAgICAwLjAyMzM4MTA5NSAg ICAgICAgICAgICAgICAgICAgIDAuMDIwMTI0NDk2CiZndDsgJmd0OyAzMjAwICAgICAgICAgICAg ICAgIDAuMDQwMjI1MTM4ICAgICAgICAgICAgICAgICAgICAgMC4wMzQwOTMxODEKJmd0OyAmZ3Q7 IDY0MDAgICAgICAgICAgICAgICAgMC4wNzIwOTg3NDQgICAgICAgICAgICAgICAgICAgICAwLjA2 MDA2OTU3NAomZ3Q7ICZndDsgMTI4MDAgICAgICAgICAgICAgICAwLjEzNDA0Mzk1NCAgICAgICAg ICAgICAgICAgICAgIDAuMTEwMDg4MTQxCiZndDsgJmd0OyAyNTYwMCAgICAgICAgICAgICAgIDAu MjU2NDUzMTg3ICAgICAgICAgICAgICAgICAgICAgMC4yMDg1Nzg2MzMKJmd0OyAmZ3Q7IDUxMjAw ICAgICAgICAgICAgICAgMS4xNjY2MDI1MDUgICAgICAgICAgICAgICAgICAgICAxLjExODk3Mjc5 NgomZ3Q7ICZndDsgMTAyNDAwICAgICAgICAgICAgICAzLjY4NDk1NzIzMSAgICAgICAgICAgICAg ICAgICAgIDMuNjM1MTE2ODA4CiZndDsgJmd0OyAyMDQ4MDAgICAgICAgICAgICAgIDguOTE2MzAy NTkyICAgICAgICAgICAgICAgICAgICAgOC44NjE1OTA3MzQKJmd0OyAmZ3Q7IDQwOTYwMCAgICAg ICAgICAgICAxOS40MTEwNTcyMTYgICAgICAgICAgICAgICAgICAgIDE5LjM1ODc3NzY3MAomZ3Q7 ICZndDsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUaGlyZCBydW4gcmVzdWx0IAomZ3Q7ICZndDsgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KJmd0OyAmZ3Q7IGxlbmd0aChieXRlKSAgQyBsYW5ndWFnZSBpbXBs ZW1lbnRhdGlvbihzKSAgIEJhc2ljIGluc3RydWN0aW9uIGltcGxlbWVudGF0aW9uKHMpCiZndDsg Jmd0OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQomZ3Q7ICZndDsgMTAwICAgICAgICAgICAgICAg ICAwLjAwMjIwODExMSAgICAgICAgICAgICAgICAgICAgIDAuMDAyMjkzMjI3CiZndDsgJmd0OyAy MDAgICAgICAgICAgICAgICAgIDAuMDA1MDU2MTAxICAgICAgICAgICAgICAgICAgICAgMC4wMDQ2 Mjg1MzkKJmd0OyAmZ3Q7IDQwMCAgICAgICAgICAgICAgICAgMC4wMDg2Nzc3NTYgICAgICAgICAg ICAgICAgICAgICAwLjAwNzc0ODY4NwomZ3Q7ICZndDsgODAwICAgICAgICAgICAgICAgICAwLjAx NDA4NTI0MiAgICAgICAgICAgICAgICAgICAgIDAuMDEyNDA0NDQzCiZndDsgJmd0OyAxNjAwICAg ICAgICAgICAgICAgIDAuMDIzMzk3NzgyICAgICAgICAgICAgICAgICAgICAgMC4wMjAxMTU3MTAK Jmd0OyAmZ3Q7IDMyMDAgICAgICAgICAgICAgICAgMC4wNDAyNDI5ODUgICAgICAgICAgICAgICAg ICAgICAwLjAzNDA4NDQzNQomZ3Q7ICZndDsgNjQwMCAgICAgICAgICAgICAgICAwLjA3MjExNjY2 NSAgICAgICAgICAgICAgICAgICAgIDAuMDYwMDYzNzY3CiZndDsgJmd0OyAxMjgwMCAgICAgICAg ICAgICAgIDAuMTM0MDYwMjYyICAgICAgICAgICAgICAgICAgICAgMC4xMTAwODI0MjcKJmd0OyAm Z3Q7IDI1NjAwICAgICAgICAgICAgICAgMC4yNTc4NjUxODYgICAgICAgICAgICAgICAgICAgICAw LjIwOTEwMTc1NAomZ3Q7ICZndDsgNTEyMDAgICAgICAgICAgICAgICAxLjE3NDI1NzE3NyAgICAg ICAgICAgICAgICAgICAgIDEuMTE3NzUzNDA4CiZndDsgJmd0OyAxMDI0MDAgICAgICAgICAgICAg IDMuNjk2NTE4MTYyICAgICAgICAgICAgICAgICAgICAgMy42MzU0MTc1MDMKJmd0OyAmZ3Q7IDIw NDgwMCAgICAgICAgICAgICAgOC45MjkzNTc3NDcgICAgICAgICAgICAgICAgICAgICA4Ljg1ODc2 NTkxNQomZ3Q7ICZndDsgNDA5NjAwICAgICAgICAgICAgIDE5LjQyNjUyMDU2MiAgICAgICAgICAg ICAgICAgICAgIDE5LjM1NjUxNTY3MQomZ3Q7ICZndDsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Jmd0OyAmZ3Q7IAomZ3Q7ICZndDsgRnJvbSB0aGUgdGVzdCByZXN1bHRzLCBpdCBjYW4gYmUgc2Vl biB0aGF0IHRoZSBydW50aW1lIG9mIG1lbXNldCBpbXBsZW1lbnRlZCB1c2luZyB0aGUgYmFzaWMg CiZndDsgJmd0OyBpbnN0cnVjdGlvbiBzZXQgYXNzZW1ibHkgaXMgYmFzaWNhbGx5IHNob3J0ZXIg dGhhbiB0aGF0IGltcGxlbWVudGVkIHVzaW5nIHRoZSBDIGxhbmd1YWdlLiAKJmd0OyAmZ3Q7IE1h eSBJIGFzayBpZiB0aGUgdGVzdCByZXN1bHRzIGFyZSBjb252aW5jaW5nPwomZ3Q7IAomZ3Q7IHNt YWxsIHNpemVzIGFyZSBtdWNoIG1vcmUgY29tbW9uIHRoYW4gbGFyZ2Ugc2l6ZXMsIG1lbXNldHMg Y2FuIGJlCiZndDsgZGlzdHJpYnV0ZWQgc3VjaCB0aGF0IHNpemVzIFswLDEwMCksIFsxMDAsMTAw MCksIFsxMDAwLGluZikgYXJlCiZndDsgdXNlZCBmb3IgMS8zIG9mIGFsbCBtZW1zZXRzIGVhY2gg KG5vdCB0aGUgY2FsbCBjb3VudCwgYnV0IHRoZQomZ3Q7IGFtb3VudCBvZiBieXRlcyBtZW1zZXQg dXNpbmcgc3VjaCBzaXplcyksIGkuZS4gaWYgeW91IHNwZWVkIHVwCiZndDsgdGhlIHNpemUgPSBb MTAwLDEwMDApIGFuZCBbMTAwMCxpbmYpIGNhc2VzIGJ5IDEwJSBidXQgcmVncmVzcyB0aGUKJmd0 OyBbMCwxMDApIGNhc2UgYnkgMjAlIHRoZW4gdGhlIG92ZXJhbGwgcGVyZm9ybWFuY2Ugcm91Z2hs eSBzdGF5cwomZ3Q7IHRoZSBzYW1lLiAob2YgY291cnNlIHRoaXMgaXMgdmVyeSB3b3JrbG9hZCBk ZXBlbmRlbnQsIGJ1dCBhY3Jvc3MKJmd0OyBhIHN5c3RlbSB0aGlzIGlzIHdoYXQgaSdkIGV4cGVj dCwgcHJvYmFibHkgZXZlbiBtb3JlIHNrZXdlZCB0bwomZ3Q7IHNtYWxsZXIgc2l6ZXMpLgomZ3Q7 IAomZ3Q7IHNvIHdlIG5lZWQgdG8ga25vdyB3aGF0IGhhcHBlbnMgaW4gdGhlIFswLDEwMCkgcmFu Z2UuIHdoYXQgaSBzZWUKJmd0OyBpcyBhIH40JSByZWdyZXNzaW9uIHRoZXJlIHdoaWxlIHRoZXJl IGlzIGEgfjEwJSBpbXByb3ZlbWVudCBpbgomZ3Q7IHRoZSBbMTAwLDEwMDApIGNhc2UgYW5kIH4x NSUgaW1wcm92ZW1lbnQgaW4gdGhlIFsxMDAwLGluZikgY2FzZQomZ3Q7IChpdCB3b3VsZCBiZSBu aWNlIHRvIGtub3cgd2h5IHRoZSAyNWsgY2FzZSBpcyBzbyBtdWNoIGZhc3RlciBhbmQKJmd0OyB3 aHkgdGhhdCBzcGVlZCB1cCBvbmx5IGFwcGxpZXMgdG8gdGhhdCBzaXplLCB3ZSBkb24ndCB3YW50 IHRvCiZndDsgb3B0aW1pemUgZm9yIHNvbWUgb2JzY3VyZSBjcHUgYnVnIHRoYXQgd2lsbCBnbyBh d2F5IG5leHQgeWVhcikKJmd0OyAKJmd0OyBvbiBwcmFjdGljYWwgd29ya2xvYWRzIGkgd291bGQg ZXhwZWN0ICZsdDsgMTAlIHNwZWVkdXAgb3ZlcmFsbCBmcm9tCiZndDsgdGhlIGFzbSBjb2RlIChi dXQgd2UgbmVlZCBtb3JlIGRhdGEgaW4gdGhlIFswLDEwMCkgcmFuZ2UgdG8gdGVsbCkuCiZndDsg dGhpcyBtYXkgbm90IGJlIGVub3VnaCB0byBqdXN0aWZ5IHRoZSBhc20gY29kZS4KJmd0OyAKJmd0 OyByaWNoIGFscmVhZHkgc2FpZCBoZSBwcmVmZXJzIGEgZGlmZmVyZW50IHN0eWxlIG9mIGltcGxl bWVudGF0aW9uCiZndDsgKHdoZXJlIHRoZSBib2R5IG9mIHRoZSBmdW5jdGlvbiBpcyBpbiBjIGJ1 dCB0aGUgaW5uZXIgbG9vcCBpcyBpbgomZ3Q7IGFzbSBpZiB0aGF0IGhlbHBzIGUuZy4gdmlhIHNp bWQpLgomZ3Q7IAomZ3Q7IGhlcmUgaXMgYW4gZXhhbXBsZSBvZiBhIGJlbmNobWFyayB0aGF0IHRh a2VzIGlucHV0IGRpc3RyaWJ1dGlvbgomZ3Q7IGludG8gYWNjb3VudCBmcm9tIGEgd29ya2xvYWQ6 CiZndDsgaHR0cHM6Ly9naXRodWIuY29tL0FSTS1zb2Z0d2FyZS9vcHRpbWl6ZWQtcm91dGluZXMv YmxvYi9tYXN0ZXIvc3RyaW5nL2JlbmNoL21lbXNldC5jI0w1MwomZ3Q7IAomZ3Q7ICZndDsgI2lu Y2x1ZGUgPHN0ZGlvLmg+CiZndDsgJmd0OyAjaW5jbHVkZSA8c3RkbGliLmg+CiZndDsgJmd0OyAj aW5jbHVkZSA8c3RyaW5nLmg+CiZndDsgJmd0OyAjaW5jbHVkZSA8dGltZS5oPgomZ3Q7ICZndDsg CiZndDsgJmd0OyAjZGVmaW5lIEJVRkxFTiA1MDAwMDAKJmd0OyAmZ3Q7ICNkZWZpbmUgTE9PUF9U SU1FUyA1MDAKJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgaW50IGNtcChjb25zdCB2b2lkICphLCBjb25z dCB2b2lkICpiKSB7CiZndDsgJmd0OyAgICAgZG91YmxlIHggPSAqKGRvdWJsZSAqKWE7CiZndDsg Jmd0OyAgICAgZG91YmxlIHkgPSAqKGRvdWJsZSAqKWI7CiZndDsgJmd0OyAgICAgaWYgKHggJmx0 OyB5KSByZXR1cm4gLTE7CiZndDsgJmd0OyAgICAgaWYgKHggJmd0OyB5KSByZXR1cm4gMTsKJmd0 OyAmZ3Q7ICAgICByZXR1cm4gMDsKJmd0OyAmZ3Q7IH0KJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgaW50 IG1haW4oKXsKJmd0OyAmZ3Q7ICAgICAgICAgY2hhciAqYnVmID0gbWFsbG9jKEJVRkxFTik7CiZn dDsgJmd0OyAJZG91YmxlICphcnIgPSBtYWxsb2Moc2l6ZW9mKGRvdWJsZSkgKiBMT09QX1RJTUVT KTsKJmd0OyAmZ3Q7ICAgICAgICAgc2l6ZV90IGksaixrOwomZ3Q7ICZndDsgICAgICAgICBzdHJ1 Y3QgdGltZXNwZWMgdHYwLHR2OwomZ3Q7ICZndDsgCWRvdWJsZSB0aW1lczsKJmd0OyAmZ3Q7IAom Z3Q7ICZndDsgICAgICAgICBmb3Ioaj0xMDA7IGo8YnVmbGVuOyBqKj0iMil7Ij4gJmd0OyAgICAg ICAgICAgZm9yKGs9MDsgazxsb29wX3RpbWVzOyBrKyspez0iIj4gJmd0OyAgICAgICAgICAgICBm b3IgKGk9MDsgaSZsdDsxMDA7IGkrKykKJmd0OyAmZ3Q7ICAgICAgICAgICAgICAgICAgIG1lbXNl dChidWYraSwgaSwgai1pKTsKJmd0OyAmZ3Q7ICAgICAgICAgICB9CiZndDsgJmd0OyAgICAgICAg IH0KJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgICAgICAgICBmb3Ioaj0xMDA7IGo8YnVmbGVuOyBqKj0i Mil7Ij4gJmd0OyAgICAgICAgICAgZm9yKGs9MDsgazxsb29wX3RpbWVzOyBrKyspez0iIj4gJmd0 OyAgICAgICAgICAgICBjbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FLCAmYW1wO3R2MCk7CiZn dDsgJmd0OyAgICAgICAgICAgICBmb3IgKGk9MDsgaSZsdDsxMDA7IGkrKykKJmd0OyAmZ3Q7ICAg ICAgICAgICAgICAgICAgIG1lbXNldChidWYraSwgaSwgai1pKTsKJmd0OyAKJmd0OyBhbGlnbm1l bnQgb25seSBtYXR0ZXJzIHVwIHRvIDY0IGJ5dGUgYWxpZ25tZW50IGFuZCB1c3VhbGx5IGlucHV0 cwomZ3Q7IGFyZSBhdCBsZWFzdCA4Ynl0ZSBhbGlnbmVkLgomZ3Q7IAomZ3Q7IHZhbHVlIGlzIGFs bW9zdCBhbHdheXMgMC4gKHdlIHByb2JhYmx5IGRvbid0IGV2ZW4gbmVlZCB0byB0ZXN0CiZndDsg bm9uLTAgY2FzZTogYSAwIGNoZWNrIGlzIGNvcnJlY3RseSBwcmVkaWN0ZWQgaW4gcHJhY3RpY2Uu KQomZ3Q7IAomZ3Q7IGkgdGhpbmsgbGVuZ3RoIHNob3VsZCBoYXZlIGEgc21hbGwgdmFyaWF0aW9u LCBqdXN0IGVub3VnaCB0byBhZGQKJmd0OyBwZW5hbHR5IHRvIHNtYWxsIHNpemUgY2hlY2tzIHdo ZXJlIGltcGxlbWVudGF0aW9ucyBtYXkgdXNlIG1hbnkKJmd0OyBicmFuY2hlcy4KJmd0OyAKJmd0 OyBzbyBzb21ldGhpbmcgbGlrZSB0aGlzIG1heSBiZSBiZXR0ZXIgKG1hZGV1cCBvZmYsYWwgbnVt YmVycyk6CiZndDsgCiZndDsgCWJ1ZiA9IG1hbGxvYygoMSZsdDsmbHQ7MTYpKzMyKTsKJmd0OyAJ c2l6ZV90IHN6W10gPSB7MTYsIDMyLCA0OCwgNjQsIDk2LCAyMDAsIDMwMCwgNDAwLCA2MDAsIDEm bHQ7Jmx0OzEwLCAxJmx0OyZsdDsxMSwgMSZsdDsmbHQ7MTIsIDEmbHQ7Jmx0OzEzLCAxJmx0OyZs dDsxNCwgMSZsdDsmbHQ7MTUsIDEmbHQ7Jmx0OzE2LCAwfTsKJmd0OyAJc2l6ZV90IG9mZlsxNl0g PSB7MCwgMCwgMCwgLTgsIDgsIDE2LCAwLCAwLCAtMTYsIC0xMiwgMCwgNCwgLTQsIDAsIDAsIDEy fTsKJmd0OyAJc2l6ZV90IGFsWzE2XSA9IHswLCAwLCA4LCA0LCA4LCAwLCA4LCAxNiwgOCwgMTYs IDQsIDIsIDEsIDgsIDE2LCAxfTsKJmd0OyAJZm9yIChqPTA7IHN6W2pdOyBqKyspCiZndDsgCQlm b3IgKGs9MDsgayZsdDsyMDsgaysrKSB7CiZndDsgCQkJdDAgPSB0aWMoKTsKJmd0OyAJCQkvLyBs YXJnZSBsb29wIGNvdW50IGlzIGltcG9ydGFudCBmb3Igc21hbGwgc2l6ZXMKJmd0OyAJCQlmb3Ig KGk9MDsgaSZsdDsyNTY7IGkrKykKJmd0OyAJCQkJbWVtc2V0KGJ1ZiArIGFsW2klMTZdLCAwLCBz eltqXSArIG9mZltpJTE2XSk7CiZndDsgCQkJdDEgPSB0aWMoKTsKJmd0OyAJCQl0bWluID0gbWlu KHRtaW4sdDEtdDApOwomZ3Q7IAkJfQomZ3Q7IAomZ3Q7IGxhcmdlIG1lbXNldCAoJmd0Oz0xaykg Y2FuIGJlIHRlc3RlZCBzZXBhcmF0ZWx5IChuby5uZWVkIHRvIGFkZCBvZmYsYWwKJmd0OyB2YXJp YWlvbiB0aGVuLCBsZXNzIGlubmVyIGxvb3AgaXMgZW5vdWdoLCBidXQgaXQgc2hvdWxkIG5vdCBo dXJ0IHRvCiZndDsgaW5jbHVkZSB0aGVtIGhlcmUpLgomZ3Q7IAomZ3Q7ICZndDsgICAgICAgICAg ICAgY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwgJmFtcDt0dik7CiZndDsgJmd0OyAgICAg ICAgICAgICB0di50dl9zZWMgLT0gdHYwLnR2X3NlYzsKJmd0OyAmZ3Q7ICAgICAgICAgICAgIGlm ICgodHYudHZfbnNlYyAtPSB0djAudHZfbnNlYykgJmx0OyAwKSB7CiZndDsgJmd0OyAgICAgICAg ICAgICAgICAgdHYudHZfbnNlYyArPSAxMDAwMDAwMDAwOwomZ3Q7ICZndDsgICAgICAgICAgICAg ICAgIHR2LnR2X3NlYy0tOwomZ3Q7ICZndDsgICAgICAgICAgICAgfQomZ3Q7ICZndDsgCSAgICBh cnJba10gPSB0di50dl9zZWMgKyAoZG91YmxlKXR2LnR2X25zZWMvMTAwMDAwMDAwMDsKJmd0OyAm Z3Q7ICAgICAgICAgICB9CiZndDsgJmd0OyAgICAgICAgICAgcXNvcnQoYXJyLCA1MDAsIHNpemVv Zihkb3VibGUpLCBjbXApOyAKJmd0OyAKJmd0OyBqdXN0IHRha2UgdGhlIG1pbmltdW0uIHdlIHdh bnQgdG8ga25vdyB0aGUgZmFzdGVzdCBleGVjdXRpb24uCiZndDsgCiZndDsgJmd0OyAgICAgICAg ICAgCiZndDsgJmd0OyAJICBmb3IgKGludCBtID0gMTAwOyBtICZsdDsgTE9PUF9USU1FUyAtIDEw MDsgbSsrKSB7CiZndDsgJmd0OyAgICAgICAgICAgICAgIHRpbWVzICs9IGFyclttXTsKJmd0OyAm Z3Q7ICAgICAgICAgICB9CiZndDsgJmd0OyAJICBwcmludGYoImxlbjogJWxkICB0aW1lOiAlLjls ZlxuIixqLCB0aW1lcyk7CiZndDsgCiZndDsgeW91IGNhbiBhbHNvIHByaW50IEdCL3Mgd2hpY2gg aXMgMjU2KnN6W2pdL3RtaW4gaW4gbXkgZXhhbXBsZS4KJmd0OyAKJmd0OyAmZ3Q7IAl9CiZndDsg Jmd0OyAgICAgICAgIGZyZWUoYnVmKTsKJmd0OyAmZ3Q7ICAgICAgICAgcmV0dXJuIDA7CiZndDsg Jmd0OyB9CjwvbG9vcF90aW1lczs+PC9idWZsZW47PjwvbG9vcF90aW1lczs+PC9idWZsZW47Pjwv dGltZS5oPjwvc3RyaW5nLmg+PC9zdGRsaWIuaD48L3N0ZGlvLmg+PC96aGFuZ2ZlaUBuai5pc2Nh cy5hYy5jbj48L3poYW5nZmVpQG5qLmlzY2FzLmFjLmNuPjwvbnN6QHBvcnQ3MC5uZXQ+ ------=_Part_365689_197173445.1682493911505 Content-Type: text/plain; name=test_memset1.c Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test_memset1.c" I2luY2x1ZGUgPGZsb2F0Lmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+ CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KaW50IG1haW4oKXsKCWludCBq LGssaTsKCWRvdWJsZSB0aW1lczsKCXN0cnVjdCB0aW1lc3BlYyB0djAsdHY7CglpbnQgc3pbXSA9 IHsxNiwgMzIsIDQ4LCA2NCwgOTYsIDIwMCwgMzAwLCA0MDAsIDYwMCwgMTw8MTAsIDE8PDExLCAx PDwxMiwgMTw8MTMsIDE8PDE0LCAxPDwxNSwgMTw8MTYsIDB9OwoJaW50IG9mZlsxNl0gPSB7MCwg MCwgMCwgLTgsIDgsIDE2LCAwLCAwLCAtMTYsIC0xMiwgMCwgNCwgLTQsIDAsIDAsIDEyfTsKCWlu dCBhbFsxNl0gPSB7MCwgMCwgOCwgNCwgOCwgMCwgOCwgMTYsIDgsIDE2LCA0LCAyLCAxLCA4LCAx NiwgMX07CgoJY2hhciAqYnVmID0gbWFsbG9jKCgxPDwxNikrMzIpOwoJaWYgKGJ1ZiA9PSBOVUxM KSB7CiAgICAgICAgICAgcHJpbnRmKCJtYWxsb2MgZmFpbGVkXG4iKTsKICAgICAgICAgICBleGl0 KDEpOwogICAgICAgIH0KCS8vIHdhcm0gdXAKICAgICAgICBmb3IgKGo9MDsgc3pbal07IGorKykK CSAgICBmb3IgKGs9MDsgazwyMDsgaysrKQoJICAgICAgICBmb3IgKGk9MDsgaTwyNTY7IGkrKykK CQkgICAgbWVtc2V0KGJ1ZiArIGFsW2klMTZdLCAwLCBzeltqXSArIG9mZltpJTE2XSk7CgoJcHJp bnRmKCIlLTE1cyAlLTIwcyAlLTIwc1xuIiwgInNpemUoYnl0ZXMpIiwgIm1pbl90aW1lKHMpIiwg InNwZWVkKEdCL3MpIik7Cglmb3IgKGo9MDsgc3pbal07IGorKykgewoJICAgICAgICBkb3VibGUg bWluX3RpbWUgPSBEQkxfTUFYOwoJCWZvciAoaz0wOyBrPDIwOyBrKyspIHsKCQkJY2xvY2tfZ2V0 dGltZShDTE9DS19SRUFMVElNRSwgJnR2MCk7CgkJCS8vIGxhcmdlIGxvb3AgY291bnQgaXMgaW1w b3J0YW50IGZvciBzbWFsbCBzaXplcwoJCQlmb3IgKGk9MDsgaTwyNTY7IGkrKykKCQkJCW1lbXNl dChidWYgKyBhbFtpJTE2XSwgMCwgc3pbal0gKyBvZmZbaSUxNl0pOwoJCQljbG9ja19nZXR0aW1l KENMT0NLX1JFQUxUSU1FLCAmdHYpOwoJCQl0di50dl9zZWMgLT0gdHYwLnR2X3NlYzsKCQkJaWYg KCh0di50dl9uc2VjIC09IHR2MC50dl9uc2VjKSA8IDApIHsKCQkJCXR2LnR2X25zZWMgKz0gMTAw MDAwMDAwMDsKCQkJCXR2LnR2X3NlYy0tOwoJCQl9CgkJCXRpbWVzID0gdHYudHZfc2VjICsgKGRv dWJsZSl0di50dl9uc2VjLzFlOTsKCQkJbWluX3RpbWUgPSBtaW5fdGltZSA8IHRpbWVzID8gbWlu X3RpbWUgOiB0aW1lczsKCQl9CiAgICAgICAgICAgICAgICBwcmludGYoIiUtMTVkICUtMjAuOWxm ICUtMjAuMmxmXG4iLHN6W2pdLCBtaW5fdGltZSwgMjU2KnN6W2pdIC8gKG1pbl90aW1lICogMWU5 KSk7CiAgICAgICAgfQoJcmV0dXJuIDA7Cn0K ------=_Part_365689_197173445.1682493911505 Content-Type: text/plain; name=test_memset2.c Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test_memset2.c" LyoKICogbWVtc2V0IGJlbmNobWFyay4KICoKICogQ29weXJpZ2h0IChjKSAyMDIxLCBBcm0gTGlt aXRlZC4KICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVCBPUiBBcGFjaGUtMi4wIFdJVEgg TExWTS1leGNlcHRpb24KICovCgojZGVmaW5lIF9HTlVfU09VUkNFCiNpbmNsdWRlIDxzdGRpbnQu aD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGFzc2Vy dC5oPgovLyNpbmNsdWRlICJzdHJpbmdsaWIuaCIKI2luY2x1ZGUgImJlbmNobGliLmgiCgojZGVm aW5lIElURVJTICA1MDAwCiNkZWZpbmUgSVRFUlMyIDIwMDAwMDAwCiNkZWZpbmUgSVRFUlMzIDEw MDAwMDAKI2RlZmluZSBOVU1fVEVTVFMgMTYzODQKI2RlZmluZSBNSU5fU0laRSAzMjc2OAojZGVm aW5lIE1BWF9TSVpFICgxMDI0ICogMTAyNCkKCnN0YXRpYyB1aW50OF90IGFbTUFYX1NJWkUgKyA0 MDk2XSBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyg2NCkpKTsKCi8qCiNkZWZpbmUgRih4KSB7 I3gsIHh9LAoKc3RhdGljIGNvbnN0IHN0cnVjdCBmdW4KewogIGNvbnN0IGNoYXIgKm5hbWU7CiAg dm9pZCAqKCpmdW4pKHZvaWQgKiwgaW50LCBzaXplX3QpOwp9IGZ1bnRhYltdID0KewojaWYgX19h YXJjaDY0X18KICBGKF9fbWVtc2V0X2FhcmNoNjQpCiNlbGlmIF9fYXJtX18KICBGKF9fbWVtc2V0 X2FybSkKI2VuZGlmCiAgRihtZW1zZXQpCiN1bmRlZiBGCiAgezAsIDB9Cn07CiovCnR5cGVkZWYg c3RydWN0IHsgdWludDMyX3Qgb2Zmc2V0IDogMjAsIGxlbiA6IDEyOyB9IG1lbXNldF90ZXN0X3Q7 CnN0YXRpYyBtZW1zZXRfdGVzdF90IHRlc3RfYXJyW05VTV9URVNUU107Cgp0eXBlZGVmIHN0cnVj dCB7IHVpbnQxNl90IHNpemU7IHVpbnQxNl90IGZyZXE7IH0gZnJlcV9kYXRhX3Q7CnR5cGVkZWYg c3RydWN0IHsgdWludDhfdCBhbGlnbjsgdWludDE2X3QgZnJlcTsgfSBhbGlnbl9kYXRhX3Q7Cgoj ZGVmaW5lIFNJWkVfTlVNIDY1NTM2CiNkZWZpbmUgU0laRV9NQVNLIChTSVpFX05VTS0xKQpzdGF0 aWMgdWludDhfdCBsZW5fYXJyW1NJWkVfTlVNXTsKCi8qIEZyZXF1ZW5jeSBkYXRhIGZvciBtZW1z ZXQgc2l6ZXMgdXAgdG8gNDA5NiBiYXNlZCBvbiBTUEVDMjAxNy4gICovCnN0YXRpYyBmcmVxX2Rh dGFfdCBtZW1zZXRfbGVuX2ZyZXFbXSA9CnsKezQwLDI4ODE3fSwgezMyLDE1MzM2fSwgeyAxNiwz ODIzfSwgezI5NiwzNTQ1fSwgeyAyNCwzNDU0fSwgeyAgOCwxNDEyfSwKezI5MiwxMjAyfSwgeyA0 OCwgOTI3fSwgeyAxMiwgNjEzfSwgeyAxMSwgNTM5fSwgezI4NCwgNDkzfSwgezEwOCwgNDE0fSwK eyA4OCwgMzgwfSwgeyAyMCwgMjk1fSwgezMxMiwgMjcxfSwgeyA3MiwgMjMzfSwgeyAgMiwgMjAw fSwgeyAgNCwgMTkyfSwKeyAxNSwgMTgwfSwgeyAxNCwgMTc0fSwgeyAxMywgMTYwfSwgeyA1Niwg MTUxfSwgeyAzNiwgMTQ0fSwgeyA2NCwgMTQwfSwKezQwOTUsMTMzfSwgeyAxMCwgMTMwfSwgeyAg OSwgMTI0fSwgeyAgMywgMTI0fSwgeyAyOCwgMTIwfSwgeyAgMCwgMTE4fSwKezI4OCwgMTEwfSwg ezExNTIsIDk2fSwgezEwNCwgIDkwfSwgeyAgMSwgIDg2fSwgezgzMiwgIDc2fSwgezI0OCwgIDc0 fSwKezEwMjQsIDY5fSwgezEyMCwgIDY0fSwgezUxMiwgIDYzfSwgezM4NCwgIDYwfSwgeyAgNiwg IDU5fSwgeyA4MCwgIDU0fSwKeyAxNywgIDUwfSwgeyAgNywgIDQ5fSwgezUyMCwgIDQ3fSwgezIw NDgsIDM5fSwgezI1NiwgIDM3fSwgezg2NCwgIDMzfSwKezE0NDAsIDI4fSwgeyAyMiwgIDI3fSwg ezIwNTYsIDI0fSwgezI2MCwgIDIzfSwgeyA2OCwgIDIzfSwgeyAgNSwgIDIyfSwKeyAxOCwgIDIx fSwgezIwMCwgIDE4fSwgezIxMjAsIDE4fSwgeyA2MCwgIDE3fSwgeyA1MiwgIDE2fSwgezMzNiwg IDE1fSwKeyA0NCwgIDEzfSwgezE5MiwgIDEzfSwgezE2MCwgIDEyfSwgezIwNjQsIDEyfSwgezEy OCwgIDEyfSwgeyA3NiwgIDExfSwKezE2NCwgIDExfSwgezE1MiwgIDEwfSwgezEzNiwgICA5fSwg ezQ4OCwgICA3fSwgeyA5NiwgICA2fSwgezU2MCwgICA2fSwKezEwMTYsICA2fSwgezExMiwgICA1 fSwgezIzMiwgICA1fSwgezE2OCwgICA1fSwgezk1MiwgICA1fSwgezE4NCwgICA1fSwKezE0NCwg ICA0fSwgezI1MiwgICA0fSwgeyA4NCwgICAzfSwgezk2MCwgICAzfSwgezM4MDgsICAzfSwgezI0 NCwgICAzfSwKezI4MCwgICAzfSwgezIyNCwgICAzfSwgezE1NiwgICAzfSwgezEwODgsICAzfSwg ezQ0MCwgICAzfSwgezIxNiwgICAyfSwKezMwNCwgICAyfSwgeyAyMywgICAyfSwgeyAyNSwgICAy fSwgeyAyNiwgICAyfSwgezI2NCwgICAyfSwgezMyOCwgICAyfSwKezEwOTYsICAyfSwgezI0MCwg ICAyfSwgezExMDQsICAyfSwgezcwNCwgICAyfSwgezE2NjQsICAyfSwgezM2MCwgICAyfSwKezgw OCwgICAxfSwgezU0NCwgICAxfSwgezIzNiwgICAxfSwgezcyMCwgICAxfSwgezM2OCwgICAxfSwg ezQyNCwgICAxfSwKezY0MCwgICAxfSwgezExMTIsICAxfSwgezU1MiwgICAxfSwgezI3MiwgICAx fSwgezc3NiwgICAxfSwgezM3NiwgICAxfSwKeyA5MiwgICAxfSwgezUzNiwgICAxfSwgezgyNCwg ICAxfSwgezQ5NiwgICAxfSwgezc2MCwgICAxfSwgezc5MiwgICAxfSwKezUwNCwgICAxfSwgezM0 NCwgICAxfSwgezE4MTYsICAxfSwgezg4MCwgICAxfSwgezE3NiwgICAxfSwgezMyMCwgICAxfSwK ezM1MiwgICAxfSwgezIwMDgsICAxfSwgezIwOCwgICAxfSwgezQwOCwgICAxfSwgezIyOCwgICAx fSwgezIwNzIsICAxfSwKezU2OCwgICAxfSwgezIyMCwgICAxfSwgezYxNiwgICAxfSwgezYwMCwg ICAxfSwgezM5MiwgICAxfSwgezY5NiwgICAxfSwKezIxNDQsICAxfSwgezEyODAsICAxfSwgezIx MzYsICAxfSwgezYzMiwgICAxfSwgezU4NCwgICAxfSwgezQ1NiwgICAxfSwKezQ3MiwgICAxfSwg ezM0NDAsICAxfSwgezIwODgsICAxfSwgezY4MCwgICAxfSwgezI5MjgsICAxfSwgezIxMiwgICAx fSwKezY0OCwgICAxfSwgezE3NTIsICAxfSwgezY2NCwgICAxfSwgezM1MTIsICAxfSwgezEwMzIs ICAxfSwgezUyOCwgICAxfSwKezQwNzIsICAxfSwgezIwNCwgICAxfSwgezI4ODAsICAxfSwgezMz OTIsICAxfSwgezcxMiwgICAxfSwgeyA1OSwgICAxfSwKezczNiwgICAxfSwgezU5MiwgICAxfSwg ezI1MjAsICAxfSwgezc0NCwgICAxfSwgezE5NiwgICAxfSwgezE3MiwgICAxfSwKezcyOCwgICAx fSwgezIwNDAsICAxfSwgezExOTIsICAxfSwgezM2MDAsICAxfSwgezAsIDB9Cn07CgojZGVmaW5l IEFMSUdOX05VTSAxMDI0CiNkZWZpbmUgQUxJR05fTUFTSyAoQUxJR05fTlVNLTEpCnN0YXRpYyB1 aW50OF90IGFsaWduX2FycltBTElHTl9OVU1dOwoKLyogQWxpZ25tZW50IGRhdGEgZm9yIG1lbXNl dCBiYXNlZCBvbiBTUEVDMjAxNy4gICovCnN0YXRpYyBhbGlnbl9kYXRhX3QgbWVtc2V0X2FsaWdu X2ZyZXFbXSA9CnsKIHsxNiwgMzM4fSwgezgsIDMwN30sIHszMiwgMTQ4fSwgezY0LCAxMzF9LCB7 NCwgNzJ9LCB7MSwgMjN9LCB7MiwgNX0sIHswLCAwfQp9OwoKc3RhdGljIHZvaWQKaW5pdF9tZW1z ZXRfZGlzdHJpYnV0aW9uICh2b2lkKQp7CiAgaW50IGksIGosIGZyZXEsIHNpemUsIG47CgogIGZv ciAobiA9IGkgPSAwOyAoZnJlcSA9IG1lbXNldF9sZW5fZnJlcVtpXS5mcmVxKSAhPSAwOyBpKysp CiAgICBmb3IgKGogPSAwLCBzaXplID0gbWVtc2V0X2xlbl9mcmVxW2ldLnNpemU7IGogPCBmcmVx OyBqKyspCiAgICAgIGxlbl9hcnJbbisrXSA9IHNpemU7CiAgYXNzZXJ0IChuID09IFNJWkVfTlVN KTsKCiAgZm9yIChuID0gaSA9IDA7IChmcmVxID0gbWVtc2V0X2FsaWduX2ZyZXFbaV0uZnJlcSkg IT0gMDsgaSsrKQogICAgZm9yIChqID0gMCwgc2l6ZSA9IG1lbXNldF9hbGlnbl9mcmVxW2ldLmFs aWduOyBqIDwgZnJlcTsgaisrKQogICAgICBhbGlnbl9hcnJbbisrXSA9IHNpemUgLSAxOwogIGFz c2VydCAobiA9PSBBTElHTl9OVU0pOwp9CgpzdGF0aWMgc2l6ZV90CmluaXRfbWVtc2V0IChzaXpl X3QgbWF4X3NpemUpCnsKICBzaXplX3QgdG90YWwgPSAwOwogIC8qIENyZWF0ZSBhIHJhbmRvbSBz ZXQgb2YgbWVtc2V0cyB3aXRoIHRoZSBnaXZlbiBzaXplIGFuZCBhbGlnbm1lbnQKICAgICBkaXN0 cmlidXRpb25zLiAgKi8KICBmb3IgKGludCBpID0gMDsgaSA8IE5VTV9URVNUUzsgaSsrKQogICAg ewogICAgICB0ZXN0X2FycltpXS5vZmZzZXQgPSAocmFuZDMyICgwKSAmIChtYXhfc2l6ZSAtIDEp KTsKICAgICAgdGVzdF9hcnJbaV0ub2Zmc2V0ICY9IH5hbGlnbl9hcnJbcmFuZDMyICgwKSAmIEFM SUdOX01BU0tdOwogICAgICB0ZXN0X2FycltpXS5sZW4gPSBsZW5fYXJyW3JhbmQzMiAoMCkgJiBT SVpFX01BU0tdOwogICAgICB0b3RhbCArPSB0ZXN0X2FycltpXS5sZW47CiAgICB9CgogIHJldHVy biB0b3RhbDsKfQoKCmludCBtYWluICh2b2lkKQp7CiAgaW5pdF9tZW1zZXRfZGlzdHJpYnV0aW9u ICgpOwoKICBtZW1zZXQgKGEsIDEsIHNpemVvZiAoYSkpOwoKICBwcmludGYoIlJhbmRvbSBtZW1z ZXQgKGJ5dGVzL25zKTpcbiIpOwogIC8qCiAgZm9yIChpbnQgZiA9IDA7IGZ1bnRhYltmXS5uYW1l ICE9IDA7IGYrKykKICAgIHsKICAgICAgc2l6ZV90IHRvdGFsX3NpemUgPSAwOwogICAgICB1aW50 NjRfdCB0c3VtID0gMDsKICAgICAgcHJpbnRmICgiJTIycyAiLCBmdW50YWJbZl0ubmFtZSk7CiAg ICAgIHJhbmQzMiAoMHgxMjM0NTY3OCk7CgogICAgICBmb3IgKGludCBzaXplID0gTUlOX1NJWkU7 IHNpemUgPD0gTUFYX1NJWkU7IHNpemUgKj0gMikKCXsKCSAgc2l6ZV90IG1lbXNldF9zaXplID0g aW5pdF9tZW1zZXQgKHNpemUpICogSVRFUlM7CgoJICBmb3IgKGludCBjID0gMDsgYyA8IE5VTV9U RVNUUzsgYysrKQoJICAgIGZ1bnRhYltmXS5mdW4gKGEgKyB0ZXN0X2FycltjXS5vZmZzZXQsIDAs IHRlc3RfYXJyW2NdLmxlbik7CgoJICB1aW50NjRfdCB0ID0gY2xvY2tfZ2V0X25zICgpOwoJICBm b3IgKGludCBpID0gMDsgaSA8IElURVJTOyBpKyspCgkgICAgZm9yIChpbnQgYyA9IDA7IGMgPCBO VU1fVEVTVFM7IGMrKykKCSAgICAgIGZ1bnRhYltmXS5mdW4gKGEgKyB0ZXN0X2FycltjXS5vZmZz ZXQsIDAsIHRlc3RfYXJyW2NdLmxlbik7CgkgIHQgPSBjbG9ja19nZXRfbnMgKCkgLSB0OwoJICB0 b3RhbF9zaXplICs9IG1lbXNldF9zaXplOwoJICB0c3VtICs9IHQ7CgkgIHByaW50ZiAoIiVkSzog JS4yZiAiLCBzaXplIC8gMTAyNCwgKGRvdWJsZSltZW1zZXRfc2l6ZSAvIHQpOwoJfQogICAgICBw cmludGYoICJhdmcgJS4yZlxuIiwgKGRvdWJsZSl0b3RhbF9zaXplIC8gdHN1bSk7CiAgICB9CiAg ICAqLwogIHNpemVfdCB0b3RhbF9zaXplID0gMDsKICB1aW50NjRfdCB0c3VtID0gMDsKICBwcmlu dGYgKCIlMjJzICIsICJtZW1zZXRfY2FsbCIpOwogIHJhbmQzMiAoMHgxMjM0NTY3OCk7CgogIGZv ciAoaW50IHNpemUgPSBNSU5fU0laRTsgc2l6ZSA8PSBNQVhfU0laRTsgc2l6ZSAqPSAyKQogICAg ewogICAgICBzaXplX3QgbWVtc2V0X3NpemUgPSBpbml0X21lbXNldCAoc2l6ZSkgKiBJVEVSUzsK CiAgICAgIGZvciAoaW50IGMgPSAwOyBjIDwgTlVNX1RFU1RTOyBjKyspCgltZW1zZXQgKGEgKyB0 ZXN0X2FycltjXS5vZmZzZXQsIDAsIHRlc3RfYXJyW2NdLmxlbik7CgogICAgICB1aW50NjRfdCB0 ID0gY2xvY2tfZ2V0X25zICgpOwogICAgICBmb3IgKGludCBpID0gMDsgaSA8IElURVJTOyBpKysp Cglmb3IgKGludCBjID0gMDsgYyA8IE5VTV9URVNUUzsgYysrKQoJICBtZW1zZXQgKGEgKyB0ZXN0 X2FycltjXS5vZmZzZXQsIDAsIHRlc3RfYXJyW2NdLmxlbik7CiAgICAgIHQgPSBjbG9ja19nZXRf bnMgKCkgLSB0OwogICAgICB0b3RhbF9zaXplICs9IG1lbXNldF9zaXplOwogICAgICB0c3VtICs9 IHQ7CiAgICAgIHByaW50ZiAoIiVkSzogJS4yZiAiLCBzaXplIC8gMTAyNCwgKGRvdWJsZSltZW1z ZXRfc2l6ZSAvIHQpOwogICAgfQogIHByaW50ZiggImF2ZyAlLjJmXG4iLCAoZG91YmxlKXRvdGFs X3NpemUgLyB0c3VtKTsKCgogIHByaW50ZiAoIlxuTWVkaXVtIG1lbXNldCAoYnl0ZXMvbnMpOlxu Iik7CiAgLyoKICBmb3IgKGludCBmID0gMDsgZnVudGFiW2ZdLm5hbWUgIT0gMDsgZisrKQogICAg ewogICAgICBwcmludGYgKCIlMjJzICIsIGZ1bnRhYltmXS5uYW1lKTsKCiAgICAgIGZvciAoaW50 IHNpemUgPSA4OyBzaXplIDw9IDUxMjsgc2l6ZSAqPSAyKQoJewoJICB1aW50NjRfdCB0ID0gY2xv Y2tfZ2V0X25zICgpOwoJICBmb3IgKGludCBpID0gMDsgaSA8IElURVJTMjsgaSsrKQoJICAgIGZ1 bnRhYltmXS5mdW4gKGEsIDAsIHNpemUpOwoJICB0ID0gY2xvY2tfZ2V0X25zICgpIC0gdDsKCSAg cHJpbnRmICgiJWRCOiAlLjJmICIsIHNpemUsIChkb3VibGUpc2l6ZSAqIElURVJTMiAvIHQpOwoJ fQogICAgICBwcmludGYgKCJcbiIpOwogICAgfQogICAgKi8KICBwcmludGYgKCIlMjJzICIsICJt ZW1zZXRfY2FsbCIpOwogIGZvciAoaW50IHNpemUgPSA4OyBzaXplIDw9IDUxMjsgc2l6ZSAqPSAy KQogICAgewogICAgICB1aW50NjRfdCB0ID0gY2xvY2tfZ2V0X25zICgpOwogICAgICBmb3IgKGlu dCBpID0gMDsgaSA8IElURVJTMjsgaSsrKQoJbWVtc2V0IChhLCAwLCBzaXplKTsKICAgICAgdCA9 IGNsb2NrX2dldF9ucyAoKSAtIHQ7CiAgICAgIHByaW50ZiAoIiVkQjogJS4yZiAiLCBzaXplLCAo ZG91YmxlKXNpemUgKiBJVEVSUzIgLyB0KTsKICAgIH0KCgogIHByaW50ZiAoIlxuTGFyZ2UgbWVt c2V0IChieXRlcy9ucyk6XG4iKTsKICAvKgogIGZvciAoaW50IGYgPSAwOyBmdW50YWJbZl0ubmFt ZSAhPSAwOyBmKyspCiAgICB7CiAgICAgIHByaW50ZiAoIiUyMnMgIiwgZnVudGFiW2ZdLm5hbWUp OwoKICAgICAgZm9yIChpbnQgc2l6ZSA9IDEwMjQ7IHNpemUgPD0gNjU1MzY7IHNpemUgKj0gMikK CXsKCSAgdWludDY0X3QgdCA9IGNsb2NrX2dldF9ucyAoKTsKCSAgZm9yIChpbnQgaSA9IDA7IGkg PCBJVEVSUzM7IGkrKykKCSAgICBmdW50YWJbZl0uZnVuIChhLCAwLCBzaXplKTsKCSAgdCA9IGNs b2NrX2dldF9ucyAoKSAtIHQ7CgkgIHByaW50ZiAoIiVkSzogJS4yZiAiLCBzaXplIC8gMTAyNCwg KGRvdWJsZSlzaXplICogSVRFUlMzIC8gdCk7Cgl9CiAgICAgIHByaW50ZiAoIlxuIik7CiAgICB9 CiAgICAqLwogIHByaW50ZiAoIiUyMnMgIiwgIm1lbXNldF9jYWxsIik7CiAgZm9yIChpbnQgc2l6 ZSA9IDEwMjQ7IHNpemUgPD0gNjU1MzY7IHNpemUgKj0gMikKICAgIHsKICAgICAgdWludDY0X3Qg dCA9IGNsb2NrX2dldF9ucyAoKTsKICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBJVEVSUzM7IGkr KykKCW1lbXNldCAoYSwgMCwgc2l6ZSk7CiAgICAgIHQgPSBjbG9ja19nZXRfbnMgKCkgLSB0Owog ICAgICBwcmludGYgKCIlZEs6ICUuMmYgIiwgc2l6ZSAvIDEwMjQsIChkb3VibGUpc2l6ZSAqIElU RVJTMyAvIHQpOwogICAgfQogIHByaW50ZiAoIlxuXG4iKTsKCiAgcmV0dXJuIDA7Cn0K ------=_Part_365689_197173445.1682493911505--