From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2067.outbound.protection.outlook.com [40.107.21.67]) by sourceware.org (Postfix) with ESMTPS id 282FA3858C27 for ; Mon, 14 Mar 2022 07:33:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 282FA3858C27 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=niTV3xHxnDI6iSb16uEWp9WAT5M0VeYrOXIE8wewOCQjD7et4vEFKMJnu8GvAdgFM+h9z41H3gPRoRmkk4ilfldpXD2Wy/IFPbJGtS/1vRAhshJqgzuas0Eca0D4pRA06knfsUpWab3sx4kLQCkh5EuoBf6jiAl1hlib1iwhDIXze6oUZOab4OJl3fmXlMAMDiUbzyVbCISyBUgCpdxmi1QdXuwp1Usdbc5Xfh7I69PfBzDX+L3aExOveKQrUjK9ipNtDVkGLNXplgdSXgfqCxVS0Ab1vq1u+QaZsn9/Ii3hsDbfsiHlgBvqNldAyOke71mQmrhLrIm3UzQSZkuceQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4G6Xy7c+tissHnq3p4QzMgCiuoYWia98qieA9cD6OM0=; b=IKJZUkuw9r9v6KvM53Zes63rAG+M7DKUekWoq/zv6i9kew2a4ywjRgZGwCuR+9kvG405Hj6kpeTRmHR2c8D5DLcHS9T6iNQpCC4cF7Fcy3kGpd+Zg/0K7nRBXvDb3X+AH011jPo/KMmj0uDskEmFzhqw+kqzj9kLLcCVw3QkkLy47kwHnPcuffouFI1qCoEsvR7+zEmr14EBNUJWqJm0EpIt7Fcnkk/kF5GbzB+MD49QZQvob4QjsNEVSupXWkeHhtJP02TMp8HsGzuo3JCH3LsC1BEX2fHVmlInq+AXP2uDUlhHnuOZoGH8d1ZLpCDgKjVyZPJW/9ijtcB8XXUSDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none Received: from VI1PR0402MB2863.eurprd04.prod.outlook.com (2603:10a6:800:af::18) by VI1PR04MB5790.eurprd04.prod.outlook.com (2603:10a6:803:e7::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.28; Mon, 14 Mar 2022 07:33:29 +0000 Received: from VI1PR0402MB2863.eurprd04.prod.outlook.com ([fe80::7573:6988:63b7:b709]) by VI1PR0402MB2863.eurprd04.prod.outlook.com ([fe80::7573:6988:63b7:b709%9]) with mapi id 15.20.5061.028; Mon, 14 Mar 2022 07:33:29 +0000 From: Adrian Oltean To: Pedro Alves , Tom Tromey CC: Adrian Oltean via Gdb Subject: RE: [EXT] Re: Semihosting in GDB 11.1 | Proposed patch for interrupting in sync mode Thread-Topic: [EXT] Re: Semihosting in GDB 11.1 | Proposed patch for interrupting in sync mode Thread-Index: AdgzhthCC5LnTaSaShSFUrrUznL4HAAZ+9Q9AB1HtwAAAAaMUAADksuAAAIqxQAAvgCI8A== Date: Mon, 14 Mar 2022 07:33:29 +0000 Message-ID: References: <87k0d2gb44.fsf@tromey.com> <7dc4402f-374e-482a-6612-8f4a527cb711@palves.net> In-Reply-To: <7dc4402f-374e-482a-6612-8f4a527cb711@palves.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: be26e0ed-b0ef-4735-7fd9-08da058cef6c x-ms-traffictypediagnostic: VI1PR04MB5790:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j1rBgcQv8dvivmRV/7GGiiRw06MfJ24i0msMLjU9cpQgPpjFa45ifV4y0CGnKPZzYshZS4Avp+GiDWFmubDNLxkLwqqptAlbQ+xhLlP/9shgURI2OJcVV7/hmZlc0I6xca+1QT0fFaq610qv46kIlo6e0uD5p71wC3YcfApS/CkQ0HXCAQdtTPyv0u4on2omU+mys6R1gqkJg2nu+Z7HJ5u+Hx1rPCw7T29kEMu+7wyXp9+Mol9fc6oa7XWgLnFVoybiUwp9no/bVsS8KIvJIuE0v8T4I5ua+ge0/kZtvgqs1Y3Tn5quXcgnF5QXFV2hTIRTKr9mdSYtxdCKBtlohZAFtub05QM1x4wJ31YM6scbPPlugfVUOpc7/paWtk6qFwL3bCIojfIrIP/fYnr8IEVVgx1VfjOoETRG/TvBfAr909qMsiAUGBZR805ZksdseSC/o5wMky1Jc3bvrcQ76dBHCgTMSgk780Xqs0kKtYF4RoYMN/EWnVNzGIZIHeBFFyLCivBVlfxSlsgc8wKf895DUYvHYF2y9v2ogi6Pd/SQ4hwydfBu0F+5Z3w/JNHkSEFfkQ7vtCByFSeU4EOMscl6g23u5iRHvcS4Uz/uhA4iK8Nn9ij34GuJGwGdQ0hlMT6zL/AsPmufcc02WRsjOpX5aQVLDLyFCu4IaNQmYSX/A6yPw+Vz1VR9fPRipjk6F/aUfXZcNAZWDQR7idNDPg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR0402MB2863.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(2906002)(66946007)(53546011)(5660300002)(38070700005)(30864003)(508600001)(76116006)(6506007)(8936002)(64756008)(52536014)(66446008)(66556008)(66476007)(7696005)(55016003)(38100700002)(26005)(83380400001)(186003)(122000001)(316002)(8676002)(55236004)(86362001)(33656002)(44832011)(4326008)(71200400001)(9686003)(110136005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M2k3UnI5akt4dUNFbURiMVA2bmFSMmVtSTFzWWRnbnZ5VEQ3UVNvaHlCZ01o?= =?utf-8?B?cEhZT2d0MUJlWWVyKysrdm9TU1lvUksvc084SDgvTTdkS041NWVRWGtOK2xj?= =?utf-8?B?bERvRXcxWEVubHk5bDAxK3lrdUs1Y3JGUGJKbFI1Y3RCUjliRVAwMlg0Wlhw?= =?utf-8?B?ZkVCU3NNMUFqOTFOeFd6L21TRFM5cFNpSnFYTU5tdXJldmRSOHJ1NnhPbDND?= =?utf-8?B?VHVtVktJdGVzTVpuSUU1WDBKSXd5VmhJSUhWaVRJWlgwM3EyNGFzSWI1M1pa?= =?utf-8?B?WnZKTXRLakd1SGlvaUdTVCtKaVEvZTIvL0xZSGVUOHNrbndUaTUyREdyZkNJ?= =?utf-8?B?UGNhR2hRNzBRdVB4ZFkrZi8rT21GUVo5Smc2enlpek00RG1UOFpjenpqcThp?= =?utf-8?B?ZzdNVlBuekZ5Y2NtZTRCOHpxYVAwdFUrQ2FZdG0vZGdhT3dGMm1JcDREclJu?= =?utf-8?B?YlpCblNWcURVVTFVVTE5TTI1UkluNExHdEZFanNHRVBueHZldFFWQlFZZWtX?= =?utf-8?B?MGdicTRGL2xWZE8yOUgxUmhXaVg2R3FmNUswbFpFR0Zscld6a05XRG1Lb2dU?= =?utf-8?B?UW1GNW41ampEWlM3U251cTZMclh5bDloVEl0QTIxQmsyZFl2UDhVTDdlV2lF?= =?utf-8?B?RGJ1YzAwcDc1UkJjYXNVQU5xWmpTUGJnL0NmUGFwNCtlUTQ3eGkzbFFtaVVr?= =?utf-8?B?NlNiMDFhTjlSaWJYRW1XT3ZUY3NYanZwL3hnbnZ2dDFYb1c2VDlsZlFpam1W?= =?utf-8?B?djdiZzFLWUVNcDF2TWYrbHpIZUhZOGFIVDg0NFR6ZWlkK0ZGdFV3Wi9DZDdv?= =?utf-8?B?NU03Mmc1YytwVnB4TXVDdThvV2JocVJ5OWJyN2pENmkzOHBhZi9oWUxGcEhq?= =?utf-8?B?QzhTamdiYWI2Y3Q2UUJrL3JvK1Z3K09PUHByL0pYT1pjRlJvR1RlRGMzbmVo?= =?utf-8?B?VW84TkY2a00wak9yNkY5M2cvbGVaSmpCUFlPYkI2YmdHVHoxT0M2YkxtMVdV?= =?utf-8?B?dnBMQ2hhQnpJRzVucW0vcU91MzlXZ09zakUwQ2NYMUNxTzJCQWgwVXkvQTAr?= =?utf-8?B?QmFuY3diWXBLWmxSTFVxWmZJZU4rWFUrbEx1R3ZNUzdZN21XS3c2UWlCVmtX?= =?utf-8?B?V3FQb2QxaHkyWnNhVXhnTkVvRDVyNjQySHFFWXFhWHNFVGo4M1JicWxkQlg4?= =?utf-8?B?REN3RkxIOFZiSFJvWTVhVExzM2s0OG1XbUR3djV5cDAyelZpNkw4bFBoR1NT?= =?utf-8?B?L3g2RVRDbGQ4bXFWN2RyMEhvTUZIbjMyZXJ6R0djc0xwaWRhNjFyVFhFWjh1?= =?utf-8?B?MHV4VmR1RHplOElmWGQvczdwQUREN3BSOFJxeFE1aVlaeVFkYzhFQnQrYm5z?= =?utf-8?B?Y2ErY2RtUXMxOEtlU2VRaHRWTHVXNUhpWG5IdFZwcGRvVkx1WDBxT2h5NmYz?= =?utf-8?B?UDhzOEVseC8zUGhkcHFZZUtwU1Vpd1BpdXVXREwrV2ZYaEpXQjRxOTc5VXdN?= =?utf-8?B?NzlNcmhIMGxKUUcrKy9Mc0JBbTZPcExMK093ckFtYVhNZWJQRS9nUy85TW5p?= =?utf-8?B?N3JLSkl5b3FJNTZwZXlxZW0xYkMvNkhzMnFHTWlBRndBMEl5ZXcweW5pOFdp?= =?utf-8?B?ZzVaYldNZ2pyamZ4VzZtNWgzZGRrM2dmUnQvUGpmY0ppNEcvaS9iamdFRkY4?= =?utf-8?B?MDN0L25vYVFab055aXl0MUE2alY5NVRFMTRtYnBIckZ2VE11RUx0TmozblZI?= =?utf-8?B?c3BYL3NBcHRtOWp1U3FKT1ArUFBHbzR4MVNmdDJuZ3QvK2Z5dmNuWkpSR2JL?= =?utf-8?B?MCtzZW5ycmtHUWRYbWdaTDVCRUJlQjUreHBLbm14QTlaN1dKYXR6MkRnSEd4?= =?utf-8?B?REVkem5WOVBTSGErVW55Z1ZTVnM0NllWRFRmRjdIaUZMV1Z4d3NqakxUOEQx?= =?utf-8?Q?ox2jM9GSQx2ujQks+MSqqztQW5Rxp6/9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB2863.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: be26e0ed-b0ef-4735-7fd9-08da058cef6c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2022 07:33:29.3491 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4RwuBnonKZMpvt/MOqGMrGDbCIcme49qac+qfEV8ZPchGl+ToRDK80ct8R+5od8Nvpfzbk2ZAczio40PBCppIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5790 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2022 07:33:35 -0000 SGkgUGVkcm8sDQoNClRoYW5rcyBhIGxvdCBmb3IgdGhlIGV4dHJhIGRldGFpbHMgcHJvdmlkZWQu IEkgZGlkIG5vdCBoYXZlIGEgY2hhbmNlIHRvIHRlc3QgeWV0IHRoZSBwYXRjaCB5b3Ugc2VudCBi ZWxvdy4gQXQgZmlyc3Qgc2lnaHQsIHRoZSANCmNoYW5nZXMgYXJlIHN0cmFpZ2h0LWZvcndhcmQg YW5kIG1ha2Ugc2Vuc2UgKGV2ZW4gd2l0aCBteSBrbm93bGVkZ2UgaW4gR0RCJ3MgaW50ZXJuYWxz KS4gSSBhbHNvIGNoYW5nZWQgdGhlICdIJyBwYWNrZXQNCmhhbmRsaW5nIGluIHRoZSBzdHViIHBl ciBwcmV2aW91cyBlbWFpbHMuDQoNCkFyZSB5b3UgcGxhbm5pbmcgdG8gY29tbWl0IHRoZSBwYXRj aCB5b3UgcHJvcG9zZWQ/IEknbSBhc2tpbmcgdGhpcyBiZWNhdXNlIEkgaGF2ZSBhIEdEQiBmb3Jr IHRoYXQgSSB1c2UgZm9yIGEgY3VzdG9tDQpidWlsZCBidXQgSSdkIHJhdGhlciBub3QgbWFpbnRh aW4gYSBwYXRjaCB0aGF0IHdvbid0IGJlIG9uIHRoZSBtYWlubGluZS4NCg0KVGhhbmsgeW91LA0K QWRyaWFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBQZWRybyBBbHZlcyA8 cGVkcm9AcGFsdmVzLm5ldD4gDQpTZW50OiBUaHVyc2RheSwgTWFyY2ggMTAsIDIwMjIgMjozMyBQ TQ0KVG86IEFkcmlhbiBPbHRlYW4gPGFkcmlhbi5vbHRlYW5AbnhwLmNvbT47IFRvbSBUcm9tZXkg PHRvbUB0cm9tZXkuY29tPg0KQ2M6IEFkcmlhbiBPbHRlYW4gdmlhIEdkYiA8Z2RiQHNvdXJjZXdh cmUub3JnPg0KU3ViamVjdDogUmU6IFtFWFRdIFJlOiBTZW1paG9zdGluZyBpbiBHREIgMTEuMSB8 IFByb3Bvc2VkIHBhdGNoIGZvciBpbnRlcnJ1cHRpbmcgaW4gc3luYyBtb2RlDQoNCkNhdXRpb246 IEVYVCBFbWFpbA0KDQpPbiAyMDIyLTAzLTEwIDExOjMwLCBQZWRybyBBbHZlcyB3cm90ZToNCj4N Cj4gSE9XRVZFUi4gIE5vdGUgdGhhdCB0aGUgRmlsZSBJL08gcGFja2V0cywgbGlrZSAiRndyaXRl LDEsODAwMjYzMDAsMTIiIA0KPiBkb24ndCBzYXkgYXQgYWxsIHdoaWNoIHRocmVhZCBpcyBkb2lu ZyB0aGUgRmlsZSBJL08gYWNjZXNzISAgSU9XLCB0aGlzIA0KPiBwYWNrZXQgaXMgbm90IHVzZWFi bGUgaW4gbXVsdGktcHJvY2VzcyBzY2VuYXJpb3MgYXMgaXMuLi4gIEl0IHdvdWxkIA0KPiBuZWVk IHRvIGJlIGV4dGVuZGVkIHRvIGFsc28gcGFzcyBkb3duIGFuIGV4dHJhIHRocmVhZCBpZCBmaWVs ZCwgbGlrZSANCj4gIkZ3cml0ZSwxLDgwMDI2MzAwLDEyLHBQSUQuVElEIi4gIEZTRiBHREJzZXJ2 ZXIgZG9lc24ndCBzdXBwb3J0IEZpbGUgDQo+IEkvTywgc28gdGhlc2UgRmlsZSBJL08gcGFja2V0 cyBkaWRuJ3QgZ2V0IGF0dGVudGlvbiB3aGVuIHRoZSBtdWx0aS1wcm9jZXNzIGV4dGVuc2lvbnMg d2VyZSBkZXZpc2VkLg0KPg0KPiBTbyBhbHJpZ2h0LCB0aGUgY3VycmVudCAiSGcwIiBwYWNrZXQg eW91IHNlZSBpbiB5b3VyIGxvZ3MgaXMgYSBiaXQgDQo+IHNwdXJpb3VzLCBidXQsIGl0IHNob3Vs ZCBiZSBoYXJtbGVzcywgYW5kIHlvdSBzaG91bGQgYmUgYWJsZSB0byBzZWxlY3QgDQo+IGFueSB2 YWxpZCB0aHJlYWQsIGFzIHBlciB0aGUgSGcwIHBhY2tldCdzIGRlc2NyaXB0aW9uLCBhcyBhbGwg dGhyZWFkcyBzaGFyZSB0aGUgc2FtZSBhZGRyZXNzIHNwYWNlLCBpbiBHREIncyB2aWV3Lg0KPg0K PiAgIFtyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogRndyaXRlLDEsODAwMjYzMDAsMTINCj4gICBb cmVtb3RlXSBTZW5kaW5nIHBhY2tldDogJEhnMCNkZg0KPiAgIFtyZW1vdGVdIFJlY2VpdmVkIEFj aw0KPiAgIFtyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogT0sNCj4gICBbcmVtb3RlXSBTZW5kaW5n IHBhY2tldDogJG04MDAyNjMwMCwxMiM4Zg0KPiAgIFtyZW1vdGVdIFJlY2VpdmVkIEFjaw0KPiAg IFtyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogNDg2NTZjNmM2ZjIwNjY3MjZmNmQyMDQzNmY3MjY1 MjMzNzBhDQo+ICAgW3JlbW90ZV0gU2VuZGluZyBwYWNrZXQ6ICRGMTIjYTkNCj4NCj4gV2hhdCBJ IHRoaW5rIHlvdSBzaG91bGQgZG8gaXMsIHdoZW4geW91IGdldCB0aGUgcmVwbHkgdG8gRndyaXRl IC0tIHRoZSAiJEYxMiNhOSINCj4gcGFja2V0IC0tIHlvdXIgc3R1YiBzaG91bGQgbWFrZSBzdXJl IHRoYXQgdGhhdCByZXN1bWVzIHRoZSBzYW1lIHRocmVhZCANCj4gdGhhdCBpbml0aWF0ZWQgdGhl IEZ3cml0ZSwgbm90IHdoYXRldmVyIEhnIHNlbGVjdGVkLiAgVGhhdCAkRjEyIHJlcGx5IA0KPiBp cyBsaW5rZWQgd2l0aCB0aGUgbGFzdCBGd3JpdGUsIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBGaWxl IEkvTyByZXF1ZXN0IG9uZ29pbmcgYXQgYSBnaXZlbiB0aW1lLg0KDQpUaGlua2luZyBhIGJpdCBt b3JlIGFib3V0IHRoaXMsIEkgZ3Vlc3MgR0RCIGNvdWxkIGp1c3QgYXZvaWQgY2hhbmdpbmcgdGhl IHNlbGVjdGVkIHRocmVhZCB3aGVuIGhhbmRsaW5nIGEgRmlsZSBJL08gcmVxdWVzdC4gIFRoYXQg c2VlbXMgcXVpdGUgZWFzeSB0byBkbywgc28gSSBnYXZlIGl0IGEgdHJ5Lg0KDQpIb3dldmVyLCBh IHJlYWxpemVkIHRoYXQgdGhhdCBydW5zIGludG8gYSBkaWZmaWN1bHR5LiAgV2l0aCBtdWx0aS1w cm9jZXNzLCBpZiB0aGUgc2VydmVyIGRvZXNuJ3Qgc2F5IHdoaWNoIHByb2Nlc3MgdGhlIHJlcXVl c3QgaXMgZm9yLCBHREIncyB0YXJnZXRfcmVhZF9tZW1vcnkvdGFyZ2V0X3dyaXRlX21lbW9yeQ0K Y2FuIGVuZCB1cCByZWFkaW5nL3dyaXRpbmcgZnJvbSB0aGUgd3JvbmcgZGNhY2hlLiAgQSB3b3Jr YXJvdW5kIGlzIHRvIGZsdXNoIHRoZSBkY2FjaGUgYXJvdW5kIG1lbW9yeSBhY2Nlc3NlcyB0aGF0 IGNvbWUgZnJvbSBGaWxlIEkvTy4gIE5vdCBncmVhdCwgYnV0IGF0IGxlYXN0IGl0IHR1cm5zIGEg Y29ycmVjdG5lc3MgaXNzdWUgaW50byBhbiBvcHRpbWl6YXRpb24gaXNzdWUuLi4NCg0KSSBkb24n dCBoYXZlIGEgdGFyZ2V0IHRoYXQgZG9lcyBGaWxlIEkvTywgc28gSSBjYW4ndCByZWFsbHkgdGVz dCB0aGlzLg0KDQpGcm9tIGMzMDkzZDBmYTNmZjUyN2I1NDJhMTQxZTkzYzBhOGE1ODBlN2NjZTgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQpGcm9tOiBQZWRybyBBbHZlcyA8cGVkcm9AcGFsdmVz Lm5ldD4NCkRhdGU6IFRodSwgMTAgTWFyIDIwMjIgMTE6NTk6NTIgKzAwMDANClN1YmplY3Q6IFtQ QVRDSF0gRmlsZSBJL08gLSBhdm9pZCBjaGFuZ2luZyB0aGUgc2VydmVyJ3MgY3VycmVudCB0aHJl YWQNCg0KQ2hhbmdlLUlkOiBJM2E2OWUzNjk4OGNiMWZiYTc0NmJlNWE0ZDhkZDY1MDAyYzhiNzcx MQ0KLS0tDQogZ2RiL3JlbW90ZS1maWxlaW8uYyB8IDUyICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLQ0KIGdkYi9yZW1vdGUuYyAgICAgICAgfCAyMyArKysrKysr KysrKysrKysrLS0tLQ0KIGdkYi90YXJnZXQtZGNhY2hlLmMgfCAyMyArKysrKysrKysrKysrKysr LS0tLSAgZ2RiL3RhcmdldC1kY2FjaGUuaCB8ICAzICsrKw0KIDQgZmlsZXMgY2hhbmdlZCwgODIg aW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9nZGIvcmVtb3Rl LWZpbGVpby5jIGIvZ2RiL3JlbW90ZS1maWxlaW8uYyBpbmRleCA5OTYzZjFlYmMwMS4uM2ZiZjVl YzQwOTAgMTAwNjQ0DQotLS0gYS9nZGIvcmVtb3RlLWZpbGVpby5jDQorKysgYi9nZGIvcmVtb3Rl LWZpbGVpby5jDQpAQCAtMjksNiArMjksNyBAQA0KICNpbmNsdWRlICJ0YXJnZXQuaCINCiAjaW5j bHVkZSAiZmlsZW5hbWVzLmgiDQogI2luY2x1ZGUgImdkYnN1cHBvcnQvZmlsZXN0dWZmLmgiDQor I2luY2x1ZGUgInRhcmdldC1kY2FjaGUuaCINCg0KICNpbmNsdWRlIDxmY250bC5oPg0KICNpbmNs dWRlICJnZGJzdXBwb3J0L2dkYl9zeXNfdGltZS5oIg0KQEAgLTM3LDYgKzM4LDM1IEBADQogI2Vu ZGlmDQogI2luY2x1ZGUgPHNpZ25hbC5oPg0KDQorLyogV3JhcHBlcnMgYXJvdW5kIHRhcmdldF9y ZWFkX21lbW9yeS90YXJnZXRfd3JpdGVfbWVtb3J5IHRoYXQNCisgICBpbnZhbGlkYXRlIHRoZSBk Y2FjaGUgb24gZW50cnkgYW5kIGV4aXQuICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlDQorICAgRmls ZSBJL08gcGFja2V0cyBkb24ndCB0ZWxsIHVzIHdoaWNoIHByb2Nlc3MgaW5pdGlhdGVkIHRoZSBy ZXF1ZXN0LA0KKyAgIHNvIHdlIGRvbid0IGtub3cgd2hldGhlciB0aGUgY2FjaGUgZm9yIHRoZSBj dXJyZW50IHByb2Nlc3MgaXMgdGhlDQorICAgcmlnaHQgb25lLiAgKi8NCisNCitzdGF0aWMgaW50 DQorZmlsZWlvX3JlYWRfbWVtb3J5IChDT1JFX0FERFIgbWVtYWRkciwgZ2RiX2J5dGUgKm15YWRk ciwgc3NpemVfdCBsZW4pIHsNCisgIHRhcmdldF9kY2FjaGVfaW52YWxpZGF0ZSAoKTsNCisgIFND T1BFX0VYSVQgeyB0YXJnZXRfZGNhY2hlX2ludmFsaWRhdGUgKCk7IH07DQorDQorICByZXR1cm4g dGFyZ2V0X3JlYWRfbWVtb3J5IChtZW1hZGRyLCBteWFkZHIsIGxlbik7IH0NCisNCitzdGF0aWMg aW50DQorZmlsZWlvX3dyaXRlX21lbW9yeSAoQ09SRV9BRERSIG1lbWFkZHIsIGNvbnN0IGdkYl9i eXRlICpteWFkZHIsIHNzaXplX3QgDQorbGVuKSB7DQorICB0YXJnZXRfZGNhY2hlX2ludmFsaWRh dGUgKCk7DQorICBTQ09QRV9FWElUDQorICAgIHsNCisgICAgICAvKiBBZnRlciB3cml0aW5nLCB0 aGUgY2FjaGUgb2Ygc29tZSBvdGhlciBpbmZlcmlvciBtYXkgYmUgc3RhbGUsDQorICAgICAgICBz byB3ZSBuZWVkIHRvIGludmFsaWRhdGUgYWxsLiAgKi8NCisgICAgICB0YXJnZXRfZGNhY2hlX2lu dmFsaWRhdGVfYWxsICgpOw0KKyAgICB9Ow0KKw0KKyAgcmV0dXJuIHRhcmdldF93cml0ZV9tZW1v cnkgKG1lbWFkZHIsIG15YWRkciwgbGVuKTsgfQ0KKw0KIHN0YXRpYyBzdHJ1Y3Qgew0KICAgaW50 ICpmZF9tYXA7DQogICBpbnQgZmRfbWFwX3NpemU7DQpAQCAtNDAxLDcgKzQzMSw3IEBAIHJlbW90 ZV9maWxlaW9fZnVuY19vcGVuIChyZW1vdGVfdGFyZ2V0ICpyZW1vdGUsIGNoYXIgKmJ1ZikNCg0K ICAgLyogUmVxdWVzdCBwYXRobmFtZS4gICovDQogICBwYXRobmFtZSA9IChjaGFyICopIGFsbG9j YSAobGVuZ3RoKTsNCi0gIGlmICh0YXJnZXRfcmVhZF9tZW1vcnkgKHB0cnZhbCwgKGdkYl9ieXRl ICopIHBhdGhuYW1lLCBsZW5ndGgpICE9IDApDQorICBpZiAoZmlsZWlvX3JlYWRfbWVtb3J5IChw dHJ2YWwsIChnZGJfYnl0ZSAqKSBwYXRobmFtZSwgbGVuZ3RoKSAhPSAwKQ0KICAgICB7DQogICAg ICAgcmVtb3RlX2ZpbGVpb19pb2Vycm9yIChyZW1vdGUpOw0KICAgICAgIHJldHVybjsNCkBAIC01 NzQsNyArNjA0LDcgQEAgcmVtb3RlX2ZpbGVpb19mdW5jX3JlYWQgKHJlbW90ZV90YXJnZXQgKnJl bW90ZSwgY2hhciAqYnVmKQ0KDQogICBpZiAocmV0ID4gMCkNCiAgICAgew0KLSAgICAgIGVycm5v ID0gdGFyZ2V0X3dyaXRlX21lbW9yeSAocHRydmFsLCBidWZmZXIsIHJldCk7DQorICAgICAgZXJy bm8gPSBmaWxlaW9fd3JpdGVfbWVtb3J5IChwdHJ2YWwsIGJ1ZmZlciwgcmV0KTsNCiAgICAgICBp ZiAoZXJybm8gIT0gMCkNCiAgICAgICAgcmV0ID0gLTE7DQogICAgIH0NCkBAIC02MjUsNyArNjU1 LDcgQEAgcmVtb3RlX2ZpbGVpb19mdW5jX3dyaXRlIChyZW1vdGVfdGFyZ2V0ICpyZW1vdGUsIGNo YXIgKmJ1ZikNCiAgIGxlbmd0aCA9IChzaXplX3QpIG51bTsNCg0KICAgYnVmZmVyID0gKGdkYl9i eXRlICopIHhtYWxsb2MgKGxlbmd0aCk7DQotICBpZiAodGFyZ2V0X3JlYWRfbWVtb3J5IChwdHJ2 YWwsIGJ1ZmZlciwgbGVuZ3RoKSAhPSAwKQ0KKyAgaWYgKGZpbGVpb19yZWFkX21lbW9yeSAocHRy dmFsLCBidWZmZXIsIGxlbmd0aCkgIT0gMCkNCiAgICAgew0KICAgICAgIHhmcmVlIChidWZmZXIp Ow0KICAgICAgIHJlbW90ZV9maWxlaW9faW9lcnJvciAocmVtb3RlKTsNCkBAIC03NDAsNyArNzcw LDcgQEAgcmVtb3RlX2ZpbGVpb19mdW5jX3JlbmFtZSAocmVtb3RlX3RhcmdldCAqcmVtb3RlLCBj aGFyICpidWYpDQoNCiAgIC8qIFJlcXVlc3Qgb2xkcGF0aCB1c2luZyAnbScgcGFja2V0ICovDQog ICBvbGRwYXRoID0gKGNoYXIgKikgYWxsb2NhIChvbGRfbGVuKTsNCi0gIGlmICh0YXJnZXRfcmVh ZF9tZW1vcnkgKG9sZF9wdHIsIChnZGJfYnl0ZSAqKSBvbGRwYXRoLCBvbGRfbGVuKSAhPSAwKQ0K KyAgaWYgKGZpbGVpb19yZWFkX21lbW9yeSAob2xkX3B0ciwgKGdkYl9ieXRlICopIG9sZHBhdGgs IG9sZF9sZW4pICE9IDApDQogICAgIHsNCiAgICAgICByZW1vdGVfZmlsZWlvX2lvZXJyb3IgKHJl bW90ZSk7DQogICAgICAgcmV0dXJuOw0KQEAgLTc0OCw3ICs3NzgsNyBAQCByZW1vdGVfZmlsZWlv X2Z1bmNfcmVuYW1lIChyZW1vdGVfdGFyZ2V0ICpyZW1vdGUsIGNoYXIgKmJ1ZikNCg0KICAgLyog UmVxdWVzdCBuZXdwYXRoIHVzaW5nICdtJyBwYWNrZXQgKi8NCiAgIG5ld3BhdGggPSAoY2hhciAq KSBhbGxvY2EgKG5ld19sZW4pOw0KLSAgaWYgKHRhcmdldF9yZWFkX21lbW9yeSAobmV3X3B0ciwg KGdkYl9ieXRlICopIG5ld3BhdGgsIG5ld19sZW4pICE9IDApDQorICBpZiAoZmlsZWlvX3JlYWRf bWVtb3J5IChuZXdfcHRyLCAoZ2RiX2J5dGUgKikgbmV3cGF0aCwgbmV3X2xlbikgIT0gMCkNCiAg ICAgew0KICAgICAgIHJlbW90ZV9maWxlaW9faW9lcnJvciAocmVtb3RlKTsNCiAgICAgICByZXR1 cm47DQpAQCAtODI1LDcgKzg1NSw3IEBAIHJlbW90ZV9maWxlaW9fZnVuY191bmxpbmsgKHJlbW90 ZV90YXJnZXQgKnJlbW90ZSwgY2hhciAqYnVmKQ0KICAgICB9DQogICAvKiBSZXF1ZXN0IHBhdGhu YW1lIHVzaW5nICdtJyBwYWNrZXQgKi8NCiAgIHBhdGhuYW1lID0gKGNoYXIgKikgYWxsb2NhIChs ZW5ndGgpOw0KLSAgaWYgKHRhcmdldF9yZWFkX21lbW9yeSAocHRydmFsLCAoZ2RiX2J5dGUgKikg cGF0aG5hbWUsIGxlbmd0aCkgIT0gMCkNCisgIGlmIChmaWxlaW9fcmVhZF9tZW1vcnkgKHB0cnZh bCwgKGdkYl9ieXRlICopIHBhdGhuYW1lLCBsZW5ndGgpICE9IDApDQogICAgIHsNCiAgICAgICBy ZW1vdGVfZmlsZWlvX2lvZXJyb3IgKHJlbW90ZSk7DQogICAgICAgcmV0dXJuOw0KQEAgLTg3NCw3 ICs5MDQsNyBAQCByZW1vdGVfZmlsZWlvX2Z1bmNfc3RhdCAocmVtb3RlX3RhcmdldCAqcmVtb3Rl LCBjaGFyICpidWYpDQoNCiAgIC8qIFJlcXVlc3QgcGF0aG5hbWUgdXNpbmcgJ20nIHBhY2tldCAq Lw0KICAgcGF0aG5hbWUgPSAoY2hhciAqKSBhbGxvY2EgKG5hbWVsZW5ndGgpOw0KLSAgaWYgKHRh cmdldF9yZWFkX21lbW9yeSAobmFtZXB0ciwgKGdkYl9ieXRlICopIHBhdGhuYW1lLCBuYW1lbGVu Z3RoKSAhPSAwKQ0KKyAgaWYgKGZpbGVpb19yZWFkX21lbW9yeSAobmFtZXB0ciwgKGdkYl9ieXRl ICopIHBhdGhuYW1lLCBuYW1lbGVuZ3RoKSANCisgIT0gMCkNCiAgICAgew0KICAgICAgIHJlbW90 ZV9maWxlaW9faW9lcnJvciAocmVtb3RlKTsNCiAgICAgICByZXR1cm47DQpAQCAtODk4LDcgKzky OCw3IEBAIHJlbW90ZV9maWxlaW9fZnVuY19zdGF0IChyZW1vdGVfdGFyZ2V0ICpyZW1vdGUsIGNo YXIgKmJ1ZikNCiAgICAgICBob3N0X3RvX2ZpbGVpb19zdGF0ICgmc3QsICZmc3QpOw0KICAgICAg IGhvc3RfdG9fZmlsZWlvX3VpbnQgKDAsIGZzdC5mc3RfZGV2KTsNCg0KLSAgICAgIGVycm5vID0g dGFyZ2V0X3dyaXRlX21lbW9yeSAoc3RhdHB0ciwgKGdkYl9ieXRlICopICZmc3QsIHNpemVvZiBm c3QpOw0KKyAgICAgIGVycm5vID0gZmlsZWlvX3dyaXRlX21lbW9yeSAoc3RhdHB0ciwgKGdkYl9i eXRlICopICZmc3QsIHNpemVvZiANCisgZnN0KTsNCiAgICAgICBpZiAoZXJybm8gIT0gMCkNCiAg ICAgICAgew0KICAgICAgICAgIHJlbW90ZV9maWxlaW9fcmV0dXJuX2Vycm5vIChyZW1vdGUsIC0x KTsgQEAgLTk3NSw3ICsxMDA1LDcgQEAgcmVtb3RlX2ZpbGVpb19mdW5jX2ZzdGF0IChyZW1vdGVf dGFyZ2V0ICpyZW1vdGUsIGNoYXIgKmJ1ZikNCiAgICAgew0KICAgICAgIGhvc3RfdG9fZmlsZWlv X3N0YXQgKCZzdCwgJmZzdCk7DQoNCi0gICAgICBlcnJubyA9IHRhcmdldF93cml0ZV9tZW1vcnkg KHB0cnZhbCwgKGdkYl9ieXRlICopICZmc3QsIHNpemVvZiBmc3QpOw0KKyAgICAgIGVycm5vID0g ZmlsZWlvX3dyaXRlX21lbW9yeSAocHRydmFsLCAoZ2RiX2J5dGUgKikgJmZzdCwgc2l6ZW9mIA0K KyBmc3QpOw0KICAgICAgIGlmIChlcnJubyAhPSAwKQ0KICAgICAgICB7DQogICAgICAgICAgcmVt b3RlX2ZpbGVpb19yZXR1cm5fZXJybm8gKHJlbW90ZSwgLTEpOyBAQCAtMTAyNiw3ICsxMDU2LDcg QEAgcmVtb3RlX2ZpbGVpb19mdW5jX2dldHRpbWVvZmRheSAocmVtb3RlX3RhcmdldCAqcmVtb3Rl LCBjaGFyICpidWYpDQogICAgIHsNCiAgICAgICByZW1vdGVfZmlsZWlvX3RvX2Zpb190aW1ldmFs ICgmdHYsICZmdHYpOw0KDQotICAgICAgZXJybm8gPSB0YXJnZXRfd3JpdGVfbWVtb3J5IChwdHJ2 YWwsIChnZGJfYnl0ZSAqKSAmZnR2LCBzaXplb2YgZnR2KTsNCisgICAgICBlcnJubyA9IGZpbGVp b193cml0ZV9tZW1vcnkgKHB0cnZhbCwgKGdkYl9ieXRlICopICZmdHYsIHNpemVvZiANCisgZnR2 KTsNCiAgICAgICBpZiAoZXJybm8gIT0gMCkNCiAgICAgICAgew0KICAgICAgICAgIHJlbW90ZV9m aWxlaW9fcmV0dXJuX2Vycm5vIChyZW1vdGUsIC0xKTsgQEAgLTEwNzEsNyArMTEwMSw3IEBAIHJl bW90ZV9maWxlaW9fZnVuY19zeXN0ZW0gKHJlbW90ZV90YXJnZXQgKnJlbW90ZSwgY2hhciAqYnVm KQ0KICAgICB7DQogICAgICAgLyogUmVxdWVzdCBjb21tYW5kbGluZSB1c2luZyAnbScgcGFja2V0 ICovDQogICAgICAgY21kbGluZSA9IChjaGFyICopIGFsbG9jYSAobGVuZ3RoKTsNCi0gICAgICBp ZiAodGFyZ2V0X3JlYWRfbWVtb3J5IChwdHJ2YWwsIChnZGJfYnl0ZSAqKSBjbWRsaW5lLCBsZW5n dGgpICE9IDApDQorICAgICAgaWYgKGZpbGVpb19yZWFkX21lbW9yeSAocHRydmFsLCAoZ2RiX2J5 dGUgKikgY21kbGluZSwgbGVuZ3RoKSAhPSANCisgMCkNCiAgICAgICAgew0KICAgICAgICAgIHJl bW90ZV9maWxlaW9faW9lcnJvciAocmVtb3RlKTsNCiAgICAgICAgICByZXR1cm47DQpkaWZmIC0t Z2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jIGluZGV4IGFhNmE2N2E5NmUwLi5lOTIz MDA2MDkyNyAxMDA2NDQNCi0tLSBhL2dkYi9yZW1vdGUuYw0KKysrIGIvZ2RiL3JlbW90ZS5jDQpA QCAtMjc0LDYgKzI3NCwxMyBAQCBjbGFzcyByZW1vdGVfc3RhdGUNCiAgICAgIGJlY2F1c2Ugd2Ug YWxsb3cgR0RCIGNvbW1hbmRzIHdoaWxlIHRoZSB0YXJnZXQgaXMgcnVubmluZy4gICovDQogICBi b29sIHdhaXRpbmdfZm9yX3N0b3BfcmVwbHkgPSBmYWxzZTsNCg0KKyAgLyogVHJ1ZSBpZiBoYW5k bGluZyBhIEZpbGUgSS9PIHJlcXVlc3QuICBXaGVuIHRoaXMgaXMgdHJ1ZSwgd2UgbWFrZQ0KKyAg ICAgc3VyZSB0byBza2lwIHRlbGxpbmcgdGhlIHNlcnZlciB0byBjaGFuZ2UgaXRzIHNlbGVjdGVk IHRocmVhZCB0bw0KKyAgICAgbWF0Y2ggdGhlIEdEQi1zZWxlY3RlZCB0aHJlYWQsIHdoaWNoIGhh cyBubyByZWxhdGlvbiB0byB0aGUNCisgICAgIHRocmVhZCB0aGF0IGluaXRpYXRlZCB0aGUgRmls ZSBJL08gcmVxdWVzdC4gIE5vdGUgdGhlIEZpbGUgSS9PDQorICAgICBwYWNrZXQgZG9lc24ndCB0 ZWxsIHVzIHdoaWNoIHRocmVhZCBvciBwcm9jZXNzIHRoYXQgd2FzLiAgKi8gIGJvb2wgDQorIGhh bmRsaW5nX2ZpbGVpb19yZXF1ZXN0ID0gZmFsc2U7DQorDQogICAvKiBUaGUgc3RhdHVzIG9mIHRo ZSBzdHViIHN1cHBvcnQgZm9yIHRoZSB2YXJpb3VzIHZDb250IGFjdGlvbnMuICAqLw0KICAgdkNv bnRfYWN0aW9uX3N1cHBvcnQgc3VwcG9ydHNfdkNvbnQ7DQogICAvKiBXaGV0aGVyIHZDb250IHN1 cHBvcnQgd2FzIHByb2JlZCBhbHJlYWR5LiAgVGhpcyBpcyBhIHdvcmthcm91bmQgQEAgLTgyMzIs MTEgKzgyMzksMTMgQEAgcmVtb3RlX3RhcmdldDo6d2FpdF9hcyAocHRpZF90IHB0aWQsIHRhcmdl dF93YWl0c3RhdHVzICpzdGF0dXMsDQogICAgICAgICAgICAgZm9yIGEgc3RvcCByZXBseS4gIFNl ZSB0aGUgY29tbWVudHMgaW4gcHV0cGt0X2JpbmFyeS4gIFNldA0KICAgICAgICAgICAgIHdhaXRp bmdfZm9yX3N0b3BfcmVwbHkgdG8gMCB0ZW1wb3JhcmlseS4gICovDQogICAgICAgICAgcnMtPndh aXRpbmdfZm9yX3N0b3BfcmVwbHkgPSAwOw0KKyAgICAgICAgIHJzLT5oYW5kbGluZ19maWxlaW9f cmVxdWVzdCA9IHRydWU7DQogICAgICAgICAgcmVtb3RlX2ZpbGVpb19yZXF1ZXN0ICh0aGlzLCBi dWYsIHJzLT5jdHJsY19wZW5kaW5nX3ApOw0KICAgICAgICAgIHJzLT5jdHJsY19wZW5kaW5nX3Ag PSAwOw0KICAgICAgICAgIC8qIEdEQiBoYW5kbGVkIHRoZSBGaWxlLUkvTyByZXF1ZXN0LCBhbmQg dGhlIHRhcmdldCBpcyBydW5uaW5nDQogICAgICAgICAgICAgYWdhaW4uICBLZWVwIHdhaXRpbmcg Zm9yIGV2ZW50cy4gICovDQogICAgICAgICAgcnMtPndhaXRpbmdfZm9yX3N0b3BfcmVwbHkgPSAx Ow0KKyAgICAgICAgIHJzLT5oYW5kbGluZ19maWxlaW9fcmVxdWVzdCA9IGZhbHNlOw0KICAgICAg ICAgIGJyZWFrOw0KICAgICAgICBjYXNlICdOJzogY2FzZSAnVCc6IGNhc2UgJ1MnOiBjYXNlICdY JzogY2FzZSAnVyc6DQogICAgICAgICAgew0KQEAgLTExMjA4LDE2ICsxMTIxNywyMiBAQCByZW1v dGVfdGFyZ2V0Ojp4ZmVyX3BhcnRpYWwgKGVudW0gdGFyZ2V0X29iamVjdCBvYmplY3QsDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZiwgVUxPTkdF U1Qgb2Zmc2V0LCBVTE9OR0VTVCBsZW4sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVM T05HRVNUICp4ZmVyZWRfbGVuKSAgew0KLSAgc3RydWN0IHJlbW90ZV9zdGF0ZSAqcnM7DQogICBp bnQgaTsNCiAgIGNoYXIgKnAyOw0KICAgY2hhciBxdWVyeV90eXBlOw0KICAgaW50IHVuaXRfc2l6 ZSA9IGdkYmFyY2hfYWRkcmVzc2FibGVfbWVtb3J5X3VuaXRfc2l6ZSAodGFyZ2V0X2dkYmFyY2gg KCkpOw0KDQotICBzZXRfcmVtb3RlX3RyYWNlZnJhbWUgKCk7DQotICBzZXRfZ2VuZXJhbF90aHJl YWQgKGluZmVyaW9yX3B0aWQpOw0KKyAgcmVtb3RlX3N0YXRlICpycyA9IGdldF9yZW1vdGVfc3Rh dGUgKCk7DQoNCi0gIHJzID0gZ2V0X3JlbW90ZV9zdGF0ZSAoKTsNCisgIC8qIElmIHdlJ3JlIGhh bmRsaW5nIGEgRmlsZSBJL08gcmVhZC93cml0ZSByZXF1ZXN0LCB3ZSdsbCB3YW50IHRvDQorICAg ICBhY2Nlc3MgbWVtb3J5IG9mZiBvZiB0aGUgdGhyZWFkIHRoYXQgaW5pdGlhdGVkIHRoZSBGaWxl IEkvTw0KKyAgICAgcmVxdWVzdCwgbm90IGZyb20gd2hhdGV2ZXIgdGhyZWFkIEdEQiBoYWQgc2Vs ZWN0ZWQuICBXZSBkb24ndA0KKyAgICAga25vdyB3aGF0IHRocmVhZCB0aGF0IGlzLCBidXQgd2Ug ZG9uJ3QgbmVlZCB0byBrbm93LiAgKi8gIGlmIA0KKyAoIXJzLT5oYW5kbGluZ19maWxlaW9fcmVx dWVzdCkNCisgICAgew0KKyAgICAgIHNldF9yZW1vdGVfdHJhY2VmcmFtZSAoKTsNCisgICAgICBz ZXRfZ2VuZXJhbF90aHJlYWQgKGluZmVyaW9yX3B0aWQpOw0KKyAgICB9DQoNCiAgIC8qIEhhbmRs ZSBtZW1vcnkgdXNpbmcgdGhlIHN0YW5kYXJkIG1lbW9yeSByb3V0aW5lcy4gICovDQogICBpZiAo b2JqZWN0ID09IFRBUkdFVF9PQkpFQ1RfTUVNT1JZKQ0KZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQt ZGNhY2hlLmMgYi9nZGIvdGFyZ2V0LWRjYWNoZS5jIGluZGV4IDk2ZDQ2MTFlZTAyLi4wZTEwZTQy MjE4ZiAxMDA2NDQNCi0tLSBhL2dkYi90YXJnZXQtZGNhY2hlLmMNCisrKyBiL2dkYi90YXJnZXQt ZGNhY2hlLmMNCkBAIC0zOCwxOCArMzgsMzMgQEAgdGFyZ2V0X2RjYWNoZV9pbml0X3AgKHZvaWQp DQogICByZXR1cm4gKGRjYWNoZSAhPSBOVUxMKTsNCiB9DQoNCi0vKiBJbnZhbGlkYXRlIHRoZSB0 YXJnZXQgZGNhY2hlLiAgKi8NCisvKiBJbnZhbGlkYXRlIHRoZSB0YXJnZXQgZGNhY2hlIG9mIFBT UEFDRS4gICovDQoNCi12b2lkDQotdGFyZ2V0X2RjYWNoZV9pbnZhbGlkYXRlICh2b2lkKQ0KK3N0 YXRpYyB2b2lkDQordGFyZ2V0X2RjYWNoZV9pbnZhbGlkYXRlX3BzcGFjZSAocHJvZ3JhbV9zcGFj ZSAqcHNwYWNlKQ0KIHsNCiAgIERDQUNIRSAqZGNhY2hlDQotICAgID0gdGFyZ2V0X2RjYWNoZV9h c3BhY2Vfa2V5LmdldCAoY3VycmVudF9wcm9ncmFtX3NwYWNlLT5hc3BhY2UpOw0KKyAgICA9IHRh cmdldF9kY2FjaGVfYXNwYWNlX2tleS5nZXQgKHBzcGFjZS0+YXNwYWNlKTsNCg0KICAgaWYgKGRj YWNoZSAhPSBOVUxMKQ0KICAgICBkY2FjaGVfaW52YWxpZGF0ZSAoZGNhY2hlKTsNCiB9DQoNCisv KiBJbnZhbGlkYXRlIHRoZSB0YXJnZXQgZGNhY2hlLiAgKi8NCisNCit2b2lkDQordGFyZ2V0X2Rj YWNoZV9pbnZhbGlkYXRlICh2b2lkKQ0KK3sNCisgIHRhcmdldF9kY2FjaGVfaW52YWxpZGF0ZV9w c3BhY2UgKGN1cnJlbnRfcHJvZ3JhbV9zcGFjZSk7IH0NCisNCit2b2lkDQordGFyZ2V0X2RjYWNo ZV9pbnZhbGlkYXRlX2FsbCAoKQ0KK3sNCisgIGZvciAocHJvZ3JhbV9zcGFjZSAqcHNwYWNlIDog cHJvZ3JhbV9zcGFjZXMpDQorICAgIHRhcmdldF9kY2FjaGVfaW52YWxpZGF0ZV9wc3BhY2UgKHBz cGFjZSk7IH0NCisNCiAvKiBSZXR1cm4gdGhlIHRhcmdldCBkY2FjaGUuICBSZXR1cm4gTlVMTCBp ZiB0YXJnZXQgZGNhY2hlIGlzIG5vdA0KICAgIGluaXRpYWxpemVkIHlldC4gICovDQoNCmRpZmYg LS1naXQgYS9nZGIvdGFyZ2V0LWRjYWNoZS5oIGIvZ2RiL3RhcmdldC1kY2FjaGUuaCBpbmRleCA2 ZjMxYTNkNDQ4Mi4uMmRlZjhhMmVlMzAgMTAwNjQ0DQotLS0gYS9nZGIvdGFyZ2V0LWRjYWNoZS5o DQorKysgYi9nZGIvdGFyZ2V0LWRjYWNoZS5oDQpAQCAtMjIsNiArMjIsOSBAQA0KDQogZXh0ZXJu IHZvaWQgdGFyZ2V0X2RjYWNoZV9pbnZhbGlkYXRlICh2b2lkKTsNCg0KKy8qIEludmFsaWRhdGUg dGhlIGRjYWNoZSBvZiBhbGwgcHJvZ3JhbSBzcGFjZXMuICAqLyBleHRlcm4gdm9pZCANCit0YXJn ZXRfZGNhY2hlX2ludmFsaWRhdGVfYWxsICgpOw0KKw0KIGV4dGVybiBEQ0FDSEUgKnRhcmdldF9k Y2FjaGVfZ2V0ICh2b2lkKTsNCg0KIGV4dGVybiBEQ0FDSEUgKnRhcmdldF9kY2FjaGVfZ2V0X29y X2luaXQgKHZvaWQpOw0KDQpiYXNlLWNvbW1pdDogYzY0NzlmOGIyYWIzMmM4YTE2NTkwNTQxMDRm MmQwMTc2YTQ2NmNiMw0KLS0NCjIuMjYuMg0KDQo=