From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id A7ACD3858D20 for ; Thu, 25 May 2023 05:38:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A7ACD3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684993132; x=1716529132; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=7Nn6O0Eov3NsTUE4xZMvHzAzT0kSdjEYh6I4I3GZfnI=; b=Y5uScPXt6oo+eCKbsSLbIGCBH/CGno2JfAZ+zChuNO1lBlk43CLME03D 9wwjFDT3vI9ftfVMykan1qp2cnkRiYFkbsUaobTdDedJLb8/nO+g8g2iE Qo0gDhqYWg/gIONt6ABqLKnZu7b1CE9g/vtxdNFLc40oSmwWlsNLMPicj gljn96OzGn8ottM68ZBhVyUyWn5Kw0deyA9vbN9RlADRpZq8EiNFTVNq9 ZIfQLIs9S/X6MRHfSt1HmhrQKScAJDRblD3Wk4Y7z7OjIrb2lHel+0HHT 0MtAJ+4CZz0LWMIZphvR3Q6YyYXGiI7HjMsvwiMgTFQgfNlStvr7Pfp7s A==; X-IronPort-AV: E=McAfee;i="6600,9927,10720"; a="352630974" X-IronPort-AV: E=Sophos;i="6.00,190,1681196400"; d="scan'208";a="352630974" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2023 22:38:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10720"; a="1034834582" X-IronPort-AV: E=Sophos;i="6.00,190,1681196400"; d="scan'208";a="1034834582" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga005.fm.intel.com with ESMTP; 24 May 2023 22:38:45 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 24 May 2023 22:38:45 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 24 May 2023 22:38:44 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 24 May 2023 22:38:44 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.107) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 24 May 2023 22:38:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Eo+qeAfgRdEDq2cS9nB15ZK6vR0/0LZw2XuLzoyG88iTZUAP/8mNxIZo1raaRV793syvJqhNDmB5y4v3TywIfyGEXqZIbNGDil4yS64jsVQJ698+IBRyyn7rVayOsRlFTbMdGN+YlrvLka6asRr0X8bmia/zD94sBo9Z0dDxntA6/gyLLkdyt4eTSekiTetuAf3I+UykcDXPkQGXJgjj/R73ApjMHvags+AOaa9wGNyzVSQJNtjNLmP6EPtyhJZam5B1MCQNt/p1fPvre5OoWZrmxUR2SlAwqvDybLK2aTgD4dRTG1ORED9LaR4Npuu/J+MAFT/PxxkIyuZYe6pK4w== 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=SKQdS76E2dNyGQSmZGW0PWOSBi0ub3EFh5G9Se3r6Og=; b=N4wlqxLPLLvtszrkdIj23B1pL0rlq3XC4zayEYXmaLBy3F/K9temFtjyVlqnSO9UPYOdTwZr9xCcG3pCuBwZzyR3jrW6KQZ/xckL9IvH2TQRptI6IKRsQNOGXtZbXb/deXkamae5Lt4w18UFGSDbGkt1UDsJPZcFQIf5q9xOUgRxkVJq2vTJjr+sYf1/aOJmrsVF0wShVSPX5AZsAqrhsYy+HEfqJ7iVmAuXHJO1V29LgJXAdDxhhVz4EAgRGyDVyEkWSMsRrZuCV6ij2uXPNhz8NaCSS/zX2dR/QAYE7b1jKFGUgPdR2rf5OJq03tpIqyGZKEckmG3oxeWBrNe+XQ== 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 Received: from SN6PR11MB3086.namprd11.prod.outlook.com (2603:10b6:805:d6::14) by MW3PR11MB4697.namprd11.prod.outlook.com (2603:10b6:303:2c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.16; Thu, 25 May 2023 05:38:37 +0000 Received: from SN6PR11MB3086.namprd11.prod.outlook.com ([fe80::e8bd:51a0:c35d:c738]) by SN6PR11MB3086.namprd11.prod.outlook.com ([fe80::e8bd:51a0:c35d:c738%3]) with mapi id 15.20.6433.015; Thu, 25 May 2023 05:38:37 +0000 From: "Puputti, Matti" To: Andrew Burgess , "gdb-patches@sourceware.org" Subject: RE: [PATCH v3 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Topic: [PATCH v3 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Index: AQHZd3tmLbunhgSnjEqQlybtckoRRq9p3KsAgADJSKA= Date: Thu, 25 May 2023 05:38:37 +0000 Message-ID: References: <20230425133819.3524820-1-matti.puputti@intel.com> <87wn0x63dx.fsf@redhat.com> In-Reply-To: <87wn0x63dx.fsf@redhat.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3086:EE_|MW3PR11MB4697:EE_ x-ms-office365-filtering-correlation-id: b08d453c-c299-438e-4ce3-08db5ce2499d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EeJknKh1oO88UfK7ZL8tVwtxdKV2nIYJwC67cCC+0Pk3dMNYmKW9sjS2jlVVduNmu9sCEzJYFB5+IxMBs7nmbJhRM9V7nK2fC2FjxCcXChanI5/uEZeF3Uoakb2kwJupU2AmO021xAaekyBlrwMUWImjRiffhWHmo/MH4d0Pj1qxJgqJFPoY4ZGA/AQHHdZjOlMB6JMJky0LpayAwHkE2rDN86grJlVnkCEI8kYQ6iI6H5pNEym1bVY+PxHyleR1hKWHCs3xxcoP9TAvCniNFE2107wd5OHWemng/5H+Ojb9aKbDGEQKr2cGMAQoQJiWwcVZWBXit2FwLjfXNXeV/ihjSbgFtMSULjJ+0ypta/z7zaiPh4r/pgqGIEmK7YceDLdE+7ls6qXvqIyglL9wdNcePZjaTSU5cr2D0b33XM9DOCT8Vekb+88abdbZ1FlrR3Snan8L3GBoQ+VsGiJ6aibYo9AMTM7cYIGx4BlC3DjITqW+66iTzEWI6JH8bTjUQ3H2YxMUI2wELJZnB/D13IIKd42oGYa5X10g8HWyibgjMdKTPBamjsyxPfYQWX7IbqOY4foUe271qGWL4/gKoWFq2lzqe0+Uzj8yCu4Nzjw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB3086.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(396003)(376002)(366004)(39860400002)(451199021)(33656002)(38070700005)(86362001)(15974865002)(110136005)(316002)(66446008)(64756008)(76116006)(66946007)(66556008)(66476007)(478600001)(7696005)(71200400001)(55016003)(8936002)(8676002)(5660300002)(41300700001)(52536014)(30864003)(2906002)(38100700002)(122000001)(82960400001)(9686003)(6506007)(186003)(53546011)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?clNreVhYeVdyMzlHU1Ura09kc3FyTkJyYStiT1RKYlNWM1ZUZ2NLeU5Uemhx?= =?utf-8?B?eXRDaW5ZSjFyaXlaaWN3VWtpTDh0Z00rZlUzMW5oWXhadzROY1FWdlFPeWd4?= =?utf-8?B?Q3gwOGZtQnhoMjBrTGorVThJLzM2VzN1RTJtTWtESU5UVFN3NXduOXdpWGpp?= =?utf-8?B?Uk1xay9IZXlsdTlaQnZzbHl3Q2hDK3ZvVGYxVFFnSDlYMHZhMGxKb0JPN3Bo?= =?utf-8?B?QzhIOURhL2VyUmhCOEFqbmxOVmllZTdDU0pkMEY4SlBsZmdWaUxsclpjZDZx?= =?utf-8?B?cHhRKzNKa2VLK1BUaTdxZFZpc1VKYWsxK09JZElBczBEZ0hheEljMmRmc3N6?= =?utf-8?B?NCtzODRMMndDeG1Kelc3czl3dHgyWmd5cC8xVW4ralRXQ1M0S1hPOGlsRWJZ?= =?utf-8?B?K0I4M0F0Y05lbXlNWmNUbm9BU0lWdWFiL0Z2Q1VGb0l4enZJOFdneUYrVi9S?= =?utf-8?B?QWV6OFAyd2NOUDVoVXFCdTdaSnVJcllGNlVHZm1uZVdjeFNWR1RuTG83bW8z?= =?utf-8?B?V2FqSDRvOU1teHEybmhxS2J0L3ZXcnlZNEE4U1NPV0Z2UktYYkRUWUYzQVFO?= =?utf-8?B?QXRrLytYZS85YmVnalJEVWtJTFdDNWhHdDJNZG9yWFREak5lUmJ6bEtjK1RU?= =?utf-8?B?aXppanVObktSWWl3YWszaU9DWEUwQjJ2cHA2ZVk3U0J4VE9VTElCbHhySlVD?= =?utf-8?B?NkZCL2Q5SXoyYlViUTVTcGZMYS9XNGIxNDZPNVl2c2FHaUtOUnJkODZINGlB?= =?utf-8?B?dXQrNEc3Y3d4Ni9RK2xUUXgxeis0MTVMd3hmankrSktCemJEZ2t6RmVDSStH?= =?utf-8?B?VG9FUVE5dmZZNHkrTDMvbUlPejNqaWNRMGRJUDZVSDVheW0rcWFDRGkxQ0Zq?= =?utf-8?B?ZGRuMDNTYm42TlJReHJXLzc1dzZ0RmRaYTJWMEhWYVJRU1JjcnZEejIvYm5p?= =?utf-8?B?SFdQZEc4SzZrc0doS3JJbjNueVJ4ZWdRQWMzRkZqdUczMGcyVG8xRmpvWW0x?= =?utf-8?B?MFE5VHdkRGZYYjc1aTBnbFF0UFR3TTRVQzFSYlEvZ0FweHVCVHJERG1mMDd3?= =?utf-8?B?d20vVlI1ZlBWNEh6WFZBTDE5QndYVTlYNkNpdFExTlZCQXRMUjgwM1R4UW53?= =?utf-8?B?aDRPQzJ0RlpRV1F0aHd2WXIwOVg4bXVyZGxHVGpTL2lTQWRHQVdXN2RCZThP?= =?utf-8?B?K2dwRy9WdFYzSkJBeFQraWQzK0Q2VXVXMnc3WU8rTkJWL3l4YVVIVVh0ejBi?= =?utf-8?B?RXFzejlRTzlSYzNvbSsxRGZPdDFlRnRmaG9oU1JmWmNrTEtkRnJ2anVsdFFn?= =?utf-8?B?OTc0cTlVdEI1TlZmSTFreTduck1tUWkrZ0o0M2RQYmFlMk5kbHM4a0xNeFEr?= =?utf-8?B?UDZsZ3BMRGhmdHYybHZrTzMxK25XMU1mZXcrUmd4a2ZjMW1yNFlTQ2dRMlNu?= =?utf-8?B?SlJtaXdnd1lCT0N6UEp1RS81SFczMjF4RXdqRlVtZERzS2l0M3MxN0d4OTVv?= =?utf-8?B?UXdrZGl6T2FweUZrc3ZrQ2RwaTQ5b1JNRzJrZ0p6L2d0NmtUVFVBZ3MxWjhU?= =?utf-8?B?WFJidlJuQk1wcmI5T2dFTy9vb3AzWUEzRXZlK2g5VExYakoxeGl4eEJiNDlj?= =?utf-8?B?WXZieklFdEdPUlVNT0dvT1ZwcHQ4K21PQUU0MmxQVWpJclYvcVlMTVNKT3BP?= =?utf-8?B?bWZ4ZjNzN1pOVTFCWGhEcm9ybkFzbTd3YkRlaU5BQkkwZlFrVC8wRlZKejFN?= =?utf-8?B?UkxUaVkwcnlGMm54UE1xeVFqRURpTDNuMk9pZm5SVU0wenFaN3V4ZGkzRVQ2?= =?utf-8?B?YTljaE51WndvYkZhTWJCS2xwZm5oMG5Kb0UzSzhlSHE0VzYxd3JuMFFlQlN5?= =?utf-8?B?WHowRzNvUGFqRHg0T0FqMWVjNFpPbzZIOWRkZEdjTlpXZmFxT3RCYmxBTFdD?= =?utf-8?B?dGVOS1lnYXBKdU16VG9TRDM5NGVtOXZlY0d4bzlTVU42Vk9kOHZkWko3M21p?= =?utf-8?B?Y3NDaWtiam1aNU84QkN3V09GL0ZrckVIODVweHhKVGRTM0ZlV1pXWUl5OVA0?= =?utf-8?B?MWlSd2phaEdVZzJhUjhmYjJXci8vQ0xLZ1JlNDh5M20yNG5RZ0U1L2ZURGtZ?= =?utf-8?B?ZFpzejk5Wm5ma09XY2JQcGR2MFN4bWZDZXQrcTVIenl4NmxmMk9MczRZWERX?= =?utf-8?Q?LjDUfEVvHmEZNFJi47ESbZ/v/3qL1z1sFgTHrTWV4Lxz?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3086.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b08d453c-c299-438e-4ce3-08db5ce2499d X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2023 05:38:37.0245 (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: d5GM01ts/yVmMTyAG2ie3ErGDfLOhG2+oOzNMMQsvbs8E9FoM7n3L1EYNnW3ALjxkMgpnLPif8AY5r6XeJO7NA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4697 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGkgQW5kcmV3LA0KDQpUaGFuayB5b3UgZm9yIHRoZXNlIGNvbW1lbnRzLg0KSSdsbCBiZSBhZGRy ZXNzaW5nIHRoZW0gYXMgc29vbiBhcyBJIHdpbGwgYmUgYmFjayBpbiBvZmZpY2UsIGluIGZldyB3 ZWVrcw0KDQpCciwNCk1hdHRpIFB1cHV0dGkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4NCj4gU2VudDog V2VkbmVzZGF5LCBNYXkgMjQsIDIwMjMgNzozMyBQTQ0KPiBUbzogUHVwdXR0aSwgTWF0dGkgPG1h dHRpLnB1cHV0dGlAaW50ZWwuY29tPjsgZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcNCj4gU3Vi amVjdDogUmU6IFtQQVRDSCB2MyAxLzFdIGdkYiwgaW5mY21kOiBTdXBwb3J0IGp1bXAgY29tbWFu ZCBpbiBtdWx0aS0NCj4gaW5mZXJpb3IgY2FzZS4NCj4gDQo+IE1hdHRpIFB1cHV0dGkgPG1hdHRp LnB1cHV0dGlAaW50ZWwuY29tPiB3cml0ZXM6DQo+IA0KPiA+IEZpeGVzIHRoZSBpc3N1ZSB3aGVy ZSBqdW1wIGZhaWxlZCBpZiBtdWx0aXBsZSBpbmZlcmlvcnMgcnVuIHRoZSBzYW1lIHNvdXJjZS4N Cj4gPg0KPiA+IFNlZSB0aGUgYmVsb3cgZXhhbXBsZQ0KPiA+DQo+ID4gICAgICQgZ2RiIC1xIC4v c2ltcGxlDQo+ID4gICAgIFJlYWRpbmcgc3ltYm9scyBmcm9tIC4vc2ltcGxlLi4uDQo+ID4gICAg IChnZGIpIGJyZWFrIDINCj4gPiAgICAgQnJlYWtwb2ludCAxIGF0IDB4MTE0ZTogZmlsZSBzaW1w bGUuYywgbGluZSAyLg0KPiA+ICAgICAoZ2RiKSBydW4NCj4gPiAgICAgU3RhcnRpbmcgcHJvZ3Jh bTogL3RlbXAvc2ltcGxlDQo+ID4NCj4gPiAgICAgQnJlYWtwb2ludCAxLCBtYWluICgpIGF0IHNp bXBsZS5jOjINCj4gPiAgICAgMiAgICAgICAgIGludCBhID0gNDI7DQo+ID4gICAgIChnZGIpIGFk ZC1pbmZlcmlvcg0KPiA+ICAgICBbTmV3IGluZmVyaW9yIDJdDQo+ID4gICAgIEFkZGVkIGluZmVy aW9yIDIgb24gY29ubmVjdGlvbiAxIChuYXRpdmUpDQo+ID4gICAgIChnZGIpIGluZmVyaW9yIDIN Cj4gPiAgICAgW1N3aXRjaGluZyB0byBpbmZlcmlvciAyIFs8bnVsbD5dICg8bm9leGVjPildDQo+ ID4gICAgIChnZGIpIGluZm8gaW5mZXJpb3JzDQo+ID4gICAgICAgTnVtICBEZXNjcmlwdGlvbiAg ICAgICBDb25uZWN0aW9uICAgICAgICAgICBFeGVjdXRhYmxlDQo+ID4gICAgICAgMSAgICBwcm9j ZXNzIDYyNTAgICAgICAxIChuYXRpdmUpICAgICAgICAgICAvdGVtcC9zaW1wbGUNCj4gPiAgICAg KiAyICAgIDxudWxsPiAgICAgICAgICAgIDEgKG5hdGl2ZSkNCj4gPiAgICAgKGdkYikgZmlsZSAu L3NpbXBsZQ0KPiA+ICAgICBSZWFkaW5nIHN5bWJvbHMgZnJvbSAuL3NpbXBsZS4uLg0KPiA+ICAg ICAoZ2RiKSBydW4NCj4gPiAgICAgU3RhcnRpbmcgcHJvZ3JhbTogL3RlbXAvc2ltcGxlDQo+ID4N Cj4gPiAgICAgVGhyZWFkIDIuMSAic2ltcGxlIiBoaXQgQnJlYWtwb2ludCAxLCBtYWluICgpIGF0 IHNpbXBsZS5jOjINCj4gPiAgICAgMiAgICAgICAgIGludCBhID0gNDI7DQo+ID4gICAgIChnZGIp IGluZm8gaW5mZXJpb3JzDQo+ID4gICAgICAgTnVtICBEZXNjcmlwdGlvbiAgICAgICBDb25uZWN0 aW9uICAgICAgICAgICBFeGVjdXRhYmxlDQo+ID4gICAgICAgMSAgICBwcm9jZXNzIDYyNTAgICAg ICAxIChuYXRpdmUpICAgICAgICAgICAvdGVtcC9zaW1wbGUNCj4gPiAgICAgKiAyICAgIHByb2Nl c3MgNjcwNSAgICAgIDEgKG5hdGl2ZSkgICAgICAgICAgIC90ZW1wL3NpbXBsZQ0KPiA+ICAgICAo Z2RiKSBqdW1wIDMNCj4gPiAgICAgVW5yZWFzb25hYmxlIGp1bXAgcmVxdWVzdA0KPiA+ICAgICAo Z2RiKQ0KPiA+DQo+ID4gSW4gdGhpcyBleGFtcGxlLCBqdW1wIGZhaWxzIGJlY2F1c2UgdGhlIGRl YnVnZ2VyIGZpbmRzIHR3byBkaWZmZXJlbnQNCj4gPiBsb2NhdGlvbnMsIG9uZSBmb3IgZWFjaCBp bmZlcmlvci4NCj4gPiBTb2x1dGlvbiBpcyB0byBsaW1pdCB0aGUgc2VhcmNoIHRvIHRoZSBjdXJy ZW50IHByb2dyYW0gc3BhY2UuDQo+ID4gLS0tDQo+ID4gIGdkYi9pbmZjbWQuYyAgICAgICAgICAg ICAgICAgICAgfCAgIDMgKy0NCj4gPiAgZ2RiL2xpbmVzcGVjLmMgICAgICAgICAgICAgICAgICB8 ICAgNyArLQ0KPiA+ICBnZGIvbGluZXNwZWMuaCAgICAgICAgICAgICAgICAgIHwgICA1ICstDQo+ ID4gIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvanVtcC5leHAgfCAxNzcgKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLQ0KPiAtDQo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlv bnMoKyksIDg5IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2dkYi9pbmZjbWQu YyBiL2dkYi9pbmZjbWQuYw0KPiA+IGluZGV4IDEwMzg5OTQzMmY3Li5hNzliNWQzZDRkNiAxMDA2 NDQNCj4gPiAtLS0gYS9nZGIvaW5mY21kLmMNCj4gPiArKysgYi9nZGIvaW5mY21kLmMNCj4gPiBA QCAtMTA3Nyw3ICsxMDc3LDggQEAganVtcF9jb21tYW5kIChjb25zdCBjaGFyICphcmcsIGludCBm cm9tX3R0eSkNCj4gPiAgICAgIGVycm9yX25vX2FyZyAoXygic3RhcnRpbmcgYWRkcmVzcyIpKTsN Cj4gPg0KPiA+ICAgIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4gc2Fscw0KPiA+IC0gICAg PSBkZWNvZGVfbGluZV93aXRoX2xhc3RfZGlzcGxheWVkIChhcmcsIERFQ09ERV9MSU5FX0ZVTkZJ UlNUTElORSk7DQo+ID4gKyAgICA9IGRlY29kZV9saW5lX3dpdGhfbGFzdF9kaXNwbGF5ZWQgKGFy ZywgREVDT0RFX0xJTkVfRlVORklSU1RMSU5FLA0KPiA+ICsJCQkJICAgICAgIGN1cnJlbnRfcHJv Z3JhbV9zcGFjZSk7DQo+IA0KPiBJIHdvbmRlciBpZiB3ZSBzaG91bGQgc3RvcCB1c2luZyBkZWNv ZGVfbGluZV93aXRoX2xhc3RfZGlzcGxheWVkIGhlcmUsDQo+IGFuZCBpbnN0ZWFkIHVzZSBkZWNv ZGVfbGluZV93aXRoX2N1cnJlbnRfc291cmNlPyAgSXQgZmVlbHMgbGlrZSBhIGp1bXANCj4gc2hv dWxkIGFsd2F5cyBiZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBsb2NhdGlvbiwgcmF0aGVyIHRo YW4gd2hhdCB3ZQ0KPiBoYXBwZW4gdG8gaGF2ZSBsaXN0ZWQuDQo+IA0KPiA+ICAgIGlmIChzYWxz LnNpemUgKCkgIT0gMSkNCj4gPiAgICAgIGVycm9yIChfKCJVbnJlYXNvbmFibGUganVtcCByZXF1 ZXN0IikpOw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5jIGIvZ2RiL2xpbmVz cGVjLmMNCj4gPiBpbmRleCA3ZDk2OWYzN2ZiZi4uOTIwZmQzZDM3YjcgMTAwNjQ0DQo+ID4gLS0t IGEvZ2RiL2xpbmVzcGVjLmMNCj4gPiArKysgYi9nZGIvbGluZXNwZWMuYw0KPiA+IEBAIC0zMjMx LDcgKzMyMzEsOCBAQCBkZWNvZGVfbGluZV93aXRoX2N1cnJlbnRfc291cmNlIChjb25zdCBjaGFy DQo+ICpzdHJpbmcsIGludCBmbGFncykNCj4gPiAgLyogU2VlIGxpbmVzcGVjLmguICAqLw0KPiA+ DQo+ID4gIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4NCj4gPiAtZGVjb2RlX2xpbmVfd2l0 aF9sYXN0X2Rpc3BsYXllZCAoY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgZmxhZ3MpDQo+ID4gK2Rl Y29kZV9saW5lX3dpdGhfbGFzdF9kaXNwbGF5ZWQgKGNvbnN0IGNoYXIgKnN0cmluZywgaW50IGZs YWdzLA0KPiA+ICsJCQkJIHByb2dyYW1fc3BhY2UgKnNlYXJjaF9wc3BhY2UpDQo+ID4gIHsNCj4g PiAgICBpZiAoc3RyaW5nID09IDApDQo+ID4gICAgICBlcnJvciAoXygiRW1wdHkgbGluZSBzcGVj aWZpY2F0aW9uLiIpKTsNCj4gPiBAQCAtMzI0MCwxMCArMzI0MSwxMCBAQCBkZWNvZGVfbGluZV93 aXRoX2xhc3RfZGlzcGxheWVkIChjb25zdCBjaGFyDQo+ICpzdHJpbmcsIGludCBmbGFncykNCj4g PiAgCQkJCQkJICAgICAgY3VycmVudF9sYW5ndWFnZSk7DQo+ID4gICAgc3RkOjp2ZWN0b3I8c3lt dGFiX2FuZF9saW5lPiBzYWxzDQo+ID4gICAgICA9IChsYXN0X2Rpc3BsYXllZF9zYWxfaXNfdmFs aWQgKCkNCj4gPiAtICAgICAgID8gZGVjb2RlX2xpbmVfMSAobG9jc3BlYy5nZXQgKCksIGZsYWdz LCBOVUxMLA0KPiA+ICsgICAgICAgPyBkZWNvZGVfbGluZV8xIChsb2NzcGVjLmdldCAoKSwgZmxh Z3MsIHNlYXJjaF9wc3BhY2UsDQo+ID4gIAkJCWdldF9sYXN0X2Rpc3BsYXllZF9zeW10YWIgKCks DQo+ID4gIAkJCWdldF9sYXN0X2Rpc3BsYXllZF9saW5lICgpKQ0KPiANCj4gVGhpcyBjaGFuZ2Ug aXMgd2h5IEkgc3RhcnRlZCBsb29raW5nIGF0IHRoZSBkZXRhaWxzIG9mIHRoaXMgcGF0Y2ggYWdh aW4uDQo+IEknbSBub3Qgc3VyZSB0aGlzIGNoYW5nZSBtYWtlcyBzZW5zZSwgSSB3b3VsZCBoYXZl IGV4cGVjdGVkIHVzIHRvIHVzZQ0KPiBnZXRfbGFzdF9kaXNwbGF5ZWRfcHNwYWNlICgpIGhlcmUg aW5zdGVhZCBvZiBzZWFyY2hfcHNwYWNlLCBidXQgdGhlbiBpdA0KPiBiZWNvbWVzIGhhcmRlciB0 byBkZXNjcmliZSB3aGF0IHNlYXJjaF9wc3BhY2UgZG9lcyBhcyBpdCB3b3VsZCBvbmx5IGJlDQo+ IHVzZWQgYmVsb3cuDQo+IA0KPiBJdCB3ZSBzd2l0Y2gganVtcCB0byB1c2UgZGVjb2RlX2xpbmVf d2l0aF9jdXJyZW50X3NvdXJjZSB0aGVuIEkgdGhpbmsNCj4gdGhpcyBwcm9ibGVtIGdvZXMgYXdh eSwgdGhlIGNoYW5nZXMgdG8gZGVjb2RlX2xpbmVfd2l0aF9sYXN0X2Rpc3BsYXllZA0KPiBjYW4g YmUgZHJvcHBlZC4NCj4gDQo+IEF0IHRoZSBlbmQgb2YgdGhpcyBlbWFpbCB5b3UnbGwgZmluZCBh IHBhdGNoIHRoYXQgYXBwbGllcyBvbiB0b3Agb2YgeW91cg0KPiBWMywgd2hpY2ggaW1wbGVtZW50 cyB0aGUgY2hhbmdlIEknbSBzdWdnZXN0aW5nLiAgVGhpcyBwYXNzZXMgYWxsIHRoZQ0KPiAnanVt cCcgdGVzdHMgSSBjb3VsZCBmaW5kIGluIHRoZSB0ZXN0c3VpdGUsIHNvIEkgdGhpbmsgaXQncyBm aW5lLCBidXQNCj4gaXQgd291bGQgYmUgZ3JlYXQgdG8gaGVhciB5b3VyIHRob3VnaHRzLg0KPiAN Cj4gVGhhbmtzLA0KPiBBbmRyZXcNCj4gDQo+ID4gLSAgICAgICA6IGRlY29kZV9saW5lXzEgKGxv Y3NwZWMuZ2V0ICgpLCBmbGFncywgTlVMTCwgTlVMTCwgMCkpOw0KPiA+ICsgICAgICAgOiBkZWNv ZGVfbGluZV8xIChsb2NzcGVjLmdldCAoKSwgZmxhZ3MsIHNlYXJjaF9wc3BhY2UsIE5VTEwsIDAp KTsNCj4gPg0KPiA+ICAgIGlmICgqc3RyaW5nKQ0KPiA+ICAgICAgZXJyb3IgKF8oIkp1bmsgYXQg ZW5kIG9mIGxpbmUgc3BlY2lmaWNhdGlvbjogJXMiKSwgc3RyaW5nKTsNCj4gPiBkaWZmIC0tZ2l0 IGEvZ2RiL2xpbmVzcGVjLmggYi9nZGIvbGluZXNwZWMuaA0KPiA+IGluZGV4IGQ1ZTczMzRmZTJk Li4wZWI5Y2I1ZDlmMiAxMDA2NDQNCj4gPiAtLS0gYS9nZGIvbGluZXNwZWMuaA0KPiA+ICsrKyBi L2dkYi9saW5lc3BlYy5oDQo+ID4gQEAgLTEzOSwxMCArMTM5LDExIEBAIGV4dGVybiBzdGQ6OnZl Y3RvcjxzeW10YWJfYW5kX2xpbmU+DQo+IGRlY29kZV9saW5lX3dpdGhfY3VycmVudF9zb3VyY2UN Cj4gPiAgICAgIChjb25zdCBjaGFyICosIGludCk7DQo+ID4NCj4gPiAgLyogR2l2ZW4gYSBzdHJp bmcsIHJldHVybiB0aGUgbGluZSBzcGVjaWZpZWQgYnkgaXQsIHVzaW5nIHRoZSBsYXN0IGRpc3Bs YXllZA0KPiA+IC0gICBjb2RlcG9pbnQncyB2YWx1ZXMgYXMgZGVmYXVsdHMsIG9yIG5vdGhpbmcg aWYgdGhleSBhcmVuJ3QgdmFsaWQuICAqLw0KPiA+ICsgICBjb2RlcG9pbnQncyB2YWx1ZXMgYXMg ZGVmYXVsdHMsIG9yIG5vdGhpbmcgaWYgdGhleSBhcmVuJ3QgdmFsaWQuDQo+ID4gKyAgIExpbWl0 IHRoZSBzZWFyY2ggdG8gZ2l2ZW4gcHJvZ3JhbSBzcGFjZSwgaWYgc3BlY2lmaWVkLiAgKi8NCj4g Pg0KPiA+ICBleHRlcm4gc3RkOjp2ZWN0b3I8c3ltdGFiX2FuZF9saW5lPiBkZWNvZGVfbGluZV93 aXRoX2xhc3RfZGlzcGxheWVkDQo+ID4gLSAgICAoY29uc3QgY2hhciAqLCBpbnQpOw0KPiA+ICsg ICAgKGNvbnN0IGNoYXIgKiwgaW50LCBwcm9ncmFtX3NwYWNlICpzZWFyY2hfcHNwYWNlID0gbnVs bHB0cik7DQo+ID4NCj4gPiAgLyogRG9lcyBQIHJlcHJlc2VudCBvbmUgb2YgdGhlIGtleXdvcmRz PyAgSWYgc28sIHJldHVybg0KPiA+ICAgICB0aGUga2V5d29yZC4gIElmIG5vdCwgcmV0dXJuIE5V TEwuICAqLw0KPiA+IGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2p1bXAuZXhw DQo+IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qdW1wLmV4cA0KPiA+IGluZGV4IDAzMmM0YTYy NzlkLi40YzBkNGVkMmRiYiAxMDA2NDQNCj4gPiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2p1bXAuZXhwDQo+ID4gKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qdW1wLmV4cA0KPiA+ IEBAIC0xOCw5OSArMTgsMTEwIEBAIGNsZWFyX3hmYWlsICIqLSotKiINCj4gPg0KPiA+ICBzdGFu ZGFyZF90ZXN0ZmlsZSAuYw0KPiA+DQo+ID4gLSMgQnVpbGQgdGhlIHRlc3QgY2FzZQ0KPiA+IC1p ZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7Ymlu ZmlsZX0iIGV4ZWN1dGFibGUNCj4ge2RlYnVnIG5vd2FybmluZ3N9XSAhPSAiIiB9IHsNCj4gPiAt ICAgICB1bnRlc3RlZCAiZmFpbGVkIHRvIGNvbXBpbGUiDQo+ID4gLSAgICAgcmV0dXJuIC0xDQo+ ID4gLSAgICB9DQo+ID4gK2lmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBh cmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSBkZWJ1Z119IHsNCj4gPiArICAgIHJldHVybiAtMQ0KPiA+ ICt9DQo+ID4NCj4gPg0KPiA+IC0jIFN0YXJ0IHdpdGggYSBmcmVzaCBnZGINCj4gPiArcHJvYyBk b190ZXN0cyB7fSB7DQo+ID4gKyAgICBnbG9iYWwgZGVjaW1hbCBzcmNmaWxlDQo+ID4gKw0KPiA+ ICsgICAgIyBTZXQgYSBicmVha3BvaW50IG9uIHRoZSBzdGF0ZW1lbnQgdGhhdCB3ZSdyZSBhYm91 dCB0byBqdW1wIHRvLg0KPiA+ICsgICAgIyBUaGUgc3RhdGVtZW50IGRvZXNuJ3QgY29udGFpbiBh IGZ1bmN0aW9uIGNhbGwuDQo+ID4gKyAgICBzZXQgbm9uX2NhbGxfbGluZSBbZ2RiX2dldF9saW5l X251bWJlciAiYnAtb24tbm9uLWNhbGwiXQ0KPiA+ICsgICAgZ2RiX2JyZWFrcG9pbnQgIiRub25f Y2FsbF9saW5lIg0KPiA+ICsgICAgc2V0IGJwX29uX25vbl9jYWxsIFwNCj4gPiArCVtnZXRfaW50 ZWdlcl92YWx1ZW9mICJcJGJwbnVtIiAiSU5WQUxJRCIgImJwX29uX25vbl9jYWxsIl0NCj4gPiAr DQo+ID4gKyAgICAjIENhbiB3ZSBqdW1wIHRvIHRoZSBzdGF0ZW1lbnQ/ICBEbyB3ZSBzdG9wIHRo ZXJlPw0KPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAgJG5vbl9jYWxsX2xpbmUiIFwNCj4gPiArCSJC cmVha3BvaW50ICR7YnBfb25fbm9uX2NhbGx9KFwuJHtkZWNpbWFsfSk/LA0KPiAuKiR7c3JjZmls ZX06JG5vbl9jYWxsX2xpbmUuKiIgXA0KPiA+ICsJImp1bXAgdG8gbm9uLWNhbGwiDQo+ID4gKw0K PiA+ICsgICAgIyBTZXQgYSBicmVha3BvaW50IG9uIHRoZSBzdGF0ZW1lbnQgdGhhdCB3ZSdyZSBh Ym91dCB0byBqdW1wIHRvLg0KPiA+ICsgICAgIyBUaGUgc3RhdGVtZW50IGRvZXMgY29udGFpbiBh IGZ1bmN0aW9uIGNhbGwuDQo+ID4gKyAgICBzZXQgY2FsbF9saW5lIFtnZGJfZ2V0X2xpbmVfbnVt YmVyICJicC1vbi1jYWxsIl0NCj4gPiArICAgIGdkYl9icmVha3BvaW50ICIkY2FsbF9saW5lIg0K PiA+ICsgICAgc2V0IGJwX29uX2NhbGwgW2dldF9pbnRlZ2VyX3ZhbHVlb2YgIlwkYnBudW0iICJJ TlZBTElEIg0KPiAiYnBfb25fY2FsbCJdDQo+ID4gKw0KPiA+ICsgICAgIyBDYW4gd2UganVtcCB0 byB0aGUgc3RhdGVtZW50PyAgRG8gd2Ugc3RvcCB0aGVyZT8NCj4gPiArICAgIGdkYl90ZXN0ICJq dW1wICRjYWxsX2xpbmUiIFwNCj4gPiArCSJCcmVha3BvaW50ICR7YnBfb25fY2FsbH0oXC4ke2Rl Y2ltYWx9KT8sIC4qJHtzcmNmaWxlfTokY2FsbF9saW5lLioiIFwNCj4gPiArCSJqdW1wIHRvIGNh bGwiDQo+ID4gKw0KPiA+ICsgICAgIyBJZiB3ZSBkaXNhYmxlIHRoZSBicmVha3BvaW50IGF0IHRo ZSBmdW5jdGlvbiBjYWxsLCBhbmQgdGhlbg0KPiA+ICsgICAgIyBpZiB3ZSBqdW1wIHRvIHRoYXQg c3RhdGVtZW50LCBkbyB3ZSBub3Qgc3RvcCB0aGVyZSwgYnV0IGF0DQo+ID4gKyAgICAjIHRoZSBm b2xsb3dpbmcgYnJlYWtwb2ludD8NCj4gPiArICAgIGdkYl90ZXN0X25vX291dHB1dCAiZGlzYWJs ZSAkYnBfb25fY2FsbCIgImRpc2FibGUgYnJlYWtwb2ludCBvbiBjYWxsIg0KPiA+ICsNCj4gPiAr ICAgIGdkYl90ZXN0ICJqdW1wICRjYWxsX2xpbmUiIFwNCj4gPiArCSJCcmVha3BvaW50ICR7YnBf b25fbm9uX2NhbGx9KFwuJHtkZWNpbWFsfSk/LA0KPiAuKiR7c3JjZmlsZX06JG5vbl9jYWxsX2xp bmUuKiIgXA0KPiA+ICsJImp1bXAgdG8gY2FsbCB3aXRoIGRpc2FibGVkIGJyZWFrcG9pbnQiDQo+ ID4gKw0KPiA+ICsgICAgIyBEaXNhYmxlIHRoZSBicmVha3BvaW50IGF0IHRoZSBub24tZnVuY3Rp b24gY2FsbCwgc28gaXQgd29uJ3QgaGl0DQo+ID4gKyAgICAjIGlmIGRvX3Rlc3QgaXMgY2FsbGVk IGFnYWluLg0KPiA+ICsgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJkaXNhYmxlICR7YnBfb25fbm9u X2NhbGx9IiAiZGlzYWJsZQ0KPiBicF9vbl9ub25fY2FsbCINCj4gPiArDQo+ID4gKyAgICAjIFZl cmlmeSB0aGF0IEdEQiByZXNwb25kcyBncmFjZWZ1bGx5IHRvIHRoZSAianVtcCIgY29tbWFuZCB3 aXRob3V0DQo+ID4gKyAgICAjIGFuIGFyZ3VtZW50Lg0KPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAi ICJBcmd1bWVudCByZXF1aXJlZCAuc3RhcnRpbmcgYWRkcmVzcy4qIiBcDQo+ID4gKwkianVtcCB3 aXRob3V0IGFyZ3VtZW50IGRpc2FsbG93ZWQiDQo+ID4gKw0KPiA+ICsgICAgIyBWZXJpZnkgdGhh dCBHREIgcmVzcG9uZHMgZ3JhY2VmdWxseSB0byB0aGUgImp1bXAiIGNvbW1hbmQgd2l0aA0KPiA+ ICsgICAgIyB0cmFpbGluZyBqdW5rLg0KPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAgJGNhbGxfbGlu ZSAxMDAiIFwNCj4gPiArCSJtYWxmb3JtZWQgbGluZXNwZWMgZXJyb3I6IHVuZXhwZWN0ZWQgbnVt YmVyLCBcIjEwMFwiIiBcDQo+ID4gKwkianVtcCB3aXRoIHRyYWlsaW5nIGFyZ3VtZW50IGp1bmsi DQo+ID4gKw0KPiA+ICsgICAgIyBWZXJpZnkgdGhhdCBHREIgcmVzcG9uZHMgZ3JhY2VmdWxseSB0 byBhIHJlcXVlc3QgdG8ganVtcCBvdXQgb2YNCj4gPiArICAgICMgdGhlIGN1cnJlbnQgZnVuY3Rp b24uICAoTm90ZSB0aGF0IHRoaXMgd2lsbCB2ZXJ5IGxpa2VseSBjYXVzZSB0aGUNCj4gPiArICAg ICMgaW5mZXJpb3IgdG8gZGllLiAgQmUgcHJlcGFyZWQgdG8gcmVydW4gdGhlIGluZmVyaW9yLCBp ZiBmdXJ0aGVyDQo+ID4gKyAgICAjIHRlc3RpbmcgaXMgZGVzaXJlZC4pDQo+ID4gKyAgICAjIFRy eSBpdCBib3RoIHdheXM6IGNvbmZpcm1pbmcgYW5kIG5vdCBjb25maXJtaW5nIHRoZSBqdW1wLg0K PiA+ICsgICAgc2V0IG91dF9saW5lIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJvdXQtb2YtZnVuYyJd DQo+ID4gKyAgICBnZGJfdGVzdCAianVtcCAkb3V0X2xpbmUiIFwNCj4gPiArCSJOb3QgY29uZmly bWVkLioiIFwNCj4gPiArCSJhYm9ydGVkIGp1bXAgb3V0IG9mIGN1cnJlbnQgZnVuY3Rpb24iIFwN Cj4gPiArCSJMaW5lICRvdXRfbGluZSBpcyBub3QgaW4gYG1haW4nLiAgSnVtcCBhbnl3YXkuKnkg b3Igbi4gJCIgXA0KPiA+ICsJIm4iDQo+ID4gKw0KPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAgJG91 dF9saW5lIiBcDQo+ID4gKwkiQ29udGludWluZyBhdC4qIiBcDQo+ID4gKwkianVtcCBvdXQgb2Yg Y3VycmVudCBmdW5jdGlvbiIgXA0KPiA+ICsJIkxpbmUgJG91dF9saW5lIGlzIG5vdCBpbiBgbWFp bicuICBKdW1wIGFueXdheS4qeSBvciBuLiAkIiBcDQo+ID4gKwkieSINCj4gPiArfQ0KPiA+DQo+ ID4gLWNsZWFuX3Jlc3RhcnQgJHtiaW5maWxlfQ0KPiA+DQo+ID4gLWlmIHshW3J1bnRvX21haW5d fSB7DQo+ID4gLSAgcmV0dXJuIC0xDQo+ID4gK3NldCBpbmZlcmlvcnMgMQ0KPiA+ICtpZiB7IVt1 c2VfZ2RiX3N0dWJdfSB7DQo+ID4gKyAgICBzZXQgaW5mZXJpb3JzIDINCj4gPiAgfQ0KPiA+DQo+ ID4gLSMgU2V0IGEgYnJlYWtwb2ludCBvbiB0aGUgc3RhdGVtZW50IHRoYXQgd2UncmUgYWJvdXQg dG8ganVtcCB0by4NCj4gPiAtIyBUaGUgc3RhdGVtZW50IGRvZXNuJ3QgY29udGFpbiBhIGZ1bmN0 aW9uIGNhbGwuDQo+ID4gLSMNCj4gPiAtc2V0IGJwX29uX25vbl9jYWxsIDANCj4gPiAtc2V0IG5v bl9jYWxsX2xpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgImJwLW9uLW5vbi1jYWxsIl0NCj4gPiAt Z2RiX3Rlc3RfbXVsdGlwbGUgImJyZWFrICRub25fY2FsbF9saW5lIiAiYnJlYWsgYmVmb3JlIGp1 bXAgdG8gbm9uLWNhbGwiDQo+IHsNCj4gPiAtICAgIC1yZSAiXFtCYlxdcmVha3BvaW50ICgke2Rl Y2ltYWx9KSBhdCAke2hleH06IGZpbGUgLioke3NyY2ZpbGV9LCBsaW5lDQo+ICRub25fY2FsbF9s aW5lLiokZ2RiX3Byb21wdCAkIiB7DQo+ID4gLQlzZXQgYnBfb25fbm9uX2NhbGwgJGV4cGVjdF9v dXQoMSxzdHJpbmcpDQo+ID4gLQlwYXNzICJicmVhayBiZWZvcmUganVtcCB0byBub24tY2FsbCIN Cj4gPiArIyBSdW4gdG8gbWFpbiwgYWRkIGluZmVyaW9ycyBpZiBuZWVkZWQuDQo+ID4gK2ZvciB7 c2V0IGluZiAxfSB7JGluZiA8PSAkaW5mZXJpb3JzfSB7aW5jciBpbmZ9IHsNCj4gPiArICAgIGlm IHskaW5mICE9IDF9IHsNCj4gPiArCSMgU3RhcnQgYSBuZXcgaW5mZXJpb3IsIGFuZCBydW4gaXQg d2l0aCB0aGUgc2FtZSBleGVjdXRhYmxlLg0KPiA+ICsJZ2RiX3Rlc3QgImFkZC1pbmZlcmlvciAt ZXhlYyAke2JpbmZpbGV9IiBcDQo+ID4gKwkgICAgIkFkZGVkIGluZmVyaW9yICR7aW5mfS4qIiBc DQo+ID4gKwkgICAgImFkZCBpbmZlcmlvciAke2luZn0gd2l0aCAtZXhlYyAiDQo+ID4gKwlnZGJf dGVzdCAiaW5mZXJpb3IgJHtpbmZ9IiBcDQo+ID4gKwkgICAgIlN3aXRjaGluZyB0byBpbmZlcmlv ciAke2luZn0gLioiIFwNCj4gPiArCSAgICAic3dpdGNoIHRvIGluZmVyaW9yICR7aW5mfSINCj4g PiArICAgIH0NCj4gPiArICAgIGlmIHshW3J1bnRvX21haW5dfSB7DQo+ID4gKwlyZXR1cm4gLTEN Cj4gPiAgICAgIH0NCj4gPiAgfQ0KPiA+DQo+ID4gLSMgQ2FuIHdlIGp1bXAgdG8gdGhlIHN0YXRl bWVudD8gIERvIHdlIHN0b3AgdGhlcmU/DQo+ID4gLSMNCj4gPiAtZ2RiX3Rlc3QgImp1bXAgJG5v bl9jYWxsX2xpbmUiICJCcmVha3BvaW50ICR7ZGVjaW1hbH0sDQo+IC4qJHtzcmNmaWxlfTokbm9u X2NhbGxfbGluZS4qIiBcDQo+ID4gLSAgICAianVtcCB0byBub24tY2FsbCINCj4gPiAtDQo+ID4g LSMgU2V0IGEgYnJlYWtwb2ludCBvbiB0aGUgc3RhdGVtZW50IHRoYXQgd2UncmUgYWJvdXQgdG8g anVtcCB0by4NCj4gPiAtIyBUaGUgc3RhdGVtZW50IGRvZXMgY29udGFpbiBhIGZ1bmN0aW9uIGNh bGwuDQo+ID4gLSMNCj4gPiAtc2V0IGJwX29uX2NhbGwgMA0KPiA+IC1zZXQgY2FsbF9saW5lIFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJicC1vbi1jYWxsIl0NCj4gPiAtZ2RiX3Rlc3RfbXVsdGlwbGUg ImJyZWFrICRjYWxsX2xpbmUiICJicmVhayBiZWZvcmUganVtcCB0byBjYWxsIiB7DQo+ID4gLSAg ICAtcmUgIlxbQmJcXXJlYWtwb2ludCAoJHtkZWNpbWFsfSkgYXQgJHtoZXh9OiBmaWxlIC4qJHtz cmNmaWxlfSwgbGluZQ0KPiAkY2FsbF9saW5lLiokZ2RiX3Byb21wdCAkIiB7DQo+ID4gLQlzZXQg YnBfb25fY2FsbCAkZXhwZWN0X291dCgxLHN0cmluZykNCj4gPiAtCXBhc3MgImJyZWFrIGJlZm9y ZSBqdW1wIHRvIGNhbGwiDQo+ID4gKyMgUnVuIHRlc3RzIG9uIGFsbCBpbmZlcmlvcnMuDQo+ID4g K2ZvciB7c2V0IGluZiAxfSB7JGluZiA8PSAkaW5mZXJpb3JzfSB7aW5jciBpbmZ9IHsNCj4gPiAr ICAgIHdpdGhfdGVzdF9wcmVmaXggImluZmVyaW9yICRpbmYiIHsNCj4gPiArCSMgU3dpdGNoIHRv IHRoZSB0YXJnZXQgaW5mZXJpb3IuDQo+ID4gKwlnZGJfdGVzdCAiaW5mZXJpb3IgJGluZiIgIi4q U3dpdGNoaW5nIHRvIGluZmVyaW9yICRpbmYgLioiDQo+ID4gKwkjIFJ1biB0aGUgdGVzdHMuDQo+ ID4gKwlkb190ZXN0cw0KPiA+ICAgICAgfQ0KPiA+ICB9DQo+ID4NCj4gPiAtIyBDYW4gd2UganVt cCB0byB0aGUgc3RhdGVtZW50PyAgRG8gd2Ugc3RvcCB0aGVyZT8NCj4gPiAtIw0KPiA+IC1nZGJf dGVzdCAianVtcCAkY2FsbF9saW5lIiBcDQo+ID4gLSAgICAiQnJlYWtwb2ludCAke2RlY2ltYWx9 LCAuKiR7c3JjZmlsZX06JGNhbGxfbGluZS4qIiBcDQo+ID4gLSAgICAianVtcCB0byBjYWxsIg0K PiA+IC0NCj4gPiAtIyBJZiB3ZSBkaXNhYmxlIHRoZSBicmVha3BvaW50IGF0IHRoZSBmdW5jdGlv biBjYWxsLCBhbmQgdGhlbg0KPiA+IC0jIGlmIHdlIGp1bXAgdG8gdGhhdCBzdGF0ZW1lbnQsIGRv IHdlIG5vdCBzdG9wIHRoZXJlLCBidXQgYXQNCj4gPiAtIyB0aGUgZm9sbG93aW5nIGJyZWFrcG9p bnQ/DQo+ID4gLSMNCj4gPiAtZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJkaXNhYmxlICRicF9vbl9jYWxs IiAiZGlzYWJsZSBicmVha3BvaW50IG9uIGNhbGwiDQo+ID4gLQ0KPiA+IC1nZGJfdGVzdCAianVt cCAkY2FsbF9saW5lIiAiQnJlYWtwb2ludCAke2RlY2ltYWx9LA0KPiAuKiR7c3JjZmlsZX06JG5v bl9jYWxsX2xpbmUuKiIgXA0KPiA+IC0gICAgImp1bXAgdG8gY2FsbCB3aXRoIGRpc2FibGVkIGJy ZWFrcG9pbnQiDQo+ID4gLQ0KPiA+IC0jIFZlcmlmeSB0aGF0IEdEQiByZXNwb25kcyBncmFjZWZ1 bGx5IHRvIHRoZSAianVtcCIgY29tbWFuZCB3aXRob3V0DQo+ID4gLSMgYW4gYXJndW1lbnQuDQo+ ID4gLSMNCj4gPiAtZ2RiX3Rlc3QgImp1bXAiICJBcmd1bWVudCByZXF1aXJlZCAuc3RhcnRpbmcg YWRkcmVzcy4qIiBcDQo+ID4gLSAgICAianVtcCB3aXRob3V0IGFyZ3VtZW50IGRpc2FsbG93ZWQi DQo+ID4gLQ0KPiA+IC0NCj4gPiAtIyBWZXJpZnkgdGhhdCBHREIgcmVzcG9uZHMgZ3JhY2VmdWxs eSB0byB0aGUgImp1bXAiIGNvbW1hbmQgd2l0aA0KPiA+IC0jIHRyYWlsaW5nIGp1bmsuDQo+ID4g LSMNCj4gPiAtZ2RiX3Rlc3QgImp1bXAgJGNhbGxfbGluZSAxMDAiIFwNCj4gPiAtICAgICJtYWxm b3JtZWQgbGluZXNwZWMgZXJyb3I6IHVuZXhwZWN0ZWQgbnVtYmVyLCBcIjEwMFwiIiBcDQo+ID4g LSAgICAianVtcCB3aXRoIHRyYWlsaW5nIGFyZ3VtZW50IGp1bmsiDQo+ID4gLQ0KPiA+IC0NCj4g PiAtIyBWZXJpZnkgdGhhdCBHREIgcmVzcG9uZHMgZ3JhY2VmdWxseSB0byBhIHJlcXVlc3QgdG8g anVtcCBvdXQgb2YNCj4gPiAtIyB0aGUgY3VycmVudCBmdW5jdGlvbi4gIChOb3RlIHRoYXQgdGhp cyB3aWxsIHZlcnkgbGlrZWx5IGNhdXNlIHRoZQ0KPiA+IC0jIGluZmVyaW9yIHRvIGRpZS4gIEJl IHByZXBhcmVkIHRvIHJlcnVuIHRoZSBpbmZlcmlvciwgaWYgZnVydGhlcg0KPiA+IC0jIHRlc3Rp bmcgaXMgZGVzaXJlZC4pDQo+ID4gLSMNCj4gPiAtIyBUcnkgaXQgYm90aCB3YXlzOiBjb25maXJt aW5nIGFuZCBub3QgY29uZmlybWluZyB0aGUganVtcC4NCj4gPiAtIw0KPiA+IC0NCj4gPiAtc2V0 IG91dF9saW5lIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJvdXQtb2YtZnVuYyJdDQo+ID4gLWdkYl90 ZXN0ICJqdW1wICRvdXRfbGluZSIgXA0KPiA+IC0gICAgIk5vdCBjb25maXJtZWQuKiIgXA0KPiA+ IC0gICAgImFib3J0ZWQganVtcCBvdXQgb2YgY3VycmVudCBmdW5jdGlvbiIgXA0KPiA+IC0gICAg IkxpbmUgJG91dF9saW5lIGlzIG5vdCBpbiBgbWFpbicuICBKdW1wIGFueXdheS4qeSBvciBuLiAk IiBcDQo+ID4gLSAgICAibiINCj4gPiAtDQo+ID4gLWdkYl90ZXN0ICJqdW1wICRvdXRfbGluZSIg XA0KPiA+IC0gICAgIkNvbnRpbnVpbmcgYXQuKiIgXA0KPiA+IC0gICAgImp1bXAgb3V0IG9mIGN1 cnJlbnQgZnVuY3Rpb24iIFwNCj4gPiAtICAgICJMaW5lICRvdXRfbGluZSBpcyBub3QgaW4gYG1h aW4nLiAgSnVtcCBhbnl3YXkuKnkgb3Igbi4gJCIgXA0KPiA+IC0gICAgInkiDQo+ID4gLQ0KPiA+ ICBnZGJfZXhpdA0KPiA+IC0tDQo+ID4gMi4yNS4xDQo+ID4NCj4gPiBJbnRlbCBEZXV0c2NobGFu ZCBHbWJIDQo+ID4gUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEwLCA4NTU3OSBOZXVi aWJlcmcsIEdlcm1hbnkNCj4gPiBUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZSA8 aHR0cDovL3d3dy5pbnRlbC5kZT4NCj4gPiBNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVp c2Vuc2NobWlkLCBTaGFyb24gSGVjaywgVGlmZmFueSBEb29uIFNpbHZhDQo+ID4gQ2hhaXJwZXJz b24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1DQo+ID4gUmVnaXN0ZXJlZCBP ZmZpY2U6IE11bmljaA0KPiA+IENvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11ZW5j aGVuIEhSQiAxODY5MjgNCj4gDQo+IC0tLQ0KPiANCj4gZGlmZiAtLWdpdCBhL2dkYi9pbmZjbWQu YyBiL2dkYi9pbmZjbWQuYw0KPiBpbmRleCAxYmU3MmVkMDlmMC4uMWQxMGUyOTA4Y2EgMTAwNjQ0 DQo+IC0tLSBhL2dkYi9pbmZjbWQuYw0KPiArKysgYi9nZGIvaW5mY21kLmMNCj4gQEAgLTEwNjgs OCArMTA2OCw3IEBAIGp1bXBfY29tbWFuZCAoY29uc3QgY2hhciAqYXJnLCBpbnQgZnJvbV90dHkp DQo+ICAgICAgZXJyb3Jfbm9fYXJnIChfKCJzdGFydGluZyBhZGRyZXNzIikpOw0KPiANCj4gICAg c3RkOjp2ZWN0b3I8c3ltdGFiX2FuZF9saW5lPiBzYWxzDQo+IC0gICAgPSBkZWNvZGVfbGluZV93 aXRoX2xhc3RfZGlzcGxheWVkIChhcmcsIERFQ09ERV9MSU5FX0ZVTkZJUlNUTElORSwNCj4gLQkJ CQkgICAgICAgY3VycmVudF9wcm9ncmFtX3NwYWNlKTsNCj4gKyAgICA9IGRlY29kZV9saW5lX3dp dGhfY3VycmVudF9zb3VyY2UgKGFyZywgREVDT0RFX0xJTkVfRlVORklSU1RMSU5FKTsNCj4gICAg aWYgKHNhbHMuc2l6ZSAoKSAhPSAxKQ0KPiAgICAgIGVycm9yIChfKCJVbnJlYXNvbmFibGUganVt cCByZXF1ZXN0IikpOw0KPiANCj4gZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5jIGIvZ2RiL2xp bmVzcGVjLmMNCj4gaW5kZXggOTIwZmQzZDM3YjcuLjlmMDNhNGIzNjA0IDEwMDY0NA0KPiAtLS0g YS9nZGIvbGluZXNwZWMuYw0KPiArKysgYi9nZGIvbGluZXNwZWMuYw0KPiBAQCAtMzIyMCw3ICsz MjIwLDggQEAgZGVjb2RlX2xpbmVfd2l0aF9jdXJyZW50X3NvdXJjZSAoY29uc3QgY2hhcg0KPiAq c3RyaW5nLCBpbnQgZmxhZ3MpDQo+ICAgIGxvY2F0aW9uX3NwZWNfdXAgbG9jc3BlYyA9IHN0cmlu Z190b19sb2NhdGlvbl9zcGVjICgmc3RyaW5nLA0KPiAgCQkJCQkJICAgICAgY3VycmVudF9sYW5n dWFnZSk7DQo+ICAgIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4gc2Fscw0KPiAtICAgID0g ZGVjb2RlX2xpbmVfMSAobG9jc3BlYy5nZXQgKCksIGZsYWdzLCBOVUxMLCBjdXJzYWwuc3ltdGFi LCBjdXJzYWwubGluZSk7DQo+ICsgICAgPSBkZWNvZGVfbGluZV8xIChsb2NzcGVjLmdldCAoKSwg ZmxhZ3MsIGN1cnNhbC5wc3BhY2UsIGN1cnNhbC5zeW10YWIsDQo+ICsJCSAgICAgY3Vyc2FsLmxp bmUpOw0KPiANCj4gICAgaWYgKCpzdHJpbmcpDQo+ICAgICAgZXJyb3IgKF8oIkp1bmsgYXQgZW5k IG9mIGxpbmUgc3BlY2lmaWNhdGlvbjogJXMiKSwgc3RyaW5nKTsNCj4gQEAgLTMyMzEsOCArMzIz Miw3IEBAIGRlY29kZV9saW5lX3dpdGhfY3VycmVudF9zb3VyY2UgKGNvbnN0IGNoYXINCj4gKnN0 cmluZywgaW50IGZsYWdzKQ0KPiAgLyogU2VlIGxpbmVzcGVjLmguICAqLw0KPiANCj4gIHN0ZDo6 dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4NCj4gLWRlY29kZV9saW5lX3dpdGhfbGFzdF9kaXNwbGF5 ZWQgKGNvbnN0IGNoYXIgKnN0cmluZywgaW50IGZsYWdzLA0KPiAtCQkJCSBwcm9ncmFtX3NwYWNl ICpzZWFyY2hfcHNwYWNlKQ0KPiArZGVjb2RlX2xpbmVfd2l0aF9sYXN0X2Rpc3BsYXllZCAoY29u c3QgY2hhciAqc3RyaW5nLCBpbnQgZmxhZ3MpDQo+ICB7DQo+ICAgIGlmIChzdHJpbmcgPT0gMCkN Cj4gICAgICBlcnJvciAoXygiRW1wdHkgbGluZSBzcGVjaWZpY2F0aW9uLiIpKTsNCj4gQEAgLTMy NDEsMTAgKzMyNDEsMTAgQEAgZGVjb2RlX2xpbmVfd2l0aF9sYXN0X2Rpc3BsYXllZCAoY29uc3Qg Y2hhcg0KPiAqc3RyaW5nLCBpbnQgZmxhZ3MsDQo+ICAJCQkJCQkgICAgICBjdXJyZW50X2xhbmd1 YWdlKTsNCj4gICAgc3RkOjp2ZWN0b3I8c3ltdGFiX2FuZF9saW5lPiBzYWxzDQo+ICAgICAgPSAo bGFzdF9kaXNwbGF5ZWRfc2FsX2lzX3ZhbGlkICgpDQo+IC0gICAgICAgPyBkZWNvZGVfbGluZV8x IChsb2NzcGVjLmdldCAoKSwgZmxhZ3MsIHNlYXJjaF9wc3BhY2UsDQo+ICsgICAgICAgPyBkZWNv ZGVfbGluZV8xIChsb2NzcGVjLmdldCAoKSwgZmxhZ3MsIE5VTEwsDQo+ICAJCQlnZXRfbGFzdF9k aXNwbGF5ZWRfc3ltdGFiICgpLA0KPiAgCQkJZ2V0X2xhc3RfZGlzcGxheWVkX2xpbmUgKCkpDQo+ IC0gICAgICAgOiBkZWNvZGVfbGluZV8xIChsb2NzcGVjLmdldCAoKSwgZmxhZ3MsIHNlYXJjaF9w c3BhY2UsIE5VTEwsIDApKTsNCj4gKyAgICAgICA6IGRlY29kZV9saW5lXzEgKGxvY3NwZWMuZ2V0 ICgpLCBmbGFncywgTlVMTCwgTlVMTCwgMCkpOw0KPiANCj4gICAgaWYgKCpzdHJpbmcpDQo+ICAg ICAgZXJyb3IgKF8oIkp1bmsgYXQgZW5kIG9mIGxpbmUgc3BlY2lmaWNhdGlvbjogJXMiKSwgc3Ry aW5nKTsNCj4gZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5oIGIvZ2RiL2xpbmVzcGVjLmgNCj4g aW5kZXggMGViOWNiNWQ5ZjIuLmMwZWVmNzg5NGQ5IDEwMDY0NA0KPiAtLS0gYS9nZGIvbGluZXNw ZWMuaA0KPiArKysgYi9nZGIvbGluZXNwZWMuaA0KPiBAQCAtMTQzLDcgKzE0Myw3IEBAIGV4dGVy biBzdGQ6OnZlY3RvcjxzeW10YWJfYW5kX2xpbmU+DQo+IGRlY29kZV9saW5lX3dpdGhfY3VycmVu dF9zb3VyY2UNCj4gICAgIExpbWl0IHRoZSBzZWFyY2ggdG8gZ2l2ZW4gcHJvZ3JhbSBzcGFjZSwg aWYgc3BlY2lmaWVkLiAgKi8NCj4gDQo+ICBleHRlcm4gc3RkOjp2ZWN0b3I8c3ltdGFiX2FuZF9s aW5lPiBkZWNvZGVfbGluZV93aXRoX2xhc3RfZGlzcGxheWVkDQo+IC0gICAgKGNvbnN0IGNoYXIg KiwgaW50LCBwcm9ncmFtX3NwYWNlICpzZWFyY2hfcHNwYWNlID0gbnVsbHB0cik7DQo+ICsgICAg KGNvbnN0IGNoYXIgKiwgaW50KTsNCj4gDQo+ICAvKiBEb2VzIFAgcmVwcmVzZW50IG9uZSBvZiB0 aGUga2V5d29yZHM/ICBJZiBzbywgcmV0dXJuDQo+ICAgICB0aGUga2V5d29yZC4gIElmIG5vdCwg cmV0dXJuIE5VTEwuICAqLw0KDQpJbnRlbCBEZXV0c2NobGFuZCBHbWJIClJlZ2lzdGVyZWQgQWRk cmVzczogQW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55ClRlbDogKzQ5IDg5 IDk5IDg4NTMtMCwgd3d3LmludGVsLmRlIDxodHRwOi8vd3d3LmludGVsLmRlPgpNYW5hZ2luZyBE aXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBTaGFyb24gSGVjaywgVGlmZmFueSBEb29u IFNpbHZhICAKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1 ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10c2dlcmlj aHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=