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 D9F2CC27C55 for ; Thu, 6 Jun 2024 14:18:38 +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:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QwpjdnKsSUhJNrSS7aYw7kWRNrn3pfKYci1xZdyE7Mo=; b=Dj0dl74b5VGdDC DATTM+XS1kM6+GyVWaiawaKF/YulX8S7cq2u5AwiNkr3X/DmCEnAync5kSTZ22OU7iEF52aeO0VrL j8/EGaolPFKUUPVDueKDvW1o01df+ASIOK1jp6mpDTOnuIBqhEY20yoKLrBjs+6RrIdrrY9z93YGP 8l8PFnGEBoDnrYOPZN+2ERSSRlO6+rw6NITaWRu9W0S4u25hwUNkeGnnWliKtnoIG9wXBeRrkJ+b0 vOzVdForKiKBB2Rq5/bZ+LEgKHnudOp1XnK+2orfKsqO2KFAqfAG8fG85AXw4Vuo9MfOvO1zqE6e8 K2a2s3/Ws2gwdpBkkmsg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sFDwZ-0000000A1jL-3jiT; Thu, 06 Jun 2024 14:18:19 +0000 Received: from mail-vi1eur02on20601.outbound.protection.outlook.com ([2a01:111:f403:2607::601] helo=EUR02-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sFDwW-0000000A1gr-1rGS for linux-arm-kernel@lists.infradead.org; Thu, 06 Jun 2024 14:18:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lAmBnaTTFHq0GtxoZBcqRqCxXgQjrAW5fiQOZP2recxCQe5OyiF1R394+9nYc4dNH20GT/TFDJtxaOLaJgr2Lq/n0lF7JDxklCIQoNxiBj2Giy7uQk/XL2iQ4DfksJKUoYQ90eh8xtGvB4tiu6VvXeKg0NcWsdMOZqDwV1rx5f2KPuik1vu2ivTNkckNG1GkXF4YAzibAecjJKiSwfcw2IN3gdR2W6zkgfHfFpHyc2aDGFeRj6dWFiGQatvM62nkf+iake5VuSNfj5cEQBqiq/9nJV3XTaR+s0LMae4BzjrQcJtgNe2WvlpWgjjQOZ9X7rB6RjrKInD5qvE+NZA2eg== 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=6tzIQh5T9Vy0piFBeIHdeNe2TQuj4jrvlg7wG2YM2zM=; b=lRBZypyaT2WEYifMFNZH9IjQSH9X4hj6enDN9kFRUyt/KDAGqxdyZmPJM1MzSkf86svPnok2rF5UStrcuY9X6fUsUp+bIf3U/mGg79rSGhA4aJBiuohkqmwwBc2LTiczouv8Oqc2fbsZCIiyhA5LteKDAT6vON4tCZhPLz/xAegHedruFNMqQSOv+sqz1tKCYCExJM6c2klMYi7feraZW0gQ038R9+kDGYDo8VH44YrT5Lng0Kz3DdpguWI2V6oasIVy8XDNBInArgMB4z8WeIb69lkEyPQT9jy9k8rO2AhExpnb27vzQjMI+4gb4kiXqTifqHORdLd1605B1+/JxA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6tzIQh5T9Vy0piFBeIHdeNe2TQuj4jrvlg7wG2YM2zM=; b=IFNj8LpVmA7TrIouEFehdR8vDXjx83KiZlDCni1r0juG+WgaM6yXWXUQE8VNOExwCglcBo1ks1MR0AYETEr2pEjW0FDeHGpIFnJTifZ1OnBZ2xVj1EzFjGNPVE0ZwmHTkA2JWyO5o567XzCgj9TK/NgbImplsielJO/SCgWC54M= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DB7PR04MB4555.eurprd04.prod.outlook.com (2603:10a6:5:33::26) by DB9PR04MB8345.eurprd04.prod.outlook.com (2603:10a6:10:246::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.31; Thu, 6 Jun 2024 14:18:04 +0000 Received: from DB7PR04MB4555.eurprd04.prod.outlook.com ([fe80::86ff:def:c14a:a72a]) by DB7PR04MB4555.eurprd04.prod.outlook.com ([fe80::86ff:def:c14a:a72a%4]) with mapi id 15.20.7633.021; Thu, 6 Jun 2024 14:18:04 +0000 Date: Thu, 6 Jun 2024 17:17:59 +0300 From: Vladimir Oltean To: MD Danish Anwar Cc: Jan Kiszka , Dan Carpenter , Andrew Lunn , Simon Horman , Diogo Ivo , Wolfram Sang , Randy Dunlap , Niklas Schnelle , Vignesh Raghavendra , Richard Cochran , Roger Quadros , Paolo Abeni , Jakub Kicinski , Eric Dumazet , "David S. Miller" , linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, srk@ti.com, Jacob Keller , Roger Quadros Subject: Re: [PATCH net-next v9 2/2] net: ti: icssg_prueth: add TAPRIO offload support Message-ID: <20240606141759.pzug3gezeuabrxzm@skbuf> References: <20240531135157.aaxgslyur5br6zkb@skbuf> <20240531044512.981587-1-danishanwar@ti.com> <20240531044512.981587-1-danishanwar@ti.com> <20240531044512.981587-3-danishanwar@ti.com> <20240531044512.981587-3-danishanwar@ti.com> <20240531135157.aaxgslyur5br6zkb@skbuf> <9bcc04a9-645a-4571-a679-ffe67300877a@ti.com> <9bcc04a9-645a-4571-a679-ffe67300877a@ti.com> <20240603135100.t57lr4u3j6h6zszd@skbuf> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: VI1P195CA0027.EURP195.PROD.OUTLOOK.COM (2603:10a6:802:5a::16) To DB7PR04MB4555.eurprd04.prod.outlook.com (2603:10a6:5:33::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR04MB4555:EE_|DB9PR04MB8345:EE_ X-MS-Office365-Filtering-Correlation-Id: fb89a444-5fe3-46d7-3d46-08dc86337a8a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|1800799015|7416005|376005; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ejZOWVFuRXNBYVArdlUxTTlUSUxVYkJxeXdoSEhEUVN1RWV5YjJ3NWsrQllG?= =?utf-8?B?WCtIMkJFOVphQTk3NXZiLzdyejMrZjBzeWQ0ZGJDMDJjcjlvekpIcitBRFBM?= =?utf-8?B?c1JsN1VWSjh5azNpR3E1bHVFakZKS0xremNHUUdTNEl1NVpqaUdLWUlGSWpa?= =?utf-8?B?cjVpcms5ZkxjSm1QUXR0dkhjN3RYWjBMaFpZQ253QWRlRENSNWdIb1MrNHVh?= =?utf-8?B?RE5FdFpJTVRYUFB6WVEyZ2xVTVhTYlJJNFgwSnFHUmFmZytSdHljTUxVQ1ZB?= =?utf-8?B?RnMxUmtDSk1rYWZYcVd2T0RhM3FWZG1FbkNacVdYdU1qcklmVEJnd2xnSnYy?= =?utf-8?B?ODIxRXUydS9OdTdYNUJudUFCaC8zNmRXeWpBeHNwcmt5NVFZSmZMNWtyZHV0?= =?utf-8?B?eWtXNFl0MTdQRUljRWFWaXdTMlNLSWVIclREUUZkNTdVb0w0aUh5QndmT2Nu?= =?utf-8?B?YkEwOTBzS08ySFgzN2hMWlpvaG9QS1pwdTF3S215UHpxcDhPTmV2T0QzZ1Ix?= =?utf-8?B?N25wWlkwelF0YURwRUF1YU1ZcytSUGhEd0NBdWpndE9JdkpXOG9iTDFhYm5Y?= =?utf-8?B?TlU3SU5mU0UrMnArTG9tVTJEb3FPVnl6MkxkcDdheE9rWDhmZ3pIN1ZDc0dU?= =?utf-8?B?NWZFQmpEYXhGT0N2aURZMmdIRk1zamo2OWlhbnNHenBET2QwSjFZZk9hNTZ6?= =?utf-8?B?dGh1K2ZEYWJCc1Z3Q0VEZEY2ZmJHcUQ2eEVVZXJVbk9CTGJtV2NjTzBmQitX?= =?utf-8?B?a1FOV1FnUTFDaThUckhzSDhVanBSblZSRlo4U3J0QmRjVTMyaE9rbUNDVTdI?= =?utf-8?B?VGM1bncvSTBlRFpqVHR1c3FhdjlaOWdjaW5yYUh2WWlzaFZCV2JkNkFSZmhE?= =?utf-8?B?ZEovSGpNckJCQ3ZmeWo2YUpNYllxenMrbDlFTG0xc3J4MnNOd0pFTUNtVXAr?= =?utf-8?B?bE5kKzhjd09Rd3MyMHZCVTQ4OUxCUWdHS2ZBSjlDcE1uUVRNMDJKM1dGRzFI?= =?utf-8?B?eGZ1azU5enFQMEJVL0VpTEhTRmtuYmlldTdVTGl2a3QxL0xFTDdMNThJU2lM?= =?utf-8?B?NUFOUDA5MnBSOU5Tek1KeFpWZmJkaXNMc3BwZGtldkY1QlMrbDBCbTZ2a3ox?= =?utf-8?B?ZE8rYzJ3ekxRQjVQT3hUdTB5ZmYxWjNDWjRDZUVzQ1M1V0FEemtJK0NVWk1o?= =?utf-8?B?d2N1UjVRTWI0eXExUHNzUFR6YjhvdkU0aUNvOHo1dC93OTB1Y2gxN2JaRVZs?= =?utf-8?B?djc2ZWltQmlXLzdmSWczY3dQM0d6MDUyakpqbVgwOFdqazZpODdwNzhKU1VB?= =?utf-8?B?VjF1cjJzaHFEUTM1SWNvUVc3ZHczYlVyT0tDTXdIR3ovUHJTTElUcWtVMTlY?= =?utf-8?B?SGtNMlNpZmN6NmhzYW8za0hkbWFueFlJRDN4elhNY0h0ZjdZN3ZiQ3YwRkI5?= =?utf-8?B?YjJibkU3NXVCWmo2MkN4OUZHcW1lWXRDc3JRNWFTWmwwSktBV1V1dFU4M2dU?= =?utf-8?B?b0FyQ2lkem0vZEFwMHVlQnhVUXFmdDdMdjYrb3BXNGw1d0RWZGo4dkVyb1NP?= =?utf-8?B?a2RDVzRSMnYwVnVPaEJ6WVB5bGROMzdpdS9ZQTdOUmNoTW5qdDVDd2ZMMjlW?= =?utf-8?B?WkQ1bjdYWjByRk1TMk5zcGs5OUVlL1ROQmNnVXB0NTdZakpjUDJwTTF3YWR6?= =?utf-8?B?R2VVNU5iNTc2N0NiQ0JVeEt4T1A5aHNrdTBXM1BjN2ZxV1Y2OHloM21DZjdv?= =?utf-8?Q?vXRJF6Ghzok22zYy6+1MXxsFWlbgaVThxreEPSh?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR04MB4555.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(7416005)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YmZ3L0ZXUTNlTWFveDYwdXpmdERIWE56Tk1hdVZGV043ZW5RMEpwL3I5SkFw?= =?utf-8?B?RVdkSjlmWTRldHF5K0xqSW9MK2tRMEw3ek5saEtYYmh2RXBUVS9YOXVvR3lT?= =?utf-8?B?WWJtM1NjUDhtZUNKaFFNbjNscG1nbTZiNE5CMStuRlRXRkJXbVdSS0Rkdkpp?= =?utf-8?B?S1M0c0dlUjJGQ28zYndackNkSEZlRVU0eExMdDdtM1pneFdWR29jTTA2M05K?= =?utf-8?B?Y0NzbmF0SHB0NGZhUUMrWEZVTWpWVnFEY0htcGVRQmphREZQTy9aVGFndUN0?= =?utf-8?B?WWFTak0velBITFo4VkhBZHVPUGwvWHIwYnVZZlo2aUVZMGxyc1h3ZjhPRnBS?= =?utf-8?B?K3hVNGs1c1NTam14MkdsOWRzZ3kvWnh4cEJFc3RlVlNqWVpQN3U3ckhiMVBk?= =?utf-8?B?clpYWWdhVVBpWlZuaU1ZVjFBbUVTODBQYzJ2UlJLR3AvQjVVN1FkTXV6bm0y?= =?utf-8?B?QXRUVjZEUDlLT28vT2VNdWs0UXJDNjF5aWtPTU1jakpPdjNiQldsMnZZcU9l?= =?utf-8?B?eStLTkRCM0N3SVNVdHhIblY1SVBRejdGa2NyNWI0ZWpZUnpES2FramhaWmxD?= =?utf-8?B?d1lqYWJOdHphVXJUMkZZbVFwUTFBcUd6NkxYemQvbDRMY2JFSWRKa2s1ak9i?= =?utf-8?B?OTJFenNGbGYxZjkwbCt4c3lwRVVxeXBqQkhKNndHekJVS3RmYmVLZHVqajYw?= =?utf-8?B?M1BlakZGN21ZWTJ0V21CMUhZdG96ZXpvekpyVmVTZ1NYNnkxWmlLMzUvS1Jk?= =?utf-8?B?cUpseEs2TllVbUlFYUg4N0JSRWQxbFI3Mk8raTNSTHJUbmhrb01zVVJ6alg5?= =?utf-8?B?ZW1GbExGZzE2eVVFdEp3emhwWWo3cXFnbS96Nm9jRmRyVElMaEhOTVl3Zy9C?= =?utf-8?B?SlU5RkJHVGJZRzdIVlQ1cjZoM1ZYU2YySVlpWmZJNmpHU21HSHlBbzF2QkRY?= =?utf-8?B?WUMwVVNJREZGV2xmelN2RHoyQVZjbzNlS2pUOGNkYytzRlFmcFpnM2tRWnVv?= =?utf-8?B?SHlFWU1ub0FGdTVMdGZzeGkzZHAyVHIvTUtTaG5HTEtOdkFKNUVKdzN5RzQv?= =?utf-8?B?bTJsaW54aFZ6U0ZGZTF1Y0U5dkNFUXZ6ekk4dlNlS1ptT0lodXJLcTJHQXUx?= =?utf-8?B?bEUvb0xEdDRUWDhuTXJCN0tZd1FZcXdLTGpKZDJsUSsvbWdBRFdjVkoxUlZU?= =?utf-8?B?VXVrK1I0ajBoYnZTSFlLN0hlSXBaOHUzQWZNUEw0ZzFmMzVXdnQrUHIyaGFo?= =?utf-8?B?NkJ2U3lLUzZvZWJxOEJUWkZiNm1vcGh1cjRMYjZYdUs2b2FJbGttREJOOXFz?= =?utf-8?B?bnpCMVN5YUhNajdJdytKbExRZGw0S3ZaSzRuZmkzVzNlYXlGd2lsaTV5NkV3?= =?utf-8?B?Y0ltQW1wS3ZnVWFqbU0zbFhWTWxtcFhrRmxQQmVZaWRTWUphTXdaNVEwN291?= =?utf-8?B?Vk1iRCtDejZhNHVJRnQ5NGt5REJpTnlLb21PaW5makVSMmR1b0FQL0V2QXRh?= =?utf-8?B?V3A2akd0Z3FQbDVVMWlSVldvaUY0c3pyNHRyV3JIemZtOVYyc01WUTRxZTRh?= =?utf-8?B?dXc1U3ZNYVJkVHpmNDBIQ2pteU5mY3R2L25BazIwbHQzMmhKbHVOSDduc1V2?= =?utf-8?B?dWxuUEtnQkprMjREVFlpdTBSSWcwZ3BNUXJNdUJyaFJNM0UyQ3hUL05wUVEz?= =?utf-8?B?T3MxMzV0TzRYK01EOWpjR2xQTEdHTm5SRWU4eHRneG5TdnNYcmFad2hsNzNz?= =?utf-8?B?Z2Y1eXgzSTBTdUxBNFpkWUFuTzdwSk4zWHNWSXJuRnlDUGtXczJ2NFFObjkw?= =?utf-8?B?LytMc1hiUExVVkYycTdoc29ESUZiUHBDNUJicUZWaWpZNHNydGNRd0g2SGNY?= =?utf-8?B?ZmtSQU81NkJVKysySGFEWjhxWHFaYlR4S3orUSs5WE8zSEhmR0xOc0pBc3po?= =?utf-8?B?SnlOTTg5WVp4Ry85VXZlNCtBRm4wc2FVVzF1WjZpbkZROHZyallrOFJhUjZO?= =?utf-8?B?U0pRTEdSNzI0NllXT20vUE5HTi9JbG9nZUhidXNhSEpnR3p2VzEyL3AyRG8z?= =?utf-8?B?ZjY1QzVaRzFVMWN3RS94L0dDcjVVOFoxNC9LeHB4eW5ua1NyTzA2OU1FQ3Mr?= =?utf-8?B?M0d2U0hpOXhmb3RYWHNGc292TUk3aVNLdk1pdDJyTjRqb2UwbjJOc0hmck51?= =?utf-8?B?RWc9PQ==?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb89a444-5fe3-46d7-3d46-08dc86337a8a X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB4555.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2024 14:18:03.8846 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Fbbpwt+JdcpRLpIMW9pfFH8N41UbiB3fNcchAHD4wwJX2UkJEE2XevHKr2Qp19WL+M0yWetuFfgZ1gYaNFEcYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8345 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240606_071816_721586_42C0CF6A X-CRM114-Status: GOOD ( 47.75 ) 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 T24gVGh1LCBKdW4gMDYsIDIwMjQgYXQgMDQ6MzM6NThQTSArMDUzMCwgTUQgRGFuaXNoIEFud2Fy IHdyb3RlOgo+ID4+Pj4gK3N0YXRpYyB2b2lkIHRhc19yZXNldChzdHJ1Y3QgcHJ1ZXRoX2VtYWMg KmVtYWMpCj4gPj4+PiArewo+ID4+Pj4gKwlzdHJ1Y3QgdGFzX2NvbmZpZyAqdGFzID0gJmVtYWMt PnFvcy50YXMuY29uZmlnOwo+ID4+Pj4gKwlpbnQgaTsKPiA+Pj4+ICsKPiA+Pj4+ICsJZm9yIChp ID0gMDsgaSA8IFRBU19NQVhfTlVNX1FVRVVFUzsgaSsrKQo+ID4+Pj4gKwkJdGFzLT5tYXhfc2R1 X3RhYmxlLm1heF9zZHVbaV0gPSAyMDQ4Owo+ID4+Pgo+ID4+PiBNYWNybyArIHNob3J0IGNvbW1l bnQgZm9yIHRoZSBtYWdpYyBudW1iZXIsIHBsZWFzZS4KPiA+Pj4KPiA+Pgo+ID4+IFN1cmUgSSB3 aWxsIGFkZCBpdC4gRWFjaCBlbGVtZW50cyBpbiB0aGlzIGFycmF5IGlzIGEgMiBieXRlIHZhbHVl Cj4gPj4gc2hvd2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgZnJhbWUgdG8gYmUgYWxsb3dlZCB0 aHJvdWdoIGVhY2ggZ2F0ZS4KPiA+IAo+ID4gSXMgdGhlIHF1ZXVlTWF4U0RVW10gYXJyYXkgYWN0 aXZlIGV2ZW4gd2l0aCB0aGUgVEFTIGJlaW5nIGluIHRoZSByZXNldAo+ID4gc3RhdGU/IERvZXMg dGhpcyBjb25maWd1cmF0aW9uIGhhdmUgYW55IGltcGFjdCB1cG9uIHRoZSBkZXZpY2UgTVRVPwo+ ID4gSSBkb24ndCBrbm93IHdoeSAyMDQ4IHdhcyBjaG9zZW4uCj4gCj4gSSB0YWxrZWQgdG8gdGhl IGZpcm13YXJlIHRlYW0uIFRoZSB2YWx1ZSBvZiAyNDggaXMgYWN0dWFsbHkgd3JvbmcuIEl0Cj4g c2hvdWxkIGJlIHRoZSBkZXZpY2UgbXR1IG9ubHkgaS5lLiBQUlVFVEhfTUFYX01UVS4KClRoZXJl IHdhcyBhbm90aGVyIGNvbW1lbnQgYWJvdXQgdGhlIHZhbHVlIG9mIDAsIHNlbnQgc2VwYXJhdGVs eS4KCj4gPiBJZiB5b3UncmUgcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGFjdGl2ZSBzY2hlZHVsZSB3 aXRoIGEgc2hhZG93IG9uZSwgdGhlCj4gPiBJQ1NTR19FTUFDX1BPUlRfVEFTX0VOQUJMRSBjb21t YW5kIGlzbid0IG5lZWRlZCBiZWNhdXNlIHRoZSBUQVMgaXMKPiA+IGFscmVhZHkgZW5hYmxlZCBv biB0aGUgcG9ydCwgcmlnaHQ/IEluIGZhY3QgaXQgd2lsbCBiZSBzdXBwcmVzc2VkIGJ5Cj4gPiB0 YXNfc2V0X3N0YXRlKCkgd2l0aG91dCBldmVuIGdlbmVyYXRpbmcgYW4gZW1hY19zZXRfcG9ydF9z dGF0ZSgpIGNhbGwsCj4gPiByaWdodD8KPiA+IAo+IAo+IEFzIHRoaXMgcG9pbnQgVEFTIGlzIG5v dCBlbmFibGVkLiBUQVMgaXMgZW5hYmxlZCBvbiB0aGUgcG9ydCBvbmx5IHdoZW4KPiBJQ1NTR19F TUFDX1BPUlRfVEFTX0VOQUJMRSBpcyBzZW50LiBXaGljaCBoYXBwZW5zIGF0IHRoZSBlbmQgb2YK PiBlbWFjX3RhcHJpb19yZXBsYWNlKCkuCgoiSWYgeW91J3JlIHJlcGxhY2luZyBhbiBleGlzdGlu ZyBhY3RpdmUgc2NoZWR1bGUiID0+IGVtYWNfdGFwcmlvX3JlcGxhY2UoKQp3YXMgYWxyZWFkeSBj YWxsZWQgb25jZSwgYW5kIHdlJ3JlIGNhbGxpbmcgaXQgYWdhaW4sIHdpdGggbm8gZW1hY190YXBy aW9fZGVzdHJveSgpCmluIGJldHdlZW4uCgpUaGlzIGlzIGRvbmUgdXNpbmcgdGhlICJ0YyBxZGlz YyByZXBsYWNlIiBjb21tYW5kLiBZb3UgY2FuIGtlZXAgdGhlCm1xcHJpbyBwYXJhbWV0ZXJzIHRo ZSBzYW1lLCBqdXN0IGNoYW5nZSB0aGUgc2NoZWR1bGUgcGFyYW1ldGVycy4KVGhlIHRyYW5zaXRp b24gZnJvbSB0aGUgb2xkIHRvIHRoZSBuZXcgc2NoZWR1bGUgaXMgc3VwcG9zZWQgdG8gYmUKc2Vh bWxlc3MgYW5kIGF0IGEgd2VsbC1kZWZpbmVkIHRpbWUsIGFjY29yZGluZyB0byB0aGUgSUVFRSBk ZWZpbml0aW9ucy4KCj4gPj4gVGhlIGZvbGxvd2luZyB0aHJlZSBvZmZzZXRzIGFyZSBjb25maWd1 cmVkIGluIHRoaXMgZnVuY3Rpb24sCj4gPj4gMS4gVEFTX0FETUlOX0NZQ0xFX1RJTUUg4oaSIGFk bWluIGN5Y2xlIHRpbWUKPiA+PiAyLiBUQVNfQ09ORklHX0NIQU5HRV9DWUNMRV9DT1VOVCDihpIg bnVtYmVyIG9mIGN5Y2xlcyBhZnRlciB3aGljaCB0aGUKPiA+PiBhZG1pbiBsaXN0IGlzIHRha2Vu IGFzIG9wZXJhdGluZyBsaXN0Lgo+ID4+IFRoaXMgcGFyYW1ldGVyIGlzIGNhbGN1bGF0ZWQgYmFz ZWQgb24gdGhlIGJhc2VfdGltZSwgY3VyX3RpbWUgYW5kCj4gPj4gY3ljbGVfdGltZS4gSWYgdGhl IGJhc2VfdGltZSBpcyBpbiBwYXN0IChhbHJlYWR5IHBhc3NlZCkgdGhlCj4gPj4gVEFTX0NPTkZJ R19DSEFOR0VfQ1lDTEVfQ09VTlQgaXMgc2V0IHRvIDEuIElmIHRoZSBiYXNlX3RpbWUgaXMgaW4K PiA+PiBmdXR1cmUsIFRBU19DT05GSUdfQ0hBTkdFX0NZQ0xFX0NPVU5UIGlzIGNhbGN1bGF0ZWQg dXNpbmcKPiA+PiBESVZfUk9VTkRfVVBfVUxMKGJhc2VfdGltZSAtIGN1cl90aW1lLCBjeWNsZV90 aW1lKQo+ID4+IDMuIFRBU19BRE1JTl9MSVNUX0xFTkdUSCDihpIgTnVtYmVyIG9mIHdpbmRvdyBl bnRyaWVzIGluIHRoZSBhZG1pbiBsaXN0Lgo+ID4+Cj4gPj4gQWZ0ZXIgY29uZmlndXJpbmcgdGhl IGFib3ZlIHRocmVlIHBhcmFtZXRlcnMsIHRoZSBkcml2ZXIgZ2l2ZXMgdGhlCj4gPj4gdHJpZ2dl ciBzaWduYWwgdG8gdGhlIGZpcm13YXJlIHVzaW5nIHRoZSBSMzAgY29tbWFuZCBpbnRlcmZhY2Ug d2l0aAo+ID4+IElDU1NHX0VNQUNfUE9SVF9UQVNfVFJJR0dFUiBjb21tYW5kLgo+ID4+Cj4gPj4g VGhlIHNjaGVkdWxlIHN0YXJ0cyBiYXNlZCBvbiBUQVNfQ09ORklHX0NIQU5HRV9DWUNMRV9DT1VO VC4gVGhvc2UgY3ljbGVzCj4gPj4gYXJlIHJlbGF0aXZlIHRvIHRpbWUgcmVtYWluaW5nIGluIHRo ZSBiYXNlX3RpbWUgZnJvbSBub3cgaS5lLiBiYXNlX3RpbWUKPiA+PiAtIGN1cl90aW1lLgo+ID4g Cj4gPiBTbyB5b3UncmUgc2F5aW5nIHRoYXQgdGhlIGZpcm13YXJlIGV4ZWN1dGVzIHRoZSBzY2hl ZHVsZSBzd2l0Y2ggYXQKPiA+IAo+ID4gCW5vdyAgICAgICAgICAgICAgICAgICsgICAgICBUQVNf QURNSU5fQ1lDTEVfVElNRSAqIFRBU19DT05GSUdfQ0hBTkdFX0NZQ0xFX0NPVU5UIG5zCj4gPiAJ fn5+Cj4gPiAJdGltZSBvZiByZWNlcHRpb24gb2YKPiA+IAlJQ1NTR19FTUFDX1BPUlRfVEFTX1RS SUdHRVIKPiA+IAlSMzAgY29tbWFuZAo+ID4gCj4gPiA/Cj4gPiAKPiAKPiBJIHRhbGtlZCB0byB0 aGUgZmlybXdhcmUgdGVhbSBvbiB0aGlzIHRvcGljLiBTZWVtcyBsaWtlIHRoaXMgaXMgYWN0dWFs bHkKPiBhIGJ1ZyBpbiB0aGUgZmlybXdhcmUgZGVzaWduLiBUaGlzICpub3cqIGlzIHZlcnkgcmVs YXRpdmUgYW5kIGl0IHdpbGwKPiBhbHdheXMgaW50cm9kdWNlIGppdHRlciBhcyB5b3UgaGF2ZSBt ZW50aW9uZWQuCj4gCj4gVGhlIGZpcm13YXJlIG5lZWRzIHRvIGNoYW5nZSB0byBoYW5kbGUgdGhl IGJlbG93IHR3byBjYXNlcyB0aGF0IHlvdSBoYXZlCj4gbWVudGlvbmVkLgo+IAo+IFRoZSBzY2hl ZHVsZSBzaG91bGQgc3RhcnQgYXQgYmFzZS10aW1lIChnaXZlbiBieSB1c2VyKS4gSW5zdGVhZCBv Zgo+IHNlbmRpbmcgdGhlIGN5Y2xlIGNvdW50IGZyb20gbm93IHRvIGJhc2UtdGltZSB0byBmaXJt d2FyZS4gRHJpdmVyIHNob3VsZAo+IHNlbmQgdGhlIGFic29sdXRlIGN5Y2xlIGNvdW50IGNvcnJl c3BvbmRpbmcgdG8gdGhlIGJhc2UtdGltZS4gRmlybXdhcmUKPiBjYW4gdGhlbiBjaGVjayB0aGUg Y3VyciBjeWNsZSBjb3VudCBhbmQgd2hlbiBpdCBtYXRjaGVzIHRoZSBjb3VudCBzZXQgYnkKPiBk cml2ZXIgZmlybXdhcmUgd2lsbCBzdGFydCBzY2hlZHVsaW5nLgo+IAo+IGNoYW5nZV9jeWNsZV9j b3VudCA9IGJhc2UtdGltZSAvIGN5Y2xlLXRpbWU7Cj4gCj4gVGhpcyB3YXkgdGhlIGlycmVndWxh cml0eSB3aXRoICpub3cqIHdpbGwgYmUgcmVtb3ZlZC4gTm93IGV2ZW4gaWYgd2UgcnVuCj4gdGhl IHNhbWUgY29tbWFuZCBvbiB0d28gZGlmZmVyZW50IElDU1NHIGRldmljZXMod2hvc2UgY2xvY2tz IGFyZSBzeW5jZWQKPiB3aXRoIFBUUCksIHRoZSBzY2hlZHVsaW5nIHdpbGwgaGFwcGVuIGF0IHNh bWUgdGltZS4KPiAKPiBBcyB0aGUgY2hhbmdlX2N5Y2xlX2NvdW50IHdpbGwgYmUgc2FtZSBmb3Ig Ym90aCBvZiB0aGVtLiBTaW5jZSB0aGUKPiBjbG9ja3MgYXJlIHN5bmNlZCB0aGUgY3VycmVudCBj eWNsZSBjb3VudCAocmVhZCBmcm9tCj4gVElNRVNZTkNfRldfV0NfQ1lDTEVDT1VOVF9PRkZTRVQp IHdpbGwgYWxzbyBiZSBzYW1lIGZvciBib3RoIHRoZSBkZXZpY2VzCgpZb3UgY291bGQgcGFzcyB0 aGUgYWN0dWFsIHJlcXVlc3RlZCBiYXNlLXRpbWUgdG8gdGhlIGZpcm13YXJlLCBhbmQgbGV0CnRo ZSBmaXJtd2FyZSBjYWxjdWxhdGUgYSBjeWNsZSBjb3VudCBvciB3aGF0ZXZlciB0aGUgaGFyZHdh cmUgbmVlZHMuCk90aGVyd2lzZSwgeW91IGFkdmFuY2UgdGhlIGJhc2UtdGltZSBpbiB0aGUgZHJp dmVyIGludG8gd2hhdCB3YXMgdGhlCmZ1dHVyZSBhdCB0aGUgdGltZSwgYnV0IGJ5IHRoZSB0aW1l IHRoZSByMzAgY29tbWFuZCByZWFjaGVzIHRoZQpmaXJtd2FyZSwgdGhlIHBhc3NlZCBudW1iZXIg b2YgY3ljbGVzIGhhcyBhbHJlYWR5IGVsYXBzZWQuCgo+ID4gSSdtIG5vdCByZWFsbHkgaW50ZXJl c3RlZCBpbiBob3cgdGhlIGRyaXZlciBjYWxjdWxhdGVzIHRoZSBjeWNsZSBjb3VudCwKPiA+IGp1 c3QgaW4gd2hhdCBhcmUgdGhlIHByaW1pdGl2ZXMgdGhhdCB0aGUgZmlybXdhcmUgQUJJIHdhbnRz Lgo+ID4gCj4gPiBEb2VzIHRoZSByZWFkYl9wb2xsX3RpbWVvdXQoKSBjYWxsIGZyb20gdGFzX3Vw ZGF0ZV9vcGVyX2xpc3QoKSBhY3R1YWxseQo+ID4gd2FpdCB1bnRpbCB0aGlzIHdob2xlIHRpbWUg ZWxhcHNlcz8gSXQgaXMgdXNlciBzcGFjZSBpbnB1dCwgc28gaXQgY2FuCj4gPiBrZWVwIGEgdGFz ayB3YWl0aW5nIGluIHRoZSBrZXJuZWwsIHdpdGggcnRubF9sb2NrKCkgYWNxdWlyZWQsIGZvciBh IHZlcnkKPiA+IGxvbmcgdGltZSBpZiB0aGUgYmFzZV90aW1lIGlzIGZhciBhd2F5IGluIHRoZSBm dXR1cmUuCj4gPiAKPiAKPiByZWFkYl9wb2xsX3RpbWVvdXQoKSBjYWxsIGZyb20gdGFzX3VwZGF0 ZV9vcGVyX2xpc3QoKSB3YWl0cyBmb3IgZXhhY3RseQo+IDEwIG1zZWNzLiBEcml2ZXIgc2VuZCB0 aGUgdHJpZ2dlcl9saXN0X2NoYW5nZSBjb21tYW5kIGFuZCBzZXRzCj4gY29uZmlnX2NoYW5nZSBy ZWdpc3RlciB0byAxIChkZXRhaWxzIGluIHRhc19zZXRfdHJpZ2dlcl9saXN0X2NoYW5nZSgpKS4K PiBEcml2ZXIgd2FpdHMgZm9yIDEwIG1zIGZvciBmaXJtd2FyZSB0byBjbGVhciB0aGlzIHJlZ2lz dGVyLiBJZiB0aGUKPiByZWdpc3RlciBpcyBub3QgY2xlYXJlZCwgbGlzdCB3YXNuJ3QgY2hhbmdl ZCBieSBmaXJtd2FyZS4gRHJpdmVyIHdpbGwKPiB0aGVuIHJldHVybiBlcnIuCgpBbmQgdGhlIGZp cm13YXJlIGNsZWFycyB0aGlzIHJlZ2lzdGVyIHdoZW4/IFF1aWNrbHkgdXBvbiByZWNlcHRpb24g b2YKdGhlIFRBU19UUklHR0VSIGNvbW1hbmQsIG9yIGFmdGVyIHRoZSBUQVMgaXMgYWN0dWFsbHkg dHJpZ2dlcmVkIChhZnRlcgpjaGFuZ2VfY3ljbGVfY291bnQgY3ljbGVzKT8KCj4gPiAyLiBZb3Ug Y2Fubm90IGFwcGx5IGEgcGhhc2Ugb2Zmc2V0IGJldHdlZW4gdGhlIHNjaGVkdWxlcyBvbiB0d28g SUNTU0cKPiA+IGRldmljZXMgaW4gdGhlIHNhbWUgbmV0d29yay4KPiA+IAo+ID4gU2luY2UgdGhl cmUgaXMgYSBQSFktZGVwZW5kZW50IHByb3BhZ2F0aW9uIGRlbGF5IG9uIGVhY2ggbGluaywgbmV0 d29yawo+ID4gZW5naW5lZXJzIHR5cGljYWxseSBkZWxheSB0aGUgc2NoZWR1bGVzIG9uIHN3aXRj aCBwb3J0cyBhbG9uZyB0aGUgcGF0aAo+ID4gb2YgYSBzdHJlYW0uCj4gPiAKPiA+IFNheSBmb3Ig ZXhhbXBsZSB0aGVyZSBpcyBhIHByb3BhZ2F0aW9uIGRlbGF5IG9mIDgwMCBucyBvbiBhIHN3aXRj aCB3aXRoCj4gPiBiYXNlLXRpbWUgMC4gT24gdGhlIG5leHQgc3dpdGNoLCB5b3UgY291bGQgYWRk IHRoZSBzY2hlZHVsZSBsaWtlIHRoaXM6Cj4gPiAKPiA+IHRjIHFkaXNjIHJlcGxhY2UgZGV2IHN3 cDAgcGFyZW50IHJvb3QgdGFwcmlvIFwKPiA+IAludW1fdGMgOCBcCj4gPiAJbWFwIDAgMSAyIDMg NCA1IDYgNyBcCj4gPiAJcXVldWVzIDFAMCAxQDEgMUAyIDFAMyAxQDQgMUA1IDFANiAxQDcgXAo+ ID4gCWJhc2UtdGltZSA4MDAgXAo+ID4gCXNjaGVkLWVudHJ5IFMgMHg4MSAxMDAwMDAgXAo+ID4g CXNjaGVkLWVudHJ5IFMgMHgwMSA5MDAwMDAgXAo+ID4gCWZsYWdzIDB4MiBcCj4gPiAJbWF4LXNk dSAwIDAgMCAwIDAgMCAwIDc5Cj4gPiAKPiA+IFNhbWUgc2NoZWR1bGUsIHBoYXNlLXNoaWZ0ZWQg YnkgODAwIG5zLCBzbyB0aGF0IGlmIHRoZSBwYWNrZXQgZ29lcwo+ID4gdGhyb3VnaCBhbiBvcGVu IGdhdGUgaW4gdGhlIGZpcnN0IHN3aXRjaCwgaXQgd2lsbCBhbHNvIGdvIHRocm91Z2ggYW4KPiA+ IG9wZW4gZ2F0ZSB0aHJvdWdoIHRoZSBzZWNvbmQuCj4gPiAKPiA+IEFjY29yZGluZyB0byB5b3Vy IG93biBjYWxjdWxhdGlvbnMgYW5kIGV4cGxhbmF0aW9ucywgdGhlIGZpcm13YXJlIEFCSQo+ID4g bWFrZXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIGJhc2UtdGltZSAwIGFuZCBiYXNlLXRpbWUgODAw Lgo+ID4gCj4gCj4gSW4gdGhlIG5ldyBpbXBsZW1lbnRhdGlvbiBiYXNlLXRpbWUgMCBhbmQgYmFz ZS10aW1lIDgwMCB3aWxsIG1ha2UgYQo+IGRpZmZlcmVuY2UuIGFzIHRoZSBjaGFuZ2VfY3ljbGVf Y291bnQgd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZSBjYXNlcy4KPiBJbiBjYXNlIG9m IGJhc2UtdGltZSAwLCBjaGFuZ2VfY3ljbGVfY291bnQgd2lsbCBiZSAxLiBJbXBseWluZyBzY2hl ZHVsZQo+IHdpbGwgc3RhcnQgb24gdGhlIHZlcnkgbmV4dCBjeWNsZS4KPiAKPiBJbiBjYXNlIG9m IGJhc2UtdGltZSA4MDAsIGNoYW5nZV9jeWNsZV9jb3VudCB3aWxsIGJlIDgwMCAvIGN5Y2xlLXRp bWUuCgpJbiB0aGlzIGV4YW1wbGUsIGN5Y2xlLXRpbWUgaXMgKG11Y2gpIGxhcmdlciB0aGFuIDgw MCBucywgc28gODAwIC8gY3ljbGUtdGltZSBpcyAwLgpTaW1wbHkgcHV0LCBiYXNlLXRpbWUgMCBh bmQgYmFzZS10aW1lIDgwMCB3aWxsIHN0aWxsIGJlIHRyZWF0ZWQgZXF1YWxseSwKaWYgdGhlIGZp cm13YXJlIG9ubHkgc3RhcnRzIHRoZSBzY2hlZHVsZSB1cG9uIGludGVnZXIgbXVsdGlwbGVzIG9m IHRoZQpjeWNsZSB0aW1lLiBBIHVzZSBjYXNlIGlzIG9mZnNldHRpbmcgc2NoZWR1bGVzIGJ5IGEg c21hbGwgdmFsdWUsIHNtYWxsZXIKdGhhbiB0aGUgY3ljbGUgdGltZS4KClRoZSBiYXNlLXRpbWUg dmFsdWUgb2YgODAwIHNob3VsZCBiZSBhZHZhbmNlZCBieSB0aGUgc21hbGxlc3QgaW50ZWdlcgpt dWx0aXBsZSBvZiB0aGUgY3ljbGUtdGltZSB0aGF0IHNhdGlzZmllcyB0aGUgaW5lcXVhbGl0eQpu ZXctYmFzZS10aW1lID0gKGJhc2UtdGltZSArIE4gKiBjeWNsZS10aW1lKSA+PSBub3cuCgpZb3Ug Y2FuIHNlZSB0aGF0IGZvciB0aGUgc2FtZSB2YWx1ZSBvZiBOIGFuZCBjeWNsZS10aW1lLCBuZXct YmFzZS10aW1lCndpbGwgZGlmZmVyZW50IHdoZW4gYmFzZS10aW1lID0gMCB2cyB3aGVuIGJhc2Ut dGltZSA9IDgwMC4gVGFwcmlvCmV4cGVjdHMgdGhhdCBkaWZmZXJlbmNlIHRvIGJlIHJlZmxlY3Rl ZCBpbnRvIHRoZSBzY2hlZHVsZS4KCj4gPiBJbiB0aGlzIGNhc2UgdGhleSBhcmUgcHJvYmFibHkg Ym90aCBzbWFsbGVyIHRoYW4gdGhlIGN1cnJlbnQgdGltZSwgc28KPiA+IFRBU19DT05GSUdfQ0hB TkdFX0NZQ0xFX0NPVU5UIHdpbGwgYmUgc2V0IHRvIHRoZSBzYW1lICIxIiBpbiBib3RoIGNhc2Vz Lgo+ID4gCj4gCj4gSWYgY3ljbGUtdGltZSBpcyBsYXJnZXIgdGhlbiBib3RoIDAgYW5kIDgwMCB0 aGVuIHRoZSBjaGFuZ2VfY3ljbGVfY291bnQKPiB3b3VsZCBiZSAxIGluIGJvdGggdGhlIGNhc2Vz Lgo+IAo+ID4gQnV0IGV2ZW4gYXNzdW1pbmcgYSBmdXR1cmUgYmFzZS10aW1lLCBpdCBzdGlsbCB3 aWxsIG1ha2Ugbm8gZGlmZmVyZW5jZS4KPiA+IFRoZSBmaXJtd2FyZSBzZWVtcyB0byBvcGVyYXRl IG9ubHkgb24gaW50ZWdlciBtdWx0aXBsZXMgb2YgYSBjeWNsZS10aW1lCj4gPiAoaGVyZSAxMDAw MDAwKS4KPiAKPiBZZXMsIHRoZSBmaXJtd2FyZSB3b3JrcyBvbmx5IG9uIG11bHRpcGxlIG9mIGN5 Y2xlIHRpbWUuIElmIHRoZSBiYXNlLXRpbWUKPiBpcyBub3QgYSBtdWx0aXBsZSBvZiBjeWNsZSB0 aW1lLCB0aGUgc2NoZWR1bGluZyB3aWxsIHN0YXJ0IG9uIHRoZSBuZXh0Cj4gY3ljbGUgY291bnQu Cj4gCj4gaS5lLiBjaGFuZ2VfY3ljbGVfY291bnQgPSBjZWlsIChiYXNlLXRpbWUgLyBjeWNsZS10 aW1lKQo+ID4gU3VtbWFyaXplZCwgdGhlIGJsb2NraW5nIHByb2JsZW1zIEkgc2VlIGFyZToKPiA+ IAo+ID4gLSBGb3IgaXNzdWUgIzIsIHRoZSBkcml2ZXIgc2hvdWxkIG5vdCBsaWUgdG8gdGhlIHVz ZXIgc3BhY2UgdGhhdCBpdAo+ID4gICBhcHBsaWVkIGEgc2NoZWR1bGUgd2l0aCBhIGJhc2UtdGlt ZSB0aGF0IGlzbid0IGEgcHJlY2lzZSBtdWx0aXBsZSBvZgo+ID4gICB0aGUgY3ljbGUtdGltZSwg YmVjYXVzZSBpdCBkb2Vzbid0IGRvIHRoYXQuCj4gPiAKPiAKPiBZZXMsIEkgYWNrbm93bGVkZ2Ug aXQncyBhIGxpbWl0YXRpb24uIERyaXZlciBjYW4gcHJpbnQgInJlcXVlc3RlZAo+IGJhc2UtdGlt ZSBpcyBub3QgbXVsdGlwbGUgb2YgY3ljbGUtdGltZSwgc2VjaGVkdWxpbmcgd2lsbCBzdGFydCBv biB0aGUKPiBuZXh0IGF2YWlsYWJsZSBjeWNsZSBmcm9tIGJhc2UtdGltZSIuIEkgYWdyZWUgdGhl IGRyaXZlciBzaG91bGRuJ3QgbGllCj4gYWJvdXQgdGhpcy4gV2hlbmV2ZXIgZHJpdmVyIGVuY291 bnRlcnMgYSBiYXNlIHRpbWUgd2hpY2ggaXMgbm90IG11bHRpcGxlCj4gb2YgY3ljbGUtdGltZS4g SXQgY2FuIHN0aWxsIGRvIHRoZSBzY2hlZHVsaW5nIGJ1dCB0aHJvdyBhIHByaW50IHNvIHRoYXQK PiB1c2VyIGlzIGF3YXJlIG9mIHRoaXMuCgpJcyB0aGF0IGEgZmlybXdhcmUgb3IgYSBoYXJkd2Fy ZSBsaW1pdGF0aW9uPyBZb3UncmUgbWFraW5nIGl0IHNvdW5kIGFzCmlmIHdlIHNob3VsZG4ndCBi ZSBleHBlY3RpbmcgZm9yIGl0IHRvIGJlIGxpZnRlZC4KCj4gPiAtIEZvciBpc3N1ZSAjMSwgdGhl IGJpZ2dlciBwcm9ibGVtIGlzIHRoYXQgdGhlcmUgaXMgYWx3YXlzIGEKPiA+ICAgc29mdHdhcmUt aW5kdWNlZCBqaXR0ZXIgd2hpY2ggbWFrZXMgd2hhdGV2ZXIgdGhlIHVzZXIgc3BhY2UgaGFzCj4g PiAgIHJlcXVlc3RlZCBpcnJlbGV2YW50Lgo+ID4gCj4gCj4gQXMgYSBJIG1lbnRpb25lZCBlYXJs aWVyLCB0aGUgbmV3IGltcGxlbWVudGF0aW9uIHdpbGwgdGFrZSBjYXJlIG9mIHRoaXMuCj4gCj4g SSB3aWxsIHdvcmsgd2l0aCB0aGUgZmlybXdhcmUgdGVhbSB0byBnZXQgdGhpcyBmaXhlZC4gT25j ZSB0aGF0J3MgZG9uZSBJCj4gd2lsbCBzZW5kIGEgbmV3IHJldmlzaW9uLgo+IAo+IFRoYW5rcyBm b3IgYWxsIHRoZSBmZWVkYmFja3MuIFBsZWFzZSBsZXQgbWUga25vdyBpZiBzb21lIG1vcmUKPiBj bGFyaWZpY2F0aW9uIGlzIG5lZWRlZC4KCk9rLCBzbyB3ZSdyZSB3YWl0aW5nIGZvciBhIG5ldyBm aXJtd2FyZSByZWxlYXNlLCBhbmQgYSBjaGVjayBpbiB0aGUKZHJpdmVyIHRoYXQgdGhlIGZpcm13 YXJlIHZlcnNpb24gPj0gc29tZSBtaW5pbXVtIHJlcXVpcmVtZW50LCBlbHNlCi1FT1BOT1RTVVBQ PwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=