From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 923EAC433EF for ; Mon, 6 Jun 2022 19:59:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232790AbiFFT7V (ORCPT ); Mon, 6 Jun 2022 15:59:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54782 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232905AbiFFT7J (ORCPT ); Mon, 6 Jun 2022 15:59:09 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E25A712AE7 for ; Mon, 6 Jun 2022 12:59:03 -0700 (PDT) Message-ID: <20220606195513.338726671@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1654545542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIHE/X50t/GQtjvhXGD996MtOwLvU0/w6pygfGbd5vI=; b=poSc/3e4h1x1Rgq80PaHXoZ7STreDVFF+8DuMWT87g5Aj19yFpzUZtqw4hl/Izk3loYGh5 OYUxw+b8s0zMBvrDNMckSWzMGaUoDWo6iIp7DLFQDo1FBx1dlK2YQSvkQtbH8oFxHudt5j XKAfcRk1eliwQ5m605OWXl7yQmzkMLjA37Rv4ZV5OdQsHVRqxJ9uWaGxTQ4+Q+M3VyoJas hU0arety1C9lrpvp/5/NlQprXo0noKLcrToeZev+7BcE7cPKDWyMuhrks5PKoVGXRPoZfh FRWJPCIqnpdm/KeP+41b4T23z5Y5Dj9ncjpK+kT5/wczro2Hx+LigYk6Qfc3Vg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1654545542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIHE/X50t/GQtjvhXGD996MtOwLvU0/w6pygfGbd5vI=; b=hSYklk5fuhVAcXEfYqmRPovGqgKrAwvebcinRWVhQqzGVe/Ku9TDp8sJX+ft0Fkuh1GUIT pS8q1XVk7rRKn1AQ== From: Thomas Gleixner To: linux-spdx@vger.kernel.org Subject: [Batch 1 - patch 25/25] treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_409.RULE MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Date: Mon, 6 Jun 2022 21:59:01 +0200 (CEST) Precedence: bulk List-ID: X-Mailing-List: linux-spdx@vger.kernel.org Rm9sa3MhClJlZmVyZW5jZXM6IDwyMDIyMDYwNjE5NDA0Mi40Mjg1Njg5MzJAbGludXRyb25peC5k ZT4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CgpCYXNlZCBvbiB0aGUgbm9ybWFsaXplZCBwYXR0ZXJuOgoKICAgIHRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlIHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQK ICAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UgdmVy c2lvbiAyIGFzCiAgICBwdWJsaXNoZWQgYnkgdGhlIGZyZWUgc29mdHdhcmUgZm91bmRhdGlvbiAg dGhlIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzCiAgICBpcyB3aXRob3V0IHdhcnJhbnR5IG9mIGFu eSBraW5kIGV4cHJlc3Mgb3IgaW1wbGllZCBpbmNsdWRpbmcgYnV0IG5vdAogICAgbGltaXRlZCB0 byB0aGUgd2FycmFudGllcyBvZiBtZXJjaGFudGFiaWxpdHkgZml0bmVzcyBmb3IgYSBwYXJ0aWN1 bGFyCiAgICBwdXJwb3NlIGFuZCBub25pbmZyaW5nZW1lbnQgb2YgdGhpcmQgcGFydHkgcmlnaHRz IGluIG5vIGV2ZW50IHNoYWxsCiAgICB0aGUgY29weXJpZ2h0IGhvbGRlcihzKSBhbmQgYXV0aG9y KHMpIGJlIGxpYWJsZSBmb3IgYW55IGNsYWltIG9yIGFueQogICAgc3BlY2lhbCBpbmRpcmVjdCBv ciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb3IgYW55IGRhbWFnZXMgd2hhdHNvZXZlcgogICAgcmVz dWx0aW5nIGZyb20gbG9zcyBvZiB1c2UgZGF0YSBvciBwcm9maXRzIHdoZXRoZXIgaW4gYW4gYWN0 aW9uIG9mCiAgICBjb250cmFjdCBuZWdsaWdlbmNlIG9yIG90aGVyIHRvcnRpb3VzIGFjdGlvbiBh cmlzaW5nIG91dCBvZiBvciBpbgogICAgY29ubmVjdGlvbiB3aXRoIHRoZSB1c2Ugb3IgcGVyZm9y bWFuY2Ugb2YgdGhpcyBzb2Z0d2FyZSAgYWxsIGxpYWJpbGl0eQogICAgaW5jbHVkaW5nIGxpYWJp bGl0eSBmb3IgaW5mcmluZ2VtZW50IG9mIGFueSBwYXRlbnRzIGNvcHlyaWdodHMKICAgIHRyYWRl bWFya3Mgb3Igb3RoZXIgcmlnaHRzIHJlbGF0aW5nIHRvIHVzZSBvZiB0aGlzIHNvZnR3YXJlIGlz CiAgICBkaXNjbGFpbWVkCgpleHRyYWN0ZWQgYnkgdGhlIHNjYW5jb2RlIGxpY2Vuc2Ugc2Nhbm5l ciB0aGUgU1BEWCBsaWNlbnNlIGlkZW50aWZpZXIKCiAgICBHUEwtMi4wLW9ubHkKCmhhcyBiZWVu IGNob3NlbiB0byByZXBsYWNlIHRoZSBib2lsZXJwbGF0ZS9yZWZlcmVuY2UuCgpTaWduZWQtb2Zm LWJ5OiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KLS0tCiBpbmNsdWRlL25l dC9ibHVldG9vdGgvYmx1ZXRvb3RoLmggfCAgIDE3ICstLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRl L25ldC9ibHVldG9vdGgvaGNpLmggICAgICAgfCAgIDE3ICstLS0tLS0tLS0tLS0tLS0tCiBpbmNs dWRlL25ldC9ibHVldG9vdGgvaGNpX2NvcmUuaCAgfCAgIDE3ICstLS0tLS0tLS0tLS0tLS0tCiBp bmNsdWRlL25ldC9ibHVldG9vdGgvaGNpX21vbi5oICAgfCAgIDE3ICstLS0tLS0tLS0tLS0tLS0t CiBpbmNsdWRlL25ldC9ibHVldG9vdGgvaGNpX3NvY2suaCAgfCAgIDE3ICstLS0tLS0tLS0tLS0t LS0tCiBpbmNsdWRlL25ldC9ibHVldG9vdGgvbDJjYXAuaCAgICAgfCAgIDE3ICstLS0tLS0tLS0t LS0tLS0tCiBpbmNsdWRlL25ldC9ibHVldG9vdGgvbWdtdC5oICAgICAgfCAgIDE3ICstLS0tLS0t LS0tLS0tLS0tCiBpbmNsdWRlL25ldC9ibHVldG9vdGgvcmZjb21tLmggICAgfCAgIDE3ICstLS0t LS0tLS0tLS0tLS0tCiBpbmNsdWRlL25ldC9ibHVldG9vdGgvc2NvLmggICAgICAgfCAgIDE3ICst LS0tLS0tLS0tLS0tLS0tCiBuZXQvYmx1ZXRvb3RoL2JuZXAvbmV0ZGV2LmMgICAgICAgfCAgIDE3 ICstLS0tLS0tLS0tLS0tLS0tCiBuZXQvYmx1ZXRvb3RoL2JuZXAvc29jay5jICAgICAgICAgfCAg IDE3ICstLS0tLS0tLS0tLS0tLS0tCiBuZXQvYmx1ZXRvb3RoL2NtdHAvY2FwaS5jICAgICAgICAg fCAgIDE3ICstLS0tLS0tLS0tLS0tLS0tCiBuZXQvYmx1ZXRvb3RoL2NtdHAvY210cC5oICAgICAg ICAgfCAgIDE3ICstLS0tLS0tLS0tLS0tLS0tCiBuZXQvYmx1ZXRvb3RoL2NtdHAvc29jay5jICAg ICAgICAgfCAgIDE3ICstLS0tLS0tLS0tLS0tLS0tCiBuZXQvYmx1ZXRvb3RoL2VjZGhfaGVscGVy LmMgICAgICAgfCAgIDE4ICstLS0tLS0tLS0tLS0tLS0tLQogbmV0L2JsdWV0b290aC9lY2RoX2hl bHBlci5oICAgICAgIHwgICAxOCArLS0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvaGNp X2Nvbm4uYyAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgv aGNpX2NvcmUuYyAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9v dGgvaGNpX2RlYnVnZnMuYyAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVl dG9vdGgvaGNpX2RlYnVnZnMuaCAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9i bHVldG9vdGgvaGNpX2V2ZW50LmMgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5l dC9ibHVldG9vdGgvaGNpX3JlcXVlc3QuYyAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0K IG5ldC9ibHVldG9vdGgvaGNpX3JlcXVlc3QuaCAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0t LS0KIG5ldC9ibHVldG9vdGgvaGNpX3NvY2suYyAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0t LS0tLS0KIG5ldC9ibHVldG9vdGgvaGlkcC9oaWRwLmggICAgICAgICB8ICAgMTcgKy0tLS0tLS0t LS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvaGlkcC9zb2NrLmMgICAgICAgICB8ICAgMTcgKy0tLS0t LS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvbDJjYXBfY29yZS5jICAgICAgICB8ICAgMTcgKy0t LS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvbDJjYXBfc29jay5jICAgICAgICB8ICAgMTcg Ky0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvbGliLmMgICAgICAgICAgICAgICB8ICAg MTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvbWdtdC5jICAgICAgICAgICAgICB8 ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvbWdtdF91dGlsLmMgICAgICAg ICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvbWdtdF91dGlsLmggICAg ICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvcmZjb21tL3NvY2su YyAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvcmZjb21tL3R0 eS5jICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvc2NvLmMg ICAgICAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgvc2Vs ZnRlc3QuYyAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9vdGgv c2VsZnRlc3QuaCAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVldG9v dGgvc21wLmMgICAgICAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIG5ldC9ibHVl dG9vdGgvc21wLmggICAgICAgICAgICAgICB8ICAgMTcgKy0tLS0tLS0tLS0tLS0tLS0KIDM5IGZp bGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDYyNiBkZWxldGlvbnMoLSkKCi0tLSBhL2lu Y2x1ZGUvbmV0L2JsdWV0b290aC9ibHVldG9vdGguaAorKysgYi9pbmNsdWRlL25ldC9ibHVldG9v dGgvYmx1ZXRvb3RoLmgKQEAgLTEsMjUgKzEsMTAgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkgKi8KIC8qCiAgICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBz dGFjayBmb3IgTGludXgKICAgIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIFF1YWxjb21tIEluY29y cG9yYXRlZAogCiAgICBXcml0dGVuIDIwMDAsMjAwMSBieSBNYXhpbSBLcmFzbnlhbnNreSA8bWF4 a0BxdWFsY29tbS5jb20+CiAKLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJ UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT Ci0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8g RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFC TEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVF TlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZS T00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9O IE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lO RyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNF IE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJ VFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURF TUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdB UkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpZm5kZWYgX19CTFVFVE9PVEhfSAotLS0gYS9pbmNs dWRlL25ldC9ibHVldG9vdGgvaGNpLmgKKysrIGIvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaS5o CkBAIC0xLDI1ICsxLDEwIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5ICovCiAvKgogICAgQmx1ZVogLSBCbHVldG9vdGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4 CiAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMSBRdWFsY29tbSBJbmNvcnBvcmF0ZWQKIAogICAg V3JpdHRlbiAyMDAwLDIwMDEgYnkgTWF4aW0gS3Jhc255YW5za3kgPG1heGtAcXVhbGNvbW0uY29t PgogCi0gICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAgIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwotCi0gICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUwotICAgT1IgSU1QTElF RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFksCi0gICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G UklOR0VNRU5UIE9GIFRISVJEIFBBUlRZIFJJR0hUUy4KLSAgIElOIE5PIEVWRU5UIFNIQUxMIFRI RSBDT1BZUklHSFQgSE9MREVSKFMpIEFORCBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkKLSAg IENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMs IE9SIEFOWSBEQU1BR0VTCi0gICBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNF LCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KLSAgIEFDVElPTiBPRiBDT05UUkFDVCwg TkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCi0gICBP UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRX QVJFLgotCi0gICBBTEwgTElBQklMSVRZLCBJTkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5H RU1FTlQgT0YgQU5ZIFBBVEVOVFMsCi0gICBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVS IFJJR0hUUywgUkVMQVRJTkcgVE8gVVNFIE9GIFRISVMKLSAgIFNPRlRXQVJFIElTIERJU0NMQUlN RUQuCiAqLwogCiAjaWZuZGVmIF9fSENJX0gKLS0tIGEvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hj aV9jb3JlLmgKKysrIGIvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLmgKQEAgLTEsMjUg KzEsMTAgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KIC8q CiAgICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFjayBmb3IgTGludXgKICAgIENvcHly aWdodCAoYykgMjAwMC0yMDAxLCAyMDEwLCBDb2RlIEF1cm9yYSBGb3J1bS4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KIAogICAgV3JpdHRlbiAyMDAwLDIwMDEgYnkgTWF4aW0gS3Jhc255YW5za3kgPG1h eGtAcXVhbGNvbW0uY29tPgogCi0gICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAgIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwotCi0gICBUSEUgU09GVFdBUkUg SVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVT UwotICAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO VElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0gICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9GIFRISVJEIFBBUlRZIFJJR0hUUy4KLSAgIElOIE5P IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIEFORCBBVVRIT1IoUykgQkUgTElB QkxFIEZPUiBBTlkKLSAgIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFV RU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCi0gICBXSEFUU09FVkVSIFJFU1VMVElORyBG Uk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KLSAgIEFDVElP TiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJ TkcgT1VUIE9GCi0gICBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5D RSBPRiBUSElTIFNPRlRXQVJFLgotCi0gICBBTEwgTElBQklMSVRZLCBJTkNMVURJTkcgTElBQklM SVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVOVFMsCi0gICBDT1BZUklHSFRTLCBUUkFE RU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJTkcgVE8gVVNFIE9GIFRISVMKLSAgIFNPRlRX QVJFIElTIERJU0NMQUlNRUQuCiAqLwogCiAjaWZuZGVmIF9fSENJX0NPUkVfSAotLS0gYS9pbmNs dWRlL25ldC9ibHVldG9vdGgvaGNpX21vbi5oCisrKyBiL2luY2x1ZGUvbmV0L2JsdWV0b290aC9o Y2lfbW9uLmgKQEAgLTEsMjQgKzEsOSBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb25seSAqLwogLyoKICAgIEJsdWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZv ciBMaW51eAogCiAgICBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxMiAgSW50ZWwgQ29ycG9yYXRpb24K IAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQs IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZLAotICAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ TkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg Q09QWVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBD TEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBP UiBBTlkgREFNQUdFUwotICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwg REFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5F R0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1Ig SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FS RS4KLQotICAgQUxMIExJQUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VN RU5UIE9GIEFOWSBQQVRFTlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBS SUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVE LgogKi8KIAogI2lmbmRlZiBfX0hDSV9NT05fSAotLS0gYS9pbmNsdWRlL25ldC9ibHVldG9vdGgv aGNpX3NvY2suaAorKysgYi9pbmNsdWRlL25ldC9ibHVldG9vdGgvaGNpX3NvY2suaApAQCAtMSwy NSArMSwxMCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwog LyoKICAgIEJsdWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAogICAgQ29w eXJpZ2h0IChDKSAyMDAwLTIwMDEgUXVhbGNvbW0gSW5jb3Jwb3JhdGVkCiAKICAgIFdyaXR0ZW4g MjAwMCwyMDAxIGJ5IE1heGltIEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJ VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xV RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ LAotICAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO VCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ R0hUIEhPTERFUihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwg T1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkg REFNQUdFUwotICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBP UiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VO Q0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09O TkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQot ICAgQUxMIExJQUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9G IEFOWSBQQVRFTlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMs IFJFTEFUSU5HIFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8K IAogI2lmbmRlZiBfX0hDSV9TT0NLX0gKLS0tIGEvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2wyY2Fw LmgKKysrIGIvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2wyY2FwLmgKQEAgLTEsMyArMSw0IEBACisv KiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICAgQmx1ZVog LSBCbHVldG9vdGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4CiAgICBDb3B5cmlnaHQgKEMpIDIw MDAtMjAwMSBRdWFsY29tbSBJbmNvcnBvcmF0ZWQKQEAgLTYsMjIgKzcsNiBAQAogCiAgICBXcml0 dGVuIDIwMDAsMjAwMSBieSBNYXhpbSBLcmFzbnlhbnNreSA8bWF4a0BxdWFsY29tbS5jb20+CiAK LSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJ TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H RU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP UFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xB SU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1Ig QU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERB VEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdM SUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUu Ci0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVO VCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklH SFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4K ICovCiAKICNpZm5kZWYgX19MMkNBUF9ICi0tLSBhL2luY2x1ZGUvbmV0L2JsdWV0b290aC9tZ210 LmgKKysrIGIvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL21nbXQuaApAQCAtMSwyNSArMSwxMCBAQAor LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwogLyoKICAgIEJsdWVa IC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAogCiAgICBDb3B5cmlnaHQgKEMp IDIwMTAgIE5va2lhIENvcnBvcmF0aW9uCiAgICBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxMiAgSW50 ZWwgQ29ycG9yYXRpb24KIAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElT IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MK LSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ RVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBF VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJM RSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVO VElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJP TSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04g T0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5H IE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0Ug T0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElU WSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVN QVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FS RSBJUyBESVNDTEFJTUVELgogKi8KIAogI2RlZmluZSBNR01UX0lOREVYX05PTkUJCQkweEZGRkYK LS0tIGEvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL3JmY29tbS5oCisrKyBiL2luY2x1ZGUvbmV0L2Js dWV0b290aC9yZmNvbW0uaApAQCAtMSwyNCArMSw5IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICAgUkZDT01NIGltcGxlbWVudGF0aW9uIGZvciBM aW51eCBCbHVldG9vdGggc3RhY2sgKEJsdWVaKQogICAgQ29weXJpZ2h0IChDKSAyMDAyIE1heGlt IEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KICAgIENvcHlyaWdodCAoQykgMjAwMiBN YXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CiAKLSAgIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0g ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZl cnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ IE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFS VFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykg QU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFM IElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKLSAgIFdI QVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hF VEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRP UlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU SEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJ VFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywK LSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBV U0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpbmNsdWRlIDxs aW51eC9yZWZjb3VudC5oPgotLS0gYS9pbmNsdWRlL25ldC9ibHVldG9vdGgvc2NvLmgKKysrIGIv aW5jbHVkZS9uZXQvYmx1ZXRvb3RoL3Njby5oCkBAIC0xLDI1ICsxLDEwIEBACisvKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICAgQmx1ZVogLSBCbHVldG9v dGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4CiAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMSBR dWFsY29tbSBJbmNvcnBvcmF0ZWQKIAogICAgV3JpdHRlbiAyMDAwLDIwMDEgYnkgTWF4aW0gS3Jh c255YW5za3kgPG1heGtAcXVhbGNvbW0uY29tPgogCi0gICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIg YXMKLSAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwotCi0gICBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUwotICAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0gICBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9GIFRISVJEIFBBUlRZIFJJR0hU Uy4KLSAgIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIEFORCBBVVRI T1IoUykgQkUgTElBQkxFIEZPUiBBTlkKLSAgIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVD VCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCi0gICBXSEFUU09FVkVS IFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4g QU4KLSAgIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBB Q1RJT04sIEFSSVNJTkcgT1VUIE9GCi0gICBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBP UiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotCi0gICBBTEwgTElBQklMSVRZLCBJTkNM VURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVOVFMsCi0gICBDT1BZ UklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJTkcgVE8gVVNFIE9GIFRI SVMKLSAgIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCiAqLwogCiAjaWZuZGVmIF9fU0NPX0gKLS0t IGEvbmV0L2JsdWV0b290aC9ibmVwL25ldGRldi5jCisrKyBiL25ldC9ibHVldG9vdGgvYm5lcC9u ZXRkZXYuYwpAQCAtMSwzICsxLDQgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkKIC8qCiAgICBCTkVQIGltcGxlbWVudGF0aW9uIGZvciBMaW51eCBCbHVldG9vdGgg c3RhY2sgKEJsdWVaKS4KICAgIENvcHlyaWdodCAoQykgMjAwMS0yMDAyIEludmVudGVsIFN5c3Rl bWVzCkBAIC03LDIyICs4LDYgQEAKIAogICAgQ29weXJpZ2h0IChDKSAyMDAyIE1heGltIEtyYXNu eWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFz Ci0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKLQotICAgVEhF IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ TkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g VEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMu Ci0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9S KFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1Qg T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hBVFNPRVZFUiBS RVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFO Ci0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNU SU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1Ig UEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElUWSwgSU5DTFVE SU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAotICAgQ09QWVJJ R0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElT Ci0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogI2luY2x1ZGUgPGxpbnV4L2V0aGVy ZGV2aWNlLmg+Ci0tLSBhL25ldC9ibHVldG9vdGgvYm5lcC9zb2NrLmMKKysrIGIvbmV0L2JsdWV0 b290aC9ibmVwL3NvY2suYwpAQCAtMSwzICsxLDQgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCTkVQIGltcGxlbWVudGF0aW9uIGZvciBMaW51eCBC bHVldG9vdGggc3RhY2sgKEJsdWVaKS4KICAgIENvcHlyaWdodCAoQykgMjAwMS0yMDAyIEludmVu dGVsIFN5c3RlbWVzCkBAIC02LDIyICs3LDYgQEAKIAogICAgQ29weXJpZ2h0IChDKSAyMDAyIE1h eGltIEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVy c2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsK LQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJU WSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBB TkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwg SU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hB VFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVU SEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9S VElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElU WSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAot ICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVT RSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogI2luY2x1ZGUgPGxp bnV4L2NvbXBhdC5oPgotLS0gYS9uZXQvYmx1ZXRvb3RoL2NtdHAvY2FwaS5jCisrKyBiL25ldC9i bHVldG9vdGgvY210cC9jYXBpLmMKQEAgLTEsMjMgKzEsOCBAQAorLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb25seQogLyoKICAgIENNVFAgaW1wbGVtZW50YXRpb24gZm9yIExp bnV4IEJsdWV0b290aCBzdGFjayAoQmx1ZVopLgogICAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMDMg TWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgogCi0gICBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQot ICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2 ZXJzaW9uIDIgYXMKLSAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OwotCi0gICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U WSBPRiBBTlkgS0lORCwgRVhQUkVTUwotICAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0gICBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9GIFRISVJEIFBB UlRZIFJJR0hUUy4KLSAgIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSKFMp IEFORCBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkKLSAgIENMQUlNLCBPUiBBTlkgU1BFQ0lB TCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCi0gICBX SEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdI RVRIRVIgSU4gQU4KLSAgIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBU T1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCi0gICBPUiBJTiBDT05ORUNUSU9OIFdJVEgg VEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotCi0gICBBTEwgTElBQklM SVRZLCBJTkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVOVFMs Ci0gICBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJTkcgVE8g VVNFIE9GIFRISVMKLSAgIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCiAqLwogCiAjaW5jbHVkZSA8 bGludXgvZXhwb3J0Lmg+Ci0tLSBhL25ldC9ibHVldG9vdGgvY210cC9jbXRwLmgKKysrIGIvbmV0 L2JsdWV0b290aC9jbXRwL2NtdHAuaApAQCAtMSwyMyArMSw4IEBACisvKiBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICAgQ01UUCBpbXBsZW1lbnRhdGlvbiBm b3IgTGludXggQmx1ZXRvb3RoIHN0YWNrIChCbHVlWikuCiAgICBDb3B5cmlnaHQgKEMpIDIwMDIt MjAwMyBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CiAKLSAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJ UkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE RVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBT UEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMK LSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklU UywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9U SEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBM SUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFU RU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElO RyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpZm5k ZWYgX19DTVRQX0gKLS0tIGEvbmV0L2JsdWV0b290aC9jbXRwL3NvY2suYworKysgYi9uZXQvYmx1 ZXRvb3RoL2NtdHAvc29jay5jCkBAIC0xLDIzICsxLDggQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBDTVRQIGltcGxlbWVudGF0aW9uIGZvciBMaW51 eCBCbHVldG9vdGggc3RhY2sgKEJsdWVaKS4KICAgIENvcHlyaWdodCAoQykgMjAwMi0yMDAzIE1h cmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KIAotICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVy c2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsK LQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJU WSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBB TkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwg SU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hB VFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVU SEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9S VElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElU WSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAot ICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVT RSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogI2luY2x1ZGUgPGxp bnV4L2V4cG9ydC5oPgotLS0gYS9uZXQvYmx1ZXRvb3RoL2VjZGhfaGVscGVyLmMKKysrIGIvbmV0 L2JsdWV0b290aC9lY2RoX2hlbHBlci5jCkBAIC0xLDI0ICsxLDggQEAKKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgKiBFQ0RIIGhlbHBlciBmdW5jdGlvbnMg LSBLUFAgd3JhcHBpbmdzCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDE3IEludGVsIENvcnBvcmF0 aW9uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKLSAqCi0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUwotICogT1Ig SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFksCi0gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg Tk9OSU5GUklOR0VNRU5UIE9GIFRISVJEIFBBUlRZIFJJR0hUUy4KLSAqIElOIE5PIEVWRU5UIFNI QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIEFORCBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBB TlkKLSAqIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERB TUFHRVMsIE9SIEFOWSBEQU1BR0VTCi0gKiBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1Mg T0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KLSAqIEFDVElPTiBPRiBDT05U UkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9G Ci0gKiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElT IFNPRlRXQVJFLgotICoKLSAqIEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9S IElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAqIENPUFlSSUdIVFMsIFRSQURFTUFSS1Mg T1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUwotICogU09GVFdBUkUgSVMg RElTQ0xBSU1FRC4KICAqLwogI2luY2x1ZGUgImVjZGhfaGVscGVyLmgiCiAKLS0tIGEvbmV0L2Js dWV0b290aC9lY2RoX2hlbHBlci5oCisrKyBiL25ldC9ibHVldG9vdGgvZWNkaF9oZWxwZXIuaApA QCAtMSwyNCArMSw4IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5 ICovCiAvKgogICogRUNESCBoZWxwZXIgZnVuY3Rpb25zIC0gS1BQIHdyYXBwaW5ncwogICoKICAq IENvcHlyaWdodCAoQykgMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbgotICoKLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247Ci0gKgotICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS UkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAqIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICogRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElS RCBQQVJUWSBSSUdIVFMuCi0gKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF UihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBDTEFJTSwgT1IgQU5ZIFNQ RUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwot ICogV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRT LCBXSEVUSEVSIElOIEFOCi0gKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RI RVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICogT1IgSU4gQ09OTkVDVElPTiBX SVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLSAqCi0gKiBBTEwg TElBQklMSVRZLCBJTkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBB VEVOVFMsCi0gKiBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJ TkcgVE8gVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCiAgKi8KICNpbmNs dWRlIDxjcnlwdG8va3BwLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLS0tIGEvbmV0L2Js dWV0b290aC9oY2lfY29ubi5jCisrKyBiL25ldC9ibHVldG9vdGgvaGNpX2Nvbm4uYwpAQCAtMSwy NSArMSwxMCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogLyoK ICAgIEJsdWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAogICAgQ29weXJp Z2h0IChjKSAyMDAwLTIwMDEsIDIwMTAsIENvZGUgQXVyb3JhIEZvcnVtLiBBbGwgcmlnaHRzIHJl c2VydmVkLgogCiAgICBXcml0dGVuIDIwMDAsMjAwMSBieSBNYXhpbSBLcmFzbnlhbnNreSA8bWF4 a0BxdWFsY29tbS5jb20+CiAKLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJ UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT Ci0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8g RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFC TEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVF TlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZS T00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9O IE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lO RyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNF IE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJ VFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURF TUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdB UkUgSVMgRElTQ0xBSU1FRC4KICovCiAKIC8qIEJsdWV0b290aCBIQ0kgY29ubmVjdGlvbiBoYW5k bGluZy4gKi8KLS0tIGEvbmV0L2JsdWV0b290aC9oY2lfY29yZS5jCisrKyBiL25ldC9ibHVldG9v dGgvaGNpX2NvcmUuYwpAQCAtMSwzICsxLDQgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFjayBm b3IgTGludXgKICAgIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIFF1YWxjb21tIEluY29ycG9yYXRl ZApAQCAtNSwyMiArNiw2IEBACiAKICAgIFdyaXR0ZW4gMjAwMCwyMDAxIGJ5IE1heGltIEtyYXNu eWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFz Ci0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKLQotICAgVEhF IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ TkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g VEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMu Ci0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9S KFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1Qg T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hBVFNPRVZFUiBS RVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFO Ci0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNU SU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1Ig UEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElUWSwgSU5DTFVE SU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAotICAgQ09QWVJJ R0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElT Ci0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogLyogQmx1ZXRvb3RoIEhDSSBjb3Jl LiAqLwotLS0gYS9uZXQvYmx1ZXRvb3RoL2hjaV9kZWJ1Z2ZzLmMKKysrIGIvbmV0L2JsdWV0b290 aC9oY2lfZGVidWdmcy5jCkBAIC0xLDI0ICsxLDkgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFj ayBmb3IgTGludXgKIAogICAgQ29weXJpZ2h0IChDKSAyMDE0IEludGVsIENvcnBvcmF0aW9uCiAK LSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJ TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H RU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP UFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xB SU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1Ig QU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERB VEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdM SUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUu Ci0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVO VCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklH SFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4K ICovCiAKICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+Ci0tLSBhL25ldC9ibHVldG9vdGgvaGNp X2RlYnVnZnMuaAorKysgYi9uZXQvYmx1ZXRvb3RoL2hjaV9kZWJ1Z2ZzLmgKQEAgLTEsMjMgKzEs OCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwogLyoKICAg IEJsdWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAogICAgQ29weXJpZ2h0 IChDKSAyMDE0IEludGVsIENvcnBvcmF0aW9uCiAKLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBh cwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRI RSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL SU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP IFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRT LgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhP UihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNU IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIg UkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBB TgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFD VElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9S IFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xV RElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlS SUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJ UwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpZiBJU19FTkFCTEVEKENPTkZJ R19CVF9ERUJVR0ZTKQotLS0gYS9uZXQvYmx1ZXRvb3RoL2hjaV9ldmVudC5jCisrKyBiL25ldC9i bHVldG9vdGgvaGNpX2V2ZW50LmMKQEAgLTEsMjUgKzEsMTAgQEAKKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2Nv bCBzdGFjayBmb3IgTGludXgKICAgIENvcHlyaWdodCAoYykgMjAwMC0yMDAxLCAyMDEwLCBDb2Rl IEF1cm9yYSBGb3J1bS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogICAgV3JpdHRlbiAyMDAwLDIw MDEgYnkgTWF4aW0gS3Jhc255YW5za3kgPG1heGtAcXVhbGNvbW0uY29tPgogCi0gICBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIgYXMKLSAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOwotCi0gICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUwotICAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0gICBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9GIFRI SVJEIFBBUlRZIFJJR0hUUy4KLSAgIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M REVSKFMpIEFORCBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkKLSAgIENMQUlNLCBPUiBBTlkg U1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VT Ci0gICBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJ VFMsIFdIRVRIRVIgSU4gQU4KLSAgIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBP VEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCi0gICBPUiBJTiBDT05ORUNUSU9O IFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotCi0gICBBTEwg TElBQklMSVRZLCBJTkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBB VEVOVFMsCi0gICBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJ TkcgVE8gVVNFIE9GIFRISVMKLSAgIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCiAqLwogCiAvKiBC bHVldG9vdGggSENJIGV2ZW50IGhhbmRsaW5nLiAqLwotLS0gYS9uZXQvYmx1ZXRvb3RoL2hjaV9y ZXF1ZXN0LmMKKysrIGIvbmV0L2JsdWV0b290aC9oY2lfcmVxdWVzdC5jCkBAIC0xLDI0ICsxLDkg QEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCbHVl WiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFjayBmb3IgTGludXgKIAogICAgQ29weXJpZ2h0IChD KSAyMDE0IEludGVsIENvcnBvcmF0aW9uCiAKLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwot ICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI RSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRTLgot ICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihT KSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9S IENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIgUkVT VUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgot ICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElP TiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBF UkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xVRElO RyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlSSUdI VFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUwot ICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC9z aWduYWwuaD4KLS0tIGEvbmV0L2JsdWV0b290aC9oY2lfcmVxdWVzdC5oCisrKyBiL25ldC9ibHVl dG9vdGgvaGNpX3JlcXVlc3QuaApAQCAtMSwyMyArMSw4IEBACisvKiBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICAgQmx1ZVogLSBCbHVldG9vdGggcHJvdG9j b2wgc3RhY2sgZm9yIExpbnV4CiAgICBDb3B5cmlnaHQgKEMpIDIwMTQgSW50ZWwgQ29ycG9yYXRp b24KIAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJB UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJ RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZLAotICAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO RlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBU SEUgQ09QWVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0g ICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT LCBPUiBBTlkgREFNQUdFUwotICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVT RSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1Qs IE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAg T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZU V0FSRS4KLQotICAgQUxMIExJQUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklO R0VNRU5UIE9GIEFOWSBQQVRFTlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhF UiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJ TUVELgogKi8KIAogI2luY2x1ZGUgPGFzbS91bmFsaWduZWQuaD4KLS0tIGEvbmV0L2JsdWV0b290 aC9oY2lfc29jay5jCisrKyBiL25ldC9ibHVldG9vdGgvaGNpX3NvY2suYwpAQCAtMSwyNSArMSwx MCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogLyoKICAgIEJs dWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAogICAgQ29weXJpZ2h0IChD KSAyMDAwLTIwMDEgUXVhbGNvbW0gSW5jb3Jwb3JhdGVkCiAKICAgIFdyaXR0ZW4gMjAwMCwyMDAx IGJ5IE1heGltIEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS UkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElS RCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF UihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQ RUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwot ICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRT LCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RI RVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBX SVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJ QUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRF TlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5H IFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogLyogQmx1 ZXRvb3RoIEhDSSBzb2NrZXRzLiAqLwotLS0gYS9uZXQvYmx1ZXRvb3RoL2hpZHAvaGlkcC5oCisr KyBiL25ldC9ibHVldG9vdGgvaGlkcC9oaWRwLmgKQEAgLTEsMjMgKzEsOCBAQAorLyogU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwogLyoKICAgIEhJRFAgaW1wbGVtZW50 YXRpb24gZm9yIExpbnV4IEJsdWV0b290aCBzdGFjayAoQmx1ZVopLgogICAgQ29weXJpZ2h0IChD KSAyMDAzLTIwMDQgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgogCi0gICBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQotICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOwotCi0gICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lU SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUwotICAgT1IgSU1QTElFRCwgSU5DTFVE SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFks Ci0gICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U IE9GIFRISVJEIFBBUlRZIFJJR0hUUy4KLSAgIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH SFQgSE9MREVSKFMpIEFORCBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkKLSAgIENMQUlNLCBP UiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBE QU1BR0VTCi0gICBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9S IFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KLSAgIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5D RSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCi0gICBPUiBJTiBDT05O RUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotCi0g ICBBTEwgTElBQklMSVRZLCBJTkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0Yg QU5ZIFBBVEVOVFMsCi0gICBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywg UkVMQVRJTkcgVE8gVVNFIE9GIFRISVMKLSAgIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCiAqLwog CiAjaWZuZGVmIF9fSElEUF9ICi0tLSBhL25ldC9ibHVldG9vdGgvaGlkcC9zb2NrLmMKKysrIGIv bmV0L2JsdWV0b290aC9oaWRwL3NvY2suYwpAQCAtMSwyMyArMSw4IEBACisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CiAvKgogICAgSElEUCBpbXBsZW1lbnRhdGlvbiBm b3IgTGludXggQmx1ZXRvb3RoIHN0YWNrIChCbHVlWikuCiAgICBDb3B5cmlnaHQgKEMpIDIwMDMt MjAwNCBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CiAKLSAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJ UkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE RVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBT UEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMK LSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklU UywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9U SEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBM SUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFU RU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElO RyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpbmNs dWRlIDxsaW51eC9jb21wYXQuaD4KLS0tIGEvbmV0L2JsdWV0b290aC9sMmNhcF9jb3JlLmMKKysr IGIvbmV0L2JsdWV0b290aC9sMmNhcF9jb3JlLmMKQEAgLTEsMyArMSw0IEBACisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CiAvKgogICAgQmx1ZVogLSBCbHVldG9vdGgg cHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4CiAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMSBRdWFs Y29tbSBJbmNvcnBvcmF0ZWQKQEAgLTgsMjIgKzksNiBAQAogCiAgICBXcml0dGVuIDIwMDAsMjAw MSBieSBNYXhpbSBLcmFzbnlhbnNreSA8bWF4a0BxdWFsY29tbS5jb20+CiAKLSAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJ UkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE RVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBT UEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMK LSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklU UywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9U SEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBM SUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFU RU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElO RyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKIC8qIEJs dWV0b290aCBMMkNBUCBjb3JlLiAqLwotLS0gYS9uZXQvYmx1ZXRvb3RoL2wyY2FwX3NvY2suYwor KysgYi9uZXQvYmx1ZXRvb3RoL2wyY2FwX3NvY2suYwpAQCAtMSwzICsxLDQgQEAKKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCbHVlWiAtIEJsdWV0b290 aCBwcm90b2NvbCBzdGFjayBmb3IgTGludXgKICAgIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIFF1 YWxjb21tIEluY29ycG9yYXRlZApAQCAtNywyMiArOCw2IEBACiAKICAgIFdyaXR0ZW4gMjAwMCwy MDAxIGJ5IE1heGltIEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAg RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBU SElSRCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhP TERFUihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5Z IFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdF UwotICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9G SVRTLCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1Ig T1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElP TiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxM IExJQUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQ QVRFTlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFU SU5HIFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogLyog Qmx1ZXRvb3RoIEwyQ0FQIHNvY2tldHMuICovCi0tLSBhL25ldC9ibHVldG9vdGgvbGliLmMKKysr IGIvbmV0L2JsdWV0b290aC9saWIuYwpAQCAtMSwyNSArMSwxMCBAQAorLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogLyoKICAgIEJsdWVaIC0gQmx1ZXRvb3RoIHByb3Rv Y29sIHN0YWNrIGZvciBMaW51eAogICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDEgUXVhbGNvbW0g SW5jb3Jwb3JhdGVkCiAKICAgIFdyaXR0ZW4gMjAwMCwyMDAxIGJ5IE1heGltIEtyYXNueWFuc2t5 IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gICBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKLQotICAgVEhFIFNPRlRX QVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVY UFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCi0gICBJ TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9SKFMpIEJF IExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09O U0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hBVFNPRVZFUiBSRVNVTFRJ TkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCi0gICBB Q1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBB UklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9S TUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElUWSwgSU5DTFVESU5HIExJ QUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAotICAgQ09QWVJJR0hUUywg VFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElTCi0gICBT T0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogLyogQmx1ZXRvb3RoIGtlcm5lbCBsaWJyYXJ5 LiAqLwotLS0gYS9uZXQvYmx1ZXRvb3RoL21nbXQuYworKysgYi9uZXQvYmx1ZXRvb3RoL21nbXQu YwpAQCAtMSwyNSArMSwxMCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b25seQogLyoKICAgIEJsdWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAog CiAgICBDb3B5cmlnaHQgKEMpIDIwMTAgIE5va2lhIENvcnBvcmF0aW9uCiAgICBDb3B5cmlnaHQg KEMpIDIwMTEtMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgogCi0gICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9u IDIgYXMKLSAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwotCi0g ICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB TlkgS0lORCwgRVhQUkVTUwotICAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF RCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0gICBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9GIFRISVJEIFBBUlRZIFJJ R0hUUy4KLSAgIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIEFORCBB VVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkKLSAgIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJ UkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCi0gICBXSEFUU09F VkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIg SU4gQU4KLSAgIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9V UyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCi0gICBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVT RSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotCi0gICBBTEwgTElBQklMSVRZLCBJ TkNMVURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVOVFMsCi0gICBD T1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJTkcgVE8gVVNFIE9G IFRISVMKLSAgIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCiAqLwogCiAvKiBCbHVldG9vdGggSENJ IE1hbmFnZW1lbnQgaW50ZXJmYWNlICovCi0tLSBhL25ldC9ibHVldG9vdGgvbWdtdF91dGlsLmMK KysrIGIvbmV0L2JsdWV0b290aC9tZ210X3V0aWwuYwpAQCAtMSwyNCArMSw5IEBACisvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CiAvKgogICAgQmx1ZVogLSBCbHVldG9v dGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4CiAKICAgIENvcHlyaWdodCAoQykgMjAxNSAgSW50 ZWwgQ29ycG9yYXRpb24KIAotICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElT IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MK LSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ RVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBF VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJM RSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVO VElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJP TSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04g T0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5H IE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0Ug T0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElU WSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVN QVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FS RSBJUyBESVNDTEFJTUVELgogKi8KIAogI2luY2x1ZGUgPGFzbS91bmFsaWduZWQuaD4KLS0tIGEv bmV0L2JsdWV0b290aC9tZ210X3V0aWwuaAorKysgYi9uZXQvYmx1ZXRvb3RoL21nbXRfdXRpbC5o CkBAIC0xLDIzICsxLDggQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkgKi8KIC8qCiAgICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFjayBmb3IgTGludXgK ICAgIENvcHlyaWdodCAoQykgMjAxNSAgSW50ZWwgQ29yb3ByYXRpb24KIAotICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsKLQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS UkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElS RCBQQVJUWSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF UihTKSBBTkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQ RUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwot ICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRT LCBXSEVUSEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RI RVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBX SVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJ QUJJTElUWSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRF TlRTLAotICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5H IFRPIFVTRSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogc3RydWN0 IG1nbXRfcGVuZGluZ19jbWQgewotLS0gYS9uZXQvYmx1ZXRvb3RoL3JmY29tbS9zb2NrLmMKKysr IGIvbmV0L2JsdWV0b290aC9yZmNvbW0vc29jay5jCkBAIC0xLDI0ICsxLDkgQEAKKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBSRkNPTU0gaW1wbGVtZW50 YXRpb24gZm9yIExpbnV4IEJsdWV0b290aCBzdGFjayAoQmx1ZVopLgogICAgQ29weXJpZ2h0IChD KSAyMDAyIE1heGltIEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KICAgIENvcHlyaWdo dCAoQykgMjAwMiBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CiAKLSAgIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRI T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJ TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwK LSAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQg T0YgVEhJUkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI VCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9S IEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERB TUFHRVMKLSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1Ig UFJPRklUUywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNF IE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAg IEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBB TlkgUEFURU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBS RUxBVElORyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAK IC8qCi0tLSBhL25ldC9ibHVldG9vdGgvcmZjb21tL3R0eS5jCisrKyBiL25ldC9ibHVldG9vdGgv cmZjb21tL3R0eS5jCkBAIC0xLDI0ICsxLDkgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKIC8qCiAgICBSRkNPTU0gaW1wbGVtZW50YXRpb24gZm9yIExpbnV4IEJs dWV0b290aCBzdGFjayAoQmx1ZVopLgogICAgQ29weXJpZ2h0IChDKSAyMDAyIE1heGltIEtyYXNu eWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KICAgIENvcHlyaWdodCAoQykgMjAwMiBNYXJjZWwg SG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CiAKLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g MiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAg IFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO WSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE IFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklH SFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFV VEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElS RUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VW RVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJ TiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VT IEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNF IE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJVFksIElO Q0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAgIENP UFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0Yg VEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKIC8qCi0tLSBhL25ldC9ibHVl dG9vdGgvc2NvLmMKKysrIGIvbmV0L2JsdWV0b290aC9zY28uYwpAQCAtMSwyNSArMSwxMCBAQAor Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogLyoKICAgIEJsdWVaIC0g Qmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAogICAgQ29weXJpZ2h0IChDKSAyMDAw LTIwMDEgUXVhbGNvbW0gSW5jb3Jwb3JhdGVkCiAKICAgIFdyaXR0ZW4gMjAwMCwyMDAxIGJ5IE1h eGltIEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVy c2lvbiAyIGFzCi0gICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsK LQotICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZIEtJTkQsIEVYUFJFU1MKLSAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICAgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJU WSBSSUdIVFMuCi0gICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBB TkQgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZCi0gICBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwg SU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUwotICAgV0hB VFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVU SEVSIElOIEFOCi0gICBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9S VElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgotICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotICAgQUxMIExJQUJJTElU WSwgSU5DTFVESU5HIExJQUJJTElUWSBGT1IgSU5GUklOR0VNRU5UIE9GIEFOWSBQQVRFTlRTLAot ICAgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMsIFJFTEFUSU5HIFRPIFVT RSBPRiBUSElTCi0gICBTT0ZUV0FSRSBJUyBESVNDTEFJTUVELgogKi8KIAogLyogQmx1ZXRvb3Ro IFNDTyBzb2NrZXRzLiAqLwotLS0gYS9uZXQvYmx1ZXRvb3RoL3NlbGZ0ZXN0LmMKKysrIGIvbmV0 L2JsdWV0b290aC9zZWxmdGVzdC5jCkBAIC0xLDI0ICsxLDkgQEAKKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCbHVlWiAtIEJsdWV0b290aCBwcm90b2Nv bCBzdGFjayBmb3IgTGludXgKIAogICAgQ29weXJpZ2h0IChDKSAyMDE0IEludGVsIENvcnBvcmF0 aW9uCiAKLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J TkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwg VEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQot ICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF UywgT1IgQU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBV U0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNU LCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAg IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09G VFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJ TkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RI RVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xB SU1FRC4KICovCiAKICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+Ci0tLSBhL25ldC9ibHVldG9v dGgvc2VsZnRlc3QuaAorKysgYi9uZXQvYmx1ZXRvb3RoL3NlbGZ0ZXN0LmgKQEAgLTEsMjMgKzEs OCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLwogLyoKICAg IEJsdWVaIC0gQmx1ZXRvb3RoIHByb3RvY29sIHN0YWNrIGZvciBMaW51eAogICAgQ29weXJpZ2h0 IChDKSAyMDE0IEludGVsIENvcnBvcmF0aW9uCiAKLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBh cwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Ci0KLSAgIFRI RSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL SU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP IFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJUkQgUEFSVFkgUklHSFRT LgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQU5EIEFVVEhP UihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBTUEVDSUFMIElORElSRUNU IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMKLSAgIFdIQVRTT0VWRVIg UkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBB TgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFD VElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9S IFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBMSUFCSUxJVFksIElOQ0xV RElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFURU5UUywKLSAgIENPUFlS SUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElORyBUTyBVU0UgT0YgVEhJ UwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpZiBJU19FTkFCTEVEKENPTkZJ R19CVF9TRUxGVEVTVCkgJiYgSVNfTU9EVUxFKENPTkZJR19CVCkKLS0tIGEvbmV0L2JsdWV0b290 aC9zbXAuYworKysgYi9uZXQvYmx1ZXRvb3RoL3NtcC5jCkBAIC0xLDIzICsxLDggQEAKKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIC8qCiAgICBCbHVlWiAtIEJsdWV0 b290aCBwcm90b2NvbCBzdGFjayBmb3IgTGludXgKICAgIENvcHlyaWdodCAoQykgMjAxMSBOb2tp YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAKLSAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0gICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMiBhcwotICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247Ci0KLSAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCi0gICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAgIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQgT0YgVEhJ UkQgUEFSVFkgUklHSFRTLgotICAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE RVIoUykgQU5EIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWQotICAgQ0xBSU0sIE9SIEFOWSBT UEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMK LSAgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklU UywgV0hFVEhFUiBJTiBBTgotICAgQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9U SEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKLSAgIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSAgIEFMTCBM SUFCSUxJVFksIElOQ0xVRElORyBMSUFCSUxJVFkgRk9SIElORlJJTkdFTUVOVCBPRiBBTlkgUEFU RU5UUywKLSAgIENPUFlSSUdIVFMsIFRSQURFTUFSS1MgT1IgT1RIRVIgUklHSFRTLCBSRUxBVElO RyBUTyBVU0UgT0YgVEhJUwotICAgU09GVFdBUkUgSVMgRElTQ0xBSU1FRC4KICovCiAKICNpbmNs dWRlIDxsaW51eC9kZWJ1Z2ZzLmg+Ci0tLSBhL25ldC9ibHVldG9vdGgvc21wLmgKKysrIGIvbmV0 L2JsdWV0b290aC9zbXAuaApAQCAtMSwyMyArMSw4IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vbmx5ICovCiAvKgogICAgQmx1ZVogLSBCbHVldG9vdGggcHJvdG9jb2wg c3RhY2sgZm9yIExpbnV4CiAgICBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24g YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgogCi0gICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIg YXMKLSAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwotCi0gICBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUwotICAgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0gICBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9GIFRISVJEIFBBUlRZIFJJR0hU Uy4KLSAgIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIEFORCBBVVRI T1IoUykgQkUgTElBQkxFIEZPUiBBTlkKLSAgIENMQUlNLCBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVD VCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTCi0gICBXSEFUU09FVkVS IFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4g QU4KLSAgIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBB Q1RJT04sIEFSSVNJTkcgT1VUIE9GCi0gICBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBP UiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotCi0gICBBTEwgTElBQklMSVRZLCBJTkNM VURJTkcgTElBQklMSVRZIEZPUiBJTkZSSU5HRU1FTlQgT0YgQU5ZIFBBVEVOVFMsCi0gICBDT1BZ UklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUywgUkVMQVRJTkcgVE8gVVNFIE9GIFRI SVMKLSAgIFNPRlRXQVJFIElTIERJU0NMQUlNRUQuCiAqLwogCiAjaWZuZGVmIF9fU01QX0gKCg==