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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 72FA1C433F5 for ; Tue, 28 Sep 2021 02:58:06 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0D4DF61156 for ; Tue, 28 Sep 2021 02:58:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0D4DF61156 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.197353.350371 (Exim 4.92) (envelope-from ) id 1mV3JF-0006ga-BJ; Tue, 28 Sep 2021 02:57:33 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 197353.350371; Tue, 28 Sep 2021 02:57:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mV3JF-0006gT-7z; Tue, 28 Sep 2021 02:57:33 +0000 Received: by outflank-mailman (input) for mailman id 197353; Tue, 28 Sep 2021 02:57:31 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mV3JD-0006gN-Et for xen-devel@lists.xenproject.org; Tue, 28 Sep 2021 02:57:31 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown [40.107.22.59]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 2a296a7f-be43-4b24-b09d-effc7c1115b1; Tue, 28 Sep 2021 02:57:26 +0000 (UTC) Received: from AM6P192CA0001.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::14) by AM0PR08MB5331.eurprd08.prod.outlook.com (2603:10a6:208:187::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.14; Tue, 28 Sep 2021 02:57:18 +0000 Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:83:cafe::88) by AM6P192CA0001.outlook.office365.com (2603:10a6:209:83::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15 via Frontend Transport; Tue, 28 Sep 2021 02:57:18 +0000 Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Tue, 28 Sep 2021 02:57:18 +0000 Received: ("Tessian outbound 010023020eef:v103"); Tue, 28 Sep 2021 02:57:17 +0000 Received: from 15cbb1cb533c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 5853ACA9-BB35-439A-9E4D-F57508CDD076.1; Tue, 28 Sep 2021 02:57:07 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 15cbb1cb533c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 28 Sep 2021 02:57:07 +0000 Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7) by DBAPR08MB5559.eurprd08.prod.outlook.com (2603:10a6:10:1a2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Tue, 28 Sep 2021 02:57:06 +0000 Received: from DB9PR08MB6857.eurprd08.prod.outlook.com ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com ([fe80::2c28:50cf:49fd:da32%9]) with mapi id 15.20.4544.022; Tue, 28 Sep 2021 02:57:05 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 2a296a7f-be43-4b24-b09d-effc7c1115b1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i0ZWj0So+f3AGvIMNKdZairzuaiPSyZDQgM8cCXrFUw=; b=Oo7tS2xoqT79t9J11jCUPUakEzP6M2Mxnvsz61gWzNgUeS2nGM5Hw4lfC0xpCezEHldCitCev3OU/UQVEV7aRLa/lRBYb1m8z96LeOAiJH76fT/LhxtROj5WGd5hvaBGTEyQ/1mI4zH0A4GekLp7TRG7Su4xmJPeAkSZvbo40ZA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; X-CR-MTA-TID: 64aa7808 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TtD+507qJyVRS7WSWzAIqs8r1xKqDATuwS18J+fh3/JHG7ZYcUNVjbwP2mvwyBtpHf2gA+DodKNsxuV7om4uBB667Y5cTl7OHYTttDOyaJYWCK4t7kKg7kdq8+W1rPe/FbRMS/RiWNlHfKHY1adwgqvmn1FJPWVStyUImzAHxWfV/vDfZceqtitu8szzAUuSWCc3jWalvXmrsbt5R68Rhc5umMOG3VxCbD6G8fFSNC9mMSoeGXesYwLeYrcGANd6i52spYvKS0w+iIM1GEuh+VPS9aY47s7/JQSR5YRYEOaxaUt4CGabhB4qxQ0rKUVsOUu7g28SkGaGRk4jOsdtZA== 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; bh=i0ZWj0So+f3AGvIMNKdZairzuaiPSyZDQgM8cCXrFUw=; b=C1REErYB8+J+ABR0WsU5qnR/fDSAcGg+dJQZwPXiovLp+xlxzOpeoTaZG9tyU5oCy+n8B5MNmg51zO/uFu3zzYGTwXDmiaIBGhlKIuPhjn2cEKbuPhKxhEvCM/PN/OV5zIFp0YKIAsyd09c802Yki1e8cNB+lFca68QWfA4r9dGKirbQiOXFHipS4bPPTYY9JRrl4w54UOOdvNYsCNx/Fz8ibvD383KiGKW5voi9LbuWMVpH/ou7TcKE0O/J7QE2lznx/GxoZ+qHchYuQJsm3GPPft+67WrgTzcyxEr1mlCkA7srA8/SNUXWI9W0zXmQowau6vT9rpbpGzq90yGtdw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i0ZWj0So+f3AGvIMNKdZairzuaiPSyZDQgM8cCXrFUw=; b=Oo7tS2xoqT79t9J11jCUPUakEzP6M2Mxnvsz61gWzNgUeS2nGM5Hw4lfC0xpCezEHldCitCev3OU/UQVEV7aRLa/lRBYb1m8z96LeOAiJH76fT/LhxtROj5WGd5hvaBGTEyQ/1mI4zH0A4GekLp7TRG7Su4xmJPeAkSZvbo40ZA= From: Wei Chen To: Stefano Stabellini , Julien Grall CC: Julien Grall , xen-devel , Bertrand Marquis , Jan Beulich , =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= , Andrew Cooper Subject: RE: [PATCH 22/37] xen/arm: use NR_MEM_BANKS to override default NR_NODE_MEMBLKS Thread-Topic: [PATCH 22/37] xen/arm: use NR_MEM_BANKS to override default NR_NODE_MEMBLKS Thread-Index: AQHXsHMrRDdmLUiNMk+huFUWk4EjYquyZ70AgAPY1CCAAP08AIAADO8QgAANUgCAABvh0IAAAsXQgAANBICAACxScIAABwwAgABpsYCAAKY5gA== Date: Tue, 28 Sep 2021 02:57:05 +0000 Message-ID: References: <20210923120236.3692135-1-wei.chen@arm.com> <20210923120236.3692135-23-wei.chen@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: FFED7C67FECC3349B07D3BDD77F538ED.0 x-checkrecipientchecked: true Authentication-Results-Original: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 72d2469e-1c70-4dbf-64c8-08d9822baf05 x-ms-traffictypediagnostic: DBAPR08MB5559:|AM0PR08MB5331: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 4Idu1O9ap0Q3G8bE40cLRUJ1BylJbXvgpck2+U6DunyW7u3WIUasntZZzUPFp343Zg6IuooMVM3FnFATcsX51iKNIUO8jzYMq2VTiove+5Gr79wz71mBSywWgJl0zqdsMiJgMufD1ra34VTxsMmQ/0k7G8fUWuRcdgptKI4VHKNCYRsdNLEjVlrnRhPbwNJW7fuBVJRf5PwcL7SGzyXxwgKw8jtAqfnC6cniJAoTSWTQCatBN0ngbJS9p4dxOfr7xlaSa4Kaw8D6zK1PfbRd7CG0xFU1fPfNiJg/RDE2l1XCRBvqak3a66xwLSHulvnTm5h01u6XGbDw1oidsXZbZIvLGeSHl0HoH+mABooGyixFlLi55ODIdsuaKyXYzF4XEcnyDvcjpDDWOFyjZz4cKMP9PChBuRFbmJGYrsU3vol3fFkomB8dHsGFWbwb1uU4pF2+JImMkgOuUslcd7UUrMmVDNhx6KIMl9R1ecacIC93F01i/cN2Xgw1EYawziknfdNmuJg7a2KTlkeBFcatEakMJdzMZCkn/vFsTNHhNHs8WZWJ+c+MGP9lmSP2p0CQZ4kFixzFiSbfREfiHE6IyS+5BGG8Uf5Jr2Bbp5zpNax4nGtq0jzL59v2tofif9uRH7WVsR1osKGT/l4rn6YQIzeuxgpwolfpD4f2qoeQqfDxaK1msERlP7Ua95rs5UY33cFr26U+p1m39GSJ7Q+CHHCGo8t/1tcmwk8sF1l49Hdu/JLzPVnkzBvMYbwuNrw1MfOdb8EGiwM+wVB7QPQjSBt9VOp6PZe6tJ5A9bfSgMo= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(52536014)(26005)(9686003)(186003)(55016002)(8676002)(8936002)(54906003)(86362001)(38070700005)(33656002)(122000001)(83380400001)(38100700002)(316002)(53546011)(66476007)(508600001)(66446008)(66946007)(66556008)(76116006)(7696005)(966005)(110136005)(30864003)(6506007)(64756008)(71200400001)(2906002)(4326008)(5660300002);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5559 Original-Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: eb3ca722-37a5-4cb5-accd-08d9822ba7ba X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WK13ThznxNDONy71SdaVR0OlHQe30Hym81YssMmill/YIP2kFg35yR0h652sTNgddaKcQ3EChr943OSA5TL6BJH3A+sFBZeAwE0+2xwDF42PSQb4kDEzL+V0IPgRkJcPx5QNhM8lvcjAONX6i8buRDFVFeR0x08yKiWKH21Bgkxzpo4A/Xh+MP7Yhiypld0SRzN5CNq/hZkQvISwGKtdOJ1HDkJ6YuLa+vC/1axQymSs3dai0ac1F8NkEMhtiy7mtFGqHG9bzzt1cQcoMWxfXQWMAD1sq4gEuBb2/3jpOYbJt0BS+nU00e30+AWjIx2DuW3SfEMMaq0h61lN8ELxG+N20ChEcuRCyZNoAZERsJ+LiCQpKdeSWBtY5DD+6OoYn7DTKx50HaFz+i2rl+9K3tOfuNPG/tFA43BL2OdWyVzRO7h19T7Yb7B6wpONWKhTmkILTjitnUwaH0AbB+Z73SCeDtqfP5i3LLHS+oNdcqMoII55ai5Z+dV4hVRFFhgUnkuFLLwVzJ8FXqwg9L01j1ejV1oM4JmE3cvNCjw42HH7EuWYj1KYSdbppCgUcpDVcv5HN204B1LvW671KeBek7uQ1AD6SZXrYW9Uq+vG4hZC0uQ9DXmApGSJdbrRXmTse2RpdqgTdTcSIV1B8Z2c37yhiGHH1hiSISlrQn7YYkPd6sWnupCWQS585g3DeZ+trMv43y+1n3FqChLi55vkG95a3LYaZ/k8l3ULOyRbD9l0UO+5cL8CP0LY+4edUA+sBfjJqWLy4U21rH59yZHTYe22HsAKSOC1cskbAxPvwco= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(5660300002)(2906002)(8936002)(336012)(33656002)(186003)(30864003)(4326008)(26005)(82310400003)(86362001)(8676002)(47076005)(83380400001)(52536014)(36860700001)(316002)(6506007)(53546011)(356005)(7696005)(107886003)(9686003)(55016002)(508600001)(54906003)(81166007)(70586007)(110136005)(70206006)(966005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2021 02:57:18.0647 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 72d2469e-1c70-4dbf-64c8-08d9822baf05 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5331 SGkgU3RlZmFubywgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gU2VudDog MjAyMeW5tDnmnIgyOOaXpSAwOjU4DQo+IFRvOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBn bWFpbC5jb20+DQo+IENjOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT47IEp1bGllbiBHcmFs bCA8anVsaWVuLmdyYWxsLm9zc0BnbWFpbC5jb20+Ow0KPiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz dGFiZWxsaW5pQGtlcm5lbC5vcmc+OyB4ZW4tZGV2ZWwgPHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmc+OyBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+ Ow0KPiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+OyBSb2dlciBQYXUgTW9ubsOpIDxy b2dlci5wYXVAY2l0cml4LmNvbT47DQo+IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMjIvMzddIHhlbi9hcm06IHVzZSBOUl9N RU1fQkFOS1MgdG8gb3ZlcnJpZGUgZGVmYXVsdA0KPiBOUl9OT0RFX01FTUJMS1MNCj4gDQo+IE9u IE1vbiwgMjcgU2VwIDIwMjEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gPiBPbiBNb24sIDI3IFNl cCAyMDIxLCAxMjoyMiBXZWkgQ2hlbiwgPFdlaS5DaGVuQGFybS5jb20+IHdyb3RlOg0KPiA+ICAg ICAgIEhpIEp1bGllbiwNCj4gPg0KPiA+ICAgICAgIEZyb206IEp1bGllbiBHcmFsbCA8anVsaWVu LmdyYWxsLm9zc0BnbWFpbC5jb20+DQo+ID4gICAgICAgU2VudDogMjAyMeW5tDnmnIgyN+aXpSAx NTozNg0KPiA+ICAgICAgIFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gPiAgICAg ICBDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgeGVuLWRl dmVsIDx4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPjsgQmVydHJhbmQgTWFycXVp cw0KPiA+ICAgICAgIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBKYW4gQmV1bGljaCA8amJl dWxpY2hAc3VzZS5jb20+OyBSb2dlcg0KPiBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNv bT47IEFuZHJldyBDb29wZXINCj4gPiAgICAgICA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4N Cj4gPiAgICAgICBTdWJqZWN0OiBSZTogW1BBVENIIDIyLzM3XSB4ZW4vYXJtOiB1c2UgTlJfTUVN X0JBTktTIHRvIG92ZXJyaWRlDQo+IGRlZmF1bHQgTlJfTk9ERV9NRU1CTEtTDQo+ID4NCj4gPg0K PiA+ICAgICAgIE9uIE1vbiwgMjcgU2VwIDIwMjEsIDA4OjUzIFdlaSBDaGVuLCA8bWFpbHRvOldl aS5DaGVuQGFybS5jb20+DQo+IHdyb3RlOg0KPiA+ICAgICAgIEhpIEp1bGllbiwNCj4gPg0KPiA+ ICAgICAgID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiAgICAgICA+IEZyb206IFhl bi1kZXZlbCA8bWFpbHRvOnhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnPg0K PiBPbiBCZWhhbGYgT2YgV2VpDQo+ID4gICAgICAgPiBDaGVuDQo+ID4gICAgICAgPiBTZW50OiAy MDIx5bm0OeaciDI35pelIDE0OjQ2DQo+ID4gICAgICAgPiBUbzogU3RlZmFubyBTdGFiZWxsaW5p IDxtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gPiAgICAgICA+IENjOiBtYWlsdG86 eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBtYWlsdG86anVsaWVuQHhlbi5vcmc7DQo+ IEJlcnRyYW5kIE1hcnF1aXMNCj4gPiAgICAgICA+IDxtYWlsdG86QmVydHJhbmQuTWFycXVpc0Bh cm0uY29tPjsgbWFpbHRvOmpiZXVsaWNoQHN1c2UuY29tOw0KPiBtYWlsdG86cm9nZXIucGF1QGNp dHJpeC5jb207DQo+ID4gICAgICAgPiBtYWlsdG86YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbQ0K PiA+ICAgICAgID4gU3ViamVjdDogUkU6IFtQQVRDSCAyMi8zN10geGVuL2FybTogdXNlIE5SX01F TV9CQU5LUyB0byBvdmVycmlkZQ0KPiBkZWZhdWx0DQo+ID4gICAgICAgPiBOUl9OT0RFX01FTUJM S1MNCj4gPiAgICAgICA+DQo+ID4gICAgICAgPiBIaSBTdGVmYW5vLCBKdWxpZW4sDQo+ID4gICAg ICAgPg0KPiA+ICAgICAgID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ICAgICAg ID4gPiBGcm9tOiBTdGVmYW5vIFN0YWJlbGxpbmkgPG1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwu b3JnPg0KPiA+ICAgICAgID4gPiBTZW50OiAyMDIx5bm0OeaciDI35pelIDEzOjAwDQo+ID4gICAg ICAgPiA+IFRvOiBXZWkgQ2hlbiA8bWFpbHRvOldlaS5DaGVuQGFybS5jb20+DQo+ID4gICAgICAg PiA+IENjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPG1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3Jn PjsgeGVuLQ0KPiA+ICAgICAgID4gPiBtYWlsdG86ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7 IG1haWx0bzpqdWxpZW5AeGVuLm9yZzsNCj4gQmVydHJhbmQgTWFycXVpcw0KPiA+ICAgICAgID4g PiA8bWFpbHRvOkJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IG1haWx0bzpqYmV1bGljaEBzdXNl LmNvbTsNCj4gbWFpbHRvOnJvZ2VyLnBhdUBjaXRyaXguY29tOw0KPiA+ICAgICAgID4gPiBtYWls dG86YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbQ0KPiA+ICAgICAgID4gPiBTdWJqZWN0OiBSRTog W1BBVENIIDIyLzM3XSB4ZW4vYXJtOiB1c2UgTlJfTUVNX0JBTktTIHRvDQo+IG92ZXJyaWRlIGRl ZmF1bHQNCj4gPiAgICAgICA+ID4gTlJfTk9ERV9NRU1CTEtTDQo+ID4gICAgICAgPiA+DQo+ID4g ICAgICAgPiA+ICt4ODYgbWFpbnRhaW5lcnMNCj4gPiAgICAgICA+ID4NCj4gPiAgICAgICA+ID4g T24gTW9uLCAyNyBTZXAgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4gICAgICAgPiA+ID4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ICAgICAgID4gPiA+ID4gRnJvbTogU3RlZmFu byBTdGFiZWxsaW5pIDxtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gPiAgICAgICA+ ID4gPiA+IFNlbnQ6IDIwMjHlubQ55pyIMjfml6UgMTE6MjYNCj4gPiAgICAgICA+ID4gPiA+IFRv OiBXZWkgQ2hlbiA8bWFpbHRvOldlaS5DaGVuQGFybS5jb20+DQo+ID4gICAgICAgPiA+ID4gPiBD YzogU3RlZmFubyBTdGFiZWxsaW5pIDxtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47DQo+ IHhlbi0NCj4gPiAgICAgICA+ID4gPiA+IG1haWx0bzpkZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZzsgbWFpbHRvOmp1bGllbkB4ZW4ub3JnOw0KPiBCZXJ0cmFuZCBNYXJxdWlzDQo+ID4gICAgICAg PiA+ID4gPiA8bWFpbHRvOkJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4NCj4gPiAgICAgICA+ID4g PiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMjIvMzddIHhlbi9hcm06IHVzZSBOUl9NRU1fQkFOS1Mg dG8NCj4gb3ZlcnJpZGUNCj4gPiAgICAgICA+ID4gZGVmYXVsdA0KPiA+ICAgICAgID4gPiA+ID4g TlJfTk9ERV9NRU1CTEtTDQo+ID4gICAgICAgPiA+ID4gPg0KPiA+ICAgICAgID4gPiA+ID4gT24g U3VuLCAyNiBTZXAgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4gICAgICAgPiA+ID4gPiA+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiAgICAgICA+ID4gPiA+ID4gPiBGcm9tOiBT dGVmYW5vIFN0YWJlbGxpbmkNCj4gPG1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnPg0KPiA+ ICAgICAgID4gPiA+ID4gPiA+IFNlbnQ6IDIwMjHlubQ55pyIMjTml6UgOTozNQ0KPiA+ICAgICAg ID4gPiA+ID4gPiA+IFRvOiBXZWkgQ2hlbiA8bWFpbHRvOldlaS5DaGVuQGFybS5jb20+DQo+ID4g ICAgICAgPiA+ID4gPiA+ID4gQ2M6IG1haWx0bzp4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmc7DQo+IG1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnOw0KPiA+ICAgICAgID4gPiA+ID4g bWFpbHRvOmp1bGllbkB4ZW4ub3JnOw0KPiA+ICAgICAgID4gPiA+ID4gPiA+IEJlcnRyYW5kIE1h cnF1aXMgPG1haWx0bzpCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+ID4gICAgICAgPiA+ID4g PiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCAyMi8zN10geGVuL2FybTogdXNlIE5SX01FTV9CQU5L Uw0KPiB0byBvdmVycmlkZQ0KPiA+ICAgICAgID4gPiA+ID4gZGVmYXVsdA0KPiA+ICAgICAgID4g PiA+ID4gPiA+IE5SX05PREVfTUVNQkxLUw0KPiA+ICAgICAgID4gPiA+ID4gPiA+DQo+ID4gICAg ICAgPiA+ID4gPiA+ID4gT24gVGh1LCAyMyBTZXAgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4g ICAgICAgPiA+ID4gPiA+ID4gPiBBcyBhIG1lbW9yeSByYW5nZSBkZXNjcmliZWQgaW4gZGV2aWNl IHRyZWUgY2Fubm90IGJlDQo+IHNwbGl0DQo+ID4gICAgICAgPiA+IGFjcm9zcw0KPiA+ICAgICAg ID4gPiA+ID4gPiA+ID4gbXVsdGlwbGUgbm9kZXMuIFNvIHdlIGRlZmluZSBOUl9OT0RFX01FTUJM S1MgYXMNCj4gTlJfTUVNX0JBTktTDQo+ID4gICAgICAgPiBpbg0KPiA+ICAgICAgID4gPiA+ID4g PiA+ID4gYXJjaCBoZWFkZXIuDQo+ID4gICAgICAgPiA+ID4gPiA+ID4NCj4gPiAgICAgICA+ID4g PiA+ID4gPiBUaGlzIHN0YXRlbWVudCBpcyB0cnVlIGJ1dCB3aGF0IGlzIHRoZSBnb2FsIG9mIHRo aXMNCj4gcGF0Y2g/IElzIGl0DQo+ID4gICAgICAgPiA+IHRvDQo+ID4gICAgICAgPiA+ID4gPiA+ ID4gcmVkdWNlIGNvZGUgc2l6ZSBhbmQgbWVtb3J5IGNvbnN1bXB0aW9uPw0KPiA+ICAgICAgID4g PiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+IE5vLCB3 aGVuIEp1bGllbiBhbmQgSSBkaXNjdXNzZWQgdGhpcyBpbiBsYXN0IHZlcnNpb25bMV0sDQo+IHdl IGhhZG4ndA0KPiA+ICAgICAgID4gPiA+ID4gdGhvdWdodA0KPiA+ICAgICAgID4gPiA+ID4gPiBz byBkZWVwbHkuIFdlIGp1c3QgdGhvdWdodCBhIG1lbW9yeSByYW5nZSBkZXNjcmliZWQgaW4NCj4g RFQgY2Fubm90DQo+ID4gICAgICAgPiBiZQ0KPiA+ICAgICAgID4gPiA+ID4gc3BsaXQNCj4gPiAg ICAgICA+ID4gPiA+ID4gYWNyb3NzIG11bHRpcGxlIG5vZGVzLiBTbyBOUl9NRU1fQkFOS1Mgc2hv dWxkIGJlIGVxdWFsDQo+IHRvDQo+ID4gICAgICAgPiA+IE5SX01FTV9CQU5LUy4NCj4gPiAgICAg ICA+ID4gPiA+ID4NCj4gPiAgICAgICA+ID4gPiA+ID4gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0 Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi0NCj4gZGV2ZWwvMjAyMS0NCj4gPiAgICAgICA+ID4gPiA+ IDA4L21zZzAwOTc0Lmh0bWwNCj4gPiAgICAgICA+ID4gPiA+ID4NCj4gPiAgICAgICA+ID4gPiA+ ID4gPiBJIGFtIGFza2luZyBiZWNhdXNlIE5SX01FTV9CQU5LUyBpcyAxMjggYW5kDQo+ID4gICAg ICAgPiA+ID4gPiA+ID4gTlJfTk9ERV9NRU1CTEtTPTIqTUFYX05VTU5PREVTIHdoaWNoIGlzIDY0 IGJ5IGRlZmF1bHQNCj4gc28gYWdhaW4NCj4gPiAgICAgICA+ID4gPiA+ID4gPiBOUl9OT0RFX01F TUJMS1MgaXMgMTI4IGJlZm9yZSB0aGlzIHBhdGNoLg0KPiA+ICAgICAgID4gPiA+ID4gPiA+DQo+ ID4gICAgICAgPiA+ID4gPiA+ID4gSW4gb3RoZXIgd29yZHMsIHRoaXMgcGF0Y2ggYWxvbmUgZG9l c24ndCBtYWtlIGFueQ0KPiBkaWZmZXJlbmNlOyBhdA0KPiA+ICAgICAgID4gPiBsZWFzdA0KPiA+ ICAgICAgID4gPiA+ID4gPiA+IGRvZXNuJ3QgbWFrZSBhbnkgZGlmZmVyZW5jZSB1bmxlc3MNCj4g Q09ORklHX05SX05VTUFfTk9ERVMgaXMNCj4gPiAgICAgICA+ID4gaW5jcmVhc2VkLg0KPiA+ICAg ICAgID4gPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+ID4gU28sIGlzIHRoZSBnb2FsIHRv IHJlZHVjZSBtZW1vcnkgdXNhZ2Ugd2hlbg0KPiBDT05GSUdfTlJfTlVNQV9OT0RFUw0KPiA+ICAg ICAgID4gPiBpcw0KPiA+ICAgICAgID4gPiA+ID4gPiA+IGhpZ2hlciB0aGFuIDY0Pw0KPiA+ICAg ICAgID4gPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+ IEkgYWxzbyB0aG91Z2h0IGFib3V0IHRoaXMgcHJvYmxlbSB3aGVuIEkgd2FzIHdyaXRpbmcNCj4g dGhpcyBwYXRjaC4NCj4gPiAgICAgICA+ID4gPiA+ID4gQ09ORklHX05SX05VTUFfTk9ERVMgaXMg aW5jcmVhc2luZywgYnV0IE5SX01FTV9CQU5LUyBpcw0KPiBhIGZpeGVkDQo+ID4gICAgICAgPiA+ ID4gPiA+IHZhbHVlLCB0aGVuIE5SX01FTV9CQU5LUyBjYW4gYmUgc21hbGxlciB0aGFuDQo+IENP TkZJR19OUl9OVU1BX05PREVTDQo+ID4gICAgICAgPiA+ID4gPiA+IGF0IG9uZSBwb2ludC4NCj4g PiAgICAgICA+ID4gPiA+ID4NCj4gPiAgICAgICA+ID4gPiA+ID4gQnV0IEkgYWdyZWUgd2l0aCBK dWxpZW4ncyBzdWdnZXN0aW9uLCBOUl9NRU1fQkFOS1MgYW5kDQo+ID4gICAgICAgPiA+IE5SX05P REVfTUVNQkxLUw0KPiA+ICAgICAgID4gPiA+ID4gPiBtdXN0IGJlIGF3YXJlIG9mIGVhY2ggb3Ro ZXIuIEkgaGFkIHRob3VnaHQgdG8gYWRkIHNvbWUNCj4gQVNTRVJUDQo+ID4gICAgICAgPiBjaGVj aywNCj4gPiAgICAgICA+ID4gPiA+ID4gYnV0IEkgZG9uJ3Qga25vdyBob3cgdG8gZG8gaXQgYmV0 dGVyLiBTbyBJIHBvc3QgdGhpcw0KPiBwYXRjaCBmb3INCj4gPiAgICAgICA+IG1vcmUNCj4gPiAg ICAgICA+ID4gPiA+ID4gc3VnZ2VzdGlvbi4NCj4gPiAgICAgICA+ID4gPiA+DQo+ID4gICAgICAg PiA+ID4gPiBPSy4gSW4gdGhhdCBjYXNlIEknZCBzYXkgdG8gZ2V0IHJpZCBvZiB0aGUgcHJldmlv dXMNCj4gZGVmaW5pdGlvbiBvZg0KPiA+ICAgICAgID4gPiA+ID4gTlJfTk9ERV9NRU1CTEtTIGFz IGl0IGlzIHByb2JhYmx5IG5vdCBuZWNlc3NhcnksIHNlZSBiZWxvdy4NCj4gPiAgICAgICA+ID4g PiA+DQo+ID4gICAgICAgPiA+ID4gPg0KPiA+ICAgICAgID4gPiA+ID4NCj4gPiAgICAgICA+ID4g PiA+ID4gPg0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID4gQW5kIGtlZXAgZGVmYXVsdCBOUl9OT0RF X01FTUJMS1MgaW4gY29tbW9uIGhlYWRlcg0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID4gZm9yIHRo b3NlIGFyY2hpdGVjdHVyZXMgTlVNQSBpcyBkaXNhYmxlZC4NCj4gPiAgICAgICA+ID4gPiA+ID4g Pg0KPiA+ICAgICAgID4gPiA+ID4gPiA+IFRoaXMgbGFzdCBzZW50ZW5jZSBpcyBub3QgYWNjdXJh dGU6IG9uIHg4NiBOVU1BIGlzDQo+IGVuYWJsZWQgYW5kDQo+ID4gICAgICAgPiA+ID4gPiA+ID4g TlJfTk9ERV9NRU1CTEtTIGlzIHN0aWxsIGRlZmluZWQgaW4NCj4geGVuL2luY2x1ZGUveGVuL251 bWEuaA0KPiA+ICAgICAgID4gKHRoZXJlDQo+ID4gICAgICAgPiA+IGlzDQo+ID4gICAgICAgPiA+ ID4gPiBubw0KPiA+ICAgICAgID4gPiA+ID4gPiA+IHg4NiBkZWZpbml0aW9uIG9mIGl0KQ0KPiA+ ICAgICAgID4gPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4g PiA+IFllcy4NCj4gPiAgICAgICA+ID4gPiA+ID4NCj4gPiAgICAgICA+ID4gPiA+ID4gPg0KPiA+ ICAgICAgID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPG1haWx0bzp3ZWku Y2hlbkBhcm0uY29tPg0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gICAgICAgPiA+ ID4gPiA+ID4gPsKgIHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgOCArKysrKysrLQ0KPiA+ ICAgICAgID4gPiA+ID4gPiA+ID7CoCB4ZW4vaW5jbHVkZS94ZW4vbnVtYS5owqAgwqAgwqB8IDIg KysNCj4gPiAgICAgICA+ID4gPiA+ID4gPiA+wqAgMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPiAgICAgICA+ID4gPiA+ID4gPiA+DQo+ID4gICAgICAg PiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmgNCj4g Yi94ZW4vaW5jbHVkZS9hc20tDQo+ID4gICAgICAgPiA+IGFybS9udW1hLmgNCj4gPiAgICAgICA+ ID4gPiA+ID4gPiA+IGluZGV4IDhmMWM2N2UzZWIuLjIxNTY5ZTYzNGIgMTAwNjQ0DQo+ID4gICAg ICAgPiA+ID4gPiA+ID4gPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+ICAg ICAgID4gPiA+ID4gPiA+ID4gKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmgNCj4gPiAg ICAgICA+ID4gPiA+ID4gPiA+IEBAIC0zLDkgKzMsMTUgQEANCj4gPiAgICAgICA+ID4gPiA+ID4g PiA+DQo+ID4gICAgICAgPiA+ID4gPiA+ID4gPsKgICNpbmNsdWRlIDx4ZW4vbW0uaD4NCj4gPiAg ICAgICA+ID4gPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGFz bS9zZXR1cC5oPg0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID4gKw0KPiA+ICAgICAgID4gPiA+ID4g PiA+ID7CoCB0eXBlZGVmIHU4IG5vZGVpZF90Ow0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID4NCj4g PiAgICAgICA+ID4gPiA+ID4gPiA+IC0jaWZuZGVmIENPTkZJR19OVU1BDQo+ID4gICAgICAgPiA+ ID4gPiA+ID4gPiArI2lmZGVmIENPTkZJR19OVU1BDQo+ID4gICAgICAgPiA+ID4gPiA+ID4gPiAr DQo+ID4gICAgICAgPiA+ID4gPiA+ID4gPiArI2RlZmluZSBOUl9OT0RFX01FTUJMS1MgTlJfTUVN X0JBTktTDQo+ID4gICAgICAgPiA+ID4gPiA+ID4gPiArDQo+ID4gICAgICAgPiA+ID4gPiA+ID4g PiArI2Vsc2UNCj4gPiAgICAgICA+ID4gPiA+ID4gPiA+DQo+ID4gICAgICAgPiA+ID4gPiA+ID4g PsKgIC8qIEZha2Ugb25lIG5vZGUgZm9yIG5vdy4gU2VlIGFsc28gbm9kZV9vbmxpbmVfbWFwLg0K PiAqLw0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID7CoCAjZGVmaW5lIGNwdV90b19ub2RlKGNwdSkg MA0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9u dW1hLmgNCj4gYi94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oDQo+ID4gICAgICAgPiA+ID4gPiA+ID4g PiBpbmRleCAxOTc4ZTJiZTFiLi4xNzMxZTFjYzZiIDEwMDY0NA0KPiA+ICAgICAgID4gPiA+ID4g PiA+ID4gLS0tIGEveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiA+ICAgICAgID4gPiA+ID4gPiA+ ID4gKysrIGIveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID4g QEAgLTEyLDcgKzEyLDkgQEANCj4gPiAgICAgICA+ID4gPiA+ID4gPiA+wqAgI2RlZmluZSBNQVhf TlVNTk9ERVPCoCDCoCAxDQo+ID4gICAgICAgPiA+ID4gPiA+ID4gPsKgICNlbmRpZg0KPiA+ICAg ICAgID4gPiA+ID4gPiA+ID4NCj4gPiAgICAgICA+ID4gPiA+ID4gPiA+ICsjaWZuZGVmIE5SX05P REVfTUVNQkxLUw0KPiA+ICAgICAgID4gPiA+ID4gPiA+ID7CoCAjZGVmaW5lIE5SX05PREVfTUVN QkxLUyAoTUFYX05VTU5PREVTKjIpDQo+ID4gICAgICAgPiA+ID4gPiA+ID4gPiArI2VuZGlmDQo+ ID4gICAgICAgPiA+ID4gPg0KPiA+ICAgICAgID4gPiA+ID4gVGhpcyBvbmUgd2UgY2FuIHJlbW92 ZSBpdCBjb21wbGV0ZWx5IHJpZ2h0Pw0KPiA+ICAgICAgID4gPiA+DQo+ID4gICAgICAgPiA+ID4g SG93IGFib3V0IGRlZmluZSBOUl9NRU1fQkFOS1MgdG86DQo+ID4gICAgICAgPiA+ID4gI2lmZGVm IENPTkZJR19OUl9OVU1BX05PREVTDQo+ID4gICAgICAgPiA+ID4gI2RlZmluZSBOUl9NRU1fQkFO S1MgKENPTkZJR19OUl9OVU1BX05PREVTICogMikNCj4gPiAgICAgICA+ID4gPiAjZWxzZQ0KPiA+ ICAgICAgID4gPiA+ICNkZWZpbmUgTlJfTUVNX0JBTktTIDEyOA0KPiA+ICAgICAgID4gPiA+ICNl bmRpZg0KPiA+ICAgICAgID4gPiA+IGZvciBib3RoIHg4NiBhbmQgQXJtLiBGb3IgdGhvc2UgYXJj aGl0ZWN0dXJlcyBkbyBub3Qgc3VwcG9ydA0KPiBvciBlbmFibGUNCj4gPiAgICAgICA+ID4gPiBO VU1BLCB0aGV5IGNhbiBzdGlsbCB1c2UgIk5SX01FTV9CQU5LUyAxMjgiLiBBbmQgcmVwbGFjZSBh bGwNCj4gPiAgICAgICA+ID4gTlJfTk9ERV9NRU1CTEtTDQo+ID4gICAgICAgPiA+ID4gaW4gTlVN QSBjb2RlIHRvIE5SX01FTV9CQU5LUyB0byByZW1vdmUgTlJfTk9ERV9NRU1CTEtTDQo+IGNvbXBs ZXRlbHkuDQo+ID4gICAgICAgPiA+ID4gSW4gdGhpcyBjYXNlLCBOUl9NRU1fQkFOS1MgY2FuIGJl IGF3YXJlIG9mIHRoZSBjaGFuZ2VzIG9mDQo+ID4gICAgICAgPiA+IENPTkZJR19OUl9OVU1BX05P REVTLg0KPiA+ICAgICAgID4gPg0KPiA+ICAgICAgID4gPiB4ODYgZG9lc24ndCBoYXZlIE5SX01F TV9CQU5LUyBhcyBmYXIgYXMgSSBjYW4gdGVsbC4gSSBndWVzcw0KPiB5b3UgYWxzbw0KPiA+ICAg ICAgID4gPiBtZWFudCB0byByZW5hbWUgTlJfTk9ERV9NRU1CTEtTIHRvIE5SX01FTV9CQU5LUz8N Cj4gPiAgICAgICA+ID4NCj4gPiAgICAgICA+DQo+ID4gICAgICAgPiBZZXMuDQo+ID4gICAgICAg Pg0KPiA+ICAgICAgID4gPiBCdXQgTlJfTUVNX0JBTktTIGlzIG5vdCBkaXJlY3RseSByZWxhdGVk IHRvDQo+IENPTkZJR19OUl9OVU1BX05PREVTIGJlY2F1c2UNCj4gPiAgICAgICA+ID4gdGhlcmUg Y2FuIGJlIG1hbnkgbWVtb3J5IGJhbmtzIGZvciBlYWNoIG51bWEgbm9kZSwgY2VydGFpbmx5DQo+ IG1vcmUgdGhhbg0KPiA+ICAgICAgID4gPiAyLiBUaGUgZXhpc3RpbmcgZGVmaW5pdGlvbiBvbiB4 ODY6DQo+ID4gICAgICAgPiA+DQo+ID4gICAgICAgPiA+ICNkZWZpbmUgTlJfTk9ERV9NRU1CTEtT IChNQVhfTlVNTk9ERVMqMikNCj4gPiAgICAgICA+ID4NCj4gPiAgICAgICA+ID4gRG9lc24ndCBt YWtlIGEgbG90IG9mIHNlbnNlIHRvIG1lLiBXYXMgaXQganVzdCBhbiBhcmJpdHJhcnkNCj4gbGlt aXQgZm9yDQo+ID4gICAgICAgPiA+IHRoZSBsYWNrIG9mIGEgYmV0dGVyIHdheSB0byBzZXQgYSBt YXhpbXVtPw0KPiA+ICAgICAgID4gPg0KPiA+ICAgICAgID4NCj4gPiAgICAgICA+IEF0IHRoYXQg dGltZSwgdGhpcyB3YXMgcHJvYmFibHkgdGhlIG1vc3QgY29zdC1lZmZlY3RpdmUgYXBwcm9hY2gu DQo+ID4gICAgICAgPiBFbm91Z2ggYW5kIGVhc3kuIEJ1dCwgaWYgbW9yZSBub2RlcyBuZWVkIHRv IGJlIHN1cHBvcnRlZCBpbiB0aGUNCj4gPiAgICAgICA+IGZ1dHVyZSwgaXQgbWF5IGJyaW5nIG1v cmUgbWVtb3J5IGJsb2Nrcy4gQW5kIHRoaXMgbWF4aW11bSB2YWx1ZQ0KPiA+ICAgICAgID4gbWln aHQgbm90IGFwcGx5LiBUaGUgbWF4aW11bSBtYXkgbmVlZCB0byBzdXBwb3J0IGR5bmFtaWMNCj4g ZXh0ZW5zaW9uLg0KPiA+ICAgICAgID4NCj4gPiAgICAgICA+ID4NCj4gPiAgICAgICA+ID4gT24g dGhlIG90aGVyIGhhbmQsIE5SX01FTV9CQU5LUyBhbmQgTlJfTk9ERV9NRU1CTEtTIHNlZW0gdG8g YmUNCj4gcmVsYXRlZC4NCj4gPiAgICAgICA+ID4gSW4gZmFjdCwgd2hhdCdzIHRoZSBkaWZmZXJl bmNlPw0KPiA+ICAgICAgID4gPg0KPiA+ICAgICAgID4gPiBOUl9NRU1fQkFOS1MgaXMgdGhlIG1h eCBudW1iZXIgb2YgbWVtb3J5IGJhbmtzICh3aXRoIG9yDQo+IHdpdGhvdXQNCj4gPiAgICAgICA+ ID4gbnVtYS1ub2RlLWlkKS4NCj4gPiAgICAgICA+ID4NCj4gPiAgICAgICA+ID4gTlJfTk9ERV9N RU1CTEtTIGlzIHRoZSBtYXggbnVtYmVyIG9mIG1lbW9yeSBiYW5rcyB3aXRoIE5VTUENCj4gc3Vw cG9ydA0KPiA+ICAgICAgID4gPiAod2l0aCBudW1hLW5vZGUtaWQpPw0KPiA+ICAgICAgID4gPg0K PiA+ICAgICAgID4gPiBUaGV5IGFyZSBiYXNpY2FsbHkgdGhlIHNhbWUgdGhpbmcuIE9uIEFSTSBJ IHdvdWxkIGp1c3QgZG86DQo+ID4gICAgICAgPiA+DQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4g UHJvYmFibHkgbm90LCBOUl9NRU1fQkFOS1Mgd2lsbCBjb3VudCB0aG9zZSBtZW1vcnkgcmFuZ2Vz DQo+IHdpdGhvdXQNCj4gPiAgICAgICA+IG51bWEtbm9kZS1pZCBpbiBib290IG1lbW9yeSBwYXJz aW5nIHN0YWdlIChwcm9jZXNzX21lbW9yeV9ub2RlDQo+IG9yDQo+ID4gICAgICAgPiBFRkkgcGFy c2VyKS4gQnV0IE5SX05PREVfTUVNQkxLUyB3aWxsIG9ubHkgY291bnQgdGhvc2UgbWVtb3J5DQo+ IHJhbmdlcw0KPiA+ICAgICAgID4gd2l0aCBudW1hLW5vZGUtaWQuDQo+ID4gICAgICAgPg0KPiA+ ICAgICAgID4gPiAjZGVmaW5lIE5SX05PREVfTUVNQkxLUyBNQVgoTlJfTUVNX0JBTktTLA0KPiAo Q09ORklHX05SX05VTUFfTk9ERVMgKiAyKSkNCj4gPiAgICAgICA+ID4NCj4gPiAgICAgICA+ID4N Cj4gPg0KPiA+ICAgICAgID4gUXVvdGUgSnVsaWVuJ3MgY29tbWVudCBmcm9tIEhUTUwgZW1haWwg dG8gaGVyZToNCj4gPiAgICAgICA+ICIgQXMgeW91IHdyb3RlIGFib3ZlLCB0aGUgc2Vjb25kIHBh cnQgb2YgdGhlIE1BWCBpcyB0b3RhbGx5DQo+IGFyYml0cmFyeS4NCj4gPiAgICAgICA+IEluIGZh Y3QsIGl0IGlzIHZlcnkgbGlrZWx5IHRoYW4gaWYgeW91IGhhdmUgbW9yZSB0aGFuIDY0IG5vZGVz LA0KPiB5b3UgbWF5DQo+ID4gICAgICAgPiBuZWVkIGEgbG90IG1vcmUgdGhhbiAyIHJlZ2lvbnMg cGVyIG5vZGUuDQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4gU28sIGZvciBBcm0sIEkgd291bGQg anVzdCBkZWZpbmUgTlJfTk9ERV9NRU1CTEtTIGFzIGFuIGFsaWFzIHRvDQo+IE5SX01FTV9CQU5L Uw0KPiA+ICAgICAgID4gc28gaXQgY2FuIGJlIHVzZWQgYnkgY29tbW9uIGNvZGUuDQo+ID4gICAg ICAgPiAiDQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4gPiBCdXQgaGVyZSBjb21lcyB0aGUgcHJv YmxlbToNCj4gPiAgICAgICA+ID4gSG93IGNhbiB3ZSBzZXQgdGhlIE5SX01FTV9CQU5LUyBtYXhp bXVtIHZhbHVlLCAxMjggc2VlbXMgYW4NCj4gYXJiaXRyYXJ5IHRvbz8NCj4gPiAgICAgICA+DQo+ ID4gICAgICAgPiBUaGlzIGlzIGJhc2VkIG9uIGhhcmR3YXJlIHdlIGN1cnJlbnRseSBzdXBwb3J0 ICh0aGUgbGFzdCB0aW1lIHdlDQo+IGJ1bXBlZCB0aGUgdmFsdWUgd2FzLCBJSVJDLCBmb3IgVGh1 bmRlci1YKS4gSW4gdGhlIGNhc2Ugb2YNCj4gPiAgICAgICBib290aW5nIFVFRkksIHdlIGNhbiBn ZXQgYSBsb3Qgb2Ygc21hbGwgcmFuZ2VzIGFzIHdlIGRpc2NvdmVyIHRoZQ0KPiBSQU0gdXNpbmcg dGhlIFVFRkkgbWVtb3J5IG1hcC4NCj4gPiAgICAgICA+DQo+ID4NCj4gPiAgICAgICBUaGFua3Mg Zm9yIHRoZSBiYWNrZ3JvdW5kLg0KPiA+DQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4gPiBJZiAj ZGVmaW5lIE5SX01FTV9CQU5LUyAoQ09ORklHX05SX05VTUFfTk9ERVMgKiBOKT8gQW5kIHdoYXQg Tg0KPiBzaG91bGQgYmUuDQo+ID4gICAgICAgPg0KPiA+ICAgICAgID4gTiB3b3VsZCBoYXZlIHRv IGJlIHRoZSBtYXhpbXVtIG51bWJlciBvZiByYW5nZXMgeW91IGNhbiBmaW5kIGluDQo+IGEgTlVN QSBub2RlLg0KPiA+ICAgICAgID4NCj4gPiAgICAgICA+IFdlIHdvdWxkIGFsc28gbmVlZCB0byBt YWtlIHN1cmUgdGhpcyBkb2Vzbid0IGJyZWFrIGV4aXN0aW5nDQo+IHBsYXRmb3Jtcy4gU28gTiB3 b3VsZCBoYXZlIHRvIGJlIHF1aXRlIGxhcmdlIG9yIHdlIG5lZWQgYSBNQVggYXMNCj4gPiAgICAg ICBTdGVmYW5vIHN1Z2dlc3RlZC4NCj4gPiAgICAgICA+DQo+ID4gICAgICAgPiBCdXQgSSB3b3Vs ZCBwcmVmZXIgdG8ga2VlcCB0aGUgZXhpc3RpbmcgMTI4IGFuZCBhbGxvdyB0bw0KPiBjb25maWd1 cmUgaXQgYXQgYnVpbGQgdGltZSAobm90IG5lY2Vzc2FyaWx5IGluIHRoaXMgc2VyaWVzKS4gVGhp cw0KPiA+ICAgICAgIGF2b2lkIHRvIGhhdmUgZGlmZmVyZW50IHdheSB0byBkZWZpbmUgdGhlIHZh bHVlIGJhc2VkIE5VTUEgdnMgbm9uLQ0KPiBOVU1BLg0KPiA+DQo+ID4gICAgICAgSW4gdGhpcyBj YXNlLCBjYW4gd2UgdXNlIFN0ZWZhbm8ncw0KPiA+ICAgICAgICIjZGVmaW5lIE5SX05PREVfTUVN QkxLUyBNQVgoTlJfTUVNX0JBTktTLCAoQ09ORklHX05SX05VTUFfTk9ERVMgKg0KPiAyKSkiDQo+ ID4gICAgICAgaW4gbmV4dCB2ZXJzaW9uLiBJZiB5ZXMsIHNob3VsZCB3ZSBjaGFuZ2UgeDg2IHBh cnQ/IEJlY2F1c2UNCj4gTlJfTUVNX0JBTktTDQo+ID4gICAgICAgaGFzIG5vdCBiZWVuIGRlZmlu ZWQgaW4geDg2Lg0KPiA+DQo+ID4NCj4gPiBXaGF0IEkgbWVhbnQgYnkgY29uZmlndXJpbmcgZHlu YW1pY2FsbHkgaXMgYWxsb3dpbmcgTlJfTUVNX0JBTktTIHRvIGJlDQo+IHNldCBieSB0aGUgdXNl ci4NCj4gPg0KPiA+IFRoZSBzZWNvbmQgcGFydCBvZiB0aGUgTUFYIG1ha2VzIG5vIHNlbnNlIHRv IG1lIChhdCBsZWFzdCBvbiBBcm0pLiBTbyBJDQo+IHJlYWxseSBwcmVmZXIgaWYgdGhpcyBpcyBu b3QgcGFydCBvZiB0aGUgaW5pdGlhbCB2ZXJzaW9uLg0KPiA+DQo+ID4gV2UgY2FuIHJlZmluZSB0 aGUgdmFsdWUsIG9yIGludHJvZHVjZSB0aGUgTUFYIGluIHRoZSBmdXR1cmUgaWYgd2UgaGF2ZSBh DQo+IGp1c3RpZmljYXRpb24gZm9yIGl0Lg0KPiANCj4gT0ssIHNvIGZvciBjbGFyaXR5IHRoZSBz dWdnZXN0aW9uIGlzOg0KPiANCj4gLSBkZWZpbmUgTlJfTk9ERV9NRU1CTEtTIGFzIE5SX01FTV9C QU5LUyBvbiBBUk0gaW4gdGhpcyBzZXJpZXMNCj4gLSBpbiB0aGUgZnV0dXJlIG1ha2UgTlJfTUVN X0JBTktTIHVzZXItY29uZmlndXJhYmxlIHZpYSBrY29uZmlnDQo+IC0gZm9yIG5vdyBsZWF2ZSBO Ul9NRU1fQkFOS1MgYXMgMTI4IG9uIEFSTQ0KPiANCj4gVGhhdCdzIGZpbmUgYnkgbWUuDQoNCk9r LCBJIHdpbGwgb25seSBrZWVwDQojZGVmaW5lIE5SX05PREVfTUVNQkxLUyBOUl9NRU1fQkFOS1Mg aW4gYXNtLWFybS9udW1hLmgsIGFuZCBsZWZ0DQp4ODYgTlJfTk9ERV9NRU1CTEtTIGRlZmluaXRp b24gYXMgaXQgd2FzIGluIGFzbS14ODYvbnVtYS5oDQpCZWNhdXNlIGluIGN1cnJlbnQgc3RhZ2Us IHdlIGNhbiBub3QgdW5pZnkgdGhlbSBpbiBvbiBwbGFjZS4NCkFuZCBJIHdpbGwgdXBkYXRlIHRo ZSBjb21taXQgbWVzc2FnZSB0byBsb2cgc29tZSBvZiBvdXINCmRpc2N1c3Npb24gaW4gdGhpcyB0 dGhyZWFkLg0KDQoNCg0KDQo=