X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from sp4.qcslink.com (sp4.qcslink.com [200.35.147.4]) by mail.alpinelinux.org (Postfix) with ESMTP id 8EC7D1BA4BF4 for ; Thu, 20 Oct 2011 17:26:14 +0000 (UTC) Received: from sp4.qcslink.com (localhost.localdomain [127.0.0.1]) by sp4.qcslink.com (Postfix) with ESMTP id 8943A1A46F; Thu, 20 Oct 2011 13:26:00 -0400 (EDT) Received: from localhost.localdomain (c-98-234-43-98.hsd1.ca.comcast.net [98.234.43.98]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: nangel@nothome.org) by sp4.qcslink.com (Postfix) with ESMTPSA id ED9A21A46D; Thu, 20 Oct 2011 13:25:59 -0400 (EDT) From: Nathan Angelacos To: alpine-devel@lists.alpinelinux.org Cc: Nathan Angelacos Subject: [alpine-devel] =?UTF-8?q?=5BPATCH=5D=20APKBUILD=20for=20kamailio=203=2E2=2E0=20=09deleted=3A=20=20=20=200001-utils-Install-the-sqlite-scripts=2Epatch=20=09deleted=3A=20=20=20=200001-utils-add-sqlite-support-to-kamctl-kamdbctl=2Epatch=20=20deleted=3A=20=20=20=20kamailio-3=2E1-backslash=2Epatch=20=09deleted=3A=20=20=20=20sqlite=2Epatch=20=09modified=3A=20=20=20APKBUILD=20-=20include=20Lua=20package?= Date: Fri, 21 Oct 2011 01:18:01 +0000 Message-Id: <1319159881-27571-1-git-send-email-nangel@alpinelinux.org> X-Mailer: git-send-email 1.7.7 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Virus-Scanned: ClamAV using ClamSMTP LS0tDQogLi4uLzAwMDEtdXRpbHMtSW5zdGFsbC10aGUtc3FsaXRlLXNjcmlwdHMucGF0Y2ggICAg fCAgIDY2IC0tDQogLi4uaWxzLWFkZC1zcWxpdGUtc3VwcG9ydC10by1rYW1jdGwta2FtZGJjdGwu cGF0Y2ggfCAxMjIzIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogbWFpbi9rYW1haWxpby9BUEtCVUlM RCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM3ICstDQogbWFpbi9rYW1haWxpby9r YW1haWxpby0zLjEtYmFja3NsYXNoLnBhdGNoICAgICAgICAgfCAgIDQ0IC0NCiBtYWluL2thbWFp bGlvL3NxbGl0ZS5wYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3MTIgLS0tLS0tLS0t LS0tDQogNSBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAyMDY0IGRlbGV0aW9ucygt KQ0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL2thbWFpbGlvLzAwMDEtdXRpbHMtSW5zdGFsbC10 aGUtc3FsaXRlLXNjcmlwdHMucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9rYW1haWxp by8wMDAxLXV0aWxzLWFkZC1zcWxpdGUtc3VwcG9ydC10by1rYW1jdGwta2FtZGJjdGwucGF0Y2gN CiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9rYW1haWxpby9rYW1haWxpby0zLjEtYmFja3NsYXNo LnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4va2FtYWlsaW8vc3FsaXRlLnBhdGNoDQoN CmRpZmYgLS1naXQgYS9tYWluL2thbWFpbGlvLzAwMDEtdXRpbHMtSW5zdGFsbC10aGUtc3FsaXRl LXNjcmlwdHMucGF0Y2ggYi9tYWluL2thbWFpbGlvLzAwMDEtdXRpbHMtSW5zdGFsbC10aGUtc3Fs aXRlLXNjcmlwdHMucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMGM3MmY2 NC4uMDAwMDAwMA0KLS0tIGEvbWFpbi9rYW1haWxpby8wMDAxLXV0aWxzLUluc3RhbGwtdGhlLXNx bGl0ZS1zY3JpcHRzLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSw2NiArMCwwIEBADQotRnJv bSAzY2VkNmZjMGU1Mjk4YWM2ZjJmNmRhZGU0ZDU2NDA3OGVjNTg2ZWJmIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQ0KLUZyb206IE5hdGFuYWVsIENvcGEgPG5jb3BhQGFscGluZWxpbnV4Lm9yZz4N Ci1EYXRlOiBUaHUsIDI2IE1heSAyMDExIDE0OjA0OjI2ICswMDAwDQotU3ViamVjdDogW1BBVENI XSB1dGlsczogSW5zdGFsbCB0aGUgc3FsaXRlIHNjcmlwdHMNCi0NCi1GaXggdGhlIG1ha2VmaWxl cyB0byBhY3R1YWxseSBpbnN0YWxsIHRoZSBzcWxpdGUgc2NyaXB0cw0KLS0tLQ0KLSBtb2R1bGVz X2svZGJfc3FsaXRlL01ha2VmaWxlIHwgICAxMCArKysrKysrKysrDQotIHV0aWxzL2thbWN0bC9N YWtlZmlsZSAgICAgICAgfCAgIDIzICsrKysrKysrKysrKysrKysrKysrKysrDQotIDIgZmlsZXMg Y2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0 IGEvbW9kdWxlc19rL2RiX3NxbGl0ZS9NYWtlZmlsZSBiL21vZHVsZXNfay9kYl9zcWxpdGUvTWFr ZWZpbGUNCi1pbmRleCA5YTc1NTkzLi4xZjFkZDJkIDEwMDY0NA0KLS0tLSBhL21vZHVsZXNfay9k Yl9zcWxpdGUvTWFrZWZpbGUNCi0rKysgYi9tb2R1bGVzX2svZGJfc3FsaXRlL01ha2VmaWxlDQot QEAgLTEzLDMgKzEzLDEzIEBAIERFRlMrPS1ET1BFTlNFUl9NT0RfSU5URVJGQUNFDQotIFNFUkxJ QlBBVEg9Li4vLi4vbGliDQotIFNFUl9MSUJTKz0kKFNFUkxJQlBBVEgpL3NyZGIxL3NyZGIxDQot IGluY2x1ZGUgLi4vLi4vTWFrZWZpbGUubW9kdWxlcw0KLSsNCi0raWZlcSAoJChJTlNUQUxMX0ZM QVZPVVIpLGthbWFpbGlvKQ0KLSsjIGV4dHJhIGluc3RhbGwgZm9yIGthbWFpbGlvDQotKw0KLStp bnN0YWxsLXNxbGl0ZS1zY3JpcHRzOiAkKGJpbl9wcmVmaXgpLyQoYmluX2RpcikNCi0rCQlTUUxJ VEVPTj15ZXMgbWFrZSAtQyAuLi8uLi91dGlscy9rYW1jdGwvIGluc3RhbGwtbW9kdWxlcw0KLSsN Ci0raW5zdGFsbC1zY3JpcHRzOiBpbnN0YWxsLXNxbGl0ZS1zY3JpcHRzDQotKw0KLStlbmRpZiAj IElOU1RBTExfRkxBVk9VUg0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwvTWFrZWZpbGUgYi91 dGlscy9rYW1jdGwvTWFrZWZpbGUNCi1pbmRleCAwZjI2NDNiLi44YjBmNzkwIDEwMDY0NA0KLS0t LSBhL3V0aWxzL2thbWN0bC9NYWtlZmlsZQ0KLSsrKyBiL3V0aWxzL2thbWN0bC9NYWtlZmlsZQ0K LUBAIC0yNDUsNiArMjQ1LDI5IEBAIGluc3RhbGwtbW9kdWxlczogJChiaW5fcHJlZml4KS8kKGJp bl9kaXIpDQotIAkJCQlmaSA7XA0KLSAJCQlkb25lIDtcDQotIAkJZmkNCi0rCQkjIGluc3RhbGwg c3FsaXRlIHN0dWZmDQotKwkJaWYgWyAiJChTUUxJVEVPTikiID0gInllcyIgXTsgdGhlbiBcDQot KwkJCW1rZGlyIC1wICQobW9kdWxlc19wcmVmaXgpLyQobGliX2Rpcikva2FtY3RsIDsgXA0KLSsJ CQlzZWQgLWUgInMjL3Vzci9sb2NhbC9zYmluIyQoYmluX3RhcmdldCkjZyIgXA0KLSsJCQkJPCBr YW1jdGwuc3FsaXRlID4gL3RtcC9rYW1jdGwuc3FsaXRlIDsgXA0KLSsJCQkkKElOU1RBTExfQ0ZH KSAvdG1wL2thbWN0bC5zcWxpdGUgXA0KLSsJCQkJJChtb2R1bGVzX3ByZWZpeCkvJChsaWJfZGly KS9rYW1jdGwva2FtY3RsLnNxbGl0ZSA7IFwNCi0rCQkJcm0gLWZyIC90bXAva2FtY3RsLnNxbGl0 ZSA7IFwNCi0rCQkJc2VkIC1lICJzIy91c3IvbG9jYWwvc2hhcmUva2FtYWlsaW8jJChkYXRhX3Rh cmdldCkjZyIgXA0KLSsJCQkJPCBrYW1kYmN0bC5zcWxpdGUgPiAvdG1wL2thbWRiY3RsLnNxbGl0 ZSA7IFwNCi0rCQkJJChJTlNUQUxMX1RPVUNIKSAkKG1vZHVsZXNfcHJlZml4KS8kKGxpYl9kaXIp L2thbWN0bC9rYW1kYmN0bC5zcWxpdGUgOyBcDQotKwkJCSQoSU5TVEFMTF9DRkcpIC90bXAva2Ft ZGJjdGwuc3FsaXRlICQobW9kdWxlc19wcmVmaXgpLyQobGliX2Rpcikva2FtY3RsLyA7IFwNCi0r CQkJcm0gLWZyIC90bXAva2FtZGJjdGwuc3FsaXRlIDsgXA0KLSsJCQlta2RpciAtcCAkKGRhdGFf cHJlZml4KS8kKGRhdGFfZGlyKS9zcWxpdGUgOyBcDQotKwkJCWZvciBGSUxFIGluICQod2lsZGNh cmQgc3FsaXRlLyopIDsgZG8gXA0KLSsJCQkJaWYgWyAtZiAkJEZJTEUgXSA7IHRoZW4gXA0KLSsJ CQkJJChJTlNUQUxMX1RPVUNIKSAkJEZJTEUgXA0KLSsJCQkJCSQoZGF0YV9wcmVmaXgpLyQoZGF0 YV9kaXIpL3NxbGl0ZS9gYmFzZW5hbWUgIiQkRklMRSJgIDsgXA0KLSsJCQkJJChJTlNUQUxMX0NG RykgJCRGSUxFIFwNCi0rCQkJCQkkKGRhdGFfcHJlZml4KS8kKGRhdGFfZGlyKS9zcWxpdGUvYGJh c2VuYW1lICIkJEZJTEUiYCA7IFwNCi0rCQkJCWZpIDtcDQotKwkJCWRvbmUgOyBcDQotKwkJZmkN Ci0gDQotIA0KLSAkKGNmZ19wcmVmaXgpLyQoY2ZnX2Rpcik6DQotLS0gDQotMS43LjQuNQ0KLQ0K ZGlmZiAtLWdpdCBhL21haW4va2FtYWlsaW8vMDAwMS11dGlscy1hZGQtc3FsaXRlLXN1cHBvcnQt dG8ta2FtY3RsLWthbWRiY3RsLnBhdGNoIGIvbWFpbi9rYW1haWxpby8wMDAxLXV0aWxzLWFkZC1z cWxpdGUtc3VwcG9ydC10by1rYW1jdGwta2FtZGJjdGwucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMzA1MjVmYS4uMDAwMDAwMA0KLS0tIGEvbWFpbi9rYW1haWxpby8wMDAx LXV0aWxzLWFkZC1zcWxpdGUtc3VwcG9ydC10by1rYW1jdGwta2FtZGJjdGwucGF0Y2gNCisrKyAv ZGV2L251bGwNCkBAIC0xLDEyMjMgKzAsMCBAQA0KLUZyb20gMjE1YTU1ZTA5N2MwN2I0OTc3NDdj YWYyYTA0YzY1Y2IxMWQ3ODNjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBOYXRh bmFlbCBDb3BhIDxuY29wYUBhbHBpbmVsaW51eC5vcmc+DQotRGF0ZTogVGh1LCAyNiBNYXkgMjAx MSAwNzowNzoxOSArMDAwMA0KLVN1YmplY3Q6IFtQQVRDSF0gdXRpbHM6IGFkZCBzcWxpdGUgc3Vw cG9ydCB0byBrYW1jdGwva2FtZGJjdGwNCi0NCi1JIGJhc2ljYWxseSBjb3BpZWQgdGhlIHBvc3Rn cmVyc3FsIHNjcmlwdHMgYW5kIHNpbXBsaWZpZWQgdGhlbSBhIGJpdA0KLS0tLQ0KLSB1dGlscy9r YW1jdGwva2FtY3RsICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKw0KLSB1dGlscy9r YW1jdGwva2FtY3RsLnNxbGl0ZSAgICAgICAgICAgICAgICAgICB8ICAgNTEgKysrKysrKysrDQot IHV0aWxzL2thbWN0bC9rYW1jdGxyYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArLQ0K LSB1dGlscy9rYW1jdGwva2FtZGJjdGwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysN Ci0gdXRpbHMva2FtY3RsL2thbWRiY3RsLnNxbGl0ZSAgICAgICAgICAgICAgICAgfCAgMTUyICsr KysrKysrKysrKysrKysrKysrKysrKysrDQotIHV0aWxzL2thbWN0bC9zcWxpdGUvYWNjLWNyZWF0 ZS5zcWwgICAgICAgICAgIHwgICAyOCArKysrKw0KLSB1dGlscy9rYW1jdGwvc3FsaXRlL2FsaWFz X2RiLWNyZWF0ZS5zcWwgICAgICB8ICAgMTIgKysNCi0gdXRpbHMva2FtY3RsL3NxbGl0ZS9hdXRo X2RiLWNyZWF0ZS5zcWwgICAgICAgfCAgIDE1ICsrKw0KLSB1dGlscy9rYW1jdGwvc3FsaXRlL2F2 cG9wcy1jcmVhdGUuc3FsICAgICAgICB8ICAgMTUgKysrDQotIHV0aWxzL2thbWN0bC9zcWxpdGUv Y2FycmllcnJvdXRlLWNyZWF0ZS5zcWwgIHwgICA0MiArKysrKysrDQotIHV0aWxzL2thbWN0bC9z cWxpdGUvY3BsLWNyZWF0ZS5zcWwgICAgICAgICAgIHwgICAxMCArKw0KLSB1dGlscy9rYW1jdGwv c3FsaXRlL2RpYWxvZy1jcmVhdGUuc3FsICAgICAgICB8ICAgMjkgKysrKysNCi0gdXRpbHMva2Ft Y3RsL3NxbGl0ZS9kaWFscGxhbi1jcmVhdGUuc3FsICAgICAgfCAgIDEzICsrDQotIHV0aWxzL2th bWN0bC9zcWxpdGUvZGlzcGF0Y2hlci1jcmVhdGUuc3FsICAgIHwgICAxMSArKw0KLSB1dGlscy9r YW1jdGwvc3FsaXRlL2RvbWFpbi1jcmVhdGUuc3FsICAgICAgICB8ICAgIDggKysNCi0gdXRpbHMv a2FtY3RsL3NxbGl0ZS9kb21haW5wb2xpY3ktY3JlYXRlLnNxbCAgfCAgIDEzICsrDQotIHV0aWxz L2thbWN0bC9zcWxpdGUvZHJvdXRpbmctY3JlYXRlLnNxbCAgICAgIHwgICAzOSArKysrKysrDQot IHV0aWxzL2thbWN0bC9zcWxpdGUvZ3JvdXAtY3JlYXRlLnNxbCAgICAgICAgIHwgICAxOSArKysN Ci0gdXRpbHMva2FtY3RsL3NxbGl0ZS9odGFibGUtY3JlYXRlLnNxbCAgICAgICAgfCAgICA5ICsr DQotIHV0aWxzL2thbWN0bC9zcWxpdGUvaW1jLWNyZWF0ZS5zcWwgICAgICAgICAgIHwgICAxOSAr KysNCi0gdXRpbHMva2FtY3RsL3NxbGl0ZS9sY3ItY3JlYXRlLnNxbCAgICAgICAgICAgfCAgIDQz ICsrKysrKysNCi0gdXRpbHMva2FtY3RsL3NxbGl0ZS9tYXRyaXgtY3JlYXRlLnNxbCAgICAgICAg fCAgICA5ICsrDQotIHV0aWxzL2thbWN0bC9zcWxpdGUvbXNpbG8tY3JlYXRlLnNxbCAgICAgICAg IHwgICAxNiArKysNCi0gdXRpbHMva2FtY3RsL3NxbGl0ZS9tdHJlZS1jcmVhdGUuc3FsICAgICAg ICAgfCAgICA4ICsrDQotIHV0aWxzL2thbWN0bC9zcWxpdGUvcGR0LWNyZWF0ZS5zcWwgICAgICAg ICAgIHwgICAgOSArKw0KLSB1dGlscy9rYW1jdGwvc3FsaXRlL3Blcm1pc3Npb25zLWNyZWF0ZS5z cWwgICB8ICAgMjEgKysrKw0KLSB1dGlscy9rYW1jdGwvc3FsaXRlL3ByZXNlbmNlLWNyZWF0ZS5z cWwgICAgICB8ICAgOTIgKysrKysrKysrKysrKysrKw0KLSB1dGlscy9rYW1jdGwvc3FsaXRlL3B1 cnBsZS1jcmVhdGUuc3FsICAgICAgICB8ICAgIDkgKysNCi0gdXRpbHMva2FtY3RsL3NxbGl0ZS9y ZWdpc3RyYXItY3JlYXRlLnNxbCAgICAgfCAgIDIyICsrKysNCi0gdXRpbHMva2FtY3RsL3NxbGl0 ZS9ybHMtY3JlYXRlLnNxbCAgICAgICAgICAgfCAgIDQyICsrKysrKysNCi0gdXRpbHMva2FtY3Rs L3NxbGl0ZS9zaXB0cmFjZS1jcmVhdGUuc3FsICAgICAgfCAgIDIwICsrKysNCi0gdXRpbHMva2Ft Y3RsL3NxbGl0ZS9zcGVlZGRpYWwtY3JlYXRlLnNxbCAgICAgfCAgIDE0ICsrKw0KLSB1dGlscy9r YW1jdGwvc3FsaXRlL3N0YW5kYXJkLWNyZWF0ZS5zcWwgICAgICB8ICAgIDUgKw0KLSB1dGlscy9r YW1jdGwvc3FsaXRlL3VhYy1jcmVhdGUuc3FsICAgICAgICAgICB8ICAgMTYgKysrDQotIHV0aWxz L2thbWN0bC9zcWxpdGUvdXJpX2RiLWNyZWF0ZS5zcWwgICAgICAgIHwgICAxMCArKw0KLSB1dGls cy9rYW1jdGwvc3FsaXRlL3VzZXJibGFja2xpc3QtY3JlYXRlLnNxbCB8ICAgMjEgKysrKw0KLSB1 dGlscy9rYW1jdGwvc3FsaXRlL3VzcmxvYy1jcmVhdGUuc3FsICAgICAgICB8ICAgMjIgKysrKw0K LSAzNyBmaWxlcyBjaGFuZ2VkLCA4ODcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IHV0aWxzL2thbWN0bC9rYW1jdGwuc3FsaXRlDQotIGNyZWF0ZSBt b2RlIDEwMDY0NCB1dGlscy9rYW1jdGwva2FtZGJjdGwuc3FsaXRlDQotIGNyZWF0ZSBtb2RlIDEw MDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL2FjYy1jcmVhdGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEw MDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL2FsaWFzX2RiLWNyZWF0ZS5zcWwNCi0gY3JlYXRlIG1v ZGUgMTAwNjQ0IHV0aWxzL2thbWN0bC9zcWxpdGUvYXV0aF9kYi1jcmVhdGUuc3FsDQotIGNyZWF0 ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL2F2cG9wcy1jcmVhdGUuc3FsDQotIGNy ZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL2NhcnJpZXJyb3V0ZS1jcmVhdGUu c3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL2NwbC1jcmVhdGUu c3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL2RpYWxvZy1jcmVh dGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL2RpYWxwbGFu LWNyZWF0ZS5zcWwNCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHV0aWxzL2thbWN0bC9zcWxpdGUvZGlz cGF0Y2hlci1jcmVhdGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3Fs aXRlL2RvbWFpbi1jcmVhdGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwv c3FsaXRlL2RvbWFpbnBvbGljeS1jcmVhdGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGls cy9rYW1jdGwvc3FsaXRlL2Ryb3V0aW5nLWNyZWF0ZS5zcWwNCi0gY3JlYXRlIG1vZGUgMTAwNjQ0 IHV0aWxzL2thbWN0bC9zcWxpdGUvZ3JvdXAtY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9kZSAxMDA2 NDQgdXRpbHMva2FtY3RsL3NxbGl0ZS9odGFibGUtY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9kZSAx MDA2NDQgdXRpbHMva2FtY3RsL3NxbGl0ZS9pbWMtY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9kZSAx MDA2NDQgdXRpbHMva2FtY3RsL3NxbGl0ZS9sY3ItY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9kZSAx MDA2NDQgdXRpbHMva2FtY3RsL3NxbGl0ZS9tYXRyaXgtY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9k ZSAxMDA2NDQgdXRpbHMva2FtY3RsL3NxbGl0ZS9tc2lsby1jcmVhdGUuc3FsDQotIGNyZWF0ZSBt b2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL210cmVlLWNyZWF0ZS5zcWwNCi0gY3JlYXRl IG1vZGUgMTAwNjQ0IHV0aWxzL2thbWN0bC9zcWxpdGUvcGR0LWNyZWF0ZS5zcWwNCi0gY3JlYXRl IG1vZGUgMTAwNjQ0IHV0aWxzL2thbWN0bC9zcWxpdGUvcGVybWlzc2lvbnMtY3JlYXRlLnNxbA0K LSBjcmVhdGUgbW9kZSAxMDA2NDQgdXRpbHMva2FtY3RsL3NxbGl0ZS9wcmVzZW5jZS1jcmVhdGUu c3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL3B1cnBsZS1jcmVh dGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL3JlZ2lzdHJh ci1jcmVhdGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL3Js cy1jcmVhdGUuc3FsDQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlscy9rYW1jdGwvc3FsaXRlL3Np cHRyYWNlLWNyZWF0ZS5zcWwNCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHV0aWxzL2thbWN0bC9zcWxp dGUvc3BlZWRkaWFsLWNyZWF0ZS5zcWwNCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHV0aWxzL2thbWN0 bC9zcWxpdGUvc3RhbmRhcmQtY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9kZSAxMDA2NDQgdXRpbHMv a2FtY3RsL3NxbGl0ZS91YWMtY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9kZSAxMDA2NDQgdXRpbHMv a2FtY3RsL3NxbGl0ZS91cmlfZGItY3JlYXRlLnNxbA0KLSBjcmVhdGUgbW9kZSAxMDA2NDQgdXRp bHMva2FtY3RsL3NxbGl0ZS91c2VyYmxhY2tsaXN0LWNyZWF0ZS5zcWwNCi0gY3JlYXRlIG1vZGUg MTAwNjQ0IHV0aWxzL2thbWN0bC9zcWxpdGUvdXNybG9jLWNyZWF0ZS5zcWwNCi0NCi1kaWZmIC0t Z2l0IGEvdXRpbHMva2FtY3RsL2thbWN0bCBiL3V0aWxzL2thbWN0bC9rYW1jdGwNCi1pbmRleCAy ZWM1NTBhLi5jNTQ4ODQ5IDEwMDc1NQ0KLS0tLSBhL3V0aWxzL2thbWN0bC9rYW1jdGwNCi0rKysg Yi91dGlscy9rYW1jdGwva2FtY3RsDQotQEAgLTEyNCw2ICsxMjQsMTIgQEAgY2FzZSAkREJFTkdJ TkUgaW4NCi0gCQkJREJFTkdJTkVMT0FERUQ9MQ0KLSAJCWZpDQotIAkJOzsNCi0rCVNRTElURXxz cWxpdGUpDQotKwkJaWYgWyAtZiAiJE1ZTElCRElSL2thbWN0bC5zcWxpdGUiIF07IHRoZW4NCi0r CQkJLiAiJE1ZTElCRElSL2thbWN0bC5zcWxpdGUiDQotKwkJCURCRU5HSU5FTE9BREVEPTENCi0r CQlmaQ0KLSsJCTs7DQotIA0KLSBlc2FjDQotIA0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwv a2FtY3RsLnNxbGl0ZSBiL3V0aWxzL2thbWN0bC9rYW1jdGwuc3FsaXRlDQotbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAwLi44YzNlYjIxDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBi L3V0aWxzL2thbWN0bC9rYW1jdGwuc3FsaXRlDQotQEAgLTAsMCArMSw1MSBAQA0KLSsjDQotKyMg JElkJA0KLSsjDQotKyMgY29udHJvbCB0b29sIGZvciBtYWludGFpbmluZyBLYW1haWxpbw0KLSsj DQotKyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQotKw0KLSsjIyMjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMjIw0KLSsjIyMgU1FMSVRFIHNwZWNpZmljIHZhcmlhYmxl cyBhbmQgZnVuY3Rpb25zDQotKyMNCi0rDQotKyMjIyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjIyMjDQotKyMjIyBsb2FkIFNRTCBiYXNlDQotKyMN Ci0raWYgWyAtZiAiJE1ZTElCRElSL2thbWN0bC5zcWxiYXNlIiBdOyB0aGVuDQotKwkuICIkTVlM SUJESVIva2FtY3RsLnNxbGJhc2UiDQotK2Vsc2UNCi0rCWVjaG8gIkNhbm5vdCBsb2FkIFNRTCBj b3JlIGZ1bmN0aW9ucyAnJE1ZTElCRElSL2thbWN0bC5zcWxiYXNlJyAtIGV4aXRpbmcgLi4uIg0K LSsJZXhpdCAtMQ0KLStmaQ0KLSsNCi0rREJOQU1FPSREQl9QQVRIDQotKw0KLSsjIyMjIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMjIw0KLSsjIyMg YmluYXJpZXMNCi0raWYgWyAteiAiJFNRTElURSIgXSA7IHRoZW4NCi0rCWxvY2F0ZV90b29sIHNx bGl0ZTMNCi0rCWlmIFsgLXogIiRUT09MUEFUSCIgXSA7IHRoZW4NCi0rCQllY2hvICJlcnJvcjog J3NxbGl0ZTMnIHRvb2wgbm90IGZvdW5kOiBzZXQgU1FMSVRFIHZhcmlhYmxlIHRvIGNvcnJlY3Qg dG9vbCBwYXRoIg0KLSsJCWV4aXQNCi0rCWZpDQotKwlTUUxJVEU9IiRUT09MUEFUSCINCi0rZmkN Ci0rDQotKw0KLSsjIGlucHV0OiBzcWwgcXVlcnksIG9wdGlvbmFsIHNxbGl0ZTMgY29tbWFuZC1s aW5lIHBhcmFtcw0KLStzcWxpdGVfcXVlcnkoKSB7DQotKwkjIGlmIHBhc3N3b3JkIG5vdCB5ZXQg cXVlcmllZCwgcXVlcnkgaXQgbm93DQotKwltZWNobyAic3FsaXRlX3F1ZXJ5OiAkU1FMSVRFICQy ICREQk5BTUUgJDEiDQotKwkkU1FMSVRFICQyICREQk5BTUUgIiQxIg0KLSt9DQotKw0KLSsjIGlu cHV0OiBzcWwgcXVlcnksIG9wdGlvbmFsIHNxbGl0ZTMgY29tbWFuZC1saW5lIHBhcmFtcw0KLStz cWxpdGVfcm9fcXVlcnkoKSB7DQotKwlzcWxpdGVfcXVlcnkgIiRAIg0KLSt9DQotKw0KLStEQkNN RD1zcWxpdGVfcXVlcnkNCi0rREJST0NNRD1zcWxpdGVfcm9fcXVlcnkNCi0rREJSQVdQQVJBTVM9 DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwva2FtY3RscmMgYi91dGlscy9rYW1jdGwv a2FtY3RscmMNCi1pbmRleCA1ZTg4OGJkLi5jZWI2ZjU0IDEwMDY0NA0KLS0tLSBhL3V0aWxzL2th bWN0bC9rYW1jdGxyYw0KLSsrKyBiL3V0aWxzL2thbWN0bC9rYW1jdGxyYw0KLUBAIC0xMiw3ICsx Miw5IEBADQotICMjIGNocm9vdGVkIGRpcmVjdG9yeQ0KLSAjICRDSFJPT1RfRElSPSIvcGF0aC90 by9jaHJvb3RlZC9kaXJlY3RvcnkiDQotIA0KLS0jIyBkYXRhYmFzZSB0eXBlOiBNWVNRTCwgUEdT UUwsIE9SQUNMRSwgREJfQkVSS0VMRVksIG9yIERCVEVYVCwgYnkgZGVmYXVsdCBub25lIGlzIGxv YWRlZA0KLSsjIyBkYXRhYmFzZSB0eXBlOiBNWVNRTCwgUEdTUUwsIE9SQUNMRSwgREJfQkVSS0VM RVksIERCVEVYVCwgb3IgU1FMSVRFDQotKyMgYnkgZGVmYXVsdCBub25lIGlzIGxvYWRlZA0KLSsj DQotICMgSWYgeW91IHdhbnQgdG8gc2V0dXAgYSBkYXRhYmFzZSB3aXRoIGthbWRiY3RsLCB5b3Ug bXVzdCBhdCBsZWFzdCBzcGVjaWZ5DQotICMgdGhpcyBwYXJhbWV0ZXIuDQotICMgREJFTkdJTkU9 TVlTUUwNCi1AQCAtMjMsNyArMjUsNyBAQA0KLSAjIyBkYXRhYmFzZSBuYW1lIChmb3IgT1JBQ0xF IHRoaXMgaXMgVE5TIG5hbWUpDQotICMgREJOQU1FPW9wZW5zZXINCi0gDQotLSMgZGF0YWJhc2Ug cGF0aCB1c2VkIGJ5IGRidGV4dCBvciBkYl9iZXJrZWxleQ0KLSsjIGRhdGFiYXNlIHBhdGggdXNl ZCBieSBkYnRleHQsIGRiX2JlcmtlbGV5IG9yIHNxbGl0ZQ0KLSAjIERCX1BBVEg9Ii91c3IvbG9j YWwvZXRjL2thbWFpbGlvL2RidGV4dCINCi0gDQotICMjIGRhdGFiYXNlIHJlYWQvd3JpdGUgdXNl cg0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwva2FtZGJjdGwgYi91dGlscy9rYW1jdGwva2Ft ZGJjdGwNCi1pbmRleCBjMDRiZWJkLi5kNjBmMTBmIDEwMDc1NQ0KLS0tLSBhL3V0aWxzL2thbWN0 bC9rYW1kYmN0bA0KLSsrKyBiL3V0aWxzL2thbWN0bC9rYW1kYmN0bA0KLUBAIC0xMDgsNiArMTA4 LDE1IEBAIGNhc2UgJERCRU5HSU5FIGluDQotIAkJCW1lcnIgImNvdWxkIG5vdCBsb2FkIHRoZSBz Y3JpcHQgaW4gJE1ZTElCRElSL2thbWRiY3RsLmRiX2JlcmtlbGV5IGZvciBkYXRhYmFzZSBlbmdp bmUgJERCRU5HSU5FIg0KLSAJCWZpDQotIAkJOzsNCi0rCVNRTElURXxzcWxpdGUpDQotKwkJaWYg WyAtZiAiJE1ZTElCRElSL2thbWRiY3RsLnNxbGl0ZSIgXTsgdGhlbg0KLSsJCQkuICIkTVlMSUJE SVIva2FtZGJjdGwuc3FsaXRlIg0KLSsJCQlVU0VEX0RCRU5HSU5FPSJzcWxpdGUiDQotKwkJCURC TkFNRT0kREJfUEFUSA0KLSsJCWVsc2UNCi0rCQkJbWVyciAiY291bGQgbm90IGxvYWQgdGhlIHNj cmlwdCBpbiAkTVlMSUJESVIva2FtZGJjdGwuc3FsaXRlIGZvciBkYXRhYmFzZSBlbmdpbmUgJERC RU5HSU5FIg0KLSsJCWZpDQotKwkJOzsNCi0gZXNhYw0KLSANCi0gaWYgWyAteiAiJFVTRURfREJF TkdJTkUiIF0gOyB0aGVuDQotQEAgLTE5NCw2ICsyMDMsMTAgQEAgY2FzZSAkMSBpbg0KLSAJCQl1 c2FnZQ0KLSAJCQlleGl0IDENCi0gCQlmaQ0KLSsJCWlmIFsgIiRVU0VEX0RCRU5HSU5FIiA9ICJz cWxpdGUiIF07IHRoZW4NCi0rCQkJY3AgJERCX1BBVEggJDENCi0rCQkJZXhpdCAkPw0KLSsJCWZp DQotIAkJdG1wX2ZpbGU9YG1rdGVtcCAvdG1wL2thbWRiY3RsLlhYWFhYWFhYWFhgIHx8IGV4aXQg MQ0KLSAJCW9wZW5zZXJfZHVtcCAkREJOQU1FICR0bXBfZmlsZQ0KLSAJCXJldD0kPw0KLWRpZmYg LS1naXQgYS91dGlscy9rYW1jdGwva2FtZGJjdGwuc3FsaXRlIGIvdXRpbHMva2FtY3RsL2thbWRi Y3RsLnNxbGl0ZQ0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAwMC4uZWNiNTFh YQ0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwva2FtZGJjdGwuc3FsaXRlDQot QEAgLTAsMCArMSwxNTIgQEANCi0rIyAkSWQkDQotKyMNCi0rIyBTY3JpcHQgZm9yIGFkZGluZyBh bmQgZHJvcHBpbmcgS2FtYWlsaW8gc3FsaXRlIHRhYmxlcw0KLSsjDQotKw0KLSsjIHBhdGggdG8g dGhlIGRhdGFiYXNlIHNjaGVtYXMNCi0rREFUQV9ESVI9Ii91c3IvbG9jYWwvc2hhcmUva2FtYWls aW8iDQotK2lmIFsgLWQgIiREQVRBX0RJUi9zcWxpdGUiIF0gOyB0aGVuDQotKwlEQl9TQ0hFTUE9 IiREQVRBX0RJUi9zcWxpdGUiDQotK2Vsc2UNCi0rCURCX1NDSEVNQT0iLi9zcWxpdGUiDQotK2Zp DQotKw0KLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIw0KLSsjIGNvbmZpZyB2YXJzDQotKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotKw0KLStDTUQ9 InNxbGl0ZTMiDQotK0RVTVBfQ01EPSJzcWxfZHVtcCINCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi0rDQotK3NxbF9k dW1wKCkNCi0rew0KLSsJJENNRCAkezE6LSREQl9QQVRIfSAuZHVtcA0KLSt9DQotKw0KLSsjIGV4 ZWN1dGUgc3FsIGNvbW1hbmQgd2l0aCBvcHRpb25hbCBkYiBuYW1lDQotK3NxbF9xdWVyeSgpDQot K3sNCi0rCSRDTUQgIiRAIg0KLSt9DQotKw0KLSsNCi0rb3BlbnNlcl9kcm9wKCkgICMgcGFyczog PGRhdGFiYXNlIG5hbWU+DQotK3sNCi0raWYgWyAkIyAtbmUgMSBdIDsgdGhlbg0KLSsJbWVyciAi b3BlbnNlcl9kcm9wIGZ1bmN0aW9uIHRha2VzIG9uZSBwYXJhbSINCi0rCWV4aXQgMQ0KLStmaQ0K LSsNCi0raWYgISBybSAkMTsgdGhlbg0KLSsJbWVyciAiRHJvcHBpbmcgZGF0YWJhc2UgJDEgZmFp bGVkISINCi0rCWV4aXQgMQ0KLStmaQ0KLSsNCi0rbWluZm8gIkRhdGFiYXNlICQxIGRyb3BwZWQi DQotK30gI29wZW5zZXJfZHJvcA0KLSsNCi0rDQotK29wZW5zZXJfY3JlYXRlICgpICMgcGFyczog PGRhdGFiYXNlIG5hbWU+DQotK3sNCi0raWYgWyAkIyAtbmUgMSBdIDsgdGhlbg0KLSsJbWVyciAi b3BlbnNlcl9jcmVhdGUgZnVuY3Rpb24gdGFrZXMgb25lIHBhcmFtIg0KLSsJZXhpdCAxDQotK2Zp DQotKw0KLSttaW5mbyAiY3JlYXRpbmcgZGF0YWJhc2UgJDEgLi4uIg0KLSsNCi0raWYgWyAkPyAt bmUgMCBdIDsgdGhlbg0KLSsJbWVyciAiQ3JlYXRpbmcgZGF0YWJhc2UgZmFpbGVkISINCi0rCWV4 aXQgMQ0KLStmaQ0KLSsNCi0rI3NxbF9xdWVyeSAiJDEiICJDUkVBVEUgRlVOQ1RJT04gImNvbmNh dCIgKHRleHQsdGV4dCkgUkVUVVJOUyB0ZXh0IEFTICdTRUxFQ1QgXCQxIHx8IFwkMjsnIExBTkdV QUdFICdzcWwnOw0KLSsjCSAgICAgICAgQ1JFQVRFIEZVTkNUSU9OICJyYW5kIiAoKSBSRVRVUk5T IGRvdWJsZSBwcmVjaXNpb24gQVMgJ1NFTEVDVCByYW5kb20oKTsnIExBTkdVQUdFICdzcWwnOyIN Ci0rIyBlbXVsYXRlIG15c3FsIHByb3ByaWV0YXJ5IGZ1bmN0aW9ucyB1c2VkIGJ5IHRoZSBsY3Ig bW9kdWxlIGluIHBvc3RncmVzcWwNCi0rDQotKyNpZiBbICQ/IC1uZSAwIF0gOyB0aGVuDQotKyMJ bWVyciAiQ3JlYXRpbmcgbXlzcWwgZW11bGF0aW9uIGZ1bmN0aW9ucyBmYWlsZWQhIg0KLSsjCWV4 aXQgMQ0KLSsjZmkNCi0rDQotK2ZvciBUQUJMRSBpbiAkU1RBTkRBUkRfTU9EVUxFUzsgZG8NCi0r ICAgIG1kYmcgIkNyZWF0aW5nIGNvcmUgdGFibGU6ICRUQUJMRSINCi0rICAgIHNxbF9xdWVyeSAi JDEiIDwgJERCX1NDSEVNQS8kVEFCTEUtY3JlYXRlLnNxbA0KLSsgICAgaWYgWyAkPyAtbmUgMCBd IDsgdGhlbg0KLSsJbWVyciAiQ3JlYXRpbmcgY29yZSB0YWJsZXMgZmFpbGVkISINCi0rCWV4aXQg MQ0KLSsgICAgZmkNCi0rZG9uZQ0KLSsNCi0raWYgWyAtZSAkREJfU0NIRU1BL2V4dGVuc2lvbnMt Y3JlYXRlLnNxbCBdDQotK3RoZW4NCi0rCW1pbmZvICJDcmVhdGluZyBjdXN0b20gZXh0ZW5zaW9u cyB0YWJsZXMiDQotKwlzcWxfcXVlcnkgJDEgPCAkREJfU0NIRU1BL2V4dGVuc2lvbnMtY3JlYXRl LnNxbA0KLSsJaWYgWyAkPyAtbmUgMCBdIDsgdGhlbg0KLSsJbWVyciAiQ3JlYXRpbmcgY3VzdG9t IGV4dGVuc2lvbnMgdGFibGVzIGZhaWxlZCEiDQotKwlleGl0IDENCi0rCWZpDQotK2ZpDQotKw0K LSttaW5mbyAiQ29yZSBLYW1haWxpbyB0YWJsZXMgc3VjY2VzZnVsbHkgY3JlYXRlZC4iDQotKw0K LStnZXRfYW5zd2VyICRJTlNUQUxMX1BSRVNFTkNFX1RBQkxFUyAiSW5zdGFsbCBwcmVzZW5jZSBy ZWxhdGVkIHRhYmxlcz8gKHkvbik6ICINCi0raWYgWyAiJEFOU1dFUiIgPSAieSIgXTsgdGhlbg0K LSsJcHJlc2VuY2VfY3JlYXRlICQxDQotK2ZpDQotKw0KLStnZXRfYW5zd2VyICRJTlNUQUxMX0VY VFJBX1RBQkxFUyAiSW5zdGFsbCB0YWJsZXMgZm9yICRFWFRSQV9NT0RVTEVTPyAoeS9uKTogIg0K LStpZiBbICIkQU5TV0VSIiA9ICJ5IiBdOyB0aGVuDQotKwlleHRyYV9jcmVhdGUgJDENCi0rZmkN Ci0rfSAjIG9wZW5zZXJfY3JlYXRlDQotKw0KLSsNCi0rcHJlc2VuY2VfY3JlYXRlICgpICMgcGFy czogPGRhdGFiYXNlIG5hbWU+DQotK3sNCi0raWYgWyAkIyAtbmUgMSBdIDsgdGhlbg0KLSsJbWVy ciAicHJlc2VuY2VfY3JlYXRlIGZ1bmN0aW9uIHRha2VzIG9uZSBwYXJhbSINCi0rCWV4aXQgMQ0K LStmaQ0KLSsNCi0rbWluZm8gImNyZWF0aW5nIHByZXNlbmNlIHRhYmxlcyBpbnRvICQxIC4uLiIN Ci0rDQotK3NxbF9xdWVyeSAiJDEiIDwgJERCX1NDSEVNQS9wcmVzZW5jZS1jcmVhdGUuc3FsDQot Kw0KLStpZiBbICQ/IC1uZSAwIF0gOyB0aGVuDQotKwltZXJyICJGYWlsZWQgdG8gY3JlYXRlIHBy ZXNlbmNlIHRhYmxlcyEiDQotKwlleGl0IDENCi0rZmkNCi0rDQotK3NxbF9xdWVyeSAiJDEiIDwg JERCX1NDSEVNQS9ybHMtY3JlYXRlLnNxbA0KLSsNCi0raWYgWyAkPyAtbmUgMCBdIDsgdGhlbg0K LSsJbWVyciAiRmFpbGVkIHRvIGNyZWF0ZSBybHMtcHJlc2VuY2UgdGFibGVzISINCi0rCWV4aXQg MQ0KLStmaQ0KLSsNCi0rbWluZm8gIlByZXNlbmNlIHRhYmxlcyBzdWNjZXNmdWxseSBjcmVhdGVk LiINCi0rfSAgIyBlbmQgcHJlc2VuY2VfY3JlYXRlDQotKw0KLSsNCi0rZXh0cmFfY3JlYXRlICgp ICMgcGFyczogPGRhdGFiYXNlIG5hbWU+DQotK3sNCi0raWYgWyAkIyAtbmUgMSBdIDsgdGhlbg0K LSsJbWVyciAiZXh0cmFfY3JlYXRlIGZ1bmN0aW9uIHRha2VzIG9uZSBwYXJhbSINCi0rCWV4aXQg MQ0KLStmaQ0KLSsNCi0rbWluZm8gImNyZWF0aW5nIGV4dHJhIHRhYmxlcyBpbnRvICQxIC4uLiIN Ci0rDQotK2ZvciBUQUJMRSBpbiAkRVhUUkFfTU9EVUxFUzsgZG8NCi0rICAgIG1kYmcgIkNyZWF0 aW5nIGV4dHJhIHRhYmxlOiAkVEFCTEUiDQotKyAgICBzcWxfcXVlcnkgIiQxIiA8ICREQl9TQ0hF TUEvJFRBQkxFLWNyZWF0ZS5zcWwNCi0rICAgIGlmIFsgJD8gLW5lIDAgXSA7IHRoZW4NCi0rCW1l cnIgIkNyZWF0aW5nIGV4dHJhIHRhYmxlcyBmYWlsZWQhIg0KLSsJZXhpdCAxDQotKyAgICBmaQ0K LStkb25lDQotKw0KLSttaW5mbyAiRXh0cmEgdGFibGVzIHN1Y2Nlc2Z1bGx5IGNyZWF0ZWQuIg0K LSt9ICAjIGVuZCBleHRyYV9jcmVhdGUNCi1kaWZmIC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0 ZS9hY2MtY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvYWNjLWNyZWF0ZS5zcWwNCi1u ZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLjRkMjMzNjMNCi0tLS0gL2Rldi9u dWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9hY2MtY3JlYXRlLnNxbA0KLUBAIC0wLDAg KzEsMjggQEANCi0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lv bikgdmFsdWVzICgnYWNjJywnNCcpOw0KLStDUkVBVEUgVEFCTEUgYWNjICgNCi0rICAgIGlkIElO VEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBtZXRob2QgVkFSQ0hBUigxNikgREVG QVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGZyb21fdGFnIFZBUkNIQVIoNjQpIERFRkFVTFQgJycg Tk9UIE5VTEwsDQotKyAgICB0b190YWcgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwN Ci0rICAgIGNhbGxpZCBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgc2lw X2NvZGUgVkFSQ0hBUigzKSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgc2lwX3JlYXNvbiBW QVJDSEFSKDMyKSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgdGltZSBUSU1FU1RBTVAgV0lU SE9VVCBUSU1FIFpPTkUgTk9UIE5VTEwNCi0rKTsNCi0rDQotK0NSRUFURSBJTkRFWCBhY2NfY2Fs bGlkX2lkeCBPTiBhY2MgKGNhbGxpZCk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJs ZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdtaXNzZWRfY2FsbHMnLCczJyk7DQotK0NS RUFURSBUQUJMRSBtaXNzZWRfY2FsbHMgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBO T1QgTlVMTCwNCi0rICAgIG1ldGhvZCBWQVJDSEFSKDE2KSBERUZBVUxUICcnIE5PVCBOVUxMLA0K LSsgICAgZnJvbV90YWcgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIHRv X3RhZyBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgY2FsbGlkIFZBUkNI QVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBzaXBfY29kZSBWQVJDSEFSKDMpIERF RkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBzaXBfcmVhc29uIFZBUkNIQVIoMzIpIERFRkFVTFQg JycgTk9UIE5VTEwsDQotKyAgICB0aW1lIFRJTUVTVEFNUCBXSVRIT1VUIFRJTUUgWk9ORSBOT1Qg TlVMTA0KLSspOw0KLSsNCi0rQ1JFQVRFIElOREVYIG1pc3NlZF9jYWxsc19jYWxsaWRfaWR4IE9O IG1pc3NlZF9jYWxscyAoY2FsbGlkKTsNCi0rDQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9z cWxpdGUvYWxpYXNfZGItY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvYWxpYXNfZGIt Y3JlYXRlLnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAwMC4uOTA2NTZl OQ0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwvc3FsaXRlL2FsaWFzX2RiLWNy ZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDEyIEBADQotK0lOU0VSVCBJTlRPIHZlcnNpb24gKHRhYmxl X25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ2RiYWxpYXNlcycsJzEnKTsNCi0rQ1JFQVRF IFRBQkxFIGRiYWxpYXNlcyAoDQotKyAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5PVCBOVUxM LA0KLSsgICAgYWxpYXNfdXNlcm5hbWUgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwN Ci0rICAgIGFsaWFzX2RvbWFpbiBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsg ICAgdXNlcm5hbWUgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGRvbWFp biBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgQ09OU1RSQUlOVCBkYmFs aWFzZXNfYWxpYXNfaWR4IFVOSVFVRSAoYWxpYXNfdXNlcm5hbWUsIGFsaWFzX2RvbWFpbikNCi0r KTsNCi0rDQotK0NSRUFURSBJTkRFWCBkYmFsaWFzZXNfdGFyZ2V0X2lkeCBPTiBkYmFsaWFzZXMg KHVzZXJuYW1lLCBkb21haW4pOw0KLSsNCi1kaWZmIC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0 ZS9hdXRoX2RiLWNyZWF0ZS5zcWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL2F1dGhfZGItY3JlYXRl LnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAwMC4uN2Q2ZDFmOA0KLS0t LSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwvc3FsaXRlL2F1dGhfZGItY3JlYXRlLnNx bA0KLUBAIC0wLDAgKzEsMTUgQEANCi0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwg dGFibGVfdmVyc2lvbikgdmFsdWVzICgnc3Vic2NyaWJlcicsJzYnKTsNCi0rQ1JFQVRFIFRBQkxF IHN1YnNjcmliZXIgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0r ICAgIHVzZXJuYW1lIFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBkb21h aW4gVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIHBhc3N3b3JkIFZBUkNI QVIoMjUpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBlbWFpbF9hZGRyZXNzIFZBUkNIQVIo NjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBoYTEgVkFSQ0hBUig2NCkgREVGQVVMVCAn JyBOT1QgTlVMTCwNCi0rICAgIGhhMWIgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwN Ci0rICAgIHJwaWQgVkFSQ0hBUig2NCkgREVGQVVMVCBOVUxMLA0KLSsgICAgQ09OU1RSQUlOVCBz dWJzY3JpYmVyX2FjY291bnRfaWR4IFVOSVFVRSAodXNlcm5hbWUsIGRvbWFpbikNCi0rKTsNCi0r DQotK0NSRUFURSBJTkRFWCBzdWJzY3JpYmVyX3VzZXJuYW1lX2lkeCBPTiBzdWJzY3JpYmVyICh1 c2VybmFtZSk7DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwvc3FsaXRlL2F2cG9wcy1j cmVhdGUuc3FsIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9hdnBvcHMtY3JlYXRlLnNxbA0KLW5ldyBm aWxlIG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAwMC4uMDA3ZWNiNQ0KLS0tLSAvZGV2L251bGwN Ci0rKysgYi91dGlscy9rYW1jdGwvc3FsaXRlL2F2cG9wcy1jcmVhdGUuc3FsDQotQEAgLTAsMCAr MSwxNSBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9u KSB2YWx1ZXMgKCd1c3JfcHJlZmVyZW5jZXMnLCcyJyk7DQotK0NSRUFURSBUQUJMRSB1c3JfcHJl ZmVyZW5jZXMgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAg IHV1aWQgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIHVzZXJuYW1lIFZB UkNIQVIoMTI4KSBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICBkb21haW4gVkFSQ0hBUig2NCkg REVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGF0dHJpYnV0ZSBWQVJDSEFSKDMyKSBERUZBVUxU ICcnIE5PVCBOVUxMLA0KLSsgICAgdHlwZSBJTlRFR0VSIERFRkFVTFQgMCBOT1QgTlVMTCwNCi0r ICAgIHZhbHVlIFZBUkNIQVIoMTI4KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgbGFzdF9t b2RpZmllZCBUSU1FU1RBTVAgV0lUSE9VVCBUSU1FIFpPTkUgREVGQVVMVCAnMTkwMC0wMS0wMSAw MDowMDowMScgTk9UIE5VTEwNCi0rKTsNCi0rDQotK0NSRUFURSBJTkRFWCB1c3JfcHJlZmVyZW5j ZXNfdWFfaWR4IE9OIHVzcl9wcmVmZXJlbmNlcyAodXVpZCwgYXR0cmlidXRlKTsNCi0rQ1JFQVRF IElOREVYIHVzcl9wcmVmZXJlbmNlc191ZGFfaWR4IE9OIHVzcl9wcmVmZXJlbmNlcyAodXNlcm5h bWUsIGRvbWFpbiwgYXR0cmlidXRlKTsNCi0rDQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9z cWxpdGUvY2FycmllcnJvdXRlLWNyZWF0ZS5zcWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL2NhcnJp ZXJyb3V0ZS1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAw Li5iYWFmYmVlDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0aWxzL2thbWN0bC9zcWxpdGUvY2Fy cmllcnJvdXRlLWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDQyIEBADQotK0lOU0VSVCBJTlRPIHZl cnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ2NhcnJpZXJyb3V0ZScs JzMnKTsNCi0rQ1JFQVRFIFRBQkxFIGNhcnJpZXJyb3V0ZSAoDQotKyAgICBpZCBJTlRFR0VSIFBS SU1BUlkgS0VZIE5PVCBOVUxMLA0KLSsgICAgY2FycmllciBJTlRFR0VSIERFRkFVTFQgMCBOT1Qg TlVMTCwNCi0rICAgIGRvbWFpbiBJTlRFR0VSIERFRkFVTFQgMCBOT1QgTlVMTCwNCi0rICAgIHNj YW5fcHJlZml4IFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBmbGFncyBJ TlRFR0VSIERFRkFVTFQgMCBOT1QgTlVMTCwNCi0rICAgIG1hc2sgSU5URUdFUiBERUZBVUxUIDAg Tk9UIE5VTEwsDQotKyAgICBwcm9iIFJFQUwgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAgc3Ry aXAgSU5URUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICByZXdyaXRlX2hvc3QgVkFSQ0hB UigxMjgpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICByZXdyaXRlX3ByZWZpeCBWQVJDSEFS KDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgcmV3cml0ZV9zdWZmaXggVkFSQ0hBUig2 NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGRlc2NyaXB0aW9uIFZBUkNIQVIoMjU1KSBE RUZBVUxUIE5VTEwNCi0rKTsNCi0rDQotK0lOU0VSVCBJTlRPIHZlcnNpb24gKHRhYmxlX25hbWUs IHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ2NhcnJpZXJmYWlsdXJlcm91dGUnLCcyJyk7DQotK0NS RUFURSBUQUJMRSBjYXJyaWVyZmFpbHVyZXJvdXRlICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFS WSBLRVkgTk9UIE5VTEwsDQotKyAgICBjYXJyaWVyIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxM LA0KLSsgICAgZG9tYWluIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAgc2Nhbl9w cmVmaXggVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGhvc3RfbmFtZSBW QVJDSEFSKDEyOCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIHJlcGx5X2NvZGUgVkFSQ0hB UigzKSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgZmxhZ3MgSU5URUdFUiBERUZBVUxUIDAg Tk9UIE5VTEwsDQotKyAgICBtYXNrIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAg bmV4dF9kb21haW4gSU5URUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICBkZXNjcmlwdGlv biBWQVJDSEFSKDI1NSkgREVGQVVMVCBOVUxMDQotKyk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJz aW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdjYXJyaWVyX25hbWUnLCcx Jyk7DQotK0NSRUFURSBUQUJMRSBjYXJyaWVyX25hbWUgKA0KLSsgICAgaWQgSU5URUdFUiBQUklN QVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIGNhcnJpZXIgVkFSQ0hBUig2NCkgREVGQVVMVCBOVUxM DQotKyk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJz aW9uKSB2YWx1ZXMgKCdkb21haW5fbmFtZScsJzEnKTsNCi0rQ1JFQVRFIFRBQkxFIGRvbWFpbl9u YW1lICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBkb21h aW4gVkFSQ0hBUig2NCkgREVGQVVMVCBOVUxMDQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91dGls cy9rYW1jdGwvc3FsaXRlL2NwbC1jcmVhdGUuc3FsIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9jcGwt Y3JlYXRlLnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAwMC4uOGJlZWRm NQ0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwvc3FsaXRlL2NwbC1jcmVhdGUu c3FsDQotQEAgLTAsMCArMSwxMCBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1l LCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdjcGwnLCcxJyk7DQotK0NSRUFURSBUQUJMRSBjcGwg KA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIHVzZXJuYW1l IFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgZG9tYWluIFZBUkNIQVIoNjQpIERFRkFVTFQg JycgTk9UIE5VTEwsDQotKyAgICBjcGxfeG1sIFRFWFQsDQotKyAgICBjcGxfYmluIFRFWFQsDQot KyAgICBDT05TVFJBSU5UIGNwbF9hY2NvdW50X2lkeCBVTklRVUUgKHVzZXJuYW1lLCBkb21haW4p DQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwvc3FsaXRlL2RpYWxvZy1jcmVh dGUuc3FsIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9kaWFsb2ctY3JlYXRlLnNxbA0KLW5ldyBmaWxl IG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAwMC4uYmIwODZhNQ0KLS0tLSAvZGV2L251bGwNCi0r KysgYi91dGlscy9rYW1jdGwvc3FsaXRlL2RpYWxvZy1jcmVhdGUuc3FsDQotQEAgLTAsMCArMSwy OSBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2 YWx1ZXMgKCdkaWFsb2cnLCc1Jyk7DQotK0NSRUFURSBUQUJMRSBkaWFsb2cgKA0KLSsgICAgaWQg SU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIGhhc2hfZW50cnkgSU5URUdFUiBO T1QgTlVMTCwNCi0rICAgIGhhc2hfaWQgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIGNhbGxpZCBW QVJDSEFSKDI1NSkgTk9UIE5VTEwsDQotKyAgICBmcm9tX3VyaSBWQVJDSEFSKDEyOCkgTk9UIE5V TEwsDQotKyAgICBmcm9tX3RhZyBWQVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAgIHRvX3VyaSBW QVJDSEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICB0b190YWcgVkFSQ0hBUig2NCkgTk9UIE5VTEws DQotKyAgICBjYWxsZXJfY3NlcSBWQVJDSEFSKDcpIE5PVCBOVUxMLA0KLSsgICAgY2FsbGVlX2Nz ZXEgVkFSQ0hBUig3KSBOT1QgTlVMTCwNCi0rICAgIGNhbGxlcl9yb3V0ZV9zZXQgVkFSQ0hBUig1 MTIpLA0KLSsgICAgY2FsbGVlX3JvdXRlX3NldCBWQVJDSEFSKDUxMiksDQotKyAgICBjYWxsZXJf Y29udGFjdCBWQVJDSEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICBjYWxsZWVfY29udGFjdCBWQVJD SEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICBjYWxsZXJfc29jayBWQVJDSEFSKDY0KSBOT1QgTlVM TCwNCi0rICAgIGNhbGxlZV9zb2NrIFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgc3RhdGUg SU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIHN0YXJ0X3RpbWUgSU5URUdFUiBOT1QgTlVMTCwNCi0r ICAgIHRpbWVvdXQgSU5URUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICBzZmxhZ3MgSU5U RUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICB0b3JvdXRlIElOVEVHRVIgREVGQVVMVCAw IE5PVCBOVUxMLA0KLSsgICAgdG9yb3V0ZV9uYW1lIFZBUkNIQVIoMzIpLA0KLSsgICAgcmVxX3Vy aSBWQVJDSEFSKDEyOCkgTk9UIE5VTEwNCi0rKTsNCi0rDQotK0NSRUFURSBJTkRFWCBkaWFsb2df aGFzaF9pZHggT04gZGlhbG9nIChoYXNoX2VudHJ5LCBoYXNoX2lkKTsNCi0rDQotZGlmZiAtLWdp dCBhL3V0aWxzL2thbWN0bC9zcWxpdGUvZGlhbHBsYW4tY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0 bC9zcWxpdGUvZGlhbHBsYW4tY3JlYXRlLnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5k ZXggMDAwMDAwMC4uMWE4NWU1MA0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwv c3FsaXRlL2RpYWxwbGFuLWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDEzIEBADQotK0lOU0VSVCBJ TlRPIHZlcnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ2RpYWxwbGFu JywnMScpOw0KLStDUkVBVEUgVEFCTEUgZGlhbHBsYW4gKA0KLSsgICAgaWQgSU5URUdFUiBQUklN QVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIGRwaWQgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIHBy IElOVEVHRVIgTk9UIE5VTEwsDQotKyAgICBtYXRjaF9vcCBJTlRFR0VSIE5PVCBOVUxMLA0KLSsg ICAgbWF0Y2hfZXhwIFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgbWF0Y2hfbGVuIElOVEVH RVIgTk9UIE5VTEwsDQotKyAgICBzdWJzdF9leHAgVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAg ICByZXBsX2V4cCBWQVJDSEFSKDMyKSBOT1QgTlVMTCwNCi0rICAgIGF0dHJzIFZBUkNIQVIoMzIp IE5PVCBOVUxMDQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwvc3FsaXRlL2Rp c3BhdGNoZXItY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvZGlzcGF0Y2hlci1jcmVh dGUuc3FsDQotbmV3IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAwLi5lYzM3ZmM0DQot LS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0aWxzL2thbWN0bC9zcWxpdGUvZGlzcGF0Y2hlci1jcmVh dGUuc3FsDQotQEAgLTAsMCArMSwxMSBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9u YW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdkaXNwYXRjaGVyJywnNCcpOw0KLStDUkVBVEUg VEFCTEUgZGlzcGF0Y2hlciAoDQotKyAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5PVCBOVUxM LA0KLSsgICAgc2V0aWQgSU5URUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICBkZXN0aW5h dGlvbiBWQVJDSEFSKDE5MikgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGZsYWdzIElOVEVH RVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAgcHJpb3JpdHkgSU5URUdFUiBERUZBVUxUIDAg Tk9UIE5VTEwsDQotKyAgICBhdHRycyBWQVJDSEFSKDEyOCkgREVGQVVMVCAnJyBOT1QgTlVMTCwN Ci0rICAgIGRlc2NyaXB0aW9uIFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwNCi0rKTsN Ci0rDQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9zcWxpdGUvZG9tYWluLWNyZWF0ZS5zcWwg Yi91dGlscy9rYW1jdGwvc3FsaXRlL2RvbWFpbi1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAx MDA2NDQNCi1pbmRleCAwMDAwMDAwLi4wYjFmYmU0DQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0 aWxzL2thbWN0bC9zcWxpdGUvZG9tYWluLWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDggQEANCi0r SU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVzICgn ZG9tYWluJywnMScpOw0KLStDUkVBVEUgVEFCTEUgZG9tYWluICgNCi0rICAgIGlkIElOVEVHRVIg UFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBkb21haW4gVkFSQ0hBUig2NCkgREVGQVVMVCAn JyBOT1QgTlVMTCwNCi0rICAgIGxhc3RfbW9kaWZpZWQgVElNRVNUQU1QIFdJVEhPVVQgVElNRSBa T05FIERFRkFVTFQgJzE5MDAtMDEtMDEgMDA6MDA6MDEnIE5PVCBOVUxMLA0KLSsgICAgQ09OU1RS QUlOVCBkb21haW5fZG9tYWluX2lkeCBVTklRVUUgKGRvbWFpbikNCi0rKTsNCi0rDQotZGlmZiAt LWdpdCBhL3V0aWxzL2thbWN0bC9zcWxpdGUvZG9tYWlucG9saWN5LWNyZWF0ZS5zcWwgYi91dGls cy9rYW1jdGwvc3FsaXRlL2RvbWFpbnBvbGljeS1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAx MDA2NDQNCi1pbmRleCAwMDAwMDAwLi5jN2NiMjc5DQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0 aWxzL2thbWN0bC9zcWxpdGUvZG9tYWlucG9saWN5LWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDEz IEBADQotK0lOU0VSVCBJTlRPIHZlcnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZh bHVlcyAoJ2RvbWFpbnBvbGljeScsJzInKTsNCi0rQ1JFQVRFIFRBQkxFIGRvbWFpbnBvbGljeSAo DQotKyAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5PVCBOVUxMLA0KLSsgICAgcnVsZSBWQVJD SEFSKDI1NSkgTk9UIE5VTEwsDQotKyAgICB0eXBlIFZBUkNIQVIoMjU1KSBOT1QgTlVMTCwNCi0r ICAgIGF0dCBWQVJDSEFSKDI1NSksDQotKyAgICB2YWwgVkFSQ0hBUigxMjgpLA0KLSsgICAgZGVz Y3JpcHRpb24gVkFSQ0hBUigyNTUpIE5PVCBOVUxMLA0KLSsgICAgQ09OU1RSQUlOVCBkb21haW5w b2xpY3lfcmF2X2lkeCBVTklRVUUgKHJ1bGUsIGF0dCwgdmFsKQ0KLSspOw0KLSsNCi0rQ1JFQVRF IElOREVYIGRvbWFpbnBvbGljeV9ydWxlX2lkeCBPTiBkb21haW5wb2xpY3kgKHJ1bGUpOw0KLSsN Ci1kaWZmIC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0ZS9kcm91dGluZy1jcmVhdGUuc3FsIGIv dXRpbHMva2FtY3RsL3NxbGl0ZS9kcm91dGluZy1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAx MDA2NDQNCi1pbmRleCAwMDAwMDAwLi45Yzk2MmZhDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0 aWxzL2thbWN0bC9zcWxpdGUvZHJvdXRpbmctY3JlYXRlLnNxbA0KLUBAIC0wLDAgKzEsMzkgQEAN Ci0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVz ICgnZHJfZ2F0ZXdheXMnLCczJyk7DQotK0NSRUFURSBUQUJMRSBkcl9nYXRld2F5cyAoDQotKyAg ICBnd2lkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICB0eXBlIElOVEVHRVIg REVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAgYWRkcmVzcyBWQVJDSEFSKDEyOCkgTk9UIE5VTEws DQotKyAgICBzdHJpcCBJTlRFR0VSIERFRkFVTFQgMCBOT1QgTlVMTCwNCi0rICAgIHByaV9wcmVm aXggVkFSQ0hBUig2NCkgREVGQVVMVCBOVUxMLA0KLSsgICAgYXR0cnMgVkFSQ0hBUigyNTUpIERF RkFVTFQgTlVMTCwNCi0rICAgIGRlc2NyaXB0aW9uIFZBUkNIQVIoMTI4KSBERUZBVUxUICcnIE5P VCBOVUxMDQotKyk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJs ZV92ZXJzaW9uKSB2YWx1ZXMgKCdkcl9ydWxlcycsJzMnKTsNCi0rQ1JFQVRFIFRBQkxFIGRyX3J1 bGVzICgNCi0rICAgIHJ1bGVpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5PVCBOVUxMLA0KLSsgICAg Z3JvdXBpZCBWQVJDSEFSKDI1NSkgTk9UIE5VTEwsDQotKyAgICBwcmVmaXggVkFSQ0hBUig2NCkg Tk9UIE5VTEwsDQotKyAgICB0aW1lcmVjIFZBUkNIQVIoMjU1KSBOT1QgTlVMTCwNCi0rICAgIHBy aW9yaXR5IElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAgcm91dGVpZCBWQVJDSEFS KDY0KSBOT1QgTlVMTCwNCi0rICAgIGd3bGlzdCBWQVJDSEFSKDI1NSkgTk9UIE5VTEwsDQotKyAg ICBkZXNjcmlwdGlvbiBWQVJDSEFSKDEyOCkgREVGQVVMVCAnJyBOT1QgTlVMTA0KLSspOw0KLSsN Ci0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVz ICgnZHJfZ3dfbGlzdHMnLCcxJyk7DQotK0NSRUFURSBUQUJMRSBkcl9nd19saXN0cyAoDQotKyAg ICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5PVCBOVUxMLA0KLSsgICAgZ3dsaXN0IFZBUkNIQVIo MjU1KSBOT1QgTlVMTCwNCi0rICAgIGRlc2NyaXB0aW9uIFZBUkNIQVIoMTI4KSBERUZBVUxUICcn IE5PVCBOVUxMDQotKyk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0 YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdkcl9ncm91cHMnLCcyJyk7DQotK0NSRUFURSBUQUJMRSBk cl9ncm91cHMgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAg IHVzZXJuYW1lIFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgZG9tYWluIFZBUkNIQVIoMTI4 KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgZ3JvdXBpZCBJTlRFR0VSIERFRkFVTFQgMCBO T1QgTlVMTCwNCi0rICAgIGRlc2NyaXB0aW9uIFZBUkNIQVIoMTI4KSBERUZBVUxUICcnIE5PVCBO VUxMDQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwvc3FsaXRlL2dyb3VwLWNy ZWF0ZS5zcWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL2dyb3VwLWNyZWF0ZS5zcWwNCi1uZXcgZmls ZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLmZiZDkxYzUNCi0tLS0gL2Rldi9udWxsDQot KysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9ncm91cC1jcmVhdGUuc3FsDQotQEAgLTAsMCArMSwx OSBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2 YWx1ZXMgKCdncnAnLCcyJyk7DQotK0NSRUFURSBUQUJMRSBncnAgKA0KLSsgICAgaWQgSU5URUdF UiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIHVzZXJuYW1lIFZBUkNIQVIoNjQpIERFRkFV TFQgJycgTk9UIE5VTEwsDQotKyAgICBkb21haW4gVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1Qg TlVMTCwNCi0rICAgIGdycCBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAg bGFzdF9tb2RpZmllZCBUSU1FU1RBTVAgV0lUSE9VVCBUSU1FIFpPTkUgREVGQVVMVCAnMTkwMC0w MS0wMSAwMDowMDowMScgTk9UIE5VTEwsDQotKyAgICBDT05TVFJBSU5UIGdycF9hY2NvdW50X2dy b3VwX2lkeCBVTklRVUUgKHVzZXJuYW1lLCBkb21haW4sIGdycCkNCi0rKTsNCi0rDQotK0lOU0VS VCBJTlRPIHZlcnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ3JlX2dy cCcsJzEnKTsNCi0rQ1JFQVRFIFRBQkxFIHJlX2dycCAoDQotKyAgICBpZCBJTlRFR0VSIFBSSU1B UlkgS0VZIE5PVCBOVUxMLA0KLSsgICAgcmVnX2V4cCBWQVJDSEFSKDEyOCkgREVGQVVMVCAnJyBO T1QgTlVMTCwNCi0rICAgIGdyb3VwX2lkIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMDQotKyk7 DQotKw0KLStDUkVBVEUgSU5ERVggcmVfZ3JwX2dyb3VwX2lkeCBPTiByZV9ncnAgKGdyb3VwX2lk KTsNCi0rDQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9zcWxpdGUvaHRhYmxlLWNyZWF0ZS5z cWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL2h0YWJsZS1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAwLi41OWZhNjgxDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBi L3V0aWxzL2thbWN0bC9zcWxpdGUvaHRhYmxlLWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDkgQEAN Ci0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVz ICgnaHRhYmxlJywnMScpOw0KLStDUkVBVEUgVEFCTEUgaHRhYmxlICgNCi0rICAgIGlkIElOVEVH RVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBrZXlfbmFtZSBWQVJDSEFSKDY0KSBERUZB VUxUICcnIE5PVCBOVUxMLA0KLSsgICAga2V5X3R5cGUgSU5URUdFUiBERUZBVUxUIDAgTk9UIE5V TEwsDQotKyAgICB2YWx1ZV90eXBlIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAg a2V5X3ZhbHVlIFZBUkNIQVIoMTI4KSBERUZBVUxUICcnIE5PVCBOVUxMDQotKyk7DQotKw0KLWRp ZmYgLS1naXQgYS91dGlscy9rYW1jdGwvc3FsaXRlL2ltYy1jcmVhdGUuc3FsIGIvdXRpbHMva2Ft Y3RsL3NxbGl0ZS9pbWMtY3JlYXRlLnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5kZXgg MDAwMDAwMC4uOTlkNjhjMQ0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwvc3Fs aXRlL2ltYy1jcmVhdGUuc3FsDQotQEAgLTAsMCArMSwxOSBAQA0KLStJTlNFUlQgSU5UTyB2ZXJz aW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdpbWNfcm9vbXMnLCcxJyk7 DQotK0NSRUFURSBUQUJMRSBpbWNfcm9vbXMgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtF WSBOT1QgTlVMTCwNCi0rICAgIG5hbWUgVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBkb21h aW4gVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBmbGFnIElOVEVHRVIgTk9UIE5VTEwsDQot KyAgICBDT05TVFJBSU5UIGltY19yb29tc19uYW1lX2RvbWFpbl9pZHggVU5JUVVFIChuYW1lLCBk b21haW4pDQotKyk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJs ZV92ZXJzaW9uKSB2YWx1ZXMgKCdpbWNfbWVtYmVycycsJzEnKTsNCi0rQ1JFQVRFIFRBQkxFIGlt Y19tZW1iZXJzICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAg ICB1c2VybmFtZSBWQVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAgIGRvbWFpbiBWQVJDSEFSKDY0 KSBOT1QgTlVMTCwNCi0rICAgIHJvb20gVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBmbGFn IElOVEVHRVIgTk9UIE5VTEwsDQotKyAgICBDT05TVFJBSU5UIGltY19tZW1iZXJzX2FjY291bnRf cm9vbV9pZHggVU5JUVVFICh1c2VybmFtZSwgZG9tYWluLCByb29tKQ0KLSspOw0KLSsNCi1kaWZm IC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0ZS9sY3ItY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0 bC9zcWxpdGUvbGNyLWNyZWF0ZS5zcWwNCi1uZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAw MDAwMDAuLmJmOTMxNDENCi0tLS0gL2Rldi9udWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0 ZS9sY3ItY3JlYXRlLnNxbA0KLUBAIC0wLDAgKzEsNDMgQEANCi0rSU5TRVJUIElOVE8gdmVyc2lv biAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVzICgnbGNyX2d3JywnMicpOw0KLStD UkVBVEUgVEFCTEUgbGNyX2d3ICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5V TEwsDQotKyAgICBsY3JfaWQgU01BTExJTlQgTk9UIE5VTEwsDQotKyAgICBnd19uYW1lIFZBUkNI QVIoMTI4KSwNCi0rICAgIGlwX2FkZHIgVkFSQ0hBUigxNSksDQotKyAgICBob3N0bmFtZSBWQVJD SEFSKDY0KSwNCi0rICAgIHBvcnQgU01BTExJTlQsDQotKyAgICBwYXJhbXMgVkFSQ0hBUig2NCks DQotKyAgICB1cmlfc2NoZW1lIFNNQUxMSU5ULA0KLSsgICAgdHJhbnNwb3J0IFNNQUxMSU5ULA0K LSsgICAgc3RyaXAgU01BTExJTlQsDQotKyAgICBwcmVmaXggVkFSQ0hBUigxNikgREVGQVVMVCBO VUxMLA0KLSsgICAgdGFnIFZBUkNIQVIoNjQpIERFRkFVTFQgTlVMTCwNCi0rICAgIGZsYWdzIElO VEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAgZGVmdW5jdCBJTlRFR0VSIERFRkFVTFQg TlVMTCwNCi0rICAgIENPTlNUUkFJTlQgbGNyX2d3X2xjcl9pZF9pcF9hZGRyX3BvcnRfaG9zdG5h bWVfaWR4IFVOSVFVRSAobGNyX2lkLCBpcF9hZGRyLCBwb3J0LCBob3N0bmFtZSkNCi0rKTsNCi0r DQotK0lOU0VSVCBJTlRPIHZlcnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVl cyAoJ2xjcl9ydWxlX3RhcmdldCcsJzEnKTsNCi0rQ1JFQVRFIFRBQkxFIGxjcl9ydWxlX3Rhcmdl dCAoDQotKyAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5PVCBOVUxMLA0KLSsgICAgbGNyX2lk IFNNQUxMSU5UIE5PVCBOVUxMLA0KLSsgICAgcnVsZV9pZCBJTlRFR0VSIE5PVCBOVUxMLA0KLSsg ICAgZ3dfaWQgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIHByaW9yaXR5IFNNQUxMSU5UIE5PVCBO VUxMLA0KLSsgICAgd2VpZ2h0IElOVEVHRVIgREVGQVVMVCAxIE5PVCBOVUxMLA0KLSsgICAgQ09O U1RSQUlOVCBsY3JfcnVsZV90YXJnZXRfcnVsZV9pZF9nd19pZF9pZHggVU5JUVVFIChydWxlX2lk LCBnd19pZCkNCi0rKTsNCi0rDQotK0NSRUFURSBJTkRFWCBsY3JfcnVsZV90YXJnZXRfbGNyX2lk X2lkeCBPTiBsY3JfcnVsZV90YXJnZXQgKGxjcl9pZCk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJz aW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdsY3JfcnVsZScsJzEnKTsN Ci0rQ1JFQVRFIFRBQkxFIGxjcl9ydWxlICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkg Tk9UIE5VTEwsDQotKyAgICBsY3JfaWQgU01BTExJTlQgTk9UIE5VTEwsDQotKyAgICBwcmVmaXgg VkFSQ0hBUigxNikgREVGQVVMVCBOVUxMLA0KLSsgICAgZnJvbV91cmkgVkFSQ0hBUig2NCkgREVG QVVMVCBOVUxMLA0KLSsgICAgc3RvcHBlciBJTlRFR0VSIERFRkFVTFQgMCBOT1QgTlVMTCwNCi0r ICAgIGVuYWJsZWQgSU5URUdFUiBERUZBVUxUIDEgTk9UIE5VTEwsDQotKyAgICBDT05TVFJBSU5U IGxjcl9ydWxlX2xjcl9pZF9wcmVmaXhfZnJvbV91cmlfaWR4IFVOSVFVRSAobGNyX2lkLCBwcmVm aXgsIGZyb21fdXJpKQ0KLSspOw0KLSsNCi1kaWZmIC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0 ZS9tYXRyaXgtY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvbWF0cml4LWNyZWF0ZS5z cWwNCi1uZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLjUwZjJlZDgNCi0tLS0g L2Rldi9udWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9tYXRyaXgtY3JlYXRlLnNxbA0K LUBAIC0wLDAgKzEsOSBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJs ZV92ZXJzaW9uKSB2YWx1ZXMgKCdtYXRyaXgnLCcxJyk7DQotK0NSRUFURSBUQUJMRSBtYXRyaXgg KA0KLSsgICAgZmlyc3QgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIHNlY29uZCBTTUFMTElOVCBO T1QgTlVMTCwNCi0rICAgIHJlcyBJTlRFR0VSIE5PVCBOVUxMDQotKyk7DQotKw0KLStDUkVBVEUg SU5ERVggbWF0cml4X21hdHJpeF9pZHggT04gbWF0cml4IChmaXJzdCwgc2Vjb25kKTsNCi0rDQot ZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9zcWxpdGUvbXNpbG8tY3JlYXRlLnNxbCBiL3V0aWxz L2thbWN0bC9zcWxpdGUvbXNpbG8tY3JlYXRlLnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQot aW5kZXggMDAwMDAwMC4uNzIzNDExMg0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1j dGwvc3FsaXRlL21zaWxvLWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDE2IEBADQotK0lOU0VSVCBJ TlRPIHZlcnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ3NpbG8nLCc1 Jyk7DQotK0NSRUFURSBUQUJMRSBzaWxvICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkg Tk9UIE5VTEwsDQotKyAgICBzcmNfYWRkciBWQVJDSEFSKDEyOCkgREVGQVVMVCAnJyBOT1QgTlVM TCwNCi0rICAgIGRzdF9hZGRyIFZBUkNIQVIoMTI4KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsg ICAgdXNlcm5hbWUgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGRvbWFp biBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgaW5jX3RpbWUgSU5URUdF UiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICBleHBfdGltZSBJTlRFR0VSIERFRkFVTFQgMCBO T1QgTlVMTCwNCi0rICAgIHNuZF90aW1lIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsg ICAgY3R5cGUgVkFSQ0hBUigzMikgREVGQVVMVCAndGV4dC9wbGFpbicgTk9UIE5VTEwsDQotKyAg ICBib2R5IEJZVEVBIERFRkFVTFQgJycgTk9UIE5VTEwNCi0rKTsNCi0rDQotK0NSRUFURSBJTkRF WCBzaWxvX2FjY291bnRfaWR4IE9OIHNpbG8gKHVzZXJuYW1lLCBkb21haW4pOw0KLSsNCi1kaWZm IC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0ZS9tdHJlZS1jcmVhdGUuc3FsIGIvdXRpbHMva2Ft Y3RsL3NxbGl0ZS9tdHJlZS1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRl eCAwMDAwMDAwLi45YjZmNTZmDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0aWxzL2thbWN0bC9z cWxpdGUvbXRyZWUtY3JlYXRlLnNxbA0KLUBAIC0wLDAgKzEsOCBAQA0KLStJTlNFUlQgSU5UTyB2 ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdtdHJlZScsJzEnKTsN Ci0rQ1JFQVRFIFRBQkxFIG10cmVlICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9U IE5VTEwsDQotKyAgICB0cHJlZml4IFZBUkNIQVIoMzIpIERFRkFVTFQgJycgTk9UIE5VTEwsDQot KyAgICB0dmFsdWUgVkFSQ0hBUigxMjgpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBDT05T VFJBSU5UIG10cmVlX3RwcmVmaXhfaWR4IFVOSVFVRSAodHByZWZpeCkNCi0rKTsNCi0rDQotZGlm ZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9zcWxpdGUvcGR0LWNyZWF0ZS5zcWwgYi91dGlscy9rYW1j dGwvc3FsaXRlL3BkdC1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRleCAw MDAwMDAwLi40NmI1MTdhDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0aWxzL2thbWN0bC9zcWxp dGUvcGR0LWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDkgQEANCi0rSU5TRVJUIElOVE8gdmVyc2lv biAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVzICgncGR0JywnMScpOw0KLStDUkVB VEUgVEFCTEUgcGR0ICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQot KyAgICBzZG9tYWluIFZBUkNIQVIoMTI4KSBOT1QgTlVMTCwNCi0rICAgIHByZWZpeCBWQVJDSEFS KDMyKSBOT1QgTlVMTCwNCi0rICAgIGRvbWFpbiBWQVJDSEFSKDEyOCkgREVGQVVMVCAnJyBOT1Qg TlVMTCwNCi0rICAgIENPTlNUUkFJTlQgcGR0X3Nkb21haW5fcHJlZml4X2lkeCBVTklRVUUgKHNk b21haW4sIHByZWZpeCkNCi0rKTsNCi0rDQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9zcWxp dGUvcGVybWlzc2lvbnMtY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvcGVybWlzc2lv bnMtY3JlYXRlLnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAwMC4uZmYz YWM1Ng0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwvc3FsaXRlL3Blcm1pc3Np b25zLWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsxLDIxIEBADQotK0lOU0VSVCBJTlRPIHZlcnNpb24g KHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ3RydXN0ZWQnLCc1Jyk7DQotK0NS RUFURSBUQUJMRSB0cnVzdGVkICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5V TEwsDQotKyAgICBzcmNfaXAgVkFSQ0hBUig1MCkgTk9UIE5VTEwsDQotKyAgICBwcm90byBWQVJD SEFSKDQpIE5PVCBOVUxMLA0KLSsgICAgZnJvbV9wYXR0ZXJuIFZBUkNIQVIoNjQpIERFRkFVTFQg TlVMTCwNCi0rICAgIHRhZyBWQVJDSEFSKDY0KQ0KLSspOw0KLSsNCi0rQ1JFQVRFIElOREVYIHRy dXN0ZWRfcGVlcl9pZHggT04gdHJ1c3RlZCAoc3JjX2lwKTsNCi0rDQotK0lOU0VSVCBJTlRPIHZl cnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24pIHZhbHVlcyAoJ2FkZHJlc3MnLCc0Jyk7 DQotK0NSRUFURSBUQUJMRSBhZGRyZXNzICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkg Tk9UIE5VTEwsDQotKyAgICBncnAgU01BTExJTlQgREVGQVVMVCAxIE5PVCBOVUxMLA0KLSsgICAg aXBfYWRkciBWQVJDSEFSKDE1KSBOT1QgTlVMTCwNCi0rICAgIG1hc2sgU01BTExJTlQgREVGQVVM VCAzMiBOT1QgTlVMTCwNCi0rICAgIHBvcnQgU01BTExJTlQgREVGQVVMVCAwIE5PVCBOVUxMLA0K LSsgICAgdGFnIFZBUkNIQVIoNjQpDQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1j dGwvc3FsaXRlL3ByZXNlbmNlLWNyZWF0ZS5zcWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL3ByZXNl bmNlLWNyZWF0ZS5zcWwNCi1uZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLmZl ODliMzYNCi0tLS0gL2Rldi9udWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9wcmVzZW5j ZS1jcmVhdGUuc3FsDQotQEAgLTAsMCArMSw5MiBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0 YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdwcmVzZW50aXR5JywnMycpOw0KLStD UkVBVEUgVEFCTEUgcHJlc2VudGl0eSAoDQotKyAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5P VCBOVUxMLA0KLSsgICAgdXNlcm5hbWUgVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBkb21h aW4gVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBldmVudCBWQVJDSEFSKDY0KSBOT1QgTlVM TCwNCi0rICAgIGV0YWcgVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBleHBpcmVzIElOVEVH RVIgTk9UIE5VTEwsDQotKyAgICByZWNlaXZlZF90aW1lIElOVEVHRVIgTk9UIE5VTEwsDQotKyAg ICBib2R5IEJZVEVBIE5PVCBOVUxMLA0KLSsgICAgc2VuZGVyIFZBUkNIQVIoMTI4KSBOT1QgTlVM TCwNCi0rICAgIENPTlNUUkFJTlQgcHJlc2VudGl0eV9wcmVzZW50aXR5X2lkeCBVTklRVUUgKHVz ZXJuYW1lLCBkb21haW4sIGV2ZW50LCBldGFnKQ0KLSspOw0KLSsNCi0rSU5TRVJUIElOVE8gdmVy c2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVzICgnYWN0aXZlX3dhdGNoZXJz JywnOScpOw0KLStDUkVBVEUgVEFCTEUgYWN0aXZlX3dhdGNoZXJzICgNCi0rICAgIGlkIElOVEVH RVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBwcmVzZW50aXR5X3VyaSBWQVJDSEFSKDEy OCkgTk9UIE5VTEwsDQotKyAgICB3YXRjaGVyX3VzZXJuYW1lIFZBUkNIQVIoNjQpIE5PVCBOVUxM LA0KLSsgICAgd2F0Y2hlcl9kb21haW4gVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICB0b191 c2VyIFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgdG9fZG9tYWluIFZBUkNIQVIoNjQpIE5P VCBOVUxMLA0KLSsgICAgZXZlbnQgVkFSQ0hBUig2NCkgREVGQVVMVCAncHJlc2VuY2UnIE5PVCBO VUxMLA0KLSsgICAgZXZlbnRfaWQgVkFSQ0hBUig2NCksDQotKyAgICB0b190YWcgVkFSQ0hBUig2 NCkgTk9UIE5VTEwsDQotKyAgICBmcm9tX3RhZyBWQVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAg IGNhbGxpZCBWQVJDSEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICBsb2NhbF9jc2VxIElOVEVHRVIg Tk9UIE5VTEwsDQotKyAgICByZW1vdGVfY3NlcSBJTlRFR0VSIE5PVCBOVUxMLA0KLSsgICAgY29u dGFjdCBWQVJDSEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICByZWNvcmRfcm91dGUgVEVYVCwNCi0r ICAgIGV4cGlyZXMgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIHN0YXR1cyBJTlRFR0VSIERFRkFV TFQgMiBOT1QgTlVMTCwNCi0rICAgIHJlYXNvbiBWQVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAg IHZlcnNpb24gSU5URUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICBzb2NrZXRfaW5mbyBW QVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAgIGxvY2FsX2NvbnRhY3QgVkFSQ0hBUigxMjgpIE5P VCBOVUxMLA0KLSsgICAgQ09OU1RSQUlOVCBhY3RpdmVfd2F0Y2hlcnNfYWN0aXZlX3dhdGNoZXJz X2lkeCBVTklRVUUgKHByZXNlbnRpdHlfdXJpLCBjYWxsaWQsIHRvX3RhZywgZnJvbV90YWcpDQot Kyk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9u KSB2YWx1ZXMgKCd3YXRjaGVycycsJzMnKTsNCi0rQ1JFQVRFIFRBQkxFIHdhdGNoZXJzICgNCi0r ICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBwcmVzZW50aXR5X3Vy aSBWQVJDSEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICB3YXRjaGVyX3VzZXJuYW1lIFZBUkNIQVIo NjQpIE5PVCBOVUxMLA0KLSsgICAgd2F0Y2hlcl9kb21haW4gVkFSQ0hBUig2NCkgTk9UIE5VTEws DQotKyAgICBldmVudCBWQVJDSEFSKDY0KSBERUZBVUxUICdwcmVzZW5jZScgTk9UIE5VTEwsDQot KyAgICBzdGF0dXMgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIHJlYXNvbiBWQVJDSEFSKDY0KSwN Ci0rICAgIGluc2VydGVkX3RpbWUgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIENPTlNUUkFJTlQg d2F0Y2hlcnNfd2F0Y2hlcl9pZHggVU5JUVVFIChwcmVzZW50aXR5X3VyaSwgd2F0Y2hlcl91c2Vy bmFtZSwgd2F0Y2hlcl9kb21haW4sIGV2ZW50KQ0KLSspOw0KLSsNCi0rSU5TRVJUIElOVE8gdmVy c2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVzICgneGNhcCcsJzMnKTsNCi0r Q1JFQVRFIFRBQkxFIHhjYXAgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVM TCwNCi0rICAgIHVzZXJuYW1lIFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgZG9tYWluIFZB UkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgZG9jIEJZVEVBIE5PVCBOVUxMLA0KLSsgICAgZG9j X3R5cGUgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIGV0YWcgVkFSQ0hBUig2NCkgTk9UIE5VTEws DQotKyAgICBzb3VyY2UgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIGRvY191cmkgVkFSQ0hBUigx MjgpIE5PVCBOVUxMLA0KLSsgICAgcG9ydCBJTlRFR0VSIE5PVCBOVUxMLA0KLSsgICAgQ09OU1RS QUlOVCB4Y2FwX2FjY291bnRfZG9jX3R5cGVfaWR4IFVOSVFVRSAodXNlcm5hbWUsIGRvbWFpbiwg ZG9jX3R5cGUsIGRvY191cmkpDQotKyk7DQotKw0KLStDUkVBVEUgSU5ERVggeGNhcF9zb3VyY2Vf aWR4IE9OIHhjYXAgKHNvdXJjZSk7DQotKw0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9u YW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdwdWEnLCc2Jyk7DQotK0NSRUFURSBUQUJMRSBw dWEgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIHByZXNf dXJpIFZBUkNIQVIoMTI4KSBOT1QgTlVMTCwNCi0rICAgIHByZXNfaWQgVkFSQ0hBUig2NCkgTk9U IE5VTEwsDQotKyAgICBldmVudCBJTlRFR0VSIE5PVCBOVUxMLA0KLSsgICAgZXhwaXJlcyBJTlRF R0VSIE5PVCBOVUxMLA0KLSsgICAgZGVzaXJlZF9leHBpcmVzIElOVEVHRVIgTk9UIE5VTEwsDQot KyAgICBmbGFnIElOVEVHRVIgTk9UIE5VTEwsDQotKyAgICBldGFnIFZBUkNIQVIoNjQpIE5PVCBO VUxMLA0KLSsgICAgdHVwbGVfaWQgVkFSQ0hBUig2NCksDQotKyAgICB3YXRjaGVyX3VyaSBWQVJD SEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICBjYWxsX2lkIFZBUkNIQVIoMTI4KSBOT1QgTlVMTCwN Ci0rICAgIHRvX3RhZyBWQVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAgIGZyb21fdGFnIFZBUkNI QVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgY3NlcSBJTlRFR0VSIE5PVCBOVUxMLA0KLSsgICAgcmVj b3JkX3JvdXRlIFRFWFQsDQotKyAgICBjb250YWN0IFZBUkNIQVIoMTI4KSBOT1QgTlVMTCwNCi0r ICAgIHJlbW90ZV9jb250YWN0IFZBUkNIQVIoMTI4KSBOT1QgTlVMTCwNCi0rICAgIHZlcnNpb24g SU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIGV4dHJhX2hlYWRlcnMgVEVYVCBOT1QgTlVMTA0KLSsp Ow0KLSsNCi1kaWZmIC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0ZS9wdXJwbGUtY3JlYXRlLnNx bCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvcHVycGxlLWNyZWF0ZS5zcWwNCi1uZXcgZmlsZSBtb2Rl IDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLmI1OGM1M2UNCi0tLS0gL2Rldi9udWxsDQotKysrIGIv dXRpbHMva2FtY3RsL3NxbGl0ZS9wdXJwbGUtY3JlYXRlLnNxbA0KLUBAIC0wLDAgKzEsOSBAQA0K LStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMg KCdwdXJwbGVtYXAnLCcxJyk7DQotK0NSRUFURSBUQUJMRSBwdXJwbGVtYXAgKA0KLSsgICAgaWQg SU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIHNpcF91c2VyIFZBUkNIQVIoMTI4 KSBOT1QgTlVMTCwNCi0rICAgIGV4dF91c2VyIFZBUkNIQVIoMTI4KSBOT1QgTlVMTCwNCi0rICAg IGV4dF9wcm90IFZBUkNIQVIoMTYpIE5PVCBOVUxMLA0KLSsgICAgZXh0X3Bhc3MgVkFSQ0hBUig2 NCkNCi0rKTsNCi0rDQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9zcWxpdGUvcmVnaXN0cmFy LWNyZWF0ZS5zcWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL3JlZ2lzdHJhci1jcmVhdGUuc3FsDQot bmV3IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAwLi42OGYyYWRjDQotLS0tIC9kZXYv bnVsbA0KLSsrKyBiL3V0aWxzL2thbWN0bC9zcWxpdGUvcmVnaXN0cmFyLWNyZWF0ZS5zcWwNCi1A QCAtMCwwICsxLDIyIEBADQotK0lOU0VSVCBJTlRPIHZlcnNpb24gKHRhYmxlX25hbWUsIHRhYmxl X3ZlcnNpb24pIHZhbHVlcyAoJ2FsaWFzZXMnLCcxMDA0Jyk7DQotK0NSRUFURSBUQUJMRSBhbGlh c2VzICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICB1c2Vy bmFtZSBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgZG9tYWluIFZBUkNI QVIoNjQpIERFRkFVTFQgTlVMTCwNCi0rICAgIGNvbnRhY3QgVkFSQ0hBUigyNTUpIERFRkFVTFQg JycgTk9UIE5VTEwsDQotKyAgICByZWNlaXZlZCBWQVJDSEFSKDEyOCkgREVGQVVMVCBOVUxMLA0K LSsgICAgcGF0aCBWQVJDSEFSKDEyOCkgREVGQVVMVCBOVUxMLA0KLSsgICAgZXhwaXJlcyBUSU1F U1RBTVAgV0lUSE9VVCBUSU1FIFpPTkUgREVGQVVMVCAnMjAyMC0wNS0yOCAyMTozMjoxNScgTk9U IE5VTEwsDQotKyAgICBxIFJFQUwgREVGQVVMVCAxLjAgTk9UIE5VTEwsDQotKyAgICBjYWxsaWQg VkFSQ0hBUigyNTUpIERFRkFVTFQgJ0RlZmF1bHQtQ2FsbC1JRCcgTk9UIE5VTEwsDQotKyAgICBj c2VxIElOVEVHRVIgREVGQVVMVCAxMyBOT1QgTlVMTCwNCi0rICAgIGxhc3RfbW9kaWZpZWQgVElN RVNUQU1QIFdJVEhPVVQgVElNRSBaT05FIERFRkFVTFQgJzE5MDAtMDEtMDEgMDA6MDA6MDEnIE5P VCBOVUxMLA0KLSsgICAgZmxhZ3MgSU5URUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICBj ZmxhZ3MgSU5URUdFUiBERUZBVUxUIDAgTk9UIE5VTEwsDQotKyAgICB1c2VyX2FnZW50IFZBUkNI QVIoMjU1KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgc29ja2V0IFZBUkNIQVIoNjQpIERF RkFVTFQgTlVMTCwNCi0rICAgIG1ldGhvZHMgSU5URUdFUiBERUZBVUxUIE5VTEwNCi0rKTsNCi0r DQotK0NSRUFURSBJTkRFWCBhbGlhc2VzX2FsaWFzX2lkeCBPTiBhbGlhc2VzICh1c2VybmFtZSwg ZG9tYWluLCBjb250YWN0KTsNCi0rDQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9zcWxpdGUv cmxzLWNyZWF0ZS5zcWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL3Jscy1jcmVhdGUuc3FsDQotbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAwLi5iMTUxMjBkDQotLS0tIC9kZXYvbnVs bA0KLSsrKyBiL3V0aWxzL2thbWN0bC9zcWxpdGUvcmxzLWNyZWF0ZS5zcWwNCi1AQCAtMCwwICsx LDQyIEBADQotK0lOU0VSVCBJTlRPIHZlcnNpb24gKHRhYmxlX25hbWUsIHRhYmxlX3ZlcnNpb24p IHZhbHVlcyAoJ3Jsc19wcmVzZW50aXR5JywnMCcpOw0KLStDUkVBVEUgVEFCTEUgcmxzX3ByZXNl bnRpdHkgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAgIHJs c3Vic19kaWQgVkFSQ0hBUigyNTUpIE5PVCBOVUxMLA0KLSsgICAgcmVzb3VyY2VfdXJpIFZBUkNI QVIoMTI4KSBOT1QgTlVMTCwNCi0rICAgIGNvbnRlbnRfdHlwZSBWQVJDSEFSKDY0KSBOT1QgTlVM TCwNCi0rICAgIHByZXNlbmNlX3N0YXRlIEJZVEVBIE5PVCBOVUxMLA0KLSsgICAgZXhwaXJlcyBJ TlRFR0VSIE5PVCBOVUxMLA0KLSsgICAgdXBkYXRlZCBJTlRFR0VSIE5PVCBOVUxMLA0KLSsgICAg YXV0aF9zdGF0ZSBJTlRFR0VSIE5PVCBOVUxMLA0KLSsgICAgcmVhc29uIFZBUkNIQVIoNjQpIE5P VCBOVUxMLA0KLSsgICAgQ09OU1RSQUlOVCBybHNfcHJlc2VudGl0eV9ybHNfcHJlc2VudGl0eV9p ZHggVU5JUVVFIChybHN1YnNfZGlkLCByZXNvdXJjZV91cmkpDQotKyk7DQotKw0KLStDUkVBVEUg SU5ERVggcmxzX3ByZXNlbnRpdHlfdXBkYXRlZF9pZHggT04gcmxzX3ByZXNlbnRpdHkgKHVwZGF0 ZWQpOw0KLSsNCi0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFibGVfdmVyc2lv bikgdmFsdWVzICgncmxzX3dhdGNoZXJzJywnMScpOw0KLStDUkVBVEUgVEFCTEUgcmxzX3dhdGNo ZXJzICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBwcmVz ZW50aXR5X3VyaSBWQVJDSEFSKDEyOCkgTk9UIE5VTEwsDQotKyAgICB0b191c2VyIFZBUkNIQVIo NjQpIE5PVCBOVUxMLA0KLSsgICAgdG9fZG9tYWluIFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsg ICAgd2F0Y2hlcl91c2VybmFtZSBWQVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAgIHdhdGNoZXJf ZG9tYWluIFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgZXZlbnQgVkFSQ0hBUig2NCkgREVG QVVMVCAncHJlc2VuY2UnIE5PVCBOVUxMLA0KLSsgICAgZXZlbnRfaWQgVkFSQ0hBUig2NCksDQot KyAgICB0b190YWcgVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBmcm9tX3RhZyBWQVJDSEFS KDY0KSBOT1QgTlVMTCwNCi0rICAgIGNhbGxpZCBWQVJDSEFSKDY0KSBOT1QgTlVMTCwNCi0rICAg IGxvY2FsX2NzZXEgSU5URUdFUiBOT1QgTlVMTCwNCi0rICAgIHJlbW90ZV9jc2VxIElOVEVHRVIg Tk9UIE5VTEwsDQotKyAgICBjb250YWN0IFZBUkNIQVIoNjQpIE5PVCBOVUxMLA0KLSsgICAgcmVj b3JkX3JvdXRlIFRFWFQsDQotKyAgICBleHBpcmVzIElOVEVHRVIgTk9UIE5VTEwsDQotKyAgICBz dGF0dXMgSU5URUdFUiBERUZBVUxUIDIgTk9UIE5VTEwsDQotKyAgICByZWFzb24gVkFSQ0hBUig2 NCkgTk9UIE5VTEwsDQotKyAgICB2ZXJzaW9uIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0K LSsgICAgc29ja2V0X2luZm8gVkFSQ0hBUig2NCkgTk9UIE5VTEwsDQotKyAgICBsb2NhbF9jb250 YWN0IFZBUkNIQVIoMTI4KSBOT1QgTlVMTCwNCi0rICAgIENPTlNUUkFJTlQgcmxzX3dhdGNoZXJz X3Jsc193YXRjaGVyX2lkeCBVTklRVUUgKHByZXNlbnRpdHlfdXJpLCBjYWxsaWQsIHRvX3RhZywg ZnJvbV90YWcpDQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwvc3FsaXRlL3Np cHRyYWNlLWNyZWF0ZS5zcWwgYi91dGlscy9rYW1jdGwvc3FsaXRlL3NpcHRyYWNlLWNyZWF0ZS5z cWwNCi1uZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLmE3ODRkMGINCi0tLS0g L2Rldi9udWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9zaXB0cmFjZS1jcmVhdGUuc3Fs DQotQEAgLTAsMCArMSwyMCBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9uICh0YWJsZV9uYW1lLCB0 YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCdzaXBfdHJhY2UnLCcyJyk7DQotK0NSRUFURSBUQUJMRSBz aXBfdHJhY2UgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAg IHRpbWVfc3RhbXAgVElNRVNUQU1QIFdJVEhPVVQgVElNRSBaT05FIERFRkFVTFQgJzE5MDAtMDEt MDEgMDA6MDA6MDEnIE5PVCBOVUxMLA0KLSsgICAgY2FsbGlkIFZBUkNIQVIoMjU1KSBERUZBVUxU ICcnIE5PVCBOVUxMLA0KLSsgICAgdHJhY2VkX3VzZXIgVkFSQ0hBUigxMjgpIERFRkFVTFQgJycg Tk9UIE5VTEwsDQotKyAgICBtc2cgVEVYVCBOT1QgTlVMTCwNCi0rICAgIG1ldGhvZCBWQVJDSEFS KDUwKSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgc3RhdHVzIFZBUkNIQVIoMTI4KSBERUZB VUxUICcnIE5PVCBOVUxMLA0KLSsgICAgZnJvbWlwIFZBUkNIQVIoNTApIERFRkFVTFQgJycgTk9U IE5VTEwsDQotKyAgICB0b2lwIFZBUkNIQVIoNTApIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAg ICBmcm9tdGFnIFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBkaXJlY3Rp b24gVkFSQ0hBUig0KSBERUZBVUxUICcnIE5PVCBOVUxMDQotKyk7DQotKw0KLStDUkVBVEUgSU5E RVggc2lwX3RyYWNlX3RyYWNlZF91c2VyX2lkeCBPTiBzaXBfdHJhY2UgKHRyYWNlZF91c2VyKTsN Ci0rQ1JFQVRFIElOREVYIHNpcF90cmFjZV9kYXRlX2lkeCBPTiBzaXBfdHJhY2UgKHRpbWVfc3Rh bXApOw0KLStDUkVBVEUgSU5ERVggc2lwX3RyYWNlX2Zyb21pcF9pZHggT04gc2lwX3RyYWNlIChm cm9taXApOw0KLStDUkVBVEUgSU5ERVggc2lwX3RyYWNlX2NhbGxpZF9pZHggT04gc2lwX3RyYWNl IChjYWxsaWQpOw0KLSsNCi1kaWZmIC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0ZS9zcGVlZGRp YWwtY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvc3BlZWRkaWFsLWNyZWF0ZS5zcWwN Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLjY0ZTFhZTYNCi0tLS0gL2Rl di9udWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9zcGVlZGRpYWwtY3JlYXRlLnNxbA0K LUBAIC0wLDAgKzEsMTQgQEANCi0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFi bGVfdmVyc2lvbikgdmFsdWVzICgnc3BlZWRfZGlhbCcsJzInKTsNCi0rQ1JFQVRFIFRBQkxFIHNw ZWVkX2RpYWwgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0rICAg IHVzZXJuYW1lIFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBkb21haW4g VkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIHNkX3VzZXJuYW1lIFZBUkNI QVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBzZF9kb21haW4gVkFSQ0hBUig2NCkg REVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIG5ld191cmkgVkFSQ0hBUigxMjgpIERFRkFVTFQg JycgTk9UIE5VTEwsDQotKyAgICBmbmFtZSBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxM LA0KLSsgICAgbG5hbWUgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGRl c2NyaXB0aW9uIFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBDT05TVFJB SU5UIHNwZWVkX2RpYWxfc3BlZWRfZGlhbF9pZHggVU5JUVVFICh1c2VybmFtZSwgZG9tYWluLCBz ZF9kb21haW4sIHNkX3VzZXJuYW1lKQ0KLSspOw0KLSsNCi1kaWZmIC0tZ2l0IGEvdXRpbHMva2Ft Y3RsL3NxbGl0ZS9zdGFuZGFyZC1jcmVhdGUuc3FsIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS9zdGFu ZGFyZC1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAwLi4w YWRkOTlkDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0aWxzL2thbWN0bC9zcWxpdGUvc3RhbmRh cmQtY3JlYXRlLnNxbA0KLUBAIC0wLDAgKzEsNSBAQA0KLStDUkVBVEUgVEFCTEUgdmVyc2lvbiAo DQotKyAgICB0YWJsZV9uYW1lIFZBUkNIQVIoMzIpIE5PVCBOVUxMLA0KLSsgICAgdGFibGVfdmVy c2lvbiBJTlRFR0VSIERFRkFVTFQgMCBOT1QgTlVMTA0KLSspOw0KLSsNCi1kaWZmIC0tZ2l0IGEv dXRpbHMva2FtY3RsL3NxbGl0ZS91YWMtY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUv dWFjLWNyZWF0ZS5zcWwNCi1uZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLmYw Y2Y4MGQNCi0tLS0gL2Rldi9udWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS91YWMtY3Jl YXRlLnNxbA0KLUBAIC0wLDAgKzEsMTYgQEANCi0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVf bmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVzICgndWFjcmVnJywnMScpOw0KLStDUkVBVEUgVEFC TEUgdWFjcmVnICgNCi0rICAgIGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsDQotKyAg ICBsX3V1aWQgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGxfdXNlcm5h bWUgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGxfZG9tYWluIFZBUkNI QVIoMTI4KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgcl91c2VybmFtZSBWQVJDSEFSKDY0 KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAgcl9kb21haW4gVkFSQ0hBUigxMjgpIERFRkFV TFQgJycgTk9UIE5VTEwsDQotKyAgICByZWFsbSBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBO VUxMLA0KLSsgICAgYXV0aF91c2VybmFtZSBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxM LA0KLSsgICAgYXV0aF9wYXNzd29yZCBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0K LSsgICAgYXV0aF9wcm94eSBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBOVUxMLA0KLSsgICAg ZXhwaXJlcyBJTlRFR0VSIERFRkFVTFQgMCBOT1QgTlVMTCwNCi0rICAgIENPTlNUUkFJTlQgdWFj cmVnX2xfdXVpZF9pZHggVU5JUVVFIChsX3V1aWQpDQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91 dGlscy9rYW1jdGwvc3FsaXRlL3VyaV9kYi1jcmVhdGUuc3FsIGIvdXRpbHMva2FtY3RsL3NxbGl0 ZS91cmlfZGItY3JlYXRlLnNxbA0KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0DQotaW5kZXggMDAwMDAw MC4uOGUyOTFmYw0KLS0tLSAvZGV2L251bGwNCi0rKysgYi91dGlscy9rYW1jdGwvc3FsaXRlL3Vy aV9kYi1jcmVhdGUuc3FsDQotQEAgLTAsMCArMSwxMCBAQA0KLStJTlNFUlQgSU5UTyB2ZXJzaW9u ICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCd1cmknLCcxJyk7DQotK0NSRUFU RSBUQUJMRSB1cmkgKA0KLSsgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBOT1QgTlVMTCwNCi0r ICAgIHVzZXJuYW1lIFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBkb21h aW4gVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIHVyaV91c2VyIFZBUkNI QVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAgICBsYXN0X21vZGlmaWVkIFRJTUVTVEFN UCBXSVRIT1VUIFRJTUUgWk9ORSBERUZBVUxUICcxOTAwLTAxLTAxIDAwOjAwOjAxJyBOT1QgTlVM TCwNCi0rICAgIENPTlNUUkFJTlQgdXJpX2FjY291bnRfaWR4IFVOSVFVRSAodXNlcm5hbWUsIGRv bWFpbiwgdXJpX3VzZXIpDQotKyk7DQotKw0KLWRpZmYgLS1naXQgYS91dGlscy9rYW1jdGwvc3Fs aXRlL3VzZXJibGFja2xpc3QtY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvdXNlcmJs YWNrbGlzdC1jcmVhdGUuc3FsDQotbmV3IGZpbGUgbW9kZSAxMDA2NDQNCi1pbmRleCAwMDAwMDAw Li4zNGQ5ZWIxDQotLS0tIC9kZXYvbnVsbA0KLSsrKyBiL3V0aWxzL2thbWN0bC9zcWxpdGUvdXNl cmJsYWNrbGlzdC1jcmVhdGUuc3FsDQotQEAgLTAsMCArMSwyMSBAQA0KLStJTlNFUlQgSU5UTyB2 ZXJzaW9uICh0YWJsZV9uYW1lLCB0YWJsZV92ZXJzaW9uKSB2YWx1ZXMgKCd1c2VyYmxhY2tsaXN0 JywnMScpOw0KLStDUkVBVEUgVEFCTEUgdXNlcmJsYWNrbGlzdCAoDQotKyAgICBpZCBJTlRFR0VS IFBSSU1BUlkgS0VZIE5PVCBOVUxMLA0KLSsgICAgdXNlcm5hbWUgVkFSQ0hBUig2NCkgREVGQVVM VCAnJyBOT1QgTlVMTCwNCi0rICAgIGRvbWFpbiBWQVJDSEFSKDY0KSBERUZBVUxUICcnIE5PVCBO VUxMLA0KLSsgICAgcHJlZml4IFZBUkNIQVIoNjQpIERFRkFVTFQgJycgTk9UIE5VTEwsDQotKyAg ICB3aGl0ZWxpc3QgU01BTExJTlQgREVGQVVMVCAwIE5PVCBOVUxMDQotKyk7DQotKw0KLStDUkVB VEUgSU5ERVggdXNlcmJsYWNrbGlzdF91c2VyYmxhY2tsaXN0X2lkeCBPTiB1c2VyYmxhY2tsaXN0 ICh1c2VybmFtZSwgZG9tYWluLCBwcmVmaXgpOw0KLSsNCi0rSU5TRVJUIElOVE8gdmVyc2lvbiAo dGFibGVfbmFtZSwgdGFibGVfdmVyc2lvbikgdmFsdWVzICgnZ2xvYmFsYmxhY2tsaXN0JywnMScp Ow0KLStDUkVBVEUgVEFCTEUgZ2xvYmFsYmxhY2tsaXN0ICgNCi0rICAgIGlkIElOVEVHRVIgUFJJ TUFSWSBLRVkgTk9UIE5VTEwsDQotKyAgICBwcmVmaXggVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBO T1QgTlVMTCwNCi0rICAgIHdoaXRlbGlzdCBTTUFMTElOVCBERUZBVUxUIDAgTk9UIE5VTEwsDQot KyAgICBkZXNjcmlwdGlvbiBWQVJDSEFSKDI1NSkgREVGQVVMVCBOVUxMDQotKyk7DQotKw0KLStD UkVBVEUgSU5ERVggZ2xvYmFsYmxhY2tsaXN0X2dsb2JhbGJsYWNrbGlzdF9pZHggT04gZ2xvYmFs YmxhY2tsaXN0IChwcmVmaXgpOw0KLSsNCi1kaWZmIC0tZ2l0IGEvdXRpbHMva2FtY3RsL3NxbGl0 ZS91c3Jsb2MtY3JlYXRlLnNxbCBiL3V0aWxzL2thbWN0bC9zcWxpdGUvdXNybG9jLWNyZWF0ZS5z cWwNCi1uZXcgZmlsZSBtb2RlIDEwMDY0NA0KLWluZGV4IDAwMDAwMDAuLjZlYjdkMDcNCi0tLS0g L2Rldi9udWxsDQotKysrIGIvdXRpbHMva2FtY3RsL3NxbGl0ZS91c3Jsb2MtY3JlYXRlLnNxbA0K LUBAIC0wLDAgKzEsMjIgQEANCi0rSU5TRVJUIElOVE8gdmVyc2lvbiAodGFibGVfbmFtZSwgdGFi bGVfdmVyc2lvbikgdmFsdWVzICgnbG9jYXRpb24nLCcxMDA0Jyk7DQotK0NSRUFURSBUQUJMRSBs b2NhdGlvbiAoDQotKyAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIE5PVCBOVUxMLA0KLSsgICAg dXNlcm5hbWUgVkFSQ0hBUig2NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIGRvbWFpbiBW QVJDSEFSKDY0KSBERUZBVUxUIE5VTEwsDQotKyAgICBjb250YWN0IFZBUkNIQVIoMjU1KSBERUZB VUxUICcnIE5PVCBOVUxMLA0KLSsgICAgcmVjZWl2ZWQgVkFSQ0hBUigxMjgpIERFRkFVTFQgTlVM TCwNCi0rICAgIHBhdGggVkFSQ0hBUigxMjgpIERFRkFVTFQgTlVMTCwNCi0rICAgIGV4cGlyZXMg VElNRVNUQU1QIFdJVEhPVVQgVElNRSBaT05FIERFRkFVTFQgJzIwMjAtMDUtMjggMjE6MzI6MTUn IE5PVCBOVUxMLA0KLSsgICAgcSBSRUFMIERFRkFVTFQgMS4wIE5PVCBOVUxMLA0KLSsgICAgY2Fs bGlkIFZBUkNIQVIoMjU1KSBERUZBVUxUICdEZWZhdWx0LUNhbGwtSUQnIE5PVCBOVUxMLA0KLSsg ICAgY3NlcSBJTlRFR0VSIERFRkFVTFQgMTMgTk9UIE5VTEwsDQotKyAgICBsYXN0X21vZGlmaWVk IFRJTUVTVEFNUCBXSVRIT1VUIFRJTUUgWk9ORSBERUZBVUxUICcxOTAwLTAxLTAxIDAwOjAwOjAx JyBOT1QgTlVMTCwNCi0rICAgIGZsYWdzIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsg ICAgY2ZsYWdzIElOVEVHRVIgREVGQVVMVCAwIE5PVCBOVUxMLA0KLSsgICAgdXNlcl9hZ2VudCBW QVJDSEFSKDI1NSkgREVGQVVMVCAnJyBOT1QgTlVMTCwNCi0rICAgIHNvY2tldCBWQVJDSEFSKDY0 KSBERUZBVUxUIE5VTEwsDQotKyAgICBtZXRob2RzIElOVEVHRVIgREVGQVVMVCBOVUxMDQotKyk7 DQotKw0KLStDUkVBVEUgSU5ERVggbG9jYXRpb25fYWNjb3VudF9jb250YWN0X2lkeCBPTiBsb2Nh dGlvbiAodXNlcm5hbWUsIGRvbWFpbiwgY29udGFjdCk7DQotKw0KLS0tIA0KLTEuNy40LjUNCi0N CmRpZmYgLS1naXQgYS9tYWluL2thbWFpbGlvL0FQS0JVSUxEIGIvbWFpbi9rYW1haWxpby9BUEtC VUlMRA0KaW5kZXggOTkzMzQ5NS4uYjk3ZGQ0MyAxMDA2NDQNCi0tLSBhL21haW4va2FtYWlsaW8v QVBLQlVJTEQNCisrKyBiL21haW4va2FtYWlsaW8vQVBLQlVJTEQNCkBAIC0xLDkgKzEsOSBAQA0K ICMgQ29udHJpYnV0b3I6IE1pY2hhZWwgTWFzb24gPG1zMTNzcEBnbWFpbC5jb20+DQotIyBNYWlu dGFpbmVyOiBOYXRhbmFlbCBDb3BhIDxuY29wYUBhbHBpbmVsaW51eC5vcmc+DQorIyBNYWludGFp bmVyOiBOYXRoYW4gQW5nZWxhY29zIDxuYW5nZWxAYWxwaW5lbGludXgub3JnPg0KIHBrZ25hbWU9 a2FtYWlsaW8NCi1wa2d2ZXI9My4xLjQNCi1wa2dyZWw9MQ0KLXBrZ2Rlc2M9Ik9wZW4gU291cmNl IFNJUCBTZXJ2ZXIiDQorcGtndmVyPTMuMi4wDQorcGtncmVsPTANCitwa2dkZXNjPSJPcGVuIFNv dXJjZSBTSVAgUHJveHkiDQogdXJsPSJodHRwOi8vd3d3LmthbWFpbGlvLm9yZy8iDQogcGtndXNl cnM9ImthbWFpbGlvIg0KIHBrZ2dyb3Vwcz0ia2FtYWlsaW8iDQpAQCAtMTIsMzEgKzEyLDI5IEBA IGxpY2Vuc2U9IkdQTCINCiBkZXBlbmRzPQ0KIGFyY2g9YWxsDQogbWFrZWRlcGVuZHM9ImJpc29u IGZsZXggZXhwYXQtZGV2IHBvc3RncmVzcWwtZGV2IHBjcmUtZGV2IG15c3FsLWRldg0KLQlsaWJ4 bWwyLWRldiBjdXJsLWRldiB1bml4b2RiYy1kZXYgY29uZnVzZS1kZXYgbmN1cnNlcy1kZXYgc3Fs aXRlLWRldiINCisJbGlieG1sMi1kZXYgY3VybC1kZXYgdW5peG9kYmMtZGV2IGNvbmZ1c2UtZGV2 IG5jdXJzZXMtZGV2IHNxbGl0ZS1kZXYgbHVhLWRldiINCiBpbnN0YWxsPSIkcGtnbmFtZS5wcmUt aW5zdGFsbCAkcGtnbmFtZS5wcmUtdXBncmFkZSINCiBzdWJwYWNrYWdlcz0iJHBrZ25hbWUtZG9j ICRwa2duYW1lLXBvc3RncmVzICRwa2duYW1lLXByZXNlbmNlICRwa2duYW1lLXBjcmUNCi0JJHBr Z25hbWUtbWVkaWFwcm94eSAkcGtnbmFtZS11bml4b2RiYyAkcGtnbmFtZS1teXNxbCAkcGtnbmFt ZS1zcWxpdGUiDQorCSRwa2duYW1lLW1lZGlhcHJveHkgJHBrZ25hbWUtdW5peG9kYmMgJHBrZ25h bWUtbXlzcWwgJHBrZ25hbWUtc3FsaXRlICRwa2duYW1lLWx1YSINCiBzb3VyY2U9Imh0dHA6Ly93 d3cua2FtYWlsaW8ub3JnL3B1Yi9rYW1haWxpby8kcGtndmVyL3NyYy9rYW1haWxpby0ke3BrZ3Zl cn1fc3JjLnRhci5neg0KIAlrYW1haWxpby5jZmcNCiAJa2FtYWlsaW8uaW5pdGQNCi0Ja2FtYWls aW8tMy4xLWJhY2tzbGFzaC5wYXRjaA0KLQlzcWxpdGUucGF0Y2gNCi0JMDAwMS11dGlscy1hZGQt c3FsaXRlLXN1cHBvcnQtdG8ta2FtY3RsLWthbWRiY3RsLnBhdGNoDQotCTAwMDEtdXRpbHMtSW5z dGFsbC10aGUtc3FsaXRlLXNjcmlwdHMucGF0Y2gNCiAJIg0KIA0KIF9idWlsZGRpcj0iJHNyY2Rp ciIvJHBrZ25hbWUtJHBrZ3Zlcg0KIA0KIA0KIF9kZWZhdWx0PSJjYXJyaWVycm91dGUgeG1scnBj IHRtIg0KLV9wcmVzZW5jZT0icHJlc2VuY2UgcHJlc2VuY2VfeG1sIHByZXNlbmNlX213aSBwdWEg cHVhX2JsYSBwdWFfbWkgcHVhX3VzcmxvYyBwdWFfeG1wcCBybHMgeGNhcF9jbGllbnQgcHJlc2Vu Y2VfZGlhbG9naW5mbyBwdWFfZGlhbG9naW5mbyINCitfcHJlc2VuY2U9InByZXNlbmNlIHByZXNl bmNlX3htbCBwcmVzZW5jZV9td2kgcHVhIHB1YV9ibGEgcHVhX21pIHB1YV91c3Jsb2MgcHVhX3ht cHAgcmxzIHhjYXBfY2xpZW50IHByZXNlbmNlX2RpYWxvZ2luZm8gcHVhX2RpYWxvZ2luZm8gcHJl c2VuY2VfcmVnaW5mbyINCiBfcGNyZT0iZGlhbHBsYW4gbGNyIHJlZ2V4Ig0KIF9wb3N0Z3Jlcz0i ZGJfcG9zdGdyZXMiDQogX215c3FsPSJkYl9teXNxbCINCiBfbWVkaWFwcm94eT0ibWVkaWFwcm94 eSINCiBfb2RiYz0iZGJfdW5peG9kYmMiDQorX3NxbGl0ZT0iZGJfc3FsaXRlIg0KK19sdWE9ImFw cF9sdWEiDQogIyBNYWtlZmlsZSBkb2VzIG5vdCBoYW5kbGUgbmV3bGluZQ0KLV9tb2R1bGVzPSIk X2RlZmF1bHQgJF9wb3N0Z3JlcyAkX21lZGlhcHJveHkgJF9vZGJjICRfcHJlc2VuY2UgJF9teXNx bCAkX3BjcmUiDQorX21vZHVsZXM9IiRfZGVmYXVsdCAkX3Bvc3RncmVzICRfbWVkaWFwcm94eSAk X29kYmMgJF9wcmVzZW5jZSAkX215c3FsICRfcGNyZSAkX2x1YSAkX3NxbGl0ZSINCiANCiANCiBw cmVwYXJlKCkgew0KQEAgLTExNiw2ICsxMTQsMTEgQEAgX212X21vZF9rKCkgew0KIH0NCiANCiAN CitsdWEoKSB7DQorCXBrZ2Rlc2M9Ikx1YSBzY3JpcHQgc3VwcG9ydCBmb3Iga2FtYWlsaW8iDQor CV9tdl9tb2QgYXBwX2x1YQ0KK30NCisNCiBteXNxbCgpIHsNCiAJcGtnZGVzYz0iTXlTUUwgc3Vw cG9ydCBmb3Iga2FtYWlsaW8iDQogCWRlcGVuZHM9ImthbWFpbGlvIG15c3FsLWNsaWVudCINCkBA IC0xNDksNyArMTUyLDcgQEAgc3FsaXRlKCkgew0KIAlfbXZfbW9kX2sgZGJfc3FsaXRlIHx8IHJl dHVybiAxDQogCW1rZGlyIC1wICIkc3VicGtnZGlyIi91c3Ivc2hhcmUva2FtYWlsaW8gXA0KIAkJ IiRzdWJwa2dkaXIiL3Vzci9saWIva2FtYWlsaW8va2FtY3RsDQotCW12ICIkcGtnZGlyIi91c3Iv c2hhcmUva2FtYWlsaW8vc3FsaXRlIFwNCisJbXYgIiRwa2dkaXIiL3Vzci9zaGFyZS9rYW1haWxp by9kYl9zcWxpdGUgXA0KIAkJIiRzdWJwa2dkaXIiL3Vzci9zaGFyZS9rYW1haWxpby8gfHwgcmV0 dXJuIDENCiAJbXYgIiRwa2dkaXIiL3Vzci9saWIva2FtYWlsaW8va2FtY3RsLyouc3FsaXRlIFwN CiAJCSIkc3VicGtnZGlyIi91c3IvbGliL2thbWFpbGlvL2thbWN0bC8gfHwgcmV0dXJuIDENCkBA IC0xNzgsMTAgKzE4MSw2IEBAIHVuaXhvZGJjKCkgew0KIAlfbXZfbW9kX2sgJF9vZGJjDQogfQ0K IA0KLW1kNXN1bXM9IjE1MTI0ZTFmMDkxMDhiNjNjNjkyOWNhOTdjZGJjZTlhICBrYW1haWxpby0z LjEuNF9zcmMudGFyLmd6DQorbWQ1c3Vtcz0iZDJiNDUyZTVlYzQ5MjdiMmVjOGRlY2RkYTU5NjZi ZDkgIGthbWFpbGlvLTMuMi4wX3NyYy50YXIuZ3oNCiBhM2M5NTllYzU2OGM0M2E5MDU3MTBlN2Qy NWNkOGMyNSAga2FtYWlsaW8uY2ZnDQotYzBkYzRlMTNkOWU1N2ZlYjk5ZjAxNmQzZWU0NDNjMGIg IGthbWFpbGlvLmluaXRkDQotODQ1NDY4N2YwNDdmNzAzYzVjYjQ0M2RiM2EwMDAzYTggIGthbWFp bGlvLTMuMS1iYWNrc2xhc2gucGF0Y2gNCi0xOTlkZjIxZWFhNDg1NmRjYWNkY2M0MzhmNzI3NjVm MSAgc3FsaXRlLnBhdGNoDQotOTYxMWExMjQ2YmM1MjJjYmZhNWQ4ZDk5YjNhNTVhYzggIDAwMDEt dXRpbHMtYWRkLXNxbGl0ZS1zdXBwb3J0LXRvLWthbWN0bC1rYW1kYmN0bC5wYXRjaA0KLTg3NTFj OTY4ZTU3ZDdjMWJkNzM0MmQ4M2Q1YThkNDhkICAwMDAxLXV0aWxzLUluc3RhbGwtdGhlLXNxbGl0 ZS1zY3JpcHRzLnBhdGNoIg0KK2MwZGM0ZTEzZDllNTdmZWI5OWYwMTZkM2VlNDQzYzBiICBrYW1h aWxpby5pbml0ZCINCmRpZmYgLS1naXQgYS9tYWluL2thbWFpbGlvL2thbWFpbGlvLTMuMS1iYWNr c2xhc2gucGF0Y2ggYi9tYWluL2thbWFpbGlvL2thbWFpbGlvLTMuMS1iYWNrc2xhc2gucGF0Y2gN CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggODVlMGYzZi4uMDAwMDAwMA0KLS0tIGEv bWFpbi9rYW1haWxpby9rYW1haWxpby0zLjEtYmFja3NsYXNoLnBhdGNoDQorKysgL2Rldi9udWxs DQpAQCAtMSw0NCArMCwwIEBADQotZGlmZiAtLWdpdCBhL3V0aWxzL2thbWN0bC9rYW1kYmN0bC5i YXNlIGIvdXRpbHMva2FtY3RsL2thbWRiY3RsLmJhc2UNCi1pbmRleCBhY2M3ZDRhLi4zYTUwMjcw IDEwMDY0NA0KLS0tLSBhL3V0aWxzL2thbWN0bC9rYW1kYmN0bC5iYXNlDQotKysrIGIvdXRpbHMv a2FtY3RsL2thbWRiY3RsLmJhc2UNCi1AQCAtMzIsMTQgKzMyLDE0IEBAIElOU1RBTExfUFJFU0VO Q0VfVEFCTEVTPSR7SU5TVEFMTF9QUkVTRU5DRV9UQUJMRVM6LWFza30NCi0gDQotICMgVXNlZCBi eSBkYnRleHQgYW5kIGRiX2JlcmtlbGV5IHRvIGRlZmluZSB0YWJsZXMgdG8gYmUgY3JlYXRlZCwg dXNlZCBieQ0KLSAjIHBvc3RncmVzIHRvIGRvIHRoZSBncmFudHMNCi0tU1RBTkRBUkRfVEFCTEVT PSR7U1RBTkRBUkRfVEFCTEVTOi12ZXJzaW9uIGFjYyBkYmFsaWFzZXMgZG9tYWluIGdycA0KLS0J CXVyaSBzcGVlZF9kaWFsIGxjcl9ndyBsY3JfcnVsZSBsY3JfcnVsZV90YXJnZXQgcGR0IHN1YnNj cmliZXINCi0tCQlsb2NhdGlvbiByZV9ncnAgdHJ1c3RlZCBhZGRyZXNzIG1pc3NlZF9jYWxscyB1 c3JfcHJlZmVyZW5jZXMNCi0rU1RBTkRBUkRfVEFCTEVTPSR7U1RBTkRBUkRfVEFCTEVTOi12ZXJz aW9uIGFjYyBkYmFsaWFzZXMgZG9tYWluIGdycCBcDQotKwkJdXJpIHNwZWVkX2RpYWwgbGNyX2d3 IGxjcl9ydWxlIGxjcl9ydWxlX3RhcmdldCBwZHQgc3Vic2NyaWJlciBcDQotKwkJbG9jYXRpb24g cmVfZ3JwIHRydXN0ZWQgYWRkcmVzcyBtaXNzZWRfY2FsbHMgdXNyX3ByZWZlcmVuY2VzIFwNCi0g CQlhbGlhc2VzIHNpbG8gZGlhbG9nIGRpc3BhdGNoZXIgZGlhbHBsYW59DQotLUVYVFJBX1RBQkxF Uz0ke0VYVFJBX1RBQkxFUzotaW1jX21lbWJlcnMgaW1jX3Jvb21zIGNwbCBzaXBfdHJhY2UgZG9t YWlucG9saWN5DQotLQkJY2FycmllcnJvdXRlIGNhcnJpZXJfbmFtZSBkb21haW5fbmFtZSBjYXJy aWVyZmFpbHVyZXJvdXRlIHVzZXJibGFja2xpc3QNCi0rRVhUUkFfVEFCTEVTPSR7RVhUUkFfVEFC TEVTOi1pbWNfbWVtYmVycyBpbWNfcm9vbXMgY3BsIHNpcF90cmFjZSBkb21haW5wb2xpY3kgXA0K LSsJCWNhcnJpZXJyb3V0ZSBjYXJyaWVyX25hbWUgZG9tYWluX25hbWUgY2FycmllcmZhaWx1cmVy b3V0ZSB1c2VyYmxhY2tsaXN0IFwNCi0gCQlnbG9iYWxibGFja2xpc3QgaHRhYmxlIHB1cnBsZW1h cCB1YWNyZWd9DQotLVBSRVNFTkNFX1RBQkxFUz0ke1BSRVNFTkNFX1RBQkxFUzotcHJlc2VudGl0 eSBhY3RpdmVfd2F0Y2hlcnMgd2F0Y2hlcnMgeGNhcCANCi0rUFJFU0VOQ0VfVEFCTEVTPSR7UFJF U0VOQ0VfVEFCTEVTOi1wcmVzZW50aXR5IGFjdGl2ZV93YXRjaGVycyB3YXRjaGVycyB4Y2FwIFwN Ci0gCQlwdWEgcmxzX3ByZXNlbnRpdHkgcmxzX3dhdGNoZXJzfQ0KLSANCi0gIyBTUUwgZGVmaW5p dGlvbnMNCi1AQCAtNjIsMTEgKzYyLDExIEBAIEdSRVA9JHtHUkVQOi1ncmVwfQ0KLSBTRUQ9JHtT RUQ6LXNlZH0NCi0gDQotICMgZGVmaW5lIHdoYXQgbW9kdWxlcyBzaG91bGQgYmUgaW5zdGFsbGVk DQotLVNUQU5EQVJEX01PRFVMRVM9JHtTVEFOREFSRF9NT0RVTEVTOi1zdGFuZGFyZCBhY2MgbGNy IGRvbWFpbiBncm91cCBwZXJtaXNzaW9ucw0KLS0JCQkJICAgICByZWdpc3RyYXIgdXNybG9jIG1z aWxvIGFsaWFzX2RiIHVyaV9kYg0KLS0JCQkJICAgICBzcGVlZGRpYWwgYXZwb3BzIGF1dGhfZGIg cGR0IGRpYWxvZyBkaXNwYXRjaGVyDQotK1NUQU5EQVJEX01PRFVMRVM9JHtTVEFOREFSRF9NT0RV TEVTOi1zdGFuZGFyZCBhY2MgbGNyIGRvbWFpbiBncm91cCBwZXJtaXNzaW9ucyBcDQotKwkJCQkg ICAgIHJlZ2lzdHJhciB1c3Jsb2MgbXNpbG8gYWxpYXNfZGIgdXJpX2RiIFwNCi0rCQkJCSAgICAg c3BlZWRkaWFsIGF2cG9wcyBhdXRoX2RiIHBkdCBkaWFsb2cgZGlzcGF0Y2hlciBcDQotIAkJCQkg ICAgIGRpYWxwbGFufQ0KLS1FWFRSQV9NT0RVTEVTPSR7RVhUUkFfTU9EVUxFUzotaW1jIGNwbCBz aXB0cmFjZSBkb21haW5wb2xpY3kgY2FycmllcnJvdXRlDQotK0VYVFJBX01PRFVMRVM9JHtFWFRS QV9NT0RVTEVTOi1pbWMgY3BsIHNpcHRyYWNlIGRvbWFpbnBvbGljeSBjYXJyaWVycm91dGUgXA0K LSAgICAgdXNlcmJsYWNrbGlzdCBodGFibGUgcHVycGxlIHVhY30NCi0gDQotICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLS0tIA0K LTEuNy4xDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi9rYW1haWxpby9zcWxpdGUucGF0Y2ggYi9tYWlu L2thbWFpbGlvL3NxbGl0ZS5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAz OGNhZTJlLi4wMDAwMDAwDQotLS0gYS9tYWluL2thbWFpbGlvL3NxbGl0ZS5wYXRjaA0KKysrIC9k ZXYvbnVsbA0KQEAgLTEsNzEyICswLDAgQEANCi1JbmRleDoga2FtYWlsaW8tMy4xLjEvbW9kdWxl c19rL2RiX3NxbGl0ZS9NYWtlZmlsZQ0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwDQotKysrIGthbWFpbGlvLTMuMS4xL21vZHVs ZXNfay9kYl9zcWxpdGUvTWFrZWZpbGUJMjAxMS0wMS0wNSAxNDoxOTowMy4wMDAwMDAwMDAgKzAy MDANCi1AQCAtMCwwICsxLDE1IEBADQotKyMgJElkJA0KLSsjDQotKyMgV0FSTklORzogZG8gbm90 IHJ1biB0aGlzIGRpcmVjdGx5LCBpdCBzaG91bGQgYmUgcnVuIGJ5IHRoZSBtYXN0ZXIgTWFrZWZp bGUNCi0rDQotK2luY2x1ZGUgLi4vLi4vTWFrZWZpbGUuZGVmcw0KLSthdXRvX2dlbj0NCi0rTkFN RT1kYl9zcWxpdGUuc28NCi0rDQotK0xJQlMgKz0tbHNxbGl0ZTMNCi0rDQotK0RFRlMrPS1ET1BF TlNFUl9NT0RfSU5URVJGQUNFDQotKw0KLStTRVJMSUJQQVRIPS4uLy4uL2xpYg0KLStTRVJfTElC Uys9JChTRVJMSUJQQVRIKS9zcmRiMS9zcmRiMQ0KLStpbmNsdWRlIC4uLy4uL01ha2VmaWxlLm1v ZHVsZXMNCi1JbmRleDoga2FtYWlsaW8tMy4xLjEvbW9kdWxlc19rL2RiX3NxbGl0ZS9kYl9zcWxp dGUuYw0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCi0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwDQotKysrIGthbWFpbGlvLTMuMS4xL21vZHVsZXNfay9kYl9zcWxpdGUvZGJf c3FsaXRlLmMJMjAxMS0wMS0wNSAxNDoyMToxMy4wMDAwMDAwMDAgKzAyMDANCi1AQCAtMCwwICsx LDkwIEBADQotKy8qDQotKyAqICRJZCQNCi0rICoNCi0rICogU1FsaXRlIG1vZHVsZSBpbnRlcmZh Y2UNCi0rICoNCi0rICogQ29weXJpZ2h0IChDKSAyMDEwIFRpbW8gVGVyw6RzDQotKyAqDQotKyAq IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEthbWFpbGlvLCBhIGZyZWUgU0lQIHNlcnZlci4NCi0rICoN Ci0rICogS2FtYWlsaW8gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQ0KLSsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KLSsgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KLSsgKiAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uDQotKyAqDQotKyAqIEthbWFpbGlvIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQotKyAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m DQotKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUNCi0rICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4NCi0rICoNCi0rICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCi0rICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCi0rICogRm91bmRhdGlvbiwgSW5j LiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVT QQ0KLSsgKi8NCi0rDQotKyNpbmNsdWRlIDxzeXMvdGltZS5oPg0KLSsjaW5jbHVkZSA8c3FsaXRl My5oPg0KLSsNCi0rI2luY2x1ZGUgIi4uLy4uL3NyX21vZHVsZS5oIg0KLSsjaW5jbHVkZSAiLi4v Li4vbGliL3NyZGIxL2RiLmgiDQotKyNpbmNsdWRlICJkYmFzZS5oIg0KLSsNCi0rTU9EVUxFX1ZF UlNJT04NCi0rDQotK3N0YXRpYyBpbnQgc3FsaXRlX2JpbmRfYXBpKGRiX2Z1bmNfdCAqZGJiKQ0K LSt7DQotKwlpZihkYmI9PU5VTEwpDQotKwkJcmV0dXJuIC0xOw0KLSsNCi0rCW1lbXNldChkYmIs IDAsIHNpemVvZihkYl9mdW5jX3QpKTsNCi0rDQotKwlkYmItPnVzZV90YWJsZQkJPSBkYl9zcWxp dGVfdXNlX3RhYmxlOw0KLSsJZGJiLT5pbml0CQk9IGRiX3NxbGl0ZV9pbml0Ow0KLSsJZGJiLT5j bG9zZQkJPSBkYl9zcWxpdGVfY2xvc2U7DQotKwlkYmItPmZyZWVfcmVzdWx0CT0gZGJfc3FsaXRl X2ZyZWVfcmVzdWx0Ow0KLSsJZGJiLT5xdWVyeQkJPSBkYl9zcWxpdGVfcXVlcnk7DQotKwlkYmIt Pmluc2VydAkJPSBkYl9zcWxpdGVfaW5zZXJ0Ow0KLSsJZGJiLT5kZWxldGUJCT0gZGJfc3FsaXRl X2RlbGV0ZTsNCi0rCWRiYi0+dXBkYXRlCQk9IGRiX3NxbGl0ZV91cGRhdGU7DQotKwlkYmItPnJh d19xdWVyeQkJPSBkYl9zcWxpdGVfcmF3X3F1ZXJ5Ow0KLSsNCi0rCXJldHVybiAwOw0KLSt9DQot Kw0KLStzdGF0aWMgY21kX2V4cG9ydF90IGNtZHNbXSA9IHsNCi0rCXsiZGJfYmluZF9hcGkiLCAo Y21kX2Z1bmN0aW9uKXNxbGl0ZV9iaW5kX2FwaSwgMCwgMCwgMCwgMH0sDQotKwl7MCwgMCwgMCwg MCwgMCwgMH0NCi0rfTsNCi0rDQotK3N0YXRpYyBpbnQgc3FsaXRlX21vZF9pbml0KHZvaWQpDQot K3sNCi0rCXNxbGl0ZTNfaW5pdGlhbGl6ZSgpOw0KLSsNCi0rCUxNX0lORk8oIlNRbGl0ZSBsaWJy YXJ5IHZlcnNpb24gJXMgKGNvbXBpbGVkIHVzaW5nICVzKVxuIiwNCi0rCQlzcWxpdGUzX2xpYnZl cnNpb24oKSwNCi0rCQlTUUxJVEVfVkVSU0lPTik7DQotKwlyZXR1cm4gMDsNCi0rfQ0KLSsNCi0r DQotK3N0YXRpYyB2b2lkIHNxbGl0ZV9tb2RfZGVzdHJveSh2b2lkKQ0KLSt7DQotKwlMTV9JTkZP KCJTUWxpdGUgdGVybWluYXRlXG4iKTsNCi0rDQotKwlzcWxpdGUzX3NodXRkb3duKCk7DQotK30N Ci0rDQotK3N0cnVjdCBtb2R1bGVfZXhwb3J0cyBleHBvcnRzID0gew0KLSsJImRiX3NxbGl0ZSIs DQotKwlERUZBVUxUX0RMRkxBR1MsCS8qIGRsb3BlbiBmbGFncyAqLw0KLSsJY21kcywJCQkvKiBt b2R1bGUgY29tbWFuZHMgKi8NCi0rCTAsCQkJLyogbW9kdWxlIHBhcmFtZXRlcnMgKi8NCi0rCTAs CQkJLyogZXhwb3J0ZWQgc3RhdGlzdGljcyAqLw0KLSsJMCwJCQkvKiBleHBvcnRlZCBNSSBmdW5j dGlvbnMgKi8NCi0rCTAsCQkJLyogZXhwb3J0ZWQgcHNldWRvLXZhcmlhYmxlcyAqLw0KLSsJMCwJ CQkvKiBleHRyYSBwcm9jZXNzZXMgKi8NCi0rCXNxbGl0ZV9tb2RfaW5pdCwJLyogbW9kdWxlIGlu aXRpYWxpemF0aW9uIGZ1bmN0aW9uICovDQotKwkwLAkJCS8qIHJlc3BvbnNlIGZ1bmN0aW9uKi8N Ci0rCXNxbGl0ZV9tb2RfZGVzdHJveSwJLyogZGVzdHJveSBmdW5jdGlvbiAqLw0KLSsJMAkJCS8q IHBlci1jaGlsZCBpbml0IGZ1bmN0aW9uICovDQotK307DQotSW5kZXg6IGthbWFpbGlvLTMuMS4x L21vZHVsZXNfay9kYl9zcWxpdGUvZGJhc2UuYw0KLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwDQotKysrIGthbWFpbGlvLTMuMS4x L21vZHVsZXNfay9kYl9zcWxpdGUvZGJhc2UuYwkyMDExLTAxLTA1IDE0OjIwOjQ3LjAwMDAwMDAw MCArMDIwMA0KLUBAIC0wLDAgKzEsNTE1IEBADQotKy8qDQotKyAqICRJZCQNCi0rICoNCi0rICog U1FsaXRlIG1vZHVsZSBjb3JlIGZ1bmN0aW9ucw0KLSsgKg0KLSsgKiBDb3B5cmlnaHQgKEMpIDIw MTAgVGltbyBUZXLDpHMNCi0rICoNCi0rICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgS2FtYWlsaW8s IGEgZnJlZSBTSVAgc2VydmVyLg0KLSsgKg0KLSsgKiBLYW1haWxpbyBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQotKyAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 DQotKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2Yg dGhlIExpY2Vuc2UsIG9yDQotKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24N Ci0rICoNCi0rICogS2FtYWlsaW8gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwNCi0rICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi0rICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KLSsgKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KLSsgKg0KLSsgKiBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KLSsg KiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZQ0KLSsgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwg Qm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBDQotKyAqLw0KLSsNCi0rI2luY2x1ZGUgIi4uLy4u L21lbS9tZW0uaCINCi0rI2luY2x1ZGUgIi4uLy4uL2RwcmludC5oIg0KLSsjaW5jbHVkZSAiLi4v Li4vbGliL3NyZGIxL2RiX3Bvb2wuaCINCi0rI2luY2x1ZGUgIi4uLy4uL2xpYi9zcmRiMS9kYl91 dC5oIg0KLSsjaW5jbHVkZSAiLi4vLi4vbGliL3NyZGIxL2RiX3Jlcy5oIg0KLSsjaW5jbHVkZSAi Li4vLi4vbGliL3NyZGIxL2RiX3F1ZXJ5LmgiDQotKyNpbmNsdWRlICJkYmFzZS5oIg0KLSsNCi0r c3RhdGljIHRpbWVfdCBzcWxpdGVfdG9fdGltZXQoZG91YmxlIHJUKQ0KLSt7DQotKwlyZXR1cm4g ODY0MDAuMCooclQgLSAyNDQwNTg3LjUpICsgMC41Ow0KLSt9DQotKw0KLStzdGF0aWMgZG91Ymxl IHRpbWV0X3RvX3NxbGl0ZSh0aW1lX3QgdCkNCi0rew0KLSsJcmV0dXJuICgoKChkb3VibGUpIHQp IC0gMC41KSAvIDg2NDAwLjApICsgMjQ0MDU4Ny41Ow0KLSt9DQotKw0KLSsvKg0KLSsgKiBJbml0 aWFsaXplIGRhdGFiYXNlIG1vZHVsZQ0KLSsgKiBObyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVk IGJlZm9yZSB0aGlzDQotKyAqLw0KLSsNCi0rc3RhdGljIHN0cnVjdCBzcWxpdGVfY29ubmVjdGlv biAqIGRiX3NxbGl0ZV9uZXdfY29ubmVjdGlvbihjb25zdCBzdHJ1Y3QgZGJfaWQqIGlkKQ0KLSt7 DQotKwlzdHJ1Y3Qgc3FsaXRlX2Nvbm5lY3Rpb24gKmNvbjsNCi0rCWludCByYzsNCi0rDQotKwlj b24gPSBwa2dfbWFsbG9jKHNpemVvZigqY29uKSk7DQotKwlpZiAoIWNvbikgew0KLSsJCUxNX0VS UigiZmFpbGVkIHRvIGFsbG9jYXRlIGRyaXZlciBjb25uZWN0aW9uXG4iKTsNCi0rCQlyZXR1cm4g TlVMTDsNCi0rCX0NCi0rDQotKwltZW1zZXQoY29uLCAwLCBzaXplb2YoKmNvbikpOw0KLSsJY29u LT5oZHIucmVmID0gMTsNCi0rCWNvbi0+aGRyLmlkID0gKHN0cnVjdCBkYl9pZCopIGlkOyAvKiBz ZXQgaGVyZSAtIGZyZWVkIG9uIGVycm9yICovDQotKw0KLSsJcmMgPSBzcWxpdGUzX29wZW5fdjIo aWQtPmRhdGFiYXNlLCAmY29uLT5jb25uLA0KLSsJCVNRTElURV9PUEVOX1JFQURXUklURSB8IFNR TElURV9PUEVOX0NSRUFURSwgTlVMTCk7DQotKwlpZiAocmMgIT0gU1FMSVRFX09LKSB7DQotKwkJ cGtnX2ZyZWUoY29uKTsNCi0rCQlMTV9FUlIoImZhaWxlZCB0byBvcGVuIHNxbGl0ZSBkYXRhYmFz ZSAnJXMnXG4iLCBpZC0+ZGF0YWJhc2UpOw0KLSsJCXJldHVybiBOVUxMOw0KLSsJfQ0KLSsNCi0r CXJldHVybiBjb247DQotK30NCi0rDQotK2RiMV9jb25fdCogZGJfc3FsaXRlX2luaXQoY29uc3Qg c3RyKiBfdXJsKQ0KLSt7DQotKwlyZXR1cm4gZGJfZG9faW5pdChfdXJsLCAodm9pZCAqKSBkYl9z cWxpdGVfbmV3X2Nvbm5lY3Rpb24pOw0KLSt9DQotKw0KLSsNCi0rLyoNCi0rICogU2h1dCBkb3du IGRhdGFiYXNlIG1vZHVsZQ0KLSsgKiBObyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGFmdGVy IHRoaXMNCi0rICovDQotKw0KLStzdGF0aWMgdm9pZCBkYl9zcWxpdGVfZnJlZV9jb25uZWN0aW9u KHN0cnVjdCBzcWxpdGVfY29ubmVjdGlvbiogY29uKQ0KLSt7DQotKwlpZiAoIWNvbikgcmV0dXJu Ow0KLSsNCi0rCXNxbGl0ZTNfY2xvc2UoY29uLT5jb25uKTsNCi0rCWZyZWVfZGJfaWQoY29uLT5o ZHIuaWQpOw0KLSsJcGtnX2ZyZWUoY29uKTsNCi0rfQ0KLSsNCi0rdm9pZCBkYl9zcWxpdGVfY2xv c2UoZGIxX2Nvbl90KiBfaCkNCi0rew0KLSsJZGJfZG9fY2xvc2UoX2gsIGRiX3NxbGl0ZV9mcmVl X2Nvbm5lY3Rpb24pOw0KLSt9DQotKw0KLSsvKg0KLSsgKiBSZWxlYXNlIGEgcmVzdWx0IHNldCBm cm9tIG1lbW9yeQ0KLSsgKi8NCi0raW50IGRiX3NxbGl0ZV9mcmVlX3Jlc3VsdChkYjFfY29uX3Qq IF9oLCBkYjFfcmVzX3QqIF9yKQ0KLSt7DQotKwlpZiAoIV9oIHx8ICFfcikgew0KLSsJCUxNX0VS UigiaW52YWxpZCBwYXJhbWV0ZXIgdmFsdWVcbiIpOw0KLSsJCXJldHVybiAtMTsNCi0rCX0NCi0r DQotKwlpZiAoZGJfZnJlZV9yZXN1bHQoX3IpIDwgMCkNCi0rCXsNCi0rCQlMTV9FUlIoImZhaWxl ZCB0byBmcmVlIHJlc3VsdCBzdHJ1Y3R1cmVcbiIpOw0KLSsJCXJldHVybiAtMTsNCi0rCX0NCi0r CXJldHVybiAwOw0KLSt9DQotKw0KLSsvKg0KLSsgKiBTdG9yZSBuYW1lIG9mIHRhYmxlIHRoYXQg d2lsbCBiZSB1c2VkIGJ5DQotKyAqIHN1YnNlcXVlbnQgZGF0YWJhc2UgZnVuY3Rpb25zDQotKyAq Lw0KLStpbnQgZGJfc3FsaXRlX3VzZV90YWJsZShkYjFfY29uX3QqIF9oLCBjb25zdCBzdHIqIF90 KQ0KLSt7DQotKwlyZXR1cm4gZGJfdXNlX3RhYmxlKF9oLCBfdCk7DQotK30NCi0rDQotKy8qDQot KyAqIFJlc2V0IHF1ZXJ5IGNvbnRleHQNCi0rICovDQotK3N0YXRpYyB2b2lkIGRiX3NxbGl0ZV9j bGVhbnVwX3F1ZXJ5KGNvbnN0IGRiMV9jb25fdCogX2MpDQotK3sNCi0rCXN0cnVjdCBzcWxpdGVf Y29ubmVjdGlvbiAqY29ubiA9IENPTl9TUUxJVEUoX2MpOw0KLSsJaW50IHJjOw0KLSsNCi0rCWlm IChjb25uLT5zdG10ICE9IE5VTEwpIHsNCi0rCQlyYyA9IHNxbGl0ZTNfZmluYWxpemUoY29ubi0+ c3RtdCk7DQotKwkJaWYgKHJjICE9IFNRTElURV9PSykNCi0rCQkJTE1fRVJSKCJmaW5hbGl6ZSBm YWlsZWQ6ICVzXG4iLA0KLSsJCQkJc3FsaXRlM19lcnJtc2coY29ubi0+Y29ubikpOw0KLSsJfQ0K LSsNCi0rCWNvbm4tPnN0bXQgPSBOVUxMOw0KLSsJY29ubi0+YmluZHBvcyA9IDA7DQotK30NCi0r DQotKy8qDQotKyAqIENvbnZlcnQgdmFsdWUgdG8gc3FsLXN0cmluZyBhcyBkYiBiaW5kIGluZGV4 DQotKyAqLw0KLStzdGF0aWMgaW50IGRiX3NxbGl0ZV92YWwyc3RyKGNvbnN0IGRiMV9jb25fdCog X2MsIGNvbnN0IGRiX3ZhbF90KiBfdiwgY2hhciogX3MsIGludCogX2xlbikNCi0rew0KLSsJc3Ry dWN0IHNxbGl0ZV9jb25uZWN0aW9uICpjb25uOw0KLSsJaW50IHJldDsNCi0rDQotKwlpZiAoIV9j IHx8ICFfdiB8fCAhX3MgfHwgIV9sZW4gfHwgKl9sZW4gPD0gMCkgew0KLSsJCUxNX0VSUigiaW52 YWxpZCBwYXJhbWV0ZXIgdmFsdWVcbiIpOw0KLSsJCXJldHVybiAtMTsNCi0rCX0NCi0rDQotKwlj b25uID0gQ09OX1NRTElURShfYyk7DQotKwlpZiAoY29ubi0+YmluZHBvcyA+PSBEQl9TUUxJVEVf TUFYX0JJTkRTKSB7DQotKwkJTE1fRVJSKCJ0b28gbWFueSBiaW5kaW5ncywgcmVjb21waWxlIHdp dGggbGFyZ2VyIERCX1NRTElURV9NQVhfQklORFNcbiIpOw0KLSsJCXJldHVybiAtMjsNCi0rCX0N Ci0rDQotKwljb25uLT5iaW5kYXJnW2Nvbm4tPmJpbmRwb3NdID0gX3Y7DQotKwlyZXQgPSBzbnBy aW50ZihfcywgKl9sZW4sICI/JXUiLCArK2Nvbm4tPmJpbmRwb3MpOw0KLSsJaWYgKCh1bnNpZ25l ZClyZXQgPj0gKHVuc2lnbmVkKSAqX2xlbikNCi0rCQlyZXR1cm4gLTExOw0KLSsNCi0rCSpfbGVu ID0gcmV0Ow0KLSsJcmV0dXJuIDA7DQotK30NCi0rDQotKy8qDQotKyAqIFNlbmQgYW4gU1FMIHF1 ZXJ5IHRvIHRoZSBzZXJ2ZXINCi0rICovDQotK3N0YXRpYyBpbnQgZGJfc3FsaXRlX3N1Ym1pdF9x dWVyeShjb25zdCBkYjFfY29uX3QqIF9oLCBjb25zdCBzdHIqIF9zKQ0KLSt7DQotKwlzdHJ1Y3Qg c3FsaXRlX2Nvbm5lY3Rpb24gKmNvbm4gPSBDT05fU1FMSVRFKF9oKTsNCi0rCXNxbGl0ZTNfc3Rt dCAqc3RtdDsNCi0rCWNvbnN0IGRiX3ZhbF90ICp2YWw7DQotKwlpbnQgcmMsIGk7DQotKw0KLSsJ TE1fREJHKCJzdWJtaXRfcXVlcnk6ICUuKnNcbiIsIF9zLT5sZW4sIF9zLT5zKTsNCi0rDQotKwly YyA9IHNxbGl0ZTNfcHJlcGFyZV92Mihjb25uLT5jb25uLCBfcy0+cywgX3MtPmxlbiwgJnN0bXQs IE5VTEwpOw0KLSsJaWYgKHJjICE9IFNRTElURV9PSykgew0KLSsJCUxNX0VSUigiZmFpbGVkIHRv IHByZXBhcmUgc3RhdGVtZW50OiAlc1xuIiwNCi0rCQkJc3FsaXRlM19lcnJtc2coY29ubi0+Y29u bikpOw0KLSsJCXJldHVybiAtMTsNCi0rCX0NCi0rCWNvbm4tPnN0bXQgPSBzdG10Ow0KLSsNCi0r CWZvciAoaSA9IDE7IGkgPD0gY29ubi0+YmluZHBvczsgaSsrKSB7DQotKwkJdmFsID0gY29ubi0+ YmluZGFyZ1tpLTFdOw0KLSsJCWlmIChWQUxfTlVMTCh2YWwpKSB7DQotKwkJCXJjID0gc3FsaXRl M19iaW5kX251bGwoc3RtdCwgaSk7DQotKwkJfSBlbHNlIHN3aXRjaCAoVkFMX1RZUEUodmFsKSkg ew0KLSsJCWNhc2UgREIxX0lOVDoNCi0rCQkJcmMgPSBzcWxpdGUzX2JpbmRfaW50KHN0bXQsIGks IFZBTF9JTlQodmFsKSk7DQotKwkJCWJyZWFrOw0KLSsJCWNhc2UgREIxX0JJR0lOVDoNCi0rCQkJ cmMgPSBzcWxpdGUzX2JpbmRfaW50NjQoc3RtdCwgaSwgVkFMX0JJR0lOVCh2YWwpKTsNCi0rCQkJ YnJlYWs7DQotKwkJY2FzZSBEQjFfRE9VQkxFOg0KLSsJCQlyYyA9IHNxbGl0ZTNfYmluZF9kb3Vi bGUoc3RtdCwgaSwgVkFMX0RPVUJMRSh2YWwpKTsNCi0rCQkJYnJlYWs7DQotKwkJY2FzZSBEQjFf U1RSSU5HOg0KLSsJCQlyYyA9IHNxbGl0ZTNfYmluZF90ZXh0KHN0bXQsIGksDQotKwkJCQlWQUxf U1RSSU5HKHZhbCksIC0xLCBOVUxMKTsNCi0rCQkJYnJlYWs7DQotKwkJY2FzZSBEQjFfU1RSOg0K LSsJCQlyYyA9IHNxbGl0ZTNfYmluZF90ZXh0KHN0bXQsIGksDQotKwkJCQlWQUxfU1RSKHZhbCku cywgVkFMX1NUUih2YWwpLmxlbiwgTlVMTCk7DQotKwkJCWJyZWFrOw0KLSsJCWNhc2UgREIxX0RB VEVUSU1FOg0KLSsJCQlyYyA9IHNxbGl0ZTNfYmluZF9kb3VibGUoc3RtdCwgaSwgdGltZXRfdG9f c3FsaXRlKFZBTF9USU1FKHZhbCkpKTsNCi0rCQkJYnJlYWs7DQotKwkJY2FzZSBEQjFfQkxPQjoN Ci0rCQkJcmMgPSBzcWxpdGUzX2JpbmRfYmxvYihzdG10LCBpLA0KLSsJCQkJVkFMX0JMT0IodmFs KS5zLCBWQUxfQkxPQih2YWwpLmxlbiwNCi0rCQkJCU5VTEwpOw0KLSsJCQlicmVhazsNCi0rCQlj YXNlIERCMV9CSVRNQVA6DQotKwkJCXJjID0gc3FsaXRlM19iaW5kX2ludChzdG10LCBpLCBWQUxf QklUTUFQKHZhbCkpOw0KLSsJCQlicmVhazsNCi0rCQlkZWZhdWx0Og0KLSsJCQlMTV9FUlIoInVu a25vd24gYmluZCB2YWx1ZSB0eXBlICVkXG4iLCBWQUxfVFlQRSh2YWwpKTsNCi0rCQkJcmV0dXJu IC0xOw0KLSsJCX0NCi0rCQlpZiAocmMgIT0gU1FMSVRFX09LKSB7DQotKwkJCUxNX0VSUigiUGFy YW1ldGVyIGJpbmQgZmFpbGVkOiAlc1xuIiwNCi0rCQkJCXNxbGl0ZTNfZXJybXNnKGNvbm4tPmNv bm4pKTsNCi0rCQkJcmV0dXJuIC0xOw0KLSsJCX0NCi0rCX0NCi0rDQotKwlyZXR1cm4gMDsNCi0r fQ0KLSsNCi0rc3RhdGljIGludCBkZWNsdHlwZV90b19kYnR5cGUoY29uc3QgY2hhciAqZGVjbHR5 cGUpDQotK3sNCi0rCS8qIFNRbGl0ZTMgaGFzIGR5bmFtaWMgdHlwaW5nLiBJdCBkb2VzIG5vdCBz dG9yZSB0aGUgYWN0dWFsDQotKwkgKiBleGFjdCB0eXBlLCBpbnN0ZWFkIGl0IHVzZXMgJ2FmZmlu aXR5JyBkZXBlbmRpbmcgb24gdGhlDQotKwkgKiB2YWx1ZS4gV2UgaGF2ZSB0byBnbyB0aHJvdWdo IHRoZSBkZWNsYXJhdGlvbiB0eXBlcyB0byBzZWUNCi0rCSAqIHdoYXQgdG8gcmV0dXJuLiAqLw0K LSsJaWYgKHN0cnN0cihkZWNsdHlwZSwgIklOVCIpICE9IE5VTEwgfHwNCi0rCSAgICBzdHJuY2Fz ZWNtcChkZWNsdHlwZSwgIlNFUklBTCIsIDYpID09IDApDQotKwkJcmV0dXJuIERCMV9JTlQ7DQot KwlpZiAoc3Ryc3RyKGRlY2x0eXBlLCAiQ0hBUiIpICE9IE5VTEwpDQotKwkJcmV0dXJuIERCMV9T VFJJTkc7DQotKwlpZiAoc3Ryc3RyKGRlY2x0eXBlLCAiVEVYVCIpICE9IE5VTEwpDQotKwkJcmV0 dXJuIERCMV9TVFI7DQotKwlpZiAoc3Ryc3RyKGRlY2x0eXBlLCAiUkVBTCIpICE9IE5VTEwgfHwN Ci0rCSAgICBzdHJzdHIoZGVjbHR5cGUsICJGTE9BIikgIT0gTlVMTCB8fA0KLSsJICAgIHN0cnN0 cihkZWNsdHlwZSwgIkRPVUIiKSAhPSBOVUxMKQ0KLSsJCXJldHVybiBEQjFfRE9VQkxFOw0KLSsJ aWYgKHN0cnN0cihkZWNsdHlwZSwgIkJMT0IiKSAhPSBOVUxMKQ0KLSsJCXJldHVybiBEQjFfQkxP QjsNCi0rCWlmIChzdHJuY2FzZWNtcChkZWNsdHlwZSwgIlRJTUUiLCA0KSA9PSAwIHx8DQotKwkg ICAgc3RybmNhc2VjbXAoZGVjbHR5cGUsICJEQVRFIiwgNCkgPT0gMCkNCi0rCQlyZXR1cm4gREIx X0RBVEVUSU1FOw0KLSsNCi0rCUxNX0VSUigic3FsaXRlIGRlY2x0eXBlICclcycgbm90IHJlY29n bml6ZWQsIGRlZmF1bHRpbmcgdG8gaW50IiwNCi0rCSAgICAgICBkZWNsdHlwZSk7DQotKwlyZXR1 cm4gREIxX0lOVDsNCi0rfQ0KLSsNCi0rc3RhdGljIHN0ciogc3RyX2R1cChjb25zdCBjaGFyICpf cykNCi0rew0KLSsJc3RyICpzOw0KLSsJaW50IGxlbiA9IHN0cmxlbihfcyk7DQotKw0KLSsJcyA9 IChzdHIqKSBwa2dfbWFsbG9jKHNpemVvZihzdHIpK2xlbisxKTsNCi0rCXMtPmxlbiA9IGxlbjsN Ci0rCXMtPnMgPSAoKGNoYXIqKXMpICsgc2l6ZW9mKHN0cik7DQotKwltZW1jcHkocy0+cywgX3Ms IGxlbik7DQotKwlzLT5zW2xlbl0gPSAnXDAnOw0KLSsNCi0rCXJldHVybiBzOw0KLSt9DQotKw0K LStzdGF0aWMgdm9pZCBzdHJfYXNzaWduKHN0ciogcywgY29uc3QgY2hhciAqX3MsIGludCBsZW4p DQotK3sNCi0rCXMtPnMgPSAoY2hhciAqKSBwa2dfbWFsbG9jKGxlbiArIDEpOw0KLSsJcy0+bGVu ID0gbGVuOw0KLSsJbWVtY3B5KHMtPnMsIF9zLCBsZW4pOw0KLSsJcy0+c1tsZW5dID0gMDsNCi0r fQ0KLSsNCi0rLyoNCi0rICogUmVhZCBkYXRhYmFzZSBhbnN3ZXIgYW5kIGZpbGwgdGhlIHN0cnVj dHVyZQ0KLSsgKi8NCi0raW50IGRiX3NxbGl0ZV9zdG9yZV9yZXN1bHQoY29uc3QgZGIxX2Nvbl90 KiBfaCwgZGIxX3Jlc190KiogX3IpDQotK3sNCi0rCXN0cnVjdCBzcWxpdGVfY29ubmVjdGlvbiAq Y29ubiA9IENPTl9TUUxJVEUoX2gpOw0KLSsJZGIxX3Jlc190ICpyZXM7DQotKwlpbnQgaSwgcmMs IG51bV9yb3dzID0gMCwgbnVtX2FsbG9jID0gMDsNCi0rCWRiX3Jvd190ICpyb3dzID0gTlVMTCwg KnJvdzsNCi0rCWRiX3ZhbF90ICp2YWw7DQotKw0KLSsJcmVzID0gZGJfbmV3X3Jlc3VsdCgpOw0K LSsJaWYgKHJlcyA9PSBOVUxMKQ0KLSsJCWdvdG8gbm9fbWVtOw0KLSsNCi0rCXdoaWxlICgxKSB7 DQotKwkJcmMgPSBzcWxpdGUzX3N0ZXAoY29ubi0+c3RtdCk7DQotKwkJaWYgKHJjID09IFNRTElU RV9ET05FKSB7DQotKwkJCSpfciA9IHJlczsNCi0rCQkJcmV0dXJuIDA7DQotKwkJfQ0KLSsJCWlm IChyYyAhPSBTUUxJVEVfUk9XKSB7DQotKwkJCUxNX0lORk8oInNxbGl0ZTNfc3RlcCBmYWlsZWQ6 ICVzXG4iLCBzcWxpdGUzX2Vycm1zZyhjb25uLT5jb25uKSk7DQotKwkJCWdvdG8gZXJyOw0KLSsJ CX0NCi0rCQlpZiAobnVtX3Jvd3MgPT0gMCkgew0KLSsJCQkvKiBnZXQgY29sdW1uIHR5cGVzICov DQotKwkJCXJjID0gc3FsaXRlM19jb2x1bW5fY291bnQoY29ubi0+c3RtdCk7DQotKwkJCWlmIChk Yl9hbGxvY2F0ZV9jb2x1bW5zKHJlcywgcmMpICE9IDApDQotKwkJCQlnb3RvIGVycjsNCi0rCQkJ UkVTX0NPTF9OKHJlcykgPSByYzsNCi0rDQotKwkJCWZvciAoaSA9IDA7IGkgPCBSRVNfQ09MX04o cmVzKTsgaSsrKSB7DQotKwkJCQlSRVNfTkFNRVMocmVzKVtpXSA9IHN0cl9kdXAoc3FsaXRlM19j b2x1bW5fbmFtZShjb25uLT5zdG10LCBpKSk7DQotKwkJCQlSRVNfVFlQRVMocmVzKVtpXSA9IGRl Y2x0eXBlX3RvX2RidHlwZShzcWxpdGUzX2NvbHVtbl9kZWNsdHlwZShjb25uLT5zdG10LCBpKSk7 DQotKwkJCX0NCi0rCQl9DQotKwkJaWYgKG51bV9yb3dzID49IG51bV9hbGxvYykgew0KLSsJCQlp ZiAobnVtX2FsbG9jKQ0KLSsJCQkJbnVtX2FsbG9jICo9IDI7DQotKwkJCWVsc2UNCi0rCQkJCW51 bV9hbGxvYyA9IDg7DQotKwkJCXJvd3MgPSBwa2dfcmVhbGxvYyhyb3dzLCBzaXplb2YoZGJfcm93 X3QpICogbnVtX2FsbG9jKTsNCi0rCQkJaWYgKHJvd3MgPT0gTlVMTCkNCi0rCQkJCWdvdG8gbm9f bWVtOw0KLSsJCQlSRVNfUk9XUyhyZXMpID0gcm93czsNCi0rCQl9DQotKw0KLSsJCXJvdyA9ICZS RVNfUk9XUyhyZXMpW251bV9yb3dzXTsNCi0rCQludW1fcm93cysrOw0KLSsJCVJFU19ST1dfTihy ZXMpID0gbnVtX3Jvd3M7CQkvKiByb3dzIGluIHRoaXMgcmVzdWx0IHNldCAqLw0KLSsJCVJFU19O VU1fUk9XUyhyZXMpID0gbnVtX3Jvd3M7CQkvKiByb3dzIGluIHRvdGFsICovDQotKw0KLSsJCWlm IChkYl9hbGxvY2F0ZV9yb3cocmVzLCByb3cpICE9IDApDQotKwkJCWdvdG8gbm9fbWVtOw0KLSsN Ci0rCQlmb3IgKGkgPSAwLCB2YWwgPSBST1dfVkFMVUVTKHJvdyk7IGkgPCBSRVNfQ09MX04ocmVz KTsgaSsrLCB2YWwrKykgew0KLSsJCQlWQUxfVFlQRSh2YWwpID0gUkVTX1RZUEVTKHJlcylbaV07 DQotKwkJCVZBTF9OVUxMKHZhbCkgPSAwOw0KLSsJCQlWQUxfRlJFRSh2YWwpID0gMDsNCi0rCQkJ aWYgKHNxbGl0ZTNfY29sdW1uX3R5cGUoY29ubi0+c3RtdCwgaSkgPT0gU1FMSVRFX05VTEwpIHsN Ci0rCQkJCVZBTF9OVUxMKHZhbCkgPSAxOw0KLSsJCQl9IGVsc2Ugc3dpdGNoIChWQUxfVFlQRSh2 YWwpKSB7DQotKwkJCWNhc2UgREIxX0lOVDoNCi0rCQkJCVZBTF9JTlQodmFsKSA9IHNxbGl0ZTNf Y29sdW1uX2ludChjb25uLT5zdG10LCBpKTsNCi0rCQkJCWJyZWFrOw0KLSsJCQljYXNlIERCMV9C SUdJTlQ6DQotKwkJCQlWQUxfQklHSU5UKHZhbCkgPSBzcWxpdGUzX2NvbHVtbl9pbnQ2NChjb25u LT5zdG10LCBpKTsNCi0rCQkJCWJyZWFrOw0KLSsJCQljYXNlIERCMV9TVFJJTkc6DQotKwkJCQkv KiBmaXJzdCBmaWVsZCBvZiBzdHJ1Y3Qgc3RyKiBpcyB0aGUgY2hhciogc28gd2UgY2FuIGp1c3QN Ci0rCQkJCSAqIGRvIHdoYXRldmVyIERCMV9TVFIgY2FzZSBkb2VzICovDQotKwkJCWNhc2UgREIx X1NUUjoNCi0rCQkJCXN0cl9hc3NpZ24oJlZBTF9TVFIodmFsKSwNCi0rCQkJCQkoY29uc3QgY2hh ciopIHNxbGl0ZTNfY29sdW1uX3RleHQoY29ubi0+c3RtdCwgaSksDQotKwkJCQkJc3FsaXRlM19j b2x1bW5fYnl0ZXMoY29ubi0+c3RtdCwgaSkpOw0KLSsJCQkJVkFMX0ZSRUUodmFsKSA9IDE7DQot KwkJCQlicmVhazsNCi0rCQkJY2FzZSBEQjFfRE9VQkxFOg0KLSsJCQkJVkFMX0RPVUJMRSh2YWwp ID0gc3FsaXRlM19jb2x1bW5fZG91YmxlKGNvbm4tPnN0bXQsIGkpOw0KLSsJCQkJYnJlYWs7DQot KwkJCWNhc2UgREIxX0RBVEVUSU1FOg0KLSsJCQkJVkFMX1RJTUUodmFsKSA9IHNxbGl0ZV90b190 aW1ldChzcWxpdGUzX2NvbHVtbl9kb3VibGUoY29ubi0+c3RtdCwgaSkpOw0KLSsJCQkJYnJlYWs7 DQotKwkJCWNhc2UgREIxX0JMT0I6DQotKwkJCQlzdHJfYXNzaWduKCZWQUxfQkxPQih2YWwpLA0K LSsJCQkJCShjb25zdCBjaGFyKikgc3FsaXRlM19jb2x1bW5fYmxvYihjb25uLT5zdG10LCBpKSwN Ci0rCQkJCQlzcWxpdGUzX2NvbHVtbl9ieXRlcyhjb25uLT5zdG10LCBpKSk7DQotKwkJCQlWQUxf RlJFRSh2YWwpID0gMTsNCi0rCQkJCWJyZWFrOw0KLSsJCQlkZWZhdWx0Og0KLSsJCQkJTE1fRVJS KCJ1bmhhbmRsZWQgZGItdHlwZVxuIik7DQotKwkJCQlnb3RvIGVycjsNCi0rCQkJfQ0KLSsJCX0N Ci0rCX0NCi0rDQotK25vX21lbToNCi0rCUxNX0VSUigibm8gcHJpdmF0ZSBtZW1vcnkgbGVmdFxu Iik7DQotK2VycjoNCi0rCWlmIChyZXMpDQotKwkJZGJfZnJlZV9yZXN1bHQocmVzKTsNCi0rCXJl dHVybiAtMTsNCi0rfQ0KLSsNCi0rLyoNCi0rICogUXVlcnkgdGFibGUgZm9yIHNwZWNpZmllZCBy b3dzDQotKyAqIF9oOiBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGRhdGFiYXNlIGNvbm5lY3Rpb24N Ci0rICogX2s6IGtleSBuYW1lcw0KLSsgKiBfb3A6IG9wZXJhdG9ycw0KLSsgKiBfdjogdmFsdWVz IG9mIHRoZSBrZXlzIHRoYXQgbXVzdCBtYXRjaA0KLSsgKiBfYzogY29sdW1uIG5hbWVzIHRvIHJl dHVybg0KLSsgKiBfbjogbnVtYmVyIG9mIGtleT12YWx1ZXMgcGFpcnMgdG8gY29tcGFyZQ0KLSsg KiBfbmM6IG51bWJlciBvZiBjb2x1bW5zIHRvIHJldHVybg0KLSsgKiBfbzogb3JkZXIgYnkgdGhl IHNwZWNpZmllZCBjb2x1bW4NCi0rICovDQotK2ludCBkYl9zcWxpdGVfcXVlcnkoY29uc3QgZGIx X2Nvbl90KiBfaCwgY29uc3QgZGJfa2V5X3QqIF9rLCBjb25zdCBkYl9vcF90KiBfb3AsDQotKwkJ Y29uc3QgZGJfdmFsX3QqIF92LCBjb25zdCBkYl9rZXlfdCogX2MsIGludCBfbiwgaW50IF9uYywN Ci0rCQljb25zdCBkYl9rZXlfdCBfbywgZGIxX3Jlc190KiogX3IpDQotK3sNCi0rCWludCByYzsN Ci0rDQotKwlyYyA9IGRiX2RvX3F1ZXJ5KF9oLCBfaywgX29wLCBfdiwgX2MsIF9uLCBfbmMsIF9v LCBfciwNCi0rCQkJIGRiX3NxbGl0ZV92YWwyc3RyLA0KLSsJCQkgZGJfc3FsaXRlX3N1Ym1pdF9x dWVyeSwNCi0rCQkJIGRiX3NxbGl0ZV9zdG9yZV9yZXN1bHQpOw0KLSsJZGJfc3FsaXRlX2NsZWFu dXBfcXVlcnkoX2gpOw0KLSsNCi0rCXJldHVybiByYzsNCi0rfQ0KLSsNCi0rc3RhdGljIGludCBk Yl9zcWxpdGVfY29tbWl0KGNvbnN0IGRiMV9jb25fdCogX2gpDQotK3sNCi0rCXN0cnVjdCBzcWxp dGVfY29ubmVjdGlvbiAqY29ubiA9IENPTl9TUUxJVEUoX2gpOw0KLSsJaW50IHJjOw0KLSsNCi0r CXJjID0gc3FsaXRlM19zdGVwKGNvbm4tPnN0bXQpOw0KLSsJaWYgKHJjICE9IFNRTElURV9ET05F ICYmIHJjICE9IFNRTElURV9PSykgew0KLSsJCUxNX0VSUigic3FsaXRlIGNvbW1pdCBmYWlsZWQ6 ICVzXG4iLA0KLSsJCSAgICAgICBzcWxpdGUzX2Vycm1zZyhjb25uLT5jb25uKSk7DQotKwkJcmV0 dXJuIC0xOw0KLSsJfQ0KLSsNCi0rCXJldHVybiAwOw0KLSt9DQotKw0KLSsvKg0KLSsgKiBJbnNl cnQgYSByb3cgaW50byBzcGVjaWZpZWQgdGFibGUNCi0rICogX2g6IHN0cnVjdHVyZSByZXByZXNl bnRpbmcgZGF0YWJhc2UgY29ubmVjdGlvbg0KLSsgKiBfazoga2V5IG5hbWVzDQotKyAqIF92OiB2 YWx1ZXMgb2YgdGhlIGtleXMNCi0rICogX246IG51bWJlciBvZiBrZXk9dmFsdWUgcGFpcnMNCi0r ICovDQotK2ludCBkYl9zcWxpdGVfaW5zZXJ0KGNvbnN0IGRiMV9jb25fdCogX2gsIGNvbnN0IGRi X2tleV90KiBfaywgY29uc3QgZGJfdmFsX3QqIF92LA0KLSsJCWludCBfbikNCi0rew0KLSsJaW50 IHJjID0gLTE7DQotKw0KLSsJcmMgPSBkYl9kb19pbnNlcnQoX2gsIF9rLCBfdiwgX24sDQotKwkJ CSAgZGJfc3FsaXRlX3ZhbDJzdHIsDQotKwkJCSAgZGJfc3FsaXRlX3N1Ym1pdF9xdWVyeSk7DQot KwlpZiAocmMgPT0gMCkNCi0rCQlyYyA9IGRiX3NxbGl0ZV9jb21taXQoX2gpOw0KLSsJZGJfc3Fs aXRlX2NsZWFudXBfcXVlcnkoX2gpOw0KLSsNCi0rCXJldHVybiByYzsNCi0rfQ0KLSsNCi0rDQot Ky8qDQotKyAqIERlbGV0ZSBhIHJvdyBmcm9tIHRoZSBzcGVjaWZpZWQgdGFibGUNCi0rICogX2g6 IHN0cnVjdHVyZSByZXByZXNlbnRpbmcgZGF0YWJhc2UgY29ubmVjdGlvbg0KLSsgKiBfazoga2V5 IG5hbWVzDQotKyAqIF9vOiBvcGVyYXRvcnMNCi0rICogX3Y6IHZhbHVlcyBvZiB0aGUga2V5cyB0 aGF0IG11c3QgbWF0Y2gNCi0rICogX246IG51bWJlciBvZiBrZXk9dmFsdWUgcGFpcnMNCi0rICov DQotK2ludCBkYl9zcWxpdGVfZGVsZXRlKGNvbnN0IGRiMV9jb25fdCogX2gsIGNvbnN0IGRiX2tl eV90KiBfaywgY29uc3QgZGJfb3BfdCogX28sDQotKwkJY29uc3QgZGJfdmFsX3QqIF92LCBpbnQg X24pDQotK3sNCi0rCWludCByYzsNCi0rDQotKwlyYyA9IGRiX2RvX2RlbGV0ZShfaCwgX2ssIF9v LCBfdiwgX24sDQotKwkJCSAgZGJfc3FsaXRlX3ZhbDJzdHIsDQotKwkJCSAgZGJfc3FsaXRlX3N1 Ym1pdF9xdWVyeSk7DQotKwlpZiAocmMgPT0gMCkNCi0rCQlyYyA9IGRiX3NxbGl0ZV9jb21taXQo X2gpOw0KLSsJZGJfc3FsaXRlX2NsZWFudXBfcXVlcnkoX2gpOw0KLSsNCi0rCXJldHVybiByYzsN Ci0rfQ0KLSsNCi0rDQotKy8qDQotKyAqIFVwZGF0ZSBzb21lIHJvd3MgaW4gdGhlIHNwZWNpZmll ZCB0YWJsZQ0KLSsgKiBfaDogc3RydWN0dXJlIHJlcHJlc2VudGluZyBkYXRhYmFzZSBjb25uZWN0 aW9uDQotKyAqIF9rOiBrZXkgbmFtZXMNCi0rICogX286IG9wZXJhdG9ycw0KLSsgKiBfdjogdmFs dWVzIG9mIHRoZSBrZXlzIHRoYXQgbXVzdCBtYXRjaA0KLSsgKiBfdWs6IHVwZGF0ZWQgY29sdW1u cw0KLSsgKiBfdXY6IHVwZGF0ZWQgdmFsdWVzIG9mIHRoZSBjb2x1bW5zDQotKyAqIF9uOiBudW1i ZXIgb2Yga2V5PXZhbHVlIHBhaXJzDQotKyAqIF91bjogbnVtYmVyIG9mIGNvbHVtbnMgdG8gdXBk YXRlDQotKyAqLw0KLStpbnQgZGJfc3FsaXRlX3VwZGF0ZShjb25zdCBkYjFfY29uX3QqIF9oLCBj b25zdCBkYl9rZXlfdCogX2ssIGNvbnN0IGRiX29wX3QqIF9vLA0KLSsJCWNvbnN0IGRiX3ZhbF90 KiBfdiwgY29uc3QgZGJfa2V5X3QqIF91aywgY29uc3QgZGJfdmFsX3QqIF91diwNCi0rCQlpbnQg X24sIGludCBfdW4pDQotK3sNCi0rCWludCByYzsNCi0rDQotKwlyYyA9IGRiX2RvX3VwZGF0ZShf aCwgX2ssIF9vLCBfdiwgX3VrLCBfdXYsIF9uLCBfdW4sDQotKwkJCSAgZGJfc3FsaXRlX3ZhbDJz dHIsDQotKwkJCSAgZGJfc3FsaXRlX3N1Ym1pdF9xdWVyeSk7DQotKwlpZiAocmMgPT0gMCkNCi0r CQlyYyA9IGRiX3NxbGl0ZV9jb21taXQoX2gpOw0KLSsJZGJfc3FsaXRlX2NsZWFudXBfcXVlcnko X2gpOw0KLSsNCi0rCXJldHVybiByYzsNCi0rfQ0KLSsNCi0raW50IGRiX3NxbGl0ZV9yYXdfcXVl cnkoY29uc3QgZGIxX2Nvbl90KiBfaCwgY29uc3Qgc3RyKiBfcywgZGIxX3Jlc190KiogX3IpDQot K3sNCi0rCXJldHVybiBkYl9kb19yYXdfcXVlcnkoX2gsIF9zLCBfciwNCi0rCQkJICAgICAgIGRi X3NxbGl0ZV9zdWJtaXRfcXVlcnksDQotKwkJCSAgICAgICBkYl9zcWxpdGVfc3RvcmVfcmVzdWx0 KTsNCi0rfQ0KLUluZGV4OiBrYW1haWxpby0zLjEuMS9tb2R1bGVzX2svZGJfc3FsaXRlL2RiYXNl LmgNCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMA0KLSsrKyBrYW1haWxpby0zLjEuMS9tb2R1bGVzX2svZGJfc3FsaXRlL2RiYXNl LmgJMjAxMS0wMS0wNSAxNDoyMDo0Ny4wMDAwMDAwMDAgKzAyMDANCi1AQCAtMCwwICsxLDcyIEBA DQotKy8qDQotKyAqICRJZCQNCi0rICoNCi0rICogU1FsaXRlIG1vZHVsZSBjb3JlIGZ1bmN0aW9u cw0KLSsgKg0KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVGltbyBUZXLDpHMNCi0rICoNCi0rICog VGhpcyBmaWxlIGlzIHBhcnQgb2YgS2FtYWlsaW8sIGEgZnJlZSBTSVAgc2VydmVyLg0KLSsgKg0K LSsgKiBLYW1haWxpbyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5DQotKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQotKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQotKyAqIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24NCi0rICoNCi0rICogS2FtYWlsaW8gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCi0rICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YN Ci0rICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQ0KLSsgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLg0KLSsgKg0KLSsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KLSsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KLSsgKiBGb3VuZGF0aW9uLCBJbmMu LCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNB DQotKyAqLw0KLSsNCi0rDQotKyNpZm5kZWYgREJBU0VfSA0KLSsjZGVmaW5lIERCQVNFX0gNCi0r DQotKyNpbmNsdWRlIDxzcWxpdGUzLmg+DQotKw0KLSsjaW5jbHVkZSAiLi4vLi4vbGliL3NyZGIx L2RiX3Bvb2wuaCINCi0rI2luY2x1ZGUgIi4uLy4uL2xpYi9zcmRiMS9kYl9jb24uaCINCi0rI2lu Y2x1ZGUgIi4uLy4uL2xpYi9zcmRiMS9kYl9yZXMuaCINCi0rI2luY2x1ZGUgIi4uLy4uL2xpYi9z cmRiMS9kYl9rZXkuaCINCi0rI2luY2x1ZGUgIi4uLy4uL2xpYi9zcmRiMS9kYl9vcC5oIg0KLSsj aW5jbHVkZSAiLi4vLi4vbGliL3NyZGIxL2RiX3ZhbC5oIg0KLSsNCi0rI2RlZmluZSBEQl9TUUxJ VEVfTUFYX0JJTkRTIDY0DQotKw0KLStzdHJ1Y3Qgc3FsaXRlX2Nvbm5lY3Rpb24gew0KLSsJc3Ry dWN0IHBvb2xfY29uIGhkcjsNCi0rDQotKwlzcWxpdGUzICpjb25uOw0KLSsJaW50IGJpbmRwb3M7 DQotKw0KLSsJc3FsaXRlM19zdG10ICpzdG10Ow0KLSsJY29uc3QgZGJfdmFsX3QgKmJpbmRhcmdb REJfU1FMSVRFX01BWF9CSU5EU107DQotK307DQotKw0KLSsjZGVmaW5lIENPTl9TUUxJVEUoZGJf Y29uKQkoKHN0cnVjdCBzcWxpdGVfY29ubmVjdGlvbiAqKSBkYl9jb24tPnRhaWwpDQotKw0KLStk YjFfY29uX3QqIGRiX3NxbGl0ZV9pbml0KGNvbnN0IHN0ciogX3NxbHVybCk7DQotK3ZvaWQgZGJf c3FsaXRlX2Nsb3NlKGRiMV9jb25fdCogX2gpOw0KLSsNCi0raW50IGRiX3NxbGl0ZV9mcmVlX3Jl c3VsdChkYjFfY29uX3QqIF9oLCBkYjFfcmVzX3QqIF9yKTsNCi0rDQotK2ludCBkYl9zcWxpdGVf cXVlcnkoY29uc3QgZGIxX2Nvbl90KiBfaCwgY29uc3QgZGJfa2V5X3QqIF9rLCBjb25zdCBkYl9v cF90KiBfb3AsDQotKwkJY29uc3QgZGJfdmFsX3QqIF92LCBjb25zdCBkYl9rZXlfdCogX2MsIGlu dCBfbiwgaW50IF9uYywNCi0rCQljb25zdCBkYl9rZXlfdCBfbywgZGIxX3Jlc190KiogX3IpOw0K LStpbnQgZGJfc3FsaXRlX2luc2VydChjb25zdCBkYjFfY29uX3QqIF9oLCBjb25zdCBkYl9rZXlf dCogX2ssIGNvbnN0IGRiX3ZhbF90KiBfdiwNCi0rCQlpbnQgX24pOw0KLStpbnQgZGJfc3FsaXRl X2RlbGV0ZShjb25zdCBkYjFfY29uX3QqIF9oLCBjb25zdCBkYl9rZXlfdCogX2ssIGNvbnN0IGRi X29wX3QqIF9vLA0KLSsJCWNvbnN0IGRiX3ZhbF90KiBfdiwgaW50IF9uKTsNCi0raW50IGRiX3Nx bGl0ZV91cGRhdGUoY29uc3QgZGIxX2Nvbl90KiBfaCwgY29uc3QgZGJfa2V5X3QqIF9rLCBjb25z dCBkYl9vcF90KiBfbywNCi0rCQljb25zdCBkYl92YWxfdCogX3YsIGNvbnN0IGRiX2tleV90KiBf dWssIGNvbnN0IGRiX3ZhbF90KiBfdXYsDQotKwkJaW50IF9uLCBpbnQgX3VuKTsNCi0raW50IGRi X3NxbGl0ZV9yYXdfcXVlcnkoY29uc3QgZGIxX2Nvbl90KiBfaCwgY29uc3Qgc3RyKiBfcywgZGIx X3Jlc190KiogX3IpOw0KLSsNCi0raW50IGRiX3NxbGl0ZV91c2VfdGFibGUoZGIxX2Nvbl90KiBf aCwgY29uc3Qgc3RyKiBfdCk7DQotKw0KLSsNCi0rI2VuZGlmIC8qIERCQVNFX0ggKi8NCi0tIA0K MS43LjcNCg0KDQoNCi0tLQ0KVW5zdWJzY3JpYmU6ICBhbHBpbmUtZGV2ZWwrdW5zdWJzY3JpYmVA bGlzdHMuYWxwaW5lbGludXgub3JnDQpIZWxwOiAgICAgICAgIGFscGluZS1kZXZlbCtoZWxwQGxp c3RzLmFscGluZWxpbnV4Lm9yZw0KLS0tDQo=