From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sender4-pp-o90.zoho.com (sender4-pp-o90.zoho.com [136.143.188.90]) by sourceware.org (Postfix) with ESMTPS id C3A303858415; Fri, 19 Jan 2024 21:57:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C3A303858415 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=zoho.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=zoho.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C3A303858415 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=136.143.188.90 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705701450; cv=pass; b=xNnVfRa57rYrxpijwvLCcELpGOeWmECLuS2K+2udknFeRfkqHxT+0IJWYfpGW8iUFBvDmyvze/xVVEYaBq2Bh3Wr9Z7qI5fAvfkH90P2JEGC1w9KyKbenEgyUANvQSRYDMXXckPXFLTNNistp8+OzuJuXB/Zrb8tnOfIwpicT78= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705701450; c=relaxed/simple; bh=eUNe1jUue6iUgVdfKMT8YjGxeH5fkOx3sXlohbDoxnc=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=UH0CGjijBTAJgQUfjnm0AMekCAiB1/j3BaT0WHgh+/YkGcGGrmkemRs9pHHXUSJ2OoCIgu29O1Ea1W03Mv6F4QwMYk3iu7gZn9WDXyWR95CBY8ViosGjIPXkSUslPUKD29iuofevcZUZofwzZWkUx+t/FIM5udt6Ytq8YFYXG8A= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1705701443; cv=none; d=zohomail.com; s=zohoarc; b=T8iO8ZvoFhTi+1/WQ8PD+3F2GtqmA4+r/rpw2AX+h87yBnjfEG62IBX1rYPsodPxhpsnafYIz9d/RIDSVukRT43lCA2MmqXOCTKHTOz6FdIPUvfH/RabSdoY4KW5CbmY8J3Z0vVh9i//x+Tewo+tkau69HlRNJJ2ggOVU+wG6dM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1705701443; h=Content-Type:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=7dT1dkW7aLeXkuVRho33OEOYWQS6bg/Uag3mzenr+Ig=; b=jFs5ntVJgRxEI1B6fnDXDi1zPGrlT4D/xL13bmjrKfaTqXCQZMAIv+eFvc38ARuKxAIdHPek6wMTdGzQ7RYjQ/6n7nMFQ0RibWNSLYcAspfHtvGte14Wo6QRpOMc9A1OrAhtD33wZrTaEtCs2prE2YzU+hz5q+IJtQSZdnl4nF8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zoho.com; spf=pass smtp.mailfrom=bouanto@zoho.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1705701443; s=zm2022; d=zoho.com; i=bouanto@zoho.com; h=Message-ID:Subject:Subject:From:From:To:To:Cc:Cc:Date:Date:Content-Type:MIME-Version:Feedback-ID:Message-Id:Reply-To; bh=7dT1dkW7aLeXkuVRho33OEOYWQS6bg/Uag3mzenr+Ig=; b=dAyDraHc7shZSKrm898cbOlxRyO69vN225IaI1qolE217INrsu91vIPbHSr1JYwH 6BYbHP4HeLZqTvLNIMcA06+zDp+MRMEbZYw2VofLUGDzzdc2f+f8cAcN51u3CXlVAZh nCUbAR9CFByYstZCvPkEkAEXgK0++Lp7KblSJxkk= Received: from [192.168.1.172] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 1705701441997701.869219252613; Fri, 19 Jan 2024 13:57:21 -0800 (PST) Message-ID: <20a1db244d8234683b61c7d124999ba45462af90.camel@zoho.com> Subject: [PATCH] libgccjit: Add gcc_jit_global_set_readonly From: Antoni Boucher To: "gcc-patches@gcc.gnu.org" , "jit@gcc.gnu.org" Cc: David Malcolm Date: Fri, 19 Jan 2024 16:57:20 -0500 Autocrypt: addr=bouanto@zoho.com; prefer-encrypt=mutual; keydata=mQENBFOSMLQBCADO5aw6Ys8thMQUNzrwAnfJX2wbgWiz0pQ01DjYj22eeIpChkoZn6LWdt4dieq30u2rFi/yQzJ02foHwI2+aL9rU6xz/x4TwqyRJQGMOqklNc3R+pdXmH4WDQkQDWmLxvc07vu+zb8Tx5A6pMDh4J2ncCEhLEUcH39Yq/yg4eBnFwUX6N7kakvHrnScGNqhnSFCacoJeMJUAR+1G7VBSBd++jmnHLnx3mj7QkRZVECJUw2zqiv1yReCC6GU4SvqLjdqm5ZGeoWOqD/NHjBRoEeOVjzp6M/qOjjWRbkJVqmvgfcD8UytSSqqboR35YFT4L+rZt2ri3T12MJb3i5syCAXABEBAAG0IUFudG9uaSBCb3VjaGVyIDxib3VhbnRvQHpvaG8uY29tPokBVgQTAQgAQAIbIwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QM4FCRLMEZoACgkQRVeGAwR4zcFBQQf/afttJrA/puADQZhrDfkgr0MFvq6iB+GCy1b8BkXimk1TOXTPt87YLehSeijNu3JkYhl5eRc87BNfU9J87KfI/KIy6hZxqlDXk16FhW9bw/7wYEA0hpb3MUn7xLElXDT0ZHaD+KTe8Oun7qfzgx5RlL6r/WODf3CkSpO085R/rfeBqDEx9mVlhDWgq6Az3CZoD+3CqiCKVqmDuHTWz4kwrd9AM5eVcLvvLKnZIdoIp+G5Ao6BvaGlZyfenN1iOSjLy2NXNt4MnUt0lUYEP5KSIIRhHQ8xkUbj7eWUmaahkxhNb3fH3sAPwGnRZrPpb4rgYzNmSk63wWMh9M2xk+rLb7kBDQRTkjC0AQgAumZzsAV/UFWI+dpzebQfma36kKYZZFuseant5sq/HWP553XQ/U6ttJiKyN5MpCqtxvCAoRplf42YhlHuFqgf73WJxoJ6Y+sdyqoBSwlR+ gzAneAmsa8gmmY0wawH0Z2leazjKuS7mJjVEQZg0ZGsiCVRGeRnDqFGzDEzDc9ngWKSoTq0fKzlGy1X85OrtmUrvEbhSo6HP+FoeunHkIqrxu3w3vDoFEXxVQlKI6V3I4nCz5n6DB8WR3L7nsiiTnOiGirPw1ngvWFLW86kkA4FJpayc8Xl3va3SLY+2y4yuROboX2DVI4AC/Qeug/mDiBicPxkP6YfUartQRMe6obkEQARAQABiQE8BBgBCAAmAhsMFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QRsFCRLMEecACgkQRVeGAwR4zcE56ggAgTgrJInBKC+7552Dpccuo6Clh3wZfjlNLv9/6r5lKEbaNzaTrfhPiAP4WgnluIUmj8amOFLFJpj+BAVNOXpZ4D2R3o9ch8z7fot+fW4Yw+PKIxH4I2xEys8ndoEB3aiQwHjKcGIhkIU7uyMJFQr2aWjdTY0gmXw0YZueHOSLgo7uX4XKxB8fEO/yto/Tff2YBAAq+AtNwt+Gh5YS9rZw7rwUTWMi84yVOlc+zRE79E9NJkvdTwX7IJYo64VzIRNfgHsn7QNdVzuM1XIFHl+Glk6cIlI8s6BO7nEoCn3hTF104fQTAO3fEs+XXZOKXo2lk8faowEoPq5r58StrV0nyg== Content-Type: multipart/mixed; boundary="=-nGiJhdAVdONLh6DgdGnE" User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-Zoho-AV-Stamp: zmail-av-1.1.0/204.902.92 Feedback-ID: rr08011228eeb7a2c51fae361d339584120000d6e91f8674a558e0496eef8f072f14384f0af2bb6b29f7543589:zu08011226252e8332142f529bc296bc750000b0bca82d111055755ce8b876b71bdd424737de480edbe7f0:rf08011232363c4b6c9681451a4c06443b000054b3cb26fa6e756e340ce44b1a7d81e248629816c768d09e6fbe1b1feff815389a04f3d6:ZohoMail X-ZohoMailClient: External X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-nGiJhdAVdONLh6DgdGnE Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi. This patch adds a new API gcc_jit_global_set_readonly: it's equivalent to having a const global variable, but it is useful in the case of complex compilers where it is not convenient to use const. Thanks for the review. --=-nGiJhdAVdONLh6DgdGnE Content-Disposition: attachment; filename="0001-libgccjit-Add-gcc_jit_global_set_readonly.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libgccjit-Add-gcc_jit_global_set_readonly.patch"; charset="UTF-8" RnJvbSBmZjNhYTE5MjA3YTZjZGFlZmY2ZmNiNjUyMWFkMmFkOTJmNTQ0OGZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogVHVlLCAyNCBNYXkgMjAyMiAxNzo0NTowMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmdj Y2ppdDogQWRkIGdjY19qaXRfZ2xvYmFsX3NldF9yZWFkb25seQoKZ2NjL2ppdC9DaGFuZ2VMb2c6 CgoJKiBkb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdCAoTElCR0NDSklUX0FCSV8yNik6IE5l dyBBQkkgdGFnLgoJKiBkb2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3Q6IERvY3VtZW50IGdjY19q aXRfZ2xvYmFsX3NldF9yZWFkb25seS4KCSogaml0LXBsYXliYWNrLmNjIChnbG9iYWxfbmV3X2Rl Y2wsIG5ld19nbG9iYWwsCgluZXdfZ2xvYmFsX2luaXRpYWxpemVkKTogTmV3IHBhcmFtZXRlciBy ZWFkb25seS4KCSogaml0LXBsYXliYWNrLmggKGdsb2JhbF9uZXdfZGVjbCwgbmV3X2dsb2JhbCwK CW5ld19nbG9iYWxfaW5pdGlhbGl6ZWQpOiBOZXcgcGFyYW1ldGVyIHJlYWRvbmx5LgoJKiBqaXQt cmVjb3JkaW5nLmNjIChyZWNvcmRpbmc6Omdsb2JhbDo6cmVwbGF5X2ludG8pOiBVc2UKCW1fcmVh ZG9ubHkuCgkocmVjb3JkaW5nOjpnbG9iYWw6OndyaXRlX3JlcHJvZHVjZXIpOiBEdW1wIHJlcHJv ZHVjZXIgZm9yCglnY2Nfaml0X2dsb2JhbF9zZXRfcmVhZG9ubHkuCgkqIGppdC1yZWNvcmRpbmcu aCAoZ2V0X3JlYWRvbmx5LCBzZXRfcmVhZG9ubHkpOiBOZXcgbWV0aG9kcy4KCShtX3JlYWRvbmx5 KTogTmV3IGF0dHJpYnV0ZS4KCSogbGliZ2Njaml0LmNjIChnY2Nfaml0X2dsb2JhbF9zZXRfcmVh ZG9ubHkpOiBOZXcgZnVuY3Rpb24uCgkoZ2NjX2ppdF9ibG9ja19hZGRfYXNzaWdubWVudCk6IENo ZWNrIHRoYXQgd2UgZG9uJ3QgYXNzaWduIHRvIGEKCXJlYWRvbmx5IHZhcmlhYmxlLgoJKiBsaWJn Y2NqaXQuaCAoZ2NjX2ppdF9nbG9iYWxfc2V0X3JlYWRvbmx5KTogTmV3IGZ1bmN0aW9uLgoJKExJ QkdDQ0pJVF9IQVZFX2djY19qaXRfZ2xvYmFsX3NldF9yZWFkb25seSk6IE5ldyBkZWZpbmUuCgkq IGxpYmdjY2ppdC5tYXA6IE5ldyBmdW5jdGlvbi4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoK CSogaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oOiBNZW50aW9uIHRlc3QtcmVhZG9ubHku Yy4KCSogaml0LmRnL3Rlc3QtZXJyb3ItYXNzaWduLXJlYWRvbmx5LmM6IE5ldyB0ZXN0LgoJKiBq aXQuZGcvdGVzdC1yZWFkb25seS5jOiBOZXcgdGVzdC4KLS0tCiBnY2Mvaml0L2RvY3MvdG9waWNz L2NvbXBhdGliaWxpdHkucnN0ICAgICAgICAgfCAgNyArKysKIGdjYy9qaXQvZG9jcy90b3BpY3Mv ZXhwcmVzc2lvbnMucnN0ICAgICAgICAgICB8IDEyICsrKysKIGdjYy9qaXQvaml0LXBsYXliYWNr LmNjICAgICAgICAgICAgICAgICAgICAgICB8IDE1ICsrKy0tCiBnY2Mvaml0L2ppdC1wbGF5YmFj ay5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgOSArKy0KIGdjYy9qaXQvaml0LXJlY29yZGlu Zy5jYyAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrLQogZ2NjL2ppdC9qaXQtcmVjb3JkaW5n LmggICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrKwogZ2NjL2ppdC9saWJnY2NqaXQuY2Mg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjIgKysrKysrKwogZ2NjL2ppdC9saWJnY2NqaXQu aCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysKIGdjYy9qaXQvbGliZ2Njaml0Lm1h cCAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrCiBnY2MvdGVzdHN1aXRlL2ppdC5kZy9h bGwtbm9uLWZhaWxpbmctdGVzdHMuaCAgfCAgMyArCiAuLi4vaml0LmRnL3Rlc3QtZXJyb3ItYXNz aWduLXJlYWRvbmx5LmMgICAgICAgfCA2MiArKysrKysrKysrKysrKysrKysrCiBnY2MvdGVzdHN1 aXRlL2ppdC5kZy90ZXN0LXJlYWRvbmx5LmMgICAgICAgICAgfCAzOCArKysrKysrKysrKysKIDEy IGZpbGVzIGNoYW5nZWQsIDE4OSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LWVycm9yLWFzc2lnbi1yZWFk b25seS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC1yZWFk b25seS5jCgpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJz dCBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QKaW5kZXggZWJlZGU0NDBl ZTQuLmUxMzU4MWQwNjg1IDEwMDY0NAotLS0gYS9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBhdGli aWxpdHkucnN0CisrKyBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QKQEAg LTM3OCwzICszNzgsMTAgQEAgYWxpZ25tZW50IG9mIGEgdmFyaWFibGU6CiAtLS0tLS0tLS0tLS0t LS0tLS0tLQogYGBMSUJHQ0NKSVRfQUJJXzI1YGAgY292ZXJzIHRoZSBhZGRpdGlvbiBvZgogOmZ1 bmM6YGdjY19qaXRfdHlwZV9nZXRfcmVzdHJpY3RgCisKKy4uIF9MSUJHQ0NKSVRfQUJJXzI2Ogor CitgYExJQkdDQ0pJVF9BQklfMjZgYAorLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2BgTElCR0NDSklU X0FCSV8yNmBgIGNvdmVycyB0aGUgYWRkaXRpb24gb2YKKzpmdW5jOmBnY2Nfaml0X2dsb2JhbF9z ZXRfcmVhZG9ubHlgCmRpZmYgLS1naXQgYS9nY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25z LnJzdCBiL2djYy9qaXQvZG9jcy90b3BpY3MvZXhwcmVzc2lvbnMucnN0CmluZGV4IDQyY2ZlZTM2 MzAyLi44ZDRhYTk2ZTY0YSAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNz aW9ucy5yc3QKKysrIGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3QKQEAgLTk0 NCw2ICs5NDQsMTggQEAgR2xvYmFsIHZhcmlhYmxlcwogCiAgICAgICAjaWZkZWYgTElCR0NDSklU X0hBVkVfQ1RPUlMKIAorLi4gZnVuY3Rpb246OiB2b2lkXAorICAgICAgICAgICAgICBnY2Nfaml0 X2dsb2JhbF9zZXRfcmVhZG9ubHkgKGdjY19qaXRfbHZhbHVlICpnbG9iYWwpCisKKyAgIFNldCB0 aGUgZ2xvYmFsIHZhcmlhYmxlIGFzIHJlYWQtb25seSwgbWVhbmluZyB5b3UgY2Fubm90IGFzc2ln biB0byB0aGlzIHZhcmlhYmxlLgorCisgICBUaGlzIGVudHJ5cG9pbnQgd2FzIGFkZGVkIGluIDpy ZWY6YExJQkdDQ0pJVF9BQklfMjZgOyB5b3UgY2FuIHRlc3QgZm9yIGl0cworICAgcHJlc2VuY2Ug dXNpbmc6CisKKyAgIC4uIGNvZGUtYmxvY2s6OiBjCisKKyAgICAgICNpZmRlZiBMSUJHQ0NKSVRf SEFWRV9nY2Nfaml0X2dsb2JhbF9zZXRfcmVhZG9ubHkKKwogV29ya2luZyB3aXRoIHBvaW50ZXJz LCBzdHJ1Y3RzIGFuZCB1bmlvbnMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAKZGlmZiAtLWdpdCBhL2djYy9qaXQvaml0LXBsYXliYWNrLmNjIGIvZ2NjL2ppdC9q aXQtcGxheWJhY2suY2MKaW5kZXggZGRkZDUzN2YzYjEuLjQyMGYzYTg0M2NmIDEwMDY0NAotLS0g YS9nY2Mvaml0L2ppdC1wbGF5YmFjay5jYworKysgYi9nY2Mvaml0L2ppdC1wbGF5YmFjay5jYwpA QCAtNjA3LDcgKzYwNyw4IEBAIGdsb2JhbF9uZXdfZGVjbCAobG9jYXRpb24gKmxvYywKIAkJIGVu dW0gZ2NjX2ppdF9nbG9iYWxfa2luZCBraW5kLAogCQkgdHlwZSAqdHlwZSwKIAkJIGNvbnN0IGNo YXIgKm5hbWUsCi0JCSBlbnVtIGdsb2JhbF92YXJfZmxhZ3MgZmxhZ3MpCisJCSBlbnVtIGdsb2Jh bF92YXJfZmxhZ3MgZmxhZ3MsCisJCSBib29sIHJlYWRvbmx5KQogewogICBnY2NfYXNzZXJ0ICh0 eXBlKTsKICAgZ2NjX2Fzc2VydCAobmFtZSk7CkBAIC02NDYsNyArNjQ3LDcgQEAgZ2xvYmFsX25l d19kZWNsIChsb2NhdGlvbiAqbG9jLAogICAgICAgYnJlYWs7CiAgICAgfQogCi0gIGlmIChUWVBF X1JFQURPTkxZICh0eXBlX3RyZWUpKQorICBpZiAoVFlQRV9SRUFET05MWSAodHlwZV90cmVlKSB8 fCByZWFkb25seSkKICAgICBUUkVFX1JFQURPTkxZIChpbm5lcikgPSAxOwogCiAgIGlmIChsb2Mp CkBAIC02NzQsMTAgKzY3NSwxMSBAQCBuZXdfZ2xvYmFsIChsb2NhdGlvbiAqbG9jLAogCSAgICBl bnVtIGdjY19qaXRfZ2xvYmFsX2tpbmQga2luZCwKIAkgICAgdHlwZSAqdHlwZSwKIAkgICAgY29u c3QgY2hhciAqbmFtZSwKLQkgICAgZW51bSBnbG9iYWxfdmFyX2ZsYWdzIGZsYWdzKQorCSAgICBl bnVtIGdsb2JhbF92YXJfZmxhZ3MgZmxhZ3MsCisJICAgIGJvb2wgcmVhZG9ubHkpCiB7CiAgIHRy ZWUgaW5uZXIgPQotICAgIGdsb2JhbF9uZXdfZGVjbCAobG9jLCBraW5kLCB0eXBlLCBuYW1lLCBm bGFncyk7CisgICAgZ2xvYmFsX25ld19kZWNsIChsb2MsIGtpbmQsIHR5cGUsIG5hbWUsIGZsYWdz LCByZWFkb25seSk7CiAKICAgcmV0dXJuIGdsb2JhbF9maW5hbGl6ZV9sdmFsdWUgKGlubmVyKTsK IH0KQEAgLTgyMiw5ICs4MjQsMTAgQEAgbmV3X2dsb2JhbF9pbml0aWFsaXplZCAobG9jYXRpb24g KmxvYywKIAkJCXNpemVfdCBpbml0aWFsaXplcl9udW1fZWxlbSwKIAkJCWNvbnN0IHZvaWQgKmlu aXRpYWxpemVyLAogCQkJY29uc3QgY2hhciAqbmFtZSwKLQkJCWVudW0gZ2xvYmFsX3Zhcl9mbGFn cyBmbGFncykKKwkJCWVudW0gZ2xvYmFsX3Zhcl9mbGFncyBmbGFncywKKwkJCWJvb2wgcmVhZG9u bHkpCiB7Ci0gIHRyZWUgaW5uZXIgPSBnbG9iYWxfbmV3X2RlY2wgKGxvYywga2luZCwgdHlwZSwg bmFtZSwgZmxhZ3MpOworICB0cmVlIGlubmVyID0gZ2xvYmFsX25ld19kZWNsIChsb2MsIGtpbmQs IHR5cGUsIG5hbWUsIGZsYWdzLCByZWFkb25seSk7CiAKICAgdmVjPGNvbnN0cnVjdG9yX2VsdCwg dmFfZ2M+ICpjb25zdHJ1Y3Rvcl9lbGVtZW50cyA9IE5VTEw7CiAKZGlmZiAtLWdpdCBhL2djYy9q aXQvaml0LXBsYXliYWNrLmggYi9nY2Mvaml0L2ppdC1wbGF5YmFjay5oCmluZGV4IGIwMTY2Zjhm NmNlLi43YzFkOGQ4OGI0ZCAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcGxheWJhY2suaAorKysg Yi9nY2Mvaml0L2ppdC1wbGF5YmFjay5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCSAg ICAgIGVudW0gZ2NjX2ppdF9nbG9iYWxfa2luZCBraW5kLAogCSAgICAgIHR5cGUgKnR5cGUsCiAJ ICAgICAgY29uc3QgY2hhciAqbmFtZSwKLQkgICAgICBlbnVtIGdsb2JhbF92YXJfZmxhZ3MgZmxh Z3MpOworCSAgICAgIGVudW0gZ2xvYmFsX3Zhcl9mbGFncyBmbGFncywKKwkgICAgICBib29sIHJl YWRvbmx5KTsKIAogICBsdmFsdWUgKgogICBuZXdfZ2xvYmFsX2luaXRpYWxpemVkIChsb2NhdGlv biAqbG9jLApAQCAtMTIxLDcgKzEyMiw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZV90IGluaXRpYWxpemVyX251bV9lbGVtLAogICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCB2b2lkICppbml0aWFsaXplciwKIAkJCSAgY29uc3QgY2hhciAqbmFtZSwKLQkJ CSAgZW51bSBnbG9iYWxfdmFyX2ZsYWdzIGZsYWdzKTsKKwkJCSAgZW51bSBnbG9iYWxfdmFyX2Zs YWdzIGZsYWdzLAorCQkJICBib29sIHJlYWRvbmx5KTsKIAogICBydmFsdWUgKgogICBuZXdfY3Rv ciAobG9jYXRpb24gKmxvZywKQEAgLTMwNiw3ICszMDgsOCBAQCBwcml2YXRlOgogICAgICAgICAg ICAgICAgICAgIGVudW0gZ2NjX2ppdF9nbG9iYWxfa2luZCBraW5kLAogICAgICAgICAgICAgICAg ICAgIHR5cGUgKnR5cGUsCiAJCSAgIGNvbnN0IGNoYXIgKm5hbWUsCi0JCSAgIGVudW0gZ2xvYmFs X3Zhcl9mbGFncyBmbGFncyk7CisJCSAgIGVudW0gZ2xvYmFsX3Zhcl9mbGFncyBmbGFncywKKwkJ ICAgYm9vbCByZWFkb25seSk7CiAgIGx2YWx1ZSAqCiAgIGdsb2JhbF9maW5hbGl6ZV9sdmFsdWUg KHRyZWUgaW5uZXIpOwogCmRpZmYgLS1naXQgYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuY2MgYi9n Y2Mvaml0L2ppdC1yZWNvcmRpbmcuY2MKaW5kZXggOWI1YjgwMDVlYmUuLmY4NmU3NDM5MzAxIDEw MDY0NAotLS0gYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuY2MKKysrIGIvZ2NjL2ppdC9qaXQtcmVj b3JkaW5nLmNjCkBAIC00ODc5LDEyICs0ODc5LDE0IEBAIHJlY29yZGluZzo6Z2xvYmFsOjpyZXBs YXlfaW50byAocmVwbGF5ZXIgKnIpCiAJCQkJIC8gbV90eXBlLT5kZXJlZmVyZW5jZSAoKS0+Z2V0 X3NpemUgKCksCiAJCQkJIG1faW5pdGlhbGl6ZXIsCiAJCQkJIHBsYXliYWNrX3N0cmluZyAobV9u YW1lKSwKLQkJCQkgbV9mbGFncykKKwkJCQkgbV9mbGFncywKKwkJCQkgbV9yZWFkb25seSkKICAg ICA6IHItPm5ld19nbG9iYWwgKHBsYXliYWNrX2xvY2F0aW9uIChyLCBtX2xvYyksCiAJCSAgICAg bV9raW5kLAogCQkgICAgIG1fdHlwZS0+cGxheWJhY2tfdHlwZSAoKSwKIAkJICAgICBwbGF5YmFj a19zdHJpbmcgKG1fbmFtZSksCi0JCSAgICAgbV9mbGFncyk7CisJCSAgICAgbV9mbGFncywKKwkJ ICAgICBtX3JlYWRvbmx5KTsKIAogICBpZiAobV90bHNfbW9kZWwgIT0gR0NDX0pJVF9UTFNfTU9E RUxfTk9ORSkKICAgICBnbG9iYWwtPnNldF90bHNfbW9kZWwgKHJlY29yZGluZzo6dGxzX21vZGVs c1ttX3Rsc19tb2RlbF0pOwpAQCAtNTA0Miw2ICs1MDQ0LDEwIEBAIHJlY29yZGluZzo6Z2xvYmFs Ojp3cml0ZV9yZXByb2R1Y2VyIChyZXByb2R1Y2VyICZyKQogICAgICBpZCwKICAgICAgbV9saW5r X3NlY3Rpb24tPmNfc3RyICgpKTsKIAorICBpZiAobV9yZWFkb25seSkKKyAgICByLndyaXRlICgi ICBnY2Nfaml0X2dsb2JhbF9zZXRfcmVhZG9ubHkgKCVzLCAvKiBnY2Nfaml0X2x2YWx1ZSAqbHZh bHVlICovKTtcbiIsCisgICAgIGlkKTsKKwogICBpZiAobV9pbml0aWFsaXplcikKICAgICBzd2l0 Y2ggKG1fdHlwZS0+ZGVyZWZlcmVuY2UgKCktPmdldF9zaXplICgpKQogICAgICAgewpkaWZmIC0t Z2l0IGEvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmggYi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuaApp bmRleCA0YTgwODI5OTFmYi4uNWIzYzg1NWI3ZTggMTAwNjQ0Ci0tLSBhL2djYy9qaXQvaml0LXJl Y29yZGluZy5oCisrKyBiL2djYy9qaXQvaml0LXJlY29yZGluZy5oCkBAIC0xMjM2LDYgKzEyMzYs MTcgQEAgcHVibGljOgogICBhc19ydmFsdWUgKCkgeyByZXR1cm4gdGhpczsgfQogCiAgIGNvbnN0 IGNoYXIgKmFjY2Vzc19hc19ydmFsdWUgKHJlcHJvZHVjZXIgJnIpIG92ZXJyaWRlOworCisgIGJv b2wgZ2V0X3JlYWRvbmx5ICgpIGNvbnN0CisgIHsKKyAgICByZXR1cm4gbV9yZWFkb25seTsKKyAg fQorCisgIHZvaWQgc2V0X3JlYWRvbmx5ICgpCisgIHsKKyAgICBtX3JlYWRvbmx5ID0gdHJ1ZTsK KyAgfQorCiAgIHZpcnR1YWwgY29uc3QgY2hhciAqYWNjZXNzX2FzX2x2YWx1ZSAocmVwcm9kdWNl ciAmcik7CiAgIHZpcnR1YWwgYm9vbCBpc19nbG9iYWwgKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7 IH0KICAgdm9pZCBzZXRfdGxzX21vZGVsIChlbnVtIGdjY19qaXRfdGxzX21vZGVsIG1vZGVsKTsK QEAgLTEyNDksNiArMTI2MCw3IEBAIHByb3RlY3RlZDoKICAgc3RyaW5nICptX3JlZ19uYW1lOwog ICBlbnVtIGdjY19qaXRfdGxzX21vZGVsIG1fdGxzX21vZGVsOwogICB1bnNpZ25lZCBtX2FsaWdu bWVudDsKKyAgYm9vbCBtX3JlYWRvbmx5ID0gZmFsc2U7CiB9OwogCiBjbGFzcyBwYXJhbSA6IHB1 YmxpYyBsdmFsdWUKZGlmZiAtLWdpdCBhL2djYy9qaXQvbGliZ2Njaml0LmNjIGIvZ2NjL2ppdC9s aWJnY2NqaXQuY2MKaW5kZXggMDQ1MWI0ZGY3ZjkuLjFlOTZlZTU1NTlmIDEwMDY0NAotLS0gYS9n Y2Mvaml0L2xpYmdjY2ppdC5jYworKysgYi9nY2Mvaml0L2xpYmdjY2ppdC5jYwpAQCAtMTg2OCw2 ICsxODY4LDIzIEBAIGdjY19qaXRfZ2xvYmFsX3NldF9pbml0aWFsaXplciAoZ2NjX2ppdF9sdmFs dWUgKmdsb2JhbCwKICAgcmV0dXJuIGdsb2JhbDsKIH0KIAorLyogUHVibGljIGVudHJ5cG9pbnQu ICBTZWUgZGVzY3JpcHRpb24gaW4gbGliZ2Njaml0LmguCisKKyAgIEFmdGVyIGVycm9yLWNoZWNr aW5nLCB0aGUgcmVhbCB3b3JrIGlzIGRvbmUgYnkgdGhlCisgICBnY2M6OmppdDo6cmVjb3JkaW5n OjpnbG9iYWw6OnNldF9yZWFkb25seSBtZXRob2QsIGluCisgICBqaXQtcmVjb3JkaW5nLmNjLiAg Ki8KKworZXh0ZXJuIHZvaWQKK2djY19qaXRfZ2xvYmFsX3NldF9yZWFkb25seSAoZ2NjX2ppdF9s dmFsdWUgKmdsb2JhbCkKK3sKKyAgUkVUVVJOX0lGX0ZBSUwgKGdsb2JhbCwgTlVMTCwgTlVMTCwg Ik5VTEwgZ2xvYmFsIik7CisgIFJFVFVSTl9JRl9GQUlMX1BSSU5URjEgKGdsb2JhbC0+aXNfZ2xv YmFsICgpLCBOVUxMLCBOVUxMLAorCQkJICAgICAgICJsdmFsdWUgXCIlc1wiIG5vdCBhIGdsb2Jh bCIsCisJCQkgICAgICAgZ2xvYmFsLT5nZXRfZGVidWdfc3RyaW5nICgpKTsKKworICBnbG9iYWwt PnNldF9yZWFkb25seSAoKTsKK30KKwogLyogUHVibGljIGVudHJ5cG9pbnQuICBTZWUgZGVzY3Jp cHRpb24gaW4gbGliZ2Njaml0LmguCiAKICAgIEFmdGVyIGVycm9yLWNoZWNraW5nLCB0aGlzIGNh bGxzIHRoZSB0cml2aWFsCkBAIC0yODQ0LDYgKzI4NjEsMTEgQEAgZ2NjX2ppdF9ibG9ja19hZGRf YXNzaWdubWVudCAoZ2NjX2ppdF9ibG9jayAqYmxvY2ssCiAgICAgbHZhbHVlLT5nZXRfdHlwZSAo KS0+Z2V0X2RlYnVnX3N0cmluZyAoKSwKICAgICBydmFsdWUtPmdldF9kZWJ1Z19zdHJpbmcgKCks CiAgICAgcnZhbHVlLT5nZXRfdHlwZSAoKS0+Z2V0X2RlYnVnX3N0cmluZyAoKSk7CisgIFJFVFVS Tl9JRl9GQUlMX1BSSU5URjEgKAorICAgICFsdmFsdWUtPmdldF9yZWFkb25seSAoKSwKKyAgICBj dHh0LCBsb2MsCisgICAgImNhbm5vdCBhc3NpZ24gdG8gcmVhZG9ubHkgdmFyaWFibGU6ICVzIiwK KyAgICBsdmFsdWUtPmdldF9kZWJ1Z19zdHJpbmcgKCkpOwogCiAgIGdjYzo6aml0OjpyZWNvcmRp bmc6OnN0YXRlbWVudCAqc3RtdCA9IGJsb2NrLT5hZGRfYXNzaWdubWVudCAobG9jLCBsdmFsdWUs IHJ2YWx1ZSk7CiAKZGlmZiAtLWdpdCBhL2djYy9qaXQvbGliZ2Njaml0LmggYi9nY2Mvaml0L2xp YmdjY2ppdC5oCmluZGV4IDc0OWY2YzI0MTc3Li41YWM1ODdlNWJmYyAxMDA2NDQKLS0tIGEvZ2Nj L2ppdC9saWJnY2NqaXQuaAorKysgYi9nY2Mvaml0L2xpYmdjY2ppdC5oCkBAIC0xMDQ1LDYgKzEw NDUsMTEgQEAgZ2NjX2ppdF9nbG9iYWxfc2V0X2luaXRpYWxpemVyIChnY2Nfaml0X2x2YWx1ZSAq Z2xvYmFsLAogCQkJCWNvbnN0IHZvaWQgKmJsb2IsCiAJCQkJc2l6ZV90IG51bV9ieXRlcyk7CiAK K2V4dGVybiB2b2lkCitnY2Nfaml0X2dsb2JhbF9zZXRfcmVhZG9ubHkgKGdjY19qaXRfbHZhbHVl ICpnbG9iYWwpOworCisjZGVmaW5lIExJQkdDQ0pJVF9IQVZFX2djY19qaXRfZ2xvYmFsX3NldF9y ZWFkb25seQorCiAvKiBVcGNhc3RpbmcuICAqLwogZXh0ZXJuIGdjY19qaXRfb2JqZWN0ICoKIGdj Y19qaXRfbHZhbHVlX2FzX29iamVjdCAoZ2NjX2ppdF9sdmFsdWUgKmx2YWx1ZSk7CmRpZmYgLS1n aXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5tYXAgYi9nY2Mvaml0L2xpYmdjY2ppdC5tYXAKaW5kZXgg OGI5MGEwZTJmZjMuLjMxOWUwZTliNzk2IDEwMDY0NAotLS0gYS9nY2Mvaml0L2xpYmdjY2ppdC5t YXAKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQubWFwCkBAIC0yNzYsMyArMjc2LDggQEAgTElCR0ND SklUX0FCSV8yNSB7CiAgIGdsb2JhbDoKICAgICBnY2Nfaml0X3R5cGVfZ2V0X3Jlc3RyaWN0Owog fSBMSUJHQ0NKSVRfQUJJXzI0OworCitMSUJHQ0NKSVRfQUJJXzI2IHsKKyAgZ2xvYmFsOgorICAg IGdjY19qaXRfZ2xvYmFsX3NldF9yZWFkb25seTsKK30gTElCR0NDSklUX0FCSV8yNTsKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oIGIvZ2Nj L3Rlc3RzdWl0ZS9qaXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmgKaW5kZXggZTc2MjU2M2Y5 YmQuLjFkZDQ1YWNjZGM5IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9u LWZhaWxpbmctdGVzdHMuaAorKysgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxp bmctdGVzdHMuaApAQCAtMzEzLDYgKzMxMyw5IEBACiAjdW5kZWYgY3JlYXRlX2NvZGUKICN1bmRl ZiB2ZXJpZnlfY29kZQogCisvKiB0ZXN0LXJlYWRvbmx5LmM6IFRoaXMgY2FuJ3QgYmUgaW4gdGhl IHRlc3RjYXNlcyBhcnJheSBhcyBpdAorICAgaXMgdGFyZ2V0LXNwZWNpZmljLiAgKi8KKwogLyog dGVzdC1yZXN0cmljdC5jOiBUaGlzIGNhbid0IGJlIGluIHRoZSB0ZXN0Y2FzZXMgYXJyYXkgYXMg aXQgbmVlZHMKICAgIHRoZSBgLU8zYCBmbGFnLiAgKi8KIApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9qaXQuZGcvdGVzdC1lcnJvci1hc3NpZ24tcmVhZG9ubHkuYyBiL2djYy90ZXN0c3VpdGUv aml0LmRnL3Rlc3QtZXJyb3ItYXNzaWduLXJlYWRvbmx5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjYyOGJkYjg2ZDFjCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9qaXQuZGcvdGVzdC1lcnJvci1hc3NpZ24tcmVhZG9ubHkuYwpAQCAtMCwwICsxLDYy IEBACisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUg ImxpYmdjY2ppdC5oIgorCisjaW5jbHVkZSAiaGFybmVzcy5oIgorCit2b2lkCitjcmVhdGVfY29k ZSAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LCB2b2lkICp1c2VyX2RhdGEpCit7CisgIC8qIExldCdz IHRyeSB0byBpbmplY3QgdGhlIGVxdWl2YWxlbnQgb2Y6CisKKyAgICAgY29uc3QgbG9uZyBpbnRl Z2VyID0gMTA7CisKKyAgICAgdm9pZAorICAgICB0ZXN0X2ZuICgpCisgICAgIHsKKyAgICAgICAg aW50ZWdlciA9IDEyOworICAgICB9CisKKyAgICAgYW5kIHZlcmlmeSB0aGF0IHRoZSBBUEkgY29t cGxhaW5zIGFib3V0IGFzc2lnbmluZyB0byBhIHJlYWQtb25seQorICAgICB2YXJpYWJsZS4KKyAg Ki8KKyAgZ2NjX2ppdF90eXBlICp2b2lkX3R5cGUgPQorICAgIGdjY19qaXRfY29udGV4dF9nZXRf dHlwZSAoY3R4dCwgR0NDX0pJVF9UWVBFX1ZPSUQpOworICBnY2Nfaml0X3R5cGUgKmxvbmdfdHlw ZSA9CisgICAgZ2NjX2ppdF9jb250ZXh0X2dldF90eXBlIChjdHh0LCBHQ0NfSklUX1RZUEVfTE9O Ryk7CisKKyAgZ2NjX2ppdF9mdW5jdGlvbiAqZnVuYyA9CisgICAgZ2NjX2ppdF9jb250ZXh0X25l d19mdW5jdGlvbiAoY3R4dCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHQ0NfSklUX0ZVTkNUSU9OX0VYUE9SVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHZvaWRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVz dF9mbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgTlVMTCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKyAgZ2NjX2ppdF9ibG9jayAqaW5pdGlh bCA9CisgICAgZ2NjX2ppdF9mdW5jdGlvbl9uZXdfYmxvY2sgKGZ1bmMsICJpbml0aWFsIik7CisK KyAgZ2NjX2ppdF9sdmFsdWUgKmludGVnZXIgPQorICAgIGdjY19qaXRfY29udGV4dF9uZXdfZ2xv YmFsICgKKyAgICAgIGN0eHQsIE5VTEwsIEdDQ19KSVRfR0xPQkFMX0VYUE9SVEVELCBsb25nX3R5 cGUsICJpbnRlZ2VyIik7CisKKyAgZ2NjX2ppdF9ydmFsdWUgKnRlbiA9IGdjY19qaXRfY29udGV4 dF9uZXdfcnZhbHVlX2Zyb21faW50IChjdHh0LCBsb25nX3R5cGUsIDEwKTsKKyAgZ2NjX2ppdF9n bG9iYWxfc2V0X2luaXRpYWxpemVyX3J2YWx1ZSAoaW50ZWdlciwgdGVuKTsKKyAgZ2NjX2ppdF9n bG9iYWxfc2V0X3JlYWRvbmx5KGludGVnZXIpOworCisgIGdjY19qaXRfcnZhbHVlICp0d2VsdmUg PSBnY2Nfaml0X2NvbnRleHRfbmV3X3J2YWx1ZV9mcm9tX2ludCAoY3R4dCwgbG9uZ190eXBlLCAx Mik7CisgIGdjY19qaXRfYmxvY2tfYWRkX2Fzc2lnbm1lbnQoaW5pdGlhbCwgTlVMTCwgaW50ZWdl ciwgdHdlbHZlKTsKKworICBnY2Nfaml0X2Jsb2NrX2VuZF93aXRoX3ZvaWRfcmV0dXJuIChpbml0 aWFsLCBOVUxMKTsKK30KKwordm9pZAordmVyaWZ5X2NvZGUgKGdjY19qaXRfY29udGV4dCAqY3R4 dCwgZ2NjX2ppdF9yZXN1bHQgKnJlc3VsdCkKK3sKKyAgQ0hFQ0tfVkFMVUUgKHJlc3VsdCwgTlVM TCk7CisKKyAgLyogVmVyaWZ5IHRoYXQgdGhlIGNvcnJlY3QgZXJyb3IgbWVzc2FnZXMgd2VyZSBl bWl0dGVkLiAgKi8KKyAgQ0hFQ0tfU1RSSU5HX1ZBTFVFIChnY2Nfaml0X2NvbnRleHRfZ2V0X2Zp cnN0X2Vycm9yIChjdHh0KSwKKwkJICAgICAgImdjY19qaXRfYmxvY2tfYWRkX2Fzc2lnbm1lbnQ6 IgorCQkgICAgICAiIGNhbm5vdCBhc3NpZ24gdG8gcmVhZG9ubHkgdmFyaWFibGU6IGludGVnZXIi KTsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtcmVhZG9ubHkuYyBi L2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtcmVhZG9ubHkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uNTU0ZmEwYmFkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9nY2Mv dGVzdHN1aXRlL2ppdC5kZy90ZXN0LXJlYWRvbmx5LmMKQEAgLTAsMCArMSwzOCBAQAorLyogeyBk Zy1kbyBjb21waWxlIHsgdGFyZ2V0IHg4Nl82NC0qLSogfSB9ICovCisKKyNpbmNsdWRlIDxzdGRs aWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaW5jbHVkZSAibGliZ2Njaml0LmgiCisKKy8q IFdlIGRvbid0IHdhbnQgc2V0X29wdGlvbnMoKSBpbiBoYXJuZXNzLmggdG8gc2V0IC1PMyBzbyBv dXIgbGl0dGxlIGxvY2FsCisgICBpcyBvcHRpbWl6ZWQgYXdheS4gKi8KKyNkZWZpbmUgVEVTVF9F U0NIRVdTX1NFVF9PUFRJT05TCitzdGF0aWMgdm9pZCBzZXRfb3B0aW9ucyAoZ2NjX2ppdF9jb250 ZXh0ICpjdHh0LCBjb25zdCBjaGFyICphcmd2MCkKK3sKK30KKworI2RlZmluZSBURVNUX0NPTVBJ TElOR19UT19GSUxFCisjZGVmaW5lIE9VVFBVVF9LSU5EICAgICAgR0NDX0pJVF9PVVRQVVRfS0lO RF9BU1NFTUJMRVIKKyNkZWZpbmUgT1VUUFVUX0ZJTEVOQU1FICAib3V0cHV0LW9mLXRlc3QtcmVh ZG9ubHkuYy5zIgorI2luY2x1ZGUgImhhcm5lc3MuaCIKKwordm9pZAorY3JlYXRlX2NvZGUgKGdj Y19qaXRfY29udGV4dCAqY3R4dCwgdm9pZCAqdXNlcl9kYXRhKQoreworICAvKiBMZXQncyB0cnkg dG8gaW5qZWN0IHRoZSBlcXVpdmFsZW50IG9mOgorICAgICBjb25zdCBpbnQgZm9vOworICAqLwor ICBnY2Nfaml0X3R5cGUgKmludF90eXBlID0KKyAgICBnY2Nfaml0X2NvbnRleHRfZ2V0X3R5cGUg KGN0eHQsIEdDQ19KSVRfVFlQRV9JTlQpOworICBnY2Nfaml0X2x2YWx1ZSAqZm9vID0KKyAgICBn Y2Nfaml0X2NvbnRleHRfbmV3X2dsb2JhbCAoCisgICAgICBjdHh0LCBOVUxMLCBHQ0NfSklUX0dM T0JBTF9FWFBPUlRFRCwgaW50X3R5cGUsICJmb28iKTsKKworICBnY2Nfaml0X3J2YWx1ZSAqdGVu ID0gZ2NjX2ppdF9jb250ZXh0X25ld19ydmFsdWVfZnJvbV9pbnQgKGN0eHQsIGludF90eXBlLCAx MCk7CisgIGdjY19qaXRfZ2xvYmFsX3NldF9pbml0aWFsaXplcl9ydmFsdWUgKGZvbywgdGVuKTsK KyAgZ2NjX2ppdF9nbG9iYWxfc2V0X3JlYWRvbmx5KGZvbyk7Cit9CisKKy8qIHsgZGctZmluYWwg eyBqaXQtdmVyaWZ5LW91dHB1dC1maWxlLXdhcy1jcmVhdGVkICIiIH0gfSAqLworLyogeyBkZy1m aW5hbCB7IGppdC12ZXJpZnktYXNzZW1ibGVyLW91dHB1dCAiLnNlY3Rpb25cdC5yb2RhdGEiIH0g fSAqLwotLSAKMi40My4wCgo= --=-nGiJhdAVdONLh6DgdGnE--