From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id F3F18D80A14 for ; Fri, 24 May 2024 05:44:57 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=DJ1EXlVlR5Qafq/OAxPYskd5Tbg4N7hFbrCga9/QJJE=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20240206; t=1716529496; v=1; b=sdLZXpC3bAhZguFtx9OVG+5pjZkm00n4MpeGzHDcjudvLyOHnnKa7YP5pNH9W9O8MhGb90rW TBKhecQYvZV3d6P2ImiyrdjBIH/Cz4bpbxLg8jkWeoKhUGWF9RmRlev01OynIRsWBJKqtLlw0pn JBCwxBZl/yXXRxCbSDnB5eUnGumPBzNBX5A+ZZvPH9d+phKQUyk2I18olg9wkYnMWuSYRoh7Vqz b2rLwp8s5ahw6b4vkrat+F88h+rZOMm8ItTMug7ib/ngWQl8K88ntCVALEjNhxozVjAqV9784Hx 13+QWdRklLrsadad+qU0guMYqGpItJWgMaoJQJJIhu5wA== X-Received: by 127.0.0.2 with SMTP id M5EKYY7687511xfqSvioyuEu; Thu, 23 May 2024 22:44:56 -0700 X-Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41]) by mx.groups.io with SMTP id smtpd.web10.9187.1716529486244676340 for ; Thu, 23 May 2024 22:44:46 -0700 X-Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-2451da9b4feso3250792fac.0 for ; Thu, 23 May 2024 22:44:46 -0700 (PDT) X-Gm-Message-State: UCRth7TbVZIzpTK8AaPo0znQx7686176AA= X-Google-Smtp-Source: AGHT+IHjKL8MiYLt0DBf4SgNT7wYrVIM6R5N/oSunjr5m5/a+8SujopjB1LPsS1y6vyvOr/KIFEjEw== X-Received: by 2002:a05:6870:1492:b0:24c:6198:5ff8 with SMTP id 586e51a60fabf-24ca105306amr1757909fac.4.1716529484302; Thu, 23 May 2024 22:44:44 -0700 (PDT) X-Received: from localhost.localdomain (c-67-160-15-86.hsd1.wa.comcast.net. [67.160.15.86]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-6f8fbd3eb46sm489264b3a.13.2024.05.23.22.44.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 May 2024 22:44:43 -0700 (PDT) From: "Doug Flick via groups.io" X-Google-Original-From: Flickdm To: devel@edk2.groups.io Cc: Saloni Kasbekar , Zachary Clark-williams Subject: [edk2-devel] [PATCH v3 08/20] NetworkPkg:: SECURITY PATCH CVE-2023-45237 Date: Thu, 23 May 2024 22:44:23 -0700 Message-Id: <20240524054435.523079-9-douglas.flick@microsoft.com> In-Reply-To: <20240524054435.523079-1-douglas.flick@microsoft.com> References: <20240524054435.523079-1-douglas.flick@microsoft.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Thu, 23 May 2024 22:44:46 -0700 Resent-From: dougflick@microsoft.com Reply-To: devel@edk2.groups.io,dougflick@microsoft.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=sdLZXpC3; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=pass (policy=none) header.from=groups.io RnJvbTogRG91ZyBGbGljayA8ZG91Z2ZsaWNrQG1pY3Jvc29mdC5jb20+CgpSRUY6aHR0cHM6Ly9i dWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQyCgpCdWcgT3ZlcnZpZXc6 ClBpeGllRmFpbCBCdWcgIzkKQ1ZFLTIwMjMtNDUyMzcKQ1ZTUzozLjEvQVY6Ti9BQzpML1BSOk4v VUk6Ti9TOlUvQzpML0k6Ti9BOk4KQ1dFLTMzOCBVc2Ugb2YgQ3J5cHRvZ3JhcGhpY2FsbHkgV2Vh ayBQc2V1ZG8tUmFuZG9tIE51bWJlciBHZW5lcmF0b3IgKFBSTkcpCgpVc2Ugb2YgYSBXZWFrIFBz ZXVkb1JhbmRvbSBOdW1iZXIgR2VuZXJhdG9yCgpDaGFuZ2UgT3ZlcnZpZXc6CgpVcGRhdGVzIGFs bCBJbnN0YW5jZXMgb2YgTkVUX1JBTkRPTSAoTmV0UmFuZG9tSW5pdFNlZWQgKCkpIHRvIGVpdGhl cgoKPgo+IEVGSV9TVEFUVVMKPiBFRklBUEkKPiBQc2V1ZG9SYW5kb21VMzIgKAo+ICBPVVQgVUlO VDMyICAqT3V0cHV0Cj4gICk7Cj4KCm9yIChkZXBlbmRpbmcgb24gdGhlIHVzZSBjYXNlKQoKPgo+ IEVGSV9TVEFUVVMKPiBFRklBUEkKPiBQc2V1ZG9SYW5kb20gKAo+ICBPVVQgIFZPSUQgICAqT3V0 cHV0LAo+ICBJTiAgIFVJTlROICBPdXRwdXRMZW5ndGgKPiAgKTsKPgoKVGhpcyBpcyBiZWNhdXNl IHRoZSB1c2Ugb2YKCkV4YW1wbGU6CgpUaGUgZm9sbG93aW5nIGNvZGUgc25pcHBldCBQc2V1ZG9S YW5kb21VMzIgKCkgZnVuY3Rpb24gaXMgdXNlZDoKCj4KPiBVSU5UMzIgICAgICAgICBSYW5kb207 Cj4KPiBTdGF0dXMgPSBQc2V1ZG9SYW5kb21VMzIgKCZSYW5kb20pOwo+IGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsKPiAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYSBmYWlsZWQgdG8gZ2VuZXJh dGUgcmFuZG9tIG51bWJlcjogJXJcbiIsCl9fZnVuY19fLCBTdGF0dXMpKTsKPiAgIHJldHVybiBT dGF0dXM7Cj4gfQo+CgpUaGlzIGFsc28gaW50cm9kdWNlcyBhIG5ldyBQQ0QgdG8gZW5hYmxlL2Rp c2FibGUgdGhlIHVzZSBvZiB0aGUKc2VjdXJlIGltcGxlbWVudGF0aW9uIG9mIGFsZ29yaXRobXMg Zm9yIFBzZXVkb1JhbmRvbSAoKSBhbmQKaW5zdGVhZCBkZXBlbmQgb24gdGhlIGRlZmF1bHQgaW1w bGVtZW50YXRpb24uIFRoaXMgbWF5IGJlIHJlcXVpcmVkIGZvcgpzb21lIHBsYXRmb3JtcyB3aGVy ZSB0aGUgVUVGSSBTcGVjIGRlZmluZWQgYWxnb3JpdGhtcyBhcmUgbm90IGF2YWlsYWJsZS4KCj4K PiBQY2RFbmZvcmNlU2VjdXJlUm5nQWxnb3JpdGhtcwo+CgpJZiB0aGUgcGxhdGZvcm0gZG9lcyBu b3QgaGF2ZSBhbnkgb25lIG9mIHRoZSBVRUZJIGRlZmluZWQKc2VjdXJlIFJORyBhbGdvcml0aG1z IHRoZW4gdGhlIGRyaXZlciB3aWxsIGFzc2VydC4KCkNjOiBTYWxvbmkgS2FzYmVrYXIgPHNhbG9u aS5rYXNiZWthckBpbnRlbC5jb20+CkNjOiBaYWNoYXJ5IENsYXJrLXdpbGxpYW1zIDx6YWNoYXJ5 LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4KClNpZ25lZC1vZmYtYnk6IERvdWcgRmxpY2sgW01T RlRdIDxkb3VnLmVkazJAZ21haWwuY29tPgotLS0KIE5ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMg ICAgICAgICAgICAgICAgICB8ICAgNyArKwogTmV0d29ya1BrZy9MaWJyYXJ5L0R4ZU5ldExpYi9E eGVOZXRMaWIuaW5mIHwgIDE0ICsrLQogTmV0d29ya1BrZy9UY3BEeGUvVGNwRHhlLmluZiAgICAg ICAgICAgICAgIHwgICAzICsKIE5ldHdvcmtQa2cvSVNjc2lEeGUvSVNjc2lNaXNjLmggICAgICAg ICAgICB8ICAgNiArLQogTmV0d29ya1BrZy9JbmNsdWRlL0xpYnJhcnkvTmV0TGliLmggICAgICAg IHwgIDQwICsrKystLQogTmV0d29ya1BrZy9JcDZEeGUvSXA2TmQuaCAgICAgICAgICAgICAgICAg IHwgICA4ICstCiBOZXR3b3JrUGtnL0RoY3A0RHhlL0RoY3A0RHJpdmVyLmMgICAgICAgICAgfCAg MTAgKy0KIE5ldHdvcmtQa2cvRGhjcDZEeGUvRGhjcDZEcml2ZXIuYyAgICAgICAgICB8ICAxMSAr LQogTmV0d29ya1BrZy9EbnNEeGUvRG5zRGhjcC5jICAgICAgICAgICAgICAgIHwgIDEwICstCiBO ZXR3b3JrUGtnL0Ruc0R4ZS9EbnNJbXBsLmMgICAgICAgICAgICAgICAgfCAgMTEgKy0KIE5ldHdv cmtQa2cvSHR0cEJvb3REeGUvSHR0cEJvb3REaGNwNi5jICAgICB8ICAxMCArLQogTmV0d29ya1Br Zy9JU2NzaUR4ZS9JU2NzaUNIQVAuYyAgICAgICAgICAgIHwgIDE5ICsrLQogTmV0d29ya1BrZy9J U2NzaUR4ZS9JU2NzaU1pc2MuYyAgICAgICAgICAgIHwgIDE0ICstLQogTmV0d29ya1BrZy9JcDRE eGUvSXA0RHJpdmVyLmMgICAgICAgICAgICAgIHwgIDEwICstCiBOZXR3b3JrUGtnL0lwNkR4ZS9J cDZDb25maWdJbXBsLmMgICAgICAgICAgfCAgIDkgKy0KIE5ldHdvcmtQa2cvSXA2RHhlL0lwNkRy aXZlci5jICAgICAgICAgICAgICB8ICAxNyArKy0KIE5ldHdvcmtQa2cvSXA2RHhlL0lwNklmLmMg ICAgICAgICAgICAgICAgICB8ICAxMiArLQogTmV0d29ya1BrZy9JcDZEeGUvSXA2TWxkLmMgICAg ICAgICAgICAgICAgIHwgIDEyICstCiBOZXR3b3JrUGtnL0lwNkR4ZS9JcDZOZC5jICAgICAgICAg ICAgICAgICAgfCAgMzMgKysrKy0KIE5ldHdvcmtQa2cvTGlicmFyeS9EeGVOZXRMaWIvRHhlTmV0 TGliLmMgICB8IDEzMCArKysrKysrKysrKysrKysrKy0tLQogTmV0d29ya1BrZy9UY3BEeGUvVGNw RHJpdmVyLmMgICAgICAgICAgICAgIHwgIDE1ICsrLQogTmV0d29ya1BrZy9VZHA0RHhlL1VkcDRE cml2ZXIuYyAgICAgICAgICAgIHwgIDEwICstCiBOZXR3b3JrUGtnL1VkcDZEeGUvVWRwNkRyaXZl ci5jICAgICAgICAgICAgfCAgMTEgKy0KIE5ldHdvcmtQa2cvVWVmaVB4ZUJjRHhlL1B4ZUJjRGhj cDQuYyAgICAgICB8ICAgOSArLQogTmV0d29ya1BrZy9VZWZpUHhlQmNEeGUvUHhlQmNEaGNwNi5j ICAgICAgIHwgIDExICstCiBOZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9QeGVCY0RyaXZlci5jICAg ICAgfCAgMTIgKy0KIE5ldHdvcmtQa2cvU2VjdXJpdHlGaXhlcy55YW1sICAgICAgICAgICAgICB8 ICAzOSArKysrKysKIDI3IGZpbGVzIGNoYW5nZWQsIDQxMCBpbnNlcnRpb25zKCspLCA4MyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjIGIvTmV0d29y a1BrZy9OZXR3b3JrUGtnLmRlYwppbmRleCBlMDZmMzVlNzc0Li43YzQyODliNzdiIDEwMDY0NAot LS0gYS9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjCisrKyBiL05ldHdvcmtQa2cvTmV0d29ya1Br Zy5kZWMKQEAgLTUsNiArNSw3IEBACiAjDQogIyBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDIxLCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQogIyAoQykgQ29weXJp Z2h0IDIwMTUtMjAyMCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUDxC Uj4NCisjIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogIw0KICMgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiAjDQpAQCAtMTMwLDYgKzEz MSwxMiBAQAogICAjIEBQcm9tcHQgSW5kaWNhdGVzIHdoZXRoZXIgU25wRHhlIGNyZWF0ZXMgZXZl bnQgZm9yIEV4aXRCb290U2VydmljZXMoKSBjYWxsLg0KICAgZ0VmaU5ldHdvcmtQa2dUb2tlblNw YWNlR3VpZC5QY2RTbnBDcmVhdGVFeGl0Qm9vdFNlcnZpY2VzRXZlbnR8VFJVRXxCT09MRUFOfDB4 MTAwMDAwMEMNCiANCisgICMjIEVuZm9yY2VzIHRoZSB1c2Ugb2YgU2VjdXJlIFVFRkkgc3BlYyBk ZWZpbmVkIFJORyBhbGdvcml0aG1zIGZvciBhbGwgbmV0d29yayBjb25uZWN0aW9ucy4NCisgICMg VFJVRSAgLSBFbmZvcmNlIHRoZSB1c2Ugb2YgU2VjdXJlIFVFRkkgc3BlYyBkZWZpbmVkIFJORyBh bGdvcml0aG1zLg0KKyAgIyBGQUxTRSAtIERvIG5vdCBlbmZvcmNlIGFuZCBkZXBlbmQgb24gdGhl IGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgUk5HIGFsZ29yaXRobSBmcm9tIHRoZSBwcm92aWRl ci4NCisgICMgQFByb21wdCBFbmZvcmNlIHRoZSB1c2Ugb2YgU2VjdXJlIFVFRkkgc3BlYyBkZWZp bmVkIFJORyBhbGdvcml0aG1zLg0KKyAgZ0VmaU5ldHdvcmtQa2dUb2tlblNwYWNlR3VpZC5QY2RF bmZvcmNlU2VjdXJlUm5nQWxnb3JpdGhtc3xUUlVFfEJPT0xFQU58MHgxMDAwMDAwRA0KKw0KIFtQ Y2RzRml4ZWRBdEJ1aWxkLCBQY2RzUGF0Y2hhYmxlSW5Nb2R1bGUsIFBjZHNEeW5hbWljLCBQY2Rz RHluYW1pY0V4XQ0KICAgIyMgSVB2NiBESENQIFVuaXF1ZSBJZGVudGlmaWVyIChEVUlEKSBUeXBl IGNvbmZpZ3VyYXRpb24gKEZyb20gUkZDcyAzMzE1IGFuZCA2MzU1KS4NCiAgICMgMDEgPSBEVUlE IEJhc2VkIG9uIExpbmstbGF5ZXIgQWRkcmVzcyBQbHVzIFRpbWUgW0RVSUQtTExUXQ0KZGlmZiAt LWdpdCBhL05ldHdvcmtQa2cvTGlicmFyeS9EeGVOZXRMaWIvRHhlTmV0TGliLmluZiBiL05ldHdv cmtQa2cvTGlicmFyeS9EeGVOZXRMaWIvRHhlTmV0TGliLmluZgppbmRleCA4MTQ1ZDI1NmVjLi5h OGY1MzRhMjkzIDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL0xpYnJhcnkvRHhlTmV0TGliL0R4ZU5l dExpYi5pbmYKKysrIGIvTmV0d29ya1BrZy9MaWJyYXJ5L0R4ZU5ldExpYi9EeGVOZXRMaWIuaW5m CkBAIC0zLDYgKzMsNyBAQAogIw0KICMgIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTgsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCiAjICAoQykgQ29weXJpZ2h0 IDIwMTUgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQorIyAg Q29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCiAjICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KICMNCiAjIw0KQEAgLTQ5LDcgKzUwLDExIEBA CiAgIGdFZmlTbWJpb3NUYWJsZUd1aWQgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBTT01F VElNRVNfQ09OU1VNRVMgICMjIFN5c3RlbVRhYmxlDQogICBnRWZpU21iaW9zM1RhYmxlR3VpZCAg ICAgICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTICAjIyBTeXN0ZW1U YWJsZQ0KICAgZ0VmaUFkYXB0ZXJJbmZvTWVkaWFTdGF0ZUd1aWQgICAgICAgICAgICAgICAgICMj IFNPTUVUSU1FU19DT05TVU1FUw0KLQ0KKyAgZ0VmaVJuZ0FsZ29yaXRobVJhdyAgICAgICAgICAg ICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQorICBnRWZpUm5nQWxnb3JpdGhtU3A4MDA5MEN0 cjI1Nkd1aWQgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCisgIGdFZmlSbmdBbGdvcml0aG1TcDgw MDkwSG1hYzI1Nkd1aWQgICAgICAgICAgICAjIyBDT05TVU1FUw0KKyAgZ0VmaVJuZ0FsZ29yaXRo bVNwODAwOTBIYXNoMjU2R3VpZCAgICAgICAgICAgICMjIENPTlNVTUVTDQorICBnRWZpUm5nQWxn b3JpdGhtQXJtUm5kciAgICAgICAgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCiANCiBbUHJv dG9jb2xzXQ0KICAgZ0VmaVNpbXBsZU5ldHdvcmtQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAg ICMjIFNPTUVUSU1FU19DT05TVU1FUw0KQEAgLTU5LDMgKzY0LDEwIEBACiAgIGdFZmlDb21wb25l bnROYW1lUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMN CiAgIGdFZmlDb21wb25lbnROYW1lMlByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAjIyBTT01F VElNRVNfQ09OU1VNRVMNCiAgIGdFZmlBZGFwdGVySW5mb3JtYXRpb25Qcm90b2NvbEd1aWQgICAg ICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCisgIGdFZmlSbmdQcm90b2NvbEd1aWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAjIyBDT05TVU1FUw0KKw0KK1tGaXhlZFBjZF0NCisgIGdF ZmlOZXR3b3JrUGtnVG9rZW5TcGFjZUd1aWQuUGNkRW5mb3JjZVNlY3VyZVJuZ0FsZ29yaXRobXMg IyMgQ09OU1VNRVMNCisNCitbRGVwZXhdDQorICBnRWZpUm5nUHJvdG9jb2xHdWlkDQpkaWZmIC0t Z2l0IGEvTmV0d29ya1BrZy9UY3BEeGUvVGNwRHhlLmluZiBiL05ldHdvcmtQa2cvVGNwRHhlL1Rj cER4ZS5pbmYKaW5kZXggYzBhY2JkY2E1Ny4uY2Y1NDIzZjRjNSAxMDA2NDQKLS0tIGEvTmV0d29y a1BrZy9UY3BEeGUvVGNwRHhlLmluZgorKysgYi9OZXR3b3JrUGtnL1RjcER4ZS9UY3BEeGUuaW5m CkBAIC04Miw1ICs4Miw4IEBACiAgIGdFZmlUY3A2UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAg ICAgICAgICAgICAjIyBCWV9TVEFSVA0KICAgZ0VmaVRjcDZTZXJ2aWNlQmluZGluZ1Byb3RvY29s R3VpZCAgICAgICAgICAgICMjIEJZX1NUQVJUDQogDQorW0RlcGV4XQ0KKyAgZ0VmaUhhc2gyU2Vy dmljZUJpbmRpbmdQcm90b2NvbEd1aWQNCisNCiBbVXNlckV4dGVuc2lvbnMuVGlhbm9Db3JlLiJF eHRyYUZpbGVzIl0NCiAgIFRjcER4ZUV4dHJhLnVuaQ0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cv SVNjc2lEeGUvSVNjc2lNaXNjLmggYi9OZXR3b3JrUGtnL0lTY3NpRHhlL0lTY3NpTWlzYy5oCmlu ZGV4IGE5NTFlZWU3MGUuLjkxYjJjZDIyNjEgMTAwNjQ0Ci0tLSBhL05ldHdvcmtQa2cvSVNjc2lE eGUvSVNjc2lNaXNjLmgKKysrIGIvTmV0d29ya1BrZy9JU2NzaUR4ZS9JU2NzaU1pc2MuaApAQCAt Miw2ICsyLDcgQEAKICAgTWlzY2VsbGFuZW91cyBkZWZpbml0aW9ucyBmb3IgaVNDU0kgZHJpdmVy Lg0KIA0KIENvcHlyaWdodCAoYykgMjAwNCAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCitDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlv bg0KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQogDQogKiov DQpAQCAtMjAyLDggKzIwMywxMSBAQCBJU2NzaU5ldE50b2kgKAogICBAcGFyYW1baW4sIG91dF0g IFJhbmQgICAgICAgVGhlIGJ1ZmZlciB0byBjb250YWluIHJhbmRvbSBudW1iZXJzLg0KICAgQHBh cmFtW2luXSAgICAgICBSYW5kTGVuZ3RoIFRoZSBsZW5ndGggb2YgdGhlIFJhbmQgYnVmZmVyLg0K IA0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyBvbiBzdWNjZXNzDQorICBAcmV0dmFsIG90aGVycyAg ICAgIG9uIGVycm9yDQorDQogKiovDQotVk9JRA0KK0VGSV9TVEFUVVMNCiBJU2NzaUdlblJhbmRv bSAoDQogICBJTiBPVVQgVUlOVDggICpSYW5kLA0KICAgSU4gICAgIFVJTlROICBSYW5kTGVuZ3Ro DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9JbmNsdWRlL0xpYnJhcnkvTmV0TGliLmggYi9OZXR3 b3JrUGtnL0luY2x1ZGUvTGlicmFyeS9OZXRMaWIuaAppbmRleCA4YzBlNjJiMzg4Li5lODEwOGI3 OWRiIDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL0luY2x1ZGUvTGlicmFyeS9OZXRMaWIuaAorKysg Yi9OZXR3b3JrUGtnL0luY2x1ZGUvTGlicmFyeS9OZXRMaWIuaApAQCAtMyw2ICszLDcgQEAKICAg SXQgcHJvdmlkZXMgYmFzaWMgZnVuY3Rpb25zIGZvciB0aGUgVUVGSSBuZXR3b3JrIHN0YWNrLg0K IA0KIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLjxCUj4NCitDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0K IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQogDQogKiovDQpA QCAtNTM5LDggKzU0MCw2IEBAIGV4dGVybiBFRklfSVB2NF9BRERSRVNTICBtWmVyb0lwNEFkZHI7 CiAjZGVmaW5lIFRJQ0tTX1BFUl9NUyAgICAgIDEwMDAwVQ0KICNkZWZpbmUgVElDS1NfUEVSX1NF Q09ORCAgMTAwMDAwMDBVDQogDQotI2RlZmluZSBORVRfUkFORE9NKFNlZWQpICAoKFVJTlQzMikg KChVSU5UMzIpIChTZWVkKSAqIDExMDM1MTUyNDVVTCArIDEyMzQ1KSAlIDQyOTQ5NjcyOTVVTCkN Ci0NCiAvKioNCiAgIEV4dHJhY3QgYSBVSU5UMzIgZnJvbSBhIGJ5dGUgc3RyZWFtLg0KIA0KQEAg LTU4MCwxOSArNTc5LDQwIEBAIE5ldFB1dFVpbnQzMiAoCiAgICk7DQogDQogLyoqDQotICBJbml0 aWFsaXplIGEgcmFuZG9tIHNlZWQgdXNpbmcgY3VycmVudCB0aW1lIGFuZCBtb25vdG9uaWMgY291 bnQuDQorICBHZW5lcmF0ZSBhIFJhbmRvbSBvdXRwdXQgZGF0YSBnaXZlbiBhIGxlbmd0aC4NCiAN Ci0gIEdldCBjdXJyZW50IHRpbWUgYW5kIG1vbm90b25pYyBjb3VudCBmaXJzdC4gVGhlbiBpbml0 aWFsaXplIGEgcmFuZG9tIHNlZWQNCi0gIGJhc2VkIG9uIHNvbWUgYmFzaWMgbWF0aGVtYXRpY3Mg b3BlcmF0aW9uIG9uIHRoZSBob3VyLCBkYXksIG1pbnV0ZSwgc2Vjb25kLA0KLSAgbmFub3NlY29u ZCBhbmQgeWVhciBvZiB0aGUgY3VycmVudCB0aW1lIGFuZCB0aGUgbW9ub3RvbmljIGNvdW50IHZh bHVlLg0KKyAgQHBhcmFtW291dF0gT3V0cHV0IC0gVGhlIGJ1ZmZlciB0byBzdG9yZSB0aGUgZ2Vu ZXJhdGVkIHJhbmRvbSBkYXRhLg0KKyAgQHBhcmFtW2luXSBPdXRwdXRMZW5ndGggLSBUaGUgbGVu Z3RoIG9mIHRoZSBvdXRwdXQgYnVmZmVyLg0KIA0KLSAgQHJldHVybiBUaGUgcmFuZG9tIHNlZWQg aW5pdGlhbGl6ZWQgd2l0aCBjdXJyZW50IHRpbWUuDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICBPbiBTdWNjZXNzDQorICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBQb2lu dGVyIGlzIG51bGwgb3Igc2l6ZSBpcyB6ZXJvDQorICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAg ICAgICBSTkcgcHJvdG9jb2wgbm90IGZvdW5kDQorICBAcmV0dmFsIE90aGVycyAgICAgICAgICAg ICAgICBFcnJvciBmcm9tIFJuZ1Byb3RvY29sLT5HZXRSTkcoKQ0KIA0KKyAgQHJldHVybiBTdGF0 dXMgY29kZQ0KICoqLw0KLVVJTlQzMg0KK0VGSV9TVEFUVVMNCiBFRklBUEkNCi1OZXRSYW5kb21J bml0U2VlZCAoDQotICBWT0lEDQorUHNldWRvUmFuZG9tICgNCisgIE9VVCAgVk9JRCAgICpPdXRw dXQsDQorICBJTiAgIFVJTlROICBPdXRwdXRMZW5ndGgNCisgICk7DQorDQorLyoqDQorICBHZW5l cmF0ZSBhIDMyLWJpdCBwc2V1ZG8tcmFuZG9tIG51bWJlci4NCisNCisgIEBwYXJhbVtvdXRdIE91 dHB1dCAtIFRoZSBidWZmZXIgdG8gc3RvcmUgdGhlIGdlbmVyYXRlZCByYW5kb20gbnVtYmVyLg0K Kw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgT24gU3VjY2Vzcw0KKyAgQHJldHZh bCBFRklfTk9UX0ZPVU5EICAgICAgICAgUk5HIHByb3RvY29sIG5vdCBmb3VuZA0KKyAgQHJldHZh bCBPdGhlcnMgICAgICAgICAgICAgICAgRXJyb3IgZnJvbSBSbmdQcm90b2NvbC0+R2V0Uk5HKCkN CisNCisgIEByZXR1cm4gU3RhdHVzIGNvZGUNCisqKi8NCitFRklfU1RBVFVTDQorRUZJQVBJDQor UHNldWRvUmFuZG9tVTMyICgNCisgIE9VVCAgVUlOVDMyICAqT3V0cHV0DQogICApOw0KIA0KICNk ZWZpbmUgTkVUX0xJU1RfVVNFUl9TVFJVQ1QoRW50cnksIFR5cGUsIEZpZWxkKSAgICAgICAgXA0K ZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvSXA2RHhlL0lwNk5kLmggYi9OZXR3b3JrUGtnL0lwNkR4 ZS9JcDZOZC5oCmluZGV4IGJmNjRlOTExNGUuLjU3OTVlMjNjN2QgMTAwNjQ0Ci0tLSBhL05ldHdv cmtQa2cvSXA2RHhlL0lwNk5kLmgKKysrIGIvTmV0d29ya1BrZy9JcDZEeGUvSXA2TmQuaApAQCAt Miw3ICsyLDcgQEAKICAgRGVmaW5pdGlvbiBvZiBOZWlnaGJvciBEaXNjb3Zlcnkgc3VwcG9ydCBy b3V0aW5lcy4NCiANCiAgIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTIsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCi0NCisgIENvcHlyaWdodCAoYykgTWljcm9z b2Z0IENvcnBvcmF0aW9uDQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KIA0KICoqLw0KQEAgLTc4MCwxMCArNzgwLDEwIEBAIElwNk9uQXJwUmVzb2x2ZWQg KAogLyoqDQogICBVcGRhdGUgdGhlIFJlYWNoYWJsZVRpbWUgaW4gSVA2IHNlcnZpY2UgYmluZGlu ZyBpbnN0YW5jZSBkYXRhLCBpbiBtaWxsaXNlY29uZHMuDQogDQotICBAcGFyYW1baW4sIG91dF0g SXBTYiAgICAgUG9pbnRzIHRvIHRoZSBJUDZfU0VSVklDRS4NCi0NCisgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgICAgIFJlYWNoYWJsZVRpbWUgVXBkYXRlZA0KKyAgQHJldHZhbCBvdGhlcnMg ICAgICAgICAgICAgICAgRmFpbGVkIHRvIHVwZGF0ZSBSZWFjaGFibGVUaW1lDQogKiovDQotVk9J RA0KK0VGSV9TVEFUVVMNCiBJcDZVcGRhdGVSZWFjaGFibGVUaW1lICgNCiAgIElOIE9VVCBJUDZf U0VSVklDRSAgKklwU2INCiAgICk7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9EaGNwNER4ZS9E aGNwNERyaXZlci5jIGIvTmV0d29ya1BrZy9EaGNwNER4ZS9EaGNwNERyaXZlci5jCmluZGV4IDhj MzdlOTNiZTMuLjg5MmNhZWUzNjggMTAwNjQ0Ci0tLSBhL05ldHdvcmtQa2cvRGhjcDREeGUvRGhj cDREcml2ZXIuYworKysgYi9OZXR3b3JrUGtnL0RoY3A0RHhlL0RoY3A0RHJpdmVyLmMKQEAgLTEs NiArMSw3IEBACiAvKiogQGZpbGUNCiANCiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE4LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorQ29weXJpZ2h0IChjKSBN aWNyb3NvZnQgQ29ycG9yYXRpb24NCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KIA0KICoqLw0KQEAgLTE4OSw2ICsxOTAsMTMgQEAgRGhjcDRDcmVhdGVTZXJ2 aWNlICgKIHsNCiAgIERIQ1BfU0VSVklDRSAgKkRoY3BTYjsNCiAgIEVGSV9TVEFUVVMgICAgU3Rh dHVzOw0KKyAgVUlOVDMyICAgICAgICBSYW5kb207DQorDQorICBTdGF0dXMgPSBQc2V1ZG9SYW5k b21VMzIgKCZSYW5kb20pOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiJWEgZmFpbGVkIHRvIGdlbmVyYXRlIHJhbmRvbSBudW1iZXI6ICVy XG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQogDQog ICAqU2VydmljZSA9IE5VTEw7DQogICBEaGNwU2IgICA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVv ZiAoREhDUF9TRVJWSUNFKSk7DQpAQCAtMjAzLDcgKzIxMSw3IEBAIERoY3A0Q3JlYXRlU2Vydmlj ZSAoCiAgIERoY3BTYi0+SW1hZ2UgICAgICAgID0gSW1hZ2VIYW5kbGU7DQogICBJbml0aWFsaXpl TGlzdEhlYWQgKCZEaGNwU2ItPkNoaWxkcmVuKTsNCiAgIERoY3BTYi0+RGhjcFN0YXRlID0gRGhj cDRTdG9wcGVkOw0KLSAgRGhjcFNiLT5YaWQgICAgICAgPSBORVRfUkFORE9NIChOZXRSYW5kb21J bml0U2VlZCAoKSk7DQorICBEaGNwU2ItPlhpZCAgICAgICA9IFJhbmRvbTsNCiAgIENvcHlNZW0g KA0KICAgICAmRGhjcFNiLT5TZXJ2aWNlQmluZGluZywNCiAgICAgJm1EaGNwNFNlcnZpY2VCaW5k aW5nVGVtcGxhdGUsDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9EaGNwNkR4ZS9EaGNwNkRyaXZl ci5jIGIvTmV0d29ya1BrZy9EaGNwNkR4ZS9EaGNwNkRyaXZlci5jCmluZGV4IGI1OTFhNDYwNWIu LmU3ZjI3ODdhOTggMTAwNjQ0Ci0tLSBhL05ldHdvcmtQa2cvRGhjcDZEeGUvRGhjcDZEcml2ZXIu YworKysgYi9OZXR3b3JrUGtnL0RoY3A2RHhlL0RoY3A2RHJpdmVyLmMKQEAgLTMsNyArMyw3IEBA CiAgIGltcGxlbWVudGF0aW9uIGZvciBEaGNwNiBEcml2ZXIuDQogDQogICBDb3B5cmlnaHQgKGMp IDIwMDkgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQotDQorICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0KICAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCkBAIC0xMjMsNiAr MTIzLDEzIEBAIERoY3A2Q3JlYXRlU2VydmljZSAoCiB7DQogICBESENQNl9TRVJWSUNFICAqRGhj cDZTcnY7DQogICBFRklfU1RBVFVTICAgICBTdGF0dXM7DQorICBVSU5UMzIgICAgICAgICBSYW5k b207DQorDQorICBTdGF0dXMgPSBQc2V1ZG9SYW5kb21VMzIgKCZSYW5kb20pOw0KKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgZmFpbGVk IHRvIGdlbmVyYXRlIHJhbmRvbSBudW1iZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQor ICAgIHJldHVybiBTdGF0dXM7DQorICB9DQogDQogICAqU2VydmljZSA9IE5VTEw7DQogICBEaGNw NlNydiA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAoREhDUDZfU0VSVklDRSkpOw0KQEAgLTE0 Nyw3ICsxNTQsNyBAQCBEaGNwNkNyZWF0ZVNlcnZpY2UgKAogICBEaGNwNlNydi0+U2lnbmF0dXJl ICA9IERIQ1A2X1NFUlZJQ0VfU0lHTkFUVVJFOw0KICAgRGhjcDZTcnYtPkNvbnRyb2xsZXIgPSBD b250cm9sbGVyOw0KICAgRGhjcDZTcnYtPkltYWdlICAgICAgPSBJbWFnZUhhbmRsZTsNCi0gIERo Y3A2U3J2LT5YaWQgICAgICAgID0gKDB4ZmZmZmZmICYgTkVUX1JBTkRPTSAoTmV0UmFuZG9tSW5p dFNlZWQgKCkpKTsNCisgIERoY3A2U3J2LT5YaWQgICAgICAgID0gKDB4ZmZmZmZmICYgUmFuZG9t KTsNCiANCiAgIENvcHlNZW0gKA0KICAgICAmRGhjcDZTcnYtPlNlcnZpY2VCaW5kaW5nLA0KZGlm ZiAtLWdpdCBhL05ldHdvcmtQa2cvRG5zRHhlL0Ruc0RoY3AuYyBiL05ldHdvcmtQa2cvRG5zRHhl L0Ruc0RoY3AuYwppbmRleCA5MzM1NjVhMzJkLi45ZWIzYzFkMmQ4IDEwMDY0NAotLS0gYS9OZXR3 b3JrUGtnL0Ruc0R4ZS9EbnNEaGNwLmMKKysrIGIvTmV0d29ya1BrZy9EbnNEeGUvRG5zRGhjcC5j CkBAIC0yLDYgKzIsNyBAQAogRnVuY3Rpb25zIGltcGxlbWVudGF0aW9uIHJlbGF0ZWQgd2l0aCBE SENQdjQvdjYgZm9yIEROUyBkcml2ZXIuDQogDQogQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxOCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KK0NvcHlyaWdodCAo YykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCkBAIC0yNzcsNiArMjc4LDcgQEAgR2V0RG5zNFNlcnZl ckZyb21EaGNwNCAoCiAgIEVGSV9ESENQNF9UUkFOU01JVF9SRUNFSVZFX1RPS0VOICBUb2tlbjsN CiAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICBJc0RvbmU7DQogICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQorICBVSU5UMzIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmFuZG9tOw0KIA0KICAgSW1hZ2UgICAgICA9IEluc3RhbmNlLT5TZXJ2 aWNlLT5JbWFnZUhhbmRsZTsNCiAgIENvbnRyb2xsZXIgPSBJbnN0YW5jZS0+U2VydmljZS0+Q29u dHJvbGxlckhhbmRsZTsNCkBAIC0yOTIsNiArMjk0LDEyIEBAIEdldERuczRTZXJ2ZXJGcm9tRGhj cDQgKAogICBEYXRhICAgICAgICAgID0gTlVMTDsNCiAgIEludGVyZmFjZUluZm8gPSBOVUxMOw0K IA0KKyAgU3RhdHVzID0gUHNldWRvUmFuZG9tVTMyICgmUmFuZG9tKTsNCisgIGlmIChFRklfRVJS T1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhIGZhaWxlZCB0byBn ZW5lcmF0ZSByYW5kb20gbnVtYmVyOiAlclxuIiwgX19mdW5jX18sIFN0YXR1cykpOw0KKyAgICBy ZXR1cm4gU3RhdHVzOw0KKyAgfQ0KKw0KICAgWmVyb01lbSAoKFVJTlQ4ICopUGFyYUxpc3QsIHNp emVvZiAoUGFyYUxpc3QpKTsNCiANCiAgIFplcm9NZW0gKCZNbnBDb25maWdEYXRhLCBzaXplb2Yg KEVGSV9NQU5BR0VEX05FVFdPUktfQ09ORklHX0RBVEEpKTsNCkBAIC00NjcsNyArNDc1LDcgQEAg R2V0RG5zNFNlcnZlckZyb21EaGNwNCAoCiANCiAgIFN0YXR1cyA9IERoY3A0LT5CdWlsZCAoRGhj cDQsICZTZWVkUGFja2V0LCAwLCBOVUxMLCAyLCBQYXJhTGlzdCwgJlRva2VuLlBhY2tldCk7DQog DQotICBUb2tlbi5QYWNrZXQtPkRoY3A0LkhlYWRlci5YaWQgPSBIVE9OTCAoTkVUX1JBTkRPTSAo TmV0UmFuZG9tSW5pdFNlZWQgKCkpKTsNCisgIFRva2VuLlBhY2tldC0+RGhjcDQuSGVhZGVyLlhp ZCA9IFJhbmRvbTsNCiANCiAgIFRva2VuLlBhY2tldC0+RGhjcDQuSGVhZGVyLlJlc2VydmVkID0g SFRPTlMgKChVSU5UMTYpMHg4MDAwKTsNCiANCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL0Ruc0R4 ZS9EbnNJbXBsLmMgYi9OZXR3b3JrUGtnL0Ruc0R4ZS9EbnNJbXBsLmMKaW5kZXggZDMxMTgxMjgw MC4uYzI2MjliYjhkZiAxMDA2NDQKLS0tIGEvTmV0d29ya1BrZy9EbnNEeGUvRG5zSW1wbC5jCisr KyBiL05ldHdvcmtQa2cvRG5zRHhlL0Ruc0ltcGwuYwpAQCAtMiw2ICsyLDcgQEAKIERuc0R4ZSBz dXBwb3J0IGZ1bmN0aW9ucyBpbXBsZW1lbnRhdGlvbi4NCiANCiBDb3B5cmlnaHQgKGMpIDIwMTYg LSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorQ29w eXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KICoqLw0KQEAgLTE5NjMsNiArMTk2NCwxNCBAQCBD b25zdHJ1Y3RETlNRdWVyeSAoCiAgIE5FVF9GUkFHTUVOVCAgICAgICBGcmFnOw0KICAgRE5TX0hF QURFUiAgICAgICAgICpEbnNIZWFkZXI7DQogICBETlNfUVVFUllfU0VDVElPTiAgKkRuc1F1ZXJ5 Ow0KKyAgRUZJX1NUQVRVUyAgICAgICAgIFN0YXR1czsNCisgIFVJTlQzMiAgICAgICAgICAgICBS YW5kb207DQorDQorICBTdGF0dXMgPSBQc2V1ZG9SYW5kb21VMzIgKCZSYW5kb20pOw0KKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgZmFp bGVkIHRvIGdlbmVyYXRlIHJhbmRvbSBudW1iZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7 DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQogDQogICAvLw0KICAgLy8gTWVzc2FnZXMgY2Fy cmllZCBieSBVRFAgYXJlIHJlc3RyaWN0ZWQgdG8gNTEyIGJ5dGVzIChub3QgY291bnRpbmcgdGhl IElQDQpAQCAtMTk3Nyw3ICsxOTg2LDcgQEAgQ29uc3RydWN0RE5TUXVlcnkgKAogICAvLyBGaWxs IGhlYWRlcg0KICAgLy8NCiAgIERuc0hlYWRlciAgICAgICAgICAgICAgICAgICAgPSAoRE5TX0hF QURFUiAqKUZyYWcuQnVsazsNCi0gIERuc0hlYWRlci0+SWRlbnRpZmljYXRpb24gICAgPSAoVUlO VDE2KU5FVF9SQU5ET00gKE5ldFJhbmRvbUluaXRTZWVkICgpKTsNCisgIERuc0hlYWRlci0+SWRl bnRpZmljYXRpb24gICAgPSAoVUlOVDE2KVJhbmRvbTsNCiAgIERuc0hlYWRlci0+RmxhZ3MuVWlu dDE2ICAgICAgPSAweDAwMDA7DQogICBEbnNIZWFkZXItPkZsYWdzLkJpdHMuUkQgICAgID0gMTsN CiAgIERuc0hlYWRlci0+RmxhZ3MuQml0cy5PcENvZGUgPSBETlNfRkxBR1NfT1BDT0RFX1NUQU5E QVJEOw0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvSHR0cEJvb3REeGUvSHR0cEJvb3REaGNwNi5j IGIvTmV0d29ya1BrZy9IdHRwQm9vdER4ZS9IdHRwQm9vdERoY3A2LmMKaW5kZXggYjIyY2VmNGZm NS4uZjk2NDUxNWIwZiAxMDA2NDQKLS0tIGEvTmV0d29ya1BrZy9IdHRwQm9vdER4ZS9IdHRwQm9v dERoY3A2LmMKKysrIGIvTmV0d29ya1BrZy9IdHRwQm9vdER4ZS9IdHRwQm9vdERoY3A2LmMKQEAg LTIsNiArMiw3IEBACiAgIEZ1bmN0aW9ucyBpbXBsZW1lbnRhdGlvbiByZWxhdGVkIHdpdGggREhD UHY2IGZvciBIVFRQIGJvb3QgZHJpdmVyLg0KIA0KIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTgs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCitDb3B5cmlnaHQg KGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQogDQogKiovDQpAQCAtOTUxLDYgKzk1Miw3IEBAIEh0dHBCb290RGhj cDZTYXJyICgKICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBPcHRDb3VudDsNCiAgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyW0hUVFBfQk9PVF9ESENQNl9PUFRJT05fTUFYX1NJ WkVdOw0KICAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBVSU5UMzIgICAg ICAgICAgICAgICAgICAgIFJhbmRvbTsNCiANCiAgIERoY3A2ID0gUHJpdmF0ZS0+RGhjcDY7DQog ICBBU1NFUlQgKERoY3A2ICE9IE5VTEwpOw0KQEAgLTk2MSw2ICs5NjMsMTIgQEAgSHR0cEJvb3RE aGNwNlNhcnIgKAogICBPcHRDb3VudCA9IEh0dHBCb290QnVpbGREaGNwNk9wdGlvbnMgKFByaXZh dGUsIE9wdExpc3QsIEJ1ZmZlcik7DQogICBBU1NFUlQgKE9wdENvdW50ID4gMCk7DQogDQorICBT dGF0dXMgPSBQc2V1ZG9SYW5kb21VMzIgKCZSYW5kb20pOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgZmFpbGVkIHRvIGdlbmVyYXRl IHJhbmRvbSBudW1iZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQorICAgIHJldHVybiBT dGF0dXM7DQorICB9DQorDQogICBSZXRyYW5zbWl0ID0gQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9m IChFRklfREhDUDZfUkVUUkFOU01JU1NJT04pKTsNCiAgIGlmIChSZXRyYW5zbWl0ID09IE5VTEwp IHsNCiAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KQEAgLTk3Niw3ICs5ODQsNyBA QCBIdHRwQm9vdERoY3A2U2FyciAoCiAgIENvbmZpZy5JYUluZm9FdmVudCAgICAgICAgICAgPSBO VUxMOw0KICAgQ29uZmlnLlJhcGlkQ29tbWl0ICAgICAgICAgICA9IEZBTFNFOw0KICAgQ29uZmln LlJlY29uZmlndXJlQWNjZXB0ICAgICA9IEZBTFNFOw0KLSAgQ29uZmlnLklhRGVzY3JpcHRvci5J YUlkICAgICA9IE5FVF9SQU5ET00gKE5ldFJhbmRvbUluaXRTZWVkICgpKTsNCisgIENvbmZpZy5J YURlc2NyaXB0b3IuSWFJZCAgICAgPSBSYW5kb207DQogICBDb25maWcuSWFEZXNjcmlwdG9yLlR5 cGUgICAgID0gRUZJX0RIQ1A2X0lBX1RZUEVfTkE7DQogICBDb25maWcuU29saWNpdFJldHJhbnNt aXNzaW9uID0gUmV0cmFuc21pdDsNCiAgIFJldHJhbnNtaXQtPklydCAgICAgICAgICAgICAgPSA0 Ow0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvSVNjc2lEeGUvSVNjc2lDSEFQLmMgYi9OZXR3b3Jr UGtnL0lTY3NpRHhlL0lTY3NpQ0hBUC5jCmluZGV4IGI1MDdmMTFjZDQuLmJlYmIxYWMyOWIgMTAw NjQ0Ci0tLSBhL05ldHdvcmtQa2cvSVNjc2lEeGUvSVNjc2lDSEFQLmMKKysrIGIvTmV0d29ya1Br Zy9JU2NzaUR4ZS9JU2NzaUNIQVAuYwpAQCAtMyw2ICszLDcgQEAKICAgQ29uZmlndXJhdGlvbi4N CiANCiBDb3B5cmlnaHQgKGMpIDIwMDQgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQorQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24N CiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KICoqLw0K QEAgLTU3NiwxNiArNTc3LDI0IEBAIElTY3NpQ0hBUFRvU2VuZFJlcSAoCiAgICAgICAgIC8vDQog ICAgICAgICAvLyBDSEFQX0k9PEk+DQogICAgICAgICAvLw0KLSAgICAgICAgSVNjc2lHZW5SYW5k b20gKChVSU5UOCAqKSZBdXRoRGF0YS0+T3V0SWRlbnRpZmllciwgMSk7DQorICAgICAgICBTdGF0 dXMgPSBJU2NzaUdlblJhbmRvbSAoKFVJTlQ4ICopJkF1dGhEYXRhLT5PdXRJZGVudGlmaWVyLCAx KTsNCisgICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICAgICAgYnJlYWs7 DQorICAgICAgICB9DQorDQogICAgICAgICBBc2NpaVNQcmludCAoVmFsdWVTdHIsIHNpemVvZiAo VmFsdWVTdHIpLCAiJWQiLCBBdXRoRGF0YS0+T3V0SWRlbnRpZmllcik7DQogICAgICAgICBJU2Nz aUFkZEtleVZhbHVlUGFpciAoUGR1LCBJU0NTSV9LRVlfQ0hBUF9JREVOVElGSUVSLCBWYWx1ZVN0 cik7DQogICAgICAgICAvLw0KICAgICAgICAgLy8gQ0hBUF9DPTxDPg0KICAgICAgICAgLy8NCi0g ICAgICAgIElTY3NpR2VuUmFuZG9tICgNCi0gICAgICAgICAgKFVJTlQ4ICopQXV0aERhdGEtPk91 dENoYWxsZW5nZSwNCi0gICAgICAgICAgQXV0aERhdGEtPkhhc2gtPkRpZ2VzdFNpemUNCi0gICAg ICAgICAgKTsNCisgICAgICAgIFN0YXR1cyA9IElTY3NpR2VuUmFuZG9tICgNCisgICAgICAgICAg ICAgICAgICAgKFVJTlQ4ICopQXV0aERhdGEtPk91dENoYWxsZW5nZSwNCisgICAgICAgICAgICAg ICAgICAgQXV0aERhdGEtPkhhc2gtPkRpZ2VzdFNpemUNCisgICAgICAgICAgICAgICAgICAgKTsN CisgICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICAgICAgYnJlYWs7DQor ICAgICAgICB9DQorDQogICAgICAgICBCaW5Ub0hleFN0YXR1cyA9IElTY3NpQmluVG9IZXggKA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVSU5UOCAqKUF1dGhEYXRhLT5PdXRDaGFsbGVu Z2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0aERhdGEtPkhhc2gtPkRpZ2VzdFNp emUsDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9JU2NzaUR4ZS9JU2NzaU1pc2MuYyBiL05ldHdv cmtQa2cvSVNjc2lEeGUvSVNjc2lNaXNjLmMKaW5kZXggNzhkYzVjNzNkMy4uMjE1OWI4NDk0OSAx MDA2NDQKLS0tIGEvTmV0d29ya1BrZy9JU2NzaUR4ZS9JU2NzaU1pc2MuYworKysgYi9OZXR3b3Jr UGtnL0lTY3NpRHhlL0lTY3NpTWlzYy5jCkBAIC0yLDYgKzIsNyBAQAogICBNaXNjZWxsYW5lb3Vz IHJvdXRpbmVzIGZvciBpU0NTSSBkcml2ZXIuDQogDQogQ29weXJpZ2h0IChjKSAyMDA0IC0gMjAx OCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KK0NvcHlyaWdo dCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCkBAIC00NzQsMjAgKzQ3NSwxNyBAQCBJU2NzaU5l dE50b2kgKAogICBAcGFyYW1baW4sIG91dF0gIFJhbmQgICAgICAgVGhlIGJ1ZmZlciB0byBjb250 YWluIHJhbmRvbSBudW1iZXJzLg0KICAgQHBhcmFtW2luXSAgICAgICBSYW5kTGVuZ3RoIFRoZSBs ZW5ndGggb2YgdGhlIFJhbmQgYnVmZmVyLg0KIA0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyBvbiBz dWNjZXNzDQorICBAcmV0dmFsIG90aGVycyAgICAgIG9uIGVycm9yDQorDQogKiovDQotVk9JRA0K K0VGSV9TVEFUVVMNCiBJU2NzaUdlblJhbmRvbSAoDQogICBJTiBPVVQgVUlOVDggICpSYW5kLA0K ICAgSU4gICAgIFVJTlROICBSYW5kTGVuZ3RoDQogICApDQogew0KLSAgVUlOVDMyICBSYW5kb207 DQotDQotICB3aGlsZSAoUmFuZExlbmd0aCA+IDApIHsNCi0gICAgUmFuZG9tICA9IE5FVF9SQU5E T00gKE5ldFJhbmRvbUluaXRTZWVkICgpKTsNCi0gICAgKlJhbmQrKyA9IChVSU5UOCkoUmFuZG9t KTsNCi0gICAgUmFuZExlbmd0aC0tOw0KLSAgfQ0KKyAgcmV0dXJuIFBzZXVkb1JhbmRvbSAoUmFu ZCwgUmFuZExlbmd0aCk7DQogfQ0KIA0KIC8qKg0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvSXA0 RHhlL0lwNERyaXZlci5jIGIvTmV0d29ya1BrZy9JcDREeGUvSXA0RHJpdmVyLmMKaW5kZXggZWM0 ODNmZjAxZi4uNjgzNDIzZjM4ZCAxMDA2NDQKLS0tIGEvTmV0d29ya1BrZy9JcDREeGUvSXA0RHJp dmVyLmMKKysrIGIvTmV0d29ya1BrZy9JcDREeGUvSXA0RHJpdmVyLmMKQEAgLTIsNiArMiw3IEBA CiAgIFRoZSBkcml2ZXIgYmluZGluZyBhbmQgc2VydmljZSBiaW5kaW5nIHByb3RvY29sIGZvciBJ UDQgZHJpdmVyLg0KIA0KIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTksIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCitDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBD b3Jwb3JhdGlvbg0KIChDKSBDb3B5cmlnaHQgMjAxNSBIZXdsZXR0LVBhY2thcmQgRGV2ZWxvcG1l bnQgQ29tcGFueSwgTC5QLjxCUj4NCiANCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KQEAgLTU0OSwxMSArNTUwLDE4IEBAIElwNERyaXZlckJpbmRpbmdTdGFy dCAoCiAgIEVGSV9JUDRfQ09ORklHMl9QUk9UT0NPTCAgKklwNENmZzI7DQogICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIEluZGV4Ow0KICAgSVA0X0NPTkZJRzJfREFUQV9JVEVNICAgICAqRGF0 YUl0ZW07DQorICBVSU5UMzIgICAgICAgICAgICAgICAgICAgIFJhbmRvbTsNCiANCiAgIElwU2Ig ICAgID0gTlVMTDsNCiAgIElwNENmZzIgID0gTlVMTDsNCiAgIERhdGFJdGVtID0gTlVMTDsNCiAN CisgIFN0YXR1cyA9IFBzZXVkb1JhbmRvbVUzMiAoJlJhbmRvbSk7DQorICBpZiAoRUZJX0VSUk9S IChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYSBmYWlsZWQgdG8gZ2Vu ZXJhdGUgcmFuZG9tIG51bWJlcjogJXJcbiIsIF9fZnVuY19fLCBTdGF0dXMpKTsNCisgICAgcmV0 dXJuIFN0YXR1czsNCisgIH0NCisNCiAgIC8vDQogICAvLyBUZXN0IGZvciB0aGUgSXA0IHNlcnZp Y2UgYmluZGluZyBwcm90b2NvbA0KICAgLy8NCkBAIC02NTMsNyArNjYxLDcgQEAgSXA0RHJpdmVy QmluZGluZ1N0YXJ0ICgKICAgLy8NCiAgIC8vIEluaXRpYWxpemUgdGhlIElQNCBJRA0KICAgLy8N Ci0gIG1JcDRJZCA9IChVSU5UMTYpTkVUX1JBTkRPTSAoTmV0UmFuZG9tSW5pdFNlZWQgKCkpOw0K KyAgbUlwNElkID0gKFVJTlQxNilSYW5kb207DQogDQogICByZXR1cm4gU3RhdHVzOw0KIA0KZGlm ZiAtLWdpdCBhL05ldHdvcmtQa2cvSXA2RHhlL0lwNkNvbmZpZ0ltcGwuYyBiL05ldHdvcmtQa2cv SXA2RHhlL0lwNkNvbmZpZ0ltcGwuYwppbmRleCA3MGUyMzJjZTZjLi40YzEzNTRkMjZjIDEwMDY0 NAotLS0gYS9OZXR3b3JrUGtnL0lwNkR4ZS9JcDZDb25maWdJbXBsLmMKKysrIGIvTmV0d29ya1Br Zy9JcDZEeGUvSXA2Q29uZmlnSW1wbC5jCkBAIC0yMjc2LDYgKzIyNzYsMTMgQEAgSXA2Q29uZmln SW5pdEluc3RhbmNlICgKICAgVUlOVE4gICAgICAgICAgICAgICAgIEluZGV4Ow0KICAgVUlOVDE2 ICAgICAgICAgICAgICAgIElmSW5kZXg7DQogICBJUDZfQ09ORklHX0RBVEFfSVRFTSAgKkRhdGFJ dGVtOw0KKyAgVUlOVDMyICAgICAgICAgICAgICAgIFJhbmRvbTsNCisNCisgIFN0YXR1cyA9IFBz ZXVkb1JhbmRvbVUzMiAoJlJhbmRvbSk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQor ICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYSBmYWlsZWQgdG8gZ2VuZXJhdGUgcmFuZG9tIG51 bWJlcjogJXJcbiIsIF9fZnVuY19fLCBTdGF0dXMpKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisg IH0NCiANCiAgIElwU2IgPSBJUDZfU0VSVklDRV9GUk9NX0lQNl9DT05GSUdfSU5TVEFOQ0UgKElu c3RhbmNlKTsNCiANCkBAIC0yMzgxLDcgKzIzODgsNyBAQCBJcDZDb25maWdJbml0SW5zdGFuY2Ug KAogICAgIC8vIFRoZSBOViB2YXJpYWJsZSBpcyBub3Qgc2V0LCBzbyBnZW5lcmF0ZSBhIHJhbmRv bSBJQUlELCBhbmQgd3JpdGUgZG93biB0aGUNCiAgICAgLy8gZnJlc2ggbmV3IGNvbmZpZ3VyYXRp b24gYXMgdGhlIE5WIHZhcmlhYmxlIG5vdy4NCiAgICAgLy8NCi0gICAgSW5zdGFuY2UtPklhSWQg PSBORVRfUkFORE9NIChOZXRSYW5kb21Jbml0U2VlZCAoKSk7DQorICAgIEluc3RhbmNlLT5JYUlk ID0gUmFuZG9tOw0KIA0KICAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBJcFNiLT5TbnBNb2Rl Lkh3QWRkcmVzc1NpemU7IEluZGV4KyspIHsNCiAgICAgICBJbnN0YW5jZS0+SWFJZCB8PSAoSXBT Yi0+U25wTW9kZS5DdXJyZW50QWRkcmVzcy5BZGRyW0luZGV4XSA8PCAoKEluZGV4IDw8IDMpICYg MzEpKTsNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL0lwNkR4ZS9JcDZEcml2ZXIuYyBiL05ldHdv cmtQa2cvSXA2RHhlL0lwNkRyaXZlci5jCmluZGV4IGI0ODNhN2QxMzYuLmNiZTAxMWRhZDQgMTAw NjQ0Ci0tLSBhL05ldHdvcmtQa2cvSXA2RHhlL0lwNkRyaXZlci5jCisrKyBiL05ldHdvcmtQa2cv SXA2RHhlL0lwNkRyaXZlci5jCkBAIC0zLDcgKzMsNyBAQAogDQogICBDb3B5cmlnaHQgKGMpIDIw MDkgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQog ICAoQykgQ29weXJpZ2h0IDIwMTUgSGV3bGV0dC1QYWNrYXJkIERldmVsb3BtZW50IENvbXBhbnks IEwuUC48QlI+DQotDQorICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0KICAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCkBA IC0zMTYsNyArMzE2LDExIEBAIElwNkNyZWF0ZVNlcnZpY2UgKAogICBJcFNiLT5DdXJIb3BMaW1p dCAgICAgICA9IElQNl9IT1BfTElNSVQ7DQogICBJcFNiLT5MaW5rTVRVICAgICAgICAgICA9IElQ Nl9NSU5fTElOS19NVFU7DQogICBJcFNiLT5CYXNlUmVhY2hhYmxlVGltZSA9IElQNl9SRUFDSEFC TEVfVElNRTsNCi0gIElwNlVwZGF0ZVJlYWNoYWJsZVRpbWUgKElwU2IpOw0KKyAgU3RhdHVzICAg ICAgICAgICAgICAgICAgPSBJcDZVcGRhdGVSZWFjaGFibGVUaW1lIChJcFNiKTsNCisgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgZ290byBPTl9FUlJPUjsNCisgIH0NCisNCiAgIC8v DQogICAvLyBSRkM0ODYxIFJFVFJBTlNfVElNRVI6IDEsMDAwIG1pbGxpc2Vjb25kcw0KICAgLy8N CkBAIC01MTYsMTEgKzUyMCwxOCBAQCBJcDZEcml2ZXJCaW5kaW5nU3RhcnQgKAogICBFRklfU1RB VFVTICAgICAgICAgICAgICAgU3RhdHVzOw0KICAgRUZJX0lQNl9DT05GSUdfUFJPVE9DT0wgICpJ cDZDZmc7DQogICBJUDZfQ09ORklHX0RBVEFfSVRFTSAgICAgKkRhdGFJdGVtOw0KKyAgVUlOVDMy ICAgICAgICAgICAgICAgICAgIFJhbmRvbTsNCiANCiAgIElwU2IgICAgID0gTlVMTDsNCiAgIElw NkNmZyAgID0gTlVMTDsNCiAgIERhdGFJdGVtID0gTlVMTDsNCiANCisgIFN0YXR1cyA9IFBzZXVk b1JhbmRvbVUzMiAoJlJhbmRvbSk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAg IERFQlVHICgoREVCVUdfRVJST1IsICIlYSBmYWlsZWQgdG8gZ2VuZXJhdGUgcmFuZG9tIG51bWJl cjogJXJcbiIsIF9fZnVuY19fLCBTdGF0dXMpKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0N CisNCiAgIC8vDQogICAvLyBUZXN0IGZvciB0aGUgSXA2IHNlcnZpY2UgYmluZGluZyBwcm90b2Nv bA0KICAgLy8NCkBAIC02NTYsNyArNjY3LDcgQEAgSXA2RHJpdmVyQmluZGluZ1N0YXJ0ICgKICAg Ly8NCiAgIC8vIEluaXRpYWxpemUgdGhlIElQNiBJRA0KICAgLy8NCi0gIG1JcDZJZCA9IE5FVF9S QU5ET00gKE5ldFJhbmRvbUluaXRTZWVkICgpKTsNCisgIG1JcDZJZCA9IFJhbmRvbTsNCiANCiAg IHJldHVybiBFRklfU1VDQ0VTUzsNCiANCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL0lwNkR4ZS9J cDZJZi5jIGIvTmV0d29ya1BrZy9JcDZEeGUvSXA2SWYuYwppbmRleCA0NjI5YzA1ZjI1Li5mM2Qx MWM0ZDIxIDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL0lwNkR4ZS9JcDZJZi5jCisrKyBiL05ldHdv cmtQa2cvSXA2RHhlL0lwNklmLmMKQEAgLTIsNyArMiw3IEBACiAgIEltcGxlbWVudCBJUDYgcHNl dWRvIGludGVyZmFjZS4NCiANCiAgIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTgsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCi0NCisgIENvcHlyaWdodCAoYykg TWljcm9zb2Z0IENvcnBvcmF0aW9uDQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KIA0KICoqLw0KQEAgLTg5LDYgKzg5LDE0IEBAIElwNlNldEFkZHJlc3Mg KAogICBJUDZfUFJFRklYX0xJU1RfRU5UUlkgICpQcmVmaXhFbnRyeTsNCiAgIFVJTlQ2NCAgICAg ICAgICAgICAgICAgRGVsYXk7DQogICBJUDZfREVMQVlfSk9JTl9MSVNUICAgICpEZWxheU5vZGU7 DQorICBFRklfU1RBVFVTICAgICAgICAgICAgIFN0YXR1czsNCisgIFVJTlQzMiAgICAgICAgICAg ICAgICAgUmFuZG9tOw0KKw0KKyAgU3RhdHVzID0gUHNldWRvUmFuZG9tVTMyICgmUmFuZG9tKTsN CisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwg IiVhIGZhaWxlZCB0byBnZW5lcmF0ZSByYW5kb20gbnVtYmVyOiAlclxuIiwgX19mdW5jX18sIFN0 YXR1cykpOw0KKyAgICByZXR1cm4gU3RhdHVzOw0KKyAgfQ0KIA0KICAgTkVUX0NIRUNLX1NJR05B VFVSRSAoSW50ZXJmYWNlLCBJUDZfSU5URVJGQUNFX1NJR05BVFVSRSk7DQogDQpAQCAtMTY0LDcg KzE3Miw3IEBAIElwNlNldEFkZHJlc3MgKAogICAvLyBUaHVzIHF1ZXVlIHRoZSBhZGRyZXNzIHRv IGJlIHByb2Nlc3NlZCBpbiBEdXBsaWNhdGUgQWRkcmVzcyBEZXRlY3Rpb24gbW9kdWxlDQogICAv LyBhZnRlciB0aGUgZGVsYXkgdGltZSAoaW4gbWlsbGlzZWNvbmRzKS4NCiAgIC8vDQotICBEZWxh eSA9IChVSU5UNjQpTkVUX1JBTkRPTSAoTmV0UmFuZG9tSW5pdFNlZWQgKCkpOw0KKyAgRGVsYXkg PSAoVUlOVDY0KVJhbmRvbTsNCiAgIERlbGF5ID0gTXVsdFU2NHgzMiAoRGVsYXksIElQNl9PTkVf U0VDT05EX0lOX01TKTsNCiAgIERlbGF5ID0gUlNoaWZ0VTY0IChEZWxheSwgMzIpOw0KIA0KZGlm ZiAtLWdpdCBhL05ldHdvcmtQa2cvSXA2RHhlL0lwNk1sZC5jIGIvTmV0d29ya1BrZy9JcDZEeGUv SXA2TWxkLmMKaW5kZXggZTZiMmI2NTNlMi4uNDk4YTExODU0MyAxMDA2NDQKLS0tIGEvTmV0d29y a1BrZy9JcDZEeGUvSXA2TWxkLmMKKysrIGIvTmV0d29ya1BrZy9JcDZEeGUvSXA2TWxkLmMKQEAg LTY5Niw3ICs2OTYsMTUgQEAgSXA2VXBkYXRlRGVsYXlUaW1lciAoCiAgIElOIE9VVCBJUDZfTUxE X0dST1VQICAqR3JvdXANCiAgICkNCiB7DQotICBVSU5UMzIgIERlbGF5Ow0KKyAgVUlOVDMyICAg ICAgRGVsYXk7DQorICBFRklfU1RBVFVTICBTdGF0dXM7DQorICBVSU5UMzIgICAgICBSYW5kb207 DQorDQorICBTdGF0dXMgPSBQc2V1ZG9SYW5kb21VMzIgKCZSYW5kb20pOw0KKyAgaWYgKEVGSV9F UlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgZmFpbGVkIHRv IGdlbmVyYXRlIHJhbmRvbSBudW1iZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQorICAg IHJldHVybiBTdGF0dXM7DQorICB9DQogDQogICAvLw0KICAgLy8gSWYgdGhlIFF1ZXJ5IHBhY2tl dCBzcGVjaWZpZXMgYSBNYXhpbXVtIFJlc3BvbnNlIERlbGF5IG9mIHplcm8sIHBlcmZvcm0gdGlt ZXINCkBAIC03MTUsNyArNzIzLDcgQEAgSXA2VXBkYXRlRGVsYXlUaW1lciAoCiAgIC8vIGlzIGxl c3MgdGhhbiB0aGUgcmVtYWluaW5nIHZhbHVlIG9mIHRoZSBydW5uaW5nIHRpbWVyLg0KICAgLy8N CiAgIGlmICgoR3JvdXAtPkRlbGF5VGltZXIgPT0gMCkgfHwgKERlbGF5IDwgR3JvdXAtPkRlbGF5 VGltZXIpKSB7DQotICAgIEdyb3VwLT5EZWxheVRpbWVyID0gRGVsYXkgLyA0Mjk0OTY3Mjk1VUwg KiBORVRfUkFORE9NIChOZXRSYW5kb21Jbml0U2VlZCAoKSk7DQorICAgIEdyb3VwLT5EZWxheVRp bWVyID0gRGVsYXkgLyA0Mjk0OTY3Mjk1VUwgKiBSYW5kb207DQogICB9DQogDQogICByZXR1cm4g RUZJX1NVQ0NFU1M7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9JcDZEeGUvSXA2TmQuYyBiL05l dHdvcmtQa2cvSXA2RHhlL0lwNk5kLmMKaW5kZXggYzEwYzcwMTdmOC4uNzJhYTQ1YzEwZiAxMDA2 NDQKLS0tIGEvTmV0d29ya1BrZy9JcDZEeGUvSXA2TmQuYworKysgYi9OZXR3b3JrUGtnL0lwNkR4 ZS9JcDZOZC5jCkBAIC0yLDcgKzIsNyBAQAogICBJbXBsZW1lbnRhdGlvbiBvZiBOZWlnaGJvciBE aXNjb3Zlcnkgc3VwcG9ydCByb3V0aW5lcy4NCiANCiAgIENvcHlyaWdodCAoYykgMjAwOSAtIDIw MTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCi0NCisgIENv cHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KICoqLw0KQEAgLTE2LDE3ICsxNiwyOCBAQCBF RklfTUFDX0FERFJFU1MgIG1aZXJvTWFjQWRkcmVzczsKIA0KICAgQHBhcmFtW2luLCBvdXRdIElw U2IgICAgIFBvaW50cyB0byB0aGUgSVA2X1NFUlZJQ0UuDQogDQorICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICAgICBSZWFjaGFibGVUaW1lIFVwZGF0ZWQNCisgIEByZXR2YWwgb3RoZXJzICAg ICAgICAgICAgICAgIEZhaWxlZCB0byB1cGRhdGUgUmVhY2hhYmxlVGltZQ0KICoqLw0KLVZPSUQN CitFRklfU1RBVFVTDQogSXA2VXBkYXRlUmVhY2hhYmxlVGltZSAoDQogICBJTiBPVVQgSVA2X1NF UlZJQ0UgICpJcFNiDQogICApDQogew0KLSAgVUlOVDMyICBSYW5kb207DQorICBVSU5UMzIgICAg ICBSYW5kb207DQorICBFRklfU1RBVFVTICBTdGF0dXM7DQogDQotICBSYW5kb20gICAgICAgICAg ICAgID0gKE5ldFJhbmRvbUluaXRTZWVkICgpIC8gNDI5NDk2NzI5NVVMKSAqIElQNl9SQU5ET01f RkFDVE9SX1NDQUxFOw0KKyAgU3RhdHVzID0gUHNldWRvUmFuZG9tVTMyICgmUmFuZG9tKTsNCisg IGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVh IGZhaWxlZCB0byBnZW5lcmF0ZSByYW5kb20gbnVtYmVyOiAlclxuIiwgX19mdW5jX18sIFN0YXR1 cykpOw0KKyAgICByZXR1cm4gU3RhdHVzOw0KKyAgfQ0KKw0KKyAgUmFuZG9tICAgICAgICAgICAg ICA9IChSYW5kb20gLyA0Mjk0OTY3Mjk1VUwpICogSVA2X1JBTkRPTV9GQUNUT1JfU0NBTEU7DQog ICBSYW5kb20gICAgICAgICAgICAgID0gUmFuZG9tICsgSVA2X01JTl9SQU5ET01fRkFDVE9SX1ND QUxFRDsNCiAgIElwU2ItPlJlYWNoYWJsZVRpbWUgPSAoSXBTYi0+QmFzZVJlYWNoYWJsZVRpbWUg KiBSYW5kb20pIC8gSVA2X1JBTkRPTV9GQUNUT1JfU0NBTEU7DQorDQorICByZXR1cm4gRUZJX1NV Q0NFU1M7DQogfQ0KIA0KIC8qKg0KQEAgLTk3MiwxMCArOTgzLDE3IEBAIElwNkluaXREQURQcm9j ZXNzICgKICAgSVA2X1NFUlZJQ0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKklwU2I7 DQogICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQog ICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXhEZWxheVRpY2s7 DQorICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSYW5kb207DQog DQogICBORVRfQ0hFQ0tfU0lHTkFUVVJFIChJcElmLCBJUDZfSU5URVJGQUNFX1NJR05BVFVSRSk7 DQogICBBU1NFUlQgKEFkZHJlc3NJbmZvICE9IE5VTEwpOw0KIA0KKyAgU3RhdHVzID0gUHNldWRv UmFuZG9tVTMyICgmUmFuZG9tKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAg REVCVUcgKChERUJVR19FUlJPUiwgIiVhIGZhaWxlZCB0byBnZW5lcmF0ZSByYW5kb20gbnVtYmVy OiAlclxuIiwgX19mdW5jX18sIFN0YXR1cykpOw0KKyAgICByZXR1cm4gU3RhdHVzOw0KKyAgfQ0K Kw0KICAgLy8NCiAgIC8vIERvIG5vdGhpbmcgaWYgd2UgaGF2ZSBhbHJlYWR5IHN0YXJ0ZWQgREFE IG9uIHRoZSBhZGRyZXNzLg0KICAgLy8NCkBAIC0xMDE0LDcgKzEwMzIsNyBAQCBJcDZJbml0REFE UHJvY2VzcyAoCiAgIEVudHJ5LT5UcmFuc21pdCAgICA9IDA7DQogICBFbnRyeS0+UmVjZWl2ZSAg ICAgPSAwOw0KICAgTWF4RGVsYXlUaWNrICAgICAgID0gSVA2X01BWF9SVFJfU09MSUNJVEFUSU9O X0RFTEFZIC8gSVA2X1RJTUVSX0lOVEVSVkFMX0lOX01TOw0KLSAgRW50cnktPlJldHJhbnNUaWNr ID0gKE1heERlbGF5VGljayAqICgoTkVUX1JBTkRPTSAoTmV0UmFuZG9tSW5pdFNlZWQgKCkpICUg NSkgKyAxKSkgLyA1Ow0KKyAgRW50cnktPlJldHJhbnNUaWNrID0gKE1heERlbGF5VGljayAqICgo UmFuZG9tICUgNSkgKyAxKSkgLyA1Ow0KICAgRW50cnktPkFkZHJlc3NJbmZvID0gQWRkcmVzc0lu Zm87DQogICBFbnRyeS0+Q2FsbGJhY2sgICAgPSBDYWxsYmFjazsNCiAgIEVudHJ5LT5Db250ZXh0 ICAgICA9IENvbnRleHQ7DQpAQCAtMjA3OCw3ICsyMDk2LDEwIEBAIElwNlByb2Nlc3NSb3V0ZXJB ZHZlcnRpc2UgKAogICAgIC8vIGluIEJhc2VSZWFjaGFibGVUaW1lIGFuZCByZWNvbXB1dGUgYSBS ZWFjaGFibGVUaW1lLg0KICAgICAvLw0KICAgICBJcFNiLT5CYXNlUmVhY2hhYmxlVGltZSA9IFJl YWNoYWJsZVRpbWU7DQotICAgIElwNlVwZGF0ZVJlYWNoYWJsZVRpbWUgKElwU2IpOw0KKyAgICBT dGF0dXMgICAgICAgICAgICAgICAgICA9IElwNlVwZGF0ZVJlYWNoYWJsZVRpbWUgKElwU2IpOw0K KyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290byBFeGl0Ow0KKyAgICB9 DQogICB9DQogDQogICBpZiAoUmV0cmFuc1RpbWVyICE9IDApIHsNCmRpZmYgLS1naXQgYS9OZXR3 b3JrUGtnL0xpYnJhcnkvRHhlTmV0TGliL0R4ZU5ldExpYi5jIGIvTmV0d29ya1BrZy9MaWJyYXJ5 L0R4ZU5ldExpYi9EeGVOZXRMaWIuYwppbmRleCBmZDRhOWUxNWE4Li4wMWMxM2MwOGQyIDEwMDY0 NAotLS0gYS9OZXR3b3JrUGtnL0xpYnJhcnkvRHhlTmV0TGliL0R4ZU5ldExpYi5jCisrKyBiL05l dHdvcmtQa2cvTGlicmFyeS9EeGVOZXRMaWIvRHhlTmV0TGliLmMKQEAgLTMsNiArMyw3IEBACiAN CiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQogKEMpIENvcHlyaWdodCAyMDE1IEhld2xldHQgUGFja2FyZCBFbnRl cnByaXNlIERldmVsb3BtZW50IExQPEJSPg0KK0NvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBv cmF0aW9uDQogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiAq Ki8NCiANCkBAIC0zMSw2ICszMiw3IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50CiAjaW5jbHVkZSA8TGlicmFyeS9EZXZpY2VQYXRoTGliLmg+DQogI2luY2x1 ZGUgPExpYnJhcnkvUHJpbnRMaWIuaD4NCiAjaW5jbHVkZSA8TGlicmFyeS9VZWZpTGliLmg+DQor I2luY2x1ZGUgPFByb3RvY29sL1JuZy5oPg0KIA0KICNkZWZpbmUgTklDX0lURU1fQ09ORklHX1NJ WkUgIChzaXplb2YgKE5JQ19JUDRfQ09ORklHX0lORk8pICsgc2l6ZW9mIChFRklfSVA0X1JPVVRF X1RBQkxFKSAqIE1BWF9JUDRfQ09ORklHX0lOX1ZBUklBQkxFKQ0KICNkZWZpbmUgREVGQVVMVF9a RVJPX1NUQVJUICAgICgoVUlOVE4pIH4wKQ0KQEAgLTEyNyw2ICsxMjksMjUgQEAgR0xPQkFMX1JF TU9WRV9JRl9VTlJFRkVSRU5DRUQgVkxBTl9ERVZJQ0VfUEFUSCAgbU5ldFZsYW5EZXZpY2VQYXRo VGVtcGxhdGUgPSB7CiAgIDANCiB9Ow0KIA0KKy8vDQorLy8gVGhlc2UgcmVwcmVzZW50IFVFRkkg U1BFQyBkZWZpbmVkIGFsZ29yaXRobXMgdGhhdCBzaG91bGQgYmUgc3VwcG9ydGVkIGJ5DQorLy8g dGhlIFJORyBwcm90b2NvbCBhbmQgYXJlIGdlbmVyYWxseSBjb25zaWRlcmVkIHNlY3VyZS4NCisv Lw0KKy8vIFRoZSBvcmRlciBvZiB0aGUgYWxnb3JpdGhtcyBpbiB0aGlzIGFycmF5IGlzIGltcG9y dGFudC4gVGhpcyBvcmRlciBpcyB0aGUgb3JkZXINCisvLyBpbiB3aGljaCB0aGUgYWxnb3JpdGht cyB3aWxsIGJlIHRyaWVkIGJ5IHRoZSBSTkcgcHJvdG9jb2wuDQorLy8gSWYgeW91ciBwbGF0Zm9y bSBuZWVkcyB0byB1c2UgYSBzcGVjaWZpYyBhbGdvcml0aG0gZm9yIHRoZSByYW5kb20gbnVtYmVy IGdlbmVyYXRvciwNCisvLyB0aGVuIHlvdSBzaG91bGQgcGxhY2UgdGhhdCBhbGdvcml0aG0gZmly c3QgaW4gdGhlIGFycmF5Lg0KKy8vDQorR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQgRUZJ X0dVSUQgICptU2VjdXJlSGFzaEFsZ29yaXRobXNbXSA9IHsNCisgICZnRWZpUm5nQWxnb3JpdGht U3A4MDA5MEN0cjI1Nkd1aWQsICAvLyBTUDgwMC05MEEgRFJCRyBDVFIgdXNpbmcgQUVTLTI1Ng0K KyAgJmdFZmlSbmdBbGdvcml0aG1TcDgwMDkwSG1hYzI1Nkd1aWQsIC8vIFNQODAwLTkwQSBEUkJH IEhNQUMgdXNpbmcgU0hBLTI1Ng0KKyAgJmdFZmlSbmdBbGdvcml0aG1TcDgwMDkwSGFzaDI1Nkd1 aWQsIC8vIFNQODAwLTkwQSBEUkJHIEhhc2ggdXNpbmcgU0hBLTI1Ng0KKyAgJmdFZmlSbmdBbGdv cml0aG1Bcm1SbmRyLCAgICAgICAgICAgIC8vIHVuc3BlY2lmaWVkIFNQODAwLTkwQSBEUkJHIHZp YSBBUk0gUk5EUiByZWdpc3Rlcg0KKyAgJmdFZmlSbmdBbGdvcml0aG1SYXcsICAgICAgICAgICAg ICAgIC8vIFJhdyBkYXRhIGZyb20gTlJCRyAob3IgVFJORykNCit9Ow0KKw0KKyNkZWZpbmUgU0VD VVJFX0hBU0hfQUxHT1JJVEhNU19TSVpFICAoc2l6ZW9mIChtU2VjdXJlSGFzaEFsZ29yaXRobXMp IC8gc2l6ZW9mIChFRklfR1VJRCAqKSkNCisNCiAvKioNCiAgIExvY2F0ZSB0aGUgaGFuZGxlcyB0 aGF0IHN1cHBvcnQgU05QLCB0aGVuIG9wZW4gb25lIG9mIHRoZW0NCiAgIHRvIHNlbmQgdGhlIHN5 c2xvZyBwYWNrZXRzLiBUaGUgY2FsbGVyIGlzbid0IHJlcXVpcmVkIHRvIGNsb3NlDQpAQCAtODg0 LDM0ICs5MDUsMTA3IEBAIElwNlN3YXAxMjggKAogfQ0KIA0KIC8qKg0KLSAgSW5pdGlhbGl6ZSBh IHJhbmRvbSBzZWVkIHVzaW5nIGN1cnJlbnQgdGltZSBhbmQgbW9ub3RvbmljIGNvdW50Lg0KKyAg R2VuZXJhdGUgYSBSYW5kb20gb3V0cHV0IGRhdGEgZ2l2ZW4gYSBsZW5ndGguDQogDQotICBHZXQg Y3VycmVudCB0aW1lIGFuZCBtb25vdG9uaWMgY291bnQgZmlyc3QuIFRoZW4gaW5pdGlhbGl6ZSBh IHJhbmRvbSBzZWVkDQotICBiYXNlZCBvbiBzb21lIGJhc2ljIG1hdGhlbWF0aWNzIG9wZXJhdGlv biBvbiB0aGUgaG91ciwgZGF5LCBtaW51dGUsIHNlY29uZCwNCi0gIG5hbm9zZWNvbmQgYW5kIHll YXIgb2YgdGhlIGN1cnJlbnQgdGltZSBhbmQgdGhlIG1vbm90b25pYyBjb3VudCB2YWx1ZS4NCisg IEBwYXJhbVtvdXRdIE91dHB1dCAtIFRoZSBidWZmZXIgdG8gc3RvcmUgdGhlIGdlbmVyYXRlZCBy YW5kb20gZGF0YS4NCisgIEBwYXJhbVtpbl0gT3V0cHV0TGVuZ3RoIC0gVGhlIGxlbmd0aCBvZiB0 aGUgb3V0cHV0IGJ1ZmZlci4NCiANCi0gIEByZXR1cm4gVGhlIHJhbmRvbSBzZWVkIGluaXRpYWxp emVkIHdpdGggY3VycmVudCB0aW1lLg0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAg T24gU3VjY2Vzcw0KKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgUG9pbnRlciBpcyBu dWxsIG9yIHNpemUgaXMgemVybw0KKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgUk5H IHByb3RvY29sIG5vdCBmb3VuZA0KKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgRXJy b3IgZnJvbSBSbmdQcm90b2NvbC0+R2V0Uk5HKCkNCiANCisgIEByZXR1cm4gU3RhdHVzIGNvZGUN CiAqKi8NCi1VSU5UMzINCitFRklfU1RBVFVTDQogRUZJQVBJDQotTmV0UmFuZG9tSW5pdFNlZWQg KA0KLSAgVk9JRA0KK1BzZXVkb1JhbmRvbSAoDQorICBPVVQgIFZPSUQgICAqT3V0cHV0LA0KKyAg SU4gICBVSU5UTiAgT3V0cHV0TGVuZ3RoDQogICApDQogew0KLSAgRUZJX1RJTUUgIFRpbWU7DQot ICBVSU5UMzIgICAgU2VlZDsNCi0gIFVJTlQ2NCAgICBNb25vdG9uaWNDb3VudDsNCisgIEVGSV9S TkdfUFJPVE9DT0wgICpSbmdQcm90b2NvbDsNCisgIEVGSV9TVEFUVVMgICAgICAgIFN0YXR1czsN CisgIFVJTlROICAgICAgICAgICAgIEFsZ29yaXRobUluZGV4Ow0KKw0KKyAgaWYgKChPdXRwdXQg PT0gTlVMTCkgfHwgKE91dHB1dExlbmd0aCA9PSAwKSkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAo JmdFZmlSbmdQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEICoqKSZSbmdQcm90b2NvbCk7DQorICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICJGYWls ZWQgdG8gbG9jYXRlIEVGSV9STkdfUFJPVE9DT0w6ICVyXG4iLCBTdGF0dXMpKTsNCisgICAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCisg IGlmIChQY2RHZXRCb29sIChQY2RFbmZvcmNlU2VjdXJlUm5nQWxnb3JpdGhtcykpIHsNCisgICAg Zm9yIChBbGdvcml0aG1JbmRleCA9IDA7IEFsZ29yaXRobUluZGV4IDwgU0VDVVJFX0hBU0hfQUxH T1JJVEhNU19TSVpFOyBBbGdvcml0aG1JbmRleCsrKSB7DQorICAgICAgU3RhdHVzID0gUm5nUHJv dG9jb2wtPkdldFJORyAoUm5nUHJvdG9jb2wsIG1TZWN1cmVIYXNoQWxnb3JpdGhtc1tBbGdvcml0 aG1JbmRleF0sIE91dHB1dExlbmd0aCwgKFVJTlQ4ICopT3V0cHV0KTsNCisgICAgICBpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgICAgLy8NCisgICAgICAgIC8vIFNlY3VyZSBBbGdv cml0aG0gd2FzIHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtDQorICAgICAgICAvLw0KKyAgICAg ICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KKyAgICAgIH0gZWxzZSBpZiAoU3RhdHVzID09IEVGSV9V TlNVUFBPUlRFRCkgew0KKyAgICAgICAgLy8NCisgICAgICAgIC8vIFNlY3VyZSBBbGdvcml0aG0g d2FzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybQ0KKyAgICAgICAgLy8NCisgICAgICAg IERFQlVHICgoREVCVUdfRVJST1IsICJGYWlsZWQgdG8gZ2VuZXJhdGUgcmFuZG9tIGRhdGEgdXNp bmcgc2VjdXJlIGFsZ29yaXRobSAlZDogJXJcbiIsIEFsZ29yaXRobUluZGV4LCBTdGF0dXMpKTsN CisNCisgICAgICAgIC8vDQorICAgICAgICAvLyBUcnkgdGhlIG5leHQgc2VjdXJlIGFsZ29yaXRo bQ0KKyAgICAgICAgLy8NCisgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgIH0gZWxzZSB7DQorICAg ICAgICAvLw0KKyAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBvY2N1cnJlZA0KKyAgICAgICAg Ly8NCisgICAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJGYWlsZWQgdG8gZ2VuZXJhdGUgcmFu ZG9tIGRhdGEgdXNpbmcgc2VjdXJlIGFsZ29yaXRobSAlZDogJXJcbiIsIEFsZ29yaXRobUluZGV4 LCBTdGF0dXMpKTsNCisgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQorICAgICAg ICByZXR1cm4gU3RhdHVzOw0KKyAgICAgIH0NCisgICAgfQ0KKw0KKyAgICAvLw0KKyAgICAvLyBJ ZiB3ZSBnZXQgaGVyZSwgd2UgZmFpbGVkIHRvIGdlbmVyYXRlIHJhbmRvbSBkYXRhIHVzaW5nIGFu eSBzZWN1cmUgYWxnb3JpdGhtDQorICAgIC8vIFBsYXRmb3JtIG93bmVyIHNob3VsZCBlbnN1cmUg dGhhdCBhdCBsZWFzdCBvbmUgc2VjdXJlIGFsZ29yaXRobSBpcyBzdXBwb3J0ZWQNCisgICAgLy8N CisgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisg IH0NCisNCisgIC8vDQorICAvLyBMZXRzIHRyeSB1c2luZyB0aGUgZGVmYXVsdCBhbGdvcml0aG0g KHdoaWNoIG1heSBub3QgYmUgc2VjdXJlKQ0KKyAgLy8NCisgIFN0YXR1cyA9IFJuZ1Byb3RvY29s LT5HZXRSTkcgKFJuZ1Byb3RvY29sLCBOVUxMLCBPdXRwdXRMZW5ndGgsIChVSU5UOCAqKU91dHB1 dCk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJS T1IsICIlYSBmYWlsZWQgdG8gZ2VuZXJhdGUgcmFuZG9tIGRhdGE6ICVyXG4iLCBfX2Z1bmNfXywg U3RhdHVzKSk7DQorICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQorICAgIHJldHVybiBT dGF0dXM7DQorICB9DQogDQotICBnUlQtPkdldFRpbWUgKCZUaW1lLCBOVUxMKTsNCi0gIFNlZWQg ID0gKFRpbWUuSG91ciA8PCAyNCB8IFRpbWUuRGF5IDw8IDE2IHwgVGltZS5NaW51dGUgPDwgOCB8 IFRpbWUuU2Vjb25kKTsNCi0gIFNlZWQgXj0gVGltZS5OYW5vc2Vjb25kOw0KLSAgU2VlZCBePSBU aW1lLlllYXIgPDwgNzsNCisgIHJldHVybiBFRklfU1VDQ0VTUzsNCit9DQorDQorLyoqDQorICBH ZW5lcmF0ZSBhIDMyLWJpdCBwc2V1ZG8tcmFuZG9tIG51bWJlci4NCiANCi0gIGdCUy0+R2V0TmV4 dE1vbm90b25pY0NvdW50ICgmTW9ub3RvbmljQ291bnQpOw0KLSAgU2VlZCArPSAoVUlOVDMyKU1v bm90b25pY0NvdW50Ow0KKyAgQHBhcmFtW291dF0gT3V0cHV0IC0gVGhlIGJ1ZmZlciB0byBzdG9y ZSB0aGUgZ2VuZXJhdGVkIHJhbmRvbSBudW1iZXIuDQogDQotICByZXR1cm4gU2VlZDsNCisgIEBy ZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIE9uIFN1Y2Nlc3MNCisgIEByZXR2YWwgRUZJX05P VF9GT1VORCAgICAgICAgIFJORyBwcm90b2NvbCBub3QgZm91bmQNCisgIEByZXR2YWwgT3RoZXJz ICAgICAgICAgICAgICAgIEVycm9yIGZyb20gUm5nUHJvdG9jb2wtPkdldFJORygpDQorDQorICBA cmV0dXJuIFN0YXR1cyBjb2RlDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0KK1BzZXVkb1Jh bmRvbVUzMiAoDQorICBPVVQgVUlOVDMyICAqT3V0cHV0DQorICApDQorew0KKyAgcmV0dXJuIFBz ZXVkb1JhbmRvbSAoT3V0cHV0LCBzaXplb2YgKCpPdXRwdXQpKTsNCiB9DQogDQogLyoqDQpkaWZm IC0tZ2l0IGEvTmV0d29ya1BrZy9UY3BEeGUvVGNwRHJpdmVyLmMgYi9OZXR3b3JrUGtnL1RjcER4 ZS9UY3BEcml2ZXIuYwppbmRleCA5OGE5MGUwMjEwLi44ZmU2YmFkZDY4IDEwMDY0NAotLS0gYS9O ZXR3b3JrUGtnL1RjcER4ZS9UY3BEcml2ZXIuYworKysgYi9OZXR3b3JrUGtnL1RjcER4ZS9UY3BE cml2ZXIuYwpAQCAtMiw3ICsyLDcgQEAKICAgVGhlIGRyaXZlciBiaW5kaW5nIGFuZCBzZXJ2aWNl IGJpbmRpbmcgcHJvdG9jb2wgZm9yIHRoZSBUQ1AgZHJpdmVyLg0KIA0KICAgQ29weXJpZ2h0IChj KSAyMDA5IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJS Pg0KLQ0KKyAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCiAgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQogDQogKiovDQpAQCAtMTYzLDcg KzE2MywxMyBAQCBUY3BEcml2ZXJFbnRyeVBvaW50ICgKICAgKQ0KIHsNCiAgIEVGSV9TVEFUVVMg IFN0YXR1czsNCi0gIFVJTlQzMiAgICAgIFNlZWQ7DQorICBVSU5UMzIgICAgICBSYW5kb207DQor DQorICBTdGF0dXMgPSBQc2V1ZG9SYW5kb21VMzIgKCZSYW5kb20pOw0KKyAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgRmFpbGVkIHRvIGdl bmVyYXRlIHJhbmRvbSBudW1iZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQorICAgIHJl dHVybiBTdGF0dXM7DQorICB9DQogDQogICAvLw0KICAgLy8gSW5zdGFsbCB0aGUgVENQIERyaXZl ciBCaW5kaW5nIFByb3RvY29sDQpAQCAtMjAzLDkgKzIwOSw4IEBAIFRjcERyaXZlckVudHJ5UG9p bnQgKAogICAvLw0KICAgLy8gSW5pdGlhbGl6ZSBJU1MgYW5kIHJhbmRvbSBwb3J0Lg0KICAgLy8N Ci0gIFNlZWQgICAgICAgICAgICA9IE5ldFJhbmRvbUluaXRTZWVkICgpOw0KLSAgbVRjcEdsb2Jh bElzcyAgID0gTkVUX1JBTkRPTSAoU2VlZCkgJSBtVGNwR2xvYmFsSXNzOw0KLSAgbVRjcDRSYW5k b21Qb3J0ID0gKFVJTlQxNikoVENQX1BPUlRfS05PV04gKyAoTkVUX1JBTkRPTSAoU2VlZCkgJSBU Q1BfUE9SVF9LTk9XTikpOw0KKyAgbVRjcEdsb2JhbElzcyAgID0gUmFuZG9tICUgbVRjcEdsb2Jh bElzczsNCisgIG1UY3A0UmFuZG9tUG9ydCA9IChVSU5UMTYpKFRDUF9QT1JUX0tOT1dOICsgKFJh bmRvbSAlIFRDUF9QT1JUX0tOT1dOKSk7DQogICBtVGNwNlJhbmRvbVBvcnQgPSBtVGNwNFJhbmRv bVBvcnQ7DQogDQogICByZXR1cm4gRUZJX1NVQ0NFU1M7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1Br Zy9VZHA0RHhlL1VkcDREcml2ZXIuYyBiL05ldHdvcmtQa2cvVWRwNER4ZS9VZHA0RHJpdmVyLmMK aW5kZXggY2I5MTdmY2ZjOS4uYzdlYTE2ZjRjZCAxMDA2NDQKLS0tIGEvTmV0d29ya1BrZy9VZHA0 RHhlL1VkcDREcml2ZXIuYworKysgYi9OZXR3b3JrUGtnL1VkcDREeGUvVWRwNERyaXZlci5jCkBA IC0xLDYgKzEsNyBAQAogLyoqIEBmaWxlDQogDQogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KK0NvcHlyaWdodCAo YykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCkBAIC01NTUsNiArNTU2LDEzIEBAIFVkcDREcml2ZXJF bnRyeVBvaW50ICgKICAgKQ0KIHsNCiAgIEVGSV9TVEFUVVMgIFN0YXR1czsNCisgIFVJTlQzMiAg ICAgIFJhbmRvbTsNCisNCisgIFN0YXR1cyA9IFBzZXVkb1JhbmRvbVUzMiAoJlJhbmRvbSk7DQor ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICIl YSBmYWlsZWQgdG8gZ2VuZXJhdGUgcmFuZG9tIG51bWJlcjogJXJcbiIsIF9fZnVuY19fLCBTdGF0 dXMpKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCiANCiAgIC8vDQogICAvLyBJbnN0YWxs IHRoZSBVZHA0RHJpdmVyQmluZGluZyBhbmQgVWRwNENvbXBvbmVudE5hbWUgcHJvdG9jb2xzLg0K QEAgLTU3MSw3ICs1NzksNyBAQCBVZHA0RHJpdmVyRW50cnlQb2ludCAoCiAgICAgLy8NCiAgICAg Ly8gSW5pdGlhbGl6ZSB0aGUgVURQIHJhbmRvbSBwb3J0Lg0KICAgICAvLw0KLSAgICBtVWRwNFJh bmRvbVBvcnQgPSAoVUlOVDE2KSgoKFVJTlQxNilOZXRSYW5kb21Jbml0U2VlZCAoKSkgJSBVRFA0 X1BPUlRfS05PV04gKyBVRFA0X1BPUlRfS05PV04pOw0KKyAgICBtVWRwNFJhbmRvbVBvcnQgPSAo VUlOVDE2KSgoKFVJTlQxNilSYW5kb20pICUgVURQNF9QT1JUX0tOT1dOICsgVURQNF9QT1JUX0tO T1dOKTsNCiAgIH0NCiANCiAgIHJldHVybiBTdGF0dXM7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1Br Zy9VZHA2RHhlL1VkcDZEcml2ZXIuYyBiL05ldHdvcmtQa2cvVWRwNkR4ZS9VZHA2RHJpdmVyLmMK aW5kZXggYWU5NmZiOTk2Ni4uZWRiNzU4ZDU3YyAxMDA2NDQKLS0tIGEvTmV0d29ya1BrZy9VZHA2 RHhlL1VkcDZEcml2ZXIuYworKysgYi9OZXR3b3JrUGtnL1VkcDZEeGUvVWRwNkRyaXZlci5jCkBA IC0yLDcgKzIsNyBAQAogICBEcml2ZXIgQmluZGluZyBmdW5jdGlvbnMgYW5kIFNlcnZpY2UgQmlu ZGluZyBmdW5jdGlvbnMgZm9yIHRoZSBOZXR3b3JrIGRyaXZlciBtb2R1bGUuDQogDQogICBDb3B5 cmlnaHQgKGMpIDIwMDkgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQotDQorICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0KICAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCkBA IC01OTYsNiArNTk2LDEzIEBAIFVkcDZEcml2ZXJFbnRyeVBvaW50ICgKICAgKQ0KIHsNCiAgIEVG SV9TVEFUVVMgIFN0YXR1czsNCisgIFVJTlQzMiAgICAgIFJhbmRvbTsNCisNCisgIFN0YXR1cyA9 IFBzZXVkb1JhbmRvbVUzMiAoJlJhbmRvbSk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYSBmYWlsZWQgdG8gZ2VuZXJhdGUgcmFuZG9t IG51bWJlcjogJXJcbiIsIF9fZnVuY19fLCBTdGF0dXMpKTsNCisgICAgcmV0dXJuIFN0YXR1czsN CisgIH0NCiANCiAgIC8vDQogICAvLyBJbnN0YWxsIHRoZSBVZHA2RHJpdmVyQmluZGluZyBhbmQg VWRwNkNvbXBvbmVudE5hbWUgcHJvdG9jb2xzLg0KQEAgLTYxNCw3ICs2MjEsNyBAQCBVZHA2RHJp dmVyRW50cnlQb2ludCAoCiAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgVURQIHJhbmRvbSBwb3J0Lg0K ICAgICAvLw0KICAgICBtVWRwNlJhbmRvbVBvcnQgPSAoVUlOVDE2KSgNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKChVSU5UMTYpTmV0UmFuZG9tSW5pdFNlZWQgKCkpICUNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKChVSU5UMTYpUmFuZG9tKSAlDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFVEUDZfUE9SVF9LTk9XTiArDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFVEUDZfUE9SVF9LTk9XTg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApOw0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvVWVmaVB4ZUJjRHhlL1B4ZUJjRGhj cDQuYyBiL05ldHdvcmtQa2cvVWVmaVB4ZUJjRHhlL1B4ZUJjRGhjcDQuYwppbmRleCA5MTE0NmI3 OGNiLi40NTIwMzhjMjE5IDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9QeGVC Y0RoY3A0LmMKKysrIGIvTmV0d29ya1BrZy9VZWZpUHhlQmNEeGUvUHhlQmNEaGNwNC5jCkBAIC0y LDcgKzIsNyBAQAogICBGdW5jdGlvbnMgaW1wbGVtZW50YXRpb24gcmVsYXRlZCB3aXRoIERIQ1B2 NCBmb3IgVWVmaVB4ZUJjIERyaXZlci4NCiANCiAgIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTgs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCi0NCisgIENvcHly aWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KICoqLw0KQEAgLTEzODEsNiArMTM4MSwxMiBAQCBQ eGVCY0RoY3A0RGlzY292ZXIgKAogICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg VmVuZG9yT3B0TGVuOw0KICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhpZDsN CiANCisgIFN0YXR1cyA9IFBzZXVkb1JhbmRvbVUzMiAoJlhpZCk7DQorICBpZiAoRUZJX0VSUk9S IChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYSBmYWlsZWQgdG8gZ2Vu ZXJhdGUgcmFuZG9tIG51bWJlcjogJXJcbiIsIF9fZnVuY19fLCBTdGF0dXMpKTsNCisgICAgcmV0 dXJuIFN0YXR1czsNCisgIH0NCisNCiAgIE1vZGUgICA9IFByaXZhdGUtPlB4ZUJjLk1vZGU7DQog ICBEaGNwNCAgPSBQcml2YXRlLT5EaGNwNDsNCiAgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KQEAg LTE0NzEsNyArMTQ3Nyw2IEBAIFB4ZUJjRGhjcDREaXNjb3ZlciAoCiAgIC8vDQogICAvLyBTZXQg ZmllbGRzIG9mIHRoZSB0b2tlbiBmb3IgdGhlIHJlcXVlc3QgcGFja2V0Lg0KICAgLy8NCi0gIFhp ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gTkVUX1JBTkRPTSAoTmV0UmFuZG9t SW5pdFNlZWQgKCkpOw0KICAgVG9rZW4uUGFja2V0LT5EaGNwNC5IZWFkZXIuWGlkICAgICAgPSBI VE9OTCAoWGlkKTsNCiAgIFRva2VuLlBhY2tldC0+RGhjcDQuSGVhZGVyLlJlc2VydmVkID0gSFRP TlMgKChVSU5UMTYpKChJc0JDYXN0KSA/IDB4ODAwMCA6IDB4MCkpOw0KICAgQ29weU1lbSAoJlRv a2VuLlBhY2tldC0+RGhjcDQuSGVhZGVyLkNsaWVudEFkZHIsICZQcml2YXRlLT5TdGF0aW9uSXAs IHNpemVvZiAoRUZJX0lQdjRfQUREUkVTUykpOw0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvVWVm aVB4ZUJjRHhlL1B4ZUJjRGhjcDYuYyBiL05ldHdvcmtQa2cvVWVmaVB4ZUJjRHhlL1B4ZUJjRGhj cDYuYwppbmRleCA3ZmQxMjgxYzExLi5iY2FiYmQyMjE5IDEwMDY0NAotLS0gYS9OZXR3b3JrUGtn L1VlZmlQeGVCY0R4ZS9QeGVCY0RoY3A2LmMKKysrIGIvTmV0d29ya1BrZy9VZWZpUHhlQmNEeGUv UHhlQmNEaGNwNi5jCkBAIC0yMTgwLDcgKzIxODAsNyBAQCBQeGVCY0RoY3A2RGlzY292ZXIgKAog ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFkU2l6ZTsNCiAgIFVJTlQxNiAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9wQ29kZTsNCiAgIFVJTlQxNiAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9wTGVuOw0KLSAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAg WGlkOw0KKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgUmFuZG9tOw0KICAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KICAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgRGlzY292ZXJMZW5OZWVkZWQ7DQogDQpAQCAtMjE5OCw2ICsyMTk4 LDEyIEBAIFB4ZUJjRGhjcDZEaXNjb3ZlciAoCiAgICAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7 DQogICB9DQogDQorICBTdGF0dXMgPSBQc2V1ZG9SYW5kb21VMzIgKCZSYW5kb20pOw0KKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgZmFp bGVkIHRvIGdlbmVyYXRlIHJhbmRvbSBudW1iZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7 DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQogICBEaXNjb3Zlckxlbk5lZWRlZCA9IHNp emVvZiAoRUZJX1BYRV9CQVNFX0NPREVfREhDUFY2X1BBQ0tFVCk7DQogICBEaXNjb3ZlciAgICAg ICAgICA9IEFsbG9jYXRlWmVyb1Bvb2wgKERpc2NvdmVyTGVuTmVlZGVkKTsNCiAgIGlmIChEaXNj b3ZlciA9PSBOVUxMKSB7DQpAQCAtMjIwNyw4ICsyMjEzLDcgQEAgUHhlQmNEaGNwNkRpc2NvdmVy ICgKICAgLy8NCiAgIC8vIEJ1aWxkIHRoZSBkaXNjb3ZlciBwYWNrZXQgYnkgdGhlIGNhY2hlZCBy ZXF1ZXN0IHBhY2tldCBiZWZvcmUuDQogICAvLw0KLSAgWGlkICAgICAgICAgICAgICAgICAgICAg PSBORVRfUkFORE9NIChOZXRSYW5kb21Jbml0U2VlZCAoKSk7DQotICBEaXNjb3Zlci0+VHJhbnNh Y3Rpb25JZCA9IEhUT05MIChYaWQpOw0KKyAgRGlzY292ZXItPlRyYW5zYWN0aW9uSWQgPSBIVE9O TCAoUmFuZG9tKTsNCiAgIERpc2NvdmVyLT5NZXNzYWdlVHlwZSAgID0gUmVxdWVzdC0+RGhjcDYu SGVhZGVyLk1lc3NhZ2VUeXBlOw0KICAgUmVxdWVzdE9wdCAgICAgICAgICAgICAgPSBSZXF1ZXN0 LT5EaGNwNi5PcHRpb247DQogICBEaXNjb3Zlck9wdCAgICAgICAgICAgICA9IERpc2NvdmVyLT5E aGNwT3B0aW9uczsNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9QeGVCY0Ry aXZlci5jIGIvTmV0d29ya1BrZy9VZWZpUHhlQmNEeGUvUHhlQmNEcml2ZXIuYwppbmRleCBkODRh Y2E3ZTg1Li40Y2Q5MTViNDExIDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9Q eGVCY0RyaXZlci5jCisrKyBiL05ldHdvcmtQa2cvVWVmaVB4ZUJjRHhlL1B4ZUJjRHJpdmVyLmMK QEAgLTMsNiArMyw3IEBACiANCiAgIChDKSBDb3B5cmlnaHQgMjAxNCBIZXdsZXR0LVBhY2thcmQg RGV2ZWxvcG1lbnQgQ29tcGFueSwgTC5QLjxCUj4NCiAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIw MTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisgIENvcHly aWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogDQogICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KQEAgLTg5Miw2ICs4OTMsMTMgQEAgUHhlQmND cmVhdGVJcDZDaGlsZHJlbiAoCiAgIFBYRUJDX1BSSVZBVEVfUFJPVE9DT0wgICAgICAgKklkOw0K ICAgRUZJX1NJTVBMRV9ORVRXT1JLX1BST1RPQ09MICAqU25wOw0KICAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICBJbmRleDsNCisgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgUmFu ZG9tOw0KKw0KKyAgU3RhdHVzID0gUHNldWRvUmFuZG9tVTMyICgmUmFuZG9tKTsNCisgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIkZhaWxlZCB0 byBnZW5lcmF0ZSByYW5kb20gbnVtYmVyIHVzaW5nIEVGSV9STkdfUFJPVE9DT0w6ICVyXG4iLCBT dGF0dXMpKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCiANCiAgIGlmIChQcml2YXRlLT5J cDZOaWMgIT0gTlVMTCkgew0KICAgICAvLw0KQEAgLTkzNSw5ICs5NDMsOSBAQCBQeGVCY0NyZWF0 ZUlwNkNoaWxkcmVuICgKICAgfQ0KIA0KICAgLy8NCi0gIC8vIEdlbmVyYXRlIGEgcmFuZG9tIElB SUQgZm9yIHRoZSBEaGNwNiBhc3NpZ25lZCBhZGRyZXNzLg0KKyAgLy8gU2V0IGEgcmFuZG9tIElB SUQgZm9yIHRoZSBEaGNwNiBhc3NpZ25lZCBhZGRyZXNzLg0KICAgLy8NCi0gIFByaXZhdGUtPklh SWQgPSBORVRfUkFORE9NIChOZXRSYW5kb21Jbml0U2VlZCAoKSk7DQorICBQcml2YXRlLT5JYUlk ID0gUmFuZG9tOw0KICAgaWYgKFByaXZhdGUtPlNucCAhPSBOVUxMKSB7DQogICAgIGZvciAoSW5k ZXggPSAwOyBJbmRleCA8IFByaXZhdGUtPlNucC0+TW9kZS0+SHdBZGRyZXNzU2l6ZTsgSW5kZXgr Kykgew0KICAgICAgIFByaXZhdGUtPklhSWQgfD0gKFByaXZhdGUtPlNucC0+TW9kZS0+Q3VycmVu dEFkZHJlc3MuQWRkcltJbmRleF0gPDwgKChJbmRleCA8PCAzKSAmIDMxKSk7DQpkaWZmIC0tZ2l0 IGEvTmV0d29ya1BrZy9TZWN1cml0eUZpeGVzLnlhbWwgYi9OZXR3b3JrUGtnL1NlY3VyaXR5Rml4 ZXMueWFtbAppbmRleCBmYTQyMDI1ZTBkLi4yMGE0NTU1MDE5IDEwMDY0NAotLS0gYS9OZXR3b3Jr UGtnL1NlY3VyaXR5Rml4ZXMueWFtbAorKysgYi9OZXR3b3JrUGtnL1NlY3VyaXR5Rml4ZXMueWFt bApAQCAtMTIyLDMgKzEyMiw0MiBAQCBDVkVfMjAyM180NTIzNToKICAgICAtIGh0dHA6Ly93d3cu b3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDI0LzAxLzE2LzINCiAgICAgLSBodHRw Oi8vcGFja2V0c3Rvcm1zZWN1cml0eS5jb20vZmlsZXMvMTc2NTc0L1BpeGllRmFpbC1Qcm9vZi1P Zi1Db25jZXB0cy5odG1sDQogICAgIC0gaHR0cHM6Ly9ibG9nLnF1YXJrc2xhYi5jb20vcGl4aWVm YWlsLW5pbmUtdnVsbmVyYWJpbGl0aWVzLWluLXRpYW5vY29yZXMtZWRrLWlpLWlwdjYtbmV0d29y ay1zdGFjay5odG1sDQorQ1ZFXzIwMjNfNDUyMzc6DQorICBjb21taXRfdGl0bGVzOg0KKyAgICAt ICJOZXR3b3JrUGtnOjogU0VDVVJJVFkgUEFUQ0ggQ1ZFIDIwMjMtNDUyMzciDQorICBjdmU6IENW RS0yMDIzLTQ1MjM3DQorICBkYXRlX3JlcG9ydGVkOiAyMDIzLTA4LTI4IDEzOjU2IFVUQw0KKyAg ZGVzY3JpcHRpb246ICJCdWcgMDkgLSBVc2Ugb2YgYSBXZWFrIFBzZXVkb1JhbmRvbSBOdW1iZXIg R2VuZXJhdG9yIg0KKyAgbm90ZToNCisgIGZpbGVzX2ltcGFjdGVkOg0KKyAgICAtIE5ldHdvcmtQ a2cvRGhjcDREeGUvRGhjcDREcml2ZXIuYw0KKyAgICAtIE5ldHdvcmtQa2cvRGhjcDZEeGUvRGhj cDZEcml2ZXIuYw0KKyAgICAtIE5ldHdvcmtQa2cvRG5zRHhlL0Ruc0RoY3AuYw0KKyAgICAtIE5l dHdvcmtQa2cvRG5zRHhlL0Ruc0ltcGwuYw0KKyAgICAtIE5ldHdvcmtQa2cvSHR0cEJvb3REeGUv SHR0cEJvb3REaGNwNi5jDQorICAgIC0gTmV0d29ya1BrZy9JU2NzaUR4ZS9JU2NzaUNIQVAuYw0K KyAgICAtIE5ldHdvcmtQa2cvSVNjc2lEeGUvSVNjc2lNaXNjLmMNCisgICAgLSBOZXR3b3JrUGtn L0lTY3NpRHhlL0lTY3NpTWlzYy5oDQorICAgIC0gTmV0d29ya1BrZy9JbmNsdWRlL0xpYnJhcnkv TmV0TGliLmgNCisgICAgLSBOZXR3b3JrUGtnL0lwNER4ZS9JcDREcml2ZXIuYw0KKyAgICAtIE5l dHdvcmtQa2cvSXA2RHhlL0lwNkNvbmZpZ0ltcGwuYw0KKyAgICAtIE5ldHdvcmtQa2cvSXA2RHhl L0lwNkRyaXZlci5jDQorICAgIC0gTmV0d29ya1BrZy9JcDZEeGUvSXA2SWYuYw0KKyAgICAtIE5l dHdvcmtQa2cvSXA2RHhlL0lwNk1sZC5jDQorICAgIC0gTmV0d29ya1BrZy9JcDZEeGUvSXA2TmQu Yw0KKyAgICAtIE5ldHdvcmtQa2cvSXA2RHhlL0lwNk5kLmgNCisgICAgLSBOZXR3b3JrUGtnL0xp YnJhcnkvRHhlTmV0TGliL0R4ZU5ldExpYi5jDQorICAgIC0gTmV0d29ya1BrZy9MaWJyYXJ5L0R4 ZU5ldExpYi9EeGVOZXRMaWIuaW5mDQorICAgIC0gTmV0d29ya1BrZy9OZXR3b3JrUGtnLmRlYw0K KyAgICAtIE5ldHdvcmtQa2cvVGNwRHhlL1RjcERyaXZlci5jDQorICAgIC0gTmV0d29ya1BrZy9V ZHA0RHhlL1VkcDREcml2ZXIuYw0KKyAgICAtIE5ldHdvcmtQa2cvVWRwNkR4ZS9VZHA2RHJpdmVy LmMNCisgICAgLSBOZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9QeGVCY0RoY3A0LmMNCisgICAgLSBO ZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9QeGVCY0RoY3A2LmMNCisgICAgLSBOZXR3b3JrUGtnL1Vl ZmlQeGVCY0R4ZS9QeGVCY0RyaXZlci5jDQorICBsaW5rczoNCisgICAgLSBodHRwczovL2J1Z3pp bGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NDINCisgICAgLSBodHRwczovL252 ZC5uaXN0Lmdvdi92dWxuL2RldGFpbC9DVkUtMjAyMy00NTIzNw0KKyAgICAtIGh0dHA6Ly93d3cu b3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDI0LzAxLzE2LzINCisgICAgLSBodHRw Oi8vcGFja2V0c3Rvcm1zZWN1cml0eS5jb20vZmlsZXMvMTc2NTc0L1BpeGllRmFpbC1Qcm9vZi1P Zi1Db25jZXB0cy5odG1sDQorICAgIC0gaHR0cHM6Ly9ibG9nLnF1YXJrc2xhYi5jb20vcGl4aWVm YWlsLW5pbmUtdnVsbmVyYWJpbGl0aWVzLWluLXRpYW5vY29yZXMtZWRrLWlpLWlwdjYtbmV0d29y ay1zdGFjay5odG1sDQotLSAKMi4zNC4xCgo= -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119214): https://edk2.groups.io/g/devel/message/119214 Mute This Topic: https://groups.io/mt/106276838/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-