From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web10.3222.1685956793083049157 for ; Mon, 05 Jun 2023 02:19:53 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=IBzvSvf1; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: bob.c.feng@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685956793; x=1717492793; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=dvEL5zGrFzjIFipHpryA6N1yKY+d4bY2jN8ulDay7mk=; b=IBzvSvf1lhQxGoDZpfsk0Iimklf7z9JY0f9Z78sF8ffrEelrU2SCvzlG L0vWfnXo48nOSS85d6eF96go1LPrcqwmI+ghLMBAQoGgAsbDV+qldD2cM UWphvEGlPzAHkeOQ6rLlRYo58o9k4KzegrprzZG3uqxQ924/MiFlOsG2n jzLRNzMv/jnwN6TwwaVbMNcRF6Zx9kVXS7sFjez2N/opLT9EugOJFd5ly ZyT9GyUZySptUIU/ZwDB2REABGSPyZWc4DTEBou+JyGTZUzg98yNMV0H3 WBGIkrm9NMEvt6qlzFi40q9podh+O2v9QyOIe3nl7Q4H7HuudaQJnEOMm A==; X-IronPort-AV: E=McAfee;i="6600,9927,10731"; a="336678268" X-IronPort-AV: E=Sophos;i="6.00,217,1681196400"; d="scan'208";a="336678268" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 02:19:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10731"; a="686048834" X-IronPort-AV: E=Sophos;i="6.00,217,1681196400"; d="scan'208";a="686048834" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga006.jf.intel.com with ESMTP; 05 Jun 2023 02:19:42 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.23; Mon, 5 Jun 2023 02:19:42 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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; Mon, 5 Jun 2023 02:19:41 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 5 Jun 2023 02:19:41 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 5 Jun 2023 02:19:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UlbcE7qBSEvagtx8dVMFFhKDWlvra/5s4FF0/25iQdqncZ4eVR9X8XQmZdntJhhtpgzitSsXWoe9pRPFo5NN0H7Ocp6n+oRSZ/fck6Fgk+oqkRjT5fyEC0L/mAho+OUbGLywo0mSWa/DoOITrlrcc3MGoT9ERjkBRqfSuEzbtvzgyYBaXXSTAmc9WetjT9iaiqJuMZOgYv3m89MDHv1R6pCmnL6yPgLNIVecjq0grFFisWBIM9ETLiJs1pU1UdylMgb9CEfjLDvrOaf2MfLB6CYFZ8Qb6pjMFUxlcqC1B8oFecp5nhb9vhGcNb2+63fvksof6duFhl0EcKNrEuVc4A== 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=dvEL5zGrFzjIFipHpryA6N1yKY+d4bY2jN8ulDay7mk=; b=GGU9zIhgAdZ1AI3bkmJGQOxnJSct62AK/L6qrySx3jkRn10GyFNo4sKqDd9fanyqeOB+BBOubUnsPweMifZ6RpSvfiJB/lWheJ4pmXlrkwuQTbtdTsBT+WtDkfthjOsoCmrv3ro2zY/QVrOHhWhlsVSZ5ev3SN0GySPcmOGhuWeoImohbVUXXINLvO/2ko40/raG+gmnefcp0DSGIKq8dO1OL+gapocQHRAVOaJ21HOPQ/mjyrmiAXQXvWlmEMLJ0X/PBmwcsuePJLNnq7vs6bEXBwIykBIf0WkCEuzQ5WyAtE2obZSlkckJ3hElM01cZ5mHRw/eiU4Xe4T8p/aOmA== 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 PH7PR11MB5863.namprd11.prod.outlook.com (2603:10b6:510:135::11) by CY8PR11MB7731.namprd11.prod.outlook.com (2603:10b6:930:75::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Mon, 5 Jun 2023 09:19:36 +0000 Received: from PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::dfc2:2d04:e4aa:249]) by PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::dfc2:2d04:e4aa:249%6]) with mapi id 15.20.6455.030; Mon, 5 Jun 2023 09:19:36 +0000 From: "Bob Feng" To: "Chen, Christine" , "devel@edk2.groups.io" CC: Rebecca Cran , "Gao, Liming" Subject: Re: [Patch V1 3/3] BaseTools: FMMT support ELF UPLD parser Thread-Topic: [Patch V1 3/3] BaseTools: FMMT support ELF UPLD parser Thread-Index: AQHZcdvmkPlMenRuyUG4jk4RYQ6NU698Od2A Date: Mon, 5 Jun 2023 09:19:36 +0000 Message-ID: References: <20230418095510.1470-1-yuwei.chen@intel.com> In-Reply-To: <20230418095510.1470-1-yuwei.chen@intel.com> Accept-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: PH7PR11MB5863:EE_|CY8PR11MB7731:EE_ x-ms-office365-filtering-correlation-id: 05c95c19-ede7-4b3b-7c4f-08db65a5fb80 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0fZYSGT7u1On3ZnFFz/kHyVOZ08TKnjZZd5F+BZPZLWci+rNBj+H4ch8vPElTmcYqCmTNgfcAzirsQe4wX8mytzNAIHJRThr1Lu2I6pD8jECqbaOwSyIRnfprPzCxNI4Ed7JMWKX0a9/OboZ0GE8UOiWZIHk+pb8FXNaKde+BHtiVUFYPT/7NrDYQC75QzARZlItTn90ebVZC7992pciH1LBA+pHlToWTtB2WaSYU34qA5oPCDXlzNkqpSMPz7b7sjNxCSiLjqcqWd0cTzBV6lUaOV0YipmcxVwwnEqxhVJjMT82C1iSsHyKC/GLQ7x7dJPSkWQOy0sNZxXHEVGBC3hmq09qN1PSAYclzv/Al7oxdqsPTU0lfKTGSS+e7xG0iLfCmGmHOzJQYVEbGFxXScNR04E1yL6CpudaUQqf6g11HzZuiFo/8sN/lZyhKHxHqPN74RV2ikHelnIOWpnSqAE5FPzyV65QGV51BEFu5ubFuGDXbR2q5lgnPz4h+8eEoKoOjZ8e09sfnLQ7E7hFVRrmwHyJ02Nx1oBK90Cw1G3myTajuEYSbJ65Uba3802emc4dbF76H7/AOVdvlJIES5S9yyHBaeczQQ6jPeGLrQZ+O0jlqGQKTnIdUfR+6DOG x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB5863.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(346002)(376002)(366004)(396003)(451199021)(83380400001)(30864003)(2906002)(86362001)(33656002)(38070700005)(122000001)(38100700002)(82960400001)(55016003)(7696005)(316002)(41300700001)(52536014)(5660300002)(8676002)(8936002)(110136005)(54906003)(478600001)(64756008)(66446008)(66556008)(66946007)(66476007)(71200400001)(4326008)(76116006)(6506007)(9686003)(53546011)(186003)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z3FsUlhpTUYwUnNaRnFTamlRek9PQXNlK1ZDU0RDditWd3V0Z3IzUzZzYlNo?= =?utf-8?B?VGt3U0hjS2NnQVovRnlhb3Q4TFlMTUtIWVA2bWtobUpMaGZDbVlKbUJKQzdm?= =?utf-8?B?TVJvcmQ2ZHNNbE9ybXNBdFUrSnVIdmZMNGo3a0drN0d4b2FpdUVBOGpBNHpo?= =?utf-8?B?QnNpTmxRYmVrOERqNlNnaFBJbjJpa0IramI1WDlhRXNqWjlSS0Y0b2NYZ2tR?= =?utf-8?B?aDRoVGFZdFd2ZXVrU2dCdmFFN1JoVmwzbnBXTWxLR0tEZ0hNa0FZc1EvY2dk?= =?utf-8?B?TGpQNnorQ3dFT0YxMEprb3FUY0Evb3ZJalNpZ0huTzZIajRyQ1hKQVl2UXVH?= =?utf-8?B?WU9mSmJBOGNGTmFpNnBDUzZmcnM0eUxDeVdpZVlhSXZTRFRhbHlBODlmUm9K?= =?utf-8?B?WWtLR2hUdDZLd3BqU2FrQUVxejBxVUNidkFQK1NLSTRHcUk4YVZsLys0bGo0?= =?utf-8?B?K1RzOHJoai9VV2x6NWR3N2E1S3RiWGZuVVROVTBWUHBpV1p1RHVlOW5QbHlE?= =?utf-8?B?VmlxKzZ1bXVCZE9mdU1mZVVOL3I3RmtzOHFSOWMvWFVmSkE0WnVnamdUMzJO?= =?utf-8?B?cG5odTlDcE84WGs3emRIVWNiWjR0RmdxMGpETEZsdnlRTGNmNU5EejBVblVM?= =?utf-8?B?Qzg1UWxmOTBxUmxxM0hDVU1yYzl6TUFyb25mQzkzTllhY0RkaDNGeTlGZmJS?= =?utf-8?B?bVVWY2RlV0k2Z0IxcFg2cENrYkZDdFFmbHpUcVRJUjhEYm1xSXd1OU55aVh5?= =?utf-8?B?RkZPQ0VGM0FhUWRTekxlTk1GMFQrTzAxZG1QQWtnMlFKd24yblA3RnlxNFVW?= =?utf-8?B?TEE3L2txVVI4aHVncFJGT2JXZWZla09YTDlLY0Z0WXNRMWx3NnNiZE9DRmcw?= =?utf-8?B?YnFZTnBTT2h1Nmsva2ZwSEhvanNLaXFHZkZNQVlERmJzMGo2UUdoZUV3VWhp?= =?utf-8?B?VWd6azRpbG90Nm1aZlo1d3c4di9YNmVWSzlUQ285R3grSFB1bm4yWTBWSHow?= =?utf-8?B?WFlXOGp2TFVIVnRRN0tuK3FjR1VuRDNBeGo5U0RsT2d1aWxYM2x6aFozUnRG?= =?utf-8?B?b25lSjZGdTRVdEUxVzB0Q2hFVUVBeDZ2Unl1L09EMDlGSW9IRUdzbmx2cFJG?= =?utf-8?B?S2ZRSGY1TXVKMjkxYmEvWE90YlJYRjN4T1FvdGRxUEpQcjBkMmhRK281ZEtN?= =?utf-8?B?V0tUMUZ6enBVV1g1Z3cxUFpHZXFlMU1pbGhZSGFpc29aOCsxbDBtaDNmRUw2?= =?utf-8?B?MDBIMUZRd2plRVpJZWVGRG1xd3lJYVVHWUUrZzVZQ3NpUDZLWDkyTWVCbnBX?= =?utf-8?B?L05KeG1jWHU3SVZxZ3FCSUJMN1NBMTNiLzlVRWRjNERqSkE4VWJjSURieGdC?= =?utf-8?B?V2lSWG1YNzh6Yk9Dc2JiVkF2Zk9PMmdibHM1bFJXQm4wTU1yZDBFd3JScDEr?= =?utf-8?B?VnJnTFE4L2tkWUNMSy9BSnFxeWd3clJvbFVRMlg2azBBaFpFeE9zVkdHOEV4?= =?utf-8?B?bWtGajgzNzdQQUc3TU5xamJjNWZOTVRFa1o0dWxxdWFicjdGdExEVnhOenVp?= =?utf-8?B?N0luQkEyNVhmRUdBREo4b1luc3Mzdk9VQWFKb0d0TU9OaUF4OXB2bWUxcHdI?= =?utf-8?B?bXc5SUVPa2ZGV0xPQWl3d0ZZUmhkUXdmbE4xM3I5UG55bGNKSXpCZEFUZlpB?= =?utf-8?B?b2FHUkFpaE9CWnhKWWw2MnJPMCsybUZtQ0ttQkE3KzJTSUJzU1UzUXJTNlFv?= =?utf-8?B?dHpBTllmSDFBT1I2WE9zT1ZTOUpiVlhFRHZXK0JxelJYdTA0bjZMbDU1aUZS?= =?utf-8?B?Z1o3RDNucVRmaGR4MjZSb1VNSnNmK05RYXJOV1N1NGxndCtmejV1bmh1b1Ru?= =?utf-8?B?eDZBNzdta0E1UDcyWUhyOHNFeUxMQlFVSjBEakdGcnlkWmlPR2cwbXdMd0J1?= =?utf-8?B?UjRnQ25xU3N6ZEg0REZ5VjhkdFJUWGtMcWNnM2VOcjM2UnlwRm9SRTA0TGFO?= =?utf-8?B?V2xBQzRrVEh2WVlnMnBGR3JvTjVlNFNJZjRFODdQb0Q2SmliWHo2NHRGOHcx?= =?utf-8?B?bmNlcXJmaVdDVjlFNUlHRkwyb2piblpIaGVlZz09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB5863.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05c95c19-ede7-4b3b-7c4f-08db65a5fb80 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2023 09:19:36.6261 (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: oHzt4MdJwjxwOKLEu/120urZVPuMuTakJ+NsPipltNLQYAgtIkfztjD5l2ejJdSfAFd9uPsXDHOcmrajcp984Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7731 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT4NCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENoZW4sIENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRl bC5jb20+IA0KU2VudDogVHVlc2RheSwgQXByaWwgMTgsIDIwMjMgNTo1NSBQTQ0KVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvDQpDYzogUmViZWNjYSBDcmFuIDxyZWJlY2NhQGJzZGlvLmNvbT47IEZl bmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdA Ynlvc29mdC5jb20uY24+DQpTdWJqZWN0OiBbUGF0Y2ggVjEgMy8zXSBCYXNlVG9vbHM6IEZNTVQg c3VwcG9ydCBFTEYgVVBMRCBwYXJzZXINCg0KRk1NVCBhZGQgbmV3IGZ1bmN0aW9uIHRvIHN1cHBv cnQgdGhlIC5lbGYgZmlsZSBwYXJzaW5nLg0KVXNpbmcgJy12JyBvcHRpb24sIHRoZSBVUExEIGlu Zm8gd2lsbCBiZSBwcmludGVkIG91dC4NCg0KJycnDQotIFVOSVZFUlNBTF9QQVlMT0FEX0lORk8N CiAgLSA0IGJ5dGVzIGFsaWduIChCT09MRUFOKQ0KICAgIC0gSWRlbnRpZmllcg0KICAgIC0gU3Bl Y1JldmlzaW9uDQogICAgLSBBdHRyaWJ1dGUNCiAgICAtIFJldmlzaW9uDQogICAgLSBDYXBhYmls aXR5DQogICAgLSBQcm9kdWNlcklkDQogICAgLSBJbWFnZUlkDQpVUExEIEJ1ZmZlcg0KJycnDQoN CkNjOiBSZWJlY2NhIENyYW4gPHJlYmVjY2FAYnNkaW8uY29tPg0KQ2M6IEJvYiBGZW5nIDxib2Iu Yy5mZW5nQGludGVsLmNvbT4NCkNjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+DQpTaWduZWQtb2ZmLWJ5OiBZdXdlaSBDaGVuIDx5dXdlaS5jaGVuQGludGVsLmNvbT4NCi0t LQ0KIEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvRk1NVC5weSAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDIgKysNCiBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvQmluYXJ5 RmFjdG9yeVByb2R1Y3QucHkgIHwgIDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLQ0KIEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW9zVHJlZS5weSAgICAg ICAgICAgICAgfCAgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tDQogQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0Jpb3NUcmVlTm9kZS5w eSAgICAgICAgICB8ICA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQ0KIEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1U UGFyc2VyLnB5ICAgICAgICAgICAgfCAgIDIgKy0NCiBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9G aXJtd2FyZVN0b3JhZ2VGb3JtYXQvVVBMSGVhZGVyLnB5IHwgMjQ0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysN CiA2IGZpbGVzIGNoYW5nZWQsIDM4MyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KDQpk aWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9GTU1ULnB5IGIvQmFzZVRv b2xzL1NvdXJjZS9QeXRob24vRk1NVC9GTU1ULnB5DQppbmRleCBiZjU4MGIzODQzLi4yNmZjNGM1 NzkyIDEwMDY0NA0KLS0tIGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9GTU1ULnB5DQor KysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL0ZNTVQucHkNCkBAIC04NCw2ICs4NCw4 IEBAIGNsYXNzIEZNTVQoKToNCiAgICAgICAgICAgICBST09UX1RZUEUgPSBST09UX0ZGU19UUkVF DQogICAgICAgICBlbGlmIGZpbGV0eXBlID09ICcuc2VjJzoNCiAgICAgICAgICAgICBST09UX1RZ UEUgPSBST09UX1NFQ1RJT05fVFJFRQ0KKyAgICAgICAgZWxpZiBmaWxldHlwZSA9PSAnLmVsZic6 DQorICAgICAgICAgICAgUk9PVF9UWVBFID0gUk9PVF9FTEZfVFJFRQ0KICAgICAgICAgZWxzZToN CiAgICAgICAgICAgICBST09UX1RZUEUgPSBST09UX1RSRUUNCiAgICAgICAgIFZpZXdGaWxlKGlu cHV0ZmlsZSwgUk9PVF9UWVBFLCBsYXlvdXRmaWxlbmFtZSwgb3V0cHV0ZmlsZSkgZGlmZiAtLWdp dCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW5hcnlGYWN0b3J5UHJvZHVj dC5weSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW5hcnlGYWN0b3J5UHJv ZHVjdC5weQ0KaW5kZXggMmQ0ZTZkOTI3Ni4uZGUxNzRmMjZhYiAxMDA2NDQNCi0tLSBhL0Jhc2VU b29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW5hcnlGYWN0b3J5UHJvZHVjdC5weQ0KKysr IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0JpbmFyeUZhY3RvcnlQcm9kdWN0 LnB5DQpAQCAtMTUsMTAgKzE1LDEzIEBAIGZyb20gY29yZS5HdWlkVG9vbHMgaW1wb3J0IEdVSURU b29scyAgZnJvbSB1dGlscy5GbW10TG9nZ2VyIGltcG9ydCBGbW10TG9nZ2VyIGFzIGxvZ2dlcg0K IA0KIFJPT1RfVFJFRSA9ICdST09UJw0KK1JPT1RfRUxGX1RSRUUgPSAnUk9PVF9FTEZfVFJFRScN CiBST09UX0ZWX1RSRUUgPSAnUk9PVF9GVl9UUkVFJw0KIFJPT1RfRkZTX1RSRUUgPSAnUk9PVF9G RlNfVFJFRScNCiBST09UX1NFQ1RJT05fVFJFRSA9ICdST09UX1NFQ1RJT05fVFJFRScNCiANCitF TEZfVFJFRSA9ICdFTEYnDQorRUxGX1NFQ1RJT05fVFJFRSA9ICdFTEZfU0VDVElPTl9UUkVFJw0K IEZWX1RSRUUgPSAnRlYnDQogREFUQV9GVl9UUkVFID0gJ0RBVEFfRlYnDQogRkZTX1RSRUUgPSAn RkZTJw0KQEAgLTQ5LDYgKzUyLDEyIEBAIGNsYXNzIEJpbmFyeVByb2R1Y3QoKToNCiAgICAgZGVm IFBhcnNlckRhdGEoKToNCiAgICAgICAgIHBhc3MNCiANCitjbGFzcyBFbGZGYWN0b3J5KEJpbmFy eUZhY3RvcnkpOg0KKyAgICB0eXBlID0gW1JPT1RfRUxGX1RSRUUsIEVMRl9UUkVFXQ0KKw0KKyAg ICBkZWYgQ3JlYXRlX1Byb2R1Y3QoKToNCisgICAgICAgIHJldHVybiBFbGZQcm9kdWN0KCkNCisN CiBjbGFzcyBTZWN0aW9uRmFjdG9yeShCaW5hcnlGYWN0b3J5KToNCiAgICAgdHlwZSA9IFtTRUNU SU9OX1RSRUVdDQogDQpAQCAtMzU0LDYgKzM2MywzMCBAQCBjbGFzcyBGZFByb2R1Y3QoQmluYXJ5 UHJvZHVjdCk6DQogICAgICAgICAgICAgICAgIHRtcF9pbmRleCArPSAxDQogICAgICAgICByZXR1 cm4gRmRfU3RydWN0DQogDQorY2xhc3MgRWxmU2VjdGlvblByb2R1Y3QoQmluYXJ5UHJvZHVjdCk6 DQorICAgICMjIERlY29tcHJlc3MgdGhlIGNvbXByZXNzZWQgc2VjdGlvbi4NCisgICAgZGVmIFBh cnNlckRhdGEoc2VsZiwgU2VjdGlvbl9UcmVlLCB3aG9sZV9EYXRhOiBieXRlcywgUmVsX1dob2xl X09mZnNldDogaW50PTApIC0+IE5vbmU6DQorICAgICAgICBwYXNzDQorICAgIGRlZiBQYXJzZXJT ZWN0aW9uRGF0YShzZWxmLCBTZWN0aW9uX1RyZWUsIHdob2xlX0RhdGE6IGJ5dGVzLCBSZWxfV2hv bGVfT2Zmc2V0OiBpbnQ9MCkgLT4gTm9uZToNCisgICAgICAgIHBhc3MNCisgICAgZGVmIFBhcnNl clByb2dyYW1EYXRhKHNlbGYsIFNlY3Rpb25fVHJlZSwgd2hvbGVfRGF0YTogYnl0ZXMsIFJlbF9X aG9sZV9PZmZzZXQ6IGludD0wKSAtPiBOb25lOg0KKyAgICAgICAgcGFzcw0KKw0KK2NsYXNzIEVs ZlByb2R1Y3QoQmluYXJ5UHJvZHVjdCk6DQorDQorICAgIGRlZiBQYXJzZXJEYXRhKHNlbGYsIFBh clRyZWUsIFdob2xlX0RhdGE6IGJ5dGVzLCBSZWxfV2hvbGVfT2Zmc2V0OiBpbnQ9MCkgLT4gTm9u ZToNCisgICAgICAgIEVsZl9JbmZvID0gRWxmTm9kZShXaG9sZV9EYXRhKQ0KKyAgICAgICAgaWYg RWxmX0luZm8uSGVhZGVyLkVMRl9QSE9mZiAhPSAwOg0KKyAgICAgICAgICAgIEVsZl9JbmZvLkdl dFByb2dyYW1MaXN0KFdob2xlX0RhdGFbRWxmX0luZm8uSGVhZGVyLkVMRl9QSE9mZjpdKQ0KKyAg ICAgICAgaWYgRWxmX0luZm8uSGVhZGVyLkVMRl9TSE9mZiAhPSAwOg0KKyAgICAgICAgICAgIEVs Zl9JbmZvLkdldFNlY3Rpb25MaXN0KFdob2xlX0RhdGFbRWxmX0luZm8uSGVhZGVyLkVMRl9TSE9m ZjpdKQ0KKyAgICAgICAgICAgIEVsZl9JbmZvLkZpbmRVUExEU2VjdGlvbihXaG9sZV9EYXRhKQ0K KyAgICAgICAgRWxmX1RyZWUgPSBCSU9TVFJFRShFbGZfSW5mby5OYW1lKQ0KKyAgICAgICAgRWxm X1RyZWUudHlwZSA9IEVMRl9UUkVFDQorICAgICAgICBFbGZfSW5mby5EYXRhID0gV2hvbGVfRGF0 YVtFbGZfSW5mby5IZWFkZXJMZW5ndGg6XQ0KKyAgICAgICAgRWxmX1RyZWUuRGF0YSA9IEVsZl9J bmZvDQorICAgICAgICBQYXJUcmVlLmluc2VydENoaWxkKEVsZl9UcmVlKQ0KKw0KIGNsYXNzIFBh cnNlckVudHJ5KCk6DQogICAgIEZhY3RvcnlUYWJsZTpkaWN0ID0gew0KICAgICAgICAgU0VDVElP Tl9UUkVFOiBTZWN0aW9uRmFjdG9yeSwNCkBAIC0zNjQsNiArMzk3LDcgQEAgY2xhc3MgUGFyc2Vy RW50cnkoKToNCiAgICAgICAgIFNFQ19GVl9UUkVFOiBGdkZhY3RvcnksDQogICAgICAgICBST09U X0ZWX1RSRUU6IEZkRmFjdG9yeSwNCiAgICAgICAgIFJPT1RfVFJFRTogRmRGYWN0b3J5LA0KKyAg ICAgICAgUk9PVF9FTEZfVFJFRTogRWxmRmFjdG9yeSwNCiAgICAgfQ0KIA0KICAgICBkZWYgR2V0 VGFyZ2V0RmFjdG9yeShzZWxmLCBUcmVlX3R5cGU6IHN0cikgLT4gQmluYXJ5RmFjdG9yeToNCkBA IC0zNzcsNCArNDExLDQgQEAgY2xhc3MgUGFyc2VyRW50cnkoKToNCiAgICAgZGVmIERhdGFQYXJz ZXIoc2VsZiwgVHJlZSwgRGF0YTogYnl0ZXMsIE9mZnNldDogaW50KSAtPiBOb25lOg0KICAgICAg ICAgVGFyZ2V0RmFjdG9yeSA9IHNlbGYuR2V0VGFyZ2V0RmFjdG9yeShUcmVlLnR5cGUpDQogICAg ICAgICBpZiBUYXJnZXRGYWN0b3J5Og0KLSAgICAgICAgICAgIHNlbGYuR2VuZXJhdGVfUHJvZHVj dChUYXJnZXRGYWN0b3J5LCBUcmVlLCBEYXRhLCBPZmZzZXQpDQpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUNCisgICAgICAgICAgICBzZWxmLkdlbmVyYXRlX1Byb2R1Y3QoVGFyZ2V0RmFjdG9y eSwgVHJlZSwgRGF0YSwgT2Zmc2V0KQ0KZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0 aG9uL0ZNTVQvY29yZS9CaW9zVHJlZS5weSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQv Y29yZS9CaW9zVHJlZS5weQ0KaW5kZXggMTM3ZjQ5NzQ4Yi4uYzVhN2IwMTdmNCAxMDA2NDQNCi0t LSBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW9zVHJlZS5weQ0KKysrIGIv QmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0Jpb3NUcmVlLnB5DQpAQCAtMTIsNiAr MTIsNyBAQCBST09UX1RSRUUgPSAnUk9PVCcNCiBST09UX0ZWX1RSRUUgPSAnUk9PVF9GVl9UUkVF Jw0KIFJPT1RfRkZTX1RSRUUgPSAnUk9PVF9GRlNfVFJFRScNCiBST09UX1NFQ1RJT05fVFJFRSA9 ICdST09UX1NFQ1RJT05fVFJFRScNCitST09UX0VMRl9UUkVFID0gJ1JPT1RfRUxGX1RSRUUnDQog DQogRlZfVFJFRSA9ICdGVicNCiBEQVRBX0ZWX1RSRUUgPSAnREFUQV9GVicNCkBAIC0yMSwxMSAr MjIsMTMgQEAgRkZTX0ZSRUVfU1BBQ0UgPSAnRkZTX0ZSRUVfU1BBQ0UnDQogU0VDVElPTl9UUkVF ID0gJ1NFQ1RJT04nDQogU0VDX0ZWX1RSRUUgPSAnU0VDX0ZWX0lNQUdFJw0KIEJJTkFSWV9EQVRB ID0gJ0JJTkFSWScNCitFTEZfVFJFRSA9ICdFTEYnDQogDQogUm9vdFR5cGUgPSBbUk9PVF9UUkVF LCBST09UX0ZWX1RSRUUsIFJPT1RfRkZTX1RSRUUsIFJPT1RfU0VDVElPTl9UUkVFXSAgRnZUeXBl ID0gW0ZWX1RSRUUsIFNFQ19GVl9UUkVFXSAgRmZzVHlwZSA9IEZGU19UUkVFICBTZWNUeXBlID0g U0VDVElPTl9UUkVFDQorRWxmVHlwZSA9IFtST09UX0VMRl9UUkVFLCBFTEZfVFJFRV0NCiANCiBj bGFzcyBCSU9TVFJFRToNCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIE5vZGVOYW1lOiBzdHIpIC0+ IE5vbmU6DQpAQCAtMTE4LDYgKzEyMSwzMSBAQCBjbGFzcyBCSU9TVFJFRToNCiAgICAgICAgICAg ICBJbmZvLmFwcGVuZCgiSW1hZ2UgRmlsZToge30iLmZvcm1hdChLZXkpKQ0KICAgICAgICAgICAg IEluZm8uYXBwZW5kKCJGaWxlc051bToge30iLmZvcm1hdChUYXJnZXREaWN0LmdldChLZXkpLmdl dCgnRmlsZXNOdW0nKSkpDQogICAgICAgICAgICAgSW5mby5hcHBlbmQoIlxuIikNCisgICAgICAg IGVsaWYgVGFyZ2V0RGljdFtLZXldWyJUeXBlIl0gPT0gUk9PVF9FTEZfVFJFRToNCisgICAgICAg ICAgICBJbmZvLmFwcGVuZCgiRUxGIEZpbGU6IHt9XG4iLmZvcm1hdChLZXkpKQ0KKyAgICAgICAg ZWxpZiBUYXJnZXREaWN0W0tleV1bIlR5cGUiXSA9PSBFTEZfVFJFRToNCisgICAgICAgICAgICBQ cm9kdWNlcklkID0gIiINCisgICAgICAgICAgICBJbWFnZUlkID0gIiINCisgICAgICAgICAgICBp ZiBUYXJnZXREaWN0LmdldChLZXkpLmdldCgnSWZFeGlzdCcpOg0KKyAgICAgICAgICAgICAgICBJ ZGVudGlmaWVyID0gVGFyZ2V0RGljdC5nZXQoS2V5KS5nZXQoJ0lkZW50aWZpZXInKQ0KKyAgICAg ICAgICAgICAgICBmb3IgaXRlbSBpbiBUYXJnZXREaWN0LmdldChLZXkpLmdldCgnUHJvZHVjZXJJ ZCcpOg0KKyAgICAgICAgICAgICAgICAgICAgUHJvZHVjZXJJZCArPSBjaHIoaXRlbSkNCisgICAg ICAgICAgICAgICAgZm9yIGl0ZW0gaW4gVGFyZ2V0RGljdC5nZXQoS2V5KS5nZXQoJ0ltYWdlSWQn KToNCisgICAgICAgICAgICAgICAgICAgIEltYWdlSWQgKz0gY2hyKGl0ZW0pDQorICAgICAgICAg ICAgICAgIEluZm8uYXBwZW5kKCItIFVOSVZFUlNBTF9QQVlMT0FEX0lORk8iKQ0KKyAgICAgICAg ICAgICAgICBJbmZvLmFwcGVuZCgiICAtIDQgYnl0ZXMgYWxpZ246IHt9Ii5mb3JtYXQoVGFyZ2V0 RGljdC5nZXQoS2V5KS5nZXQoJ1VwbGRfSW5mb19BbGlnbicpKSkNCisgICAgICAgICAgICAgICAg SW5mby5hcHBlbmQoIiAgICAtIElkZW50aWZpZXI6IHt9ICAjIDB4NDg0NDRjNTAtLVBMREggLyAw eDQ0NGM1MDU1LS1VUExEIi5mb3JtYXQoaGV4KElkZW50aWZpZXIpKSkNCisgICAgICAgICAgICAg ICAgSW5mby5hcHBlbmQoIiAgICAtIFNwZWNSZXZpc2lvbjoge30iLmZvcm1hdChoZXgoVGFyZ2V0 RGljdC5nZXQoS2V5KS5nZXQoJ1NwZWNSZXZpc2lvbicpKSkpDQorICAgICAgICAgICAgICAgIElu Zm8uYXBwZW5kKCIgICAgLSBBdHRyaWJ1dGU6IHt9Ii5mb3JtYXQoaGV4KFRhcmdldERpY3QuZ2V0 KEtleSkuZ2V0KCdBdHRyaWJ1dGUnKSkpKQ0KKyAgICAgICAgICAgICAgICBJbmZvLmFwcGVuZCgi ICAgIC0gUmV2aXNpb246IHt9Ii5mb3JtYXQoaGV4KFRhcmdldERpY3QuZ2V0KEtleSkuZ2V0KCdS ZXZpc2lvbicpKSkpDQorICAgICAgICAgICAgICAgIEluZm8uYXBwZW5kKCIgICAgLSBDYXBhYmls aXR5OiB7fSIuZm9ybWF0KGhleChUYXJnZXREaWN0LmdldChLZXkpLmdldCgnQ2FwYWJpbGl0eScp KSkpDQorICAgICAgICAgICAgICAgIEluZm8uYXBwZW5kKCIgICAgLSBQcm9kdWNlcklkOiB7fSIu Zm9ybWF0KFByb2R1Y2VySWQpKQ0KKyAgICAgICAgICAgICAgICBJbmZvLmFwcGVuZCgiICAgIC0g SW1hZ2VJZDoge30iLmZvcm1hdChJbWFnZUlkKSkNCisgICAgICAgICAgICAgICAgSW5mby5hcHBl bmQoIlxuIikNCisgICAgICAgICAgICAgICAgSW5mby5hcHBlbmQoIi0gVVBMRCBidWZmZXIiKQ0K KyAgICAgICAgICAgICAgICBJbmZvLmFwcGVuZCgiICBCdWZmZXI6IHt9Ii5mb3JtYXQoVGFyZ2V0 RGljdC5nZXQoS2V5KS5nZXQoJ1VwbGRfQnVmZmVyJykpKQ0KKyAgICAgICAgICAgIGVsc2U6DQor ICAgICAgICAgICAgICAgIHByaW50KCJEbyBub3QgZmluZCB0aGUgVXBsZCBJbmZvIHNlY3Rpb24h ISFcbiIpDQogICAgICAgICBlbGlmIFRhcmdldERpY3RbS2V5XVsiVHlwZSJdIGluIEZ2VHlwZToN CiAgICAgICAgICAgICBzcGFjZSArPSAyDQogICAgICAgICAgICAgaWYgVGFyZ2V0RGljdFtLZXld WyJUeXBlIl0gPT0gU0VDX0ZWX1RSRUU6DQpAQCAtMTQ2LDEzICsxNzQsMjkgQEAgY2xhc3MgQklP U1RSRUU6DQogICAgICAgICBpZiBUcmVlSW5mbyBpcyBOb25lOg0KICAgICAgICAgICAgIFRyZWVJ bmZvID1jb2xsZWN0aW9ucy5PcmRlcmVkRGljdCgpDQogDQotICAgICAgICBpZiBzZWxmLnR5cGUg PT0gUk9PVF9UUkVFIG9yIHNlbGYudHlwZSA9PSBST09UX0ZWX1RSRUUgb3Igc2VsZi50eXBlID09 IFJPT1RfRkZTX1RSRUUgb3Igc2VsZi50eXBlID09IFJPT1RfU0VDVElPTl9UUkVFOg0KKyAgICAg ICAgaWYgc2VsZi50eXBlID09IFJPT1RfVFJFRSBvciBzZWxmLnR5cGUgPT0gUk9PVF9GVl9UUkVF IG9yIHNlbGYudHlwZSA9PSBST09UX0ZGU19UUkVFIG9yIHNlbGYudHlwZSA9PSBST09UX1NFQ1RJ T05fVFJFRSBvciBzZWxmLnR5cGUgPT0gUk9PVF9FTEZfVFJFRToNCiAgICAgICAgICAgICBrZXkg PSBzdHIoc2VsZi5rZXkpDQogICAgICAgICAgICAgVHJlZUluZm9bc2VsZi5rZXldID0gY29sbGVj dGlvbnMuT3JkZXJlZERpY3QoKQ0KICAgICAgICAgICAgIFRyZWVJbmZvW3NlbGYua2V5XVsiTmFt ZSJdID0ga2V5DQogICAgICAgICAgICAgVHJlZUluZm9bc2VsZi5rZXldWyJUeXBlIl0gPSBzZWxm LnR5cGUNCiAgICAgICAgICAgICBUcmVlSW5mb1tzZWxmLmtleV1bIkZpbGVzTnVtIl0gPSBsZW4o c2VsZi5DaGlsZCkNCi0gICAgICAgIGVsaWYgc2VsZi50eXBlID09IEZWX1RSRUUgb3IgIHNlbGYu dHlwZSA9PSBTRUNfRlZfVFJFRToNCisgICAgICAgIGVsaWYgc2VsZi50eXBlID09IEVMRl9UUkVF Og0KKyAgICAgICAgICAgIGtleSA9IHN0cihzZWxmLkRhdGEuTmFtZSkNCisgICAgICAgICAgICBU cmVlSW5mb1trZXldID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKQ0KKyAgICAgICAgICAgIFRy ZWVJbmZvW2tleV1bIk5hbWUiXSA9IGtleQ0KKyAgICAgICAgICAgIFRyZWVJbmZvW2tleV1bIlR5 cGUiXSA9IHNlbGYudHlwZQ0KKyAgICAgICAgICAgIFRyZWVJbmZvW2tleV1bIklmRXhpc3QiXSA9 IHNlbGYuRGF0YS5VcGxkSW5mbw0KKyAgICAgICAgICAgIGlmIHNlbGYuRGF0YS5VcGxkSW5mbzoN CisgICAgICAgICAgICAgICAgVHJlZUluZm9ba2V5XVsiSWRlbnRpZmllciJdID0gc2VsZi5EYXRh LlVwbGRJbmZvLklkZW50aWZpZXINCisgICAgICAgICAgICAgICAgVHJlZUluZm9ba2V5XVsiU3Bl Y1JldmlzaW9uIl0gPSBzZWxmLkRhdGEuVXBsZEluZm8uU3BlY1JldmlzaW9uDQorICAgICAgICAg ICAgICAgIFRyZWVJbmZvW2tleV1bIkF0dHJpYnV0ZSJdID0gc2VsZi5EYXRhLlVwbGRJbmZvLkF0 dHJpYnV0ZQ0KKyAgICAgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJSZXZpc2lvbiJdID0gc2Vs Zi5EYXRhLlVwbGRJbmZvLlJldmlzaW9uDQorICAgICAgICAgICAgICAgIFRyZWVJbmZvW2tleV1b IkNhcGFiaWxpdHkiXSA9IHNlbGYuRGF0YS5VcGxkSW5mby5DYXBhYmlsaXR5DQorICAgICAgICAg ICAgICAgIFRyZWVJbmZvW2tleV1bIlByb2R1Y2VySWQiXSA9IHNlbGYuRGF0YS5VcGxkSW5mby5Q cm9kdWNlcklkDQorICAgICAgICAgICAgICAgIFRyZWVJbmZvW2tleV1bIkltYWdlSWQiXSA9IHNl bGYuRGF0YS5VcGxkSW5mby5JbWFnZUlkDQorICAgICAgICAgICAgICAgIFRyZWVJbmZvW2tleV1b IlVwbGRfSW5mb19BbGlnbiJdID0gc2VsZi5EYXRhLlVwbGRfSW5mb19BbGlnbg0KKyAgICAgICAg ICAgICAgICBUcmVlSW5mb1trZXldWyJVcGxkX0J1ZmZlciJdID0gc2VsZi5EYXRhLlVwbGRCdWZm ZXINCisgICAgICAgIGVsaWYgc2VsZi50eXBlID09IEZWX1RSRUUgb3Igc2VsZi50eXBlID09IFNF Q19GVl9UUkVFOg0KICAgICAgICAgICAgIGtleSA9IHN0cihzZWxmLkRhdGEuRnZJZCkNCiAgICAg ICAgICAgICBUcmVlSW5mb1trZXldID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKQ0KICAgICAg ICAgICAgIFRyZWVJbmZvW2tleV1bIk5hbWUiXSA9IGtleSBkaWZmIC0tZ2l0IGEvQmFzZVRvb2xz L1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0Jpb3NUcmVlTm9kZS5weSBiL0Jhc2VUb29scy9Tb3Vy Y2UvUHl0aG9uL0ZNTVQvY29yZS9CaW9zVHJlZU5vZGUucHkNCmluZGV4IDIwNDQ3NzY2YzguLjVj YTRjMjBkYzYgMTAwNjQ0DQotLS0gYS9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUv Qmlvc1RyZWVOb2RlLnB5DQorKysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUv Qmlvc1RyZWVOb2RlLnB5DQpAQCAtNCw2ICs0LDcgQEANCiAjIENvcHlyaWdodCAoYykgMjAyMS0s IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4gICMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQgICMjDQorZnJvbSBGaXJtd2FyZVN0 b3JhZ2VGb3JtYXQuVVBMSGVhZGVyIGltcG9ydCAqDQogZnJvbSBGaXJtd2FyZVN0b3JhZ2VGb3Jt YXQuRnZIZWFkZXIgaW1wb3J0ICogIGZyb20gRmlybXdhcmVTdG9yYWdlRm9ybWF0LkZmc0ZpbGVI ZWFkZXIgaW1wb3J0ICogIGZyb20gRmlybXdhcmVTdG9yYWdlRm9ybWF0LlNlY3Rpb25IZWFkZXIg aW1wb3J0ICogQEAgLTM3LDYgKzM4LDU5IEBAIGNsYXNzIEJpbmFyeU5vZGU6DQogICAgICAgICBz ZWxmLkhPZmZzZXQgPSAwDQogICAgICAgICBzZWxmLkRhdGEgPSBiJycNCiANCitjbGFzcyBFbGZO b2RlOg0KKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnVmZmVyOiBieXRlcykgLT4gTm9uZToNCisg ICAgICAgIHNlbGYuSGVhZGVyID0gRUxGX0hFQURFUjMyLmZyb21fYnVmZmVyX2NvcHkoYnVmZmVy KQ0KKyAgICAgICAgaWYgc2VsZi5IZWFkZXIuRUxGX0lkZW50aWZpY2F0aW9uWzA6NF0gIT0gYidc eDdmRUxGJzoNCisgICAgICAgICAgICBsb2dnZXIuZXJyb3IoJ0ludmFsaWQgRWxmIEhlYWRlciEg RWxmIElkZW50aWZpY2F0aW9uIHt9IGlzIG5vdCAiLkVMRiIuJy5mb3JtYXQoc2VsZi5IZWFkZXIu RUxGX0lkZW50aWZpY2F0aW9uKSkNCisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlByb2Nl c3MgRmFpbGVkOiBJbnZhbGlkIEVMRiBIZWFkZXIgSWRlbnRpZmljYXRpb24hIikNCisgICAgICAg IHNlbGYuQ2xhc3MgPSBzZWxmLkhlYWRlci5FTEZfSWRlbnRpZmljYXRpb25bNF0NCisgICAgICAg IGlmIHNlbGYuQ2xhc3MgPT0gMHgwMjoNCisgICAgICAgICAgICBzZWxmLkhlYWRlciA9IEVMRl9I RUFERVI2NC5mcm9tX2J1ZmZlcl9jb3B5KGJ1ZmZlcikNCisgICAgICAgIGVsaWYgc2VsZi5DbGFz cyAhPSAweDAxOg0KKyAgICAgICAgICAgIGxvZ2dlci5lcnJvcignSW52YWxpZCBFbGYgQ2xhc3Mh IEVsZiBDbGFzcyB7fSBpcyBub3QgMHgwMSBvciAweDAyLicuZm9ybWF0KHNlbGYuQ2xhc3MpKQ0K KyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiUHJvY2VzcyBGYWlsZWQ6IEludmFsaWQgRUxG IENsYXNzISIpDQorDQorICAgICAgICBzZWxmLlByb0xpc3QgPSBbXQ0KKyAgICAgICAgc2VsZi5T ZWNMaXN0ID0gW10NCisgICAgICAgIHNlbGYuVXBsZEluZm9TZWN0aW9uID0gTm9uZQ0KKyAgICAg ICAgc2VsZi5VcGxkSW5mbyA9IE5vbmUNCisgICAgICAgIHNlbGYuVXBsZEJ1ZmZlciA9IGInJw0K KyAgICAgICAgc2VsZi5OYW1lID0gIkVMRiINCisgICAgICAgIHNlbGYuSGVhZGVyTGVuZ3RoID0g bGVuKHN0cnVjdDJzdHJlYW0oc2VsZi5IZWFkZXIpKQ0KKyAgICAgICAgc2VsZi5IT2Zmc2V0ID0g MA0KKyAgICAgICAgc2VsZi5ET2Zmc2V0ID0gMA0KKyAgICAgICAgc2VsZi5ST2Zmc2V0ID0gMA0K KyAgICAgICAgc2VsZi5EYXRhID0gYicnDQorICAgICAgICBzZWxmLlBhZERhdGEgPSBiJycNCisg ICAgICAgIHNlbGYuVXBsZF9JbmZvX0FsaWduID0gRmFsc2UNCisNCisgICAgZGVmIEdldFByb2dy YW1MaXN0KHNlbGYsIGJ1ZmZlcjogYnl0ZXMpIC0+IE5vbmU6DQorICAgICAgICBmb3IgaSBpbiBy YW5nZShzZWxmLkhlYWRlci5FTEZfUEhOdW0pOg0KKyAgICAgICAgICAgIGlmIHNlbGYuQ2xhc3Mg PT0gMHgwMToNCisgICAgICAgICAgICAgICAgRWxmUHJvZ3JhbUhlYWRlciA9IEVMRl9QUk9HUkFN X0hFQURFUjMyLmZyb21fYnVmZmVyX2NvcHkoYnVmZmVyW2kqc2VsZi5IZWFkZXIuRUxGX1BIRW50 U2l6ZTpdKQ0KKyAgICAgICAgICAgIGVsaWYgc2VsZi5DbGFzcyA9PSAweDAyOg0KKyAgICAgICAg ICAgICAgICBFbGZQcm9ncmFtSGVhZGVyID0gRUxGX1BST0dSQU1fSEVBREVSNjQuZnJvbV9idWZm ZXJfY29weShidWZmZXJbaSpzZWxmLkhlYWRlci5FTEZfUEhFbnRTaXplOl0pDQorICAgICAgICAg ICAgc2VsZi5Qcm9MaXN0LmFwcGVuZChFbGZQcm9ncmFtSGVhZGVyKQ0KKw0KKyAgICBkZWYgR2V0 U2VjdGlvbkxpc3Qoc2VsZiwgYnVmZmVyOiBieXRlcykgLT4gTm9uZToNCisgICAgICAgIGZvciBp IGluIHJhbmdlKHNlbGYuSGVhZGVyLkVMRl9TSE51bSk6DQorICAgICAgICAgICAgaWYgc2VsZi5D bGFzcyA9PSAweDAxOg0KKyAgICAgICAgICAgICAgICBFbGZTZWN0aW9uSGVhZGVyID0gRUxGX1NF Q1RJT05fSEVBREVSMzIuZnJvbV9idWZmZXJfY29weShidWZmZXJbaSpzZWxmLkhlYWRlci5FTEZf U0hFbnRTaXplOl0pDQorICAgICAgICAgICAgZWxpZiBzZWxmLkNsYXNzID09IDB4MDI6DQorICAg ICAgICAgICAgICAgIEVsZlNlY3Rpb25IZWFkZXIgPSBFTEZfU0VDVElPTl9IRUFERVI2NC5mcm9t X2J1ZmZlcl9jb3B5KGJ1ZmZlcltpKnNlbGYuSGVhZGVyLkVMRl9TSEVudFNpemU6XSkNCisgICAg ICAgICAgICBzZWxmLlNlY0xpc3QuYXBwZW5kKEVsZlNlY3Rpb25IZWFkZXIpDQorDQorICAgIGRl ZiBGaW5kVVBMRFNlY3Rpb24oc2VsZiwgYnVmZmVyOiBieXRlcykgLT4gTm9uZToNCisgICAgICAg IGZvciBpdGVtIGluIHNlbGYuU2VjTGlzdDoNCisgICAgICAgICAgICBpZiBidWZmZXJbaXRlbS5T SF9PZmZzZXQ6aXRlbS5TSF9PZmZzZXQrNF0gPT0gYidQTERIJyBvciBidWZmZXJbaXRlbS5TSF9P ZmZzZXQ6aXRlbS5TSF9PZmZzZXQrNF0gPT0gYidVUExEJzoNCisgICAgICAgICAgICAgICAgc2Vs Zi5VcGxkSW5mb1NlY3Rpb24gPSBpdGVtDQorICAgICAgICAgICAgICAgIHNlbGYuVXBsZEluZm8g PSBVTklWRVJTQUxfUEFZTE9BRF9JTkZPLmZyb21fYnVmZmVyX2NvcHkoYnVmZmVyW2l0ZW0uU0hf T2Zmc2V0Oml0ZW0uU0hfT2Zmc2V0K2l0ZW0uU0hfU2l6ZV0pDQorICAgICAgICAgICAgICAgIHNl bGYuVXBsZEJ1ZmZlciA9IHN0cnVjdDJzdHJlYW0oc2VsZi5VcGxkSW5mbykNCisgICAgICAgICAg ICAgICAgaWYgKHNlbGYuVXBsZEluZm9TZWN0aW9uLlNIX09mZnNldCkgJSA0ID09IDA6DQorICAg ICAgICAgICAgICAgICMgaWYgKHNlbGYuVXBsZEluZm9TZWN0aW9uLlNIX09mZnNldCAtIHNlbGYu SGVhZGVyLkVMRl9FbnRyeSkgJSA0ID09IDA6DQorICAgICAgICAgICAgICAgICAgICBzZWxmLlVw bGRfSW5mb19BbGlnbiA9IFRydWUNCisNCiBjbGFzcyBGdk5vZGU6DQogICAgIGRlZiBfX2luaXRf XyhzZWxmLCBuYW1lLCBidWZmZXI6IGJ5dGVzKSAtPiBOb25lOg0KICAgICAgICAgc2VsZi5IZWFk ZXIgPSBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUi5mcm9tX2J1ZmZlcl9jb3B5KGJ1ZmZlcikN CkBAIC0xOTEsNCArMjQ1LDQgQEAgY2xhc3MgRnJlZVNwYWNlTm9kZToNCiAgICAgICAgIHNlbGYu SE9mZnNldCA9IDANCiAgICAgICAgIHNlbGYuRE9mZnNldCA9IDANCiAgICAgICAgIHNlbGYuUk9m ZnNldCA9IDANCi0gICAgICAgIHNlbGYuUGFkRGF0YSA9IGInJw0KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlDQorICAgICAgICBzZWxmLlBhZERhdGEgPSBiJycNCmRpZmYgLS1naXQgYS9CYXNl VG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRk1NVFBhcnNlci5weSBiL0Jhc2VUb29scy9T b3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1UUGFyc2VyLnB5DQppbmRleCBlNzZhYzUxMTg1Li4y NWEyYmRlNzk5IDEwMDY0NA0KLS0tIGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3Jl L0ZNTVRQYXJzZXIucHkNCisrKyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9G TU1UUGFyc2VyLnB5DQpAQCAtMjAsNyArMjAsNyBAQCBjbGFzcyBGTU1UUGFyc2VyOg0KIA0KICAg ICAjIyBQYXJzZXIgdGhlIG5vZGVzIGluIFdob2xlVHJlZS4NCiAgICAgZGVmIFBhcnNlckZyb21S b290KHNlbGYsIFdob2xlRnZUcmVlPU5vbmUsIHdob2xlX2RhdGE6IGJ5dGVzPWInJywgUmVsb2Zm c2V0OiBpbnQ9MCkgLT4gTm9uZToNCi0gICAgICAgIGlmIFdob2xlRnZUcmVlLnR5cGUgPT0gUk9P VF9UUkVFIG9yIFdob2xlRnZUcmVlLnR5cGUgPT0gUk9PVF9GVl9UUkVFOg0KKyAgICAgICAgaWYg V2hvbGVGdlRyZWUudHlwZSA9PSBST09UX1RSRUUgb3IgV2hvbGVGdlRyZWUudHlwZSA9PSBST09U X0ZWX1RSRUUgb3IgV2hvbGVGdlRyZWUudHlwZSA9PSBST09UX0VMRl9UUkVFOg0KICAgICAgICAg ICAgIFBhcnNlckVudHJ5KCkuRGF0YVBhcnNlcihzZWxmLldob2xlRnZUcmVlLCB3aG9sZV9kYXRh LCBSZWxvZmZzZXQpDQogICAgICAgICBlbHNlOg0KICAgICAgICAgICAgIFBhcnNlckVudHJ5KCku RGF0YVBhcnNlcihXaG9sZUZ2VHJlZSwgd2hvbGVfZGF0YSwgUmVsb2Zmc2V0KSBkaWZmIC0tZ2l0 IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRmlybXdhcmVTdG9yYWdlRm9ybWF0L1VQTEhlYWRl ci5weSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0Zpcm13YXJlU3RvcmFnZUZvcm1hdC9VUExI ZWFkZXIucHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi5jNTc4NTJl NzQxDQotLS0gL2Rldi9udWxsDQorKysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GaXJtd2Fy ZVN0b3JhZ2VGb3JtYXQvVVBMSGVhZGVyLnB5DQpAQCAtMCwwICsxLDI0NCBAQA0KKyMjIEBmaWxl DQorIyBUaGlzIGZpbGUgaXMgdXNlZCB0byBkZWZpbmUgdGhlIFVQTCBIZWFkZXIgQyBTdHJ1Y3Qu DQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIzLSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPiAjIA0KK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50ICMjIGZyb20gc3RydWN0IGltcG9ydCAqIA0KK2Zyb20gY3R5cGVzIGltcG9ydCAq IGZyb20gRmlybXdhcmVTdG9yYWdlRm9ybWF0LkNvbW1vbiBpbXBvcnQgKg0KKw0KK0VGSV9DT01N T05fU0VDVElPTl9IRUFERVJfTEVOID0gNA0KK0VGSV9DT01NT05fU0VDVElPTl9IRUFERVIyX0xF TiA9IDgNCisNCisjIEVMRiBoZWFkZXIuDQorY2xhc3MgRUxGX0hFQURFUjMyKFN0cnVjdHVyZSk6 DQorICAgIF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ0VMRl9JZGVu dGlmaWNhdGlvbicsICAgICAgIEFSUkFZKGNfY2hhciwgMTYpKSwgICAjIC8qIEZpbGUgaWRlbnRp ZmljYXRpb24uICovDQorICAgICAgICAoJ0VMRl9UeXBlJywgICAgICAgICAgICAgICAgIGNfdWlu dDE2KSwgICAgICAgICAgICAjIEVsZjMyX0hhbGYgICAvKiBGaWxlIHR5cGUuICovDQorICAgICAg ICAoJ0VMRl9NYWNoaW5lJywgICAgICAgICAgICAgIGNfdWludDE2KSwgICAgICAgICAgICAjIEVs ZjMyX0hhbGYgICAvKiBNYWNoaW5lIGFyY2hpdGVjdHVyZS4gKi8NCisgICAgICAgICgnRUxGX1Zl cnNpb24nLCAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZCAg IC8qIEVMRiBmb3JtYXQgdmVyc2lvbi4gKi8NCisgICAgICAgICgnRUxGX0VudHJ5JywgICAgICAg ICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfQWRkciAgIC8qIEVudHJ5IHBv aW50LiAqLw0KKyAgICAgICAgKCdFTEZfUEhPZmYnLCAgICAgICAgICAgICAgICBjX3VpbnQzMiks ICAgICAgICAgICAgIyBFbGYzMl9PZmYgICAgLyogUHJvZ3JhbSBoZWFkZXIgZmlsZSBvZmZzZXQu ICovDQorICAgICAgICAoJ0VMRl9TSE9mZicsICAgICAgICAgICAgICAgIGNfdWludDMyKSwgICAg ICAgICAgICAjIEVsZjMyX09mZiAgICAvKiBTZWN0aW9uIGhlYWRlciBmaWxlIG9mZnNldC4gKi8N CisgICAgICAgICgnRUxGX0ZsYWdzJywgICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAg ICAgICMgRWxmMzJfV29yZCAgIC8qIEFyY2hpdGVjdHVyZS1zcGVjaWZpYyBmbGFncy4gKi8NCisg ICAgICAgICgnRUxGX0VGU2l6ZScsICAgICAgICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAg ICMgRWxmMzJfSGFsZiAgIC8qIFNpemUgb2YgRUxGIGhlYWRlciBpbiBieXRlcy4gKi8NCisgICAg ICAgICgnRUxGX1BIRW50U2l6ZScsICAgICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMg RWxmMzJfSGFsZiAgIC8qIFNpemUgb2YgcHJvZ3JhbSBoZWFkZXIgZW50cnkuICovDQorICAgICAg ICAoJ0VMRl9QSE51bScsICAgICAgICAgICAgICAgIGNfdWludDE2KSwgICAgICAgICAgICAjIEVs ZjMyX0hhbGYgICAvKiBOdW1iZXIgb2YgcHJvZ3JhbSBoZWFkZXIgZW50cmllcy4gKi8NCisgICAg ICAgICgnRUxGX1NIRW50U2l6ZScsICAgICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMg RWxmMzJfSGFsZiAgIC8qIFNpemUgb2Ygc2VjdGlvbiBoZWFkZXIgZW50cnkuICovDQorICAgICAg ICAoJ0VMRl9TSE51bScsICAgICAgICAgICAgICAgIGNfdWludDE2KSwgICAgICAgICAgICAjIEVs ZjMyX0hhbGYgICAvKiBOdW1iZXIgb2Ygc2VjdGlvbiBoZWFkZXIgZW50cmllcy4gKi8NCisgICAg ICAgICgnRUxGX1NOU3RyJywgICAgICAgICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMg RWxmMzJfSGFsZiAgIC8qIFNlY3Rpb24gbmFtZSBzdHJpbmdzIHNlY3Rpb24uICovDQorICAgIF0N CisNCitjbGFzcyBFTEZfSEVBREVSNjQoU3RydWN0dXJlKToNCisgICAgX3BhY2tfID0gMQ0KKyAg ICBfZmllbGRzXyA9IFsNCisgICAgICAgICgnRUxGX0lkZW50aWZpY2F0aW9uJywgICAgICAgQVJS QVkoY19jaGFyLCAxNikpLCAgICMgLyogRmlsZSBpZGVudGlmaWNhdGlvbi4gKi8NCisgICAgICAg ICgnRUxGX1R5cGUnLCAgICAgICAgICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMgRWxm NjRfSGFsZiAgIC8qIEZpbGUgdHlwZS4gKi8NCisgICAgICAgICgnRUxGX01hY2hpbmUnLCAgICAg ICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMgRWxmNjRfSGFsZiAgIC8qIE1hY2hpbmUg YXJjaGl0ZWN0dXJlLiAqLw0KKyAgICAgICAgKCdFTEZfVmVyc2lvbicsICAgICAgICAgICAgICBj X3VpbnQzMiksICAgICAgICAgICAgIyBFbGY2NF9Xb3JkICAgLyogRUxGIGZvcm1hdCB2ZXJzaW9u LiAqLw0KKyAgICAgICAgKCdFTEZfRW50cnknLCAgICAgICAgICAgICAgICBjX3VpbnQ2NCksICAg ICAgICAgICAgIyBFbGY2NF9BZGRyICAgLyogRW50cnkgcG9pbnQuICovDQorICAgICAgICAoJ0VM Rl9QSE9mZicsICAgICAgICAgICAgICAgIGNfdWludDY0KSwgICAgICAgICAgICAjIEVsZjY0X09m ZiAgICAvKiBQcm9ncmFtIGhlYWRlciBmaWxlIG9mZnNldC4gKi8NCisgICAgICAgICgnRUxGX1NI T2ZmJywgICAgICAgICAgICAgICAgY191aW50NjQpLCAgICAgICAgICAgICMgRWxmNjRfT2ZmICAg IC8qIFNlY3Rpb24gaGVhZGVyIGZpbGUgb2Zmc2V0LiAqLw0KKyAgICAgICAgKCdFTEZfRmxhZ3Mn LCAgICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGY2NF9Xb3JkICAgLyog QXJjaGl0ZWN0dXJlLXNwZWNpZmljIGZsYWdzLiAqLw0KKyAgICAgICAgKCdFTEZfRUZTaXplJywg ICAgICAgICAgICAgICBjX3VpbnQxNiksICAgICAgICAgICAgIyBFbGY2NF9IYWxmICAgLyogU2l6 ZSBvZiBFTEYgaGVhZGVyIGluIGJ5dGVzLiAqLw0KKyAgICAgICAgKCdFTEZfUEhFbnRTaXplJywg ICAgICAgICAgICBjX3VpbnQxNiksICAgICAgICAgICAgIyBFbGY2NF9IYWxmICAgLyogU2l6ZSBv ZiBwcm9ncmFtIGhlYWRlciBlbnRyeS4gKi8NCisgICAgICAgICgnRUxGX1BITnVtJywgICAgICAg ICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMgRWxmNjRfSGFsZiAgIC8qIE51bWJlciBv ZiBwcm9ncmFtIGhlYWRlciBlbnRyaWVzLiAqLw0KKyAgICAgICAgKCdFTEZfU0hFbnRTaXplJywg ICAgICAgICAgICBjX3VpbnQxNiksICAgICAgICAgICAgIyBFbGY2NF9IYWxmICAgLyogU2l6ZSBv ZiBzZWN0aW9uIGhlYWRlciBlbnRyeS4gKi8NCisgICAgICAgICgnRUxGX1NITnVtJywgICAgICAg ICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMgRWxmNjRfSGFsZiAgIC8qIE51bWJlciBv ZiBzZWN0aW9uIGhlYWRlciBlbnRyaWVzLiAqLw0KKyAgICAgICAgKCdFTEZfU05TdHInLCAgICAg ICAgICAgICAgICBjX3VpbnQxNiksICAgICAgICAgICAgIyBFbGY2NF9IYWxmICAgLyogU2VjdGlv biBuYW1lIHN0cmluZ3Mgc2VjdGlvbi4gKi8NCisgICAgXQ0KKw0KKyMgU2VjdGlvbiBoZWFkZXIu DQorY2xhc3MgRUxGX1NFQ1RJT05fSEVBREVSMzIoU3RydWN0dXJlKToNCisgICAgX3BhY2tfID0g MQ0KKyAgICBfZmllbGRzXyA9IFsNCisgICAgICAgICgnU0hfTmFtZScsICAgICAgICAgICAgICAg ICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZCAgIC8qIFNlY3Rpb24gbmFtZSAo aW5kZXggaW50byB0aGUgc2VjdGlvbiBoZWFkZXIgc3RyaW5nIHRhYmxlKS4gKi8NCisgICAgICAg ICgnU0hfVHlwZScsICAgICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxm MzJfV29yZCAgIC8qIFNlY3Rpb24gdHlwZS4gKi8NCisgICAgICAgICgnU0hfRmxhZ3MnLCAgICAg ICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZCAgIC8qIFNlY3Rp b24gZmxhZ3MuICovDQorICAgICAgICAoJ1NIX0FERFInLCAgICAgICAgICAgICAgICAgIGNfdWlu dDMyKSwgICAgICAgICAgICAjIEVsZjMyX0FkZHIgICAvKiBBZGRyZXNzIGluIG1lbW9yeSBpbWFn ZS4gKi8NCisgICAgICAgICgnU0hfT2Zmc2V0JywgICAgICAgICAgICAgICAgY191aW50MzIpLCAg ICAgICAgICAgICMgRWxmMzJfT2ZmICAgIC8qIE9mZnNldCBpbiBmaWxlLiAqLw0KKyAgICAgICAg KCdTSF9TaXplJywgICAgICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYz Ml9Xb3JkICAgLyogU2l6ZSBpbiBieXRlcy4gKi8NCisgICAgICAgICgnU0hfTGluaycsICAgICAg ICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZCAgIC8qIEluZGV4 IG9mIGEgcmVsYXRlZCBzZWN0aW9uLiAqLw0KKyAgICAgICAgKCdTSF9JbmZvJywgICAgICAgICAg ICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9Xb3JkICAgLyogRGVwZW5kcyBv biBzZWN0aW9uIHR5cGUuICovDQorICAgICAgICAoJ1NIX0FkZHJBbGlnbicsICAgICAgICAgICAg IGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dvcmQgICAvKiBBbGlnbm1lbnQgaW4gYnl0 ZXMuICovDQorICAgICAgICAoJ1NIX0VudFNpemUnLCAgICAgICAgICAgICAgIGNfdWludDMyKSwg ICAgICAgICAgICAjIEVsZjMyX1dvcmQgICAvKiBTaXplIG9mIGVhY2ggZW50cnkgaW4gc2VjdGlv bi4gKi8NCisgICAgXQ0KKw0KK2NsYXNzIEVMRl9TRUNUSU9OX0hFQURFUjY0KFN0cnVjdHVyZSk6 DQorICAgIF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ1NIX05hbWUn LCAgICAgICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dvcmQgICAv KiBTZWN0aW9uIG5hbWUgKGluZGV4IGludG8gdGhlIHNlY3Rpb24gaGVhZGVyIHN0cmluZyB0YWJs ZSkuICovDQorICAgICAgICAoJ1NIX1R5cGUnLCAgICAgICAgICAgICAgICAgIGNfdWludDMyKSwg ICAgICAgICAgICAjIEVsZjMyX1dvcmQgICAvKiBTZWN0aW9uIHR5cGUuICovDQorICAgICAgICAo J1NIX0ZsYWdzJywgICAgICAgICAgICAgICAgIGNfdWludDY0KSwgICAgICAgICAgICAjIEVsZjMy X1hXb3JkICAgLyogU2VjdGlvbiBmbGFncy4gKi8NCisgICAgICAgICgnU0hfQUREUicsICAgICAg ICAgICAgICAgICAgY191aW50NjQpLCAgICAgICAgICAgICMgRWxmMzJfQWRkciAgIC8qIEFkZHJl c3MgaW4gbWVtb3J5IGltYWdlLiAqLw0KKyAgICAgICAgKCdTSF9PZmZzZXQnLCAgICAgICAgICAg ICAgICBjX3VpbnQ2NCksICAgICAgICAgICAgIyBFbGYzMl9PZmYgICAgLyogT2Zmc2V0IGluIGZp bGUuICovDQorICAgICAgICAoJ1NIX1NpemUnLCAgICAgICAgICAgICAgICAgIGNfdWludDY0KSwg ICAgICAgICAgICAjIEVsZjMyX1hXb3JkICAgLyogU2l6ZSBpbiBieXRlcy4gKi8NCisgICAgICAg ICgnU0hfTGluaycsICAgICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxm MzJfV29yZCAgIC8qIEluZGV4IG9mIGEgcmVsYXRlZCBzZWN0aW9uLiAqLw0KKyAgICAgICAgKCdT SF9JbmZvJywgICAgICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9X b3JkICAgLyogRGVwZW5kcyBvbiBzZWN0aW9uIHR5cGUuICovDQorICAgICAgICAoJ1NIX0FkZHJB bGlnbicsICAgICAgICAgICAgIGNfdWludDY0KSwgICAgICAgICAgICAjIEVsZjMyX1hXb3JkICAg LyogQWxpZ25tZW50IGluIGJ5dGVzLiAqLw0KKyAgICAgICAgKCdTSF9FbnRTaXplJywgICAgICAg ICAgICAgICBjX3VpbnQ2NCksICAgICAgICAgICAgIyBFbGYzMl9YV29yZCAgIC8qIFNpemUgb2Yg ZWFjaCBlbnRyeSBpbiBzZWN0aW9uLiAqLw0KKyAgICBdDQorDQorIyBQcm9ncmFtIGhlYWRlci4N CitjbGFzcyBFTEZfUFJPR1JBTV9IRUFERVIzMihTdHJ1Y3R1cmUpOg0KKyAgICBfcGFja18gPSAx DQorICAgIF9maWVsZHNfID0gWw0KKyAgICAgICAgKCdQSF9UeXBlJywgICAgICAgICAgICAgICAg ICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9Xb3JkICAgLyogRW50cnkgdHlwZS4gKi8N CisgICAgICAgICgnUEhfT2Zmc2V0JywgICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAg ICAgICMgRWxmMzJfT2ZmICAgIC8qIEZpbGUgb2Zmc2V0IG9mIGNvbnRlbnRzLiAqLw0KKyAgICAg ICAgKCdQSF9WaXJBZGRyJywgICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBF bGYzMl9BZGRyICAgLyogVmlydHVhbCBhZGRyZXNzIGluIG1lbW9yeSBpbWFnZS4gKi8NCisgICAg ICAgICgnUEhfUGh5QWRkcicsICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMg RWxmMzJfQWRkciAgIC8qIFBoeXNpY2FsIGFkZHJlc3MgKG5vdCB1c2VkKS4gKi8NCisgICAgICAg ICgnUEhfRmlsZVNpemUnLCAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxm MzJfV29yZCAgIC8qIFNpemUgb2YgY29udGVudHMgaW4gZmlsZS4gKi8NCisgICAgICAgICgnUEhf TWVtb3J5U2l6ZScsICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29y ZCAgIC8qIFNpemUgb2YgY29udGVudHMgaW4gbWVtb3J5LiAqLw0KKyAgICAgICAgKCdQSF9GbGFn cycsICAgICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9Xb3JkICAg LyogQWNjZXNzIHBlcm1pc3Npb24gZmxhZ3MuICovDQorICAgICAgICAoJ1BIX0FsaWduJywgICAg ICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dvcmQgICAvKiBBbGln bm1lbnQgaW4gbWVtb3J5IGFuZCBmaWxlLiAqLw0KKyAgICBdDQorDQorY2xhc3MgRUxGX1BST0dS QU1fSEVBREVSNjQoU3RydWN0dXJlKToNCisgICAgX3BhY2tfID0gMQ0KKyAgICBfZmllbGRzXyA9 IFsNCisgICAgICAgICgnUEhfVHlwZScsICAgICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAg ICAgICAgICMgRWxmMzJfV29yZCAgIC8qIEVudHJ5IHR5cGUuICovDQorICAgICAgICAoJ1BIX0Zs YWdzJywgICAgICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dvcmQg ICAvKiBBY2Nlc3MgcGVybWlzc2lvbiBmbGFncy4gKi8NCisgICAgICAgICgnUEhfT2Zmc2V0Jywg ICAgICAgICAgICAgICAgY191aW50NjQpLCAgICAgICAgICAgICMgRWxmMzJfT2ZmICAgIC8qIEZp bGUgb2Zmc2V0IG9mIGNvbnRlbnRzLiAqLw0KKyAgICAgICAgKCdQSF9WaXJBZGRyJywgICAgICAg ICAgICAgICBjX3VpbnQ2NCksICAgICAgICAgICAgIyBFbGYzMl9BZGRyICAgLyogVmlydHVhbCBh ZGRyZXNzIGluIG1lbW9yeSBpbWFnZS4gKi8NCisgICAgICAgICgnUEhfUGh5QWRkcicsICAgICAg ICAgICAgICAgY191aW50NjQpLCAgICAgICAgICAgICMgRWxmMzJfQWRkciAgIC8qIFBoeXNpY2Fs IGFkZHJlc3MgKG5vdCB1c2VkKS4gKi8NCisgICAgICAgICgnUEhfRmlsZVNpemUnLCAgICAgICAg ICAgICAgY191aW50NjQpLCAgICAgICAgICAgICMgRWxmMzJfWFdvcmQgICAvKiBTaXplIG9mIGNv bnRlbnRzIGluIGZpbGUuICovDQorICAgICAgICAoJ1BIX01lbW9yeVNpemUnLCAgICAgICAgICAg IGNfdWludDY0KSwgICAgICAgICAgICAjIEVsZjMyX1hXb3JkICAgLyogU2l6ZSBvZiBjb250ZW50 cyBpbiBtZW1vcnkuICovDQorICAgICAgICAoJ1BIX0FsaWduJywgICAgICAgICAgICAgICAgIGNf dWludDY0KSwgICAgICAgICAgICAjIEVsZjMyX1hXb3JkICAgLyogQWxpZ25tZW50IGluIG1lbW9y eSBhbmQgZmlsZS4gKi8NCisgICAgXQ0KKw0KKyMgRHluYW1pYyB1bmlvbi4NCitjbGFzcyBFTEZf RFlOQU1JQ19VTklPTihTdHJ1Y3R1cmUpOg0KKyAgICBfcGFja18gPSAxDQorICAgIF9maWVsZHNf ID0gWw0KKyAgICAgICAgKCdFTEZfRHluYW1pY19WYWwnLCAgICAgICAgICBjX3VpbnQzMiksICAg ICAgICAgICAgIyBFbGYzMl9Xb3JkICAgLyogSW50ZWdlciB2YWx1ZS4gKi8NCisgICAgICAgICgn RUxGX0R5bmFtaWNfUHRyJywgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJf QWRkciAgIC8qIEFkZHJlc3MgdmFsdWUuICovDQorICAgIF0NCisNCisNCisjIER5bmFtaWMgc3Ry dWN0dXJlLiBUaGUgIi5keW5hbWljIiBzZWN0aW9uIGNvbnRhaW5zIGFuIGFycmF5IG9mIHRoZW0u DQorY2xhc3MgRUxGX0RZTkFNSUNfU1RSVUNUVVJFKFN0cnVjdHVyZSk6DQorICAgIF9wYWNrXyA9 IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ0VMRl9EeW5hbWljX1RhZycsICAgICAg ICAgIGNfaW50MzIpLCAgICAgICAgICAgICAjIEVsZjMyX1N3b3JkICAgLyogRW50cnkgdHlwZS4g Ki8NCisgICAgICAgICgnRUxGX0R5bmFtaWNfVW5pb24nLCAgICAgICAgRUxGX0RZTkFNSUNfVU5J T04pLCAgICMgRWxmMzJfT2ZmICAgICAvKiBTZWN0aW9uIHR5cGUuICovDQorICAgIF0NCisNCisj IyBSZWxvY2F0aW9uIGVudHJpZXMuDQorDQorIyAvKiBSZWxvY2F0aW9ucyB0aGF0IGRvbid0IG5l ZWQgYW4gYWRkZW5kIGZpZWxkLiAqLyBjbGFzcyANCitFTEZfUkVMT0NBVElPTihTdHJ1Y3R1cmUp Og0KKyAgICBfcGFja18gPSAxDQorICAgIF9maWVsZHNfID0gWw0KKyAgICAgICAgKCdFTEZfUmVP ZmZzZXQnLCAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9BZGRyICAg LyogTG9jYXRpb24gdG8gYmUgcmVsb2NhdGVkLiAqLw0KKyAgICAgICAgKCdFTEZfUmVJbmZvJywg ICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9Xb3JkICAgLyogUmVs b2NhdGlvbiB0eXBlIGFuZCBzeW1ib2wgaW5kZXguICovDQorICAgIF0NCisNCisjIC8qIFJlbG9j YXRpb25zIHRoYXQgbmVlZCBhbiBhZGRlbmQgZmllbGQuICovIGNsYXNzIA0KK0VMRl9SRUxPQ0FU SU9OKFN0cnVjdHVyZSk6DQorICAgIF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAg ICAgICAoJ0VMRl9SZU9mZnNldCcsICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAj IEVsZjMyX0FkZHIgICAvKiBMb2NhdGlvbiB0byBiZSByZWxvY2F0ZWQuICovDQorICAgICAgICAo J0VMRl9SZUluZm8nLCAgICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMy X1dvcmQgICAvKiBSZWxvY2F0aW9uIHR5cGUgYW5kIHN5bWJvbCBpbmRleC4gKi8NCisgICAgICAg ICgnRUxGX1JlQWRkZW5kJywgICAgICAgICAgICAgY19pbnQzMiksICAgICAgICAgICAgICMgRWxm MzJfU1dvcmQgIC8qIEFkZGVuZC4gKi8NCisgICAgXQ0KKw0KKyMgTW92ZSBFbnRyeQ0KK2NsYXNz IEVMRl9NT1ZFKFN0cnVjdHVyZSk6DQorICAgIF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBb DQorICAgICAgICAoJ0VMRl9NVmFsdWUnLCAgICAgICAgICAgICAgIGNfdWludDY0KSwgICAgICAg ICAgICAjIEVsZjMyX0x3b3JkICAvKiBzeW1ib2wgdmFsdWUgKi8NCisgICAgICAgICgnRUxGX01J bmZvJywgICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZCAg IC8qIHNpemUgKyBpbmRleCAqLw0KKyAgICAgICAgKCdFTEZfTVBPZmZzZXQnLCAgICAgICAgICAg ICBjX2ludDMyKSwgICAgICAgICAgICAgIyBFbGYzMl9Xb3JkICAgLyogc3ltYm9sIG9mZnNldCAq Lw0KKyAgICAgICAgKCdFTEZfTVJlcGVhdCcsICAgICAgICAgICAgICBjX3VpbnQxNiksICAgICAg ICAgICAgIyBFbGYzMl9IYWxmICAgLyogcmVwZWF0IGNvdW50ICovDQorICAgICAgICAoJ0VMRl9N U3RyaWRlJywgICAgICAgICAgICAgIGNfdWludDE2KSwgICAgICAgICAgICAjIEVsZjMyX0hhbGYg ICAvKiBzdHJpZGUgaW5mbyAqLw0KKyAgICBdDQorDQorIyMgSGFyZHdhcmUvU29mdHdhcmUgY2Fw YWJpbGl0aWVzIGVudHJ5IGNsYXNzIA0KK0VMRl9DQVBBX1VOSU9OKFN0cnVjdHVyZSk6DQorICAg IF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ0VMRl9DYXBhX1ZhbCcs ICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dvcmQgICAvKiBJbnRl Z2VyIHZhbHVlLiAqLw0KKyAgICAgICAgKCdFTEZfQ2FwYV9QdHInLCAgICAgICAgICAgICBjX3Vp bnQzMiksICAgICAgICAgICAgIyBFbGYzMl9BZGRyICAgLyogQWRkcmVzcyB2YWx1ZS4gKi8NCisg ICAgXQ0KKw0KK2NsYXNzIEVMRl9DQVBBQklMSVRZKFN0cnVjdHVyZSk6DQorICAgIF9wYWNrXyA9 IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ0VMRl9DYXBhX1RhZycsICAgICAgICAg ICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dvcmQgICAvKiBob3cgdG8gaW50ZXJw cmV0IHZhbHVlICovDQorICAgICAgICAoJ0VMRl9DYXBhX1VuaW9uJywgICAgICAgICAgIEVMRl9D QVBBX1VOSU9OKSwgICAgICAjIEVMRl9DQVBBX1VOSU9ODQorICAgIF0NCisNCisjIFN5bWJvbCB0 YWJsZSBlbnRyaWVzLg0KK2NsYXNzIEVMRl9TWU1CT0woU3RydWN0dXJlKToNCisgICAgX3BhY2tf ID0gMQ0KKyAgICBfZmllbGRzXyA9IFsNCisgICAgICAgICgnRUxGX1NUX05hbWUnLCAgICAgICAg ICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZCAgIC8qIFN0cmluZyB0YWJs ZSBpbmRleCBvZiBuYW1lLiAqLw0KKyAgICAgICAgKCdFTEZfU1RfVmFsdWUnLCAgICAgICAgICAg ICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9BZGRyICAgLyogU3ltYm9sIHZhbHVlLiAq Lw0KKyAgICAgICAgKCdFTEZfU1RfU2l6ZScsICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAg ICAgICAgIyBFbGYzMl9Xb3JkICAgLyogU2l6ZSBvZiBhc3NvY2lhdGVkIG9iamVjdC4gKi8NCisg ICAgICAgICgnRUxGX1NUX0luZm8nLCAgICAgICAgICAgICAgY19jaGFyKSwgICAgICAgICAgICAg ICMgLyogVHlwZSBhbmQgYmluZGluZyBpbmZvcm1hdGlvbi4gKi8NCisgICAgICAgICgnRUxGX1NU X090aGVyJywgICAgICAgICAgICAgY19jaGFyKSwgICAgICAgICAgICAgICMgLyogUmVzZXJ2ZWQg KG5vdCB1c2VkKS4gKi8NCisgICAgICAgICgnRUxGX1NUX1NobmR4JywgICAgICAgICAgICAgY191 aW50MTYpLCAgICAgICAgICAgICMgRWxmMzJfSGFsZiAgIC8qIFNlY3Rpb24gaW5kZXggb2Ygc3lt Ym9sLiAqLw0KKyAgICBdDQorDQorIyBTdHJ1Y3R1cmVzIHVzZWQgYnkgU3VuICYgR05VIHN5bWJv bCB2ZXJzaW9uaW5nLg0KK2NsYXNzIEVMRl9WRVJERUYoU3RydWN0dXJlKToNCisgICAgX3BhY2tf ID0gMQ0KKyAgICBfZmllbGRzXyA9IFsNCisgICAgICAgICgnRUxGX1ZEX1ZlcnNpb24nLCAgICAg ICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMgRWxmMzJfSGFsZg0KKyAgICAgICAgKCdFTEZf VkRfRmxhZ3MnLCAgICAgICAgICAgICBjX3VpbnQxNiksICAgICAgICAgICAgIyBFbGYzMl9IYWxm DQorICAgICAgICAoJ0VMRl9WRF9OZHgnLCAgICAgICAgICAgICAgIGNfdWludDE2KSwgICAgICAg ICAgICAjIEVsZjMyX0hhbGYNCisgICAgICAgICgnRUxGX1ZEX0NudCcsICAgICAgICAgICAgICAg Y191aW50MTYpLCAgICAgICAgICAgICMgRWxmMzJfSGFsZg0KKyAgICAgICAgKCdFTEZfVkRfSGFz aCcsICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9Xb3JkDQorICAg ICAgICAoJ0VMRl9WRF9BdXgnLCAgICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAj IEVsZjMyX1dvcmQNCisgICAgICAgICgnRUxGX1ZEX05leHQnLCAgICAgICAgICAgICAgY191aW50 MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZA0KKyAgICBdDQorDQorY2xhc3MgRUxGX1ZFUkRB VVgoU3RydWN0dXJlKToNCisgICAgX3BhY2tfID0gMQ0KKyAgICBfZmllbGRzXyA9IFsNCisgICAg ICAgICgnRUxGX1ZEQV9OYW1lJywgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMg RWxmMzJfV29yZA0KKyAgICAgICAgKCdFTEZfVkRBX05leHQnLCAgICAgICAgICAgICBjX3VpbnQz MiksICAgICAgICAgICAgIyBFbGYzMl9Xb3JkDQorICAgIF0NCisNCitjbGFzcyBFTEZfVkVSTkVF RChTdHJ1Y3R1cmUpOg0KKyAgICBfcGFja18gPSAxDQorICAgIF9maWVsZHNfID0gWw0KKyAgICAg ICAgKCdFTEZfVk5fVmVyc2lvbicsICAgICAgICAgICBjX3VpbnQxNiksICAgICAgICAgICAgIyBF bGYzMl9IYWxmDQorICAgICAgICAoJ0VMRl9WTl9DbnQnLCAgICAgICAgICAgICAgIGNfdWludDE2 KSwgICAgICAgICAgICAjIEVsZjMyX0hhbGYNCisgICAgICAgICgnRUxGX1ZOX0ZpbGUnLCAgICAg ICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgRWxmMzJfV29yZA0KKyAgICAgICAgKCdF TEZfVk5fQXV4JywgICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAgICAgIyBFbGYzMl9X b3JkDQorICAgICAgICAoJ0VMRl9WTl9OZXh0JywgICAgICAgICAgICAgIGNfdWludDMyKSwgICAg ICAgICAgICAjIEVsZjMyX1dvcmQNCisgICAgXQ0KKw0KK2NsYXNzIEVMRl9WRVJOQVVYKFN0cnVj dHVyZSk6DQorICAgIF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ0VM Rl9WTkFfSGFzaCcsICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dv cmQNCisgICAgICAgICgnRUxGX1ZOQV9GbGFncycsICAgICAgICAgICAgY191aW50MTYpLCAgICAg ICAgICAgICMgRWxmMzJfSGFsZg0KKyAgICAgICAgKCdFTEZfVk5BX090aGVyJywgICAgICAgICAg ICBjX3VpbnQxNiksICAgICAgICAgICAgIyBFbGYzMl9IYWxmDQorICAgICAgICAoJ0VMRl9WTkFf TmFtZScsICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIEVsZjMyX1dvcmQNCisg ICAgICAgICgnRUxGX1ZOQV9OZXh0JywgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAg ICMgRWxmMzJfV29yZA0KKyAgICBdDQorDQorY2xhc3MgRUxGX1NZTUlORk8oU3RydWN0dXJlKToN CisgICAgX3BhY2tfID0gMQ0KKyAgICBfZmllbGRzXyA9IFsNCisgICAgICAgICgnRUxGX1NJX0Jv dW5kVG8nLCAgICAgICAgICAgY191aW50MTYpLCAgICAgICAgICAgICMgRWxmMzJfSGFsZiAgIC8q IGRpcmVjdCBiaW5kaW5ncyAtIHN5bWJvbCBib3VuZCB0byAqLw0KKyAgICAgICAgKCdFTEZfU0lf RmxhZ3MnLCAgICAgICAgICAgICBjX3VpbnQxNiksICAgICAgICAgICAgIyBFbGYzMl9IYWxmICAg LyogcGVyIHN5bWJvbCBmbGFncyAqLw0KKyAgICBdDQorDQorY2xhc3MgVU5JVkVSU0FMX1BBWUxP QURfSU5GTyhTdHJ1Y3R1cmUpOg0KKyAgICBfcGFja18gPSAxDQorICAgIF9maWVsZHNfID0gWw0K KyAgICAgICAgKCdJZGVudGlmaWVyJywgICAgICAgICAgICAgICBjX3VpbnQzMiksICAgICAgICAg ICAgIyDigJhQTERI4oCZIElkZW50aWZpZXIgZm9yIHRoZSB1bnZlcmlhbCBwYXlsb2FkIGluZm8u IDB4NTA0YzQ0NDgNCisgICAgICAgICgnSGVhZGVyTGVuZ3RoJywgICAgICAgICAgICAgY191aW50 MzIpLCAgICAgICAgICAgICMgTGVuZ3RoIG9mIHRoZSBzdHJ1Y3R1cmUgaW4gYnl0ZXMuDQorICAg ICAgICAoJ1NwZWNSZXZpc2lvbicsICAgICAgICAgICAgIGNfdWludDE2KSwgICAgICAgICAgICAj IEluZGljYXRlcyBjb21wbGlhbmNlIHdpdGggYSByZXZpc2lvbiBvZiB0aGlzIHNwZWNpZmljYXRp b24gaW4gdGhlIEJDRCBmb3JtYXQuIDcgOiAwIC0gTWlub3IgVmVyc2lvbiAvIDE1IDogOCAtIE1h am9yIFZlcnNpb24gRm9yIHJldmlzaW9uIHYwLjc1IHRoZSB2YWx1ZSB3aWxsIGJlIDB4MDA3NS4N CisgICAgICAgICgnUmVzZXJ2ZWQnLCAgICAgICAgICAgICAgICAgY191aW50MTYpLCAgICAgICAg ICAgICMgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UuDQorICAgICAgICAoJ1JldmlzaW9uJywgICAg ICAgICAgICAgICAgIGNfdWludDMyKSwgICAgICAgICAgICAjIFJldmlzaW9uIG9mIHRoZSBQYXls b2FkIGJpbmFyeS4gTWFqb3IuTWlub3IgLlJldmlzaW9uLkJ1aWxkIC4gVGhlIEltYWdlUmV2aXNp b24gY2FuIGJlIGRlY29kZWQgYXMgZm9sbG93czogNyA6IDAgIC0gQnVpbGQgTnVtYmVyIC8gMTUg OjggIC0gUmV2aXNpb24gLyAyMyA6MTYgLSBNaW5vciBWZXJzaW9uIC8gMzEgOjI0IC0gTWFqb3Ig VmVyc2lvbg0KKyAgICAgICAgKCdBdHRyaWJ1dGUnLCAgICAgICAgICAgICAgICBjX3VpbnQzMiks ICAgICAgICAgICAgIyBMZW5ndGggb2YgdGhlIHN0cnVjdHVyZSBpbiBieXRlcy4NCisgICAgICAg ICgnQ2FwYWJpbGl0eScsICAgICAgICAgICAgICAgY191aW50MzIpLCAgICAgICAgICAgICMgTGVu Z3RoIG9mIHRoZSBzdHJ1Y3R1cmUgaW4gYnl0ZXMuDQorICAgICAgICAoJ1Byb2R1Y2VySWQnLCAg ICAgICAgICAgICAgIEFSUkFZKGNfdWludDgsIDE2KSksICAjIExlbmd0aCBvZiB0aGUgc3RydWN0 dXJlIGluIGJ5dGVzLg0KKyAgICAgICAgKCdJbWFnZUlkJywgICAgICAgICAgICAgICAgICBBUlJB WShjX3VpbnQ4LCAxNikpLCAgIyBMZW5ndGggb2YgdGhlIHN0cnVjdHVyZSBpbiBieXRlcy4NCisg ICAgXQ0KLS0NCjIuMzkuMS53aW5kb3dzLjENCg0K