From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C2458A04B5; Tue, 27 Oct 2020 05:56:32 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 280682B9D; Tue, 27 Oct 2020 05:56:30 +0100 (CET) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40068.outbound.protection.outlook.com [40.107.4.68]) by dpdk.org (Postfix) with ESMTP id 45D6C1D9E for ; Tue, 27 Oct 2020 05:56:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CG0ttU/d/cCxyPcHHK9zJ44WAsNhCmkYAsnQOwBoydo=; b=2kNagQTuPOMQaoS9yWHFIR0laAJ4rt7JMkBCOQ4kHYXy2DlnK7J0WnFESzDEPeT6j8XTdxMrPfiXnwp2mfRhW1qv64XRXCuf9PTOGHrh2/zlUJMbQK5LDbdMPMwBKDG1x51kLYuUDBgyTD0g9xM0cUxsmG0SJ+XEDWwhioTLZyE= Received: from AM0PR02CA0022.eurprd02.prod.outlook.com (2603:10a6:208:3e::35) by AM0PR08MB3073.eurprd08.prod.outlook.com (2603:10a6:208:65::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.22; Tue, 27 Oct 2020 04:56:24 +0000 Received: from VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:208:3e:cafe::20) by AM0PR02CA0022.outlook.office365.com (2603:10a6:208:3e::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.23 via Frontend Transport; Tue, 27 Oct 2020 04:56:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT042.mail.protection.outlook.com (10.152.19.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.18 via Frontend Transport; Tue, 27 Oct 2020 04:56:23 +0000 Received: ("Tessian outbound e6c55a0b9ba9:v64"); Tue, 27 Oct 2020 04:56:23 +0000 X-CR-MTA-TID: 64aa7808 Received: from 2f34685042cf.4 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C27786B2-96AD-4EAC-84DA-D4122D09F696.1; Tue, 27 Oct 2020 04:56:18 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2f34685042cf.4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 27 Oct 2020 04:56:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eBR+Lupdi53/07oBKN14dxioIVH3U/nd4ZlItZRsSrZaPpAm3nXiKsmdX4ha3zE5ncd30dt9ux5O+8C69avUrEdUEbQ+UkoGldZccKJQ4dx18APuEt12Ibnk9Z/qCgkMZwccNubyOv4BziGTsx3Lc0mjElQFq7uNS1XC2xvWTYlvMZ30Cn/wyhsbaggb9KfDjB65FaD0f9W56lLr9C8kFLnILUgMDs6531t/R10Gzep3XCFi7UnZFyQiEfPn7quSVTNGKT2H8jfq68oP+kvSL6rHIyr5rA0JZ3ICEWOkTpeX+9K1oSxiomDdy75723NxTuqmb6ASI1wUTSrVhQRvNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CG0ttU/d/cCxyPcHHK9zJ44WAsNhCmkYAsnQOwBoydo=; b=Ro4CxkY1ix2ed07PRldMyMN3W3xd5uOZ8pbyZE5m0eiXxiNXPAU5xTYsS36UeuaXiJhWkOWiWhGs7newGaqQ5W1me9YFolFK8LLyVzL+Ba7k6rSIHZJUP0hLN2n3HancwM44/LGzaz9CqpMI44IO5ZXV+xmwHeKIlk9LkyBHE56xurj4qIsLhT5+FJyN+sOMYm81L8XXpVotBzNbGq3rUoYEprj0p9wSREDc0LhklcQEffc84bOY/DpChCma++3FOVAxDciwH4UZQPE0PirVgEWR7irFcAtt/DrAQNFeMTDhRGpsf1kq2s4kFXnxEdLTx/zRNddYhpI4Y9LgivToag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CG0ttU/d/cCxyPcHHK9zJ44WAsNhCmkYAsnQOwBoydo=; b=2kNagQTuPOMQaoS9yWHFIR0laAJ4rt7JMkBCOQ4kHYXy2DlnK7J0WnFESzDEPeT6j8XTdxMrPfiXnwp2mfRhW1qv64XRXCuf9PTOGHrh2/zlUJMbQK5LDbdMPMwBKDG1x51kLYuUDBgyTD0g9xM0cUxsmG0SJ+XEDWwhioTLZyE= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB6PR0801MB1957.eurprd08.prod.outlook.com (2603:10a6:4:74::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.26; Tue, 27 Oct 2020 04:56:15 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::7814:9c1:781f:475d]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::7814:9c1:781f:475d%4]) with mapi id 15.20.3499.018; Tue, 27 Oct 2020 04:56:15 +0000 From: Honnappa Nagarahalli To: =?utf-8?B?SnVyYWogTGlua2XFoQ==?= , "bruce.richardson@intel.com" , Ruifeng Wang , Phil Yang , "vcchunga@amazon.com" , Dharmik Thakkar , "jerinjacobk@gmail.com" , "hemant.agrawal@nxp.com" CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , nd Thread-Topic: [PATCH v4 2/6] build: refactor Arm build Thread-Index: AQHWq9bPhcaoO33KoUuGpt+rWvzyyqmq2X4Q Date: Tue, 27 Oct 2020 04:56:15 +0000 Message-ID: References: <1603280261-20206-1-git-send-email-juraj.linkes@pantheon.tech> <1603464488-25493-1-git-send-email-juraj.linkes@pantheon.tech> <1603464488-25493-3-git-send-email-juraj.linkes@pantheon.tech> In-Reply-To: <1603464488-25493-3-git-send-email-juraj.linkes@pantheon.tech> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: C676615BFC1DAD4D85DFA21C2418E08C.0 x-checkrecipientchecked: true Authentication-Results-Original: pantheon.tech; dkim=none (message not signed) header.d=none; pantheon.tech; dmarc=none action=none header.from=arm.com; x-originating-ip: [107.77.219.18] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0b0464bd-0086-4886-8d1e-08d87a34a795 x-ms-traffictypediagnostic: DB6PR0801MB1957:|AM0PR08MB3073: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:4941;OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: +DCKI+T05uGZ9ZEfZXyj1QjoWrpKFhWe1MVoKHs1BSIa/QL/4iiko9y3gPJPxDFCdB7upHjIVw6AsrD2z9/oJByr99EKrCMfobI6l30ugrUDtKaWY61Dee7Ges19O9TFDExEb9olV70uMXRJdYMMZhsVVrtqIigVkL7kFGx8lFv4T+H4qvzOE8rVLUuFAV7ZgLw1m8twmLhSWsjEewaApbgbCEPwIwtMhyxPrCq8YzMMMEtNuM4kI5n1v1gtwVpCGPvbIotk2CHN3kcvpAsS+FA3/8As1xwzJ9n6dfM6J0en3A1yRAVBrVFxaW5mPWeGW5GIxLK2LzD9Dw4k/HX9d6l0US1tdrXYXV8YHU0w6nIQhohZ4A/O4favEMyefn6/ X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(39860400002)(396003)(376002)(136003)(346002)(30864003)(186003)(55016002)(66446008)(26005)(9686003)(83380400001)(316002)(4326008)(54906003)(110136005)(2906002)(86362001)(7696005)(52536014)(6506007)(478600001)(5660300002)(64756008)(33656002)(76116006)(66476007)(8936002)(8676002)(66556008)(71200400001)(66946007)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: b10pOnjoxtlw9MR4uZO4o6wMCAIjjhuQevJmmGBcHSxWQE5C7fecWUBWbMdG2JRpxQSiyXI++TD26yGGebEPilO2qpYIehcAv3FN4dSw6+2T/naP0s1Zs6nj9Z+E9aL874/gw16CHYeh2ly2FVT/w31JrTcHIbOprdlsswEOCiUjFQ4x+6u/qx7vgn5D10Xo5/TYJOgX7xEoD220XJms+zcIvEOeSQebHeEP1Y+tOGs2kdTzyo3/MeXVOjMHdTI5VGRwNJvm0fDR7pJ2oXrDO4SW8apVNlWShAG1ohcID04WuS0/t/XaAqcDrhZ4TVpQoCpfU11nnd3+w1C5cj/9x587ZRsJeZ3HcSbCQVxGaJDlZeiaUNEGZe9K/3PMRjelaAYh0fAU0ZdULdoBopcdUxCFkGwiladBjcOP+VUbQkuVnpJC03jtBVySvqSB0zWj0aIbDnA59VEAeHYAdLHNv8BtE1QWjajEp69hQvnOMuw1woBjAoBxvnu0TCJcpFUxsyUEH5qa4xghs2CVn6PJwSbl/9q4YIDk22JaBInXL7yvOKpH9aFgMMbuxZyhzvQ5zCTRwz3GjGzwCTWQUkbCGOAiOykPofcpMU+dxIWxb6tmt3YnEXvwx/f3iSZP1uI+xyWn8yCs0+aoRpgF3dbcxQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1957 Original-Authentication-Results: pantheon.tech; dkim=none (message not signed) header.d=none; pantheon.tech; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 49c8aad3-59bf-4a7e-c624-08d87a34a24a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OUPqwAQfNdNha89jiB6iYZy2ToomFhMtyAkhjgGtwfnBhkaQ+mtyTg0xDhm/pZYJMAcfddaRhp0SQRPTsdv0AKt252qRAtfU7IoV4yyjiksGbAo02F80Cn43lshvscAX7U+WhaXrmNxqTkku0OTbKAcrSQd76DiIFzBzevsUwzB9xQw5pMI2Mb4zpnhYFuu5oP4CCk5t5jV/Uo3Le12VtQXTzjKDqbAltk0s6fOGEGSdgzAh2myH+1UB2+YginPEriBiVQTY8cG7VVa4d4JQg9vg/CldmsJNCwMvjkDFdVHmPmz7eyPO3QQ+KWYS3VbRz6v2csF/oQ04jHpHTl+R6E6wdMKnMVG7ePZN8vei2QSbhXhshTJW5Qis/OCb9C2aAdvS5NDf9aucWakAO1vkT2yiskVVPDh4HwFbch0C7n4= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(396003)(39860400002)(346002)(376002)(46966005)(26005)(6506007)(83380400001)(186003)(82740400003)(47076004)(30864003)(8936002)(9686003)(316002)(356005)(8676002)(7696005)(36906005)(70206006)(54906003)(5660300002)(52536014)(4326008)(478600001)(70586007)(2906002)(110136005)(55016002)(82310400003)(81166007)(33656002)(86362001)(336012)(21314003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2020 04:56:23.9976 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0b0464bd-0086-4886-8d1e-08d87a34a795 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3073 Subject: Re: [dpdk-dev] [PATCH v4 2/6] build: refactor Arm build X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PHNuaXA+DQpJIHRoaW5rIHdlIG5lZWQgdG8gc3BsaXQgdGhpcyBmdXJ0aGVyLiBGZXcgc3VnZ2Vz dGlvbnMgYmVsb3cuDQoNCj4gDQo+ICogUmVuYW1lIHZhcmlhYmxlcyB0byBoYXZlIG5hbWVzIHRo YXQgYmV0dGVyIGRlc2NyaWJlIHdoYXQgdGhlIHZhcmlhYmxlcw0KPiBzdG9yZQ0KVGhpcyBzaG91 bGQgYmUgYSBzZXBhcmF0ZSBjb21taXQuDQoNCj4gKiBSZW1vdmUgdW51c2VkIG9yIHN1cGVyZmx1 b3VzIHZhcmlhYmxlcw0KU2FtZSBoZXJlDQoNCj4gKiBDaGFuZ2UgYSBsaXN0IHRvIGRpY3Rpb25h cnkgd2hlcmUga2V5IGxvb2t1cCBpcyBuZWVkZWQNClNhbWUgaGVyZQ0KDQo+ICogQWRkIGluZm9y bWF0b3J5IGNvbW1lbnRzIGluIHRoZSBjb2RlDQoNCj4gKiBNaW5vciBjb2RlIHJlc3RydWN0dXJl IGFuZCByZWZvcm1hdHRpbmcNClNhbWUgZm9yIHRoaXMNCg0KPiANCj4gU2lnbmVkLW9mZi1ieTog SnVyYWogTGlua2XFoSA8anVyYWoubGlua2VzQHBhbnRoZW9uLnRlY2g+DQo+IC0tLQ0KPiAgY29u ZmlnL2FybS9hcm02NF9hcm1hZGFfbGludXhfZ2NjICAgIHwgICAyICstDQo+ICBjb25maWcvYXJt L2FybTY0X2FybXY4X2xpbnV4X2djYyAgICAgfCAgIDggKy0NCj4gIGNvbmZpZy9hcm0vYXJtNjRf Ymx1ZWZpZWxkX2xpbnV4X2djYyB8ICAgNCArLQ0KPiAgY29uZmlnL2FybS9hcm02NF9kcGFhX2xp bnV4X2djYyAgICAgIHwgICAyICstDQo+ICBjb25maWcvYXJtL2FybTY0X2VtYWdfbGludXhfZ2Nj ICAgICAgfCAgIDIgKy0NCj4gIGNvbmZpZy9hcm0vYXJtNjRfbjFzZHBfbGludXhfZ2NjICAgICB8 ICAgNCArLQ0KPiAgY29uZmlnL2FybS9hcm02NF9vY3Rlb250eDJfbGludXhfZ2NjIHwgICA0ICst DQo+ICBjb25maWcvYXJtL2FybTY0X3N0aW5ncmF5X2xpbnV4X2djYyAgfCAgIDQgKy0NCj4gIGNv bmZpZy9hcm0vYXJtNjRfdGh1bmRlcngyX2xpbnV4X2djYyB8ICAgNCArLQ0KPiAgY29uZmlnL2Fy bS9hcm02NF90aHVuZGVyeF9saW51eF9nY2MgIHwgICAyICstDQo+ICBjb25maWcvYXJtL21lc29u LmJ1aWxkICAgICAgICAgICAgICAgfCAyNDcgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tDQo+ ICAxMSBmaWxlcyBjaGFuZ2VkLCAxNTMgaW5zZXJ0aW9ucygrKSwgMTMwIGRlbGV0aW9ucygtKQ0K PiANCj4gZGlmZiAtLWdpdCBhL2NvbmZpZy9hcm0vYXJtNjRfYXJtYWRhX2xpbnV4X2djYw0KPiBi L2NvbmZpZy9hcm0vYXJtNjRfYXJtYWRhX2xpbnV4X2djYw0KPiBpbmRleCBmYTQwYzAzOTguLjUy YzVmNDQ3NiAxMDA2NDQNCj4gLS0tIGEvY29uZmlnL2FybS9hcm02NF9hcm1hZGFfbGludXhfZ2Nj DQo+ICsrKyBiL2NvbmZpZy9hcm0vYXJtNjRfYXJtYWRhX2xpbnV4X2djYw0KPiBAQCAtMTQsNCAr MTQsNCBAQCBjcHUgPSAnYXJtdjgtYScNCj4gIGVuZGlhbiA9ICdsaXR0bGUnDQo+IA0KPiAgW3By b3BlcnRpZXNdDQo+IC1pbXBsZW1lbnRvcl9pZCA9ICcweDU2Jw0KPiAraW1wbGVtZW50ZXJfaWQg PSAnMHg1NicNCkltcGxlbWVudG9yIGFuZCBpbXBsZW1lbnRlciBtZWFuIHRoZSBzYW1lLiBMb29r ZWQgYXQgQXJtIHNwZWNzLCB0aGV5IHVzZSAnaW1wbGVtZW50ZXInLiBTbywgSSBhbSBmaW5lLg0K DQo+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL2FybTY0X2FybXY4X2xpbnV4X2djYw0KPiBiL2Nv bmZpZy9hcm0vYXJtNjRfYXJtdjhfbGludXhfZ2NjDQo+IGluZGV4IDg4ZjBmZjlkYS4uMTNlZThi MjIzIDEwMDY0NA0KPiAtLS0gYS9jb25maWcvYXJtL2FybTY0X2FybXY4X2xpbnV4X2djYw0KPiAr KysgYi9jb25maWcvYXJtL2FybTY0X2FybXY4X2xpbnV4X2djYw0KPiBAQCAtMTMsMTAgKzEzLDEw IEBAIGNwdSA9ICdhcm12OC1hJw0KPiAgZW5kaWFuID0gJ2xpdHRsZScNCj4gDQo+ICBbcHJvcGVy dGllc10NCj4gLWltcGxlbWVudG9yX2lkID0gJ2dlbmVyaWMnDQo+ICtpbXBsZW1lbnRlcl9pZCA9 ICdnZW5lcmljJw0KPiANCj4gLSMgVmFsaWQgb3B0aW9ucyBmb3IgQXJtJ3MgaW1wbGVtZW50b3Jf cG46DQo+IC0jICdkZWZhdWx0JzogdmFsaWQgZm9yIGFsbCBhcm12OC1hIGFyY2hpdGVjdHVyZXMg KGRlZmF1bHQgdmFsdWUpDQo+ICsjIFZhbGlkIG9wdGlvbnMgZm9yIEFybSdzIHBhcnRfbnVtYmVy Og0KPiArIyAnZ2VuZXJpYyc6IHZhbGlkIGZvciBhbGwgYXJtdjgtYSBhcmNoaXRlY3R1cmVzIChk ZWZhdWx0IHZhbHVlKQ0KPiAgIyAnMHhkMDMnOiAgIGNvcnRleC1hNTMNCj4gICMgJzB4ZDA0Jzog ICBjb3J0ZXgtYTM1DQo+ICAjICcweGQwNSc6ICAgY29ydGV4LWE1NQ0KPiBAQCAtMjUsNCArMjUs NCBAQCBpbXBsZW1lbnRvcl9pZCA9ICdnZW5lcmljJw0KPiAgIyAnMHhkMDknOiAgIGNvcnRleC1h NzMNCj4gICMgJzB4ZDBhJzogICBjb3J0ZXgtYTc1DQo+ICAjICcweGQwYic6ICAgY29ydGV4LWE3 Ng0KPiAtaW1wbGVtZW50b3JfcG4gPSAnZGVmYXVsdCcNCj4gK3BhcnRfbnVtYmVyID0gJ2dlbmVy aWMnDQpTYW1lIGhlcmUsIEFybSBzcGVjcyByZWZlciB0byB0aGlzIGFzICdQYXJ0TnVtYmVyJy4g U28sIHRoaXMgc2hvdWxkIGJlIGZpbmUuDQpJIGxpa2UgJ2dlbmVyaWMnIGZvciBwYXJ0X251bWJl ciBoZXJlLg0KDQo+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL2FybTY0X2JsdWVmaWVsZF9saW51 eF9nY2MNCj4gYi9jb25maWcvYXJtL2FybTY0X2JsdWVmaWVsZF9saW51eF9nY2MNCj4gaW5kZXgg ODY3OTdkMjNjLi5iNzkzODlkODUgMTAwNjQ0DQo+IC0tLSBhL2NvbmZpZy9hcm0vYXJtNjRfYmx1 ZWZpZWxkX2xpbnV4X2djYw0KPiArKysgYi9jb25maWcvYXJtL2FybTY0X2JsdWVmaWVsZF9saW51 eF9nY2MNCj4gQEAgLTEzLDUgKzEzLDUgQEAgY3B1ID0gJ2FybXY4LWEnDQo+ICBlbmRpYW4gPSAn bGl0dGxlJw0KPiANCj4gIFtwcm9wZXJ0aWVzXQ0KPiAtaW1wbGVtZW50b3JfaWQgPSAnMHg0MScN Cj4gLWltcGxlbWVudG9yX3BuID0gJzB4ZDA4Jw0KPiAraW1wbGVtZW50ZXJfaWQgPSAnMHg0MScN Cj4gK3BhcnRfbnVtYmVyID0gJzB4ZDA4Jw0KPiBkaWZmIC0tZ2l0IGEvY29uZmlnL2FybS9hcm02 NF9kcGFhX2xpbnV4X2djYw0KPiBiL2NvbmZpZy9hcm0vYXJtNjRfZHBhYV9saW51eF9nY2MgaW5k ZXggMWE0NjgyMTU0Li41NzNhZTdlNDIgMTAwNjQ0DQo+IC0tLSBhL2NvbmZpZy9hcm0vYXJtNjRf ZHBhYV9saW51eF9nY2MNCj4gKysrIGIvY29uZmlnL2FybS9hcm02NF9kcGFhX2xpbnV4X2djYw0K PiBAQCAtMTQsNCArMTQsNCBAQCBjcHUgPSAnYXJtdjgtYScNCj4gIGVuZGlhbiA9ICdsaXR0bGUn DQo+IA0KPiAgW3Byb3BlcnRpZXNdDQo+IC1pbXBsZW1lbnRvcl9pZCA9ICdkcGFhJw0KPiAraW1w bGVtZW50ZXJfaWQgPSAnZHBhYScNCj4gZGlmZiAtLWdpdCBhL2NvbmZpZy9hcm0vYXJtNjRfZW1h Z19saW51eF9nY2MNCj4gYi9jb25maWcvYXJtL2FybTY0X2VtYWdfbGludXhfZ2NjIGluZGV4IDhl ZGNkM2U5Ny4uMjRmM2Q1MzNlIDEwMDY0NA0KPiAtLS0gYS9jb25maWcvYXJtL2FybTY0X2VtYWdf bGludXhfZ2NjDQo+ICsrKyBiL2NvbmZpZy9hcm0vYXJtNjRfZW1hZ19saW51eF9nY2MNCj4gQEAg LTEzLDQgKzEzLDQgQEAgY3B1ID0gJ2FybXY4LWEnDQo+ICBlbmRpYW4gPSAnbGl0dGxlJw0KPiAN Cj4gIFtwcm9wZXJ0aWVzXQ0KPiAtaW1wbGVtZW50b3JfaWQgPSAnMHg1MCcNCj4gK2ltcGxlbWVu dGVyX2lkID0gJzB4NTAnDQo+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL2FybTY0X24xc2RwX2xp bnV4X2djYw0KPiBiL2NvbmZpZy9hcm0vYXJtNjRfbjFzZHBfbGludXhfZ2NjDQo+IGluZGV4IDAy MmUwNjMwMy4uNmZiM2YwMmVhIDEwMDY0NA0KPiAtLS0gYS9jb25maWcvYXJtL2FybTY0X24xc2Rw X2xpbnV4X2djYw0KPiArKysgYi9jb25maWcvYXJtL2FybTY0X24xc2RwX2xpbnV4X2djYw0KPiBA QCAtMTMsNSArMTMsNSBAQCBjcHUgPSAnYXJtdjgtYScNCj4gIGVuZGlhbiA9ICdsaXR0bGUnDQo+ IA0KPiAgW3Byb3BlcnRpZXNdDQo+IC1pbXBsZW1lbnRvcl9pZCA9ICcweDQxJw0KPiAtaW1wbGVt ZW50b3JfcG4gPSAnMHhkMGMnDQo+ICtpbXBsZW1lbnRlcl9pZCA9ICcweDQxJw0KPiArcGFydF9u dW1iZXIgPSAnMHhkMGMnDQo+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL2FybTY0X29jdGVvbnR4 Ml9saW51eF9nY2MNCj4gYi9jb25maWcvYXJtL2FybTY0X29jdGVvbnR4Ml9saW51eF9nY2MNCj4g aW5kZXggMzY1YmQ3Y2JkLi5hYzEwNDI4MDYgMTAwNjQ0DQo+IC0tLSBhL2NvbmZpZy9hcm0vYXJt NjRfb2N0ZW9udHgyX2xpbnV4X2djYw0KPiArKysgYi9jb25maWcvYXJtL2FybTY0X29jdGVvbnR4 Ml9saW51eF9nY2MNCj4gQEAgLTEzLDUgKzEzLDUgQEAgY3B1ID0gJ2FybXY4LWEnDQo+ICBlbmRp YW4gPSAnbGl0dGxlJw0KPiANCj4gIFtwcm9wZXJ0aWVzXQ0KPiAtaW1wbGVtZW50b3JfaWQgPSAn MHg0MycNCj4gLWltcGxlbWVudG9yX3BuID0gJzB4YjInDQo+ICtpbXBsZW1lbnRlcl9pZCA9ICcw eDQzJw0KPiArcGFydF9udW1iZXIgPSAnMHhiMicNCj4gZGlmZiAtLWdpdCBhL2NvbmZpZy9hcm0v YXJtNjRfc3RpbmdyYXlfbGludXhfZ2NjDQo+IGIvY29uZmlnL2FybS9hcm02NF9zdGluZ3JheV9s aW51eF9nY2MNCj4gaW5kZXggODY3OTdkMjNjLi5iNzkzODlkODUgMTAwNjQ0DQo+IC0tLSBhL2Nv bmZpZy9hcm0vYXJtNjRfc3RpbmdyYXlfbGludXhfZ2NjDQo+ICsrKyBiL2NvbmZpZy9hcm0vYXJt NjRfc3RpbmdyYXlfbGludXhfZ2NjDQo+IEBAIC0xMyw1ICsxMyw1IEBAIGNwdSA9ICdhcm12OC1h Jw0KPiAgZW5kaWFuID0gJ2xpdHRsZScNCj4gDQo+ICBbcHJvcGVydGllc10NCj4gLWltcGxlbWVu dG9yX2lkID0gJzB4NDEnDQo+IC1pbXBsZW1lbnRvcl9wbiA9ICcweGQwOCcNCj4gK2ltcGxlbWVu dGVyX2lkID0gJzB4NDEnDQo+ICtwYXJ0X251bWJlciA9ICcweGQwOCcNCj4gZGlmZiAtLWdpdCBh L2NvbmZpZy9hcm0vYXJtNjRfdGh1bmRlcngyX2xpbnV4X2djYw0KPiBiL2NvbmZpZy9hcm0vYXJt NjRfdGh1bmRlcngyX2xpbnV4X2djYw0KPiBpbmRleCAyYjQxYWNjNjEuLmRkMjU3NzQ1ZSAxMDA2 NDQNCj4gLS0tIGEvY29uZmlnL2FybS9hcm02NF90aHVuZGVyeDJfbGludXhfZ2NjDQo+ICsrKyBi L2NvbmZpZy9hcm0vYXJtNjRfdGh1bmRlcngyX2xpbnV4X2djYw0KPiBAQCAtMTMsNSArMTMsNSBA QCBjcHUgPSAnYXJtdjgtYScNCj4gIGVuZGlhbiA9ICdsaXR0bGUnDQo+IA0KPiAgW3Byb3BlcnRp ZXNdDQo+IC1pbXBsZW1lbnRvcl9pZCA9ICcweDQzJw0KPiAtaW1wbGVtZW50b3JfcG4gPSAnMHhh ZicNCj4gK2ltcGxlbWVudGVyX2lkID0gJzB4NDMnDQo+ICtwYXJ0X251bWJlciA9ICcweGFmJw0K PiBkaWZmIC0tZ2l0IGEvY29uZmlnL2FybS9hcm02NF90aHVuZGVyeF9saW51eF9nY2MNCj4gYi9j b25maWcvYXJtL2FybTY0X3RodW5kZXJ4X2xpbnV4X2djYw0KPiBpbmRleCA2NTcyYWI2MTUuLjY3 MDc2NDQzNyAxMDA2NDQNCj4gLS0tIGEvY29uZmlnL2FybS9hcm02NF90aHVuZGVyeF9saW51eF9n Y2MNCj4gKysrIGIvY29uZmlnL2FybS9hcm02NF90aHVuZGVyeF9saW51eF9nY2MNCj4gQEAgLTEz LDQgKzEzLDQgQEAgY3B1ID0gJ2FybXY4LWEnDQo+ICBlbmRpYW4gPSAnbGl0dGxlJw0KPiANCj4g IFtwcm9wZXJ0aWVzXQ0KPiAtaW1wbGVtZW50b3JfaWQgPSAnMHg0MycNCj4gK2ltcGxlbWVudGVy X2lkID0gJzB4NDMnDQo+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL21lc29uLmJ1aWxkIGIvY29u ZmlnL2FybS9tZXNvbi5idWlsZCBpbmRleA0KPiA0OTE4NDJjYWQuLjZjMzFhYjE2NyAxMDA2NDQN Cj4gLS0tIGEvY29uZmlnL2FybS9tZXNvbi5idWlsZA0KPiArKysgYi9jb25maWcvYXJtL21lc29u LmJ1aWxkDQo+IEBAIC0zLDEyICszLDEyIEBADQo+ICAjIENvcHlyaWdodChjKSAyMDE3IENhdml1 bSwgSW5jDQo+ICAjIENvcHlyaWdodChjKSAyMDIwIFBBTlRIRU9OLnRlY2ggcy5yLm8uDQo+IA0K PiAtIyBmb3IgY2hlY2tpbmcgZGVmaW5lcyB3ZSBuZWVkIHRvIHVzZSB0aGUgY29ycmVjdCBjb21w aWxlciBmbGFncyAtbWFyY2hfb3B0DQo+ID0gJy1tYXJjaD1AMEAnLmZvcm1hdChtYWNoaW5lKQ0K PiAtDQo+ICsjIHNldCBhcm1fZm9yY2VfbmF0aXZlX21hcmNoIGlmIHlvdSB3YW50IHRvIHVzZSBt YWNoaW5lIGFyZ3MgYmVsb3cgIw0KPiAraW5zdGVhZCBvZiBkaXNjb3ZlcmVkIHZhbHVlczsgb25s eSB3b3JrcyB3aGVuIGRvaW5nIGFuIGFjdHVhbCBuYXRpdmUNCj4gK2J1aWxkDQo+ICBhcm1fZm9y Y2VfbmF0aXZlX21hcmNoID0gZmFsc2UNCj4gLWFybV9mb3JjZV9nZW5lcmljX21hcmNoID0gKG1h Y2hpbmUgPT0gJ2dlbmVyaWMnKQ0KPiArbmF0aXZlX21hY2hpbmVfYXJncyA9IFsnLW1hcmNoPW5h dGl2ZScsICctbXR1bmU9bmF0aXZlJ10NCj4gDQo+ICsjIGNvbW1vbiBmbGFncyB0byBhbGwgYWFy Y2g2NCBidWlsZHMsIHdpdGggbG93ZXN0IHByaW9yaXR5DQo+ICBmbGFnc19jb21tb25fZGVmYXVs dCA9IFsNCj4gIAkjIEFjY2VsYXJhdGUgcnRlX21lbWNweS4gQmUgc3VyZSB0byBydW4gdW5pdCB0 ZXN0DQo+IChtZW1jcHlfcGVyZl9hdXRvdGVzdCkNCj4gIAkjIHRvIGRldGVybWluZSB0aGUgYmVz dCB0aHJlc2hvbGQgaW4gY29kZS4gUmVmZXIgdG8gbm90ZXMgaW4gc291cmNlDQo+IGZpbGUgQEAg LTE2LDggKzE2LDkgQEAgZmxhZ3NfY29tbW9uX2RlZmF1bHQgPSBbDQo+ICAJWydSVEVfQVJDSF9B Uk02NF9NRU1DUFknLCBmYWxzZV0sDQo+ICAJIwlbJ1JURV9BUk02NF9NRU1DUFlfQUxJR05FRF9U SFJFU0hPTEQnLCAyMDQ4XSwNCj4gIAkjCVsnUlRFX0FSTTY0X01FTUNQWV9VTkFMSUdORURfVEhS RVNIT0xEJywgNTEyXSwNCj4gLQkjIExlYXZlIGJlbG93IFJURV9BUk02NF9NRU1DUFlfeHh4IG9w dGlvbnMgY29tbWVudGVkIG91dCwNCj4gdW5sZXNzIHRoZXJlJ3JlDQo+IC0JIyBzdHJvbmcgcmVh c29ucy4NCj4gKw0KPiArCSMgTGVhdmUgYmVsb3cgUlRFX0FSTTY0X01FTUNQWV94eHggb3B0aW9u cyBjb21tZW50ZWQgb3V0LA0KPiArCSMgdW5sZXNzIHRoZXJlIGFyZSBzdHJvbmcgcmVhc29ucy4N Cj4gIAkjCVsnUlRFX0FSTTY0X01FTUNQWV9TS0lQX0dDQ19WRVJfQ0hFQ0snLCBmYWxzZV0sDQo+ ICAJIwlbJ1JURV9BUk02NF9NRU1DUFlfQUxJR05fTUFTSycsIDB4Rl0sDQo+ICAJIwlbJ1JURV9B Uk02NF9NRU1DUFlfU1RSSUNUX0FMSUdOJywgZmFsc2VdLA0KPiBAQCAtMjgsMTg0ICsyOSwyMDYg QEAgZmxhZ3NfY29tbW9uX2RlZmF1bHQgPSBbDQo+IA0KPiAgCVsnUlRFX1NDSEVEX1ZFQ1RPUics IGZhbHNlXSwNCj4gIAlbJ1JURV9BUk1fVVNFX1dGRScsIGZhbHNlXSwNCj4gKwlbJ1JURV9DQUNI RV9MSU5FX1NJWkUnLCAxMjhdLA0KPiArCVsnUlRFX0FSQ0hfQVJNNjQnLCB0cnVlXQ0KPiAgXQ0K PiANCj4gKyMgaW1wbGVtZW50ZXIgc3BlY2lmaWMgYWFyY2g2NCBmbGFncywgd2l0aCBtaWRkbGUg cHJpb3JpdHkgIyAod2lsbA0KPiArb3ZlcndyaXRlIGNvbW1vbiBmbGFncykNCj4gIGZsYWdzX2dl bmVyaWMgPSBbDQo+ICAJWydSVEVfTUFDSElORScsICciYXJtdjhhIiddLA0KPiAgCVsnUlRFX01B WF9MQ09SRScsIDI1Nl0sDQo+ICAJWydSVEVfVVNFX0MxMV9NRU1fTU9ERUwnLCB0cnVlXSwNCj4g LQlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCAxMjhdXQ0KPiArCVsnUlRFX0NBQ0hFX0xJTkVfU0la RScsIDEyOF0NCj4gK10NCkFueSBwYXJ0aWN1bGFyIHJlYXNvbiBmb3IgdGhpcyBjaGFuZ2U/IChh bmQgc2ltaWxhciBjaGFuZ2VzIGJlbG93KQ0KDQo+ICBmbGFnc19hcm0gPSBbDQo+ICAJWydSVEVf TUFDSElORScsICciYXJtdjhhIiddLA0KPiAgCVsnUlRFX01BWF9MQ09SRScsIDE2XSwNCj4gIAlb J1JURV9VU0VfQzExX01FTV9NT0RFTCcsIHRydWVdLA0KPiAtCVsnUlRFX0NBQ0hFX0xJTkVfU0la RScsIDY0XV0NCj4gKwlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCA2NF0NCj4gK10NCj4gIGZsYWdz X2Nhdml1bSA9IFsNCj4gIAlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCAxMjhdLA0KPiAgCVsnUlRF X01BWF9OVU1BX05PREVTJywgMl0sDQo+ICAJWydSVEVfTUFYX0xDT1JFJywgOTZdLA0KPiAtCVsn UlRFX01BWF9WRklPX0dST1VQUycsIDEyOF1dDQo+ICsJWydSVEVfTUFYX1ZGSU9fR1JPVVBTJywg MTI4XQ0KPiArXQ0KPiAgZmxhZ3NfZHBhYSA9IFsNCj4gIAlbJ1JURV9NQUNISU5FJywgJyJkcGFh IiddLA0KPiAgCVsnUlRFX1VTRV9DMTFfTUVNX01PREVMJywgdHJ1ZV0sDQo+ICAJWydSVEVfQ0FD SEVfTElORV9TSVpFJywgNjRdLA0KPiAgCVsnUlRFX01BWF9OVU1BX05PREVTJywgMV0sDQo+ICAJ WydSVEVfTUFYX0xDT1JFJywgMTZdLA0KPiAtCVsnUlRFX0xJQlJURV9EUEFBMl9VU0VfUEhZU19J T1ZBJywgZmFsc2VdXQ0KPiArCVsnUlRFX0xJQlJURV9EUEFBMl9VU0VfUEhZU19JT1ZBJywgZmFs c2VdIF0NClRoaXMgaXMgbm90IG5lZWRlZA0KDQo+ICBmbGFnc19lbWFnID0gWw0KPiAgCVsnUlRF X01BQ0hJTkUnLCAnImVtYWciJ10sDQo+IC0JWydSVEVfQ0FDSEVfTElORV9TSVpFJywgNjRdLA0K PiAgCVsnUlRFX01BWF9OVU1BX05PREVTJywgMV0sDQo+IC0JWydSVEVfTUFYX0xDT1JFJywgMzJd XQ0KPiArCVsnUlRFX01BWF9MQ09SRScsIDMyXSwNCj4gKwlbJ1JURV9DQUNIRV9MSU5FX1NJWkUn LCA2NF0NCj4gK10NCj4gIGZsYWdzX2FybWFkYSA9IFsNCj4gIAlbJ1JURV9NQUNISU5FJywgJyJh cm12OGEiJ10sDQo+IC0JWydSVEVfQ0FDSEVfTElORV9TSVpFJywgNjRdLA0KPiAgCVsnUlRFX01B WF9OVU1BX05PREVTJywgMV0sDQo+IC0JWydSVEVfTUFYX0xDT1JFJywgMTZdXQ0KPiArCVsnUlRF X01BWF9MQ09SRScsIDE2XSwNCj4gKwlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCA2NF0NCj4gK10N CkFueSByZWFzb24gZm9yIHRoaXMgY2hhbmdlPw0KDQo+IA0KPiAtZmxhZ3NfZGVmYXVsdF9leHRy YSA9IFtdDQo+ICsjIHBhcnQgbnVtYmVyIHNwZWNpZmljIGFhcmNoNjQgZmxhZ3MsIHdpdGggaGln aGVzdCBwcmlvcml0eSAjICh3aWxsDQo+ICtvdmVyd3JpdGUgYm90aCBjb21tb24gYW5kIGltcGxl bWVudGVyIHNwZWNpZmljIGZsYWdzKQ0KPiAgZmxhZ3NfbjFzZHBfZXh0cmEgPSBbDQo+ICAJWydS VEVfTUFDSElORScsICcibjFzZHAiJ10sDQo+ICAJWydSVEVfTUFYX05VTUFfTk9ERVMnLCAxXSwN Cj4gIAlbJ1JURV9NQVhfTENPUkUnLCA0XSwNCj4gIAlbJ1JURV9FQUxfTlVNQV9BV0FSRV9IVUdF UEFHRVMnLCBmYWxzZV0sDQo+IC0JWydSVEVfTElCUlRFX1ZIT1NUX05VTUEnLCBmYWxzZV1dDQo+ ICsJWydSVEVfTElCUlRFX1ZIT1NUX05VTUEnLCBmYWxzZV0NCj4gK10NCj4gIGZsYWdzX3RodW5k ZXJ4X2V4dHJhID0gWw0KPiAgCVsnUlRFX01BQ0hJTkUnLCAnInRodW5kZXJ4IiddLA0KPiAtCVsn UlRFX1VTRV9DMTFfTUVNX01PREVMJywgZmFsc2VdXQ0KPiArCVsnUlRFX1VTRV9DMTFfTUVNX01P REVMJywgZmFsc2VdDQo+ICtdDQo+ICBmbGFnc190aHVuZGVyeDJfZXh0cmEgPSBbDQo+ICAJWydS VEVfTUFDSElORScsICcidGh1bmRlcngyIiddLA0KPiAgCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScs IDY0XSwNCj4gIAlbJ1JURV9NQVhfTlVNQV9OT0RFUycsIDJdLA0KPiAgCVsnUlRFX01BWF9MQ09S RScsIDI1Nl0sDQo+ICAJWydSVEVfQVJNX0ZFQVRVUkVfQVRPTUlDUycsIHRydWVdLA0KPiAtCVsn UlRFX1VTRV9DMTFfTUVNX01PREVMJywgdHJ1ZV1dDQo+ICsJWydSVEVfVVNFX0MxMV9NRU1fTU9E RUwnLCB0cnVlXQ0KPiArXQ0KPiAgZmxhZ3Nfb2N0ZW9udHgyX2V4dHJhID0gWw0KPiAgCVsnUlRF X01BQ0hJTkUnLCAnIm9jdGVvbnR4MiInXSwNCj4gIAlbJ1JURV9NQVhfTlVNQV9OT0RFUycsIDFd LA0KPiAgCVsnUlRFX01BWF9MQ09SRScsIDM2XSwNCj4gIAlbJ1JURV9BUk1fRkVBVFVSRV9BVE9N SUNTJywgdHJ1ZV0sDQo+ICAJWydSVEVfRUFMX0lHQl9VSU8nLCBmYWxzZV0sDQo+IC0JWydSVEVf VVNFX0MxMV9NRU1fTU9ERUwnLCB0cnVlXV0NCj4gLQ0KPiAtbWFjaGluZV9hcmdzX2RlZmF1bHQg PSBbDQo+IC0JWydkZWZhdWx0JywgWyctbWFyY2g9YXJtdjgtYStjcmMnLCAnLW1vdXRsaW5lLWF0 b21pY3MnXV0sDQo+IC0JWyduYXRpdmUnLCBbJy1tYXJjaD1uYXRpdmUnXV0sDQo+IC0JWycweGQw MycsIFsnLW1jcHU9Y29ydGV4LWE1MyddXSwNCj4gLQlbJzB4ZDA0JywgWyctbWNwdT1jb3J0ZXgt YTM1J11dLA0KPiAtCVsnMHhkMDcnLCBbJy1tY3B1PWNvcnRleC1hNTcnXV0sDQo+IC0JWycweGQw OCcsIFsnLW1jcHU9Y29ydGV4LWE3MiddXSwNCj4gLQlbJzB4ZDA5JywgWyctbWNwdT1jb3J0ZXgt YTczJ11dLA0KPiAtCVsnMHhkMGEnLCBbJy1tY3B1PWNvcnRleC1hNzUnXV0sDQo+IC0JWycweGQw YicsIFsnLW1jcHU9Y29ydGV4LWE3NiddXSwNCj4gLQlbJzB4ZDBjJywgWyctbWFyY2g9YXJtdjgu Mi1hK2NyYytjcnlwdG8nLCAnLW1jcHU9bmVvdmVyc2UtbjEnXSwNCj4gZmxhZ3NfbjFzZHBfZXh0 cmFdXQ0KPiAtDQo+IC1tYWNoaW5lX2FyZ3NfY2F2aXVtID0gWw0KPiAtCVsnZGVmYXVsdCcsIFsn LW1hcmNoPWFybXY4LWErY3JjK2NyeXB0bycsJy1tY3B1PXRodW5kZXJ4J11dLA0KPiAtCVsnbmF0 aXZlJywgWyctbWFyY2g9bmF0aXZlJ11dLA0KPiAtCVsnMHhhMScsIFsnLW1jcHU9dGh1bmRlcnh0 ODgnXSwgZmxhZ3NfdGh1bmRlcnhfZXh0cmFdLA0KPiAtCVsnMHhhMicsIFsnLW1jcHU9dGh1bmRl cnh0ODEnXSwgZmxhZ3NfdGh1bmRlcnhfZXh0cmFdLA0KPiAtCVsnMHhhMycsIFsnLW1jcHU9dGh1 bmRlcnh0ODMnXSwgZmxhZ3NfdGh1bmRlcnhfZXh0cmFdLA0KPiAtCVsnMHhhZicsIFsnLW1hcmNo PWFybXY4LjEtYStjcmMrY3J5cHRvJywnLW1jcHU9dGh1bmRlcngydDk5J10sDQo+IGZsYWdzX3Ro dW5kZXJ4Ml9leHRyYV0sDQo+IC0JWycweGIyJywgWyctbWFyY2g9YXJtdjguMi1hK2NyYytjcnlw dG8rbHNlJywnLW1jcHU9b2N0ZW9udHgyJ10sDQo+IGZsYWdzX29jdGVvbnR4Ml9leHRyYV1dDQo+ IC0NCj4gLW1hY2hpbmVfYXJnc19lbWFnID0gWw0KPiAtCVsnZGVmYXVsdCcsIFsnLW1hcmNoPWFy bXY4LWErY3JjK2NyeXB0bycsICctbXR1bmU9ZW1hZyddXSwNCj4gLQlbJ25hdGl2ZScsIFsnLW1h cmNoPW5hdGl2ZSddXV0NCj4gKwlbJ1JURV9VU0VfQzExX01FTV9NT0RFTCcsIHRydWVdDQo+ICtd DQo+ICsjIGFybSBjb25maWcgKGltcGxlbWVudGVyIDB4NDEpIGlzIHRoZSBkZWZhdWx0IGNvbmZp ZyBwbl9jb25maWdfZGVmYXVsdA0KJ3BuJyBoZXJlIGZvciAncGFydF9udW1iZXInIGlzIG5vdCBj b25zaXN0ZW50Lg0KDQo+ICs9IHsNCj4gKwknZ2VuZXJpYyc6IFtbJy1tYXJjaD1hcm12OC1hK2Ny YycsICctbW91dGxpbmUtYXRvbWljcyddXSwNCj4gKwknMHhkMDMnOiBbWyctbWNwdT1jb3J0ZXgt YTUzJ11dLA0KPiArCScweGQwNCc6IFtbJy1tY3B1PWNvcnRleC1hMzUnXV0sDQo+ICsJJzB4ZDA3 JzogW1snLW1jcHU9Y29ydGV4LWE1NyddXSwNCj4gKwknMHhkMDgnOiBbWyctbWNwdT1jb3J0ZXgt YTcyJ11dLA0KPiArCScweGQwOSc6IFtbJy1tY3B1PWNvcnRleC1hNzMnXV0sDQo+ICsJJzB4ZDBh JzogW1snLW1jcHU9Y29ydGV4LWE3NSddXSwNCj4gKwknMHhkMGInOiBbWyctbWNwdT1jb3J0ZXgt YTc2J11dLA0KPiArCScweGQwYyc6IFtbJy1tYXJjaD1hcm12OC4yLWErY3JjK2NyeXB0bycsICct bWNwdT1uZW92ZXJzZS1uMSddLA0KPiArZmxhZ3NfbjFzZHBfZXh0cmFdIH0gcG5fY29uZmlnX2Nh dml1bSA9IHsNCj4gKwknZ2VuZXJpYyc6IFtbJy1tYXJjaD1hcm12OC1hK2NyYytjcnlwdG8nLCAn LW1jcHU9dGh1bmRlcngnXV0sDQo+ICsJJzB4YTEnOiBbWyctbWNwdT10aHVuZGVyeHQ4OCddLCBm bGFnc190aHVuZGVyeF9leHRyYV0sDQo+ICsJJzB4YTInOiBbWyctbWNwdT10aHVuZGVyeHQ4MSdd LCBmbGFnc190aHVuZGVyeF9leHRyYV0sDQo+ICsJJzB4YTMnOiBbWyctbWNwdT10aHVuZGVyeHQ4 MyddLCBmbGFnc190aHVuZGVyeF9leHRyYV0sDQo+ICsJJzB4YWYnOiBbWyctbWFyY2g9YXJtdjgu MS1hK2NyYytjcnlwdG8nLCctbWNwdT10aHVuZGVyeDJ0OTknXSwNCj4gZmxhZ3NfdGh1bmRlcngy X2V4dHJhXSwNCj4gKwknMHhiMic6IFtbJy1tYXJjaD1hcm12OC4yLWErY3JjK2NyeXB0bytsc2Un LCctbWNwdT1vY3Rlb250eDInXSwNCj4gK2ZsYWdzX29jdGVvbnR4Ml9leHRyYV0sIH0gcG5fY29u ZmlnX2VtYWcgPSB7DQo+ICsJJ2dlbmVyaWMnOiBbWyctbWFyY2g9YXJtdjgtYStjcmMrY3J5cHRv JywgJy1tdHVuZT1lbWFnJ11dIH0NCj4gDQo+ICAjIyBBcm0gaW1wbGVtZW50ZXIgSUQgKEFSTSBE REkgMDQ4N0MuYSwgU2VjdGlvbiBHNy4yLjEwNiwgUGFnZSBHNy01MzIxKQ0KPiAtaW1wbF9nZW5l cmljID0gWydHZW5lcmljIGFybXY4JywgZmxhZ3NfZ2VuZXJpYywgbWFjaGluZV9hcmdzX2RlZmF1 bHRdDQo+IC1pbXBsXzB4NDEgPSBbJ0FybScsIGZsYWdzX2FybSwgbWFjaGluZV9hcmdzX2RlZmF1 bHRdDQo+IC1pbXBsXzB4NDIgPSBbJ0Jyb2FkY29tJywgZmxhZ3NfZ2VuZXJpYywgbWFjaGluZV9h cmdzX2RlZmF1bHRdDQo+IC1pbXBsXzB4NDMgPSBbJ0Nhdml1bScsIGZsYWdzX2Nhdml1bSwgbWFj aGluZV9hcmdzX2Nhdml1bV0NCj4gLWltcGxfMHg0NCA9IFsnREVDJywgZmxhZ3NfZ2VuZXJpYywg bWFjaGluZV9hcmdzX2RlZmF1bHRdDQo+IC1pbXBsXzB4NDkgPSBbJ0luZmluZW9uJywgZmxhZ3Nf Z2VuZXJpYywgbWFjaGluZV9hcmdzX2RlZmF1bHRdIC1pbXBsXzB4NGQgPQ0KPiBbJ01vdG9yb2xh JywgZmxhZ3NfZ2VuZXJpYywgbWFjaGluZV9hcmdzX2RlZmF1bHRdIC1pbXBsXzB4NGUgPSBbJ05W SURJQScsDQo+IGZsYWdzX2dlbmVyaWMsIG1hY2hpbmVfYXJnc19kZWZhdWx0XQ0KPiAtaW1wbF8w eDUwID0gWydBbXBlcmUgQ29tcHV0aW5nJywgZmxhZ3NfZW1hZywgbWFjaGluZV9hcmdzX2VtYWdd DQo+IC1pbXBsXzB4NTEgPSBbJ1F1YWxjb21tJywgZmxhZ3NfZ2VuZXJpYywgbWFjaGluZV9hcmdz X2RlZmF1bHRdDQo+IC1pbXBsXzB4NTMgPSBbJ1NhbXN1bmcnLCBmbGFnc19nZW5lcmljLCBtYWNo aW5lX2FyZ3NfZGVmYXVsdF0NCj4gLWltcGxfMHg1NiA9IFsnTWFydmVsbCBBUk1BREEnLCBmbGFn c19hcm1hZGEsIG1hY2hpbmVfYXJnc19kZWZhdWx0XQ0KPiAtaW1wbF8weDY5ID0gWydJbnRlbCcs IGZsYWdzX2dlbmVyaWMsIG1hY2hpbmVfYXJnc19kZWZhdWx0XSAtaW1wbF9kcGFhID0NCj4gWydO WFAgRFBBQScsIGZsYWdzX2RwYWEsIG1hY2hpbmVfYXJnc19kZWZhdWx0XQ0KPiAraW1wbF9nZW5l cmljID0gWydHZW5lcmljIGFybXY4JywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2RlZmF1bHRd DQo+ICtpbXBsXzB4NDEgPSBbJ0FybScsIGZsYWdzX2FybSwgcG5fY29uZmlnX2RlZmF1bHRdDQo+ ICtpbXBsXzB4NDIgPSBbJ0Jyb2FkY29tJywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2RlZmF1 bHRdDQo+ICtpbXBsXzB4NDMgPSBbJ0Nhdml1bScsIGZsYWdzX2Nhdml1bSwgcG5fY29uZmlnX2Nh dml1bV0NCj4gK2ltcGxfMHg0NCA9IFsnREVDJywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2Rl ZmF1bHRdDQo+ICtpbXBsXzB4NDkgPSBbJ0luZmluZW9uJywgZmxhZ3NfZ2VuZXJpYywgcG5fY29u ZmlnX2RlZmF1bHRdIGltcGxfMHg0ZCA9DQo+ICtbJ01vdG9yb2xhJywgZmxhZ3NfZ2VuZXJpYywg cG5fY29uZmlnX2RlZmF1bHRdIGltcGxfMHg0ZSA9IFsnTlZJRElBJywNCj4gK2ZsYWdzX2dlbmVy aWMsIHBuX2NvbmZpZ19kZWZhdWx0XQ0KPiAraW1wbF8weDUwID0gWydBbXBlcmUgQ29tcHV0aW5n JywgZmxhZ3NfZW1hZywgcG5fY29uZmlnX2VtYWddDQo+ICtpbXBsXzB4NTEgPSBbJ1F1YWxjb21t JywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2RlZmF1bHRdDQo+ICtpbXBsXzB4NTMgPSBbJ1Nh bXN1bmcnLCBmbGFnc19nZW5lcmljLCBwbl9jb25maWdfZGVmYXVsdF0NCj4gK2ltcGxfMHg1NiA9 IFsnTWFydmVsbCBBUk1BREEnLCBmbGFnc19hcm1hZGEsIHBuX2NvbmZpZ19kZWZhdWx0XQ0KPiAr aW1wbF8weDY5ID0gWydJbnRlbCcsIGZsYWdzX2dlbmVyaWMsIHBuX2NvbmZpZ19kZWZhdWx0XSBp bXBsX2RwYWEgPQ0KPiArWydOWFAgRFBBQScsIGZsYWdzX2RwYWEsIHBuX2NvbmZpZ19kZWZhdWx0 XQ0KPiANCj4gIGRwZGtfY29uZi5zZXQoJ1JURV9BUkNIX0FSTScsIDEpDQo+ICBkcGRrX2NvbmYu c2V0KCdSVEVfRk9SQ0VfSU5UUklOU0lDUycsIDEpDQo+IA0KPiAgaWYgZHBka19jb25mLmdldCgn UlRFX0FSQ0hfMzInKQ0KPiArCSMgYXJtdjcgYnVpbGQNCj4gIAlkcGRrX2NvbmYuc2V0KCdSVEVf Q0FDSEVfTElORV9TSVpFJywgNjQpDQo+ICAJZHBka19jb25mLnNldCgnUlRFX0FSQ0hfQVJNdjcn LCAxKQ0KPiAgCSMgdGhlIG1pbmltdW0gYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZCwgYXJtdjctYSwg bmVlZHMgdGhlDQo+IGZvbGxvd2luZywNCj4gIAkjIG1rL21hY2hpbmUvYXJtdjdhL3J0ZS52YXJz Lm1rIHNldHMgaXQgdG9vDQo+ICAJbWFjaGluZV9hcmdzICs9ICctbWZwdT1uZW9uJw0KPiAgZWxz ZQ0KPiAtCWRwZGtfY29uZi5zZXQoJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCAxMjgpDQo+IC0JZHBk a19jb25mLnNldCgnUlRFX0FSQ0hfQVJNNjQnLCAxKQ0KPiArCSMgYWFyY2g2NCBidWlsZA0KPiAr CWlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpDQo+ICsJCWlmIG1hY2hpbmUgPT0gJ2dlbmVy aWMnDQo+ICsJCQkjIGRlZmF1bHQgYnVpbGQNCj4gKwkJCWltcGxfY29uZmlnID0gaW1wbF9nZW5l cmljDQo+ICsJCQlwYXJ0X251bWJlciA9ICdnZW5lcmljJw0KPiArCQllbHNlDQo+ICsJCQkjIG5h dGl2ZSBidWlsZA0KPiArCQkJIyBUaGUgc2NyaXB0IHJldHVybnMgWydJbXBsZW1lbnRlcicsICdW YXJpYW50JywNCj4gJ0FyY2hpdGVjdHVyZScsDQo+ICsJCQkjICdQcmltYXJ5IFBhcnQgbnVtYmVy JywgJ1JldmlzaW9uJ10NCj4gKwkJCWRldGVjdF92ZW5kb3IgPSBmaW5kX3Byb2dyYW0oam9pbl9w YXRocygNCj4gKwkJCQkJbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksDQo+ICdhcm12OF9tYWNo aW5lLnB5JykpDQo+ICsJCQljbWQgPSBydW5fY29tbWFuZChkZXRlY3RfdmVuZG9yLnBhdGgoKSkN Cj4gKwkJCWlmIGNtZC5yZXR1cm5jb2RlKCkgPT0gMA0KPiArCQkJCWNtZF9vdXRwdXQgPQ0KPiBj bWQuc3Rkb3V0KCkudG9fbG93ZXIoKS5zdHJpcCgpLnNwbGl0KCcgJykNCj4gKwkJCWVuZGlmDQo+ ICsJCQlpZiBhcm1fZm9yY2VfbmF0aXZlX21hcmNoID09IHRydWUNCj4gKwkJCQlwYXJ0X251bWJl ciA9ICduYXRpdmUnDQo+ICsJCQllbHNlDQo+ICsJCQkJcGFydF9udW1iZXIgPSBjbWRfb3V0cHV0 WzNdDQo+ICsJCQllbmRpZg0KPiArCQkJIyBTZXQgdG8gZ2VuZXJpYyBpbXBsZW1lbnRlciBpZiBp bXBsZW1lbnRlciBpcyBub3QNCj4gZm91bmQNCj4gKwkJCWltcGxfY29uZmlnID0gZ2V0X3Zhcmlh YmxlKCdpbXBsXycgKyBjbWRfb3V0cHV0WzBdLA0KPiAnaW1wbF9nZW5lcmljJykNCj4gKwkJZW5k aWYNCj4gKwllbHNlDQo+ICsJCSMgY3Jvc3MgYnVpbGQNCj4gKwkJaW1wbF9pZCA9IG1lc29uLmdl dF9jcm9zc19wcm9wZXJ0eSgnaW1wbGVtZW50ZXJfaWQnLA0KPiAnZ2VuZXJpYycpDQo+ICsJCXBh cnRfbnVtYmVyID0gbWVzb24uZ2V0X2Nyb3NzX3Byb3BlcnR5KCdwYXJ0X251bWJlcicsDQo+ICdn ZW5lcmljJykNCj4gKwkJaW1wbF9jb25maWcgPSBnZXRfdmFyaWFibGUoJ2ltcGxfJyArIGltcGxf aWQpDQo+ICsJZW5kaWYNCj4gDQo+IC0JbWFjaGluZSA9IFtdDQo+IC0JY21kX2dlbmVyaWMgPSBb J2dlbmVyaWMnLCAnJywgJycsICdkZWZhdWx0JywgJyddDQo+IC0JY21kX291dHB1dCA9IGNtZF9n ZW5lcmljICMgU2V0IGdlbmVyaWMgYnkgZGVmYXVsdA0KPiAtCW1hY2hpbmVfYXJncyA9IFtdICMg Q2xlYXIgcHJldmlvdXMgbWFjaGluZSBhcmdzDQo+IC0JaWYgYXJtX2ZvcmNlX2dlbmVyaWNfbWFy Y2ggYW5kIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpDQo+IC0JCW1hY2hpbmUgPSBpbXBsX2dl bmVyaWMNCj4gLQkJaW1wbF9wbiA9ICdkZWZhdWx0Jw0KPiArCW1lc3NhZ2UoJ0FybSBpbXBsZW1l bnRlcjogJyArIGltcGxfY29uZmlnWzBdKQ0KPiArCW1lc3NhZ2UoJ0FybSBwYXJ0IG51bWJlcjog JyArIHBhcnRfbnVtYmVyKQ0KPiArDQo+ICsJaW1wbGVtZW50ZXJfZmxhZ3MgPSBpbXBsX2NvbmZp Z1sxXQ0KPiArCXBhcnRfbnVtYmVyX2NvbmZpZyA9IGltcGxfY29uZmlnWzJdDQo+ICsNCj4gKwlp ZiBwYXJ0X251bWJlcl9jb25maWcuaGFzX2tleShwYXJ0X251bWJlcikNCj4gKwkJIyB1c2UgdGhl IHNwZWNpZmllZCBwYXJ0X251bWJlciBtYWNoaW5lIGFyZ3MgaWYgZm91bmQNCj4gKwkJcGFydF9u dW1iZXJfY29uZmlnID0gcGFydF9udW1iZXJfY29uZmlnW3BhcnRfbnVtYmVyXQ0KPiArCWVsaWYg cGFydF9udW1iZXIgPT0gJ25hdGl2ZScNCj4gKwkJIyB1c2UgbmF0aXZlIG1hY2hpbmUgYXJncw0K PiArCQlwYXJ0X251bWJlcl9jb25maWcgPSBbW25hdGl2ZV9tYWNoaW5lX2FyZ3NdXQ0KPiAgCWVs aWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkNCj4gLQkJIyBUaGUgc2NyaXB0IHJldHVybnMg WydJbXBsZW1lbnRlcicsICdWYXJpYW50JywgJ0FyY2hpdGVjdHVyZScsDQo+IC0JCSMgJ1ByaW1h cnkgUGFydCBudW1iZXInLCAnUmV2aXNpb24nXQ0KPiAtCQlkZXRlY3RfdmVuZG9yID0gZmluZF9w cm9ncmFtKGpvaW5fcGF0aHMoDQo+IC0JCQkJbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksDQo+ ICdhcm12OF9tYWNoaW5lLnB5JykpDQo+IC0JCWNtZCA9IHJ1bl9jb21tYW5kKGRldGVjdF92ZW5k b3IucGF0aCgpKQ0KPiAtCQlpZiBjbWQucmV0dXJuY29kZSgpID09IDANCj4gLQkJCWNtZF9vdXRw dXQgPSBjbWQuc3Rkb3V0KCkudG9fbG93ZXIoKS5zdHJpcCgpLnNwbGl0KCcNCj4gJykNCj4gLQkJ ZW5kaWYNCj4gLQkJIyBTZXQgdG8gZ2VuZXJpYyBpZiB2YXJpYWJsZSBpcyBub3QgZm91bmQNCj4g LQkJbWFjaGluZSA9IGdldF92YXJpYWJsZSgnaW1wbF8nICsgY21kX291dHB1dFswXSwgWydnZW5l cmljJ10pDQo+IC0JCWlmIG1hY2hpbmVbMF0gPT0gJ2dlbmVyaWMnDQo+IC0JCQltYWNoaW5lID0g aW1wbF9nZW5lcmljDQo+IC0JCQljbWRfb3V0cHV0ID0gY21kX2dlbmVyaWMNCj4gLQkJZW5kaWYN Cj4gLQkJaW1wbF9wbiA9IGNtZF9vdXRwdXRbM10NCj4gLQkJaWYgYXJtX2ZvcmNlX25hdGl2ZV9t YXJjaCA9PSB0cnVlDQo+IC0JCQlpbXBsX3BuID0gJ25hdGl2ZScNCj4gLQkJZW5kaWYNCj4gKwkJ IyBkZWZhdWx0IHRvIGdlbmVyaWMgbWFjaGluZSBhcmdzIGlmIHBhcnRfbnVtYmVyIGlzIG5vdCBm b3VuZA0KPiArCQkjIGFuZCBub3QgZm9yY2luZyBuYXRpdmUgbWFjaGluZSBhcmdzDQo+ICsJCSMg YnV0IGRvbid0IGRlZmF1bHQgaW4gY3Jvc3MtYnVpbGRzOyBpZiBwYXJ0X251bWJlciBpcyBzcGVj aWZpZWQNCj4gKwkJIyBpbmNvcnJlY3RseSBpbiBhIGNyb3NzLWZpbGUsIGl0IG5lZWRzIHRvIGJl IGZpeGVkIHRoZXJlDQo+ICsJCXBhcnRfbnVtYmVyX2NvbmZpZyA9IHBhcnRfbnVtYmVyX2NvbmZp Z1snZ2VuZXJpYyddDQo+ICAJZWxzZQ0KPiAtCQlpbXBsX2lkID0gbWVzb24uZ2V0X2Nyb3NzX3By b3BlcnR5KCdpbXBsZW1lbnRvcl9pZCcsDQo+ICdnZW5lcmljJykNCj4gLQkJaW1wbF9wbiA9IG1l c29uLmdldF9jcm9zc19wcm9wZXJ0eSgnaW1wbGVtZW50b3JfcG4nLA0KPiAnZGVmYXVsdCcpDQo+ IC0JCW1hY2hpbmUgPSBnZXRfdmFyaWFibGUoJ2ltcGxfJyArIGltcGxfaWQpDQo+ICsJCSMgY3Jv c3MgYnVpbGQgYW5kIHBhcnQgbnVtYmVyIGlzIG5vdCBpbiBwYXJ0X251bWJlcl9jb25maWcNCj4g KwkJZXJyb3IoJ0Nyb3NzIGJ1aWxkIHBhcnQgbnVtYmVyIDBAMCBub3QNCj4gZm91bmQuJy5mb3Jt YXQocGFydF9udW1iZXIpKQ0KPiAgCWVuZGlmDQo+IA0KPiAtCSMgQXBwbHkgQ29tbW9uIERlZmF1 bHRzLiBUaGVzZSBzZXR0aW5ncyBtYXkgYmUgb3ZlcndyaXR0ZW4gYnkNCj4gbWFjaGluZQ0KPiAt CSMgc2V0dGluZ3MgbGF0ZXIuDQo+IC0JZm9yZWFjaCBmbGFnOiBmbGFnc19jb21tb25fZGVmYXVs dA0KPiAtCQlpZiBmbGFnLmxlbmd0aCgpID4gMA0KPiAtCQkJZHBka19jb25mLnNldChmbGFnWzBd LCBmbGFnWzFdKQ0KPiArCWRwZGtfZmxhZ3MgPSBmbGFnc19jb21tb25fZGVmYXVsdCArIGltcGxl bWVudGVyX2ZsYWdzDQo+ICsNCj4gKwlpZiBwYXJ0X251bWJlcl9jb25maWcubGVuZ3RoKCkgPiAx DQo+ICsJCWRwZGtfZmxhZ3MgKz0gcGFydF9udW1iZXJfY29uZmlnWzFdDQo+ICsJZW5kaWYNCj4g Kw0KPiArCW1hY2hpbmVfYXJncyA9IFtdICMgQ2xlYXIgcHJldmlvdXMgbWFjaGluZSBhcmdzDQo+ ICsJZm9yZWFjaCBmbGFnOiBwYXJ0X251bWJlcl9jb25maWdbMF0NCj4gKwkJaWYgY2MuaGFzX2Fy Z3VtZW50KGZsYWcpDQo+ICsJCQltYWNoaW5lX2FyZ3MgKz0gZmxhZw0KPiAgCQllbmRpZg0KPiAg CWVuZGZvcmVhY2gNCj4gDQo+IC0JbWVzc2FnZSgnSW1wbGVtZW50ZXIgOiAnICsgbWFjaGluZVsw XSkNCj4gLQlmb3JlYWNoIGZsYWc6IG1hY2hpbmVbMV0NCj4gKwlmb3JlYWNoIGZsYWc6IGRwZGtf ZmxhZ3MNCj4gIAkJaWYgZmxhZy5sZW5ndGgoKSA+IDANCj4gIAkJCWRwZGtfY29uZi5zZXQoZmxh Z1swXSwgZmxhZ1sxXSkNCj4gIAkJZW5kaWYNCj4gIAllbmRmb3JlYWNoDQo+IC0NCj4gLQlmb3Jl YWNoIG1hcmc6IG1hY2hpbmVbMl0NCj4gLQkJaWYgbWFyZ1swXSA9PSBpbXBsX3BuDQo+IC0JCQlm b3JlYWNoIGZsYWc6IG1hcmdbMV0NCj4gLQkJCQlpZiBjYy5oYXNfYXJndW1lbnQoZmxhZykNCj4g LQkJCQkJbWFjaGluZV9hcmdzICs9IGZsYWcNCj4gLQkJCQllbmRpZg0KPiAtCQkJZW5kZm9yZWFj aA0KPiAtCQkJIyBBcHBseSBhbnkgZXh0cmEgbWFjaGluZSBzcGVjaWZpYyBmbGFncy4NCj4gLQkJ CWZvcmVhY2ggZmxhZzogbWFyZy5nZXQoMiwgZmxhZ3NfZGVmYXVsdF9leHRyYSkNCj4gLQkJCQlp ZiBmbGFnLmxlbmd0aCgpID4gMA0KPiAtCQkJCQlkcGRrX2NvbmYuc2V0KGZsYWdbMF0sIGZsYWdb MV0pDQo+IC0JCQkJZW5kaWYNCj4gLQkJCWVuZGZvcmVhY2gNCj4gLQkJZW5kaWYNCj4gLQllbmRm b3JlYWNoDQo+ICBlbmRpZg0KPiAtbWVzc2FnZShtYWNoaW5lX2FyZ3MpDQo+ICsNCj4gK21lc3Nh Z2UoJ1VzaW5nIG1hY2hpbmUgYXJnczogQDBAJy5mb3JtYXQobWFjaGluZV9hcmdzKSkNCj4gDQo+ ICBpZiAoY2MuZ2V0X2RlZmluZSgnX19BUk1fTkVPTicsIGFyZ3M6IG1hY2hpbmVfYXJncykgIT0g Jycgb3INCj4gICAgICBjYy5nZXRfZGVmaW5lKCdfX2FhcmNoNjRfXycsIGFyZ3M6IG1hY2hpbmVf YXJncykgIT0gJycpDQo+IC0tDQo+IDIuMjAuMQ0KDQo=