Received: by 2002:a05:6359:322:b0:b3:69d0:12d8 with SMTP id ef34csp442366rwb; Wed, 10 Aug 2022 10:41:03 -0700 (PDT) X-Google-Smtp-Source: AA6agR5g4l7SyhBvDYt72mp/LgmMgGQGYVtwZISgswtrJxbBHd4LJWCiqFWbbTx66zKgKMwr3hAP X-Received: by 2002:a05:6402:3552:b0:43d:a634:3997 with SMTP id f18-20020a056402355200b0043da6343997mr26837631edd.389.1660153263568; Wed, 10 Aug 2022 10:41:03 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1660153263; cv=pass; d=google.com; s=arc-20160816; b=rQ9scVqqfbYqhnjiCHHPUkXwDW1DgjTtaVwWM/3CinY1jB/qm5cmx37yA4gFURPaot lEcdE2H/kL3CV7JelesUFh0KKeQLyqx+QCRps21WXjE5mZAWRP3JbydpqZHAOWFxGPqT Ha2ICf0oFyVI8W4Kxvn1NnS1QlKMyiDqnhIzsbyiaxsEW2S04EJ6lJkv5t6lfJhwjMj7 UZ1O9em9Begk4OIA/p0E0WKygriXqUTa9MOkM/Lh4wQ2TO9mkeN2mKUal/Vv8sWH2ROT QIUqhj5A5pbznob+Y4HSIW+GIMhP8DS3WP56WJHwTke7kTGZnzerJQjE2lkCDx7pvoA+ QgmA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=wa/wo2RR9X8LIg3uunm60/DDckV3FKxs8u4CofgUEwk=; b=n4EZdMjiHVPWwufRuTdtbOUNV9vhl7n6td0QJ1NuovK0SMX/osHdDTMEWmZ9IsCaY7 3Jk6peSRFY+A7V6TCuzwX7Mtxb2wO3IIe9HglVPrlzCf46vQFzysfVwYHuNIy68ny5Ud E4vT4Q5JtKN+gftQMGsJc38f53sNwAxNM6gILJVhTNOLxyVyUVjXj9yR+XRKpFD5N7YW FAlWOeCfNtb6xMaWOrdNqGXUM0YJMj21DHYnYV/pLsztei/QqMmg0pFMKlfMrHUvLNyP A1KyDqnYPHotmYZg0pK8l1BieOu/XKE3YAC4aBECWM2uYuoK0/M2gTo5tnBWr0Uzmbtx zozw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fb.com header.s=facebook header.b=px5TzWeG; arc=pass (i=1 spf=pass spfdomain=fb.com dkim=pass dkdomain=fb.com dmarc=pass fromdomain=fb.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=fb.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g1-20020a50d0c1000000b0043d67a7dd61si11745386edf.179.2022.08.10.10.40.38; Wed, 10 Aug 2022 10:41:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@fb.com header.s=facebook header.b=px5TzWeG; arc=pass (i=1 spf=pass spfdomain=fb.com dkim=pass dkdomain=fb.com dmarc=pass fromdomain=fb.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=fb.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233341AbiHJRPA (ORCPT + 99 others); Wed, 10 Aug 2022 13:15:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233155AbiHJRO7 (ORCPT ); Wed, 10 Aug 2022 13:14:59 -0400 Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A92C7A50F for ; Wed, 10 Aug 2022 10:14:57 -0700 (PDT) Received: from pps.filterd (m0109333.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27AGuUFO024500 for ; Wed, 10 Aug 2022 10:14:57 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=wa/wo2RR9X8LIg3uunm60/DDckV3FKxs8u4CofgUEwk=; b=px5TzWeGGuYa0lbGTblmbW6XfFeZzuXJi7OSHqfW2oaoW9do+RtQm3mvGEReGVVMOrIm 22k/J8aUQPgqbX2ksLRjFjJ7TqotDah3LYfMbBvkdUFJb5qKwx6fJKcsyUIX8dCxHyQE 0lt+xSGIlZmGCAJ/8B6s7lQKXS0BvWlP1O8= Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam02lp2049.outbound.protection.outlook.com [104.47.56.49]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3hvdb1a429-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 10 Aug 2022 10:14:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HqKrP8vTmnm1Mc6yAYZMEIPkCHxALZPa8dVLFwb0S1yxj5gNLMdI2RFYCjGyvwYr2P3sseyA1lzhpNi54Iug3h64B5fRx/jbyJlT5/sPR0exhI9+yhZFqUEiTb36zGyGotliylz0WdfASl5fi+BWF3uJyBA/9VsWUj1Py+3CrDBSbdhcRbab/eCTL5TT2kl2a7AjniLey7kRvFrDFJolDI1WewAFhvA/sKd1WHgmfvIHJlmscnqg4wJ+krnOqQalCu6ad7CrUm0uYGmu7ccdSEgwIDNKmwprTTK+HBp0W6i46eV+cI0AnoCY+FyGjYqXHUs+CCUeWU2BM8Qdt96xMQ== 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=wa/wo2RR9X8LIg3uunm60/DDckV3FKxs8u4CofgUEwk=; b=KxQP8LO13tMIEB1WCiOtMtW72hQxKt3t9pu87jRG6NUSPSaCKFnkEaa0UqdST5HL9ItZM6HbF23+isHhokF8EkJb2PqWZJqzrZPc1oUK1LNygIvtR93te7ECIStOkwSndMbMUS7RvfDjroj83uN/EId9k3CSGBVIZUsLcy8RXjmGMvjLTidyr5+Grjei4BZesljZwXL7PhyKIofxCuyVp12w0olhwqq0Z47gYjmIzSQU/nEWxVUWVFTzBT5iJ6jLJOBUZmYPNc2oD6v33LzVfzKvfHXEQJxmrJLlFGZadjB0dsyIz5hrbL4RDWd/ForyGsZdGYTXcvsg22ST8mUR0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none Received: from CY4PR15MB1781.namprd15.prod.outlook.com (2603:10b6:910:1f::13) by DM6PR15MB2812.namprd15.prod.outlook.com (2603:10b6:5:1a8::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Wed, 10 Aug 2022 17:14:37 +0000 Received: from CY4PR15MB1781.namprd15.prod.outlook.com ([fe80::351d:e6bc:a9e4:4118]) by CY4PR15MB1781.namprd15.prod.outlook.com ([fe80::351d:e6bc:a9e4:4118%12]) with mapi id 15.20.5525.011; Wed, 10 Aug 2022 17:14:37 +0000 From: "Alex Zhu (Kernel)" To: Yang Shi CC: Yu Zhao , Rik van Riel , Kernel Team , "linux-mm@kvack.org" , "willy@infradead.org" , "linux-kernel@vger.kernel.org" , "akpm@linux-foundation.org" , Ning Zhang Subject: Re: [PATCH v3] mm: add thp_utilization metrics to /proc/thp_utilization Thread-Topic: [PATCH v3] mm: add thp_utilization metrics to /proc/thp_utilization Thread-Index: AQHYqPrSmG3WqzybNUurgyMbb9mveq2gpnsAgAAD8ACAAAWRgIAAB5EAgASWfICAAAsqAIABevqAgAABMACAAGoqAIABJd4AgAAB+gA= Date: Wed, 10 Aug 2022 17:14:37 +0000 Message-ID: References: <20220805184016.2926168-1-alexlzhu@fb.com> <0b16dbac6444bfcdfbeb4df4280354839bfe1a8f.camel@fb.com> <1F8B9D85-A735-4832-AD58-CA4BD474248D@fb.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fa5528cd-eed2-4f43-e9f8-08da7af3cdd9 x-ms-traffictypediagnostic: DM6PR15MB2812:EE_ x-fb-source: Internal x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DTqxaXVJxzpwT6TBvh7mHr7P8pVXa4MC+osQslbaZimEIS9YFIqf+smJzOXMoS23jVsIkAU2I6uebUuQey/QiJ9iqP8ZpaAqKP8orjvk9EBz4U5ODh6NMfcfh6w2usn+YLuUH7CwCtFGmDjKVKpocrYuU9W9kXEL8BJ/naDOcXhbBkHGnYetKeVTvlZrSu1Kn3d8h7dE5JkkIO4eyMKmePLot5nj+K/8sjM0KeYzlotv4mmPKMTUocYODPJXo0etJzTUeCrrDcTU0lZccWzyISGIdperVxbGNrgrPkf7JCf/B9j5lLklkaiX3Fins/CJbN2yedpZwbqUU5ZHN5XjIEK3VQvWAoZqkzJRwYmWwnbllRF4EavMVmhiE1ox2SBdx0TDV836qTUvWaLuM8j8AXDekmFDwaRvjYkn/Fi9J0IEwuDCr1fBhptBGrKFbOrE8x//SFBh02pHLa4wMth7/nuCXVcKb1QoCSbcnKaIMcPcGbxgAFF35ciI5evL1drqBWzWXKpFhJZ4e3n2neVqFYznfGI4+jVzMcw/VxOeN4M5y7pc5IvVzFHhwQpSL1nQJPAEmgUFZHnMtf0fAEcD/3iEvBfUcRcO64+xdzJcCz8Ovv9Xi4KO720StVIgbcJnGv6cEDWRC0eGwQLJcwICBtlQjheBUDRXutHy0lDAM2L7GTP1ZQyj3hKtYVyPihp2y31woY4v24K7Y1Jtxl8TgmbSj9lQlK+2DzVHq5ni/y5IM+pcZ3DOw7gdpnp1HdeIAeOX+8JdbS6DG/d//reEGPt6vSt28ROUYT5ALndvmJL2ISjRrqAY+JPFPEBjlrRMJxV2G1vM7mnL8yged5G1NeGRIlK+EvMB2+QoYUP0haVBLIEWsgfbltRUAh4wiphtJ0MtEfNJCs4k2Xvt9K+yWw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR15MB1781.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(136003)(396003)(346002)(366004)(6486002)(66946007)(71200400001)(966005)(478600001)(66446008)(8676002)(4326008)(66556008)(38070700005)(91956017)(186003)(2616005)(66476007)(6916009)(76116006)(64756008)(316002)(54906003)(83380400001)(41300700001)(6512007)(6506007)(122000001)(2906002)(53546011)(38100700002)(8936002)(5660300002)(33656002)(86362001)(36756003)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZHB1WklGNUtxSWpHMkpDc2U3R1o1TVVOL3NaYWpJampGbklxTkFKbzVZRUlI?= =?utf-8?B?NFYvNDlmRzViQnBFMDlnQk02ZWhYRFpLTVNjSjZWN2t6YldWR1NFb1M4bm5W?= =?utf-8?B?S0tCWnpHc3I1cEkzcjh2QTJad1cxR01KUXAzZ3B5eGxob0lsSU5HRHpBaXcz?= =?utf-8?B?ZFNmNnpVS0ZURS9jRHFyWDFsUEpoWVBWZ2RZWk1rVnFSVmZNdkh1bk1pb1gw?= =?utf-8?B?Tkovald6UmpLQ3lCdndWSWY3OTM3cE1DU3ZNUWdROEFPRFZlYTkxRXdLajhx?= =?utf-8?B?bVVtanl6NnVIREJEdkdXNXRybC9WQ3FZd2tSWmwyalVKR1RQNCtpTzFIRnFl?= =?utf-8?B?bThDMFk0dHVxdWJIb2MxdE9yWXlMejFSeExrNG9Sai9yNGpmVGN4RXU3RHR0?= =?utf-8?B?L2JycUhna3I4YnZ3Z2JDVHRxRElHRC9CU2V3dHhjQjhjSDg4SVIwOEpnekY1?= =?utf-8?B?a2xXSXoxd0JnQUNvclB4NEorWGNWN1VrUmJoSCtKekYrZmJDRnNSc2RQQUZJ?= =?utf-8?B?RDF4TVFmQjI3Q0Z5L0FTdzVqMDgyQ1NOaVJ0LzBsRjV4NDFkcUVoR3huL1dQ?= =?utf-8?B?SVlGMCsyTHhUQ0Z1OUxmTjhuWUJlVjR4bGVmcHk3UytBUUlNNzNyK1Rkd2or?= =?utf-8?B?VG45Wml3NDNYS2tyTytoSTd0cEhLNWFNcW94Tkl6UzNJK1Rva2k5R2RJaHJ0?= =?utf-8?B?SUhqYWNqeDUwWFM1MUorVkVDdDh3THpiOTg1QVRtNDRwbzV2b21QRW4zN2NX?= =?utf-8?B?YkRUbHd0VCt1blZFT0UvYjVNbmdYNUNRcUlQMGF5ejFIa2MvNWt0QWlpdW42?= =?utf-8?B?MWhkb0FNeUtnMGE5TUc2SmtQMnhHSkN1YXhqLzB2SkZTQVM1U0R1dWZ4M3lO?= =?utf-8?B?eElSNlJSbWFjREpvL08rWVdLSm1WUzB0cmR6eUtXLzhkN0hVZVVUZnpidG4v?= =?utf-8?B?N0xrWXpwTEhYUHZWZDlFWlltNFQzUWd0Smg2R3pwUVJDTnNvRFJNRU5KZjl3?= =?utf-8?B?NWdUSXloYitZb3R0UTFSbU1FZjdBaXI3UVhzclJzT1lRcXB4T2FsaS9ING0r?= =?utf-8?B?dXRFSUZac2w0Zmo4SU12Q1lyM0ZjS3hHbnNQTjRmbmVUN0JOL2xtdG9sdDU1?= =?utf-8?B?N0xtd2tYVXlHRUMzbVk0N3dhR0ZMWSs1WHIxZExyL0ZRK3Q2WGpJVUlaOGJ4?= =?utf-8?B?d3FlbUZ2eSs2TmRNTm9tTDZJUDhZSTJ0Mk1teVZ6dFVFSkVCTjVvZmRoOGEr?= =?utf-8?B?TzE2dVpVL2pMNE1xbG9admpCb0dnNUdoTjlUZUwwOEFTWTJQT3AvenFubFJV?= =?utf-8?B?Sk05RzJiN3UwVHlxaU5PSGNGRzlHa29uTy84OFhaVWdsQUJoRHB0cUVnbEh6?= =?utf-8?B?azZ1QjAxL0doS2RUM0NvTGhtaE5YTzQ1MEdQVWNmd3dSTFE1QkMwTTEzWXJy?= =?utf-8?B?TDZ5djl5dFQzM2xyOHFaRUd4VHEzQUgxbWtqNkU1MjNJZ0ZwbUxuTXluK0w1?= =?utf-8?B?d2VIK1BSdGVENDFtbE5TSERoZGxYMTRxVTdlWWgxVFM5RTFiYktrYzhEUlRF?= =?utf-8?B?RElMR2VIU0NKRExWV2RYWFkrYkdvZnB4TlZkZlhTRFJGTzNYRkx1Mm0zaTNz?= =?utf-8?B?cFFhblFvUWo2T005Z3ZjcGQyelNhVDVOZkdzb0QwTDFFRGl1d2ovbzlLZFdk?= =?utf-8?B?L3ViaS8xR0FlWk5QOFEvKyt3TC9RK3VQZzRBenpvaFRiMWpkays5QjlxU0N3?= =?utf-8?B?UXdiNUJnTGVMRUNNcEJwQU8xOWR3eDhGRjBtakNuTGxoaEJSczdXWC9na3VI?= =?utf-8?B?YmR3SGJwVUkwYnRXeEFrN3hSa0Z2ejUxU0JxLy9GS3NMZ0dwUEdEdzhzQ2tQ?= =?utf-8?B?aWVScXRTRkt6bC9sOXg0QlZUOGRHNWZiMGxtdWxscitHS0ZiZ3NhZW9TeDdr?= =?utf-8?B?em53NFFoR3VrM0x1YmlNbk9LQnpoelVpSkFOU1JjRjIydHBPZmlUR2owUFll?= =?utf-8?B?cENOU3psYU41clg0bWdvVzgxb3ZiVitTRkNJRzYvQUJKOWNFYi9BYVJhSWY5?= =?utf-8?B?YVlMdE1ndFJXWmJUd3V3MlpSM2dUcXh5YTVhV3cxOUxaODhOVThlb1BMZjhS?= =?utf-8?B?T2lNaFNrVXdUQ3VQdk94Uk9SWVh3bDV2MEpOZ0QxN3hsNDJLaGhtZS9EeDZG?= =?utf-8?B?QXc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: X-OriginatorOrg: fb.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR15MB1781.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa5528cd-eed2-4f43-e9f8-08da7af3cdd9 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 17:14:37.4973 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rewjU5vUOtUpyPdZ086Iz9+PQVct77a9Nv7lIIvSa/cfVnz0FxAyxDIPtPgEpdqW X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR15MB2812 X-Proofpoint-GUID: Fo7VzOnXsYFJ6GsnjlFyIsTpe8WsTdP4 X-Proofpoint-ORIG-GUID: Fo7VzOnXsYFJ6GsnjlFyIsTpe8WsTdP4 Content-Transfer-Encoding: base64 X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-08-10_11,2022-08-10_01,2022-06-22_01 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQo+IE9uIEF1ZyAxMCwgMjAyMiwgYXQgMTA6MDcgQU0sIFlhbmcgU2hpIDxzaHk4MjgzMDFAZ21h aWwuY29tPiB3cm90ZToNCj4gDQo+IE9uIFR1ZSwgQXVnIDksIDIwMjIgYXQgNDozNiBQTSBZdSBa aGFvIDx5dXpoYW9AZ29vZ2xlLmNvbT4gd3JvdGU6DQo+PiANCj4+IE9uIFR1ZSwgQXVnIDksIDIw MjIgYXQgMTE6MTYgQU0gQWxleCBaaHUgKEtlcm5lbCkgPGFsZXhsemh1QGZiLmNvbT4gd3JvdGU6 DQo+Pj4gDQo+Pj4gDQo+Pj4+IE9LLCBpdCBpcyBoYXJkIHRvIHRlbGwgd2hhdCBpdCBsb29rcyBs aWtlIG5vdy4gQnV0IHRoZSBUSFBzIG9uIHRoZQ0KPj4+PiBkZWZlcnJlZCBzcGxpdCBsaXN0IG1h eSBiZSBvbiB0aGUgImxvdyB1dGlsaXphdGlvbiBzcGxpdCIgbGlzdCB0b28/DQo+Pj4+IElJVUMg dGhlIG1ham9yIGRpZmZlcmVuY2UgaXMgdG8gcmVwbGFjZSB6ZXJvLWZpbGxlZCBzdWJwYWdlIHRv IHNwZWNpYWwNCj4+Pj4gemVybyBwYWdlLCBzbyB5b3UgaW1wbGVtZW50ZWQgYW5vdGhlciBUSFAg c3BsaXQgZnVuY3Rpb24gdG8gaGFuZGxlIGl0Pw0KPj4+PiANCj4+Pj4gQW55d2F5IHRoZSBjb2Rl IHNob3VsZCBhbnN3ZXIgdGhlIG1vc3QgcXVlc3Rpb25zLg0KPj4+IA0KPj4+IFRoZXkgY2FuIGlu ZGVlZCBlbmQgdXAgb24gYm90aCBsaXN0cy4gVGhpcyBkaWQgaGF2ZSB0byBiZSBoYW5kbGVkIHdo ZW4NCj4+PiBpbXBsZW1lbnRpbmcgdGhlIHNocmlua2VyLg0KPj4+IA0KPj4+IFdlIGZyZWUgdGhl IHplcm8gZmlsbGVkIHN1YnBhZ2VzLCB3aGlsZSBtb2RpZnlpbmcgdGhlIGV4aXN0aW5nIHNwbGl0 X2h1Z2VfcGFnZSgpDQo+Pj4gZnVuY3Rpb24uIFdpbGwgZm9sbG93IHVwIHRoYXQgY2hhbmdlIGlu IGFub3RoZXIgcGF0Y2guDQo+PiANCj4+IEZZSS4gVGhpcyBzZXJpZXMgZG9lcyBpdDoNCj4+IA0K Pj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDIxMDczMTA2MzkzOC4xMzkxNjAyLTEteXV6 aGFvQGdvb2dsZS5jb20vDQo+PiANCj4+IEFuZCB0aGlzIG9uZToNCj4+IA0KPj4gaHR0cHM6Ly9s b3JlLmtlcm5lbC5vcmcvci8xNjM1NDIyMjE1LTk5Mzk0LTEtZ2l0LXNlbmQtZW1haWwtbmluZ3po YW5nQGxpbnV4LmFsaWJhYmEuY29tLw0KPiANCj4gVGhhbmtzLCBZdS4gSSB0b3RhbGx5IGZvcmdv dCBhYm91dCB0aGVzZSBzZXJpZXMuIEl0IGlzIHRpbWUgdG8gcmVmcmVzaA0KPiBteSBtZW1vcnku DQoNCkkgbG9va2VkIHRocm91Z2ggdGhlc2UgcGF0Y2hlcyB5ZXN0ZXJkYXkuIFRoZXJlIGFyZSBp bmRlZWQgcGFydHMgdGhhdCBhcmUgdmVyeSBzaW1pbGFyLCBidXQgdGhlIGFwcHJvYWNoDQp0YWtl biBzZWVtcyBvdmVybHkgY29tcGxpY2F0ZWQgY29tcGFyZWQgdG8gd2hhdCBJIGhhdmUgd3JpdHRl bi4gV2hhdOKAmXMgdGhlIHN0YXR1cyBvZiB3b3JrIG9uIHRoaXMgc2luY2UgbGFzdCB5ZWFyPyAg