From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.4 required=3.0 tests=BAYES_00, CHARSET_FARAWAY_HEADER,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12FDEC11F66 for ; Tue, 29 Jun 2021 11:39:35 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A12E610CC for ; Tue, 29 Jun 2021 11:39:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A12E610CC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=outlook.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 62AC783148; Tue, 29 Jun 2021 13:39:15 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=outlook.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.b="oq0LMCSt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B71F583120; Tue, 29 Jun 2021 09:42:06 +0200 (CEST) Received: from APC01-PU1-obe.outbound.protection.outlook.com (mail-pu1apc01olkn082a.outbound.protection.outlook.com [IPv6:2a01:111:f400:febe::82a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3C32382FE8 for ; Tue, 29 Jun 2021 09:41:57 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Nicholas_zheng@outlook.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NQVWsTf6KvAAKnJ/3pIDrzIrvqLJv9EN8U/IXmpG2oEpp7GBYhvNArj8Td/96abKWrfepCQ5OT4qTux/PqpSpnuDMOXvtdHlP9nSdXwfPi7Es1BUL1jI/QZx2YhBuaRwf8+DAHMuA9hbpZGdPltwhfWuNYIWUO5rr7TsWQ19n/v2I7Htd3eEpIKbmPl8Ld4XiYGeGHwv58p+OYJ53ljWO1KeqJ5/Ru+omTRVoEH/Twi+SyOPVHDRGaKKXmEB8vQxEzH04H/2Q0m2nRqQe5y/hei+0eQZ0abnVTTHWFFhDctoi8Ime7JUv+qE7r9TFz3+EQV+snv1ejLi638EFrWmuQ== 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=fStQfBXK+b2k8mfVTmiEOG5Dj+D7vn8ph2HI6/xfsYQ=; b=OsGAJxSsW6M4InJCVhnqmwiJTUQ76sBMxURWU6M/cY04CTp5GosDtYl9EjptyOr3vDC+qt+vOdI4pBrKGiPXn2Tge5Mi5ap5DWsPKdfOAe4GTnkyUsQodtXIfakmh8xYrKxebqndkcZLr8KTQAQn8dBqkb+d1Qq2S3RO2JyPaS01tAKooR18Hdb6PlyekjV+5pMXULgI6Dm6HIWXavdRs/iRzTubuJ4YDXT/IabBIsd3qG7smGmPeVxRZ/xm5Bmg7zHDE5vFL3PnW9iT378FDiYe2s9RzFHtyWmbRcnDW9hH6ZcNNeDYqDD2zWx3Rc5P3QqZfQiU3/14mpXKpfRdJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fStQfBXK+b2k8mfVTmiEOG5Dj+D7vn8ph2HI6/xfsYQ=; b=oq0LMCSt7R4gm/KZ7fXqTYlfWSvbm7+DZ6VsFWeecPebUxFEVJTCkbAwhzvmtvjUu9We6vgTKXzVOOx6+L3GPwugDFdyDiEtc4fw+BGFiEFwGQMV0FQ8QumZzJvFG34k7Ov0ZBDuf4VhoFC3fDs7WADSCukc8kpvge9ATByjshQ3j3xLNECpIULWG0Q+/oUI8P/oruItdhuF31SHBPyiEwTPzUUBtj224lNW4C+vnZyVvrZZfTDgY5xdHe2TJDAksJN6ediDicSXS9dMw4hwaRc3tGS2/p63/M5oc7Wi83zg8Q8s9ozqtfCwUN7i1I7MI31WAei0pXgK3WAovKAalw== Received: from SG2PR01CA0117.apcprd01.prod.exchangelabs.com (2603:1096:4:40::21) by PS1PR0302MB2569.apcprd03.prod.outlook.com (2603:1096:803:d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.15; Tue, 29 Jun 2021 07:41:51 +0000 Received: from SG2APC01FT031.eop-APC01.prod.protection.outlook.com (2603:1096:4:40:cafe::3c) by SG2PR01CA0117.outlook.office365.com (2603:1096:4:40::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Tue, 29 Jun 2021 07:41:51 +0000 Received: from OSAPR01MB2067.jpnprd01.prod.outlook.com (10.152.250.59) by SG2APC01FT031.mail.protection.outlook.com (10.152.250.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Tue, 29 Jun 2021 07:41:51 +0000 Received: from OSAPR01MB2067.jpnprd01.prod.outlook.com ([fe80::fd2d:4a9d:44ce:fc09]) by OSAPR01MB2067.jpnprd01.prod.outlook.com ([fe80::fd2d:4a9d:44ce:fc09%6]) with mapi id 15.20.4264.026; Tue, 29 Jun 2021 07:41:51 +0000 From: Nicholas zheng To: Andre Przywara CC: "trini@konsulko.com" , "bharat.gooty@broadcom.com" , "rayagonda.kokatanur@broadcom.com" , "jagan@amarulasolutions.com" , "festevam@gmail.com" , "patrick.delaunay@foss.st.com" , "tharvey@gateworks.com" , "pbrobinson@gmail.com" , "hs@denx.de" , "lokeshvutla@ti.com" , "d-gerlach@ti.com" , "u-boot@lists.denx.de" , Rob Herring Subject: =?gb2312?B?u9i4tDogW1BBVENIXSAgYXJtOiBhZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB0?= =?gb2312?Q?he_Phytium_Pomelo_Board?= Thread-Topic: [PATCH] arm: add initial support for the Phytium Pomelo Board Thread-Index: AQHXaJSyv8muWif+lUK6v6R0zWepwaskqdMAgAX3Trc= Date: Tue, 29 Jun 2021 07:41:50 +0000 Message-ID: References: , <20210625132742.6ddcd747@slackpad.fritz.box> In-Reply-To: <20210625132742.6ddcd747@slackpad.fritz.box> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:9E2972E4A8034E4C32A918A81BCCE74B53ED448EB05BBA32E613A79E28C5978F; UpperCasedChecksum:B662BF11CB3A69114D941854B54437F8911D9493891CD95C404CE1BAEB98AE09; SizeAsReceived:7634; Count:44 x-tmn: [rRx3nv76MllvhSc3rmYluMKCRip6W/4v] x-ms-publictraffictype: Email x-incomingheadercount: 44 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 0a3b5039-c4f6-4ef2-61ab-08d93ad15bab x-ms-traffictypediagnostic: PS1PR0302MB2569: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UgqtuoMW5DUD69Mi2V2dBcscal3aWiaZtDD/j9Whv5z77Y9/nvO6leSp9kf5B/BhdmJes9Q7a43MtQHwQMoww3Sj8PXYuE4bq2SKf29LOnagVK8Wn1ZH0+EleOm2Xyx80OmgM9J4CDSJCuZLx1OO8bLOMhvnA7d/KkEr9vNZ/elgdzViMmHaMU24yxzZh12KRtFpP0idFz5/zOIBh8C9xdUUD8Y2GX95ZbfKIWHuFA+0cc2fBk2loeX26/EMlfcMaiwTGGN5WKs0nodAB8jZDwPIRsnBrXwJ16Yv9XBKPf1tBhvfx9rDo6M7pLOG3weGvnjYLFi92FAWzuI1Clfa7EY5iP7CTY1/yiiPSZgNBMrquWGolVOqzi0XgH7up/E0slABkZbUc83KEyF3bDvdASpzY/Dv5dgO3/LXyhaYnoSY3Gmu1nMK6DeT3VMDehl2CDuBZic9YbjTYGOcE4VjasGmUpEQgp/VpjfddnlAZu2O7EiKAlXIcDu4Pfn0uJnFrLlcAZPOyv6hzOKonIBEPA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: dXtnkDSsqXMMslH2BBigZXXFADVotOttLT15LOhY//anPct143IRmlcnfYx8Xa+iSgRk3Tf3vFEsJDxQK6YqFKXgCl/723wZ8EewiFLZxmboxWurGy6lF0BQsc1816FALxfGr43zAEIX2LPE2kS+1w== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-AuthSource: SG2APC01FT031.eop-APC01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 0a3b5039-c4f6-4ef2-61ab-08d93ad15bab X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2021 07:41:50.9140 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR0302MB2569 X-Mailman-Approved-At: Tue, 29 Jun 2021 13:39:07 +0200 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean DQpJcyB0aGlzIHNvbWUgaW50ZXJuYWwgYm9hcmQ/IE9yIHNvbWV0aGluZyBDaGluYSBvbmx5PyBH b29nbGUgY291bGRuJ3QNCmZpbmQgYW55IHVzZWZ1bCBoaXRzIGFib3V0IHRoZSBwbGF0Zm9ybS4N Cg0KVGhpcyBib2FyZCBjb3JyZXNwb25kcyB0byBQaHl0aXVtIEQyMDAwLiBUaGUgbmFtZSBvZiB0 aGUgcHVibGljIGVkaXRpb24gaGFzIG5vdCBiZWVuIGFubm91bmNlZC4NCkZvciBvdGhlciBxdWVz dGlvbnMsIEkgd2lsbCBzdWJtaXQgYSBuZXcgcGF0Y2ggYWZ0ZXIgbW9kaWZ5aW5nIGl0LiB0aGFu a3MuDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0Kt6K8/sjLOiBBbmRyZSBQcnp5 d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4NCreiy83KsbzkOiAyMDIxxOo21MIyNcjVIDIw OjI3DQrK1bz+yMs6IG5pY2hvbGFzX3poZW5nQG91dGxvb2suY29tIDxuaWNob2xhc196aGVuZ0Bv dXRsb29rLmNvbT4NCrOty806IHRyaW5pQGtvbnN1bGtvLmNvbSA8dHJpbmlAa29uc3Vsa28uY29t PjsgYmhhcmF0Lmdvb3R5QGJyb2FkY29tLmNvbSA8YmhhcmF0Lmdvb3R5QGJyb2FkY29tLmNvbT47 IHJheWFnb25kYS5rb2thdGFudXJAYnJvYWRjb20uY29tIDxyYXlhZ29uZGEua29rYXRhbnVyQGJy b2FkY29tLmNvbT47IGphZ2FuQGFtYXJ1bGFzb2x1dGlvbnMuY29tIDxqYWdhbkBhbWFydWxhc29s dXRpb25zLmNvbT47IGZlc3RldmFtQGdtYWlsLmNvbSA8ZmVzdGV2YW1AZ21haWwuY29tPjsgcGF0 cmljay5kZWxhdW5heUBmb3NzLnN0LmNvbSA8cGF0cmljay5kZWxhdW5heUBmb3NzLnN0LmNvbT47 IHRoYXJ2ZXlAZ2F0ZXdvcmtzLmNvbSA8dGhhcnZleUBnYXRld29ya3MuY29tPjsgcGJyb2JpbnNv bkBnbWFpbC5jb20gPHBicm9iaW5zb25AZ21haWwuY29tPjsgaHNAZGVueC5kZSA8aHNAZGVueC5k ZT47IGxva2VzaHZ1dGxhQHRpLmNvbSA8bG9rZXNodnV0bGFAdGkuY29tPjsgZC1nZXJsYWNoQHRp LmNvbSA8ZC1nZXJsYWNoQHRpLmNvbT47IHUtYm9vdEBsaXN0cy5kZW54LmRlIDx1LWJvb3RAbGlz dHMuZGVueC5kZT47IFJvYiBIZXJyaW5nIDxyb2JoK2R0QGtlcm5lbC5vcmc+DQrW98ziOiBSZTog W1BBVENIXSBhcm06IGFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHRoZSBQaHl0aXVtIFBvbWVsbyBC b2FyZA0KDQpPbiBUaHUsIDI0IEp1biAyMDIxIDA5OjAyOjQ1ICswODAwDQpuaWNob2xhc196aGVu Z0BvdXRsb29rLmNvbSB3cm90ZToNCg0KSGksDQoNCnRoaXMgaXMgc29tZSByZXZpc2VkIHZlcnNp b24sIGlzbid0IGl0PyBDYW4geW91IHBsZWFzZSBzdGFydCBwdXR0aW5nDQpwYXRjaCB2ZXJzaW9u IG51bWJlcnMgaW50byB0aGUgc3ViamVjdDogIltQQVRDSCB2NF0gYXJtOiAuLi4iPyBJdCdzIGhh cmQNCnRvIHNlZSB3aGF0J3Mgb3V0ZGF0ZWQgYW5kIGZpbmQgdGhlIGxhdGVzdCB2ZXJzaW9uIG90 aGVyd2lzZS4NCg0KPiBGcm9tOiB3ZWljaGFuZ3poZW5nIDxuaWNob2xhc196aGVuZ0BvdXRsb29r LmNvbT4NCj4NCj4gIFRoaXMgYWRkcyBwbGF0Zm9ybSBjb2RlIGFuZCB0aGUgZGV2aWNlIHRyZWUg Zm9yIHRoZSBQaHl0aXVtIFBvbWVsbyBCb2FyZC4NCj4gIFRoZSBpbml0aWFsIHN1cHBvcnQgY29t cHJpc2VzIHRoZSBVQVJUIGFuZCB0aGUgUENJRS4NCg0KSXMgdGhpcyBzb21lIGludGVybmFsIGJv YXJkPyBPciBzb21ldGhpbmcgQ2hpbmEgb25seT8gR29vZ2xlIGNvdWxkbid0DQpmaW5kIGFueSB1 c2VmdWwgaGl0cyBhYm91dCB0aGUgcGxhdGZvcm0uDQoNCj4NCj4gU2lnbmVkLW9mZi1ieTogd2Vp Y2hhbmd6aGVuZyA8bmljaG9sYXNfemhlbmdAb3V0bG9vay5jb20+DQo+IC0tLQ0KPiAgYXJjaC9h cm0vS2NvbmZpZyAgICAgICAgICAgICAgICAgfCAgIDggKysNCj4gIGFyY2gvYXJtL2R0cy9NYWtl ZmlsZSAgICAgICAgICAgIHwgICAxICsNCj4gIGFyY2gvYXJtL2R0cy9waHl0aXVtLXBvbWVsby5k dHMgIHwgMTAzICsrKysrKysrKysrKysrKysrKysNCj4gIGJvYXJkL3BoeXRpdW0vcG9tZWxvL0tj b25maWcgICAgIHwgIDEyICsrKw0KPiAgYm9hcmQvcGh5dGl1bS9wb21lbG8vTUFJTlRBSU5FUlMg fCAgIDggKysNCj4gIGJvYXJkL3BoeXRpdW0vcG9tZWxvL01ha2VmaWxlICAgIHwgIDE0ICsrKw0K PiAgYm9hcmQvcGh5dGl1bS9wb21lbG8vY3B1LmggICAgICAgfCAgNzMgKysrKysrKysrKysrKysN Cj4gIGJvYXJkL3BoeXRpdW0vcG9tZWxvL2Rkci5jICAgICAgIHwgMTY0ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4gIGJvYXJkL3BoeXRpdW0vcG9tZWxvL3BjaWUuYyAgICAgIHwg IDYxICsrKysrKysrKysrKw0KPiAgYm9hcmQvcGh5dGl1bS9wb21lbG8vcGxsLmMgICAgICAgfCAg NzUgKysrKysrKysrKysrKysNCj4gIGJvYXJkL3BoeXRpdW0vcG9tZWxvL3BvbWVsby5jICAgIHwg MTIwICsrKysrKysrKysrKysrKysrKysrKysNCj4gIGJvYXJkL3BoeXRpdW0vcG9tZWxvL3NlYy5j ICAgICAgIHwgIDQwICsrKysrKysrDQo+ICBjb25maWdzL3BvbWVsb19kZWZjb25maWcgICAgICAg ICB8ICAzNiArKysrKysrDQo+ICBpbmNsdWRlL2NvbmZpZ3MvcG9tZWxvLmggICAgICAgICB8ICA0 NSArKysrKysrKysNCj4gIDE0IGZpbGVzIGNoYW5nZWQsIDc2MCBpbnNlcnRpb25zKCspDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vZHRzL3BoeXRpdW0tcG9tZWxvLmR0cw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGJvYXJkL3BoeXRpdW0vcG9tZWxvL0tjb25maWcNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBib2FyZC9waHl0aXVtL3BvbWVsby9NQUlOVEFJTkVSUw0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGJvYXJkL3BoeXRpdW0vcG9tZWxvL01ha2VmaWxlDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgYm9hcmQvcGh5dGl1bS9wb21lbG8vY3B1LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBi b2FyZC9waHl0aXVtL3BvbWVsby9kZHIuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGJvYXJkL3Bo eXRpdW0vcG9tZWxvL3BjaWUuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGJvYXJkL3BoeXRpdW0v cG9tZWxvL3BsbC5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgYm9hcmQvcGh5dGl1bS9wb21lbG8v cG9tZWxvLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBib2FyZC9waHl0aXVtL3BvbWVsby9zZWMu Yw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbmZpZ3MvcG9tZWxvX2RlZmNvbmZpZw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvY29uZmlncy9wb21lbG8uaA0KPg0KPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vS2NvbmZpZyBiL2FyY2gvYXJtL0tjb25maWcNCj4gaW5kZXggMzFkNjg3ZWEw MS4uNjExMGZjZGRhZCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hcm0vS2NvbmZpZw0KPiArKysgYi9h cmNoL2FybS9LY29uZmlnDQo+IEBAIC0xODAwLDYgKzE4MDAsMTMgQEAgY29uZmlnIFRBUkdFVF9E VVJJQU4NCj4gICAgICAgICAgU3VwcG9ydCBmb3IgZHVyaWFuIHBsYXRmb3JtLg0KPiAgICAgICAg ICBJdCBoYXMgMkdCIFNkcmFtLCB1YXJ0IGFuZCBwY2llLg0KPg0KPiArY29uZmlnIFRBUkdFVF9Q T01FTE8NCj4gKyAgICAgYm9vbCAiU3VwcG9ydCBQaHl0aXVtIFBvbWVsbyBQbGF0Zm9ybSINCj4g KyAgICAgc2VsZWN0IEFSTTY0DQo+ICsgICAgIGhlbHANCj4gKyAgICAgICAgICAgICBTdXBwb3J0 IGZvciBwb21lbG8gcGxhdGZvcm0uDQo+ICsgICAgICAgICAgICAgSXQgaGFzIDJHQiBTZHJhbSwg dWFydCBhbmQgcGNpZS4NCj4gKw0KPiAgY29uZmlnIFRBUkdFVF9QUkVTSURJT19BU0lDDQo+ICAg ICAgICBib29sICJTdXBwb3J0IENvcnRpbmEgUHJlc2lkaW8gQVNJQyBQbGF0Zm9ybSINCj4gICAg ICAgIHNlbGVjdCBBUk02NA0KPiBAQCAtMjAxOSw2ICsyMDI2LDcgQEAgc291cmNlICJib2FyZC90 b3JhZGV4L2NvbGlicmlfcHhhMjcwL0tjb25maWciDQo+ICBzb3VyY2UgImJvYXJkL3ZhcmlzY2l0 ZS9kYXJ0XzZ1bC9LY29uZmlnIg0KPiAgc291cmNlICJib2FyZC92c2NvbS9iYWx0b3MvS2NvbmZp ZyINCj4gIHNvdXJjZSAiYm9hcmQvcGh5dGl1bS9kdXJpYW4vS2NvbmZpZyINCj4gK3NvdXJjZSAi Ym9hcmQvcGh5dGl1bS9wb21lbG8vS2NvbmZpZyINCj4gIHNvdXJjZSAiYm9hcmQveGVuL3hlbmd1 ZXN0X2FybTY0L0tjb25maWciDQo+ICBzb3VyY2UgImJvYXJkL2tleW1pbGUvS2NvbmZpZyINCj4N Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2R0cy9NYWtlZmlsZSBiL2FyY2gvYXJtL2R0cy9NYWtl ZmlsZQ0KPiBpbmRleCAwOTYwNjgyNjFkLi5jMjY2OTJjMTdlIDEwMDY0NA0KPiAtLS0gYS9hcmNo L2FybS9kdHMvTWFrZWZpbGUNCj4gKysrIGIvYXJjaC9hcm0vZHRzL01ha2VmaWxlDQo+IEBAIC0x MDk4LDYgKzEwOTgsNyBAQCBkdGItJChDT05GSUdfVEFSR0VUX01YNTNQUEQpICs9IGlteDUzLXBw ZC5kdGINCj4gIGR0Yi0kKENPTkZJR19UQVJHRVRfVE9UQUxfQ09NUFVURSkgKz0gdG90YWxfY29t cHV0ZS5kdGINCj4NCj4gIGR0Yi0kKENPTkZJR19UQVJHRVRfRFVSSUFOKSArPSBwaHl0aXVtLWR1 cmlhbi5kdGINCj4gK2R0Yi0kKENPTkZJR19UQVJHRVRfUE9NRUxPKSArPSBwaHl0aXVtLXBvbWVs by5kdGINCj4NCj4gIGR0Yi0kKENPTkZJR19UQVJHRVRfUFJFU0lESU9fQVNJQykgKz0gY2EtcHJl c2lkaW8tZW5nYm9hcmQuZHRiDQo+DQo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9kdHMvcGh5dGl1 bS1wb21lbG8uZHRzIGIvYXJjaC9hcm0vZHRzL3BoeXRpdW0tcG9tZWxvLmR0cw0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40OTYxNjgyMDU4DQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvYXJjaC9hcm0vZHRzL3BoeXRpdW0tcG9tZWxvLmR0cw0KPiBAQCAtMCww ICsxLDEwMyBAQA0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjArDQo+ICsv Kg0KPiArICogZHRzIGZpbGUgZm9yIFBoeXRpdW0gUG9tZWxvIGJvYXJkDQo+ICsgKiBDb3B5cmln aHQgKEMpIDIwMjEsIFBoeXRpdW0gTHRkLg0KPiArICogbGl4aW5kZSAgICAgICAgIDxsaXhpbmRl QHBoeXRpdW0uY29tLmNuPg0KPiArICogd2VpY2hhbmd6aGVuZyAgIDx3ZWljaGFuZ3poZW5nQHBo eXRpdW0uY29tLmNuPg0KPiArICovDQoNCkkgdGhpbmsgdGhpcyBmaWxlIHNob3VsZCBiZSByZXZp ZXdlZCBieSBMaW51eCBEVCBwZW9wbGUsIHRoZXkgaGF2ZSBtdWNoDQptb3JlIGV4cGVyaWVuY2Ug d2l0aCB0aGlzIChDQzppbmcgUm9iKQ0KSXQgbG9va3Mgc2ltcGxlIGVub3VnaCB0byByZW1haW4g c3RhYmxlLCBzbyB0aGUgVS1Cb290IERUIGNvdWxkDQphY3R1YWxseSBiZSB0aGUgb25seSBzb3Vy Y2UgZm9yIHRoZSBEVEIsIGJ1dCBpdCBzaG91bGQgc3RpbGwgZ28gdGhyb3VnaA0KTGludXgnIHJl dmlldyBtYWNoaW5lcnkuDQoNCj4gKy9kdHMtdjEvOw0KPiArDQo+ICsvbWVtcmVzZXJ2ZS8gMHgw MDAwMDAwMDgwMDAwMDAwIDB4MDAwMDAwMDAwMDEwMDAwMDsNCg0KSSB0aGluayAvbWVtcmVzZXJ2 ZS8gaXMgc29tZXdoYXQgZGVwcmVjYXRlZCBub3cuIEl0IGhhcyB0aGUNCmRpc2FkdmFudGFnZSBv ZiBhbGxvd2luZyB0aGUga2VybmVsIHRvIHN0aWxsIG1hcCB0aGUgbWVtb3J5LCBzbyB0aGUgQ1BV DQpjYW4gc3BlY3VsYXRlIGludG8gdGhlcmUsIHdoaWNoIG1pZ2h0IGNhdXNlIHByb2JsZW1zIGlm IHRoaXMgaXMNCmNvbmZpZ3VyZWQgc2VjdXJlLW9ubHkuDQooSSBndWVzcyB0aGlzIGlzIHdoZXJl IHRoZSBzZWN1cmUgZmlybXdhcmUvUFNDSSBwcm92aWRlci9URi1BIGxpdmVzPykNCg0KVGhlIGJl dHRlciBhbHRlcm5hdGl2ZSBpcw0KaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4 L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL3Jlc2VydmVkLW1lbW9yeS9yZXNlcnZlZC1tZW1vcnkudHh0DQphbmQgdXNp bmcgdGhlICJub21hcDsiIHByb3BlcnR5Lg0KDQo+ICsvIHsNCj4gKyAgICAgbW9kZWwgPSAiUGh5 dGl1bSBQb21lbG8iOw0KPiArICAgICBjb21wYXRpYmxlID0gInBoeXRpdW0scG9tZWxvIjsNCj4g KyAgICAgI2FkZHJlc3MtY2VsbHMgPSA8Mj47DQo+ICsgICAgICNzaXplLWNlbGxzID0gPDI+Ow0K PiArDQoNClBsZWFzZSBoYXZlIGEgY2hvc2VuIG5vZGUgd2l0aCBhIHN0ZG91dC1wYXRoIHByb3Bl cnR5IHBvaW50aW5nIHRvIHRoZQ0KVUFSVC4gQW5kIHBvc3NpYmx5IGFuIGFsaWFzZXMgbm9kZSB3 aXRoIHNlcmlhbDAgZW50cnkuDQpUaGVuIHlvdSBjYW4gdXNlIGp1c3QgImVhcmx5Y29uIiBvbiB0 aGUgY29tbWFuZCBsaW5lLCBhbmQgaW4gZ2VuZXJhbCBEVA0KdXNlcnMgd2lsbCBmaW5kIHRoZSBj b25zb2xlIGF1dG9tYXRpY2FsbHkuDQoNCj4gKyAgICAgY3B1cyB7DQo+ICsgICAgICAgICAgICAg I2FkZHJlc3MtY2VsbHMgPSA8MHgyPjsNCj4gKyAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9IDww eDA+Ow0KPiArDQo+ICsgICAgICAgICAgICAgY3B1MDogY3B1QDAgew0KPiArICAgICAgICAgICAg ICAgICAgICAgZGV2aWNlX3R5cGUgPSAiY3B1IjsNCj4gKyAgICAgICAgICAgICAgICAgICAgIGNv bXBhdGlibGUgPSAiYXJtLGFybXY4IjsNCg0KVGhpcyBnZW5lcmljIG5hbWUgaXMgbm93IGRlcHJl Y2F0ZWQgKHJlc2VydmVkIGZvciB0aGUgQUVNIGZhc3Rtb2RlbCksDQp3ZSB1c2UgdGhlIGFjdHVh bCBjb3JlIG5hbWUgbm93Lg0KDQo+ICsgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgwIDB4 MD47DQo+ICsgICAgICAgICAgICAgICAgICAgICBlbmFibGUtbWV0aG9kID0gInBzY2kiOw0KPiAr ICAgICAgICAgICAgICAgICAgICAgbnVtYS1ub2RlLWlkID0gPDA+Ow0KPiArICAgICAgICAgICAg IH07DQo+ICsNCj4gKyAgICAgICAgICAgICBjcHUxOiBjcHVAMSB7DQo+ICsgICAgICAgICAgICAg ICAgICAgICBkZXZpY2VfdHlwZSA9ICJjcHUiOw0KPiArICAgICAgICAgICAgICAgICAgICAgY29t cGF0aWJsZSA9ICJhcm0sYXJtdjgiOw0KPiArICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4 MCAweDE+Ow0KPiArICAgICAgICAgICAgICAgICAgICAgZW5hYmxlLW1ldGhvZCA9ICJwc2NpIjsN Cj4gKyAgICAgICAgICAgICAgICAgICAgIG51bWEtbm9kZS1pZCA9IDwwPjsNCj4gKyAgICAgICAg ICAgICB9Ow0KPiArDQo+ICsgICAgICAgICAgICAgY3B1NDogY3B1QDQgew0KDQpUaGUgY3B1IGxh YmVsIHNob3VsZCBqdXN0IGluY3JlYXNlIG1vbm90b25pY2FsbHksIHNvIHRoaXMgd291bGQgYmUN CmNwdTIuIFRoZSBhZGRyZXNzIGJlaGluZCB0aGUgIkAiIG11c3QgbWF0Y2ggdGhlIHJlZyBwcm9w ZXJ0eToNCiAgICAgICAgICAgICAgICBjcHUyOiBjcHVAMTAwIHsNCihzYW1lIGZvciB0aGUgcmVz dCkNCg0KPiArICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSAiY3B1IjsNCj4gKyAg ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYXJtLGFybXY4IjsNCj4gKyAgICAgICAg ICAgICAgICAgICAgIHJlZyA9IDwweDAgMHgxMDA+Ow0KPiArICAgICAgICAgICAgICAgICAgICAg ZW5hYmxlLW1ldGhvZCA9ICJwc2NpIjsNCj4gKyAgICAgICAgICAgICAgICAgICAgIG51bWEtbm9k ZS1pZCA9IDwwPjsNCj4gKyAgICAgICAgICAgICB9Ow0KPiArDQo+ICsgICAgICAgICAgICAgY3B1 NTogY3B1QDUgew0KPiArICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSAiY3B1IjsN Cj4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYXJtLGFybXY4IjsNCj4gKyAg ICAgICAgICAgICAgICAgICAgIHJlZyA9IDwweDAgMHgxMDE+Ow0KPiArICAgICAgICAgICAgICAg ICAgICAgZW5hYmxlLW1ldGhvZCA9ICJwc2NpIjsNCj4gKyAgICAgICAgICAgICAgICAgICAgIG51 bWEtbm9kZS1pZCA9IDwwPjsNCj4gKyAgICAgICAgICAgICB9Ow0KPiArDQo+ICsgICAgICAgICAg ICAgY3B1ODogY3B1QDggew0KPiArICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSAi Y3B1IjsNCj4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYXJtLGFybXY4IjsN Cj4gKyAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDwweDAgMHgyMDA+Ow0KPiArICAgICAgICAg ICAgICAgICAgICAgZW5hYmxlLW1ldGhvZCA9ICJwc2NpIjsNCj4gKyAgICAgICAgICAgICAgICAg ICAgIG51bWEtbm9kZS1pZCA9IDwwPjsNCj4gKyAgICAgICAgICAgICB9Ow0KPiArDQo+ICsgICAg ICAgICAgICAgY3B1OTogY3B1QDkgew0KPiArICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5 cGUgPSAiY3B1IjsNCj4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYXJtLGFy bXY4IjsNCj4gKyAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDwweDAgMHgyMDE+Ow0KPiArICAg ICAgICAgICAgICAgICAgICAgZW5hYmxlLW1ldGhvZCA9ICJwc2NpIjsNCj4gKyAgICAgICAgICAg ICAgICAgICAgIG51bWEtbm9kZS1pZCA9IDwwPjsNCj4gKyAgICAgICAgICAgICB9Ow0KPiArDQo+ ICsgICAgICAgICAgICAgY3B1MTI6IGNwdUAxMiB7DQo+ICsgICAgICAgICAgICAgICAgICAgICBk ZXZpY2VfdHlwZSA9ICJjcHUiOw0KPiArICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9 ICJhcm0sYXJtdjgiOw0KPiArICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MCAweDMwMD47 DQo+ICsgICAgICAgICAgICAgICAgICAgICBlbmFibGUtbWV0aG9kID0gInBzY2kiOw0KPiArICAg ICAgICAgICAgICAgICAgICAgbnVtYS1ub2RlLWlkID0gPDA+Ow0KPiArICAgICAgICAgICAgIH07 DQo+ICsNCj4gKyAgICAgICAgICAgICBjcHUxMzogY3B1QDEzIHsNCj4gKyAgICAgICAgICAgICAg ICAgICAgIGRldmljZV90eXBlID0gImNwdSI7DQo+ICsgICAgICAgICAgICAgICAgICAgICBjb21w YXRpYmxlID0gImFybSxhcm12OCI7DQo+ICsgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgw IDB4MzAxPjsNCj4gKyAgICAgICAgICAgICAgICAgICAgIGVuYWJsZS1tZXRob2QgPSAicHNjaSI7 DQo+ICsgICAgICAgICAgICAgICAgICAgICBudW1hLW5vZGUtaWQgPSA8MD47DQo+ICsgICAgICAg ICAgICAgfTsNCj4gKyAgICAgfTsNCj4gKw0KPiArICAgICBwY2llLWNvbnRyb2xsZXJANDAwMDAw MDAgew0KPiArICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAicGNpLWhvc3QtZWNhbS1nZW5lcmlj IjsNCj4gKyAgICAgICAgICAgICBkZXZpY2VfdHlwZSA9ICJwY2kiOw0KPiArICAgICAgICAgICAg ICNhZGRyZXNzLWNlbGxzID0gPDM+Ow0KPiArICAgICAgICAgICAgICNzaXplLWNlbGxzID0gPDI+ Ow0KPiArICAgICAgICAgICAgIHJlZyA9IDwweDAgMHg0MDAwMDAwMCAweDAgMHgxMDAwMDAwMD47 DQo+ICsgICAgICAgICAgICAgYnVzLXJhbmdlID0gPDB4MCAweGZmPjsNCj4gKyAgICAgICAgICAg ICByYW5nZXMgPSA8MHgwMTAwMDAwMCAweDAwIDB4MDAwMDAwMDAgMHgwICAweDUwMDAwMDAwIDB4 MCAgMHgwMEYwMDAwMD4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgPDB4MDIwMDAwMDAgMHgw MCAweDU4MDAwMDAwIDB4MCAgMHg1ODAwMDAwMCAweDAgIDB4MjgwMDAwMDA+LA0KPiArICAgICAg ICAgICAgICAgICAgICAgIDwweDQzMDAwMDAwIDB4MTAgMHgwMDAwMDAwMCAweDEwIDB4MDAwMDAw MDAgMHgxMCAgMHgwMDAwMDAwMD47DQo+ICsgICAgIH07DQoNCklmIHRoaXMgd29ya3MgeW91IGRl c2VydmUgYSBwcmljZSBmb3Igc2hpcHBpbmcgYSB3b3JraW5nIGFuZCBzdGFuZGFyZHMNCmNvbXBs aWFudCBQQ0llIGNvbnRyb2xsZXIgOy0pDQoNClJlYWQ6IGFsbCBmaW5lLCB3ZWxsIGRvbmU6DQot IGZ1bGwgMjU2TUIgY29uZmlnIHNwYWNlIQ0KLSBnZW5lcm91cyBNTUlPMzIgYXJlYSENCi0gZXZl biBtb3JlIGdlbmVyb3VzIE1NSU82NCBhcmVhIQ0KDQo+ICsNCj4gKyAgICAgdWFydEAyODAwMTAw MCB7DQo+ICsgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJhcm0scGwwMTEiOw0KPiArICAgICAg ICAgICAgIHJlZyA9IDwweDAgMHgyODAwMTAwMCAweDAgMHgxMDAwPjsNCj4gKyAgICAgICAgICAg ICBjbG9jayA9IDw0ODAwMDAwMD47DQoNCkkgdGhpbmsgdGhpcyBpcyBhIG5vbi1zdGFuZGFyZCBw cm9wZXJ0eT8NClBsZWFzZSBoYXZlIGEgZml4ZWQtY2xvY2sgd2l0aCA0OCBNSHosIGFuZCByZWZl ciB0byB0aGF0IGZyb20gaGVyZS4gSWYNCnlvdSBuZWVkIHRoZSBVQVJUIGJlZm9yZSB0aGUgRFQg aXMgcGFyc2VkLCB5b3UgY2FuIHNldCB0aGUgYmFzZQ0KZnJlcXVlbmN5IHNvbWV3aGVyZSBpbiB0 aGUgY29uZmlnIG9yIHNvbWUgaGVhZGVyIGZpbGUuDQoNCkRpZG4ndCBsb29rIGF0IHRoZSByZXN0 IHRvbyBjbG9zZWx5LCBjYW4ndCBjaGVjayBtdWNoIG9mIHRoaXMgYW55d2F5Lg0KDQpDaGVlcnMs DQpBbmRyZQ0KDQo+ICsgICAgIH07DQo+ICt9Ow0KPiBkaWZmIC0tZ2l0IGEvYm9hcmQvcGh5dGl1 bS9wb21lbG8vS2NvbmZpZyBiL2JvYXJkL3BoeXRpdW0vcG9tZWxvL0tjb25maWcNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMjgxYWE4ZmVmZg0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL2JvYXJkL3BoeXRpdW0vcG9tZWxvL0tjb25maWcNCj4gQEAgLTAsMCAr MSwxMiBAQA0KPiAraWYgVEFSR0VUX1BPTUVMTw0KPiArDQo+ICtjb25maWcgU1lTX0JPQVJEDQo+ ICsgICAgIGRlZmF1bHQgInBvbWVsbyINCj4gKw0KPiArY29uZmlnIFNZU19WRU5ET1INCj4gKyAg ICAgZGVmYXVsdCAicGh5dGl1bSINCj4gKw0KPiArY29uZmlnIFNZU19DT05GSUdfTkFNRQ0KPiAr ICAgICBkZWZhdWx0ICJwb21lbG8iDQo+ICsNCj4gK2VuZGlmDQo+IGRpZmYgLS1naXQgYS9ib2Fy ZC9waHl0aXVtL3BvbWVsby9NQUlOVEFJTkVSUyBiL2JvYXJkL3BoeXRpdW0vcG9tZWxvL01BSU5U QUlORVJTDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjk1MDQ0 OTM5MmINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9ib2FyZC9waHl0aXVtL3BvbWVsby9NQUlO VEFJTkVSUw0KPiBAQCAtMCwwICsxLDggQEANCj4gK1BPTUVMTyBCT0FSRA0KPiArTTogICBsaXhp bmRlIDxsaXhpbmRlQHBoeXRpdW0uY29tLmNuPg0KPiArTTogICB3ZWljaGFuZ3poZW5nIDx3ZWlj aGFuZ3poZW5nQHBoeXRpdW0uY29tLmNuPg0KPiArUzogICBNYWludGFpbmVkDQo+ICtGOiAgIGJv YXJkL3BoeXRpdW0vcG9tZWxvLyoNCj4gK0Y6ICAgaW5jbHVkZS9jb25maWdzL3BvbWVsby5oDQo+ ICtGOiAgIGNvbmZpZ3MvcG9tZWxvX2RlZmNvbmZpZw0KPiArDQo+IGRpZmYgLS1naXQgYS9ib2Fy ZC9waHl0aXVtL3BvbWVsby9NYWtlZmlsZSBiL2JvYXJkL3BoeXRpdW0vcG9tZWxvL01ha2VmaWxl DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmI5Y2IzNjA5YmQN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9ib2FyZC9waHl0aXVtL3BvbWVsby9NYWtlZmlsZQ0K PiBAQCAtMCwwICsxLDE0IEBADQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w Kw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKEMpIDIwMjENCj4gKyMgbGl4aW5kZSAgICAgICAgIDxs aXhpbmRlQHBoeXRpdW0uY29tLmNuPg0KPiArIyB3ZWljaGFuZ3poZW5nICAgPHdlaWNoYW5nemhl bmdAcGh5dGl1bS5jb20uY24+DQo+ICsjDQo+ICsNCj4gK29iai15ICs9IHBvbWVsby5vDQo+ICtv YmoteSArPSBwbGwubw0KPiArb2JqLXkgKz0gcGNpZS5vDQo+ICtvYmoteSArPSBkZHIubw0KPiAr b2JqLXkgKz0gc2VjLm8NCj4gKw0KPiArDQo+IGRpZmYgLS1naXQgYS9ib2FyZC9waHl0aXVtL3Bv bWVsby9jcHUuaCBiL2JvYXJkL3BoeXRpdW0vcG9tZWxvL2NwdS5oDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmUxNTkxNzYwOWINCj4gLS0tIC9kZXYvbnVsbA0K PiArKysgYi9ib2FyZC9waHl0aXVtL3BvbWVsby9jcHUuaA0KPiBAQCAtMCwwICsxLDczIEBADQo+ ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsgKi8NCj4gKy8qDQo+ICsgKiAo QykgQ29weXJpZ2h0IDIwMjENCj4gKyAqIFBoeXRpdW0gVGVjaG5vbG9neSBMdGQgPHd3dy5waHl0 aXVtLmNvbTxodHRwOi8vd3d3LnBoeXRpdW0uY29tPj4NCj4gKyAqIGxpeGluZGUgICAgICAgICA8 bGl4aW5kZUBwaHl0aXVtLmNvbS5jbj4NCj4gKyAqIHdlaWNoYW5nemhlbmcgICA8d2VpY2hhbmd6 aGVuZ0BwaHl0aXVtLmNvbS5jbj4NCj4gKyAqLw0KPiArDQo+ICsjaWZuZGVmIF9GVF9QT01FTE9f SA0KPiArI2RlZmluZSBfRlRfUE9NRUxPX0gNCj4gKw0KPiArLyogU01DQ0MgSUQgKi8NCj4gKyNk ZWZpbmUgQ1BVX1NWQ19WRVJTSU9OICAgICAgICAgICAgICAgICAgICAgIDB4QzIwMDBGMDANCj4g KyNkZWZpbmUgQ1BVX0dFVF9SU1RfU09VUkNFICAgICAgICAgICAweEMyMDAwRjAxDQo+ICsjZGVm aW5lIENQVV9JTklUX1BMTCAgICAgICAgICAgICAgICAgMHhDMjAwMEYwMg0KPiArI2RlZmluZSBD UFVfSU5JVF9QQ0lFICAgICAgICAgICAgICAgICAgICAgICAgMHhDMjAwMEYwMw0KPiArI2RlZmlu ZSBDUFVfSU5JVF9NRU0gICAgICAgICAgICAgICAgIDB4QzIwMDBGMDQNCj4gKyNkZWZpbmUgQ1BV X0lOSVRfU0VDX1NWQyAgICAgICAgICAgICAweEMyMDAwRjA1DQo+ICsNCj4gKy8qQ1BVIFJFU0VU Ki8NCj4gKyNkZWZpbmUgQ1BVX1JFU0VUX1BPV0VSX09OICAgICAgICAgICAweDENCj4gKyNkZWZp bmUgQ1BVX1JFU0VUX1BMTCAgICAgICAgICAgICAgICAgICAgICAgIDB4NA0KPiArI2RlZmluZSBD UFVfUkVTRVRfV0FUQ0hfRE9HICAgICAgICAgIDB4OA0KPiArDQo+ICsvKiBQTEwgKi8NCj4gKyNk ZWZpbmUgUEFSQU1FVEVSX1BMTF9NQUdJQyAgICAgICAgICAweDU0NDYwMDEwDQo+ICsNCj4gKy8q IFBDSUUgKi8NCj4gKyNkZWZpbmUgUEFSQU1FVEVSX1BDSUVfTUFHSUMgICAgICAgICAweDU0NDYw MDExDQo+ICsjZGVmaW5lIENPTkZJR19JTkRFUEVOREVOVF9UUkVFICAgICAgICAgICAgICAweDAN Cj4gKyNkZWZpbmUgUENJX1BFVTAgICAgICAgICAgICAgICAgICAgICAweDENCj4gKyNkZWZpbmUg UENJX1BFVTEgICAgICAgICAgICAgICAgICAgICAweDENCj4gKyNkZWZpbmUgUEVVMV9PRkZTRVQg ICAgICAgICAgICAgICAgICAxNg0KPiArI2RlZmluZSBQRVVfQ19PRkZTRVRfTU9ERSAgICAgICAg ICAgIDE2DQo+ICsjZGVmaW5lIFBFVV9DX09GRlNFVF9TUEVFRCAgICAgICAgICAgMA0KPiArI2Rl ZmluZSBSQ19NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxDQo+ICsjZGVmaW5l IFg4WDggICAgICAgICAgICAgICAgICAgICAgICAgMHgxDQo+ICsjZGVmaW5lIEdFTjMgICAgICAg ICAgICAgICAgICAgICAgICAgMw0KPiArDQo+ICsvKiBERFIgKi8NCj4gKyNkZWZpbmUgUEFSQU1F VEVSX01DVV9NQUdJQyAgICAgICAgICAweDU0NDYwMDE0DQo+ICsjZGVmaW5lIFBBUkFNX01DVV9W RVJTSU9OICAgICAgICAgICAgMHgxDQo+ICsjZGVmaW5lIFBBUkFNX01DVV9TSVpFICAgICAgICAg ICAgICAgICAgICAgICAweDEwMA0KPiArI2RlZmluZSBQQVJBTV9DSF9FTkFCTEUgICAgICAgICAg ICAgICAgICAgICAgMHgzDQo+ICsjZGVmaW5lIFBBUkFNX0VDQ19FTkFCTEUgICAgICAgICAgICAg MHgzDQo+ICsjZGVmaW5lIFBBUkFNX0ZPUkNFX1NQRF9ESVNBQkxFICAgICAgICAgICAgICAweDAN Cj4gKyNkZWZpbmUgUEFSQU1fTUNVX01JU0NfRU5BQkxFICAgICAgICAgICAgICAgIDB4MA0KPiAr DQo+ICsjZGVmaW5lIFVESU1NX1RZUEUgICAgICAgICAgICAgICAgICAgMHgyDQo+ICsjZGVmaW5l IERJTU1fWDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDENCj4gKyNkZWZpbmUgTk9f TUlSUk9SICAgICAgICAgICAgICAgICAgICAweDANCj4gKyNkZWZpbmUgTk9fRUNDX1RZUEUgICAg ICAgICAgICAgICAgICAwDQo+ICsjZGVmaW5lIEREUjRfVFlQRSAgICAgICAgICAgICAgICAgICAg MHhDDQo+ICsNCj4gKy8qIFNFQyAqLw0KPiArI2RlZmluZSBQQVJBTUVURVJfQ09NTU9OX01BR0lD ICAgICAgICAgICAgICAgMHg1NDQ2MDAxMw0KPiArDQo+ICsvKiBGTFVTSCBMMyBDQVNIRSAqLw0K PiArI2RlZmluZSBITkZfQ09VTlQgICAgICAgICAgICAgICAgICAgIDB4OA0KPiArI2RlZmluZSBI TkZfUFNUQVRFX1JFUSAgICAgICAgICAgICAgICAgICAgICAgKEhORl9CQVNFICsgMHgxMCkNCj4g KyNkZWZpbmUgSE5GX1BTVEFURV9TVEFUICAgICAgICAgICAgICAgICAgICAgIChITkZfQkFTRSAr IDB4MTgpDQo+ICsjZGVmaW5lIEhORl9QU1RBVEVfT0ZGICAgICAgICAgICAgICAgICAgICAgICAw eDANCj4gKyNkZWZpbmUgSE5GX1BTVEFURV9TRk9OTFkgICAgICAgICAgICAweDENCj4gKyNkZWZp bmUgSE5GX1BTVEFURV9IQUxGICAgICAgICAgICAgICAgICAgICAgIDB4Mg0KPiArI2RlZmluZSBI TkZfUFNUQVRFX0ZVTEwgICAgICAgICAgICAgICAgICAgICAgMHgzDQo+ICsjZGVmaW5lIEhORl9T VFJJREUgICAgICAgICAgICAgICAgICAgMHgxMDAwMA0KPiArI2RlZmluZSBITkZfQkFTRSAgICAg ICAgICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nKSgweDNBMjAwMDAwKQ0KPiArdm9pZCBkZHJf aW5pdCh2b2lkKTsNCj4gK3ZvaWQgc2VjX2luaXQodm9pZCk7DQo+ICt2b2lkIGNoZWNrX3Jlc2V0 KHZvaWQpOw0KPiArdm9pZCBwY2llX2luaXQodm9pZCk7DQo+ICsNCj4gKyNlbmRpZiAvKiBfRlRf UE9NRUxPX0ggKi8NCj4gZGlmZiAtLWdpdCBhL2JvYXJkL3BoeXRpdW0vcG9tZWxvL2Rkci5jIGIv Ym9hcmQvcGh5dGl1bS9wb21lbG8vZGRyLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k ZXggMDAwMDAwMDAwMC4uODg3NTZmNWZjMQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2JvYXJk L3BoeXRpdW0vcG9tZWxvL2Rkci5jDQo+IEBAIC0wLDAgKzEsMTY0IEBADQo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsNCj4gKy8qDQo+ICsgKiBDb3B5cmlnaHQgKEMpIDIw MjENCj4gKyAqIGxpeGluZGUgICAgICAgICA8bGl4aW5kZUBwaHl0aXVtLmNvbS5jbj4NCj4gKyAq IHdlaWNoYW5nemhlbmcgICA8d2VpY2hhbmd6aGVuZ0BwaHl0aXVtLmNvbS5jbj4NCj4gKyAqLw0K PiArDQo+ICsjaW5jbHVkZSA8c3RkaW8uaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9hcm0tc21jY2Mu aD4NCj4gKyNpbmNsdWRlICJjcHUuaCINCj4gKw0KPiArc3RydWN0IGRkcl9zcGQgew0KPiArICAg ICAvKioqKioqKioqKioqKioqKioqKiByZWFkIGZyb20gc3BkICoqKioqKioqKioqKioqKioqLw0K PiArICAgICB1bnNpZ25lZCBjaGFyICBkaW1tX3R5cGU7ICAgICAgIC8qIDE6IFJESU1NOzI6IFVE SU1NOzM6IFNPRElNTTs0OiBMUkRJTU0gKi8NCj4gKyAgICAgdW5zaWduZWQgY2hhciAgZGF0YV93 aWR0aDsgICAgICAvKiAwOiB4NDsgMTogeDg7IDI6IHgxNiAqLw0KPiArICAgICB1bnNpZ25lZCBj aGFyICBtaXJyb3JfdHlwZTsgICAgIC8qIDA6IHN0YXJkYXJkOyAxOiBtaXJyb3IgKi8NCj4gKyAg ICAgdW5zaWduZWQgY2hhciAgZWNjX3R5cGU7ICAgICAgICAvKiAwOiBuby1lY2M7IDE6ZWNjICov DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIgIGRyYW1fdHlwZTsgICAgICAgLyogMHhCOiBERFIzOyAw eEM6IEREUjQgKi8NCj4gKyAgICAgdW5zaWduZWQgY2hhciAgcmFua19udW07DQo+ICsgICAgIHVu c2lnbmVkIGNoYXIgIHJvd19udW07DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIgIGNvbF9udW07DQo+ ICsNCj4gKyAgICAgdW5zaWduZWQgY2hhciAgYmdfbnVtOyAgLypvbmx5IEREUjQqLw0KPiArICAg ICB1bnNpZ25lZCBjaGFyICBiYW5rX251bTsNCj4gKyAgICAgdW5zaWduZWQgc2hvcnQgaW50IG1v ZHVsZV9tYW51ZmFjdHVyZXJfaWQ7DQo+ICsgICAgIHVuc2lnbmVkIHNob3J0IGludCB0YWFtaW47 DQo+ICsgICAgIHVuc2lnbmVkIHNob3J0IGludCB0cmNkbWluOw0KPiArDQo+ICsgICAgIHVuc2ln bmVkIHNob3J0IGludCB0cnBtaW47DQo+ICsgICAgIHVuc2lnbmVkIHNob3J0IGludCB0cmFzbWlu Ow0KPiArICAgICB1bnNpZ25lZCBzaG9ydCBpbnQgdHJjbWluOw0KPiArICAgICB1bnNpZ25lZCBz aG9ydCBpbnQgdGZhd21pbjsNCj4gKw0KPiArICAgICB1bnNpZ25lZCBzaG9ydCBpbnQgdHJyZF9z bWluOyAgIC8qb25seSBERFI0Ki8NCj4gKyAgICAgdW5zaWduZWQgc2hvcnQgaW50IHRycmRfbG1p bjsgICAvKm9ubHkgRERSNCovDQo+ICsgICAgIHVuc2lnbmVkIHNob3J0IGludCB0Y2NkX2xtaW47 ICAgLypvbmx5IEREUjQqLw0KPiArICAgICB1bnNpZ25lZCBzaG9ydCBpbnQgdHdybWluOw0KPiAr DQo+ICsgICAgIHVuc2lnbmVkIHNob3J0IGludCB0d3RyX3NtaW47ICAgLypvbmx5IEREUjQqLw0K PiArICAgICB1bnNpZ25lZCBzaG9ydCBpbnQgdHd0cl9sbWluOyAgIC8qb25seSBERFI0Ki8NCj4g KyAgICAgdW5zaWduZWQgc2hvcnQgaW50IHR3dHJtaW47ICAgICAvKm9ubHkgRERSMyovDQo+ICsg ICAgIHVuc2lnbmVkIHNob3J0IGludCB0cnJkbWluOyAgICAgLypvbmx5IEREUjMqLw0KPiArDQo+ ICsgICAgIC8qKioqKioqKioqKioqKioqKioqIFJDRCBjb250cm9sIHdvcmRzICoqKioqKioqKioq KioqKioqLw0KPiArICAgICB1bnNpZ25lZCBjaGFyICBmMHJjMDM7IC8qYml0WzM6Ml06Q1MgICAg ICAgICAgICBiaXRbMTowXTpDQSAgKi8NCj4gKyAgICAgdW5zaWduZWQgY2hhciAgZjByYzA0OyAv KmJpdFszOjJdOk9EVCAgICAgICAgICAgYml0WzE6MF06Q0tFICovDQo+ICsgICAgIHVuc2lnbmVk IGNoYXIgIGYwcmMwNTsgLypiaXRbMzoyXTpDTEstQSBzaWRlICAgIGJpdFsxOjBdOkNMSy1CIHNp ZGUgKi8NCj4gKyAgICAgdW5zaWduZWQgY2hhciAgYmMwMDsNCj4gKyAgICAgdW5zaWduZWQgY2hh ciAgYmMwMTsNCj4gKyAgICAgdW5zaWduZWQgY2hhciAgYmMwMjsNCj4gKyAgICAgdW5zaWduZWQg Y2hhciAgYmMwMzsNCj4gKyAgICAgdW5zaWduZWQgY2hhciAgYmMwNDsNCj4gKw0KPiArICAgICB1 bnNpZ25lZCBjaGFyICBiYzA1Ow0KPiArICAgICB1bnNpZ25lZCBjaGFyICBmNWJjNXg7DQo+ICsg ICAgIHVuc2lnbmVkIGNoYXIgIGY1YmM2eDsNCj4gKyAgICAgLyoqKioqKioqKioqKioqKioqKiog TFJESU1NIHNwZWNpYWwgKioqKioqKioqKioqKioqKiovDQo+ICsgICAgIHVuc2lnbmVkIGNoYXIg IHZyZWZkcV9wcjA7DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIgIHZyZWZkcV9tZHJhbTsNCj4gKyAg ICAgdW5zaWduZWQgY2hhciAgcnR0X21kcmFtXzE4NjY7DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIg IHJ0dF9tZHJhbV8yNDAwOw0KPiArICAgICB1bnNpZ25lZCBjaGFyICBydHRfbWRyYW1fMzIwMDsN Cj4gKw0KPiArICAgICB1bnNpZ25lZCBjaGFyICBkcml2ZV9kcmFtOw0KPiArICAgICB1bnNpZ25l ZCBjaGFyICBvZHRfZHJhbV8xODY2Ow0KPiArICAgICB1bnNpZ25lZCBjaGFyICBvZHRfZHJhbV8y NDAwOw0KPiArICAgICB1bnNpZ25lZCBjaGFyICBvZHRfZHJhbV8zMjAwOw0KPiArICAgICB1bnNp Z25lZCBjaGFyICBwYXJrX2RyYW1fMTg2NjsNCj4gKyAgICAgdW5zaWduZWQgY2hhciAgcGFya19k cmFtXzI0MDA7DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIgIHBhcmtfZHJhbV8zMjAwOw0KPiArICAg ICB1bnNpZ25lZCBjaGFyICByY2RfbnVtOw0KPiArfSBfX2F0dHJpYnV0ZSgoYWxpZ25lZCg0KSkp Ow0KPiArDQo+ICtzdHJ1Y3QgbWN1X2NvbmZpZyB7DQo+ICsgICAgIHVuc2lnbmVkIGludCBtYWdp YzsNCj4gKyAgICAgdW5zaWduZWQgaW50IHZlcnNpb247DQo+ICsgICAgIHVuc2lnbmVkIGludCBz aXplOw0KPiArICAgICB1bnNpZ25lZCBjaGFyIHJldjFbNF07DQo+ICsNCj4gKyAgICAgdW5zaWdu ZWQgY2hhciBjaF9lbmFibGU7DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIgbWlzYzFfZW5hYmxlOw0K PiArICAgICB1bnNpZ25lZCBjaGFyIG1pc2MyX2VuYWJsZTsNCj4gKyAgICAgdW5zaWduZWQgY2hh ciBmb3JjZV9zcGRfZW5hYmxlOw0KPiArICAgICB1bnNpZ25lZCBjaGFyIG1pc2MzX2VuYWJsZTsN Cj4gKyAgICAgdW5zaWduZWQgY2hhciB0cmFpbl9kZWJ1ZzsNCj4gKyAgICAgdW5zaWduZWQgY2hh ciB0cmFpbl9yZWNvdmVyOw0KPiArICAgICB1bnNpZ25lZCBjaGFyIHJldjJbOV07DQo+ICsNCj4g KyAgICAgc3RydWN0IGRkcl9zcGQgZGRyX3NwZF9pbmZvWzJdOw0KPiArfSBfX2F0dHJpYnV0ZSgo YWxpZ25lZCg0KSkpOw0KPiArDQo+ICtzdGF0aWMgdm9pZCBnZXRfbWN1X3VwX2luZm9fZGVmYXVs dChzdHJ1Y3QgbWN1X2NvbmZpZyAqcG0pDQo+ICt7DQo+ICsgICAgIHBtLT5tYWdpYyAgICAgICAg ICAgICAgID0gUEFSQU1FVEVSX01DVV9NQUdJQzsNCj4gKyAgICAgcG0tPnZlcnNpb24gICAgICAg ICAgICAgPSBQQVJBTV9NQ1VfVkVSU0lPTjsNCj4gKyAgICAgcG0tPnNpemUgICAgICAgICAgICAg ICAgPSBQQVJBTV9NQ1VfU0laRTsNCj4gKyAgICAgcG0tPmNoX2VuYWJsZSAgICAgICAgICAgPSBQ QVJBTV9DSF9FTkFCTEU7DQo+ICsgICAgIHBtLT5taXNjMV9lbmFibGUgICAgICAgID0gUEFSQU1f RUNDX0VOQUJMRTsNCj4gKyAgICAgcG0tPmZvcmNlX3NwZF9lbmFibGUgICAgPSBQQVJBTV9GT1JD RV9TUERfRElTQUJMRTsNCj4gKyAgICAgcG0tPm1pc2MzX2VuYWJsZSAgICAgICAgPSBQQVJBTV9N Q1VfTUlTQ19FTkFCTEU7DQo+ICsgICAgIHBtLT50cmFpbl9yZWNvdmVyICAgICAgID0gMHgwOw0K PiArfQ0KPiArDQo+ICtzdGF0aWMgdW5zaWduZWQgY2hhciBpbml0X2RpbW1fcGFyYW0odW5zaWdu ZWQgY2hhciBjaCwgc3RydWN0IG1jdV9jb25maWcgKnBtKQ0KPiArew0KPiArICAgICBwcmludGYo Im1hbnVhbCBjb25maWcgZGltbSBpbmZvLi4uXG4iKTsNCj4gKyAgICAgcG0tPmRkcl9zcGRfaW5m b1tjaF0uZGltbV90eXBlID0gVURJTU1fVFlQRTsNCj4gKyAgICAgcG0tPmRkcl9zcGRfaW5mb1tj aF0uZGF0YV93aWR0aCA9IERJTU1fWDg7DQo+ICsgICAgIHBtLT5kZHJfc3BkX2luZm9bY2hdLm1p cnJvcl90eXBlID0gTk9fTUlSUk9SOw0KPiArICAgICBwbS0+ZGRyX3NwZF9pbmZvW2NoXS5lY2Nf dHlwZSA9IE5PX0VDQ19UWVBFOw0KPiArICAgICBwbS0+ZGRyX3NwZF9pbmZvW2NoXS5kcmFtX3R5 cGUgPSBERFI0X1RZUEU7DQo+ICsgICAgIHBtLT5kZHJfc3BkX2luZm9bY2hdLnJhbmtfbnVtID0g MTsNCj4gKyAgICAgcG0tPmRkcl9zcGRfaW5mb1tjaF0ucm93X251bSAgPSAxNjsNCj4gKyAgICAg cG0tPmRkcl9zcGRfaW5mb1tjaF0uY29sX251bSA9IDEwOw0KPiArICAgICBwbS0+ZGRyX3NwZF9p bmZvW2NoXS5iZ19udW0gPSA0Ow0KPiArICAgICBwbS0+ZGRyX3NwZF9pbmZvW2NoXS5iYW5rX251 bSA9IDQ7DQo+ICsgICAgIHBtLT5kZHJfc3BkX2luZm9bY2hdLnRhYW1pbiA9IDEzNzUwOw0KPiAr ICAgICBwbS0+ZGRyX3NwZF9pbmZvW2NoXS50cmNkbWluID0gMTM3NTA7DQo+ICsNCj4gKyAgICAg cG0tPmRkcl9zcGRfaW5mb1tjaF0udHJwbWluID0gMTM3NTA7DQo+ICsgICAgIHBtLT5kZHJfc3Bk X2luZm9bY2hdLnRyYXNtaW4gPSAzMjAwMDsNCj4gKyAgICAgcG0tPmRkcl9zcGRfaW5mb1tjaF0u dHJjbWluID0gIDQ1NzUwOw0KPiArICAgICBwbS0+ZGRyX3NwZF9pbmZvW2NoXS50ZmF3bWluID0g MjEwMDA7DQo+ICsNCj4gKyAgICAgcG0tPmRkcl9zcGRfaW5mb1tjaF0udHJyZF9zbWluID0gMzAw MDsNCj4gKyAgICAgcG0tPmRkcl9zcGRfaW5mb1tjaF0udHJyZF9sbWluID0gNDkwMDsNCj4gKyAg ICAgcG0tPmRkcl9zcGRfaW5mb1tjaF0udGNjZF9sbWluID0gNTAwMDsNCj4gKyAgICAgcG0tPmRk cl9zcGRfaW5mb1tjaF0udHdybWluID0gMTUwMDA7DQo+ICsNCj4gKyAgICAgcG0tPmRkcl9zcGRf aW5mb1tjaF0udHd0cl9zbWluID0gMjUwMDsNCj4gKyAgICAgcG0tPmRkcl9zcGRfaW5mb1tjaF0u dHd0cl9sbWluID0gNzUwMDsNCj4gKw0KPiArICAgICByZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAr dm9pZCBnZXRfZGVmYXVsdF9tY3VfaW5mbyh1bnNpZ25lZCBjaGFyICpkYXRhKQ0KPiArew0KPiAr ICAgICBnZXRfbWN1X3VwX2luZm9fZGVmYXVsdCgoc3RydWN0IG1jdV9jb25maWcgKilkYXRhKTsN Cj4gK30NCj4gKw0KPiArdm9pZCBmaXhfbWN1X2luZm8odW5zaWduZWQgY2hhciAqZGF0YSkNCj4g K3sNCj4gKyAgICAgdW5zaWduZWQgY2hhciBjaDsNCj4gKyAgICAgc3RydWN0IG1jdV9jb25maWcg Km1jdV9pbmZvID0gKHN0cnVjdCBtY3VfY29uZmlnICopZGF0YTsNCj4gKw0KPiArICAgICBmb3Ig KGNoID0gMDsgY2ggPCAyOyBjaCsrKQ0KPiArICAgICAgICAgICAgIGluaXRfZGltbV9wYXJhbShj aCwgbWN1X2luZm8pOw0KPiArfQ0KPiArDQo+ICt2b2lkIGRkcl9pbml0KHZvaWQpDQo+ICt7DQo+ ICsgICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzB4MTAwXTsNCj4gKyAgICAgc3RydWN0IGFybV9z bWNjY19yZXMgcmVzOw0KPiArDQo+ICsgICAgIGdldF9kZWZhdWx0X21jdV9pbmZvKGJ1ZmZlcik7 DQo+ICsgICAgIGZpeF9tY3VfaW5mbyhidWZmZXIpOw0KPiArDQo+ICsgICAgIGFybV9zbWNjY19z bWMoQ1BVX0lOSVRfTUVNLCAwLCAodTY0KWJ1ZmZlciwgMCwgMCwgMCwgMCwgMCwgJnJlcyk7DQo+ ICsgICAgIGlmIChyZXMuYTAgIT0gMCkgew0KPiArICAgICAgICAgICAgIHByaW50ZigiZXJyb3Ig eDA6IDB4JWx4LCB4MTogMHglbHhcbiIsIHJlcy5hMCwgcmVzLmExKTsNCj4gKyAgICAgICAgICAg ICB3aGlsZSAodHJ1ZSkNCj4gKyAgICAgICAgICAgICAgICAgICAgIDsNCj4gKyAgICAgfQ0KPiAr fQ0KPiBkaWZmIC0tZ2l0IGEvYm9hcmQvcGh5dGl1bS9wb21lbG8vcGNpZS5jIGIvYm9hcmQvcGh5 dGl1bS9wb21lbG8vcGNpZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjM3NTRkOGViOWINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9ib2FyZC9waHl0aXVt L3BvbWVsby9wY2llLmMNCj4gQEAgLTAsMCArMSw2MSBAQA0KPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjArDQo+ICsvKg0KPiArICogQ29weXJpZ2h0IChDKSAyMDIxDQo+ICsg KiBsaXhpbmRlICAgICAgICAgPGxpeGluZGVAcGh5dGl1bS5jb20uY24+DQo+ICsgKiB3ZWljaGFu Z3poZW5nICAgPHdlaWNoYW5nemhlbmdAcGh5dGl1bS5jb20uY24+DQo+ICsgKi8NCj4gKw0KPiAr I2luY2x1ZGUgPHN0ZGlvLmg+DQo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+DQo+ICsjaW5jbHVkZSA8 bGludXgvYXJtLXNtY2NjLmg+DQo+ICsjaW5jbHVkZSAiY3B1LmgiDQo+ICsNCj4gK3N0cnVjdCBw Y3VfY3RyIHsNCj4gKyAgICAgdW5zaWduZWQgaW50IGJhc2VfY29uZmlnWzNdOw0KPiArICAgICB1 bnNpZ25lZCBpbnQgZXF1YWxpemF0aW9uWzNdOw0KPiArICAgICB1bnNpZ25lZCBjaGFyIHJldls4 MF07DQo+ICt9IF9fYXR0cmlidXRlKChhbGlnbmVkKDQpKSk7DQo+ICsNCj4gK3N0cnVjdCBwY3Vf Y29uZmlnIHsNCj4gKyAgICAgdW5zaWduZWQgaW50IG1hZ2ljOw0KPiArICAgICB1bnNpZ25lZCBp bnQgdmVyc2lvbjsNCj4gKyAgICAgdW5zaWduZWQgaW50IHNpemU7DQo+ICsgICAgIHVuc2lnbmVk IGNoYXIgcmV2MVs0XTsNCj4gKyAgICAgdW5zaWduZWQgaW50IGluZGVwZW5kZW50X3RyZWU7DQo+ ICsgICAgIHVuc2lnbmVkIGludCBiYXNlX2NmZzsNCj4gKyAgICAgdW5zaWduZWQgY2hhciByZXYy WzE2XTsNCj4gKyAgICAgc3RydWN0IHBjdV9jdHIgY3RyX2NmZ1syXTsNCj4gK30gX19hdHRyaWJ1 dGUoKGFsaWduZWQoNCkpKTsNCj4gKw0KPiArc3RydWN0IHBjdV9jb25maWcgY29uc3QgcGV1X2Jh c2VfaW5mbyA9IHsNCj4gKyAgICAgLm1hZ2ljID0gUEFSQU1FVEVSX1BDSUVfTUFHSUMsDQo+ICsg ICAgIC52ZXJzaW9uID0gMHgyLA0KPiArICAgICAuc2l6ZSA9IDB4MTAwLA0KPiArICAgICAuaW5k ZXBlbmRlbnRfdHJlZSA9IENPTkZJR19JTkRFUEVOREVOVF9UUkVFLA0KPiArICAgICAuYmFzZV9j ZmcgPSAoKFBDSV9QRVUxIHwgKFg4WDggPDwgMSkpIDw8IFBFVTFfT0ZGU0VUIHwgKFBDSV9QRVUw IHwgKFg4WDggPDwgMSkpKSwNCj4gKyAgICAgLmN0cl9jZmdbMF0uYmFzZV9jb25maWdbMF0gPSAo UkNfTU9ERSA8PCBQRVVfQ19PRkZTRVRfTU9ERSkgfCAoR0VOMyA8PCBQRVVfQ19PRkZTRVRfU1BF RUQpLA0KPiArICAgICAuY3RyX2NmZ1swXS5iYXNlX2NvbmZpZ1sxXSA9IChSQ19NT0RFIDw8IFBF VV9DX09GRlNFVF9NT0RFKSB8IChHRU4zIDw8IFBFVV9DX09GRlNFVF9TUEVFRCksDQo+ICsgICAg IC5jdHJfY2ZnWzBdLmJhc2VfY29uZmlnWzJdID0gKFJDX01PREUgPDwgUEVVX0NfT0ZGU0VUX01P REUpIHwgKEdFTjMgPDwgUEVVX0NfT0ZGU0VUX1NQRUVEKSwNCj4gKyAgICAgLmN0cl9jZmdbMV0u YmFzZV9jb25maWdbMF0gPSAoUkNfTU9ERSA8PCBQRVVfQ19PRkZTRVRfTU9ERSkgfCAoR0VOMyA8 PCBQRVVfQ19PRkZTRVRfU1BFRUQpLA0KPiArICAgICAuY3RyX2NmZ1sxXS5iYXNlX2NvbmZpZ1sx XSA9IChSQ19NT0RFIDw8IFBFVV9DX09GRlNFVF9NT0RFKSB8IChHRU4zIDw8IFBFVV9DX09GRlNF VF9TUEVFRCksDQo+ICsgICAgIC5jdHJfY2ZnWzFdLmJhc2VfY29uZmlnWzJdID0gKFJDX01PREUg PDwgUEVVX0NfT0ZGU0VUX01PREUpIHwgKEdFTjMgPDwgUEVVX0NfT0ZGU0VUX1NQRUVEKSwNCj4g KyAgICAgLmN0cl9jZmdbMF0uZXF1YWxpemF0aW9uWzBdID0gMHg3LA0KPiArICAgICAuY3RyX2Nm Z1swXS5lcXVhbGl6YXRpb25bMV0gPSAweDcsDQo+ICsgICAgIC5jdHJfY2ZnWzBdLmVxdWFsaXph dGlvblsyXSA9IDB4NywNCj4gKyAgICAgLmN0cl9jZmdbMV0uZXF1YWxpemF0aW9uWzBdID0gMHg3 LA0KPiArICAgICAuY3RyX2NmZ1sxXS5lcXVhbGl6YXRpb25bMV0gPSAweDcsDQo+ICsgICAgIC5j dHJfY2ZnWzFdLmVxdWFsaXphdGlvblsyXSA9IDB4NywNCj4gK307DQo+ICsNCj4gK3ZvaWQgcGNp ZV9pbml0KHZvaWQpDQo+ICt7DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzB4MTAwXTsN Cj4gKyAgICAgc3RydWN0IGFybV9zbWNjY19yZXMgcmVzOw0KPiArDQo+ICsgICAgIG1lbWNweShi dWZmZXIsICZwZXVfYmFzZV9pbmZvLCBzaXplb2YocGV1X2Jhc2VfaW5mbykpOw0KPiArICAgICBh cm1fc21jY2Nfc21jKENQVV9JTklUX1BDSUUsIDAsICh1NjQpYnVmZmVyLCAwLCAwLCAwLCAwLCAw LCAmcmVzKTsNCj4gKyAgICAgaWYgKHJlcy5hMCAhPSAwKSB7DQo+ICsgICAgICAgICAgICAgd2hp bGUgKHRydWUpDQo+ICsgICAgICAgICAgICAgICAgICAgICA7DQo+ICsgICAgIH0NCj4gK30NCj4g ZGlmZiAtLWdpdCBhL2JvYXJkL3BoeXRpdW0vcG9tZWxvL3BsbC5jIGIvYm9hcmQvcGh5dGl1bS9w b21lbG8vcGxsLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u MTIyN2I3ZGQ4MA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2JvYXJkL3BoeXRpdW0vcG9tZWxv L3BsbC5jDQo+IEBAIC0wLDAgKzEsNzUgQEANCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wKw0KPiArLyoNCj4gKyAqIENvcHlyaWdodCAoQykgMjAyMQ0KPiArICogbGl4aW5k ZSAgICAgICAgIDxsaXhpbmRlQHBoeXRpdW0uY29tLmNuPg0KPiArICogd2VpY2hhbmd6aGVuZyAg IDx3ZWljaGFuZ3poZW5nQHBoeXRpdW0uY29tLmNuPg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRl IDxzdGRpby5oPg0KPiArI2luY2x1ZGUgPHN0cmluZy5oPg0KPiArI2luY2x1ZGUgPGFzbS9pby5o Pg0KPiArI2luY2x1ZGUgPGxpbnV4L2FybS1zbWNjYy5oPg0KPiArI2luY2x1ZGUgImNwdS5oIg0K PiArDQo+ICtzdHJ1Y3QgcGxsX2NvbmZpZyB7DQo+ICsgICAgIHVuc2lnbmVkIGludCBtYWdpYzsN Cj4gKyAgICAgdW5zaWduZWQgaW50IHZlcnNpb247DQo+ICsgICAgIHVuc2lnbmVkIGludCBzaXpl Ow0KPiArICAgICB1bnNpZ25lZCBjaGFyIHJldjFbNF07DQo+ICsgICAgIHVuc2lnbmVkIGludCBj b3JlX3BsbDsNCj4gKyAgICAgdW5zaWduZWQgaW50IHJlczE7DQo+ICsgICAgIHVuc2lnbmVkIGlu dCBsbXVfcGxsOw0KPiArICAgICB1bnNpZ25lZCBpbnQgcmVzMjsNCj4gKyAgICAgdW5zaWduZWQg aW50IHJlczM7DQo+ICsgICAgIHVuc2lnbmVkIGludCByZXM0Ow0KPiArICAgICB1bnNpZ25lZCBp bnQgcmVzNTsNCj4gK30gX19hdHRyaWJ1dGUoKGFsaWduZWQoNCkpKTsNCj4gKw0KPiArc3RydWN0 IHBsbF9jb25maWcgY29uc3QgcGxsX2Jhc2VfaW5mbyA9IHsNCj4gKyAgICAgLm1hZ2ljID0gUEFS QU1FVEVSX1BMTF9NQUdJQywNCj4gKyAgICAgLnZlcnNpb24gPSAweDEsDQo+ICsgICAgIC5zaXpl ID0gMHgzMCwNCj4gKyAgICAgLmNvcmVfcGxsID0gMjMwMCwgICAgICAgLypNSHoqLw0KPiArICAg ICAubG11X3BsbCA9IDY2NywgICAgICAgICAvKk1IeiovDQo+ICt9Ow0KPiArDQo+ICt1bnNpZ25l ZCBpbnQgZ2V0X3Jlc2V0X3NvdXJjZSh2b2lkKQ0KPiArew0KPiArICAgICBzdHJ1Y3QgYXJtX3Nt Y2NjX3JlcyByZXM7DQo+ICsNCj4gKyAgICAgYXJtX3NtY2NjX3NtYyhDUFVfR0VUX1JTVF9TT1VS Q0UsIDAsIDAsIDAsIDAsIDAsIDAsIDAsICZyZXMpOw0KPiArICAgICByZXR1cm4gcmVzLmEwOw0K PiArfQ0KPiArDQo+ICt2b2lkIHBsbF9pbml0KHZvaWQpDQo+ICt7DQo+ICsgICAgIHVuc2lnbmVk IGNoYXIgYnVmZmVyWzB4MTAwXTsNCj4gKyAgICAgc3RydWN0IGFybV9zbWNjY19yZXMgcmVzOw0K PiArDQo+ICsgICAgIG1lbWNweShidWZmZXIsICZwbGxfYmFzZV9pbmZvLCBzaXplb2YocGxsX2Jh c2VfaW5mbykpOw0KPiArICAgICBhcm1fc21jY2Nfc21jKENQVV9JTklUX1BMTCwgMCwgKHU2NCli dWZmZXIsIDAsIDAsIDAsIDAsIDAsICZyZXMpOw0KPiArICAgICBpZiAocmVzLmEwICE9IDApIHsN Cj4gKyAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkNCj4gKyAgICAgICAgICAgICAgICAgICAgIDsN Cj4gKyAgICAgfQ0KPiArfQ0KPiArDQo+ICt2b2lkIGNoZWNrX3Jlc2V0KHZvaWQpDQo+ICt7DQo+ ICsgICAgIHVuc2lnbmVkIGludCByc3Q7DQo+ICsNCj4gKyAgICAgcnN0ID0gZ2V0X3Jlc2V0X3Nv dXJjZSgpOw0KPiArDQo+ICsgICAgIHN3aXRjaCAocnN0KSB7DQo+ICsgICAgIGNhc2UgQ1BVX1JF U0VUX1BPV0VSX09OOg0KPiArICAgICAgICAgICAgIHBsbF9pbml0KCk7DQo+ICsgICAgICAgICAg ICAgYnJlYWs7DQo+ICsgICAgIGNhc2UgQ1BVX1JFU0VUX1BMTDoNCj4gKyAgICAgICAgICAgICBi cmVhazsNCj4gKyAgICAgY2FzZSBDUFVfUkVTRVRfV0FUQ0hfRE9HOg0KPiArICAgICAgICAgICAg IGJyZWFrOw0KPiArICAgICBkZWZhdWx0Og0KPiArICAgICAgICAgICAgIHdoaWxlICh0cnVlKQ0K PiArICAgICAgICAgICAgICAgICAgICAgOw0KPiArICAgICB9DQo+ICt9DQo+IGRpZmYgLS1naXQg YS9ib2FyZC9waHl0aXVtL3BvbWVsby9wb21lbG8uYyBiL2JvYXJkL3BoeXRpdW0vcG9tZWxvL3Bv bWVsby5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjY5M2U4 OTFkMjANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9ib2FyZC9waHl0aXVtL3BvbWVsby9wb21l bG8uYw0KPiBAQCAtMCwwICsxLDEyMCBAQA0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjArDQo+ICsvKg0KPiArICogQ29weXJpZ2h0IChDKSAyMDIxDQo+ICsgKiBsaXhpbmRl ICAgICAgICAgPGxpeGluZGVAcGh5dGl1bS5jb20uY24+DQo+ICsgKiB3ZWljaGFuZ3poZW5nICAg PHdlaWNoYW5nemhlbmdAcGh5dGl1bS5jb20uY24+DQo+ICsgKi8NCj4gKw0KPiArI2luY2x1ZGUg PHN0ZGlvLmg+DQo+ICsjaW5jbHVkZSA8Y29tbWFuZC5oPg0KPiArI2luY2x1ZGUgPGluaXQuaD4N Cj4gKyNpbmNsdWRlIDxhc20vYXJtdjgvbW11Lmg+DQo+ICsjaW5jbHVkZSA8YXNtL2lvLmg+DQo+ ICsjaW5jbHVkZSA8bGludXgvYXJtLXNtY2NjLmg+DQo+ICsjaW5jbHVkZSA8c2NzaS5oPg0KPiAr I2luY2x1ZGUgImNwdS5oIg0KPiArDQo+ICtERUNMQVJFX0dMT0JBTF9EQVRBX1BUUjsNCj4gKw0K PiAraW50IGRyYW1faW5pdCh2b2lkKQ0KPiArew0KPiArICAgICBnZC0+bWVtX2NsayA9IDA7DQo+ ICsgICAgIGdkLT5yYW1fc2l6ZSA9IFBIWVNfU0RSQU1fMV9TSVpFOw0KPiArDQo+ICsgICAgIHBy aW50ZigiUGh5dGl1bSBkZHIgaW5pdFxuIik7DQo+ICsNCj4gKyAgICAgZGRyX2luaXQoKTsNCj4g KyAgICAgc2VjX2luaXQoKTsNCj4gKyAgICAgcHJpbnRmKCJQQkYgcmVsb2NhdGUgZG9uZVxuIik7 DQo+ICsNCj4gKyAgICAgcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK2ludCBib2FyZF9pbml0KHZv aWQpDQo+ICt7DQo+ICsgICAgIHJldHVybiAwOw0KPiArfQ0KPiArDQo+ICt2b2lkIHJlc2V0X2Nw dSh2b2lkKQ0KPiArew0KPiArICAgICBzdHJ1Y3QgYXJtX3NtY2NjX3JlcyByZXM7DQo+ICsNCj4g KyAgICAgcHJpbnRmKCJydW4gaW4gcmVzZXQgY3B1XG4iKTsNCj4gKyAgICAgYXJtX3NtY2NjX3Nt YygweDg0MDAwMDA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAmcmVzKTsNCj4gKyAgICAgcHJpbnRm KCJyZXNldCBjcHUgZXJyb3IsICVseFxuIiwgcmVzLmEwKTsNCj4gK30NCj4gKw0KPiAraW50IG1h Y2hfY3B1X2luaXQodm9pZCkNCj4gK3sNCj4gKyAgICAgY2hlY2tfcmVzZXQoKTsNCj4gKyAgICAg cmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK2ludCBib2FyZF9lYXJseV9pbml0X2Yodm9pZCkNCj4g K3sNCj4gKyAgICAgcGNpZV9pbml0KCk7DQo+ICsgICAgIHJldHVybiAwOw0KPiArfQ0KPiArDQo+ ICtpbnQgYm9hcmRfZWFybHlfaW5pdF9yKHZvaWQpDQo+ICt7DQo+ICsgICAgIHJldHVybiAwOw0K PiArfQ0KPiArDQo+ICtzdGF0aWMgc3RydWN0IG1tX3JlZ2lvbiBwb21lbG9fbWVtX21hcFtdID0g ew0KPiArICAgICB7DQo+ICsgICAgICAgICAgICAgLnZpcnQgPSAweDBVTCwNCj4gKyAgICAgICAg ICAgICAucGh5cyA9IDB4MFVMLA0KPiArICAgICAgICAgICAgIC5zaXplID0gMHg4MDAwMDAwMFVM LA0KPiArICAgICAgICAgICAgIC5hdHRycyA9IFBURV9CTE9DS19NRU1UWVBFKE1UX0RFVklDRV9O R05STkUpIHwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBURV9CTE9DS19OT05f U0hBUkUgfA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFRFX0JMT0NLX1BYTiB8 DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQVEVfQkxPQ0tfVVhODQo+ICsgICAg IH0sDQo+ICsgICAgIHsNCj4gKyAgICAgICAgICAgICAudmlydCA9ICh1NjQpUEhZU19TRFJBTV8x LA0KPiArICAgICAgICAgICAgIC5waHlzID0gKHU2NClQSFlTX1NEUkFNXzEsDQo+ICsgICAgICAg ICAgICAgLnNpemUgPSAodTY0KVBIWVNfU0RSQU1fMV9TSVpFLA0KPiArICAgICAgICAgICAgIC5h dHRycyA9IFBURV9CTE9DS19NRU1UWVBFKE1UX05PUk1BTCkgfA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUFRFX0JMT0NLX05TIHwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBURV9CTE9DS19JTk5FUl9TSEFSRQ0KPiArICAgICB9LA0KPiArICAgICB7DQo+ICsg ICAgICAgICAgICAgMCwNCj4gKyAgICAgfQ0KPiArfTsNCj4gKw0KPiArc3RydWN0IG1tX3JlZ2lv biAqbWVtX21hcCA9IHBvbWVsb19tZW1fbWFwOw0KPiArDQo+ICtpbnQgX19hc21fZmx1c2hfbDNf ZGNhY2hlKHZvaWQpDQo+ICt7DQo+ICsgICAgIGludCBpLCBwc3RhdGU7DQo+ICsNCj4gKyAgICAg Zm9yIChpID0gMDsgaSA8IEhORl9DT1VOVDsgaSsrKQ0KPiArICAgICAgICAgICAgIHdyaXRlcShI TkZfUFNUQVRFX1NGT05MWSwgSE5GX1BTVEFURV9SRVEgKyBpICogSE5GX1NUUklERSk7DQo+ICsg ICAgIGZvciAoaSA9IDA7IGkgPCBITkZfQ09VTlQ7IGkrKykgew0KPiArICAgICAgICAgICAgIGRv IHsNCj4gKyAgICAgICAgICAgICAgICAgICAgIHBzdGF0ZSA9IHJlYWRxKEhORl9QU1RBVEVfU1RB VCArIGkgKiBITkZfU1RSSURFKTsNCj4gKyAgICAgICAgICAgICB9IHdoaWxlICgocHN0YXRlICYg MHhmKSAhPSAoSE5GX1BTVEFURV9TRk9OTFkgPDwgMikpOw0KPiArICAgICB9DQo+ICsNCj4gKyAg ICAgZm9yIChpID0gMDsgaSA8IEhORl9DT1VOVDsgaSsrKQ0KPiArICAgICAgICAgICAgIHdyaXRl cShITkZfUFNUQVRFX0ZVTEwsIEhORl9QU1RBVEVfUkVRICsgaSAqIEhORl9TVFJJREUpOw0KPiAr DQo+ICsgICAgIHJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtpbnQgbGFzdF9zdGFnZV9pbml0KHZv aWQpDQo+ICt7DQo+ICsgICAgIGludCByZXQ7DQo+ICsNCj4gKyAgICAgLyogcGNpIGUgKi8NCj4g KyAgICAgcGNpX2luaXQoKTsNCj4gKyAgICAgLyogc2NzaSBzY2FuICovDQo+ICsgICAgIHJldCA9 IHNjc2lfc2Nhbih0cnVlKTsNCj4gKyAgICAgaWYgKHJldCkgew0KPiArICAgICAgICAgICAgIHBy aW50Zigic2NzaSBzY2FuIGZhaWxlZFxuIik7DQo+ICsgICAgICAgICAgICAgcmV0dXJuIENNRF9S RVRfRkFJTFVSRTsNCj4gKyAgICAgfQ0KPiArICAgICByZXR1cm4gcmV0Ow0KPiArfQ0KPiBkaWZm IC0tZ2l0IGEvYm9hcmQvcGh5dGl1bS9wb21lbG8vc2VjLmMgYi9ib2FyZC9waHl0aXVtL3BvbWVs by9zZWMuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44ZWMw ZmE3OTdiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvYm9hcmQvcGh5dGl1bS9wb21lbG8vc2Vj LmMNCj4gQEAgLTAsMCArMSw0MCBAQA0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjArDQo+ICsvKg0KPiArICogQ29weXJpZ2h0IChDKSAyMDIxDQo+ICsgKiBsaXhpbmRlICAg ICAgICAgPGxpeGluZGVAcGh5dGl1bS5jb20uY24+DQo+ICsgKiB3ZWljaGFuZ3poZW5nICAgPHdl aWNoYW5nemhlbmdAcGh5dGl1bS5jb20uY24+DQo+ICsgKi8NCj4gKw0KPiArI2luY2x1ZGUgPHN0 ZGlvLmg+DQo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvYXJtLXNt Y2NjLmg+DQo+ICsjaW5jbHVkZSAiY3B1LmgiDQo+ICsNCj4gK3N0cnVjdCBjb21tb25fY29uZmln IHsNCj4gKyAgICAgdW5zaWduZWQgaW50IG1hZ2ljOw0KPiArICAgICB1bnNpZ25lZCBpbnQgdmVy c2lvbjsNCj4gKyAgICAgdW5zaWduZWQgaW50IHNpemU7DQo+ICsgICAgIHVuc2lnbmVkIGNoYXIg cmV2MVs0XTsNCj4gKyAgICAgdW5zaWduZWQgbG9uZyBsb25nICBjb3JlX2JpdF9tYXA7DQo+ICt9 IF9fYXR0cmlidXRlKChhbGlnbmVkKDQpKSk7DQo+ICsNCj4gK3N0cnVjdCBjb21tb25fY29uZmln IGNvbnN0IGNvbW1vbl9iYXNlX2luZm8gPSB7DQo+ICsgICAgIC5tYWdpYyA9IFBBUkFNRVRFUl9D T01NT05fTUFHSUMsDQo+ICsgICAgIC52ZXJzaW9uID0gMHgxLA0KPiArICAgICAuY29yZV9iaXRf bWFwID0gMHgzMzMzLA0KPiArfTsNCj4gKw0KPiArdm9pZCBzZWNfaW5pdCh2b2lkKQ0KPiArew0K PiArICAgICB1bnNpZ25lZCBjaGFyIGJ1ZmZlclsweDEwMF07DQo+ICsgICAgIHN0cnVjdCBhcm1f c21jY2NfcmVzIHJlczsNCj4gKw0KPiArICAgICBtZW1jcHkoYnVmZmVyLCAmY29tbW9uX2Jhc2Vf aW5mbywgc2l6ZW9mKGNvbW1vbl9iYXNlX2luZm8pKTsNCj4gKyAgICAgYXJtX3NtY2NjX3NtYyhD UFVfSU5JVF9TRUNfU1ZDLCAwLCAodTY0KWJ1ZmZlciwgMCwgMCwgMCwgMCwgMCwgJnJlcyk7DQo+ ICsNCj4gKyAgICAgaWYgKHJlcy5hMCAhPSAwKSB7DQo+ICsgICAgICAgICAgICAgcHJpbnRmKCJl cnJvciByZXQgJWx4XG4iLCByZXMuYTApOw0KPiArICAgICAgICAgICAgIHdoaWxlICh0cnVlKQ0K PiArICAgICAgICAgICAgICAgICAgICAgOw0KPiArICAgICB9DQo+ICt9DQo+IGRpZmYgLS1naXQg YS9jb25maWdzL3BvbWVsb19kZWZjb25maWcgYi9jb25maWdzL3BvbWVsb19kZWZjb25maWcNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uM2U2YzE4MTk2ZA0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL2NvbmZpZ3MvcG9tZWxvX2RlZmNvbmZpZw0KPiBAQCAtMCww ICsxLDM2IEBADQo+ICtDT05GSUdfQVJNPXkNCj4gK0NPTkZJR19BUk1fU01DQ0M9eQ0KPiArQ09O RklHX1RBUkdFVF9QT01FTE89eQ0KPiArQ09ORklHX1NZU19URVhUX0JBU0U9MHgxODAwMDANCj4g K0NPTkZJR19OUl9EUkFNX0JBTktTPTENCj4gK0NPTkZJR19FTlZfU0laRT0weDEwMDANCj4gKyMg Q09ORklHX1BTQ0lfUkVTRVQgaXMgbm90IHNldA0KPiArQ09ORklHX0RFRkFVTFRfREVWSUNFX1RS RUU9InBoeXRpdW0tcG9tZWxvIg0KPiArQ09ORklHX0FIQ0k9eQ0KPiArQ09ORklHX0RJU1RST19E RUZBVUxUUz15DQo+ICtDT05GSUdfVVNFX0JPT1RBUkdTPXkNCj4gK0NPTkZJR19CT09UQVJHUz0i Y29uc29sZT10dHlBTUEwLDExNTIwMCBlYXJseWNvbj1wbDAxMSwweDI4MDAxMDAwIHJvb3Q9L2Rl di9zZGEyIHJ3Ig0KPiArIyBDT05GSUdfRElTUExBWV9DUFVJTkZPIGlzIG5vdCBzZXQNCj4gKyMg Q09ORklHX0RJU1BMQVlfQk9BUkRJTkZPIGlzIG5vdCBzZXQNCj4gK0NPTkZJR19MQVNUX1NUQUdF X0lOSVQ9eQ0KPiArQ09ORklHX1NZU19QUk9NUFQ9InBvbWVsbyMiDQo+ICsjIENPTkZJR19DTURf TFpNQURFQyBpcyBub3Qgc2V0DQo+ICsjIENPTkZJR19DTURfVU5aSVAgaXMgbm90IHNldA0KPiAr Q09ORklHX0NNRF9QQ0k9eQ0KPiArQ09ORklHX09GX0NPTlRST0w9eQ0KPiArQ09ORklHX1NZU19S RUxPQ19HRF9FTlZfQUREUj15DQo+ICsjIENPTkZJR19ORVQgaXMgbm90IHNldA0KPiArQ09ORklH X0RNPXkNCj4gK0NPTkZJR19TQ1NJX0FIQ0k9eQ0KPiArQ09ORklHX0FIQ0lfUENJPXkNCj4gK0NP TkZJR19CTEs9eQ0KPiArIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQNCj4gK0NPTkZJR19QQ0k9eQ0K PiArQ09ORklHX0RNX1BDST15DQo+ICtDT05GSUdfRE1fUENJX0NPTVBBVD15DQo+ICtDT05GSUdf UENJX1BIWVRJVU09eQ0KPiArQ09ORklHX1BDSUVfRUNBTV9HRU5FUklDPXkNCj4gK0NPTkZJR19T Q1NJPXkNCj4gK0NPTkZJR19ETV9TQ1NJPXkNCj4gK0NPTkZJR19ETV9TRVJJQUw9eQ0KPiArQ09O RklHX1BMMDFYX1NFUklBTD15DQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZ3MvcG9tZWxv LmggYi9pbmNsdWRlL2NvbmZpZ3MvcG9tZWxvLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uNjljNDE5NWQ4Ng0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2lu Y2x1ZGUvY29uZmlncy9wb21lbG8uaA0KPiBAQCAtMCwwICsxLDQ1IEBADQo+ICsvKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsgKi8NCj4gKy8qDQo+ICsgKiBDb3B5cmlnaHQgKEMp IDIwMjENCj4gKyAqIGxpeGluZGUgICAgICAgICA8bGl4aW5kZUBwaHl0aXVtLmNvbS5jbj4NCj4g KyAqIHdlaWNoYW5nemhlbmcgICA8d2VpY2hhbmd6aGVuZ0BwaHl0aXVtLmNvbS5jbj4NCj4gKyAq Lw0KPiArDQo+ICsjaWZuZGVmIF9fUE9NRUxPX0NPTkZJR19IX18NCj4gKyNkZWZpbmUgX19QT01F TE9fQ09ORklHX0hfXw0KPiArDQo+ICsvKiBTRFJBTSBCYW5rICMxIHN0YXJ0IGFkZHJlc3MgKi8N Cj4gKyNkZWZpbmUgUEhZU19TRFJBTV8xICAgICAgICAgICAgICAgICAweDgwMDAwMDAwDQo+ICsj ZGVmaW5lIFBIWVNfU0RSQU1fMV9TSVpFICAgICAgICAgICAgMHg3QjAwMDAwMA0KPiArI2RlZmlu ZSBDT05GSUdfU1lTX1NEUkFNX0JBU0UgICAgICAgICAgICAgICAgUEhZU19TRFJBTV8xDQo+ICsN Cj4gKyNkZWZpbmUgQ09ORklHX1NZU19MT0FEX0FERFIgICAgICAgICAoQ09ORklHX1NZU19TRFJB TV9CQVNFICsgMHgxMDAwMDAwMCkNCj4gKw0KPiArLyogU0laRSBvZiBtYWxsb2MgcG9vbCAqLw0K PiArI2RlZmluZSBDT05GSUdfU1lTX01BTExPQ19MRU4gICAgICAgICAgICAgICAgKDEgKiAxMDI0 ICogMTAyNCAgKyBDT05GSUdfRU5WX1NJWkUpDQo+ICsjZGVmaW5lIENPTkZJR19CT0FSRF9FQVJM WV9JTklUX0YNCj4gKyNkZWZpbmUgQ09ORklHX0JPQVJEX0VBUkxZX0lOSVRfUg0KPiArDQo+ICsj ZGVmaW5lIENPTkZJR19TWVNfSU5JVF9TUF9BRERSICAgICAgICAgICAgICAoMHgyOTgwMDAwMCAr IDB4MWEwMDApDQo+ICsNCj4gKy8qIFBDSSBDT05GSUcgKi8NCj4gKyNkZWZpbmUgQ09ORklHX1NZ U19QQ0lfNjRCSVQgICAgICAgICAxDQo+ICsjZGVmaW5lIENPTkZJR19QQ0lfU0NBTl9TSE9XDQo+ ICsNCj4gKy8qIFNDU0kgKi8NCj4gKyNkZWZpbmUgQ09ORklHX1NZU19TQ1NJX01BWF9TQ1NJX0lE ICA0DQo+ICsjZGVmaW5lIENPTkZJR19TWVNfU0NTSV9NQVhfTFVOICAgICAgICAgICAgICAxDQo+ ICsjZGVmaW5lIENPTkZJR19TWVNfU0NTSV9NQVhfREVWSUNFICAgMTI4DQo+ICsjZGVmaW5lIENP TkZJR19TQ1NJX0FIQ0lfUExBVA0KPiArI2RlZmluZSBDT05GSUdfU1lTX1NBVEFfTUFYX0RFVklD RSAgIDQNCj4gKw0KPiArLypCT09UKi8NCj4gKyNkZWZpbmUgQ09ORklHX1NZU19CT09UTV9MRU4g ICAgICAgICAoNjAgKiAxMDI0ICogMTAyNCkNCj4gKw0KPiArI2RlZmluZSBDT05GSUdfRVhUUkFf RU5WX1NFVFRJTkdTICAgIFwNCj4gKyAgICAgImxvYWRfa2VybmVsPWV4dDRsb2FkIHNjc2kgMDox IDB4OTAxMDAwMDAgdUltYWdlX29sZFwwIiBcDQo+ICsgICAgICJsb2FkX2ZkdD1leHQ0bG9hZCBz Y3NpIDA6MSAweDk1MDAwMDAwIGZ0LWQyMDAwLmR0YlwwIlwNCj4gKyAgICAgImJvb3RfZmR0PWJv b3RtIDB4OTAxMDAwMDAgLTotIDB4MTdjMDAwXDAiICAgICAgXA0KPiArICAgICAiZGlzdHJvX2Jv b3RjbWQ9cnVuIGxvYWRfa2VybmVsOyBydW4gYm9vdF9mZHQiDQo+ICsNCj4gKyNlbmRpZg0KDQo=