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=-4.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 7FD8BC49EA5 for ; Thu, 24 Jun 2021 21:20:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5C8046008E for ; Thu, 24 Jun 2021 21:20:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232284AbhFXVWm (ORCPT ); Thu, 24 Jun 2021 17:22:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53536 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232029AbhFXVWl (ORCPT ); Thu, 24 Jun 2021 17:22:41 -0400 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 20F34C061574 for ; Thu, 24 Jun 2021 14:20:20 -0700 (PDT) Received: by mail-pg1-x536.google.com with SMTP id u190so5792484pgd.8 for ; Thu, 24 Jun 2021 14:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=DvI4APTQlsgzCaShq8pekclJz+QEE1gSBiwB4v9SRuI=; b=vRZjSIwGwk7TAO0ukczYntXFoPeH2OsO4Lr4FcbQmZwTeGEPZgoCeZGlomP5FbDafG sD6sro5F89w4gjSIRt9UJz5hLZ+/g8HXqD3aR9HCfuw3l6qUlrzWeDWD39+rkVciwGMC t0f/I3JEFSFs82/xss+18QcKPqFgXcnB29LJMBf+4pXgdHj9JFSxt5q+VJ98nlLPco5d mr2ELZMvtgzpaxXoZQW2HuDZ0LHWkMLbdO7z3+hxuUdyKOQJNsi9J+ELWSoAm5qTGwpp +F9+OPmi3EcP4hZzAU0qEP/+3hu8Hpun6LcWB8RSZMOTknlcb+nVAMsSNg5BBVg717xI VxGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=DvI4APTQlsgzCaShq8pekclJz+QEE1gSBiwB4v9SRuI=; b=qrCTHgy7SRN0vQBXUQsoqnJLpfe5EGBQ3mko1iZlxgr6/y7nntZPm5VUQ0T5iDjCWe D0kEqTNUSRrGd7LgIa17VX1q9JWVKcYm6t7nLhEHIx0cv9aOeKgukAj3yXVbjl+CxyKY LC0ybIhmTIl+Of7uA5QTPF7iEzKepI7dMJ1PKmpsGAof+JxG45Fb5e3So2ZgGuFryr+Q xNT9/yOKpVxpuVA6smvY3ZPq3tmECNW7KhPhYX3frNPg4bHBJDnqsAqBhBSkCCMpojCw iNOZXOl5qQp6Ce50ll2PvXXAVKpmhiGppvWnR7eEUfy4qMc3Jmxaw59GkYZafIfSM52k 4Jbw== X-Gm-Message-State: AOAM533RTTX3lDYlEfvOoFqImspIvYGIXliuovl3Wb56ZS4D0wiboV0q UyprkDyrfrMEJsIa0B1VfFF3pv2djNo= X-Google-Smtp-Source: ABdhPJxPevDyrh7iFyVoOQa004LBys7MSkiqN3mQ4rPbcTzsDkRaMFjPnp9KVW/jseE2Wk5zpzDDxQ== X-Received: by 2002:aa7:8509:0:b029:2e5:8cfe:bc17 with SMTP id v9-20020aa785090000b02902e58cfebc17mr6930155pfn.2.1624569619618; Thu, 24 Jun 2021 14:20:19 -0700 (PDT) Received: from ?IPv6:2001:df0:0:200c:2934:cc94:5bf6:648f? ([2001:df0:0:200c:2934:cc94:5bf6:648f]) by smtp.gmail.com with ESMTPSA id o15sm3790358pfd.96.2021.06.24.14.20.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 24 Jun 2021 14:20:18 -0700 (PDT) Subject: Re: [PATCH v5 2/2] m68k: add kernel seccomp support To: Geert Uytterhoeven Cc: Linux/m68k , John Paul Adrian Glaubitz , Andreas Schwab References: <1623908361-29837-1-git-send-email-schmitzmic@gmail.com> <1623908361-29837-2-git-send-email-schmitzmic@gmail.com> From: Michael Schmitz Message-ID: <78dee109-3714-073c-110b-3d023f66f815@gmail.com> Date: Fri, 25 Jun 2021 09:20:13 +1200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------55A4E589EB76EC18D466AB1D" Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-m68k@vger.kernel.org This is a multi-part message in MIME format. --------------55A4E589EB76EC18D466AB1D Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi Geert, On 23/06/21 7:35 pm, Geert Uytterhoeven wrote: > BTW, there was also "[PATCH] [WIP] selftests/seccomp: Add m68k support" > https://lore.kernel.org/linux-m68k/alpine.DEB.2.21.2008261315050.25325@ramsan.of.borg/ > > I kept on up-porting it, but haven't exercised it recently. See attached for test results on my ARAnyM image (Laurent's qemu image, essentially). Is that any different from what you got in your earlier tests? Cheers,     Michael --------------55A4E589EB76EC18D466AB1D Content-Type: text/plain; charset=UTF-8; name="test-benchmark" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-benchmark" c3lzY3RsOiBjYW5ub3Qgc3RhdCAvcHJvYy9zeXMvbmV0L2NvcmUvYnBmX2ppdF9lbmFibGU6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKc3lzY3RsOiBjYW5ub3Qgc3RhdCAvcHJvYy9z eXMvbmV0L2NvcmUvYnBmX2ppdF9oYXJkZW46IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK Q3VycmVudCBCUEYgc3lzY3RsIHNldHRpbmdzOgpDYWxpYnJhdGluZyBzYW1wbGUgc2l6ZSBm b3IgMTUgc2Vjb25kcyB3b3J0aCBvZiBzeXNjYWxscyAuLi4KQmVuY2htYXJraW5nIDE3NjUy MjEwIHN5c2NhbGxzLi4uCjE1LjY1MDAwMDAwMCAtIDEuMDEwMDAwMDAwID0gMTQ2NDAwMDAw MDAgKDE0LjZzKQpnZXRwaWQgbmF0aXZlOiA4MjkgbnMKNzMuODEwMDAwMDAwIC0gMTUuNjUw MDAwMDAwID0gNTgxNjAwMDAwMDAgKDU4LjJzKQpnZXRwaWQgUkVUX0FMTE9XIDEgZmlsdGVy IChiaXRtYXApOiAzMjk0IG5zCjEzMS44ODAwMDAwMDAgLSA3My44MTAwMDAwMDAgPSA1ODA3 MDAwMDAwMCAoNTguMXMpCmdldHBpZCBSRVRfQUxMT1cgMiBmaWx0ZXJzIChiaXRtYXApOiAz Mjg5IG5zCjE4OS45MzAwMDAwMDAgLSAxMzEuODgwMDAwMDAwID0gNTgwNTAwMDAwMDAgKDU4 LjBzKQpnZXRwaWQgUkVUX0FMTE9XIDMgZmlsdGVycyAoZnVsbCk6IDMyODggbnMKMjQ3Ljk2 MDAwMDAwMCAtIDE4OS45MzAwMDAwMDAgPSA1ODAzMDAwMDAwMCAoNTguMHMpCmdldHBpZCBS RVRfQUxMT1cgNCBmaWx0ZXJzIChmdWxsKTogMzI4NyBucwpFc3RpbWF0ZWQgdG90YWwgc2Vj Y29tcCBvdmVyaGVhZCBmb3IgMSBiaXRtYXBwZWQgZmlsdGVyOiAyNDY1IG5zCkVzdGltYXRl ZCB0b3RhbCBzZWNjb21wIG92ZXJoZWFkIGZvciAyIGJpdG1hcHBlZCBmaWx0ZXJzOiAyNDYw IG5zCkVzdGltYXRlZCB0b3RhbCBzZWNjb21wIG92ZXJoZWFkIGZvciAzIGZ1bGwgZmlsdGVy czogMjQ1OSBucwpFc3RpbWF0ZWQgdG90YWwgc2VjY29tcCBvdmVyaGVhZCBmb3IgNCBmdWxs IGZpbHRlcnM6IDI0NTggbnMKRXN0aW1hdGVkIHNlY2NvbXAgZW50cnkgb3ZlcmhlYWQ6IDI0 NzAgbnMKRXN0aW1hdGVkIHNlY2NvbXAgcGVyLWZpbHRlciBvdmVyaGVhZCAobGFzdCAyIGRp ZmYpOiAxODQ0Njc0NDA3MzcwOTU1MTYxNSBucwpTYXcgdW5leHBlY3RlZCBiZW5jaG1hcmsg cmVzdWx0LiBUcnkgcnVubmluZyBhZ2FpbiB3aXRoIG1vcmUgc2FtcGxlcz8K --------------55A4E589EB76EC18D466AB1D Content-Type: text/plain; charset=UTF-8; name="test-bpf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-bpf" VEFQIHZlcnNpb24gMTMKMS4uODcKIyBTdGFydGluZyA4NyB0ZXN0cyBmcm9tIDcgdGVzdCBj YXNlcy4KIyAgUlVOICAgICAgICAgICBUUkFQLmRmbCAuLi4KIyBkZmw6IFRlc3QgZXhpdGVk IG5vcm1hbGx5IGluc3RlYWQgb2YgYnkgc2lnbmFsIChjb2RlOiAwKQojICAgICAgICAgIEZB SUwgIFRSQVAuZGZsCm5vdCBvayAxIFRSQVAuZGZsCiMgIFJVTiAgICAgICAgICAgVFJBUC5p Z24gLi4uCiMgaWduOiBUZXN0IGV4aXRlZCBub3JtYWxseSBpbnN0ZWFkIG9mIGJ5IHNpZ25h bCAoY29kZTogMCkKIyAgICAgICAgICBGQUlMICBUUkFQLmlnbgpub3Qgb2sgMiBUUkFQLmln bgojICBSVU4gICAgICAgICAgIFRSQVAuaGFuZGxlciAuLi4KIyBzZWNjb21wX2JwZi5jOjEx MzA6aGFuZGxlcjpFeHBlY3RlZCBTSUdTWVMgKDMxKSA9PSB0ZXN0ICgwKQojIHNlY2NvbXBf YnBmLmM6MTE0MTpoYW5kbGVyOkV4cGVjdGVkIF9fTlJfZ2V0cGlkICgyMCkgPT0gc2lnc3lz LT5fc3lzY2FsbCAoMCkKIyBzZWNjb21wX2JwZi5jOjExNDM6aGFuZGxlcjpFeHBlY3RlZCAw ICgwKSAhPSBzaWdzeXMtPl9hcmNoICgwKQojIHNlY2NvbXBfYnBmLmM6MTE0NDpoYW5kbGVy OkV4cGVjdGVkIDAgKDApICE9ICh1bnNpZ25lZCBsb25nKXNpZ3N5cy0+X2NhbGxfYWRkciAo MCkKIyBoYW5kbGVyOiBUZXN0IGZhaWxlZCBhdCBzdGVwICM1CiMgICAgICAgICAgRkFJTCAg VFJBUC5oYW5kbGVyCm5vdCBvayAzIFRSQVAuaGFuZGxlcgojICBSVU4gICAgICAgICAgIHBy ZWNlZGVuY2UuYWxsb3dfb2sgLi4uCiMgICAgICAgICAgICBPSyAgcHJlY2VkZW5jZS5hbGxv d19vawpvayA0IHByZWNlZGVuY2UuYWxsb3dfb2sKIyAgUlVOICAgICAgICAgICBwcmVjZWRl bmNlLmtpbGxfaXNfaGlnaGVzdCAuLi4KIyBzZWNjb21wX2JwZi5jOjEyNzQ6a2lsbF9pc19o aWdoZXN0OkV4cGVjdGVkIDAgKDApID09IHJlcyAoMjAzNCkKIyBraWxsX2lzX2hpZ2hlc3Q6 IFRlc3QgZXhpdGVkIG5vcm1hbGx5IGluc3RlYWQgb2YgYnkgc2lnbmFsIChjb2RlOiAxMykK IyAgICAgICAgICBGQUlMICBwcmVjZWRlbmNlLmtpbGxfaXNfaGlnaGVzdApub3Qgb2sgNSBw cmVjZWRlbmNlLmtpbGxfaXNfaGlnaGVzdAojICBSVU4gICAgICAgICAgIHByZWNlZGVuY2Uu a2lsbF9pc19oaWdoZXN0X2luX2FueV9vcmRlciAuLi4KIyBzZWNjb21wX2JwZi5jOjEzMDE6 a2lsbF9pc19oaWdoZXN0X2luX2FueV9vcmRlcjpFeHBlY3RlZCAwICgwKSA9PSBzeXNjYWxs KF9fTlJfZ2V0cGlkKSAoMjAzNSkKIyBraWxsX2lzX2hpZ2hlc3RfaW5fYW55X29yZGVyOiBU ZXN0IGV4aXRlZCBub3JtYWxseSBpbnN0ZWFkIG9mIGJ5IHNpZ25hbCAoY29kZTogMTMpCiMg ICAgICAgICAgRkFJTCAgcHJlY2VkZW5jZS5raWxsX2lzX2hpZ2hlc3RfaW5fYW55X29yZGVy Cm5vdCBvayA2IHByZWNlZGVuY2Uua2lsbF9pc19oaWdoZXN0X2luX2FueV9vcmRlcgojICBS VU4gICAgICAgICAgIHByZWNlZGVuY2UudHJhcF9pc19zZWNvbmQgLi4uCiMgc2VjY29tcF9i cGYuYzoxMzI2OnRyYXBfaXNfc2Vjb25kOkV4cGVjdGVkIDAgKDApID09IHN5c2NhbGwoX19O Ul9nZXRwaWQpICgyMDM2KQojIHRyYXBfaXNfc2Vjb25kOiBUZXN0IGV4aXRlZCBub3JtYWxs eSBpbnN0ZWFkIG9mIGJ5IHNpZ25hbCAoY29kZTogMTIpCiMgICAgICAgICAgRkFJTCAgcHJl Y2VkZW5jZS50cmFwX2lzX3NlY29uZApub3Qgb2sgNyBwcmVjZWRlbmNlLnRyYXBfaXNfc2Vj b25kCiMgIFJVTiAgICAgICAgICAgcHJlY2VkZW5jZS50cmFwX2lzX3NlY29uZF9pbl9hbnlf b3JkZXIgLi4uCiMgc2VjY29tcF9icGYuYzoxMzUxOnRyYXBfaXNfc2Vjb25kX2luX2FueV9v cmRlcjpFeHBlY3RlZCAwICgwKSA9PSBzeXNjYWxsKF9fTlJfZ2V0cGlkKSAoMjAzNykKIyB0 cmFwX2lzX3NlY29uZF9pbl9hbnlfb3JkZXI6IFRlc3QgZXhpdGVkIG5vcm1hbGx5IGluc3Rl YWQgb2YgYnkgc2lnbmFsIChjb2RlOiAxMikKIyAgICAgICAgICBGQUlMICBwcmVjZWRlbmNl LnRyYXBfaXNfc2Vjb25kX2luX2FueV9vcmRlcgpub3Qgb2sgOCBwcmVjZWRlbmNlLnRyYXBf aXNfc2Vjb25kX2luX2FueV9vcmRlcgojICBSVU4gICAgICAgICAgIHByZWNlZGVuY2UuZXJy bm9faXNfdGhpcmQgLi4uCiMgc2VjY29tcF9icGYuYzoxMzczOmVycm5vX2lzX3RoaXJkOkV4 cGVjdGVkIDAgKDApID09IHN5c2NhbGwoX19OUl9nZXRwaWQpICgyMDM4KQojIGVycm5vX2lz X3RoaXJkOiBUZXN0IGZhaWxlZCBhdCBzdGVwICMxMQojICAgICAgICAgIEZBSUwgIHByZWNl ZGVuY2UuZXJybm9faXNfdGhpcmQKbm90IG9rIDkgcHJlY2VkZW5jZS5lcnJub19pc190aGly ZAojICBSVU4gICAgICAgICAgIHByZWNlZGVuY2UuZXJybm9faXNfdGhpcmRfaW5fYW55X29y ZGVyIC4uLgojIHNlY2NvbXBfYnBmLmM6MTM5NTplcnJub19pc190aGlyZF9pbl9hbnlfb3Jk ZXI6RXhwZWN0ZWQgMCAoMCkgPT0gc3lzY2FsbChfX05SX2dldHBpZCkgKDIwMzkpCiMgZXJy bm9faXNfdGhpcmRfaW5fYW55X29yZGVyOiBUZXN0IGZhaWxlZCBhdCBzdGVwICMxMQojICAg ICAgICAgIEZBSUwgIHByZWNlZGVuY2UuZXJybm9faXNfdGhpcmRfaW5fYW55X29yZGVyCm5v dCBvayAxMCBwcmVjZWRlbmNlLmVycm5vX2lzX3RoaXJkX2luX2FueV9vcmRlcgojICBSVU4g ICAgICAgICAgIHByZWNlZGVuY2UudHJhY2VfaXNfZm91cnRoIC4uLgojIHNlY2NvbXBfYnBm LmM6MTQxNjp0cmFjZV9pc19mb3VydGg6RXhwZWN0ZWQgLTEgKC0xKSA9PSBzeXNjYWxsKF9f TlJfZ2V0cGlkKSAoMjA0MCkKIyB0cmFjZV9pc19mb3VydGg6IFRlc3QgZmFpbGVkIGF0IHN0 ZXAgIzEwCiMgICAgICAgICAgRkFJTCAgcHJlY2VkZW5jZS50cmFjZV9pc19mb3VydGgKbm90 IG9rIDExIHByZWNlZGVuY2UudHJhY2VfaXNfZm91cnRoCiMgIFJVTiAgICAgICAgICAgcHJl Y2VkZW5jZS50cmFjZV9pc19mb3VydGhfaW5fYW55X29yZGVyIC4uLgojIHNlY2NvbXBfYnBm LmM6MTQzNzp0cmFjZV9pc19mb3VydGhfaW5fYW55X29yZGVyOkV4cGVjdGVkIC0xICgtMSkg PT0gc3lzY2FsbChfX05SX2dldHBpZCkgKDIwNDEpCiMgdHJhY2VfaXNfZm91cnRoX2luX2Fu eV9vcmRlcjogVGVzdCBmYWlsZWQgYXQgc3RlcCAjMTAKIyAgICAgICAgICBGQUlMICBwcmVj ZWRlbmNlLnRyYWNlX2lzX2ZvdXJ0aF9pbl9hbnlfb3JkZXIKbm90IG9rIDEyIHByZWNlZGVu Y2UudHJhY2VfaXNfZm91cnRoX2luX2FueV9vcmRlcgojICBSVU4gICAgICAgICAgIHByZWNl ZGVuY2UubG9nX2lzX2ZpZnRoIC4uLgojICAgICAgICAgICAgT0sgIHByZWNlZGVuY2UubG9n X2lzX2ZpZnRoCm9rIDEzIHByZWNlZGVuY2UubG9nX2lzX2ZpZnRoCiMgIFJVTiAgICAgICAg ICAgcHJlY2VkZW5jZS5sb2dfaXNfZmlmdGhfaW5fYW55X29yZGVyIC4uLgojICAgICAgICAg ICAgT0sgIHByZWNlZGVuY2UubG9nX2lzX2ZpZnRoX2luX2FueV9vcmRlcgpvayAxNCBwcmVj ZWRlbmNlLmxvZ19pc19maWZ0aF9pbl9hbnlfb3JkZXIKIyAgUlVOICAgICAgICAgICBUUkFD RV9wb2tlLnJlYWRfaGFzX3NpZGVfZWZmZWN0cyAuLi4KIyBzZWNjb21wX2JwZi5jOjE2ODk6 cmVhZF9oYXNfc2lkZV9lZmZlY3RzOkV4cGVjdGVkIDB4MTAwMSAoNDA5NykgPT0gc2VsZi0+ cG9rZWQgKDApCiMgcmVhZF9oYXNfc2lkZV9lZmZlY3RzOiBUZXN0IGZhaWxlZCBhdCBzdGVw ICM1CiMgICAgICAgICAgRkFJTCAgVFJBQ0VfcG9rZS5yZWFkX2hhc19zaWRlX2VmZmVjdHMK bm90IG9rIDE1IFRSQUNFX3Bva2UucmVhZF9oYXNfc2lkZV9lZmZlY3RzCiMgIFJVTiAgICAg ICAgICAgVFJBQ0VfcG9rZS5nZXRwaWRfcnVuc19ub3JtYWxseSAuLi4KIyAgICAgICAgICAg IE9LICBUUkFDRV9wb2tlLmdldHBpZF9ydW5zX25vcm1hbGx5Cm9rIDE2IFRSQUNFX3Bva2Uu Z2V0cGlkX3J1bnNfbm9ybWFsbHkKIyAgUlVOICAgICAgICAgICBUUkFDRV9zeXNjYWxsLnB0 cmFjZS5uZWdhdGl2ZV9FTk9TWVMgLi4uCiMgc2VjY29tcF9icGYuYzoxOTA3Om5lZ2F0aXZl X0VOT1NZUzpFeHBlY3RlZCAwICgtMTA3MzUyNTIyMikgPT0gQVJDSF9HRVRSRUdTKHJlZ3Mp ICgwKQojICAgICAgICAgICAgT0sgIFRSQUNFX3N5c2NhbGwucHRyYWNlLm5lZ2F0aXZlX0VO T1NZUwpvayAxNyBUUkFDRV9zeXNjYWxsLnB0cmFjZS5uZWdhdGl2ZV9FTk9TWVMKIyAgUlVO ICAgICAgICAgICBUUkFDRV9zeXNjYWxsLnB0cmFjZS5zeXNjYWxsX2FsbG93ZWQgLi4uCiMg c2VjY29tcF9icGYuYzoxOTA3OnN5c2NhbGxfYWxsb3dlZDpFeHBlY3RlZCAwICgtMTA3MzUy NTIyMikgPT0gQVJDSF9HRVRSRUdTKHJlZ3MpICgwKQojICAgICAgICAgICAgT0sgIFRSQUNF X3N5c2NhbGwucHRyYWNlLnN5c2NhbGxfYWxsb3dlZApvayAxOCBUUkFDRV9zeXNjYWxsLnB0 cmFjZS5zeXNjYWxsX2FsbG93ZWQKIyAgUlVOICAgICAgICAgICBUUkFDRV9zeXNjYWxsLnB0 cmFjZS5zeXNjYWxsX3JlZGlyZWN0ZWQgLi4uCiMgc2VjY29tcF9icGYuYzoxOTA3OnN5c2Nh bGxfcmVkaXJlY3RlZDpFeHBlY3RlZCAwICgtMTA3MzY1NjE1NikgPT0gQVJDSF9HRVRSRUdT KHJlZ3MpICgwKQojIHNlY2NvbXBfYnBmLmM6MjE3MTpzeXNjYWxsX3JlZGlyZWN0ZWQ6RXhw ZWN0ZWQgc2VsZi0+cGFyZW50ICgyMDI5KSA9PSBzeXNjYWxsKF9fTlJfZ2V0cGlkKSAoMjA1 MikKIyBzZWNjb21wX2JwZi5jOjIxNzI6c3lzY2FsbF9yZWRpcmVjdGVkOkV4cGVjdGVkIHNl bGYtPm15cGlkICgyMDUyKSAhPSBzeXNjYWxsKF9fTlJfZ2V0cGlkKSAoMjA1MikKIyBzeXNj YWxsX3JlZGlyZWN0ZWQ6IFRlc3QgZmFpbGVkIGF0IHN0ZXAgIzkKIyAgICAgICAgICBGQUlM ICBUUkFDRV9zeXNjYWxsLnB0cmFjZS5zeXNjYWxsX3JlZGlyZWN0ZWQKbm90IG9rIDE5IFRS QUNFX3N5c2NhbGwucHRyYWNlLnN5c2NhbGxfcmVkaXJlY3RlZAojICBSVU4gICAgICAgICAg IFRSQUNFX3N5c2NhbGwucHRyYWNlLnN5c2NhbGxfZXJybm8gLi4uCiMgc2VjY29tcF9icGYu YzoxOTA3OnN5c2NhbGxfZXJybm86RXhwZWN0ZWQgMCAoLTEwNzM1MjUyMjIpID09IEFSQ0hf R0VUUkVHUyhyZWdzKSAoMCkKIyBzZWNjb21wX2JwZi5jOjIxNzg6c3lzY2FsbF9lcnJubzpF eHBlY3RlZCAtKC0zKSAoMykgPT0gZXJybm8gKDE0KQojIHN5c2NhbGxfZXJybm86IFRlc3Qg ZmFpbGVkIGF0IHN0ZXAgIzkKIyAgICAgICAgICBGQUlMICBUUkFDRV9zeXNjYWxsLnB0cmFj ZS5zeXNjYWxsX2Vycm5vCm5vdCBvayAyMCBUUkFDRV9zeXNjYWxsLnB0cmFjZS5zeXNjYWxs X2Vycm5vCiMgIFJVTiAgICAgICAgICAgVFJBQ0Vfc3lzY2FsbC5wdHJhY2Uuc3lzY2FsbF9m YWtlZCAuLi4KIyBzZWNjb21wX2JwZi5jOjE5MDc6c3lzY2FsbF9mYWtlZDpFeHBlY3RlZCAw ICgtMTA3MzUyNTIyMikgPT0gQVJDSF9HRVRSRUdTKHJlZ3MpICgwKQojIHNlY2NvbXBfYnBm LmM6MjE4NDpzeXNjYWxsX2Zha2VkOkV4cGVjdGVkIDQ1MDAwICg0NTAwMCkgPT0gc3lzY2Fs bCgyMjEpICgyMDU2KQojIHN5c2NhbGxfZmFrZWQ6IFRlc3QgZmFpbGVkIGF0IHN0ZXAgIzkK IyAgICAgICAgICBGQUlMICBUUkFDRV9zeXNjYWxsLnB0cmFjZS5zeXNjYWxsX2Zha2VkCm5v dCBvayAyMSBUUkFDRV9zeXNjYWxsLnB0cmFjZS5zeXNjYWxsX2Zha2VkCiMgIFJVTiAgICAg ICAgICAgVFJBQ0Vfc3lzY2FsbC5wdHJhY2Uuc2tpcF9hZnRlciAuLi4KIyBzZWNjb21wX2Jw Zi5jOjE5MDc6c2tpcF9hZnRlcjpFeHBlY3RlZCAwICgtMTA3MzUyNTIyMikgPT0gQVJDSF9H RVRSRUdTKHJlZ3MpICgwKQojIHNlY2NvbXBfYnBmLmM6MjIwODpza2lwX2FmdGVyOkV4cGVj dGVkIC0xICgtMSkgPT0gc3lzY2FsbChfX05SX2dldHBpZCkgKDIwNTgpCiMgc2VjY29tcF9i cGYuYzoyMjA5OnNraXBfYWZ0ZXI6RXhwZWN0ZWQgRVBFUk0gKDEpID09IGVycm5vICgwKQoj IHNraXBfYWZ0ZXI6IFRlc3QgZmFpbGVkIGF0IHN0ZXAgIzEwCiMgICAgICAgICAgRkFJTCAg VFJBQ0Vfc3lzY2FsbC5wdHJhY2Uuc2tpcF9hZnRlcgpub3Qgb2sgMjIgVFJBQ0Vfc3lzY2Fs bC5wdHJhY2Uuc2tpcF9hZnRlcgojICBSVU4gICAgICAgICAgIFRSQUNFX3N5c2NhbGwucHRy YWNlLmtpbGxfYWZ0ZXIgLi4uCiMgc2VjY29tcF9icGYuYzoxOTA3OmtpbGxfYWZ0ZXI6RXhw ZWN0ZWQgMCAoLTEwNzM1MjUyMjIpID09IEFSQ0hfR0VUUkVHUyhyZWdzKSAoMCkKIyBzZWNj b21wX2JwZi5jOjIyMzI6a2lsbF9hZnRlcjpFeHBlY3RlZCBzZWxmLT5teXBpZCAoMjA2MCkg IT0gc3lzY2FsbChfX05SX2dldHBpZCkgKDIwNjApCiMga2lsbF9hZnRlcjogVGVzdCBleGl0 ZWQgbm9ybWFsbHkgaW5zdGVhZCBvZiBieSBzaWduYWwgKGNvZGU6IDEwKQojICAgICAgICAg IEZBSUwgIFRSQUNFX3N5c2NhbGwucHRyYWNlLmtpbGxfYWZ0ZXIKbm90IG9rIDIzIFRSQUNF X3N5c2NhbGwucHRyYWNlLmtpbGxfYWZ0ZXIKIyAgUlVOICAgICAgICAgICBUUkFDRV9zeXNj YWxsLnNlY2NvbXAubmVnYXRpdmVfRU5PU1lTIC4uLgojICAgICAgICAgICAgT0sgIFRSQUNF X3N5c2NhbGwuc2VjY29tcC5uZWdhdGl2ZV9FTk9TWVMKb2sgMjQgVFJBQ0Vfc3lzY2FsbC5z ZWNjb21wLm5lZ2F0aXZlX0VOT1NZUwojICBSVU4gICAgICAgICAgIFRSQUNFX3N5c2NhbGwu c2VjY29tcC5zeXNjYWxsX2FsbG93ZWQgLi4uCiMgICAgICAgICAgICBPSyAgVFJBQ0Vfc3lz Y2FsbC5zZWNjb21wLnN5c2NhbGxfYWxsb3dlZApvayAyNSBUUkFDRV9zeXNjYWxsLnNlY2Nv bXAuc3lzY2FsbF9hbGxvd2VkCiMgIFJVTiAgICAgICAgICAgVFJBQ0Vfc3lzY2FsbC5zZWNj b21wLnN5c2NhbGxfcmVkaXJlY3RlZCAuLi4KIyBzZWNjb21wX2JwZi5jOjIxNzE6c3lzY2Fs bF9yZWRpcmVjdGVkOkV4cGVjdGVkIHNlbGYtPnBhcmVudCAoMjAyOSkgPT0gc3lzY2FsbChf X05SX2dldHBpZCkgKDIwNjYpCiMgc2VjY29tcF9icGYuYzoyMTcyOnN5c2NhbGxfcmVkaXJl Y3RlZDpFeHBlY3RlZCBzZWxmLT5teXBpZCAoMjA2NikgIT0gc3lzY2FsbChfX05SX2dldHBp ZCkgKDIwNjYpCiMgc3lzY2FsbF9yZWRpcmVjdGVkOiBUZXN0IGZhaWxlZCBhdCBzdGVwICMx MAojICAgICAgICAgIEZBSUwgIFRSQUNFX3N5c2NhbGwuc2VjY29tcC5zeXNjYWxsX3JlZGly ZWN0ZWQKbm90IG9rIDI2IFRSQUNFX3N5c2NhbGwuc2VjY29tcC5zeXNjYWxsX3JlZGlyZWN0 ZWQKIyAgUlVOICAgICAgICAgICBUUkFDRV9zeXNjYWxsLnNlY2NvbXAuc3lzY2FsbF9lcnJu byAuLi4KIyBzZWNjb21wX2JwZi5jOjIxNzg6c3lzY2FsbF9lcnJubzpFeHBlY3RlZCAtKC0z KSAoMykgPT0gZXJybm8gKDE0KQojIHN5c2NhbGxfZXJybm86IFRlc3QgZmFpbGVkIGF0IHN0 ZXAgIzEwCiMgICAgICAgICAgRkFJTCAgVFJBQ0Vfc3lzY2FsbC5zZWNjb21wLnN5c2NhbGxf ZXJybm8Kbm90IG9rIDI3IFRSQUNFX3N5c2NhbGwuc2VjY29tcC5zeXNjYWxsX2Vycm5vCiMg IFJVTiAgICAgICAgICAgVFJBQ0Vfc3lzY2FsbC5zZWNjb21wLnN5c2NhbGxfZmFrZWQgLi4u CiMgc2VjY29tcF9icGYuYzoyMTg0OnN5c2NhbGxfZmFrZWQ6RXhwZWN0ZWQgNDUwMDAgKDQ1 MDAwKSA9PSBzeXNjYWxsKDIyMSkgKDIwNzApCiMgc3lzY2FsbF9mYWtlZDogVGVzdCBmYWls ZWQgYXQgc3RlcCAjMTAKIyAgICAgICAgICBGQUlMICBUUkFDRV9zeXNjYWxsLnNlY2NvbXAu c3lzY2FsbF9mYWtlZApub3Qgb2sgMjggVFJBQ0Vfc3lzY2FsbC5zZWNjb21wLnN5c2NhbGxf ZmFrZWQKIyAgUlVOICAgICAgICAgICBUUkFDRV9zeXNjYWxsLnNlY2NvbXAuc2tpcF9hZnRl ciAuLi4KIyBzZWNjb21wX2JwZi5jOjIyMDg6c2tpcF9hZnRlcjpFeHBlY3RlZCAtMSAoLTEp ID09IHN5c2NhbGwoX19OUl9nZXRwaWQpICgyMDcyKQojIHNlY2NvbXBfYnBmLmM6MjIwOTpz a2lwX2FmdGVyOkV4cGVjdGVkIEVQRVJNICgxKSA9PSBlcnJubyAoMCkKIyBza2lwX2FmdGVy OiBUZXN0IGZhaWxlZCBhdCBzdGVwICMxMQojICAgICAgICAgIEZBSUwgIFRSQUNFX3N5c2Nh bGwuc2VjY29tcC5za2lwX2FmdGVyCm5vdCBvayAyOSBUUkFDRV9zeXNjYWxsLnNlY2NvbXAu c2tpcF9hZnRlcgojICBSVU4gICAgICAgICAgIFRSQUNFX3N5c2NhbGwuc2VjY29tcC5raWxs X2FmdGVyIC4uLgojIHNlY2NvbXBfYnBmLmM6MjIzMjpraWxsX2FmdGVyOkV4cGVjdGVkIHNl bGYtPm15cGlkICgyMDc0KSAhPSBzeXNjYWxsKF9fTlJfZ2V0cGlkKSAoMjA3NCkKIyBraWxs X2FmdGVyOiBUZXN0IGV4aXRlZCBub3JtYWxseSBpbnN0ZWFkIG9mIGJ5IHNpZ25hbCAoY29k ZTogMTEpCiMgICAgICAgICAgRkFJTCAgVFJBQ0Vfc3lzY2FsbC5zZWNjb21wLmtpbGxfYWZ0 ZXIKbm90IG9rIDMwIFRSQUNFX3N5c2NhbGwuc2VjY29tcC5raWxsX2FmdGVyCiMgIFJVTiAg ICAgICAgICAgVFNZTkMuc2libGluZ3NfZmFpbF9wcmN0bCAuLi4KIyBzZWNjb21wX2JwZi5j OjI2MzY6c2libGluZ3NfZmFpbF9wcmN0bDpFeHBlY3RlZCBTSUJMSU5HX0VYSVRfRkFJTFVS RSAoMTk1OTUxMzEwKSA9PSAobG9uZylzdGF0dXMgKDE5NTkzNTk4MykKIyBzaWJsaW5nc19m YWlsX3ByY3RsOiBUZXN0IGZhaWxlZCBhdCBzdGVwICM2CiMgICAgICAgICAgRkFJTCAgVFNZ TkMuc2libGluZ3NfZmFpbF9wcmN0bApub3Qgb2sgMzEgVFNZTkMuc2libGluZ3NfZmFpbF9w cmN0bAojICBSVU4gICAgICAgICAgIFRTWU5DLnR3b19zaWJsaW5nc193aXRoX2FuY2VzdG9y IC4uLgojIHNlY2NvbXBfYnBmLmM6MjY3ODp0d29fc2libGluZ3Nfd2l0aF9hbmNlc3RvcjpF eHBlY3RlZCAweDAgKDApID09IChsb25nKXN0YXR1cyAoMTk1OTM1OTgzKQojIHNlY2NvbXBf YnBmLmM6MjY4MDp0d29fc2libGluZ3Nfd2l0aF9hbmNlc3RvcjpFeHBlY3RlZCAweDAgKDAp ID09IChsb25nKXN0YXR1cyAoMTk1OTM1OTgzKQojIHR3b19zaWJsaW5nc193aXRoX2FuY2Vz dG9yOiBUZXN0IGZhaWxlZCBhdCBzdGVwICM3CiMgICAgICAgICAgRkFJTCAgVFNZTkMudHdv X3NpYmxpbmdzX3dpdGhfYW5jZXN0b3IKbm90IG9rIDMyIFRTWU5DLnR3b19zaWJsaW5nc193 aXRoX2FuY2VzdG9yCiMgIFJVTiAgICAgICAgICAgVFNZTkMudHdvX3NpYmxpbmdfd2FudF9u bnAgLi4uCiMgICAgICAgICAgICBPSyAgVFNZTkMudHdvX3NpYmxpbmdfd2FudF9ubnAKb2sg MzMgVFNZTkMudHdvX3NpYmxpbmdfd2FudF9ubnAKIyAgUlVOICAgICAgICAgICBUU1lOQy50 d29fc2libGluZ3Nfd2l0aF9ub19maWx0ZXIgLi4uCiMgc2VjY29tcF9icGYuYzoyNzQ0OnR3 b19zaWJsaW5nc193aXRoX25vX2ZpbHRlcjpFeHBlY3RlZCAweDAgKDApID09IChsb25nKXN0 YXR1cyAoMTk1OTM1OTgzKQojIHNlY2NvbXBfYnBmLmM6Mjc0Njp0d29fc2libGluZ3Nfd2l0 aF9ub19maWx0ZXI6RXhwZWN0ZWQgMHgwICgwKSA9PSAobG9uZylzdGF0dXMgKDE5NTkzNTk4 MykKIyB0d29fc2libGluZ3Nfd2l0aF9ub19maWx0ZXI6IFRlc3QgZmFpbGVkIGF0IHN0ZXAg IzYKIyAgICAgICAgICBGQUlMICBUU1lOQy50d29fc2libGluZ3Nfd2l0aF9ub19maWx0ZXIK bm90IG9rIDM0IFRTWU5DLnR3b19zaWJsaW5nc193aXRoX25vX2ZpbHRlcgojICBSVU4gICAg ICAgICAgIFRTWU5DLnR3b19zaWJsaW5nc193aXRoX29uZV9kaXZlcmdlbmNlIC4uLgojICAg ICAgICAgICAgT0sgIFRTWU5DLnR3b19zaWJsaW5nc193aXRoX29uZV9kaXZlcmdlbmNlCm9r IDM1IFRTWU5DLnR3b19zaWJsaW5nc193aXRoX29uZV9kaXZlcmdlbmNlCiMgIFJVTiAgICAg ICAgICAgVFNZTkMudHdvX3NpYmxpbmdzX3dpdGhfb25lX2RpdmVyZ2VuY2Vfbm9fdGlkX2lu X2VyciAuLi4KIyAgICAgICAgICAgIE9LICBUU1lOQy50d29fc2libGluZ3Nfd2l0aF9vbmVf ZGl2ZXJnZW5jZV9ub190aWRfaW5fZXJyCm9rIDM2IFRTWU5DLnR3b19zaWJsaW5nc193aXRo X29uZV9kaXZlcmdlbmNlX25vX3RpZF9pbl9lcnIKIyAgUlVOICAgICAgICAgICBUU1lOQy50 d29fc2libGluZ3Nfbm90X3VuZGVyX2ZpbHRlciAuLi4KIyBzZWNjb21wX2JwZi5jOjI5MjM6 dHdvX3NpYmxpbmdzX25vdF91bmRlcl9maWx0ZXI6RXhwZWN0ZWQgMCAoMCkgPT0gKGxvbmcp c3RhdHVzICgxOTU5MzU5ODMpCiMgdHdvX3NpYmxpbmdzX25vdF91bmRlcl9maWx0ZXI6IFRl c3QgZmFpbGVkIGF0IHN0ZXAgIzkKIyAgICAgICAgICBGQUlMICBUU1lOQy50d29fc2libGlu Z3Nfbm90X3VuZGVyX2ZpbHRlcgpub3Qgb2sgMzcgVFNZTkMudHdvX3NpYmxpbmdzX25vdF91 bmRlcl9maWx0ZXIKIyAgUlVOICAgICAgICAgICBnbG9iYWwua2NtcCAuLi4KIyBzZWNjb21w X2JwZi5jOjMyMzprY21wOkV4cGVjdGVkIHJldCAoLTEpID09IDAgKDApCiMgICAgICBTS0lQ ICAgICAgS2VybmVsIGRvZXMgbm90IHN1cHBvcnQga2NtcCgpIChtaXNzaW5nIENPTkZJR19L Q01QPykKIyAgICAgICAgICAgIE9LICBnbG9iYWwua2NtcApvayAzOCAjIFNLSVAgS2VybmVs IGRvZXMgbm90IHN1cHBvcnQga2NtcCgpIChtaXNzaW5nIENPTkZJR19LQ01QPykKIyAgUlVO ICAgICAgICAgICBnbG9iYWwubW9kZV9zdHJpY3Rfc3VwcG9ydCAuLi4KIyAgICAgICAgICAg IE9LICBnbG9iYWwubW9kZV9zdHJpY3Rfc3VwcG9ydApvayAzOSBnbG9iYWwubW9kZV9zdHJp Y3Rfc3VwcG9ydAojICBSVU4gICAgICAgICAgIGdsb2JhbC5tb2RlX3N0cmljdF9jYW5ub3Rf Y2FsbF9wcmN0bCAuLi4KIyBzZWNjb21wX2JwZi5jOjM0OTptb2RlX3N0cmljdF9jYW5ub3Rf Y2FsbF9wcmN0bDpFeHBlY3RlZCAwICgwKSA9PSB0cnVlICgxKQojIHNlY2NvbXBfYnBmLmM6 MzUwOm1vZGVfc3RyaWN0X2Nhbm5vdF9jYWxsX3ByY3RsOlVucmVhY2hhYmxlIQojIG1vZGVf c3RyaWN0X2Nhbm5vdF9jYWxsX3ByY3RsOiBUZXN0IGV4aXRlZCBub3JtYWxseSBpbnN0ZWFk IG9mIGJ5IHNpZ25hbCAoY29kZTogMSkKIyAgICAgICAgICBGQUlMICBnbG9iYWwubW9kZV9z dHJpY3RfY2Fubm90X2NhbGxfcHJjdGwKbm90IG9rIDQwIGdsb2JhbC5tb2RlX3N0cmljdF9j YW5ub3RfY2FsbF9wcmN0bAojICBSVU4gICAgICAgICAgIGdsb2JhbC5ub19uZXdfcHJpdnNf c3VwcG9ydCAuLi4KIyAgICAgICAgICAgIE9LICBnbG9iYWwubm9fbmV3X3ByaXZzX3N1cHBv cnQKb2sgNDEgZ2xvYmFsLm5vX25ld19wcml2c19zdXBwb3J0CiMgIFJVTiAgICAgICAgICAg Z2xvYmFsLm1vZGVfZmlsdGVyX3N1cHBvcnQgLi4uCiMgICAgICAgICAgICBPSyAgZ2xvYmFs Lm1vZGVfZmlsdGVyX3N1cHBvcnQKb2sgNDIgZ2xvYmFsLm1vZGVfZmlsdGVyX3N1cHBvcnQK IyAgUlVOICAgICAgICAgICBnbG9iYWwubW9kZV9maWx0ZXJfd2l0aG91dF9ubnAgLi4uCiMg ICAgICAgICAgICBPSyAgZ2xvYmFsLm1vZGVfZmlsdGVyX3dpdGhvdXRfbm5wCm9rIDQzIGds b2JhbC5tb2RlX2ZpbHRlcl93aXRob3V0X25ucAojICBSVU4gICAgICAgICAgIGdsb2JhbC5m aWx0ZXJfc2l6ZV9saW1pdHMgLi4uCiMgICAgICAgICAgICBPSyAgZ2xvYmFsLmZpbHRlcl9z aXplX2xpbWl0cwpvayA0NCBnbG9iYWwuZmlsdGVyX3NpemVfbGltaXRzCiMgIFJVTiAgICAg ICAgICAgZ2xvYmFsLmZpbHRlcl9jaGFpbl9saW1pdHMgLi4uCiMgICAgICAgICAgICBPSyAg Z2xvYmFsLmZpbHRlcl9jaGFpbl9saW1pdHMKb2sgNDUgZ2xvYmFsLmZpbHRlcl9jaGFpbl9s aW1pdHMKIyAgUlVOICAgICAgICAgICBnbG9iYWwubW9kZV9maWx0ZXJfY2Fubm90X21vdmVf dG9fc3RyaWN0IC4uLgojICAgICAgICAgICAgT0sgIGdsb2JhbC5tb2RlX2ZpbHRlcl9jYW5u b3RfbW92ZV90b19zdHJpY3QKb2sgNDYgZ2xvYmFsLm1vZGVfZmlsdGVyX2Nhbm5vdF9tb3Zl X3RvX3N0cmljdAojICBSVU4gICAgICAgICAgIGdsb2JhbC5tb2RlX2ZpbHRlcl9nZXRfc2Vj Y29tcCAuLi4KIyAgICAgICAgICAgIE9LICBnbG9iYWwubW9kZV9maWx0ZXJfZ2V0X3NlY2Nv bXAKb2sgNDcgZ2xvYmFsLm1vZGVfZmlsdGVyX2dldF9zZWNjb21wCiMgIFJVTiAgICAgICAg ICAgZ2xvYmFsLkFMTE9XX2FsbCAuLi4KIyAgICAgICAgICAgIE9LICBnbG9iYWwuQUxMT1df YWxsCm9rIDQ4IGdsb2JhbC5BTExPV19hbGwKIyAgUlVOICAgICAgICAgICBnbG9iYWwuZW1w dHlfcHJvZyAuLi4KIyAgICAgICAgICAgIE9LICBnbG9iYWwuZW1wdHlfcHJvZwpvayA0OSBn bG9iYWwuZW1wdHlfcHJvZwojICBSVU4gICAgICAgICAgIGdsb2JhbC5sb2dfYWxsIC4uLgoj ICAgICAgICAgICAgT0sgIGdsb2JhbC5sb2dfYWxsCm9rIDUwIGdsb2JhbC5sb2dfYWxsCiMg IFJVTiAgICAgICAgICAgZ2xvYmFsLnVua25vd25fcmV0X2lzX2tpbGxfaW5zaWRlIC4uLgoj IHNlY2NvbXBfYnBmLmM6NjA5OnVua25vd25fcmV0X2lzX2tpbGxfaW5zaWRlOkV4cGVjdGVk IDAgKDApID09IHN5c2NhbGwoX19OUl9nZXRwaWQpICgyMTEwKQojIHNlY2NvbXBfYnBmLmM6 NjEwOnVua25vd25fcmV0X2lzX2tpbGxfaW5zaWRlOmdldHBpZCgpIHNob3VsZG4ndCBldmVy IHJldHVybgojIHVua25vd25fcmV0X2lzX2tpbGxfaW5zaWRlOiBUZXN0IGV4aXRlZCBub3Jt YWxseSBpbnN0ZWFkIG9mIGJ5IHNpZ25hbCAoY29kZTogMikKIyAgICAgICAgICBGQUlMICBn bG9iYWwudW5rbm93bl9yZXRfaXNfa2lsbF9pbnNpZGUKbm90IG9rIDUxIGdsb2JhbC51bmtu b3duX3JldF9pc19raWxsX2luc2lkZQojICBSVU4gICAgICAgICAgIGdsb2JhbC51bmtub3du X3JldF9pc19raWxsX2Fib3ZlX2FsbG93IC4uLgojIHNlY2NvbXBfYnBmLmM6NjMxOnVua25v d25fcmV0X2lzX2tpbGxfYWJvdmVfYWxsb3c6RXhwZWN0ZWQgMCAoMCkgPT0gc3lzY2FsbChf X05SX2dldHBpZCkgKDIxMTEpCiMgc2VjY29tcF9icGYuYzo2MzI6dW5rbm93bl9yZXRfaXNf a2lsbF9hYm92ZV9hbGxvdzpnZXRwaWQoKSBzaG91bGRuJ3QgZXZlciByZXR1cm4KIyB1bmtu b3duX3JldF9pc19raWxsX2Fib3ZlX2FsbG93OiBUZXN0IGV4aXRlZCBub3JtYWxseSBpbnN0 ZWFkIG9mIGJ5IHNpZ25hbCAoY29kZTogMikKIyAgICAgICAgICBGQUlMICBnbG9iYWwudW5r bm93bl9yZXRfaXNfa2lsbF9hYm92ZV9hbGxvdwpub3Qgb2sgNTIgZ2xvYmFsLnVua25vd25f cmV0X2lzX2tpbGxfYWJvdmVfYWxsb3cKIyAgUlVOICAgICAgICAgICBnbG9iYWwuS0lMTF9h bGwgLi4uCiMgS0lMTF9hbGw6IFRlc3QgZXhpdGVkIG5vcm1hbGx5IGluc3RlYWQgb2YgYnkg c2lnbmFsIChjb2RlOiAwKQojICAgICAgICAgIEZBSUwgIGdsb2JhbC5LSUxMX2FsbApub3Qg b2sgNTMgZ2xvYmFsLktJTExfYWxsCiMgIFJVTiAgICAgICAgICAgZ2xvYmFsLktJTExfb25l IC4uLgojIHNlY2NvbXBfYnBmLmM6Njc4OktJTExfb25lOkV4cGVjdGVkIDAgKDApID09IHN5 c2NhbGwoX19OUl9nZXRwaWQpICgyMTEzKQojIEtJTExfb25lOiBUZXN0IGV4aXRlZCBub3Jt YWxseSBpbnN0ZWFkIG9mIGJ5IHNpZ25hbCAoY29kZTogMikKIyAgICAgICAgICBGQUlMICBn bG9iYWwuS0lMTF9vbmUKbm90IG9rIDU0IGdsb2JhbC5LSUxMX29uZQojICBSVU4gICAgICAg ICAgIGdsb2JhbC5LSUxMX29uZV9hcmdfb25lIC4uLgojIHNlY2NvbXBfYnBmLmM6NzE0OktJ TExfb25lX2FyZ19vbmU6RXhwZWN0ZWQgMCAoMCkgPT0gc3lzY2FsbChfX05SX3RpbWVzLCAm ZmF0YWxfYWRkcmVzcykgKDg5MDIyKQojIEtJTExfb25lX2FyZ19vbmU6IFRlc3QgZXhpdGVk IG5vcm1hbGx5IGluc3RlYWQgb2YgYnkgc2lnbmFsIChjb2RlOiAyKQojICAgICAgICAgIEZB SUwgIGdsb2JhbC5LSUxMX29uZV9hcmdfb25lCm5vdCBvayA1NSBnbG9iYWwuS0lMTF9vbmVf YXJnX29uZQojICBSVU4gICAgICAgICAgIGdsb2JhbC5LSUxMX29uZV9hcmdfc2l4IC4uLgoj IEtJTExfb25lX2FyZ19zaXg6IFRlc3QgZXhpdGVkIG5vcm1hbGx5IGluc3RlYWQgb2YgYnkg c2lnbmFsIChjb2RlOiAwKQojICAgICAgICAgIEZBSUwgIGdsb2JhbC5LSUxMX29uZV9hcmdf c2l4Cm5vdCBvayA1NiBnbG9iYWwuS0lMTF9vbmVfYXJnX3NpeAojICBSVU4gICAgICAgICAg IGdsb2JhbC5LSUxMX3RocmVhZCAuLi4KIyBzZWNjb21wX2JwZi5jOjg0NDpLSUxMX3RocmVh ZDpFeHBlY3RlZCBTSUJMSU5HX0VYSVRfRkFJTFVSRSAoMTk1OTUxMzEwKSAhPSAodW5zaWdu ZWQgbG9uZylzdGF0dXMgKDE5NTk1MTMxMCkKIyBzZWNjb21wX2JwZi5jOjg2OTpLSUxMX3Ro cmVhZDpFeHBlY3RlZCAwICgwKSAhPSBXSUZFWElURUQoc3RhdHVzKSAoMCkKIyBLSUxMX3Ro cmVhZDogVGVzdCB0ZXJtaW5hdGVkIGJ5IGFzc2VydGlvbgojICAgICAgICAgIEZBSUwgIGds b2JhbC5LSUxMX3RocmVhZApub3Qgb2sgNTcgZ2xvYmFsLktJTExfdGhyZWFkCiMgIFJVTiAg ICAgICAgICAgZ2xvYmFsLktJTExfcHJvY2VzcyAuLi4KIyBzZWNjb21wX2JwZi5jOjg0NDpL SUxMX3Byb2Nlc3M6RXhwZWN0ZWQgU0lCTElOR19FWElUX0ZBSUxVUkUgKDE5NTk1MTMxMCkg IT0gKHVuc2lnbmVkIGxvbmcpc3RhdHVzICgxOTU5NTEzMTApCiMgc2VjY29tcF9icGYuYzo4 ODk6S0lMTF9wcm9jZXNzOkV4cGVjdGVkIFNJR1NZUyAoMzEpID09IFdURVJNU0lHKHN0YXR1 cykgKDYpCiMgS0lMTF9wcm9jZXNzOiBUZXN0IHRlcm1pbmF0ZWQgYnkgYXNzZXJ0aW9uCiMg ICAgICAgICAgRkFJTCAgZ2xvYmFsLktJTExfcHJvY2Vzcwpub3Qgb2sgNTggZ2xvYmFsLktJ TExfcHJvY2VzcwojICBSVU4gICAgICAgICAgIGdsb2JhbC5LSUxMX3Vua25vd24gLi4uCiMg c2VjY29tcF9icGYuYzo4NDQ6S0lMTF91bmtub3duOkV4cGVjdGVkIFNJQkxJTkdfRVhJVF9G QUlMVVJFICgxOTU5NTEzMTApICE9ICh1bnNpZ25lZCBsb25nKXN0YXR1cyAoMTk1OTUxMzEw KQojIHNlY2NvbXBfYnBmLmM6OTEwOktJTExfdW5rbm93bjpFeHBlY3RlZCBTSUdTWVMgKDMx KSA9PSBXVEVSTVNJRyhzdGF0dXMpICg2KQojIEtJTExfdW5rbm93bjogVGVzdCB0ZXJtaW5h dGVkIGJ5IGFzc2VydGlvbgojICAgICAgICAgIEZBSUwgIGdsb2JhbC5LSUxMX3Vua25vd24K bm90IG9rIDU5IGdsb2JhbC5LSUxMX3Vua25vd24KIyAgUlVOICAgICAgICAgICBnbG9iYWwu YXJnX291dF9vZl9yYW5nZSAuLi4KIyAgICAgICAgICAgIE9LICBnbG9iYWwuYXJnX291dF9v Zl9yYW5nZQpvayA2MCBnbG9iYWwuYXJnX291dF9vZl9yYW5nZQojICBSVU4gICAgICAgICAg IGdsb2JhbC5FUlJOT192YWxpZCAuLi4KIyBzZWNjb21wX2JwZi5jOjk2MTpFUlJOT192YWxp ZDpFeHBlY3RlZCAtMSAoLTEpID09IHJlYWQoMCwgTlVMTCwgMCkgKDApCiMgc2VjY29tcF9i cGYuYzo5NjI6RVJSTk9fdmFsaWQ6RXhwZWN0ZWQgRTJCSUcgKDcpID09IGVycm5vICgwKQoj IEVSUk5PX3ZhbGlkOiBUZXN0IGZhaWxlZCBhdCBzdGVwICMyCiMgICAgICAgICAgRkFJTCAg Z2xvYmFsLkVSUk5PX3ZhbGlkCm5vdCBvayA2MSBnbG9iYWwuRVJSTk9fdmFsaWQKIyAgUlVO ICAgICAgICAgICBnbG9iYWwuRVJSTk9femVybyAuLi4KIyAgICAgICAgICAgIE9LICBnbG9i YWwuRVJSTk9femVybwpvayA2MiBnbG9iYWwuRVJSTk9femVybwojICBSVU4gICAgICAgICAg IGdsb2JhbC5FUlJOT19jYXBwZWQgLi4uCiMgc2VjY29tcF9icGYuYzoxMDAxOkVSUk5PX2Nh cHBlZDpFeHBlY3RlZCAtMSAoLTEpID09IHJlYWQoMCwgTlVMTCwgMCkgKDApCiMgc2VjY29t cF9icGYuYzoxMDAyOkVSUk5PX2NhcHBlZDpFeHBlY3RlZCA0MDk1ICg0MDk1KSA9PSBlcnJu byAoMCkKIyBFUlJOT19jYXBwZWQ6IFRlc3QgZmFpbGVkIGF0IHN0ZXAgIzIKIyAgICAgICAg ICBGQUlMICBnbG9iYWwuRVJSTk9fY2FwcGVkCm5vdCBvayA2MyBnbG9iYWwuRVJSTk9fY2Fw cGVkCiMgIFJVTiAgICAgICAgICAgZ2xvYmFsLkVSUk5PX29yZGVyIC4uLgojIHNlY2NvbXBf YnBmLmM6MTAzMjpFUlJOT19vcmRlcjpFeHBlY3RlZCAtMSAoLTEpID09IHJlYWQoMCwgTlVM TCwgMCkgKDApCiMgc2VjY29tcF9icGYuYzoxMDMzOkVSUk5PX29yZGVyOkV4cGVjdGVkIDEy ICgxMikgPT0gZXJybm8gKDApCiMgRVJSTk9fb3JkZXI6IFRlc3QgZmFpbGVkIGF0IHN0ZXAg IzQKIyAgICAgICAgICBGQUlMICBnbG9iYWwuRVJSTk9fb3JkZXIKbm90IG9rIDY0IGdsb2Jh bC5FUlJOT19vcmRlcgojICBSVU4gICAgICAgICAgIGdsb2JhbC5uZWdhdGl2ZV9FTk9TWVMg Li4uCiMgICAgICAgICAgICBPSyAgZ2xvYmFsLm5lZ2F0aXZlX0VOT1NZUwpvayA2NSBnbG9i YWwubmVnYXRpdmVfRU5PU1lTCiMgIFJVTiAgICAgICAgICAgZ2xvYmFsLnNlY2NvbXBfc3lz Y2FsbCAuLi4KIyAgICAgICAgICAgIE9LICBnbG9iYWwuc2VjY29tcF9zeXNjYWxsCm9rIDY2 IGdsb2JhbC5zZWNjb21wX3N5c2NhbGwKIyAgUlVOICAgICAgICAgICBnbG9iYWwuc2VjY29t cF9zeXNjYWxsX21vZGVfbG9jayAuLi4KIyAgICAgICAgICAgIE9LICBnbG9iYWwuc2VjY29t cF9zeXNjYWxsX21vZGVfbG9jawpvayA2NyBnbG9iYWwuc2VjY29tcF9zeXNjYWxsX21vZGVf bG9jawojICBSVU4gICAgICAgICAgIGdsb2JhbC5kZXRlY3Rfc2VjY29tcF9maWx0ZXJfZmxh Z3MgLi4uCiMgICAgICAgICAgICBPSyAgZ2xvYmFsLmRldGVjdF9zZWNjb21wX2ZpbHRlcl9m bGFncwpvayA2OCBnbG9iYWwuZGV0ZWN0X3NlY2NvbXBfZmlsdGVyX2ZsYWdzCiMgIFJVTiAg ICAgICAgICAgZ2xvYmFsLlRTWU5DX2ZpcnN0IC4uLgojICAgICAgICAgICAgT0sgIGdsb2Jh bC5UU1lOQ19maXJzdApvayA2OSBnbG9iYWwuVFNZTkNfZmlyc3QKIyAgUlVOICAgICAgICAg ICBnbG9iYWwuc3lzY2FsbF9yZXN0YXJ0IC4uLgojIHN5c2NhbGxfcmVzdGFydDogVGVzdCB0 ZXJtaW5hdGVkIGJ5IHRpbWVvdXQKIyAgICAgICAgICBGQUlMICBnbG9iYWwuc3lzY2FsbF9y ZXN0YXJ0Cm5vdCBvayA3MCBnbG9iYWwuc3lzY2FsbF9yZXN0YXJ0CiMgIFJVTiAgICAgICAg ICAgZ2xvYmFsLmZpbHRlcl9mbGFnX2xvZyAuLi4KIyBzZWNjb21wX2JwZi5jOjMwMTI6c3lz Y2FsbF9yZXN0YXJ0OkV4cGVjdGVkIDEgKDEpID09IHJlYWQocGlwZWZkWzBdLCAmYnVmLCAx KSAoMCkKIyBzZWNjb21wX2JwZi5jOjMwMTM6c3lzY2FsbF9yZXN0YXJ0OkZhaWxlZCBmaW5h bCByZWFkKCkgZnJvbSBwYXJlbnQKIyBzZWNjb21wX2JwZi5jOjMwMTU6c3lzY2FsbF9yZXN0 YXJ0OkV4cGVjdGVkICchJyAoMzMpID09IGJ1ZiAoNDYpCiMgc2VjY29tcF9icGYuYzozMDE2 OnN5c2NhbGxfcmVzdGFydDpGYWlsZWQgdG8gZ2V0IGZpbmFsIGRhdGEgZnJvbSByZWFkKCkK IyBzZWNjb21wX2JwZi5jOjMxNjc6ZmlsdGVyX2ZsYWdfbG9nOkV4cGVjdGVkIDAgKDApID09 IHN5c2NhbGwoX19OUl9nZXRwaWQpICgyMTQwKQojIGZpbHRlcl9mbGFnX2xvZzogVGVzdCBl eGl0ZWQgbm9ybWFsbHkgaW5zdGVhZCBvZiBieSBzaWduYWwgKGNvZGU6IDMpCiMgICAgICAg ICAgRkFJTCAgZ2xvYmFsLmZpbHRlcl9mbGFnX2xvZwpub3Qgb2sgNzEgZ2xvYmFsLmZpbHRl cl9mbGFnX2xvZwojICBSVU4gICAgICAgICAgIGdsb2JhbC5nZXRfYWN0aW9uX2F2YWlsIC4u LgojICAgICAgICAgICAgT0sgIGdsb2JhbC5nZXRfYWN0aW9uX2F2YWlsCm9rIDcyIGdsb2Jh bC5nZXRfYWN0aW9uX2F2YWlsCiMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdldF9tZXRhZGF0 YSAuLi4KIyBzZWNjb21wX2JwZi5jOjMyNTM6Z2V0X21ldGFkYXRhOkV4cGVjdGVkIHNpemVv ZihtZCkgKDE2KSA9PSByZXQgKC0xKQojICAgICAgU0tJUCAgICAgIEtlcm5lbCBkb2VzIG5v dCBzdXBwb3J0IFBUUkFDRV9TRUNDT01QX0dFVF9NRVRBREFUQSAobWlzc2luZyBDT05GSUdf Q0hFQ0tQT0lOVF9SRVNUT1JFPykKIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ2V0X21ldGFk YXRhCm9rIDczICMgU0tJUCBLZXJuZWwgZG9lcyBub3Qgc3VwcG9ydCBQVFJBQ0VfU0VDQ09N UF9HRVRfTUVUQURBVEEgKG1pc3NpbmcgQ09ORklHX0NIRUNLUE9JTlRfUkVTVE9SRT8pCiMg IFJVTiAgICAgICAgICAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2Jhc2ljIC4uLgojIHNl Y2NvbXBfYnBmLmM6MzMyNTp1c2VyX25vdGlmaWNhdGlvbl9iYXNpYzpFeHBlY3RlZCAwICgw KSA9PSBXRVhJVFNUQVRVUyhzdGF0dXMpICgxKQojIHVzZXJfbm90aWZpY2F0aW9uX2Jhc2lj OiBUZXN0IHRlcm1pbmF0ZWQgYnkgdGltZW91dAojICAgICAgICAgIEZBSUwgIGdsb2JhbC51 c2VyX25vdGlmaWNhdGlvbl9iYXNpYwpub3Qgb2sgNzQgZ2xvYmFsLnVzZXJfbm90aWZpY2F0 aW9uX2Jhc2ljCiMgIFJVTiAgICAgICAgICAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX3dp dGhfdHN5bmMgLi4uCiMgICAgICAgICAgICBPSyAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9u X3dpdGhfdHN5bmMKb2sgNzUgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX3dpdGhfdHN5bmMK IyAgUlVOICAgICAgICAgICBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fa2lsbF9pbl9taWRk bGUgLi4uCiMgdXNlcl9ub3RpZmljYXRpb25fa2lsbF9pbl9taWRkbGU6IFRlc3QgdGVybWlu YXRlZCBieSB0aW1lb3V0CiMgICAgICAgICAgRkFJTCAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0 aW9uX2tpbGxfaW5fbWlkZGxlCm5vdCBvayA3NiBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25f a2lsbF9pbl9taWRkbGUKIyAgUlVOICAgICAgICAgICBnbG9iYWwudXNlcl9ub3RpZmljYXRp b25fc2lnbmFsIC4uLgojIHVzZXJfbm90aWZpY2F0aW9uX3NpZ25hbDogVGVzdCB0ZXJtaW5h dGVkIGJ5IHRpbWVvdXQKIyAgICAgICAgICBGQUlMICBnbG9iYWwudXNlcl9ub3RpZmljYXRp b25fc2lnbmFsCm5vdCBvayA3NyBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fc2lnbmFsCiMg IFJVTiAgICAgICAgICAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2Nsb3NlZF9saXN0ZW5l ciAuLi4KIyBzZWNjb21wX2JwZi5jOjM1NzU6dXNlcl9ub3RpZmljYXRpb25fY2xvc2VkX2xp c3RlbmVyOkV4cGVjdGVkIDAgKDApID09IFdFWElUU1RBVFVTKHN0YXR1cykgKDEpCiMgdXNl cl9ub3RpZmljYXRpb25fY2xvc2VkX2xpc3RlbmVyOiBUZXN0IGZhaWxlZCBhdCBzdGVwICMz CiMgICAgICAgICAgRkFJTCAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2Nsb3NlZF9saXN0 ZW5lcgpub3Qgb2sgNzggZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2Nsb3NlZF9saXN0ZW5l cgojICBSVU4gICAgICAgICAgIGdsb2JhbC51c2VyX25vdGlmaWNhdGlvbl9jaGlsZF9waWRf bnMgLi4uCiMgc2VjY29tcF9icGYuYzozNTg4OnVzZXJfbm90aWZpY2F0aW9uX2NoaWxkX3Bp ZF9uczpFeHBlY3RlZCB1bnNoYXJlKENMT05FX05FV1VTRVIgfCBDTE9ORV9ORVdQSUQpICgt MSkgPT0gMCAoMCkKIyAgICAgIFNLSVAgICAgICBrZXJuZWwgbWlzc2luZyBDTE9ORV9ORVdV U0VSIHN1cHBvcnQKIyAgICAgICAgICAgIE9LICBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25f Y2hpbGRfcGlkX25zCm9rIDc5ICMgU0tJUCBrZXJuZWwgbWlzc2luZyBDTE9ORV9ORVdVU0VS IHN1cHBvcnQKIyAgUlVOICAgICAgICAgICBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fc2li bGluZ19waWRfbnMgLi4uCiMgc2VjY29tcF9icGYuYzozNjU2OnVzZXJfbm90aWZpY2F0aW9u X3NpYmxpbmdfcGlkX25zOkV4cGVjdGVkIHVuc2hhcmUoQ0xPTkVfTkVXUElEKSAoLTEpID09 IDAgKDApCiMgdXNlcl9ub3RpZmljYXRpb25fc2libGluZ19waWRfbnM6IFRlc3QgdGVybWlu YXRlZCBieSBhc3NlcnRpb24KIyAgICAgICAgICBGQUlMICBnbG9iYWwudXNlcl9ub3RpZmlj YXRpb25fc2libGluZ19waWRfbnMKbm90IG9rIDgwIGdsb2JhbC51c2VyX25vdGlmaWNhdGlv bl9zaWJsaW5nX3BpZF9ucwojICBSVU4gICAgICAgICAgIGdsb2JhbC51c2VyX25vdGlmaWNh dGlvbl9mYXVsdF9yZWN2IC4uLgojIHNlY2NvbXBfYnBmLmM6MzY0MTp1c2VyX25vdGlmaWNh dGlvbl9zaWJsaW5nX3BpZF9uczpFeHBlY3RlZCB1bnNoYXJlKENMT05FX05FV1BJRCkgKC0x KSA9PSAwICgwKQojIHNlY2NvbXBfYnBmLmM6MzY5OTp1c2VyX25vdGlmaWNhdGlvbl9mYXVs dF9yZWN2OkV4cGVjdGVkIHVuc2hhcmUoQ0xPTkVfTkVXVVNFUikgKC0xKSA9PSAwICgwKQoj IHVzZXJfbm90aWZpY2F0aW9uX2ZhdWx0X3JlY3Y6IFRlc3QgdGVybWluYXRlZCBieSBhc3Nl cnRpb24KIyAgICAgICAgICBGQUlMICBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fZmF1bHRf cmVjdgpub3Qgb2sgODEgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2ZhdWx0X3JlY3YKIyAg UlVOICAgICAgICAgICBnbG9iYWwuc2VjY29tcF9nZXRfbm90aWZfc2l6ZXMgLi4uCiMgICAg ICAgICAgICBPSyAgZ2xvYmFsLnNlY2NvbXBfZ2V0X25vdGlmX3NpemVzCm9rIDgyIGdsb2Jh bC5zZWNjb21wX2dldF9ub3RpZl9zaXplcwojICBSVU4gICAgICAgICAgIGdsb2JhbC51c2Vy X25vdGlmaWNhdGlvbl9jb250aW51ZSAuLi4KIyBzZWNjb21wX2JwZi5jOjM3NzA6dXNlcl9u b3RpZmljYXRpb25fY29udGludWU6a2NtcCgpIHN5c2NhbGwgbWlzc2luZyAodGVzdCBpcyBs ZXNzIGFjY3VyYXRlKQojIHVzZXJfbm90aWZpY2F0aW9uX2NvbnRpbnVlOiBUZXN0IHRlcm1p bmF0ZWQgYnkgdGltZW91dAojICAgICAgICAgIEZBSUwgIGdsb2JhbC51c2VyX25vdGlmaWNh dGlvbl9jb250aW51ZQpub3Qgb2sgODMgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2NvbnRp bnVlCiMgIFJVTiAgICAgICAgICAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2ZpbHRlcl9l bXB0eSAuLi4KIyBzZWNjb21wX2JwZi5jOjM4NDI6dXNlcl9ub3RpZmljYXRpb25fZmlsdGVy X2VtcHR5OkV4cGVjdGVkIHBpZCAoLTEpID49IDAgKDApCiMgdXNlcl9ub3RpZmljYXRpb25f ZmlsdGVyX2VtcHR5OiBUZXN0IHRlcm1pbmF0ZWQgYnkgYXNzZXJ0aW9uCiMgICAgICAgICAg RkFJTCAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2ZpbHRlcl9lbXB0eQpub3Qgb2sgODQg Z2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2ZpbHRlcl9lbXB0eQojICBSVU4gICAgICAgICAg IGdsb2JhbC51c2VyX25vdGlmaWNhdGlvbl9maWx0ZXJfZW1wdHlfdGhyZWFkZWQgLi4uCiMg c2VjY29tcF9icGYuYzozODk2OnVzZXJfbm90aWZpY2F0aW9uX2ZpbHRlcl9lbXB0eV90aHJl YWRlZDpFeHBlY3RlZCBwaWQgKC0xKSA+PSAwICgwKQojIHVzZXJfbm90aWZpY2F0aW9uX2Zp bHRlcl9lbXB0eV90aHJlYWRlZDogVGVzdCB0ZXJtaW5hdGVkIGJ5IGFzc2VydGlvbgojICAg ICAgICAgIEZBSUwgIGdsb2JhbC51c2VyX25vdGlmaWNhdGlvbl9maWx0ZXJfZW1wdHlfdGhy ZWFkZWQKbm90IG9rIDg1IGdsb2JhbC51c2VyX25vdGlmaWNhdGlvbl9maWx0ZXJfZW1wdHlf dGhyZWFkZWQKIyAgUlVOICAgICAgICAgICBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fYWRk ZmQgLi4uCiMgdXNlcl9ub3RpZmljYXRpb25fYWRkZmQ6IFRlc3QgdGVybWluYXRlZCBieSB0 aW1lb3V0CiMgICAgICAgICAgRkFJTCAgZ2xvYmFsLnVzZXJfbm90aWZpY2F0aW9uX2FkZGZk Cm5vdCBvayA4NiBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fYWRkZmQKIyAgUlVOICAgICAg ICAgICBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fYWRkZmRfcmxpbWl0IC4uLgojIHVzZXJf bm90aWZpY2F0aW9uX2FkZGZkX3JsaW1pdDogVGVzdCB0ZXJtaW5hdGVkIGJ5IHRpbWVvdXQK IyAgICAgICAgICBGQUlMICBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fYWRkZmRfcmxpbWl0 Cm5vdCBvayA4NyBnbG9iYWwudXNlcl9ub3RpZmljYXRpb25fYWRkZmRfcmxpbWl0CiMgRkFJ TEVEOiAzNSAvIDg3IHRlc3RzIHBhc3NlZC4KIyBUb3RhbHM6IHBhc3M6MzIgZmFpbDo1MiB4 ZmFpbDowIHhwYXNzOjAgc2tpcDozIGVycm9yOjAK --------------55A4E589EB76EC18D466AB1D--