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 56A9098DEF for ; Fri, 28 Apr 2023 08:44:36 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 39572300F2 for ; Fri, 28 Apr 2023 08:44:06 +0200 (CEST) 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, 28 Apr 2023 08:44:04 +0200 (CEST) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id AC98E4050284 for ; Fri, 28 Apr 2023 08:43:57 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr AC98E4050284 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1682664237; bh=YgEGyYYC5+Hv1IrwMRPq8JzqvsUj9E1/4Ti9ks0WmIY=; h=From:To:Subject:Date:References:In-Reply-To:From; b=uy6slrF7CriATKx44KjR+Lt0HR2shlc1ilodCPtSIUExmwAgm6wiW6XRRp7e3odsa 7tdXC6R2vzsmWc/tGnJfFtZqHj1hpBI7o6oYWFcoMxJ9PRjyRBHQ+zWCbUM2rIKsQl +3/l8c6X09mrE0/h6JI5aIsC0D6aFJPh1eoF+vDM= 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.23; Fri, 28 Apr 2023 08:44:01 +0200 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.23 via Frontend Transport; Fri, 28 Apr 2023 08:44:01 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fojxwIToj7s/EkcYBa19g+qP9U13NW87z7hgiy20uEV2/1TBaK+ji4dfrptOY5ABQFhpsIwM0rYlJCmu28IlOLqHyKGxvcrqTufmk3QvZH4DOhFrVQuvEhPqRzDh6g7KNAkc2vDycGbHmUoJwalaYYMcoq/VM0s6ax8VT6E/2Ai0IvkrjaX1xzeJhWiOl2c6WEkdKCTJ0atpLup8Ze5X+OyGzdF1jCHaQfL2Q6+asqbnqguTCzxSPfrmDTkIP1/3jJ1Lj+QbzGSmZUkSn+3B9UstAC80fjbxV7iEJCsYLlbWe6zMdY5NMBjiASDfSa6/YdmTjyr8akwwA3Vewbw73g== 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=YgEGyYYC5+Hv1IrwMRPq8JzqvsUj9E1/4Ti9ks0WmIY=; b=hhBVm8rW2SP0GWfwpLacJ+UzJbGPmQGSq10QTAXUsMxTgZJm0IlLyKxaxe/h0mcBCS9cVe4EAEoZt/ZR9mbiVQCWpTeUu/c52f6t7K3HrSO+T8A1baYMGFRpePEKIi2YP20gnWt1PJ040pk/O2HSN0iihUAC44xFZnwnuWBRcFiiA2BMOtbWHGGahmWV3xg8/bb7pHaKAz1+YnC+CDNSGG2zBADit0acARCPVWAAwRHfrBzmTq2Y9J0T9CLL1kXuslooYLsx/txh4RXBIdaHhTRZYHOjaQbRCYk0vn+QTs8zASpveQx1l9Feq6Z6/cI1Ui7CwnP/WwMoWTKMpVMyFA== 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=YgEGyYYC5+Hv1IrwMRPq8JzqvsUj9E1/4Ti9ks0WmIY=; b=DWdNo+oXgNoZ4+/IwMmoqXiPPhgAlb0x9oOOu/3Z+0FVoHqFKMT4pmvvswvEzSMw3kKB6vWkfCMNO0zbRzFtDXVeYfoUTC0z/BrHnCB4LTvdmg9r6zAo9UBzSkxnnvKEsAoOkwwFSzOZF1RCbcrTHJ1LonniP4mX76sVvDXHwWA= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by PR0P264MB1788.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:16c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.22; Fri, 28 Apr 2023 06:43:56 +0000 Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::8c27:adb6:8048:dcce]) by MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::8c27:adb6:8048:dcce%5]) with mapi id 15.20.6340.022; Fri, 28 Apr 2023 06:43:56 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" Thread-Topic: [pve-devel] [PATCH v2 qemu-server 2/2] remote-migration: add target-cpu param Thread-Index: AQHZd5Zk7V+ogspFp06Ju9oI0La96689kuaAgAEWLYCAABynAIABhLOA Date: Fri, 28 Apr 2023 06:43:56 +0000 Message-ID: <6999b2267fb55cad2a60675c58051a8ef8258284.camel@groupe-cyllene.com> References: <20230425165233.3745210-1-aderumier@odiso.com> <20230425165233.3745210-3-aderumier@odiso.com> <1682514292.71raew01tr.astroid@yuna.none> <1682580098.xwye6zkp88.astroid@yuna.none> In-Reply-To: <1682580098.xwye6zkp88.astroid@yuna.none> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.48.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_|PR0P264MB1788:EE_ x-ms-office365-filtering-correlation-id: 63ebca39-fa88-4129-f943-08db47b3f081 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0JP0MYqArl8La2njmUvVxAAX6B8jzmVPFE24yMasUScLbjAeeK1qht6FoPQTTzxLeHKmqpeBoNje7khPur0C72j3nAYktPnz85DhMdPTAD/t108TPnfOhqTKtqUY7LrjlPJQPV7lSrltu6jLJdjTVm6170GvmoiOC/SrXYXsB+xDKrqoIfnvydcodDrJpgI66+YaD6kAjZwe6a84Vx06y51LqWDtK21COQzCtiQpUibJBJxL5j+0tp/erR1EH3nl4bw6K1MLVMGLhmyRspafjYOaw4QM3TyJupVKWm43fx6MdBXSIk+IpYIhYwpbfc7uK0PS655RAebHLc9To+R3s0Qnf8dqLSls7ThYaSVF2L2t1R1GuAwqwjLgoMRkzFLleIapKD5Hxs6alLbAJEmunaxt5ulyvUaKXPdQvjFh9as8NGbGfoXbMTpsN2EJ84KZjofm4GODxCB60CrxAV0dGs8Rv9+jIk/RCLCEEW5cknYnhqVnmWDxXu9jSeSc4MrBiev44T6ChZeAghoHQvkJMQZMzwj7pKYlszjzmdlLxp74C2Lwdm1ej0ArajaOiUQ3i5h8J9q7yTHk5M0/R57GTmHd/FmE/fx5l6Max4Kz8xWSsSh24M7+WJM2LVnk/vA4jCVDuPBsZa5vaNR/dK1RKQ== 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:(13230028)(4636009)(376002)(396003)(346002)(136003)(39850400004)(366004)(451199021)(2616005)(83380400001)(38100700002)(38070700005)(86362001)(36756003)(122000001)(478600001)(64756008)(66476007)(66946007)(76116006)(66556008)(66446008)(71200400001)(6486002)(91956017)(5660300002)(8936002)(8676002)(2906002)(6916009)(41300700001)(316002)(30864003)(6506007)(186003)(6512007)(966005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UGE0WTU5U0JQVENqR0Q0dlN3cmRPWnNGdWFWTzVSOFA1ZVRWR1BPS2RQb0ps?= =?utf-8?B?T1UwcFR1NVo1cDB4aFZLTTlhbjgzRE56NGZDUGtFMk1sVWJwYVNGV01ZVHhU?= =?utf-8?B?V2cxWFdzNVYwYVZuM25yVnVTSUdtTWhpOVJqK3pqa0V1SWM5VHhpQ1J4VDYx?= =?utf-8?B?VjFoVDJsWGsvckZsK1lQeFNraW5jdGIzcEgxOGZ6RHBNZWUyUlBJZUU3d05F?= =?utf-8?B?SG1CUGw4ODJSTVRRTjdNRkhnV2Nxd3B5bHZkUzNTbnRIUG8yaSt5WVJXWHdU?= =?utf-8?B?UUh0NEN4bElLRXM0djltQndUSnI0aVY0S0x6UmYxMUlWNkdKdjZVSEM1c2NR?= =?utf-8?B?L2NiaGxNNmFtM0RRTUF5VkptL3JTQzk1Tk51a0JIT0JoaTZLQzhmSDNsS2cr?= =?utf-8?B?VkNQd1VFdlNhTWk1UUJBRFdRK3N5czlLYkloYjUwOXkvRkZrakJRU3JUczNC?= =?utf-8?B?WGN6RC8vSUxBd0Y1cHBhZlF5aDlseGdieHVvbnNpZEowdWk3dXF1UThSTUlW?= =?utf-8?B?cW9jYTZYTkNUb2hUME9UN1NIKzhRcS9Mc2l4VStuVkJxSndiaFZIYytIYkti?= =?utf-8?B?K1R4dG1USlZjaytCNWVlRHVLY1dWcXRRNGpuN1ExM1ViYmRpOERJU28raU12?= =?utf-8?B?d3Zwd2dTRnU4cUgrOVJ4WHdiem9SZmtSVUNhc0lJam9zdEk4WXNuR3krdUlE?= =?utf-8?B?U3h2TnF2OVRlT0YxZ21KTXdqTUVwd01mQVMyT2VvVk5tc3ZFS3BRcUtQc0VX?= =?utf-8?B?NERZa0NMVWhCQzJ6ZVdhK0VmNXR6QzJ2ZklZUDFYalNsMi8ycUJlWHcvczlP?= =?utf-8?B?aUt1M3VzaFFRUmY2SHNyNGJWNHd4dkkrUmw3Tks0dWFGdmpzOEdmOVBaV1Zh?= =?utf-8?B?VTdSMDlvM1JFTTFkSTMvbWN5ZmsrYXI4MlhYUGRpdUhGSlRXZFpyZkV4ajJC?= =?utf-8?B?eUd1VmJQNGl2TGJVR3RpUGh6dTFjZFNXVnhDTGpqYmVQMVR3QWZoV0JUbXMz?= =?utf-8?B?SXI4cldQcVJzaTRVRUlqM0dRd0pGWTYrTmdtaHplV1N0QUpYdUNEQ2hEL1BH?= =?utf-8?B?R1RoNUF3dU9qNXdiUmJqb3dyRkdic3FEb2lwdVlxWDdBaXRDKzhwL2dWTWM3?= =?utf-8?B?dVdqbkhlc09ZTm9RYmQ2SU5PdzU3K3pZUjBIb1JaQUVxZmlYUE5FblFJUWVE?= =?utf-8?B?NHlNRDhwOGVxY3gvbjNHdUkycXNlNThreldBelluejVDNkZBVGZSTkxLL3NN?= =?utf-8?B?endTY0JMVlpIeWpVMWdaS1JYUHJYdmRJS1lCS3orN0dtUFlTSmc2cTFpK25o?= =?utf-8?B?RUp6L3NFeGQ0bnB4L3E4QmJSR3Y4R1llOE90SGxKc2pOamhNZXZqMDNENDhS?= =?utf-8?B?dzFvdG1pQkRDaUJ4K1RKRjIvL3owZWM3bUI5WEJKVDRUMlJ4MjV4Y1JKR2d4?= =?utf-8?B?U3pVZHF4bjZJOXZIWWhrZmxWTHhKRDEyT21EV3ZqSUFFV0c4ZG1QVC85UU1S?= =?utf-8?B?aEpucWZ0WjNQVHUwNnV3N3NKQURHSkpSL29RV05RKzVmUm9GL2d2SWhXMnJh?= =?utf-8?B?NjlqZG9kSWJTdUZpRDAvdTZTcVVFRGV3SGJYT3lQVEhvekNObW4rdm1maGRy?= =?utf-8?B?RVFOWkNEbjVDN2NueGUrNStiSXlFYkhWYW5kbU50cEtqZnFnYVUwVy96RnVH?= =?utf-8?B?WThFT0wreFh2T0VuaWtpaFVqd01uYWRFTmxZU2JxS2t6bUZwRXZnNmU0UkdF?= =?utf-8?B?UnhnN0dieDF2RDFoRkJwYWs5REMzdkVXcDI5WVVSVUtRVVZpelNJMTJUaWJ6?= =?utf-8?B?d05hMnFhdEFqcExBNnQyTThSYnNQNFcwalhjZTVFemYyVU1Bd3pDbHVDdXVp?= =?utf-8?B?aHFNRWc3a0xsOC9YbDBYWnNpbGVUak44WVNaZllxL3I3QlJiZG9NZ0lRVncw?= =?utf-8?B?NGltV0tyZFMrTmxzMEd6L004eG9kWjJ0a2U2OEt6aXNmc2JtY0c4K00zOGJ4?= =?utf-8?B?MDJqYUIreUJJcHErbERXb3VrZjA0KzFvN1hUbWNtVXBsSUVQZmN5WC9xSFV2?= =?utf-8?B?Tm91aUFOL2VPSUVBTmh0RHMraHd6RU1EaU1BMDRSc2hCSjhNMVJ6Q0hMN3Qy?= =?utf-8?B?U0k1OVZsQ3ZSc3BlSUQ2bHY4TCs4bFdsYXRKZGRrNm5RdkVvMjZZQllicGxi?= =?utf-8?Q?YWuQKIED0beaiNNH6YUa96v5MLY2zEePC6J7kcUaIP0L?= Content-Type: text/plain; charset="utf-8" Content-ID: <549308173664474ABFBE6693927F0E5F@FRAP264.PROD.OUTLOOK.COM> 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: 63ebca39-fa88-4129-f943-08db47b3f081 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2023 06:43:56.2252 (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: 5xzwq5kzcjYkZ4DNg1+aF4/nga82oY+Fbx6UzXX95LgrjuIIzAibQFkTbmAtzdNB+W73xj/w7YA//chg4RHpL/6+EJmEwMFDAUG7XRBAozvGHf4aJI/xGp7IUOGrgt0I X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB1788 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.474 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 KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks 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. [qemumigrate.pm, groupecyllene.onmicrosoft.com, qemu.pm, qm.pm, proxmox.com, groupe-cyllene.com, cetsi.fr] Subject: Re: [pve-devel] [PATCH v2 qemu-server 2/2] remote-migration: add target-cpu param 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, 28 Apr 2023 06:44:36 -0000 PiA+DQo+PiBBbmQgY3VycmVudGx5IHdlIGRvbid0IHN1cHBvcnQgeWV0IG9mZmxpbmUgc3RvcmFn ZSBtaWdyYXRpb24uIChCVFcsDQo+PiBUaGlzIGlzIGFsc28gYnJlYWtpbmcgbWlncmF0aW9uIHdp dGggdW51c2VkIGRpc2spLg0KPj4gSSBkb24ndCBrbm93biBpZiB3ZSBjYW4gc2VuZCBzZW5kfHJl Y2VpdiB0cmFuc2ZlcnQgdGhyb3VnaCB0aGUNCnR1bm5lbCA/DQo+PiAoSSBuZXZlciB0ZXN0ZWQg aXQpDQoNCj4gd2UgZG8sIGJ1dCBtYXliZSB5b3UgdGVzdGVkIHdpdGggUkJEIHdoaWNoIGRvZXNu J3Qgc3VwcG9ydCBzdG9yYWdlDQo+IG1pZ3JhdGlvbiB5ZXQ/IHdpdGhpbmcgYSBjbHVzdGVyIGl0 IGRvZXNuJ3QgbmVlZCB0bywgc2luY2UgaXQncyBhDQo+IHNoYXJlZA0KPiBzdG9yYWdlLCBidXQg YmV0d2VlbiBjbHVzdGVyIHdlIG5lZWQgdG8gaW1wbGVtZW50IGl0IChpdCdzIG9uIG15IFRPRE8N Cj4gbGlzdCBhbmQgc2hvdWxkbid0IGJlIHRvbyBoYXJkIHNpbmNlIHRoZXJlIGlzICdyYmQgZXhw b3J0L2ltcG9ydCcpLg0KPiANClllcywgdGhpcyB3YXMgd2l0aCBhbiB1bnVzZWQgcmJkIGRldmlj ZSBpbmRlZWQuDQooQW5vdGhlciB3YXkgY291bGQgYmUgdG8gaW1wbGVtZW50IHFlbXUtc3RvcmFn ZS1kYWVtb24gKG5ldmVyIHRlc3RlZA0KaXQpIGZvciBvZmZsaW5lIHN5bmMgd2l0aCBhbnkgc3Rv cmFnZSwgbGlrZSBsdm0pDQoNCkFsc28gY2xvdWQtaW5pdCBkcml2ZSBzZWVtIHRvIGJlIHVubWln cmF0YWJsZSBjdXJyZW50bHkuIChJIHdvbmRlciBpZg0Kd2UgY291bGRuJ3Qgc2ltcGx5IHJlZ2Vu ZXJhdGUgaXQgb24gdGFyZ2V0LCBhcyBub3cgd2UgaGF2ZSBjbG91ZC1pbml0DQpwZW5kaW5nIHNl Y3Rpb24sIHdlIGNhbiBjb3JyZWN0bHkgZ2VuZXJhdGUgdGhlIGNsb3VkaW5pdCB3aXRoIGN1cnJl bnQNCnJ1bm5pbmcgY29uZmlnKS4NCg0KDQoNCj4gPiA+IGdpdmVuIHRoYXQgaXQgbWlnaHQgbWFr ZSBzZW5zZSB0byBzYXZlLWd1YXJkIHRoaXMgaW1wbGVtZW50YXRpb24NCj4gPiA+IGhlcmUsDQo+ ID4gPiBhbmQgbWF5YmUgc3dpdGNoIHRvIGEgbmV3ICJtb2RlIiBwYXJhbWV0ZXI/DQo+ID4gPiAN Cj4gPiA+IG9ubGluZSA9PiBzd2l0Y2hpbmcgQ1BVIG5vdCBhbGxvd2VkDQo+ID4gPiBvZmZsaW5l IG9yIGhvd2V2ZXItd2UtY2FsbC10aGlzLW5ldy1tb2RlIChvciBpbiB0aGUgZnV0dXJlLCB0d28t DQo+ID4gPiBwaGFzZS1yZXN0YXJ0KSA9PiBzd2l0Y2hpbmcgQ1BVIGFsbG93ZWQNCj4gPiA+IA0K PiA+IA0KPiA+IFllcywgSSB3YXMgdGhpbmtpbmcgYWJvdXQgdGhhdCB0b28uDQo+ID4gTWF5YmUg bm90ICJvZmZsaW5lIiwgYmVjYXVzZSBtYXliZSB3ZSB3YW50IHRvIGltcGxlbWVudCBhIHJlYWwN Cj4gPiBvZmZsaW5lDQo+ID4gbW9kZSBsYXRlci4NCj4gPiBCdXQgc2ltcGx5ICJyZXN0YXJ0IiA/ DQo+IA0KPiBubywgSSBtZWFudCBtb3ZpbmcgdGhlIGV4aXN0aW5nIC0tb25saW5lIHN3aXRjaCB0 byBhIG5ldyBtb2RlDQo+IHBhcmFtZXRlciwNCj4gdGhlbiB3ZSdkIGhhdmUgIm9ubGluZSIgYW5k ICJvZmZsaW5lIiwgYW5kIHRoZW4gYWRkIHlvdXIgbmV3IG1vZGUgb24NCj4gdG9wDQo+ICJob3dl dmVyLXdlLWNhbGwtdGhpcy1uZXctbW9kZSIsIGFuZCB0aGVuIHdlIGNvdWxkIGluIHRoZSBmdXR1 cmUgYWxzbw0KPiBhZGQgInR3by1waGFzZS1yZXN0YXJ0IiBmb3IgdGhlIHN5bmMtdHdpY2UgbW9k ZSBJIGRlc2NyaWJlZCA6KQ0KPiANCj4gdGFyZ2V0LWNwdSB3b3VsZCBvZiBjb3Vyc2UgYWxzbyBi ZSBzdXBwb3J0ZWQgZm9yIHRoZSAoZXhpc3RpbmcpDQo+IG9mZmxpbmUNCj4gbW9kZSwgc2luY2Ug aXQganVzdCBuZWVkcyB0byBhZGFwdCB0aGUgdGFyZ2V0LWNwdSBpbiB0aGUgY29uZmlnLg0KPiAN Cj4gdGhlIG1haW4gdGhpbmcgSSdkIHdhbnQgdG8gYXZvaWQgaXMgc29tZWJvZHkgYWNjaWRlbnRh bGx5IHNldHRpbmcNCj4gInRhcmdldC1jcHUiLCBub3Qga25vd2luZy9ub3RpY2luZyB0aGF0IHRo YXQgZW50YWlscyB3aGF0IGFtb3VudHMgdG8NCj4gYQ0KPiByZXNldCBvZiB0aGUgVk0gYXMgcGFy dCBvZiB0aGUgbWlncmF0aW9uLi4NCj4gDQpZZXMsIHRoYXQgd2hhdCBJIGhhZCB1bmRlcnN0YW5k ZWQNCiA7KQ0KDQpJdCdzIHdhcyBtb3JlIGFib3V0ICJvZmZsaW5lIiB0ZXJtLCBiZWNhdXNlIHdl IGRvbid0IG9mZmxpbmUgdGhlIHNvdXJjZQ0Kdm0gdW50aWwgdGhlIGRpc2sgbWlncmF0aW9uIGlz IGZpbmlzaGVkLiAodG8gcmVkdWNlIGRvd250aW1lKQ0KTW9yZSBsaWtlICJvbmxpbmUtcmVzdGFy dCIgaW5zdGVhZCAib2ZmbGluZSIuDQoNCk9mZmxpbmUgZm9yIG1lICwgaXMgcmVhbGx5LCB3ZSBz aHV0IHRoZSB2bSwgdGhlbiBkbyB0aGUgZGlzayBtaWdyYXRpb24uDQogDQoNCj4gdGhlcmUgd2Vy ZSBhIGZldyB0aGluZ3MgZG93biBiZWxvdyB0aGF0IG1pZ2h0IGFsc28gYmUgd29ydGh5IG9mDQo+ IGRpc2N1c3Npb24uIEkgYWxzbyB3b25kZXIgd2hldGhlciB0aGUgdHdvIHZhcmlhbnRzIG9mICJm cmVlemUgRlMiIGFuZA0KPiAic3VzcGVuZCB3aXRob3V0IHN0YXRlIiBhcmUgZW5vdWdoIC0gdGhh dCBvbmx5IGVuc3VyZXMgdGhhdCBubyBtb3JlDQo+IEkvTw0KPiBoYXBwZW5zIHNvIHRoZSB2b2x1 bWVzIGFyZSBiaXR3aXNlIGlkZW50aWNhbCwgYnV0IHNob3VsZG4ndCB3ZSBhbHNvDQo+IGF0DQo+ IGxlYXN0IGhhdmUgdGhlIG9wdGlvbiBvZiBkb2luZyBhIGNsZWFuIHNodXRkb3duIGF0IHRoYXQg cG9pbnQgc28gdGhhdA0KPiBhcHBsaWNhdGlvbnMgY2FuIHNlcmlhbGl6ZS9mbHVzaCB0aGVpciBz dGF0ZSBwcm9wZXJseSBhbmQgdGhhdCBnZXRzDQo+IHN5bmNlZCBhY3Jvc3MgYXMgd2VsbD8gZWxz ZSB0aGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGN1dHRpbmcgdGhlDQo+IHBvd2VyDQo+IGNvcmQs IHdoaWNoIG1pZ2h0IG5vdCBiZSBhIGdvb2QgZml0IGZvciBhbGwgdXNlIGNhc2VzIDspDQo+IA0K SSBoYWQgdHJ5IHRoZSBjbGVhbiBzaHV0ZG93biBpbiBteSB2MSBwYXRjaMKgDQpodHRwczovL2xp c3RzLnByb3htb3guY29tL3BpcGVybWFpbC9wdmUtZGV2ZWwvMjAyMy1NYXJjaC8wNTYyOTEuaHRt bA0KKHdpdGhvdXQgZG9pbmcgdGhlIGJsb2NrLWpvYi1jb21wbGV0ZSkgaW4gcGhhc2UzLCAgYW5k IEkgaGF2ZSBmcw0KY29ydXB0aW9uIHNvbWV0aW1lLg0KTm90IHN1cmUgd2h5IGV4YWN0bHkgKE1h eWJlIG9zIGRpZG4ndCBoYXZlIGNvcnJlY3RseSBzaHV0ZG93biBvciBtYXliZQ0Kc29tZSBkYXRh cyBpbiB0aGUgYnVmZmVyID8pDQpNYXliZSBkb2luZyB0aGUgYmxvY2stam9iLWNvbXBsZXRlIGJl Zm9yZSBzaG91bGQgbWFrZSBpdCBzYWZlLg0KKHRyYW5zZmVydCBhY2Nlc3MgdG8gdGhlIG5iZCAs IHRoZW4gZG8gdGhlIGNsZWFuIHNodXRkb3duKS4NCg0KSSdsbCBnaXZlIGEgdHJ5IGluIHRoZSBW My4gDQoNCkkganVzdCB3b25kZXIgaWYgd2UgY2FuIGFkZCBhIG5ldyBwYXJhbSwgbGlrZToNCg0K LS1vbmxpbmUgLS1mc2ZyZWV6ZQ0KDQotLW9ubGluZSAtLXNodXRkb3duDQoNCi0tb25saW5lIC0t MnBoYXNlLXJlc3RhcnQNCg0KPw0KDQoNCg0KDQogKEknbSBjdXJyZW50bHkgbWlncmF0aW5nIGEg bG90IG9mIHZtIGJldHdlZW4gYW4gb2xkIGludGVsIGNsdXN0ZXIgdG8NCnRoZSBuZXcgYW1kIGNs dXN0ZXIsIG9uIGRpZmZlcmVudCBkYXRhY2VudGVyLCB3aXRoIGEgZGlmZmVyZW50IGNlcGgNCmNs dXN0ZXIsIHNvIEkgY2FuIHN0aWxsIGRvIHJlYWwgcHJvZHVjdGlvbiB0ZXN0cykNCg0KDQoNCg0K PiA+ID4gPiANCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogQWxleGFuZHJlIERlcnVtaWVyIDxhZGVy dW1pZXJAb2Rpc28uY29tPg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gwqBQVkUvQVBJMi9RZW11LnBt wqDCoCB8IDE4ICsrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiDCoFBWRS9DTEkvcW0ucG3CoMKg wqDCoMKgIHzCoCA2ICsrKysrKw0KPiA+ID4gPiDCoFBWRS9RZW11TWlncmF0ZS5wbSB8IDI1ICsr KysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ID4gwqAzIGZpbGVzIGNoYW5nZWQsIDQ5IGlu c2VydGlvbnMoKykNCj4gPiA+ID4gDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9QVkUvQVBJMi9RZW11 LnBtIGIvUFZFL0FQSTIvUWVtdS5wbQ0KPiA+ID4gPiBpbmRleCA1ODdiYjIyLi42NzAzYzg3IDEw MDY0NA0KPiA+ID4gPiAtLS0gYS9QVkUvQVBJMi9RZW11LnBtDQo+ID4gPiA+ICsrKyBiL1BWRS9B UEkyL1FlbXUucG0NCj4gPiA+ID4gQEAgLTQ0NjAsNiArNDQ2MCwxMiBAQCBfX1BBQ0tBR0VfXy0+ cmVnaXN0ZXJfbWV0aG9kKHsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBvcHRpb25hbCA9PiAxLA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRlZmF1bHQgPT4gMCwNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPiA+ID4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgJ3RhcmdldC1jcHUnID0+IHsNCj4gPiA+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG9wdGlvbmFsID0+IDEsDQo+ID4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXNjcmlwdGlvbiA9PiAiVGFyZ2V0IEVtdWxhdGVkIENQ VSBtb2RlbC4gRm9yDQo+ID4gPiA+IG9ubGluZSBtaWdyYXRpb24sIHRoZSBzdG9yYWdlIGlzIGxp dmUgbWlncmF0ZSwgYnV0IHRoZSBtZW1vcnkNCj4gPiA+ID4gbWlncmF0aW9uIGlzIHNraXBwZWQg YW5kIHRoZSB0YXJnZXQgdm0gaXMgcmVzdGFydGVkLiIsDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB0eXBlID0+ICdzdHJpbmcnLA0KPiA+ID4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgZm9ybWF0ID0+ICdwdmUtdm0tY3B1LWNvbmYnLA0KPiA+ID4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAn dGFyZ2V0LXN0b3JhZ2UnID0+IGdldF9zdGFuZGFyZF9vcHRpb24oJ3B2ZS0NCj4gPiA+ID4gdGFy Z2V0c3RvcmFnZScsIHsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBj b21wbGV0aW9uID0+DQo+ID4gPiA+IFwmUFZFOjpRZW11U2VydmVyOjpjb21wbGV0ZV9taWdyYXRp b25fc3RvcmFnZSwNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBvcHRp b25hbCA9PiAwLA0KPiA+ID4gPiBAQCAtNDU1NywxMSArNDU2MywxNCBAQCBfX1BBQ0tBR0VfXy0+ cmVnaXN0ZXJfbWV0aG9kKHsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoHJhaXNlX3BhcmFtX2V4 Yyh7ICd0YXJnZXQtYnJpZGdlJyA9PiAiZmFpbGVkIHRvIHBhcnNlDQo+ID4gPiA+IGJyaWRnZSBt YXA6ICRAIiB9KQ0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICRAOw0KPiA+ID4g PiDCoA0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBteSAkdGFyZ2V0X2NwdSA9IGV4dHJhY3RfcGFy YW0oJHBhcmFtLCAndGFyZ2V0LWNwdScpOw0KPiA+ID4gDQo+ID4gPiB0aGlzIGlzIG9rYXkNCj4g PiA+IA0KPiA+ID4gPiArDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBkaWUgInJlbW90ZSBtaWdy YXRpb24gcmVxdWlyZXMgZXhwbGljaXQgc3RvcmFnZQ0KPiA+ID4gPiBtYXBwaW5nIVxuIg0KPiA+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICRzdG9yYWdlbWFwLT57aWRlbnRpdHl9Ow0K PiA+ID4gPiDCoA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgJHBhcmFtLT57c3RvcmFnZW1hcH0g PSAkc3RvcmFnZW1hcDsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCRwYXJhbS0+e2JyaWRnZW1h cH0gPSAkYnJpZGdlbWFwOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqAkcGFyYW0tPnt0YXJnZXRj cHV9ID0gJHRhcmdldF9jcHU7DQo+ID4gPiANCj4gPiA+IGJ1dCB0aGlzIGlzIGEgYml0IGNvbmZ1 c2luZyB3aXRoIHRoZSB2YXJpYWJsZS9oYXNoIGtleSBuYW1pbmcgOykNCj4gPiA+IA0KPiA+ID4g PiDCoMKgwqDCoMKgwqDCoMKgJHBhcmFtLT57cmVtb3RlfSA9IHsNCj4gPiA+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBjb25uID0+ICRjb25uX2FyZ3MsICMgcmUtdXNlIGZpbmdlcnByaW50IGZv ciB0dW5uZWwNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbGllbnQgPT4gJGFwaV9j bGllbnQsDQo+ID4gPiA+IEBAIC01NjA0LDYgKzU2MTMsMTUgQEAgX19QQUNLQUdFX18tPnJlZ2lz dGVyX21ldGhvZCh7DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIFBWRTo6UWVtdVNlcnZlcjo6bmJkX3N0b3AoJHN0YXRlLT57dm1pZH0pOw0KPiA+ID4gPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47DQo+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCdyZXN0YXJ0JyA9PiBzdWIgew0KPiA+ID4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFBWRTo6UWVtdVNlcnZlcjo6dm1fc3RvcCh1bmRlZiwg JHN0YXRlLQ0KPiA+ID4gPiA+e3ZtaWR9LA0KPiA+ID4gPiAxLCAxKTsNCj4gPiA+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBteSAkaW5mbyA9DQo+ID4gPiA+IFBWRTo6 UWVtdVNlcnZlcjo6dm1fc3RhcnRfbm9sb2NrKA0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCRzdGF0ZS0+e3N0b3JlY2ZnfSwNCj4gPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAkc3RhdGUtPnt2 bWlkfSwNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAkc3RhdGUtPntjb25mfSwNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCApOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJldHVybjsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0sDQo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJ3Jlc3VtZScgPT4gc3ViIHsN Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYNCj4gPiA+ ID4gKFBWRTo6UWVtdVNlcnZlcjo6SGVscGVyczo6dm1fcnVubmluZ19sb2NhbGx5KCRzdGF0ZS0+ e3ZtaWR9KSkNCj4gPiA+ID4gew0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBQVkU6OlFlbXVTZXJ2ZXI6OnZtX3Jlc3VtZSgkc3RhdGUtDQo+ ID4gPiA+ID57dm1pZH0sDQo+ID4gPiA+IDEsIDEpOw0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvUFZF L0NMSS9xbS5wbSBiL1BWRS9DTEkvcW0ucG0NCj4gPiA+ID4gaW5kZXggYzNjMjk4Mi4uMDZjNzRj MSAxMDA3NTUNCj4gPiA+ID4gLS0tIGEvUFZFL0NMSS9xbS5wbQ0KPiA+ID4gPiArKysgYi9QVkUv Q0xJL3FtLnBtDQo+ID4gPiA+IEBAIC0xODksNiArMTg5LDEyIEBAIF9fUEFDS0FHRV9fLT5yZWdp c3Rlcl9tZXRob2Qoew0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG9w dGlvbmFsID0+IDEsDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGVm YXVsdCA9PiAwLA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+ID4gPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoCAndGFyZ2V0LWNwdScgPT4gew0KPiA+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgb3B0aW9uYWwgPT4gMSwNCj4gPiA+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGRlc2NyaXB0aW9uID0+ICJUYXJnZXQgRW11bGF0ZWQgQ1BVIG1v ZGVsLiBGb3INCj4gPiA+ID4gb25saW5lIG1pZ3JhdGlvbiwgdGhlIHN0b3JhZ2UgaXMgbGl2ZSBt aWdyYXRlLCBidXQgdGhlIG1lbW9yeQ0KPiA+ID4gPiBtaWdyYXRpb24gaXMgc2tpcHBlZCBhbmQg dGhlIHRhcmdldCB2bSBpcyByZXN0YXJ0ZWQuIiwNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHR5cGUgPT4gJ3N0cmluZycsDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBmb3JtYXQgPT4gJ3B2ZS12bS1jcHUtY29uZicsDQo+ID4gPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoCB9LA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICd0YXJn ZXQtc3RvcmFnZScgPT4gZ2V0X3N0YW5kYXJkX29wdGlvbigncHZlLQ0KPiA+ID4gPiB0YXJnZXRz dG9yYWdlJywgew0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbXBs ZXRpb24gPT4NCj4gPiA+ID4gXCZQVkU6OlFlbXVTZXJ2ZXI6OmNvbXBsZXRlX21pZ3JhdGlvbl9z dG9yYWdlLA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG9wdGlvbmFs ID0+IDAsDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9QVkUvUWVtdU1pZ3JhdGUucG0gYi9QVkUvUWVt dU1pZ3JhdGUucG0NCj4gPiA+ID4gaW5kZXggZTE4MjQxNS4uMDRmODA1MyAxMDA2NDQNCj4gPiA+ ID4gLS0tIGEvUFZFL1FlbXVNaWdyYXRlLnBtDQo+ID4gPiA+ICsrKyBiL1BWRS9RZW11TWlncmF0 ZS5wbQ0KPiA+ID4gPiBAQCAtNzMxLDYgKzczMSwxMSBAQCBzdWIgY2xlYW51cF9iaXRtYXBzIHsN Cj4gPiA+ID4gwqBzdWIgbGl2ZV9taWdyYXRpb24gew0KPiA+ID4gPiDCoMKgwqDCoCBteSAoJHNl bGYsICR2bWlkLCAkbWlncmF0ZV91cmksICRzcGljZV9wb3J0KSA9IEBfOw0KPiA+ID4gPiDCoA0K PiA+ID4gPiArwqDCoMKgIGlmKCRzZWxmLT57b3B0c30tPnt0YXJnZXRjcHV9KXsNCj4gPiA+ID4g K8KgwqDCoMKgwqDCoMKgICRzZWxmLT5sb2coJ2luZm8nLCAidGFyZ2V0IGNwdSBpcyBkaWZmZXJl bnQgLSBza2lwDQo+ID4gPiA+IGxpdmUNCj4gPiA+ID4gbWlncmF0aW9uLiIpOw0KPiA+ID4gPiAr wqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPiA+ID4gPiArwqDCoMKgIH0NCj4gPiA+ID4gKw0KPiA+ ID4gPiDCoMKgwqDCoCBteSAkY29uZiA9ICRzZWxmLT57dm1jb25mfTsNCj4gPiA+ID4gwqANCj4g PiA+ID4gwqDCoMKgwqAgJHNlbGYtPmxvZygnaW5mbycsICJzdGFydGluZyBvbmxpbmUvbGl2ZSBt aWdyYXRpb24gb24NCj4gPiA+ID4gJG1pZ3JhdGVfdXJpIik7DQo+ID4gPiA+IEBAIC05OTUsNiAr MTAwMCw3IEBAIHN1YiBwaGFzZTFfcmVtb3RlIHsNCj4gPiA+ID4gwqDCoMKgwqAgbXkgJHJlbW90 ZV9jb25mID0gUFZFOjpRZW11Q29uZmlnLT5sb2FkX2NvbmZpZygkdm1pZCk7DQo+ID4gPiA+IMKg wqDCoMKgIFBWRTo6UWVtdUNvbmZpZy0+dXBkYXRlX3ZvbHVtZV9pZHMoJHJlbW90ZV9jb25mLCAk c2VsZi0NCj4gPiA+ID4gPiB7dm9sdW1lX21hcH0pOw0KPiA+ID4gPiDCoA0KPiA+ID4gPiArwqDC oMKgICRyZW1vdGVfY29uZi0+e2NwdX0gPSAkc2VsZi0+e29wdHN9LT57dGFyZ2V0Y3B1fTsNCj4g PiA+IA0KPiA+ID4gZG8gd2UgbmVlZCBwZXJtaXNzaW9uIGNoZWNrcyBoZXJlIChvciBiZXR0ZXIs IHNvbWV3aGVyZSBlYXJseSBvbiwNCj4gPiA+IGZvcg0KPiA+ID4gZG9pbmcgdGhpcyBoZXJlKQ0K PiA+ID4gDQo+ID4gPiA+IMKgwqDCoMKgIG15ICRicmlkZ2VzID0gbWFwX2JyaWRnZXMoJHJlbW90 ZV9jb25mLCAkc2VsZi0+e29wdHN9LQ0KPiA+ID4gPiA+IHticmlkZ2VtYXB9KTsNCj4gPiA+ID4g wqDCoMKgwqAgZm9yIG15ICR0YXJnZXQgKGtleXMgJGJyaWRnZXMtPiUqKSB7DQo+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqBmb3IgbXkgJG5pYyAoa2V5cyAkYnJpZGdlcy0+eyR0YXJnZXR9LT4lKikg ew0KPiA+ID4gPiBAQCAtMTM1NCw2ICsxMzYwLDIxIEBAIHN1YiBwaGFzZTIgew0KPiA+ID4gPiDC oMKgwqDCoCBsaXZlX21pZ3JhdGlvbigkc2VsZiwgJHZtaWQsICRtaWdyYXRlX3VyaSwgJHNwaWNl X3BvcnQpOw0KPiA+ID4gPiDCoA0KPiA+ID4gPiDCoMKgwqDCoCBpZiAoJHNlbGYtPntzdG9yYWdl X21pZ3JhdGlvbn0pIHsNCj4gPiA+ID4gKw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqAgI2ZyZWV6 ZSBzb3VyY2Ugdm0gaW8vcyBpZiB0YXJnZXQgY3B1IGlzIGRpZmZlcmVudCAobm8NCj4gPiA+ID4g bGl2ZW1pZ3JhdGlvbikNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKCRzZWxmLT57b3B0c30t Pnt0YXJnZXRjcHV9KSB7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCBteSAkYWdlbnRf cnVubmluZyA9ICRzZWxmLT57Y29uZn0tPnthZ2VudH0gJiYNCj4gPiA+ID4gUFZFOjpRZW11U2Vy dmVyOjpxZ2FfY2hlY2tfcnVubmluZygkdm1pZCk7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiAoJGFnZW50X3J1bm5pbmcpIHsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHByaW50ICJmcmVlemUgZmlsZXN5c3RlbVxuIjsNCj4gPiA+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGV2YWwgeyBtb25fY21kKCR2bWlkLCAiZ3Vlc3QtZnNmcmVl emUtZnJlZXplIik7DQo+ID4gPiA+IH07DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkaWUgJEAgaWYgJEA7DQo+ID4gPiANCj4gPiA+IGRpZSBoZXJlDQo+ID4gPiANCj4g PiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIH0gZWxzZSB7DQo+ID4gPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBwcmludCAic3VzcGVuZCB2bVxuIjsNCj4gPiA+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGV2YWwgeyBQVkU6OlFlbXVTZXJ2ZXI6OnZtX3N1c3Bl bmQoJHZtaWQsIDEpOw0KPiA+ID4gPiB9Ow0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgd2FybiAkQCBpZiAkQDsNCj4gPiA+IA0KPiA+ID4gYnV0IHdhcm4gaGVyZT8NCj4g PiA+IA0KPiA+ID4gSSdkIGxpa2Ugc29tZSBtb3JlIHJhdGlvbmFsZSBmb3IgdGhlc2UgdHdvIHZh cmlhbnRzLCB3aGF0IGFyZSB0aGUNCj4gPiA+IHByb3MNCj4gPiA+IGFuZCBjb25zPyBzaG91bGQg d2UgbWFrZSBpdCBjb25maWd1cmFibGU/DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoH0NCj4gPiA+ID4gKw0KPiA+ID4gPiDCoMKgwqDCoMKg wqDCoMKgIyBmaW5pc2ggYmxvY2stam9iIHdpdGggYmxvY2stam9iLWNhbmNlbCwgdG8gZGlzY29u bmVjdA0KPiA+ID4gPiBzb3VyY2UgVk0gZnJvbSBOQkQNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oCMgdG8gYXZvaWQgaXQgdHJ5aW5nIHRvIHJlLWVzdGFibGlzaCBpdC4gV2UgYXJlIGluDQo+ID4g PiA+IGJsb2Nram9iDQo+ID4gPiA+IHJlYWR5IHN0YXRlLA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDC oMKgIyB0aHVzLCB0aGlzIGNvbW1hbmQgY2hhbmdlcyB0byBpdCB0byBibG9ja2pvYiBjb21wbGV0 ZQ0KPiA+ID4gPiAoc2VlIHFhcGkgZG9jcykNCj4gPiA+ID4gQEAgLTE2MDgsNiArMTYyOSwxMCBA QCBzdWIgcGhhc2UzX2NsZWFudXAgew0KPiA+ID4gPiDCoMKgwqDCoCAjIGNsZWFyIG1pZ3JhdGUg bG9jaw0KPiA+ID4gPiDCoMKgwqDCoCBpZiAoJHR1bm5lbCAmJiAkdHVubmVsLT57dmVyc2lvbn0g Pj0gMikgew0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgUFZFOjpUdW5uZWw6OndyaXRlX3R1bm5l bCgkdHVubmVsLCAxMCwgInVubG9jayIpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBpZiAoJHNl bGYtPntvcHRzfS0+e3RhcmdldGNwdX0pIHsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg ICRzZWxmLT5sb2coJ2luZm8nLCAidGFyZ2V0IGNwdSBpcyBkaWZmZXJlbnQgLQ0KPiA+ID4gPiBy ZXN0YXJ0DQo+ID4gPiA+IHRhcmdldCB2bS4iKTsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgIFBWRTo6VHVubmVsOjp3cml0ZV90dW5uZWwoJHR1bm5lbCwgMTAsICdyZXN0YXJ0Jyk7DQo+ ID4gPiA+ICvCoMKgwqDCoMKgwqDCoH0NCj4gPiA+ID4gwqANCj4gPiA+ID4gwqDCoMKgwqDCoMKg wqDCoFBWRTo6VHVubmVsOjpmaW5pc2hfdHVubmVsKCR0dW5uZWwpOw0KPiA+ID4gPiDCoMKgwqDC oCB9IGVsc2Ugew0KPiA+ID4gPiAtLSANCj4gPiA+ID4gMi4zMC4yDQo+ID4gPiA+IA0KPiA+ID4g PiANCj4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gPiA+ID4gcHZlLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+ID4gPiBwdmUtZGV2ZWxAbGlz dHMucHJveG1veC5jb20NCj4gPiA+ID4gaHR0cHM6Ly9hbnRpcGhpc2hpbmcuY2V0c2kuZnIvcHJv eHkvdjM/aT1NbFpTVHpCaFpGWjZOemw0YzNFeU43ZmJTS0RlUExNeGk1dTVfb25wQW9JJnI9Y20x cVZtUllVV2syV1hoWVpWRkhXQTBQWHRUYVl4ejctRklPVGtaQm0zNF9kSGRTY2gtZ1huN1NUOWVH aFFMTiZmPVMxWmtkMDQyVldkclpHNXFRVXh4V2s1cHM0dDY3a051SHNCWnpkemhwcXVMS3VYcVRa TElxMksxRGZLcjlONjF5QmFmbTdBdUFJVGQ2Ykh0UlU0ekVRJnU9aHR0cHMlM0EvL2FudGlwaGlz aGluZy5jZXRzaS5mci9wcm94eS92MyUzRmklM0RaazkyVkVGS2FHUTRVbXM0Y25aRVVXTVRwZkhh WEZRR1J3MV9Dbk9vT0gwJTI2ciUzRGJIQTFkR1YzTldKUVZVbG9hV05GVVpQbTBmaWlCdmlhaXlf UkRhdjJHUTFVNHV5NmxzRER2M3VCc3pwdnZXWVFONUZxS3FGRDZXUFl1cGZBVVAxYzlnJTI2ZiUz RFNsaERiRTl1UzJsYVMySmFaRnBOV3Ztc3hhaTF6bEpQOWxsZ25sNUhJdi00akFqaThEaDJCUWF3 enhJRDVienI2VXYtM0VRZC1lbHVRYnNQZmNVT1RnJTI2dSUzRGh0dHBzJTI1M0EvL2xpc3RzLnBy b3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwlMjZrJTNEWFJLVSZr PUYxaXMNCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4g PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4g cHZlLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+ID4gcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29t DQo+ID4gPiBodHRwczovL2FudGlwaGlzaGluZy5jZXRzaS5mci9wcm94eS92Mz9pPU1sWlNUekJo WkZaNk56bDRjM0V5TjdmYlNLRGVQTE14aTV1NV9vbnBBb0kmcj1jbTFxVm1SWVVXazJXWGhZWlZG SFdBMFBYdFRhWXh6Ny1GSU9Ua1pCbTM0X2RIZFNjaC1nWG43U1Q5ZUdoUUxOJmY9UzFaa2QwNDJW V2RyWkc1cVFVeHhXazVwczR0NjdrTnVIc0JaemR6aHBxdUxLdVhxVFpMSXEySzFEZktyOU42MXlC YWZtN0F1QUlUZDZiSHRSVTR6RVEmdT1odHRwcyUzQS8vYW50aXBoaXNoaW5nLmNldHNpLmZyL3By b3h5L3YzJTNGaSUzRFprOTJWRUZLYUdRNFVtczRjblpFVVdNVHBmSGFYRlFHUncxX0NuT29PSDAl MjZyJTNEYkhBMWRHVjNOV0pRVlVsb2FXTkZVWlBtMGZpaUJ2aWFpeV9SRGF2MkdRMVU0dXk2bHNE RHYzdUJzenB2dldZUU41RnFLcUZENldQWXVwZkFVUDFjOWclMjZmJTNEU2xoRGJFOXVTMmxhUzJK YVpGcE5Xdm1zeGFpMXpsSlA5bGxnbmw1SEl2LTRqQWppOERoMkJRYXd6eElENWJ6cjZVdi0zRVFk LWVsdVFic1BmY1VPVGclMjZ1JTNEaHR0cHMlMjUzQS8vbGlzdHMucHJveG1veC5jb20vY2dpLWJp bi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbCUyNmslM0RYUktVJms9RjFpcw0KPiA+ID4gDQo+ ID4gDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N Cj4gPiBwdmUtZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4gcHZlLWRldmVsQGxpc3RzLnByb3htb3gu Y29tDQo+ID4gaHR0cHM6Ly9hbnRpcGhpc2hpbmcuY2V0c2kuZnIvcHJveHkvdjM/aT1NbFpTVHpC aFpGWjZOemw0YzNFeU43ZmJTS0RlUExNeGk1dTVfb25wQW9JJnI9Y20xcVZtUllVV2syV1hoWVpW RkhXQTBQWHRUYVl4ejctRklPVGtaQm0zNF9kSGRTY2gtZ1huN1NUOWVHaFFMTiZmPVMxWmtkMDQy VldkclpHNXFRVXh4V2s1cHM0dDY3a051SHNCWnpkemhwcXVMS3VYcVRaTElxMksxRGZLcjlONjF5 QmFmbTdBdUFJVGQ2Ykh0UlU0ekVRJnU9aHR0cHMlM0EvL2xpc3RzLnByb3htb3guY29tL2NnaS1i aW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwmaz1GMWlzDQo+ID4gDQo+IA0KPiANCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gcHZlLWRldmVs IG1haWxpbmcgbGlzdA0KPiBwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20NCj4gaHR0cHM6Ly9h bnRpcGhpc2hpbmcuY2V0c2kuZnIvcHJveHkvdjM/aT1NbFpTVHpCaFpGWjZOemw0YzNFeU43ZmJT S0RlUExNeGk1dTVfb25wQW9JJnI9Y20xcVZtUllVV2syV1hoWVpWRkhXQTBQWHRUYVl4ejctRklP VGtaQm0zNF9kSGRTY2gtZ1huN1NUOWVHaFFMTiZmPVMxWmtkMDQyVldkclpHNXFRVXh4V2s1cHM0 dDY3a051SHNCWnpkemhwcXVMS3VYcVRaTElxMksxRGZLcjlONjF5QmFmbTdBdUFJVGQ2Ykh0UlU0 ekVRJnU9aHR0cHMlM0EvL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5m by9wdmUtZGV2ZWwmaz1GMWlzDQoNCg==