From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smarthost1.atos.net (smtppost.atos.net [193.56.114.176]) by sourceware.org (Postfix) with ESMTPS id 2D3E53890404; Wed, 27 Jan 2021 12:53:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2D3E53890404 X-IronPort-AV: E=Sophos;i="5.79,379,1602540000"; d="scan'208,223";a="207641718" X-MGA-submission: =?us-ascii?q?MDFsu97kAzLLmzDIEikiUq/GabRES5OIt2grMo?= =?us-ascii?q?4gjgTUEE31mXP+4Y5kmVXgyuly2Y3w0DCS86ypQ/F13IWDOGLND7VUiE?= =?us-ascii?q?fdqVx7qSVN0t69lErQFe3hF8m2zOVQVamKoQ/DDoQezzboM42MnJbtQn?= =?us-ascii?q?PO?= Received: from mail.sis.atos.net (HELO GITEXCPRDMB13.ww931.my-it-solutions.net) ([10.89.28.143]) by smarthost1.atos.net with ESMTP/TLS/AES256-GCM-SHA384; 27 Jan 2021 13:53:15 +0100 Received: from GITEXCPRDMB12.ww931.my-it-solutions.net (10.89.28.142) by GITEXCPRDMB13.ww931.my-it-solutions.net (10.89.28.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4; Wed, 27 Jan 2021 13:52:22 +0100 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (172.16.214.169) by GITEXCPRDMB12.ww931.my-it-solutions.net (10.89.28.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4 via Frontend Transport; Wed, 27 Jan 2021 13:52:22 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nRzbssAEDJjuSdMfJ8GyypllecuSKqiI+cp5jn3hEjq3B/n3fRl/26kJ5VaKBDgJD6B7TtbKKJ7dZ25ELB6v2EpAFups4A75xq8w7ijOC0YDWb4ZFkBmVaDSLESpnohvK858x/Y81Flhke1yQPpKvaKE7wXWqWg55GWXK1MAeRa5bLmZH7Bju0pbD6NvNEw1SH+0h8GMH5pm7enfEJX21YlnibJpy4MlE2QNOm5VjKXQGrXlfy2vUhTtXrFW6dTkBa5ZwJXu4zeBjeIFEGt89uDPFWnNOhViVaun5qLuLAofTrwARsqG0PJp3gsUiCwFAlM2JL+neDrzYxCsRrQe3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dzuXOVGVGcz7K4mvvOZS9Q88gfrBcXfsjpMCGR8On2k=; b=XwcjFuDhjQJvV4YTSUZjT+kRLz2Xu2Krt5+IqQHLDZUdXE+RFojVXSLHi947qHW9vAI1LhWyTajXUKYDGhg0WURb2SNer8j16V2b6xKCiyPTLIyiV3CwjSOKAmKJq7v+KH2QGnJeJl+euW+tyEQu5w/a3W9eRGso+pZ7E11zGUcVzR5mquBNmJ8/Vo+T5mTYC1P7bI1bhk/sUdiACdvDyeCRtWfR4/RkIs6mN3YuF7K1csMS3CA73TbqqhmVBh/OkZvrZuvJr6fb8TwiDVKxR/cFT+aMYclD1XPCLQ1ZluEqT2QyznLOkmMnd7W+pu6k2v3i7jYU/EGKkFMtNLO95g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=atos.net; dmarc=pass action=none header.from=atos.net; dkim=pass header.d=atos.net; arc=none Received: from PA4PR02MB6686.eurprd02.prod.outlook.com (2603:10a6:102:ff::14) by PR3PR02MB6346.eurprd02.prod.outlook.com (2603:10a6:102:7b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.13; Wed, 27 Jan 2021 12:52:21 +0000 Received: from PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e06c:aa84:a21d:6932]) by PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e06c:aa84:a21d:6932%7]) with mapi id 15.20.3784.019; Wed, 27 Jan 2021 12:52:21 +0000 From: "CHIGOT, CLEMENT" To: Rainer Orth , Jonathan Wakely CC: libstdc++ , David Edelsohn via Gcc-patches , David Edelsohn Subject: Re: [PATCH] libstdc++: implement locale support for AIX Thread-Topic: [PATCH] libstdc++: implement locale support for AIX Thread-Index: AQHW5/cse5cUzOlFpUGzG3vP4ZkwbKoiheqAgAAI90CAAAGAAIAAAJC4gABu9YCAARiZb4AABceAgAAHyTOAAB5/x4AAALUAgAAlmBiAAQvegIAAApjfgAAHBSmAAAEXtYAAA1Z+gAyHwmCAAErKJoABGGUwgAAdWFOAAAagAIAAB0GOgAADaO+AB+TWnQ== Date: Wed, 27 Jan 2021 12:52:21 +0000 Message-ID: References: <20210122112910.GI541588@redhat.com>, , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Enabled=True; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SiteId=33440fc6-b7c7-412c-bb73-0e70b0198d5a; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SetDate=2021-01-27T12:52:20.054Z; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Name=Atos For Internal Use - All Employees; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_ContentBits=0; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Method=Standard; x-originating-ip: [165.225.77.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 598fef14-d950-4c46-5772-08d8c2c262e4 x-ms-traffictypediagnostic: PR3PR02MB6346: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JppPJt2UCXqNyKz77QpFjs6iWBgHO3qll3s6BvYvgVfOFZqXaSjNHokT+d4dZpkLpwtxUE4+bpYgRcIGIpo1OPDpNdNbEzRM74IKhPQ1QwqjhwZ1FKUqaTUiSknOeMEmjh88mYmvjF29MNUnBWJrBduGeu1u4JV4UYGHfsXPcIoEmMsVesqDzHylixwjEGnbFBEN5l4mbCJic2chGhsHzksMs+TSUA10Nl51yN3uWFd1MYuKYhje1aJmEh+CVazMP2aA5ht04vdRPaPcBSyYfgyVNVEm1MHNWWhLyLggsRJ+0lGeBEWhYGGPSd+qcbfl8cUM28+HCFIueGfPcydRx/WghYUYxGuZhjyAu+NV65jbQnerG2OPgYNVsBpwaf06j+EKZxaftvm/gSlzHK5fVhm8BfLkvyWmQR3l/jbrn16nwjdLj6w//A9CVifuLV24DMtVXvIMcciqWobh0GSI9Va6/Be5goNZvfVavlmtzqk9tVD3dKXRK0d+L+10SQoFPWOMP3Ja627P0YE27nu1mQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR02MB6686.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(376002)(396003)(346002)(39860400002)(26005)(186003)(8676002)(55236004)(76116006)(86362001)(33656002)(4326008)(52536014)(66616009)(66446008)(66556008)(66476007)(5660300002)(6506007)(64756008)(83380400001)(54906003)(316002)(7696005)(4744005)(55016002)(110136005)(71200400001)(8936002)(9686003)(66574015)(66946007)(478600001)(2906002)(99936003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?72xzOpNb+QGR3HrOskgO+oqPTYuMuIS7sXV/H9aaLWCWwUdxOElTvYlqWP?= =?iso-8859-1?Q?FQlj5A09BQLsyNwoz2OGazHwf1HeqljRg0bLtStZQQCHbtXr6yN1gf59JF?= =?iso-8859-1?Q?ZlTIkmpm4kzjD/jYfqcNAoivD4K9muZOe6KSp4A9VOIzEEw7S2nAh8Fbsl?= =?iso-8859-1?Q?ISmhCu0ERP/3zAZeIlTbONmtBOxhIy8OETfnZuEHpudBjQcfLff7zu4x44?= =?iso-8859-1?Q?25ZjFledHviO6Oqs34UNm2jlKqxwyEssJq1Gs5SpgzIXeskv5TIC2c0tTR?= =?iso-8859-1?Q?/SZSiBp3AAe4KKrnrQhcLxpvpo0qTQBumxhQBuI2HYTnDZoQNSrd1laPxA?= =?iso-8859-1?Q?msPmU2X+idl8bg27LvzQ1tfux7ijAKSgrrY944SlfHJRHKVzB4TQ+8xwjx?= =?iso-8859-1?Q?d6AsRNeYVDf3mbA5Dg+b5GFZvdP0Ofqz0SZelV0pf937oNL9BskOWOufAo?= =?iso-8859-1?Q?1eUyodCeNoilgluLuHstbjmjrzAxn0di+XwHN2/tTBvyE7VIZgadN29Aoj?= =?iso-8859-1?Q?PAs82kiVI6gCW5LqlQg4TB3TkyJd5djDl22v4tc7iuoknMTZ4i2bCxCbtO?= =?iso-8859-1?Q?fVcipxLMUODwKSui9iM5aKQpIHn75jRkq9/gTtHLfXnEnZLuanZsrCMpkM?= =?iso-8859-1?Q?sZd7vmcb92wflHZ+ZG2W2dP2V8+O+WlkX7B+3qBEQN4HZh1Jy89Ji9pbwS?= =?iso-8859-1?Q?k/CtgjuRDlD5sirSLrikL5vH9Du9L3LFodFLf2XJvF2YIxm329p/JAfVDc?= =?iso-8859-1?Q?HgztY2uAFH+KbYBEIFDVLp6WVqKbMBE/QMGYMgalYP6Zx3UJT+lbpxo7D7?= =?iso-8859-1?Q?pPsJ7OEgvpmfjj5jhtLv4mFgwawKjl9atxweZJiUK1f3L6b0ZivPeNzU6M?= =?iso-8859-1?Q?ttOws20A/rtM5NEBcqjPak90X0lDCzhp1uIU1mDqcYVzOGccL+WfRG1RxW?= =?iso-8859-1?Q?6px/7K8rF2RAOOd4lBnrQhe4z8oq4uVCEEyReDYTj+6zFTFveWv8RF+NoP?= =?iso-8859-1?Q?jTdHgExKq1mQ11kbHV2gk2eN6dmQvLBG3oVkBN9cz9olOLTG/a2w8/cepO?= =?iso-8859-1?Q?U9gQ4hZUZeMc/4BPi6wNQ6cTK/j1uwq/3ypCmnZtdALk?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_PA4PR02MB668659F4DE3E528F87A71C08EABB0PA4PR02MB6686eurp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR02MB6686.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 598fef14-d950-4c46-5772-08d8c2c262e4 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2021 12:52:21.0933 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 33440fc6-b7c7-412c-bb73-0e70b0198d5a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ETsr0zo8UamirI03qRa/biuiwsS0i6CPjncdGLyPdaA2cDm5DSv80GMwDmNXtdL/ldcISjC4Jvl42ToG1ajpdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR02MB6346 X-OriginatorOrg: atos.net X-Spam-Status: No, score=1.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_ABUSEAT, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SBL_CSS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jan 2021 12:53:28 -0000 --_002_PA4PR02MB668659F4DE3E528F87A71C08EABB0PA4PR02MB6686eurp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi everyone,=A0=0A= =0A= Here is a better version of the patch.=A0=0A= All tests are on Linux are passing. Few have been disabled as=A0=0A= they are working only with GNU model.=A0=0A= For AIX, few failures remains. I haven't XFAIL them yet, as I=A0=0A= want to know if they AIX only or related to the model itself.=A0=0A= =0A= A few part still need to be improved (dg-require-localmodel,=0A= std::locale:global, FreeBSD specific #ifdef).=A0=0A= But at least it can be=A0tested in most of the=A0platforms as is.=A0=0A= =0A= Note that I'll stop working on it until gcc12. Mostly because gcc=0A= is on freeze but also because I've more urgent stuff to do right now.=A0=0A= Of course any feedbacks is welcome ! But I might not send a=0A= new patch if it requires too much time (at least not right now).=A0=0A= =0A= Thanks anyway Rainer and Jonathan for your help ! I hope this=A0=0A= version suits you better !=0A= =0A= Cl=E9ment=0A= =0A= --_002_PA4PR02MB668659F4DE3E528F87A71C08EABB0PA4PR02MB6686eurp_ Content-Type: application/octet-stream; name="0001-libstdc-implement-locale-support-for-XPG7.patch" Content-Description: 0001-libstdc-implement-locale-support-for-XPG7.patch Content-Disposition: attachment; filename="0001-libstdc-implement-locale-support-for-XPG7.patch"; size=52884; creation-date="Wed, 27 Jan 2021 12:52:08 GMT"; modification-date="Wed, 27 Jan 2021 12:52:08 GMT" Content-Transfer-Encoding: base64 RnJvbSAxMGY3MDQ4ZjJmYjUzZjgxODQ5Mzc2NmNjMGE2MGNmOWU3YjIwNjM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Q2w9QzM9QTltZW50PTIwQ2hpZ290Pz0gPGNs ZW1lbnQuY2hpZ290QGF0b3MubmV0PgpEYXRlOiBUdWUsIDI5IERlYyAyMDIwIDExOjA4OjMzICsw MTAwClN1YmplY3Q6IFtQQVRDSF0gbGlic3RkYysrOiBpbXBsZW1lbnQgbG9jYWxlIHN1cHBvcnQg Zm9yIFhQRzcKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkNyZWF0ZSBhIG5ldyBs b2NhbGUgbW9kZWwgZm9yIFBPU0lYIG9wZXJhdGluZyBzeXN0ZW1zLgpUaGUgaW1wbGVtZW50YXRp b24gaXMgYmFzZWQgb24gZHJhZ29uZmx5IG9uZS4KClRoZXJlIGFyZSBmZXcga25vd24gbGltaXRh dGlvbnMuCnN0ZDo6bWVzc2FnZXMgaXNuJ3QgaW1wbGVtZW50ZWQuCkNyZWF0aW9uIHN0ZDo6bG9j YWxlIHdpdGggYSBzdHJpbmcgZGVzY3JpYmluZyBlYWNoIExDXyogY2F0ZWdvcnkKaXNuJ3QgcG9z c2libGUgKGVnIHN0ZDo6bG9jYWxlKCJMQ19DVFlQRT1lbl9VUy5VVEYtODtMQ19OVU1FUklDPUM7 Li4uIikKCmxpYnN0ZGMrKy12My9DaGFuZ2VMb2c6CjIwMjAtMDEtMjUgIENsw6ltZW50IENoaWdv dCAgPGNsZW1lbnQuY2hpZ290QGF0b3MubmV0PgoKCSogYWNpbmNsdWRlLm00OiBBZGQgWFBHNyBt b2RlbC4KCSogY29uZmlnLmguaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0 ZS4KCSogY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY19sb2NhbGUuY2M6IFJlbmFtZSB0byAuLi4K CSogY29uZmlnL2xvY2FsZS94cGc3L2NfbG9jYWxlLmNjOiAuLi4gaGVyZS4KCSogY29uZmlnL2xv Y2FsZS9kcmFnb25mbHkvY19sb2NhbGUuaDogUmVuYW1lIHRvIC4uLgoJKiBjb25maWcvbG9jYWxl L3hwZzcvY19sb2NhbGUuaDogLi4uIGhlcmUuCgkoX0dMSUJDWFhfQ19MT0NBTEVfWFBHNyk6IE5l dyBkZWZpbmUuCgkoc3RydG9mX2wpOiBOZXcgZnVuY3Rpb24gaWYgbm90IHByb3ZpZGVkIGJ5IHRo ZSBzeXN0ZW0uCgkoc3RydG9kX2wpOiBMaWtld2lzZS4KCShzdHJ0b2xkX2wpOiBMaWtld2lzZS4K CSogY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY3R5cGVfbWVtYmVycy5jYzogUmVuYW1lIHRvIC4u LgoJKiBjb25maWcvbG9jYWxlL3hwZzcvY3R5cGVfbWVtYmVycy5jYzogLi4uIGhlcmUuCgkqIGNv bmZpZy9sb2NhbGUvZHJhZ29uZmx5L21vbmV0YXJ5X21lbWJlcnMuY2M6IFJlbmFtZSB0byAuLi4K CSogY29uZmlnL2xvY2FsZS94cGc3L21vbmV0YXJ5X21lbWJlcnMuY2M6IC4uLiBoZXJlLgoJKiBj b25maWcvbG9jYWxlL2RyYWdvbmZseS9udW1lcmljX21lbWJlcnMuY2M6IFJlbmFtZSB0byAuLi4K CSogY29uZmlnL2xvY2FsZS94cGc3L251bWVyaWNfbWVtYmVycy5jYzogLi4uIGhlcmUuCgkqIGNv bmZpZy9sb2NhbGUvZHJhZ29uZmx5L3RpbWVfbWVtYmVycy5jYzogUmVuYW1lIHRvIC4uLgoJKiBj b25maWcvbG9jYWxlL3hwZzcvdGltZV9tZW1iZXJzLmNjOiAuLi4gaGVyZS4KCSogY29uZmlnL29z L2FpeC9jdHlwZV9jb25maWd1cmVfY2hhci5jYyAoY3R5cGU8Y2hhcj46OmN0eXBlKToKCUFkZCBz dXBwb3J0IGZvciBYUEc3IG1vZGVsLgoJKiBjb25maWcvb3MvZ251LWxpbnV4L2N0eXBlX2NvbmZp Z3VyZV9jaGFyLmNjOiBMaWtld2lzZS4KCSogc3JjL2MrKzk4L2xvY2FsZV9pbml0LmNjIChsb2Nh bGU6Omdsb2JhbCk6IENhbGwgc2V0bG9jYWxlCglmb3IgZWFjaCBjYXRlZ29yeSBpbnN0ZWFkIG9m IG9uY2Ugd2hlbiBub3QgdXNpbmcgZ251IG1vZGVsLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2Nv ZGVjdnQvaW4vd2NoYXJfdC8yLmNjOiBBZGQgeGZhaWwgZm9yCgl3Y2hhcl90IG9uIDE2Yml0LgoJ KiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC8zLmNjOiBMaWtld2lzZS4K CSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvNC5jYzogTGlrZXdpc2Uu CgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93Y2hhcl90LzcuY2M6IExpa2V3aXNl LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC84LmNjOiBMaWtld2lz ZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOS5jYzogTGlrZXdp c2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9sZW5ndGgvd2NoYXJfdC80LmNjOiBM aWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L291dC93Y2hhcl90LzQuY2M6 IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvdW5zaGlmdC93Y2hhcl90 LzQuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxv dy93Y2hhcl90LzExMzA1LTEuY2M6CglMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2lj X2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJfdC8xMTMwNS0yLmNjOgoJTGlrZXdpc2UuCgkqIHRlc3Rz dWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMy5jYzoKCUxp a2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy93Y2hhcl90 LzExMzA1LTQuY2M6CglMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9pcy93 Y2hhcl90LzIuY2M6IFJlbW92ZSB4ZmFpbAoJd2l0aCB4cGc3IG1vZGVsLgoJKiB0ZXN0c3VpdGUv MjJfbG9jYWxlL2xvY2FsZS9jb25zLzI5MjE3LmNjOiBBZGQgc2tpcCB3aGVuIG5vdAoJdXNpbmcg Z251IG1vZGVsLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzM4MzY4LmNjOiBM aWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy80MDE4NC5jYzogTGlr ZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvNS5jYzogTGlrZXdpc2Uu CgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2dsb2JhbF9sb2NhbGVfb2JqZWN0cy8xNDA3 MS5jYzoKCUxpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzLzEzNjMxLmNj OiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIv MS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9j aGFyLzIuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJl cnMvY2hhci8zLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9t ZW1iZXJzL2NoYXIvd3JhcHBlZF9lbnYuY2M6CglMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xv Y2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6CglMaWtld2lzZS4K CSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlc19ieW5hbWUvbmFtZWRfZXF1aXZhbGVuY2Uu Y2M6CglMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xpYi9kZy1vcHRpb25zLmV4cCAoZGctcmVxdWly ZS1sb2NhbGVtb2RlbCk6IE5ldy4KCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKysuZXhwIChjaGVj a192M190YXJnZXRfbmFtZWRsb2NhbGUpOiBBZGQKCUFJWCBzdXBwb3J0LgoJKGNoZWNrX3YzX3Rh cmdldF9sb2NhbGVtb2RlbCk6IE5ldy4KCSogdGVzdHN1aXRlL3V0aWwvdGVzdHN1aXRlX2hvb2tz LmggKElTT184ODU5KTogQWRkIEFJWCBzdXBwb3J0LgotLS0KIGxpYnN0ZGMrKy12My9hY2luY2x1 ZGUubTQgICAgICAgICAgICAgICAgICAgICB8IDQ3ICsrKysrKy0tLS0tLQogbGlic3RkYysrLXYz L2NvbmZpZy5oLmluICAgICAgICAgICAgICAgICAgICAgIHwgMTUgKysrKwogLi4uL2xvY2FsZS97 ZHJhZ29uZmx5ID0+IHhwZzd9L2NfbG9jYWxlLmNjICAgIHwgIDggKystCiAuLi4vbG9jYWxlL3tk cmFnb25mbHkgPT4geHBnN30vY19sb2NhbGUuaCAgICAgfCA0OCArKysrKysrKysrKystCiAuLi4v e2RyYWdvbmZseSA9PiB4cGc3fS9jb2RlY3Z0X21lbWJlcnMuY2MgICAgfCAgNCArLQogLi4uL3tk cmFnb25mbHkgPT4geHBnN30vY29sbGF0ZV9tZW1iZXJzLmNjICAgIHwgIDQgKy0KIC4uLi97ZHJh Z29uZmx5ID0+IHhwZzd9L2N0eXBlX21lbWJlcnMuY2MgICAgICB8IDcxICsrKysrKysrKysrKysr KysrLS0KIC4uLi97ZHJhZ29uZmx5ID0+IHhwZzd9L21vbmV0YXJ5X21lbWJlcnMuY2MgICB8IDQ3 ICsrKysrKysrKystLQogLi4uL3tkcmFnb25mbHkgPT4geHBnN30vbnVtZXJpY19tZW1iZXJzLmNj ICAgIHwgMzAgKysrKysrKy0KIC4uLi97ZHJhZ29uZmx5ID0+IHhwZzd9L3RpbWVfbWVtYmVycy5j YyAgICAgICB8IDM2ICsrKysrKysrKy0KIC4uLi9sb2NhbGUve2RyYWdvbmZseSA9PiB4cGc3fS90 aW1lX21lbWJlcnMuaCB8ICA0ICstCiAuLi4vY29uZmlnL29zL2FpeC9jdHlwZV9jb25maWd1cmVf Y2hhci5jYyAgICAgfCA3MSArKysrKysrKysrKysrKysrLS0tCiAuLi4vb3MvZ251LWxpbnV4L2N0 eXBlX2NvbmZpZ3VyZV9jaGFyLmNjICAgICAgfCAgNCArLQogbGlic3RkYysrLXYzL3NyYy9jKys5 OC9sb2NhbGVfaW5pdC5jYyAgICAgICAgIHwgMTIgKysrKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0 L2luL3djaGFyX3QvMi5jYyAgICAgICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L2lu L3djaGFyX3QvMy5jYyAgICAgICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3dj aGFyX3QvNC5jYyAgICAgICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFy X3QvNy5jYyAgICAgICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3Qv OC5jYyAgICAgICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOS5j YyAgICAgICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC93Y2hhcl90LzQu Y2MgICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L291dC93Y2hhcl90LzQuY2MgICAg ICAgIHwgIDEgKwogLi4uLzIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hpZnQvd2NoYXJfdC80LmNjICAg IHwgIDEgKwogLi4uL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvaXMvd2NoYXJfdC8yLmNjIHwg IDIgKy0KIC4uLi90ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzI5MjE3LmNjICB8ICAx ICsKIC4uLi90ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzM4MzY4LmNjICB8ICAxICsK IC4uLi90ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzQwMTg0LmNjICB8ICAxICsKIC4u Li90ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzUuY2MgICAgICB8ICAxICsKIC4uLi9s b2NhbGUvZ2xvYmFsX2xvY2FsZV9vYmplY3RzLzE0MDcxLmNjICAgICB8ICAxICsKIC4uLi90ZXN0 c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzLzEzNjMxLmNjICAgICB8ICAxICsKIC4uLi8yMl9sb2Nh bGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzEuY2MgICAgICB8ICAxICsKIC4uLi8yMl9sb2NhbGUv bWVzc2FnZXMvbWVtYmVycy9jaGFyLzIuY2MgICAgICB8ICAxICsKIC4uLi8yMl9sb2NhbGUvbWVz c2FnZXMvbWVtYmVycy9jaGFyLzMuY2MgICAgICB8ICAxICsKIC4uLi9tZXNzYWdlcy9tZW1iZXJz L2NoYXIvd3JhcHBlZF9lbnYuY2MgICAgICB8ICAxICsKIC4uLi9tZXNzYWdlcy9tZW1iZXJzL2No YXIvd3JhcHBlZF9sb2NhbGUuY2MgICB8ICAxICsKIC4uLi9tZXNzYWdlc19ieW5hbWUvbmFtZWRf ZXF1aXZhbGVuY2UuY2MgICAgICB8ICAxICsKIC4uLi9iYXNpY19maWxlYnVmL292ZXJmbG93L3dj aGFyX3QvMTEzMDUtMS5jYyB8ICAxICsKIC4uLi9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFy X3QvMTEzMDUtMi5jYyB8ICAxICsKIC4uLi9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3Qv MTEzMDUtMy5jYyB8ICAxICsKIC4uLi9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEz MDUtNC5jYyB8ICAxICsKIGxpYnN0ZGMrKy12My90ZXN0c3VpdGUvbGliL2RnLW9wdGlvbnMuZXhw ICAgICB8ICA5ICsrKwogbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9saWIvbGlic3RkYysrLmV4cCAg ICAgIHwgMzEgKysrKysrKysKIGxpYnN0ZGMrKy12My90ZXN0c3VpdGUvdXRpbC90ZXN0c3VpdGVf aG9va3MuaCB8ICAzICsKIDQzIGZpbGVzIGNoYW5nZWQsIDQxNCBpbnNlcnRpb25zKCspLCA1NyBk ZWxldGlvbnMoLSkKIHJlbmFtZSBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS97ZHJhZ29uZmx5 ID0+IHhwZzd9L2NfbG9jYWxlLmNjICg5NiUpCiByZW5hbWUgbGlic3RkYysrLXYzL2NvbmZpZy9s b2NhbGUve2RyYWdvbmZseSA9PiB4cGc3fS9jX2xvY2FsZS5oICg2NyUpCiByZW5hbWUgbGlic3Rk YysrLXYzL2NvbmZpZy9sb2NhbGUve2RyYWdvbmZseSA9PiB4cGc3fS9jb2RlY3Z0X21lbWJlcnMu Y2MgKDk4JSkKIHJlbmFtZSBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS97ZHJhZ29uZmx5ID0+ IHhwZzd9L2NvbGxhdGVfbWVtYmVycy5jYyAoOTQlKQogcmVuYW1lIGxpYnN0ZGMrKy12My9jb25m aWcvbG9jYWxlL3tkcmFnb25mbHkgPT4geHBnN30vY3R5cGVfbWVtYmVycy5jYyAoNzclKQogcmVu YW1lIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3tkcmFnb25mbHkgPT4geHBnN30vbW9uZXRh cnlfbWVtYmVycy5jYyAoOTUlKQogcmVuYW1lIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3tk cmFnb25mbHkgPT4geHBnN30vbnVtZXJpY19tZW1iZXJzLmNjICg4OSUpCiByZW5hbWUgbGlic3Rk YysrLXYzL2NvbmZpZy9sb2NhbGUve2RyYWdvbmZseSA9PiB4cGc3fS90aW1lX21lbWJlcnMuY2Mg KDkyJSkKIHJlbmFtZSBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS97ZHJhZ29uZmx5ID0+IHhw Zzd9L3RpbWVfbWVtYmVycy5oICg5NSUpCgpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2FjaW5j bHVkZS5tNCBiL2xpYnN0ZGMrKy12My9hY2luY2x1ZGUubTQKaW5kZXggZTQxNzVlYTNlNjQuLmUx ODUzZTdhOTQ3IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvYWNpbmNsdWRlLm00CisrKyBiL2xp YnN0ZGMrKy12My9hY2luY2x1ZGUubTQKQEAgLTI0MjEsNyArMjQyMSw3IEBAIGRubAogQUNfREVG VU4oW0dMSUJDWFhfRU5BQkxFX0NMT0NBTEVdLCBbCiAgIEdMSUJDWFhfRU5BQkxFKGNsb2NhbGUs YXV0byxbW1s9TU9ERUxdXV0sCiAgICAgW3VzZSBNT0RFTCBmb3IgdGFyZ2V0IGxvY2FsZSBwYWNr YWdlXSwKLSAgICBbcGVybWl0IGdlbmVyaWN8Z251fGllZWVfMTAwMy4xLTIwMDF8bmV3bGlifHll c3xub3xhdXRvXSkKKyAgICBbcGVybWl0IGdlbmVyaWN8Z251fGllZWVfMTAwMy4xLTIwMDF8bmV3 bGlifHhwZzd8eWVzfG5vfGF1dG9dKQogCiAgICMgRGVhbCB3aXRoIGdldHRleHQgaXNzdWVzLiAg RGVmYXVsdCB0byBub3QgdXNpbmcgaXQgKD1ubykgdW50aWwgd2UgZGV0ZWN0CiAgICMgc3VwcG9y dCBmb3IgaXQgbGF0ZXIuICBMZXQgdGhlIHVzZXIgdHVybiBpdCBvZmYgdmlhIC0tZS9kLCBidXQg bGV0IHRoYXQKQEAgLTI0NDgsOCArMjQ0OCw4IEBAIEFDX0RFRlVOKFtHTElCQ1hYX0VOQUJMRV9D TE9DQUxFXSwgWwogICAgICAgZGFyd2luKikKIAllbmFibGVfY2xvY2FsZV9mbGFnPWRhcndpbgog CTs7Ci0gICAgICBkcmFnb25mbHkqIHwgZnJlZWJzZCopCi0JZW5hYmxlX2Nsb2NhbGVfZmxhZz1k cmFnb25mbHkKKyAgICAgIGFpeCogfCBkcmFnb25mbHkqIHwgZnJlZWJzZCopCisJZW5hYmxlX2Ns b2NhbGVfZmxhZz14cGc3CiAJOzsKICAgICAgIG9wZW5ic2QqKQogCWVuYWJsZV9jbG9jYWxlX2Zs YWc9bmV3bGliCkBAIC0yNTQzLDIzICsyNTQzLDYgQEAgQUNfREVGVU4oW0dMSUJDWFhfRU5BQkxF X0NMT0NBTEVdLCBbCiAgICAgICBDTE9DQUxFX0lOVEVSTkFMX0g9Y29uZmlnL2xvY2FsZS9nZW5l cmljL2MrK2xvY2FsZV9pbnRlcm5hbC5oCiAgICAgICA7OwogCi0gICAgZHJhZ29uZmx5KQotICAg ICAgQUNfTVNHX1JFU1VMVChkcmFnb25mbHkgb3IgZnJlZWJzZCkKLQotICAgICAgQ0xPQ0FMRV9I PWNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NfbG9jYWxlLmgKLSAgICAgIENMT0NBTEVfQ0M9Y29u ZmlnL2xvY2FsZS9kcmFnb25mbHkvY19sb2NhbGUuY2MKLSAgICAgIENDT0RFQ1ZUX0NDPWNvbmZp Zy9sb2NhbGUvZHJhZ29uZmx5L2NvZGVjdnRfbWVtYmVycy5jYwotICAgICAgQ0NPTExBVEVfQ0M9 Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY29sbGF0ZV9tZW1iZXJzLmNjCi0gICAgICBDQ1RZUEVf Q0M9Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY3R5cGVfbWVtYmVycy5jYwotICAgICAgQ01FU1NB R0VTX0g9Y29uZmlnL2xvY2FsZS9nZW5lcmljL21lc3NhZ2VzX21lbWJlcnMuaAotICAgICAgQ01F U1NBR0VTX0NDPWNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9tZXNzYWdlc19tZW1iZXJzLmNjCi0gICAg ICBDTU9ORVlfQ0M9Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbW9uZXRhcnlfbWVtYmVycy5jYwot ICAgICAgQ05VTUVSSUNfQ0M9Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbnVtZXJpY19tZW1iZXJz LmNjCi0gICAgICBDVElNRV9IPWNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L3RpbWVfbWVtYmVycy5o Ci0gICAgICBDVElNRV9DQz1jb25maWcvbG9jYWxlL2RyYWdvbmZseS90aW1lX21lbWJlcnMuY2MK LSAgICAgIENMT0NBTEVfSU5URVJOQUxfSD1jb25maWcvbG9jYWxlL2dlbmVyaWMvYysrbG9jYWxl X2ludGVybmFsLmgKLSAgICAgIDs7Ci0KICAgICBnbnUpCiAgICAgICBBQ19NU0dfUkVTVUxUKGdu dSkKIApAQCAtMjYxMCw2ICsyNTkzLDI0IEBAIEFDX0RFRlVOKFtHTElCQ1hYX0VOQUJMRV9DTE9D QUxFXSwgWwogICAgICAgQ1RJTUVfQ0M9Y29uZmlnL2xvY2FsZS9nZW5lcmljL3RpbWVfbWVtYmVy cy5jYwogICAgICAgQ0xPQ0FMRV9JTlRFUk5BTF9IPWNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jKyts b2NhbGVfaW50ZXJuYWwuaAogICAgICAgOzsKKworICAgIHhwZzcpCisgICAgICBBQ19NU0dfUkVT VUxUKHhwZzcpCisKKyAgICAgIENMT0NBTEVfSD1jb25maWcvbG9jYWxlL3hwZzcvY19sb2NhbGUu aAorICAgICAgQ0xPQ0FMRV9DQz1jb25maWcvbG9jYWxlL3hwZzcvY19sb2NhbGUuY2MKKyAgICAg IENDT0RFQ1ZUX0NDPWNvbmZpZy9sb2NhbGUveHBnNy9jb2RlY3Z0X21lbWJlcnMuY2MKKyAgICAg IENDT0xMQVRFX0NDPWNvbmZpZy9sb2NhbGUveHBnNy9jb2xsYXRlX21lbWJlcnMuY2MKKyAgICAg IENDVFlQRV9DQz1jb25maWcvbG9jYWxlL3hwZzcvY3R5cGVfbWVtYmVycy5jYworICAgICAgQ01F U1NBR0VTX0g9Y29uZmlnL2xvY2FsZS9nZW5lcmljL21lc3NhZ2VzX21lbWJlcnMuaAorICAgICAg Q01FU1NBR0VTX0NDPWNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9tZXNzYWdlc19tZW1iZXJzLmNjCisg ICAgICBDTU9ORVlfQ0M9Y29uZmlnL2xvY2FsZS94cGc3L21vbmV0YXJ5X21lbWJlcnMuY2MKKyAg ICAgIENOVU1FUklDX0NDPWNvbmZpZy9sb2NhbGUveHBnNy9udW1lcmljX21lbWJlcnMuY2MKKyAg ICAgIENUSU1FX0g9Y29uZmlnL2xvY2FsZS94cGc3L3RpbWVfbWVtYmVycy5oCisgICAgICBDVElN RV9DQz1jb25maWcvbG9jYWxlL3hwZzcvdGltZV9tZW1iZXJzLmNjCisgICAgICBDTE9DQUxFX0lO VEVSTkFMX0g9Y29uZmlnL2xvY2FsZS9nZW5lcmljL2MrK2xvY2FsZV9pbnRlcm5hbC5oCisgICAg ICA7OworCiAgICAgbmV3bGliKQogICAgICAgQUNfTVNHX1JFU1VMVChuZXdsaWIpCiAKQEAgLTI2 NTYsNiArMjY1NywxMiBAQCBBQ19ERUZVTihbR0xJQkNYWF9FTkFCTEVfQ0xPQ0FMRV0sIFsKICAg QUNfU1VCU1QoQ1RJTUVfQ0MpCiAgIEFDX1NVQlNUKENMT0NBTEVfQ0MpCiAgIEFDX1NVQlNUKENM T0NBTEVfSU5URVJOQUxfSCkKKworICBpZiB0ZXN0ICRlbmFibGVfY2xvY2FsZV9mbGFnID0geHBn NzsgdGhlbgorICAgICBBQ19DSEVDS19IRUFERVJTKHhsb2NhbGUuaCkKKworICAgICBBQ19DSEVD S19GVU5DUyhbc3RydG9mX2wgbG9jYWxlY29udl9sIG1ic3Rvd2NzX2wgd2NzZnRpbWVfbCBzdHJm dGltZV9sXSkKKyAgZmkKIF0pCiAKIApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy5o LmluIGIvbGlic3RkYysrLXYzL2NvbmZpZy5oLmluCmluZGV4IGQzNmNhMjYyMGI0Li4wYjcyNjUy NGNjNSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZy5oLmluCisrKyBiL2xpYnN0ZGMr Ky12My9jb25maWcuaC5pbgpAQCAtMjI1LDYgKzIyNSw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgPGxpbnV4L3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVf TElOVVhfVFlQRVNfSAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGxvY2FsZWNv bnZfbCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9MT0NBTEVDT05WX0wKKwogLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsb2NhbGUuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYg SEFWRV9MT0NBTEVfSAogCkBAIC0yNDksNiArMjUyLDkgQEAKIC8qIERlZmluZSBpZiBtYnN0YXRl X3QgZXhpc3RzIGluIHdjaGFyLmguICovCiAjdW5kZWYgSEFWRV9NQlNUQVRFX1QKIAorLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtYnN0b3djc19sJyBmdW5jdGlvbi4gKi8KKyN1bmRl ZiBIQVZFX01CU1RPV0NTX0wKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtZW1h bGlnbicgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9NRU1BTElHTgogCkBAIC0zNjAsNiArMzY2 LDkgQEAKIC8qIERlZmluZSBpZiBzdHJlcnJvcl9yIGlzIGF2YWlsYWJsZSBpbiA8c3RyaW5nLmg+ LiAqLwogI3VuZGVmIEhBVkVfU1RSRVJST1JfUgogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgYHN0cmZ0aW1lX2wnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSRlRJTUVfTAor CiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZ3MuaD4gaGVhZGVyIGZpbGUu ICovCiAjdW5kZWYgSEFWRV9TVFJJTkdTX0gKIApAQCAtMzY5LDYgKzM3OCw5IEBACiAvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvZicgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFW RV9TVFJUT0YKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJ0b2ZfbCcgZnVu Y3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJUT0ZfTAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgYHN0cnRvbGQnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfU1RSVE9MRAogCkBA IC00OTAsNiArNTAyLDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8d2NoYXIu aD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9XQ0hBUl9ICiAKKy8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSBgd2NzZnRpbWVfbCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9X Q1NGVElNRV9MCisKIC8qIERlZmluZWQgaWYgd2NzdG9mIGV4aXN0cy4gKi8KICN1bmRlZiBIQVZF X1dDU1RPRgogCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25m bHkvY19sb2NhbGUuY2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L2NfbG9jYWxl LmNjCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIGxpYnN0ZGMrKy12My9jb25maWcv bG9jYWxlL2RyYWdvbmZseS9jX2xvY2FsZS5jYwpyZW5hbWUgdG8gbGlic3RkYysrLXYzL2NvbmZp Zy9sb2NhbGUveHBnNy9jX2xvY2FsZS5jYwppbmRleCAwMmRmNDYwNWJiNS4uZmNkNTBhYzRhZWMg MTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jX2xvY2Fs ZS5jYworKysgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L2NfbG9jYWxlLmNjCkBA IC0xLDYgKzEsNiBAQAotLy8gbG9jYWxpemF0aW9uIGltcGxlbWVudGF0aW9uIGRldGFpbHMsIERy YWdvbkZseSB2ZXJzaW9uIC0qLSBDKysgLSotCisvLyBsb2NhbGl6YXRpb24gaW1wbGVtZW50YXRp b24gZGV0YWlscywgWFBHNyB2ZXJzaW9uIC0qLSBDKysgLSotCiAKLS8vIENvcHlyaWdodCAoQykg MjAxNC0yMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLy8gQ29weXJpZ2h0IChD KSAyMDIxLTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAvLwogLy8gVGhpcyBm aWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBJU08gQysrIExpYnJhcnkuICBUaGlzIGxpYnJhcnkgaXMg ZnJlZQogLy8gc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkg aXQgdW5kZXIgdGhlCkBAIC0yOCwxMyArMjgsMTcgQEAKIAogLy8gV3JpdHRlbiBieSBCZW5qYW1p biBLb3NuaWsgPGJrb3pAcmVkaGF0LmNvbT4KIC8vIE1vZGlmaWVkIGZvciBEcmFnb25GbHkgYnkg Sm9obiBNYXJpbm8gPGdudWdjY0BtYXJpbm8uc3Q+CisvLyBNb2RpZmllZCBmb3IgWFBHNyBieSBD bMOpbWVudCBDaGlnb3QgPGNsZW1lbnQuY2hpZ290QGF0b3MubmV0PgogCiAjaW5jbHVkZSA8Y3N0 ZGxpYj4KICNpbmNsdWRlIDxsb2NhbGU+CiAjaW5jbHVkZSA8c3RkZXhjZXB0PgogI2luY2x1ZGUg PGxpbWl0cz4KKwogI2luY2x1ZGUgPGxhbmdpbmZvLmg+CisjaWZkZWYgX0dMSUJDWFhfSEFWRV9Y TE9DQUxFX0gKICNpbmNsdWRlIDx4bG9jYWxlLmg+CisjZW5kaWYKIAogbmFtZXNwYWNlIHN0ZCBf R0xJQkNYWF9WSVNJQklMSVRZKGRlZmF1bHQpCiB7CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY19sb2NhbGUuaCBiL2xpYnN0ZGMrKy12My9jb25maWcv bG9jYWxlL3hwZzcvY19sb2NhbGUuaApzaW1pbGFyaXR5IGluZGV4IDY3JQpyZW5hbWUgZnJvbSBs aWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY19sb2NhbGUuaApyZW5hbWUgdG8g bGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUveHBnNy9jX2xvY2FsZS5oCmluZGV4IGNmNDI4MWNl YmJmLi41YjVjN2JhNDUxZCAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUv ZHJhZ29uZmx5L2NfbG9jYWxlLmgKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUveHBn Ny9jX2xvY2FsZS5oCkBAIC0xLDYgKzEsNiBAQAotLy8gbG9jYWxpemF0aW9uIGltcGxlbWVudGF0 aW9uIGRldGFpbHMsIERyYWdvbkZseSB2ZXJzaW9uIC0qLSBDKysgLSotCisvLyBsb2NhbGl6YXRp b24gaW1wbGVtZW50YXRpb24gZGV0YWlscywgWFBHNyB2ZXJzaW9uIC0qLSBDKysgLSotCiAKLS8v IENvcHlyaWdodCAoQykgMjAwMS0yMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor Ly8gQ29weXJpZ2h0IChDKSAyMDIxLTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiAvLwogLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBJU08gQysrIExpYnJhcnkuICBU aGlzIGxpYnJhcnkgaXMgZnJlZQogLy8gc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlCkBAIC0zMyw2ICszMyw3IEBACiAKIC8vIFdyaXR0 ZW4gYnkgQmVuamFtaW4gS29zbmlrIDxia296QHJlZGhhdC5jb20+CiAvLyBNb2RpZmllZCBmb3Ig RHJhZ29uRmx5IGJ5IEpvaG4gTWFyaW5vIDxnbnVnY2NAbWFyaW5vLnN0PgorLy8gTW9kaWZpZWQg Zm9yIFhQRzcgYnkgQ2zDqW1lbnQgQ2hpZ290IDxjbGVtZW50LmNoaWdvdEBhdG9zLm5ldD4KIAog I2lmbmRlZiBfR0xJQkNYWF9DWFhfTE9DQUxFX0gKICNkZWZpbmUgX0dMSUJDWFhfQ1hYX0xPQ0FM RV9IIDEKQEAgLTQwLDcgKzQxLDQ2IEBACiAjcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyCiAKICNp bmNsdWRlIDxjbG9jYWxlPgorI2luY2x1ZGUgPGNzdGRsaWI+CisjaWZkZWYgX0dMSUJDWFhfSEFW RV9YTE9DQUxFX0gKICNpbmNsdWRlIDx4bG9jYWxlLmg+CisjZW5kaWYKKworI2RlZmluZSBfR0xJ QkNYWF9DX0xPQ0FMRV9YUEc3IDEKKworLy8gQXNzdW1lIHRoYXQgaWYgc3RydG9mX2wgaXMgbWlz c2luZyB0aGVuIHN0cnRvZF9sIGFuZCBzdHJvbGRfbAorLy8gYXJlIG1pc3NpbmcgdG9vLgorI2lm bmRlZiBfR0xJQkNYWF9IQVZFX1NUUlRPRl9MCitleHRlcm4gIkMiIGlubGluZQorZmxvYXQgc3Ry dG9mX2wgKGNvbnN0IGNoYXIgKl9fbnB0ciwgY2hhciAqKl9fZW5kcHRyLAorCQlsb2NhbGVfdCBs b2NhbGUpCit7CisgIGxvY2FsZV90IF9fb2xkID0gdXNlbG9jYWxlKGxvY2FsZSk7CisgIGZsb2F0 IF9fcmVzID0gc3RydG9mKF9fbnB0ciwgX19lbmRwdHIpOworICB1c2Vsb2NhbGUoX19vbGQpOwor ICByZXR1cm4gX19yZXM7Cit9CisKK2V4dGVybiAiQyIgaW5saW5lCitkb3VibGUgc3RydG9kX2wg KGNvbnN0IGNoYXIgKl9fbnB0ciwgY2hhciAqKl9fZW5kcHRyLAorCQkgbG9jYWxlX3QgbG9jYWxl KQoreworICBsb2NhbGVfdCBfX29sZCA9IHVzZWxvY2FsZShsb2NhbGUpOworICBkb3VibGUgX19y ZXMgPSBzdHJ0b2QoX19ucHRyLCBfX2VuZHB0cik7CisgIHVzZWxvY2FsZShfX29sZCk7CisgIHJl dHVybiBfX3JlczsKK30KKworZXh0ZXJuICJDIiBpbmxpbmUKK2xvbmcgZG91YmxlIHN0cnRvbGRf bCAoY29uc3QgY2hhciAqX19ucHRyLCBjaGFyICoqX19lbmRwdHIsCisJCSAgICAgICBsb2NhbGVf dCBsb2NhbGUpCit7CisgIGxvY2FsZV90IF9fb2xkID0gdXNlbG9jYWxlKGxvY2FsZSk7CisgIGxv bmcgZG91YmxlIF9fcmVzID0gc3RydG9sZChfX25wdHIsIF9fZW5kcHRyKTsKKyAgdXNlbG9jYWxl KF9fb2xkKTsKKyAgcmV0dXJuIF9fcmVzOworfQorI2VuZGlmCiAKICNkZWZpbmUgX0dMSUJDWFhf TlVNX0NBVEVHT1JJRVMgMAogCkBAIC00OCw3ICs4OCwxMSBAQCBuYW1lc3BhY2Ugc3RkIF9HTElC Q1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJT SU9OCiAKKyNpZiBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX18p CiAgIHR5cGVkZWYgaW50KgkJCV9fY19sb2NhbGU7CisjZWxzZQorICB0eXBlZGVmIGxvY2FsZV90 CQkJX19jX2xvY2FsZTsKKyNlbmRpZgogCiAgIC8vIENvbnZlcnQgbnVtZXJpYyB2YWx1ZSBvZiB0 eXBlIGRvdWJsZSBhbmQgbG9uZyBkb3VibGUgdG8gc3RyaW5nIGFuZAogICAvLyByZXR1cm4gbGVu Z3RoIG9mIHN0cmluZy4gIElmIHZzbnByaW50ZiBpcyBhdmFpbGFibGUgdXNlIGl0LCBvdGhlcndp c2UKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jb2Rl Y3Z0X21lbWJlcnMuY2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L2NvZGVjdnRf bWVtYmVycy5jYwpzaW1pbGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBsaWJzdGRjKystdjMv Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY29kZWN2dF9tZW1iZXJzLmNjCnJlbmFtZSB0byBsaWJz dGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L2NvZGVjdnRfbWVtYmVycy5jYwppbmRleCAxMWNi Y2RhZTU5Zi4uMTc4OTY2ZjBmZGIgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9jb25maWcvbG9j YWxlL2RyYWdvbmZseS9jb2RlY3Z0X21lbWJlcnMuY2MKKysrIGIvbGlic3RkYysrLXYzL2NvbmZp Zy9sb2NhbGUveHBnNy9jb2RlY3Z0X21lbWJlcnMuY2MKQEAgLTEsNiArMSw2IEBACi0vLyBzdGQ6 OmNvZGVjdnQgaW1wbGVtZW50YXRpb24gZGV0YWlscywgRHJhZ29uRmx5IHZlcnNpb24gLSotIEMr KyAtKi0KKy8vIHN0ZDo6Y29kZWN2dCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLCBYUEc3IHZlcnNp b24gLSotIEMrKyAtKi0KIAotLy8gQ29weXJpZ2h0IChDKSAyMDE1LTIwMjEgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisvLyBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KIC8vCiAvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05V IElTTyBDKysgTGlicmFyeS4gIFRoaXMgbGlicmFyeSBpcyBmcmVlCiAvLyBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUKZGlmZiAtLWdp dCBhL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jb2xsYXRlX21lbWJlcnMu Y2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L2NvbGxhdGVfbWVtYmVycy5jYwpz aW1pbGFyaXR5IGluZGV4IDk0JQpyZW5hbWUgZnJvbSBsaWJzdGRjKystdjMvY29uZmlnL2xvY2Fs ZS9kcmFnb25mbHkvY29sbGF0ZV9tZW1iZXJzLmNjCnJlbmFtZSB0byBsaWJzdGRjKystdjMvY29u ZmlnL2xvY2FsZS94cGc3L2NvbGxhdGVfbWVtYmVycy5jYwppbmRleCA2NGM3ZDg2NGE2MS4uNjA1 YjhhNDJjMDggMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZs eS9jb2xsYXRlX21lbWJlcnMuY2MKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUveHBn Ny9jb2xsYXRlX21lbWJlcnMuY2MKQEAgLTEsNiArMSw2IEBACi0vLyBzdGQ6OmNvbGxhdGUgaW1w bGVtZW50YXRpb24gZGV0YWlscywgRHJhZ29uRmx5IHZlcnNpb24gLSotIEMrKyAtKi0KKy8vIHN0 ZDo6Y29sbGF0ZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLCBYUEc3IHZlcnNpb24gLSotIEMrKyAt Ki0KIAotLy8gQ29weXJpZ2h0IChDKSAyMDE1LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisvLyBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KIC8vCiAvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIElTTyBDKysgTGli cmFyeS4gIFRoaXMgbGlicmFyeSBpcyBmcmVlCiAvLyBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUKZGlmZiAtLWdpdCBhL2xpYnN0ZGMr Ky12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jdHlwZV9tZW1iZXJzLmNjIGIvbGlic3RkYysr LXYzL2NvbmZpZy9sb2NhbGUveHBnNy9jdHlwZV9tZW1iZXJzLmNjCnNpbWlsYXJpdHkgaW5kZXgg NzclCnJlbmFtZSBmcm9tIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jdHlw ZV9tZW1iZXJzLmNjCnJlbmFtZSB0byBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L2N0 eXBlX21lbWJlcnMuY2MKaW5kZXggNDIwY2I1MWUwN2EuLmQ5YzFlMGY4NjgxIDEwMDY0NAotLS0g YS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY3R5cGVfbWVtYmVycy5jYwor KysgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L2N0eXBlX21lbWJlcnMuY2MKQEAg LTEsNiArMSw2IEBACi0vLyBzdGQ6OmN0eXBlIGltcGxlbWVudGF0aW9uIGRldGFpbHMsIERyYWdv bkZseSB2ZXJzaW9uIC0qLSBDKysgLSotCisvLyBzdGQ6OmN0eXBlIGltcGxlbWVudGF0aW9uIGRl dGFpbHMsIFhQRzcgdmVyc2lvbiAtKi0gQysrIC0qLQogCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTQt MjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8vIENvcHlyaWdodCAoQykgMjAy MS0yMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogLy8KIC8vIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIHRoZSBHTlUgSVNPIEMrKyBMaWJyYXJ5LiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUK IC8vIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVu ZGVyIHRoZQpAQCAtMjgsMTMgKzI4LDE4IEBACiAKIC8vIFdyaXR0ZW4gYnkgQmVuamFtaW4gS29z bmlrIDxia296QHJlZGhhdC5jb20+CiAvLyBNb2RpZmllZCBmb3IgRHJhZ29uRmx5IGJ5IEpvaG4g TWFyaW5vIDxnbnVnY2NAbWFyaW5vLnN0PgorLy8gTW9kaWZpZWQgZm9yIFhQRzcgYnkgQ2zDqW1l bnQgQ2hpZ290IDxjbGVtZW50LmNoaWdvdEBhdG9zLm5ldD4KIAogI2luY2x1ZGUgPGxvY2FsZT4K ICNpbmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUgPGNzdGRpbz4KIAogI2lmbmRlZiBfSVNiaXQK KyNpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXwogI2RlZmluZSBf SVNiaXQoYml0KSAoKGJpdCkgPCA4ID8gKCgxIDw8IChiaXQpKSA8PCA4KSA6ICgoMSA8PCAoYml0 KSkgPj4gOCkpCisjZWxzZQorI2RlZmluZSBfSVNiaXQoYml0KSAoMSA8PCBiaXQpCisjZW5kaWYK ICNlbmRpZgogCiBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKQEAg LTExNCw4ICsxMTksOCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICB7CiAg ICAgd2hpbGUgKF9fbG8gPCBfX2hpKQogICAgICAgewotICAgICAgICAqX19sbyA9IHRvd3VwcGVy X2woKl9fbG8sIChsb2NhbGVfdClfTV9jX2xvY2FsZV9jdHlwZSk7Ci0gICAgICAgICsrX19sbzsK KwkqX19sbyA9IHRvd3VwcGVyX2woKl9fbG8sIChsb2NhbGVfdClfTV9jX2xvY2FsZV9jdHlwZSk7 CisJKytfX2xvOwogICAgICAgfQogICAgIHJldHVybiBfX2hpOwogICB9CkBAIC0xMjksMTIgKzEz NCw2NCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICB7CiAgICAgd2hpbGUg KF9fbG8gPCBfX2hpKQogICAgICAgewotICAgICAgICAqX19sbyA9IHRvd2xvd2VyX2woKl9fbG8s IChsb2NhbGVfdClfTV9jX2xvY2FsZV9jdHlwZSk7Ci0gICAgICAgICsrX19sbzsKKwkqX19sbyA9 IHRvd2xvd2VyX2woKl9fbG8sIChsb2NhbGVfdClfTV9jX2xvY2FsZV9jdHlwZSk7CisJKytfX2xv OworICAgICAgfQorICAgIHJldHVybiBfX2hpOworICB9CisKKyNpZiAhZGVmaW5lZChfX0RyYWdv bkZseV9fKSAmJiAhZGVmaW5lZChfX0ZyZWVCU0RfXykKKyAgYm9vbAorICBjdHlwZTx3Y2hhcl90 Pjo6CisgIGRvX2lzKG1hc2sgX19tLCBjaGFyX3R5cGUgX19jKSBjb25zdAorICB7CisgICAgYm9v bCBfX3JldCA9IGZhbHNlOworICAgIGNvbnN0IHNpemVfdCBfX2JpdG1hc2tzaXplID0gMTU7Cisg ICAgZm9yIChzaXplX3QgX19iaXRjdXIgPSAwOyBfX2JpdGN1ciA8PSBfX2JpdG1hc2tzaXplOyAr K19fYml0Y3VyKQorICAgICAgaWYgKF9fbSAmIF9NX2JpdFtfX2JpdGN1cl0KKwkgICYmIGlzd2N0 eXBlX2woX19jLCBfTV93bWFza1tfX2JpdGN1cl0sIChsb2NhbGVfdClfTV9jX2xvY2FsZV9jdHlw ZSkpCisJeworCSAgX19yZXQgPSB0cnVlOworCSAgYnJlYWs7CisJfQorICAgIHJldHVybiBfX3Jl dDsKKyAgfQorCisgIGNvbnN0IHdjaGFyX3QqCisgIGN0eXBlPHdjaGFyX3Q+OjoKKyAgZG9faXMo Y29uc3Qgd2NoYXJfdCogX19sbywgY29uc3Qgd2NoYXJfdCogX19oaSwgbWFzayogX192ZWMpIGNv bnN0CisgIHsKKyAgICBmb3IgKDtfX2xvIDwgX19oaTsgKytfX3ZlYywgKytfX2xvKQorICAgICAg eworCWNvbnN0IHNpemVfdCBfX2JpdG1hc2tzaXplID0gMTU7CisJbWFzayBfX20gPSAwOworCWZv ciAoc2l6ZV90IF9fYml0Y3VyID0gMDsgX19iaXRjdXIgPD0gX19iaXRtYXNrc2l6ZTsgKytfX2Jp dGN1cikKKwkgIGlmIChpc3djdHlwZV9sKCpfX2xvLCBfTV93bWFza1tfX2JpdGN1cl0sIChsb2Nh bGVfdClfTV9jX2xvY2FsZV9jdHlwZSkpCisJICAgIF9fbSB8PSBfTV9iaXRbX19iaXRjdXJdOwor CSpfX3ZlYyA9IF9fbTsKICAgICAgIH0KICAgICByZXR1cm4gX19oaTsKICAgfQogCisgIGNvbnN0 IHdjaGFyX3QqCisgIGN0eXBlPHdjaGFyX3Q+OjoKKyAgZG9fc2Nhbl9pcyhtYXNrIF9fbSwgY29u c3Qgd2NoYXJfdCogX19sbywgY29uc3Qgd2NoYXJfdCogX19oaSkgY29uc3QKKyAgeworICAgIHdo aWxlIChfX2xvIDwgX19oaSAmJiAhdGhpcy0+ZG9faXMoX19tLCAqX19sbykpCisgICAgICArK19f bG87CisgICAgcmV0dXJuIF9fbG87CisgIH0KKworICBjb25zdCB3Y2hhcl90KgorICBjdHlwZTx3 Y2hhcl90Pjo6CisgIGRvX3NjYW5fbm90KG1hc2sgX19tLCBjb25zdCBjaGFyX3R5cGUqIF9fbG8s IGNvbnN0IGNoYXJfdHlwZSogX19oaSkgY29uc3QKKyAgeworICAgIHdoaWxlIChfX2xvIDwgX19o aSAmJiB0aGlzLT5kb19pcyhfX20sICpfX2xvKSAhPSAwKQorICAgICAgKytfX2xvOworICAgIHJl dHVybiBfX2xvOworICB9CisjZW5kaWYKKwogICB3Y2hhcl90CiAgIGN0eXBlPHdjaGFyX3Q+OjoK ICAgZG9fd2lkZW4oY2hhciBfX2MpIGNvbnN0CkBAIC0yMTcsNyArMjc0LDcgQEAgX0dMSUJDWFhf QkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAkgX19qIDwgc2l6ZW9mKF9NX3dpZGVuKSAvIHNpemVv Zih3aW50X3QpOyArK19faikKICAgICAgIF9NX3dpZGVuW19fal0gPSBidG93YyhfX2opOwogCi0g ICAgZm9yIChzaXplX3QgX19rID0gMDsgX19rIDw9IDExOyArK19faykKKyAgICBmb3IgKHNpemVf dCBfX2sgPSAwOyBfX2sgPD0gMTU7ICsrX19rKQogICAgICAgewogCV9NX2JpdFtfX2tdID0gc3Rh dGljX2Nhc3Q8bWFzaz4oX0lTYml0KF9faykpOwogCV9NX3dtYXNrW19fa10gPSBfTV9jb252ZXJ0 X3RvX3dtYXNrKF9NX2JpdFtfX2tdKTsKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9jb25maWcv bG9jYWxlL2RyYWdvbmZseS9tb25ldGFyeV9tZW1iZXJzLmNjIGIvbGlic3RkYysrLXYzL2NvbmZp Zy9sb2NhbGUveHBnNy9tb25ldGFyeV9tZW1iZXJzLmNjCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJl bmFtZSBmcm9tIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9tb25ldGFyeV9t ZW1iZXJzLmNjCnJlbmFtZSB0byBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L21vbmV0 YXJ5X21lbWJlcnMuY2MKaW5kZXggZTFkZWNjNjFjYmYuLjBlZjUyZGUwOTkwIDEwMDY0NAotLS0g YS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbW9uZXRhcnlfbWVtYmVycy5j YworKysgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS94cGc3L21vbmV0YXJ5X21lbWJlcnMu Y2MKQEAgLTEsNiArMSw2IEBACi0vLyBzdGQ6Om1vbmV5cHVuY3QgaW1wbGVtZW50YXRpb24gZGV0 YWlscywgRHJhZ29uRmx5IHZlcnNpb24gLSotIEMrKyAtKi0KKy8vIHN0ZDo6bW9uZXlwdW5jdCBp bXBsZW1lbnRhdGlvbiBkZXRhaWxzLCBYUEc3IHZlcnNpb24gLSotIEMrKyAtKi0KIAotLy8gQ29w eXJpZ2h0IChDKSAyMDE1LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvLyBD b3B5cmlnaHQgKEMpIDIwMjEtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIC8v CiAvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIElTTyBDKysgTGlicmFyeS4gIFRoaXMg bGlicmFyeSBpcyBmcmVlCiAvLyBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeSBpdCB1bmRlciB0aGUKQEAgLTI4LDEwICsyOCwxNyBAQAogCiAvLyBXcml0dGVu IGJ5IEJlbmphbWluIEtvc25payA8YmtvekByZWRoYXQuY29tPgogLy8gTW9kaWZpZWQgZm9yIERy YWdvbkZseSBieSBKb2huIE1hcmlubyA8Z251Z2NjQG1hcmluby5zdD4KKy8vIE1vZGlmaWVkIGZv ciBYUEc3IGJ5IENsw6ltZW50IENoaWdvdCA8Y2xlbWVudC5jaGlnb3RAYXRvcy5uZXQ+CiAKKy8v IFNvbGFyaXMgMTEuNCBkb2Vzbid0IG1ha2UgQzk5IG1lbWJlcnMgb2Ygc3RydWN0IGxjb252IHZp c2libGUgZm9yIEMrKzExCisvLyB3aXRob3V0IHRoaXMuCisjZGVmaW5lIF9MQ09OVl9DOTkKICNp bmNsdWRlIDxsb2NhbGU+CiAjaW5jbHVkZSA8Y3N0cmluZz4KKworI2lmZGVmIF9HTElCQ1hYX0hB VkVfWExPQ0FMRV9ICiAjaW5jbHVkZSA8eGxvY2FsZS5oPgorI2VuZGlmCiAKIG5hbWVzcGFjZSBz dGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewpAQCAtMjQxLDcgKzI0OCwxMiBAQCBf R0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICAgICAgZWxzZQogCXsKIAkgIC8vIE5h bWVkIGxvY2FsZS4KKyNpZmRlZiBfR0xJQkNYWF9IQVZFX0xPQ0FMRUNPTlZfTAogCSAgbGNvbnYq IGxjID0gbG9jYWxlY29udl9sKChsb2NhbGVfdCkgX19jbG9jKTsKKyNlbHNlCisJICBfX2NfbG9j YWxlIF9fb2xkID0gdXNlbG9jYWxlKF9fY2xvYyk7CisJICBsY29udiogbGMgPSBsb2NhbGVjb252 KCk7CisjZW5kaWYKIAogCSAgLy8gQ2hlY2sgZm9yIE5VTEwsIHdoaWNoIGltcGxpZXMgbm8gZnJh Y3Rpb25hbCBkaWdpdHMuCiAJICBpZiAobGMtPm1vbl9kZWNpbWFsX3BvaW50ID09IE5VTEwgfHwK QEAgLTM0OCw2ICszNjAsOSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCSAg ICAgIGRlbGV0ZSBbXSBfX2dyb3VwOwogCSAgICAgIGRlbGV0ZSBbXSBfX3BzOwogCSAgICAgIGRl bGV0ZSBbXSBfX25zOworI2lmbmRlZiBfR0xJQkNYWF9IQVZFX0xPQ0FMRUNPTlZfTAorCSAgICAg IHVzZWxvY2FsZShfX29sZCk7CisjZW5kaWYKIAkgICAgICBfX3Rocm93X2V4Y2VwdGlvbl9hZ2Fp bjsKIAkgICAgfQogCkBAIC0zNjAsNiArMzc1LDkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNF X1ZFUlNJT04KIAkgIGNoYXIgX19uc3BhY2UgPSBsYy0+aW50X25fc2VwX2J5X3NwYWNlOwogCSAg X01fZGF0YS0+X01fbmVnX2Zvcm1hdCA9IF9TX2NvbnN0cnVjdF9wYXR0ZXJuKF9fbnByZWNlZGVz LCBfX25zcGFjZSwKIAkJCQkJCQlfX25wb3NuKTsKKyNpZm5kZWYgX0dMSUJDWFhfSEFWRV9MT0NB TEVDT05WX0wKKwkgIHVzZWxvY2FsZShfX29sZCk7CisjZW5kaWYKIAl9CiAgICAgfQogCkBAIC0z OTUsNyArNDEzLDEyIEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAgICBl bHNlCiAJewogCSAgLy8gTmFtZWQgbG9jYWxlLgorI2lmZGVmIF9HTElCQ1hYX0hBVkVfTE9DQUxF Q09OVl9MCiAJICBsY29udiogbGMgPSBsb2NhbGVjb252X2woKGxvY2FsZV90KSBfX2Nsb2MpOwor I2Vsc2UKKwkgIF9fY19sb2NhbGUgX19vbGQgPSB1c2Vsb2NhbGUoX19jbG9jKTsKKwkgIGxjb252 KiBsYyA9IGxvY2FsZWNvbnYoKTsKKyNlbmRpZgogCiAJICAvLyBDaGVjayBmb3IgTlVMTCwgd2hp Y2ggaW1wbGllcyBubyBmcmFjdGlvbmFsIGRpZ2l0cy4KIAkgIGlmIChsYy0+bW9uX2RlY2ltYWxf cG9pbnQgPT0gTlVMTCB8fApAQCAtNTAyLDYgKzUyNSw5IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVT UEFDRV9WRVJTSU9OCiAJICAgICAgZGVsZXRlIFtdIF9fZ3JvdXA7CiAJICAgICAgZGVsZXRlIFtd IF9fcHM7CiAJICAgICAgZGVsZXRlIFtdIF9fbnM7CisjaWZuZGVmIF9HTElCQ1hYX0hBVkVfTE9D QUxFQ09OVl9MCisJICAgICAgdXNlbG9jYWxlKF9fb2xkKTsKKyNlbmRpZgogCSAgICAgIF9fdGhy b3dfZXhjZXB0aW9uX2FnYWluOwogCSAgICB9CiAKQEAgLTUxNCw2ICs1NDAsOSBAQCBfR0xJQkNY WF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCSAgY2hhciBfX25zcGFjZSA9IGxjLT5uX3NlcF9i eV9zcGFjZTsKIAkgIF9NX2RhdGEtPl9NX25lZ19mb3JtYXQgPSBfU19jb25zdHJ1Y3RfcGF0dGVy bihfX25wcmVjZWRlcywgX19uc3BhY2UsCiAJCQkJCQkJX19ucG9zbik7CisjaWZuZGVmIF9HTElC Q1hYX0hBVkVfTE9DQUxFQ09OVl9MCisJICB1c2Vsb2NhbGUoX19vbGQpOworI2VuZGlmCiAJfQog ICAgIH0KIApAQCAtNTgxLDkgKzYxMCwxNCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVS U0lPTgogCX0KICAgICAgIGVsc2UKIAl7Ci0JICBfX2NfbG9jYWxlIF9fb2xkID0gKF9fY19sb2Nh bGUpdXNlbG9jYWxlKChsb2NhbGVfdClfX2Nsb2MpOwogCSAgLy8gTmFtZWQgbG9jYWxlLgorCSAg Ly8gdXNlbG9jYWxlIGlzIG5lZWRlZCBmb3IgbWJzcnRvd2NzLgorCSAgX19jX2xvY2FsZSBfX29s ZCA9IChfX2NfbG9jYWxlKXVzZWxvY2FsZSgobG9jYWxlX3QpX19jbG9jKTsKKyNpZmRlZiBfR0xJ QkNYWF9IQVZFX0xPQ0FMRUNPTlZfTAogCSAgbGNvbnYqIGxjID0gbG9jYWxlY29udl9sKChsb2Nh bGVfdCkgX19jbG9jKTsKKyNlbHNlCisJICBsY29udiogbGMgPSBsb2NhbGVjb252KCk7CisjZW5k aWYKIAogCSAgLy8gQ2hlY2sgZm9yIE5VTEwsIHdoaWNoIGltcGxpZXMgbm8gZnJhY3Rpb25hbCBk aWdpdHMuCiAJICBpZiAobGMtPm1vbl9kZWNpbWFsX3BvaW50ID09IE5VTEwgfHwKQEAgLTc0MSw5 ICs3NzUsMTQgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAl9CiAgICAgICBl bHNlCiAJewotCSAgX19jX2xvY2FsZSBfX29sZCA9IChfX2NfbG9jYWxlKXVzZWxvY2FsZSgobG9j YWxlX3QpX19jbG9jKTsKIAkgIC8vIE5hbWVkIGxvY2FsZS4KKwkgIC8vIHVzZWxvY2FsZSBpcyBu ZWVkZWQgZm9yIG1ic3J0b3djcy4KKwkgIF9fY19sb2NhbGUgX19vbGQgPSAoX19jX2xvY2FsZSl1 c2Vsb2NhbGUoKGxvY2FsZV90KV9fY2xvYyk7CisjaWZkZWYgX0dMSUJDWFhfSEFWRV9MT0NBTEVD T05WX0wKIAkgIGxjb252KiBsYyA9IGxvY2FsZWNvbnZfbCgobG9jYWxlX3QpIF9fY2xvYyk7Cisj ZWxzZQorCSAgbGNvbnYqIGxjID0gbG9jYWxlY29udigpOworI2VuZGlmCiAKIAkgIC8vIENoZWNr IGZvciBOVUxMLCB3aGljaCBpbXBsaWVzIG5vIGZyYWN0aW9uYWwgZGlnaXRzLgogCSAgaWYgKGxj LT5tb25fZGVjaW1hbF9wb2ludCA9PSBOVUxMIHx8CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbnVtZXJpY19tZW1iZXJzLmNjIGIvbGlic3RkYysrLXYz L2NvbmZpZy9sb2NhbGUveHBnNy9udW1lcmljX21lbWJlcnMuY2MKc2ltaWxhcml0eSBpbmRleCA4 OSUKcmVuYW1lIGZyb20gbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L251bWVy aWNfbWVtYmVycy5jYwpyZW5hbWUgdG8gbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUveHBnNy9u dW1lcmljX21lbWJlcnMuY2MKaW5kZXggY2FjNmZlOGM3MTAuLjI2NDMyYzEzYzFiIDEwMDY0NAot LS0gYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbnVtZXJpY19tZW1iZXJz LmNjCisrKyBiL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3hwZzcvbnVtZXJpY19tZW1iZXJz LmNjCkBAIC0xLDYgKzEsNiBAQAotLy8gc3RkOjpudW1wdW5jdCBpbXBsZW1lbnRhdGlvbiBkZXRh aWxzLCBEcmFnb25GbHkgdmVyc2lvbiAtKi0gQysrIC0qLQorLy8gc3RkOjpudW1wdW5jdCBpbXBs ZW1lbnRhdGlvbiBkZXRhaWxzLCBYUEc3IHZlcnNpb24gLSotIEMrKyAtKi0KIAotLy8gQ29weXJp Z2h0IChDKSAyMDE1LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvLyBDb3B5 cmlnaHQgKEMpIDIwMjEtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIC8vCiAv LyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIElTTyBDKysgTGlicmFyeS4gIFRoaXMgbGli cmFyeSBpcyBmcmVlCiAvLyBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeSBpdCB1bmRlciB0aGUKQEAgLTI4LDEwICsyOCwxNCBAQAogCiAvLyBXcml0dGVuIGJ5 IEJlbmphbWluIEtvc25payA8YmtvekByZWRoYXQuY29tPgogLy8gTW9kaWZpZWQgZm9yIERyYWdv bkZseSBieSBKb2huIE1hcmlubyA8Z251Z2NjQG1hcmluby5zdD4KKy8vIE1vZGlmaWVkIGZvciBY UEc3IGJ5IENsw6ltZW50IENoaWdvdCA8Y2xlbWVudC5jaGlnb3RAYXRvcy5uZXQ+CiAKICNpbmNs dWRlIDxsb2NhbGU+CiAjaW5jbHVkZSA8Y3N0cmluZz4KKworI2lmZGVmIF9HTElCQ1hYX0hBVkVf WExPQ0FMRV9ICiAjaW5jbHVkZSA8eGxvY2FsZS5oPgorI2VuZGlmCiAKIG5hbWVzcGFjZSBzdGQg X0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewpAQCAtNjMsNyArNjcsMTIgQEAgX0dMSUJD WFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgIGVsc2UKIAl7CiAJICAvLyBOYW1lZCBs b2NhbGUuCisjaWZkZWYgX0dMSUJDWFhfSEFWRV9MT0NBTEVDT05WX0wKIAkgIGxjb252KiBsYyA9 IGxvY2FsZWNvbnZfbCgobG9jYWxlX3QpIF9fY2xvYyk7CisjZWxzZQorCSAgX19jX2xvY2FsZSBf X29sZCA9IHVzZWxvY2FsZShfX2Nsb2MpOworCSAgbGNvbnYqIGxjID0gbG9jYWxlY29udigpOwor I2VuZGlmCiAKIAkgIC8vIERlY2ltYWwgcG9pbnQgc2hvdWxkIGFsd2F5cyBiZSBkZWZpbmVkLCBi dXQgY2hlY2sgbnVsbCBhbnl3YXkKIAkgIGlmIChsYy0+ZGVjaW1hbF9wb2ludCA9PSBOVUxMKQpA QCAtMTAzLDYgKzExMiw5IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAJCSAg ICB7CiAJCSAgICAgIGRlbGV0ZSBfTV9kYXRhOwogCQkgICAgICBfTV9kYXRhID0gMDsKKyNpZm5k ZWYgX0dMSUJDWFhfSEFWRV9MT0NBTEVDT05WX0wKKwkJICAgICAgdXNlbG9jYWxlKF9fb2xkKTsK KyNlbmRpZgogCQkgICAgICBfX3Rocm93X2V4Y2VwdGlvbl9hZ2FpbjsKIAkJICAgIH0KIAkJfQpA QCAtMTEzLDYgKzEyNSw5IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAJCX0K IAkgICAgICBfTV9kYXRhLT5fTV9ncm91cGluZ19zaXplID0gX19sZW47CiAJICAgIH0KKyNpZm5k ZWYgX0dMSUJDWFhfSEFWRV9MT0NBTEVDT05WX0wKKwkgIHVzZWxvY2FsZShfX29sZCk7CisjZW5k aWYKIAl9CiAKICAgICAgIC8vIE5COiBUaGVyZSBpcyBubyB3YXkgdG8gZXh0YWN0IHRoaXMgaW5m byBmcm9tIHBvc2l4IGxvY2FsZXMuCkBAIC0xNjIsNyArMTc3LDEyIEBAIF9HTElCQ1hYX0JFR0lO X05BTUVTUEFDRV9WRVJTSU9OCiAgICAgICBlbHNlCiAJewogCSAgLy8gTmFtZWQgbG9jYWxlLgor I2lmZGVmIF9HTElCQ1hYX0hBVkVfTE9DQUxFQ09OVl9MCiAJICBsY29udiogbGMgPSBsb2NhbGVj b252X2woKGxvY2FsZV90KSBfX2Nsb2MpOworI2Vsc2UKKwkgIF9fY19sb2NhbGUgX19vbGQgPSB1 c2Vsb2NhbGUoX19jbG9jKTsKKwkgIGxjb252KiBsYyA9IGxvY2FsZWNvbnYoKTsKKyNlbmRpZgog CiAJICAvLyBEZWNpbWFsIHBvaW50IHNob3VsZCBhbHdheXMgYmUgZGVmaW5lZCwgYnV0IGNoZWNr IG51bGwgYW55d2F5CiAJICBpZiAobGMtPmRlY2ltYWxfcG9pbnQgPT0gTlVMTCkKQEAgLTIwMSw2 ICsyMjEsOSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCQkgICAgewogCQkg ICAgICBkZWxldGUgX01fZGF0YTsKIAkJICAgICAgX01fZGF0YSA9IDA7CisjaWZuZGVmIF9HTElC Q1hYX0hBVkVfTE9DQUxFQ09OVl9MCisJCSAgICAgIHVzZWxvY2FsZShfX29sZCk7CisjZW5kaWYK IAkJICAgICAgX190aHJvd19leGNlcHRpb25fYWdhaW47CiAJCSAgICB9CiAJCX0KQEAgLTIxMSw2 ICsyMzQsOSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCQl9CiAJICAgICAg X01fZGF0YS0+X01fZ3JvdXBpbmdfc2l6ZSA9IF9fbGVuOwogCSAgICB9CisjaWZuZGVmIF9HTElC Q1hYX0hBVkVfTE9DQUxFQ09OVl9MCisJICB1c2Vsb2NhbGUoX19vbGQpOworI2VuZGlmCiAJfQog CiAgICAgICAvLyBOQjogVGhlcmUgaXMgbm8gd2F5IHRvIGV4dGFjdCB0aGlzIGluZm8gZnJvbSBw b3NpeCBsb2NhbGVzLgpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJh Z29uZmx5L3RpbWVfbWVtYmVycy5jYyBiL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3hwZzcv dGltZV9tZW1iZXJzLmNjCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIGxpYnN0ZGMr Ky12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS90aW1lX21lbWJlcnMuY2MKcmVuYW1lIHRvIGxp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3hwZzcvdGltZV9tZW1iZXJzLmNjCmluZGV4IGM4YjYy MWEzMjNmLi4xN2JkYjM4MDhkOSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2Nh bGUvZHJhZ29uZmx5L3RpbWVfbWVtYmVycy5jYworKysgYi9saWJzdGRjKystdjMvY29uZmlnL2xv Y2FsZS94cGc3L3RpbWVfbWVtYmVycy5jYwpAQCAtMSw2ICsxLDYgQEAKLS8vIHN0ZDo6dGltZV9n ZXQsIHN0ZDo6dGltZV9wdXQgaW1wbGVtZW50YXRpb24sIERyYWdvbkZseSB2ZXJzaW9uIC0qLSBD KysgLSotCisvLyBzdGQ6OnRpbWVfZ2V0LCBzdGQ6OnRpbWVfcHV0IGltcGxlbWVudGF0aW9uLCBB SVggdmVyc2lvbiAtKi0gQysrIC0qLQogCi0vLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8vIENvcHlyaWdodCAoQykgMjAyMS0yMDIxIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogLy8KIC8vIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IHRoZSBHTlUgSVNPIEMrKyBMaWJyYXJ5LiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUKIC8vIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQpA QCAtMjksMTMgKzI5LDE3IEBACiAKIC8vIFdyaXR0ZW4gYnkgQmVuamFtaW4gS29zbmlrIDxia296 QHJlZGhhdC5jb20+CiAvLyBNb2RpZmllZCBmb3IgRHJhZ29uRmx5IGJ5IEpvaG4gTWFyaW5vIDxn bnVnY2NAbWFyaW5vLnN0PgorLy8gTW9kaWZpZWQgZm9yIFhQRzcgYnkgQ2zDqW1lbnQgQ2hpZ290 IDxjbGVtZW50LmNoaWdvdEBhdG9zLm5ldD4KIAogI2luY2x1ZGUgPGxvY2FsZT4KICNpbmNsdWRl IDxjdGltZT4KICNpbmNsdWRlIDxjd2NoYXI+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVk ZSA8bGFuZ2luZm8uaD4KKworI2lmZGVmIF9HTElCQ1hYX0hBVkVfWExPQ0FMRV9ICiAjaW5jbHVk ZSA8eGxvY2FsZS5oPgorI2VuZGlmCiAKIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElU WShkZWZhdWx0KQogewpAQCAtNDcsOCArNTEsMTQgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNF X1ZFUlNJT04KICAgICBfTV9wdXQoY2hhciogX19zLCBzaXplX3QgX19tYXhsZW4sIGNvbnN0IGNo YXIqIF9fZm9ybWF0LAogCSAgIGNvbnN0IHRtKiBfX3RtKSBjb25zdCB0aHJvdygpCiAgICAgewor I2lmZGVmIF9HTElCQ1hYX0hBVkVfU1RSRlRJTUVfTAogICAgICAgY29uc3Qgc2l6ZV90IF9fbGVu ID0gc3RyZnRpbWVfbChfX3MsIF9fbWF4bGVuLCBfX2Zvcm1hdCwgX190bSwKIAkJCQkgICAgICAo bG9jYWxlX3QpX01fY19sb2NhbGVfdGltZXB1bmN0KTsKKyNlbHNlCisgICAgICBfX2NfbG9jYWxl IF9fb2xkID0gdXNlbG9jYWxlKF9NX2NfbG9jYWxlX3RpbWVwdW5jdCk7CisgICAgICBjb25zdCBz aXplX3QgX19sZW4gPSBzdHJmdGltZShfX3MsIF9fbWF4bGVuLCBfX2Zvcm1hdCwgX190bSk7Cisg ICAgICB1c2Vsb2NhbGUoX19vbGQpOworI2VuZGlmCiAgICAgICAvLyBNYWtlIHN1cmUgX19zIGlz IG51bGwgdGVybWluYXRlZC4KICAgICAgIGlmIChfX2xlbiA9PSAwKQogCV9fc1swXSA9ICdcMCc7 CkBAIC0xOTYsMTUgKzIwNiwyOSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgog ICAgIF9NX3B1dCh3Y2hhcl90KiBfX3MsIHNpemVfdCBfX21heGxlbiwgY29uc3Qgd2NoYXJfdCog X19mb3JtYXQsCiAJICAgY29uc3QgdG0qIF9fdG0pIGNvbnN0IHRocm93KCkKICAgICB7CisjaWZk ZWYgX0dMSUJDWFhfSEFWRV9XQ1NGVElNRV9MCiAgICAgICBjb25zdCBzaXplX3QgX19sZW4gPSB3 Y3NmdGltZV9sKF9fcywgX19tYXhsZW4sIF9fZm9ybWF0LCBfX3RtLAogCQkJCSAgICAgIChsb2Nh bGVfdClfTV9jX2xvY2FsZV90aW1lcHVuY3QpOworI2Vsc2UKKyAgICAgIF9fY19sb2NhbGUgX19v bGQgPSB1c2Vsb2NhbGUoX01fY19sb2NhbGVfdGltZXB1bmN0KTsKKyAgICAgIGNvbnN0IHNpemVf dCBfX2xlbiA9IHdjc2Z0aW1lKF9fcywgX19tYXhsZW4sIF9fZm9ybWF0LCBfX3RtKTsKKyAgICAg IHVzZWxvY2FsZShfX29sZCk7CisjZW5kaWYKICAgICAgIC8vIE1ha2Ugc3VyZSBfX3MgaXMgbnVs bCB0ZXJtaW5hdGVkLgogICAgICAgaWYgKF9fbGVuID09IDApCiAJX19zWzBdID0gTCdcMCc7CiAg ICAgfQogCisjaWZkZWYgX0dMSUJDWFhfSEFWRV9NQlNUT1dDU19MCisjZGVmaW5lIE1CU1RPV0NT X0woV0NTVFJJTkcsIFNUUklORywgTlVNQkVSLCBMT0NBTEUpCVwKKyAgbWJzdG93Y3NfbCAoV0NT VFJJTkcsIFNUUklORywgTlVNQkVSLCBMT0NBTEUpOworI2Vsc2UKKyAgLy8gInVzZWxvY2FsZSIg bXVzdCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIHRoaXMgbWFjcm8uCisjZGVmaW5lIE1CU1RPV0NT X0woV0NTVFJJTkcsIFNUUklORywgTlVNQkVSLCBMT0NBTEUpCVwKKyAgbWJzdG93Y3MgKFdDU1RS SU5HLCBTVFJJTkcsIE5VTUJFUik7CisjZW5kaWYKICNkZWZpbmUgV0lERV9MQU5HSU5GTyhNLEZN VCkgXAotCWZtdGxlbiA9IG1ic3Rvd2NzX2wgKGhvbGRlciwgbmxfbGFuZ2luZm9fbChGTVQsIChs b2NhbGVfdClfX2Nsb2MpLCBcCisJZm10bGVuID0gTUJTVE9XQ1NfTCAoaG9sZGVyLCBubF9sYW5n aW5mb19sKEZNVCwgKGxvY2FsZV90KV9fY2xvYyksIFwKIAkJMTI4LCAobG9jYWxlX3QpX19jbG9j KTsgXAogCWxhbmdzdHJpbmcgPSBuZXcgd2NoYXJfdFtmbXRsZW4gKyAxXTsgXAogCXdjc25jcHkg KGxhbmdzdHJpbmcsIGhvbGRlciwgZm10bGVuKTsgXApAQCAtMjgxLDYgKzMwNSw5IEBAIF9HTElC Q1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAJfQogICAgICAgZWxzZQogCXsKKyNpZm5kZWYg X0dMSUJDWFhfSEFWRV9NQlNUT1dDU19MCisJICBfX2NfbG9jYWxlIF9fb2xkID0gdXNlbG9jYWxl KF9fY2xvYyk7CisjZW5kaWYKIAkgIHdjaGFyX3QgKmxhbmdzdHJpbmcgPSAwOwogCSAgd2NoYXJf dCBob2xkZXJbMTI4XTsKIAkgIHNpemVfdCBmbXRsZW47CkBAIC0zNDIsNiArMzY5LDkgQEAgX0dM SUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAkgIFdJREVfTEFOR0lORk8oX01fYW1vbnRo MTAsIEFCTU9OXzEwKQogCSAgV0lERV9MQU5HSU5GTyhfTV9hbW9udGgxMSwgQUJNT05fMTEpCiAJ ICBXSURFX0xBTkdJTkZPKF9NX2Ftb250aDEyLCBBQk1PTl8xMikKKyNpZm5kZWYgX0dMSUJDWFhf SEFWRV9NQlNUT1dDU19MCisJICB1c2Vsb2NhbGUoX19vbGQpOworI2VuZGlmCiAJfQogICAgIH0K IApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L3RpbWVf bWVtYmVycy5oIGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUveHBnNy90aW1lX21lbWJlcnMu aApzaW1pbGFyaXR5IGluZGV4IDk1JQpyZW5hbWUgZnJvbSBsaWJzdGRjKystdjMvY29uZmlnL2xv Y2FsZS9kcmFnb25mbHkvdGltZV9tZW1iZXJzLmgKcmVuYW1lIHRvIGxpYnN0ZGMrKy12My9jb25m aWcvbG9jYWxlL3hwZzcvdGltZV9tZW1iZXJzLmgKaW5kZXggMDRiN2U5OTVkNmYuLjc0NzYzZGYw YzQwIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvdGlt ZV9tZW1iZXJzLmgKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUveHBnNy90aW1lX21l bWJlcnMuaApAQCAtMSw2ICsxLDYgQEAKLS8vIHN0ZDo6dGltZV9nZXQsIHN0ZDo6dGltZV9wdXQg aW1wbGVtZW50YXRpb24sIERyYWdvbkZseSB2ZXJzaW9uIC0qLSBDKysgLSotCisvLyBzdGQ6OnRp bWVfZ2V0LCBzdGQ6OnRpbWVfcHV0IGltcGxlbWVudGF0aW9uLCBYUEc3IHZlcnNpb24gLSotIEMr KyAtKi0KIAotLy8gQ29weXJpZ2h0IChDKSAyMDE1LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisvLyBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KIC8vCiAvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIElTTyBDKysg TGlicmFyeS4gIFRoaXMgbGlicmFyeSBpcyBmcmVlCiAvLyBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUKZGlmZiAtLWdpdCBhL2xpYnN0 ZGMrKy12My9jb25maWcvb3MvYWl4L2N0eXBlX2NvbmZpZ3VyZV9jaGFyLmNjIGIvbGlic3RkYysr LXYzL2NvbmZpZy9vcy9haXgvY3R5cGVfY29uZmlndXJlX2NoYXIuY2MKaW5kZXggYjEyYzBiZDQz NWMuLjg3MDQxN2NkNzc4IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvY29uZmlnL29zL2FpeC9j dHlwZV9jb25maWd1cmVfY2hhci5jYworKysgYi9saWJzdGRjKystdjMvY29uZmlnL29zL2FpeC9j dHlwZV9jb25maWd1cmVfY2hhci5jYwpAQCAtNDIsMjggKzQyLDgzIEBAIF9HTElCQ1hYX0JFR0lO X05BTUVTUEFDRV9WRVJTSU9OCiAgIGN0eXBlPGNoYXI+OjpjbGFzc2ljX3RhYmxlKCkgdGhyb3co KQogICB7IHJldHVybiAwOyB9CiAKKyNpZiBfR0xJQkNYWF9DX0xPQ0FMRV9JRUVFXzIwMDgKKyAg Y3R5cGU8Y2hhcj46OmN0eXBlKF9fY19sb2NhbGUgX19jbG9jLCBjb25zdCBtYXNrKiBfX3RhYmxl LCBib29sIF9fZGVsLAorCQkgICAgIHNpemVfdCBfX3JlZnMpCisgICAgOiBmYWNldChfX3JlZnMp LCBfTV9jX2xvY2FsZV9jdHlwZShfU19jbG9uZV9jX2xvY2FsZShfX2Nsb2MpKSwKKyAgICBfTV9k ZWwoX190YWJsZSAhPSAwICYmIF9fZGVsKSwKKyAgICBfTV90b3VwcGVyKE5VTEwpLCBfTV90b2xv d2VyKE5VTEwpLAorICAgIF9NX3RhYmxlKF9fdGFibGUgPyBfX3RhYmxlIDogY2xhc3NpY190YWJs ZSgpKSwKKyAgICBfTV93aWRlbl9vaygwKSwgX01fbmFycm93X29rKDApCisgICAgeworICAgICAg bWVtc2V0KF9NX3dpZGVuLCAwLCBzaXplb2YoX01fd2lkZW4pKTsKKyAgICAgIG1lbXNldChfTV9u YXJyb3csIDAsIHNpemVvZihfTV9uYXJyb3cpKTsKKyAgICB9CisjZWxzZQogICBjdHlwZTxjaGFy Pjo6Y3R5cGUoX19jX2xvY2FsZSwgY29uc3QgbWFzayogX190YWJsZSwgYm9vbCBfX2RlbCwKIAkJ ICAgICBzaXplX3QgX19yZWZzKQotICA6IGZhY2V0KF9fcmVmcyksIF9NX2RlbChfX3RhYmxlICE9 IDAgJiYgX19kZWwpLAorICA6IGZhY2V0KF9fcmVmcyksIF9NX2NfbG9jYWxlX2N0eXBlKF9TX2dl dF9jX2xvY2FsZSgpKSwKKyAgX01fZGVsKF9fdGFibGUgIT0gMCAmJiBfX2RlbCksCiAgIF9NX3Rv dXBwZXIoTlVMTCksIF9NX3RvbG93ZXIoTlVMTCksCi0gIF9NX3RhYmxlKF9fdGFibGUgPyBfX3Rh YmxlIDogY2xhc3NpY190YWJsZSgpKQorICBfTV90YWJsZShfX3RhYmxlID8gX190YWJsZSA6IGNs YXNzaWNfdGFibGUoKSksCisgIF9NX3dpZGVuX29rKDApLCBfTV9uYXJyb3dfb2soMCkKICAgewor ICAgIGNoYXIqIF9fb2xkID0gc2V0bG9jYWxlKExDX0NUWVBFLCBOVUxMKTsKKyAgICBjaGFyKiBf X3NhdiA9IE5VTEw7CisgICAgaWYgKHN0cmNtcChfX29sZCwgIkMiKSkKKyAgICAgIHsKKwljb25z dCBzaXplX3QgX19sZW4gPSBzdHJsZW4oX19vbGQpICsgMTsKKwlfX3NhdiA9IG5ldyBjaGFyW19f bGVuXTsKKwltZW1jcHkoX19zYXYsIF9fb2xkLCBfX2xlbik7CisJc2V0bG9jYWxlKExDX0NUWVBF LCAiQyIpOworICAgICAgfQorICAgIGlmIChfX3NhdikKKyAgICAgIHsKKwlzZXRsb2NhbGUoTENf Q1RZUEUsIF9fc2F2KTsKKwlkZWxldGUgW10gX19zYXY7CisgICAgICB9CiAgICAgbWVtc2V0KF9N X3dpZGVuLCAwLCBzaXplb2YoX01fd2lkZW4pKTsKLSAgICBfTV93aWRlbl9vayA9IDA7CiAgICAg bWVtc2V0KF9NX25hcnJvdywgMCwgc2l6ZW9mKF9NX25hcnJvdykpOwotICAgIF9NX25hcnJvd19v ayA9IDA7CiAgIH0KKyNlbmRpZgogCisjaWYgX0dMSUJDWFhfQ19MT0NBTEVfSUVFRV8yMDA4CiAg IGN0eXBlPGNoYXI+OjpjdHlwZShjb25zdCBtYXNrKiBfX3RhYmxlLCBib29sIF9fZGVsLCBzaXpl X3QgX19yZWZzKQotICA6IGZhY2V0KF9fcmVmcyksIF9NX2RlbChfX3RhYmxlICE9IDAgJiYgX19k ZWwpLAorICAgIDogZmFjZXQoX19yZWZzKSwgX01fY19sb2NhbGVfY3R5cGUoX1NfZ2V0X2NfbG9j YWxlKCkpLAorICAgIF9NX2RlbChfX3RhYmxlICE9IDAgJiYgX19kZWwpLAorICAgIF9NX3RvdXBw ZXIoTlVMTCksIF9NX3RvbG93ZXIoTlVMTCksCisgICAgX01fdGFibGUoX190YWJsZSA/IF9fdGFi bGUgOiBjbGFzc2ljX3RhYmxlKCkpLAorICAgIF9NX3dpZGVuX29rKDApLCBfTV9uYXJyb3dfb2so MCkKKyAgICB7CisgICAgICBtZW1zZXQoX01fd2lkZW4sIDAsIHNpemVvZihfTV93aWRlbikpOwor ICAgICAgbWVtc2V0KF9NX25hcnJvdywgMCwgc2l6ZW9mKF9NX25hcnJvdykpOworICAgIH0KKyNl bHNlCisgIGN0eXBlPGNoYXI+OjpjdHlwZShjb25zdCBtYXNrKiBfX3RhYmxlLCBib29sIF9fZGVs LCBzaXplX3QgX19yZWZzKQorICA6IGZhY2V0KF9fcmVmcyksIF9NX2NfbG9jYWxlX2N0eXBlKF9T X2dldF9jX2xvY2FsZSgpKSwKKyAgX01fZGVsKF9fdGFibGUgIT0gMCAmJiBfX2RlbCksCiAgIF9N X3RvdXBwZXIoTlVMTCksIF9NX3RvbG93ZXIoTlVMTCksCi0gIF9NX3RhYmxlKF9fdGFibGUgPyBf X3RhYmxlIDogY2xhc3NpY190YWJsZSgpKQorICBfTV90YWJsZShfX3RhYmxlID8gX190YWJsZSA6 IGNsYXNzaWNfdGFibGUoKSksCisgIF9NX3dpZGVuX29rKDApLCBfTV9uYXJyb3dfb2soMCkKICAg eworICAgIGNoYXIqIF9fb2xkID0gc2V0bG9jYWxlKExDX0NUWVBFLCBOVUxMKTsKKyAgICBjaGFy KiBfX3NhdiA9IE5VTEw7CisgICAgaWYgKHN0cmNtcChfX29sZCwgIkMiKSkKKyAgICAgIHsKKwlj b25zdCBzaXplX3QgX19sZW4gPSBzdHJsZW4oX19vbGQpICsgMTsKKwlfX3NhdiA9IG5ldyBjaGFy W19fbGVuXTsKKwltZW1jcHkoX19zYXYsIF9fb2xkLCBfX2xlbik7CisJc2V0bG9jYWxlKExDX0NU WVBFLCAiQyIpOworICAgICAgfQorICAgIGlmIChfX3NhdikKKyAgICAgIHsKKwlzZXRsb2NhbGUo TENfQ1RZUEUsIF9fc2F2KTsKKwlkZWxldGUgW10gX19zYXY7CisgICAgICB9CiAgICAgbWVtc2V0 KF9NX3dpZGVuLCAwLCBzaXplb2YoX01fd2lkZW4pKTsKLSAgICBfTV93aWRlbl9vayA9IDA7CiAg ICAgbWVtc2V0KF9NX25hcnJvdywgMCwgc2l6ZW9mKF9NX25hcnJvdykpOwotICAgIF9NX25hcnJv d19vayA9IDA7CiAgIH0KKyNlbmRpZgogCiAgIGNoYXIKICAgY3R5cGU8Y2hhcj46OmRvX3RvdXBw ZXIoY2hhciBfX2MpIGNvbnN0CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlnL29zL2du dS1saW51eC9jdHlwZV9jb25maWd1cmVfY2hhci5jYyBiL2xpYnN0ZGMrKy12My9jb25maWcvb3Mv Z251LWxpbnV4L2N0eXBlX2NvbmZpZ3VyZV9jaGFyLmNjCmluZGV4IGQ2YWI3MzE3NWI4Li45OTFj YTMyZDlkNSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZy9vcy9nbnUtbGludXgvY3R5 cGVfY29uZmlndXJlX2NoYXIuY2MKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9vcy9nbnUtbGlu dXgvY3R5cGVfY29uZmlndXJlX2NoYXIuY2MKQEAgLTM4LDcgKzM4LDcgQEAgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJT04KIAogLy8gSW5mb3JtYXRpb24gYXMgZ2xlYW5lZCBmcm9tIC91 c3IvaW5jbHVkZS9jdHlwZS5oCiAKLSNpZiBfR0xJQkNYWF9DX0xPQ0FMRV9HTlUKKyNpZiBfR0xJ QkNYWF9DX0xPQ0FMRV9HTlUgfHwgX0dMSUJDWFhfQ19MT0NBTEVfWFBHNwogICBjb25zdCBjdHlw ZV9iYXNlOjptYXNrKgogICBjdHlwZTxjaGFyPjo6Y2xhc3NpY190YWJsZSgpIHRocm93KCkKICAg eyByZXR1cm4gX1NfZ2V0X2NfbG9jYWxlKCktPl9fY3R5cGVfYjsgfQpAQCAtNzAsNyArNzAsNyBA QCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICB9CiAjZW5kaWYKIAotI2lmIF9H TElCQ1hYX0NfTE9DQUxFX0dOVQorI2lmIF9HTElCQ1hYX0NfTE9DQUxFX0dOVSB8fCBfR0xJQkNY WF9DX0xPQ0FMRV9YUEc3CiAgIGN0eXBlPGNoYXI+OjpjdHlwZShfX2NfbG9jYWxlIF9fY2xvYywg Y29uc3QgbWFzayogX190YWJsZSwgYm9vbCBfX2RlbCwKIAkJICAgICBzaXplX3QgX19yZWZzKQog ICA6IGZhY2V0KF9fcmVmcyksIF9NX2NfbG9jYWxlX2N0eXBlKF9TX2Nsb25lX2NfbG9jYWxlKF9f Y2xvYykpLApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9jKys5OC9sb2NhbGVfaW5pdC5j YyBiL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvbG9jYWxlX2luaXQuY2MKaW5kZXggNGJlYzUwYmY1 OTUuLmRjZWE3OTlhZWFmIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2xvY2Fs ZV9pbml0LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvbG9jYWxlX2luaXQuY2MKQEAg LTI5Niw3ICsyOTYsMTkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAg IF9TX2dsb2JhbCA9IF9fb3RoZXIuX01faW1wbDsKICAgICAgIGNvbnN0IHN0cmluZyBfX290aGVy X25hbWUgPSBfX290aGVyLm5hbWUoKTsKICAgICAgIGlmIChfX290aGVyX25hbWUgIT0gIioiKQor I2lmZGVmIF9HTElCQ1hYX0NfTE9DQUxFX0dOVQogCXNldGxvY2FsZShMQ19BTEwsIF9fb3RoZXJf bmFtZS5jX3N0cigpKTsKKyNlbHNlCisgICAgICAgIHsKKwkgIC8vIEluIGdlbmVyYWwsIHBhc3Np bmcgIkxDX0NUWVBFPUM7TENfTlVNRVJJUVVFPUM7Li4uIiBhcworCSAgLy8gYXJndW1lbnQgdG8g c2V0bG9jYWxlIGlzbid0IGFsbG93ZWQuCisJICBpZiAoX19vdGhlci5fTV9pbXBsLT5fTV9jaGVj a19zYW1lX25hbWUoKSkKKwkgICAgc2V0bG9jYWxlKExDX0FMTCwgX19vdGhlcl9uYW1lLmNfc3Ry KCkpOworCSAgZWxzZQorCSAgICBmb3IgKHNpemVfdCBfX2kgPSAwOyBfX2kgPCBfX290aGVyLl9T X2NhdGVnb3JpZXNfc2l6ZTsgKytfX2kpCisJICAgICAgc2V0bG9jYWxlKF9faSwgX19vdGhlci5f TV9pbXBsLT5fTV9uYW1lc1tfX2ldKTsKKwl9CisjZW5kaWYKICAgICB9CiAKICAgICAvLyBSZWZl cmVuY2UgY291bnQgc2FuaXR5IGNoZWNrOiBvbmUgcmVmZXJlbmNlIHJlbW92ZWQgZm9yIHRoZQpk aWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93 Y2hhcl90LzIuY2MgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2lu L3djaGFyX3QvMi5jYwppbmRleCBlYTBjNDNhMjBmYy4uNzFlMTk4ODQzZDIgMTAwNjQ0Ci0tLSBh L2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC8yLmNj CisrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJf dC8yLmNjCkBAIC0xLDQgKzEsNSBAQAogLy8geyBkZy1yZXF1aXJlLW5hbWVkbG9jYWxlICJlbl9V Uy5JU084ODU5LTEiIH0KKy8vIHsgZGctZXhjZXNzLWVycm9ycyAid2NoYXJfdCBvdmVyZmxvdyIg eyB4ZmFpbCB7IHdjaGFyX3RfY2hhcjE2X3RfY29tcGF0aWJsZSB9IH0gfQogCiAvLyAyMDAzLTAy LTA2ICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CiAKZGlmZiAtLWdpdCBhL2xp YnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC8zLmNjIGIv bGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93Y2hhcl90LzMuY2MK aW5kZXggNTQyMDZmODAwMGEuLmZmZGU5NDEwOGExIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMv dGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvMy5jYworKysgYi9saWJzdGRj KystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvMy5jYwpAQCAtMSw0 ICsxLDUgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuSVNPLTg4NTktMTUi IH0KKy8vIHsgZGctZXhjZXNzLWVycm9ycyAid2NoYXJfdCBvdmVyZmxvdyIgeyB4ZmFpbCB7IHdj aGFyX3RfY2hhcjE2X3RfY29tcGF0aWJsZSB9IH0gfQogCiAvLyAyMDAzLTAyLTA2ICBQZXR1ciBS dW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90 ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC80LmNjIGIvbGlic3RkYysrLXYz L3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93Y2hhcl90LzQuY2MKaW5kZXggZjI3ZDY2 N2RhZjUuLjkxOTNiNTk4MTYyIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIy X2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvNC5jYworKysgYi9saWJzdGRjKystdjMvdGVzdHN1 aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvNC5jYwpAQCAtMSw0ICsxLDUgQEAKIC8v IHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuVVRGLTgiIH0KKy8vIHsgZGctZXhjZXNz LWVycm9ycyAid2NoYXJfdCBvdmVyZmxvdyIgeyB4ZmFpbCB7IHdjaGFyX3RfY2hhcjE2X3RfY29t cGF0aWJsZSB9IH0gfQogCiAvLyAyMDAzLTAyLTA2ICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJy MDJAcnUuaXM+CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxl L2NvZGVjdnQvaW4vd2NoYXJfdC83LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2Nh bGUvY29kZWN2dC9pbi93Y2hhcl90LzcuY2MKaW5kZXggYjUzODNhZjY1N2MuLmU0YjQyOGM5ZmM2 IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2lu L3djaGFyX3QvNy5jYworKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2Rl Y3Z0L2luL3djaGFyX3QvNy5jYwpAQCAtMSw0ICsxLDUgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1l ZGxvY2FsZSAiZW5fVVMuVVRGLTgiIH0KKy8vIHsgZGctZXhjZXNzLWVycm9ycyAid2NoYXJfdCBv dmVyZmxvdyIgeyB4ZmFpbCB7IHdjaGFyX3RfY2hhcjE2X3RfY29tcGF0aWJsZSB9IH0gfQogCiAv LyAyMDAzLTAyLTA2ICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CiAKZGlmZiAt LWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJf dC84LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93Y2hh cl90LzguY2MKaW5kZXggMWQ0MGExNzIzYTQuLmZmYmQ4NTY2NDBiIDEwMDY0NAotLS0gYS9saWJz dGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOC5jYworKysg Yi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOC5j YwpAQCAtMSw0ICsxLDUgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuVVRG LTgiIH0KKy8vIHsgZGctZXhjZXNzLWVycm9ycyAid2NoYXJfdCBvdmVyZmxvdyIgeyB4ZmFpbCB7 IHdjaGFyX3RfY2hhcjE2X3RfY29tcGF0aWJsZSB9IH0gfQogCiAvLyAyMDAzLTAyLTA2ICBQZXR1 ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12 My90ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC85LmNjIGIvbGlic3RkYysr LXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93Y2hhcl90LzkuY2MKaW5kZXggOTgw MWUwODU2ODMuLjVlNDJhMzczNTQ3IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRl LzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOS5jYworKysgYi9saWJzdGRjKystdjMvdGVz dHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOS5jYwpAQCAtMSw0ICsxLDUgQEAK IC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuVVRGLTgiIH0KKy8vIHsgZGctZXhj ZXNzLWVycm9ycyAid2NoYXJfdCBvdmVyZmxvdyIgeyB4ZmFpbCB7IHdjaGFyX3RfY2hhcjE2X3Rf Y29tcGF0aWJsZSB9IH0gfQogCiAvLyAyMDAzLTAyLTA2ICBQZXR1ciBSdW5vbGZzc29uICA8cGV0 dXJyMDJAcnUuaXM+CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9j YWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNC5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUv MjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNC5jYwppbmRleCBmNzBkMGZjNmM1OC4u MDFiZjFhNTc5MTcgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxl L2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNC5jYworKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRl LzIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC93Y2hhcl90LzQuY2MKQEAgLTEsNCArMSw1IEBACiAv LyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImVuX1VTLlVURi04IiB9CisvLyB7IGRnLWV4Y2Vz cy1lcnJvcnMgIndjaGFyX3Qgb3ZlcmZsb3ciIHsgeGZhaWwgeyB3Y2hhcl90X2NoYXIxNl90X2Nv bXBhdGlibGUgfSB9IH0KIAogLy8gMjAwMy0wMi0wNiAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVy cjAyQHJ1LmlzPgogCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2Fs ZS9jb2RlY3Z0L291dC93Y2hhcl90LzQuY2MgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xv Y2FsZS9jb2RlY3Z0L291dC93Y2hhcl90LzQuY2MKaW5kZXggNWNkZTBiNjYzMzEuLjI1ZGZhMDJi OTlkIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0 L291dC93Y2hhcl90LzQuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUv Y29kZWN2dC9vdXQvd2NoYXJfdC80LmNjCkBAIC0xLDQgKzEsNSBAQAogLy8geyBkZy1yZXF1aXJl LW5hbWVkbG9jYWxlICJlbl9VUy5VVEYtOCIgfQorLy8geyBkZy1leGNlc3MtZXJyb3JzICJ3Y2hh cl90IG92ZXJmbG93IiB7IHhmYWlsIHsgd2NoYXJfdF9jaGFyMTZfdF9jb21wYXRpYmxlIH0gfSB9 CiAKIC8vIDIwMDMtMDItMDYgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KIApk aWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC91bnNo aWZ0L3djaGFyX3QvNC5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVj dnQvdW5zaGlmdC93Y2hhcl90LzQuY2MKaW5kZXggMWU0Y2U1YThlM2UuLjVkMDBhNjJjOWE5IDEw MDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hp ZnQvd2NoYXJfdC80LmNjCisrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2Nv ZGVjdnQvdW5zaGlmdC93Y2hhcl90LzQuY2MKQEAgLTEsNCArMSw1IEBACiAvLyB7IGRnLXJlcXVp cmUtbmFtZWRsb2NhbGUgImVuX1VTLlVURi04IiB9CisvLyB7IGRnLWV4Y2Vzcy1lcnJvcnMgIndj aGFyX3Qgb3ZlcmZsb3ciIHsgeGZhaWwgeyB3Y2hhcl90X2NoYXIxNl90X2NvbXBhdGlibGUgfSB9 IH0KIAogLy8gMjAwMy0wMi0wNiAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgog CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9pcy93 Y2hhcl90LzIuY2MgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9pcy93 Y2hhcl90LzIuY2MKaW5kZXggNTI1NGM5NjcwMTguLjFmMjg2OWU0M2Y2IDEwMDY0NAotLS0gYS9s aWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9pcy93Y2hhcl90LzIuY2MKKysr IGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvaXMvd2NoYXJfdC8yLmNj CkBAIC0xLDUgKzEsNSBAQAotLy8geyBkZy1kbyBydW4geyB4ZmFpbCB7ICEgeyAqLSotbGludXgq ICotKi1nbnUqIH0gfSB9IH0KIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZGVfREUuSVNP ODg1OS0xNSIgfQorLy8geyBkZy1yZXF1aXJlLWxvY2FsZW1vZGVsICJnbnUgeHBnNyIgfQogCiAv LyBDb3B5cmlnaHQgKEMpIDIwMDAtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K IC8vCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUv Y29ucy8yOTIxNy5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9j b25zLzI5MjE3LmNjCmluZGV4IGE2MGU5OGVlZTc2Li4wY2ZjYzA0MmIxYyAxMDA2NDQKLS0tIGEv bGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvMjkyMTcuY2MKKysr IGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvMjkyMTcuY2MK QEAgLTEsNCArMSw1IEBACiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImVuX1VTLlVURi04 IiB9CisvLyB7IGRnLXJlcXVpcmUtbG9jYWxlbW9kZWwgImdudSIgfQogCiAvLyBDb3B5cmlnaHQg KEMpIDIwMDYtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIC8vCmRpZmYgLS1n aXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy8zODM2OC5j YyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzM4MzY4LmNj CmluZGV4IDhkOGYwN2YwMWNjLi45NGZjZmUzYWM4YiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYz L3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvMzgzNjguY2MKKysrIGIvbGlic3RkYysr LXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvMzgzNjguY2MKQEAgLTEsNCArMSw1 IEBACiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImVuX1VTLklTTzg4NTktMSIgfQorLy8g eyBkZy1yZXF1aXJlLWxvY2FsZW1vZGVsICJnbnUiIH0KIAogLy8gQ29weXJpZ2h0IChDKSAyMDA4 LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAvLwpkaWZmIC0tZ2l0IGEvbGli c3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvNDAxODQuY2MgYi9saWJz dGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy80MDE4NC5jYwppbmRleCA2 YThlZmY4NzM3Yi4uZDQxZWUxMjYwM2IgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3Vp dGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzQwMTg0LmNjCisrKyBiL2xpYnN0ZGMrKy12My90ZXN0 c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzQwMTg0LmNjCkBAIC0xLDQgKzEsNSBAQAogLy8g eyBkZy1yZXF1aXJlLW5hbWVkbG9jYWxlICJqYV9KUC5ldWNKUCIgfQorLy8geyBkZy1yZXF1aXJl LWxvY2FsZW1vZGVsICJnbnUiIH0KIAogLy8gQ29weXJpZ2h0IChDKSAyMDA5LTIwMjEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAvLwpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rl c3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvNS5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3Vp dGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzUuY2MKaW5kZXggNjZiOTM5ZTIyMjguLjk5YWJmNTY2 YjgxIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUv Y29ucy81LmNjCisrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9j b25zLzUuY2MKQEAgLTMsNiArMyw3IEBACiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImVz X01YIiB9CiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImZyX0ZSIiB9CiAvLyB7IGRnLXJl cXVpcmUtbmFtZWRsb2NhbGUgIml0X0lUIiB9CisvLyB7IGRnLXJlcXVpcmUtbG9jYWxlbW9kZWwg ImdudSIgfQogCiAvLyAyMDAwLTA5LTEzIEJlbmphbWluIEtvc25payA8YmtvekByZWRoYXQuY29t PgogCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUv Z2xvYmFsX2xvY2FsZV9vYmplY3RzLzE0MDcxLmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8y Ml9sb2NhbGUvbG9jYWxlL2dsb2JhbF9sb2NhbGVfb2JqZWN0cy8xNDA3MS5jYwppbmRleCBlYTM5 OTJiMDNmNi4uMzBkNGEzMWE2NGMgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUv MjJfbG9jYWxlL2xvY2FsZS9nbG9iYWxfbG9jYWxlX29iamVjdHMvMTQwNzEuY2MKKysrIGIvbGli c3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2dsb2JhbF9sb2NhbGVfb2JqZWN0 cy8xNDA3MS5jYwpAQCAtMSw1ICsxLDYgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAi aXNfSVMuSVNPODg1OS0xIiB9CiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImVuX1VTLklT Tzg4NTktMSIgfQorLy8geyBkZy1yZXF1aXJlLWxvY2FsZW1vZGVsICJnbnUiIH0KIAogLy8gMjAw NC0wMi0wOSAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgogCmRpZmYgLS1naXQg YS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy8xMzYzMS5jYyBiL2xp YnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzLzEzNjMxLmNjCmluZGV4IGI4 YWUzZDRmMTQwLi4yNTA5YmJhMDg0NSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0 ZS8yMl9sb2NhbGUvbWVzc2FnZXMvMTM2MzEuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0 ZS8yMl9sb2NhbGUvbWVzc2FnZXMvMTM2MzEuY2MKQEAgLTEsNCArMSw1IEBACiAvLyB7IGRnLXJl cXVpcmUtbmFtZWRsb2NhbGUgImZyX0ZSLklTTzg4NTktMTUiIH0KKy8vIHsgZGctcmVxdWlyZS1s b2NhbGVtb2RlbCAiZ251IiB9CiAKIC8vIENvcHlyaWdodCAoQykgMjAxNC0yMDIxIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogLy8KZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0 c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJlcnMvY2hhci8xLmNjIGIvbGlic3RkYysrLXYz L3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzEuY2MKaW5kZXggYzRk OTcyMTI0ZjAuLmZkZjRhMGFmMDE4IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRl LzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMS5jYworKysgYi9saWJzdGRjKystdjMv dGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMS5jYwpAQCAtMSw0ICsx LDUgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZGVfREUuSVNPODg1OS0xNSIgfQor Ly8geyBkZy1yZXF1aXJlLWxvY2FsZW1vZGVsICJnbnUiIH0KIAogLy8gMjAwMS0wNy0xNyBCZW5q YW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12 My90ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJlcnMvY2hhci8yLmNjIGIvbGlic3Rk YysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzIuY2MKaW5k ZXggODFkOTE0ZjVjMzcuLjMzNDVmNDNiMzQyIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVz dHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMi5jYworKysgYi9saWJzdGRj KystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMi5jYwpAQCAt MSw0ICsxLDUgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZnJfRlIuSVNPODg1OS0x NSIgfQorLy8geyBkZy1yZXF1aXJlLWxvY2FsZW1vZGVsICJnbnUiIH0KIAogLy8gMjAwMS0wNy0x NyBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CiAKZGlmZiAtLWdpdCBhL2xpYnN0 ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJlcnMvY2hhci8zLmNjIGIv bGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzMu Y2MKaW5kZXggNWE1MDNlZjJjNDkuLjFkMmY3YWQzMTYyIDEwMDY0NAotLS0gYS9saWJzdGRjKyst djMvdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMy5jYworKysgYi9s aWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMy5j YwpAQCAtMSw1ICsxLDYgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuSVNP ODg1OS0xIiB9CiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImZyX0ZSLklTTzg4NTktMTUi IH0KKy8vIHsgZGctcmVxdWlyZS1sb2NhbGVtb2RlbCAiZ251IiB9CiAKIC8vIDIwMDEtMDctMTcg QmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgogCmRpZmYgLS1naXQgYS9saWJzdGRj KystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvd3JhcHBlZF9l bnYuY2MgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJz L2NoYXIvd3JhcHBlZF9lbnYuY2MKaW5kZXggMzVlN2Y2Yzc0MGMuLjk3NmI0ZDlmYmY2IDEwMDY0 NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJz L2NoYXIvd3JhcHBlZF9lbnYuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2Nh bGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyL3dyYXBwZWRfZW52LmNjCkBAIC0xLDYgKzEsNyBAQAog Ly8geyBkZy1yZXF1aXJlLW5hbWVkbG9jYWxlICJkZV9ERS5JU084ODU5LTE1IiB9CiAvLyB7IGRn LXJlcXVpcmUtbmFtZWRsb2NhbGUgImZyX0ZSLklTTzg4NTktMTUiIH0KIC8vIHsgZGctcmVxdWly ZS1uYW1lZGxvY2FsZSAiZW5fVVMuSVNPODg1OS0xIiB9CisvLyB7IGRnLXJlcXVpcmUtbG9jYWxl bW9kZWwgImdudSIgfQogCiAvLyAyMDAxLTA4LTE1IEJlbmphbWluIEtvc25payAgPGJrb3pAcmVk aGF0LmNvbT4KIApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMl9sb2NhbGUv bWVzc2FnZXMvbWVtYmVycy9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjIGIvbGlic3RkYysrLXYzL3Rl c3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyL3dyYXBwZWRfbG9jYWxlLmNj CmluZGV4IGE0NGJmMTQ3NmIyLi5iMTQzZDMzYTRjYyAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYz L3Rlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyL3dyYXBwZWRfbG9jYWxl LmNjCisrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJl cnMvY2hhci93cmFwcGVkX2xvY2FsZS5jYwpAQCAtMiw2ICsyLDcgQEAKIC8vIHsgZGctcmVxdWly ZS1uYW1lZGxvY2FsZSAiZGVfREUuSVNPODg1OS0xNSIgfQogLy8geyBkZy1yZXF1aXJlLW5hbWVk bG9jYWxlICJmcl9GUi5JU084ODU5LTE1IiB9CiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUg ImVuX1VTLklTTzg4NTktMSIgfQorLy8geyBkZy1yZXF1aXJlLWxvY2FsZW1vZGVsICJnbnUiIH0K IAogLy8gMjAwMS0wOC0xNSBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CiAKZGlm ZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzX2J5bmFt ZS9uYW1lZF9lcXVpdmFsZW5jZS5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxl L21lc3NhZ2VzX2J5bmFtZS9uYW1lZF9lcXVpdmFsZW5jZS5jYwppbmRleCAxMDA2ZjIwYzk5Ni4u ZmFiZjI4MWQzZTYgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxl L21lc3NhZ2VzX2J5bmFtZS9uYW1lZF9lcXVpdmFsZW5jZS5jYworKysgYi9saWJzdGRjKystdjMv dGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlc19ieW5hbWUvbmFtZWRfZXF1aXZhbGVuY2UuY2MK QEAgLTEsNCArMSw1IEBACiAvLyB7IGRnLXJlcXVpcmUtbmFtZWRsb2NhbGUgImRlX0RFLklTTzg4 NTktMTUiIH0KKy8vIHsgZGctcmVxdWlyZS1sb2NhbGVtb2RlbCAiZ251IiB9CiAKIC8vIDIwMDEt MDctMTcgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgogCmRpZmYgLS1naXQgYS9s aWJzdGRjKystdjMvdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJf dC8xMTMwNS0xLmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVm L292ZXJmbG93L3djaGFyX3QvMTEzMDUtMS5jYwppbmRleCBjNzQ3ZjdiZmIwMi4uNDY3MTNjY2Ex MTggMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1 Zi9vdmVyZmxvdy93Y2hhcl90LzExMzA1LTEuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0 ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMS5jYwpAQCAtMSw0 ICsxLDUgQEAKIC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuVVRGLTgiIH0KKy8v IHsgZGctZXhjZXNzLWVycm9ycyAid2NoYXJfdCBvdmVyZmxvdyIgeyB4ZmFpbCB7IHdjaGFyX3Rf Y2hhcjE2X3RfY29tcGF0aWJsZSB9IH0gfQogCiAvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAyMSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIC8vCmRpZmYgLS1naXQgYS9saWJzdGRjKyst djMvdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJfdC8xMTMwNS0y LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93 L3djaGFyX3QvMTEzMDUtMi5jYwppbmRleCA3NmEzODc3NjhmZS4uYTNhNGJiZjU4MzMgMTAwNjQ0 Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxv dy93Y2hhcl90LzExMzA1LTIuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yN19pby9i YXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMi5jYwpAQCAtMSw0ICsxLDUgQEAK IC8vIHsgZGctcmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuVVRGLTgiIH0KKy8vIHsgZGctZXhj ZXNzLWVycm9ycyAid2NoYXJfdCBvdmVyZmxvdyIgeyB4ZmFpbCB7IHdjaGFyX3RfY2hhcjE2X3Rf Y29tcGF0aWJsZSB9IH0gfQogCiAvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAyMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KIC8vCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1 aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJfdC8xMTMwNS0zLmNjIGIvbGli c3RkYysrLXYzL3Rlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3Qv MTEzMDUtMy5jYwppbmRleCAyNGQxOTI5MjFjYi4uMmEzMTQ1ODk3MTQgMTAwNjQ0Ci0tLSBhL2xp YnN0ZGMrKy12My90ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy93Y2hhcl90 LzExMzA1LTMuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yN19pby9iYXNpY19maWxl YnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMy5jYwpAQCAtMSw0ICsxLDUgQEAKIC8vIHsgZGct cmVxdWlyZS1uYW1lZGxvY2FsZSAiZW5fVVMuVVRGLTgiIH0KKy8vIHsgZGctZXhjZXNzLWVycm9y cyAid2NoYXJfdCBvdmVyZmxvdyIgeyB4ZmFpbCB7IHdjaGFyX3RfY2hhcjE2X3RfY29tcGF0aWJs ZSB9IH0gfQogCiAvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KIC8vCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzI3X2lv L2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJfdC8xMTMwNS00LmNjIGIvbGlic3RkYysrLXYz L3Rlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtNC5j YwppbmRleCAyYzBhMmFiNjFkYi4uNzEzOTNiYmQyNTUgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12 My90ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy93Y2hhcl90LzExMzA1LTQu Y2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJm bG93L3djaGFyX3QvMTEzMDUtNC5jYwpAQCAtMSw0ICsxLDUgQEAKIC8vIHsgZGctcmVxdWlyZS1u YW1lZGxvY2FsZSAiZW5fVVMuVVRGLTgiIH0KKy8vIHsgZGctZXhjZXNzLWVycm9ycyAid2NoYXJf dCBvdmVyZmxvdyIgeyB4ZmFpbCB7IHdjaGFyX3RfY2hhcjE2X3RfY29tcGF0aWJsZSB9IH0gfQog CiAvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KIC8vCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlL2xpYi9kZy1vcHRpb25z LmV4cCBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvbGliL2RnLW9wdGlvbnMuZXhwCmluZGV4IDUx NjBlNGE3MmQxLi5jNTI2NjNkMzBhZiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0 ZS9saWIvZGctb3B0aW9ucy5leHAKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9saWIvZGct b3B0aW9ucy5leHAKQEAgLTg4LDYgKzg4LDE1IEBAIHByb2MgZGctcmVxdWlyZS1uYW1lZGxvY2Fs ZSB7IGFyZ3MgfSB7CiAgICAgcmV0dXJuCiB9CiAKK3Byb2MgZGctcmVxdWlyZS1sb2NhbGVtb2Rl bCB7IGFyZ3MgfSB7CisgICAgaWYgeyAhWyBjaGVja192M190YXJnZXRfbG9jYWxlbW9kZWwgW2xp bmRleCAkYXJncyAxXSBdIH0geworCXVwdmFyIGRnLWRvLXdoYXQgZGctZG8td2hhdAorCXNldCBk Zy1kby13aGF0IFtsaXN0IFtsaW5kZXggJHtkZy1kby13aGF0fSAwXSAiTiIgIlAiXQorCXJldHVy bgorICAgIH0KKyAgICByZXR1cm4KK30KKwogcHJvYyBkZy1yZXF1aXJlLXNoYXJlZGxpYiB7IGFy Z3MgfSB7CiAgICAgaWYgeyAhWyBjaGVja192M190YXJnZXRfc2hhcmVkbGliIF0gfSB7CiAJdXB2 YXIgZGctZG8td2hhdCBkZy1kby13aGF0CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1 aXRlL2xpYi9saWJzdGRjKysuZXhwIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9saWIvbGlic3Rk YysrLmV4cAppbmRleCAzMGE0MzQ1YjE0Zi4uODFhZThiMDkxYmIgMTAwNjQ0Ci0tLSBhL2xpYnN0 ZGMrKy12My90ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy5leHAKKysrIGIvbGlic3RkYysrLXYzL3Rl c3RzdWl0ZS9saWIvbGlic3RkYysrLmV4cApAQCAtOTA0LDYgKzkwNCwxMSBAQCBwcm9jIGNoZWNr X3YzX3RhcmdldF9uYW1lZGxvY2FsZSB7IGFyZ3MgfSB7CiAJcHV0cyAkZiAiICAgIHN0cmNweShy ZXN1bHQsIG5hbWUpOyIKIAlwdXRzICRmICIjaWYgZGVmaW5lZCBfX0ZyZWVCU0RfXyB8fCBkZWZp bmVkIF9fRHJhZ29uRmx5X18gfHwgZGVmaW5lZCBfX05ldEJTRF9fIgogCXB1dHMgJGYgIiAgICAv KiBmYWxsLXRocm91Z2ggKi8iCisJcHV0cyAkZiAiI2VsaWYgZGVmaW5lZCBfQUlYIgorCXB1dHMg JGYgIiAgICBjaGFyICpwID0gc3Ryc3RyKHJlc3VsdCwgXCJJU084ODU5LTE1XCIpOyIKKwlwdXRz ICRmICIgICAgaWYgKHApIHsiCisJcHV0cyAkZiAiICAgICAgIHN0cmNweShwLCBcIjg4NTktMTVc Iik7IgorCXB1dHMgJGYgIiAgICB9IgogCXB1dHMgJGYgIiNlbHNlIgogCXB1dHMgJGYgIiAgICBp ZiAoc3Ryc3RyKHJlc3VsdCwgXCJJU084ODU5LTE1XCIpKSB7IgogCXB1dHMgJGYgIiAgICAgICAg c3RyY2F0KHJlc3VsdCwgXCJAZXVyb1wiKTsiCkBAIC05NTQsNiArOTU5LDMyIEBAIHByb2MgY2hl Y2tfdjNfdGFyZ2V0X25hbWVkbG9jYWxlIHsgYXJncyB9IHsKICAgICB9XQogfQogCisjIFJldHVy biAxIGlmIHRoZSBsb2NhbGUgbW9kZWwgaXMgaW1wbGVtZW50ZWQuCitwcm9jIGNoZWNrX3YzX3Rh cmdldF9sb2NhbGVtb2RlbCB7IGFyZ3MgfSB7CisgICAgc2V0IGtleSAiZXRfbG9jYWxlICRhcmdz IgorICAgIHJldHVybiBbY2hlY2tfdjNfdGFyZ2V0X3Byb3BfY2FjaGVkICRrZXkgeworCWdsb2Jh bCBjeHhmbGFncworCWdsb2JhbCBERUZBVUxUX0NYWEZMQUdTCisKKwlzZXQgY29uZCAiMCIKKwlp ZiBbc3RyaW5nIG1hdGNoICIqZ251KiIgJGFyZ3NdIHsKKwkgICAgc2V0IGNvbmQgIiAkY29uZCB8 fCBkZWZpbmVkIF9HTElCQ1hYX0NfTE9DQUxFX0dOVSIKKwl9CisJaWYgW3N0cmluZyBtYXRjaCAi KnhwZzcqIiAkYXJnc10geworCSAgICBzZXQgY29uZCAiICRjb25kIHx8IGRlZmluZWQgX0dMSUJD WFhfQ19MT0NBTEVfWFBHNyIKKwl9CisJCisJc2V0IGNvZGUgIgorCSNpbmNsdWRlIDxiaXRzL2Mr K2xvY2FsZS5oPgorCSNpZiAhICgkY29uZCkKKwkjZXJyb3IgJyRjb25kJyBpcyBmYWxzZQorCSNl bmRpZgorCSIKKwlzZXQgZmxhZ3MgIiRjeHhmbGFncyAkREVGQVVMVF9DWFhGTEFHUyAtV2Vycm9y IgorCXJldHVybiBbdjNfdHJ5X3ByZXByb2Nlc3MgbmFtZSAkY29kZSAkZmxhZ3NdCisgICAgfV0K K30KKwogIyBSZXR1cm5zIDEgaWYgdGhlIHRva2VucyBpbiBDT0RFIGNhbiBiZSBwcmVwcm9jZXNz ZWQgc3VjY2Vzc2Z1bGx5IHVzaW5nIEZMQUdTLAogIyByZXR1cm5zIDAgb3RoZXJ3aXNlLgogcHJv YyB2M190cnlfcHJlcHJvY2VzcyB7IG5hbWUgY29kZSBmbGFncyB9IHsKZGlmZiAtLWdpdCBhL2xp YnN0ZGMrKy12My90ZXN0c3VpdGUvdXRpbC90ZXN0c3VpdGVfaG9va3MuaCBiL2xpYnN0ZGMrKy12 My90ZXN0c3VpdGUvdXRpbC90ZXN0c3VpdGVfaG9va3MuaAppbmRleCBiNWUwNzY3MjExYS4uYTYz MmY1ZjMxZjggMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvdXRpbC90ZXN0c3Vp dGVfaG9va3MuaAorKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlL3V0aWwvdGVzdHN1aXRlX2hv b2tzLmgKQEAgLTc3LDYgKzc3LDkgQEAKIAogI2lmIGRlZmluZWQgX19GcmVlQlNEX18gfHwgZGVm aW5lZCBfX0RyYWdvbkZseV9fIHx8IGRlZmluZWQgX19OZXRCU0RfXwogIyBkZWZpbmUgSVNPXzg4 NTkocGFydCxsYW5nVEVSUikgI2xhbmdURVJSICIuSVNPODg1OS0iICNwYXJ0CisjZWxpZiBkZWZp bmVkIF9BSVgKKyMgZGVmaW5lIElTT184ODU5KHBhcnQsbGFuZ1RFUlIpICgocGFydCkgPT0gMTUg P1wKKyAgICAgICAgICNsYW5nVEVSUiAiLjg4NTktIiAjcGFydCA6ICNsYW5nVEVSUiAiLklTTzg4 NTktIiAjcGFydCkKICNlbHNlCiAjIGRlZmluZSBJU09fODg1OShwYXJ0LGxhbmdURVJSKSAoKHBh cnQpID09IDE1ID9cCiAgICAgICAgICAjbGFuZ1RFUlIgIi5JU084ODU5LSIgI3BhcnQgIkBldXJv IiA6ICNsYW5nVEVSUiAiLklTTzg4NTktIiAjcGFydCkKLS0gCjIuMjUuMAoK --_002_PA4PR02MB668659F4DE3E528F87A71C08EABB0PA4PR02MB6686eurp_--