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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2170EC43334 for ; Tue, 28 Jun 2022 11:56:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:From: References:Cc:To:Subject:Date:Message-ID:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=8WSfX4Y0fK1kFxgORZQsGlj5ci1kSMQJGGXuo64F4Tw=; b=hr9VXlFPGU0x0kSoJhuru4D6f8 4zqDguKHIYGkiR4pjO1GVt0F9XoCFux+lP2yQ/FPoSyBhcvuhWyj/VCsZWzwSKSFYmVV1slN0Nisc PzEqrQSNB6yRvAoL4I9b8ZPznEqCCrFXGGwpN63q37hSxXKFAQLn4KHAmXZxhPXlYqqhJ6p4NIIfR 6Pt/ATtUgycVO1BQ02NRqP8N3Ov+RmNI7OaqGwsawrRv1Fz072DKwEshGKCbKGnYGLbW/FMk/fvCu g/xxms2uwhhqYjUzKWZLGQ6YM5HpaLFR2YQVJT6u8OYOQybk1BEDs4dnr7One/NzxvPcEb+4mZtHB jhCU21Sw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o69ol-0062xD-RO; Tue, 28 Jun 2022 11:55:44 +0000 Received: from mail-bn7nam10on2060.outbound.protection.outlook.com ([40.107.92.60] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o69oa-0062pq-Az for linux-arm-kernel@lists.infradead.org; Tue, 28 Jun 2022 11:55:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T4XcPAsZVSt/zD57/z4HXbzn8yGkxuNPO0a7Ab9BT655xQD0v57TnvGz7QO4TXzBtupYT3YMzOkAV6Ee/V2/UUjuH5KQTnCdUBPMo/4QeXNeiEmtnpSwWlnMgasTGLQiOyKUJOpYHPuG0FI8PX5zT8Ax1coQbLWPEuph/gPeYN2XjpXjSqMHOxHhKxUdGFXdw+7qgUAtmLmKEizqetiFTUpNY+bnnZlu7DS/sPwN+PUhBVg8WiIaeq3RwToVcqLu+HJcNK7VYIDXYua6dQ8Cn37XpJBT8PRdGRw+rSw4bk6VGuQgev9HTKxk0sJxgCNpQ0KuwC5Qu30c+rYLmjDbCg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=05G2tQlZY320Xs6SvweN1BrsAYuZd4BuZfKZhJl98Ak=; b=YmhLO5h8Ly3YoMJlygOFk1tsZIX21OWLtTJ6tkp5lCJdTMpYiCZwmXe32n7gRv88A6DU2D4fCxzSiXUdrxSg7QPBJO9jA8DuOJYdkJZFMzXX4TuAEWSFYJgTTZvfetV2/SfU/qx1X0KYkoAW32AipEd7Oe5CT4aMLVOOoPujawOv2qzYxAUPrCmgZK/KjSBqgoZ4N6EefPmFn9M8Dzu193Ivme2UoDCb/T7jIBYz9Z4MW7H9NzxcJORjc/4yinGF/MS0heTWcYrVXMuyUKqqUx30zqVUtYJObIqgOhG9NW4b+XNjPUN29iHIh1BekJY13QW/vLjGdRyue2xQCgg+Iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=05G2tQlZY320Xs6SvweN1BrsAYuZd4BuZfKZhJl98Ak=; b=CSdS2Vrt8BOmmMSpUT3j8pAf/LjW62eO7C3OK+jc4d/1pr1a5YgPI9QGskF4CPaauC40JNBz7/L9GKzwUrkLvkOSXixl1HwUuB4qiITXKX7SOVp5Db/rux6xZADx9ROFogIQa2tSh+5iABa01UOCOZCC0H37ivZTuVtK5z8CMpY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from MW2PR12MB2379.namprd12.prod.outlook.com (2603:10b6:907:9::24) by BL3PR12MB6521.namprd12.prod.outlook.com (2603:10b6:208:3bd::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15; Tue, 28 Jun 2022 11:55:23 +0000 Received: from MW2PR12MB2379.namprd12.prod.outlook.com ([fe80::bc2c:1f18:f03d:895b]) by MW2PR12MB2379.namprd12.prod.outlook.com ([fe80::bc2c:1f18:f03d:895b%7]) with mapi id 15.20.5373.018; Tue, 28 Jun 2022 11:55:23 +0000 Message-ID: <3db2443d-3c30-703d-d4c1-b184eccbf3b5@amd.com> Date: Tue, 28 Jun 2022 17:25:06 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: Re: [PATCH v4 1/2] sched: Add per_cpu cluster domain info and cpus_share_resources API Content-Language: en-US To: Abel Wu , Tim Chen , Yicong Yang , Yicong Yang , peterz@infradead.org, mingo@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, gautham.shenoy@amd.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com, prime.zeng@huawei.com, jonathan.cameron@huawei.com, ego@linux.vnet.ibm.com, srikar@linux.vnet.ibm.com, linuxarm@huawei.com, 21cnbao@gmail.com, guodong.xu@linaro.org, hesham.almatary@huawei.com, john.garry@huawei.com, shenyang39@huawei.com, feng.tang@intel.com References: <20220609120622.47724-1-yangyicong@hisilicon.com> <20220609120622.47724-2-yangyicong@hisilicon.com> <81fbcadb-a58d-2cef-9c05-154555ec1d68@huawei.com> <6bf4f032-7d07-d4a4-4f5a-28f3871131c0@amd.com> <5638aed5-bbd0-a74e-759f-0de51e3651f7@amd.com> From: K Prateek Nayak In-Reply-To: X-ClientProxiedBy: PN3PR01CA0144.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:bf::11) To MW2PR12MB2379.namprd12.prod.outlook.com (2603:10b6:907:9::24) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0734194d-4819-477b-c6d1-08da58fd1524 X-MS-TrafficTypeDiagnostic: BL3PR12MB6521:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uL5JsqCRxAzkfcASxGrzZ+RqMi2Om0meNjKBaaLIDVNYr3ARxBtWrRCmBiefKkAitkj+4vaxWN94kVyjJoIjk2OzkDgvyGiXUMKZoAwdLJWsHjD0Aa9OEbybxTUW/ifmWYKyfhU4UvcRBauHYSgew8qkRhqWnXyXUuQjwM8ccAUQWeg0mE9UHTd4n5Xm3+ztOyM/agk2mgYKm9l5n9/WgG5k9DZfGMlCyvpntw0NLDUtmFoXt0UTHokstfD87I3N1rnOWeCdKAsOiVxaPIc30Gbsm1lKHqkAmJYsce3hUoVabdqtVl5xSH96ahxrAoMy8eRldh5E/xp9HShibnfvppFX08tAcSQ/RgoF9sjQDbVWeGYnYqc3laB2tTNckS/6k9/FdkLiCg9qvKskU+XyVY8IB9EOsGXPpQBYdm48z3NtsaVCkjI6gUDRZ2Ac5M8Pa7C4/wh9dvbxzY1iGELrBleZa+NozmhVCaY77Zgj0f6ABafBu7Dc2LDqZH61Py4NMckWQ5vZQ5aGVxeK+Y8E+YZ3aBKPB0a5oU7vW8IVaJSc3msnZlTGLg4OJVU7Tx4SYTdaTYkblxhnsvHknew48SSsaNVCsaRThLaJ2TFqNoJ5ubb1OxOtqe0Fb48qEbwW8IVBLG7KBZGaIhb+ThRnh15D9MvO4B0QdaqizGxK3X5WsgvwjNdSVYigDQh7LCcEO6JKgz2Aj9cL9nH/h1kW3+BEi6fpwRHwUNWlaLb4OZ0fG2FTNyf+JU8px5Mohqm5DMX5JcHPMw3TIrp/YmNYxQI6uj+0+/9+/9ENEvYLNAIDR9IqItLD+BfuPtMMBxdnQyFPCooxLH1AY50yabKH1yDGk1pV4Y7hLL2I9L8MeP+yV0wkPHzygvBGvsr1NCKd X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB2379.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(136003)(366004)(376002)(39860400002)(316002)(7416002)(53546011)(186003)(30864003)(36756003)(8936002)(5660300002)(31696002)(4326008)(110136005)(6512007)(2906002)(8676002)(41300700001)(6486002)(6666004)(6506007)(31686004)(66476007)(921005)(2616005)(66556008)(83380400001)(66946007)(38100700002)(26005)(86362001)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bi9FckNKcHJFczQwd21ZQkxRMk5ScTJPR0tiamxLMVU5MzVoK001QXFTMWNJ?= =?utf-8?B?MHdTWHY2SHkrd2swTGprNWs2aCtETWVjb1djZ0QwZ3BPRnBtUlpBc2ZxVGZv?= =?utf-8?B?TkxzMUI5bUlCT01jMElTb04ycVpFUEVlenVkUCtwVUlsMUtMUWd4emNTYnBY?= =?utf-8?B?N0lOekVCWUN5czlhNVlBb1F0TmowZ3NLNisyNU1acWRCajV5UWRKV1ZFa2p0?= =?utf-8?B?d2d1T3BYTmZNL051UkhWeW1YVm1Dd3VKYkQ0c0xVTzRVank0RExVcmE1ZTBy?= =?utf-8?B?d3VTSTR1cnRZci9KT2pGTDhxMGFJc0wyRDJacUxUUDEzZGJqMC9QdUhTemxm?= =?utf-8?B?VGZ4R0RlNC9NcWdkdFlzUW56SmkzM1V2bTNmT01MRlVlSnJzS1pUZGxkU0xF?= =?utf-8?B?dmdZaWxLQU9wQW82NS8xWmhqYlJLdTc1M2cyNU0vLzVUQzZCTnJabzdWSDcx?= =?utf-8?B?a1ZjckpyR0lkaGVwcmcrdkRDaGQ3L05yK25rRHFiMHp6YnFQVzJDb1B3WUlO?= =?utf-8?B?Q0crS1VuMG4yY0FCWWxiMnExUk54WnR0OFdKQUMwZGgwcWRKd0JDK0tpSDRD?= =?utf-8?B?VVpIZWhUVXpoN3ZLUXVGVGc1QnlGWFFrWS9QVjFNczBZNkhNTGJhMkVwOHRF?= =?utf-8?B?RllPVElNQjAwK0gvUEZhczRoUmlZNmk5WjNuU0prTGJEUlFXcEpweWZoR205?= =?utf-8?B?STEyZERwVkFtM1NjSDRhZm81eHEyUkhKZ1lRK0tRbVZ0WjBwdUFzMUlRZFlW?= =?utf-8?B?NDRWTElIV1VpbkpWTVhDVEl2Q3gzVkFEOTZuNnpGSUZzZ1EvNHN1VzVOZXIr?= =?utf-8?B?UVB5RU03eEI0cEI4dFRmSEFwV0NpeVdzdGdWMEluejFOZXU2d09kbXgrSGE0?= =?utf-8?B?L2ovUTFVd0NsUGlZaFIvWFE1WFlJL3lKWGlKMFBFTUEzaWdLM2Y5TkN1UTA5?= =?utf-8?B?elM5L0hyZjAyakppTjZYUnd5S3dON2ltVGIxc1VxbldMbE1oSkQvdnZOZThX?= =?utf-8?B?MHpwNk5HKzZXUm12ZGJpVjFxNndBSVBWdDl2c0xLSy9CWWlqQU9RSXZTZXFk?= =?utf-8?B?UkRnRmZyREZETTlQWTFJd2UrSi9Palpqa1BIYW11ejdBbzRpbmVXZkpjY0Ro?= =?utf-8?B?aDY3Z1NTMTgrZmc5L1RsUEc5bjJ1dG03QXoybG5DOHliVHRvbGdLY0xGTGdN?= =?utf-8?B?dVQrbjNvdWJSNWkzS0NMNURoVWhjK1YwWmJYOU5aY2pCUUM1dFJaeWhJeStW?= =?utf-8?B?dzJvMnhIeEZwOWc4YTdveS9nbzVXdVRPdkRIaWdVOE1BR1NvWXg3aW9sNzJh?= =?utf-8?B?Y0lvTWhOR3lxUUdsbitsZUtCV3RjNXRhRGIyYy9WUFV6a1pnWm5Hdlc4NEJ2?= =?utf-8?B?OHJVMEptQ0lnVzQ0UjNrWkxUTmM4QU5iLzlyRGJDK20rYWlodzJjaXhnWnll?= =?utf-8?B?VVZjdG5PTkUraG9kQXZDdnlycG0zbVhURXJEWWhtRTF0UGMvQXpEcjJjZU5C?= =?utf-8?B?WE12WCtLTDRNS0JPTCtMVGZzN3I5RkxDMXBvZzBTQ3pBY0x5VVhrRlRmc21B?= =?utf-8?B?aGZkaXdsbUJMK0hYVnRMdWluTUJHNGVGclNIZUM3YWxzOHdCVnorT09xbEcy?= =?utf-8?B?SEdORnFIelZtNi9EcHR1VG85TVdoeVJyVE1VQXFPc1M2aFhybEJmNWZjWTJR?= =?utf-8?B?RVRyOEVyK0xSajZ2R0NGYXVBTlczdUE1SjkxR01Wc2s4WUNBbkNjYkZOcFVO?= =?utf-8?B?NFEwbmhWejR5bHFjQ2szbEgwbzI4WWVlVjlTN1ZxN2xjTzUrNmo3U3RLV3dB?= =?utf-8?B?YVJ2UzRJSi9UejBVLy9LRWl2WTJoTmd4RTNnSWNVT0JKbkhsWCtydG9GOEFT?= =?utf-8?B?ZXpaK2hXMlEySkVrU2lQbmFWbkx4OFZnVE5YZk8xRHpqM3luVmpOSkN5QUds?= =?utf-8?B?ZnVjL1RGUDJmZjEzV21KYU83NCtERWczZmRkL2hDWHR1aGgyeElQMGxKZXZI?= =?utf-8?B?THpyVlE4REFEME9ubjlWa1htQ085UThkbDc3SlBXMVVDSFBNZ0Vubkl4b0Jy?= =?utf-8?B?WDIxK0N2cmtzd3pub0VadE1DNHJMU0hNZy9aYVk4b3VwM0JBYUYxajB4ZUFW?= =?utf-8?Q?zcgoM3vVFZz4sY2rtKIIW4lzo?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0734194d-4819-477b-c6d1-08da58fd1524 X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB2379.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2022 11:55:23.5579 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /UgGOHBuz1zUAogQ42HCYLdYfoQ01MoKLXfycx+F3jXi3O7T8qi+D8p/GXuD1L9zpKO3Dp35lvHyWlPJEADPEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6521 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220628_045532_498186_B9AA29F5 X-CRM114-Status: GOOD ( 29.10 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGVsbG8gQWJlbCwKClRoYW5rIHlvdSBmb3IgbG9va2luZyBpbnRvIHRoaXMgaXNzdWUuCgp0bDtk cgoKV2UgaGF2ZSBmb3VuZCB0d28gdmFyaWFibGVzIHRoYXQgbmVlZCB0byBiZQpjby1sb2NhdGVk IG9uIHRoZSBzYW1lIGNhY2hlIGxpbmUgdG8gcmVzdG9yZSB0YmVuY2gKcGVyZm9ybWFuY2UuCgpB cyB0aGlzIGlzc3VlIGlzIHVucmVsYXRlZCB0byB0aGUgZnVuY3Rpb25hbGl0eSBvZgp0aGUgcGF0 Y2gsIGl0IHNob3VsZCBub3QgaG9sZCB0aGlzIHBhdGNoIHNlcmllcyBmcm9tCmxhbmRpbmcgZ2l2 ZW4gdGhlIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBzZWVuIG9uCnN5c3RlbXMgd2l0aCBDUFUg Y2x1c3RlcnMuCgpUaGUgcmVzdWx0cyBvZiBvdXIgYW5hbHlzaXMgYXJlIGRpc2N1c3NlZCBpbgpk ZXRhaWwgYmVsb3cuCgpPbiA2LzIwLzIwMjIgNzowNyBQTSwgQWJlbCBXdSB3cm90ZToKPiAKPiBP biA2LzIwLzIyIDc6MjAgUE0sIEsgUHJhdGVlayBOYXlhayBXcm90ZToKPj4gSGVsbG8gVGltLAo+ Pgo+PiBUaGFuayB5b3UgZm9yIGxvb2tpbmcgaW50byB0aGlzLgo+Pgo+PiBPbiA2LzE3LzIwMjIg MTA6MjAgUE0sIFRpbSBDaGVuIHdyb3RlOgo+Pj4gT24gRnJpLCAyMDIyLTA2LTE3IGF0IDE3OjUw ICswNTMwLCBLIFByYXRlZWsgTmF5YWsgd3JvdGU6Cj4+Pj4KPj4+Pgo+Pj4+IC0tIAo+Pj4+IGRp ZmYgLS1naXQgYS9rZXJuZWwvc2NoZWQvc2NoZWQuaCBiL2tlcm5lbC9zY2hlZC9zY2hlZC5oCj4+ Pj4gaW5kZXggZTlmM2RjNmRjYmY0Li45N2EzODk1NDE2YWIgMTAwNjQ0Cj4+Pj4gLS0tIGEva2Vy bmVsL3NjaGVkL3NjaGVkLmgKPj4+PiArKysgYi9rZXJuZWwvc2NoZWQvc2NoZWQuaAo+Pj4+IEBA IC0xNzUwLDEyICsxNzUwLDEyIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNjaGVkX2RvbWFpbiAq bG93ZXN0X2ZsYWdfZG9tYWluKGludCBjcHUsIGludCBmbGFnKQo+Pj4+IMKgwqDCoMKgwqAgcmV0 dXJuIHNkOwo+Pj4+IMKgIH0KPj4+PiDCoCArREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCBzY2hlZF9k b21haW4gX19yY3UgKiwgc2RfY2x1c3Rlcik7Cj4+Pj4gK0RFQ0xBUkVfUEVSX0NQVShpbnQsIHNk X3NoYXJlX2lkKTsKPj4+PiDCoCBERUNMQVJFX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFpbiBf X3JjdSAqLCBzZF9sbGMpOwo+Pj4+IMKgIERFQ0xBUkVfUEVSX0NQVShpbnQsIHNkX2xsY19zaXpl KTsKPj4+PiDCoCBERUNMQVJFX1BFUl9DUFUoaW50LCBzZF9sbGNfaWQpOwo+Pj4+IC1ERUNMQVJF X1BFUl9DUFUoaW50LCBzZF9zaGFyZV9pZCk7Cj4+Pj4gwqAgREVDTEFSRV9QRVJfQ1BVKHN0cnVj dCBzY2hlZF9kb21haW5fc2hhcmVkIF9fcmN1ICosIHNkX2xsY19zaGFyZWQpOwo+Pj4+IC1ERUNM QVJFX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFpbiBfX3JjdSAqLCBzZF9jbHVzdGVyKTsKPj4+ PiDCoCBERUNMQVJFX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFpbiBfX3JjdSAqLCBzZF9udW1h KTsKPj4+PiDCoCBERUNMQVJFX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFpbiBfX3JjdSAqLCBz ZF9hc3ltX3BhY2tpbmcpOwo+Pj4+IMKgIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZG9t YWluIF9fcmN1ICosIHNkX2FzeW1fY3B1Y2FwYWNpdHkpOwo+Pj4+IC0tIAo+Pj4+Cj4+Pj4gVGhl IFN5c3RlbS1tYXAgb2YgZWFjaCBrZXJuZWwgaXMgYXMgZm9sbG93czoKPj4+Pgo+Pj4+IC0gT24g InRpcCIKPj4+Pgo+Pj4+IDAwMDAwMDAwMDAwMjA1MTggRCBzZF9hc3ltX2NwdWNhcGFjaXR5Cj4+ Pj4gMDAwMDAwMDAwMDAyMDUyMCBEIHNkX2FzeW1fcGFja2luZwo+Pj4+IDAwMDAwMDAwMDAwMjA1 MjggRCBzZF9udW1hCj4+Pj4gMDAwMDAwMDAwMDAyMDUzMCBEIHNkX2xsY19zaGFyZWQKPj4+PiAw MDAwMDAwMDAwMDIwNTM4IEQgc2RfbGxjX2lkCj4+Pj4gMDAwMDAwMDAwMDAyMDUzYyBEIHNkX2xs Y19zaXplCj4+Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g NjRCIENhY2hlbGluZSBCb3VuZGFyeQo+Pj4+IDAwMDAwMDAwMDAwMjA1NDAgRCBzZF9sbGMKPj4+ Pgo+Pj4+IC0gT24gInRpcCArIFBhdGNoIDEgb25seSIgYW5kICJ0aXAgKyBib3RoIHBhdGNoZXMi Cj4+Pj4KPj4+PiAwMDAwMDAwMDAwMDIwNTE4IEQgc2RfYXN5bV9jcHVjYXBhY2l0eQo+Pj4+IDAw MDAwMDAwMDAwMjA1MjAgRCBzZF9hc3ltX3BhY2tpbmcKPj4+PiAwMDAwMDAwMDAwMDIwNTI4IEQg c2RfbnVtYQo+Pj4+IDAwMDAwMDAwMDAwMjA1MzAgRCBzZF9jbHVzdGVywqDCoMKgwqAgPC0tLS0t Cj4+Pj4gMDAwMDAwMDAwMDAyMDUzOCBEIHNkX2xsY19zaGFyZWQKPj4+PiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA2NEIgQ2FjaGVsaW5lIEJvdW5kYXJ5Cj4+ Pj4gMDAwMDAwMDAwMDAyMDU0MCBEIHNkX3NoYXJlX2lkwqDCoMKgIDwtLS0tLQo+Pj4+IDAwMDAw MDAwMDAwMjA1NDQgRCBzZF9sbGNfaWQKPj4+PiAwMDAwMDAwMDAwMDIwNTQ4IEQgc2RfbGxjX3Np emUKPj4+PiAwMDAwMDAwMDAwMDIwNTUwIEQgc2RfbGxjCj4+Pj4KPj4+Pgo+Pj4+IC0gT24gInRp cCArIGJvdGggcGF0Y2hlcyAoTW92ZSBkZWNsYXJhdGlvbiB0byB0b3ApIgo+Pj4+Cj4+Pj4gMDAw MDAwMDAwMDAyMDUxOCBEIHNkX2FzeW1fY3B1Y2FwYWNpdHkKPj4+PiAwMDAwMDAwMDAwMDIwNTIw IEQgc2RfYXN5bV9wYWNraW5nCj4+Pj4gMDAwMDAwMDAwMDAyMDUyOCBEIHNkX251bWEKPj4+PiAw MDAwMDAwMDAwMDIwNTMwIEQgc2RfbGxjX3NoYXJlZAo+Pj4+IDAwMDAwMDAwMDAwMjA1MzggRCBz ZF9sbGNfaWQKPj4+PiAwMDAwMDAwMDAwMDIwNTNjIEQgc2RfbGxjX3NpemUKPj4+PiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA2NEIgQ2FjaGVsaW5lIEJvdW5k YXJ5Cj4+Pj4gMDAwMDAwMDAwMDAyMDU0MCBEIHNkX2xsYwo+Pj4KPj4+IFdvbmRlciBpZiBpdCB3 aWxsIGhlbHAgdG8gdHJ5IGtlZXAgc2RfbGxjIGFuZCBzZF9sbGNfc2l6ZSBpbnRvIHRoZSBzYW1l Cj4+PiBjYWNoZSBsaW5lLsKgIFRoZXkgYXJlIGJvdGggdXNlZCBpbiB0aGUgd2FrZSB1cCBwYXRo Lgo+Pgo+PiBXZSBhcmUgc3RpbGwgZXZhbHVhdGluZyBrZWVwaW5nIHdoaWNoIHNldCBvZiB2YXJp YWJsZXMgb24gdGhlIHNhbWUKPj4gY2FjaGUgbGluZSB3aWxsIHByb3ZpZGUgdGhlIGJlc3QgcmVz dWx0cy4KPj4KPj4gSSB3b3VsZCBoYXZlIGV4cGVjdGVkIHRoZSB0d28ga2VybmVsIHZhcmlhbnRz IC0gInRpcCIgYW5kIHRoZQo+PiAidGlwICsgYm90aCBwYXRjaGVzIChNb3ZlIGRlY2xhcmF0aW9u IHRvIHRvcCkiIC0gdG8gZ2l2ZSBzaW1pbGFyIHJlc3VsdHMKPj4gYXMgdGhlaXIgU3lzdGVtIG1h cCBmb3IgYWxsIHRoZSBvbGQgdmFyaWFibGVzIHJlbWFpbiB0aGUgc2FtZSBhbmQgdGhlCj4+IGFk ZGl0aW9uIG9mICJzZF9zaGFyZV9pZCIgYW5kICJzZF9jbHVzdGVyOiBmaXQgaW4gdGhlIGdhcCBh ZnRlciAic2RfbGxjIi4KPj4gSG93ZXZlciwgbm93IHdlIHNlZSBhIHJlZ3Jlc3Npb24gZm9yIGhp Z2hlciBudW1iZXIgb2YgY2xpZW50Lgo+Pgo+PiBUaGlzIHByb2JhYmx5IGhpbnRzIHRoYXQgYWNj ZXNzIHRvICJzZF9jbHVzdGVyIiB2YXJpYWJsZSBpbiBQYXRjaCAyIGFuZAo+PiBicmluZ2luZyBp biB0aGUgZXh0cmEgY2FjaGUgbGluZSBjb3VsZCBiZSByZXNwb25zaWJsZSBmb3IgdGhlIHJlZ3Jl c3Npb24KPj4gd2Ugc2VlIHdpdGggInRpcCArIGJvdGggcGF0Y2hlcyAoTW92ZSBkZWNsYXJhdGlv biB0byB0b3ApIgo+Pgo+Pj4KPj4+Cj4+Pj4gMDAwMDAwMDAwMDAyMDU0OCBEIHNkX3NoYXJlX2lk wqDCoMKgIDwtLS0tLQo+Pj4+IDAwMDAwMDAwMDAwMjA1NTAgRCBzZF9jbHVzdGVywqDCoMKgwqAg PC0tLS0tCj4+Pj4KPj4+Pj4gT3IgY2hhbmdlIHRoZSBsYXlvdXQgYSBiaXQgdG8gc2VlIGlmIHRo ZXJlJ3MgYW55IGRpZmZlcmVuY2UsCj4+Pj4+IGxpa2U6Cj4+Pj4+Cj4+Pj4+IMKgIERFRklORV9Q RVJfQ1BVKHN0cnVjdCBzY2hlZF9kb21haW4gX19yY3UgKiwgc2RfbGxjKTsKPj4+Pj4gwqAgREVG SU5FX1BFUl9DUFUoaW50LCBzZF9sbGNfc2l6ZSk7Cj4+Pj4+IMKgIERFRklORV9QRVJfQ1BVKGlu dCwgc2RfbGxjX2lkKTsKPj4+Pj4gwqAgREVGSU5FX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFp bl9zaGFyZWQgX19yY3UgKiwgc2RfbGxjX3NoYXJlZCk7Cj4+Pj4+ICtERUZJTkVfUEVSX0NQVShp bnQsIHNkX3NoYXJlX2lkKTsKPj4+Pj4gK0RFRklORV9QRVJfQ1BVKHN0cnVjdCBzY2hlZF9kb21h aW4gX19yY3UgKiwgc2RfY2x1c3Rlcik7Cj4+Pj4+IMKgIERFRklORV9QRVJfQ1BVKHN0cnVjdCBz Y2hlZF9kb21haW4gX19yY3UgKiwgc2RfbnVtYSk7Cj4+Pj4+IMKgIERFRklORV9QRVJfQ1BVKHN0 cnVjdCBzY2hlZF9kb21haW4gX19yY3UgKiwgc2RfYXN5bV9wYWNraW5nKTsKPj4+Pj4KPj4+Pj4g SSBuZWVkIHRvIGZ1cnRoZXIgbG9vayBpbnRvIGl0IGFuZCBoYXZlIHNvbWUgdGVzdHMgb24gYSBT TVQgbWFjaGluZS4gV291bGQgeW91IG1pbmQgdG8gc2hhcmUKPj4+Pj4gdGhlIGtlcm5lbCBjb25m aWcgYXMgd2VsbD8gSSdkIGxpa2UgdG8gY29tcGFyZSB0aGUgY29uZmlnIGFzIHdlbGwuCj4+Pj4K Pj4+PiBJJ3ZlIGF0dGFjaGVkIHRoZSBrZXJuZWwgY29uZmlnIHVzZWQgdG8gYnVpbGQgdGhlIHRl c3Qga2VybmVsCj4+Pj4gdG8gdGhpcyBtYWlsLgo+Pj4+Cj4+Pj4+IFRoYW5rcywKPj4+Pj4gWWlj b25nCj4+Pj4KPj4+PiBXZSBhcmUgdHJ5aW5nIHRvIGRlYnVnIHRoZSBpc3N1ZSB1c2luZyBwZXJm IGFuZCBmaW5kIGFuIG9wdGltYWwKPj4+PiBhcnJhbmdlbWVudCBvZiB0aGUgcGVyIGNwdSBkZWNs YXJhdGlvbnMgdG8gZ2V0IHRoZSByZWxldmFudCBkYXRhCj4+Pj4gdXNlZCBpbiB0aGUgd2FrZXVw IHBhdGggb24gdGhlIHNhbWUgNjRCIGNhY2hlIGxpbmUuCj4+Pgo+Pj4gQSBjaGVjayBvZiBwZXJm IGMyYyBwcm9maWxlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aXAgYW5kIHRoZSBtb3ZlIG5ldyBkZWNs YXJhdGlvbnMgdG8KPj4+IHRoZSB0b3AgY2FzZSBjb3VsZCBiZSB1c2VmdWwuwqAgSXQgbWF5IGdp dmUgc29tZSBhZGRpdGlvbmFsIGNsdWVzIG9mIHBvc3NpYmVsCj4+PiBmYWxzZSBzaGFyaW5nIGlz c3Vlcy4KPj4KPj4gVGhhbmsgeW91IGZvciB0aGUgc3VnZ2VzdGlvbi4gV2UgYXJlIGN1cnJlbnRs eSBsb29raW5nIGF0IHBlcmYgY291bnRlcgo+PiBkYXRhIHRvIHNlZSBob3cgdGhlIGNhY2hlIGVm ZmljaWVuY3kgaGFzIGNoYW5nZWQgYmV0d2VlbiB0aGUgdHdvIGtlcm5lbHMuCj4+IFdlIHN1c3Bl Y3QgdGhhdCB0aGUgbmVlZCBmb3IgdGhlIGRhdGEgaW4gdGhlIG90aGVyIGNhY2hlIGxpbmUgdG9v IGluIHRoZQo+PiB3YWtldXAgcGF0aCBpcyByZXN1bHRpbmcgaW4gaGlnaGVyIGNhY2hlIG1pc3Nl cyBpbiB0aGUgbGV2ZWxzIGNsb3NlciB0bwo+PiB0aGUgY29yZS4KPj4KPj4gSSBkb24ndCB0aGlu ayBpdCBpcyBhIGZhbHNlIHNoYXJpbmcgcHJvYmxlbSBhcyB0aGVzZSBwZXIgQ1BVIGRhdGEgYXJl Cj4+IHNldCB3aGVuIHRoZSBzeXN0ZW0gZmlyc3QgYm9vdHMgdXAgYW5kIHdpbGwgb25seSBiZSBj aGFuZ2UgYWdhaW4gZHVyaW5nCj4+IGEgQ1BVIGhvdHBsdWcgb3BlcmF0aW9uLiBIb3dldmVyLCBp dCBtaWdodCBiZSBiZW5lZmljaWFsIHRvIHNlZSB0aGUgYzJjCj4+IHByb2ZpbGUgaWYgcGVyZiBj b3VudGVycyBkb24ndCBpbmRpY2F0ZSBhbnl0aGluZyBvdXQgb2YgdGhlIG9yZGluYXJ5Lgo+Pgo+ IAo+IFdvdWxkIGl0IGJlIHBvc3NpYmxlIGlmIGFueSBvdGhlciBmcmVxdWVudC13cml0dGVuIHZh cmlhYmxlcyBzaGFyZQo+IHNhbWUgY2FjaGVsaW5lIHdpdGggdGhlc2UgcGVyLWNwdSBkYXRhIGNh dXNpbmcgZmFsc2Ugc2hhcmluZz8gCgpUaGlzIGluZGVlZCBzZWVtcyB0byBiZSB0aGUgY2FzZS4g SSdsbCBsZWF2ZSB0aGUKZGV0YWlsZWQgYW5hbHlzaXMgYmVsb3cuCgo+IFdoYXQKPiBhYm91dCBt YWtpbmcgYWxsIHRoZXNlIHNkXyogZGF0YSBERUZJTkVfUEVSX0NQVV9SRUFEX01PU1RMWT8KPgoK TWFraW5nIGFsbCB0aGUgc2RfKiB2YXJpYWJsZXMgREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NUTFkg b3IKcGxhY2luZyBhbGwgdGhlIHNkXyogdmFyaWFibGVzIG9uIHRoZSBzYW1lIGNhY2hlIGxpbmUg ZG9lc24ndApoZWxwIHRoZSByZWdyZXNzaW9uLiBJbiBmYWN0LCBpdCBtYWtlcyBpdCB3b3JzZS4K CkZvbGxvd2luZyBhcmUgdGhlIHJlc3VsdHMgb24gZGlmZmVyZW50IHRlc3Qga2VybmVsczoKdGlw CQkJCS0gNS4xOS4wLXJjMiB0aXAKCQkJCSAgKGNvbW1pdDogZjNkZDNmNjc0NTU1ICJzY2hlZDog UmVtb3ZlIHRoZSBsaW1pdGF0aW9uIG9mIFdGX09OX0NQVSBvbiB3YWtlbGlzdCBpZiB3YWtlZSBj cHUgaXMgaWRsZSIpCmNsdXN0ZXIJCQkJLSB0aXAgKyBib3RoIHRoZSBwYXRjaGVzIG9mIHRoZSBz ZXJpZXMKUGF0Y2gxCQkJCS0gdGlwICsgb25seSBQYXRjaCAxCmFsaWduX2ZpcnN0IChQYXRjaCAx KSAJCS0gdGlwICsgb25seSBQYXRjaCAxICsgYWxsIHNkXyogdmFyaWFibGVzIGluIHNhbWUgY2Fj aGUgbGluZQpwZXJfY3B1X2FpZ25lZF9zdHJ1Y3QgKFBhdGNoIDEpIC0gdGlwICsgb25seSBQYXRj aCAxICsgYWxsIHNkXyogdmFyaWFibGVzIHBhcnQgb2YgYSBwZXJfY3B1IHN0cnVjdCB3aGljaCBp cyBjYWNoZWxpbmUgYWxpZ25lZAoKQ2xpZW50czogICAgICAgdGlwICAgICAgICAgICAgICAgICAg ICBjbHVzdGVyICAgICAgICAgICAgICAgICBQYXRjaDEgICAgICAgICAgICAgYWxpZ25fZmlyc3Qg KFBhdGNoIDEpICAgICAgIHBlcl9jcHVfYWlnbmVkX3N0cnVjdCAoUGF0Y2ggMSkKICAgIDggICAg MzI2My44MSAoMC4wMCBwY3QpICAgICAgMzA4Ni44MSAoLTUuNDIgcGN0KSAgICAgMzAxOC42MyAo LTcuNTEgcGN0KSAgICAgMjk5My42NSAoLTguMjcgcGN0KSAgICAgICAgIDE3MjguODkgKC00Ny4w MiBwY3QpCiAgIDE2ICAgIDYwMTEuMTkgKDAuMDAgcGN0KSAgICAgIDUzNjAuMjggKC0xMC44MiBw Y3QpICAgIDQ4NjkuMjYgKC0xOC45OSBwY3QpICAgIDQ4MjAuMTggKC0xOS44MSBwY3QpICAgICAg ICAzODQwLjY0ICgtMzYuMTAgcGN0KQogICAzMiAgICAxMjA1OC4zMSAoMC4wMCBwY3QpICAgICA4 NzY5LjA4ICgtMjcuMjcgcGN0KSAgICA4MTU5LjYwICgtMzIuMzMgcGN0KSAgICA3ODY4LjgyICgt MzQuNzQgcGN0KSAgICAgICAgNzEzMC4xOSAoLTQwLjg2IHBjdCkKICAgNjQgICAgMjEyNTguMjEg KDAuMDAgcGN0KSAgICAgMTkwMjEuMDkgKC0xMC41MiBwY3QpICAgMTMxNjEuOTIgKC0zOC4wOCBw Y3QpICAgMTIzMjcuODYgKC00Mi4wMCBwY3QpICAgICAgIDEyNTcyLjcwICgtNDAuODUgcGN0KQoK Rm9sbG93aW5nIGlzIHRoZSBzeXN0ZW0gbWFwIGZvciB0aGUga2VybmVsIHZhcmlhbnQgImFsaWdu X2ZpcnN0IChQYXRjaCAxKSI6CgotLQowMDAwMDAwMDAwMDIwNGMwIGQgc3Vnb3ZfY3B1CiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gMjA1MDAgKENhY2hl IExpbmUgU3RhcnQpCjAwMDAwMDAwMDAwMjA1MDggZCByb290X2NwdWFjY3RfY3B1dXNhZ2UKMDAw MDAwMDAwMDAyMDUxMCBEIGNwdWZyZXFfdXBkYXRlX3V0aWxfZGF0YQogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDIwNTQwIChDYWNoZSBMaW5lIFN0YXJ0 KQowMDAwMDAwMDAwMDIwNTQwIEQgc2RfYXN5bV9jcHVjYXBhY2l0eSAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTQ4IEQgc2RfYXN5bV9wYWNraW5nICAgICAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTUwIEQgc2RfbnVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTU4IEQgc2RfY2x1c3RlciAgICAgICAgICAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTYwIEQgc2RfbGxjX3NoYXJlZCAgICAgICAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTY4IEQgc2Rfc2hhcmVfaWQgICAgICAgICAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTZjIEQgc2RfbGxjX2lkICAgICAgICAgICAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTcwIEQgc2RfbGxjX3NpemUgICAgICAgICAgICAgICAgICAgICAgICAg IAowMDAwMDAwMDAwMDIwNTc4IEQgc2RfbGxjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDIwNTgw IChDYWNoZSBMaW5lIFN0YXJ0KQowMDAwMDAwMDAwMDIwNTgwIGQgd2FrZV91cF9rbG9nZF93b3Jr CjAwMDAwMDAwMDAwMjA1YTAgZCBwcmludGtfcGVuZGluZwowMDAwMDAwMDAwMDIwNWE0IGQgcHJp bnRrX2NvdW50X25taQowMDAwMDAwMDAwMDIwNWE1IGQgcHJpbnRrX2NvdW50CjAwMDAwMDAwMDAw MjA1YTggZCBwcmludGtfY29udGV4dAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tIDIwNWMwIChDYWNoZSBMaW5lIFN0YXJ0KQowMDAwMDAwMDAwMDIwNWMw IGQgcmN1X3Rhc2tzX3RyYWNlX19wZXJjcHUKLS0KCkF0IHRoaXMgcG9pbnQgaXQgd2FzIGNsZWFy IHRoYXQgb25lIG9yIG1vcmUgc2RfKiB2YXJpYWJsZSBuZWVkcwp0byBiZSBjby1sb2NhdGVkIHdp dGggdGhlIHBlciBDUFUgdmFyaWFibGVzIGluIGNhY2hlIGxpbmUgc3RhcnRpbmcKYXQgMjA1NDAu IFdlIGJlZ2FuIG1vdmluZyB2YXJpYWJsZSBvdXQgb2YgdGhlIGNhY2hlIGxpbmUgb25lIGJ5IG9u ZQp0byBzZWUgd2hpY2ggdmFyaWFibGUgbWFrZXMgdGhlIGRpZmZlcmVuY2UgYXMgd2UgZm91bmQg b3V0IHRoYXQgYXMKbG9uZyBhcyByb290X2NwdWFjY3RfY3B1dXNhZ2UgYW5kIHNkX2xsY19pZCBh cmUgb24gdGhlIHNhbWUgY2FjaGUKbGluZSwgdGhlIHJlc3VsdHMgd2VyZSBlcXVpdmFsZW50IG9m IHdoYXQgd2Ugc2F3IG9uIHRoZSB0aXAuIEFzIGJvdGgKdGhlIHZhcmlhYmxlcyBzZWVtIHRvIGJl IGFjY2Vzc2VzIHZlcnkgZnJlcXVlbnRseSwgYWNjZXNzIHRvIG9uZSB3aWxsCnByaW1lIHRoZSBj YWNoZSBsaW5lIGNvbnRhaW5pbmcgdGhlIG90aGVyIHZhcmlhYmxlIGFzIHdlbGwgbGVhZGluZyB0 bwpiZXR0ZXIgY2FjaGUgZWZmaWNpZW5jeS4KClBsYWNpbmcgcm9vdF9jcHVhY2N0X2NwdXVzYWdl LCBzZF9sbGNfaWQsIHNkX3NoYXJlX2lkLCBzZF9sbGNfc2hhcmVkCmFuZCBzZF9jbHVzdGVyIG9u IHRoZSBzYW1lIGNhY2hlIGxpbmUsIHRoZSByZXN1bHRzIGFyZSBhcyBmb2xsb3dzOgoKS2VybmVs IHZlcnNpb25zOgp0aXAJCQkJCS0gNS4xOS4wLXJjMiB0aXAKY2x1c3RlcgkJCQkJLSB0aXAgKyBi b3RoIHRoZSBwYXRjaGVzIG9mIHRoZSBzZXJpZXMKY2x1c3RlciAoQ3VzdG9tIExheW91dCkJCQkt IHRpcCArIGJvdGggdGhlIHBhdGNoZXMgb2YgdGhlIHNlcmllcyArIHJld29ya2VkIHN5c3RlbSBt YXAKY2x1c3RlciAoQ3VzdG9tIExheW91dCkgKyBTSVNfVVRJTAktIGNsdXN0ZXIgKEN1c3RvbSBM YXlvdXQpICsgdjQgb2YgU0lTX1VUSUwgcGF0Y2hzZXQgYnkgQ2hlbnl1CgkJCQkJICAoaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDIyMDYxMjE2MzQyOC44NDkzNzgtMS15dS5jLmNoZW5A aW50ZWwuY29tLykKCkNsaWVudHM6ICAgICAgdGlwICAgICAgICAgICAgICAgICAgICAgY2x1c3Rl ciAgICAgICAgICBjbHVzdGVyIChDdXN0b20gTGF5b3V0KSAgICAgICBjbHVzdGVyIChDdXN0b20g TGF5b3V0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgU0lTIFV0aWwKICAg IDEgICAgNDQ0LjQxICgwLjAwIHBjdCkgICAgICAgNDM5LjI3ICgtMS4xNSBwY3QpICAgICAgNDM4 LjA2ICgtMS40MiBwY3QpICAgICAgICAgICAgIDQ0Ny43NSAoMC43NSBwY3QpCiAgICAyICAgIDg3 OS4yMyAoMC4wMCBwY3QpICAgICAgIDgzMS40OSAoLTUuNDIgcGN0KSAgICAgIDg0Ni45OCAoLTMu NjYgcGN0KSAgICAgICAgICAgICA4NzEuNjQgKC0wLjg2IHBjdCkKICAgIDQgICAgMTY0OC44MyAo MC4wMCBwY3QpICAgICAgMTYwOC4wNyAoLTIuNDcgcGN0KSAgICAgMTYyMS4zOCAoLTEuNjYgcGN0 KSAgICAgICAgICAgIDE2NTYuMzQgKDAuNDUgcGN0KQogICAgOCAgICAzMjYzLjgxICgwLjAwIHBj dCkgICAgICAzMDg2LjgxICgtNS40MiBwY3QpICAgICAzMTAzLjQwICgtNC45MSBwY3QpICAgICAq ICAgICAgMzIyNy44OCAoLTEuMTAgcGN0KQogICAxNiAgICA2MDExLjE5ICgwLjAwIHBjdCkgICAg ICA1MzYwLjI4ICgtMTAuODIgcGN0KSAgICA1ODM4LjA0ICgtMi44OCBwY3QpICAgICAgICAgICAg NjIzMi45MiAoMy42OCBwY3QpCiAgIDMyICAgIDEyMDU4LjMxICgwLjAwIHBjdCkgICAgIDg3Njku MDggKC0yNy4yNyBwY3QpICAgIDExNTc3LjczICgtMy45OCBwY3QpICAgICAgICAgICAxMTc3NC4x MCAoLTIuMzUgcGN0KQogICA2NCAgICAyMTI1OC4yMSAoMC4wMCBwY3QpICAgICAxOTAyMS4wOSAo LTEwLjUyIHBjdCkgICAxOTU2My41NyAoLTcuOTcgcGN0KSAgICAqICAgICAgMjIwNDQuOTMgKDMu NzAgcGN0KQogIDEyOCAgICAzMDc5NS4yNyAoMC4wMCBwY3QpICAgICAzMDg2MS4zNCAoMC4yMSBw Y3QpICAgICAzMTcwNS40NyAoMi45NSBwY3QpICAgICAgICAgICAgMjg5ODYuMTQgKC01Ljg3IHBj dCkgICAgKgogIDI1NiAgICAyNTEzOC40MyAoMC4wMCBwY3QpICAgICAyNDcxMS45MCAoLTEuNjkg cGN0KSAgICAyMzkyOS40MiAoLTQuODAgcGN0KSAgICAqICAgICAgNDM5ODQuNTIgKDc0Ljk2IHBj dCkgICAgW0tub3duIHRvIGJlIHVuc3RhYmxlIHdpdGhvdXQgU0lTX1VUSUxdCiAgNTEyICAgIDUx Mjg3LjkzICgwLjAwIHBjdCkgICAgIDUxODU1LjU1ICgxLjEwIHBjdCkgICAgIDUyMjc4LjMzICgx LjkzIHBjdCkgICAgICAgICAgICA1MTUxMS41MSAoMC40MyBwY3QpCiAxMDI0ICAgIDUzMTc2Ljk3 ICgwLjAwIHBjdCkgICAgIDUyNTU0LjU1ICgtMS4xNyBwY3QpICAgIDUyOTk1LjI3ICgtMC4zNCBw Y3QpICAgICAgICAgICA1MjgwNy4wNCAoLTAuNjkgcGN0KQoKQ2hlbnl1J3MgU0lTX1VUSUwgcGF0 Y2ggd2FzIG1lcmdlZCB0b2RheSBpbiB0aGUgdGlwCihjb21taXQ6IDcwZmI1Y2NmMmViYiAic2No ZWQvZmFpcjogSW50cm9kdWNlIFNJU19VVElMIHRvIHNlYXJjaCBpZGxlIENQVSBiYXNlZCBvbiBz dW0gb2YgdXRpbF9hdmciKQphbmQgc2VlbXMgdG8gYnJpbmcgYmFjayBwZXJmb3JtYW5jZSB0byB0 aGUgc2FtZSBsZXZlbAphcyBzZWVuIG9uIHRoZSB0aXAgdXNlZCBkdXJpbmcgb3VyIHRlc3Rpbmcu CgpUaGUgc3lzdGVtIG1hcCBvZiB0aGUgdGVzdGVkIGNvbmZpZ3VyYXRpb24gbGFiZWxsZWQgIkN1 c3RvbSBMYXlvdXQiCmlzIGFzIGZvbGxvd3M6CgotLQowMDAwMDAwMDAwMDIwNGMwIGQgc3Vnb3Zf Y3B1CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gMjA1 MDAgKENhY2hlIExpbmUgU3RhcnQpCjAwMDAwMDAwMDAwMjA1MDggZCByb290X2NwdWFjY3RfY3B1 dXNhZ2UKMDAwMDAwMDAwMDAyMDUxMCBEIGNwdWZyZXFfdXBkYXRlX3V0aWxfZGF0YQowMDAwMDAw MDAwMDIwNTE4IEQgc2RfbGxjX2lkCjAwMDAwMDAwMDAwMjA1MWMgRCBzZF9zaGFyZV9pZAowMDAw MDAwMDAwMDIwNTIwIEQgc2RfbGxjX3NoYXJlZAowMDAwMDAwMDAwMDIwNTI4IEQgc2RfY2x1c3Rl cgowMDAwMDAwMDAwMDIwNTMwIEQgc2RfYXN5bV9jcHVjYXBhY2l0eQowMDAwMDAwMDAwMDIwNTM4 IEQgc2RfYXN5bV9wYWNraW5nCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gMjA1NDAgKENhY2hlIExpbmUgU3RhcnQpCjAwMDAwMDAwMDAwMjA1NDAgRCBz ZF9udW1hCjAwMDAwMDAwMDAwMjA1NDggRCBzZF9sbGNfc2l6ZQowMDAwMDAwMDAwMDIwNTUwIEQg c2RfbGxjCjAwMDAwMDAwMDAwMjA1NjAgZCB3YWtlX3VwX2tsb2dkX3dvcmsKIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAyMDU4MCAoQ2FjaGUgTGluZSBT dGFydCkKMDAwMDAwMDAwMDAyMDU4MCBkIHByaW50a19wZW5kaW5nCjAwMDAwMDAwMDAwMjA1ODQg ZCBwcmludGtfY291bnRfbm1pCjAwMDAwMDAwMDAwMjA1ODUgZCBwcmludGtfY291bnQKMDAwMDAw MDAwMDAyMDU4OCBkIHByaW50a19jb250ZXh0CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gMjA1YzAgKENhY2hlIExpbmUgU3RhcnQpCjAwMDAwMDAwMDAw MjA1YzAgZCByY3VfdGFza3NfdHJhY2VfX3BlcmNwdQotLQoKVGhlIFN5c3RlbS1tYXAgaXMgaG93 ZXZlciBkZXBlbmRlbnQgb24gbXVsdGlwbGUgZmFjdG9ycwpzdWNoIGFzIGNvbmZpZyBvcHRpb25z IGVuYWJsZWQsIGV0Yy4gd2hpY2ggY2FuIGNoYW5nZSBmcm9tCmJ1aWxkIHRvIGJ1aWxkLgpGaW5k aW5nIGEgcGVybWFuZW50IHNvbHV0aW9uIHRvIHRoZSBpc3N1ZSBtaWdodCB0YWtlCnNvbWUgbW9y ZSB0aW1lLgoKTWVhbndoaWxlLCBhcyB0aGlzIGlzIGFuIGlzc3VlIHVucmVsYXRlZCB0byB0aGUK ZnVuY3Rpb25hbGl0eSBvZiB0aGlzIHBhdGNoLCBpdCBzaG91bGQgbm90IGJsb2NrCnRoZSBsYW5k aW5nIG9mIHRoaXMgcGF0Y2ggc2VyaWVzLgpUaGFuayB5b3UgZXZlcnlvbmUgZm9yIHlvdXIgcG9p bnRlcnMgYW5kIHBhdGllbmNlCmR1cmluZyB0aGlzIGRlYnVnLgoKVGVzdGVkLWJ5OiBLIFByYXRl ZWsgTmF5YWsgPGtwcmF0ZWVrLm5heWFrQGFtZC5jb20+Ci0tClRoYW5rcyBhbmQgUmVnYXJkcywK UHJhdGVlawoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=