From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 52E21A0548; Mon, 5 Jul 2021 10:02:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 042B440141; Mon, 5 Jul 2021 10:02:22 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 0C9F84003C for ; Mon, 5 Jul 2021 10:02:19 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10035"; a="208981371" X-IronPort-AV: E=Sophos;i="5.83,325,1616482800"; d="scan'208";a="208981371" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2021 01:02:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,325,1616482800"; d="scan'208";a="559604115" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga004.jf.intel.com with ESMTP; 05 Jul 2021 01:02:06 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Mon, 5 Jul 2021 01:02:06 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 5 Jul 2021 01:02:05 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Mon, 5 Jul 2021 01:02:05 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.170) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Mon, 5 Jul 2021 01:02:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T9CAvQmvOe/68maRBgQix4ALi2Ig6DMgA9T0LwV2pILBI1vUAr3z3bYQ7Zto/cThCbW3955F6Jv7nSpMeYJOxXvpVP+/vo4bHayOVPrkJqBMlioj+gF9/I2VNDPAl9i+oBBf5npN/sMUj9Kdpbv4fKZXitU8QDskqx8xDJ7gBx5B0dWQa7c8L0LF9URgfLLEBcEqtBm968iXRbdt9M/5qKNteKBKH02bS+eourwJOUH9BfHlM7dNef1GdMuwuvA87GjPd1ruhrb5A0oekXZtkkuoLjyNt/nvJqlUur5rbQYUIQfuF9OiPqFc8KuYww9HwV9fOOsi6AwFg15U4gZx4Q== 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=Qyo91ZgHkpwlKIUrVk+wDwslUFnM0UYUQVg5lv9peaE=; b=CfrntoAWKySqnuxsoxGpgWU6o8Wf14UdmJrrgEhLpQIQakVqvvwOJa5vXX4mgVpx41bihtvApi2GBxXa/zaDqo8IFEqRidzeQaIb1ubVgaG7znceay73cFZt4RIrcfZk+WhL87T0MUpcRvr7d0XX7bXJsPA06CltAokmgrYnxIy23ph8VwamyC9IRMpVhv0aYhTwthlu0s+FtU7PnwSDLqI6ZndKj+IUSEBCLLRivvupEfV21V7fdjCkkKCo2PbjsZg2apW3viFq5wEPbEEI87NEy/MqN/XYKcPoiLHXlE2jlMKDDQDMZzUc+uZOtDhRfiBQT9MHg9YMUPm24cWD8w== 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=Qyo91ZgHkpwlKIUrVk+wDwslUFnM0UYUQVg5lv9peaE=; b=POqPqr9xtMW9cvRVQI0Qp+dbw5TZS0GXsa12hl9AZksZkk1UWRmfyWmtCxSswsNpxpNfbNI+YRxGca6ixFNDWVZzhEnlg55XDobE7yQXCfAATZy8ea4AZPM/aMY8JN0ZB+YKMns6Q9+ags95u3DQZxancnRuYRT01adqXX4sSuI= Received: from BN8PR11MB3795.namprd11.prod.outlook.com (2603:10b6:408:82::31) by BN8PR11MB3732.namprd11.prod.outlook.com (2603:10b6:408:83::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.33; Mon, 5 Jul 2021 08:02:01 +0000 Received: from BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::8807:6661:e425:102]) by BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::8807:6661:e425:102%7]) with mapi id 15.20.4287.033; Mon, 5 Jul 2021 08:02:01 +0000 From: "Wang, Haiyue" To: David Marchand CC: "dev@dpdk.org" , "Yang, Qiming" , "Zhang, Qi Z" Thread-Topic: [dpdk-dev] [PATCH v3 1/2] net/ice: factorize firmware loading Thread-Index: AQHXbL3LHM6wvHCgqECmshcrHyKK1Kszo0VAgABcUoCAAA5jwA== Date: Mon, 5 Jul 2021 08:02:01 +0000 Message-ID: References: <20210602095836.24901-1-david.marchand@redhat.com> <20210629080632.30964-1-david.marchand@redhat.com> <20210629080632.30964-2-david.marchand@redhat.com> In-Reply-To: Accept-Language: zh-CN, 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.6.0.76 authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.54] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 35c14d0f-15f9-4436-35e3-08d93f8b2b99 x-ms-traffictypediagnostic: BN8PR11MB3732: 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:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TliGlDHV0ntTu9AYSVPiKqg0QHSbTor0RGSoHT2uKjV3NsrN3QFqG8e/icE+uY2plxn/Ir9jygTvVezKvcz1mchVL6ZAylflaR3IaAUznh2Wn5YasxGOmUGaCROz9cf50Ggg3FWpTKG1BoKiJYcIZ00sDiNWzcltJiz7NcNbeeZPV0vV6wriTNlQTi8z00SAJE4bfAN/ByZgMybfc3X/iN3KCS1QVV8nbGkI+uiXUT1mK18U/jDEDyFU0FWfkguUsALxWHGUGiDPm9rlgCKUuQaC3IKuV7wCmTETzxu1HwR6RjMqALYg/jVUkpmsCz7xt1PqS2uRpfNcZezjclcF81BTQRvRlrk7q+lfKWW4jGAjTZwkS6WngwikmnMF1mthTOzikL5StxnhJ6TYSyfau2nyckJwtGD1UHGaxzTA5dpRzweB7rmV0v6McfCe5zAAF7PHRBb0uzIMrPNiy3IROSajCBl91GJ6sBtaPaCoNRmRHb6CWs0i0ZQu9fhaJNvro4LvigohxdEcW7huw3b2PTTnNmyf0YUplKQi1JNLsR/zR8OxNXzy4+fu+gTPyclaGtvfEiViIKUvqELNyx1bLPeX+3IPducntQ5hKmD1zjooXowoBggcCbC3dC9bDpHgd0Xph7zxm24DVL2KVCvUEQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR11MB3795.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(346002)(136003)(39860400002)(376002)(366004)(52536014)(478600001)(76116006)(8936002)(55016002)(64756008)(66946007)(53546011)(33656002)(8676002)(6506007)(66476007)(9686003)(66556008)(107886003)(6916009)(66446008)(26005)(71200400001)(7696005)(86362001)(122000001)(38100700002)(83380400001)(186003)(5660300002)(2906002)(4326008)(316002)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L28yYXZ3NDhrUkd2S1RTVEZ3WFA0Mit3WU9WclB6bkRsL1RyMU0xREpBYkFC?= =?utf-8?B?YTd0b1BPVXYwWENhSkFpdHdWbEN3Rm1kTnIyR1hCZEpHeGM3SkpwNFlDWFNX?= =?utf-8?B?M3NZWUZuTGQvVXdZdStLZUVYQlJQV2gwRlZyaTFlMUQwVTd6b1dXTkI4cEhx?= =?utf-8?B?VTYyeVNjZ2hacHQzZHB6OG0zeVc5U05scENVbUs0WWxNdGFRMzZDc3JUODdU?= =?utf-8?B?WVVkTVdjWUhmYVZybW5OL0NmcmxUL0xaTzN6TVlCWFlQMGFVYVNHR05IQkZV?= =?utf-8?B?bFJRN2pnWGh0M1NDN2tyaU1hZThBTEJzWFdNeFFGblU5YnFqUlFuUm16M3Jp?= =?utf-8?B?REg2WW43S3dOK1psTE1kNElQUHVmUUJVZ1BtNVQwNGNmTTdaNmc3UU5xY0JF?= =?utf-8?B?NGZxRUhaOVVRbXJIUXR5dGhhb3RvUkhDdlFQR1ZGWDZsRTJUN25SV0tuRUk1?= =?utf-8?B?RFZZaW5qZUJIOEFMNzYrd3FmZnFubXUwYzFSQ2cxZDYzejArb0hCb2xGbnZr?= =?utf-8?B?NDJLeWU1ZmMzaGl2TE9zUnVjcWxLRHErT1JUeFFlSi9QQVJEYlEwZUNFcEdi?= =?utf-8?B?R21YSTFEamRRKzFDdUFJaFN2YnBXMXNzUUpqaGRsSDdOZStlcmJvUkZBZ2da?= =?utf-8?B?dW1kWDNCMGFCSFIrSjRJMksvZVQ2Z1MvU1AxanVTQjh2RkErN3lrV1JKQ0R5?= =?utf-8?B?ZVhUZktMY3ZtM0ZjMjFaeUN0eFpLWlFBbkdVYk9XVEd1ei9Pek84dGY1R1V2?= =?utf-8?B?SG5ERUpRZVpCazRUVmc5MndONUJ2L3plMm91RmN3S1piV09tYjh1S2Zrbmd1?= =?utf-8?B?b0FMR01ieGp1cDVrTkFNVWxGakhGTkFTSGRVdnhOb3orOGViclh3YmcvK0tE?= =?utf-8?B?WVA1ZlpZRTdNN3pxSW1xbW83N3VkUlV0Ui9wOHNnRHdBUHN1RDFpQ01kQlBu?= =?utf-8?B?NU53dmg2VHVFNVZDL1ZvR2hYRFhtSWpMclNEM0JQWkszTU4zMDkxWkEvdzl4?= =?utf-8?B?YWJxZVRxTU1xdDExUDR5VG9yVC9TVWcvZWRoY0x2UktGOFI2RW4wUmVUTnB3?= =?utf-8?B?MHRKcFdTdXkwOURlL2NGYzVGRDdPR3FmYWJxSTBBbW9IbUVDMnBQM2J2eUU1?= =?utf-8?B?Qk4rS0gwZTA1djNtNFc3L05CUHdVSExPYWk2anViY01CcmE3dXprQVREeFNm?= =?utf-8?B?ZkNJcFJ3cFkrZ2E4UUZLN21CTEh2Z1ZFOEYvWWNiWVMwT3o0dTY3dVErWC9m?= =?utf-8?B?NWZnZTFmU250RlhnRmdBblJkL1FqRWxpZDVRVlZ6akthZmgrZUl2bmlRRG9t?= =?utf-8?B?d0FFV1duK3I3RHZxcE13U3JIR29VYlMwdGYxUVhRVmh5VlVYWkRObm1ycGNy?= =?utf-8?B?V3pTZFZaWVJqM0tlaEF2R0FBMXlEYllVb2xFM1QzU2t5UDEzNDdFQnFwR3lE?= =?utf-8?B?RFRXMWhrQXpSMEtvaXVCakQ1YjNyZlNVdGsxbFlWclRkNWpiSExFWGdYNXBE?= =?utf-8?B?Q2RtV2xmVGRVUlJwN1hFaUJ0Q3YxZUdQR3pCbWdTSWpkOVd2dS9oaTBycEJL?= =?utf-8?B?WFhJMUdwS0FMclMyRm41enE0SUJSRnhFYW1yRFE4WW5QNXRPejBBUlBUaU5z?= =?utf-8?B?ai8wSW8rblk2eTNjdHJjUzNLRnZRd3Q0ZlJteUFUaGZRWVFueHUxWUFZMkRG?= =?utf-8?B?c0NPdWxaM1JUVTY1SFlwMDZBQlhBeGp1TjdRSmZWNWZGWjZBVkw0dzVqMzgy?= =?utf-8?Q?ozubX8eIxqBGEOTdL4=3D?= 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: BN8PR11MB3795.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35c14d0f-15f9-4436-35e3-08d93f8b2b99 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jul 2021 08:02:01.0772 (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: 0NkfCLwRqEl5mfpAN7o+Et33g36qkT+Rp9u/kIYU1oyYO2sdP4ivk7ZaghLkK6fQ9IqdWllTFfmehCiwsbJ56g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3732 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 1/2] net/ice: factorize firmware loading X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEYXZpZCBNYXJjaGFuZCA8ZGF2 aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gU2VudDogTW9uZGF5LCBKdWx5IDUsIDIwMjEgMTU6 MDgNCj4gVG86IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPg0KPiBDYzogZGV2 QGRwZGsub3JnOyBZYW5nLCBRaW1pbmcgPHFpbWluZy55YW5nQGludGVsLmNvbT47IFpoYW5nLCBR aSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BB VENIIHYzIDEvMl0gbmV0L2ljZTogZmFjdG9yaXplIGZpcm13YXJlIGxvYWRpbmcNCj4gDQo+IE9u IE1vbiwgSnVsIDUsIDIwMjEgYXQgMzo0MyBBTSBXYW5nLCBIYWl5dWUgPGhhaXl1ZS53YW5nQGlu dGVsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBIaSBEYXZpZCwNCj4gPg0KPiA+ID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+ IE9uIEJlaGFsZiBPZiBEYXZpZCBNYXJjaGFuZA0KPiA+ID4gU2VudDogVHVlc2RheSwgSnVuZSAy OSwgMjAyMSAxNjowNw0KPiA+ID4gVG86IGRldkBkcGRrLm9yZw0KPiA+ID4gQ2M6IFlhbmcsIFFp bWluZyA8cWltaW5nLnlhbmdAaW50ZWwuY29tPjsgWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50 ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogW2RwZGstZGV2XSBbUEFUQ0ggdjMgMS8yXSBuZXQvaWNl OiBmYWN0b3JpemUgZmlybXdhcmUgbG9hZGluZw0KPiA+ID4NCj4gPiA+IEJvdGggIm5vcm1hbCIg YW5kICJkY2YiIGluaXRzIGhhdmUgdGhlaXIgY29weSBvZiBzb21lIGZpcm13YXJlIGxvYWRpbmcN Cj4gPiA+IGNvZGUuDQo+ID4gPg0KPiA+ID4gVGhlIERTTiBxdWVyeSBpcyBtb3ZlZCBpbiBzcGVj aWZpYyBwYXJ0cyBmb3IgdGhlICJub3JtYWwiIGFuZCAiZGNmIiBpbml0Lg0KPiA+ID4NCj4gPiA+ IEEgY29tbW9uIGhlbHBlciBpY2VfbG9hZF9wa2cgaXMgdGhlbiBpbnRyb2R1Y2VkIGFuZCB0YWtl cyBhbiBhZGFwdGVyDQo+ID4gPiBwb2ludGVyIGFzIGl0cyBtYWluIGlucHV0Lg0KPiA+ID4NCj4g PiA+IFRoaXMgaGVscGVyIHRha2VzIGNhcmUgb2YgZmluZGluZyB0aGUgcmlnaHQgZmlybXdhcmUg ZmlsZSBhbmQgbG9hZGluZw0KPiA+ID4gaXQuDQo+ID4gPiBUaGUgYWRhcHRlciBhY3RpdmVfcGtn X3R5cGUgZmllbGQgaXMgc2V0IGJ5IHRoaXMgaGVscGVyLg0KPiA+ID4NCj4gPiA+IFRoZSBpY2Vf YWNjZXNzIG1hY3JvIGlzIHJlbW92ZWQgZnJvbSB0aGUgb3NkZXAuaCBoZWFkZXI6IG9zZGVwLmgg c2hvdWxkDQo+ID4gPiBvbmx5IGhvc3RzIHdyYXBwZXJzIGZvciBiYXNlIGRyaXZlciBjb2RlLg0K PiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFu ZEByZWRoYXQuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNl X29zZGVwLmggfCAgIDYgLS0NCj4gPiA+ICBkcml2ZXJzL25ldC9pY2UvaWNlX2RjZl9wYXJlbnQu YyB8ICA5NyArKy0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAgZHJpdmVycy9uZXQvaWNlL2ljZV9l dGhkZXYuYyAgICAgfCAxNjEgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4g IGRyaXZlcnMvbmV0L2ljZS9pY2VfZXRoZGV2LmggICAgIHwgICAzICstDQo+ID4gPiAgNCBmaWxl cyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCAxNzkgZGVsZXRpb25zKC0pDQo+ID4gPg0KPiA+ DQo+ID4NCj4gPiA+ICsgICAgIGlmICghdXNlX2RzbikNCj4gPiA+ICsgICAgICAgICAgICAgZ290 byBub19kc247DQo+ID4gPiArDQo+ID4gPiArICAgICBtZW1zZXQob3B0X2RkcF9maWxlbmFtZSwg MCwgSUNFX01BWF9QS0dfRklMRU5BTUVfU0laRSk7DQo+ID4gPiArICAgICBzbnByaW50ZihvcHRf ZGRwX2ZpbGVuYW1lLCBJQ0VfTUFYX1BLR19GSUxFTkFNRV9TSVpFLA0KPiA+ID4gKyAgICAgICAg ICAgICAiaWNlLSUwMTYiIFBSSXg2NCAiLnBrZyIsIGRzbik7DQo+ID4gPiArICAgICBzdHJuY3B5 KHBrZ19maWxlLCBJQ0VfUEtHX0ZJTEVfU0VBUkNIX1BBVEhfVVBEQVRFUywNCj4gPiA+ICsgICAg ICAgICAgICAgSUNFX01BWF9QS0dfRklMRU5BTUVfU0laRSk7DQo+ID4gPiArICAgICBpZiAoIWlj ZV9hY2Nlc3Moc3RyY2F0KHBrZ19maWxlLCBvcHRfZGRwX2ZpbGVuYW1lKSwgMCkpDQo+ID4gPiAr ICAgICAgICAgICAgIGdvdG8gbG9hZF9mdzsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIHN0cm5jcHko cGtnX2ZpbGUsIElDRV9QS0dfRklMRV9TRUFSQ0hfUEFUSF9ERUZBVUxULA0KPiA+ID4gKyAgICAg ICAgICAgICBJQ0VfTUFYX1BLR19GSUxFTkFNRV9TSVpFKTsNCj4gPiA+ICsgICAgIGlmICghaWNl X2FjY2VzcyhzdHJjYXQocGtnX2ZpbGUsIG9wdF9kZHBfZmlsZW5hbWUpLCAwKSkNCj4gPiA+ICsg ICAgICAgICAgICAgZ290byBsb2FkX2Z3Ow0KPiA+ID4gKw0KPiA+ID4gK25vX2RzbjoNCj4gPiA+ ICsgICAgIHN0cm5jcHkocGtnX2ZpbGUsIElDRV9QS0dfRklMRV9VUERBVEVTLCBJQ0VfTUFYX1BL R19GSUxFTkFNRV9TSVpFKTsNCj4gPiA+ICsgICAgIGlmICghaWNlX2FjY2Vzcyhwa2dfZmlsZSwg MCkpDQo+ID4gPiArICAgICAgICAgICAgIGdvdG8gbG9hZF9mdzsNCj4gPiA+ICsgICAgIHN0cm5j cHkocGtnX2ZpbGUsIElDRV9QS0dfRklMRV9ERUZBVUxULCBJQ0VfTUFYX1BLR19GSUxFTkFNRV9T SVpFKTsNCj4gPiA+ICsgICAgIGlmIChpY2VfYWNjZXNzKHBrZ19maWxlLCAwKSkgew0KPiA+ID4g ICAgICAgICAgICAgICBQTURfSU5JVF9MT0coRVJSLCAiZmFpbGVkIHRvIHNlYXJjaCBmaWxlIHBh dGhcbiIpOw0KPiA+ID4gLSAgICAgICAgICAgICByZXR1cm4gZXJyOw0KPiA+ID4gKyAgICAgICAg ICAgICByZXR1cm4gLTE7DQo+ID4gPiAgICAgICB9DQo+ID4gPg0KPiA+ID4gK2xvYWRfZnc6DQo+ ID4gPiAgICAgICBmaWxlID0gZm9wZW4ocGtnX2ZpbGUsICJyYiIpOw0KPiA+ID4gICAgICAgaWYg KCFmaWxlKSAgew0KPiA+ID4gICAgICAgICAgICAgICBQTURfSU5JVF9MT0coRVJSLCAiZmFpbGVk IHRvIG9wZW4gZmlsZTogJXNcbiIsIHBrZ19maWxlKTsNCj4gPiA+ICAgICAgICAgICAgICAgcmV0 dXJuIC0xOw0KPiA+ID4gICAgICAgfQ0KPiA+ID4NCj4gPg0KPiA+IEknbSB3b25kZXJpbmcgd2hh dCdzIGZ1bGwgbmFtZSBmb3IgaWNlIGZpcm13YXJlIGluIEYzNCwgaGFzIGFueSAqLnh6DQo+ID4g cG9zdGZpeCA/IElmIHNvLCB0aGUgc2VhcmNoIG1ldGhvZCB3aWxsIGFsc28gbmVlZHMgdG8gYmUg dXBkYXRlZCwgc2luY2UNCj4gPiB3ZSB3aWxsIGNoZWNrIGVhY2ggZmlsZSBjYW4gYmUgYWNjZXNz ZWQ6DQo+ID4NCj4gPiAjZGVmaW5lIElDRV9QS0dfRklMRV9ERUZBVUxUICIvbGliL2Zpcm13YXJl L2ludGVsL2ljZS9kZHAvaWNlLnBrZyINCj4gPiAjZGVmaW5lIElDRV9QS0dfRklMRV9VUERBVEVT ICIvbGliL2Zpcm13YXJlL3VwZGF0ZXMvaW50ZWwvaWNlL2RkcC9pY2UucGtnIg0KPiANCj4gVGhp cyBmaXJzdCBwYXRjaCBpcyBhIHByZXBhcmF0aW9uIHRvIGhhdmUgYSBzaW5nbGUgaGVscGVyIHRv DQo+IHNlbGVjdC9vcGVuIHRoZSBmaXJtd2FyZS4NCj4gSSBkb24ndCBnZXQgd2hhdCB5b3UgbWVh bi4NCg0KU2luY2UgdGhlIHBrZyBmaWxlIGhhcyB0aGUgKi54eiwgbm93IHRoZSBzZWFyY2ggbWV0 aG9kIGRvZXNuJ3Qgd29yay4gWW91IGZpeA0KdGhlIHJlYWQgb25seS4gOy0pDQoNCj4gDQo+IElz IHRoZXJlIGEgY2hhbmdlIGluIGJlaGF2aW9yIHdpdGggdGhpcyBwYXRjaD8NCj4gDQo+IA0KPiAt LQ0KPiBEYXZpZCBNYXJjaGFuZA0KDQo=