From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 51CDA9A9E8 for ; Fri, 17 Nov 2023 16:04:37 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 374AE35B68 for ; Fri, 17 Nov 2023 16:04:07 +0100 (CET) Received: from mail02.cetsi.fr (mail02.cetsi.fr [91.151.64.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Fri, 17 Nov 2023 16:04:06 +0100 (CET) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id 5878640502A5 for ; Fri, 17 Nov 2023 16:04:01 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 5878640502A5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1700233441; bh=5B7qClFgYcC4yr8FdRfB9S7F8iFKsVTGXRLvTElEMbY=; h=From:To:Subject:Date:References:In-Reply-To:From; b=CXrw0KNLHe2exVrgVTSpDUm2m0PI83/BFGe8akPOCm81MQUBj+4mzh2z1wY2dY2Px GmXcULWYjp3f5pZzIAJWxH2d/I0DyJYkQ9a1e4oxs1L9MXdQQnTWMVFgMPVvYupZV/ mNZnz7QtoCMxkaVaSnmiTsk73vM8Dnm77ICST59M= Received: from CYLNEXC01.cyllene.corp (10.0.250.28) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Fri, 17 Nov 2023 16:04:02 +0100 Received: from FRA01-PR2-obe.outbound.protection.outlook.com (10.0.250.254) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34 via Frontend Transport; Fri, 17 Nov 2023 16:04:02 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aruXS6BKT8hoyNnLtPb7Ng9Umyoz2KgBH7IQviHn6KKKXDmqYHHY5aXmF1lxnBMHaVM90ky9C7gEBXBoG//R8pmQvpNaA2cfAOQkOnAj1RhlIX6INCaPzOyrb3xswzajWtUTW2Iv0xnnZDUeYNr1vehrcZS1v75jdAZ6rATUhUTeQhG64Gvi9bEpE68siQJe31VTbWIlv5o1jrVTeWdukt0SQF4ynyiBiUjvgsnFnk34Pezo+n2OIA3Ix2sANPhdGy3dpPw1ra1Qbx7gKqVNANqHbG0l99ZXVZLi9Sb9bEFj6sJYJeWA6YsY9QpaMS5V2Vb/iEhixfYsohTNSSpiJA== 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=5B7qClFgYcC4yr8FdRfB9S7F8iFKsVTGXRLvTElEMbY=; b=SdmgEr9RFJr67d+RLlp/UnNkXe4BbSFQAnKmYilEjDGzqsg3xJzC52u4lNn+KZqRyQ6j6/56jlJY3bUs2+wdEDdVAO/O7HJFsdrbLqCW7vDXLJtaTC/fG5dQNzpWwcTIQls4ACaSt3NmManhXjHnGHXmtEHqLVz+PC+DWAgEBqgC6kD2QusAwcthrkMKVpt3vcSioUKBkn3grZllOVLQ1J/sNIz19txHmRoZ6/5x2hvvRuWrfiN7kNh2mpDQYCZQkKq/+eOA/SYef6oAg9E2J6WX0NidwfPQ0POQXdESzN7ZqmLpgB1so4elH7MNC3Bydc9w65VDGRPgoxYoNtB+HQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5B7qClFgYcC4yr8FdRfB9S7F8iFKsVTGXRLvTElEMbY=; b=gyi3/kdT0TqspXEQC6fwn/UKI9Vjyi4utnLO/+4f9MMqMVnXVA6CWYNojz0oQPogOBwIS4dIsABrzEvdtGlv3IrzhCkJcgqll0i7TbwconunfoH9QaBnNCtEROqKGoi9GIUNPdI59eXMcq9yxnMkfIs3Je/Tn6ZxV6iWXFZZ3Ok= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by PR0P264MB2422.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1e1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.11; Fri, 17 Nov 2023 15:04:01 +0000 Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::ea83:662a:77c9:2b2e]) by MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::ea83:662a:77c9:2b2e%4]) with mapi id 15.20.7025.010; Fri, 17 Nov 2023 15:04:01 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" Thread-Topic: [pve-devel] [PATCH v4 pve-manager 20/33] sdn: ipam: add ipam panel Thread-Index: AQHaGUw7gCWGvYUMk0ePel6QrMuvNbB+m/2A Date: Fri, 17 Nov 2023 15:04:00 +0000 Message-ID: <378d41123f5a389d7426034b04d435cdb31fda2e.camel@groupe-cyllene.com> References: <20231117114011.834002-1-s.hanreich@proxmox.com> <20231117114011.834002-21-s.hanreich@proxmox.com> In-Reply-To: <20231117114011.834002-21-s.hanreich@proxmox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.50.0-1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MR1P264MB2481:EE_|PR0P264MB2422:EE_ x-ms-office365-filtering-correlation-id: 237fe5a7-1f89-4211-a792-08dbe77e6e87 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TV/qof4RxoUNGS0lIGKx8hmxURn8hu6Ao9O+AaKfP5ZZtggxGgdroCRERIzmEScyKubxiLQbcLE4X69/gPh8xdcJWusMVaxOb0Q9TowRJmcqZbT2nuhYmINAou17tA8BuOIgIm/hYduQVSZFo/jL+ozI5s7X8YODUFb/wrAIsSrZkhT+AfWDkSuqUvVtpJndYH+zUyQYaEFjTmLPqQ428JAZRhgd09jYiRPFD6Qh2VSfA2zkBfoXvmpw7Q4uBsKY5utSt6x6MHRGm5xPZhbPnXfTwnQzth3Y1PmZ6DxbzkMOZvwRR2G/Jeso7LmEf8ek0jDgnYw6AE77ApJYzVZO3kKpw5PccJSMk4TDq5MKU47S39w4yx6ioK53P7YcI7KPC6YkZ2QD4eoTiFCiLaCd18TY8Lg7CatyW6w/PSw339+99n6hszPzQ+WyU7TRxf+a5uOImAdyyMDH2ze8weX1OgBBKHkN76WJNsDsljxd2aEJs6/680770pn2YpEcp3+FZzLuN5KSAfzAiBy5q4f8LSZHIABbtMJdIwhfN9weFk7K68ak7QLAO5sOC8SHIadLF6A4LwmL+wJ01h2MWyR0IApiAxzhdoqccCZ7C+SZhBesqtos9cB4qL7UG6aY1fiToZ8IOQ24V3wAT3570/8EvbLtrJf8S7ixlgqgHyHMupU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(366004)(376002)(136003)(396003)(39850400004)(346002)(230922051799003)(230273577357003)(230173577357003)(1800799009)(64100799003)(186009)(451199024)(6916009)(316002)(19627405001)(66556008)(66946007)(66476007)(66446008)(64756008)(76116006)(71200400001)(6486002)(478600001)(91956017)(6506007)(38100700002)(19627235002)(6512007)(2616005)(8676002)(8936002)(5660300002)(86362001)(2906002)(36756003)(122000001)(41300700001)(83380400001)(38070700009)(66574015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a2tqWmR0RkVoU2RKdGN0eFl5RkZ0WmJjdTBYS2VCNEcyOHNjYno0RmdySDVk?= =?utf-8?B?QW1paHVoUnVnSTZZU3RmR0Rnai81U0VndWRidEtCR2tjMVZ1WUpQdHlUaUdp?= =?utf-8?B?dko2WkhHdGtnUW1Fci9sOUYyNk4wcFA5UW5hc1pXZSsrVUx3bGxHQ1NMVnNq?= =?utf-8?B?dERRTThUNE1jUGRCMm1YczRSUi80UlhLV2piN0xNQkU0MmcwSExtVVNVNUw4?= =?utf-8?B?bFBxbnB1RVBpemJvSVIzVmJlNmNNdDJLWVZMU2c1ZTZyTWVpSHpUSkQ4a2s2?= =?utf-8?B?aWNRY3ZrdU5LVnRrMVc2ZURYSG94UHdVTUpJeEdXRUNwTDl6SkRyNWZVMmI4?= =?utf-8?B?NXJ4NjFVZlFBVTd4TU1uQm95S1dSdWV0eDhuV3VmY2w1aGN5Rk40ZU1najhx?= =?utf-8?B?NVczQzRxd2xZNnc4ZCs5VzR2K29BL2o0UnEwNnptUnQvaGlIUENYZmxQa2JD?= =?utf-8?B?Y1FVZHhTMmsxVlZNSUNEY05DV1NEcjlxWW5xTjFRT1VUOVR2aUN2N01ZV2py?= =?utf-8?B?eDlSMXNWSWlZMEdJdmpiWlBhOStzM2UwVjJNUWZ4dWEyTEJsWmRpWVJlWEJl?= =?utf-8?B?amtNOFdGeUxGdG9ic21nSWJ5T1VvQlRHTThvcTVveEFWYmNVMTQwQXFzTk5F?= =?utf-8?B?aEp2a0s0MC90dS96NGFXKzBSdUtxMDNOV2lDUnI3OExJKzNOblhEdDlHRzdO?= =?utf-8?B?djROaDNSMmdhZ2N3OWIyclR1ekpBZklLS3VNU3NTSmJuYnE5YWhnT28vU2Zn?= =?utf-8?B?U1ByTE9Pc251WWdsclI4Sk8zYXNsRUhJK3pMY3V0Z3Y3V09oa3VNN21kU0li?= =?utf-8?B?dERJYVNuN2NESlZVbEJKcmpjNVRjWTVpaUYzSkQzd1BWMk4wYW9SaURCUk11?= =?utf-8?B?Z2FpRks1U0J2bTN1RjhsRlZoOTNwU2ZFQmplZDlWYWp6K2dTb3ZOcmlJbi8r?= =?utf-8?B?L2M5ZzBaclora3paMWR4MmhQSzI0SURlUVBOVU9ONFlxYVd3TFJqU2M1WTZH?= =?utf-8?B?NWo5Z0wwSzN0L2svekRNMVdxUGNaV0hBMzA0SXhXbmhUTCs2OTljR2ZyTzRI?= =?utf-8?B?THhoOG1TRXJPaHVEMVNzMDduaEpIL3VkTm53OXMwRTdBQVg0VUNqUXFBelp1?= =?utf-8?B?dFFSRTM1bEpJZ0pZcEsveWZ0U25vZmNMQnI2bDZEL3hqNm9YVm9saWo5QzhU?= =?utf-8?B?TGh4ZjF5MVpnNkhicHkrN1J0Z2ZuQU1MSlUyRHZibnFYVGs2bFJ0SUR0Q1pE?= =?utf-8?B?MjFYcGF5SnA5emVNY1VnK1ZLeFo3d29JbmQ0VXZEOFBvRC9Ic3ZGYzBPUmxF?= =?utf-8?B?bzdLa2MwL281YjJZVDZFeEdIZE1GVW53TldrajlmNld3eWpYbTNkWXM3Y2J5?= =?utf-8?B?QTRZakpvSGdPUHZ6OTZZdTZwN21KSFdwRkFsdEJrTVZKTGtvWVdRTEpUaGNQ?= =?utf-8?B?bENGT1FLY2JrQ2hSK0U0QktwY1FQTDQxa2hSMFc1QmJaQTYxN1M2K0U0RUg5?= =?utf-8?B?UXZOczVlZUxWbnNJK3JSKzdDUDlmUTlrMGIvNGtYU24vR08xblp3MmtxUUlF?= =?utf-8?B?WUc1RzRDT2lRTkhNNzdLVmJNRzB0bHNFNTFqa3FIM2JtbUFLN29UNkpOZlJ5?= =?utf-8?B?OGg0QlZkNkxKMEZpQWFUODZWSUhWSHo5ZHZ6eEdNVVJnVXFFenNqK0VOWWo2?= =?utf-8?B?UlJCb1hRWmkzSEJWOXZrQmlWN3dwdlA4ME5rRVBVclJyZDNZblBGMkt4a1gz?= =?utf-8?B?d29HazJkaytheTZ0MXNURW9iWE9wN0hRUmYvWHhyckdTSlRmd296NWxGdG81?= =?utf-8?B?N3VwZDVFL1JJdEIwTjBOQzZESXlEWWp3blI3THhEMkZ1WFRtc1lkaUYvT3NP?= =?utf-8?B?dmdzNjRhNml1L2gxUUovTTJzeC82MkYvKzZTSVRxTVJvS3ZCUVpGd3pxN1o4?= =?utf-8?B?UTFvK0xJNC9XVzl3RFo2ZWdpcTdBL3NoM3JnNWg2c1BGVW9RR01jY3VWVmNy?= =?utf-8?B?MHgrWHRGbEtoOXlYZFkzSEFFVDFnSWpMUFRZemhCWUtyRkdjUzMxekM1WE9v?= =?utf-8?B?RWtEM08yNjBmL3JRTU85RDZFTXpHQkZkTUpLREpITUdoWDRpM2RnOFN5YldJ?= =?utf-8?B?c0RhRkNoNE1zSzIwdDRxVnVGWUZVZUxvbHZpNUJYQXd0RzNsRFo0ZDVBNnl4?= =?utf-8?Q?+4iLdQG4RIPIUwUGDMMK1QKZcRe2N6qD1BS5U1aJX2hm?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 237fe5a7-1f89-4211-a792-08dbe77e6e87 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 15:04:00.9052 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hxEUXMvTkzEcEy+UoA3KJ9uOJVAkpe4PC9pSdm8CZ13XMmne62hao8CHOdwcoY9gcWExXAlPvFKpdWxM4okXILs/2CAaBbcM6kA74iV+nE7VgGL9rvMWeieOU6826YNX X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB2422 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature AWL 0.001 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_MISSING 0.1 Missing DMARC policy SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH v4 pve-manager 20/33] sdn: ipam: add ipam panel X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Nov 2023 15:04:37 -0000 SSB3b25kZXIgaWYgdGhpcyBwYW5lbCBjb3VsZCBiZSBpbnRlZ3JhdGVkIGluIHpvbmUgcGFuZWwg KGFjY2Vzc2libGUNCmZyb20gdGhlIHRyZWUpLg0KDQphcyBJdCdzIG5vdCByZWxhdGVkIHRvIHRo ZSBzZG4gY29uZmlndXJhdGlvbiBpdHNlbGYuIChhbmQgZG9uJ3QgbmVlZA0Kc2RuIHJlbG9hZCkN Cg0KSSB0aGluayB5aGlzIGNvdWxkIGFsbG93IHRvIGdpdmUgcGVybWlzc2lvbnMgdG8gdXNlciB0 byBtYW5hZ2UgaXBzIGluDQp0aGUgem9uZSwgd2l0aG91dCBuZWVkIHRvIGFjY2VzcyB0byBkYXRh Y2VudGVyIHBhbmVsDQoNCg0KLS0tLS0tLS0gTWVzc2FnZSBpbml0aWFsIC0tLS0tLS0tDQpEZTog U3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPg0KUsOpcG9uZHJlIMOgOiBQ cm94bW94IFZFIGRldmVsb3BtZW50IGRpc2N1c3Npb24gPHB2ZS0NCmRldmVsQGxpc3RzLnByb3ht b3guY29tPg0Kw4A6IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQ0KT2JqZXQ6IFtwdmUtZGV2 ZWxdIFtQQVRDSCB2NCBwdmUtbWFuYWdlciAyMC8zM10gc2RuOiBpcGFtOiBhZGQgaXBhbQ0KcGFu ZWwNCkRhdGU6IDE3LzExLzIwMjMgMTI6Mzk6NTgNCg0KU2lnbmVkLW9mZi1ieTogU3RlZmFuIEhh bnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPg0KLS0tDQrCoHd3dy9jc3MvZXh0Ni1wdmUu Y3NzwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyMiArKy0NCsKgd3d3L21hbmFnZXI2L01ha2VmaWxl wqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsNCsKgd3d3L21hbmFnZXI2L2RjL0NvbmZpZy5qc8Kg wqDCoMKgIHzCoCAxMiArLQ0KwqB3d3cvbWFuYWdlcjYvc2RuL0lwYW1FZGl0LmpzwqAgfMKgIDc4 ICsrKysrKysrKysNCsKgd3d3L21hbmFnZXI2L3RyZWUvRGhjcFRyZWUuanMgfCAyNjcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KwqA1IGZpbGVzIGNoYW5nZWQsIDM3MiBpbnNl cnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQ0KwqBjcmVhdGUgbW9kZSAxMDA2NDQgd3d3L21hbmFn ZXI2L3Nkbi9JcGFtRWRpdC5qcw0KwqBjcmVhdGUgbW9kZSAxMDA2NDQgd3d3L21hbmFnZXI2L3Ry ZWUvRGhjcFRyZWUuanMNCg0KZGlmZiAtLWdpdCBhL3d3dy9jc3MvZXh0Ni1wdmUuY3NzIGIvd3d3 L2Nzcy9leHQ2LXB2ZS5jc3MNCmluZGV4IGUxOGIxNzNmNS4uMDkxODU1MzU2IDEwMDY0NA0KLS0t IGEvd3d3L2Nzcy9leHQ2LXB2ZS5jc3MNCisrKyBiL3d3dy9jc3MvZXh0Ni1wdmUuY3NzDQpAQCAt NTEwLDI4ICs1MTAsMzggQEAgZGl2LnJpZ2h0LWFsaWduZWQgew0KwqDCoMKgwqAgY29udGVudDog JyAnOw0KwqB9DQrCoA0KLS5mYS1zZG46YmVmb3JlIHsNCisueC1mYS1zZG4tdHJlZWxpc3Q6YmVm b3JlIHsNCsKgwqDCoMKgIHdpZHRoOiAxNHB4Ow0KwqDCoMKgwqAgaGVpZ2h0OiAxNHB4Ow0KwqDC oMKgwqAgcG9zaXRpb246IGFic29sdXRlOw0KwqDCoMKgwqAgbGVmdDogMXB4Ow0KwqDCoMKgwqAg dG9wOiA0cHg7DQorfQ0KKw0KKy5mYS1zZG46YmVmb3JlIHsNCsKgwqDCoMKgIGJhY2tncm91bmQt aW1hZ2U6dXJsKC4uL2ltYWdlcy9pY29uLXNkbi5zdmcpOw0KwqDCoMKgwqAgYmFja2dyb3VuZC1z aXplOiAxNHB4IDE0cHg7DQrCoMKgwqDCoCBjb250ZW50OiAnICc7DQrCoH0NCsKgDQrCoC5mYS1u ZXR3b3JrLXdpcmVkOmJlZm9yZSB7DQotwqDCoMKgIHdpZHRoOiAxNHB4Ow0KLcKgwqDCoCBoZWln aHQ6IDE0cHg7DQotwqDCoMKgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCi3CoMKgwqAgbGVmdDogMXB4 Ow0KLcKgwqDCoCB0b3A6IDRweDsNCsKgwqDCoMKgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2lt YWdlcy9pY29uLWZhLW5ldHdvcmstd2lyZWQuc3ZnKTsNCsKgwqDCoMKgIGJhY2tncm91bmQtc2l6 ZTogMTRweCAxNHB4Ow0KwqDCoMKgwqAgY29udGVudDogJyAnOw0KwqB9DQrCoA0KKy54LWZhLXRy ZWVwYW5lbDpiZWZvcmUgew0KK8KgwqDCoCB3aWR0aDogMTZweDsNCivCoMKgwqAgaGVpZ2h0OiAy NHB4Ow0KK8KgwqDCoCBkaXNwbGF5OiBibG9jazsNCivCoMKgwqAgYmFja2dyb3VuZC1yZXBlYXQ6 IG5vLXJlcGVhdDsNCivCoMKgwqAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOw0KK30NCisN CisueC10cmVlLWljb24tbm9uZSB7DQorwqDCoMKgIGRpc3BsYXk6IG5vbmU7DQorfQ0KKw0KwqAu eC10cmVlbGlzdC1yb3ctb3ZlciA+ICogPiAueC10cmVlbGlzdC1pdGVtLWljb24sDQrCoC54LXRy ZWVsaXN0LXJvdy1vdmVyID4gKiA+IC54LXRyZWVsaXN0LWl0ZW0tdGV4dHsNCsKgwqDCoMKgIGNv bG9yOiAjMDAwOw0KZGlmZiAtLWdpdCBhL3d3dy9tYW5hZ2VyNi9NYWtlZmlsZSBiL3d3dy9tYW5h Z2VyNi9NYWtlZmlsZQ0KaW5kZXggMDkzNDUyY2Q3Li45M2I0ZmYxNTUgMTAwNjQ0DQotLS0gYS93 d3cvbWFuYWdlcjYvTWFrZWZpbGUNCisrKyBiL3d3dy9tYW5hZ2VyNi9NYWtlZmlsZQ0KQEAgLTEw OCw2ICsxMDgsNyBAQA0KSlNTUkM9wqAJCQkJCQkJXA0KwqAJdHJlZS9SZXNvdXJjZVRyZWUuanMJ CQkJXA0KwqAJdHJlZS9TbmFwc2hvdFRyZWUuanMJCQkJXA0KwqAJdHJlZS9SZXNvdXJjZU1hcFRy ZWUuanMJCQkJXA0KKwl0cmVlL0RoY3BUcmVlLmpzCQkJCVwNCsKgCXdpbmRvdy9CYWNrdXAuanMJ CQkJXA0KwqAJd2luZG93L0JhY2t1cENvbmZpZy5qcwkJCQlcDQrCoAl3aW5kb3cvQnVsa0FjdGlv bi5qcwkJCQlcDQpkaWZmIC0tZ2l0IGEvd3d3L21hbmFnZXI2L2RjL0NvbmZpZy5qcyBiL3d3dy9t YW5hZ2VyNi9kYy9Db25maWcuanMNCmluZGV4IDdkMDFkYTVmYi4uN2MyYjdiMTY4IDEwMDY0NA0K LS0tIGEvd3d3L21hbmFnZXI2L2RjL0NvbmZpZy5qcw0KKysrIGIvd3d3L21hbmFnZXI2L2RjL0Nv bmZpZy5qcw0KQEAgLTE4NSw3ICsxODUsNyBAQCBFeHQuZGVmaW5lKCdQVkUuZGMuQ29uZmlnJywg ew0KwqAJCW1lLml0ZW1zLnB1c2goew0KwqAJCcKgwqDCoCB4dHlwZTogJ3B2ZVNETlN0YXR1cycs DQrCoAkJwqDCoMKgIHRpdGxlOiBnZXR0ZXh0KCdTRE4nKSwNCi0JCcKgwqDCoCBpY29uQ2xzOiAn ZmEgZmEtc2RuJywNCisJCcKgwqDCoCBpY29uQ2xzOiAnZmEgZmEtc2RuIHgtZmEtc2RuLXRyZWVs aXN0JywNCsKgCQnCoMKgwqAgaGlkZGVuOiB0cnVlLA0KwqAJCcKgwqDCoCBpdGVtSWQ6ICdzZG4n LA0KwqAJCcKgwqDCoCBleHBhbmRlZE9uSW5pdDogdHJ1ZSwNCkBAIC0yMDMsNyArMjAzLDcgQEAg RXh0LmRlZmluZSgnUFZFLmRjLkNvbmZpZycsIHsNCsKgCQnCoMKgwqAgZ3JvdXBzOiBbJ3Nkbidd LA0KwqAJCcKgwqDCoCB0aXRsZTogJ1ZOZXRzJywNCsKgCQnCoMKgwqAgaGlkZGVuOiB0cnVlLA0K LQkJwqDCoMKgIGljb25DbHM6ICdmYSBmYS1uZXR3b3JrLXdpcmVkJywNCisJCcKgwqDCoCBpY29u Q2xzOiAnZmEgZmEtbmV0d29yay13aXJlZCB4LWZhLXNkbi10cmVlbGlzdCcsDQrCoAkJwqDCoMKg IGl0ZW1JZDogJ3NkbnZuZXQnLA0KwqAJCX0sDQrCoAkJew0KQEAgLTIxMyw2ICsyMTMsMTQgQEAg RXh0LmRlZmluZSgnUFZFLmRjLkNvbmZpZycsIHsNCsKgCQnCoMKgwqAgaGlkZGVuOiB0cnVlLA0K wqAJCcKgwqDCoCBpY29uQ2xzOiAnZmEgZmEtZ2VhcicsDQrCoAkJwqDCoMKgIGl0ZW1JZDogJ3Nk bm9wdGlvbnMnLA0KKwkJfSwNCisJCXsNCisJCcKgwqDCoCB4dHlwZTogJ3B2ZURoY3BUcmVlJywN CisJCcKgwqDCoCBncm91cHM6IFsnc2RuJ10sDQorCQnCoMKgwqAgdGl0bGU6IGdldHRleHQoJ0lQ QU0nKSwNCisJCcKgwqDCoCBoaWRkZW46IHRydWUsDQorCQnCoMKgwqAgaWNvbkNsczogJ2ZhIGZh LW1hcC1zaWducycsDQorCQnCoMKgwqAgaXRlbUlkOiAnc2RubWFwcGluZ3MnLA0KwqAJCX0pOw0K wqAJwqDCoMKgIH0NCsKgDQpkaWZmIC0tZ2l0IGEvd3d3L21hbmFnZXI2L3Nkbi9JcGFtRWRpdC5q cw0KYi93d3cvbWFuYWdlcjYvc2RuL0lwYW1FZGl0LmpzDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMDAwLi4xOGUyMmM1OTINCi0tLSAvZGV2L251bGwNCisrKyBiL3d3dy9tYW5h Z2VyNi9zZG4vSXBhbUVkaXQuanMNCkBAIC0wLDAgKzEsNzggQEANCitFeHQuZGVmaW5lKCdQVkUu c2RuLklwYW1FZGl0SW5wdXRQYW5lbCcsIHsNCivCoMKgwqAgZXh0ZW5kOiAnUHJveG1veC5wYW5l bC5JbnB1dFBhbmVsJywNCivCoMKgwqAgbWl4aW5zOiBbJ1Byb3htb3guTWl4aW4uQ0JpbmQnXSwN CisNCivCoMKgwqAgaXNDcmVhdGU6IGZhbHNlLA0KKw0KK8KgwqDCoCBvbkdldFZhbHVlczogZnVu Y3Rpb24odmFsdWVzKSB7DQorCWxldCBtZSA9IHRoaXM7DQorDQorCWlmICghdmFsdWVzLnZtaWQp IHsNCisJwqDCoMKgIGRlbGV0ZSB2YWx1ZXMudm1pZDsNCisJfQ0KKw0KKwlyZXR1cm4gdmFsdWVz Ow0KK8KgwqDCoCB9LA0KKw0KK8KgwqDCoCBpdGVtczogWw0KKwl7DQorCcKgwqDCoCB4dHlwZTog J3BteERpc3BsYXlFZGl0RmllbGQnLA0KKwnCoMKgwqAgbmFtZTogJ3ZtaWQnLA0KKwnCoMKgwqAg ZmllbGRMYWJlbDogZ2V0dGV4dCgnVk1JRCcpLA0KKwnCoMKgwqAgYWxsb3dCbGFuazogZmFsc2Us DQorCcKgwqDCoCBlZGl0YWJsZTogZmFsc2UsDQorCcKgwqDCoCBjYmluZDogew0KKwkJaGlkZGVu OiAne2lzQ3JlYXRlfScsDQorCcKgwqDCoCB9LA0KKwl9LA0KKwl7DQorCcKgwqDCoCB4dHlwZTog J3BteERpc3BsYXlFZGl0RmllbGQnLA0KKwnCoMKgwqAgbmFtZTogJ21hYycsDQorCcKgwqDCoCBm aWVsZExhYmVsOiBnZXR0ZXh0KCdNQUMnKSwNCisJwqDCoMKgIGFsbG93Qmxhbms6IGZhbHNlLA0K KwnCoMKgwqAgY2JpbmQ6IHsNCisJCWVkaXRhYmxlOiAne2lzQ3JlYXRlfScsDQorCcKgwqDCoCB9 LA0KKwl9LA0KKwl7DQorCcKgwqDCoCB4dHlwZTogJ3Byb3htb3h0ZXh0ZmllbGQnLA0KKwnCoMKg wqAgbmFtZTogJ2lwJywNCisJwqDCoMKgIGZpZWxkTGFiZWw6IGdldHRleHQoJ0lQJyksDQorCcKg wqDCoCBhbGxvd0JsYW5rOiBmYWxzZSwNCisJfSwNCivCoMKgwqAgXSwNCit9KTsNCisNCitFeHQu ZGVmaW5lKCdQVkUuc2RuLklwYW1FZGl0Jywgew0KK8KgwqDCoCBleHRlbmQ6ICdQcm94bW94Lndp bmRvdy5FZGl0JywNCisNCivCoMKgwqAgc3ViamVjdDogZ2V0dGV4dCgnREhDUCBNYXBwaW5nJyks DQorwqDCoMKgIHdpZHRoOiAzNTAsDQorDQorwqDCoMKgIGlzQ3JlYXRlOiBmYWxzZSwNCivCoMKg wqAgbWFwcGluZzoge30sDQorDQorwqDCoMKgIHN1Ym1pdFVybDogZnVuY3Rpb24odXJsLCB2YWx1 ZXMpIHsNCisJcmV0dXJuIGAke3VybH0vJHt2YWx1ZXMuem9uZX0vJHt2YWx1ZXMudm5ldH0vJHt2 YWx1ZXMubWFjfWA7DQorwqDCoMKgIH0sDQorDQorwqDCoMKgIGluaXRDb21wb25lbnQ6IGZ1bmN0 aW9uKCkgew0KKwl2YXIgbWUgPSB0aGlzOw0KKw0KKwltZS5tZXRob2QgPSBtZS5pc0NyZWF0ZSA/ ICdQT1NUJyA6ICdQVVQnOw0KKw0KKwlsZXQgaXBhbmVsID0gRXh0LmNyZWF0ZSgnUFZFLnNkbi5J cGFtRWRpdElucHV0UGFuZWwnLCB7DQorCcKgwqDCoCBpc0NyZWF0ZTogbWUuaXNDcmVhdGUsDQor CX0pOw0KKw0KKwlFeHQuYXBwbHkobWUsIHsNCisJwqDCoMKgIGl0ZW1zOiBbDQorCQlpcGFuZWws DQorCcKgwqDCoCBdLA0KKwl9KTsNCisNCisJbWUuY2FsbFBhcmVudCgpOw0KKw0KKwlpcGFuZWwu c2V0VmFsdWVzKG1lLm1hcHBpbmcpOw0KK8KgwqDCoCB9LA0KK30pOw0KZGlmZiAtLWdpdCBhL3d3 dy9tYW5hZ2VyNi90cmVlL0RoY3BUcmVlLmpzDQpiL3d3dy9tYW5hZ2VyNi90cmVlL0RoY3BUcmVl LmpzDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi5jYTI3OWMyOWENCi0t LSAvZGV2L251bGwNCisrKyBiL3d3dy9tYW5hZ2VyNi90cmVlL0RoY3BUcmVlLmpzDQpAQCAtMCww ICsxLDI2NyBAQA0KK0V4dC5kZWZpbmUoJ1BWRS5zZG4uRGhjcFRyZWUnLCB7DQorwqDCoMKgIGV4 dGVuZDogJ0V4dC50cmVlLlBhbmVsJywNCivCoMKgwqAgeHR5cGU6ICdwdmVEaGNwVHJlZScsDQor DQorwqDCoMKgIGxheW91dDogJ2ZpdCcsDQorwqDCoMKgIHJvb3RWaXNpYmxlOiBmYWxzZSwNCivC oMKgwqAgYW5pbWF0ZTogZmFsc2UsDQorDQorwqDCoMKgIHN0b3JlOiB7DQorCXNvcnRlcnM6IFsn aXAnLCAnbmFtZSddLA0KK8KgwqDCoCB9LA0KKw0KK8KgwqDCoCBjb250cm9sbGVyOiB7DQorCXhj bGFzczogJ0V4dC5hcHAuVmlld0NvbnRyb2xsZXInLA0KKw0KKwlyZWxvYWQ6IGZ1bmN0aW9uKCkg ew0KKwnCoMKgwqAgbGV0IG1lID0gdGhpczsNCisNCisJwqDCoMKgIFByb3htb3guVXRpbHMuQVBJ MlJlcXVlc3Qoew0KKwkJdXJsOiBgL2NsdXN0ZXIvc2RuL2lwYW1gLA0KKwkJbWV0aG9kOiAnR0VU JywNCisJCXN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3BvbnNlLCBvcHRzKSB7DQorCQnCoMKgwqAgbGV0 IHJvb3QgPSB7DQorCQkJbmFtZTogJ19fcm9vdCcsDQorCQkJZXhwYW5kZWQ6IHRydWUsDQorCQkJ Y2hpbGRyZW46IFtdLA0KKwkJwqDCoMKgIH07DQorDQorCQnCoMKgwqAgbGV0IHpvbmVzID0ge307 DQorCQnCoMKgwqAgbGV0IHZuZXRzID0ge307DQorCQnCoMKgwqAgbGV0IHN1Ym5ldHMgPSB7fTsN CisNCisJCcKgwqDCoCByZXNwb25zZS5yZXN1bHQuZGF0YS5mb3JFYWNoKChlbGVtZW50KSA9PiB7 DQorCQkJZWxlbWVudC5sZWFmID0gdHJ1ZTsNCisNCisJCQlpZiAoIShlbGVtZW50LnpvbmUgaW4g em9uZXMpKSB7DQorCQkJwqDCoMKgIGxldCB6b25lID0gew0KKwkJCQluYW1lOiBlbGVtZW50Lnpv bmUsDQorCQkJCXR5cGU6ICd6b25lJywNCisJCQkJaWNvbkNsczogJ2ZhIGZhLXRoJywNCisJCQkJ ZXhwYW5kZWQ6IHRydWUsDQorCQkJCWNoaWxkcmVuOiBbXSwNCisJCQnCoMKgwqAgfTsNCisNCisJ CQnCoMKgwqAgem9uZXNbZWxlbWVudC56b25lXSA9IHpvbmU7DQorCQkJwqDCoMKgIHJvb3QuY2hp bGRyZW4ucHVzaCh6b25lKTsNCisJCQl9DQorDQorCQkJaWYgKCEoZWxlbWVudC52bmV0IGluIHZu ZXRzKSkgew0KKwkJCcKgwqDCoCBsZXQgdm5ldCA9IHsNCisJCQkJbmFtZTogZWxlbWVudC52bmV0 LA0KKwkJCQl6b25lOiBlbGVtZW50LnpvbmUsDQorCQkJCXR5cGU6ICd2bmV0JywNCisJCQkJaWNv bkNsczogJ2ZhIGZhLW5ldHdvcmstd2lyZWQgeC1mYS0NCnRyZWVwYW5lbCcsDQorCQkJCWV4cGFu ZGVkOiB0cnVlLA0KKwkJCQljaGlsZHJlbjogW10sDQorCQkJwqDCoMKgIH07DQorDQorCQkJwqDC oMKgIHZuZXRzW2VsZW1lbnQudm5ldF0gPSB2bmV0Ow0KKwkJCcKgwqDCoCB6b25lc1tlbGVtZW50 LnpvbmVdLmNoaWxkcmVuLnB1c2godm5ldCk7DQorCQkJfQ0KKw0KKwkJCWlmICghKGVsZW1lbnQu c3VibmV0IGluIHN1Ym5ldHMpKSB7DQorCQkJwqDCoMKgIGxldCBzdWJuZXQgPSB7DQorCQkJCW5h bWU6IGVsZW1lbnQuc3VibmV0LA0KKwkJCQl6b25lOiBlbGVtZW50LnpvbmUsDQorCQkJCXZuZXQ6 IGVsZW1lbnQudm5ldCwNCisJCQkJdHlwZTogJ3N1Ym5ldCcsDQorCQkJCWljb25DbHM6ICd4LXRy ZWUtaWNvbi1ub25lJywNCisJCQkJZXhwYW5kZWQ6IHRydWUsDQorCQkJCWNoaWxkcmVuOiBbXSwN CisJCQnCoMKgwqAgfTsNCisNCisJCQnCoMKgwqAgc3VibmV0c1tlbGVtZW50LnN1Ym5ldF0gPSBz dWJuZXQ7DQorCQkJwqDCoMKgIHZuZXRzW2VsZW1lbnQudm5ldF0uY2hpbGRyZW4ucHVzaChzdWJu ZXQpOw0KKwkJCX0NCisNCisJCQllbGVtZW50LnR5cGUgPSAnbWFwcGluZyc7DQorCQkJZWxlbWVu dC5pY29uQ2xzID0gJ3gtdHJlZS1pY29uLW5vbmUnOw0KKwkJCXN1Ym5ldHNbZWxlbWVudC5zdWJu ZXRdLmNoaWxkcmVuLnB1c2goZWxlbWVudCkNCjsNCisJCcKgwqDCoCB9KTsNCisNCisJCcKgwqDC oCBtZS5nZXRWaWV3KCkuc2V0Um9vdE5vZGUocm9vdCk7DQorCQl9LA0KKwnCoMKgwqAgfSk7DQor CX0sDQorDQorCWluaXQ6IGZ1bmN0aW9uKHZpZXcpIHsNCisJwqDCoMKgIGxldCBtZSA9IHRoaXM7 DQorCcKgwqDCoCBtZS5yZWxvYWQoKTsNCisJfSwNCisNCisJb25EZWxldGU6IGZ1bmN0aW9uKHRh YmxlLCBySSwgY0ksIGl0ZW0sIGUsIHsgZGF0YSB9KSB7DQorCcKgwqDCoCBsZXQgbWUgPSB0aGlz Ow0KKwnCoMKgwqAgbGV0IHZpZXcgPSBtZS5nZXRWaWV3KCk7DQorDQorCcKgwqDCoCBFeHQuTXNn LnNob3coew0KKwkJdGl0bGU6IGdldHRleHQoJ0NvbmZpcm0nKSwNCisJCWljb246IEV4dC5Nc2cu V0FSTklORywNCisJCW1lc3NhZ2U6IEV4dC5TdHJpbmcuZm9ybWF0KGdldHRleHQoJ0FyZSB5b3Ug c3VyZSB5b3UNCndhbnQgdG8gcmVtb3ZlIERIQ1AgbWFwcGluZyB7MH0nKSwgYCR7ZGF0YS5tYWN9 IC8gJHtkYXRhLmlwfWApLA0KKwkJYnV0dG9uczogRXh0Lk1zZy5ZRVNOTywNCisJCWRlZmF1bHRG b2N1czogJ25vJywNCisJCWNhbGxiYWNrOiBmdW5jdGlvbihidG4pIHsNCisJCcKgwqDCoCBpZiAo YnRuICE9PSAneWVzJykgew0KKwkJwqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KKwkJwqDCoMKgIH0N CisNCisJCcKgwqDCoCBQcm94bW94LlV0aWxzLkFQSTJSZXF1ZXN0KHsNCisJCQl1cmw6DQpgL2Ns dXN0ZXIvc2RuL2lwYW0vJHtkYXRhLnpvbmV9LyR7ZGF0YS52bmV0fS8ke2RhdGEubWFjfWAsDQor CQkJbWV0aG9kOiAnREVMRVRFJywNCisJCQl3YWl0TXNnVGFyZ2V0OiB2aWV3LA0KKwkJCWZhaWx1 cmU6IGZ1bmN0aW9uKHJlc3BvbnNlLCBvcHRzKSB7DQorCQkJwqDCoMKgIEV4dC5Nc2cuYWxlcnQo Z2V0dGV4dCgnRXJyb3InKSwNCnJlc3BvbnNlLmh0bWxTdGF0dXMpOw0KKwkJCX0sDQorCQkJY2Fs bGJhY2s6IG1lLnJlbG9hZC5iaW5kKG1lKSwNCisJCcKgwqDCoCB9KTsNCisJCX0sDQorCcKgwqDC oCB9KTsNCisJfSwNCisNCisJZWRpdEFjdGlvbjogZnVuY3Rpb24oX2dyaWQsIF9ySSwgX2NJLCBf aXRlbSwgX2UsIHJlYykgew0KKwnCoMKgwqAgdGhpcy5lZGl0KHJlYyk7DQorCX0sDQorDQorCWVk aXREYmxDbGljazogZnVuY3Rpb24oKSB7DQorCcKgwqDCoCBsZXQgbWUgPSB0aGlzOw0KKw0KKwnC oMKgwqAgbGV0IHZpZXcgPSBtZS5nZXRWaWV3KCk7DQorCcKgwqDCoCBsZXQgc2VsZWN0aW9uID0g dmlldy5nZXRTZWxlY3Rpb24oKTsNCisNCisJwqDCoMKgIGlmICghc2VsZWN0aW9uIHx8IHNlbGVj dGlvbi5sZW5ndGggPCAxKSB7DQorCQlyZXR1cm47DQorCcKgwqDCoCB9DQorDQorCcKgwqDCoCBt ZS5lZGl0KHNlbGVjdGlvblswXSk7DQorCX0sDQorDQorCWVkaXQ6IGZ1bmN0aW9uKHJlYykgew0K KwnCoMKgwqAgbGV0IG1lID0gdGhpczsNCisNCisJwqDCoMKgIGlmIChyZWMuZGF0YS50eXBlID09 PSAnbWFwcGluZycgJiYgIXJlYy5kYXRhLmdhdGV3YXkpIHsNCisJCW1lLm9wZW5FZGl0V2luZG93 KHJlYy5kYXRhKTsNCisJwqDCoMKgIH0NCisJfSwNCisNCisJb3BlbkVkaXRXaW5kb3c6IGZ1bmN0 aW9uKGRhdGEpIHsNCisJwqDCoMKgIGxldCBtZSA9IHRoaXM7DQorDQorCcKgwqDCoCBFeHQuY3Jl YXRlKCdQVkUuc2RuLklwYW1FZGl0Jywgew0KKwkJYXV0b1Nob3c6IHRydWUsDQorCQltYXBwaW5n OiBkYXRhLA0KKwkJdXJsOiBgL2NsdXN0ZXIvc2RuL2lwYW1gLA0KKwkJZXh0cmFSZXF1ZXN0UGFy YW1zOiB7DQorCQnCoMKgwqAgdm1pZDogZGF0YS52bWlkLA0KKwkJwqDCoMKgIG1hYzogZGF0YS5t YWMsDQorCQnCoMKgwqAgem9uZTogZGF0YS56b25lLA0KKwkJwqDCoMKgIHZuZXQ6IGRhdGEudm5l dCwNCisJCX0sDQorCQlsaXN0ZW5lcnM6IHsNCisJCcKgwqDCoCBkZXN0cm95OiAoKSA9PiBtZS5y ZWxvYWQoKSwNCisJCX0sDQorCcKgwqDCoCB9KTsNCisJfSwNCivCoMKgwqAgfSwNCisNCivCoMKg wqAgbGlzdGVuZXJzOiB7DQorCWl0ZW1kYmxjbGljazogJ2VkaXREYmxDbGljaycsDQorwqDCoMKg IH0sDQorDQorwqDCoMKgIHRiYXI6IFsNCisJew0KKwnCoMKgwqAgeHR5cGU6ICdwcm94bW94QnV0 dG9uJywNCisJwqDCoMKgIHRleHQ6IGdldHRleHQoJ1JlbG9hZCcpLA0KKwnCoMKgwqAgaGFuZGxl cjogJ3JlbG9hZCcsDQorCX0sDQorwqDCoMKgIF0sDQorDQorwqDCoMKgIGNvbHVtbnM6IFsNCisJ ew0KKwnCoMKgwqAgeHR5cGU6ICd0cmVlY29sdW1uJywNCisJwqDCoMKgIHRleHQ6IGdldHRleHQo J05hbWUgLyBWTUlEJyksDQorCcKgwqDCoCBkYXRhSW5kZXg6ICduYW1lJywNCisJwqDCoMKgIHdp ZHRoOiAyMDAsDQorCcKgwqDCoCByZW5kZXJlcjogZnVuY3Rpb24odmFsdWUsIG1ldGEsIHJlY29y ZCkgew0KKwkJaWYgKHJlY29yZC5nZXQoJ2dhdGV3YXknKSkgew0KKwkJwqDCoMKgIHJldHVybiBn ZXR0ZXh0KCdHYXRld2F5Jyk7DQorCQl9DQorDQorCQlyZXR1cm4gcmVjb3JkLmdldCgnbmFtZScp ID8/IHJlY29yZC5nZXQoJ3ZtaWQnKSA/PyAnDQonOw0KKwnCoMKgwqAgfSwNCisJfSwNCisJew0K KwnCoMKgwqAgdGV4dDogZ2V0dGV4dCgnSVAnKSwNCisJwqDCoMKgIGRhdGFJbmRleDogJ2lwJywN CisJwqDCoMKgIHdpZHRoOiAyMDAsDQorCX0sDQorCXsNCisJwqDCoMKgIHRleHQ6IGdldHRleHQo J01BQycpLA0KKwnCoMKgwqAgZGF0YUluZGV4OiAnbWFjJywNCisJwqDCoMKgIHdpZHRoOiAyMDAs DQorCX0sDQorCXsNCisJwqDCoMKgIHRleHQ6IGdldHRleHQoJ0dhdGV3YXknKSwNCisJwqDCoMKg IGRhdGFJbmRleDogJ2dhdGV3YXknLA0KKwnCoMKgwqAgd2lkdGg6IDIwMCwNCisJfSwNCisJew0K KwnCoMKgwqAgaGVhZGVyOiBnZXR0ZXh0KCdBY3Rpb25zJyksDQorCcKgwqDCoCB4dHlwZTogJ2Fj dGlvbmNvbHVtbicsDQorCcKgwqDCoCBkYXRhSW5kZXg6ICd0ZXh0JywNCisJwqDCoMKgIHdpZHRo OiAxNTAsDQorCcKgwqDCoCBpdGVtczogWw0KKwkJew0KKwkJwqDCoMKgIGhhbmRsZXI6IGZ1bmN0 aW9uKHRhYmxlLCBySSwgY0ksIGl0ZW0sIGUsIHsgZGF0YQ0KfSkgew0KKwkJCWxldCBtZSA9IHRo aXM7DQorDQorCQkJRXh0LmNyZWF0ZSgnUFZFLnNkbi5JcGFtRWRpdCcsIHsNCisJCQnCoMKgwqAg YXV0b1Nob3c6IHRydWUsDQorCQkJwqDCoMKgIG1hcHBpbmc6IHt9LA0KKwkJCcKgwqDCoCB1cmw6 IGAvY2x1c3Rlci9zZG4vaXBhbWAsDQorCQkJwqDCoMKgIGlzQ3JlYXRlOiB0cnVlLA0KKwkJCcKg wqDCoCBleHRyYVJlcXVlc3RQYXJhbXM6IHsNCisJCQkJdm5ldDogZGF0YS5uYW1lLA0KKwkJCQl6 b25lOiBkYXRhLnpvbmUsDQorCQkJwqDCoMKgIH0sDQorCQkJwqDCoMKgIGxpc3RlbmVyczogew0K KwkJCQlkZXN0cm95OiAoKSA9PiB7DQorCQkJCcKgwqDCoA0KbWUudXAoJ3B2ZURoY3BUcmVlJyku Y29udHJvbGxlci5yZWxvYWQoKTsNCisJCQkJfSwNCisJCQnCoMKgwqAgfSwNCisJCQl9KTsNCisJ CcKgwqDCoCB9LA0KKwkJwqDCoMKgIGdldFRpcDogKHYsIG0sIHJlYykgPT4gZ2V0dGV4dCgnQWRk JyksDQorCQnCoMKgwqAgZ2V0Q2xhc3M6ICh2LCBtLCB7IGRhdGEgfSkgPT4gew0KKwkJCWlmIChk YXRhLnR5cGUgPT09ICd2bmV0Jykgew0KKwkJCcKgwqDCoCByZXR1cm4gJ2ZhIGZhLXBsdXMtc3F1 YXJlJzsNCisJCQl9DQorDQorCQkJcmV0dXJuICdwbXgtaGlkZGVuJzsNCisJCcKgwqDCoCB9LA0K K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KKwkJew0KKwkJwqDCoMKgIGhhbmRs ZXI6ICdlZGl0QWN0aW9uJywNCisJCcKgwqDCoCBnZXRUaXA6ICh2LCBtLCByZWMpID0+IGdldHRl eHQoJ0VkaXQnKSwNCisJCcKgwqDCoCBnZXRDbGFzczogKHYsIG0sIHsgZGF0YSB9KSA9PiB7DQor CQkJaWYgKGRhdGEudHlwZSA9PT0gJ21hcHBpbmcnICYmICFkYXRhLmdhdGV3YXkpDQp7DQorCQkJ wqDCoMKgIHJldHVybiAnZmEgZmEtcGVuY2lsIGZhLWZ3JzsNCisJCQl9DQorDQorCQkJcmV0dXJu ICdwbXgtaGlkZGVuJzsNCisJCcKgwqDCoCB9LA0KK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB9LA0KKwkJew0KKwkJwqDCoMKgIGhhbmRsZXI6ICdvbkRlbGV0ZScsDQorCQnCoMKgwqAg Z2V0VGlwOiAodiwgbSwgcmVjKSA9PiBnZXR0ZXh0KCdEZWxldGUnKSwNCisJCcKgwqDCoCBnZXRD bGFzczogKHYsIG0sIHsgZGF0YSB9KSA9PiB7DQorCQkJaWYgKGRhdGEudHlwZSA9PT0gJ21hcHBp bmcnICYmICFkYXRhLmdhdGV3YXkpDQp7DQorCQkJwqDCoMKgIHJldHVybiAnZmEgY3JpdGljYWwg ZmEtdHJhc2gtbyc7DQorCQkJfQ0KKw0KKwkJCXJldHVybiAncG14LWhpZGRlbic7DQorCQnCoMKg wqAgfSwNCivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCisJwqDCoMKgIF0sDQor CX0sDQorwqDCoMKgIF0sDQorfSk7DQoNCg==