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=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FROM,FROM_EXCESS_BASE64,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23473 invoked from network); 15 May 2023 09:57:07 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 15 May 2023 09:57:07 -0000 Received: (qmail 5636 invoked by uid 550); 15 May 2023 09:57:04 -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 5598 invoked from network); 15 May 2023 09:57:02 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1684144608; bh=vYgNCriH8xRfpP+K70/yRo01d90j/oIPIe/kG2I1WUI=; h=From:To:Subject:Date; b=sDapKkA3VT56sUNB0g+DyptJ8y50/BS+h29YdzglISKJ7EDv4bS5dbxD3OEnFTd52 JF0TSpYK5INEcSLqF3m0bm5xp06k0U2Qm83ACO3n+EO0MRCD4NL+viPStflbv/JP5q pcnB01MeYp7iko9WAkNkN2TD+83pCmO9hZiG3flg= X-QQ-FEAT: oHWrrGTW1dCni6VLWI7Xi3lwP5c1dnPf X-QQ-SSF: 00000000000000F0000000000000 X-QQ-XMAILINFO: MQwgRcMjT8HzTZtAuls0jpfDCHzgfaaC50EX2A0Wb+ZANka6u9DnqY3ws9jz2d NXVBJcq+oW/L0URqMCEguGPZzpa1zX2SXML/DnSe2uB9+6jnaIO4mjjKeyq4dIH7o9bkOBztGGK3O Nt0mNd+4qWXaqLtEf04Hq5go0ou8s/KKLR4j5/kbiR4xP6VUQ+2cIRb9bEWSGLQK9UIa9hjBHBJuW 376wKYbvJvy/5jTvSHNUdmB6OiMKt8pObyVx/MBFizyH3pY5Vn/TpNOeVLt9IOp17lgYbbdOm2M2N Byn15RkMEVcllMMdt2dNYXdT2/wSGoF+g2eoJXq6PNlpgj8WaES9XHcONckj2llHbCUtLxid1KVid QnqAhuNJ9lWGAllDtJt7ZMvgJpi2L3sPMBpCL0+xJev/iZYLmRbgiOrfoDZonvGmstWylGJ2uZa1G sL+AvaLSEAYxoERGK+JNfIl+YOl7BzE2Ro1IlRz82f671hwgtr4257D8xBrF/z6V3xfuZNtLB9BAA S73GkOhmWtam2sUwLH67vEv21S2jL7YU1925A0U7Q7OlQsyebzIIGBnuevxWj9BKFYVx3X6v5QmLP A7JhBAoEoMonhA3m+MadeoezUmI6KXBVwQxsliRod1/i5k1Cmjy77K3g1WUcyZ7VIihctTSINJpms Gr1Xlxd1pO3QgxPI47Jp/VMRIk9+0byksXU409/2bQwgUUMZ5kr7oFMKpTYN4BTD7GwEB8HCAbUpO eeC6AViO4P3p3adPiYlZQpjXlJSNQUO9ErhC19KlTXJNua3Mt1Xza2VY577YkC7BbI8mmHwtG1cQn eJNsfKgIabMIoWMEC1wQ91O0Ulm+25j8koy3v31buJZt257hdOBIpUadjyTqYTEz6nmlMvF27hddp QyiesDzs3iUm3/Uw65aGNf5+IGWxwDkL0AyGYnIsT4= X-HAS-ATTACH: no X-QQ-BUSINESS-ORIGIN: 2 X-Originating-IP: 119.3.255.225 X-QQ-STYLE: X-QQ-mid: webmail327t1684144608t4937585 From: "=?gb18030?B?ODQ3NTY3MTYx?=" <847567161@qq.com> To: "=?gb18030?B?bXVzbA==?=" Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_646201E0_13564BD8_15916C20" Content-Transfer-Encoding: 8Bit Date: Mon, 15 May 2023 17:56:48 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x Subject: [musl] Re: Re: [Patch 1/1] vfprintf: optimize vfprintf performance This is a multi-part message in MIME format. ------=_NextPart_646201E0_13564BD8_15916C20 Content-Type: text/plain; charset="gb18030" Content-Transfer-Encoding: base64 SGmjrCZuYnNwOw0KDQoNCiZuYnNwOyBJJ20gc29ycnkgZm9yIHRoZSBpbmNvcnJlY3QgZm9y bWF0IGRpZmYuIEkgdXBkYXRlZCBpdC4NCiZuYnNwOyBBcyB3ZSBkaXNjdXNzZWQgZWFybGll ciwmbmJzcDtJIG1hZGUgYSBwYXRjaCB0byBnZXQgbmxfYXJnIHdoZW4gd2Ugc2VlICckJyBy YW50aGVyIHRoYW4gdmlzaXQgdGhlIGZvcm1hdCBhbnl3YXkuDQpDb3VsZCB5b3UgcGxlYXNl IGhlbHAgbWUgcmV2aWV3IGl0o78NCg0KDQpodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlz dHMvbXVzbC8yMDIzLzA1LzA2LzENCmh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9t dXNsLzIwMjMvMDUvMDYvMg0KaHR0cHM6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wv MjAyMy8wNS8wNi8zDQpodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDIz LzA1LzA2LzQNCmh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9tdXNsLzIwMjMvMDUv MDYvNQ0KaHR0cHM6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAyMy8wNS8wNy8x DQpodHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDIzLzA1LzA3LzINCg0K DQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpkaWZmIC0tZ2l0IGEv c3JjL3N0ZGlvL3ZmcHJpbnRmLmMgYi9zcmMvc3RkaW8vdmZwcmludGYuYw0Kb2xkIG1vZGUg MTAwNjQ0IG5ldyBtb2RlIDEwMDc1NSBpbmRleCA5Yjk2MWU3Zi4uMzI5NGUyM2IgLS0tIGEv c3JjL3N0ZGlvL3ZmcHJpbnRmLmMgKysrIGIvc3JjL3N0ZGlvL3ZmcHJpbnRmLmMgQEAgLTQy Nyw3ICs0MjcsNyBAQCBzdGF0aWMgaW50IGdldGludChjaGFyICoqcykgeyAgCXJldHVybiBp OyAgfSAgIC1zdGF0aWMgaW50IHByaW50Zl9jb3JlKEZJTEUgKmYsIGNvbnN0IGNoYXIgKmZt dCwgdmFfbGlzdCAqYXAsIHVuaW9uIGFyZyAqbmxfYXJnLCBpbnQgKm5sX3R5cGUpICtzdGF0 aWMgaW50IHByaW50Zl9jb3JlKEZJTEUgKmYsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCAq YXAsIHVuaW9uIGFyZyAqbmxfYXJnLCBpbnQgKm5sX3R5cGUsIHVuaW9uIGFyZyogbmxfYXJn X3B0cikgIHsgIAljaGFyICphLCAqeiwgKnM9KGNoYXIgKilmbXQ7ICAJdW5zaWduZWQgbDEw bj0wLCBmbDsgQEAgLTQ2Miw2ICs0NjIsMTIgQEAgc3RhdGljIGludCBwcmludGZfY29yZShG SUxFICpmLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgKmFwLCB1bmlvbiBhcmcgKm5sX2Fy ZywgIAkJaWYgKGwpIGNvbnRpbnVlOyAgICAJCWlmIChpc2RpZ2l0KHNbMV0pICZhbXA7JmFt cDsgc1syXT09JyQnKSB7ICsJCQlpZiAobmxfYXJnX3B0ciA9PSBOVUxMKSB7ICsJCQkJbmxf YXJnX3B0ciA9IG5sX2FyZzsgKwkJCQlpZiAocHJpbnRmX2NvcmUoMCwgZm10LCBhcCwgbmxf YXJnLCBubF90eXBlLCBubF9hcmdfcHRyKSA8IDApIHsgKwkJCQkJcmV0dXJuIC0xOyArCQkJ CX0gKwkJCX0gIAkJCWwxMG49MTsgIAkJCWFyZ3BvcyA9IHNbMV0tJzAnOyAgCQkJcys9Mzsg QEAgLTQ3Nyw2ICs0ODMsMTIgQEAgc3RhdGljIGludCBwcmludGZfY29yZShGSUxFICpmLCBj b25zdCBjaGFyICpmbXQsIHZhX2xpc3QgKmFwLCB1bmlvbiBhcmcgKm5sX2FyZywgIAkJLyog UmVhZCBmaWVsZCB3aWR0aCAqLyAgCQlpZiAoKnM9PScqJykgeyAgCQkJaWYgKGlzZGlnaXQo c1sxXSkgJmFtcDsmYW1wOyBzWzJdPT0nJCcpIHsgKwkJCQlpZiAobmxfYXJnX3B0ciA9PSBO VUxMKSB7ICsJCQkJCW5sX2FyZ19wdHIgPSBubF9hcmc7ICsJCQkJCWlmIChwcmludGZfY29y ZSgwLCBmbXQsIGFwLCBubF9hcmcsIG5sX3R5cGUsIG5sX2FyZ19wdHIpIDwgMCkgeyArCQkJ CQkJcmV0dXJuIC0xOyArCQkJCQl9ICsJCQkJfSAgCQkJCWwxMG49MTsgIAkJCQlubF90eXBl W3NbMV0tJzAnXSA9IElOVDsgIAkJCQl3ID0gbmxfYXJnW3NbMV0tJzAnXS5pOyBAQCAtNDkx LDYgKzUwMywxMiBAQCBzdGF0aWMgaW50IHByaW50Zl9jb3JlKEZJTEUgKmYsIGNvbnN0IGNo YXIgKmZtdCwgdmFfbGlzdCAqYXAsIHVuaW9uIGFyZyAqbmxfYXJnLCAgCQkvKiBSZWFkIHBy ZWNpc2lvbiAqLyAgCQlpZiAoKnM9PScuJyAmYW1wOyZhbXA7IHNbMV09PScqJykgeyAgCQkJ aWYgKGlzZGlnaXQoc1syXSkgJmFtcDsmYW1wOyBzWzNdPT0nJCcpIHsgKwkJCQlpZiAobmxf YXJnX3B0ciA9PSBOVUxMKSB7ICsJCQkJCW5sX2FyZ19wdHIgPSBubF9hcmc7ICsJCQkJCWlm IChwcmludGZfY29yZSgwLCBmbXQsIGFwLCBubF9hcmcsIG5sX3R5cGUsIG5sX2FyZ19wdHIp IDwgMCkgeyArCQkJCQkJcmV0dXJuIC0xOyArCQkJCQl9ICsJCQkJfSAgCQkJCW5sX3R5cGVb c1syXS0nMCddID0gSU5UOyAgCQkJCXAgPSBubF9hcmdbc1syXS0nMCddLmk7ICAJCQkJcys9 NDsgQEAgLTY1OSwxNiArNjc3LDEzIEBAIGludCB2ZnByaW50ZihGSUxFICpyZXN0cmljdCBm LCBjb25zdCBjaGFyICpyZXN0cmljdCBmbXQsIHZhX2xpc3QgYXApICAJdmFfbGlzdCBhcDI7 ICAJaW50IG5sX3R5cGVbTkxfQVJHTUFYKzFdID0gezB9OyAgCXVuaW9uIGFyZyBubF9hcmdb TkxfQVJHTUFYKzFdOyArCXVuaW9uIGFyZyogbmxfYXJnX3B0ciA9IE5VTEw7ICAJdW5zaWdu ZWQgY2hhciBpbnRlcm5hbF9idWZbODBdLCAqc2F2ZWRfYnVmID0gMDsgIAlpbnQgb2xkZXJy OyAgCWludCByZXQ7ICAgIAkvKiB0aGUgY29weSBhbGxvd3MgcGFzc2luZyB2YV9saXN0KiBl dmVuIGlmIHZhX2xpc3QgaXMgYW4gYXJyYXkgKi8gIAl2YV9jb3B5KGFwMiwgYXApOyAtCWlm IChwcmludGZfY29yZSgwLCBmbXQsICZhbXA7YXAyLCBubF9hcmcsIG5sX3R5cGUpIDwgMCkg eyAtCQl2YV9lbmQoYXAyKTsgLQkJcmV0dXJuIC0xOyAtCX0gICAgCUZMT0NLKGYpOyAgCW9s ZGVyciA9IGYtJmd0O2ZsYWdzICZhbXA7IEZfRVJSOyBAQCAtNjgwLDcgKzY5NSw3IEBAIGlu dCB2ZnByaW50ZihGSUxFICpyZXN0cmljdCBmLCBjb25zdCBjaGFyICpyZXN0cmljdCBmbXQs IHZhX2xpc3QgYXApICAJCWYtJmd0O3dwb3MgPSBmLSZndDt3YmFzZSA9IGYtJmd0O3dlbmQg PSAwOyAgCX0gIAlpZiAoIWYtJmd0O3dlbmQgJmFtcDsmYW1wOyBfX3Rvd3JpdGUoZikpIHJl dCA9IC0xOyAtCWVsc2UgcmV0ID0gcHJpbnRmX2NvcmUoZiwgZm10LCAmYW1wO2FwMiwgbmxf YXJnLCBubF90eXBlKTsgKwllbHNlIHJldCA9IHByaW50Zl9jb3JlKGYsIGZtdCwgJmFtcDth cDIsIG5sX2FyZywgbmxfdHlwZSwgbmxfYXJnX3B0cik7ICAJaWYgKHNhdmVkX2J1ZikgeyAg CQlmLSZndDt3cml0ZShmLCAwLCAwKTsgIAkJaWYgKCFmLSZndDt3cG9zKSByZXQgPSAtMTs= ------=_NextPart_646201E0_13564BD8_15916C20 Content-Type: text/html; charset="gb18030" Content-Transfer-Encoding: base64 PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo YXJzZXQ9R0IxODAzMCI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lkYSBH cmFuZGUmcXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OzsiPkhp o6wmbmJzcDs8L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7bHVjaWRhIEdy YW5kZSZxdW90OywgVmVyZGFuYSwgJnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7OyI+PGJy PjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtsdWNpZGEgR3JhbmRlJnF1 b3Q7LCBWZXJkYW5hLCAmcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDs7Ij4mbmJzcDsgSSdt IHNvcnJ5IGZvciB0aGUgaW5jb3JyZWN0IGZvcm1hdCBkaWZmLiBJIHVwZGF0ZWQgaXQuPC9k aXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lkYSBHcmFuZGUmcXVvdDss IFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OzsiPjxmb250IGVkaXRvcndh cnBfXz0iMSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IGxp bmUtaGVpZ2h0OiAyMy44cHg7IGRpc3BsYXk6IGlubGluZTsgZm9udC1mYW1pbHk6IFZlcmRh bmE7Ij4mbmJzcDsgQXMgd2UgZGlzY3Vzc2VkIGVhcmxpZXIsJm5ic3A7PC9mb250PjxzcGFu IHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsiPkkgbWFkZSBhIHBhdGNoIHRvIGdldCBu bF9hcmcgd2hlbiB3ZSBzZWUgJyQnIHJhbnRoZXIgdGhhbiB2aXNpdCB0aGUgZm9ybWF0IGFu eXdheS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lk YSBHcmFuZGUmcXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90Ozsi PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyI+Q291bGQgeW91IHBs ZWFzZSBoZWxwIG1lIHJldmlldyBpdKO/PC9zcGFuPjwvZGl2Pjxmb250IGVkaXRvcndhcnBf Xz0iMSIgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMy44cHg7IGRpc3BsYXk6IGlubGluZTsgZm9u dC1mYW1pbHk6IFZlcmRhbmE7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7 Ij48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyI+PGJy PjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7 Ij48YSBlZGl0b3J3YXJwX189IjEiIGhyZWY9Imh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9s aXN0cy9tdXNsLzIwMjMvMDUvMDYvMSIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsi IHN0eWxlPSJvdXRsaW5lOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiByZ2IoMCwg MCwgMCk7IGRpc3BsYXk6IGlubGluZTsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAw LCAwKTsiPmh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9tdXNsLzIwMjMvMDUvMDYv MTwvYT48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAs IDApOyI+PGEgZWRpdG9yd2FycF9fPSIxIiBocmVmPSJodHRwczovL3d3dy5vcGVud2FsbC5j b20vbGlzdHMvbXVzbC8yMDIzLzA1LzA2LzIiIHJlbD0ibm9vcGVuZXIiIHRhcmdldD0iX2Js YW5rIiBzdHlsZT0ib3V0bGluZTogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogcmdi KDAsIDAsIDApOyBkaXNwbGF5OiBpbmxpbmU7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwg MCwgMCwgMCk7Ij5odHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDIzLzA1 LzA2LzI8L2E+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAw LCAwLCAwKTsiPjxhIGVkaXRvcndhcnBfXz0iMSIgaHJlZj0iaHR0cHM6Ly93d3cub3Blbndh bGwuY29tL2xpc3RzL211c2wvMjAyMy8wNS8wNi8zIiByZWw9Im5vb3BlbmVyIiB0YXJnZXQ9 Il9ibGFuayIgc3R5bGU9Im91dGxpbmU6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgY29sb3I6 IHJnYigwLCAwLCAwKTsgZGlzcGxheTogaW5saW5lOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Jh KDAsIDAsIDAsIDApOyI+aHR0cHM6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAy My8wNS8wNi8zPC9hPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEo MCwgMCwgMCwgMCk7Ij48YSBlZGl0b3J3YXJwX189IjEiIGhyZWY9Imh0dHBzOi8vd3d3Lm9w ZW53YWxsLmNvbS9saXN0cy9tdXNsLzIwMjMvMDUvMDYvNCIgcmVsPSJub29wZW5lciIgdGFy Z2V0PSJfYmxhbmsiIHN0eWxlPSJvdXRsaW5lOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IGRpc3BsYXk6IGlubGluZTsgYmFja2dyb3VuZC1jb2xvcjog cmdiYSgwLCAwLCAwLCAwKTsiPmh0dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9tdXNs LzIwMjMvMDUvMDYvNDwvYT48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBy Z2JhKDAsIDAsIDAsIDApOyI+PGEgZWRpdG9yd2FycF9fPSIxIiBocmVmPSJodHRwczovL3d3 dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDIzLzA1LzA2LzUiIHJlbD0ibm9vcGVuZXIi IHRhcmdldD0iX2JsYW5rIiBzdHlsZT0ib3V0bGluZTogbm9uZTsgY3Vyc29yOiBwb2ludGVy OyBjb2xvcjogcmdiKDAsIDAsIDApOyBkaXNwbGF5OiBpbmxpbmU7IGJhY2tncm91bmQtY29s b3I6IHJnYmEoMCwgMCwgMCwgMCk7Ij5odHRwczovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMv bXVzbC8yMDIzLzA1LzA2LzU8L2E+PC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv cjogcmdiYSgwLCAwLCAwLCAwKTsiPjxhIGVkaXRvcndhcnBfXz0iMSIgaHJlZj0iaHR0cHM6 Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAyMy8wNS8wNy8xIiByZWw9Im5vb3Bl bmVyIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9Im91dGxpbmU6IG5vbmU7IGN1cnNvcjogcG9p bnRlcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgZGlzcGxheTogaW5saW5lOyBiYWNrZ3JvdW5k LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyI+aHR0cHM6Ly93d3cub3BlbndhbGwuY29tL2xp c3RzL211c2wvMjAyMy8wNS8wNy8xPC9hPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQt Y29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7Ij48YSBlZGl0b3J3YXJwX189IjEiIGhyZWY9Imh0 dHBzOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9tdXNsLzIwMjMvMDUvMDcvMiIgcmVsPSJu b29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJvdXRsaW5lOiBub25lOyBjdXJzb3I6 IHBvaW50ZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGRpc3BsYXk6IGlubGluZTsgYmFja2dy b3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsiPmh0dHBzOi8vd3d3Lm9wZW53YWxsLmNv bS9saXN0cy9tdXNsLzIwMjMvMDUvMDcvMjwvYT48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7Ij48YnI+PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsiPjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTogJnF1b3Q7bHVjaWRhIEdyYW5kZSZxdW90OywgVmVyZGFuYSwgJnF1b3Q7 TWljcm9zb2Z0IFlhSGVpJnF1b3Q7OyI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwg MCwgMCwgMCk7Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAw LCAwKTsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyI+ZGlmZiAtLWdpdCBhL3NyYy9zdGRpby92 ZnByaW50Zi5jIGIvc3JjL3N0ZGlvL3ZmcHJpbnRmLmM8L3NwYW4+PC9kaXY+PGRpdiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsiPjxwcmUgc3R5bGU9Imxp bmUtaGVpZ2h0OiAyMy44cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG92ZXJmbG93OiBh dXRvOyBmb250LWZhbWlseTogVmVyZGFuYTsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAw LCAwLCAwKTsiPm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggOWI5NjFl N2YuLjMyOTRlMjNiCi0tLSBhL3NyYy9zdGRpby92ZnByaW50Zi5jCisrKyBiL3NyYy9zdGRp by92ZnByaW50Zi5jCkBAIC00MjcsNyArNDI3LDcgQEAgc3RhdGljIGludCBnZXRpbnQoY2hh ciAqKnMpIHsKIAlyZXR1cm4gaTsKIH0KIAotc3RhdGljIGludCBwcmludGZfY29yZShGSUxF ICpmLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgKmFwLCB1bmlvbiBhcmcgKm5sX2FyZywg aW50ICpubF90eXBlKQorc3RhdGljIGludCBwcmludGZfY29yZShGSUxFICpmLCBjb25zdCBj aGFyICpmbXQsIHZhX2xpc3QgKmFwLCB1bmlvbiBhcmcgKm5sX2FyZywgaW50ICpubF90eXBl LCB1bmlvbiBhcmcqIG5sX2FyZ19wdHIpCiB7CiAJY2hhciAqYSwgKnosICpzPShjaGFyICop Zm10OwogCXVuc2lnbmVkIGwxMG49MCwgZmw7CkBAIC00NjIsNiArNDYyLDEyIEBAIHN0YXRp YyBpbnQgcHJpbnRmX2NvcmUoRklMRSAqZiwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0ICph cCwgdW5pb24gYXJnICpubF9hcmcsCiAJCWlmIChsKSBjb250aW51ZTsKIAogCQlpZiAoaXNk aWdpdChzWzFdKSAmYW1wOyZhbXA7IHNbMl09PSckJykgeworCQkJaWYgKG5sX2FyZ19wdHIg PT0gTlVMTCkgeworCQkJCW5sX2FyZ19wdHIgPSBubF9hcmc7CisJCQkJaWYgKHByaW50Zl9j b3JlKDAsIGZtdCwgYXAsIG5sX2FyZywgbmxfdHlwZSwgbmxfYXJnX3B0cikgJmx0OyAwKSB7 CisJCQkJCXJldHVybiAtMTsKKwkJCQl9CisJCQl9CiAJCQlsMTBuPTE7CiAJCQlhcmdwb3Mg PSBzWzFdLScwJzsKIAkJCXMrPTM7CkBAIC00NzcsNiArNDgzLDEyIEBAIHN0YXRpYyBpbnQg cHJpbnRmX2NvcmUoRklMRSAqZiwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0ICphcCwgdW5p b24gYXJnICpubF9hcmcsCiAJCS8qIFJlYWQgZmllbGQgd2lkdGggKi8KIAkJaWYgKCpzPT0n KicpIHsKIAkJCWlmIChpc2RpZ2l0KHNbMV0pICZhbXA7JmFtcDsgc1syXT09JyQnKSB7CisJ CQkJaWYgKG5sX2FyZ19wdHIgPT0gTlVMTCkgeworCQkJCQlubF9hcmdfcHRyID0gbmxfYXJn OworCQkJCQlpZiAocHJpbnRmX2NvcmUoMCwgZm10LCBhcCwgbmxfYXJnLCBubF90eXBlLCBu bF9hcmdfcHRyKSAmbHQ7IDApIHsKKwkJCQkJCXJldHVybiAtMTsKKwkJCQkJfQorCQkJCX0K IAkJCQlsMTBuPTE7CiAJCQkJbmxfdHlwZVtzWzFdLScwJ10gPSBJTlQ7CiAJCQkJdyA9IG5s X2FyZ1tzWzFdLScwJ10uaTsKQEAgLTQ5MSw2ICs1MDMsMTIgQEAgc3RhdGljIGludCBwcmlu dGZfY29yZShGSUxFICpmLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgKmFwLCB1bmlvbiBh cmcgKm5sX2FyZywKIAkJLyogUmVhZCBwcmVjaXNpb24gKi8KIAkJaWYgKCpzPT0nLicgJmFt cDsmYW1wOyBzWzFdPT0nKicpIHsKIAkJCWlmIChpc2RpZ2l0KHNbMl0pICZhbXA7JmFtcDsg c1szXT09JyQnKSB7CisJCQkJaWYgKG5sX2FyZ19wdHIgPT0gTlVMTCkgeworCQkJCQlubF9h cmdfcHRyID0gbmxfYXJnOworCQkJCQlpZiAocHJpbnRmX2NvcmUoMCwgZm10LCBhcCwgbmxf YXJnLCBubF90eXBlLCBubF9hcmdfcHRyKSAmbHQ7IDApIHsKKwkJCQkJCXJldHVybiAtMTsK KwkJCQkJfQorCQkJCX0KIAkJCQlubF90eXBlW3NbMl0tJzAnXSA9IElOVDsKIAkJCQlwID0g bmxfYXJnW3NbMl0tJzAnXS5pOwogCQkJCXMrPTQ7CkBAIC02NTksMTYgKzY3NywxMyBAQCBp bnQgdmZwcmludGYoRklMRSAqcmVzdHJpY3QgZiwgY29uc3QgY2hhciAqcmVzdHJpY3QgZm10 LCB2YV9saXN0IGFwKQogCXZhX2xpc3QgYXAyOwogCWludCBubF90eXBlW05MX0FSR01BWCsx XSA9IHswfTsKIAl1bmlvbiBhcmcgbmxfYXJnW05MX0FSR01BWCsxXTsKKwl1bmlvbiBhcmcq IG5sX2FyZ19wdHIgPSBOVUxMOwogCXVuc2lnbmVkIGNoYXIgaW50ZXJuYWxfYnVmWzgwXSwg KnNhdmVkX2J1ZiA9IDA7CiAJaW50IG9sZGVycjsKIAlpbnQgcmV0OwogCiAJLyogdGhlIGNv cHkgYWxsb3dzIHBhc3NpbmcgdmFfbGlzdCogZXZlbiBpZiB2YV9saXN0IGlzIGFuIGFycmF5 ICovCiAJdmFfY29weShhcDIsIGFwKTsKLQlpZiAocHJpbnRmX2NvcmUoMCwgZm10LCAmYW1w O2FwMiwgbmxfYXJnLCBubF90eXBlKSAmbHQ7IDApIHsKLQkJdmFfZW5kKGFwMik7Ci0JCXJl dHVybiAtMTsKLQl9CiAKIAlGTE9DSyhmKTsKIAlvbGRlcnIgPSBmLSZndDtmbGFncyAmYW1w OyBGX0VSUjsKQEAgLTY4MCw3ICs2OTUsNyBAQCBpbnQgdmZwcmludGYoRklMRSAqcmVzdHJp Y3QgZiwgY29uc3QgY2hhciAqcmVzdHJpY3QgZm10LCB2YV9saXN0IGFwKQogCQlmLSZndDt3 cG9zID0gZi0mZ3Q7d2Jhc2UgPSBmLSZndDt3ZW5kID0gMDsKIAl9CiAJaWYgKCFmLSZndDt3 ZW5kICZhbXA7JmFtcDsgX190b3dyaXRlKGYpKSByZXQgPSAtMTsKLQllbHNlIHJldCA9IHBy aW50Zl9jb3JlKGYsIGZtdCwgJmFtcDthcDIsIG5sX2FyZywgbmxfdHlwZSk7CisJZWxzZSBy ZXQgPSBwcmludGZfY29yZShmLCBmbXQsICZhbXA7YXAyLCBubF9hcmcsIG5sX3R5cGUsIG5s X2FyZ19wdHIpOwogCWlmIChzYXZlZF9idWYpIHsKIAkJZi0mZ3Q7d3JpdGUoZiwgMCwgMCk7 CiAJCWlmICghZi0mZ3Q7d3BvcykgcmV0ID0gLTE7CjwvcHJlPjxkaXY+PGJyPjwvZGl2Pjwv ZGl2PjwvZm9udD48L2Rpdj4= ------=_NextPart_646201E0_13564BD8_15916C20--