From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.7 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2300AC282E1 for ; Mon, 22 Apr 2019 13:35:17 +0000 (UTC) Received: from isis.lip6.fr (isis.lip6.fr [132.227.60.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2F82220652 for ; Mon, 22 Apr 2019 13:35:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VF+XUSZZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2F82220652 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=cocci-bounces@systeme.lip6.fr Received: from systeme.lip6.fr (systeme.lip6.fr [132.227.104.7]) by isis.lip6.fr (8.15.2/lip6) with ESMTP id x3MDYkoP021817 ; Mon, 22 Apr 2019 15:34:46 +0200 (CEST) Received: from systeme.lip6.fr (systeme.lip6.fr [127.0.0.1]) by systeme.lip6.fr (Postfix) with ESMTP id 00BDB7725; Mon, 22 Apr 2019 15:34:46 +0200 (CEST) Received: from isis.lip6.fr (isis.lip6.fr [132.227.60.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by systeme.lip6.fr (Postfix) with ESMTPS id 5BE2C7261 for ; Mon, 22 Apr 2019 15:34:44 +0200 (CEST) Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com [IPv6:2607:f8b0:4864:20:0:0:0:32b] (may be forged)) by isis.lip6.fr (8.15.2/lip6) with ESMTP id x3MDYfD0017394 for ; Mon, 22 Apr 2019 15:34:41 +0200 (CEST) X-pt: isis.lip6.fr Received: by mail-ot1-x32b.google.com with SMTP id j10so9619334otq.0 for ; Mon, 22 Apr 2019 06:34:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=7Nwt4Gf9GMXPwyUV7I9IuQ3E9kDxeSeyj2gDMqY9aMU=; b=VF+XUSZZqmygLkbuJS0ze4HxLsaNDNlWYVS0YurVrRuEZYAnVUtQnTIqPkaWuy8dsz F2eOQQuDqunnZDyZh60aZiT0Cotb1qZxBxCHsMbQ4jG8LRkIr2NAjhHl2v+ppBSE2VPV GzTiKbc+V9YeLsBLaXfHuBm7gB+buD7KDUEbPdAhJyNb5RN2xbT/8e6N2Z2FBer+ug7h aTQyW7jn4r+LI4/cmpGOyoOuUBrlf+gsduvfmctvqlOA0qSWDAvLEG14Ih4svkY3uyGT 1spkvHJ2omVJAdR/DuLDbbsqip1vu24EtIxLrenFc3PuRdeq5aGDZJzKqfG2ey3YojV1 x9wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=7Nwt4Gf9GMXPwyUV7I9IuQ3E9kDxeSeyj2gDMqY9aMU=; b=ESzlN2a6j4LxrY9ngEhaxwx+AsWQwA1ul0I9uPby70TkPGMlLEa9e0r5vebdQA91ED d8gUailyKVkCO1swDELxftC42rY6b7Q2yiRQmXsmyL0yJOxmPl12Je3I54M+hXVjZTRS 4+xduNc0MVaVgfFqy+VRcBIH2F8Nv+oJnavXfX7bfPm1hbQ78RzlAFRoFdCQELPnqVfk e6Juvlw6KjSXnQW/GN20YlLbWet2SuYmCXwyPB4Uu+Z6TMkTI7mUI7i4eYSJI9uCfSvM 14a8dnvoEkFPMYKivVbFiItHk6bWuU+VR0tw1ED49P4lDCZlRnWL2vs5eAy61yPtHgKN OcYg== X-Gm-Message-State: APjAAAUrGnumNrRMGoSlchGhs76SvlHpbNS3JcG9FGCPFaQIcCoHBaNy 1ayBJMfed+XnaMbYQPuGXZsrX2OHIcI68kog3hlUxDEEyO0= X-Google-Smtp-Source: APXvYqyaeCiej2KdQngpWbVSHPohFJNKP6J5Y3fh+wlgoazzEeCjSiOtWMA/RV5ThMvZLKGoO757nsu079ZDtjG2qCU= X-Received: by 2002:a9d:7454:: with SMTP id p20mr11846667otk.201.1555940080904; Mon, 22 Apr 2019 06:34:40 -0700 (PDT) MIME-Version: 1.0 From: Evan Zhao Date: Mon, 22 Apr 2019 21:34:29 +0800 Message-ID: To: Coccinelle Content-Type: multipart/mixed; boundary="000000000000d08c1205871e878a" X-Greylist: Sender IP whitelisted, Sender e-mail whitelisted, not delayed by milter-greylist-4.4.3 (isis.lip6.fr [132.227.60.2]); Mon, 22 Apr 2019 15:34:47 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.4.3 (isis.lip6.fr [IPv6:2001:660:3302:283c:0:0:0:2]); Mon, 22 Apr 2019 15:34:42 +0200 (CEST) X-Scanned-By: MIMEDefang 2.78 on 132.227.60.2 X-Scanned-By: MIMEDefang 2.78 Subject: [Cocci] [Patch] Add dowhile support in SmPL X-BeenThere: cocci@systeme.lip6.fr X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cocci-bounces@systeme.lip6.fr Errors-To: cocci-bounces@systeme.lip6.fr --000000000000d08c1205871e878a Content-Type: text/plain; charset="UTF-8" Hi there, I would like to show you my efforts on adding the missing dowhile loop in SmPL. The following code consist of the functional part and tests part. So far, it works well, the tests set have most cases that come to my mind. Cause I have some problem with the latest master code, the patch was generated by rebasing from a old version. I think it's rustic and I could use your professional suggestions to refine the code and complete the test set. Thx! Yimin --000000000000d08c1205871e878a Content-Type: text/x-patch; charset="UTF-8"; name="0001-add-dowhile-support.patch" Content-Disposition: attachment; filename="0001-add-dowhile-support.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jusdwmbp0 RnJvbSA4ZDJjMjVmMGE0MWNmNjdlODBiZGUwN2NmZGFlNWI5YWJlOGQ2ODIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB0YWNpbmlnaHQgPHRhY2luZ2lodEBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgMjIgQXByIDIwMTkgMjE6MDk6NTkgKzA4MDAKU3ViamVjdDogW1BBVENIXSBhZGQgZG93 aGlsZSBzdXBwb3J0CgpTaWduZWQtb2ZmLWJ5OiB0YWNpbmlnaHQgPHRhY2luZ2lodEBnbWFpbC5j b20+Ci0tLQogZW5naW5lL2FzdHRvY3RsMi5tbCAgICAgICAgICAgICB8IDQzICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBlbmdpbmUvYXN0dG9tZW1iZXIubWwgICAg ICAgICAgIHwgIDUgKysrKysKIHBhcnNpbmdfY29jY2kvYWRqYWNlbmN5Lm1sICAgICAgfCAgMyAr KysKIHBhcnNpbmdfY29jY2kvYWRqdXN0X3ByYWdtYXMubWwgfCAgNiArKysrKysKIHBhcnNpbmdf Y29jY2kvY29udGV4dF9uZWcubWwgICAgfCAgNSArKysrKwogcGFyc2luZ19jb2NjaS9mcmVlX3Zh cnMubWwgICAgICB8ICA1ICsrKysrCiBwYXJzaW5nX2NvY2NpL2dldF9jb25zdGFudHMyLm1sIHwg IDQgKysrKwogcGFyc2luZ19jb2NjaS9pbnNlcnRfcGx1cy5tbCAgICB8ICA0ICsrKysKIHBhcnNp bmdfY29jY2kvaXNvX3BhdHRlcm4ubWwgICAgfCAgNyArKysrKysrCiB0ZXN0cy9kb3doaWxlXy5j ICAgICAgICAgICAgICAgIHwgIDggKysrKysrKysKIHRlc3RzL2Rvd2hpbGVfLmNvY2NpICAgICAg ICAgICAgfCAgOSArKysrKysrKysKIHRlc3RzL2Rvd2hpbGVfMS5jb2NjaSAgICAgICAgICAgfCAg OSArKysrKysrKysKIHRlc3RzL2Rvd2hpbGVfMi5jb2NjaSAgICAgICAgICAgfCAgOSArKysrKysr KysKIHRlc3RzL2Rvd2hpbGVfMy5jICAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCiB0ZXN0 cy9kb3doaWxlXzMuY29jY2kgICAgICAgICAgIHwgIDkgKysrKysrKysrCiB0ZXN0cy9kb3doaWxl XzQuYyAgICAgICAgICAgICAgIHwgIDYgKysrKysrCiB0ZXN0cy9kb3doaWxlXzQuY29jY2kgICAg ICAgICAgIHwgIDYgKysrKysrCiB0ZXN0cy9kb3doaWxlXzYuYyAgICAgICAgICAgICAgIHwgIDkg KysrKysrKysrCiB0ZXN0cy9kb3doaWxlXzYuY29jY2kgICAgICAgICAgIHwgMTcgKysrKysrKysr KysrKysrKwogdGVzdHMvZG93aGlsZV9mb3JfY29tcGxleC5jICAgICB8IDEwICsrKysrKysrKysK IHRlc3RzL2Rvd2hpbGVfZm9yX2NvbXBsZXguY29jY2kgfCAxNyArKysrKysrKysrKysrKysrCiB0 ZXN0cy9kb3doaWxlX25lc3RlZC5jICAgICAgICAgIHwgMTEgKysrKysrKysrKysKIHRlc3RzL2Rv d2hpbGVfbmVzdGVkLmNvY2NpICAgICAgfCAxMSArKysrKysrKysrKwogdGVzdHMvZG93aGlsZV9w bHVzLmMgICAgICAgICAgICB8ICA4ICsrKysrKysrCiB0ZXN0cy9kb3doaWxlX3BsdXMuY29jY2kg ICAgICAgIHwgIDkgKysrKysrKysrCiB0ZXN0cy9kb3doaWxlX3BsdXNfYmVsb3cuY29jY2kgIHwg IDkgKysrKysrKysrCiAyNiBmaWxlcyBjaGFuZ2VkLCAyNDkgaW5zZXJ0aW9ucygrKQogY3JlYXRl IG1vZGUgMTAwNzU1IHRlc3RzL2Rvd2hpbGVfLmMKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9k b3doaWxlXy5jb2NjaQogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL2Rvd2hpbGVfMS5jb2NjaQog Y3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL2Rvd2hpbGVfMi5jb2NjaQogY3JlYXRlIG1vZGUgMTAw NzU1IHRlc3RzL2Rvd2hpbGVfMy5jCiBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvZG93aGlsZV8z LmNvY2NpCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvZG93aGlsZV80LmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0ZXN0cy9kb3doaWxlXzQuY29jY2kKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9k b3doaWxlXzYuYwogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL2Rvd2hpbGVfNi5jb2NjaQogY3Jl YXRlIG1vZGUgMTAwNzU1IHRlc3RzL2Rvd2hpbGVfZm9yX2NvbXBsZXguYwogY3JlYXRlIG1vZGUg MTAwNzU1IHRlc3RzL2Rvd2hpbGVfZm9yX2NvbXBsZXguY29jY2kKIGNyZWF0ZSBtb2RlIDEwMDc1 NSB0ZXN0cy9kb3doaWxlX25lc3RlZC5jCiBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvZG93aGls ZV9uZXN0ZWQuY29jY2kKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9kb3doaWxlX3BsdXMuYwog Y3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL2Rvd2hpbGVfcGx1cy5jb2NjaQogY3JlYXRlIG1vZGUg MTAwNzU1IHRlc3RzL2Rvd2hpbGVfcGx1c19iZWxvdy5jb2NjaQoKZGlmZiAtLWdpdCBhL2VuZ2lu ZS9hc3R0b2N0bDIubWwgYi9lbmdpbmUvYXN0dG9jdGwyLm1sCmluZGV4IDgxNGMxMjkzLi5hN2Uw ZGYwNyAxMDA2NDQKLS0tIGEvZW5naW5lL2FzdHRvY3RsMi5tbAorKysgYi9lbmdpbmUvYXN0dG9j dGwyLm1sCkBAIC0xMjI3LDYgKzEyMjcsNDQgQEAgbGV0IGZvcndoaWxlIGhlYWRlciBib2R5ICgo YWZ2cyxfLF8sXykgYXMgYWZ0KSBhZnRlcgogICAgICAgfCBfIC0+IHByb2Nlc3MoKSkKICAgfCBf IC0+IHByb2Nlc3MoKQogCitsZXQgZG93aGlsZSBkb2hlYWRlciBib2R5IHdoaWxldGFpbCBhZnRl ciBxdWFudGlmaWVkCisgICAgICBtaW51c19xdWFudGlmaWVkIGxhYmVsIHJlY3Vyc2UgbWFrZV9t YXRjaCBndWFyZCA9CisgIGxldCB0YWlsX2Z2cyA9IEFzdC5nZXRfZnZzIHdoaWxldGFpbCBpbgor ICBsZXQgYWZ0ID0gKFtdLFtdLFtdLCBBc3QuQ09OVEVYVChBc3QuTm9Qb3MsQXN0Lk5PVEhJTkcp KSBpbgorICBsZXQgKGVmdnMsIGJmdnMsIGUxZnZzKSA9CisgICAgbGV0IGhlYWRlcl9mdnMgPSBD b21tb24udW5pb25fc2V0IChBc3QuZ2V0X2Z2cyBkb2hlYWRlcikgdGFpbF9mdnMgaW4KKyAgICBt YXRjaCBzZXFfZnZzIHF1YW50aWZpZWQgW0FzdC5nZXRfZnZzIGRvaGVhZGVyOyBBc3QuZ2V0X2Z2 cyBib2R5OyBBc3QuZ2V0X2Z2cyB3aGlsZXRhaWxdIHdpdGgKKyAgICAgIFsoZWZ2cywgYjFmdnMp OyhfLGIyZnZzKTtlMWZ2c10gLT4gKGVmdnMsIENvbW1vbi51bmlvbl9zZXQgYjFmdnMgYjJmdnMs ZTFmdnMpCisgICAgfCBfIC0+IGZhaWx3aXRoICJhc3R0b2N0bDI6IG5vdCBwb3NzaWJsZSAxMDMi IGluCisgIGxldCBuZXdfcXVhbnRpZmllZCA9IENvbW1vbi51bmlvbl9zZXQgYmZ2cyBxdWFudGlm aWVkIGluCisgIGxldCAobWVmdnMsIG1iZnZzKSA9CisgICAgbGV0IG1oZWFkZXJfZnZzID0gQ29t bW9uLnVuaW9uX3NldCAoQXN0LmdldF9tZnZzIGRvaGVhZGVyKSAoQXN0LmdldF9tZnZzIHdoaWxl dGFpbCkgaW4KKyAgICBtYXRjaCBzZXFfZnZzIHF1YW50aWZpZWQgW0FzdC5nZXRfbWZ2cyBkb2hl YWRlcjsgQXN0LmdldF9tZnZzIGJvZHk7IEFzdC5nZXRfbWZ2cyB3aGlsZXRhaWxdIHdpdGgKKyAg ICAgIFsoZWZ2cywgYjFmdnMpOyhfLGIyZnZzKTtfXSAtPiAoZWZ2cywgQ29tbW9uLnVuaW9uX3Nl dCBiMWZ2cyBiMmZ2cykKKyAgICB8IF8gLT4gZmFpbHdpdGggImFzdHRvY3RsMjogbm90IHBvc3Np YmxlIDEwNCIgaW4KKyAgbGV0IG5ld19tcXVhbnRpZmllZCA9IENvbW1vbi51bmlvbl9zZXQgbWJm dnMgbWludXNfcXVhbnRpZmllZCBpbgorICBsZXQgaGVhZGVyID0gcXVhbnRpZnkgZ3VhcmQgZWZ2 cyAobWFrZV9tYXRjaCBkb2hlYWRlcikgaW4KKyAgbGV0IHRhaWxlciA9IHF1YW50aWZ5IGd1YXJk IGVmdnMgKG1ha2VfbWF0Y2ggd2hpbGV0YWlsKSBpbgorICBsZXQgbHYgPSBnZXRfbGFiZWxfY3Ry KCkgaW4KKyAgbGV0IHRhaWxfYnJhbmNoID0KKyAgICBjdGxfYW5kIENUTC5OT05TVFJJQ1QgdGFp bGVyCisgICAgICAoY3RsX2FuZCBDVEwuTk9OU1RSSUNUIChjdGxfZXggKGlubG9vcHByZWQgTm9u ZSkpIChjdGxfZXggKGZhbGxwcmVkIE5vbmUpKSkgaW4KKyAgbGV0IHVzZWQgPSByZWYgZmFsc2Ug aW4KKyAgbGV0IGJvZHkgPQorICAgIG1ha2Vfc2VxIGd1YXJkCisgICAgICBbcmVjdXJzZSBib2R5 IE5vdFRvcCAoQWZ0ZXIgKHRhaWxfYnJhbmNoKSkgbmV3X3F1YW50aWZpZWQgbmV3X21xdWFudGlm aWVkIChTb21lIChsdiwgdXNlZCkpCisgICAgICAgICAoU29tZSAobHYsIHVzZWQpKSBOb25lIGd1 YXJkXSBpbgorICBsZXQgYWZ0ZXJfYnJhbmNoID0gYWZ0cHJlZCBOb25lIGluCisgIGxldCBvcl9j YXNlcyBhZnRlcl9icmFuY2ggPSBDb21tb24uTGVmdCBbYm9keTsgYWZ0ZXJfYnJhbmNoXSBpbgor ICBsZXQgKGhlYWRlciwgd3JhcHBlcikgPQorICAgIGlmICF1c2VkCisgICAgdGhlbgorICAgICAg bGV0IGxhYmVsX3ByZWQgPSBDVEwuUHJlZCAoTGliX2VuZ2luZS5MYWJlbChsdiksIENUTC5Db250 cm9sKSBpbgorICAgICAgKGN0bF9hbmQgQ1RMLk5PTlNUUklDVCBoZWFkZXIgbGFiZWxfcHJlZCwg KGZ1bmN0aW9uIGJvZHkgLT4gcXVhbnRpZnkgdHJ1ZSBbbHZdIGJvZHkpKQorICAgIGVsc2UgKGhl YWRlciwgZnVuY3Rpb24geCAtPiB4KSBpbgorICB3cmFwcGVyIChlbmRfY29udHJvbF9zdHJ1Y3R1 cmUgYmZ2cyBoZWFkZXIgb3JfY2FzZXMgYWZ0ZXJfYnJhbmNoCisgICAgICAgICAgICAgKFNvbWUo Y3RsX2V4IGFmdGVyX2JyYW5jaCkpIE5vbmUgYWZ0IGFmdGVyIGxhYmVsIGd1YXJkKQorCiAoKiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gKikKICgqIHN0YXRlbWVudCBtZXRhdmFyaWFibGVzICopCiAKQEAgLTIwNDcs NiArMjA4NSwxMSBAQCBhbmQgc3RhdGVtZW50IHN0bXQgdG9wIGFmdGVyIHF1YW50aWZpZWQgbWlu dXNfcXVhbnRpZmllZAogICAgICAgZm9yd2hpbGUgaGVhZGVyIGJvZHkgYWZ0IGFmdGVyIHF1YW50 aWZpZWQgbWludXNfcXVhbnRpZmllZAogCWxhYmVsIHN0YXRlbWVudCBtYWtlX21hdGNoIGd1YXJk CiAKKyAgfCBBc3QuRG8oZG9oZWFkZXIsYm9keSx3aGlsZXRhaWwpIC0+CisgICAgICBkb3RzX2Rv bmUgOj0gdHJ1ZTsKKyAgICAgIGRvd2hpbGUgZG9oZWFkZXIgYm9keSB3aGlsZXRhaWwgYWZ0ZXIg cXVhbnRpZmllZCBtaW51c19xdWFudGlmaWVkCisgICAgICAgICBsYWJlbCBzdGF0ZW1lbnQgbWFr ZV9tYXRjaCBndWFyZAorCiAgIHwgQXN0LkRpc2ooc3RtdF9kb3RzX2xpc3QpIC0+ICgqIGxpc3Qg c2hvdWxkbid0IGJlIGVtcHR5ICopCiAgICAgICAoKmN0bF9hbmQgICAgICAgIHNlZW1zIHBvaW50 bGVzcywgZGlzanVuY3RzIHNlZSBsYWJlbCB0b28KIAkobGFiZWxfcHJlZF9tYWtlciBsYWJlbCkq KQpkaWZmIC0tZ2l0IGEvZW5naW5lL2FzdHRvbWVtYmVyLm1sIGIvZW5naW5lL2FzdHRvbWVtYmVy Lm1sCmluZGV4IDllYjJkNGI5Li4xNjY2OTkzMiAxMDA2NDQKLS0tIGEvZW5naW5lL2FzdHRvbWVt YmVyLm1sCisrKyBiL2VuZ2luZS9hc3R0b21lbWJlci5tbApAQCAtMjIyLDYgKzIyMiwxMSBAQCBh bmQgc3RhdGVtZW50IHRlc3RmbiBtY29kZSB0YWlsIHN0bXQgOiAnYSBsaXN0IGxpc3QgPQogICAg ICAgdGhlbiBjb25qIChydWxlX2VsZW0gaGVhZGVyKSAoc3RhdGVtZW50IHRlc3RmbiBtY29kZSB0 YWlsIGJyYW5jaCkKICAgICAgIGVsc2Ugc3RhdGVtZW50IHRlc3RmbiBtY29kZSB0YWlsIGJyYW5j aAogCisgIHwgQXN0LkRvKGhlYWRlcixicmFuY2gsd2hpbGV0YWlsKSAtPgorICAgICBpZiB0ZXN0 Zm4gaGVhZGVyIHx8IHRlc3RmbiB3aGlsZXRhaWwKKyAgICAgdGhlbiBjb25qX3dyYXBwZWQgW2hl YWRlcjt3aGlsZXRhaWxdIChzdGF0ZW1lbnQgdGVzdGZuIG1jb2RlIHRhaWwgYnJhbmNoKQorICAg ICBlbHNlIHN0YXRlbWVudCB0ZXN0Zm4gbWNvZGUgdGFpbCBicmFuY2gKKwogICB8IEFzdC5Td2l0 Y2goaGVhZGVyLGxiLGRlY2xzLGNhc2VzLHJiKSAtPgogICAgICAgbGV0IGJvZHlfaW5mbyA9CiAJ Y29uagpkaWZmIC0tZ2l0IGEvcGFyc2luZ19jb2NjaS9hZGphY2VuY3kubWwgYi9wYXJzaW5nX2Nv Y2NpL2FkamFjZW5jeS5tbAppbmRleCA4YzRiMTUyOS4uODlmNTQwODYgMTAwNjQ0Ci0tLSBhL3Bh cnNpbmdfY29jY2kvYWRqYWNlbmN5Lm1sCisrKyBiL3BhcnNpbmdfY29jY2kvYWRqYWNlbmN5Lm1s CkBAIC01Nyw2ICs1Nyw5IEBAIGxldCBjb21wdXRlX2FkamFjZW5jeSBwID0KICAgICAgIHwgQXN0 MC5JdGVyYXRvcihubSxscCxhcmdzLHJwLGJvZHksKGluZm8sbWMsXykpIC0+CiAJICBsZXQgYm9k eSA9IHJlZG8gcnAgYm9keSBpbgogCSAgQXN0MC5JdGVyYXRvcihubSxscCxhcmdzLHJwLGJvZHks KGluZm8sbWMsIWNvdW50ZXIpKQorICAgICAgfCBBc3QwLkRvKGRvbyxib2R5LHRhaWwsbHAsYXJn cyxycCwoc3RyLGFyaXQsaW5mbyxtYyxhbnksXykpIC0+CisgICAgICAgICAgbGV0IGJvZHkgPSBy ZWRvIHJwIGJvZHkgaW4KKyAgICAgICAgICBBc3QwLkRvKGRvbyxib2R5LHRhaWwsbHAsYXJncyxy cCwoc3RyLGFyaXQsaW5mbyxtYyxhbnksIWNvdW50ZXIpKQogICAgICAgfCBzIC0+IHMpIGluCiAg IGxldCBmbiA9CiAgICAgVjAucmVidWlsZGVyCmRpZmYgLS1naXQgYS9wYXJzaW5nX2NvY2NpL2Fk anVzdF9wcmFnbWFzLm1sIGIvcGFyc2luZ19jb2NjaS9hZGp1c3RfcHJhZ21hcy5tbAppbmRleCAx NTcwYTEwOC4uYzAyZmE4ODYgMTAwNjQ0Ci0tLSBhL3BhcnNpbmdfY29jY2kvYWRqdXN0X3ByYWdt YXMubWwKKysrIGIvcGFyc2luZ19jb2NjaS9hZGp1c3RfcHJhZ21hcy5tbApAQCAtMzUxLDYgKzM1 MSwxMiBAQCBsZXQgcHJvY2VzcyA9CiAJICAgIE5vbmUgLT4gQXN0MC51bndyYXAgcwogCSAgfCBT b21lIChwcmFnbWFzLGJvZHkpIC0+CiAJICAgICAgQXN0MC5JdGVyYXRvcihubSxscCxhcmdzLHJw LGJvZHksdXBkYXRlX2JlZm9yZSBwcmFnbWFzIGFmdCkpCisgICAgICB8IEFzdDAuRG8oZG9vLGJv ZHksdGFpbCxscCxhcmdzLHJwLChhLGIsaW5mbyxtYyxjLGFkaikpIC0+CisgICAgICAgICAgKG1h dGNoIHJpZ2h0X3N0YXRlbWVudCBib2R5IHdpdGgKKyAgICAgICAgICAgIE5vbmUgLT4gQXN0MC51 bndyYXAgcworICAgICAgICAgIHwgU29tZSAocHJhZ21hcyxib2R5KSAtPgorICAgICAgICAgICAg IGxldCAoaW5mbyxtYyxhZGopID0gdXBkYXRlX2JlZm9yZSBwcmFnbWFzIChpbmZvLG1jLGFkaikg aW4KKyAgICAgICAgICAgICBBc3QwLkRvKGRvbyxib2R5LHRhaWwsbHAsYXJncyxycCwoYSxiLGlu Zm8sbWMsYyxhZGopKSkKICAgICAgIHwgXyAtPiBBc3QwLnVud3JhcCBzKSBpbgogCiAgIGxldCBy ZXMgPSBWMC5yZWJ1aWxkZXIKZGlmZiAtLWdpdCBhL3BhcnNpbmdfY29jY2kvY29udGV4dF9uZWcu bWwgYi9wYXJzaW5nX2NvY2NpL2NvbnRleHRfbmVnLm1sCmluZGV4IDE1NGZkNGYwLi4yNDg3MDFm OSAxMDA2NDQKLS0tIGEvcGFyc2luZ19jb2NjaS9jb250ZXh0X25lZy5tbAorKysgYi9wYXJzaW5n X2NvY2NpL2NvbnRleHRfbmVnLm1sCkBAIC0xNjgsNiArMTY4LDggQEAgbGV0IGNvbGxlY3RfcGx1 c19saW5lcyB0b3AgPQogICAgICAgfCBBc3QwLldoaWxlKF8sXyxfLF8sXywoaW5mbyxhZnQsYWRq KSkKICAgICAgIHwgQXN0MC5Gb3IoXyxfLF8sXyxfLF8sXyxfLChpbmZvLGFmdCxhZGopKSAtPgog CSAgYmluZCAoayBzKSAobWNvZGUgaW5mbyBhZnQpCisgICAgICB8IEFzdDAuRG8oXyxfLF8sXyxf LF8sKF8sXyxpbmZvLGFmdCxfLGFkaikpIC0+CisgICAgICAgICAgYmluZCAoayBzKSAobWNvZGUg aW5mbyBhZnQpCiAgICAgICB8CV8gLT4gayBzIGluCiAgIGxldCBmbiA9CiAgICAgVjAuZmxhdF9j b21iaW5lciBiaW5kIG9wdGlvbl9kZWZhdWx0CkBAIC01MTIsNiArNTE0LDkgQEAgbGV0IGNsYXNz aWZ5IGlzX21pbnVzIGFsbF9tYXJrZWQgdGFibGUgY29kZSA9CiAgICAgICB8IEFzdDAuRm9yKHN0 YXJ0LF8sXyxfLF8sXyxfLF8sKGluZm8sYWZ0LGFkaikpIC0+CiAJICBsZXQgbWNvZGVfaW5mbyAo XyxfLGluZm8sXyxfLF8pID0gaW5mbyBpbgogCSAgYmluZCAoayBzKSAobmNfbWNvZGUgKCgpLCgp LG1jb2RlX2luZm8gc3RhcnQsYWZ0LCgpLGFkaikpCisgICAgICB8IEFzdDAuRG8oc3RhcnQsXyxf LF8sXyxfLChfLF8saW5mbyxhZnQsXyxhZGopKSAtPgorICAgICAgICAgIGxldCBtY29kZV9pbmZv IChfLF8saW5mbyxfLF8sXykgPSBpbmZvIGluCisgICAgICAgICAgYmluZCAoayBzKSAobmNfbWNv ZGUgKCgpLCgpLG1jb2RlX2luZm8gc3RhcnQsYWZ0LCgpLGFkaikpCiAgICAgICB8CV8gLT4gayBz KSBpbgogCiAgIGxldCBzdHJpbmdfZnJhZ21lbnQgciBrIHMgPQpkaWZmIC0tZ2l0IGEvcGFyc2lu Z19jb2NjaS9mcmVlX3ZhcnMubWwgYi9wYXJzaW5nX2NvY2NpL2ZyZWVfdmFycy5tbAppbmRleCAx OWZiOGQyNy4uYWM3NjhmOWEgMTAwNjQ0Ci0tLSBhL3BhcnNpbmdfY29jY2kvZnJlZV92YXJzLm1s CisrKyBiL3BhcnNpbmdfY29jY2kvZnJlZV92YXJzLm1sCkBAIC01ODgsNiArNTg4LDExIEBAIGxl dCBjb2xsZWN0X2luX3BsdXNfdGVybSA9CiAgICAgfCBBc3QuV2hpbGUoXyxfLChfLF8sXyxhZnQp KSB8IEFzdC5Gb3IoXyxfLChfLF8sXyxhZnQpKQogICAgIHwgQXN0Lkl0ZXJhdG9yKF8sXywoXyxf LF8sYWZ0KSkgfCBBc3QuRnVuRGVjbChfLF8sXyxfLChfLF8sXyxhZnQpKSAtPgogCWJpbmQgKGsg cykgKGNpcF9tY29kZWtpbmQgcmVjdXJzb3IgYWZ0KQorICAgIHwgQXN0LkRvKF8sXyx0YWlsKSAt PgorICAgICAgIChtYXRjaCBBc3QudW53cmFwIHRhaWwgd2l0aAorICAgICAgICAgIEFzdC5XaGls ZVRhaWwoXyxfLF8sXyxzZW0pIC0+IChsZXQgYWZ0ID0gQXN0LmdldF9tY29kZWtpbmQgc2VtIGlu CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZCAoayBzKSAoY2lw X21jb2Rla2luZCByZWN1cnNvciBhZnQpKQorICAgICAgICB8IF8gLT4gayBzKQogICAgIHwgXyAt PiBrIHMgaW4KIAogICBWLmNvbWJpbmVyIGJpbmQgb3B0aW9uX2RlZmF1bHQKZGlmZiAtLWdpdCBh L3BhcnNpbmdfY29jY2kvZ2V0X2NvbnN0YW50czIubWwgYi9wYXJzaW5nX2NvY2NpL2dldF9jb25z dGFudHMyLm1sCmluZGV4IGQyZTlmNzJlLi44N2U5NDliNSAxMDA2NDQKLS0tIGEvcGFyc2luZ19j b2NjaS9nZXRfY29uc3RhbnRzMi5tbAorKysgYi9wYXJzaW5nX2NvY2NpL2dldF9jb25zdGFudHMy Lm1sCkBAIC02OTEsNiArNjkxLDEwIEBAIGxldCBhbGxfY29udGV4dCA9CiAgICAgfCBBc3QuV2hp bGUoXyxfLGVpKSAgfCBBc3QuRm9yKF8sXyxlaSkKICAgICB8IEFzdC5JdGVyYXRvcihfLF8sZWkp IHwgQXN0LkZ1bkRlY2woXyxfLF8sXyxlaSkgLT4KIAliaW5kIChrIGUpIChlbmRfaW5mbyBlaSkK KyAgICB8IEFzdC5EbyhfLF8sd2hpbGV0YWlsKSAtPgorCShtYXRjaCBBc3QudW53cmFwIHdoaWxl dGFpbCB3aXRoCisJIEFzdC5XaGlsZVRhaWwoXyxfLF8sXyxlZCkgLT4gYmluZCAoayBlKSAobWNv ZGUgciBlZCkKKyAgICAgICAgfCBfIC0+IGsgZSkKICAgICB8IF8gLT4gayBlIGluCiAKICAgVi5j b21iaW5lciBiaW5kIG9wdGlvbl9kZWZhdWx0CmRpZmYgLS1naXQgYS9wYXJzaW5nX2NvY2NpL2lu c2VydF9wbHVzLm1sIGIvcGFyc2luZ19jb2NjaS9pbnNlcnRfcGx1cy5tbAppbmRleCBiN2I1MGYx MC4uN2I5MzQ1MTcgMTAwNjQ0Ci0tLSBhL3BhcnNpbmdfY29jY2kvaW5zZXJ0X3BsdXMubWwKKysr IGIvcGFyc2luZ19jb2NjaS9pbnNlcnRfcGx1cy5tbApAQCAtNTkzLDYgKzU5Myw4IEBAIGxldCBj b2xsZWN0X3BsdXNfbm9kZXMgcm9vdCA9CiAJZG9fbm90aGluZ19leHRyYSBbXSAoaW5mbyBhZnQp bWtfc3RhdGVtZW50IHIgayBlCiAgICAgfCBBc3QwLkl0ZXJhdG9yKG5tLGxwLGFyZ3MscnAsYm9k eSxhZnQpIC0+CiAJZG9fbm90aGluZ19leHRyYSBbXSAoaW5mbyBhZnQpIG1rX3N0YXRlbWVudCBy IGsgZQorICAgIHwgQXN0MC5Ebyhkb28sYm9keSx0YWlsLGxwLGV4cCxycCwoXyxfLGluZixhZnQs XyxhZGopKSAtPgorICAgICAgICBkb19ub3RoaW5nX2V4dHJhIFtdIChpbmZvIChpbmYsYWZ0LGFk aikpIG1rX3N0YXRlbWVudCByIGsgZQogICAgIHwgXyAtPiBkb19ub3RoaW5nIG1rX3N0YXRlbWVu dCByIGsgZSBpbgogCiAgICgqIHN0YXRlbWVudFRhZyBpcyBwcmVmZXJyZWQsIGJlY2F1c2UgaXQg aW5kaWNhdGVzIHRoYXQgb25lIHN0YXRlbWVudCBpcwpAQCAtMTE2OCw2ICsxMTcwLDggQEAgbGV0 IHJlZXZhbHVhdGVfY29udGV4dG5lc3MgPQogCSBkb25vdGhpbmdfZXh0cmEgKGluZm8gYWZ0KSBy IGsgZQogICAgICB8IEFzdDAuSXRlcmF0b3Iobm0sbHAsYXJncyxycCxib2R5LGFmdCkgLT4KIAkg ZG9ub3RoaW5nX2V4dHJhIChpbmZvIGFmdCkgciBrIGUKKyAgICAgfCBBc3QwLkRvKGRvbyxib2R5 LHRhaWwsbHAsYXJncyxyYiwoXyxfLGluZixtY2ssXyxhZGopKSAtPgorICAgICAgICAgZG9ub3Ro aW5nX2V4dHJhIChpbmZvIChpbmYsbWNrLGFkaikpIHIgayBlCiAgICAgIHwgXyAtPiBkb25vdGhp bmcgciBrIGUgaW4KIAogICBsZXQgcmVzID0KZGlmZiAtLWdpdCBhL3BhcnNpbmdfY29jY2kvaXNv X3BhdHRlcm4ubWwgYi9wYXJzaW5nX2NvY2NpL2lzb19wYXR0ZXJuLm1sCmluZGV4IDBkZGFkNWUw Li44YjNjYWU3MCAxMDA2NDQKLS0tIGEvcGFyc2luZ19jb2NjaS9pc29fcGF0dGVybi5tbAorKysg Yi9wYXJzaW5nX2NvY2NpL2lzb19wYXR0ZXJuLm1sCkBAIC0xNjE2LDYgKzE2MTYsOCBAQCBsZXQg cmVidWlsZF9tY29kZSBzdGFydF9saW5lID0KIAkJCShpbmZvLGNvcHlfbWNvZGVraW5kIG1jLGFk aikpCiAJICAgfCBBc3QwLkl0ZXJhdG9yKG5tLGxwLGFyZ3MscnAsYm9keSwoaW5mbyxtYyxhZGop KSAtPgogCSAgICAgICBBc3QwLkl0ZXJhdG9yKG5tLGxwLGFyZ3MscnAsYm9keSwoaW5mbyxjb3B5 X21jb2Rla2luZCBtYyxhZGopKQorICAgICAgICAgICB8IEFzdDAuRG8oZG9vLGJvZHksdGFpbCxs cCxhcmdzLHJwLChhLGIsaW5mbyxtYyxjLGFkaikpIC0+CisgICAgICAgICAgICAgICBBc3QwLkRv KGRvbyxib2R5LHRhaWwsbHAsYXJncyxycCwoYSxiLGluZm8sY29weV9tY29kZWtpbmQgbWMsYyxh ZGopKQogCSAgIHwgQXN0MC5GdW5EZWNsCiAJICAgICAgICgoaW5mbyxtYyksZm5pbmZvLG5hbWUs bHAscGFyYW1zLHZhLHJwLGxicmFjZSxib2R5LHJicmFjZSwKIAkJKGFmdGluZm8sYWZ0bWMpKSAt PgpAQCAtMjI4OCw2ICsyMjkwLDExIEBAIGxldCBleHRyYV9jb3B5X3N0bXRfcGx1cyBtb2RlbCBl ID0KIAl8IEFzdDAuSXRlcmF0b3IoXyxfLF8sXyxfLChfLGFmdDEsXykpIC0+CiAJICAgIG1lcmdl X3BsdXNfYWZ0ZXIgYWZ0IGFmdDEKIAl8IF8gLT4gbWVyZ2VfcGx1c19hZnRlciBhZnQgKEFzdDAu Z2V0X21jb2Rla2luZCBlKSkKKyAgICB8IEFzdDAuRG8oXyxfLF8sXyxfLF8sKF8sXyxfLGFmdCxf LF8pKSAtPgorICAgICAgICAobWF0Y2ggQXN0MC51bndyYXAgZSB3aXRoCisgICAgICAgICAgIEFz dDAuRG8oXyxfLF8sXyxfLF8sKF8sXyxfLGFmdDEsXyxfKSkgLT4KKyAgICAgICAgICAgIG1lcmdl X3BsdXNfYWZ0ZXIgYWZ0IGFmdDEKKyAgICAgICAgIHwgXyAtPiBtZXJnZV9wbHVzX2FmdGVyIGFm dCAoQXN0MC5nZXRfbWNvZGVraW5kIGUpKQogICAgIHwgXyAtPiAoKSkpOwogICBlCiAKZGlmZiAt LWdpdCBhL3Rlc3RzL2Rvd2hpbGVfLmMgYi90ZXN0cy9kb3doaWxlXy5jCm5ldyBmaWxlIG1vZGUg MTAwNzU1CmluZGV4IDAwMDAwMDAwLi5iYmMwODc0NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3Rz L2Rvd2hpbGVfLmMKQEAgLTAsMCArMSw4IEBACitpbnQgZnVuKCkgeworICAgaW50IGkgPSAxOwor ICAgcHJpbnRmKCJtZXNzYWdlIGJlZm9yZSBkb3doaWxlIik7CisgICBkbyB7IAorICAgICAgaSsr OworICAgfSB3aGlsZSAoaSA8IDEwMCk7CisgICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3Rl c3RzL2Rvd2hpbGVfLmNvY2NpIGIvdGVzdHMvZG93aGlsZV8uY29jY2kKbmV3IGZpbGUgbW9kZSAx MDA3NTUKaW5kZXggMDAwMDAwMDAuLjY4NjA1MjYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMv ZG93aGlsZV8uY29jY2kKQEAgLTAsMCArMSw5IEBACitAZG93aGlsZUAKK3Bvc2l0aW9uIHA7Citl eHByZXNzaW9uIEU7CitAQAorCitkb0BweworICAgIC4uLgorKiB9IHdoaWxlICguLi4pOworCmRp ZmYgLS1naXQgYS90ZXN0cy9kb3doaWxlXzEuY29jY2kgYi90ZXN0cy9kb3doaWxlXzEuY29jY2kK bmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLmQxNWJiZGFlCi0tLSAvZGV2L251 bGwKKysrIGIvdGVzdHMvZG93aGlsZV8xLmNvY2NpCkBAIC0wLDAgKzEsOSBAQAorQGRvd2hpbGVA Citwb3NpdGlvbiBwOworc3RhdGVtZW50IFM7CitAQAorCitkb0BweworICAgIC4uLgorKiB9IHdo aWxlICguLi4pOworKiBTClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv dGVzdHMvZG93aGlsZV8yLmNvY2NpIGIvdGVzdHMvZG93aGlsZV8yLmNvY2NpCm5ldyBmaWxlIG1v ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5jNmU2OWViMQotLS0gL2Rldi9udWxsCisrKyBiL3Rl c3RzL2Rvd2hpbGVfMi5jb2NjaQpAQCAtMCwwICsxLDkgQEAKK0Bkb3doaWxlQAorcG9zaXRpb24g cDsKK3N0YXRlbWVudCBTOworQEAKKworKiBTCisqIGRvQHB7CisgICAgLi4uCit9IHdoaWxlICgu Li4pOwpkaWZmIC0tZ2l0IGEvdGVzdHMvZG93aGlsZV8zLmMgYi90ZXN0cy9kb3doaWxlXzMuYwpu ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uYzJkOTBlM2MKLS0tIC9kZXYvbnVs bAorKysgYi90ZXN0cy9kb3doaWxlXzMuYwpAQCAtMCwwICsxLDEwIEBACitpbnQgZnVuKCkgewor ICAgIGludCBpID0gMTsKKyAgICBpbnQqIHB0cjsKKyAgICBwdHIgPSBrbWFsbG9jKDEwMCk7Cisg ICAgZG8geworICAgICAgICAqKHB0ciArIGkpID0gaSsrOworICAgIH0gd2hpbGUgKGkgPCAxMDAp OworICAgCisgICByZXR1cm4gMDsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS90ZXN0cy9kb3doaWxlXzMuY29jY2kgYi90ZXN0cy9kb3doaWxlXzMuY29jY2kKbmV3 IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLmEyMWQwYjE4Ci0tLSAvZGV2L251bGwK KysrIGIvdGVzdHMvZG93aGlsZV8zLmNvY2NpCkBAIC0wLDAgKzEsOSBAQAorQGRvd2hpbGVACitw b3NpdGlvbiBwOworaWRlbnRpZmllciBtOworQEAKKworKiBtID0ga21hbGxvYyguLi4pOworKiBk b0BweworICAgIDwuLi5tLi4uPgorfSB3aGlsZSAoLi4uKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2Rv d2hpbGVfNC5jIGIvdGVzdHMvZG93aGlsZV80LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAuLmMxOTg0MDIxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZG93aGlsZV80LmMK QEAgLTAsMCArMSw2IEBACitpbnQgZnVuKCkgeworICAgICAgICBkbyB7CisgICAgICAgICAgIHBy aW50ZigiZHVtbXkgbWVzc2FnZSIpOworICAgICAgICB9IHdoaWxlICgwKTsKKyAgICAgICAgcHJp bnRmKCJkb25lIHByaW50aW5nIik7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvdGVzdHMvZG93aGlsZV80LmNvY2NpIGIvdGVzdHMvZG93aGlsZV80LmNvY2NpCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5jNjlhMjNkZQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3RzL2Rvd2hpbGVfNC5jb2NjaQpAQCAtMCwwICsxLDYgQEAKK0BydWxlMUAKK3N0 YXRlbWVudCBTMSwgUzI7CitAQAorCitTMQorKiBTMgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2Rvd2hpbGVfNi5jIGIvdGVzdHMvZG93aGlsZV82LmMKbmV3 IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjE4MjczMDVhCi0tLSAvZGV2L251bGwK KysrIGIvdGVzdHMvZG93aGlsZV82LmMKQEAgLTAsMCArMSw5IEBACitpbnQgZnVuKCkgeworICAg aW50IGkgPSAxOworICAgcHJpbnRmKCJzdGFydCBvZiBkb3doaWxlIik7CisgICBkbyB7IAorICAg ICAgaSsrOworICAgfSB3aGlsZSAoaSA8IDEwMCk7CisgICBwcmludGYoImVuZCBvZiBkb3doaWxl Iik7CisgICByZXR1cm4gMDsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS90ZXN0cy9kb3doaWxlXzYuY29jY2kgYi90ZXN0cy9kb3doaWxlXzYuY29jY2kKbmV3IGZp bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjZlODM5ODExCi0tLSAvZGV2L251bGwKKysr IGIvdGVzdHMvZG93aGlsZV82LmNvY2NpCkBAIC0wLDAgKzEsMTcgQEAKK0Bkb3doaWxlX2NvbnN0 YW50QAorcG9zaXRpb24gcDsKK2NvbnN0YW50IEM7CitAQAorCitkb0BweworICAgIC4uLgorKiB9 IHdoaWxlIChDKTsKKworQGRvd2hpbGVfZXhwQAorcG9zaXRpb24gcDsKK2V4cHJlc3Npb24gRTsK K0BACisKK2RvQHB7CisgICAgLi4uCisqIH0gd2hpbGUgKEUpOwpkaWZmIC0tZ2l0IGEvdGVzdHMv ZG93aGlsZV9mb3JfY29tcGxleC5jIGIvdGVzdHMvZG93aGlsZV9mb3JfY29tcGxleC5jCm5ldyBm aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi40NGVkNzczNAotLS0gL2Rldi9udWxsCisr KyBiL3Rlc3RzL2Rvd2hpbGVfZm9yX2NvbXBsZXguYwpAQCAtMCwwICsxLDEwIEBACitpbnQgZnVu KCkgeworICAgIGludCBpID0gMSwgaiA9IDE7CisgICAgZG8geworICAgICAgIGkrKzsgCisgICAg ICAgIGZvciAoaiA9IDE7IGogPCAxMDA7IGorKykgeworICAgICAgICAgICAgKytqOworICAgICAg ICB9CisgICAgfSB3aGlsZSAoaSA8IDEwMCk7CisgICAgcmV0dXJuIDA7Cit9ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZG93aGlsZV9mb3JfY29tcGxleC5j b2NjaSBiL3Rlc3RzL2Rvd2hpbGVfZm9yX2NvbXBsZXguY29jY2kKbmV3IGZpbGUgbW9kZSAxMDA3 NTUKaW5kZXggMDAwMDAwMDAuLjE0ZjRhZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZG93 aGlsZV9mb3JfY29tcGxleC5jb2NjaQpAQCAtMCwwICsxLDE3IEBACitAbmVzdGVkQAorcG9zaXRp b24gcDsKK3N0YXRlbWVudCBTOworQEAKKworZG9AcHsKKyAgICA8Ky4uLgorKiAgICBmb3IoLi4u Oy4uLjsuLi4pIFMKKyAgICAuLi4rPgorfSB3aGlsZSAoLi4uKTsKKworQHNjcmlwdDpweXRob25A CitwIDw8IG5lc3RlZC5wOworbiA8PCBuZXN0ZWQuUzsKK0BACisKK3ByaW50KCJuZXN0ZWQgWyVz XSglcyMlcykiICUgKG4sIHBbMF0uZmlsZSwgcFswXS5saW5lKSkKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0cy9kb3doaWxlX25lc3RlZC5jIGIvdGVzdHMvZG93 aGlsZV9uZXN0ZWQuYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uMmI0OTU4 NTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9kb3doaWxlX25lc3RlZC5jCkBAIC0wLDAgKzEs MTEgQEAKK2ludCBmdW4oKSB7CisgICAgaW50IGkgPSAxLCBqID0gMTsKKyAgICBkbyB7CisgICAg ICAgaSsrOyAKKyAgICAgICAgZG8geworICAgICAgICAgICAgaisrOworICAgICAgICB9IHdoaWxl IChqIDwgMTAwKTsKKyAgICAgICAgcHJpbnRmKOKAnGVuZCBvZiBpbm5uZXIgZG93aGlsZeKAnSk7 CisgICAgfSB3aGlsZSAoaSA8IDEwMCk7CisgICAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90 ZXN0cy9kb3doaWxlX25lc3RlZC5jb2NjaSBiL3Rlc3RzL2Rvd2hpbGVfbmVzdGVkLmNvY2NpCm5l dyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5iMWZkMWQzOQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3RzL2Rvd2hpbGVfbmVzdGVkLmNvY2NpCkBAIC0wLDAgKzEsMTEgQEAKK0BuZXN0 ZWRACitwb3NpdGlvbiBwOworc3RhdGVtZW50IFM7CitAQAorCitkb0BweworICAgIFMKKyAgICA8 Ky4uLgorKiAgICBkbyB7Li4ufSB3aGlsZSguLi4pOworICAgIC4uLis+CisqIH0gd2hpbGUgKC4u Lik7CmRpZmYgLS1naXQgYS90ZXN0cy9kb3doaWxlX3BsdXMuYyBiL3Rlc3RzL2Rvd2hpbGVfcGx1 cy5jCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5jMjVhZGEwMwotLS0gL2Rl di9udWxsCisrKyBiL3Rlc3RzL2Rvd2hpbGVfcGx1cy5jCkBAIC0wLDAgKzEsOCBAQAoraW50IGZ1 bigpIHsKKyAgICBpbnQgaSA9IDE7CisgICAgZG8geworICAgICAgIGkrKzsgCisgICAgfQorICAg IHdoaWxlIChpIDwgMTAwKTsKKyAgICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2Rv d2hpbGVfcGx1cy5jb2NjaSBiL3Rlc3RzL2Rvd2hpbGVfcGx1cy5jb2NjaQpuZXcgZmlsZSBtb2Rl IDEwMDc1NQppbmRleCAwMDAwMDAwMC4uOWQ1Mzg2MWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0 cy9kb3doaWxlX3BsdXMuY29jY2kKQEAgLTAsMCArMSw5IEBACitAZG93aGlsZUAKK3Bvc2l0aW9u IHA7CitzdGF0ZW1lbnQgUzsKK0BACisKK2RvQHAgeworICAgIC4uLgorKyAgcHJpbnQoIm1lc3Nh Z2UiKTsKKyB9IHdoaWxlICguLi4pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3Rlc3RzL2Rvd2hpbGVfcGx1c19iZWxvdy5jb2NjaSBiL3Rlc3RzL2Rvd2hpbGVfcGx1 c19iZWxvdy5jb2NjaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uZDFmNWEw MzYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9kb3doaWxlX3BsdXNfYmVsb3cuY29jY2kKQEAg LTAsMCArMSw5IEBACitAZG93aGlsZUAKK3Bvc2l0aW9uIHA7CitzdGF0ZW1lbnQgUzsKK0BACisK K2RvQHAgeworICAgIC4uLgorIH0gd2hpbGUgKC4uLik7CisrICBwcmludCgibWVzc2FnZSIpOwpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuMTEuMAoK --000000000000d08c1205871e878a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci --000000000000d08c1205871e878a--