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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E9FACC4332F for ; Tue, 13 Dec 2022 09:27:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4D3AA8E0003; Tue, 13 Dec 2022 04:27:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4833E8E0002; Tue, 13 Dec 2022 04:27:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2AF4D8E0003; Tue, 13 Dec 2022 04:27:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 148198E0002 for ; Tue, 13 Dec 2022 04:27:56 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id DF764140D69 for ; Tue, 13 Dec 2022 09:27:55 +0000 (UTC) X-FDA: 80236756110.12.E5A6C60 Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01on2047.outbound.protection.outlook.com [40.107.114.47]) by imf27.hostedemail.com (Postfix) with ESMTP id D2C5B40005 for ; Tue, 13 Dec 2022 09:27:51 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=nec.com header.s=selector1 header.b=S26sH56M; spf=pass (imf27.hostedemail.com: domain of naoya.horiguchi@nec.com designates 40.107.114.47 as permitted sender) smtp.mailfrom=naoya.horiguchi@nec.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=nec.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670923673; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6z0seqDGiR4DttBcTXXfFXztf2WXVaW3Tem9vlbEcSY=; b=VfA8rCmJ5Wkf5Zl0pt3t+yh0aX/aLhzGiY/MSB+B9M6oQFvKYuq3A7oxj2iTKL9ZwoVMeO 192fz+0VoEBcInx8zo8LN6dXe5RQ1SigD2SXCzYFebvwgUQn8r7ZJ0fUQIYRSS0TVGpj5O HR2HWOda5gXiE3qLU4WdWimcYPpOA2c= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=nec.com header.s=selector1 header.b=S26sH56M; spf=pass (imf27.hostedemail.com: domain of naoya.horiguchi@nec.com designates 40.107.114.47 as permitted sender) smtp.mailfrom=naoya.horiguchi@nec.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=nec.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1670923673; a=rsa-sha256; cv=pass; b=4bfqBpqeQnk/k+wk+cbortdeN9NhgCarbhspw95FXgJESRjDAgc4PDNErbD4w1Wn3BGqUv j2K5im/ydJz1dm+ucpCRku4Q2hso5YXCWSO8R1MqpmZ6aOkgi03rguG51d5fr5rc8rMlgf DybkEen+2G+ZnPdGuN7LFHXlL3ahi6U= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JabvityaP2Y8A66pCZIeu3ULQxkC4GYc4x1qn94oqvzdGBV7bYV28h787gHYYuOUeE1khpHdeVzzyHHXxQ2VQIZ4IWV+poBvt29lxqs3ny8GjQb4c9sOvagzQepto8ggSsz0FgMvR+9XXOIXkAbSiXjVPmNqOZ/5iHr3OcWvr2oU8RxcG/Bild5YMvQEtP0HfMgP7R1c0FbRNmSEm3dKfMyL0xsMd/1f/gV/43rCiLoJ75RIzP5DzkRKzgG1UA9dVtNTRPF/vORZsfn0d8Yy5crCANa+7X3OBf2DQAEcOggflLjqW8ObDWwd+0jp+aRzaWR2BP7iRauGKVZpzR7Utw== 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=6z0seqDGiR4DttBcTXXfFXztf2WXVaW3Tem9vlbEcSY=; b=FAJqveUYdglIS+5Ty1pBoTYtMYv/zL2gYaV+81tub8Dkz6FHim4bs97oXxywNc0LVvSDL8j5sEqK3pMuEwDpvW1m5Ar2MKheqek0doyBPHv4aNCcxNUdLcBDbC1HJV1ia+XrXGL6SzRZF3KhdpLHtO1XVANyGd2+yTtKqAWPWVWOR8ztUH7dVyN7O8O3RAfp4TqVHGz+AQW+59pSZ14c4F1AyevtSAxIG+jFC+3hi2PWxu5zC4Z9ObZXBK2IhjNrA2xTydiI4E85OygEq9LrJT6zUYI75eYTmxBTGPZv9QhklYQs5bPEEFbQ3IoibIkur+MGk1nKslPRRtuwG3rLXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nec.com; dmarc=pass action=none header.from=nec.com; dkim=pass header.d=nec.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nec.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6z0seqDGiR4DttBcTXXfFXztf2WXVaW3Tem9vlbEcSY=; b=S26sH56Mlr+hwxzY9WRkqMLj14dLJHLFCENRhFBKk7XBzE7rKHJQVYauUtlAus//F6kFRtRtIV4QEgisxFjDgEXaW/6psAbqnL3XlB2g+iwsEaGtcrmnny6dDy2ESUhR+rOamrVfm4jwr81iTEPsjA7cF2tw5WOa6iNg9wxSaAY= Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com (2603:1096:400:13c::10) by OS3PR01MB9832.jpnprd01.prod.outlook.com (2603:1096:604:1ea::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec 2022 09:27:47 +0000 Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::8c61:6836:588:47aa]) by TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::8c61:6836:588:47aa%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022 09:27:47 +0000 From: =?utf-8?B?SE9SSUdVQ0hJIE5BT1lBKOWggOWPo+OAgOebtOS5nyk=?= To: David Rientjes CC: Jiaqi Yan , "Ghannam, Yazen" , "tony.luck@intel.com" , "dave.hansen@linux.intel.com" , "david@redhat.com" , "erdemaktas@google.com" , "pgonda@google.com" , "duenwen@google.com" , "Vilas.Sridharan@amd.com" , "mike.malvestuto@intel.com" , "gthelen@google.com" , "linux-mm@kvack.org" , "jthoughton@google.com" Subject: Re: [RFC] Kernel Support of Memory Error Detection. Thread-Topic: [RFC] Kernel Support of Memory Error Detection. Thread-Index: AQHY75xi2gotv3xeiEWGPGjQ44FwC65XGrWAgBSwYIA= Date: Tue, 13 Dec 2022 09:27:47 +0000 Message-ID: <20221213092743.GA1977915@hori.linux.bs1.fc.nec.co.jp> References: <20221103155029.2451105-1-jiaqiyan@google.com> <6bb93638-5702-076c-b72a-f33b39f35842@google.com> In-Reply-To: <6bb93638-5702-076c-b72a-f33b39f35842@google.com> Accept-Language: ja-JP, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYWPR01MB8591:EE_|OS3PR01MB9832:EE_ x-ms-office365-filtering-correlation-id: ecd21d59-c4e4-4bc3-c037-08dadcec4c05 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jA6NDlKA4J2DjCXHOI5hTvdEtqPz60OdBHhmSs6xsbNS2Mkjbc1U58cROTZR42zxusXM4MHUdAkuGJVALwstNDuhtiHP8x7EVFaxUXkG3kwR/h9xCVRkGDJc+s3L9Qd8+Q5WJ8dixyi4lmGI440QnkadE3aWEX4jKqJnGbwH1SJNy9LO3C7Ogp4HoOQg4QFh9rq23IQxz77svVPWdVHtT0+yN6V+htNCxwlPc1AdMbKaivi02SSMiWaLPH7UWsbNBItVqyEBZF0E7CnpOaZhyqnd+Z+G/d0RhsHCc/6J+aJxnsb8kOBiATkzom3uNzMKfKxQL6Im20JpMiQkgLLQ0DDm4mN5YG8OxNJUBeCGlIHbJ32ANU30qYq08yV6rhSaTMkY2D0HujEsig9Cpnh4pZODfu2I7DHKHCBz4onBcXKiDt3gJJVuOJQoCFVmJVlScz3uaXDXX8dH5ePHHOpi6WwHcRHe9n9EktTIIX8/wzM94bDySlJy0E/2TaRpq+LM4QgnXWrvuF2tP3XTqmdjrN6uylNYpv2limLpH8JXkSbGJUAJaGQsouW3onlcau36GltS02x6QOyySrT/qnq4l2kdSHaFDoXqgaRIcrI1d0y2UfcsCyryyK635K4c/+jTGH8t3+leq/hCxx1eCzcaOjdDK4Q2lvxayBtWfExeGqb8Nc2gZ/kyV4RWd/q34UvOAd3wSufox00lhkyNZKU/mQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWPR01MB8591.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(136003)(366004)(39860400002)(376002)(451199015)(38070700005)(5660300002)(7416002)(478600001)(71200400001)(8936002)(41300700001)(86362001)(66556008)(66946007)(6512007)(316002)(85182001)(38100700002)(122000001)(55236004)(82960400001)(6506007)(9686003)(54906003)(26005)(6486002)(186003)(8676002)(2906002)(66446008)(66476007)(76116006)(33656002)(64756008)(83380400001)(4326008)(6916009)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZmlGRXJVUXJrdU1VQmZTU3piMGJ6eFdEUVZ2TjM4Z2YycVd1blhEc1FybzZm?= =?utf-8?B?c3JxUTlwZnBwRUNqcnBGeHhMSjlBUDlDZDVneEVXT2NYRGhWek01QXJ3bzVN?= =?utf-8?B?MDNjMFozT1RGWmNqVXFWWTFEeC8yR3lCK0NEaHlPd3NIQkFjYnJxdlRTNllk?= =?utf-8?B?M3loWjdoM0ZRYndyQ2R1K1F5d0ZhampWazh6QnBnYy9ELzFqRXA5WWdGNk9H?= =?utf-8?B?U1ZXd2pYakJDNW1EZzJ5SVM4OC9saXh0TkhqNEd6SVFDbThiOEdpRXFIeEhs?= =?utf-8?B?U3BURjBkQjhSTjNFaElsVDhyWVlmMDA5cm9lYmc5VUg4QXhLMThEYy95WWky?= =?utf-8?B?bUg0VVlxcEVDOXNiRVd4VEJtWm12ZzZaMUhwWUQxV1kyTGZNbGNIanR4ZTEw?= =?utf-8?B?WWxlcVY2elcveStmTkVpT2hIRkVSZko2dHBKb2h5T3dRVk5WZGFCV0pxaFB2?= =?utf-8?B?QmFWcitGa3BLTTUyR2ZYeXE5dUdGU2EyMFpsZ1N3WXJSKzRLMkgyazhKenpp?= =?utf-8?B?a2tyQmZXZ245SldlRXhVZHMzekRrOXNUWkVObmcyaWdCMVJ3N2dvQnVpclkv?= =?utf-8?B?RjI4d0hZL2dvcnRLVmtXT0hSL2tDSzRPVGoxVzR3a1lkSlcvYU0yY1N5Zk81?= =?utf-8?B?eG1YVThrbDdROUd5S0ZJUk41Nlg0Z2pJWnJwS3p3clFoNjR3d2ZmeUM2Q21p?= =?utf-8?B?VTZMeUtLZUpKVzBoSG54Q2NCaXRKRmZnOTZkTnQ0Rm9JQW5jUE55UkNBK2g5?= =?utf-8?B?YjlzVnNWZTFTZzUrZTQxWklvbDBaQzFoMzZBYUFlNTFZV2F3MDZ1R3ZMU2lv?= =?utf-8?B?QnZNcStJTFNrVmpKbm9oR25RWnVOaytLTjdmRytIK0dkU1hTUmw0TE1yZys1?= =?utf-8?B?dThuY2lLUUlsSmh3dVBkV2lXV1NkWU91UitIMllReXR4SUFEbkZ0NVZjcm13?= =?utf-8?B?WGZVRTAydC9CcS9INHpQV1Q1VkdvbC9wMVlrRWx2R2ZyQUVMQjR2UEU4Yi9P?= =?utf-8?B?ZFFmS05pL1drcVpyT1BiaVJYem1SbVZRV0RiMmJLL2NZVTdWazhQbHV1VFU3?= =?utf-8?B?aHBjSEZCbGY4Z1pVeGZsN3VXaDAyRXNoVFpUczJla1BWaXlTQ2ZCaU1Pc3BZ?= =?utf-8?B?Z3FLL0p3MGZXNmZSTGJnZXIyUnp5YmY3cUVMRW1qNHVQOVdTVDdsUGRHMitq?= =?utf-8?B?bFgvbC9LRlBUMllRT25xSSs2QThFemRiNzJvRjFrakN0TkFlOWxVRzJFajh3?= =?utf-8?B?TVZlWU1vSEdZMnQ4d2VJVUlhZld4cmNYSXZVaHdKM0IrYnQvcERmZjhTS0Js?= =?utf-8?B?Mno0MDhKUDYrMGUzcStBVC9MUXVRbTQ2Y0JDbk8xZzdGUlJkVjJwekpiZHBw?= =?utf-8?B?dE41dnVPYlJJcW5hcURZMnZBVWJzV2R3TVJXcFVxdVA4UnVRM1ZiZjhrWnhS?= =?utf-8?B?dFFtZkg3VDdwV2RHbGcxUGxDQWtRWEpZdFdQTlQxV0FxYUZkem0wV1FvQkZ5?= =?utf-8?B?U0VnYWE2SjB5NThWTlRyV2hmaG81S0Rublhua0liSEpRbGdhRFV3Q3dyMXJt?= =?utf-8?B?cnF4TkJQcWoxSGdQR1ZyRkNpMkZJVzNPQ3poaTZRa2tncEI4Y2pLcG9PZnNt?= =?utf-8?B?TWNxSTF2M1lHTTlMQmp2YmFzWU15aEltcWFwN3N3L1B5OTJ4RUR4TEg5OHJH?= =?utf-8?B?VWpZd1F1a1JNY0pvOUM5T2ZIZk5WTXBjMWg1WG5LdUVXZlpKQnUxakFpeVEz?= =?utf-8?B?OTBrdVJ6Q1RIM1RndEg0dnAwRFFlMExuZllsaFdsd21zK2o4MVdWVVZ5dmwx?= =?utf-8?B?ckZPTytJMEpJc0w5L2V0WmlXR1FJSTg4K0Fodkh1US82TVhBTFVLQUxSQ1U5?= =?utf-8?B?MzBYRTZXc1JWOENEZ0xwRWthWVZPSW5GSTdQVnVudGs3RzhNRGZjN1Z2WTZE?= =?utf-8?B?L3RNaVRoUU9yYjVac0I4RC9PSGFnT3ZvR296VEVZSlFjQk9KZkpuZVk1VHMr?= =?utf-8?B?NVpXMFJHemU1T0poZVhDT2VVK05oM1VnalJqMms4UnJsZlZBZXRKQ052eFdi?= =?utf-8?B?VlVtOVV4STdRZ3BmbGRNZHo0aENQOTkzamtCbHJFVmxuUmVxa3JDTmp0YnEz?= =?utf-8?B?dmQ2VjhhUGVIMHo0alNmL3RWdVVMYWtpTHB4UDloeW9QZzkwNFdwaWZ4VVBz?= =?utf-8?B?TXc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <06CB4FED451FA04BBF2572B6B52F6FB9@jpnprd01.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nec.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYWPR01MB8591.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecd21d59-c4e4-4bc3-c037-08dadcec4c05 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 09:27:47.1871 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: e67df547-9d0d-4f4d-9161-51c6ed1f7d11 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CchSlkzBOaznm8tVA68MiI5TVQY3m/xs8+aam4+9pDaxmxVRKCu+AEljBFBR4EHk73Ww8SGyW4xRwfFC53s1/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9832 X-Stat-Signature: j7s1h7rdrkk9how65mk5g1m7pprc7mrb X-Rspam-User: X-Rspamd-Queue-Id: D2C5B40005 X-Rspamd-Server: rspam06 X-HE-Tag: 1670923671-965776 X-HE-Meta: U2FsdGVkX19mM9sqp9YBZgW/J/kcPRf7ZmX4QzXKb9YkcnwLM2zQ4vL32iGDY3CV4qhliOWPBaEMElwSF+JSRoxrwjz6u6vu5Up14MpFYp7xZj1MRhvuA1gwSHQvEE/aj0D7qEIsPal8y1GKOuNyoxcA+PmmTaTfhkAODPxTiC/WOhqRnwSk23/vpW1/YLnWCUeXw+fsFkrQXDIT5oCfHCgOYJpJ6GpTIE8MPrqIAuRHswPhmbH4kjIVCX7b3lPKwxig7qPowxg/kMICxL5PxEVbNmrJ6HPBOEqjzyWECP2PK3qkkHPQpc0iDxy/OjPfQN5iwyXeJJoUwQpchsZNzPjPqXtO8c5oSFbkfP+g79FngCtRxB0H2uxKP/bwntjttuRe704LrKmg7ZzcyKtN0hd4G0EA3iOBmlIiT0ueZmnUvEDKIedm4dKybVnjfp8B7TyZ+Tbygjhm8+D02w65pwkmfk7CMvtJVChvMNGoMPkqZJNjaiMNeHXBMqm0LUrlk0MyE9rdmr2JIrsPEda1lYgIZUEnWejp+xcn+tPMLx0iTZk3xpJfNb+eaUTVe7KtQ3erI0k/9h3u27ZpBnSVgdH+V6EeOBPPnxn3j/TqjITj9CPFa1QnTTZsaNMSHq5plQNv7VF/8csZSIp9SkECN+cOlBc2+3X9MaxjPAfs5JAMTkWiMzov9GTCsEYXyANIl+YeYQGqrQoiQfEdfxSsx217JCWtRx6Ag/az9yRu8yzMBSyY/RQXWGPLCrZnU6PWG9BRxWgfYNnWFfbH8ByCToBw4eibP3qIiaISk+YJV5bnJoEEHM81afYzSQYXqMFsfz19paut3NkD+b1U5V+YoNBk2oLx/85Yn67U5omWv0nZAMApP78i12dhQZYk4RRibk0msNhNO2rSJ/RhjEi7vVE0bfhrn/YtapUT0KwYobGLVm/hXazNXXhQe0Ss69UN X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: T24gVHVlLCBOb3YgMjksIDIwMjIgYXQgMDk6MzE6MTVQTSAtMDgwMCwgRGF2aWQgUmllbnRqZXMg d3JvdGU6DQo+IE9uIFRodSwgMyBOb3YgMjAyMiwgSmlhcWkgWWFuIHdyb3RlOg0KPiANCj4gPiBU aGlzIFJGQyBpcyBhIGZvbGxvd3VwIGZvciBbMV0uIFdl4oCZZCBsaWtlIHRvIGZpcnN0IHJldmlz aXQgdGhlIHByb2JsZW0NCj4gPiBzdGF0ZW1lbnQsIHRoZW4gZXhwbGFpbiB0aGUgbW90aXZhdGlv biBmb3Iga2VybmVsIHN1cHBvcnQgb2YgbWVtb3J5DQo+ID4gZXJyb3IgZGV0ZWN0aW9uLiBXZSBh dHRlbXB0IHRvIGFuc3dlciB0d28ga2V5IHF1ZXN0aW9ucyByYWlzZWQgaW4gdGhlDQo+ID4gaW5p dGlhbCBtZW1vcnktc2Nhbm5pbmcgYmFzZWQgc29sdXRpb246IHdoYXQgbWVtb3J5IHRvIHNjYW4g YW5kIGhvdyB0aGUNCj4gPiBzY2FubmVyIHNob3VsZCBiZSBkZXNpZ25lZC4gRGlmZmVyZW50IGZy b20gd2hhdCBbMV0gb3JpZ2luYWxseSBwcm9wb3NlZCwNCj4gPiB3ZSB0aGluayBhIGtlcm5lbC1k cml2ZW4gZGVzaWduIHNpbWlsYXIgdG8ga2h1Z2VwYWdlZC9rY29tcGFjdGQgd291bGQNCj4gPiB3 b3JrIGJldHRlciB0aGFuIHRoZSB1c2Vyc3BhY2UtZHJpdmVuIGRlc2lnbi4NCj4gPiANCj4gDQo+ IExvdHMgb2YgZ3JlYXQgZGlzY3Vzc2lvbiBpbiB0aGlzIHRocmVhZCwgdGhhbmtzIEppYXFpIGZv ciBhIHZlcnkgZGV0YWlsZWQgDQo+IG92ZXJ2aWV3IG9mIHdoYXQgaXMgdHJ5aW5nIHRvIGJlIGFk ZHJlc3NlZCBhbmQgdGhlIG11bHRpcGxlIG9wdGlvbnMgdGhhdCANCj4gd2UgY2FuIGNvbnNpZGVy Lg0KPiANCj4gSSB0aGluayB0aGlzIHRocmVhZCBoYXMgYmVlbiBhIHZlcnkgdXNlZnVsIHN0YXJ0 aW5nIHBvaW50IGZvciB1cyB0byANCj4gZGlzY3VzcyB3aGF0IHNob3VsZCBjb21wcmlzZSB0aGUg Zmlyc3QgcGF0Y2hzZXQuICBJIGhhdmVuJ3Qgc2VlbiBhbnkgDQo+IG9iamVjdGlvbnMgdG8gZW5s aWdodGVuaW5nIHRoZSBrZXJuZWwgZm9yIHRoaXMgc3VwcG9ydCwgYnV0IGFueSBhZGRpdGlvbmFs IA0KPiBmZWVkYmFjayB3b3VsZCBpbmRlZWQgYmUgdXNlZnVsLg0KPiANCj4gTGV0IG1lIHN1Z2dl c3QgYSBwb3NzaWJsZSB3YXkgZm9yd2FyZDogaWYgd2UgY2FuIGFncmVlIG9uIGFuIGtlcm5lbCBk cml2ZW4gDQo+IGFwcHJvYWNoIGFuZCBpdHMgZGVzaWduIGFsbG93cyBmb3IgaXQgdG8gYmUgZXh0 ZW5kZWQgZm9yIGZ1dHVyZSB1c2UgY2FzZXMsIA0KPiB0aGVuIGl0IHNob3VsZCBiZSBwb3NzaWJs ZSB0byBpbnRyb2R1Y2Ugc29tZXRoaW5nIGdlbmVyYWxseSB1c2VmdWwgdGhhdCANCj4gY2FuIHRo ZW4gYmUgYnVpbHQgdXBvbiBsYXRlciBpZiBuZWVkZWQuDQo+IA0KPiBJIGNhbiB0aGluayBhYm91 dCBhIGNvdXBsZSBmdXR1cmUgdXNlIGNhc2VzIHRoYXQgbWF5IGFyaXNlIHRoYXQgd2lsbCANCj4g aW1wYWN0IHRoZSBtaW5pbWFsIGRlc2lnbiB0aGF0IHlvdSBpbnRlbmQgdG8gaW50cm9kdWNlOiAo MSkgdGhlIGFiaWxpdHkgdG8gDQo+IGNvbmZpZ3VyZSBhIGhhcmR3YXJlIHBhdHJvbCBzY3J1YmJl ciBkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtLCBpZiANCj4gcG9zc2libGUsIGFzIGEgc3Vic3Rp dHV0ZSBmb3IgZHJpdmluZyB0aGUgc2Nhbm5pbmcgYnkgYSBrdGhyZWFkLCBhbmQgKDIpIA0KPiB0 aGUgYWJpbGl0eSB0byBzY2FuIGRpZmZlcmVudCB0eXBlcyBvZiBtZW1vcnkgcmF0aGVyIHRoYW4g YWxsIHN5c3RlbSANCj4gbWVtb3J5Lg0KPiANCj4gSW1hZ2luaW5nIHRoZSBzaW1wbGVzdCBwb3Nz aWJsZSBkZXNpZ24sIEkgYXNzdW1lIHdlIGNvdWxkIGludHJvdWNlIGENCj4gL3N5cy9kZXZpY2Vz L3N5c3RlbS9ub2RlL25vZGVOL21jZXNjYW4vKiBmb3IgZWFjaCBOVU1BIG5vZGUgb24gdGhlIHN5 c3RlbS4gIA0KPiBBcyBhIGZvdW5kYXRpb24sIHRoaXMgY2FuIGluY2x1ZGUgb25seSBhICJzdGF0 IiBmaWxlIHdoaWNoIHByb3ZpZGVzIHRoZSANCj4gaW50ZXJmYWNlIHRvIHRoZSBtZW1vcnkgcG9p c29uIHN1YnN5c3RlbSB0aGF0IGRlc2NyaWJlcyBkZXRlY3RlZCBlcnJvcnMgDQo+IGFuZCB0aGVp ciByZXNvbHV0aW9uICh0aGlzIHdvdWxkIGJlIGEgZ29vZCBzdGFydGluZyBwb2ludCkuDQo+IA0K PiBCdWlsZGluZyBvbiB0aGF0LCBhbmQgdXNpbmcgeW91ciByZWZlcmVuY2UgdG8ga2h1Z2VwYWdl ZCwgd2UgY2FuIGFkZCANCj4gcGFnZXNfdG9fc2NhbiBhbmQgc2Nhbl9zbGVlcF9taWxsaXNlY3Mg ZmlsZXMuICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gDQo+IGNvbnRyb2wgc2Nhbm5pbmcgb24gZGVt b3Rpb24gbm9kZXMgZGlmZmVyZW50bHkuICBXZSdkIHdhbnQgdGhlIGt0aHJlYWQgdG8gDQo+IGJl IE5VTUEgYXdhcmUgZm9yIHRoZSBtZW1vcnkgaXQgaXMgc2Nhbm5pbmcsIHNvIHRoaXMgd291bGQg c2ltcGx5IGNvbnRyb2wgDQo+IHdoZW4gZWFjaCB0aHJlYWQgd2FrZXMgdXAgYW5kIGhvdyBtdWNo IG1lbW9yeSBpdCBzY2FucyBiZWZvcmUgZ29pbmcgdG8gDQo+IHNsZWVwLiAgRGVmYXVsdHMgd291 bGQgYmUgZGlzYWJsZWQsIHNvIG5vIGt0aHJlYWRzIGFyZSBmb3JrZWQuDQo+IA0KPiBJZiB0aGlz IG5lZWRzIHRvIGJlIGV4dGVuZGVkIGxhdGVyIGZvciBhIGhhcmR3YXJlIHBhdHJvbCBzY3J1YmJl ciwgd2UnZCANCj4gbWFrZSB0aGlzIGEgcmVxdWVzdCB0byBjcHUgdmVuZG9ycyB0byBtYWtlIGNv bmZpZ3VyYWJsZSBvbiBhIHBlciBzb2NrZXQgDQo+IGJhc2lzIGFuZCB1c2VkIG9ubHkgd2l0aCBh biBBQ1BJIGNhcGFiaWxpdHkgdGhhdCB3b3VsZCBwdXQgaXQgdW5kZXIgdGhlIA0KPiBjb250cm9s IG9mIHRoZSBrZXJuZWwgaW4gcGxhY2Ugb2YgdGhlIGt0aHJlYWQgKHRoZXJlIHdvdWxkIGJlIGEg c2luZ2xlIA0KPiBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZSBzY2FuIGNvbmZpZ3VyYXRpb24pLiAg SWYgdGhpcyBpcyBub3QgcG9zc2libGUsIA0KPiB3ZSdkIGRlY291cGxlIHRoZSBzb2Z0d2FyZSBh bmQgaGFyZHdhcmUgYXBwcm9hY2ggYW5kIGNvbmZpZ3VyZSB0aGUgSFBTIA0KPiB0aHJvdWdoIHRo ZSBBQ1BJIHN1YnN5c3RlbSBpbmRlcGVuZGVudGx5Lg0KPiANCj4gU3Vic2VxdWVudGx5LCBpZiB0 aGVyZSBpcyBhIG5lZWQgdG8gb25seSBzY2FuIGNlcnRhaW4gdHlwZXMgb2YgbWVtb3J5IHBlciAN Cj4gTlVNQSBub2RlLCB3ZSBjb3VsZCBpbnRyb2R1Y2UgYSAidHlwZSIgZmlsZSBsYXRlciB1bmRl ciB0aGUgbWNlc2NhbiANCj4gZGlyZWN0b3J5LiAgSWRlYSB3b3VsZCBiZSB0byBzcGVjaWZ5IGEg Yml0bWFzayB0byBpbmNsdWRlIGNlcnRhaW4gbWVtb3J5IA0KPiB0eXBlcyBpbnRvIHRoZSBzY2Fu LiAgQml0cyBmb3IgdGhpbmdzIHN1Y2ggYXMgYnVkZHkgcGFnZXMsIHBjcCBwYWdlcywgDQo+IGh1 Z2V0bGIgcGFnZXMsIGV0Yy4NCj4gDQo+ICBbIEFuZCBpZiB1c2Vyc3BhY2UsIHBlcmhhcHMgbm9u LXJvb3QsIHdhbnRlZCB0byB0cmlnZ2VyIGEgc2NhbiBvZiBpdHMgb3duIA0KPiAgICB2aXJ0dWFs IG1lbW9yeSwgZm9yIGV4YW1wbGUsIGFub3RoZXIgZnV0dXJlIGV4dGVuc2lvbiBjb3VsZCBhbGxv dyB5b3UgDQo+ICAgIHRvIGV4cGxpY2l0bHkgdHJpZ2dlciBhIHNjYW4gb2YgdGhlIGNhbGxpbmcg cHJvY2VzcywgYnV0IHRoaXMgd291bGQgYmUgDQo+ICAgIGRvbmUgaW4gcHJvY2VzcyBjb250ZXh0 LCBub3QgYnkgdGhlIGt0aHJlYWRzLiBdDQo+IA0KPiBJZiB0aGlzIGlzIGRlZW1lZCBhY2NlcHRh YmxlLCB0aGUgbWluaW1hbCB2aWFibGUgcGF0Y2hzZXQgd291bGQ6DQo+IA0KPiAgLSBpbnRyb2R1 Y2UgdGhlIHBlci1ub2RlIG1jZXNjYW4gZGlyZWN0b3JpZXMNCj4gDQo+ICAtIGludHJvZHVjZSBh ICJzdGF0IiBmaWxlIHRoYXQgd291bGQgZGVzY3JpYmUgdGhlIHN0YXRlIG9mIG1lbW9yeSBlcnJv cnMNCj4gICAgb24gZWFjaCBOVU1BIG5vZGUgYW5kIHRoZWlyIGRpc3Bvc2l0aW9uDQo+IA0KPiAg LSBpbnRyb2R1Y2UgYSBwZXItbm9kZSBrdGhyZWFkIGRyaXZlbiBieSBwYWdlc190b19zY2FuIGFu ZA0KPiAgICBzY2FuX3NsZWVwX21pbGxpc2VjcyB0byBkbyBzb2Z0d2FyZSBjb250cm9sbGVkIG1l bW9yeSBzY2FubmluZw0KPiANCj4gQWxsIGZ1dHVyZSBwb3NzaWJsZSB1c2UgY2FzZXMgY291bGQg YmUgZXh0ZW5kZWQgdXNpbmcgdGhpcyBsYXRlciBpZiB0aGUgDQo+IGRlbWFuZCBhcmlzZXMuDQo+ IA0KPiBUaG91Z2h0cz8gIEl0IHdvdWxkIGJlIHZlcnkgdXNlZnVsIHRvIGFncmVlIG9uIGEgcGF0 aCBmb3J3YXJkIHNpbmNlIEkgDQo+IHRoaW5rIHRoaXMgd291bGQgYmUgZ2VuZXJhbGx5IHVzZWZ1 bCBmb3IgdGhlIGtlcm5lbC4NCg0KVGhhbmsgeW91IGZvciB0aGUgaWRlYXMsIHRoZSBhYm92ZSBs b29rcyB0byBtZSBzaW1wbGUgZW5vdWdoIHRvIHN0YXJ0IHdpdGguDQpJIHRoaW5rIHRoYXQgb25l IHBvaW50IG5vdCBtZW50aW9uZWQgeWV0IGlzIGhvdyB0aGUgaW4ta2VybmVsIHNjYW5uZXIgZmlu ZHMNCmEgYnJva2VuIHBhZ2UgYmVmb3JlIHRoZSBwYWdlIGlzIG1hcmtlZCBieSBQR19od3BvaXNv bi4gIFNvbWUgbWVjaGFuaXNtDQpzaW1pbGFyIHRvIG1jc2FmZS1tZW1jcHkgY291bGQgYmUgdXNl ZCwgYnV0IG1heWJlIG1lbWNweSBpcyBub3QgbmVjZXNzYXJ5DQpiZWNhdXNlIHdlIGp1c3Qgd2Fu dCB0byBjaGVjayB0aGUgaGVhbHRoaW5lc3Mgb2YgcGFnZXMuICBTbyBhIGNvcmUgcm91dGluZQ0K bGlrZSBtY3NhZmUtcmVhZCB3b3VsZCBiZSBpbnRyb2R1Y2VkIGluIHRoZSBmaXJzdCBwYXRjaHNl dCAob3Igd2UgYWxyZWFkeQ0KaGF2ZSBpdCk/DQoNClRoYW5rcywNCk5hb3lhIEhvcmlndWNoaQ==