Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3691404pxu; Tue, 8 Dec 2020 20:23:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJy/VZ0b41iOOhr5L/7snshS2DovPUkxWMBzDyUBCrAfkym+DYzWeTMguoUQ7wAGrIeQzSgz X-Received: by 2002:a50:fc13:: with SMTP id i19mr305529edr.281.1607487795607; Tue, 08 Dec 2020 20:23:15 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o25si123393ejg.728.2020.12.08.20.22.49; Tue, 08 Dec 2020 20:23:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@fb.com header.s=facebook header.b=Yg6wWH6z; dkim=neutral (body hash did not verify) header.i=@fb.onmicrosoft.com header.s=selector2-fb-onmicrosoft-com header.b="GF/bsK6d"; arc=fail (body hash mismatch); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1727050AbgLIESh (ORCPT + 99 others); Tue, 8 Dec 2020 23:18:37 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:64822 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726303AbgLIESh (ORCPT ); Tue, 8 Dec 2020 23:18:37 -0500 Received: from pps.filterd (m0001303.ppops.net [127.0.0.1]) by m0001303.ppops.net (8.16.0.43/8.16.0.43) with SMTP id 0B94HdTD023098; Tue, 8 Dec 2020 20:17:45 -0800 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=G96tJvVakaHqeCgEMJzkE3GpcoUeIzotDdBpSxSuNwM=; b=Yg6wWH6z5124M0Q7EFpsmQfO3EJe7C8mTu9R3W0Pv7rwKu2l8JphH/ciffkIS/3hKE/U NHJVxgI2JsPOwfh1RaP6GsWvN2GzIwXDeUURx5PLUhX7oxekwITWbNz2WE7KZnWS3a8Q zpWpcqsGy+fvSjYjNtWaf7eogpg9RxG62hQ= Received: from maileast.thefacebook.com ([163.114.130.16]) by m0001303.ppops.net with ESMTP id 35882fypma-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 08 Dec 2020 20:17:45 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (100.104.31.183) by o365-in.thefacebook.com (100.104.35.175) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Tue, 8 Dec 2020 20:17:44 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OpEmrX/I5itcCX6l/bLijbt1Azi97ChdF6u1qTgkXh9Eg6iobVMJl+/q2+EGHN1lttBx7LaEdWsF/uPkHH+Hh0Bv77aN6i5tiL7jwktfWARKWOk5RFM5eVSTjZVh6KScPb28xE8Vk3D67OXs6vIYHjgkgJFaxzolaxkoldVg/qM8b8bhA3cNkCg3q17vR1aQtJ5DwaL7PLrZ1lLvR+83mUcv4ECDWN2NNjKhnPGEp/Fw7Si4Qxm7u/FL9gJWKvBPd4T/0olPPPZ4gIRlxNPASgDtp94tb7j+7sIgNvn0DXYP6H9Rnh2ls4tPgK+qYTqSK0lDeoQSZVN9Qruo205qDw== 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-SenderADCheck; bh=DlW8WQli+UAFUg4La7Qv9WQKtFQskkztTcWZjFBd0Z4=; b=UH35rpvqhMrr2ZOrMir5u7GcEt0ePVbhB26Rg3ysnYv7J38bN3jiVkRGVF436ylHJUlWBjsOMJz9vXthQ4OJHtDG+0Lo4tCsv43CfXIymI/x6FA6o4UrC27VWNa9KbD3uKLfRLtxT9bOaV3GnH1NSsJdpy/icy7942J6uXNaFImD3LV9QPWK9pApMUwU03A9HahSJOF79Zix+BgZfjGSegywgVhlElX/hOAPWHw3V8GWAtpiqH92oETWzV9A7uyIsI+yF5bRenml6vJwcheR6dX4QUCcSgztLRFaaEa0fBR6P4tKXjzIVocLTDa5ROdehTuco9FGqdg0lv2IIIp0Hg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector2-fb-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DlW8WQli+UAFUg4La7Qv9WQKtFQskkztTcWZjFBd0Z4=; b=GF/bsK6dvTxBOeXtUylbOpDFHJHw3tlm8BVWFxB+RyFhhWeiLEUGsB7sO0BHnKDVDYt3JKs9BClPdcXeSMvVh1YMaJurbibeAAGL8jUXGjZSFpQnfJpk6AsmgHebXkDrVT5qSORWfOodmtc7MXwZDnPssJYKIEEmf3GoG6ghQ54= Received: from BYAPR15MB2999.namprd15.prod.outlook.com (2603:10b6:a03:fa::12) by BY5PR15MB3713.namprd15.prod.outlook.com (2603:10b6:a03:1f8::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Wed, 9 Dec 2020 04:17:43 +0000 Received: from BYAPR15MB2999.namprd15.prod.outlook.com ([fe80::f49e:bdbb:8cd7:bf6b]) by BYAPR15MB2999.namprd15.prod.outlook.com ([fe80::f49e:bdbb:8cd7:bf6b%7]) with mapi id 15.20.3654.012; Wed, 9 Dec 2020 04:17:42 +0000 From: Song Liu To: Matthew Ruffell , Xiao Ni CC: linux-raid , Song Liu , lkml , Coly Li , Guoqing Jiang , "khalid.elmously@canonical.com" , Jay Vosburgh Subject: Re: PROBLEM: Recent raid10 block discard patchset causes filesystem corruption on fstrim Thread-Topic: PROBLEM: Recent raid10 block discard patchset causes filesystem corruption on fstrim Thread-Index: AQHWzd3nQ9ev8wV9uUaN5qap82J25anuKLyA Date: Wed, 9 Dec 2020 04:17:42 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.4) authentication-results: canonical.com; dkim=none (message not signed) header.d=none;canonical.com; dmarc=none action=none header.from=fb.com; x-originating-ip: [2620:10d:c090:400::5:d023] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ebddb333-78ed-42d9-f2d5-08d89bf95fd4 x-ms-traffictypediagnostic: BY5PR15MB3713: x-microsoft-antispam-prvs: x-fb-source: Internal x-ms-oob-tlc-oobclassifiers: OLM:1751; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JSOVGD3Oe9yBMcwgr2n9CzLpU17S0SrocBq5D6jqOFjb7gXjlkldFjDzqcUgGMVil4OKB4uR5CuwgtrQcnKT5ENF2apSZTN1WKS6MwbkSDQxS+rifLPBCZAohtoTPiRANnQg2H8hnyXYibzTqZZ5oI6ht3f6XEV+3LeDaBoCxLEkfeFK6I6SkH3IigEU7orXsNo8QKheyDmDP7c909NA8sl5od75eJfHNTq9ftK9SX7qk/beDLdzR/DTp36QLftxWugTA+VgG+29JCM0DcBOX5z6mcNbYX2pAtDSfAWmsUDdvjhF0ZYyNh1gCCN6C+OreQ/T9O4nUQlE0+GSiCx2b3wibemmzAA1X1Mn/cLGbJa3QnZsoa5CXssS6UCtyYoZ4jfd8V9bvlxTD3gth6yT/GrLFZcOMDEguWgkikYNewJU6uFRPwe3oQahgA8g6dIz2z1KJr/P8HCndym2Q34WIQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR15MB2999.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(346002)(376002)(86362001)(64756008)(76116006)(8676002)(5660300002)(83380400001)(2906002)(508600001)(33656002)(110136005)(91956017)(36756003)(6486002)(966005)(66556008)(2616005)(8936002)(6506007)(66946007)(186003)(66446008)(6512007)(53546011)(4326008)(66476007)(71200400001)(54906003)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?UHpqUzZIMStBeUJxd2ZmVjQ2eDdkdU16VzFReThCaTFXb1FrdzVYNk92OXNY?= =?utf-8?B?bDlpcTR4UE1tdTZ3ZVUzZHVtNlJzNTM4cmp3R0tzWWVoSjFoSUs2ZllSdjlp?= =?utf-8?B?dVhLOHlEcXZQTXpZN20wRVUvaG5pd2NxRis3MlNSSjcrZ2JNcFN4WXIrQU5Y?= =?utf-8?B?QnhCc0o3SFZzbnQrWksyNGZ1KzRPWkRlT0xVLyt3R2xGVVUveWlYUzBtbXh1?= =?utf-8?B?LzZ3dmIyQXI3SnRaTWM0a05RZEVRemk5MjlsclhHczJUNTBiUEdRTjZqK3Zq?= =?utf-8?B?bU9yeUVUSE1RdklxZjVWbEx5d3RWUFQ3OE9Ob1BKUXRUUWVZeU5id3d6eDhN?= =?utf-8?B?V1NGSnhnZU1hWXdKR1BGWE9oUnlXK0xDQzRudUlUYnh5d0wrQ0VIVHdST2R1?= =?utf-8?B?WWRlR2lmbE1zNHp1ajhLU0U1VS9DT3l4Q1BZU3lKb1VpZS8rbU5IZUhLSU5P?= =?utf-8?B?TXVEdnBteHRmeEhPbTZQdVZSek1idlE5clduZTd3R1FIQW5VU3JXU05RWThn?= =?utf-8?B?bnR6R1pxQVRBbjl0RGRsT3gxTlJOVDFEWmIvSkVhc1RSWG50dVhnWDl4dkVW?= =?utf-8?B?bTZwbm1rQ053OWF2eE45OHIrY2NKdzBIWWZISVZzMFczd1dOdTdqWUhtZnJo?= =?utf-8?B?Ly94WU93ZW5razNXR3l0YXFQMXc2SWlNdUxjekQvN0pPSU5rSkpUSnFZWi9n?= =?utf-8?B?d2tCTDBHREE3VCtTWGhMRnYzREc2clpyYXEyZXhqWE41SnFaQkxOZ3lETmN4?= =?utf-8?B?ekxycTRLSURESFJYWVBWUmwrTlFXMDJQbVpEanFkbDNnT3U4U0lYbGx1TmMr?= =?utf-8?B?d3JKeGg4UVo0ZVdnZldZY25wTEJaZE9rNEp5VHZXckdoR0VjdTFQVjNMbDNm?= =?utf-8?B?YXlBMXZ6T25LTjJqMzRqeUE3b09hYmNyVUR2ZWF1VU1zR1NHUzh2a244UWY5?= =?utf-8?B?NjkzYlZCeG01dTJwRk5lWDhvTTE5VytWT21aNmd0bzF1RDZXQTRlbURzN2RG?= =?utf-8?B?YklDUGtGQlRRWGx4ckpZQ3lteFNTWCsxcCtLUW5TeWtESkFsVGxOa0pRb3kw?= =?utf-8?B?Y1k3Q3B0VHcxbCtaSHM3bW5kTGRqRUZDL0M0UFFuMFc5OVZnL3pVQVZVQlhL?= =?utf-8?B?TlFPc2tEUjJaVHQyNGdENVpyWGFJZmFJZFRCS3lXSHZxSUxBcVZDRkZ6a1k0?= =?utf-8?B?NndScGxDa2wwakNwZnBocVQ4RDI2Y21uNXJFUDY2QVlzMWM0TDlRczZGUjUr?= =?utf-8?B?RTFmOXR3YkE5UTAvcWt4aHpxVEIwb2JpcnZRbTNaTEZJcUY3OVJ2anVPN0p6?= =?utf-8?B?NXdLQkVSb29HaTIzV0R4MUdQanhtZ1VrZFJXTS9FWlFFamIzZXBUc2E2UEV4?= =?utf-8?Q?i8d6mGAFP6RbJUC8Ti11dH71SoHpOtuU=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR15MB2999.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ebddb333-78ed-42d9-f2d5-08d89bf95fd4 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2020 04:17:42.8319 (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: Y6K9WbbUlL3mF/uVjOsATC5n6hJY7HUnHbt8wI/2cz0RQse1thYAuffZMDMNscqm0av5Jx9AEA9uEVDOtBaI9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR15MB3713 X-OriginatorOrg: fb.com Content-Transfer-Encoding: base64 X-Proofpoint-UnRewURL: 1 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343,18.0.737 definitions=2020-12-09_03:2020-12-08,2020-12-09 signatures=0 X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 malwarescore=0 spamscore=0 phishscore=0 mlxlogscore=999 clxscore=1011 adultscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 impostorscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012090029 X-FB-Internal: deliver Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgTWF0dGhldywgDQoNCj4gT24gRGVjIDgsIDIwMjAsIGF0IDc6NDYgUE0sIE1hdHRoZXcgUnVm ZmVsbCA8bWF0dGhldy5ydWZmZWxsQGNhbm9uaWNhbC5jb20+IHdyb3RlOg0KPiANCj4gSGVsbG8s DQo+IA0KPiBJIHJlY2VudGx5IGJhY2twb3J0ZWQgdGhlIGZvbGxvd2luZyBwYXRjaGVzIGludG8g dGhlIFVidW50dSBzdGFibGUga2VybmVsczoNCj4gDQo+IG1kOiBhZGQgbWRfc3VibWl0X2Rpc2Nh cmRfYmlvKCkgZm9yIHN1Ym1pdHRpbmcgZGlzY2FyZCBiaW8NCj4gbWQvcmFpZDEwOiBleHRlbmQg cjEwYmlvIGRldnMgdG8gcmFpZCBkaXNrcw0KPiBtZC9yYWlkMTA6IHB1bGwgY29kZXMgdGhhdCB3 YWl0IGZvciBibG9ja2VkIGRldiBpbnRvIG9uZSBmdW5jdGlvbg0KPiBtZC9yYWlkMTA6IGltcHJv dmUgcmFpZDEwIGRpc2NhcmQgcmVxdWVzdA0KPiBtZC9yYWlkMTA6IGltcHJvdmUgZGlzY2FyZCBy ZXF1ZXN0IGZvciBmYXIgbGF5b3V0DQo+IGRtIHJhaWQ6IGZpeCBkaXNjYXJkIGxpbWl0cyBmb3Ig cmFpZDEgYW5kIHJhaWQxMA0KPiBkbSByYWlkOiByZW1vdmUgdW5uZWNlc3NhcnkgZGlzY2FyZCBs aW1pdHMgZm9yIHJhaWQxMA0KDQpUaGFua3MgZm9yIHRoZSByZXBvcnQhDQoNCkhpIFhpYW8sIA0K DQpDb3VsZCB5b3UgcGxlYXNlIHRha2UgYSBsb29rIGF0IHRoaXMgYW5kIGxldCBtZSBrbm93IHNv b24/IFdlIG5lZWQgdG8gZml4IA0KdGhpcyBiZWZvcmUgNS4xMCBvZmZpY2lhbCByZWxlYXNlLiAN Cg0KVGhhbmtzLA0KU29uZw0KDQo+IA0KPiBhbmQgdGhpcyBtb3JuaW5nLCBhIHVzZXIgcmVwb3J0 ZWQgdGhlIGZvbGxvd2luZyBkb3duc3RyZWFtIGJ1ZzoNCj4gDQo+IGh0dHBzOi8vYnVncy5sYXVu Y2hwYWQubmV0L3VidW50dS8rc291cmNlL2xpbnV4LytidWcvMTkwNzI2Mi8gDQo+IA0KPiBUaGVp ciB3ZWVrbHkgY3JvbmpvYiB0aGF0IHJ1bnMgZnN0cmltIGhhZCBydW4sIGFuZCB0aGVpciByYWlk MTAgYXJyYXkgaGFzDQo+IGV4dGVuc2l2ZSBkYXRhIGNvcnJ1cHRpb24uIA0KPiANCj4gVGhlIGlz c3VlIGlzIHJlcHJvZHVjaWJsZSBvbiB0aGUgbGF0ZXN0IDUuMTAtcmM3IG1haW5saW5lIGtlcm5l bCwgc3RlcHMgYXJlDQo+IGJlbG93Lg0KPiANCj4gSSB1c2VkIGEgbTVkLjR4bGFyZ2UgaW5zdGFu Y2Ugb24gQVdTIHRvIHVsdGlsaXNlIDJ4IDMwMEdCIFNTRHMgdGhhdCBzdXBwb3J0DQo+IGJsb2Nr IGRpc2NhcmQuIFlvdSB3aWxsIHdhbnQgdG8gc2VsZWN0IHNtYWxsIGRpc2tzIHRvIGxvd2VyIHRo ZSB0aW1lIG5lZWRlZA0KPiB0byByZXByb2R1Y2UuDQo+IA0KPiAkIHVuYW1lIC1ydg0KPiA1LjEw LjAtcmM3KyAjMSBTTVAgV2VkIERlYyA5IDAxOjE1OjI3IFVUQyAyMDIwDQo+IA0KPiBDcmVhdGUg YSByYWlkMTAgYXJyYXksIHdpdGggTFZNOg0KPiANCj4gJCBsc2Jsaw0KPiBOQU1FICAgICAgICBN QUo6TUlOIFJNICAgU0laRSBSTyBUWVBFIE1PVU5UUE9JTlQNCj4gbnZtZTBuMSAgICAgMjU5OjAg ICAgMCAgICAgOEcgIDAgZGlzayANCj4g4pSU4pSAbnZtZTBuMXAxIDI1OToxICAgIDAgICAgIDhH ICAwIHBhcnQgLw0KPiBudm1lMW4xICAgICAyNTk6MiAgICAwIDI3OS40RyAgMCBkaXNrIA0KPiBu dm1lMm4xICAgICAyNTk6MyAgICAwIDI3OS40RyAgMCBkaXNrDQo+IA0KPiAkIHN1ZG8gLXMNCj4g IyBtZGFkbSAtQyAtdiAtbDEwIC1uMiAtTiAibHYtcmFpZCIgLVIgL2Rldi9tZDAgL2Rldi9udm1l MW4xIC9kZXYvbnZtZTJuMQ0KPiBtZGFkbTogbGF5b3V0IGRlZmF1bHRzIHRvIG4yDQo+IG1kYWRt OiBsYXlvdXQgZGVmYXVsdHMgdG8gbjINCj4gbWRhZG06IGNodW5rIHNpemUgZGVmYXVsdHMgdG8g NTEySw0KPiBtZGFkbTogc2l6ZSBzZXQgdG8gMjkyODM2MzUySw0KPiBtZGFkbTogYXV0b21hdGlj YWxseSBlbmFibGluZyB3cml0ZS1pbnRlbnQgYml0bWFwIG9uIGxhcmdlIGFycmF5DQo+IG1kYWRt OiBEZWZhdWx0aW5nIHRvIHZlcnNpb24gMS4yIG1ldGFkYXRhDQo+IG1kYWRtOiBhcnJheSAvZGV2 L21kMCBzdGFydGVkLg0KPiAjIHB2Y3JlYXRlIC1mZiAteSAvZGV2L21kMA0KPiAgUGh5c2ljYWwg dm9sdW1lICIvZGV2L21kMCIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuDQo+ICMgdmdjcmVhdGUgLWYg LXkgVm9sR3JvdXAgL2Rldi9tZDANCj4gIFZvbHVtZSBncm91cCAiVm9sR3JvdXAiIHN1Y2Nlc3Nm dWxseSBjcmVhdGVkDQo+ICMgbHZjcmVhdGUgLW4gcm9vdCAtTCAxMDBHIC1heSAteSBWb2xHcm91 cA0KPiAgTG9naWNhbCB2b2x1bWUgInJvb3QiIGNyZWF0ZWQuDQo+ICMgbWtmcy5leHQ0IC9kZXYv Vm9sR3JvdXAvcm9vdA0KPiBta2UyZnMgMS40NC4xICgyNC1NYXItMjAxOCkNCj4gRGlzY2FyZGlu ZyBkZXZpY2UgYmxvY2tzOiBkb25lICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KPiBDcmVh dGluZyBmaWxlc3lzdGVtIHdpdGggMjYyMTQ0MDAgNGsgYmxvY2tzIGFuZCA2NTUzNjAwIGlub2Rl cw0KPiBGaWxlc3lzdGVtIFVVSUQ6IGQ3YmUyZTE0LWZhNGQtNDQ4OS04ODRiLTNiZWY2M2IxZTFk Yg0KPiBTdXBlcmJsb2NrIGJhY2t1cHMgc3RvcmVkIG9uIGJsb2NrczogDQo+IAkzMjc2OCwgOTgz MDQsIDE2Mzg0MCwgMjI5Mzc2LCAyOTQ5MTIsIDgxOTIwMCwgODg0NzM2LCAxNjA1NjMyLCAyNjU0 MjA4LCANCj4gCTQwOTYwMDAsIDc5NjI2MjQsIDExMjM5NDI0LCAyMDQ4MDAwMCwgMjM4ODc4NzIN Cj4gDQo+IEFsbG9jYXRpbmcgZ3JvdXAgdGFibGVzOiBkb25lICAgICAgICAgICAgICAgICAgICAg ICAgICAgIA0KPiBXcml0aW5nIGlub2RlIHRhYmxlczogZG9uZSAgICAgICAgICAgICAgICAgICAg ICAgICAgICANCj4gQ3JlYXRpbmcgam91cm5hbCAoMTMxMDcyIGJsb2Nrcyk6IGRvbmUNCj4gV3Jp dGluZyBzdXBlcmJsb2NrcyBhbmQgZmlsZXN5c3RlbSBhY2NvdW50aW5nIGluZm9ybWF0aW9uOiBk b25lDQo+ICMgbW91bnQgL2Rldi9Wb2xHcm91cC9yb290IC9tbnQNCj4gDQo+IE5leHQsIHdhaXQg Zm9yIHRoZSBkaXNrIGNoZWNrIHRvIGNvbXBsZXRlLCAyNSBtaW51dGVzIG9uIG01ZC40eGxhcmdl IGluc3RhbmNlLg0KPiANCj4gIyBjYXQgL3Byb2MvbWRzdGF0DQo+IFBlcnNvbmFsaXRpZXMgOiBb bGluZWFyXSBbbXVsdGlwYXRoXSBbcmFpZDBdIFtyYWlkMV0gW3JhaWQ2XSBbcmFpZDVdIFtyYWlk NF0gW3JhaWQxMF0gDQo+IG1kMCA6IGFjdGl2ZSByYWlkMTAgbnZtZTJuMVsxXSBudm1lMW4xWzBd DQo+ICAgICAgMjkyODM2MzUyIGJsb2NrcyBzdXBlciAxLjIgMiBuZWFyLWNvcGllcyBbMi8yXSBb VVVdDQo+ICAgICAgWz09Pi4uLi4uLi4uLi4uLi4uLi4uLl0gIHJlc3luYyA9IDEyLjAlICgzNTIx MTM5Mi8yOTI4MzYzNTIpIGZpbmlzaD0yMS40bWluIHNwZWVkPTIwMDM0MEsvc2VjDQo+ICAgICAg Yml0bWFwOiAzLzMgcGFnZXMgWzEyS0JdLCA2NTUzNktCIGNodW5rDQo+IA0KPiB1bnVzZWQgZGV2 aWNlczogPG5vbmU+DQo+ICMgY2F0IC9zeXMvYmxvY2svbWQwL21kL21pc21hdGNoX2NudA0KPiA3 NjkxODAxNg0KPiANCj4gIyBjYXQgL3Byb2MvbWRzdGF0DQo+IFBlcnNvbmFsaXRpZXMgOiBbbGlu ZWFyXSBbbXVsdGlwYXRoXSBbcmFpZDBdIFtyYWlkMV0gW3JhaWQ2XSBbcmFpZDVdIFtyYWlkNF0g W3JhaWQxMF0gDQo+IG1kMCA6IGFjdGl2ZSByYWlkMTAgbnZtZTJuMVsxXSBudm1lMW4xWzBdDQo+ ICAgICAgMjkyODM2MzUyIGJsb2NrcyBzdXBlciAxLjIgMiBuZWFyLWNvcGllcyBbMi8yXSBbVVVd DQo+ICAgICAgYml0bWFwOiAwLzMgcGFnZXMgWzBLQl0sIDY1NTM2S0IgY2h1bmsNCj4gDQo+IHVu dXNlZCBkZXZpY2VzOiA8bm9uZT4NCj4gIyBjYXQgL3N5cy9ibG9jay9tZDAvbWQvbWlzbWF0Y2hf Y250DQo+IDU4MjMzMDI0MA0KPiANCj4gTm93IHRoYXQgdGhlIGNoZWNrIGlzIGNvbXBsZXRlLCBj cmVhdGUgYSBmaWxlLCBzeW5jIGFuZCBkZWxldGUgaXQ6DQo+IA0KPiAjIGRkIGlmPS9kZXYvemVy byBvZj0vbW50L2RhdGEucmF3IGJzPTRLIGNvdW50PTFNDQo+IDEwNDg1NzYrMCByZWNvcmRzIGlu DQo+IDEwNDg1NzYrMCByZWNvcmRzIG91dA0KPiA0Mjk0OTY3Mjk2IGJ5dGVzICg0LjMgR0IsIDQu MCBHaUIpIGNvcGllZCwgMy45NTk3NCBzLCAxLjEgR0Ivcw0KPiAjIHN5bmMNCj4gIyBybSAvbW50 L2RhdGEucmF3DQo+IA0KPiBQZXJmb3JtIGEgY2hlY2s6DQo+IA0KPiAjIGVjaG8gY2hlY2sgPiAv c3lzL2Jsb2NrL21kMC9tZC9zeW5jX2FjdGlvbg0KPiANCj4gQWdhaW4sIHdhaXQgMjUgbWludXRl cyBmb3IgaXQgdG8gY29tcGxldGU6DQo+IA0KPiAjIGNhdCAvcHJvYy9tZHN0YXQNCj4gUGVyc29u YWxpdGllcyA6IFtsaW5lYXJdIFttdWx0aXBhdGhdIFtyYWlkMF0gW3JhaWQxXSBbcmFpZDZdIFty YWlkNV0gW3JhaWQ0XSBbcmFpZDEwXSANCj4gbWQwIDogYWN0aXZlIHJhaWQxMCBudm1lMW4xWzFd IG52bWUybjFbMF0NCj4gICAgICAyOTI4MzYzNTIgYmxvY2tzIHN1cGVyIDEuMiAyIG5lYXItY29w aWVzIFsyLzJdIFtVVV0NCj4gICAgICBbPT0+Li4uLi4uLi4uLi4uLi4uLi4uXSAgY2hlY2sgPSAx My43JSAoNDAzNTYyMjQvMjkyODM2MzUyKSBmaW5pc2g9MjAuOG1pbiBzcGVlZD0yMDE3MDdLL3Nl Yw0KPiAgICAgIGJpdG1hcDogMC8zIHBhZ2VzIFswS0JdLCA2NTUzNktCIGNodW5rDQo+IA0KPiB1 bnVzZWQgZGV2aWNlczogPG5vbmU+DQo+ICMgY2F0IC9zeXMvYmxvY2svbWQwL21kL21pc21hdGNo X2NudA0KPiAxNDY5Njk2DQo+IA0KPiAjIGNhdCAvcHJvYy9tZHN0YXQNCj4gUGVyc29uYWxpdGll cyA6IFtsaW5lYXJdIFttdWx0aXBhdGhdIFtyYWlkMF0gW3JhaWQxXSBbcmFpZDZdIFtyYWlkNV0g W3JhaWQ0XSBbcmFpZDEwXSANCj4gbWQwIDogYWN0aXZlIHJhaWQxMCBudm1lMW4xWzFdIG52bWUy bjFbMF0NCj4gICAgICAyOTI4MzYzNTIgYmxvY2tzIHN1cGVyIDEuMiAyIG5lYXItY29waWVzIFsy LzJdIFtVVV0NCj4gICAgICBiaXRtYXA6IDAvMyBwYWdlcyBbMEtCXSwgNjU1MzZLQiBjaHVuaw0K PiANCj4gdW51c2VkIGRldmljZXM6IDxub25lPg0KPiAjIGNhdCAvc3lzL2Jsb2NrL21kMC9tZC9t aXNtYXRjaF9jbnQNCj4gMTQ2OTY5Ng0KPiANCj4gTm93LCBwZXJmb3JtIHRoZSBmc3RyaW06DQo+ IA0KPiAjIGZzdHJpbSAvbW50IC0tdmVyYm9zZQ0KPiAvbW50OiA5Ny45IEdpQiAoMTA1MDg5MjM2 OTkyIGJ5dGVzKSB0cmltbWVkDQo+IA0KPiBHbyBmb3IgYW5vdGhlciBjaGVjazoNCj4gDQo+ICMg ZWNobyBjaGVjayA+L3N5cy9ibG9jay9tZDAvbWQvc3luY19hY3Rpb24NCj4gIyBjYXQgL3Byb2Mv bWRzdGF0DQo+IFBlcnNvbmFsaXRpZXMgOiBbbGluZWFyXSBbbXVsdGlwYXRoXSBbcmFpZDBdIFty YWlkMV0gW3JhaWQ2XSBbcmFpZDVdIFtyYWlkNF0gW3JhaWQxMF0gDQo+IG1kMCA6IGFjdGl2ZSBy YWlkMTAgbnZtZTFuMVsxXSBudm1lMm4xWzBdDQo+ICAgICAgMjkyODM2MzUyIGJsb2NrcyBzdXBl ciAxLjIgMiBuZWFyLWNvcGllcyBbMi8yXSBbVVVdDQo+ICAgICAgWz09PT09PT09Pi4uLi4uLi4u Li4uLl0gIGNoZWNrID0gNDAuMyUgKDExODI3MDg0OC8yOTI4MzYzNTIpIGZpbmlzaD0xNC40bWlu IHNwZWVkPTIwMDk2M0svc2VjDQo+ICAgICAgYml0bWFwOiAwLzMgcGFnZXMgWzBLQl0sIDY1NTM2 S0IgY2h1bmsNCj4gDQo+IHVudXNlZCBkZXZpY2VzOiA8bm9uZT4NCj4gIyBjYXQgL3N5cy9ibG9j ay9tZDAvbWQvbWlzbWF0Y2hfY250DQo+IDIwNTMyNDkyOA0KPiANCj4gIyBjYXQgL3Byb2MvbWRz dGF0DQo+IFBlcnNvbmFsaXRpZXMgOiBbbGluZWFyXSBbbXVsdGlwYXRoXSBbcmFpZDBdIFtyYWlk MV0gW3JhaWQ2XSBbcmFpZDVdIFtyYWlkNF0gW3JhaWQxMF0gDQo+IG1kMCA6IGFjdGl2ZSByYWlk MTAgbnZtZTFuMVsxXSBudm1lMm4xWzBdDQo+ICAgICAgMjkyODM2MzUyIGJsb2NrcyBzdXBlciAx LjIgMiBuZWFyLWNvcGllcyBbMi8yXSBbVVVdDQo+ICAgICAgYml0bWFwOiAwLzMgcGFnZXMgWzBL Ql0sIDY1NTM2S0IgY2h1bmsNCj4gDQo+IHVudXNlZCBkZXZpY2VzOiA8bm9uZT4NCj4gIyBjYXQg L3N5cy9ibG9jay9tZDAvbWQvbWlzbWF0Y2hfY250DQo+IDIwNTMyNDkyOA0KPiANCj4gTm93LCB3 ZSBuZWVkIHRvIHRha2UgdGhlIHJhaWQxMCBhcnJheSBkb3duLCBhbmQgcGVyZm9ybSBhIGZzY2sg b24gb25lIGRpc2sgYXQNCj4gYSB0aW1lOg0KPiANCj4gIyB1bW91bnQgL21udA0KPiAjIHZnY2hh bmdlIC1hIG4gL2Rldi9Wb2xHcm91cA0KPiAgMCBsb2dpY2FsIHZvbHVtZShzKSBpbiB2b2x1bWUg Z3JvdXAgIlZvbEdyb3VwIiBub3cgYWN0aXZlDQo+ICMgbWRhZG0gLS1zdG9wIC9kZXYvbWQwDQo+ IG1kYWRtOiBzdG9wcGVkIC9kZXYvbWQwDQo+IA0KPiBMZXQncyBkbyBmaXJzdCBkaXNrOw0KPiAN Cj4gIyBtZGFkbSAtLWFzc2VtYmxlIC9kZXYvbWQxMjcgL2Rldi9udm1lMW4xIA0KPiBtZGFkbTog L2Rldi9tZDEgYXNzZW1ibGVkIGZyb20gMSBkcml2ZSAtIG5lZWQgYWxsIDIgdG8gc3RhcnQgaXQg KHVzZSAtLXJ1biB0byBpbnNpc3QpLg0KPiAjIG1kYWRtIC0tcnVuIC9kZXYvbWQxMjcNCj4gbWRh ZG06IHN0YXJ0ZWQgYXJyYXkgL2Rldi9tZC9sdi1yYWlkDQo+ICMgdmdjaGFuZ2UgLWEgeSAvZGV2 L1ZvbEdyb3VwDQo+ICAxIGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAiVm9sR3Jv dXAiIG5vdyBhY3RpdmUNCj4gIyBmc2NrLmV4dDQgLW4gLWYgL2Rldi9Wb2xHcm91cC9yb290DQo+ IGUyZnNjayAxLjQ0LjEgKDI0LU1hci0yMDE4KQ0KPiBQYXNzIDE6IENoZWNraW5nIGlub2Rlcywg YmxvY2tzLCBhbmQgc2l6ZXMNCj4gUGFzcyAyOiBDaGVja2luZyBkaXJlY3Rvcnkgc3RydWN0dXJl DQo+IFBhc3MgMzogQ2hlY2tpbmcgZGlyZWN0b3J5IGNvbm5lY3Rpdml0eQ0KPiBQYXNzIDQ6IENo ZWNraW5nIHJlZmVyZW5jZSBjb3VudHMNCj4gUGFzcyA1OiBDaGVja2luZyBncm91cCBzdW1tYXJ5 IGluZm9ybWF0aW9uDQo+IC9kZXYvVm9sR3JvdXAvcm9vdDogMTEvNjU1MzYwMCBmaWxlcyAoMC4w JSBub24tY29udGlndW91cyksIDU1Nzg0OC8yNjIxNDQwMCBibG9ja3MNCj4gIyB2Z2NoYW5nZSAt YSBuIC9kZXYvVm9sR3JvdXANCj4gIDAgbG9naWNhbCB2b2x1bWUocykgaW4gdm9sdW1lIGdyb3Vw ICJWb2xHcm91cCIgbm93IGFjdGl2ZQ0KPiAjIG1kYWRtIC0tc3RvcCAvZGV2L21kMTI3DQo+IG1k YWRtOiBzdG9wcGVkIC9kZXYvbWQxMjcNCj4gDQo+IFRoZSBzZWNvbmQgZGlzazoNCj4gDQo+ICMg bWRhZG0gLS1hc3NlbWJsZSAvZGV2L21kMTI3IC9kZXYvbnZtZTJuMQ0KPiBtZGFkbTogL2Rldi9t ZDEgYXNzZW1ibGVkIGZyb20gMSBkcml2ZSAtIG5lZWQgYWxsIDIgdG8gc3RhcnQgaXQgKHVzZSAt LXJ1biB0byBpbnNpc3QpLg0KPiAjIG1kYWRtIC0tcnVuIC9kZXYvbWQxMjcNCj4gbWRhZG06IHN0 YXJ0ZWQgYXJyYXkgL2Rldi9tZC9sdi1yYWlkDQo+ICMgdmdjaGFuZ2UgLWEgeSAvZGV2L1ZvbEdy b3VwDQo+ICAxIGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAiVm9sR3JvdXAiIG5v dyBhY3RpdmUNCj4gIyBmc2NrLmV4dDQgLW4gLWYgL2Rldi9Wb2xHcm91cC9yb290DQo+IGUyZnNj ayAxLjQ0LjEgKDI0LU1hci0yMDE4KQ0KPiBSZXNpemUgaW5vZGUgbm90IHZhbGlkLiAgUmVjcmVh dGU/IG5vDQo+IA0KPiBQYXNzIDE6IENoZWNraW5nIGlub2RlcywgYmxvY2tzLCBhbmQgc2l6ZXMN Cj4gSW5vZGUgNyBoYXMgaWxsZWdhbCBibG9jayhzKS4gIENsZWFyPyBubw0KPiANCj4gSWxsZWdh bCBpbmRpcmVjdCBibG9jayAoMTcxNDY1Njc1MykgaW4gaW5vZGUgNy4gIElHTk9SRUQuDQo+IEVy cm9yIHdoaWxlIGl0ZXJhdGluZyBvdmVyIGJsb2NrcyBpbiBpbm9kZSA3OiBJbGxlZ2FsIGluZGly ZWN0IGJsb2NrIGZvdW5kDQo+IA0KPiAvZGV2L1ZvbEdyb3VwL3Jvb3Q6ICoqKioqKioqKiogV0FS TklORzogRmlsZXN5c3RlbSBzdGlsbCBoYXMgZXJyb3JzICoqKioqKioqKioNCj4gDQo+IGUyZnNj azogYWJvcnRlZA0KPiANCj4gL2Rldi9Wb2xHcm91cC9yb290OiAqKioqKioqKioqIFdBUk5JTkc6 IEZpbGVzeXN0ZW0gc3RpbGwgaGFzIGVycm9ycyAqKioqKioqKioqDQo+IA0KPiAjIHZnY2hhbmdl IC1hIG4gL2Rldi9Wb2xHcm91cA0KPiAgMCBsb2dpY2FsIHZvbHVtZShzKSBpbiB2b2x1bWUgZ3Jv dXAgIlZvbEdyb3VwIiBub3cgYWN0aXZlDQo+ICMgbWRhZG0gLS1zdG9wIC9kZXYvbWQxMjcNCj4g bWRhZG06IHN0b3BwZWQgL2Rldi9tZDEyNw0KPiANCj4gVGhlcmUgYXJlIG5vIHBhbmljcyBvciBh bnl0aGluZyBpbiBkbWVzZy4gVGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgb2YgdGhlIGZpcnN0DQo+ IGRpc2sgaXMgaW50YWN0LCBidXQgdGhlIHNlY29uZCBkaXNrIG9ubHkgaGFzIExvc3QrRm91bmQg cHJlc2VudC4NCj4gDQo+IEkgY2FuIGNvbmZpcm0gaXQgaXMgdGhlIHBhdGNoZXMgbGlzdGVkIGF0 IHRoZSB0b3Agb2YgdGhlIGVtYWlsLCBidXQgSSBoYXZlIG5vdA0KPiBoYWQgYW4gb3Bwb3J0dW5p dHkgdG8gYmlzZWN0IHRvIGZpbmQgdGhlIGV4YWN0IHJvb3QgY2F1c2UuIEkgd2lsbCBkbyB0aGF0 IG9uY2UNCj4gd2UgY29uZmlybSB3aGF0IFVidW50dSBzdGFibGUga2VybmVscyBhcmUgYWZmZWN0 ZWQgYW5kIGJlZ2luIHJldmVydGluZyB0aGUNCj4gcGF0Y2hlcy4NCj4gDQo+IExldCBtZSBrbm93 IGlmIHlvdSBuZWVkIGFueSBtb3JlIGRldGFpbHMuDQo+IA0KPiBUaGFua3MsDQo+IE1hdHRoZXcg UnVmZmVsbA0KDQo=