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) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 1AC1198685 for ; Wed, 15 Nov 2023 13:10:02 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id F11074F68 for ; Wed, 15 Nov 2023 13:09:31 +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 ; Wed, 15 Nov 2023 13:09:30 +0100 (CET) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id 2B37B40502B0 for ; Wed, 15 Nov 2023 13:09:26 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 2B37B40502B0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1700050166; bh=LglepTwMsxshxsxJejxeagz0R99UTKfD84VgT7ugJLM=; h=From:To:Subject:Date:References:In-Reply-To:From; b=W0SRZEloWxYL2ko0EttGdnUTCtyixo2T8PcU8dcXKbUQGx8GMlM8Bq3sePYWT23HP aQ/ekYHpwy1FNMA5fglHEgCL2tk8fTrWaj8KzcLDFt3kYvl7Hwyhk8XA4B1xnD+AWb Xd2ucHA3PVUKGXZP0i86odyq0Ei2FzyT2FgPFBfo= 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; Wed, 15 Nov 2023 13:09:26 +0100 Received: from FRA01-MR2-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; Wed, 15 Nov 2023 13:09:26 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=had+DXuYit+u3zpLFZO2Qj0YLK9A0BRcp/B5bhbBFlieZEnuD1e8yF7VoLJAXPcMtGKLBGPDzS+GEOytLMK6N8C6bZAX5W+nzTB3QumTxOSKdMhtfvXSET1Zt1TDIpazjmNAEeoCl0IctBLjKDtBdCljLEvolVDMXabKmquBfV+MjhVeUOFGZXMYQbTBEzajYCTFoPxhl6gRAzuoV6skbI9pDb+gsObcTM2ERDBF1yoPoCkMSIhbHbHSWCrTXbEw8p/m9XKcJ2OK9LxJQ0NunYbD6O+f5UXURxfBCY5p/omIrsbumXA1uUucf+WI6pUTwNBXMl5fTFQuyv0dSgn9MA== 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=LglepTwMsxshxsxJejxeagz0R99UTKfD84VgT7ugJLM=; b=i4+IgTUhy72bAUJBxTJHi/4reTo1rXJbIwYKATUSNCkeSZ7fs6A3906240mqDSs5HBAxAY/U2Xo/bDgVGt6HG2nK0Bh1ZZfX9QCTVv6SA3mcG7LlK9wBmFoGfSJyex5bv79FUt8BlZcXfvATUH00xnv58GbuV/fL1ul0ltEDahhtJSmA2zT5/VEl1Xo5/AV1JSG1s0So/h+EJeOw6YimqNXUWxMB/2bt7bJjbUep32f5AgMjQJwk8hEVbgjP6d/gi7e+tXDD7AaZhphHtXfZnbCVaBSLPQBAI0DbVl38ReKjgLvIDlpsHXCUZI3PWMn3U6J1SYKP+p8CLovC+xlx3Q== 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=LglepTwMsxshxsxJejxeagz0R99UTKfD84VgT7ugJLM=; b=1OXJTLOzBk+N5zfHEuXVokI7+pvyulYH1sTt7dLVZ6SqME8qHWLKV9RmOCHUesgYimCLRwIDJMBF+vr3+S7mWvd6jdeOsS4ZHFBNHy51z2+FbMEu6sXZxs+L5jy7FVTfa14J5qKkcwk6USC+rj3LiApp2klF28qYvTE0EAJ0xkQ= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by PAZP264MB2335.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1f1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Wed, 15 Nov 2023 12:09:25 +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.7002.019; Wed, 15 Nov 2023 12:09:25 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" Thread-Topic: [pve-devel] [WIP v3 pve-manager 18/22] sdn: dhcp: add view for DHCP mappings Thread-Index: AQHaFyV1CON7BkVba0Gwkox+y6XEILB7StiA Date: Wed, 15 Nov 2023 12:09:24 +0000 Message-ID: References: <20231114180620.2635449-1-s.hanreich@proxmox.com> <20231114180620.2635449-19-s.hanreich@proxmox.com> In-Reply-To: <20231114180620.2635449-19-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_|PAZP264MB2335:EE_ x-ms-office365-filtering-correlation-id: 5ebba7e3-a112-487c-213f-08dbe5d3b589 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GpGm3KgtCTXJ/Bc7PoJWrkJv+PMNcyG9o6+809ZCDvFZ+1wTmXOmMHgcuIqGQHYy4BWwT8xnYOYqvMzVgXMrOpNrsEvcibrMcbRne1YwYcOH3UxMrIBE09tXFdZ9vut/t5Ww8fq7ftnnk2f01PCVQPb3axSY0WOUwQjdmeJd77bBvYHbbBqhyZne7wyVU7yDyDRLQw5LrPyZbMIdDHFvQs6XLfuhbuogGnar5yejzhQbVZ7G9JuOKOXf7eD1BfY7nW9KIeYTwwK+J6nu7lTsU+nVvXp/ihlCIRqj+iXXEY57Epi25/8RVm5ZV3oaxFyaRKhRLF7UIWxELsGBYzy3jx1xAvFLsTH/KM3o1f9m/800sATyof4LXDSsoCtmpaU6VGdobdTpErniYDvc9OxDtDDep7Xjxh/KZyp1ZUoDl/zk5WH1fkE8VEPXbLDjNO4VJdXAM1WAA3tC4lhZguBXiJ+MHN8//cnsh0aiTruZxf7qf3OeiSjbH2RCx36qarbnlwsWCEwa5MIK9GSprDQqjh65Q/54oBwf84Lg8Bhlsy4qyMYI7q8bUOi5HDFeiOJ6fpqIi/oBv+A/BKyZLOVPcb6SO9IAxwQhDImTFgL6XwEjqYy4H2wPwU853sps/SVmiFcSYq47E11ikm9OMjXcUNWb5MDx5UG8VnBbdvIbhVw= 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)(396003)(39850400004)(376002)(346002)(366004)(136003)(230173577357003)(230922051799003)(230273577357003)(1800799009)(64100799003)(186009)(451199024)(38070700009)(41300700001)(6916009)(316002)(66476007)(66556008)(66946007)(64756008)(66446008)(36756003)(83380400001)(66574015)(38100700002)(122000001)(6512007)(2616005)(5660300002)(478600001)(6486002)(2906002)(19627235002)(76116006)(91956017)(71200400001)(86362001)(6506007)(8936002)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MEprdGRlT09IYWEwU2ZiaEdrQ0RMMXc5Smd4WmJQMGRmSUVJYi9rM2hMdUdu?= =?utf-8?B?R1gwSmtmbjhlYlRRZkJXV2w0aXJheWpnb2NmU1lrb1VTN1ZZeVQ5aFNCTytU?= =?utf-8?B?aUZUc3FYVGRkaGY4akpkUjl2b2VnSWJ0WUNRT2tYRkN0Sk9KMlBRWFFiWHd2?= =?utf-8?B?R1ZNdU9VM3lLOTM2YnpJaVFzeEJUdlExU25PYitYZUdqWDJrKzV2dk1WTkl0?= =?utf-8?B?WTBrL2JSb0RucjZBdFlMamNKZFFsRjMzaDJoNVdSSVYzVnVESi9WUTJaUmps?= =?utf-8?B?T3J1MTU3M09jNEZVbXRtQzRYMnUyd04xekpVUEJjWXU2MWlWM1hLQWZMR3Vj?= =?utf-8?B?N0djM2Vhb0hMZ0xnTGJUNDNPcWRrMG15T3VPaDFPQUYyWkJEWmRwdU1zdi82?= =?utf-8?B?SGs2Mm5pYjlWMWtoWjhkOTJvOWZZWk9oT1FpR3h3Wm9BK3JhcnZ4RzBxSDFR?= =?utf-8?B?Uy93MUdsZVVnOFF2bkQyQ05taGp4SmtFWU5mb3JOQkU1WFpBSXhtbVk5OWZS?= =?utf-8?B?RnFGOWZWQjlITWp3VENiU0pzeUF5TjdmemdHOVZQeTVsOEg2eTFhODVZd1ZT?= =?utf-8?B?TXcyUCtSS0k4aGlOQWVncFJKZWN2b04zYysrTW9VeG0wNlZtL2d1N0RtNFNT?= =?utf-8?B?YUNxZDBzSXlOeUhQejBBUVFoS0EydWwzV0ZRZkh0T3NWTkFMaTFqTUViQ1Uv?= =?utf-8?B?VmFHbXFFcld2Y25NdTY3NXhzS1VldkpNUlVrbWdoTjV2ZldvRkczVnhOY2Rs?= =?utf-8?B?d05zYlVjQlF4aXdXMTlydU5KYm9wclF6RkNnRkJtNzlsSHVvenV0RXdYamZz?= =?utf-8?B?TnM2ZGtBRDA5cnpnbnFQNXh5S1dSTXhidFg1L0pYS3dVREdMRW9TWDlSM2Ew?= =?utf-8?B?YXRFT1hmcjBEQXhRcTArMkJMT1JJTzZaanM5U1RzNWNjb1dIZEdnaWFrSXJ0?= =?utf-8?B?QWtEVXNXU1daT01iNnVBNlNZLzNsVk9aN0FSNmVaYWtzN2tnL0dMcEl1QzR0?= =?utf-8?B?ZEdnNFdvRjNtTy9yN202NXRDNHJIelZSZjRCNWFOLy9mY0ZGazI0bGNabGZM?= =?utf-8?B?RkpQWDBZNWZidHc5V3dzczVxWXJhdmhYVlFiRTh4WndTNWo1ZWpjVkV1cVdp?= =?utf-8?B?cWRnY3pYVGhTemVvTUtEeXRuMlhXdkl4cGg0L3BmZk1XZDBHMFZzdzd0NStL?= =?utf-8?B?MFJpNjZiTm5kdDkyM0UrdTR6QXI2cU9RV2IvMU5mdnNXaFgraFRKRnNQL1Bv?= =?utf-8?B?a2Z6bWZvU1RsVlgwK29DODIrdnhqaTlqZVhvYlhObGFScmFrNk5BOElmbG1z?= =?utf-8?B?TmJPK0lrR21mN29iL3RlR21SSmtCOEVVcXNFOVphK3d0ZUhXaFNMNWVEV2dG?= =?utf-8?B?cnhnQ0xjTVlieGt4SElsMVZENUJweGtVc1BWUHM5cFpnQXlrSnRpVVU0VzJu?= =?utf-8?B?RkYvS1Z3MHg1NTF0NkRiTzZUOThYZ0JpVnJHTi84WkU4TjFFZ01Oc2N6bXRn?= =?utf-8?B?bnJZMFFtcUZCaTFpbzJZUWM3L0Z1YndsenlVaytQb0thQ1RRTUt1VEpHdTk5?= =?utf-8?B?ellHZkJOK2k4OWtQVk5PelN3UmdnMnF3dkx0QittYkE1aUV6ZCtXZklPZGl4?= =?utf-8?B?SWZSOVRIMFVKb2F0WmpKcVRsYlBlM3NxSkVGMHFiRXBWcEdkcGdBTTRUWjlH?= =?utf-8?B?b21qNDZaTlR2R01OeFY2NFlhUnNoam5RQjY1NFJvMFJPa0NMNFdtSmFZQmkr?= =?utf-8?B?VStpVFdaTm5CTldFM0NFRUdLZmJvOWlQMTRlV0RsTFp6d2VtRU9GOXg1c2lw?= =?utf-8?B?V3Y5eFRqdW4xQVl6TFI4UEVYK3dzQ0FYK3h4SmtyUnBJNXBqOWI2YWo0Y2ZU?= =?utf-8?B?K3J2VUlVcjkyY1hzNVZMM3lEdGkySC9hMzZiSHd1OWdYcU1USlNHVXN2N3ZZ?= =?utf-8?B?Y2oyTzNScGNkMGQrV0ozOWJWSU5QNFVQa1FmcDAzakVhUm1JUURDRWdOVWl0?= =?utf-8?B?T1REQlZydmRDb2xLbnVra3UwVk9GczMyQnNydVR2QmZhcjZWOHBWN2h2THpX?= =?utf-8?B?Z0RIbG5wMzFtVXVHZXBzbTBSQ2FMWXVNbzVjdnVTckRoSTI3R2ZOSWtWdDh5?= =?utf-8?B?ai9UUlZHeW9XSHYrMFpmaU92MFZHak1LbnVrR2RTdXRoMVRLOTlQTVZsK29O?= =?utf-8?Q?/oLj7nNwDcAvhg6IvcEdzs533utE6t3qep5EMeeKouSM?= 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: 5ebba7e3-a112-487c-213f-08dbe5d3b589 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2023 12:09:24.9317 (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: 4VJy4b8ffkvbm8rDeVc66V4cQgQfDRbfBlXYLIjmgGxbhbr8ilN1OCzyWJXcY6Jc5FMnBzw9HggFI4nc7qfdsLooOMqV4ZNcyM7cN8SLNAWi/FYNGIQ2oN88piHIrnmK X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAZP264MB2335 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.050 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 PROLO_LEO1 0.1 Meta Catches all Leo drug variations so far 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 - URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [groupecyllene.onmicrosoft.com, groupe-cyllene.com, element.zone] Subject: Re: [pve-devel] [WIP v3 pve-manager 18/22] sdn: dhcp: add view for DHCP mappings 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: Wed, 15 Nov 2023 12:10:02 -0000 SSB0aGluayB0aGF0IHRoaXMgcGFuZWwgY291bGQgYmUgbmFtZWQgIklwYW0iIGluc3RlYWQgICJE aGNwIE1hcHBpbmdzIg0KDQpBcyBpdCdzIGRvbid0IG1hbmFnZSBkaGNwIG1hcHBpbmcgb2YgZGhj cCBzZXJ2ZXIsIGJ1dCBpcHMgaW4gaXBhbQ0KZGF0YWJhc2UNCg0KDQotLS0tLS0tLSBNZXNzYWdl IGluaXRpYWwgLS0tLS0tLS0NCkRlOiBTdGVmYW4gSGFucmVpY2ggPHMuaGFucmVpY2hAcHJveG1v eC5jb20+DQpSw6lwb25kcmUgw6A6IFByb3htb3ggVkUgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbiA8 cHZlLQ0KZGV2ZWxAbGlzdHMucHJveG1veC5jb20+DQrDgDogcHZlLWRldmVsQGxpc3RzLnByb3ht b3guY29tDQpPYmpldDogW3B2ZS1kZXZlbF0gW1dJUCB2MyBwdmUtbWFuYWdlciAxOC8yMl0gc2Ru OiBkaGNwOiBhZGQgdmlldyBmb3INCkRIQ1AgbWFwcGluZ3MNCkRhdGU6IDE0LzExLzIwMjMgMTk6 MDY6MTYNCg0KU2lnbmVkLW9mZi1ieTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3ht b3guY29tPg0KLS0tDQrCoHd3dy9jc3MvZXh0Ni1wdmUuY3NzwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqAgMTAgKy0NCsKgd3d3L21hbmFnZXI2L01ha2VmaWxlwqDCoMKgwqDCoMKgwqDCoMKgwqAg fMKgwqAgMiArDQrCoHd3dy9tYW5hZ2VyNi9kYy9Db25maWcuanPCoMKgwqDCoMKgwqAgfMKgIDEy ICstDQrCoHd3dy9tYW5hZ2VyNi9zZG4vTWFwcGluZ0VkaXQuanMgfMKgIDY1ICsrKysrKysrKysN CsKgd3d3L21hbmFnZXI2L3RyZWUvRGhjcFRyZWUuanPCoMKgIHwgMjE1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrDQrCoDUgZmlsZXMgY2hhbmdlZCwgMjk2IGluc2VydGlvbnMoKyks IDggZGVsZXRpb25zKC0pDQrCoGNyZWF0ZSBtb2RlIDEwMDY0NCB3d3cvbWFuYWdlcjYvc2RuL01h cHBpbmdFZGl0LmpzDQrCoGNyZWF0ZSBtb2RlIDEwMDY0NCB3d3cvbWFuYWdlcjYvdHJlZS9EaGNw VHJlZS5qcw0KDQpkaWZmIC0tZ2l0IGEvd3d3L2Nzcy9leHQ2LXB2ZS5jc3MgYi93d3cvY3NzL2V4 dDYtcHZlLmNzcw0KaW5kZXggZTE4YjE3M2Y1Li5lNWU2MTY4MzIgMTAwNjQ0DQotLS0gYS93d3cv Y3NzL2V4dDYtcHZlLmNzcw0KKysrIGIvd3d3L2Nzcy9leHQ2LXB2ZS5jc3MNCkBAIC01MTAsMjMg KzUxMCwyMSBAQCBkaXYucmlnaHQtYWxpZ25lZCB7DQrCoMKgwqDCoCBjb250ZW50OiAnICc7DQrC oH0NCsKgDQotLmZhLXNkbjpiZWZvcmUgew0KKy54LWZhLXNkbi10cmVlbGlzdDpiZWZvcmUgew0K wqDCoMKgwqAgd2lkdGg6IDE0cHg7DQrCoMKgwqDCoCBoZWlnaHQ6IDE0cHg7DQrCoMKgwqDCoCBw b3NpdGlvbjogYWJzb2x1dGU7DQrCoMKgwqDCoCBsZWZ0OiAxcHg7DQrCoMKgwqDCoCB0b3A6IDRw eDsNCit9DQorDQorLmZhLXNkbjpiZWZvcmUgew0KwqDCoMKgwqAgYmFja2dyb3VuZC1pbWFnZTp1 cmwoLi4vaW1hZ2VzL2ljb24tc2RuLnN2Zyk7DQrCoMKgwqDCoCBiYWNrZ3JvdW5kLXNpemU6IDE0 cHggMTRweDsNCsKgwqDCoMKgIGNvbnRlbnQ6ICcgJzsNCsKgfQ0KwqANCsKgLmZhLW5ldHdvcmst d2lyZWQ6YmVmb3JlIHsNCi3CoMKgwqAgd2lkdGg6IDE0cHg7DQotwqDCoMKgIGhlaWdodDogMTRw eDsNCi3CoMKgwqAgcG9zaXRpb246IGFic29sdXRlOw0KLcKgwqDCoCBsZWZ0OiAxcHg7DQotwqDC oMKgIHRvcDogNHB4Ow0KwqDCoMKgwqAgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1hZ2VzL2lj b24tZmEtbmV0d29yay13aXJlZC5zdmcpOw0KwqDCoMKgwqAgYmFja2dyb3VuZC1zaXplOiAxNHB4 IDE0cHg7DQrCoMKgwqDCoCBjb250ZW50OiAnICc7DQpkaWZmIC0tZ2l0IGEvd3d3L21hbmFnZXI2 L01ha2VmaWxlIGIvd3d3L21hbmFnZXI2L01ha2VmaWxlDQppbmRleCBkY2NkMmJhMWMuLmQyMjZj OGZhYSAxMDA2NDQNCi0tLSBhL3d3dy9tYW5hZ2VyNi9NYWtlZmlsZQ0KKysrIGIvd3d3L21hbmFn ZXI2L01ha2VmaWxlDQpAQCAtMTA4LDYgKzEwOCw3IEBADQpKU1NSQz3CoAkJCQkJCQlcDQrCoAl0 cmVlL1Jlc291cmNlVHJlZS5qcwkJCQlcDQrCoAl0cmVlL1NuYXBzaG90VHJlZS5qcwkJCQlcDQrC oAl0cmVlL1Jlc291cmNlTWFwVHJlZS5qcwkJCQlcDQorCXRyZWUvRGhjcFRyZWUuanMJCQkJXA0K wqAJd2luZG93L0JhY2t1cC5qcwkJCQlcDQrCoAl3aW5kb3cvQmFja3VwQ29uZmlnLmpzCQkJCVwN CsKgCXdpbmRvdy9CdWxrQWN0aW9uLmpzCQkJCVwNCkBAIC0yNzQsNiArMjc1LDcgQEANCkpTU1JD PcKgCQkJCQkJCVwNCsKgCXNkbi9ab25lQ29udGVudFZpZXcuanMJCQkJXA0KwqAJc2RuL1pvbmVD b250ZW50UGFuZWwuanMJCQkJXA0KwqAJc2RuL1pvbmVWaWV3LmpzCQkJCQlcDQorCXNkbi9NYXBw aW5nRWRpdC5qcwkJCQlcDQrCoAlzZG4vT3B0aW9uc1BhbmVsLmpzCQkJCVwNCsKgCXNkbi9jb250 cm9sbGVycy9CYXNlLmpzCQkJCVwNCsKgCXNkbi9jb250cm9sbGVycy9FdnBuRWRpdC5qcwkJCVwN CmRpZmYgLS1naXQgYS93d3cvbWFuYWdlcjYvZGMvQ29uZmlnLmpzIGIvd3d3L21hbmFnZXI2L2Rj L0NvbmZpZy5qcw0KaW5kZXggN2QwMWRhNWZiLi4wZTM5NDhlZjQgMTAwNjQ0DQotLS0gYS93d3cv bWFuYWdlcjYvZGMvQ29uZmlnLmpzDQorKysgYi93d3cvbWFuYWdlcjYvZGMvQ29uZmlnLmpzDQpA QCAtMTk1LDcgKzE5NSw3IEBAIEV4dC5kZWZpbmUoJ1BWRS5kYy5Db25maWcnLCB7DQrCoAkJwqDC oMKgIGdyb3VwczogWydzZG4nXSwNCsKgCQnCoMKgwqAgdGl0bGU6IGdldHRleHQoJ1pvbmVzJyks DQrCoAkJwqDCoMKgIGhpZGRlbjogdHJ1ZSwNCi0JCcKgwqDCoCBpY29uQ2xzOiAnZmEgZmEtdGgn LA0KKwkJwqDCoMKgIGljb25DbHM6ICdmYSBmYS10aCB4LWZhLXNkbi10cmVlbGlzdCcsDQrCoAkJ wqDCoMKgIGl0ZW1JZDogJ3NkbnpvbmUnLA0KwqAJCX0sDQrCoAkJew0KQEAgLTIwMyw3ICsyMDMs NyBAQCBFeHQuZGVmaW5lKCdQVkUuZGMuQ29uZmlnJywgew0KwqAJCcKgwqDCoCBncm91cHM6IFsn c2RuJ10sDQrCoAkJwqDCoMKgIHRpdGxlOiAnVk5ldHMnLA0KwqAJCcKgwqDCoCBoaWRkZW46IHRy dWUsDQotCQnCoMKgwqAgaWNvbkNsczogJ2ZhIGZhLW5ldHdvcmstd2lyZWQnLA0KKwkJwqDCoMKg IGljb25DbHM6ICdmYSBmYS1uZXR3b3JrLXdpcmVkIHgtZmEtc2RuLXRyZWVsaXN0JywNCsKgCQnC oMKgwqAgaXRlbUlkOiAnc2Rudm5ldCcsDQrCoAkJfSwNCsKgCQl7DQpAQCAtMjEzLDYgKzIxMywx NCBAQCBFeHQuZGVmaW5lKCdQVkUuZGMuQ29uZmlnJywgew0KwqAJCcKgwqDCoCBoaWRkZW46IHRy dWUsDQrCoAkJwqDCoMKgIGljb25DbHM6ICdmYSBmYS1nZWFyJywNCsKgCQnCoMKgwqAgaXRlbUlk OiAnc2Rub3B0aW9ucycsDQorCQl9LA0KKwkJew0KKwkJwqDCoMKgIHh0eXBlOiAncHZlRGhjcFRy ZWUnLA0KKwkJwqDCoMKgIGdyb3VwczogWydzZG4nXSwNCisJCcKgwqDCoCB0aXRsZTogJ0RoY3Ag TWFwcGluZ3MnLA0KKwkJwqDCoMKgIGhpZGRlbjogdHJ1ZSwNCisJCcKgwqDCoCBpY29uQ2xzOiAn ZmEgZmEtZ2VhcicsDQorCQnCoMKgwqAgaXRlbUlkOiAnc2RubWFwcGluZ3MnLA0KwqAJCX0pOw0K wqAJwqDCoMKgIH0NCsKgDQpkaWZmIC0tZ2l0IGEvd3d3L21hbmFnZXI2L3Nkbi9NYXBwaW5nRWRp dC5qcw0KYi93d3cvbWFuYWdlcjYvc2RuL01hcHBpbmdFZGl0LmpzDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMDAwLi41MzNmYzYyNDkNCi0tLSAvZGV2L251bGwNCisrKyBiL3d3 dy9tYW5hZ2VyNi9zZG4vTWFwcGluZ0VkaXQuanMNCkBAIC0wLDAgKzEsNjUgQEANCitFeHQuZGVm aW5lKCdQVkUuc2RuLkRoY3BNYXBwaW5nSW5wdXRQYW5lbCcsIHsNCivCoMKgwqAgZXh0ZW5kOiAn UHJveG1veC5wYW5lbC5JbnB1dFBhbmVsJywNCivCoMKgwqAgbWl4aW5zOiBbJ1Byb3htb3guTWl4 aW4uQ0JpbmQnXSwNCisNCivCoMKgwqAgaXNDcmVhdGU6IGZhbHNlLA0KKw0KK8KgwqDCoCBpdGVt czogWw0KKwl7DQorCcKgwqDCoCB4dHlwZTogJ3BteERpc3BsYXlFZGl0RmllbGQnLA0KKwnCoMKg wqAgbmFtZTogJ3ZtaWQnLA0KKwnCoMKgwqAgZmllbGRMYWJlbDogZ2V0dGV4dCgnVk1JRCcpLA0K KwnCoMKgwqAgYWxsb3dCbGFuazogZmFsc2UsDQorCcKgwqDCoCBlZGl0YWJsZTogZmFsc2UsDQor CX0sDQorCXsNCisJwqDCoMKgIHh0eXBlOiAncG14RGlzcGxheUVkaXRGaWVsZCcsDQorCcKgwqDC oCBuYW1lOiAnbWFjJywNCisJwqDCoMKgIGZpZWxkTGFiZWw6IGdldHRleHQoJ01BQycpLA0KKwnC oMKgwqAgYWxsb3dCbGFuazogZmFsc2UsDQorCcKgwqDCoCBjYmluZDogew0KKwkJZWRpdGFibGU6 ICd7aXNDcmVhdGV9JywNCisJwqDCoMKgIH0sDQorCX0sDQorCXsNCisJwqDCoMKgIHh0eXBlOiAn cHJveG1veHRleHRmaWVsZCcsDQorCcKgwqDCoCBuYW1lOiAnaXAnLA0KKwnCoMKgwqAgZmllbGRM YWJlbDogZ2V0dGV4dCgnSVAnKSwNCisJwqDCoMKgIGFsbG93Qmxhbms6IGZhbHNlLA0KKwl9LA0K K8KgwqDCoCBdLA0KK30pOw0KKw0KK0V4dC5kZWZpbmUoJ1BWRS5zZG4uTWFwcGluZ0VkaXQnLCB7 DQorwqDCoMKgIGV4dGVuZDogJ1Byb3htb3gud2luZG93LkVkaXQnLA0KKw0KK8KgwqDCoCBzdWJq ZWN0OiBnZXR0ZXh0KCdESENQIE1hcHBpbmcnKSwNCivCoMKgwqAgd2lkdGg6IDM1MCwNCisNCivC oMKgwqAgaXNDcmVhdGU6IGZhbHNlLA0KK8KgwqDCoCBtYXBwaW5nOiB7fSwNCisNCivCoMKgwqAg c3VibWl0VXJsOiBmdW5jdGlvbih1cmwsIHZhbHVlcykgew0KKwlyZXR1cm4gYCR7dXJsfS8ke3Zh bHVlcy52bmV0fS8ke3ZhbHVlcy5tYWN9YDsNCivCoMKgwqAgfSwNCisNCivCoMKgwqAgaW5pdENv bXBvbmVudDogZnVuY3Rpb24oKSB7DQorCXZhciBtZSA9IHRoaXM7DQorDQorCW1lLm1ldGhvZCA9 IG1lLmlzQ3JlYXRlID8gJ1BPU1QnIDogJ1BVVCc7DQorDQorCWxldCBpcGFuZWwgPSBFeHQuY3Jl YXRlKCdQVkUuc2RuLkRoY3BNYXBwaW5nSW5wdXRQYW5lbCcsIHsNCisJwqDCoMKgIGlzQ3JlYXRl OiBtZS5pc0NyZWF0ZSwNCisJfSk7DQorDQorCUV4dC5hcHBseShtZSwgew0KKwnCoMKgwqAgaXRl bXM6IFsNCisJCWlwYW5lbCwNCisJwqDCoMKgIF0sDQorCX0pOw0KKw0KKwltZS5jYWxsUGFyZW50 KCk7DQorDQorCWlwYW5lbC5zZXRWYWx1ZXMobWUubWFwcGluZyk7DQorwqDCoMKgIH0sDQorfSk7 DQpkaWZmIC0tZ2l0IGEvd3d3L21hbmFnZXI2L3RyZWUvRGhjcFRyZWUuanMNCmIvd3d3L21hbmFn ZXI2L3RyZWUvRGhjcFRyZWUuanMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw MDAuLmM3MTRmMGZmMA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvd3d3L21hbmFnZXI2L3RyZWUvRGhj cFRyZWUuanMNCkBAIC0wLDAgKzEsMjE1IEBADQorRXh0LmRlZmluZSgnUFZFLnNkbi5EaGNwVHJl ZScsIHsNCivCoMKgwqAgZXh0ZW5kOiAnRXh0LnRyZWUuUGFuZWwnLA0KK8KgwqDCoCB4dHlwZTog J3B2ZURoY3BUcmVlJywNCisNCivCoMKgwqAgbGF5b3V0OiAnZml0JywNCivCoMKgwqAgcm9vdFZp c2libGU6IGZhbHNlLA0KK8KgwqDCoCBhbmltYXRlOiBmYWxzZSwNCisNCivCoMKgwqAgc3RvcmU6 IHsNCisJc29ydGVyczogWydpcCcsICduYW1lJ10sDQorwqDCoMKgIH0sDQorDQorwqDCoMKgIGNv bnRyb2xsZXI6IHsNCisJeGNsYXNzOiAnRXh0LmFwcC5WaWV3Q29udHJvbGxlcicsDQorCXJlbG9h ZDogZnVuY3Rpb24oKSB7DQorCcKgwqDCoCBsZXQgbWUgPSB0aGlzOw0KKw0KKwnCoMKgwqAgUHJv eG1veC5VdGlscy5BUEkyUmVxdWVzdCh7DQorCQl1cmw6IGAvY2x1c3Rlci9zZG4vaXBhbWAsDQor CQltZXRob2Q6ICdHRVQnLA0KKwkJc3VjY2VzczogZnVuY3Rpb24ocmVzcG9uc2UsIG9wdHMpIHsN CisJCcKgwqDCoCBsZXQgcm9vdCA9IHsNCisJCQluYW1lOiAnX19yb290JywNCisJCQlleHBhbmRl ZDogdHJ1ZSwNCisJCQljaGlsZHJlbjogW10sDQorCQnCoMKgwqAgfTsNCisNCisJCcKgwqDCoCBs ZXQgem9uZXMgPSB7fTsNCisJCcKgwqDCoCBsZXQgdm5ldHMgPSB7fTsNCisJCcKgwqDCoCBsZXQg c3VibmV0cyA9IHt9Ow0KKw0KKwkJwqDCoMKgIHJlc3BvbnNlLnJlc3VsdC5kYXRhLmZvckVhY2go KGVsZW1lbnQpID0+IHsNCisJCQllbGVtZW50LmxlYWYgPSB0cnVlOw0KKw0KKwkJCWlmICghKGVs ZW1lbnQuem9uZSBpbiB6b25lcykpIHsNCisJCQnCoMKgwqAgbGV0IHpvbmUgPSB7DQorCQkJCW5h bWU6IGVsZW1lbnQuem9uZSwNCisJCQkJdHlwZTogJ3pvbmUnLA0KKwkJCQlpY29uQ2xzOiAnZmEg ZmEtdGgnLA0KKwkJCQlleHBhbmRlZDogdHJ1ZSwNCisJCQkJY2hpbGRyZW46IFtdLA0KKwkJCcKg wqDCoCB9Ow0KKw0KKwkJCcKgwqDCoCB6b25lc1tlbGVtZW50LnpvbmVdID0gem9uZTsNCisJCQnC oMKgwqAgcm9vdC5jaGlsZHJlbi5wdXNoKHpvbmUpOw0KKwkJCX0NCisNCisJCQlpZiAoIShlbGVt ZW50LnZuZXQgaW4gdm5ldHMpKSB7DQorCQkJwqDCoMKgIGxldCB2bmV0ID0gew0KKwkJCQluYW1l OiBlbGVtZW50LnZuZXQsDQorCQkJCXR5cGU6ICd2bmV0JywNCisJCQkJaWNvbkNsczogJ2ZhIGZh LW5ldHdvcmstd2lyZWQnLA0KKwkJCQlleHBhbmRlZDogdHJ1ZSwNCisJCQkJY2hpbGRyZW46IFtd LA0KKwkJCcKgwqDCoCB9Ow0KKw0KKwkJCcKgwqDCoCB2bmV0c1tlbGVtZW50LnZuZXRdID0gdm5l dDsNCisJCQnCoMKgwqAgem9uZXNbZWxlbWVudC56b25lXS5jaGlsZHJlbi5wdXNoKHZuZXQpOw0K KwkJCX0NCisNCisJCQlpZiAoIShlbGVtZW50LnN1Ym5ldCBpbiBzdWJuZXRzKSkgew0KKwkJCcKg wqDCoCBsZXQgc3VibmV0ID0gew0KKwkJCQluYW1lOiBlbGVtZW50LnN1Ym5ldCwNCisJCQkJdHlw ZTogJ3N1Ym5ldCcsDQorCQkJCWV4cGFuZGVkOiB0cnVlLA0KKwkJCQljaGlsZHJlbjogW10sDQor CQkJwqDCoMKgIH07DQorDQorCQkJwqDCoMKgIHN1Ym5ldHNbZWxlbWVudC5zdWJuZXRdID0gc3Vi bmV0Ow0KKwkJCcKgwqDCoCB2bmV0c1tlbGVtZW50LnZuZXRdLmNoaWxkcmVuLnB1c2goc3VibmV0 KTsNCisJCQl9DQorDQorCQkJZWxlbWVudC50eXBlID0gJ21hcHBpbmcnOw0KKwkJCXN1Ym5ldHNb ZWxlbWVudC5zdWJuZXRdLmNoaWxkcmVuLnB1c2goZWxlbWVudCkNCjsNCisJCcKgwqDCoCB9KTsN CisNCisJCcKgwqDCoCBtZS5nZXRWaWV3KCkuc2V0Um9vdE5vZGUocm9vdCk7DQorCQl9LA0KKwnC oMKgwqAgfSk7DQorCX0sDQorCWluaXQ6IGZ1bmN0aW9uKHZpZXcpIHsNCisJwqDCoMKgIGxldCBt ZSA9IHRoaXM7DQorCcKgwqDCoCBtZS5yZWxvYWQoKTsNCisJfSwNCisJb25EZWxldGU6IGZ1bmN0 aW9uKHRhYmxlLCBySSwgY0ksIGl0ZW0sIGUsIHsgZGF0YSB9KSB7DQorCcKgwqDCoCBsZXQgbWUg PSB0aGlzOw0KKwnCoMKgwqAgbGV0IHZpZXcgPSBtZS5nZXRWaWV3KCk7DQorDQorCcKgwqDCoCBF eHQuTXNnLnNob3coew0KKwkJdGl0bGU6IGdldHRleHQoJ0NvbmZpcm0nKSwNCisJCWljb246IEV4 dC5Nc2cuV0FSTklORywNCisJCW1lc3NhZ2U6IGdldHRleHQoJ0FyZSB5b3Ugc3VyZSB5b3Ugd2Fu dCB0byByZW1vdmUgREhDUA0KbWFwcGluZyB7MH0nKSwNCisJCWJ1dHRvbnM6IEV4dC5Nc2cuWUVT Tk8sDQorCQlkZWZhdWx0Rm9jdXM6ICdubycsDQorCQljYWxsYmFjazogZnVuY3Rpb24oYnRuKSB7 DQorCQnCoMKgwqAgaWYgKGJ0biAhPT0gJ3llcycpIHsNCisJCcKgwqDCoMKgwqDCoMKgIHJldHVy bjsNCisJCcKgwqDCoCB9DQorDQorCQnCoMKgwqAgUHJveG1veC5VdGlscy5BUEkyUmVxdWVzdCh7 DQorCQkJdXJsOg0KYC9jbHVzdGVyL3Nkbi9pcGFtLyR7ZGF0YS52bmV0fS8ke2RhdGEubWFjfWAs DQorCQkJbWV0aG9kOiAnREVMRVRFJywNCisJCQl3YWl0TXNnVGFyZ2V0OiB2aWV3LA0KKwkJCWZh aWx1cmU6IGZ1bmN0aW9uKHJlc3BvbnNlLCBvcHRzKSB7DQorCQkJwqDCoMKgIEV4dC5Nc2cuYWxl cnQoZ2V0dGV4dCgnRXJyb3InKSwNCnJlc3BvbnNlLmh0bWxTdGF0dXMpOw0KKwkJCX0sDQorCQkJ Y2FsbGJhY2s6IG1lLnJlbG9hZC5iaW5kKG1lKSwNCisJCcKgwqDCoCB9KTsNCisJCX0sDQorCcKg wqDCoCB9KTsNCisJfSwNCivCoMKgwqAgfSwNCisNCivCoMKgwqAgY29sdW1uczogWw0KKwl7DQor CcKgwqDCoCB4dHlwZTogJ3RyZWVjb2x1bW4nLA0KKwnCoMKgwqAgdGV4dDogJ05hbWUgLyBWTUlE JywNCisJwqDCoMKgIGRhdGFJbmRleDogJ25hbWUnLA0KKwnCoMKgwqAgd2lkdGg6IDIwMCwNCisJ wqDCoMKgIHJlbmRlcmVyOiBmdW5jdGlvbih2YWx1ZSwgbWV0YSwgcmVjb3JkKSB7DQorCQlpZiAo cmVjb3JkLmdldCgnZ2F0ZXdheScpKSB7DQorCQnCoMKgwqAgcmV0dXJuICdHYXRld2F5JzsNCisJ CX0NCisNCisJCXJldHVybiByZWNvcmQuZ2V0KCduYW1lJykgPz8gcmVjb3JkLmdldCgndm1pZCcp ID8/ICcnOw0KKwnCoMKgwqAgfSwNCisJfSwNCisJew0KKwnCoMKgwqAgdGV4dDogJ0lQJywNCisJ wqDCoMKgIGRhdGFJbmRleDogJ2lwJywNCisJwqDCoMKgIHdpZHRoOiAyMDAsDQorCX0sDQorCXsN CisJwqDCoMKgIHRleHQ6ICdNQUMnLA0KKwnCoMKgwqAgZGF0YUluZGV4OiAnbWFjJywNCisJwqDC oMKgIHdpZHRoOiAyMDAsDQorCX0sDQorCXsNCisJwqDCoMKgIHRleHQ6ICdHYXRld2F5JywNCisJ wqDCoMKgIGRhdGFJbmRleDogJ2dhdGV3YXknLA0KKwnCoMKgwqAgd2lkdGg6IDIwMCwNCisJfSwN CisJew0KKwnCoMKgwqAgaGVhZGVyOiBnZXR0ZXh0KCdBY3Rpb25zJyksDQorCcKgwqDCoCB4dHlw ZTogJ2FjdGlvbmNvbHVtbicsDQorCcKgwqDCoCBkYXRhSW5kZXg6ICd0ZXh0JywNCisJwqDCoMKg IHdpZHRoOiAxNTAsDQorCcKgwqDCoCBpdGVtczogWw0KKwkJew0KKwkJwqDCoMKgIGhhbmRsZXI6 IGZ1bmN0aW9uKHRhYmxlLCBySSwgY0ksIGl0ZW0sIGUsIHsgZGF0YQ0KfSkgew0KKwkJCWxldCBt ZSA9IHRoaXM7DQorDQorCQkJbGV0IHdpbiA9IEV4dC5jcmVhdGUoJ1BWRS5zZG4uTWFwcGluZ0Vk aXQnLCB7DQorCQkJwqDCoMKgIGF1dG9TaG93OiB0cnVlLA0KKwkJCcKgwqDCoCBtYXBwaW5nOiB7 fSwNCisJCQnCoMKgwqAgdXJsOiBgL2NsdXN0ZXIvc2RuL2lwYW1gLA0KKwkJCcKgwqDCoCBtZXRo b2Q6ICdQT1NUJywNCisJCQnCoMKgwqAgaXNDcmVhdGU6IHRydWUsDQorCQkJwqDCoMKgIGV4dHJh UmVxdWVzdFBhcmFtczogew0KKwkJCQl2bmV0OiBkYXRhLm5hbWUsDQorCQkJwqDCoMKgIH0sDQor CQkJfSk7DQorDQorCQkJd2luLm9uKCdkZXN0cm95JywgbWUucmVsb2FkKTsNCisJCcKgwqDCoCB9 LA0KKwkJwqDCoMKgIGdldFRpcDogKHYsIG0sIHJlYykgPT4gZ2V0dGV4dCgnQWRkJyksDQorCQnC oMKgwqAgZ2V0Q2xhc3M6ICh2LCBtLCB7IGRhdGEgfSkgPT4gew0KKwkJCWlmIChkYXRhLnR5cGUg PT09ICd2bmV0Jykgew0KKwkJCcKgwqDCoCByZXR1cm4gJ2ZhIGZhLXBsdXMtc3F1YXJlJzsNCisJ CQl9DQorDQorCQkJcmV0dXJuICdwbXgtaGlkZGVuJzsNCisJCcKgwqDCoCB9LA0KK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KKwkJew0KKwkJwqDCoMKgIGhhbmRsZXI6IGZ1bmN0 aW9uKHRhYmxlLCBySSwgY0ksIGl0ZW0sIGUsIHsgZGF0YQ0KfSkgew0KKwkJCWxldCBtZSA9IHRo aXM7DQorDQorCQkJbGV0IHdpbiA9IEV4dC5jcmVhdGUoJ1BWRS5zZG4uTWFwcGluZ0VkaXQnLCB7 DQorCQkJwqDCoMKgIGF1dG9TaG93OiB0cnVlLA0KKwkJCcKgwqDCoCBtYXBwaW5nOiBkYXRhLA0K KwkJCcKgwqDCoCB1cmw6IGAvY2x1c3Rlci9zZG4vaXBhbWAsDQorCQkJwqDCoMKgIG1ldGhvZDog J1BVVCcsDQorCQkJwqDCoMKgIGV4dHJhUmVxdWVzdFBhcmFtczogew0KKwkJCQl2bWlkOiBkYXRh LnZtaWQsDQorCQkJCXZuZXQ6IGRhdGEudm5ldCwNCisJCQnCoMKgwqAgfSwNCisJCQl9KTsNCisN CisJCQl3aW4ub24oJ2Rlc3Ryb3knLCBtZS5yZWxvYWQpOw0KKwkJwqDCoMKgIH0sDQorCQnCoMKg wqAgZ2V0VGlwOiAodiwgbSwgcmVjKSA9PiAnRWRpdCcsDQorCQnCoMKgwqAgZ2V0Q2xhc3M6ICh2 LCBtLCB7IGRhdGEgfSkgPT4gew0KKwkJCWlmIChkYXRhLnR5cGUgPT09ICdtYXBwaW5nJyAmJiAh ZGF0YS5nYXRld2F5KQ0Kew0KKwkJCcKgwqDCoCByZXR1cm4gJ2ZhIGZhLXBlbmNpbCBmYS1mdyc7 DQorCQkJfQ0KKw0KKwkJCXJldHVybiAncG14LWhpZGRlbic7DQorCQnCoMKgwqAgfSwNCivCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCisJCXsNCisJCcKgwqDCoCBoYW5kbGVyOiAn b25EZWxldGUnLA0KKwkJwqDCoMKgIGdldFRpcDogKHYsIG0sIHJlYykgPT4gJ0RlbGV0ZScsDQor CQnCoMKgwqAgZ2V0Q2xhc3M6ICh2LCBtLCB7IGRhdGEgfSkgPT4gew0KKwkJCWlmIChkYXRhLnR5 cGUgPT09ICdtYXBwaW5nJyAmJiAhZGF0YS5nYXRld2F5KQ0Kew0KKwkJCcKgwqDCoCByZXR1cm4g J2ZhIGNyaXRpY2FsIGZhLXRyYXNoLW8nOw0KKwkJCX0NCisNCisJCQlyZXR1cm4gJ3BteC1oaWRk ZW4nOw0KKwkJwqDCoMKgIH0sDQorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQor CcKgwqDCoCBdLA0KKwl9LA0KK8KgwqDCoCBdLA0KK30pOw0KDQo=