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 X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 749F0CA9EA0 for ; Sun, 20 Oct 2019 13:17:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 409A021928 for ; Sun, 20 Oct 2019 13:17:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726300AbfJTNRB (ORCPT ); Sun, 20 Oct 2019 09:17:01 -0400 Received: from m4a0040g.houston.softwaregrp.com ([15.124.2.86]:53398 "EHLO m4a0040g.houston.softwaregrp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726296AbfJTNRB (ORCPT ); Sun, 20 Oct 2019 09:17:01 -0400 Received: FROM m4a0040g.houston.softwaregrp.com (15.120.17.146) BY m4a0040g.houston.softwaregrp.com WITH ESMTP; Sun, 20 Oct 2019 13:15:06 +0000 Received: from M4W0335.microfocus.com (2002:f78:1193::f78:1193) by M4W0334.microfocus.com (2002:f78:1192::f78:1192) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10; Sun, 20 Oct 2019 13:15:57 +0000 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (15.124.8.12) by M4W0335.microfocus.com (15.120.17.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10 via Frontend Transport; Sun, 20 Oct 2019 13:15:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gq+kCbWrI51NZ6BzdoZgutGypL7Dcpayn7JN57h2bVxHUhKqDTFk4fUIQ2ODfg7ft9K1palaeGgk0yW/+KQVziy9rLo8JoKN8Fe4X1U2WTWe4yo4qorDOTDL+ulo/oIgZRP2aCbkNTZgEq0MJ028pxiVWPoXcBkFY0kCgIQsT9qE33J6yFjL6D/h9wS0kGuNilsTA4YFRK0gfjsINblxkDWmfLsSL+t+PH+ngQvgfaDzGI4ILd6ngU/xhhar2w+aaKBU4dcq14Du5CH/2AFV+2zQVvEi7nNC4KQGFik7OsEUwXXwNhVIEn3iQQfuEDSWOAtU/cIqxvc0aDBh8aj+PQ== 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=VahlBlMd9jB2I6rcUTMPeLQb0/U4AGsDwJgry5mCBDg=; b=iTMKstjIQbCeqFHyCFJylduROWvH0A4bg+Of4cEzpsO5bnJUQy9YNSANIYXiS3uojyjXGod7nSKAPhvb3xw8caaDx/EpCVe5ZE5B1Fl7JLXaMA4kttGRf6YUjA0hO5iZlLSiKZQApD9UGmpzdHXZoEA11ajngODyjfaRpVZy3djTZ6crHCRuyPGDvglojwpKdfhszajhkRk5YL6xaIQe95Z29Lzs3THT1vjk63c40Bd2eC5r+XBEDs/sv0NhSfSUp7d7DG3FID3ilxwmmW7q5ju8+CKeZg6+hw+PKUPR8L5Netq0mPV0Uaw95oRZSdldfC7YqKoGp0eEzL/42jhHRQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from BY5PR18MB3266.namprd18.prod.outlook.com (10.255.163.207) by BY5PR18MB3204.namprd18.prod.outlook.com (10.255.137.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.16; Sun, 20 Oct 2019 13:15:55 +0000 Received: from BY5PR18MB3266.namprd18.prod.outlook.com ([fe80::5c5:8dae:70ef:a254]) by BY5PR18MB3266.namprd18.prod.outlook.com ([fe80::5c5:8dae:70ef:a254%4]) with mapi id 15.20.2347.028; Sun, 20 Oct 2019 13:15:54 +0000 From: Qu WenRuo To: Ferry Toth , Qu Wenruo , "linux-btrfs@vger.kernel.org" Subject: Re: [PATCH 0/3] btrfs-progs: Add check and repair for invalid inode generation Thread-Topic: [PATCH 0/3] btrfs-progs: Add check and repair for invalid inode generation Thread-Index: AQHVhfM0opL6vpxcaUKwBk5wEWOTL6dhEZKAgAEWB4CAAIaAAIAABuiAgADM5oCAAAMmgA== Date: Sun, 20 Oct 2019 13:15:54 +0000 Message-ID: References: <20190924081120.6283-1-wqu@suse.com> <36d45e31-f125-4b21-a68e-428f807180f7@gmail.com> <796be1b6-1f1d-7946-e53e-9b85610c7c65@gmail.com> <5315fc1e-f0e6-68ca-8938-33bc0dbce07d@gmx.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: TYAPR01CA0038.jpnprd01.prod.outlook.com (2603:1096:404:28::26) To BY5PR18MB3266.namprd18.prod.outlook.com (2603:10b6:a03:1a1::15) authentication-results: spf=none (sender IP is ) smtp.mailfrom=wqu@suse.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [13.231.109.76] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9e0fe4f2-d360-4ff8-7535-08d7555fa33b x-ms-traffictypediagnostic: BY5PR18MB3204: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0196A226D1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(4636009)(396003)(366004)(376002)(346002)(39860400002)(136003)(189003)(199004)(7736002)(256004)(36756003)(14444005)(316002)(3846002)(6506007)(478600001)(229853002)(305945005)(5660300002)(26005)(102836004)(6116002)(71200400001)(186003)(66476007)(71190400001)(76176011)(64756008)(446003)(31696002)(66446008)(11346002)(6512007)(66946007)(8936002)(6246003)(86362001)(81156014)(486006)(6436002)(110136005)(8676002)(2501003)(31686004)(386003)(2906002)(476003)(66066001)(6486002)(52116002)(81166006)(99286004)(14454004)(25786009)(66556008)(2616005);DIR:OUT;SFP:1102;SCL:1;SRVR:BY5PR18MB3204;H:BY5PR18MB3266.namprd18.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: suse.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TAFOTWWivVuM8z729NUA37hIjTnWqWBW0cqj8ERVY7QXdFkzrsQFtzjLLB+RkeK5+3vfnaTv0yPi6QTtxBoFeo8hUYB8Xu2eHGMnrE6JAWGZyPvcYxsds4M/damHxSOZeDnpH3+HoBcfhtG/voKpH8TP4aNoHJiaTyNqnqNniqORQrgi5V18nVZnbC01Gsc8L/rdamuqnl3FOixYudSTnvuNAUCn8Bhz0fYWC+GoC6pPJlFWVUvRTfjHhnumyLzqa9rJ+VRIxC9vKtuN7P5BZIG/omptEU/rmMd7adcGBlQCOWN6K2PkhmAW6tpGVsDE4Z8zLReMxSKZ9AHbvJSpTqkVruSEVyaqsFKeFTVWZoezVPxDY+73KQkx/wiR0cDrGiz6mgmo0rhC90Mp2PjTZW+KcWFa1loLNXk5A/ZCqn8= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <22521D2E19678E4DB1E4B0036F5919BB@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 9e0fe4f2-d360-4ff8-7535-08d7555fa33b X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2019 13:15:54.7200 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 856b813c-16e5-49a5-85ec-6f081e13b527 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Kf6ohJW3eW0vwEeuk3SpPqjLEB1uM5rCroxp0aTZ23jLQBcPNDZzcksKxW5/c/N6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR18MB3204 X-OriginatorOrg: suse.com Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org DQoNCk9uIDIwMTkvMTAvMjAg5LiL5Y2IOTowNCwgRmVycnkgVG90aCB3cm90ZToNCj4gT3AgMjAt MTAtMjAxOSBvbSAwMjo1MSBzY2hyZWVmIFF1IFdlbnJ1bzoNCj4+DQo+Pg0KPj4gT24gMjAxOS8x MC8yMCDkuIrljYg4OjI2LCBRdSBXZW5ydW8gd3JvdGU6DQo+Pj4NCj4+Pg0KPj4+IE9uIDIwMTkv MTAvMjAg5LiK5Y2IMTI6MjQsIEZlcnJ5IFRvdGggd3JvdGU6DQo+Pj4+IEhpLA0KPj4+Pg0KPj4+ PiBPcCAxOS0xMC0yMDE5IG9tIDAxOjUwIHNjaHJlZWYgUXUgV2VuUnVvOg0KPj4+Pj4NCj4+Pj4+ DQo+Pj4+PiBPbiAyMDE5LzEwLzE5IOS4iuWNiDQ6MzIsIEZlcnJ5IFRvdGggd3JvdGU6DQo+Pj4+ Pj4gT3AgMjQtMDktMjAxOSBvbSAxMDoxMSBzY2hyZWVmIFF1IFdlbnJ1bzoNCj4+Pj4+Pj4gV2Ug aGF2ZSBhdCBsZWFzdCB0d28gdXNlciByZXBvcnRzIGFib3V0IGJhZCBpbm9kZSBnZW5lcmF0aW9u IG1ha2VzDQo+Pj4+Pj4+IGtlcm5lbCByZWplY3QgdGhlIGZzLg0KPj4+Pj4+DQo+Pj4+Pj4gTWF5 IEkgYWRkIG15IHJlcG9ydD8gSSBqdXN0IHVwZ3JhZGVkIFVidW50dSBmcm9tIDE5LjA0IC0+IDE5 LjEwIHNvDQo+Pj4+Pj4ga2VybmVsIHdlbnQgZnJvbSA1LjAgLT4gNS4zIChidXQgSSB3YXMgdXNp bmcgNC4xNSB0b28pLg0KPj4+Pj4+DQo+Pj4+Pj4gQm9vdGluZyA1LjMgbGVhdmVzIG1lIGluIGlu aXRyYW1mcyBhcyBJIGhhdmUgL2Jvb3Qgb24gQGJvb3QgYW5kIC8NCj4+Pj4+PiBvbiAvQA0KPj4+ Pj4+DQo+Pj4+Pj4gSW4gaW5pdHJhbWZzIEkgY2FuIHRyeSB0byBtb3VudCBidXQgZ2V0IHNvbWV0 aGluZyBsaWtlDQo+Pj4+Pj4gYnRyZnMgY3JpdGljYWwgY29ycnVwdCBsZWFmIGludmFsaWQgaW5v ZGUgZ2VuZXJhdGlvbiBvcGVuX2N0cmVlDQo+Pj4+Pj4gZmFpbGVkDQo+Pj4+Pj4NCj4+Pj4+PiBC b290aW5nIG9sZCBrZXJuZWwgd29ya3MganVzdCBhcyBiZWZvcmUsIG5vIGVycm9ycy4NCj4+Pj4+ Pg0KPj4+Pj4+PiBBY2NvcmRpbmcgdG8gdGhlIGNyZWF0aW9uIHRpbWUsIHRoZSBpbm9kZSBpcyBj cmVhdGVkIGJ5IHNvbWUgMjAxNA0KPj4+Pj4+PiBrZXJuZWwuDQo+Pj4+Pj4NCj4+Pj4+PiBIb3cg ZG8gSSBnZXQgdGhlIGNyZWF0aW9uIHRpbWU/DQo+Pj4+Pg0KPj4+Pj4gIyBidHJmcyBpbnMgZHVt cC10cmVlIC1iIDx0aGUgYnl0ZW5yIHJlcG9ydGVkIGJ5IGtlcm5lbD4gPHlvdXIgZGV2aWNlPg0K Pj4+Pg0KPj4+PiBJIGp1c3Qgd2VudCBiYWNrIHRvIHRoZSBvZmZpY2UgdG8gcmVib290IHRvIDUu MyBhbmQgY2hlY2sgdGhlIGNyZWF0aW9uDQo+Pj4+IHRpbWVzIGFuZCBmb3VuZCB0aGV5IHdlcmUg MjAxMyAtIDIwMTQuDQo+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pj4gQW5kIHRoZSBnZW5lcmF0aW9uIG1l bWJlciBvZiBJTk9ERV9JVEVNIGlzIG5vdCB1cGRhdGVkICh1bmxpa2UgdGhlDQo+Pj4+Pj4+IHRy YW5zaWQgbWVtYmVyKSBzbyB0aGUgZXJyb3IgcGVyc2lzdHMgdW50aWwgbGF0ZXN0IHRyZWUtY2hl Y2tlcg0KPj4+Pj4+PiBkZXRlY3RzLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBFdmVuIHRoZSBzaXR1YXRp b24gY2FuIGJlIGZpeGVkIGJ5IHJldmVydGluZyBiYWNrIHRvIG9sZGVyIGtlcm5lbA0KPj4+Pj4+ PiBhbmQNCj4+Pj4+Pj4gY29weWluZyB0aGUgb2ZmZW5kaW5nIGRpci9maWxlIHRvIGFub3RoZXIg aW5vZGUgYW5kIGRlbGV0ZSB0aGUNCj4+Pj4+Pj4gb2ZmZW5kaW5nDQo+Pj4+Pj4+IG9uZSwgaXQg c3RpbGwgc2hvdWxkIGJlIGRvbmUgYnkgYnRyZnMtcHJvZ3MuDQo+Pj4+Pj4+DQo+Pj4+Pj4gSG93 IHRvIGZpbmQgdGhlIG9mZmVuZGluZyBkaXIvZmlsZSBmcm9tIHRoZSBjb21tYW5kIGxpbmUgbWFu dWFsbHk/DQo+Pj4+Pg0KPj4+Pj4gIyBmaW5kIDxtb3VudCBwb2ludD4gLWludW0gPGlub2RlIG51 bWJlcj4NCj4+Pj4NCj4+Pj4gVGhpcyB3b3JrcywgdGhhbmtzLg0KPj4+Pg0KPj4+PiBCdXQgYXBw ZWFycyB1bnByYWN0aWNhbC4gQWZ0ZXIgZml4IDIgZmlsZXMgYW5kIHJlYm9vdCwgSSBmb3VuZCA0 IG1vcmUsDQo+Pj4+IHRoZW4gMTYsIHRoZW4gSSBnYXZlIHVwLg0KPj4NCj4+IEFub3RoZXIgc29s dXRpb24gaXMgdXNlICJmaW5kIiB0byBsb2NhdGUgdGhlIGZpbGVzIHdpdGggY3JlYXRpb24gdGlt ZQ0KPj4gYmVmb3JlIDIwMTUsIGFuZCBjb3B5IHRoZW0gdG8gYSBuZXcgZmlsZSwgdGhlbiByZXBs YWNlIHRoZSBvbGQgZmlsZSB3aXRoDQo+PiB0aGUgbmV3IGZpbGUuDQo+IA0KPiBIbW0uIEJ1dCBo b3cgZG8gSSAiZmluZCIgYnkgY3JlYXRpb24gdGltZSAob3RpbWUpPyBEbyB5b3UgaGF2ZSBhDQo+ IHN1Z2dlc3Rpb24gZm9yIHRoaXM/DQoNCiQgdG91Y2ggLXQgMjAxNTAxMDEwMDAwIC90bXAvc2Ft cGxlDQokIGZpbmQgPG1udD4gLW5vdCAtY25ld2VyIC90bXAvc2FtcGxlDQoNCklmIHlvdSB3YW50 LCB5b3UgY2FuIGFkZCAtZXhlYyB0byB0aGF0IGZpbmQsIGJ1dCBJJ2Qgb25seSBhZGQgdGhhdCBh ZnRlcg0KY29uZmlybWluZyB0aGUgZXhlY3V0aW9uIGxvYWQgaXMgdmVyaWZpZWQuDQoNClRoYW5r cywNClF1DQoNCj4gDQo+PiBJdCB3b3VsZCBiZSBtdWNoIHNhZmVyIHRoYW4gYnRyZnMgY2hlY2sg LS1yZXBhaXIuDQo+Pg0KPj4gVGhhbmtzLA0KPj4gUXUNCj4+DQo+Pg0KPj4+Pg0KPj4+Pj4gVGhh bmtzLA0KPj4+Pj4gUXUNCj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pj4gVGhpcyBwYXRjaHNldCBhZGRz IHN1Y2ggY2hlY2sgYW5kIHJlcGFpciBhYmlsaXR5IHRvIGJ0cmZzLWNoZWNrLA0KPj4+Pj4+PiB3 aXRoIGENCj4+Pj4+Pj4gc2ltcGxlIHRlc3QgaW1hZ2UuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IFF1IFdl bnJ1byAoMyk6DQo+Pj4+Pj4+IMKgwqDCoMKgIGJ0cmZzLXByb2dzOiBjaGVjay9sb3dtZW06IEFk ZCBjaGVjayBhbmQgcmVwYWlyIGZvciBpbnZhbGlkDQo+Pj4+Pj4+IGlub2RlDQo+Pj4+Pj4+IMKg wqDCoMKgwqDCoCBnZW5lcmF0aW9uDQo+Pj4+Pj4+IMKgwqDCoMKgIGJ0cmZzLXByb2dzOiBjaGVj ay9vcmlnaW5hbDogQWRkIGNoZWNrIGFuZCByZXBhaXIgZm9yDQo+Pj4+Pj4+IGludmFsaWQgaW5v ZGUNCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgIGdlbmVyYXRpb24NCj4+Pj4+Pj4gwqDCoMKgwqAgYnRy ZnMtcHJvZ3M6IGZzY2stdGVzdHM6IEFkZCB0ZXN0IGltYWdlIGZvciBpbnZhbGlkIGlub2RlDQo+ Pj4+Pj4+IGdlbmVyYXRpb24NCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgIHJlcGFpcg0KPj4+Pj4+Pg0K Pj4+Pj4+PiDCoMKgwqAgY2hlY2svbWFpbi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA1MCArKysrKysrKysrKy0N Cj4+Pj4+Pj4gwqDCoMKgIGNoZWNrL21vZGUtbG93bWVtLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA3Ng0KPj4+Pj4+PiArKysrKysrKysr KysrKysrKysNCj4+Pj4+Pj4gwqDCoMKgIGNoZWNrL21vZGUtb3JpZ2luYWwuaMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsNCj4+Pj4+Pj4g wqDCoMKgIC4uLi8ubG93bWVtX3JlcGFpcmFibGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDANCj4+Pj4+Pj4gwqDCoMKgIC4uLi9iYWRfaW5vZGVf Z2VuZWFydGlvbi5pbWcueHrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgQmluIDAgLT4g MjAxMg0KPj4+Pj4+PiBieXRlcw0KPj4+Pj4+PiDCoMKgwqAgNSBmaWxlcyBjaGFuZ2VkLCAxMjYg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPj4+Pj4+PiDCoMKgwqAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+Pj4+Pj4+IHRlc3RzL2ZzY2stdGVzdHMvMDQzLWJhZC1pbm9kZS1nZW5lcmF0aW9u Ly5sb3dtZW1fcmVwYWlyYWJsZQ0KPj4+Pj4+PiDCoMKgwqAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ Pj4+Pj4+IHRlc3RzL2ZzY2stdGVzdHMvMDQzLWJhZC1pbm9kZS1nZW5lcmF0aW9uL2JhZF9pbm9k ZV9nZW5lYXJ0aW9uLmltZy54eg0KPj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+DQo+Pj4+ IEkgY2hlY2tlZCBvdXQgYW5kIGJ1aWx0IHY1LjMtcmMxIG9mIGJ0cmZzLXByb2dzLiBUaGVuIHJh biBpdCBvbiBteQ0KPj4+PiBtb3VudGVkIHJvb3RmcyB3aXRoIGxpbnV4IDUuMCBhbmQgY2FwdHVy ZWQgdGhlIGxvZyAofjE4MDAgbGluZXMgMjA5DQo+Pj4+IGVycm9ycykuDQo+Pj4NCj4+PiBJdCdz IHJlYWxseSBub3QgcmVjb21tZW5kZWQgdG8gcnVuIGJ0cmZzIGNoZWNrLCBlc3BlY2lhbGx5IHJl cGFpciBvbiB0aGUNCj4+PiBtb3VudGVkIGZzLCB1bmxlc3MgaXQncyBSTy4NCj4+Pg0KPj4+IEEg bmV3IHRyYW5zYWN0aW9uIGZyb20ga2VybmVsIGNhbiBlYXNpbHkgc2NyZXcgdXAgdGhlIHJlcGFp cmVkIGZzLg0KPj4+Pg0KPj4+PiBJJ20gbm90IHN1cmUgaWYgdXNpbmcgdGhlIHY1LjAga2VybmVs IGFuZC9vciBjaGVja2luZyBtb3VudGVkIGRpc3RvcnRzDQo+Pj4+IHRoZSByZXN1bHRzPyBFbHNl IEknbSBnb2luZyB0byBuZWVkIGEgbGl2ZSB1c2Igd2l0aCBhIHY1LjMga2VybmVsIGFuZA0KPj4+ PiB2NS4zIGJ0cmZzLXByb2dzLg0KPj4+Pg0KPj4+PiBJZiB5b3UgbGlrZSBJIGNhbiBzaGFyZSB0 aGUgbG9nLiBMZXQgbWUga25vdy4NCj4+Pj4NCj4+Pj4gVGhpcyBpc3N1ZSBjYW4gcG90ZW50aWFs bHkgY2F1c2UgYSBsb3Qgb2YgZ3JpZWYuIE91ciBjb21wYW55IHNlcnZlcg0KPj4+PiBydW5zDQo+ Pj4+IFVidW50dSBMVFMgKDE4LjA0LjAyKSB3aXRoIGEgNC4xNSBrZXJuZWwgb24gYSBidHJmcyBi b290L3Jvb3RmcyB3aXRoDQo+Pj4+IH4xMDAgc25hcHNob3RzLiBJIGd1ZXNzIHRoZSBwcm9ibGVt YXRpYyBpbm9kZXMgbmVlZCB0byBiZSBmaXhlZCBvbiBlYWNoDQo+Pj4+IHNuYXBzaG90IHByaW9y IHRvIHVwZ3JhZGluZyB0byAyMC4wNCBMVFMgKHdoaWNoIG1pZ2h0IGJlIG9uIGtlcm5lbA0KPj4+ PiB+NS42KT8NCj4+Pg0KPj4+IFllcy4NCj4+Pg0KPj4+Pg0KPj4+PiBEbyBJIHVuZGVyc3RhbmQg Y29ycmVjdGx5IHRoYXQgdGhpcyBGVEIgaXMgY2F1c2VkIGJ5IG1vcmUgc3RyaWN0DQo+Pj4+IGNo ZWNraW5nIG9mIHRoZSBmcyBieSB0aGUga2VybmVsLCB3aGlsZSB0aGUgdG9vbHMgdG8gZml4IHRo ZSBkZXRlY3RlZA0KPj4+PiBjb3JydXB0aW9ucyBhcmUgbm90IHlldCByZWxlYXNlZD8NCj4+Pg0K Pj4+IFllcy4NCj4+Pg0KPj4+IFRoYW5rcywNCj4+PiBRdQ0KPj4+DQo+Pg0KPiANCg==