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 15A2AA04F3; Fri, 3 Jan 2020 10:12:15 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 484551C2E7; Fri, 3 Jan 2020 10:12:14 +0100 (CET) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40085.outbound.protection.outlook.com [40.107.4.85]) by dpdk.org (Postfix) with ESMTP id 2A6D11C2BC for ; Fri, 3 Jan 2020 10:12:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TySyUXoUWyP2csD3fNHdDyd8ZSQr/8rMduaY62M1U4Q=; b=yu/k+MRF/A58TZIglkTthn9hPZMyNDxiJ3pIbWZzgWyqTJfAhEmsxwA93EqSzCnso9M5pLMNA5wrwd206JzSk/jsE9lwdmPdHh31QuW1LAmTAE2eqR2XDCBR0sePVBRM8TahVOjkxk3keiaJ7GTUEubajw8EAoPEC7m+xlWFP1g= Received: from HE1PR0802CA0004.eurprd08.prod.outlook.com (2603:10a6:3:bd::14) by AM6PR08MB3158.eurprd08.prod.outlook.com (2603:10a6:209:44::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2602.12; Fri, 3 Jan 2020 09:12:12 +0000 Received: from VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::202) by HE1PR0802CA0004.outlook.office365.com (2603:10a6:3:bd::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2602.11 via Frontend Transport; Fri, 3 Jan 2020 09:12:12 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT036.mail.protection.outlook.com (10.152.19.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2602.11 via Frontend Transport; Fri, 3 Jan 2020 09:12:11 +0000 Received: ("Tessian outbound 4f3bc9719026:v40"); Fri, 03 Jan 2020 09:12:11 +0000 X-CR-MTA-TID: 64aa7808 Received: from a15d39b72709.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6544586D-771A-429B-927D-5B123783CE62.1; Fri, 03 Jan 2020 09:12:06 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a15d39b72709.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 03 Jan 2020 09:12:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DWW1SwAlpe0JcxiQvQPydZJiVpzV5eRmofGPXrhYoq+s063DMg1mCXEA9mi7y71SWg5DZ/5fw7fXsAxZ4ZWyRHByxG9yoMKUNpRpsEKJI9PcGthwW5ZK1iF7zv1okrjl1ntvzJPw1NeyK/1jx3MWdX2g0tFUeGZUyFmO2weH5X7ujK6ljZtxaqsM3T03kRaL9cHTliG8xtqYcCaMnWJpCwxQL8y96+kwGmQGnLbP2YXhfmRRUjmw12mHZ/vmo9UEw2/TI/NYMWnpCbnlkMazNuzr+bw/3BnriY6garYjZdxNePq0/wQ67SpxV+LBtslaeN0O94MsfUzX/nru4c/UGQ== 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=TySyUXoUWyP2csD3fNHdDyd8ZSQr/8rMduaY62M1U4Q=; b=CEKjrQdT9xHfPxdJpjxjAXwpmlZOyM/lRHnR0xuCIVySiWBMe1dmzNw6lFlNzjnLDE9aRjlOR1D/U7EjCjJ7PHlAnta/dVVKC51hakc6GYSWwbj6xkEwpK7Gjb0sm8yAnuNxGZhBNFyc5fD7pv2olMMpTZOEwBGJfdtelkAI4lU+7gHZco6tlQjjYoeyy3qufSn9c8dPwlU9IjkCQmLTU70YBlnY2Zp6Vw+gY9MK43bn0bLMhynQ4jPzmEETTntvmcpeg5cFjbr3tPbMTFcZuFkP5C85y4x1h97RFb51bRpYNc2s1dNthswVoDScDs1zpjEKovZefS5X4PG72eemcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TySyUXoUWyP2csD3fNHdDyd8ZSQr/8rMduaY62M1U4Q=; b=yu/k+MRF/A58TZIglkTthn9hPZMyNDxiJ3pIbWZzgWyqTJfAhEmsxwA93EqSzCnso9M5pLMNA5wrwd206JzSk/jsE9lwdmPdHh31QuW1LAmTAE2eqR2XDCBR0sePVBRM8TahVOjkxk3keiaJ7GTUEubajw8EAoPEC7m+xlWFP1g= Received: from VI1PR08MB5376.eurprd08.prod.outlook.com (10.255.196.79) by VI1PR08MB4238.eurprd08.prod.outlook.com (20.179.24.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2602.10; Fri, 3 Jan 2020 09:12:03 +0000 Received: from VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::e080:9698:5896:6837]) by VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::e080:9698:5896:6837%5]) with mapi id 15.20.2602.012; Fri, 3 Jan 2020 09:12:03 +0000 From: Gavin Hu To: Jerin Jacob CC: dpdk-dev , nd , David Marchand , "thomas@monjalon.net" , "rasland@mellanox.com" , "maxime.coquelin@redhat.com" , "tiwei.bie@intel.com" , "hemant.agrawal@nxp.com" , "jerinj@marvell.com" , Pavan Nikhilesh , Honnappa Nagarahalli , Ruifeng Wang , Phil Yang , Joyce Kong , Steve Capper , nd Thread-Topic: [dpdk-dev] [PATCH v2 1/3] eal/arm64: relax the io barrier for aarch64 Thread-Index: AQHVtuZX2AgJ4L7rPUqXJTHKPsdG16fCYAcAgAAJKyCAAAaFgIAAE6hwgAAT0ICABNdqgIAAB9WAgAAOkVCAD7GkgIABVQHwgAAXDgCAABr9AA== Date: Fri, 3 Jan 2020 09:12:03 +0000 Message-ID: References: <1571758074-16445-1-git-send-email-gavin.hu@arm.com> <1576811391-19131-1-git-send-email-gavin.hu@arm.com> <1576811391-19131-2-git-send-email-gavin.hu@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 74f3936c-975f-4fa9-ad39-1cc65896f011.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0e0b8e98-0cec-42aa-0f29-08d7902d0476 X-MS-TrafficTypeDiagnostic: VI1PR08MB4238:|VI1PR08MB4238:|AM6PR08MB3158: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; x-forefront-prvs: 0271483E06 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(366004)(136003)(346002)(376002)(396003)(39860400002)(13464003)(189003)(199004)(52536014)(26005)(86362001)(33656002)(7696005)(54906003)(5660300002)(6506007)(316002)(53546011)(7416002)(186003)(55236004)(55016002)(66476007)(9686003)(66556008)(64756008)(66446008)(4326008)(66946007)(71200400001)(8676002)(6916009)(2906002)(81166006)(478600001)(81156014)(8936002)(76116006)(966005); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB4238; H:VI1PR08MB5376.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: OItD95+ocYBs9O1x0vAk/D6msx76bu0VfIojcPHn8ZWUihwTXoSebUmVL/zDOLc+1k744iniQirgcR6UtN4vJHuQX9HhY3SahlspMzcH9bwKeUTvIorWSb8UTC/x+TbTRB0kipMMmWKD++kTxtNSzVzqVnTyXITq1+kteN9byj6QiApb+jiZ1dwtC8U9UQDJsEBxrHwoq+ORrLB/tLpBAffx9hj/pr3T0vXsINF+kmQi6AqbiERt8bDQApws5TPxkIrghQgu9/CEW/VWSmWGm6/HrUKLvoaX8loxDT1oRH0ZrSmiO13tbWp4LP0S2LAUvOAVUW8LDnYz0zAQO1fYST/8+88hKbVW34cX7tTsmxpg+M7z2xEu59OgjAFW9RI9J6MAJIP/Y1chzvf+GGYPGbRW401YRpmmdEe38UiNtNBGrab5DLJZ7e7djTgsWbOpphWEaCbaxCoXNeWoo2R5FFrpxVU7p2nGdkkc5GktGjGsXFDDqtA6kYmyyUTe9764Ty8pMTNgAS7TGFp5fUdbzoZZa/lCRMfghuRY57R9k48= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4238 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(346002)(376002)(396003)(136003)(199004)(13464003)(189003)(76130400001)(7696005)(55016002)(52536014)(316002)(81166006)(81156014)(8936002)(966005)(336012)(186003)(70586007)(6506007)(53546011)(70206006)(26005)(33656002)(9686003)(4326008)(356004)(36906005)(6862004)(54906003)(8676002)(5660300002)(2906002)(86362001)(478600001)(26826003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB3158; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 16e86622-d41a-4e26-65e3-08d7902cff98 NoDisclaimer: True X-Forefront-PRVS: 0271483E06 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WEXTPaI4yQ/xe6KksMtIUaPJYTqodf8EinPh47V/ZvIDgW7Zk7ABJE2ppljiKsn4VomzIkhPEhkST6NCs8VKErH4KQFKSx5cPToqksWTbrO5pZ+/NjOt36qL7z7pWyTK9uQMlN0yOn+XFr0a89K9POcflkSmjVYP0m7wRbLSDdEbXFcZ+QQe459QZ7pKECTjqk+dRFhX+peIE1AUD267eQekmIHa1zd9yh0ZcuLIktsJjZc1sRPyEIBbIh+Qryi4LQvC102GTI1igCoxZGJrSpXfbA/eNAekG1wboqE9KXmkUZMbdDzKZmuURymUO3k9dShUL8weQvGXC/gTPkZPojY7V4faXDYRT8EPVGr7BkQNFGcC+9SIE65QIX2nxYydrZEFEOpwRicIyLYcpA9PWX6/Ujxk8Zk8Ng5uXBwTVf0JbRD79plwb0fwJDd5aUR1CJ2/kzL6kQJb0QmgdmCqjz4sZ7uflvTwVgtpWdQUc8DMJImcvhqzbpZxCSCuOve9uz5hqh13bqVi+Ir1gxIqURkRNMOBy9J42lK+mzizVOE= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jan 2020 09:12:11.7277 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0e0b8e98-0cec-42aa-0f29-08d7902d0476 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3158 Subject: Re: [dpdk-dev] [PATCH v2 1/3] eal/arm64: relax the io barrier for aarch64 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" SGkgSmVyaW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4g SmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBKYW51YXJ5IDMs IDIwMjAgMzozNSBQTQ0KPiBUbzogR2F2aW4gSHUgPEdhdmluLkh1QGFybS5jb20+DQo+IENjOiBk cGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgbmQgPG5kQGFybS5jb20+OyBEYXZpZCBNYXJjaGFuZA0K PiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IHRob21hc0Btb25qYWxvbi5uZXQ7DQo+IHJh c2xhbmRAbWVsbGFub3guY29tOyBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbTsgdGl3ZWkuYmll QGludGVsLmNvbTsNCj4gaGVtYW50LmFncmF3YWxAbnhwLmNvbTsgamVyaW5qQG1hcnZlbGwuY29t OyBQYXZhbiBOaWtoaWxlc2gNCj4gPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IEhvbm5hcHBh IE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgUnVpZmVuZyBX YW5nDQo+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IFBoaWwgWWFuZyA8UGhpbC5ZYW5nQGFybS5j b20+OyBKb3ljZSBLb25nDQo+IDxKb3ljZS5Lb25nQGFybS5jb20+OyBTdGV2ZSBDYXBwZXIgPFN0 ZXZlLkNhcHBlckBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjIg MS8zXSBlYWwvYXJtNjQ6IHJlbGF4IHRoZSBpbyBiYXJyaWVyIGZvcg0KPiBhYXJjaDY0DQo+IA0K PiBPbiBGcmksIEphbiAzLCAyMDIwIGF0IDEyOjAwIFBNIEdhdmluIEh1IDxHYXZpbi5IdUBhcm0u Y29tPiB3cm90ZToNCj4gPg0KPiA+IEhpIEplcmluLA0KPiANCj4gSGkgR2F2aW4sDQo+IA0KPiA+ DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmVyaW4gSmFj b2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5 IDIsIDIwMjAgNTo1MiBQTQ0KPiA+ID4gVG86IEdhdmluIEh1IDxHYXZpbi5IdUBhcm0uY29tPg0K PiA+ID4gQ2M6IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBuZCA8bmRAYXJtLmNvbT47IERhdmlk IE1hcmNoYW5kDQo+ID4gPiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IHRob21hc0Btb25q YWxvbi5uZXQ7DQo+ID4gPiByYXNsYW5kQG1lbGxhbm94LmNvbTsgbWF4aW1lLmNvcXVlbGluQHJl ZGhhdC5jb207DQo+IHRpd2VpLmJpZUBpbnRlbC5jb207DQo+ID4gPiBoZW1hbnQuYWdyYXdhbEBu eHAuY29tOyBqZXJpbmpAbWFydmVsbC5jb207IFBhdmFuIE5pa2hpbGVzaA0KPiA+ID4gPHBiaGFn YXZhdHVsYUBtYXJ2ZWxsLmNvbT47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4gPiA8SG9ubmFw cGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IFJ1aWZlbmcgV2FuZw0KPiA+ID4gPFJ1aWZlbmcuV2Fu Z0Bhcm0uY29tPjsgUGhpbCBZYW5nIDxQaGlsLllhbmdAYXJtLmNvbT47IEpveWNlIEtvbmcNCj4g PiA+IDxKb3ljZS5Lb25nQGFybS5jb20+OyBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBlckBhcm0u Y29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDEvM10gZWFsL2Fy bTY0OiByZWxheCB0aGUgaW8gYmFycmllciBmb3INCj4gPiA+IGFhcmNoNjQNCj4gPiA+DQo+ID4g PiBPbiBNb24sIERlYyAyMywgMjAxOSBhdCAzOjQ2IFBNIEdhdmluIEh1IDxHYXZpbi5IdUBhcm0u Y29tPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gSGkgSmVyaW4sDQo+ID4gPiA+DQo+ID4gPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBKZXJpbiBKYWNv YiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gPiA+IFNlbnQ6IE1vbmRheSwgRGVjZW1i ZXIgMjMsIDIwMTkgNToyMCBQTQ0KPiA+ID4gPiA+IFRvOiBHYXZpbiBIdSA8R2F2aW4uSHVAYXJt LmNvbT4NCj4gPiA+ID4gPiBDYzogZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IG5kIDxuZEBhcm0u Y29tPjsgRGF2aWQgTWFyY2hhbmQNCj4gPiA+ID4gPiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNv bT47IHRob21hc0Btb25qYWxvbi5uZXQ7DQo+ID4gPiA+ID4gcmFzbGFuZEBtZWxsYW5veC5jb207 IG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tOw0KPiA+ID4gPiA+IHRpd2VpLmJpZUBpbnRlbC5j b207IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4gPiA+ID4g PiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IEhvbm5hcHBhIE5h Z2FyYWhhbGxpDQo+ID4gPiA+ID4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBSdWlm ZW5nIFdhbmcNCj4gPiA+ID4gPiA8UnVpZmVuZy5XYW5nQGFybS5jb20+OyBQaGlsIFlhbmcgPFBo aWwuWWFuZ0Bhcm0uY29tPjsgSm95Y2UNCj4gS29uZw0KPiA+ID4gPiA+IDxKb3ljZS5Lb25nQGFy bS5jb20+OyBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBlckBhcm0uY29tPg0KPiA+ID4gPiA+IFN1 YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MiAxLzNdIGVhbC9hcm02NDogcmVsYXggdGhl IGlvIGJhcnJpZXINCj4gZm9yDQo+ID4gPiA+ID4gYWFyY2g2NA0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gT24gTW9uLCBEZWMgMjMsIDIwMTkgYXQgMjo0NCBQTSBHYXZpbiBIdSA8R2F2aW4uSHVAYXJt LmNvbT4NCj4gd3JvdGU6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSGkgSmVyaW4sDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBIaSBHYXZpbiwNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IEkgdGhpbmsgd2UgYXJlIG9uIHRoZSBzYW1lIHBhZ2Ugd2l0aCByZWdhcmQgdG8gdGhl IHByb2JsZW0sIGFuZCB0aGUNCj4gPiA+ID4gPiBzaXR1YXRpb25zLCB0aGFua3MgZm9yIGlsbHVt aW5hdGluZyB0aGUgaGlzdG9yaWNhbCBiYWNrZ3JvdW5kIG9mIHRoZSB0d28NCj4gPiA+ID4gPiBi YXJyaWVycy4NCj4gPiA+ID4gPiA+IEFib3V0IHRoZSBzb2x1dGlvbiwgSSBhZGRlZCBpbmxpbmUg Y29tbWVudHMuDQo+ID4gPiA+ID4gPiA+IEl0IHdpbGwgYmUgb3B0aW1pemF0aW9uIG9ubHkgd2hl biBpZiB3ZSBhcmUgY2hhbmdpbmcgaW4gdGhlIGZhc3QgcGF0aC4NCj4gPiA+ID4gPiA+ID4gSW4g dGhlIHNsb3cgcGF0aCwgaXQgZG9lcyBub3QgbWF0dGVyLg0KPiA+ID4gPiA+ID4gPiBJIHRoaW5r LCB0aGUgRmlyc3Qgc3RlcCBzaG91bGQgYmUgdG8gdXNlIHJ0ZV9jaW9fKiB3aGVyZXZlciBpdCBp cw0KPiA+ID4gPiA+ID4gPiBjb2hlcmVudCBtZW1vcnkgdXNlZCBpbiBfZmFzdCBwYXRoXy4gSSB0 aGluaywgQWxtb3N0IGV2ZXJ5IGRyaXZlcg0KPiA+ID4gPiA+ID4gPiBmaXhlZCB0aGF0Lg0KPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJIGFtIG5vdCBhZ2FpbnN0IHRoaXMgcGF0Y2goY2hh bmdpbmcgdGhlIHNsb3cgcGF0aCB0byB1c2UgcnRlX2NpbyoNCj4gPiA+ID4gPiA+ID4gZnJvbSBy dGVfaW8qIGFuZCB2aXJ0aW8gY2hhbmdlcyBhc3NvY2lhdGVkIHdpdGggdGhhdCkuDQo+ID4gPiA+ ID4gPiA+IElmIHlvdSBhcmUgdGFraW5nIHRoYXQgcGF0Y2gsIHBheSBhdHRlbnRpb24gdG8gYWxs IHRoZSBkcml2ZXJzIGluIHRoZQ0KPiA+ID4gPiA+ID4gPiB0cmVlIHdoaWNoIGlzIHVzaW5nIHJ0 ZV9pbyogZm9yIG1peGVkIGFjY2VzcyBpbiBzbG93cGF0aC4NCj4gPiA+ID4gPiA+IEkgc2VlIDMw KyBkcml2ZXJzIGhhcyBjYWxsaW5nIHJ0ZV9pbyogZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJv dWdoDQo+ID4gPiA+ID4gcnRlX3dyaXRlL3JlYWQqLg0KPiA+ID4gPiA+ID4gSXQgaXMgaGFyZCBm b3IgbWUgdG8gZmlndXJlIG91dCBhbGwgdGhlIG1peGVkIGFjY2Vzc2VzIGluIHRoZXNlIGRyaXZl cnMsDQo+IGFuZA0KPiA+ID4gPiA+IGFzIHlvdSBzYWlkLCBpdCBtYWtlcyBubyBzZW5zZSB0byBj aGFuZ2UgdGhlIF9zbG93IHBhdGhfLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEhvdyBhYm91 dCB3ZSBrZWVwIHRoZSBvbGQgcnRlX2lvIGFzIGlzLCBhbmQgaW50cm9kdWNlICdmYXN0IHBhdGgn DQo+IHZlcnNpb24NCj4gPiA+ID4gPiBvZiBydGVfaW8gZm9yIG5ldyBjb2RlIHVzZT8NCj4gPiA+ ID4gPiA+IFRoZW4gaW4gZnV0dXJlLCB3ZSBtYXkgbWVyZ2UgdGhlIHR3bz8NCj4gPiA+ID4gPiA+ IEFub3RoZXIgcmVhc29uIGFib3V0IHRoaXMgcHJvcG9zYWwgaXMgbWF5YmUgdGhlcmUgaXMgcnRl X2lvIGNhbGxpbmcgaW4NCj4gPiA+IHRoZQ0KPiA+ID4gPiA+IGZhc3QgcGF0aCwgYnV0IHRoZXkg YXJlIG5vdCBtaXhlZCBhY2Nlc3NlcyBhbmQgcnRlX2NpbyBpcyBub3Qgc3VpdGFibGUuDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBDb3VsZCB5b3Ugc2hhcmUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBj YXNlIHdoZXJlIGZhc3RwYXRoICsgcnRlX2lvDQo+ID4gPiA+ID4gbmVlZGVkICsgcnRlX2NpbyBp cyBub3Qgc3VpdGFibGU/DQo+ID4gPiA+DQo+ID4gPiA+IEhlcmUgaXMgYW4gZXhhbXBsZSBmb3Ig aTQwZSwgaW4gdGhlIGZhc3QgcGF0aCwgYnV0IG9ubHkgYSBwdXJlIGlvIG1lbW9yeQ0KPiA+ID4g YWNjZXNzLg0KPiA+ID4gPg0KPiA+ID4NCj4gaHR0cHM6Ly9jb2RlLmRwZGsub3JnL2RwZGsvdjE5 LjExL3NvdXJjZS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5jI0wxMg0KPiA+ID4gMDgNCj4g PiA+DQo+ID4gPiBZZXMuIFRoYXQncyBhIHBlcmZvcm1hbmNlIGlzc3VlLg0KPiA+ID4NCj4gPiA+ IEl0IGNvdWxkIGJlIGNoYW5nZWQgdG8gZm9sbG93aW5nIGZvciB0aGUgZml4IHRoYXQgd29ya3Mg b24geDg2LCBhcm02NA0KPiA+ID4gd2l0aCBleGlzdGluZyBpbmZyYS4NCj4gPiA+DQo+ID4gPiBG cm9tOg0KPiA+ID4gSTQwRV9QQ0lfUkVHX1dSSVRFKCkNCj4gPiA+DQo+ID4gPiB0bzoNCj4gPiA+ DQo+ID4gPiBydGVfY2lvX3dtYigpDQo+ID4gPiBJNDBFX1BDSV9SRUdfV1JJVEVfUkVMQVhFRCgp DQo+ID4gWWVzLCB0aGlzIGlzIGNvcnJlY3QsIEkgd2lsbCBzdWJtaXQgYSBuZXcgcGF0Y2ggZm9y IHRoaXMuDQo+ID4gVGhpcyBpcyBhbiBleGFtcGxlIG91dCBvZiBhbGwgdGhlIGNhc2VzIHRoYXQg SSBtdXN0IGZpeCBiZWZvcmUgcmVsYXhpbmcgdGhlDQo+IHJ0ZV9pbyBiYXJyaWVycy4NCj4gPiBN eSBwbGFuIGlzIGFzIGZvbGxvd3MsIGFueSBjb21tZW50cyBhcmUgd2VsY29tZSENCj4gPiAxLiBy ZXBsYWNlIHJ0ZV8qbWIgYW5kIHJ0ZV9pb18qbWIgd2l0aCBydGVfY2lvXyptYiB3aGVyZSBhcHBs aWNhYmxlIGluDQo+IHRoZSBmYXN0cGF0aCwgdGhpcyBpcyBhbiBvcHRpbWl6YXRpb24sIGFzIHRo ZSBiYXJyaWVycyBhcmUgcmVsYXhlZC4NCj4gPiAyLiByZXBsYWNlIGFsbCB0aGUgcnRlX2lvXypt YiB3aXRoIHJ0ZV9jaW9fKm1iIHdoZXJlIGFwcGxpY2FibGUgaW4gdGhlDQo+IHNsb3dwYXRoIGFu ZCBjb250cm9sIHBhdGgNCj4gPiAzLiB1bnRpbCAqYWxsKiB0aGUgb2NjdXJyZW5jZXMgaW4gdGhl IHN0ZXAgMSBhbmQgMiBhcmUgZG9uZSwgdGhlbiB0aGlzIHBhdGggY2FuDQo+IGJlIHJlLWFjdGl2 YXRlZC4NCj4gPg0KPiA+IFBsZWFzZSBhZHZpc2UgaWYgdGhlIGFib3ZlIGFwcHJvYWNoIHdvcmtz IGZyb20geW91ciB2aWV3cG9pbnQuDQo+IA0KPiBJIHdvdWxkIHByZWZlciB0byBoYXZlIE9OTFkg dGhlIHN0ZXAgKDEpIGFuZCBhZGQgYSBub3RlIGZvciB0aGUgc2FtZQ0KPiBpbiAgaHR0cHM6Ly9k b2MuZHBkay5vcmcvZ3VpZGVzL3Byb2dfZ3VpZGUvcGVyZl9vcHRfZ3VpZGVsaW5lcy5odG1sDQo+ IGFzIGRvY3VtZW50YXRpb24gcmVmZXJlbmNlLg0KT2ssIGdvb2QgaWRlYSwgSSB3aWxsIHN1Ym1p dCBhIGRvY3VtZW50YXRpb24gcGF0Y2ggZm9yIHRoaXMuIA0KPiANCj4gDQo+ID4gTWF5YmUgSSB3 aWxsIHN0b3AgYXQgc3RlcCAxLCBzdGVwIDIgYW5kIDMgYXJlIG5vdCBuZWNlc3NhcnkgYXMgdGhl eSBhcmUgbm90IGluDQo+IHRoZSBmYXN0cGF0aD8NCj4gDQo+IFl1cC4NCj4gDQo+ID4NCj4gPiA+ DQo+ID4gPiA+DQo+ID4gPiA+IEkgd2FudGVkIHR3byB2YXJpYW50cyBvZiBydGVfaW8sIGJlY2F1 c2UgYWxzbyB4ODYgcmVxdWlyZXMgdHdvIGFzDQo+IGluZGljYXRlZA0KPiA+ID4gaGVyZSwgb25l IGZvciBuby1XQyBhbmQgYW5vdGhlciBmb3IgV0MuDQo+ID4gPiA+IGh0dHA6Ly9pbmJveC5kcGRr Lm9yZy9kZXYvMjAxOTEyMDQxNTE5MTYuMTI2MDctMS0NCj4gPiA+IHhpYW95dW4ubGlAaW50ZWwu Y29tL1QvI2VhOGJiMWI0YTM3OGFiMDliYWVkYmY5NWI0NTQyYmNiOTJmNGEzOTZmDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBBbnkgdGhvdWdodHM/DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEJ1dCBhcyB0aGUgY2FzZSBpbiBpNDBlLCB3 ZSBtdXN0IHBheSBhdHRlbnRpb24gdG8gd2hlcmUgcnRlX2Npbw0KPiB3YXMNCj4gPiA+ID4gPiA+ ID4gbWlzc2luZyBidXQgcmVzY3VlZCBieSBvbGQgcnRlX2lvKGJ1dCBub3QgYnkgbmV3IHJ0ZV9p bykuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0K