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 96FB2AC0A69 for ; Fri, 24 May 2024 05:44:50 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=eSxN/zvgWVEW2uTrzoY8otppG5cXGtiVZXrclLIZrjI=; 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=1716529489; v=1; b=wkHMC0WbrmrjFn3kUaUZ5dOZfoLN4uJbrNDtDr82V2GDXIyj0ReWovCg7qhCoCcQw56e6LhO LralEbCZQ+UDBWlIX5NoY7jZwNnuXEs0KdNE6pvtiYXUEeRSw2ITgUEx8J5FBSI71nTBd/A+KGA 5ONwHUeKDuo9RAPwySQVRme8YDrT7r7xjR+470o6MliKmqMZGqmRF3RymcZ0OH6MfLvft6B8AiT JDfehtlS1Renr2wZlB6DqSoaFHkq/6m00+Llp5BIKjJ+UUM/M7adTAFjnUcp2AnvQAVzjLt2cvX D3JLDAvuOJxZoFIHmPWa92CHjji/CDVKZSRpCZ7FDyjjw== X-Received: by 127.0.0.2 with SMTP id 99c9YY7687511xEj6Q8kZ7VJ; Thu, 23 May 2024 22:44:49 -0700 X-Received: from mail-oa1-f54.google.com (mail-oa1-f54.google.com [209.85.160.54]) by mx.groups.io with SMTP id smtpd.web10.9189.1716529486777648483 for ; Thu, 23 May 2024 22:44:46 -0700 X-Received: by mail-oa1-f54.google.com with SMTP id 586e51a60fabf-24ca3acb835so137705fac.3 for ; Thu, 23 May 2024 22:44:46 -0700 (PDT) X-Gm-Message-State: gB9XCEz73XiNfcXlhCXRSaZyx7686176AA= X-Google-Smtp-Source: AGHT+IGlbVvVuNL8u/tL112zci1Mz+KsXdOW3TPA27XfgzYM6/BgX4a1NipOQPgbPyjyYfUMe1JLLQ== X-Received: by 2002:a05:6871:20d:b0:23d:4124:457b with SMTP id 586e51a60fabf-24ca13e68b7mr1369042fac.36.1716529485211; Thu, 23 May 2024 22:44:45 -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.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 May 2024 22:44:44 -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 09/20] NetworkPkg: TcpDxe: SECURITY PATCH CVE-2023-45236 Date: Thu, 23 May 2024 22:44:24 -0700 Message-Id: <20240524054435.523079-10-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=wkHMC0Wb; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io RnJvbTogRG91ZyBGbGljayA8ZG91Z2ZsaWNrQG1pY3Jvc29mdC5jb20+CgpSRUY6IGh0dHBzOi8v YnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU0MQpSRUY6IGh0dHBzOi8v d3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMxOTQ4LnR4dApSRUY6IGh0dHBzOi8vd3d3LnJmYy1l ZGl0b3Iub3JnL3JmYy9yZmM2NTI4LnR4dApSRUY6IGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3Jn L3JmYy9yZmM5MjkzLnR4dAoKQnVnIE92ZXJ2aWV3OgpQaXhpZUZhaWwgQnVnICM4CkNWRS0yMDIz LTQ1MjM2CkNWU1M6My4xL0FWOk4vQUM6TC9QUjpOL1VJOk4vUzpDL0M6TC9JOk4vQTpOCkNXRS0y MDAgRXhwb3N1cmUgb2YgU2Vuc2l0aXZlIEluZm9ybWF0aW9uIHRvIGFuIFVuYXV0aG9yaXplZCBB Y3RvcgoKVXBkYXRlcyBUQ1AgSVNOIGdlbmVyYXRpb24gdG8gdXNlIGEgY3J5cHRvZ3JhcGhpYyBo YXNoIG9mIHRoZQpjb25uZWN0aW9uJ3MgaWRlbnRpZnlpbmcgcGFyYW1ldGVycyBhbmQgYSBzZWNy ZXQga2V5LgpUaGlzIHByZXZlbnRzIGFuIGF0dGFja2VyIGZyb20gZ3Vlc3NpbmcgdGhlIElTTiB1 c2VkIGZvciBzb21lIG90aGVyCmNvbm5lY3Rpb24uCgpUaGlzIGlzIGZvbGxvd3MgdGhlIGd1aWRh bmNlIGluIFJGQyAxOTQ4LCBSRkMgNjUyOCwgYW5kIFJGQyA5MjkzLgoKUkZDOiA5MjkzIFNlY3Rp b24gMy40LjEuICBJbml0aWFsIFNlcXVlbmNlIE51bWJlciBTZWxlY3Rpb24KCiAgIEEgVENQIGlt cGxlbWVudGF0aW9uIE1VU1QgdXNlIHRoZSBhYm92ZSB0eXBlIG9mICJjbG9jayIgZm9yIGNsb2Nr LQogICBkcml2ZW4gc2VsZWN0aW9uIG9mIGluaXRpYWwgc2VxdWVuY2UgbnVtYmVycyAoTVVTVC04 KSwgYW5kIFNIT1VMRAogICBnZW5lcmF0ZSBpdHMgaW5pdGlhbCBzZXF1ZW5jZSBudW1iZXJzIHdp dGggdGhlIGV4cHJlc3Npb246CgogICBJU04gPSBNICsgRihsb2NhbGlwLCBsb2NhbHBvcnQsIHJl bW90ZWlwLCByZW1vdGVwb3J0LCBzZWNyZXRrZXkpCgogICB3aGVyZSBNIGlzIHRoZSA0IG1pY3Jv c2Vjb25kIHRpbWVyLCBhbmQgRigpIGlzIGEgcHNldWRvcmFuZG9tCiAgIGZ1bmN0aW9uIChQUkYp IG9mIHRoZSBjb25uZWN0aW9uJ3MgaWRlbnRpZnlpbmcgcGFyYW1ldGVycyAoImxvY2FsaXAsCiAg IGxvY2FscG9ydCwgcmVtb3RlaXAsIHJlbW90ZXBvcnQiKSBhbmQgYSBzZWNyZXQga2V5ICgic2Vj cmV0a2V5IikKICAgKFNITEQtMSkuICBGKCkgTVVTVCBOT1QgYmUgY29tcHV0YWJsZSBmcm9tIHRo ZSBvdXRzaWRlIChNVVNULTkpLCBvcgogICBhbiBhdHRhY2tlciBjb3VsZCBzdGlsbCBndWVzcyBh dCBzZXF1ZW5jZSBudW1iZXJzIGZyb20gdGhlIElTTiB1c2VkCiAgIGZvciBzb21lIG90aGVyIGNv bm5lY3Rpb24uICBUaGUgUFJGIGNvdWxkIGJlIGltcGxlbWVudGVkIGFzIGEKICAgY3J5cHRvZ3Jh cGhpYyBoYXNoIG9mIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSBUQ1AgY29ubmVjdGlvbgogICBw YXJhbWV0ZXJzIGFuZCBzb21lIHNlY3JldCBkYXRhLiAgRm9yIGRpc2N1c3Npb24gb2YgdGhlIHNl bGVjdGlvbiBvZgogICBhIHNwZWNpZmljIGhhc2ggYWxnb3JpdGhtIGFuZCBtYW5hZ2VtZW50IG9m IHRoZSBzZWNyZXQga2V5IGRhdGEsCiAgIHBsZWFzZSBzZWUgU2VjdGlvbiAzIG9mIFs0Ml0uCgog ICBGb3IgZWFjaCBjb25uZWN0aW9uIHRoZXJlIGlzIGEgc2VuZCBzZXF1ZW5jZSBudW1iZXIgYW5k IGEgcmVjZWl2ZQogICBzZXF1ZW5jZSBudW1iZXIuICBUaGUgaW5pdGlhbCBzZW5kIHNlcXVlbmNl IG51bWJlciAoSVNTKSBpcyBjaG9zZW4gYnkKICAgdGhlIGRhdGEgc2VuZGluZyBUQ1AgcGVlciwg YW5kIHRoZSBpbml0aWFsIHJlY2VpdmUgc2VxdWVuY2UgbnVtYmVyCiAgIChJUlMpIGlzIGxlYXJu ZWQgZHVyaW5nIHRoZSBjb25uZWN0aW9uLWVzdGFibGlzaGluZyBwcm9jZWR1cmUuCgogICBGb3Ig YSBjb25uZWN0aW9uIHRvIGJlIGVzdGFibGlzaGVkIG9yIGluaXRpYWxpemVkLCB0aGUgdHdvIFRD UCBwZWVycwogICBtdXN0IHN5bmNocm9uaXplIG9uIGVhY2ggb3RoZXIncyBpbml0aWFsIHNlcXVl bmNlIG51bWJlcnMuICBUaGlzIGlzCiAgIGRvbmUgaW4gYW4gZXhjaGFuZ2Ugb2YgY29ubmVjdGlv bi1lc3RhYmxpc2hpbmcgc2VnbWVudHMgY2FycnlpbmcgYQogICBjb250cm9sIGJpdCBjYWxsZWQg IlNZTiIgKGZvciBzeW5jaHJvbml6ZSkgYW5kIHRoZSBpbml0aWFsIHNlcXVlbmNlCiAgIG51bWJl cnMuICBBcyBhIHNob3J0aGFuZCwgc2VnbWVudHMgY2FycnlpbmcgdGhlIFNZTiBiaXQgYXJlIGFs c28KICAgY2FsbGVkICJTWU5zIi4gIEhlbmNlLCB0aGUgc29sdXRpb24gcmVxdWlyZXMgYSBzdWl0 YWJsZSBtZWNoYW5pc20gZm9yCiAgIHBpY2tpbmcgYW4gaW5pdGlhbCBzZXF1ZW5jZSBudW1iZXIg YW5kIGEgc2xpZ2h0bHkgaW52b2x2ZWQgaGFuZHNoYWtlCiAgIHRvIGV4Y2hhbmdlIHRoZSBJU05z LgoKQ2M6IFNhbG9uaSBLYXNiZWthciA8c2Fsb25pLmthc2Jla2FyQGludGVsLmNvbT4KQ2M6IFph Y2hhcnkgQ2xhcmstd2lsbGlhbXMgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29tPgoK U2lnbmVkLW9mZi1ieTogRG91ZyBGbGljayBbTVNGVF0gPGRvdWcuZWRrMkBnbWFpbC5jb20+Ci0t LQogTmV0d29ya1BrZy9UY3BEeGUvVGNwRHhlLmluZiAgfCAgIDggKy0KIE5ldHdvcmtQa2cvVGNw RHhlL1RjcEZ1bmMuaCAgIHwgIDIzICstCiBOZXR3b3JrUGtnL1RjcER4ZS9UY3BNYWluLmggICB8 ICA1OSArKysrLQogTmV0d29ya1BrZy9UY3BEeGUvVGNwRHJpdmVyLmMgfCAgOTIgKysrKysrKy0K IE5ldHdvcmtQa2cvVGNwRHhlL1RjcElucHV0LmMgIHwgIDEzICstCiBOZXR3b3JrUGtnL1RjcER4 ZS9UY3BNaXNjLmMgICB8IDI0NCArKysrKysrKysrKysrKysrKystLQogTmV0d29ya1BrZy9UY3BE eGUvVGNwVGltZXIuYyAgfCAgIDMgKy0KIE5ldHdvcmtQa2cvU2VjdXJpdHlGaXhlcy55YW1sIHwg IDIyICsrCiA4IGZpbGVzIGNoYW5nZWQsIDQxNSBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1RjcER4ZS9UY3BEeGUuaW5mIGIvTmV0d29ya1Br Zy9UY3BEeGUvVGNwRHhlLmluZgppbmRleCBjZjU0MjNmNGM1Li43NmRlNGNmOWVjIDEwMDY0NAot LS0gYS9OZXR3b3JrUGtnL1RjcER4ZS9UY3BEeGUuaW5mCisrKyBiL05ldHdvcmtQa2cvVGNwRHhl L1RjcER4ZS5pbmYKQEAgLTYsNiArNiw3IEBACiAjICBzdGFjayBoYXMgYmVlbiBsb2FkZWQgaW4g c3lzdGVtLiBUaGlzIGRyaXZlciBzdXBwb3J0cyBib3RoIElQdjQgYW5kIElQdjYgbmV0d29yayBz dGFjay4NCiAjDQogIyAgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKyMgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0 IENvcnBvcmF0aW9uDQogIw0KICMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQogIw0KQEAgLTY4LDcgKzY5LDYgQEAKICAgTmV0TGliDQogICBJcElvTGliDQog DQotDQogW1Byb3RvY29sc10NCiAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KICAgIyMgU09NRVRJ TUVTX1BST0RVQ0VTDQpAQCAtODEsNiArODEsMTIgQEAKICAgZ0VmaUlwNlNlcnZpY2VCaW5kaW5n UHJvdG9jb2xHdWlkICAgICAgICAgICAgICMjIFRPX1NUQVJUDQogICBnRWZpVGNwNlByb3RvY29s R3VpZCAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgQllfU1RBUlQNCiAgIGdFZmlUY3A2U2Vy dmljZUJpbmRpbmdQcm90b2NvbEd1aWQgICAgICAgICAgICAjIyBCWV9TVEFSVA0KKyAgZ0VmaUhh c2gyUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICMjIEJZX1NUQVJUDQorICBn RWZpSGFzaDJTZXJ2aWNlQmluZGluZ1Byb3RvY29sR3VpZCAgICAgICAgICAgIyMgQllfU1RBUlQN CisNCitbR3VpZHNdDQorICBnRWZpSGFzaEFsZ29yaXRobU1ENUd1aWQgICAgICAgICAgICAgICAg ICAgICAgIyMgQ09OU1VNRVMNCisgIGdFZmlIYXNoQWxnb3JpdGhtU2hhMjU2R3VpZCAgICAgICAg ICAgICAgICAgICAjIyBDT05TVU1FUw0KIA0KIFtEZXBleF0NCiAgIGdFZmlIYXNoMlNlcnZpY2VC aW5kaW5nUHJvdG9jb2xHdWlkDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9UY3BEeGUvVGNwRnVu Yy5oIGIvTmV0d29ya1BrZy9UY3BEeGUvVGNwRnVuYy5oCmluZGV4IGE3YWYwMWZmZjIuLmM3MDdi ZWUzZTUgMTAwNjQ0Ci0tLSBhL05ldHdvcmtQa2cvVGNwRHhlL1RjcEZ1bmMuaAorKysgYi9OZXR3 b3JrUGtnL1RjcER4ZS9UY3BGdW5jLmgKQEAgLTIsNyArMiw3IEBACiAgIERlY2xhcmF0aW9uIG9m IGV4dGVybmFsIGZ1bmN0aW9ucyBzaGFyZWQgaW4gVENQIGRyaXZlci4NCiANCiAgIENvcHlyaWdo dCAoYykgMjAwOSAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCi0NCisgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KICoqLw0KQEAgLTM2 LDggKzM2LDExIEBAIFZPSUQKIA0KICAgQHBhcmFtW2luLCBvdXRdICBUY2IgICAgICAgICAgICAg ICBQb2ludGVyIHRvIHRoZSBUQ1BfQ0Igb2YgdGhpcyBUQ1AgaW5zdGFuY2UuDQogDQorICBAcmV0 dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nl c3NmdWxseQ0KKyAgQHJldHZhbCBvdGhlcnMgICAgICAgICAgICAgICAgICBUaGUgdW5kZXJseWlu ZyBmdW5jdGlvbnMgZmFpbGVkIGFuZCBjb3VsZCBub3QgY29tcGxldGUgdGhlIG9wZXJhdGlvbg0K Kw0KICoqLw0KLVZPSUQNCitFRklfU1RBVFVTDQogVGNwSW5pdFRjYkxvY2FsICgNCiAgIElOIE9V VCBUQ1BfQ0IgICpUY2INCiAgICk7DQpAQCAtMTI4LDE3ICsxMzEsNiBAQCBUY3BDbG9uZVRjYiAo CiAgIElOIFRDUF9DQiAgKlRjYg0KICAgKTsNCiANCi0vKioNCi0gIENvbXB1dGUgYW4gSVNTIHRv IGJlIHVzZWQgYnkgYSBuZXcgY29ubmVjdGlvbi4NCi0NCi0gIEByZXR1cm4gVGhlIHJlc3VsdCBJ U1MuDQotDQotKiovDQotVENQX1NFUU5PDQotVGNwR2V0SXNzICgNCi0gIFZPSUQNCi0gICk7DQot DQogLyoqDQogICBHZXQgdGhlIGxvY2FsIG1zcy4NCiANCkBAIC0yMDIsOCArMTk0LDExIEBAIFRj cEZvcm1hdE5ldGJ1ZiAoCiAgIEBwYXJhbVtpbiwgb3V0XSAgVGNiICAgICAgICAgIFBvaW50ZXIg dG8gdGhlIFRDUF9DQiB0aGF0IHdhbnRzIHRvIGluaXRpYXRlIGENCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uDQogDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseQ0KKyAgQHJldHZh bCBvdGhlcnMgICAgICAgICAgICAgICAgICBUaGUgdW5kZXJseWluZyBmdW5jdGlvbnMgZmFpbGVk IGFuZCBjb3VsZCBub3QgY29tcGxldGUgdGhlIG9wZXJhdGlvbg0KKw0KICoqLw0KLVZPSUQNCitF RklfU1RBVFVTDQogVGNwT25BcHBDb25uZWN0ICgNCiAgIElOIE9VVCBUQ1BfQ0IgICpUY2INCiAg ICk7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9UY3BEeGUvVGNwTWFpbi5oIGIvTmV0d29ya1Br Zy9UY3BEeGUvVGNwTWFpbi5oCmluZGV4IGMwYzliN2Y0NmUuLjRkNTU2NmFiOTMgMTAwNjQ0Ci0t LSBhL05ldHdvcmtQa2cvVGNwRHhlL1RjcE1haW4uaAorKysgYi9OZXR3b3JrUGtnL1RjcER4ZS9U Y3BNYWluLmgKQEAgLTMsNyArMyw3IEBACiAgIEl0IGlzIHRoZSBjb21tb24gaGVhZCBmaWxlIGZv ciBhbGwgVGNwKi5jIGluIFRDUCBkcml2ZXIuDQogDQogICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAy MDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQotDQorICBD b3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0KICAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCkBAIC0xMyw2ICsxMyw3IEBACiAN CiAjaW5jbHVkZSA8UHJvdG9jb2wvU2VydmljZUJpbmRpbmcuaD4NCiAjaW5jbHVkZSA8UHJvdG9j b2wvRHJpdmVyQmluZGluZy5oPg0KKyNpbmNsdWRlIDxQcm90b2NvbC9IYXNoMi5oPg0KICNpbmNs dWRlIDxMaWJyYXJ5L0lwSW9MaWIuaD4NCiAjaW5jbHVkZSA8TGlicmFyeS9EZXZpY2VQYXRoTGli Lmg+DQogI2luY2x1ZGUgPExpYnJhcnkvUHJpbnRMaWIuaD4NCkBAIC0zMSw3ICszMiw3IEBAIGV4 dGVybiBFRklfVU5JQ09ERV9TVFJJTkdfVEFCTEUgICAgICAqZ1RjcENvbnRyb2xsZXJOYW1lVGFi bGU7CiANCiBleHRlcm4gTElTVF9FTlRSWSAgbVRjcFJ1blF1ZTsNCiBleHRlcm4gTElTVF9FTlRS WSAgbVRjcExpc3RlblF1ZTsNCi1leHRlcm4gVENQX1NFUU5PICAgbVRjcEdsb2JhbElzczsNCitl eHRlcm4gVENQX1NFUU5PICAgbVRjcEdsb2JhbFNlY3JldDsNCiBleHRlcm4gVUlOVDMyICAgICAg bVRjcFRpY2s7DQogDQogLy8vDQpAQCAtNDUsMTQgKzQ2LDYgQEAgZXh0ZXJuIFVJTlQzMiAgICAg IG1UY3BUaWNrOwogDQogI2RlZmluZSBUQ1BfRVhQSVJFX1RJTUUgIDY1NTM1DQogDQotLy8vDQot Ly8vIFRoZSBpbXBsZW1lbnRhdGlvbiBzZWxlY3RzIHRoZSBpbml0aWFsIHNlbmQgc2VxdWVuY2Ug bnVtYmVyIGFuZCB0aGUgdW5pdCB0bw0KLS8vLyBiZSBhZGRlZCB3aGVuIGl0IGlzIGluY3JlYXNl ZC4NCi0vLy8NCi0jZGVmaW5lIFRDUF9CQVNFX0lTUyAgICAgICAgIDB4NGQ3ZTk4MGINCi0jZGVm aW5lIFRDUF9JU1NfSU5DUkVNRU5UXzEgIDIwNDgNCi0jZGVmaW5lIFRDUF9JU1NfSU5DUkVNRU5U XzIgIDEwMA0KLQ0KIHR5cGVkZWYgdW5pb24gew0KICAgRUZJX1RDUDRfQ09ORklHX0RBVEEgICAg VGNwNENmZ0RhdGE7DQogICBFRklfVENQNl9DT05GSUdfREFUQSAgICBUY3A2Q2ZnRGF0YTsNCkBA IC03NzQsNCArNzY3LDUwIEBAIFRjcDZQb2xsICgKICAgSU4gRUZJX1RDUDZfUFJPVE9DT0wgICpU aGlzDQogICApOw0KIA0KKy8qKg0KKyAgUmV0cmlldmVzIHRoZSBJbml0aWFsIFNlcXVlbmNlIE51 bWJlciAoSVNOKSBmb3IgYSBUQ1AgY29ubmVjdGlvbiBpZGVudGlmaWVkIGJ5IGxvY2FsDQorICBh bmQgcmVtb3RlIElQIGFkZHJlc3NlcyBhbmQgcG9ydHMuDQorDQorICBUaGlzIG1ldGhvZCBpcyBi YXNlZCBvbiBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzkyOTMjc2Vj dGlvbi0zLjQuMQ0KKyAgV2hlcmUgdGhlIElTTiBpcyBjb21wdXRlZCBhcyBmb2xsb3dzOg0KKyAg ICBJU04gPSBUaW1lU3RhbXAgKyBNRDUoTG9jYWxJUCwgTG9jYWxQb3J0LCBSZW1vdGVJUCwgUmVt b3RlUG9ydCwgU2VjcmV0KQ0KKw0KKyAgT3RoZXJ3aXNlOg0KKyAgICBJU04gPSBNICsgRihsb2Nh bGlwLCBsb2NhbHBvcnQsIHJlbW90ZWlwLCByZW1vdGVwb3J0LCBzZWNyZXRrZXkpDQorDQorICAg ICJIZXJlIE0gaXMgdGhlIDQgbWljcm9zZWNvbmQgdGltZXIsIGFuZCBGKCkgaXMgYSBwc2V1ZG9y YW5kb20gZnVuY3Rpb24gKFBSRikgb2YgdGhlDQorICAgIGNvbm5lY3Rpb24ncyBpZGVudGlmeWlu ZyBwYXJhbWV0ZXJzICgibG9jYWxpcCwgbG9jYWxwb3J0LCByZW1vdGVpcCwgcmVtb3RlcG9ydCIp DQorICAgIGFuZCBhIHNlY3JldCBrZXkgKCJzZWNyZXRrZXkiKSAoU0hMRC0xKS4gRigpIE1VU1Qg Tk9UIGJlIGNvbXB1dGFibGUgZnJvbSB0aGUNCisgICAgb3V0c2lkZSAoTVVTVC05KSwgb3IgYW4g YXR0YWNrZXIgY291bGQgc3RpbGwgZ3Vlc3MgYXQgc2VxdWVuY2UgbnVtYmVycyBmcm9tIHRoZQ0K KyAgICBJU04gdXNlZCBmb3Igc29tZSBvdGhlciBjb25uZWN0aW9uLiBUaGUgUFJGIGNvdWxkIGJl IGltcGxlbWVudGVkIGFzIGENCisgICAgY3J5cHRvZ3JhcGhpYyBoYXNoIG9mIHRoZSBjb25jYXRl bmF0aW9uIG9mIHRoZSBUQ1AgY29ubmVjdGlvbiBwYXJhbWV0ZXJzIGFuZCBzb21lDQorICAgIHNl Y3JldCBkYXRhLiBGb3IgZGlzY3Vzc2lvbiBvZiB0aGUgc2VsZWN0aW9uIG9mIGEgc3BlY2lmaWMg aGFzaCBhbGdvcml0aG0gYW5kDQorICAgIG1hbmFnZW1lbnQgb2YgdGhlIHNlY3JldCBrZXkgZGF0 YS4iDQorDQorICBAcGFyYW1baW5dICAgICAgIExvY2FsSXAgICAgICAgIEEgcG9pbnRlciB0byB0 aGUgbG9jYWwgSVAgYWRkcmVzcyBvZiB0aGUgVENQIGNvbm5lY3Rpb24uDQorICBAcGFyYW1baW5d ICAgICAgIExvY2FsSXBTaXplICAgIFRoZSBzaXplLCBpbiBieXRlcywgb2YgdGhlIExvY2FsSXAg YnVmZmVyLg0KKyAgQHBhcmFtW2luXSAgICAgICBMb2NhbFBvcnQgICAgICBUaGUgbG9jYWwgcG9y dCBudW1iZXIgb2YgdGhlIFRDUCBjb25uZWN0aW9uLg0KKyAgQHBhcmFtW2luXSAgICAgICBSZW1v dGVJcCAgICAgICBBIHBvaW50ZXIgdG8gdGhlIHJlbW90ZSBJUCBhZGRyZXNzIG9mIHRoZSBUQ1Ag Y29ubmVjdGlvbi4NCisgIEBwYXJhbVtpbl0gICAgICAgUmVtb3RlSXBTaXplICAgVGhlIHNpemUs IGluIGJ5dGVzLCBvZiB0aGUgUmVtb3RlSXAgYnVmZmVyLg0KKyAgQHBhcmFtW2luXSAgICAgICBS ZW1vdGVQb3J0ICAgICBUaGUgcmVtb3RlIHBvcnQgbnVtYmVyIG9mIHRoZSBUQ1AgY29ubmVjdGlv bi4NCisgIEBwYXJhbVtvdXRdICAgICAgSXNuICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSB2 YXJpYWJsZSB0aGF0IHdpbGwgcmVjZWl2ZSB0aGUgSW5pdGlhbA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTZXF1ZW5jZSBOdW1iZXIgKElTTikuDQorDQorICBAcmV0dmFsIEVG SV9TVUNDRVNTICAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxs eSwgYW5kIHRoZSBJU04gd2FzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl dHJpZXZlZC4NCisgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgT25lIG9yIG1vcmUg b2YgdGhlIGlucHV0IHBhcmFtZXRlcnMgYXJlIGludmFsaWQuDQorICBAcmV0dmFsIEVGSV9VTlNV UFBPUlRFRCAgICAgICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4NCisNCisqKi8N CitFRklfU1RBVFVTDQorVGNwR2V0SXNuICgNCisgIElOIFVJTlQ4ICAgICAgICpMb2NhbElwLA0K KyAgSU4gVUlOVE4gICAgICAgTG9jYWxJcFNpemUsDQorICBJTiBVSU5UMTYgICAgICBMb2NhbFBv cnQsDQorICBJTiBVSU5UOCAgICAgICAqUmVtb3RlSXAsDQorICBJTiBVSU5UTiAgICAgICBSZW1v dGVJcFNpemUsDQorICBJTiBVSU5UMTYgICAgICBSZW1vdGVQb3J0LA0KKyAgT1VUIFRDUF9TRVFO TyAgKklzbg0KKyAgKTsNCisNCiAjZW5kaWYNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1RjcER4 ZS9UY3BEcml2ZXIuYyBiL05ldHdvcmtQa2cvVGNwRHhlL1RjcERyaXZlci5jCmluZGV4IDhmZTZi YWRkNjguLjQwYmJhNDA4MGMgMTAwNjQ0Ci0tLSBhL05ldHdvcmtQa2cvVGNwRHhlL1RjcERyaXZl ci5jCisrKyBiL05ldHdvcmtQa2cvVGNwRHhlL1RjcERyaXZlci5jCkBAIC04Myw2ICs4MywxMiBA QCBFRklfU0VSVklDRV9CSU5ESU5HX1BST1RPQ09MICBnVGNwU2VydmljZUJpbmRpbmcgPSB7CiAg IFRjcFNlcnZpY2VCaW5kaW5nRGVzdHJveUNoaWxkDQogfTsNCiANCisvLw0KKy8vIFRoaXMgaXMg dGhlIGhhbmRsZSBmb3IgdGhlIEhhc2gyU2VydmljZUJpbmRpbmcgUHJvdG9jb2wgaW5zdGFuY2Ug dGhpcyBkcml2ZXIgcHJvZHVjZXMNCisvLyBpZiB0aGUgcGxhdGZvcm0gZG9lcyBub3QgcHJvdmlk ZSBvbmUuDQorLy8NCitFRklfSEFORExFICBtSGFzaDJTZXJ2aWNlSGFuZGxlID0gTlVMTDsNCisN CiAvKioNCiAgIENyZWF0ZSBhbmQgc3RhcnQgdGhlIGhlYXJ0YmVhdCB0aW1lciBmb3IgdGhlIFRD UCBkcml2ZXIuDQogDQpAQCAtMTY1LDYgKzE3MSwyMyBAQCBUY3BEcml2ZXJFbnRyeVBvaW50ICgK ICAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KICAgVUlOVDMyICAgICAgUmFuZG9tOw0KIA0KKyAgLy8N CisgIC8vIEluaXRpYWxpemUgdGhlIFNlY3JldCB1c2VkIGZvciBoYXNoaW5nIFRDUCBzZXF1ZW5j ZSBudW1iZXJzDQorICAvLw0KKyAgLy8gTm9ybWFsbHkgdGhpcyBzaG91bGQgYmUgcmVnZW5lcmF0 ZWQgcGVyaW9kaWNhbGx5LCBidXQgc2luY2UNCisgIC8vIHRoaXMgaXMgb25seSB1c2VkIGZvciBV RUZJIG5ldHdvcmtpbmcgYW5kIG5vdCBhIGdlbmVyYWwgcHVycG9zZQ0KKyAgLy8gb3BlcmF0aW5n IHN5c3RlbSwgaXQgaXMgbm90IG5lY2Vzc2FyeSB0byByZWdlbmVyYXRlIGl0Lg0KKyAgLy8NCisg IFN0YXR1cyA9IFBzZXVkb1JhbmRvbVUzMiAoJm1UY3BHbG9iYWxTZWNyZXQpOw0KKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgZmFpbGVk IHRvIGdlbmVyYXRlIHJhbmRvbSBudW1iZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQor ICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICAvLw0KKyAgLy8gR2V0IGEgcmFuZG9tIG51 bWJlciB1c2VkIHRvIGdlbmVyYXRlIGEgcmFuZG9tIHBvcnQgbnVtYmVyDQorICAvLyBJbnRlbnRp b25hbGx5IG5vdCBsaW5raW5nIHRoaXMgdG8gbVRjcEdsb2JhbFNlY3JldCB0byBhdm9pZCBsZWFr aW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzZWNyZXQNCisgIC8vDQogICBTdGF0dXMgPSBQc2V1 ZG9SYW5kb21VMzIgKCZSYW5kb20pOw0KICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KICAg ICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEgRmFpbGVkIHRvIGdlbmVyYXRlIHJhbmRvbSBudW1i ZXI6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQpAQCAtMjA3LDkgKzIzMCw4IEBAIFRjcERy aXZlckVudHJ5UG9pbnQgKAogICB9DQogDQogICAvLw0KLSAgLy8gSW5pdGlhbGl6ZSBJU1MgYW5k IHJhbmRvbSBwb3J0Lg0KKyAgLy8gSW5pdGlhbGl6ZSB0aGUgcmFuZG9tIHBvcnQuDQogICAvLw0K LSAgbVRjcEdsb2JhbElzcyAgID0gUmFuZG9tICUgbVRjcEdsb2JhbElzczsNCiAgIG1UY3A0UmFu ZG9tUG9ydCA9IChVSU5UMTYpKFRDUF9QT1JUX0tOT1dOICsgKFJhbmRvbSAlIFRDUF9QT1JUX0tO T1dOKSk7DQogICBtVGNwNlJhbmRvbVBvcnQgPSBtVGNwNFJhbmRvbVBvcnQ7DQogDQpAQCAtMjI0 LDYgKzI0Niw4IEBAIFRjcERyaXZlckVudHJ5UG9pbnQgKAogICBAcGFyYW1baW5dICBJcFZlcnNp b24gICAgICAgICAgSVBfVkVSU0lPTl80IG9yIElQX1ZFUlNJT05fNi4NCiANCiAgIEByZXR2YWwg RUZJX09VVF9PRl9SRVNPVVJDRVMgICBGYWlsZWQgdG8gYWxsb2NhdGUgc29tZSByZXNvdXJjZXMu DQorICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgU2VydmljZSBCaW5kaW5nIFByb3Rv Y29scyBhcmUgdW5hdmFpbGFibGUuDQorICBAcmV0dmFsIEVGSV9BTFJFQURZX1NUQVJURUQgICAg VGhlIFRDUCBkcml2ZXIgaXMgYWxyZWFkeSBzdGFydGVkIG9uIHRoZSBjb250cm9sbGVyLg0KICAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIEEgbmV3IElQNiBzZXJ2aWNlIGJpbmRpbmcg cHJpdmF0ZSB3YXMgY3JlYXRlZC4NCiANCiAqKi8NCkBAIC0yMzQsMTEgKzI1OCwxMyBAQCBUY3BD cmVhdGVTZXJ2aWNlICgKICAgSU4gVUlOVDggICAgICAgSXBWZXJzaW9uDQogICApDQogew0KLSAg RUZJX1NUQVRVUyAgICAgICAgU3RhdHVzOw0KLSAgRUZJX0dVSUQgICAgICAgICAgKklwU2Vydmlj ZUJpbmRpbmdHdWlkOw0KLSAgRUZJX0dVSUQgICAgICAgICAgKlRjcFNlcnZpY2VCaW5kaW5nR3Vp ZDsNCi0gIFRDUF9TRVJWSUNFX0RBVEEgICpUY3BTZXJ2aWNlRGF0YTsNCi0gIElQX0lPX09QRU5f REFUQSAgIE9wZW5EYXRhOw0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVz Ow0KKyAgRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICAgKklwU2VydmljZUJpbmRpbmdHdWlk Ow0KKyAgRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICAgKlRjcFNlcnZpY2VCaW5kaW5nR3Vp ZDsNCisgIFRDUF9TRVJWSUNFX0RBVEEgICAgICAgICAgICAgICpUY3BTZXJ2aWNlRGF0YTsNCisg IElQX0lPX09QRU5fREFUQSAgICAgICAgICAgICAgIE9wZW5EYXRhOw0KKyAgRUZJX1NFUlZJQ0Vf QklORElOR19QUk9UT0NPTCAgKkhhc2gyU2VydmljZUJpbmRpbmc7DQorICBFRklfSEFTSDJfUFJP VE9DT0wgICAgICAgICAgICAqSGFzaDJQcm90b2NvbDsNCiANCiAgIGlmIChJcFZlcnNpb24gPT0g SVBfVkVSU0lPTl80KSB7DQogICAgIElwU2VydmljZUJpbmRpbmdHdWlkICA9ICZnRWZpSXA0U2Vy dmljZUJpbmRpbmdQcm90b2NvbEd1aWQ7DQpAQCAtMjcyLDYgKzI5OCwzMyBAQCBUY3BDcmVhdGVT ZXJ2aWNlICgKICAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KICAgfQ0KIA0KKyAgU3RhdHVz ID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlIYXNoMlByb3RvY29sR3VpZCwgTlVMTCwgKFZP SUQgKiopJkhhc2gyUHJvdG9jb2wpOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAg ICAvLw0KKyAgICAvLyBJZiB3ZSBjYW4ndCBmaW5kIHRoZSBIYXNoaW5nIHByb3RvY29sLCB0aGVu IHdlIG5lZWQgdG8gY3JlYXRlIG9uZS4NCisgICAgLy8NCisNCisgICAgLy8NCisgICAgLy8gUGxh dGZvcm0gaXMgZXhwZWN0ZWQgdG8gcHVibGlzaCB0aGUgaGFzaCBzZXJ2aWNlIGJpbmRpbmcgcHJv dG9jb2wgdG8gc3VwcG9ydCBUQ1AuDQorICAgIC8vDQorICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRl UHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICAgJmdFZmlIYXNoMlNlcnZpY2VCaW5kaW5n UHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAg ICAgICAgIChWT0lEICoqKSZIYXNoMlNlcnZpY2VCaW5kaW5nDQorICAgICAgICAgICAgICAgICAg ICApOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IChIYXNoMlNlcnZpY2VCaW5kaW5n ID09IE5VTEwpIHx8IChIYXNoMlNlcnZpY2VCaW5kaW5nLT5DcmVhdGVDaGlsZCA9PSBOVUxMKSkg ew0KKyAgICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQorICAgIH0NCisNCisgICAgLy8NCisg ICAgLy8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBoYXNoIHByb3RvY29sIGZvciB0aGlzIGNv bnRyb2xsZXIuDQorICAgIC8vDQorICAgIFN0YXR1cyA9IEhhc2gyU2VydmljZUJpbmRpbmctPkNy ZWF0ZUNoaWxkIChIYXNoMlNlcnZpY2VCaW5kaW5nLCAmbUhhc2gyU2VydmljZUhhbmRsZSk7DQor ICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICByZXR1cm4gRUZJX1VOU1VQUE9S VEVEOw0KKyAgICB9DQorICB9DQorDQogICAvLw0KICAgLy8gQ3JlYXRlIHRoZSBUQ1Agc2Vydmlj ZSBkYXRhLg0KICAgLy8NCkBAIC00MjMsNiArNDc2LDcgQEAgVGNwRGVzdHJveVNlcnZpY2UgKAog ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCiAgIExJ U1RfRU5UUlkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkxpc3Q7DQogICBUQ1BfREVT VFJPWV9DSElMRF9JTl9IQU5ETEVfQlVGX0NPTlRFWFQgIENvbnRleHQ7DQorICBFRklfU0VSVklD RV9CSU5ESU5HX1BST1RPQ09MICAgICAgICAgICAgICpIYXNoMlNlcnZpY2VCaW5kaW5nOw0KIA0K ICAgQVNTRVJUICgoSXBWZXJzaW9uID09IElQX1ZFUlNJT05fNCkgfHwgKElwVmVyc2lvbiA9PSBJ UF9WRVJTSU9OXzYpKTsNCiANCkBAIC00MzksNiArNDkzLDMwIEBAIFRjcERlc3Ryb3lTZXJ2aWNl ICgKICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQogICB9DQogDQorICAvLw0KKyAgLy8gRGVzdHJv eSB0aGUgSGFzaDJTZXJ2aWNlQmluZGluZyBpbnN0YW5jZSBpZiBpdCBpcyBjcmVhdGVkIGJ5IFRj cCBkcml2ZXIuDQorICAvLw0KKyAgaWYgKG1IYXNoMlNlcnZpY2VIYW5kbGUgIT0gTlVMTCkgew0K KyAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAgICAg ICZnRWZpSGFzaDJTZXJ2aWNlQmluZGluZ1Byb3RvY29sR3VpZCwNCisgICAgICAgICAgICAgICAg ICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmSGFzaDJTZXJ2aWNlQmlu ZGluZw0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSB8fCAoSGFzaDJTZXJ2aWNlQmluZGluZyA9PSBOVUxMKSB8fCAoSGFzaDJTZXJ2aWNlQmluZGlu Zy0+RGVzdHJveUNoaWxkID09IE5VTEwpKSB7DQorICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRF RDsNCisgICAgfQ0KKw0KKyAgICAvLw0KKyAgICAvLyBEZXN0cm95IHRoZSBpbnN0YW5jZSBvZiB0 aGUgaGFzaGluZyBwcm90b2NvbCBmb3IgdGhpcyBjb250cm9sbGVyLg0KKyAgICAvLw0KKyAgICBT dGF0dXMgPSBIYXNoMlNlcnZpY2VCaW5kaW5nLT5EZXN0cm95Q2hpbGQgKEhhc2gyU2VydmljZUJp bmRpbmcsICZtSGFzaDJTZXJ2aWNlSGFuZGxlKTsNCisgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KKyAgICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQorICAgIH0NCisNCisgICAgbUhh c2gyU2VydmljZUhhbmRsZSA9IE5VTEw7DQorICB9DQorDQogICBTdGF0dXMgPSBnQlMtPk9wZW5Q cm90b2NvbCAoDQogICAgICAgICAgICAgICAgICAgTmljSGFuZGxlLA0KICAgICAgICAgICAgICAg ICAgIFNlcnZpY2VCaW5kaW5nR3VpZCwNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1RjcER4ZS9U Y3BJbnB1dC5jIGIvTmV0d29ya1BrZy9UY3BEeGUvVGNwSW5wdXQuYwppbmRleCA5NzYzM2EzOTA4 Li5hNWQ1NzVjY2FmIDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL1RjcER4ZS9UY3BJbnB1dC5jCisr KyBiL05ldHdvcmtQa2cvVGNwRHhlL1RjcElucHV0LmMKQEAgLTcyNCw2ICs3MjQsNyBAQCBUY3BJ bnB1dCAoCiAgIFRDUF9TRVFOTyAgIFVyZzsNCiAgIFVJTlQxNiAgICAgIENoZWNrc3VtOw0KICAg SU5UMzIgICAgICAgVXNhYmxlOw0KKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KIA0KICAgQVNTRVJU ICgoVmVyc2lvbiA9PSBJUF9WRVJTSU9OXzQpIHx8IChWZXJzaW9uID09IElQX1ZFUlNJT05fNikp Ow0KIA0KQEAgLTg3Miw3ICs4NzMsMTcgQEAgVGNwSW5wdXQgKAogICAgICAgVGNiLT5Mb2NhbEVu ZC5Qb3J0ICA9IEhlYWQtPkRzdFBvcnQ7DQogICAgICAgVGNiLT5SZW1vdGVFbmQuUG9ydCA9IEhl YWQtPlNyY1BvcnQ7DQogDQotICAgICAgVGNwSW5pdFRjYkxvY2FsIChUY2IpOw0KKyAgICAgIFN0 YXR1cyA9IFRjcEluaXRUY2JMb2NhbCAoVGNiKTsNCisgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQorICAgICAgICBERUJVRyAoDQorICAgICAgICAgIChERUJVR19FUlJPUiwNCisgICAg ICAgICAgICJUY3BJbnB1dDogZGlzY2FyZCBhIHNlZ21lbnQgYmVjYXVzZSBmYWlsZWQgdG8gaW5p dCBsb2NhbCBlbmQgZm9yIFRDQiAlcFxuIiwNCisgICAgICAgICAgIFRjYikNCisgICAgICAgICAg KTsNCisNCisgICAgICAgIGdvdG8gRElTQ0FSRDsNCisgICAgICB9DQorDQogICAgICAgVGNwSW5p dFRjYlBlZXIgKFRjYiwgU2VnLCAmT3B0aW9uKTsNCiANCiAgICAgICBUY3BTZXRTdGF0ZSAoVGNi LCBUQ1BfU1lOX1JDVkQpOw0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvVGNwRHhlL1RjcE1pc2Mu YyBiL05ldHdvcmtQa2cvVGNwRHhlL1RjcE1pc2MuYwppbmRleCBjOTMyMTJkNDdkLi4zMzEwMzA2 ZjYzIDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL1RjcER4ZS9UY3BNaXNjLmMKKysrIGIvTmV0d29y a1BrZy9UY3BEeGUvVGNwTWlzYy5jCkBAIC0zLDcgKzMsNyBAQAogDQogICAoQykgQ29weXJpZ2h0 IDIwMTQgSGV3bGV0dC1QYWNrYXJkIERldmVsb3BtZW50IENvbXBhbnksIEwuUC48QlI+DQogICBD b3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQotDQorICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0K ICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCiAqKi8N CkBAIC0yMCw3ICsyMCwzNCBAQCBMSVNUX0VOVFJZICBtVGNwTGlzdGVuUXVlID0gewogICAmbVRj cExpc3RlblF1ZQ0KIH07DQogDQotVENQX1NFUU5PICBtVGNwR2xvYmFsSXNzID0gVENQX0JBU0Vf SVNTOw0KKy8vDQorLy8gVGhlIFNlc3Npb24gc2VjcmV0DQorLy8gVGhpcyBtdXN0IGJlIGluaXRp YWxpemVkIHRvIGEgcmFuZG9tIHZhbHVlIGF0IGJvb3QgdGltZQ0KKy8vDQorVENQX1NFUU5PICBt VGNwR2xvYmFsU2VjcmV0Ow0KKw0KKy8vDQorLy8gVW5pb24gdG8gaG9sZCBlaXRoZXIgYW4gSVB2 NCBvciBJUHY2IGFkZHJlc3MNCisvLyBUaGlzIGlzIHVzZWQgdG8gc2ltcGxpZnkgdGhlIElTTiBo YXNoIGNvbXB1dGF0aW9uDQorLy8NCit0eXBlZGVmIHVuaW9uIHsNCisgIFVJTlQ4ICAgIElQdjRb NF07DQorICBVSU5UOCAgICBJUHY2WzE2XTsNCit9IE5FVFdPUktfQUREUkVTUzsNCisNCisvLw0K Ky8vIFRoZSBJU04gaXMgY29tcHV0ZWQgYnkgaGFzaGluZyB0aGlzIHN0cnVjdHVyZQ0KKy8vIEl0 IGlzIGluaXRpYWxpemVkIHdpdGggdGhlIGxvY2FsIGFuZCByZW1vdGUgSVAgYWRkcmVzc2VzIGFu ZCBwb3J0cw0KKy8vIGFuZCB0aGUgc2VjcmV0DQorLy8NCisvLw0KK3R5cGVkZWYgc3RydWN0IHsN CisgIFVJTlQxNiAgICAgICAgICAgICBMb2NhbFBvcnQ7DQorICBVSU5UMTYgICAgICAgICAgICAg UmVtb3RlUG9ydDsNCisgIE5FVFdPUktfQUREUkVTUyAgICBMb2NhbEFkZHJlc3M7DQorICBORVRX T1JLX0FERFJFU1MgICAgUmVtb3RlQWRkcmVzczsNCisgIFRDUF9TRVFOTyAgICAgICAgICBTZWNy ZXQ7DQorfSBJU05fSEFTSF9DVFg7DQogDQogQ0hBUjE2ICAqbVRjcFN0YXRlTmFtZVtdID0gew0K ICAgTCJUQ1BfQ0xPU0VEIiwNCkBAIC00MSwxMiArNjgsMTggQEAgQ0hBUjE2ICAqbVRjcFN0YXRl TmFtZVtdID0gewogDQogICBAcGFyYW1baW4sIG91dF0gIFRjYiAgICAgICAgICAgICAgIFBvaW50 ZXIgdG8gdGhlIFRDUF9DQiBvZiB0aGlzIFRDUCBpbnN0YW5jZS4NCiANCisgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5 DQorICBAcmV0dmFsIG90aGVycyAgICAgICAgICAgICAgICAgIFRoZSB1bmRlcmx5aW5nIGZ1bmN0 aW9ucyBmYWlsZWQgYW5kIGNvdWxkIG5vdCBjb21wbGV0ZSB0aGUgb3BlcmF0aW9uDQorDQogKiov DQotVk9JRA0KK0VGSV9TVEFUVVMNCiBUY3BJbml0VGNiTG9jYWwgKA0KICAgSU4gT1VUIFRDUF9D QiAgKlRjYg0KICAgKQ0KIHsNCisgIFRDUF9TRVFOTyAgIElzbjsNCisgIEVGSV9TVEFUVVMgIFN0 YXR1czsNCisNCiAgIC8vDQogICAvLyBDb21wdXRlIHRoZSBjaGVja3N1bSBvZiB0aGUgZml4ZWQg cGFydHMgb2YgcHNldWRvIGhlYWRlcg0KICAgLy8NCkBAIC01Nyw2ICs5MCwxNiBAQCBUY3BJbml0 VGNiTG9jYWwgKAogICAgICAgICAgICAgICAgICAgICAgMHgwNiwNCiAgICAgICAgICAgICAgICAg ICAgICAwDQogICAgICAgICAgICAgICAgICAgICAgKTsNCisNCisgICAgU3RhdHVzID0gVGNwR2V0 SXNuICgNCisgICAgICAgICAgICAgICBUY2ItPkxvY2FsRW5kLklwLnY0LkFkZHIsDQorICAgICAg ICAgICAgICAgc2l6ZW9mIChJUHY0X0FERFJFU1MpLA0KKyAgICAgICAgICAgICAgIFRjYi0+TG9j YWxFbmQuUG9ydCwNCisgICAgICAgICAgICAgICBUY2ItPlJlbW90ZUVuZC5JcC52NC5BZGRyLA0K KyAgICAgICAgICAgICAgIHNpemVvZiAoSVB2NF9BRERSRVNTKSwNCisgICAgICAgICAgICAgICBU Y2ItPlJlbW90ZUVuZC5Qb3J0LA0KKyAgICAgICAgICAgICAgICZJc24NCisgICAgICAgICAgICAg ICApOw0KICAgfSBlbHNlIHsNCiAgICAgVGNiLT5IZWFkU3VtID0gTmV0SXA2UHNldWRvSGVhZENo ZWNrc3VtICgNCiAgICAgICAgICAgICAgICAgICAgICAmVGNiLT5Mb2NhbEVuZC5JcC52NiwNCkBA IC02NCw5ICsxMDcsMjUgQEAgVGNwSW5pdFRjYkxvY2FsICgKICAgICAgICAgICAgICAgICAgICAg IDB4MDYsDQogICAgICAgICAgICAgICAgICAgICAgMA0KICAgICAgICAgICAgICAgICAgICAgICk7 DQorDQorICAgIFN0YXR1cyA9IFRjcEdldElzbiAoDQorICAgICAgICAgICAgICAgVGNiLT5Mb2Nh bEVuZC5JcC52Ni5BZGRyLA0KKyAgICAgICAgICAgICAgIHNpemVvZiAoSVB2Nl9BRERSRVNTKSwN CisgICAgICAgICAgICAgICBUY2ItPkxvY2FsRW5kLlBvcnQsDQorICAgICAgICAgICAgICAgVGNi LT5SZW1vdGVFbmQuSXAudjYuQWRkciwNCisgICAgICAgICAgICAgICBzaXplb2YgKElQdjZfQURE UkVTUyksDQorICAgICAgICAgICAgICAgVGNiLT5SZW1vdGVFbmQuUG9ydCwNCisgICAgICAgICAg ICAgICAmSXNuDQorICAgICAgICAgICAgICAgKTsNCisgIH0NCisNCisgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIlRjcEluaXRUY2JMb2NhbDog ZmFpbGVkIHRvIGdldCBpc25cbiIpKTsNCisgICAgQVNTRVJUIChGQUxTRSk7DQorICAgIHJldHVy biBTdGF0dXM7DQogICB9DQogDQotICBUY2ItPklzcyAgICA9IFRjcEdldElzcyAoKTsNCisgIFRj Yi0+SXNzICAgID0gSXNuOw0KICAgVGNiLT5TbmRVbmEgPSBUY2ItPklzczsNCiAgIFRjYi0+U25k Tnh0ID0gVGNiLT5Jc3M7DQogDQpAQCAtODIsNiArMTQxLDggQEAgVGNwSW5pdFRjYkxvY2FsICgK ICAgVGNiLT5SZXR4bWl0U2VxTWF4ID0gMDsNCiANCiAgIFRjYi0+UHJvYmVUaW1lck9uID0gRkFM U0U7DQorDQorICByZXR1cm4gRUZJX1NVQ0NFU1M7DQogfQ0KIA0KIC8qKg0KQEAgLTUwNiwxOCAr NTY3LDE2MiBAQCBUY3BDbG9uZVRjYiAoCiB9DQogDQogLyoqDQotICBDb21wdXRlIGFuIElTUyB0 byBiZSB1c2VkIGJ5IGEgbmV3IGNvbm5lY3Rpb24uDQotDQotICBAcmV0dXJuIFRoZSByZXN1bHRp bmcgSVNTLg0KKyAgUmV0cmlldmVzIHRoZSBJbml0aWFsIFNlcXVlbmNlIE51bWJlciAoSVNOKSBm b3IgYSBUQ1AgY29ubmVjdGlvbiBpZGVudGlmaWVkIGJ5IGxvY2FsDQorICBhbmQgcmVtb3RlIElQ IGFkZHJlc3NlcyBhbmQgcG9ydHMuDQorDQorICBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvbiBodHRw czovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzkyOTMjc2VjdGlvbi0zLjQuMQ0K KyAgV2hlcmUgdGhlIElTTiBpcyBjb21wdXRlZCBhcyBmb2xsb3dzOg0KKyAgICBJU04gPSBUaW1l U3RhbXAgKyBNRDUoTG9jYWxJUCwgTG9jYWxQb3J0LCBSZW1vdGVJUCwgUmVtb3RlUG9ydCwgU2Vj cmV0KQ0KKw0KKyAgT3RoZXJ3aXNlOg0KKyAgICBJU04gPSBNICsgRihsb2NhbGlwLCBsb2NhbHBv cnQsIHJlbW90ZWlwLCByZW1vdGVwb3J0LCBzZWNyZXRrZXkpDQorDQorICAgICJIZXJlIE0gaXMg dGhlIDQgbWljcm9zZWNvbmQgdGltZXIsIGFuZCBGKCkgaXMgYSBwc2V1ZG9yYW5kb20gZnVuY3Rp b24gKFBSRikgb2YgdGhlDQorICAgIGNvbm5lY3Rpb24ncyBpZGVudGlmeWluZyBwYXJhbWV0ZXJz ICgibG9jYWxpcCwgbG9jYWxwb3J0LCByZW1vdGVpcCwgcmVtb3RlcG9ydCIpDQorICAgIGFuZCBh IHNlY3JldCBrZXkgKCJzZWNyZXRrZXkiKSAoU0hMRC0xKS4gRigpIE1VU1QgTk9UIGJlIGNvbXB1 dGFibGUgZnJvbSB0aGUNCisgICAgb3V0c2lkZSAoTVVTVC05KSwgb3IgYW4gYXR0YWNrZXIgY291 bGQgc3RpbGwgZ3Vlc3MgYXQgc2VxdWVuY2UgbnVtYmVycyBmcm9tIHRoZQ0KKyAgICBJU04gdXNl ZCBmb3Igc29tZSBvdGhlciBjb25uZWN0aW9uLiBUaGUgUFJGIGNvdWxkIGJlIGltcGxlbWVudGVk IGFzIGENCisgICAgY3J5cHRvZ3JhcGhpYyBoYXNoIG9mIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRo ZSBUQ1AgY29ubmVjdGlvbiBwYXJhbWV0ZXJzIGFuZCBzb21lDQorICAgIHNlY3JldCBkYXRhLiBG b3IgZGlzY3Vzc2lvbiBvZiB0aGUgc2VsZWN0aW9uIG9mIGEgc3BlY2lmaWMgaGFzaCBhbGdvcml0 aG0gYW5kDQorICAgIG1hbmFnZW1lbnQgb2YgdGhlIHNlY3JldCBrZXkgZGF0YS4iDQorDQorICBA cGFyYW1baW5dICAgICAgIExvY2FsSXAgICAgICAgIEEgcG9pbnRlciB0byB0aGUgbG9jYWwgSVAg YWRkcmVzcyBvZiB0aGUgVENQIGNvbm5lY3Rpb24uDQorICBAcGFyYW1baW5dICAgICAgIExvY2Fs SXBTaXplICAgIFRoZSBzaXplLCBpbiBieXRlcywgb2YgdGhlIExvY2FsSXAgYnVmZmVyLg0KKyAg QHBhcmFtW2luXSAgICAgICBMb2NhbFBvcnQgICAgICBUaGUgbG9jYWwgcG9ydCBudW1iZXIgb2Yg dGhlIFRDUCBjb25uZWN0aW9uLg0KKyAgQHBhcmFtW2luXSAgICAgICBSZW1vdGVJcCAgICAgICBB IHBvaW50ZXIgdG8gdGhlIHJlbW90ZSBJUCBhZGRyZXNzIG9mIHRoZSBUQ1AgY29ubmVjdGlvbi4N CisgIEBwYXJhbVtpbl0gICAgICAgUmVtb3RlSXBTaXplICAgVGhlIHNpemUsIGluIGJ5dGVzLCBv ZiB0aGUgUmVtb3RlSXAgYnVmZmVyLg0KKyAgQHBhcmFtW2luXSAgICAgICBSZW1vdGVQb3J0ICAg ICBUaGUgcmVtb3RlIHBvcnQgbnVtYmVyIG9mIHRoZSBUQ1AgY29ubmVjdGlvbi4NCisgIEBwYXJh bVtvdXRdICAgICAgSXNuICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSB2YXJpYWJsZSB0aGF0 IHdpbGwgcmVjZWl2ZSB0aGUgSW5pdGlhbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTZXF1ZW5jZSBOdW1iZXIgKElTTikuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgYW5kIHRoZSBJ U04gd2FzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHJpZXZlZC4NCisg IEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgT25lIG9yIG1vcmUgb2YgdGhlIGlucHV0 IHBhcmFtZXRlcnMgYXJlIGludmFsaWQuDQorICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAg ICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4NCiANCiAqKi8NCi1UQ1BfU0VRTk8N Ci1UY3BHZXRJc3MgKA0KLSAgVk9JRA0KK0VGSV9TVEFUVVMNCitUY3BHZXRJc24gKA0KKyAgSU4g VUlOVDggICAgICAgKkxvY2FsSXAsDQorICBJTiBVSU5UTiAgICAgICBMb2NhbElwU2l6ZSwNCisg IElOIFVJTlQxNiAgICAgIExvY2FsUG9ydCwNCisgIElOIFVJTlQ4ICAgICAgICpSZW1vdGVJcCwN CisgIElOIFVJTlROICAgICAgIFJlbW90ZUlwU2l6ZSwNCisgIElOIFVJTlQxNiAgICAgIFJlbW90 ZVBvcnQsDQorICBPVVQgVENQX1NFUU5PICAqSXNuDQogICApDQogew0KLSAgbVRjcEdsb2JhbElz cyArPSBUQ1BfSVNTX0lOQ1JFTUVOVF8xOw0KLSAgcmV0dXJuIG1UY3BHbG9iYWxJc3M7DQorICBF RklfU1RBVFVTICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9IQVNIMl9QUk9UT0NPTCAgKkhhc2gy UHJvdG9jb2w7DQorICBFRklfSEFTSDJfT1VUUFVUICAgIEhhc2hSZXN1bHQ7DQorICBJU05fSEFT SF9DVFggICAgICAgIElzbkhhc2hDdHg7DQorICBFRklfVElNRSAgICAgICAgICAgIFRpbWVTdGFt cDsNCisNCisgIC8vDQorICAvLyBDaGVjayB0aGF0IHRoZSBJU04gcG9pbnRlciBpcyB2YWxpZA0K KyAgLy8NCisgIGlmIChJc24gPT0gTlVMTCkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFS QU1FVEVSOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8vIFRoZSBsb2NhbCBpcCBtYXkgYmUgYSB2NCBv ciB2NiBhZGRyZXNzIGFuZCBtYXkgbm90IGJlIE5VTEwNCisgIC8vDQorICBpZiAoKExvY2FsSXAg PT0gTlVMTCkgfHwgKExvY2FsSXBTaXplID09IDApIHx8IChSZW1vdGVJcCA9PSBOVUxMKSB8fCAo UmVtb3RlSXBTaXplID09IDApKSB7DQorICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7 DQorICB9DQorDQorICAvLw0KKyAgLy8gdGhlIGxvY2FsIGlwIG1heSBiZSBhIHY0IG9yIHY2IGFk ZHJlc3MNCisgIC8vDQorICBpZiAoKExvY2FsSXBTaXplICE9IHNpemVvZiAoRUZJX0lQdjRfQURE UkVTUykpICYmIChMb2NhbElwU2l6ZSAhPSBzaXplb2YgKEVGSV9JUHY2X0FERFJFU1MpKSkgew0K KyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8v IExvY2F0ZSB0aGUgSGFzaCBQcm90b2NvbA0KKyAgLy8NCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRl UHJvdG9jb2wgKCZnRWZpSGFzaDJQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEICoqKSZIYXNoMlBy b3RvY29sKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJV R19ORVQsICJGYWlsZWQgdG8gbG9jYXRlIEhhc2ggUHJvdG9jb2w6ICVyXG4iLCBTdGF0dXMpKTsN CisNCisgICAgLy8NCisgICAgLy8gVGNwQ3JlYXRlU2VydmljZSguLikgaXMgZXhwZWN0ZWQgdG8g YmUgY2FsbGVkIHByaW9yIHRvIHRoaXMgZnVuY3Rpb24NCisgICAgLy8NCisgICAgQVNTRVJUX0VG SV9FUlJPUiAoU3RhdHVzKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCisgIC8vDQor ICAvLyBJbml0aWFsaXplIHRoZSBoYXNoIGFsZ29yaXRobQ0KKyAgLy8NCisgIFN0YXR1cyA9IEhh c2gyUHJvdG9jb2wtPkhhc2hJbml0IChIYXNoMlByb3RvY29sLCAmZ0VmaUhhc2hBbGdvcml0aG1T aGEyNTZHdWlkKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChE RUJVR19ORVQsICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBzaGEyNTYgaGFzaCBhbGdvcml0aG06ICVy XG4iLCBTdGF0dXMpKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCisgIElzbkhhc2hD dHguTG9jYWxQb3J0ICA9IExvY2FsUG9ydDsNCisgIElzbkhhc2hDdHguUmVtb3RlUG9ydCA9IFJl bW90ZVBvcnQ7DQorICBJc25IYXNoQ3R4LlNlY3JldCAgICAgPSBtVGNwR2xvYmFsU2VjcmV0Ow0K Kw0KKyAgLy8NCisgIC8vIENoZWNrIHRoZSBJUCBhZGRyZXNzIGZhbWlseSBhbmQgY29weSBhY2Nv cmRpbmdseQ0KKyAgLy8NCisgIGlmIChMb2NhbElwU2l6ZSA9PSBzaXplb2YgKEVGSV9JUHY0X0FE RFJFU1MpKSB7DQorICAgIENvcHlNZW0gKCZJc25IYXNoQ3R4LkxvY2FsQWRkcmVzcy5JUHY0LCBM b2NhbElwLCBMb2NhbElwU2l6ZSk7DQorICB9IGVsc2UgaWYgKExvY2FsSXBTaXplID09IHNpemVv ZiAoRUZJX0lQdjZfQUREUkVTUykpIHsNCisgICAgQ29weU1lbSAoJklzbkhhc2hDdHguTG9jYWxB ZGRyZXNzLklQdjYsIExvY2FsSXAsIExvY2FsSXBTaXplKTsNCisgIH0gZWxzZSB7DQorICAgIHJl dHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7IC8vIFVuc3VwcG9ydGVkIGFkZHJlc3Mgc2l6ZQ0K KyAgfQ0KKw0KKyAgLy8NCisgIC8vIFJlcGVhdCB0aGUgcHJvY2VzcyBmb3IgdGhlIHJlbW90ZSBJ UCBhZGRyZXNzDQorICAvLw0KKyAgaWYgKFJlbW90ZUlwU2l6ZSA9PSBzaXplb2YgKEVGSV9JUHY0 X0FERFJFU1MpKSB7DQorICAgIENvcHlNZW0gKCZJc25IYXNoQ3R4LlJlbW90ZUFkZHJlc3MuSVB2 NCwgUmVtb3RlSXAsIFJlbW90ZUlwU2l6ZSk7DQorICB9IGVsc2UgaWYgKFJlbW90ZUlwU2l6ZSA9 PSBzaXplb2YgKEVGSV9JUHY2X0FERFJFU1MpKSB7DQorICAgIENvcHlNZW0gKCZJc25IYXNoQ3R4 LlJlbW90ZUFkZHJlc3MuSVB2NiwgUmVtb3RlSXAsIFJlbW90ZUlwU2l6ZSk7DQorICB9IGVsc2Ug ew0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOyAvLyBVbnN1cHBvcnRlZCBhZGRy ZXNzIHNpemUNCisgIH0NCisNCisgIC8vDQorICAvLyBDb21wdXRlIHRoZSBoYXNoDQorICAvLyBV cGRhdGUgdGhlIGhhc2ggd2l0aCB0aGUgZGF0YQ0KKyAgLy8NCisgIFN0YXR1cyA9IEhhc2gyUHJv dG9jb2wtPkhhc2hVcGRhdGUgKEhhc2gyUHJvdG9jb2wsIChVSU5UOCAqKSZJc25IYXNoQ3R4LCBz aXplb2YgKElzbkhhc2hDdHgpKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAg REVCVUcgKChERUJVR19ORVQsICJGYWlsZWQgdG8gdXBkYXRlIGhhc2g6ICVyXG4iLCBTdGF0dXMp KTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCisgIC8vDQorICAvLyBGaW5hbGl6ZSB0 aGUgaGFzaCBhbmQgcmV0cmlldmUgdGhlIHJlc3VsdA0KKyAgLy8NCisgIFN0YXR1cyA9IEhhc2gy UHJvdG9jb2wtPkhhc2hGaW5hbCAoSGFzaDJQcm90b2NvbCwgJkhhc2hSZXN1bHQpOw0KKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX05FVCwgIkZhaWxlZCB0 byBmaW5hbGl6ZSBoYXNoOiAlclxuIiwgU3RhdHVzKSk7DQorICAgIHJldHVybiBTdGF0dXM7DQor ICB9DQorDQorICBTdGF0dXMgPSBnUlQtPkdldFRpbWUgKCZUaW1lU3RhbXAsIE5VTEwpOw0KKyAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICByZXR1cm4gU3RhdHVzOw0KKyAgfQ0KKw0K KyAgLy8NCisgIC8vIGNvcHkgdGhlIGZpcnN0IDQgYnl0ZXMgb2YgdGhlIGhhc2ggcmVzdWx0IGlu dG8gdGhlIElTTg0KKyAgLy8NCisgIENvcHlNZW0gKElzbiwgSGFzaFJlc3VsdC5NZDVIYXNoLCBz aXplb2YgKCpJc24pKTsNCisNCisgIC8vDQorICAvLyBub3cgYWRkIHRoZSB0aW1lc3RhbXAgdG8g dGhlIElTTiBhcyA0IG1pY3Jvc2Vjb25kcyB1bml0cyAoMTAwMCAvIDQgPSAyNTApDQorICAvLw0K KyAgKklzbiArPSAoVENQX1NFUU5PKVRpbWVTdGFtcC5OYW5vc2Vjb25kICogMjUwOw0KKw0KKyAg cmV0dXJuIFN0YXR1czsNCiB9DQogDQogLyoqDQpAQCAtNzIxLDE3ICs5MjYsMjggQEAgVGNwRm9y bWF0TmV0YnVmICgKICAgQHBhcmFtW2luLCBvdXRdICBUY2IgICAgICAgICAgUG9pbnRlciB0byB0 aGUgVENQX0NCIHRoYXQgd2FudHMgdG8gaW5pdGlhdGUgYQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29ubmVjdGlvbi4NCiANCisgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICAgVGhlIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5DQorICBAcmV0dmFsIG90 aGVycyAgICAgICAgICAgICAgICAgIFRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9ucyBmYWlsZWQgYW5k IGNvdWxkIG5vdCBjb21wbGV0ZSB0aGUgb3BlcmF0aW9uDQorDQogKiovDQotVk9JRA0KK0VGSV9T VEFUVVMNCiBUY3BPbkFwcENvbm5lY3QgKA0KICAgSU4gT1VUIFRDUF9DQiAgKlRjYg0KICAgKQ0K IHsNCi0gIFRjcEluaXRUY2JMb2NhbCAoVGNiKTsNCisgIEVGSV9TVEFUVVMgIFN0YXR1czsNCisN CisgIFN0YXR1cyA9IFRjcEluaXRUY2JMb2NhbCAoVGNiKTsNCisgIGlmIChFRklfRVJST1IgKFN0 YXR1cykpIHsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCiAgIFRjcFNldFN0YXRlIChU Y2IsIFRDUF9TWU5fU0VOVCk7DQogDQogICBUY3BTZXRUaW1lciAoVGNiLCBUQ1BfVElNRVJfQ09O TkVDVCwgVGNiLT5Db25uZWN0VGltZW91dCk7DQogICBUY3BUb1NlbmREYXRhIChUY2IsIDEpOw0K Kw0KKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KIH0NCiANCiAvKioNCmRpZmYgLS1naXQgYS9OZXR3 b3JrUGtnL1RjcER4ZS9UY3BUaW1lci5jIGIvTmV0d29ya1BrZy9UY3BEeGUvVGNwVGltZXIuYwpp bmRleCA1ZDJlMTI0OTc3Li4wNjViMWJkZjVmIDEwMDY0NAotLS0gYS9OZXR3b3JrUGtnL1RjcER4 ZS9UY3BUaW1lci5jCisrKyBiL05ldHdvcmtQa2cvVGNwRHhlL1RjcFRpbWVyLmMKQEAgLTIsNyAr Miw3IEBACiAgIFRDUCB0aW1lciByZWxhdGVkIGZ1bmN0aW9ucy4NCiANCiAgIENvcHlyaWdodCAo YykgMjAwOSAtIDIwMTAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCi0NCisgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQogICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KICoqLw0KQEAgLTQ4Myw3 ICs0ODMsNiBAQCBUY3BUaWNraW5nRHBjICgKICAgSU5UMTYgICAgICAgSW5kZXg7DQogDQogICBt VGNwVGljaysrOw0KLSAgbVRjcEdsb2JhbElzcyArPSBUQ1BfSVNTX0lOQ1JFTUVOVF8yOw0KIA0K ICAgLy8NCiAgIC8vIERvbid0IHVzZSBMSVNUX0ZPUl9FQUNILCB3aGljaCBpc24ndCBkZWxldGUg c2FmZS4NCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1NlY3VyaXR5Rml4ZXMueWFtbCBiL05ldHdv cmtQa2cvU2VjdXJpdHlGaXhlcy55YW1sCmluZGV4IDIwYTQ1NTUwMTkuLjQzMDUzMjg0MjUgMTAw NjQ0Ci0tLSBhL05ldHdvcmtQa2cvU2VjdXJpdHlGaXhlcy55YW1sCisrKyBiL05ldHdvcmtQa2cv U2VjdXJpdHlGaXhlcy55YW1sCkBAIC0xMjIsNiArMTIyLDI4IEBAIENWRV8yMDIzXzQ1MjM1Ogog ICAgIC0gaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMjQvMDEv MTYvMg0KICAgICAtIGh0dHA6Ly9wYWNrZXRzdG9ybXNlY3VyaXR5LmNvbS9maWxlcy8xNzY1NzQv UGl4aWVGYWlsLVByb29mLU9mLUNvbmNlcHRzLmh0bWwNCiAgICAgLSBodHRwczovL2Jsb2cucXVh cmtzbGFiLmNvbS9waXhpZWZhaWwtbmluZS12dWxuZXJhYmlsaXRpZXMtaW4tdGlhbm9jb3Jlcy1l ZGstaWktaXB2Ni1uZXR3b3JrLXN0YWNrLmh0bWwNCitDVkVfMjAyM180NTIzNjoNCisgIGNvbW1p dF90aXRsZXM6DQorICAgIC0gIk5ldHdvcmtQa2c6IFRjcER4ZTogU0VDVVJJVFkgUEFUQ0ggQ1ZF LTIwMjMtNDUyMzYgUGF0Y2giDQorICBjdmU6IENWRS0yMDIzLTQ1MjM2DQorICBkYXRlX3JlcG9y dGVkOiAyMDIzLTA4LTI4IDEzOjU2IFVUQw0KKyAgZGVzY3JpcHRpb246ICJCdWcgMDggLSBlZGsy L05ldHdvcmtQa2c6IFByZWRpY3RhYmxlIFRDUCBJbml0aWFsIFNlcXVlbmNlIE51bWJlcnMiDQor ICBub3RlOg0KKyAgZmlsZXNfaW1wYWN0ZWQ6DQorICAgIC0gTmV0d29ya1BrZy9JbmNsdWRlL0xp YnJhcnkvTmV0TGliLmgNCisgICAgLSBOZXR3b3JrUGtnL1RjcER4ZS9UY3BEcml2ZXIuYw0KKyAg ICAtIE5ldHdvcmtQa2cvVGNwRHhlL1RjcER4ZS5pbmYNCisgICAgLSBOZXR3b3JrUGtnL1RjcER4 ZS9UY3BGdW5jLmgNCisgICAgLSBOZXR3b3JrUGtnL1RjcER4ZS9UY3BJbnB1dC5jDQorICAgIC0g TmV0d29ya1BrZy9UY3BEeGUvVGNwTWFpbi5oDQorICAgIC0gTmV0d29ya1BrZy9UY3BEeGUvVGNw TWlzYy5jDQorICAgIC0gTmV0d29ya1BrZy9UY3BEeGUvVGNwVGltZXIuYw0KKyAgbGlua3M6DQor ICAgIC0gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQx DQorICAgIC0gaHR0cHM6Ly9udmQubmlzdC5nb3YvdnVsbi9kZXRhaWwvQ1ZFLTIwMjMtNDUyMzYN CisgICAgLSBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAyNC8w MS8xNi8yDQorICAgIC0gaHR0cDovL3BhY2tldHN0b3Jtc2VjdXJpdHkuY29tL2ZpbGVzLzE3NjU3 NC9QaXhpZUZhaWwtUHJvb2YtT2YtQ29uY2VwdHMuaHRtbA0KKyAgICAtIGh0dHBzOi8vYmxvZy5x dWFya3NsYWIuY29tL3BpeGllZmFpbC1uaW5lLXZ1bG5lcmFiaWxpdGllcy1pbi10aWFub2NvcmVz LWVkay1paS1pcHY2LW5ldHdvcmstc3RhY2suaHRtbA0KIENWRV8yMDIzXzQ1MjM3Og0KICAgY29t bWl0X3RpdGxlczoNCiAgICAgLSAiTmV0d29ya1BrZzo6IFNFQ1VSSVRZIFBBVENIIENWRSAyMDIz LTQ1MjM3Ig0KLS0gCjIuMzQuMQoK -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119216): https://edk2.groups.io/g/devel/message/119216 Mute This Topic: https://groups.io/mt/106276840/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-