From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D5F73A04DD; Tue, 20 Oct 2020 11:15:58 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1EC5EA9F2; Tue, 20 Oct 2020 11:07:30 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id A1B50A9F2 for ; Tue, 20 Oct 2020 11:07:26 +0200 (CEST) IronPort-SDR: tnfRqx4Y6DhWX5rgwgo6IpriGX0R0HhEzECjGv+AuitlBvseiaDnl0MaHMieC4CbQ5sADaBUEs MGbLijYAX2sA== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="146472402" X-IronPort-AV: E=Sophos;i="5.77,396,1596524400"; d="scan'208";a="146472402" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Oct 2020 02:07:25 -0700 IronPort-SDR: vMfLyUsQa7InNSRFt/+dd6iA7fwR36uZf0UMU9vhkaUPy2umLCUq2t0yeSoeCg/uLMLp/DVVeM tiW/cwgjbFpA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,396,1596524400"; d="scan'208";a="301632290" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga008.fm.intel.com with ESMTP; 20 Oct 2020 02:07:20 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 20 Oct 2020 02:07:19 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 20 Oct 2020 02:07:19 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 20 Oct 2020 02:07:19 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 20 Oct 2020 02:07:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T7zJB+O5eAEUBOLwsRBK2vLRYtg8p8pOLs5DnopXlr6QsiVIqXq9nz3hAdadjOSPGKaXcHVuIoSAZSBX37lZqGSrP9PW6AMNIqI2iXaaycHgy8j9i83O43dgih4a8up1D1ShLuCq6sTcuC0L2PsqQnqbe3vk/vKN58rgl2MIBtRm0GvXCD873MkQ6uVF021z2Q8vuRSh/CiHdGPhB3Y/LP6oG7D2+0cdbVYPIXtZ1Rzc5z8ZUIe9X6H6PBKN/6WfNFSG1tQ9ETynSB0PShr62A0qxkW2Dm294c7WIXaijYLwdoNXUISKeIigw2OqRN2HpxCcsB8TvUFFYh4K774fVA== 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=V1lQnvfdEanvEoMJ/o/TKZKXPegg+g/G5gtxnh2NBMo=; b=EV8YQsqyBr4KUVp3CikhzOmOIHt8SMFkZ7QKvjLtpmYiRvyowdYp48AQi4CvTolQMTAg+08Xjzql55GFTuzz/NjEHp/iR+6I3rEEwZr3rGICnmpdrc1j44iB+1bZguu6AgHux2wB56cd1TiP7sHaNqklQfiTaBUH323mjY1wyv899OJ2JowuNDdZZidtnE/YSSefrFqMPJm+rL13z+mFEDql3XtoJQiJaLPdp2PEIh7sE/klquDe0QdxX+N/MZnU3h6MBqbM54YmSlDL+NtuM33HHyz0H0PsosvEsGZpP2Q3hb+gevsQLbLJW+5KT8jP2paZ25psSrJl9D1WoeYifg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V1lQnvfdEanvEoMJ/o/TKZKXPegg+g/G5gtxnh2NBMo=; b=jvl+Eab2LRxNv+S24UaW0kf/HlTYeMFVdT5qsx7dEQigxr7BoFh7Jmpc7079zDG3tHlkQdYKRa1hKOsg/uMQKJKMJ9JU6EJ2KX6WqWt1kFoeRgJYUkL969jVxF4aCquGhzpyx/nv3UCXy63gNzRXKPhg/nppwtlTdX5UbNsJyss= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by SJ0PR11MB5005.namprd11.prod.outlook.com (2603:10b6:a03:2d3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.25; Tue, 20 Oct 2020 09:07:17 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b%3]) with mapi id 15.20.3477.028; Tue, 20 Oct 2020 09:07:17 +0000 From: "Ananyev, Konstantin" To: "Yigit, Ferruh" , "Yang, SteveX" , "Zhang, Qi Z" , "dev@dpdk.org" CC: "Zhao1, Wei" , "Guo, Jia" , "Yang, Qiming" , "Wu, Jingjing" , "Xing, Beilei" , "Stokes, Ian" Thread-Topic: [dpdk-dev] [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default Thread-Index: AQHWlWYCx8TVuiIL1UiMFWpiGeSnm6l/hUcAgAC4bGCAABpuAIAAEB0AgAAQzwCAFtwzAIAHCeUAgAB6EUCAAC22AIAACd+wgAAKdbCAAD2ngIAA9Hnw Date: Tue, 20 Oct 2020 09:07:17 +0000 Message-ID: References: <20200923040909.73418-1-stevex.yang@intel.com> <20200928065541.7520-1-stevex.yang@intel.com> <20200928065541.7520-4-stevex.yang@intel.com> <8459e979b76c43cdbd5a9fbd809f9b00@intel.com> <6ad9e3ec00194e31891d97849135655c@intel.com> <7704b7ce95fd4db2a9c6a8a33c3f0805@intel.com> <77ac2293-e532-e702-2370-c07cdd957c57@intel.com> <483bd509-82b9-9724-d28c-c517ef091e0c@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 92686223-6f89-428a-9da7-08d874d78b19 x-ms-traffictypediagnostic: SJ0PR11MB5005: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True 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: +2F+AfPQKryVhpx7YnMrQZVmcWTq/U3fmhVnMBH8b+hWQcEwDGd+QejZP+1onCOwR19sdXp7o4r3dUcQQ6SOiNnh/AxuGE/Wr+GOKfdkFbJotyPmvdT1jnHhTb7aVQKKjZf+xUKKL1mONZTUqXxeHnDn5nOvM6HzQwyFIs/zaJzhCX2COOj5Mcln2tPkzLIWpsFm4V1LpM3HUxF0mvFIzkyEcDsvOLHSrUoCv8Ha8o+v6koOF1j1eCjxhHe2oe6e8t5zHi8xyqpUi+b3X4H53weF614bBkmhO3UDWzP2Y13+0dQGvsdqVxoYVb7bvwjPBG3i0NLiL17IQNlqhV5VkA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(2906002)(478600001)(52536014)(4326008)(66446008)(64756008)(66476007)(66556008)(66946007)(76116006)(71200400001)(54906003)(110136005)(86362001)(5660300002)(33656002)(9686003)(83380400001)(30864003)(26005)(55016002)(107886003)(316002)(6506007)(8936002)(8676002)(7696005)(186003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 7aqH17OU2T1YtUPerA11y+49m/dmut2p8EtFzMo0bRtMCea6sLexIu4dG92JnDESL+/8QxKTr0VFPxL0ntj06amlKAJG9HGKXB2wAgv0zlEdLZohgFoi2i73hSeOdHl77cGI3VG5eZvgqVBU+I6AdmrSr6xY6e9S3Pzn9a0z8R7KuYrpD08vklKnn7FWudOhTzomktKC5Wq2M3zb2dEiW8htD2TOTo48i4EQf2So0isQcP33JDN1ukWW7fuEuOKhJcwzOnyULv9JrZXNnQf66n8f2oWTcPd9KnHUvql0NofrqPnJRuXvsKA6Kfb85J12Ks5uRxCLdQRYZNokK50SgDA43MGi1QZxTef9zMegzVPkD0axurWiVHyH9iqEg0IWzE+fPcSoVpNcuyMcMyOQTRO37pkbrXut74aqqjb5pR4QXT7VuVPY+Vx+oHdMMT+EUUK2c5dnlcDYlFDanfjArB33TiL6HbXMVVS9Lru09/UCKhNgSB8cqzFxhQTYaT4Yt+VlbkphaedGkfSVEHlNKFz/jEbZp+CY4FBrq+MzIKLvV1bJM6XHqp1Fg8X4DZHmw5sAQt0msYR3HqoE1KzdG7PknvU0Dvj68fNbXSjHgrcaKKM+70yWBMMgTar0JLdnWKTehj7zrq9ttJaKvKdGYA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3301.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92686223-6f89-428a-9da7-08d874d78b19 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2020 09:07:17.1608 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KqdNUYCAatLvqjUL6l6IYk6iHr7JKZ3Kg/Pwj6zBLvfVtzJSDcyY99susJoR3I2xyRcTHP3YS+mE8rWYdx3qu0cVAZ93TwwKakMpNNo4A8E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5005 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4gdGVzdHBtZCB3aWxsIGluaXRpYWxpemUg ZGVmYXVsdCBtYXggcGFja2V0IGxlbmd0aCB0byAxNTE4IHdoaWNoDQo+ID4+Pj4+Pj4+Pj4+PiBk b2Vzbid0IGluY2x1ZGUgdmxhbiB0YWcgc2l6ZSBpbiBldGhlciBvdmVyaGVhZGVyLiBPbmNlLCBz ZW5kIHRoZQ0KPiA+Pj4+Pj4+Pj4+Pj4gbWF4IG10dSBsZW5ndGggcGFja2V0IHdpdGggdmxhbiB0 YWcsIHRoZSBtYXggcGFja2V0IGxlbmd0aCB3aWxsDQo+ID4+Pj4+Pj4+Pj4+PiBleGNlZWQgMTUx OCB0aGF0IHdpbGwgY2F1c2UgcGFja2V0cyBkcm9wcGVkIGRpcmVjdGx5IGZyb20gTklDIGh3DQo+ ID4+Pj4+Pj4+IHNpZGUuDQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4gaWNlIGNhbiBz dXBwb3J0IGR1YWwgdmxhbiB0YWdzIHRoYXQgbmVlZCBtb3JlIDggYnl0ZXMgZm9yIG1heA0KPiA+ Pj4+Pj4+Pj4+Pj4gcGFja2V0IHNpemUsIHNvLCBjb25maWd1cmVzIHRoZSBjb3JyZWN0IG1heCBw YWNrZXQgc2l6ZSBpbg0KPiA+Pj4+Pj4+Pj4+Pj4gZGV2X2NvbmZpZw0KPiA+Pj4+Pj4+Pj4gb3Bz Lg0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IEZpeGVzOiA1MGNjOWQyYTZlOWQgKCJu ZXQvaWNlOiBmaXggbWF4IGZyYW1lIHNpemUiKQ0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ Pj4+IFNpZ25lZC1vZmYtYnk6IFN0ZXZlWCBZYW5nIDxzdGV2ZXgueWFuZ0BpbnRlbC5jb20+DQo+ ID4+Pj4+Pj4+Pj4+PiAtLS0NCj4gPj4+Pj4+Pj4+Pj4+ICAgICBkcml2ZXJzL25ldC9pY2UvaWNl X2V0aGRldi5jIHwgMTEgKysrKysrKysrKysNCj4gPj4+Pj4+Pj4+Pj4+ICAgICAxIGZpbGUgY2hh bmdlZCwgMTEgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5jDQo+ID4+Pj4+Pj4+Pj4+PiBi L2RyaXZlcnMvbmV0L2ljZS9pY2VfZXRoZGV2LmMgaW5kZXgNCj4gPj4+Pj4+Pj4+Pj4+IGNmZDM1 N2IwNS4uNmI3MDk4NDQ0IDEwMDY0NA0KPiA+Pj4+Pj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9uZXQv aWNlL2ljZV9ldGhkZXYuYw0KPiA+Pj4+Pj4+Pj4+Pj4gKysrIGIvZHJpdmVycy9uZXQvaWNlL2lj ZV9ldGhkZXYuYw0KPiA+Pj4+Pj4+Pj4+Pj4gQEAgLTMxNDYsNiArMzE0Niw3IEBAIGljZV9kZXZf Y29uZmlndXJlKHN0cnVjdCBydGVfZXRoX2Rldg0KPiA+Pj4+Pj4gKmRldikNCj4gPj4+Pj4+Pj4+ Pj4+IHN0cnVjdCBpY2VfYWRhcHRlciAqYWQgPQ0KPiA+Pj4+Pj4+Pj4+Pj4gSUNFX0RFVl9QUklW QVRFX1RPX0FEQVBURVIoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4+Pj4+Pj4+Pj4+PiAg ICAgc3RydWN0IGljZV9wZiAqcGYgPQ0KPiA+Pj4+Pj4+Pj4+Pj4gSUNFX0RFVl9QUklWQVRFX1RP X1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KPiA+Pj4+Pj4+Pj4+Pj4gK3VpbnQzMl90IGZy YW1lX3NpemUgPSBkZXYtPmRhdGEtPm10dSArIElDRV9FVEhfT1ZFUkhFQUQ7DQo+ID4+Pj4+Pj4+ Pj4+PiAgICAgaW50IHJldDsNCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiAgICAgLyog SW5pdGlhbGl6ZSB0byBUUlVFLiBJZiBhbnkgb2YgUnggcXVldWVzIGRvZXNuJ3QgbWVldCB0aGUg QEANCj4gPj4+Pj4+Pj4+Pj4+IC0zMTU3LDYNCj4gPj4+Pj4+Pj4+Pj4+ICszMTU4LDE2IEBAIGlj ZV9kZXZfY29uZmlndXJlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiA+Pj4+Pj4+Pj4+Pj4g ICAgIGlmIChkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tcV9tb2RlICYNCj4gPj4+Pj4+IEVU SF9NUV9SWF9SU1NfRkxBRykNCj4gPj4+Pj4+Pj4+Pj4+IGRldi0+ZGF0YS0+ZGV2X2NvbmYucnht b2RlLm9mZmxvYWRzIHw9DQo+ID4+Pj4+Pj4+PiBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4g Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiArLyoqDQo+ID4+Pj4+Pj4+Pj4+PiArICogQ29u c2lkZXJpbmcgUWluUSBwYWNrZXQsIG1heCBmcmFtZSBzaXplIHNob3VsZCBiZSBlcXVhbCBvcg0K PiA+Pj4+Pj4+Pj4+Pj4gKyAqIGxhcmdlciB0aGFuIHRvdGFsIHNpemUgb2YgTVRVIGFuZCBFdGhl ciBvdmVyaGVhZC4NCj4gPj4+Pj4+Pj4+Pj4+ICsgKi8NCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+ Pj4+Pj4+ICtpZiAoZnJhbWVfc2l6ZSA+IGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm1heF9y eF9wa3RfbGVuKSB7DQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+ IFdoeSB3ZSBuZWVkIHRoaXMgY2hlY2s/DQo+ID4+Pj4+Pj4+Pj4+IENhbiB3ZSBqdXN0IGNhbGwg aWNlX210dV9zZXQgZGlyZWN0bHkNCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IEkgdGhpbmsg dGhhdCB3aXRob3V0IHRoYXQgY2hlY2sgd2UgY2FuIHNpbGVudGx5IG92ZXJ3cml0ZSBwcm92aWRl ZA0KPiA+Pj4+Pj4+Pj4+IGJ5IHVzZXIgZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3RfbGVuIHZh bHVlLg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IE9LLCBJIHNlZQ0KPiA+Pj4+Pj4+Pj4NCj4g Pj4+Pj4+Pj4+IEJ1dCBzdGlsbCBoYXZlIG9uZSBxdWVzdGlvbg0KPiA+Pj4+Pj4+Pj4gZGV2LT5k YXRhLT5tdHUgaXMgaW5pdGlhbGl6ZWQgdG8gMTUxOCBhcyBkZWZhdWx0ICwgYnV0IGlmDQo+ID4+ Pj4+Pj4+PiBkZXYtPmRhdGEtPmFwcGxpY2F0aW9uIHNldA0KPiA+Pj4+Pj4+Pj4gZGV2X2NvbmYu cnhtb2RlLm1heF9yeF9wa3RfbGVuID0gMTAwMCBpbiBkZXZfY29uZmlndXJlLg0KPiA+Pj4+Pj4+ Pj4gZG9lcyB0aGF0IG1lYW4gd2Ugd2lsbCBzdGlsbCB3aWxsIHNldCBtdHUgdG8gMTUxOCwgaXMg dGhpcyBleHBlY3RlZD8NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IG1heF9y eF9wa3RfbGVuIHNob3VsZCBiZSBsYXJnZXIgdGhhbiBtdHUgYXQgbGVhc3QsIHNvIHdlIHNob3Vs ZCByYWlzZQ0KPiA+Pj4+Pj4+PiB0aGUgbWF4X3J4X3BrdF9sZW4gKGUuZy46MTUxOCkgdG8gaG9s ZCBleHBlY3RlZCBtdHUgdmFsdWUgKGUuZy46IDE1MDApLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4g T2ssIHRoaXMgZGVzY3JpYmUgdGhlIHByb2JsZW0gbW9yZSBnZW5lcmFsIGFuZCBiZXR0ZXIgdG8g cmVwbGFjZSBleGlzdA0KPiA+Pj4+Pj4gY29kZSBjb21tZW50IGFuZCBjb21taXQgbG9nIGZvciBl YXN5IHVuZGVyc3RhbmRpbmcuDQo+ID4+Pj4+Pj4gUGxlYXNlIHNlbmQgYSBuZXcgdmVyc2lvbiBm b3IgcmV3b3JkDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJIGRpZG4ndCByZWFsbHkg Z2V0IHRoaXMgc2V0Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEFwcGxpY2F0aW9uIGV4cGxpY2l0bHkg c2V0cyAnbWF4X3J4X3BrdF9sZW4nIHRvICcxNTE4JywgYW5kIGEgZnJhbWUgYmlnZ2VyIHRoYW4N Cj4gPj4+Pj4+IHRoaXMgc2l6ZSBpcyBkcm9wcGVkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTdXJlLCBp dCBpcyBub3JtYWwgY2FzZSBmb3IgZHJvcHBpbmcgb3ZlcnNpemUgZGF0YS4NCj4gPj4+Pj4NCj4g Pj4+Pj4+IElzbid0IHRoaXMgd2hhdCBzaG91bGQgYmUsIHdoeSB3ZSBhcmUgdHJ5aW5nIHRvIG92 ZXJ3cml0ZSB1c2VyIGNvbmZpZ3VyYXRpb24NCj4gPj4+Pj4+IGluIFBNRCB0byBwcmV2ZW50IHRo aXM/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiBCdXQgaXQgaXMgYSBjb25mbGljdGlvbiB0 aGF0IGFwcGxpY2F0aW9uL3VzZXIgc2V0cyBtdHUgJiBtYXhfcnhfcGt0X2xlbiBhdCB0aGUgc2Ft ZSB0aW1lLg0KPiA+Pj4+PiBUaGlzIGZpeCB3aWxsIG1ha2UgYSBkZWNpc2lvbiB3aGVuIGNvbmZs aWN0aW9uIG9jY3VycmVkLg0KPiA+Pj4+PiBNVFUgdmFsdWUgd2lsbCBjb21lIGZyb20gdXNlciBv cGVyYXRpb24gKGUuZy46IHBvcnQgY29uZmlnIG10dSAwIDE1MDApIGRpcmVjdGx5LA0KPiA+Pj4+ PiBzbywgdGhlIG1heF9yeF9wa3RfbGVuIHdpbGwgcmVzaXplIGl0c2VsZiB0byBhZGFwdCBleHBl Y3RlZCBNVFUgdmFsdWUgaWYgaXRzIHNpemUgaXMgc21hbGxlciB0aGFuIE1UVSArIEV0aGVyIG92 ZXJoZWFkLg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gRHVyaW5nIGV0aF9kZXYgYWxsb2NhdGlvbiwgbXR1 IHNldCB0byBkZWZhdWx0ICcxNTAwJywgYnkgZXRoZGV2IGxheWVyLg0KPiA+Pj4+Pj4gQW5kIHRl c3RwbWQgc2V0cyAnbWF4X3J4X3BrdF9sZW4nIGJ5IGRlZmF1bHQgdG8gJzE1MTgnLg0KPiA+Pj4+ Pj4gSSB0aGluayBRaSdzIGNvbmNlcm4gYWJvdmUgaXMgdmFsaWQsIHdoYXQgaXMgdXNlciBzZXQg J21heF9yeF9wa3RfbGVuJyB0byAnMTAwMCcNCj4gPj4+Pj4+IGFuZCBtZWFuIGl0PyBQTUQgd2ls bCBub3QgaG9ub3IgdGhlIHVzZXIgY29uZmlnLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJJ20gbm90IHN1 cmUgd2hlbiBzZXQgJ210dScgdG8gJzE1MDAnIGFuZCAnbWF4X3J4X3BrdF9sZW4nIHRvICcxMDAw Jywgd2hhdCdzIHRoZSBiZWhhdmlvciBleHBlY3RlZD8NCj4gPj4+Pj4gSWYgc3RpbGwga2VlcCB0 aGUgJ21heF9yeF9wa3RfbGVuJyB2YWx1ZSwgdGhhdCBtZWFucyB0aGUgbGFyZ2VyICdtdHUnIHdp bGwgYmUgaW52YWxpZC4NCj4gPj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBXaHkgbm90IHNpbXBs eSBpbmNyZWFzZSB0aGUgZGVmYXVsdCAnbWF4X3J4X3BrdF9sZW4nIGluIHRlc3RwbWQ/DQo+ID4+ Pj4+Pg0KPiA+Pj4+PiBUaGUgZGVmYXVsdCAnbWF4X3J4X3BrdF9sZW4nIGhhcyBiZWVuIGluaXRp YWxpemVkIHRvIGdlbmVyaWNhbCB2YWx1ZSAoMTUxOCkgYW5kIGRlZmF1bHQgJ210dScgaXMgJzE1 MDAnIGluIHRlc3RwbWQsDQo+ID4+Pj4+IEJ1dCBpdCBpc24ndCBzdWl0YWJsZSB0byB0aG9zZSBO SUMgZHJpdmVycyB3aGljaCBFdGhlciBvdmVyaGVhZCBpcyBsYXJnZXIgdGhhbiAxOC4gKGUuZy46 IGljZSwgaTQwZSkgaWYgJ210dScgdmFsdWUgaXMgcHJlZmVyYWJsZS4NCj4gPj4+Pj4NCj4gPj4+ Pj4+IEFuZCBJIGd1ZXNzIGV2ZW4gYmV0dGVyIHdoYXQgd2UgbmVlZCBpcyB0byB0ZWxsIHRvIHRo ZSBhcHBsaWNhdGlvbiB3aGF0IHRoZQ0KPiA+Pj4+Pj4gZnJhbWUgb3ZlcmhlYWQgUE1EIGFjY2Vw dHMuDQo+ID4+Pj4+PiBTbyB0aGUgYXBwbGljYXRpb24gY2FuIHNldCBwcm9wZXIgJ21heF9yeF9w a3RfbGVuJyB2YWx1ZSBwZXIgcG9ydCBmb3IgYQ0KPiA+Pj4+Pj4gZ2l2ZW4vcmVxdWVzdGVkIE1U VSB2YWx1ZS4NCj4gPj4+Pj4+IEBJYW4sIGNjJ2VkLCB3YXMgY29tcGxhaW5pbmcgYWxtb3N0IHNh bWUgdGhpbmcgeWVhcnMgYWdvLCB0aGVzZSBQTUQNCj4gPj4+Pj4+IG92ZXJoZWFkIG1hY3JvcyBh bmQgJ21heF9tdHUnLydtaW5fbXR1JyBhZGRlZCBiZWNhdXNlIG9mIHRoYXQsIHBlcmhhcHMNCj4g Pj4+Pj4+IGhlIGhhcyBhIHNvbHV0aW9uIG5vdz8NCj4gPj4+Pg0KPiA+Pj4+ICAgRnJvbSBteSBw ZXJzcGVjdGl2ZSB0aGUgbWFpbiBwcm9ibGVtIGhlcmU6DQo+ID4+Pj4gV2UgaGF2ZSAyIGRpZmZl cmVudCB2YXJpYWJsZXMgZm9yIG5lYXJseSB0aGUgc2FtZSB0aGluZzoNCj4gPj4+PiBydGVfZXRo X2Rldl9kYXRhLm10dSBhbmQgcnRlX2V0aF9kZXZfZGF0YS5kZXZfY29uZi5tYXhfcnhfcGt0X2xl bi4NCj4gPj4+PiBhbmQgMiBkaWZmZXJlbnQgQVBJIHRvIHVwZGF0ZSB0aGVtOiBkZXZfbXR1X3Nl dCgpIGFuZCBkZXZfY29uZmlndXJlKCkuDQo+ID4+Pg0KPiA+Pj4gQWNjb3JkaW5nIEFQSSAnbWF4 X3J4X3BrdF9sZW4nIGlzICdPbmx5IHVzZWQgaWYgSlVNQk9fRlJBTUUgZW5hYmxlZCcNCj4gPj4+ IEFsdGhvdWdoIG5vdCBzdXJlIHRoYXQgaXMgcHJhY3RpY2FsbHkgd2hhdCBpcyBkb25lIGZvciBh bGwgZHJpdmVycy4NCj4gPj4NCj4gPj4gSSB0aGluayBtb3N0IG9mIEludGVsIFBNRHMgdXNlIGl0 IHVuY29uZGl0aW9uYWxseS4NCj4gPj4NCj4gPj4+DQo+ID4+Pj4gQW5kIGluc2lkZSBtYWpvcml0 eSBvZiBJbnRlbCBQTURzIHdlIGRvbid0IGtlZXAgdGhlc2UgMiB2YXJpYWJsZXMgaW4gc3luYzoN Cj4gPj4+PiAtIG10dV9zZXQoKSB3aWxsIHVwZGF0ZSBib3RoIHZhcmlhYmxlcy4NCj4gPj4+PiAt IGRldl9jb25maWd1cmUoKSB3aWxsIHVwZGF0ZSBvbmx5IG1heF9yeF9wa3RfbGVuLCBidXQgd2ls bCBrZWVwIG10dSBpbnRhY3QuDQo+ID4+Pj4NCj4gPj4+PiBUaGlzIHBhdGNoIGZpeGVzIHRoaXMg aW5jb25zaXN0ZW5jeSwgd2hpY2ggSSB0aGluayBpcyBhIGdvb2QgdGhpbmcuDQo+ID4+Pj4gVGhv dWdoIHllcywgaXQgaW50cm9kdWNlcyBjaGFuZ2UgaW4gYmVoYXZpb3VyLg0KPiA+Pj4+DQo+ID4+ Pj4gTGV0IHNheSB0aGUgY29kZToNCj4gPj4+PiBydGVfZXRoX2Rldl9zZXRfbXR1KHBvcnQsIDE1 MDApOw0KPiA+Pj4+IGRldl9jb25mLm1heF9yeF9wa3RfbGVuID0gMTAwMDsNCj4gPj4+PiBydGVf ZXRoX2Rldl9jb25maWd1cmUocG9ydCwgMSwgMSwgJmRldl9jb25mKTsNCj4gPj4+Pg0KPiA+Pj4N Cj4gPj4+ICdydGVfZXRoX2Rldl9jb25maWd1cmUoKScgaXMgb25lIG9mIHRoZSBmaXJzdCBBUElz IGNhbGxlZCwgaXQgaXMgY2FsbGVkIGJlZm9yZQ0KPiA+Pj4gJ3J0ZV9ldGhfZGV2X3NldF9tdHUo KS4NCj4gPj4NCj4gPj4gVXN1YWxseSB5ZXMuDQo+ID4+IEJ1dCB5b3UgY2FuIHN0aWxsIGRvIHNv bWV0aW1lcyBsYXRlcjogZGV2X210dV9zZXQoKTsgLi4uOyBkZXZfc3RvcCgpOyBkZXZfY29uZmln dXJlKCk7IGRldl9zdGFydCgpOw0KPiA+Pg0KPiA+Pj4NCj4gPj4+IFdoZW4gJ3J0ZV9ldGhfZGV2 X2NvbmZpZ3VyZSgpJyBpcyBjYWxsZWQsIE1UVSBpcyBzZXQgdG8gJzE1MDAnIGJ5IGRlZmF1bHQg YnkNCj4gPj4+IGV0aGRldiBsYXllciwgc28gaXQgaXMgbm90IHVzZXIgY29uZmlndXJhdGlvbiwg YnV0ICdtYXhfcnhfcGt0X2xlbicgaXMuDQo+ID4+DQo+ID4+IFNlZSBhYm92ZS4NCj4gPj4gUE1E IGRvZXNuJ3Qga25vdyB3aGVyZSB0aGlzIE1UVSB2YWx1ZSBjYW1lIGZyb20gKGRlZmF1bHQgZXRo ZGV2IHZhbHVlIG9yIHVzZXIgc3BlY2lmaWVkIHZhbHVlKQ0KPiA+PiBhbmQgcHJvYmFibHkgaXQg c2hvdWxkbid0IGNhcmUuDQo+ID4+DQo+ID4+Pg0KPiA+Pj4gQW5kIGxhdGVyLCB3aGVuICdydGVf ZXRoX2Rldl9zZXRfbXR1KCknIGlzIGNhbGxlZCwgYnV0IE1UVSBhbmQgJ21heF9yeF9wa3RfbGVu Jw0KPiA+Pj4gYXJlIHVwZGF0ZWQgKG1vc3RseSkuDQo+ID4+DQo+ID4+IFllcywgaW4gbXR1X3Nl dCgpIHdlIHVwZGF0ZSBib3RoLg0KPiA+PiBCdXQgd2UgZG9uJ3QgdXBkYXRlIE1UVSBpbiBkZXZf Y29uZmlndXJlKCksIG9ubHkgbWF4X3J4X3BrdF9sZW4uDQo+ID4+IFRoYXQgd2hhdCB0aGlzIHBh dGNoIHRyaWVzIHRvIGZpeCAoYXMgSSB1bmRlcnN0YW5kIGl0KS4NCj4gPg0KPiA+IFRvIGJlIG1v cmUgcHJlY2lzZSAtIGl0IGRvZXNuJ3QgY2hhbmdlIE1UVSB2YWx1ZSBpbiBkZXZfY29uZmlndXJl KCksDQo+ID4gYnV0IGluc3RlYWQgZG9lc24ndCBhbGxvdyBtYXhfcnhfcGt0X2xlbiB0byBiZWNv bWUgc21hbGxlcg0KPiA+IHRoZW4gTVRVICsgT1ZFUkhFQUQuDQo+ID4gUHJvYmFibHkgY2hhbmdp bmcgTVRVIHZhbHVlIGluc3RlYWQgaXMgYSBiZXR0ZXIgY2hvaWNlLg0KPiA+DQo+IA0KPiArMSB0 byBjaGFuZ2UgbXR1IGZvciB0aGlzIGNhc2UuDQo+IEFuZCB0aGlzIGlzIHdoYXQgaGFwcGVucyBp biBwcmFjdGljZSB3aGVuIHRoZXJlIGlzIG5vICdydGVfZXRoX2Rldl9zZXRfbXR1KCknDQo+IGNh bGwsIHNpbmNlIFBNRCBpcyB1c2luZyAoJ21heF9yeF9wa3RfbGVuJyAtIE9WRVJIRUFEKSB0byBz ZXQgTVRVLg0KDQpIbW0sIEkgZG9uJ3Qgc2VlIHRoYXQgaGFwcGVucyB3aXRoaW4gSW50ZWwgUE1E cy4NCkFzIEkgY2FuIHJlYWQgdGhlIGNvZGU6IGlmIHVzZXIgbmV2ZXIgY2FsbCBtdHVfc2V0KCks IHRoZW4gTVRVIHZhbHVlIGlzIGxlZnQgaW50YWN0Lg0KDQo+IEJ1dCB0aGlzIHdvbid0IHNvbHZl IHRoZSBwcm9ibGVtIFN0ZXZlIGlzIHRyeWluZyB0byBzb2x2ZS4NCg0KWW91IG1lYW4gd2Ugc3Rp bGwgbmVlZCB0byB1cGRhdGUgdGVzdC1wbWQgY29kZSB0byBjYWxjdWxhdGUgbWF4X3J4X3BrdF9s ZW4NCnByb3Blcmx5IGZvciBkZWZhdWx0IG10dSB2YWx1ZT8NCg0KPiA+Pj4NCj4gPj4+DQo+ID4+ Pj4gQmVmb3JlIHRoZSBwYXRjaCB3aWxsIHJlc3VsdDoNCj4gPj4+PiBtdHU9PTE1MDAsIG1heF9y eF9wa3RfbGVuPTEwMDA7ICAvL291dCBvZiBzeW5jIGxvb2tzIHdyb25nIHRvIG1lDQo+ID4+Pj4N Cj4gPj4+PiBBZnRlciB0aGUgcGF0Y2g6DQo+ID4+Pj4gbXR1PTE1MDAsIG1heF9yeF9wdGtfbGVu PTE1MTg7IC8vIGluIHN5bmMsIGNoYW5nZSBpbiBiZWhhdmlvdXIuDQo+ID4+Pj4NCj4gPj4+PiBJ ZiB5b3UgdGhpbmsgd2UgbmVlZCB0byBwcmVzZXJ2ZSBjdXJyZW50IGJlaGF2aW91ciwNCj4gPj4+ PiB0aGVuIEkgc3VwcG9zZSB0aGUgZWFzaWVzdCB0aGluZyB3b3VsZCBiZSB0byBjaGFuZ2UgZGV2 X2NvbmZpZygpIGNvZGUNCj4gPj4+PiB0byB1cGRhdGUgbXR1IHZhbHVlIGJhc2VkIG9uIG1heF9y eF9wa3RfbGVuLg0KPiA+Pj4+IEkuRTogZGV2X2NvbmZpZ3VyZSB7Li4uOyBtdHVfc2V0KG1heF9y eF9wa3RfbGVuIC0gT1ZFUkhFQUQpOyAuLi59DQo+ID4+Pj4gU28gdGhlIGNvZGUgc25pcHBldCBh Ym92ZSB3aWxsIHJlc3VsdDoNCj4gPj4+PiBtdHU9OTgyLG1heF9yeF9wa3RfbGVuPTEwMDA7DQo+ ID4+Pj4NCj4gPj4+DQo+ID4+PiBUaGUgJ21heF9yeF9wdGtfbGVuJyBpcyBhbm5veWFuY2UgZm9y IGEgbG9uZyB0aW1lLCB3aGF0IGRvIHlvdSB0aGluayB0byBqdXN0DQo+ID4+PiBkcm9wIGl0Pw0K PiA+Pj4NCj4gPj4+IEJ5IGRlZmF1bHQgZGV2aWNlIHdpbGwgYmUgdXAgd2l0aCBkZWZhdWx0IE1U VSAoMTUwMCksIGxhdGVyDQo+ID4+PiAncnRlX2V0aF9kZXZfc2V0X210dScgY2FuIGJlIHVzZWQg dG8gc2V0IHRoZSBNVFUsIG5vIGZyYW1lIHNpemUgc2V0dGluZyBhdCBhbGwuDQo+ID4+Pg0KPiA+ Pj4gV2lsbCB0aGlzIHdvcms/DQo+ID4+DQo+ID4+IEkgdGhpbmsgaXQgbWlnaHQsIGJ1dCB0aGF0 J3MgYSBiaWcgY2hhbmdlLCBwcm9iYWJseSB0b28gcmlza3kgYXQgdGhhdCBzdGFnZS4uLg0KPiA+ Pg0KPiANCj4gRGVmaW50ZWx5LCBJIHdhcyB0aGlua2luZyBmb3IgMjEuMTEuIExldCBtZSBzZW5k IGEgZGVwcmVjYXRpb24gbm90aWNlIGFuZCBzZWUNCj4gd2hhdCBoYXBwZW5zLg0KPiANCj4gPj4N Cj4gPj4+DQo+ID4+Pg0KPiA+Pj4gQW5kIGZvciBzaG9ydCB0ZXJtLCBmb3IgYWJvdmUgSW50ZWwg UE1EcywgdGhlcmUgbXVzdCBiZSBhIHBsYWNlIHRoaXMNCj4gPj4+ICdtYXhfcnhfcGt0X2xlbicg dmFsdWUgdGFrZW4gaW50byBhY2NvdW50IChtb3N0bHkgJ3N0YXJ0KCknIGRldl9vcHMpLCB0aGF0 DQo+ID4+PiBmdW5jdGlvbiBjYW4gYmUgdXBkYXRlZCB0byB0YWtlICdtYXhfcnhfcGt0X2xlbicg b25seSBpZiBKVU1CT19GUkFNRSBzZXQsDQo+ID4+PiBvdGhlcndpc2UgdXNlIHRoZSAnTVRVJyB2 YWx1ZS4NCj4gPj4NCj4gPj4gRXZlbiBpZiB3ZSdsbCB1c2UgbWF4X3J4X3BrdF9sZW4gb25seSB3 aGVuIGlmIEpVTUJPX0ZSQU1FIGlzIHNldCwNCj4gPj4gSSB0aGluayB3ZSBzdGlsbCBuZWVkIHRv IGtlZXAgbWF4X3J4X3BrdF9sZW4gYW5kIE1UVSB2YWx1ZXMgaW4gc3luYy4NCj4gPj4NCj4gPj4+ DQo+ID4+PiBXaXRob3V0ICdzdGFydCgpJyB1cGRhdGVkIHRoZSBjdXJyZW50IGxvZ2ljIHdvbid0 IHdvcmsgYWZ0ZXIgc3RvcCAmIHN0YXJ0IGFueXdheS4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4+DQo+ ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEFuZCB3aHkgdGhpcyBz YW1lIHRoaW5nIGNhbid0IGhhcHBlbiB0byBvdGhlciBQTURzPyBJZiB0aGlzIGlzIGEgcHJvYmxl bSBmb3INCj4gPj4+Pj4+IGFsbCBQTURzLCB3ZSBzaG91bGQgc29sdmUgaW4gb3RoZXIgbGV2ZWws IG5vdCBmb3Igb25seSBzb21lIFBNRHMuDQo+ID4+Pj4+Pg0KPiA+Pj4+PiBObywgYWxsIFBNRHMg ZXhpc3QgdGhlIHNhbWUgaXNzdWUsIGFub3RoZXIgcHJvcG9zYWw6DQo+ID4+Pj4+ICAgIC0gIHJ0 ZV9ldGhkZXYgcHJvdmlkZXMgdGhlIHVuaXF1ZSByZXNpemUgJ21heF9yeF9wa3RfbGVuJyBpbiBy dGVfZXRoX2Rldl9jb25maWd1cmUoKTsNCj4gPj4+Pj4gICAgLSBwcm92aWRlIHRoZSB1bmlmb3Jt IEFQSSBmb3IgZmV0Y2hpbmcgdGhlIE5JQydzIHN1cHBvcnRlZCBFdGhlciBPdmVyaGVhZCBzaXpl Ow0KPiA+Pj4+PiBJcyBpdCBmZWFzaWJsZT8NCj4gPj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ PiBHZW5lcmFsbHksIHRoZSBtdHUgdmFsdWUgY2FuIGJlIGFkanVzdGFibGUgZnJvbSB1c2VyIChl LmcuOiBpcCBsaW5rDQo+ID4+Pj4+Pj4+IHNldCBlbnM4MDFmMCBtdHUgMTQwMCksIGhlbmNlLCB3 ZSBqdXN0IGFkanVzdCB0aGUgbWF4X3J4X3BrdF9sZW4gdG8NCj4gPj4+Pj4+Pj4gc2F0aXNmeSBt dHUgcmVxdWlyZW1lbnQuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBTaG91bGQgd2UganVzdCBj YWxsIGljZV9tdHVfc2V0KGRldiwgZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3RfbGVuKQ0KPiA+ Pj4+Pj4+Pj4gaGVyZT8NCj4gPj4+Pj4+Pj4gaWNlX210dV9zZXQoZGV2LCBtdHUpIHdpbGwgYXBw ZW5kIGV0aGVyIG92ZXJoZWFkIHRvDQo+ID4+Pj4+Pj4+IGZyYW1lX3NpemUvbWF4X3J4X3BrdF9s ZW4sIHNvIHdlIG5lZWQgcGFzcyB0aGUgbXR1IHZhbHVlIGFzIHRoZSAybmQNCj4gPj4+Pj4+Pj4g cGFyYW1ldGVyLCBvciBub3QgdGhlIG1heF9yeF9wa3RfbGVuLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4gQW5kIHBsZWFz ZSByZW1vdmUgYWJvdmUgY29tbWVudCwgc2luY2UgZXRoZXIgb3ZlcmhlYWQgaXMgYWxyZWFkeQ0K PiA+Pj4+Pj4+Pj4+IGNvbnNpZGVyZWQgaW4gaWNlX210dV9zZXQuDQo+ID4+Pj4+Pj4+IEV0aGVy IG92ZXJoZWFkIGlzIGFscmVhZHkgY29uc2lkZXJlZCBpbiBpY2VfbXR1X3NldCwgYnV0IGl0IGFs c28NCj4gPj4+Pj4+Pj4gc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgdGhlIGFkanVzdG1lbnQgY29u ZGl0aW9uIHRoYXQgaWYgaWNlX210dV9zZXQNCj4gPj4+Pj4+IG5lZWQgYmUgaW52b2tlZC4NCj4g Pj4+Pj4+Pj4gU28sIGl0IHBlcmhhcHMgc2hvdWxkIHJlbWFpbiB0aGlzIGNvbW1lbnQgYmVmb3Jl IHRoaXMgaWYoKSBjb25kaXRpb24uDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiArcmV0ID0gaWNlX210dV9zZXQoZGV2LCBkZXYtPmRhdGEt Pm10dSk7IGlmIChyZXQgIT0gMCkgcmV0dXJuDQo+ID4+Pj4+Pj4+Pj4+PiArcmV0OyB9DQo+ID4+ Pj4+Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+Pj4+PiAgICAgcmV0ID0gaWNlX2luaXRfcnNzKHBmKTsN Cj4gPj4+Pj4+Pj4+Pj4+ICAgICBpZiAocmV0KSB7DQo+ID4+Pj4+Pj4+Pj4+PiAgICAgUE1EX0RS Vl9MT0coRVJSLCAiRmFpbGVkIHRvIGVuYWJsZSByc3MgZm9yIFBGIik7DQo+ID4+Pj4+Pj4+Pj4+ PiAtLQ0KPiA+Pj4+Pj4+Pj4+Pj4gMi4xNy4xDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pg0KPiA+DQoNCg==