Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp394257pxb; Wed, 13 Jan 2021 06:27:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJzwk3BWCAnZrZ9yjMl1dc3BGj+lMgUcBcIG+Z/VfMyR3u42e6viA+/z46vwySBsctReDmns X-Received: by 2002:aa7:cb10:: with SMTP id s16mr1998780edt.304.1610548026699; Wed, 13 Jan 2021 06:27:06 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1610548026; cv=pass; d=google.com; s=arc-20160816; b=pAXBVOVuta759LND6LZwaQQYDkdW4sBM7Qkkp72HhBnmzeqVax08+bWOMlgA+6Cl2B jU3wjGOGf3GJvtnqfSpJF681vYwK9wSi0lx1pzgAvnPqbR1Upo+5xwwXUK2w3gRp6g+m 2tfnjNesCpdmyM6RvaRNOazt0YFRN4GtZUWzidVdM4HDdjvOrOu4CN3sBvp63e3YqyPK HGA5rcC7vAnK7lu+sPw+CpgemL0HAW3PEPJdkDNoNqfj/T2bPwni94qAsKAST3uSABlR K82jOv7js/xqoABtNjox5vpT0Z2Vq+PuYliyM1xa4latNs0MaWmXLLcyNm6wuJUHU8nr uiEA== 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=r+LDMqGlrz3QX4kWqzfYxEX/j+Pmhzj/Emon8kXuXb4=; b=cbojDlmmu/auJpNvH6e4mpXduAC7HL1qcLdKa/1cCH5L1+vMPUmGgqTCBNo9aHZfSJ idqg6IdfhjTORW1ECPU5nPoSgWoGYcS+oaYs+e5gg/IXAbeExUgJWy4ZgakuFgWPzPrj uxu5B18XaVgxhRGjZyIQLLO99g7JWiW2Zl6a72JKsCAnQcjjH21qJk1WJQxMcUCDLDtL 1li4QMcr1K6OVM+Y5LhT81/M/D9/omTG2ERSYoscRd7m7JEL04/zhfr2l2iNa8WuYNg5 dsPuuvyra6VcB6Q6ZcGVzrgNWkgs8wnPvYP8iy2ab7Zh+TGDQq/DSIqbsTCF0PYRT0m+ 31uA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=dcCOab9P; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a14si980377eds.103.2021.01.13.06.26.45; Wed, 13 Jan 2021 06:27:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs-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=@hammerspace.com header.s=selector2 header.b=dcCOab9P; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725824AbhAMO0V (ORCPT + 99 others); Wed, 13 Jan 2021 09:26:21 -0500 Received: from mail-co1nam11on2113.outbound.protection.outlook.com ([40.107.220.113]:41872 "EHLO NAM11-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725772AbhAMO0V (ORCPT ); Wed, 13 Jan 2021 09:26:21 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K3H4SFWnNgA3QXv/O2wByihm2ngaqTpODvXbMDhR5TXjcqVRthXC4y+bSbG5CsEaNxb3KFUn0pTbQOhj/WLXpfiK9Ziaqj6bgE+9PCNSZmFTZGBVWl0yMqxq+wx2lJaTottRBVLIdFSTwmrd+FCQPXLXJu3T2XN57+xaZZWxLs05abe5qZCLb4YkvuFAa9wVDVlm4OFTs4yQk1i1xnhA5C1TNTirZhwZb8cUAU1SCO2LmStrmCGGOVF3bm5+qgqaE35kOKFV7VPk8oBpOcayBZmwDcwOqdoSCpJ5cfdgQGcP+K8L1XtfYEAlsdYDA8QAB44cvLqP+yt61/fUuDeBxA== 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=r+LDMqGlrz3QX4kWqzfYxEX/j+Pmhzj/Emon8kXuXb4=; b=AJWJNnvzKPevf0XuVf1pUvXDwaAWxZxdV7+FIcQgzjf7SRk7KhP6KLUM3vWJjlL+p8PVYVy42zadFJstt0CcJrtTpqcUb8LLyqm0AyxrPPHsHkX/CcA3GRn84Z+xiXX3l3+QPi5SB7tZ9suoLGLrlk6B4kUJ8msHErlT9n2j8dTjfbqL+sHXO8xHKBdpkAevZuaWbAD29iukTfUhtHWeHEy/UTxhgOn1FCJw7vM57ySJPzr8qr20SnQiBu+w/iN28R8CG17qystQvCdW85Ewo6Q6QQP0tEZB19tCj86bUGx4Eb8qk11B1p3Sn5o+GIfGwuTTdyIj1mZHns4A0MqclQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r+LDMqGlrz3QX4kWqzfYxEX/j+Pmhzj/Emon8kXuXb4=; b=dcCOab9PyFMKgd4wYlcswx1ZFLLzvc7vbLfRU4FbjCjGO91iBCHrN+Gax+QXavMDiVwz45V2AVCcNzvunA3W/jPnFJlhl/L44efEeLnQ4VqKuEILXItikvnjjcJPEMkVj2TahbkC2kgAeiZDuRsww49+p9OOmBN436TZBTaBhSw= Received: from CH2PR13MB3525.namprd13.prod.outlook.com (2603:10b6:610:21::29) by CH0PR13MB4617.namprd13.prod.outlook.com (2603:10b6:610:de::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.2; Wed, 13 Jan 2021 14:25:25 +0000 Received: from CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::f9a6:6c23:4015:b7fc]) by CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::f9a6:6c23:4015:b7fc%6]) with mapi id 15.20.3763.009; Wed, 13 Jan 2021 14:25:25 +0000 From: Trond Myklebust To: "wangzhibei1999@gmail.com" CC: "bfields@fieldses.org" , "security@kernel.org" , "w@1wt.eu" , "greg@kroah.com" , "linux-nfs@vger.kernel.org" , "chuck.lever@oracle.com" Subject: Re: nfsd vurlerability submit Thread-Topic: nfsd vurlerability submit Thread-Index: AQHW6PgWrSMkggXjGU6epPPdOSc+z6okNQOAgAAFaYCAAAmkgIAA/vEAgABa6oA= Date: Wed, 13 Jan 2021 14:25:25 +0000 Message-ID: <74269493859fa65a7f594dadd5d86c74bd910e66.camel@hammerspace.com> References: <20210105165633.GC14893@fieldses.org> <20210108152017.GA4183@fieldses.org> <20210108152607.GA950@1wt.eu> <20210108153237.GB4183@fieldses.org> <20210108154230.GB950@1wt.eu> <20210111193655.GC2600@fieldses.org> <20210112153208.GF9248@fieldses.org> <8296b696a7fa5591ad3fbb05bfcf6bdf6175cc38.camel@hammerspace.com> <96aea58bde3fe4c09cccd9ead2a1c85eb887d276.camel@hammerspace.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b7757134-3b9a-4827-cca3-08d8b7cf11ba x-ms-traffictypediagnostic: CH0PR13MB4617: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: G0aorBS813Wy8a6mND8S14iK66lX4EXMGNOZL4qKSh6tfKBjdi7VF78E3saGPB94eZjrVBLQt87INqcwDUVcbQ547V2Fyw8aVaUqO7+o/ntXK5RAWe/b0xEdRKirOA7JQR+jqOaWokr1AHeZA+JKd1cwLgYlsg5Lngsssdw8zPSJvAD9c1QxgGrbj2AHBW3lZyAZYBbbse3rhjUkrk6H3tEmeEN8kQaXTxf6bUxZeT18vpDBulrTukCNd37AYuot/7Fbt30V/FfW0Fou2HTRIy2SP8RNnnRrsXaVf4opelG+CQy38JfwlBirIhaRJCFTBGYKMeHO1ELyG4TJnyUVR/ckn3jiT9Wg4K4Z+jjjIs5woXmI4UCfMK6b0cGcToKCYy5DzvPGXId5ZnaM9K6uM8JrxBYaAipQ6SpbvYnBH/kocXtt/N9P3GbXdf+Fmi6097RPDEWW3to6laDjWgeLkQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR13MB3525.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(396003)(366004)(39840400004)(376002)(4326008)(66476007)(3480700007)(2616005)(316002)(54906003)(6506007)(8936002)(66556008)(478600001)(15974865002)(6486002)(66446008)(8676002)(76116006)(66946007)(71200400001)(6916009)(186003)(966005)(86362001)(83380400001)(5660300002)(36756003)(26005)(6512007)(2906002)(7116003)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?OE8zZVpuRGpaWDFKcStPeXc0djkxbW4raG8zYWk4VXNCTFpzMU9WR01UTmFX?= =?utf-8?B?V2ZvdE44b3M5K00xUFkwWGF3M2x3ZGtCUmEweHExYVNDYUNBNkQ5cEw5RGNj?= =?utf-8?B?Nk1nVjBMRlIybGpqMXprSlVjYWd0cjRzbEJwd3haNHhMb1JrY2l0RFhzRi93?= =?utf-8?B?Zmd2VFFHWFJjTElnWGdiMHdDTU9UelBpTHFqVWNsb2tJVWlDenJBSXQwVlB1?= =?utf-8?B?dVFPY3RHcnpYWVZEZk11ZnRnVng0RjFEbDFKVEFhNlpCL0haYkxxcFdkL2xp?= =?utf-8?B?eUVvKzY2dTZOYWRmajlXWXNPK3RVV25JVEJiR3RwQmQxeFlqWVBISUFnYnpl?= =?utf-8?B?azg1MC9YdUNzdHd0Nng0QnpkU2NxRkRjYVo5MGdESm1Fdkc1MHBJTy95MVNI?= =?utf-8?B?QnY2bUJHYlBqN1F3NEpqQzhwbW1BSnRGMlpObE02eitJeExFSlp1dThwdHU5?= =?utf-8?B?ZkROYS90VjFJTFlNcC95bUJPT3Flc0NFbGJoWFV0Szdud2Z6TkQ0QWJ6TzFh?= =?utf-8?B?eUt3UUQ1OC9jenlaVFgybWp5Y253UUxXSmNEdzFMTHRWZUE0Q25OQ2xmcTdT?= =?utf-8?B?MUNGaE5jRHphcC91NWZuZXRkakVpeW9qQVJoZWdOTDNxM251OUQ3V1dkWGF4?= =?utf-8?B?Y2EyS0VtQmkvSGxUdjJWa0RrMUIyRjcvZzJ6RkJLN04xVG84UkxWRDhmc0ha?= =?utf-8?B?MGo5OUtlRnFGN1E4a2ZscnNHUHpRSGMxajlCRURiMzlvdnRiem9lWUJBb2J3?= =?utf-8?B?aENmb0dhYm81cDloc1c5aUx0R2JMdXorNHJWbk9ORG42YWNwWWFVOFpTWjhw?= =?utf-8?B?Y1V4KytSNVlsRDVRY3B2cFJQNTdaS2lBOHdtMFp5TEhDZ2h6YW5rcUw5UERO?= =?utf-8?B?M0l6dTJjOTEyTmkxYXZSQmlOL2UyZTkvcGtvb1Y3ZmVlRUpaWDc3dDFTdUtC?= =?utf-8?B?T3FrSnZkYkxZY1lQS1RrL080UnNGQmFGdlhHUENhbWV5NWtzckVaaXpheDcz?= =?utf-8?B?VW9iYzlxeWI4cUsrbk9BenpBNHpYL0pIQk1KZmlLOU9QeUpUeXQ4a1VJV0lz?= =?utf-8?B?L3VSMnNweUQ3cVFJUFVRRnlDUGpaQ0REVVIvQlpaVDlQMktUS3YvUUcwdXRM?= =?utf-8?B?TkwyRE1VdVZQV1R2R0ZTSjdWTGxKVWp2dllmSEFuMnJiUGZ4K2tidElBZ3NW?= =?utf-8?B?ckc3MXRGdGhjeEVGbWgzaW42NFVHY09YUHZXRVVrNklQTWlnLzN2ZHdwMU9I?= =?utf-8?B?dHVnU3RCWDZqNWYzdHVzMzllaDEzSm5sY3JCWXhXLzUvWndNSDNZK09VUERy?= =?utf-8?Q?xKcemT0kj7J+wsD45jqguCtVT2uaakwoVQ?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <7B7D983D487CCE41B69880BD65FF67B1@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR13MB3525.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7757134-3b9a-4827-cca3-08d8b7cf11ba X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2021 14:25:25.4684 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ixSmE+sjKwkizsoHYXDQcGa0aphnUYsq2hJaUkBc3+pCq7zlugqcRu1aucpeJRjZ83S8Uu9zCkUofIo2gRJRwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR13MB4617 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gV2VkLCAyMDIxLTAxLTEzIGF0IDE3OjAwICswODAwLCDlkLTlvIIgd3JvdGU6DQo+IExpbnV4 IHJlZmVyZW5jZSBtYW51YWwgZG9lcyBkZXNjcmliZSB0aGUgcmlzayBvZiBleHBvcnRpbmcNCj4g c3ViZGlyZWN0b3JpZXMgb2YgYSBmaWxlIHN5c3RlbSxidXQgSSB0aGluayB0aGVyZSBhcmUgc29t ZSBvbWlzc2lvbnMuDQo+IA0KPiAvZnMgb24gL2Rldi9zZGExDQo+IGV4cG9ydCAvZnMvbmZzDQo+ IA0KPiBJIGNhbiBlYXNpbHkgZ3Vlc3MgdGhlIGhhbmRsZSBvZiAvZnMsYW5kIHRoZW4gdXNlIGl0 IHRvIHJlbW92ZSB0aGUNCj4gZXhwb3J0IHBvaW50IC9uZnMgYnkgYSBzeW1saW5rLHdoaWNoIGlz IHBvaW50aW5nIHRvIGZpbGVzIGluIG90aGVyDQo+IGZpbGUgc3lzdGVtcyxlLmcuICIvIiBvbiAv ZGV2L3NkYixpdCBqdXN0IGxpa2UgaW5zZXJ0aW5nIGEgYmFjayBkb29yDQo+IGludG8gdGhlIHNl cnZlci5BbmQgdGhlbiB3aGVuIG5mc2Qgc2VydmljZSByZXN0YXJ0LEkgY2FuIG1vdW50IHRvICIv Ig0KPiAsdGhpcyBicmVha3MgZmlsZSBzeXN0ZW0gaXNvbGF0aW9uLg0KPiANCj4gTXkgcXVlc3Rp b24gaXMgd2hldGhlciBMaW51eCBoYXMgbWFkZSB1c2VycyBmdWxseSBhd2FyZSBvZiB0aGUNCj4g c2VjdXJpdHkgcmlza3MgcG9zZWQgYnkgc3ViZGlyZWN0b3JpZXMuSW4gb3RoZXIgd29yZHMsaG93 IG1hbnkgcGVvcGxlDQo+IHdpbGwgYmUgYXR0YWNrZWQgd2l0aCB0aGUgbmZzZCB3aGVuIGF0dGFj ayBtZXRob2QgaXMgZGlzY2xvc2VkIHRvIHRoZQ0KPiBwdWJsaWM/DQoNClRoZSBhYm92ZSBpcyBw cmVjaXNlbHkgd2hhdCB0aGUgbWFucGFnZSB3YXJucyB5b3UgYWJvdXQgYW5kIHRlbGxzIHlvdQ0K bm90IHRvIGRvIGFzIGFuIGFkbWluaXN0cmF0b3Igb2YgYSBzZXJ2ZXIuDQoNCg0KQlRXOiB5b3Ug anVzdCAnZGlzY2xvc2VkIHRoZSBhdHRhY2sgbWV0aG9kIHRvIHRoZSBwdWJsaWMnIHNpbmNlDQps aW51eC1uZnNAdmdlci5rZXJuZWwub3JnIGlzIGEgcHVibGljIGFyY2hpdmVkIG1haWxpbmcgbGlz dC4gSG93ZXZlciBzbw0KZmFyLCB5b3UndmUgc2FpZCBhYnNvbHV0ZWx5IG5vdGhpbmcgdGhhdCBo YXNuJ3QgYWxyZWFkeSBiZWVuIGtub3duIGFuZA0KZGlzY3Vzc2VkIGZvciBvdmVyIDIwIHllYXJz Lg0KDQo+IA0KPiDlnKggMjAyMeW5tDHmnIgxM+aXpeaYn+acn+S4ie+8jFRyb25kIE15a2xlYnVz dCA8dHJvbmRteUBoYW1tZXJzcGFjZS5jb20+IOWGmemBk++8mg0KPiA+IE9uIFdlZCwgMjAyMS0w MS0xMyBhdCAwMToxMyArMDgwMCwg5ZC05byCIHdyb3RlOg0KPiA+ID4gSGVsbG8sDQo+ID4gPiAN Cj4gPiA+IFdlbGwsbWF5YmUgdGhlIGJlc3QgbWV0aG9kIGlzIHRvIHByb2hpYml0IMKgZXhwb3J0 aW5nDQo+ID4gPiBzdWJkaXJlY3RpcmllcyxhbmQgSSBkb24ndCBrbm93IGhvdyBkaWZmaWN1bHQg aXQgd2lsbCBiZS4NCj4gPiANCj4gPiANCj4gPiBTbywgdGhlcmUgaXMgYSBkaXNjdXNzaW9uIG9m IGFsbCB0aGlzIGluIHRoZSAnZXhwb3J0cycgbWFucGFnZSBib3RoDQo+IGluDQo+ID4gdGhlIGRl c2NyaXB0aW9uIG9mIHRoZSAnbm9fc3VidHJlZV9jaGVjaycgb3B0aW9uLCBhbmQgaW4gdGhlDQo+ IHNlY3Rpb24gb24NCj4gPiAnU3ViZGlyZWN0b3J5IEV4cG9ydHMnLg0KPiA+IEluIHBhcnRpY3Vs YXIsIHRoZSBsYXR0ZXIgc2VjdGlvbiBkb2VzIGRlc2NyaWJlIHRoZSBpc3N1ZSB0aGF0IHlvdQ0K PiBhcmUNCj4gPiByYWlzaW5nIGhlcmU6DQo+ID4gDQo+ID4gwqAgwqBTdWJkaXJlY3RvcnkgRXhw b3J0cw0KPiA+IMKgIMKgIMKgIMKgTm9ybWFsbHkgeW91IHNob3VsZCBvbmx5IGV4cG9ydCBvbmx5 IHRoZSByb290IG9mIGENCj4gZmlsZXN5c3RlbS7CoCBUaGUgTkZTDQo+ID4gwqAgwqAgwqAgwqBz ZXJ2ZXIgd2lsbCBhbHNvIGFsbG93IHlvdSB0byBleHBvcnQgYSBzdWJkaXJlY3RvcnnCoCBvZsKg IGHCoA0KPiBmaWxlc3lzdGVtLA0KPiA+IMKgIMKgIMKgIMKgaG93ZXZlciwgdGhpcyBoYXMgZHJh d2JhY2tzOg0KPiA+IA0KPiA+IMKgIMKgIMKgIMKgRmlyc3QswqAgaXTCoCBtYXkgYmUgcG9zc2li bGUgZm9yIGEgbWFsaWNpb3VzIHVzZXIgdG8gYWNjZXNzDQo+IGZpbGVzIG9uIHRoZQ0KPiA+IMKg IMKgIMKgIMKgZmlsZXN5c3RlbSBvdXRzaWRlIG9mIHRoZSBleHBvcnRlZCBzdWJkaXJlY3Rvcnks IGJ5wqANCj4gZ3Vlc3NpbmfCoCBmaWxlaGFu4oCQDQo+ID4gwqAgwqAgwqAgwqBkbGVzwqAgZm9y wqAgdGhvc2Ugb3RoZXIgZmlsZXMuwqAgVGhlIG9ubHkgd2F5IHRvIHByZXZlbnQgdGhpcw0KPiBp cyBieSB1c2luZw0KPiA+IMKgIMKgIMKgIMKgdGhlIG5vX3N1YnRyZWVfY2hlY2sgb3B0aW9uLCB3 aGljaCBjYW4gY2F1c2Ugb3RoZXIgcHJvYmxlbXMuDQo+ID4gDQo+ID4gwqAgwqAgwqAgwqBTZWNv bmQsIGV4cG9ydCBvcHRpb25zIG1heSBub3QgYmUgZW5mb3JjZWQgaW4gdGhlIHdhecKgIHRoYXTC oA0KPiB5b3XCoCB3b3VsZA0KPiA+IMKgIMKgIMKgIMKgZXhwZWN0LsKgIEZvciBleGFtcGxlLCB0 aGUgc2VjdXJpdHlfbGFiZWwgb3B0aW9uIHdpbGwgbm90DQo+IHdvcmsgb24gc3ViZGnigJANCj4g PiDCoCDCoCDCoCDCoHJlY3RvcnkgZXhwb3J0cywgYW5kIGlmIG5lc3RlZCBzdWJkaXJlY3Rvcnkg ZXhwb3J0c8KgIGNoYW5nZcKgDQo+IHRoZcKgIHNlY3XigJANCj4gPiDCoCDCoCDCoCDCoHJpdHlf bGFiZWzCoCBvcsKgIHNlYz3CoCBvcHRpb25zLCBORlN2NCBjbGllbnRzIHdpbGwgbm9ybWFsbHkN Cj4gc2VlIG9ubHkgdGhlDQo+ID4gwqAgwqAgwqAgwqBvcHRpb25zIG9uIHRoZSBwYXJlbnQgZXhw b3J0LsKgIEFsc28sIHdoZXJlIHNlY3VyaXR5IG9wdGlvbnPCoA0KPiBkaWZmZXIswqAgYQ0KPiA+ IMKgIMKgIMKgIMKgbWFsaWNpb3VzwqAgY2xpZW50wqAgbWF5wqAgdXNlwqAgZmlsZWhhbmRsZS1n dWVzc2luZ8KgIGF0dGFja3MgdG8NCj4gYWNjZXNzIHRoZQ0KPiA+IMKgIMKgIMKgIMKgZmlsZXMg ZnJvbSBvbmUgc3ViZGlyZWN0b3J5IHVzaW5nIHRoZSBvcHRpb25zIGZyb20gYW5vdGhlci4NCj4g PiANCj4gPiANCj4gPiBXaHkgZG8gd2UgbmVlZCB0byBnbyBmdXJ0aGVyIHRoYW4gdGhpcywgd2hl biB0aGVyZSBhcmUgY2xlYXJseSBhbHNvDQo+IGENCj4gPiBsb2FkIG9mIHNjZW5hcmlvcyB3aGVy ZSB0aGUgY2xpZW50cyBhcmUgYWxsIHRydXN0ZWQsIGFuZCB0aGUNCj4gc2VjdXJpdHkNCj4gPiBp c3N1ZSBpcyBtb290Pw0KPiA+IA0KPiA+IA0KPiA+ID4gDQo+ID4gPiBUaGFua3MsDQo+ID4gPiAN Cj4gPiA+IOWcqCAyMDIx5bm0MeaciDEz5pel5pif5pyf5LiJ77yMVHJvbmQgTXlrbGVidXN0IDx0 cm9uZG15QGhhbW1lcnNwYWNlLmNvbT4g5YaZ6YGT77yaDQo+ID4gPiA+IE9uIFR1ZSwgMjAyMS0w MS0xMiBhdCAxMDozMiAtMDUwMCwgSi4gQnJ1Y2UgRmllbGRzIHdyb3RlOg0KPiA+ID4gPiA+IE9u IFR1ZSwgSmFuIDEyLCAyMDIxIGF0IDEwOjQ4OjAwUE0gKzA4MDAsIOWQtOW8giB3cm90ZToNCj4g PiA+ID4gPiA+IFRlbGxpbmcgdXNlcnMgaG93IHRvIGNvbmZpZ3VyZSB0aGUgZXhwb3J0ZWQgZmls ZSBzeXN0ZW0gaW4NCj4gdGhlDQo+ID4gPiBtb3N0DQo+ID4gPiA+ID4gPiBzZWN1cmUNCj4gPiA+ ID4gPiA+IHdheSBkb2VzDQo+ID4gPiA+ID4gPiBtaXRpZ2F0ZSB0aGUgcHJvYmxlbSB0byBzb21l IGV4dGVudCwgYnV0IHRoaXMgZG9lcyBub3Qgc2VlbQ0KPiB0bw0KPiA+ID4gPiA+ID4gYWRkcmVz cyB0aGUNCj4gPiA+ID4gPiA+IHNlY3VyaXR5IHJpc2tzIHBvc2VkIGJ5IG5vXyBzdWJ0cmVlXyBj aGVjayBpbiB0aGUgY29kZS4gSW4NCj4gbXkNCj4gPiA+ID4gPiA+IG9waW5pb24sd2hlbg0KPiA+ ID4gPiA+ID4gdGhlIGdlbmVyYXRlZCBmaWxlaGFuZGxlIGRvZXMgbm90IGNvbnRhaW4gdGhlIGlu b2RlDQo+IGluZm9ybWF0aW9uDQo+ID4gPiBvZg0KPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4g PiBwYXJlbnQgZGlyZWN0b3J5LHRoZSBuZnNkX2FjY2VwdGFibGUgZnVuY3Rpb24gY2FuIGFsc28N Cj4gPiA+IHJlY3Vyc2l2ZWx5DQo+ID4gPiA+ID4gPiBkZXRlcm1pbmUgd2hldGhlciB0aGUgcmVx dWVzdCBmaWxlIGV4Y2VlZHMgdGhlIGV4cG9ydCBwYXRoDQo+ID4gPiA+ID4gPiBkZW50cnkuRW5h YmxpbmcNCj4gPiA+ID4gPiA+IHN1YnRyZWVfY2hlY2sgdG8gYWRkIHBhcmVudCBkaXJlY3Rvcnkg aW5mb3JtYXRpb24gb25seQ0KPiBicmluZ3MNCj4gPiA+IHNvbWUNCj4gPiA+ID4gPiA+IHRyb3Vi bGVzLg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEZpbGVzeXN0ZW1zIGRvbid0IG5lY2Vzc2FyaWx5 IHByb3ZpZGUgdXMgd2l0aCBhbiBlZmZpY2llbnQNCj4gPiA+ID4gPiB3YXkNCj4gdG8NCj4gPiA+ ID4gPiBmaW5kDQo+ID4gPiA+ID4gcGFyZW50IGRpcmVjdG9yaWVzIGZyb20gYW55IGdpdmVuIGZp bGUuwqAgKEFuZCBub3RlIGEgc2luZ2xlDQo+IGZpbGUNCj4gPiA+IG1heQ0KPiA+ID4gPiA+IGhh dmUgbXVsdGlwbGUgcGFyZW50IGRpcmVjdG9yaWVzLikNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiAo SSBkbyB3b25kZXIgaWYgd2UgY291bGQgZG8gYmV0dGVyIGluIHRoZSBkaXJlY3RvcnkgY2FzZSwN Cj4gPiA+ID4gPiB0aG91Z2guwqANCj4gPiA+IFdlDQo+ID4gPiA+ID4gYWxyZWFkeSByZWNvbm5l Y3QgZGlyZWN0b3JpZXMgYWxsIHRoZSB3YXkgYmFjayB1cCB0byB0aGUNCj4gcm9vdC4pDQo+ID4g PiA+ID4gDQo+ID4gPiA+ID4gPiBJIGhhdmUgYSBib2xkIGlkZWEsIHdoeSBub3QgZGlyZWN0bHkg cmVtb3ZlIHRoZSBmaWxlIGhhbmRsZQ0KPiA+ID4gPiA+ID4gbW9kaWZpY2F0aW9uIGluDQo+ID4g PiA+ID4gPiBzdWJ0cmVlX2NoZWNrLCBhbmQgdGhlbiBub3JtYWxpemUgdGhlIGp1ZGdtZW50IG9m IHdoZXRoZXINCj4gPiA+ID4gPiA+IGRlbnRyeQ0KPiA+ID4gPiA+ID4gZXhjZWVkcw0KPiA+ID4g PiA+ID4gdGhlIGV4cG9ydCBwb2ludCBkaXJlY3RvcnkgaW4gbmZzZF9hY2NlcHRhYmxlIChsaW5l IDM4IHRvDQo+ID4gPiA+ID4gPiA1NA0KPiBpbg0KPiA+ID4gPiA+ID4gL2ZzL25mc2QvbmZzZmgu YykgLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBBcyBmYXIgYXMgSSB1bmRlcnN0YW5kIGl0 LCB0aGUgcmVhc29uIHdoeSBzdWJ0cmVlX2NoZWNrIGlzDQo+IG5vdA0KPiA+ID4gPiA+ID4gdHVy bmVkIG9uIGJ5DQo+ID4gPiA+ID4gPiBkZWZhdWx0IGlzIHRoYXQgaXQgd2lsbCBjYXVzZSBwcm9i bGVtcyB3aGVuIHJlYWRpbmcgYW5kDQo+IHdyaXRpbmcNCj4gPiA+ID4gPiA+IGZpbGVzLA0KPiA+ ID4gPiA+ID4gcmF0aGVyIHRoYW4gaXQgd2FzdGVzIG1vcmUgdGltZSB3aGVuIG5mc2RfYWNjZXB0 YWJsZS4NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gSW4gc2hvcnQsSSB0aGluayBpdCdzIG9w ZW4gdG8gcXVlc3Rpb24gd2hldGhlciB0aGUgc2VjdXJpdHkNCj4gb2YNCj4gPiA+IHRoZQ0KPiA+ ID4gPiA+ID4gc3lzdGVtDQo+ID4gPiA+ID4gPiBkZXBlbmRzIG9uIHRoZSB1c2VyJ3MgY29tcGxl dGUgY29ycmVjdCBjb25maWd1cmF0aW9uKHRoZQ0KPiBzeXN0ZW0NCj4gPiA+ID4gPiA+IGRvZXMg bm90DQo+ID4gPiA+ID4gPiBwcm9oaWJpdCB0aGUgZXhwb3J0IG9mIGEgc3ViZGlyZWN0b3J5KS4N Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IEVuYWJsaW5nIHN1YnRyZWVfY2hlY2sgdG8gYWRkIHBh cmVudCBkaXJlY3RvcnlpbmZvcm1hdGlvbg0KPiBvbmx5DQo+ID4gPiA+ID4gPiBicmluZ3MNCj4g PiA+ID4gPiA+IHNvbWUgdHJvdWJsZXMuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IEluIHNo b3J0LEkgdGhpbmsgaXQncyBvcGVuIHRvIHF1ZXN0aW9uIHdoZXRoZXIgdGhlIHNlY3VyaXR5DQo+ IG9mDQo+ID4gPiB0aGUNCj4gPiA+ID4gPiA+IHN5c3RlbSBkZXBlbmRzIG9uIHRoZSB1c2VyJ3Mg Y29tcGxldGUgY29ycmVjdA0KPiBjb25maWd1cmF0aW9uKHRoZQ0KPiA+ID4gPiA+ID4gc3lzdGVt DQo+ID4gPiA+ID4gPiBkb2VzIG5vdCBwcm9oaWJpdCB0aGUgZXhwb3J0IG9mIGEgc3ViZGlyZWN0 b3J5KS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBJJ2QgbG92ZSB0byByZXBsYWNlIHRoZSBleHBv cnQgaW50ZXJmYWNlIGJ5IG9uZSB0aGF0DQo+IHByb2hpYml0ZWQNCj4gPiA+ID4gPiBzdWJkaXJl Y3RvcnkgZXhwb3J0cyAob3IgYXQgbGVhc3QgbWFkZSBpdCBtb3JlIG9idmlvdXMgd2hlcmUNCj4g PiA+IHRoZXkncmUNCj4gPiA+ID4gPiBiZWluZyB1c2VkLikNCj4gPiA+ID4gPiANCj4gPiA+ID4g PiBCdXQgZ2l2ZW4gdGhlIGludGVyZmFjZSB3ZSBhbHJlYWR5IGhhdmUsIHRoYXQgd291bGQgYmUg YQ0KPiA+ID4gZGlzcnVwdGl2ZQ0KPiA+ID4gPiA+IGFuZA0KPiA+ID4gPiA+IHRpbWUtY29uc3Vt aW5nIGNoYW5nZS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBBbm90aGVyIGFwcHJvYWNoIGlzIHRv IGFkZCBtb3JlIGVudHJvcHkgdG8gZmlsZWhhbmRsZXMgc28NCj4gdGhleSdyZQ0KPiA+ID4gPiA+ IGhhcmRlcg0KPiA+ID4gPiA+IHRvIGd1ZXNzOyBzZWUgZS5nLjoNCj4gPiA+ID4gPiANCj4gPiA+ ID4gPiANCj4gPiA+IA0KPiDCoMKgwqDCoMKgwqDCoMKgaHR0cHM6Ly93d3cuZnNsLmNzLnN0b255 YnJvb2suZWR1L2RvY3MvbmZzY3JhY2stdHIvaW5kZXguaHRtbA0KPiA+ID4gPiA+IA0KPiA+ID4g PiA+IEluIHRoZSBlbmQgbm9uZSBvZiB0aGVzZSBjaGFuZ2UgdGhlIGZhY3QgdGhhdCBhIGZpbGVo YW5kbGUNCj4gPiA+ID4gPiBoYXMNCj4gYW4NCj4gPiA+ID4gPiBpbmZpbml0ZSBsaWZldGltZSwg c28gb25jZSBpdCdzIGxlYWtlZCwgdGhlcmUncyBub3RoaW5nIHlvdQ0KPiBjYW4NCj4gPiA+IGRv LsKgDQo+ID4gPiA+ID4gVGhlDQo+ID4gPiA+ID4gYXV0aG9ycyBzdWdnZXN0IE5GU3Y0IHZvbGF0 aWxlIGZpbGVoYW5kbGVzIGFzIGEgc29sdXRpb24gdG8NCj4gdGhhdA0KPiA+ID4gPiA+IHByb2Js ZW0sIGJ1dCBJIGRvbid0IHRoaW5rIHRoZXkndmUgdGhvdWdodCB0aHJvdWdoIHRoZQ0KPiBvYnN0 YWNsZXMNCj4gPiA+IHRvDQo+ID4gPiA+ID4gbWFraW5nIHZvbGF0aWxlIGZpbGVoYW5kbGVzIHdv cmsuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gLS1iLg0KPiA+ID4gPiANCj4gPiA+ID4gVGhlIHBv aW50IGlzIHRoYXQgdGhlcmUgaXMgbm8gZ29vZCBzb2x1dGlvbiB0byB0aGUgJ0kgd2FudCB0bw0K PiA+ID4gZXhwb3J0IGENCj4gPiA+ID4gc3VidHJlZSBvZiBhIGZpbGVzeXN0ZW0nIHByb2JsZW0s IGFuZCBzbyBpdCBpcyBwbGFpbmx5IHdyb25nIHRvDQo+IHRyeQ0KPiA+ID4gdG8NCj4gPiA+ID4g bWFrZSBhIGRlZmF1bHQgb2YgdGhvc2Ugc29sdXRpb25zLCB3aGljaCBicmVhayB0aGUgb25lIHNh bmUNCj4gPiA+ID4gY2FzZQ0KPiBvZg0KPiA+ID4gPiBleHBvcnRpbmcgdGhlIHdob2xlIGZpbGVz eXN0ZW0uDQo+ID4gPiA+IA0KPiA+ID4gPiBKdXN0IGEgcmVtaW5kZXIgdGhhdCB3ZSBraWNrZWQg b3V0IHN1YnRyZWVfY2hlY2sgbm90IG9ubHkNCj4gYmVjYXVzZSBhDQo+ID4gPiA+IHRyaXZpYWwg cmVuYW1lIG9mIGEgZmlsZSBicmVha3MgdGhlIGNsaWVudCdzIGFiaWxpdHkgdG8gcGVyZm9ybQ0K PiBJL08NCj4gPiA+IGJ5DQo+ID4gPiA+IGludmFsaWRhdGluZyB0aGUgZmlsZWhhbmRsZS4gSW4g YWRkaXRpb24sIHRoYXQgb3B0aW9uIGNhdXNlcw0KPiA+ID4gZmlsZWhhbmRsZQ0KPiA+ID4gPiBh bGlhc2luZyAoaS5lLiBtdWx0aXBsZSBmaWxlaGFuZGxlcyBwb2ludGluZyB0byB0aGUgc2FtZSBm aWxlKQ0KPiA+ID4gd2hpY2ggaXMNCj4gPiA+ID4gYSBtYWpvciBQSVRBIGZvciBjbGllbnRzIHRv IHRyeSB0byBtYW5hZ2UgZm9yIG1vcmUgb3IgbGVzcyB0aGUNCj4gc2FtZQ0KPiA+ID4gPiByZWFz b24gdGhhdCBpdCBpcyBhIG1ham9yIFBJVEEgdG8gdHJ5IHRvIG1hbmFnZSB0aGVzZSBmaWxlcw0K PiB1c2luZw0KPiA+ID4gPiBwYXRocy4NCj4gPiA+ID4gDQo+ID4gPiA+IFRoZSBkaXNjdXNzaW9u IG9uIHZvbGF0aWxlIGZpbGVoYW5kbGVzIGluIFJGQzU2NjEgZG9lcyB0cnkgdG8NCj4gPiA+IGFk ZHJlc3MNCj4gPiA+ID4gc29tZSBvZiB0aGUgYWJvdmUgaXNzdWVzLCBidXQgZW5kcyB1cCBjb25j bHVkaW5nIHRoYXQgeW91IG5lZWQNCj4gdG8NCj4gPiA+ID4gaW50cm9kdWNlIFBPU0lYLWluY29t cGF0aWJsZSByZXN0cmljdGlvbnMsIHN1Y2ggYXMgdHJ5aW5nIHRvDQo+ID4gPiA+IGJhbg0KPiA+ ID4gPiByZW5hbWVzIGFuZCBkZWxldGlvbnMgb2Ygb3BlbiBmaWxlcyBpbiBvcmRlciB0byBtYWtl IGl0IHdvcmsuDQo+ID4gPiA+IA0KPiA+ID4gPiBOb25lIG9mIHRoZXNlIGNvbXByb21pc2VzIGFy ZSBuZWNlc3NhcnkgaWYgeW91IGV4cG9ydCBhIHdob2xlDQo+ID4gPiA+IGZpbGVzeXN0ZW0gKG9y IGEgaGllcmFyY2h5IG9mIHdob2xlIGZpbGVzeXN0ZW1zKS4gVGhhdCdzIHRoZQ0KPiBzYW5lDQo+ ID4gPiBjYXNlLg0KPiA+ID4gPiBUaGF0J3MgdGhlIG9uZSB0aGF0IHBlb3BsZSBzaG91bGQgZGVm YXVsdCB0byB1c2luZy4NCj4gPiA+ID4gDQo+ID4gPiA+IC0tDQo+ID4gPiA+IFRyb25kIE15a2xl YnVzdA0KPiA+ID4gPiBMaW51eCBORlMgY2xpZW50IG1haW50YWluZXIsIEhhbW1lcnNwYWNlDQo+ ID4gPiA+IHRyb25kLm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20NCj4gPiA+ID4gDQo+ID4gPiA+ IA0KPiA+ID4gPiANCj4gPiANCj4gPiAtLQ0KPiA+IFRyb25kIE15a2xlYnVzdA0KPiA+IENUTywg SGFtbWVyc3BhY2UgSW5jDQo+ID4gNDk4NCBFbCBDYW1pbm8gUmVhbCwgU3VpdGUgMjA4DQo+ID4g TG9zIEFsdG9zLCBDQSA5NDAyMg0KPiA+IA0KPiA+IHd3dy5oYW1tZXIuc3BhY2UNCj4gPiANCj4g PiANCg0KLS0gDQpUcm9uZCBNeWtsZWJ1c3QNCkNUTywgSGFtbWVyc3BhY2UgSW5jDQo0OTg0IEVs IENhbWlubyBSZWFsLCBTdWl0ZSAyMDgNCkxvcyBBbHRvcywgQ0EgOTQwMjINCuKAiw0Kd3d3Lmhh bW1lci5zcGFjZQ0KDQo=