From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id B553E3858C54 for ; Wed, 26 Jul 2023 12:32:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B553E3858C54 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=1690374771; x=1721910771; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=P4m943apUc27egm80vgFD3sXSDome5lpp0zgaUD0urI=; b=DETA0Oz9UHqvpF1LaDAjllwlsHWBkDgQOz5GNIn5RJ5eYhtIJApJVfWg aUWFc6TQGL6qpddcNb/9jNzsiAJI7kgbGKG5R+SHwtCOtKj4C1SLFDrZ1 5iia6GHtuOZJgcxB4NFVe9wso/IBoiBbbuYgzlvNpN1GCGgxtyrG+gINh +c8le4hcfTlS4WT6+t37E9YzC7j3iqG7p3Bi3YG0xXN6ICLE07EN14av5 wy5ykSnC/C+erbxXdjhK5KWdkkTHhDykdszIqDghxMrD6KgrBD1+AWi96 l5yl3JwQ50Jcp9xioVN+J73dVkQhRu6tZzYN1jw2Nsczsj68O/XGlo51/ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10783"; a="347615700" X-IronPort-AV: E=Sophos;i="6.01,232,1684825200"; d="scan'208";a="347615700" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2023 05:32:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10783"; a="676682318" X-IronPort-AV: E=Sophos;i="6.01,232,1684825200"; d="scan'208";a="676682318" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga003.jf.intel.com with ESMTP; 26 Jul 2023 05:32:30 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 26 Jul 2023 05:32:30 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Wed, 26 Jul 2023 05:32:30 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Wed, 26 Jul 2023 05:32:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YydSzsvf7yaRFm1F5MClSmkoWzpuVyqTRnvHTw6w+9pZn/McLOXFtVxPs5xUhwQUODU5Xyn2uXAMHZUlzr0B5kn5MN+q4mTXkNA/DzAMVOvII0IbfyLk36fydHUoe2XYIJ1I3H29EuKvAz2ChPr8wH7CemMiSP6qwr44UAn8iMrUf1Bs3y4rLUizPI+F8MddUqPlOittcn1MsBc8X8Q7KFsOAxUY91jwWuGXZxh3VnTqhZxM2nK7KWNpFZekt+QLtv5v7EwgDuHCbMLuAtvDUrWcvKeHPfnMui8grvp59z2Ir04RbbPBuf7qcTFDassiTzEePMg5/H1cnzHJqepTpw== 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=pmM20lkXTLhV34hL5J/uOgbACLOvzbOoDoxZz3lmXj8=; b=BeZLihQ76vRyUdXi1j/izB4qXvP8oZ/1pGqupl0SruIjxwCXufgOdLPvtwMNuoMMQ6Yb1IUbPcoYwYYdLaVH7TS49yI10kpu4scK6KNqZjrUeO5jVy3VLXoUTEXdwD/L3dRGEkxC5OEkxAVejebfOb8oU4qPBRsaN3UOAAJAhpKt3DlOVb/R2a+VEGPz5zhNhAKyDrIESIzcP4c4mlVCTz5yBvJA1P/N9ExaSoQsbiIBb005CfGqLFAxqIdEkUwv5tyrSWPiNOFxje1PftffQBbSPJWIBOrjRa1QaJ/wmqsVs5zxUohJuSc9a+O0hrR/OIlx0RaNYTxOHkg/D9acgQ== 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 BY1PR11MB8030.namprd11.prod.outlook.com (2603:10b6:a03:522::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.31; Wed, 26 Jul 2023 12:32:27 +0000 Received: from SN6PR11MB3086.namprd11.prod.outlook.com ([fe80::e6a1:d0ad:88ad:2142]) by SN6PR11MB3086.namprd11.prod.outlook.com ([fe80::e6a1:d0ad:88ad:2142%4]) with mapi id 15.20.6631.026; Wed, 26 Jul 2023 12:32:26 +0000 From: "Puputti, Matti" To: Andrew Burgess , "gdb-patches@sourceware.org" Subject: RE: [PATCH v4 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Topic: [PATCH v4 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Index: AQHZqZ9yFVxdv8RscUW2UBEiaD+G+6+ptycAgCJPlKCAAB+2gA== Date: Wed, 26 Jul 2023 12:32:26 +0000 Message-ID: References: <20230628090037.1690149-1-matti.puputti@intel.com> <87ilazlp21.fsf@redhat.com> In-Reply-To: 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_|BY1PR11MB8030:EE_ x-ms-office365-filtering-correlation-id: b1de7ad9-ece9-4959-3bc1-08db8dd45edc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: taVSjxmhLwM7fx21YJSASZNE3kLYN6d+stgGQSVX2+RgP0Ty4HqBbMymU3jEt98a5u+3SFcOudYrmhJlfWoNqDfT7rvYITOnwFbXn5JGIfsTWEq5/72k0RsK987fP2tU5iUWiXQxvrCFyWGieyDO2WQBWMN+lSL6Ls37ltbD97OqWwe9RA8Fk775ubu/uUH7d49y8q0gZxnYhLd58yDwxUMSOdOb45ll+zsVH3lV+YO2yOLNb7ih4k9YpvMukdf0hdAx44EZqmze2LJCSVelhNwLwa0EpdTfSn7x5UcXNUdIIhtnOAanim3jq4t9li9KOMuYSkBtmEtbNZGSomil+gleujuje01sb/zCjX/2yV42bCK0OMvb+mlGRQsmhkR6A0tId5m6/RdpK0i0UdElflavp86P0o/lIi6CsXq+vQ4LF4RP1SrJDGm8FOOJ64Ma4/9C3P4axUsCJYBpIH+ckTKVlkxZZLQ4j5LEAJfRR+N6MAao0YWxSHajUQ7gQ4huBmbkgwNqiO6dXKpWtELne1NQA4sNxjN1SSzqmGYyqESVvvY1jDodi6n2Muz6ykjHOxno7nVHeZwwTfpmwTmdqVnfJJFpui2jumBv+M82ENE= 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)(376002)(366004)(39860400002)(396003)(346002)(136003)(451199021)(53546011)(41300700001)(6506007)(30864003)(33656002)(15974865002)(478600001)(186003)(83380400001)(26005)(71200400001)(38070700005)(55016003)(966005)(9686003)(7696005)(2906002)(86362001)(84970400001)(5660300002)(66946007)(52536014)(66556008)(64756008)(76116006)(66476007)(66446008)(122000001)(8676002)(8936002)(316002)(82960400001)(38100700002)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R1dLK3F3dk9pKzlwVy91SEs5M2hVM0F1VkI0TnZuWUV4S05aYWZickJBenp1?= =?utf-8?B?QTRlODlkdVhrajlNbnByVWw0ZTZUbDZiVEFVWmFPQzhFNmg0SVRDSm9KbUpB?= =?utf-8?B?VXgyUktsM3NIZURhdnFMaHczUllZU1hBMk8zYUZzNHc2WkM2S1RMcE9PQ2ps?= =?utf-8?B?MGNyZTRzSVZWcHVEdzJjV0d4NmQ3VHUwUVhUeVhKQ2xITXA2bHNwd0ZUSElt?= =?utf-8?B?bjhFbDZFK3dLZERNbUs2RnE4dUtXSmN0WGs2akJNcFFlM1NFTlM1TEk3WFdI?= =?utf-8?B?N3BoeElzZVVXSUdMdGFiL082Y0NTRGQ1cHRTa1hIbmI3Wk83bVpvOWxOQy9M?= =?utf-8?B?Sjd6ay8zWGdYQjZMMlFGVStUTVhNc1pwaWFXdEVhMW04cDlXQmg5aS9JMlV6?= =?utf-8?B?bTJRWkkzSXR0OUFxMHZGRGNXbndBMnZudUJlWjRRZlJGUk5sRUlsU3VZbTBF?= =?utf-8?B?MnlSckN1NU4yTEgraUwvTExIYlBRMXdDdlk3UnpWZGsyVmVneEJZQXp4bi9z?= =?utf-8?B?RURlQW84YmZDNkFIM3JLeDJ3UzFJcVZWSmFLUjhkTlNGM3NNVGVtWHdDamZs?= =?utf-8?B?dmZYZDc2L0VpOUdtdVNpY1FLc2R1QlpQdlJ5YjZkQUJqY3VjMHdPcG9MN29x?= =?utf-8?B?aEpiS3lYUHpHSFdiUGNNaXBBcjJJN2R5NFN0VjNQNWR5M3huOG9zVGQyYUhX?= =?utf-8?B?MlRabktaWnllOWN0b1M3R3JsUi9wM3pEbW41SllFQWYrOFNRdzh5MDR0TFNW?= =?utf-8?B?aTdMTnZLWUtvQUhNeWFOTTJ5U3FpQWNyTnFiSEcwSk1hNGdCdlpXTjNGR3Jy?= =?utf-8?B?Y3l4cWpOUXcvUHpMbEcxZEZhNzhWR3cxS3hhYzdiaWxYUXZ6S2F1d1ZqNmpB?= =?utf-8?B?WTY0VXJKWHAyZHJnTVdlRGxjYUVzSUcxUEJyU05oNnhXWVVuK1hCV3pTV1V6?= =?utf-8?B?WmJCREVWMGF4R1JjYmJlMm5Yc1lZQ2M1enZyV3c2WkE2NVdScS93UTU0Rm01?= =?utf-8?B?WmtqMm5UaVNSeUtvcHMrUy9adllhU01xTVNNcU9iTk1xREM0ZVkxcW1WaEN3?= =?utf-8?B?VnlrVmxIZlpGMkVFMTZ6eUVhWVVtVFpXNEFmbkdubEhpc1NWTWszQ1ArTHlJ?= =?utf-8?B?K0loNU5MeHU0cit0Zk1lOHpYSi83Nm1zZXlLdWxnaENSWkd3UU9XMXB1SmJY?= =?utf-8?B?Yk1TNGRYVjNMODVVZWVqZXNhU21yMDVMQnplZHBMd2ZjamF0S0hxVjFXTmxa?= =?utf-8?B?blYrckpralNHZFVMdDk4VjJqQjVwRmh3VHJWZHFmRStRRlZmdFJFTG0zWWMz?= =?utf-8?B?ZVZaUkUzZVA3Q0RqM3Nlb0RVSFZOZFB0Y3VzbWZKRGI2VjNEWk9GS2k0TUk0?= =?utf-8?B?Q2NjbUVvZksyUmw0d2l2aUNxbkw3b3A0Yy9TakVXVVlySDBkUExuaG1RaW5T?= =?utf-8?B?MVhlNUNsV2NMSmw4U2pyVGo5ZGQvM3ZTMEs1Zld5aERDTmtOcGJ2N0tmd29J?= =?utf-8?B?SXo4Mmh2QTVtTnZXK1ZJNk1Qd3NUanFuMHB4RG5wTVlPZ1ZOaHl6NUdjc3VY?= =?utf-8?B?ZFdRYWtKZGF5bmJ2b0EyQTAyeEVUQU8rOXhpRTVWZzFxT042RnJmSm5LdzY0?= =?utf-8?B?bDhSYnlmWjl2Zk1tRW9WVGs5ODRDcmp2b3VqLzZ3L0JZQUxrU0dXNW4zWTUz?= =?utf-8?B?NTNFWDV6eDNxSDJ4WWhQTXM2ZTJNRUswL0tJR2t4TlVaSUJLQmpGeCt0SFVv?= =?utf-8?B?NCtoVy90YzZvNkR0UzBmVXk4OEVtTS9USzdIZnh2SC90a0xWNnV1VGxiK0VD?= =?utf-8?B?aVJSSnFVOWs2N21tWXVuL3RFWkFpZ3p1c2NZWUs0NWVwWVRYVFRtWXB5Ny9H?= =?utf-8?B?cGI3KzJUVDd1TXhzZWo4ZTE4REQ2dGZSbWF1V0VDWUk0aFpPUUlLNFlBOFVs?= =?utf-8?B?ZWw5MEEzK0lrTG54dTRCc011V3gwRkVPNjBWMDREZWZ5ZjhWQUdoZW15cGdm?= =?utf-8?B?WGVJaXBoamZWRXZGWUxIMkpQMy96bHB1YkthZUtPLzJSM1ZxRDVkajVyZWRD?= =?utf-8?B?SGhSWFJuNnRVUnlIcXMxVU5zZ1NVMUVzVUZyQm9pOVhHNDNVa2kyZDZUSWVQ?= =?utf-8?Q?slnIx6QsO+6ebyZWN3ZIpPjcr?= 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: b1de7ad9-ece9-4959-3bc1-08db8dd45edc X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jul 2023 12:32:26.7076 (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: PryOdPGAWHtHCWJrXt8roPNJhn2P9z7dlMuX04TsX7WzR44+t3lzyHvk5eBD9tNLJn3EMtcfl5alf7wR3/lqDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR11MB8030 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_PASS,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: U2luY2VyZWx5IHNvcnJ5IGZvciBzcGFtbWluZywgYnV0IEkgbWVzc2VkIHdpdGggdGhlIGNvbW1p dCBtZXNzYWdlIGluIHBhdGNoIDUsIGFuZCBoYWQgdG8gdXBsb2FkIHBhdGNoIDYuDQpPbmx5IGRp ZmZlcmVuY2UgYmV0d2VlbiBwYXRjaGVzIDUgYW5kIDYgaXMgdGhlIGNvbW1pdCBtZXNzYWdlIHRp dGxlLg0KDQpQYXRjaCA2OiBodHRwczovL3NvdXJjZXdhcmUub3JnL3BpcGVybWFpbC9nZGItcGF0 Y2hlcy8yMDIzLUp1bHkvMjAxMTI1Lmh0bWwNCg0KQnIsDQpNYXR0aSBQdXB1dHRpDQoNCj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUHVwdXR0aSwgTWF0dGkNCj4gU2VudDog V2VkbmVzZGF5LCBKdWx5IDI2LCAyMDIzIDE6NTEgUE0NCj4gVG86IEFuZHJldyBCdXJnZXNzIDxh YnVyZ2Vzc0ByZWRoYXQuY29tPjsgZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcNCj4gU3ViamVj dDogUkU6IFtQQVRDSCB2NCAxLzFdIGdkYiwgaW5mY21kOiBTdXBwb3J0IGp1bXAgY29tbWFuZCBp biBtdWx0aS0NCj4gaW5mZXJpb3IgY2FzZS4NCj4gDQo+IEhpIEFuZHJldywNCj4gDQo+IEkgYW0g c29ycnkgdG8gdGFrZSBzdWNoIGEgbG9uZyB0aW1lIHRvIHJlYWN0IG9uIHlvdXIgbGF0ZXN0IGNv bW1lbnRzLg0KPiANCj4gSSBoYXZlIHVwbG9hZGVkIHBhdGNoIDUsIGluIHdoaWNoIEkgcmV2ZXJ0 ZWQgdGhlIGNvbW1lbnQgY2hhbmdlLCBhcyB5b3UNCj4gcHJvcG9zZWQuDQo+IEluIGFkZGl0aW9u IHRvIHRoYXQsIHRoaXMgcGF0Y2ggbWFrZXMgZm9sbG93aW5nIGNoYW5nZXMgaW4gZ2RiLmJhc2Uv anVtcC5leHA6DQo+IC0JUmVtb3ZlIGF0dHJpYnV0ZSDigJhkZWJ1Z+KAmSBmcm9tIOKAmHByZXBh cmVfZm9yX3Rlc3RpbmfigJkuIFRoaXMgYXR0cmlidXRlIGlzDQo+IHBhc3NlZCBieSBkZWZhdWx0 Lg0KPiAtCVJlbmFtZSDigJgkaW5mZXJpb3Jz4oCZICB0byDigJgkbnVtX2luZmVyaW9yc+KAmS4g TmV3IG5hbWUgaXMgbW9yZQ0KPiBkZXNjcmlwdGl2ZS4NCj4gLQlDYWxsIOKAmHJ1bnRvX21haW7i gJkgb25jZSBiZWZvcmUgdGhlIGxvb3AsIGFuZCBzdGFydCB0aGUgbG9vcCBmcm9tIOKAmDLigJku DQo+IFNpbXBsaWZpZXMgY29kZSBieSByZW1vdmluZyB0aGUg4oCYaWYgeyRpbmYgIT0gMX3igJkN Cj4gLQlSZW1vdmUg4oCYZ2RiX2V4aXTigJkgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4NCj4gDQo+ IFBhdGNoIDE6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWlsL2dkYi1wYXRjaGVzLzIw MjMtDQo+IEZlYnJ1YXJ5LzE5NzI2OS5odG1sDQo+IENvbW1lbnRzIG9uIHBhdGNoIDE6IGh0dHBz Oi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWlsL2dkYi1wYXRjaGVzLzIwMjMtDQo+IEZlYnJ1YXJ5 LzE5NzI3MS5odG1sDQo+IFBhdGNoIDI6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWls L2dkYi1wYXRjaGVzLzIwMjMtDQo+IEZlYnJ1YXJ5LzE5NzMwMi5odG1sDQo+IENvbW1lbnRzIG9u IHBhdGNoIDI6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWlsL2dkYi1wYXRjaGVzLzIw MjMtDQo+IEFwcmlsLzE5OTA1NS5odG1sDQo+IFBhdGNoIDM6IGh0dHBzOi8vc291cmNld2FyZS5v cmcvcGlwZXJtYWlsL2dkYi1wYXRjaGVzLzIwMjMtDQo+IEFwcmlsLzE5OTA5NS5odG1sDQo+IENv bW1lbnRzIG9uIHBhdGNoIDM6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWlsL2dkYi1w YXRjaGVzLzIwMjMtDQo+IE1heS8xOTk4NTMuaHRtbA0KPiBQYXRjaCA0OiBodHRwczovL3NvdXJj ZXdhcmUub3JnL3BpcGVybWFpbC9nZGItcGF0Y2hlcy8yMDIzLQ0KPiBKdW5lLzIwMDUyNC5odG1s DQo+IENvbW1lbnRzIG9uIHBhdGNoIDQ6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWls L2dkYi1wYXRjaGVzLzIwMjMtDQo+IEp1bHkvMjAwNjQxLmh0bWwNCj4gUGF0Y2ggNTogaHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9waXBlcm1haWwvZ2RiLXBhdGNoZXMvMjAyMy0NCj4gSnVseS8yMDEx MjMuaHRtbA0KPiANCj4gQnIsDQo+IE1hdHRpIFB1cHV0dGkNCj4gDQo+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0 LmNvbT4NCj4gPiBTZW50OiBUdWVzZGF5LCBKdWx5IDQsIDIwMjMgNDozOSBQTQ0KPiA+IFRvOiBQ dXB1dHRpLCBNYXR0aSA8bWF0dGkucHVwdXR0aUBpbnRlbC5jb20+OyBnZGItDQo+IHBhdGNoZXNA c291cmNld2FyZS5vcmcNCj4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0IDEvMV0gZ2RiLCBpbmZj bWQ6IFN1cHBvcnQganVtcCBjb21tYW5kIGluIG11bHRpLQ0KPiA+IGluZmVyaW9yIGNhc2UuDQo+ ID4NCj4gPiBNYXR0aSBQdXB1dHRpIDxtYXR0aS5wdXB1dHRpQGludGVsLmNvbT4gd3JpdGVzOg0K PiA+DQo+ID4gPiBGaXhlcyB0aGUgaXNzdWUgd2hlcmUganVtcCBmYWlsZWQgaWYgbXVsdGlwbGUg aW5mZXJpb3JzIHJ1biB0aGUgc2FtZSBzb3VyY2UuDQo+ID4gPg0KPiA+ID4gU2VlIHRoZSBiZWxv dyBleGFtcGxlDQo+ID4gPg0KPiA+ID4gICAgICQgZ2RiIC1xIC4vc2ltcGxlDQo+ID4gPiAgICAg UmVhZGluZyBzeW1ib2xzIGZyb20gLi9zaW1wbGUuLi4NCj4gPiA+ICAgICAoZ2RiKSBicmVhayAy DQo+ID4gPiAgICAgQnJlYWtwb2ludCAxIGF0IDB4MTE0ZTogZmlsZSBzaW1wbGUuYywgbGluZSAy Lg0KPiA+ID4gICAgIChnZGIpIHJ1bg0KPiA+ID4gICAgIFN0YXJ0aW5nIHByb2dyYW06IC90ZW1w L3NpbXBsZQ0KPiA+ID4NCj4gPiA+ICAgICBCcmVha3BvaW50IDEsIG1haW4gKCkgYXQgc2ltcGxl LmM6Mg0KPiA+ID4gICAgIDIgICAgICAgICBpbnQgYSA9IDQyOw0KPiA+ID4gICAgIChnZGIpIGFk ZC1pbmZlcmlvcg0KPiA+ID4gICAgIFtOZXcgaW5mZXJpb3IgMl0NCj4gPiA+ICAgICBBZGRlZCBp bmZlcmlvciAyIG9uIGNvbm5lY3Rpb24gMSAobmF0aXZlKQ0KPiA+ID4gICAgIChnZGIpIGluZmVy aW9yIDINCj4gPiA+ICAgICBbU3dpdGNoaW5nIHRvIGluZmVyaW9yIDIgWzxudWxsPl0gKDxub2V4 ZWM+KV0NCj4gPiA+ICAgICAoZ2RiKSBpbmZvIGluZmVyaW9ycw0KPiA+ID4gICAgICAgTnVtICBE ZXNjcmlwdGlvbiAgICAgICBDb25uZWN0aW9uICAgICAgICAgICBFeGVjdXRhYmxlDQo+ID4gPiAg ICAgICAxICAgIHByb2Nlc3MgNjI1MCAgICAgIDEgKG5hdGl2ZSkgICAgICAgICAgIC90ZW1wL3Np bXBsZQ0KPiA+ID4gICAgICogMiAgICA8bnVsbD4gICAgICAgICAgICAxIChuYXRpdmUpDQo+ID4g PiAgICAgKGdkYikgZmlsZSAuL3NpbXBsZQ0KPiA+ID4gICAgIFJlYWRpbmcgc3ltYm9scyBmcm9t IC4vc2ltcGxlLi4uDQo+ID4gPiAgICAgKGdkYikgcnVuDQo+ID4gPiAgICAgU3RhcnRpbmcgcHJv Z3JhbTogL3RlbXAvc2ltcGxlDQo+ID4gPg0KPiA+ID4gICAgIFRocmVhZCAyLjEgInNpbXBsZSIg aGl0IEJyZWFrcG9pbnQgMSwgbWFpbiAoKSBhdCBzaW1wbGUuYzoyDQo+ID4gPiAgICAgMiAgICAg ICAgIGludCBhID0gNDI7DQo+ID4gPiAgICAgKGdkYikgaW5mbyBpbmZlcmlvcnMNCj4gPiA+ICAg ICAgIE51bSAgRGVzY3JpcHRpb24gICAgICAgQ29ubmVjdGlvbiAgICAgICAgICAgRXhlY3V0YWJs ZQ0KPiA+ID4gICAgICAgMSAgICBwcm9jZXNzIDYyNTAgICAgICAxIChuYXRpdmUpICAgICAgICAg ICAvdGVtcC9zaW1wbGUNCj4gPiA+ICAgICAqIDIgICAgcHJvY2VzcyA2NzA1ICAgICAgMSAobmF0 aXZlKSAgICAgICAgICAgL3RlbXAvc2ltcGxlDQo+ID4gPiAgICAgKGdkYikganVtcCAzDQo+ID4g PiAgICAgVW5yZWFzb25hYmxlIGp1bXAgcmVxdWVzdA0KPiA+ID4gICAgIChnZGIpDQo+ID4gPg0K PiA+ID4gSW4gdGhpcyBleGFtcGxlLCBqdW1wIGZhaWxzIGJlY2F1c2UgdGhlIGRlYnVnZ2VyIGZp bmRzIHR3byBkaWZmZXJlbnQNCj4gPiA+IGxvY2F0aW9ucywgb25lIGZvciBlYWNoIGluZmVyaW9y Lg0KPiA+ID4gU29sdXRpb24gaXMgdG8gbGltaXQgdGhlIHNlYXJjaCB0byB0aGUgY3VycmVudCBw cm9ncmFtIHNwYWNlLg0KPiA+DQo+ID4gSSBoYXZlIG9uZSBsYXN0IG5pdC4uLg0KPiA+DQo+ID4g PiAtLS0NCj4gPiA+ICBnZGIvaW5mY21kLmMgICAgICAgICAgICAgICAgICAgIHwgICAyICstDQo+ ID4gPiAgZ2RiL2xpbmVzcGVjLmMgICAgICAgICAgICAgICAgICB8ICAgMyArLQ0KPiA+ID4gIGdk Yi9saW5lc3BlYy5oICAgICAgICAgICAgICAgICAgfCAgIDMgKy0NCj4gPiA+ICBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2p1bXAuZXhwIHwgMTc3ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LQ0KPiAtLQ0KPiA+ID4gIDQgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgODYgZGVs ZXRpb25zKC0pDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL2dkYi9pbmZjbWQuYyBiL2dkYi9p bmZjbWQuYw0KPiA+ID4gaW5kZXggMTU3MDJmODQ4OTQuLjk2YzVmZWFmYjFhIDEwMDY0NA0KPiA+ ID4gLS0tIGEvZ2RiL2luZmNtZC5jDQo+ID4gPiArKysgYi9nZGIvaW5mY21kLmMNCj4gPiA+IEBA IC0xMDY4LDcgKzEwNjgsNyBAQCBqdW1wX2NvbW1hbmQgKGNvbnN0IGNoYXIgKmFyZywgaW50IGZy b21fdHR5KQ0KPiA+ID4gICAgICBlcnJvcl9ub19hcmcgKF8oInN0YXJ0aW5nIGFkZHJlc3MiKSk7 DQo+ID4gPg0KPiA+ID4gICAgc3RkOjp2ZWN0b3I8c3ltdGFiX2FuZF9saW5lPiBzYWxzDQo+ID4g PiAtICAgID0gZGVjb2RlX2xpbmVfd2l0aF9sYXN0X2Rpc3BsYXllZCAoYXJnLCBERUNPREVfTElO RV9GVU5GSVJTVExJTkUpOw0KPiA+ID4gKyAgICA9IGRlY29kZV9saW5lX3dpdGhfY3VycmVudF9z b3VyY2UgKGFyZywNCj4gREVDT0RFX0xJTkVfRlVORklSU1RMSU5FKTsNCj4gPiA+ICAgIGlmIChz YWxzLnNpemUgKCkgIT0gMSkNCj4gPiA+ICAgICAgew0KPiA+ID4gICAgICAgIC8qIElmIG11bHRp cGxlIHNhbC1vYmplY3RzIHdlcmUgZm91bmQsIHRyeSBkcm9wcGluZyB0aG9zZSB0aGF0IGFyZW4n dA0KPiA+ID4gZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5jIGIvZ2RiL2xpbmVzcGVjLmMNCj4g PiA+IGluZGV4IDdkOTY5ZjM3ZmJmLi5hZmE5ZWI0ZDNhYyAxMDA2NDQNCj4gPiA+IC0tLSBhL2dk Yi9saW5lc3BlYy5jDQo+ID4gPiArKysgYi9nZGIvbGluZXNwZWMuYw0KPiA+ID4gQEAgLTMyMjAs NyArMzIyMCw4IEBAIGRlY29kZV9saW5lX3dpdGhfY3VycmVudF9zb3VyY2UgKGNvbnN0IGNoYXIN Cj4gPiAqc3RyaW5nLCBpbnQgZmxhZ3MpDQo+ID4gPiAgICBsb2NhdGlvbl9zcGVjX3VwIGxvY3Nw ZWMgPSBzdHJpbmdfdG9fbG9jYXRpb25fc3BlYyAoJnN0cmluZywNCj4gPiA+ICAJCQkJCQkgICAg ICBjdXJyZW50X2xhbmd1YWdlKTsNCj4gPiA+ICAgIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGlu ZT4gc2Fscw0KPiA+ID4gLSAgICA9IGRlY29kZV9saW5lXzEgKGxvY3NwZWMuZ2V0ICgpLCBmbGFn cywgTlVMTCwgY3Vyc2FsLnN5bXRhYiwgY3Vyc2FsLmxpbmUpOw0KPiA+ID4gKyAgICA9IGRlY29k ZV9saW5lXzEgKGxvY3NwZWMuZ2V0ICgpLCBmbGFncywgY3Vyc2FsLnBzcGFjZSwgY3Vyc2FsLnN5 bXRhYiwNCj4gPiA+ICsJCSAgICBjdXJzYWwubGluZSk7DQo+ID4gPg0KPiA+ID4gICAgaWYgKCpz dHJpbmcpDQo+ID4gPiAgICAgIGVycm9yIChfKCJKdW5rIGF0IGVuZCBvZiBsaW5lIHNwZWNpZmlj YXRpb246ICVzIiksIHN0cmluZyk7DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZ2RiL2xpbmVzcGVjLmgg Yi9nZGIvbGluZXNwZWMuaA0KPiA+ID4gaW5kZXggZDVlNzMzNGZlMmQuLmMwZWVmNzg5NGQ5IDEw MDY0NA0KPiA+ID4gLS0tIGEvZ2RiL2xpbmVzcGVjLmgNCj4gPiA+ICsrKyBiL2dkYi9saW5lc3Bl Yy5oDQo+ID4gPiBAQCAtMTM5LDcgKzEzOSw4IEBAIGV4dGVybiBzdGQ6OnZlY3RvcjxzeW10YWJf YW5kX2xpbmU+DQo+ID4gZGVjb2RlX2xpbmVfd2l0aF9jdXJyZW50X3NvdXJjZQ0KPiA+ID4gICAg ICAoY29uc3QgY2hhciAqLCBpbnQpOw0KPiA+ID4NCj4gPiA+ICAvKiBHaXZlbiBhIHN0cmluZywg cmV0dXJuIHRoZSBsaW5lIHNwZWNpZmllZCBieSBpdCwgdXNpbmcgdGhlIGxhc3QgZGlzcGxheWVk DQo+ID4gPiAtICAgY29kZXBvaW50J3MgdmFsdWVzIGFzIGRlZmF1bHRzLCBvciBub3RoaW5nIGlm IHRoZXkgYXJlbid0IHZhbGlkLiAgKi8NCj4gPiA+ICsgICBjb2RlcG9pbnQncyB2YWx1ZXMgYXMg ZGVmYXVsdHMsIG9yIG5vdGhpbmcgaWYgdGhleSBhcmVuJ3QgdmFsaWQuDQo+ID4gPiArICAgTGlt aXQgdGhlIHNlYXJjaCB0byBnaXZlbiBwcm9ncmFtIHNwYWNlLCBpZiBzcGVjaWZpZWQuICAqLw0K PiA+ID4NCj4gPg0KPiA+IEkgdGhpbmsgdGhpcyBjaGFuZ2UgdG8gdGhlIGNvbW1lbnQgaXMgbm93 IGluY29ycmVjdCwgdGhlIGFyZ3VtZW50cyB0bw0KPiA+IGRlY29kZV9saW5lX3dpdGhfbGFzdF9k aXNwbGF5ZWQgYXJlIG5vIGxvbmdlciBiZWluZyBjaGFuZ2VkLCBzbyB0aGVyZSBpcw0KPiA+IG5l dmVyIGEgcHJvZ3JhbSBzcGFjZSBzcGVjaWZpZWQuDQo+ID4NCj4gPiBXaXRoIHRoZSBjb21tZW50 IGNoYW5nZSByZXZlcnRlZDoNCj4gPg0KPiA+IEFwcHJvdmVkLUJ5OiBBbmRyZXcgQnVyZ2VzcyA8 YWJ1cmdlc3NAcmVkaGF0LmNvbT4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBBbmRyZXcNCj4gPg0K PiA+DQo+ID4gPiAgZXh0ZXJuIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4gZGVjb2RlX2xp bmVfd2l0aF9sYXN0X2Rpc3BsYXllZA0KPiA+ID4gICAgICAoY29uc3QgY2hhciAqLCBpbnQpOw0K PiA+ID4gZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvanVtcC5leHANCj4gPiBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvanVtcC5leHANCj4gPiA+IGluZGV4IDAzMmM0YTYyNzlk Li40YzBkNGVkMmRiYiAxMDA2NDQNCj4gPiA+IC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv anVtcC5leHANCj4gPiA+ICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvanVtcC5leHANCj4g PiA+IEBAIC0xOCw5OSArMTgsMTEwIEBAIGNsZWFyX3hmYWlsICIqLSotKiINCj4gPiA+DQo+ID4g PiAgc3RhbmRhcmRfdGVzdGZpbGUgLmMNCj4gPiA+DQo+ID4gPiAtIyBCdWlsZCB0aGUgdGVzdCBj YXNlDQo+ID4gPiAtaWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3Jj ZmlsZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxlDQo+ID4ge2RlYnVnIG5vd2FybmluZ3N9XSAh PSAiIiB9IHsNCj4gPiA+IC0gICAgIHVudGVzdGVkICJmYWlsZWQgdG8gY29tcGlsZSINCj4gPiA+ IC0gICAgIHJldHVybiAtMQ0KPiA+ID4gLSAgICB9DQo+ID4gPiAraWYge1twcmVwYXJlX2Zvcl90 ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIGRlYnVnXX0gew0K PiA+ID4gKyAgICByZXR1cm4gLTENCj4gPiA+ICt9DQo+ID4gPg0KPiA+ID4NCj4gPiA+IC0jIFN0 YXJ0IHdpdGggYSBmcmVzaCBnZGINCj4gPiA+ICtwcm9jIGRvX3Rlc3RzIHt9IHsNCj4gPiA+ICsg ICAgZ2xvYmFsIGRlY2ltYWwgc3JjZmlsZQ0KPiA+ID4gKw0KPiA+ID4gKyAgICAjIFNldCBhIGJy ZWFrcG9pbnQgb24gdGhlIHN0YXRlbWVudCB0aGF0IHdlJ3JlIGFib3V0IHRvIGp1bXAgdG8uDQo+ ID4gPiArICAgICMgVGhlIHN0YXRlbWVudCBkb2Vzbid0IGNvbnRhaW4gYSBmdW5jdGlvbiBjYWxs Lg0KPiA+ID4gKyAgICBzZXQgbm9uX2NhbGxfbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAiYnAt b24tbm9uLWNhbGwiXQ0KPiA+ID4gKyAgICBnZGJfYnJlYWtwb2ludCAiJG5vbl9jYWxsX2xpbmUi DQo+ID4gPiArICAgIHNldCBicF9vbl9ub25fY2FsbCBcDQo+ID4gPiArCVtnZXRfaW50ZWdlcl92 YWx1ZW9mICJcJGJwbnVtIiAiSU5WQUxJRCIgImJwX29uX25vbl9jYWxsIl0NCj4gPiA+ICsNCj4g PiA+ICsgICAgIyBDYW4gd2UganVtcCB0byB0aGUgc3RhdGVtZW50PyAgRG8gd2Ugc3RvcCB0aGVy ZT8NCj4gPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAgJG5vbl9jYWxsX2xpbmUiIFwNCj4gPiA+ICsJ IkJyZWFrcG9pbnQgJHticF9vbl9ub25fY2FsbH0oXC4ke2RlY2ltYWx9KT8sDQo+ID4gLioke3Ny Y2ZpbGV9OiRub25fY2FsbF9saW5lLioiIFwNCj4gPiA+ICsJImp1bXAgdG8gbm9uLWNhbGwiDQo+ ID4gPiArDQo+ID4gPiArICAgICMgU2V0IGEgYnJlYWtwb2ludCBvbiB0aGUgc3RhdGVtZW50IHRo YXQgd2UncmUgYWJvdXQgdG8ganVtcCB0by4NCj4gPiA+ICsgICAgIyBUaGUgc3RhdGVtZW50IGRv ZXMgY29udGFpbiBhIGZ1bmN0aW9uIGNhbGwuDQo+ID4gPiArICAgIHNldCBjYWxsX2xpbmUgW2dk Yl9nZXRfbGluZV9udW1iZXIgImJwLW9uLWNhbGwiXQ0KPiA+ID4gKyAgICBnZGJfYnJlYWtwb2lu dCAiJGNhbGxfbGluZSINCj4gPiA+ICsgICAgc2V0IGJwX29uX2NhbGwgW2dldF9pbnRlZ2VyX3Zh bHVlb2YgIlwkYnBudW0iICJJTlZBTElEIg0KPiAiYnBfb25fY2FsbCJdDQo+ID4gPiArDQo+ID4g PiArICAgICMgQ2FuIHdlIGp1bXAgdG8gdGhlIHN0YXRlbWVudD8gIERvIHdlIHN0b3AgdGhlcmU/ DQo+ID4gPiArICAgIGdkYl90ZXN0ICJqdW1wICRjYWxsX2xpbmUiIFwNCj4gPiA+ICsJIkJyZWFr cG9pbnQgJHticF9vbl9jYWxsfShcLiR7ZGVjaW1hbH0pPywgLioke3NyY2ZpbGV9OiRjYWxsX2xp bmUuKiIgXA0KPiA+ID4gKwkianVtcCB0byBjYWxsIg0KPiA+ID4gKw0KPiA+ID4gKyAgICAjIElm IHdlIGRpc2FibGUgdGhlIGJyZWFrcG9pbnQgYXQgdGhlIGZ1bmN0aW9uIGNhbGwsIGFuZCB0aGVu DQo+ID4gPiArICAgICMgaWYgd2UganVtcCB0byB0aGF0IHN0YXRlbWVudCwgZG8gd2Ugbm90IHN0 b3AgdGhlcmUsIGJ1dCBhdA0KPiA+ID4gKyAgICAjIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludD8N Cj4gPiA+ICsgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJkaXNhYmxlICRicF9vbl9jYWxsIiAiZGlz YWJsZSBicmVha3BvaW50IG9uIGNhbGwiDQo+ID4gPiArDQo+ID4gPiArICAgIGdkYl90ZXN0ICJq dW1wICRjYWxsX2xpbmUiIFwNCj4gPiA+ICsJIkJyZWFrcG9pbnQgJHticF9vbl9ub25fY2FsbH0o XC4ke2RlY2ltYWx9KT8sDQo+ID4gLioke3NyY2ZpbGV9OiRub25fY2FsbF9saW5lLioiIFwNCj4g PiA+ICsJImp1bXAgdG8gY2FsbCB3aXRoIGRpc2FibGVkIGJyZWFrcG9pbnQiDQo+ID4gPiArDQo+ ID4gPiArICAgICMgRGlzYWJsZSB0aGUgYnJlYWtwb2ludCBhdCB0aGUgbm9uLWZ1bmN0aW9uIGNh bGwsIHNvIGl0IHdvbid0IGhpdA0KPiA+ID4gKyAgICAjIGlmIGRvX3Rlc3QgaXMgY2FsbGVkIGFn YWluLg0KPiA+ID4gKyAgICBnZGJfdGVzdF9ub19vdXRwdXQgImRpc2FibGUgJHticF9vbl9ub25f Y2FsbH0iICJkaXNhYmxlDQo+ID4gYnBfb25fbm9uX2NhbGwiDQo+ID4gPiArDQo+ID4gPiArICAg ICMgVmVyaWZ5IHRoYXQgR0RCIHJlc3BvbmRzIGdyYWNlZnVsbHkgdG8gdGhlICJqdW1wIiBjb21t YW5kIHdpdGhvdXQNCj4gPiA+ICsgICAgIyBhbiBhcmd1bWVudC4NCj4gPiA+ICsgICAgZ2RiX3Rl c3QgImp1bXAiICJBcmd1bWVudCByZXF1aXJlZCAuc3RhcnRpbmcgYWRkcmVzcy4qIiBcDQo+ID4g PiArCSJqdW1wIHdpdGhvdXQgYXJndW1lbnQgZGlzYWxsb3dlZCINCj4gPiA+ICsNCj4gPiA+ICsg ICAgIyBWZXJpZnkgdGhhdCBHREIgcmVzcG9uZHMgZ3JhY2VmdWxseSB0byB0aGUgImp1bXAiIGNv bW1hbmQgd2l0aA0KPiA+ID4gKyAgICAjIHRyYWlsaW5nIGp1bmsuDQo+ID4gPiArICAgIGdkYl90 ZXN0ICJqdW1wICRjYWxsX2xpbmUgMTAwIiBcDQo+ID4gPiArCSJtYWxmb3JtZWQgbGluZXNwZWMg ZXJyb3I6IHVuZXhwZWN0ZWQgbnVtYmVyLCBcIjEwMFwiIiBcDQo+ID4gPiArCSJqdW1wIHdpdGgg dHJhaWxpbmcgYXJndW1lbnQganVuayINCj4gPiA+ICsNCj4gPiA+ICsgICAgIyBWZXJpZnkgdGhh dCBHREIgcmVzcG9uZHMgZ3JhY2VmdWxseSB0byBhIHJlcXVlc3QgdG8ganVtcCBvdXQgb2YNCj4g PiA+ICsgICAgIyB0aGUgY3VycmVudCBmdW5jdGlvbi4gIChOb3RlIHRoYXQgdGhpcyB3aWxsIHZl cnkgbGlrZWx5IGNhdXNlIHRoZQ0KPiA+ID4gKyAgICAjIGluZmVyaW9yIHRvIGRpZS4gIEJlIHBy ZXBhcmVkIHRvIHJlcnVuIHRoZSBpbmZlcmlvciwgaWYgZnVydGhlcg0KPiA+ID4gKyAgICAjIHRl c3RpbmcgaXMgZGVzaXJlZC4pDQo+ID4gPiArICAgICMgVHJ5IGl0IGJvdGggd2F5czogY29uZmly bWluZyBhbmQgbm90IGNvbmZpcm1pbmcgdGhlIGp1bXAuDQo+ID4gPiArICAgIHNldCBvdXRfbGlu ZSBbZ2RiX2dldF9saW5lX251bWJlciAib3V0LW9mLWZ1bmMiXQ0KPiA+ID4gKyAgICBnZGJfdGVz dCAianVtcCAkb3V0X2xpbmUiIFwNCj4gPiA+ICsJIk5vdCBjb25maXJtZWQuKiIgXA0KPiA+ID4g KwkiYWJvcnRlZCBqdW1wIG91dCBvZiBjdXJyZW50IGZ1bmN0aW9uIiBcDQo+ID4gPiArCSJMaW5l ICRvdXRfbGluZSBpcyBub3QgaW4gYG1haW4nLiAgSnVtcCBhbnl3YXkuKnkgb3Igbi4gJCIgXA0K PiA+ID4gKwkibiINCj4gPiA+ICsNCj4gPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAgJG91dF9saW5l IiBcDQo+ID4gPiArCSJDb250aW51aW5nIGF0LioiIFwNCj4gPiA+ICsJImp1bXAgb3V0IG9mIGN1 cnJlbnQgZnVuY3Rpb24iIFwNCj4gPiA+ICsJIkxpbmUgJG91dF9saW5lIGlzIG5vdCBpbiBgbWFp bicuICBKdW1wIGFueXdheS4qeSBvciBuLiAkIiBcDQo+ID4gPiArCSJ5Ig0KPiA+ID4gK30NCj4g PiA+DQo+ID4gPiAtY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9DQo+ID4gPg0KPiA+ID4gLWlmIHsh W3J1bnRvX21haW5dfSB7DQo+ID4gPiAtICByZXR1cm4gLTENCj4gPiA+ICtzZXQgaW5mZXJpb3Jz IDENCj4gPiA+ICtpZiB7IVt1c2VfZ2RiX3N0dWJdfSB7DQo+ID4gPiArICAgIHNldCBpbmZlcmlv cnMgMg0KPiA+ID4gIH0NCj4gPiA+DQo+ID4gPiAtIyBTZXQgYSBicmVha3BvaW50IG9uIHRoZSBz dGF0ZW1lbnQgdGhhdCB3ZSdyZSBhYm91dCB0byBqdW1wIHRvLg0KPiA+ID4gLSMgVGhlIHN0YXRl bWVudCBkb2Vzbid0IGNvbnRhaW4gYSBmdW5jdGlvbiBjYWxsLg0KPiA+ID4gLSMNCj4gPiA+IC1z ZXQgYnBfb25fbm9uX2NhbGwgMA0KPiA+ID4gLXNldCBub25fY2FsbF9saW5lIFtnZGJfZ2V0X2xp bmVfbnVtYmVyICJicC1vbi1ub24tY2FsbCJdDQo+ID4gPiAtZ2RiX3Rlc3RfbXVsdGlwbGUgImJy ZWFrICRub25fY2FsbF9saW5lIiAiYnJlYWsgYmVmb3JlIGp1bXAgdG8gbm9uLWNhbGwiDQo+IHsN Cj4gPiA+IC0gICAgLXJlICJcW0JiXF1yZWFrcG9pbnQgKCR7ZGVjaW1hbH0pIGF0ICR7aGV4fTog ZmlsZSAuKiR7c3JjZmlsZX0sIGxpbmUNCj4gPiAkbm9uX2NhbGxfbGluZS4qJGdkYl9wcm9tcHQg JCIgew0KPiA+ID4gLQlzZXQgYnBfb25fbm9uX2NhbGwgJGV4cGVjdF9vdXQoMSxzdHJpbmcpDQo+ ID4gPiAtCXBhc3MgImJyZWFrIGJlZm9yZSBqdW1wIHRvIG5vbi1jYWxsIg0KPiA+ID4gKyMgUnVu IHRvIG1haW4sIGFkZCBpbmZlcmlvcnMgaWYgbmVlZGVkLg0KPiA+ID4gK2ZvciB7c2V0IGluZiAx fSB7JGluZiA8PSAkaW5mZXJpb3JzfSB7aW5jciBpbmZ9IHsNCj4gPiA+ICsgICAgaWYgeyRpbmYg IT0gMX0gew0KPiA+ID4gKwkjIFN0YXJ0IGEgbmV3IGluZmVyaW9yLCBhbmQgcnVuIGl0IHdpdGgg dGhlIHNhbWUgZXhlY3V0YWJsZS4NCj4gPiA+ICsJZ2RiX3Rlc3QgImFkZC1pbmZlcmlvciAtZXhl YyAke2JpbmZpbGV9IiBcDQo+ID4gPiArCSAgICAiQWRkZWQgaW5mZXJpb3IgJHtpbmZ9LioiIFwN Cj4gPiA+ICsJICAgICJhZGQgaW5mZXJpb3IgJHtpbmZ9IHdpdGggLWV4ZWMgIg0KPiA+ID4gKwln ZGJfdGVzdCAiaW5mZXJpb3IgJHtpbmZ9IiBcDQo+ID4gPiArCSAgICAiU3dpdGNoaW5nIHRvIGlu ZmVyaW9yICR7aW5mfSAuKiIgXA0KPiA+ID4gKwkgICAgInN3aXRjaCB0byBpbmZlcmlvciAke2lu Zn0iDQo+ID4gPiArICAgIH0NCj4gPiA+ICsgICAgaWYgeyFbcnVudG9fbWFpbl19IHsNCj4gPiA+ ICsJcmV0dXJuIC0xDQo+ID4gPiAgICAgIH0NCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4gLSMgQ2Fu IHdlIGp1bXAgdG8gdGhlIHN0YXRlbWVudD8gIERvIHdlIHN0b3AgdGhlcmU/DQo+ID4gPiAtIw0K PiA+ID4gLWdkYl90ZXN0ICJqdW1wICRub25fY2FsbF9saW5lIiAiQnJlYWtwb2ludCAke2RlY2lt YWx9LA0KPiA+IC4qJHtzcmNmaWxlfTokbm9uX2NhbGxfbGluZS4qIiBcDQo+ID4gPiAtICAgICJq dW1wIHRvIG5vbi1jYWxsIg0KPiA+ID4gLQ0KPiA+ID4gLSMgU2V0IGEgYnJlYWtwb2ludCBvbiB0 aGUgc3RhdGVtZW50IHRoYXQgd2UncmUgYWJvdXQgdG8ganVtcCB0by4NCj4gPiA+IC0jIFRoZSBz dGF0ZW1lbnQgZG9lcyBjb250YWluIGEgZnVuY3Rpb24gY2FsbC4NCj4gPiA+IC0jDQo+ID4gPiAt c2V0IGJwX29uX2NhbGwgMA0KPiA+ID4gLXNldCBjYWxsX2xpbmUgW2dkYl9nZXRfbGluZV9udW1i ZXIgImJwLW9uLWNhbGwiXQ0KPiA+ID4gLWdkYl90ZXN0X211bHRpcGxlICJicmVhayAkY2FsbF9s aW5lIiAiYnJlYWsgYmVmb3JlIGp1bXAgdG8gY2FsbCIgew0KPiA+ID4gLSAgICAtcmUgIlxbQmJc XXJlYWtwb2ludCAoJHtkZWNpbWFsfSkgYXQgJHtoZXh9OiBmaWxlIC4qJHtzcmNmaWxlfSwgbGlu ZQ0KPiA+ICRjYWxsX2xpbmUuKiRnZGJfcHJvbXB0ICQiIHsNCj4gPiA+IC0Jc2V0IGJwX29uX2Nh bGwgJGV4cGVjdF9vdXQoMSxzdHJpbmcpDQo+ID4gPiAtCXBhc3MgImJyZWFrIGJlZm9yZSBqdW1w IHRvIGNhbGwiDQo+ID4gPiArIyBSdW4gdGVzdHMgb24gYWxsIGluZmVyaW9ycy4NCj4gPiA+ICtm b3Ige3NldCBpbmYgMX0geyRpbmYgPD0gJGluZmVyaW9yc30ge2luY3IgaW5mfSB7DQo+ID4gPiAr ICAgIHdpdGhfdGVzdF9wcmVmaXggImluZmVyaW9yICRpbmYiIHsNCj4gPiA+ICsJIyBTd2l0Y2gg dG8gdGhlIHRhcmdldCBpbmZlcmlvci4NCj4gPiA+ICsJZ2RiX3Rlc3QgImluZmVyaW9yICRpbmYi ICIuKlN3aXRjaGluZyB0byBpbmZlcmlvciAkaW5mIC4qIg0KPiA+ID4gKwkjIFJ1biB0aGUgdGVz dHMuDQo+ID4gPiArCWRvX3Rlc3RzDQo+ID4gPiAgICAgIH0NCj4gPiA+ICB9DQo+ID4gPg0KPiA+ ID4gLSMgQ2FuIHdlIGp1bXAgdG8gdGhlIHN0YXRlbWVudD8gIERvIHdlIHN0b3AgdGhlcmU/DQo+ ID4gPiAtIw0KPiA+ID4gLWdkYl90ZXN0ICJqdW1wICRjYWxsX2xpbmUiIFwNCj4gPiA+IC0gICAg IkJyZWFrcG9pbnQgJHtkZWNpbWFsfSwgLioke3NyY2ZpbGV9OiRjYWxsX2xpbmUuKiIgXA0KPiA+ ID4gLSAgICAianVtcCB0byBjYWxsIg0KPiA+ID4gLQ0KPiA+ID4gLSMgSWYgd2UgZGlzYWJsZSB0 aGUgYnJlYWtwb2ludCBhdCB0aGUgZnVuY3Rpb24gY2FsbCwgYW5kIHRoZW4NCj4gPiA+IC0jIGlm IHdlIGp1bXAgdG8gdGhhdCBzdGF0ZW1lbnQsIGRvIHdlIG5vdCBzdG9wIHRoZXJlLCBidXQgYXQN Cj4gPiA+IC0jIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludD8NCj4gPiA+IC0jDQo+ID4gPiAtZ2Ri X3Rlc3Rfbm9fb3V0cHV0ICJkaXNhYmxlICRicF9vbl9jYWxsIiAiZGlzYWJsZSBicmVha3BvaW50 IG9uIGNhbGwiDQo+ID4gPiAtDQo+ID4gPiAtZ2RiX3Rlc3QgImp1bXAgJGNhbGxfbGluZSIgIkJy ZWFrcG9pbnQgJHtkZWNpbWFsfSwNCj4gPiAuKiR7c3JjZmlsZX06JG5vbl9jYWxsX2xpbmUuKiIg XA0KPiA+ID4gLSAgICAianVtcCB0byBjYWxsIHdpdGggZGlzYWJsZWQgYnJlYWtwb2ludCINCj4g PiA+IC0NCj4gPiA+IC0jIFZlcmlmeSB0aGF0IEdEQiByZXNwb25kcyBncmFjZWZ1bGx5IHRvIHRo ZSAianVtcCIgY29tbWFuZCB3aXRob3V0DQo+ID4gPiAtIyBhbiBhcmd1bWVudC4NCj4gPiA+IC0j DQo+ID4gPiAtZ2RiX3Rlc3QgImp1bXAiICJBcmd1bWVudCByZXF1aXJlZCAuc3RhcnRpbmcgYWRk cmVzcy4qIiBcDQo+ID4gPiAtICAgICJqdW1wIHdpdGhvdXQgYXJndW1lbnQgZGlzYWxsb3dlZCIN Cj4gPiA+IC0NCj4gPiA+IC0NCj4gPiA+IC0jIFZlcmlmeSB0aGF0IEdEQiByZXNwb25kcyBncmFj ZWZ1bGx5IHRvIHRoZSAianVtcCIgY29tbWFuZCB3aXRoDQo+ID4gPiAtIyB0cmFpbGluZyBqdW5r Lg0KPiA+ID4gLSMNCj4gPiA+IC1nZGJfdGVzdCAianVtcCAkY2FsbF9saW5lIDEwMCIgXA0KPiA+ ID4gLSAgICAibWFsZm9ybWVkIGxpbmVzcGVjIGVycm9yOiB1bmV4cGVjdGVkIG51bWJlciwgXCIx MDBcIiIgXA0KPiA+ID4gLSAgICAianVtcCB3aXRoIHRyYWlsaW5nIGFyZ3VtZW50IGp1bmsiDQo+ ID4gPiAtDQo+ID4gPiAtDQo+ID4gPiAtIyBWZXJpZnkgdGhhdCBHREIgcmVzcG9uZHMgZ3JhY2Vm dWxseSB0byBhIHJlcXVlc3QgdG8ganVtcCBvdXQgb2YNCj4gPiA+IC0jIHRoZSBjdXJyZW50IGZ1 bmN0aW9uLiAgKE5vdGUgdGhhdCB0aGlzIHdpbGwgdmVyeSBsaWtlbHkgY2F1c2UgdGhlDQo+ID4g PiAtIyBpbmZlcmlvciB0byBkaWUuICBCZSBwcmVwYXJlZCB0byByZXJ1biB0aGUgaW5mZXJpb3Is IGlmIGZ1cnRoZXINCj4gPiA+IC0jIHRlc3RpbmcgaXMgZGVzaXJlZC4pDQo+ID4gPiAtIw0KPiA+ ID4gLSMgVHJ5IGl0IGJvdGggd2F5czogY29uZmlybWluZyBhbmQgbm90IGNvbmZpcm1pbmcgdGhl IGp1bXAuDQo+ID4gPiAtIw0KPiA+ID4gLQ0KPiA+ID4gLXNldCBvdXRfbGluZSBbZ2RiX2dldF9s aW5lX251bWJlciAib3V0LW9mLWZ1bmMiXQ0KPiA+ID4gLWdkYl90ZXN0ICJqdW1wICRvdXRfbGlu ZSIgXA0KPiA+ID4gLSAgICAiTm90IGNvbmZpcm1lZC4qIiBcDQo+ID4gPiAtICAgICJhYm9ydGVk IGp1bXAgb3V0IG9mIGN1cnJlbnQgZnVuY3Rpb24iIFwNCj4gPiA+IC0gICAgIkxpbmUgJG91dF9s aW5lIGlzIG5vdCBpbiBgbWFpbicuICBKdW1wIGFueXdheS4qeSBvciBuLiAkIiBcDQo+ID4gPiAt ICAgICJuIg0KPiA+ID4gLQ0KPiA+ID4gLWdkYl90ZXN0ICJqdW1wICRvdXRfbGluZSIgXA0KPiA+ ID4gLSAgICAiQ29udGludWluZyBhdC4qIiBcDQo+ID4gPiAtICAgICJqdW1wIG91dCBvZiBjdXJy ZW50IGZ1bmN0aW9uIiBcDQo+ID4gPiAtICAgICJMaW5lICRvdXRfbGluZSBpcyBub3QgaW4gYG1h aW4nLiAgSnVtcCBhbnl3YXkuKnkgb3Igbi4gJCIgXA0KPiA+ID4gLSAgICAieSINCj4gPiA+IC0N Cj4gPiA+ICBnZGJfZXhpdA0KPiA+ID4gLS0NCj4gPiA+IDIuMjUuMQ0KPiA+ID4NCj4gPiA+IElu dGVsIERldXRzY2hsYW5kIEdtYkgNCj4gPiA+IFJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVv biAxMCwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55DQo+ID4gPiBUZWw6ICs0OSA4OSA5OSA4ODUz LTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4NCj4gPiA+IE1hbmFnaW5nIERp cmVjdG9yczogQ2hyaXN0aW4gRWlzZW5zY2htaWQsIFNoYXJvbiBIZWNrLCBUaWZmYW55IERvb24g U2lsdmENCj4gPiA+IENoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmljb2xl IExhdQ0KPiA+ID4gUmVnaXN0ZXJlZCBPZmZpY2U6IE11bmljaA0KPiA+ID4gQ29tbWVyY2lhbCBS ZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOA0KDQpJbnRlbCBEZXV0c2No bGFuZCBHbWJIClJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1Ymli ZXJnLCBHZXJtYW55ClRlbDogKzQ5IDg5IDk5IDg4NTMtMCwgd3d3LmludGVsLmRlIDxodHRwOi8v d3d3LmludGVsLmRlPgpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBT aGFyb24gSGVjaywgVGlmZmFueSBEb29uIFNpbHZhICAKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVy dmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVy Y2lhbCBSZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=