From nobody Fri Mar 29 11:15:30 2024 X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by lists.alpinelinux.org (Postfix) with ESMTP id 612325C456D for ; Fri, 9 Dec 2016 08:23:44 +0000 (GMT) Received: by mail-wm0-f68.google.com with SMTP id g23so2398831wme.1 for ; Fri, 09 Dec 2016 00:23:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=pAFVBjfYQt97/MYEs5hxTZdFA1epk5hcl+Qqtpyo0/M=; b=Fe1xycHqyHJTZ3Fls41NFfBZoIQettbvv5/4qi2T0yAHgJ7BZz12sdTbEx6TreIESa KdW/FqrZeslX5jOrDNuxLfaU70HW4iX9kc4TfVyop5h5Nq1LdcU7WItB7JJU6orjuy6J soswxUsBJdvuJPt9I8mLjaT93trTovivOoIu6Gr9Snh1Lipr9Kf3zi9ReF/W1J24aupb fdESHeTd8ScflUN/jKTZeVM2tEbcfJdws3SChxUcW96RKaiI2KMtFHs3JtPCMbrTEacQ AJL6Lr9F7IJlz4z+wzpxYC1dkCUlnGTgoSAi/e60fLPs7VnMbWKTA92maLL04wY6QWCd X6rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=pAFVBjfYQt97/MYEs5hxTZdFA1epk5hcl+Qqtpyo0/M=; b=eibskKmuKbwXh3Gmp9rm239W2fka+Ux+7t8y+snLk6eM3nIW5g93lsrEVrkhtUSTew D3tdhf3AzSyRN/llS0xMInfyHJUaXlXXYpmItct13TBjuNEYB1tKGNQqG0HWecFuXMlJ ruru9yGUDeZFLbtAWo2RzsoyHvIaej4LM3Gy0sPvMTGdcAJC4aXJ2GOscDyNYjveqbhr rdtjLLV+qdtVL3ZMEgG6jSRHIGA3+/25oy2f5NJgePi6MaQXRsKr70se6cHkgx4IKIiN rfTxIw9qGZZ3ssfy5TaT25BxDBfUgM8SoyTW8wpJDppnI4tLsLkzlofp+ByiAGj1YCBW ytbA== X-Gm-Message-State: AKaTC00mhdXiFrpt+huqOGUBFcZzWeJxBWVkYAjjk7gAznVawGoEBkxlFpxeMQjmJ4mYaA== X-Received: by 10.25.0.194 with SMTP id 185mr3279099lfa.53.1481271822804; Fri, 09 Dec 2016 00:23:42 -0800 (PST) Received: from v3-1.util.wtbts.net ([83.145.235.199]) by smtp.gmail.com with ESMTPSA id g4sm6355966ljg.23.2016.12.09.00.23.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 09 Dec 2016 00:23:39 -0800 (PST) From: Sergey Lukin To: alpine-aports@lists.alpinelinux.org Cc: Sergey Lukin Subject: [alpine-aports] [PATCH v3.1] main/curl: security upgrade - fixes #6437 Date: Fri, 9 Dec 2016 08:23:32 +0000 Message-Id: <1481271812-16366-1-git-send-email-sergej.lukin@gmail.com> X-Mailer: git-send-email 2.2.1 X-Mailinglist: alpine-aports 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 Q1ZFLTIwMTYtODYxNSwgQ1ZFLTIwMTYtODYxNiwgQ1ZFLTIwMTYtODYxNywgQ1ZFLTIwMTYtODYx OCwgQ1ZFLTIwMTYtODYxOSwNCkNWRS0yMDE2LTg2MjAsIENWRS0yMDE2LTg2MjEgQ1ZFLTIwMTYt ODYyMiwgQ1ZFLTIwMTYtODYyMywgQ1ZFLTIwMTYtODYyNA0KLS0tDQogbWFpbi9jdXJsL0FQS0JV SUxEICAgICAgICAgICAgICAgICAgfCAgNDkgKysrKysrKystDQogbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MTUucGF0Y2ggICAgICAgfCAgNzUgKysrKysrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAx Ni04NjE2LnBhdGNoICAgICAgIHwgIDY2ICsrKysrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAx Ni04NjE3LnBhdGNoICAgICAgIHwgIDM2ICsrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYx OC5wYXRjaCAgICAgICB8ICA1MCArKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5w YXRjaCAgICAgICB8ICA1MCArKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMC5wYXRj aCAgICAgICB8IDIwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIG1haW4v Y3VybC9DVkUtMjAxNi04NjIxLnBhdGNoICAgICAgIHwgMTIxICsrKysrKysrKysrKysrKysrKysr Kw0KIG1haW4vY3VybC9DVkUtMjAxNi04NjIyLnBhdGNoICAgICAgIHwgMTI2ICsrKysrKysrKysr KysrKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMy5wYXRjaCAgICAgICB8IDIwNyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYt ODYyNC1maXhlZC5wYXRjaCB8ICA2MSArKysrKysrKysrKw0KIDExIGZpbGVzIGNoYW5nZWQsIDEw NDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFp bi9jdXJsL0NWRS0yMDE2LTg2MTUucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJs L0NWRS0yMDE2LTg2MTYucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0y MDE2LTg2MTcucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MTgucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTkucGF0 Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjAucGF0Y2gNCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjEucGF0Y2gNCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjIucGF0Y2gNCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjMucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWFpbi9jdXJsL0NWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2gNCg0KZGlmZiAtLWdpdCBhL21haW4v Y3VybC9BUEtCVUlMRCBiL21haW4vY3VybC9BUEtCVUlMRA0KaW5kZXggYWZiOTg3Zi4uMTg0MGZj NSAxMDA2NDQNCi0tLSBhL21haW4vY3VybC9BUEtCVUlMRA0KKysrIGIvbWFpbi9jdXJsL0FQS0JV SUxEDQpAQCAtMSw3ICsxLDggQEANCiAjIE1haW50YWluZXI6IE5hdGFuYWVsIENvcGEgPG5jb3Bh QGFscGluZWxpbnV4Lm9yZz4NCisjIENvbnRyaWJ1dG9yOiBTZXJnZXkgTHVraW4gPHNlcmdlai5s dWtpbkBnbWFpbC5jb20+DQogcGtnbmFtZT1jdXJsDQogcGtndmVyPTcuNDkuMQ0KLXBrZ3JlbD0z DQorcGtncmVsPTQNCiBwa2dkZXNjPSJBbiBVUkwgcmV0cml2YWwgdXRpbGl0eSBhbmQgbGlicmFy eSINCiB1cmw9Imh0dHA6Ly9jdXJsLmhheHguc2UiDQogYXJjaD0iYWxsIg0KQEAgLTE3LDYgKzE4 LDE2IEBAIHNvdXJjZT0iaHR0cDovL2N1cmwuaGF4eC5zZS9kb3dubG9hZC9jdXJsLSRwa2d2ZXIu dGFyLmJ6Mg0KIAlDVkUtMjAxNi01NDIxLnBhdGNoDQogCUNWRS0yMDE2LTcxNDEucGF0Y2gNCiAJ Q1ZFLTIwMTYtNzE2Ny5wYXRjaA0KKyAgICAgICAgQ1ZFLTIwMTYtODYxNS5wYXRjaA0KKyAgICAg ICAgQ1ZFLTIwMTYtODYxNi5wYXRjaA0KKyAgICAgICAgQ1ZFLTIwMTYtODYxNy5wYXRjaA0KKyAg ICAgICAgQ1ZFLTIwMTYtODYxOC5wYXRjaA0KKyAgICAgICAgQ1ZFLTIwMTYtODYxOS5wYXRjaA0K KyAgICAgICAgQ1ZFLTIwMTYtODYyMC5wYXRjaA0KKyAgICAgICAgQ1ZFLTIwMTYtODYyMS5wYXRj aA0KKyAgICAgICAgQ1ZFLTIwMTYtODYyMi5wYXRjaA0KKyAgICAgICAgQ1ZFLTIwMTYtODYyMy5w YXRjaA0KKyAgICAgICAgQ1ZFLTIwMTYtODYyNC1maXhlZC5wYXRjaA0KIAkiDQogDQogX2J1aWxk ZGlyPSIkc3JjZGlyLyRwa2duYW1lLSRwa2d2ZXIiDQpAQCAtNjUsMTYgKzc2LDQ2IEBAIG1kNXN1 bXM9IjZiYjFmN2FmNWI1OGIzMGU0ZTY0MTRiOGMxYWJjY2FiICBjdXJsLTcuNDkuMS50YXIuYnoy DQogMTUwZTNjMTEwZDZlYjg1MTg3ZTEwOWQwNDMxN2I5ZTMgIENWRS0yMDE2LTU0MjAucGF0Y2gN CiAwNTI0NjY0YmM5MjYzNzRmNmE3YjA1NzA0NjkyNGJkMiAgQ1ZFLTIwMTYtNTQyMS5wYXRjaA0K IDdlYWRhMWUzNzQ1ZTNjZmU4ZjQwNTdkZWMyNzNkODIwICBDVkUtMjAxNi03MTQxLnBhdGNoDQot MTNkNWFkNmNlMmRiOWI1YTIzMTRkMzEyMjc1NzdmMWYgIENWRS0yMDE2LTcxNjcucGF0Y2giDQor MTNkNWFkNmNlMmRiOWI1YTIzMTRkMzEyMjc1NzdmMWYgIENWRS0yMDE2LTcxNjcucGF0Y2gNCisy MWQxYWNmOWMzYTYyMDIxNWJhMmZjYWJkYmRmM2QyNyAgQ1ZFLTIwMTYtODYxNS5wYXRjaA0KK2Iw Y2Y2NjAxY2Q2ODVlNWI1ZDEwYTEwYTIyZGYxYzhkICBDVkUtMjAxNi04NjE2LnBhdGNoDQorN2Y1 Nzc1ZjMzYTE4NzkwZTliOGQ1Yzc2YTIyNmJhZmUgIENWRS0yMDE2LTg2MTcucGF0Y2gNCisxNTIz MDdiZjg4MDNjNjE2ZWQ1YzZmNmQwNmIyZWU2YSAgQ1ZFLTIwMTYtODYxOC5wYXRjaA0KK2EwODgz ZTkzZDRkNGJhMzYxMWZkMGJkZGZlNWFjOTI4ICBDVkUtMjAxNi04NjE5LnBhdGNoDQorODA3ODdi ZTIzNTRhOGM2Mzg1MTY0YzY2Yzk3ZjdmNjEgIENWRS0yMDE2LTg2MjAucGF0Y2gNCis3NjQwZTgy ODJmNzFjMDZmMDA3OWMxYTE5ZDljZmYyNSAgQ1ZFLTIwMTYtODYyMS5wYXRjaA0KK2RmYmM4ZjQz MDZkYmFhNGU2MjIwZDljN2RiYWY2OTFiICBDVkUtMjAxNi04NjIyLnBhdGNoDQorYjdlZWRiZGJh MDY5ZjhhM2E2ZWZhYWRkY2UxYTM4ZWQgIENWRS0yMDE2LTg2MjMucGF0Y2gNCitlZmM5MmNjOWRm ZTk0ZjcwYjgzYWJhMmVkODNkOTRiNiAgQ1ZFLTIwMTYtODYyNC1maXhlZC5wYXRjaCINCiBzaGEy NTZzdW1zPSJlYjYzY2VjNGJlZjY5MmVhYjlkYjQ1OTAzM2Y0MDk1MzNlNmQxMGUyMDk0MmY0YjA2 MGIzMjgxOWU4MTg4NWYxICBjdXJsLTcuNDkuMS50YXIuYnoyDQogZDM0OTlhYWYzMzFmY2EyMzAz NzQ5YmRmZmJlZGY1Njc3YTU1NWEzN2FkYTE4N2MxYTczNDkyNmM3Y2I3MThlNSAgQ1ZFLTIwMTYt NTQxOS5wYXRjaA0KIDIzZTFmYmQyNzg2MGM2ZjQ2YmVjMDk0YzA2YjU2MThkYTJhYjcxYjA5MTk0 NWY1ODdjMGQ3ZThkMTQzNDcyZjcgIENWRS0yMDE2LTU0MjAucGF0Y2gNCiBiY2E3ODY2N2FjOTEx MDkyMGM1Y2UzMWM4ZDgyYTc4NGZlMzI3ZWIxODQ0NjBjMWI4N2ZhYjRkZTAwNGU2NjkyICBDVkUt MjAxNi01NDIxLnBhdGNoDQogZjA5N2Q2ZTVjNzVlYmRhZjUzMmFlZjU5ZTMxNzkwYTY1NzgxNGJi YjdlNTAxZGZiMmViNjY4NmRkY2E0ZjFlYiAgQ1ZFLTIwMTYtNzE0MS5wYXRjaA0KLWVlZGJkM2Ix ZjA0NGJiYzg4NDE0MGE3NWU0MGJlMGY5N2VhM2QwZGY2YTdiYzc5NThkYjdjZTAxNTU2NDJmY2Qg IENWRS0yMDE2LTcxNjcucGF0Y2giDQorZWVkYmQzYjFmMDQ0YmJjODg0MTQwYTc1ZTQwYmUwZjk3 ZWEzZDBkZjZhN2JjNzk1OGRiN2NlMDE1NTY0MmZjZCAgQ1ZFLTIwMTYtNzE2Ny5wYXRjaA0KKzY0 OTZhYTY0ODJlYWFlOTE4N2U2YzAzZWEwNzE5N2EwMmFlMzgyYzY4NGIwYWMwMGNmNmM1MGM5NmNi MTY1OTMgIENWRS0yMDE2LTg2MTUucGF0Y2gNCisyYmMzNzMzZDA2YTY0N2FmZTAxNTEzMjE3YzA5 NDMxNTJmY2UxZTgyNzBmOTdjNDE4Y2NkMmJhMGRkZWE0ZjAxICBDVkUtMjAxNi04NjE2LnBhdGNo DQorMTg2MDY4NmQ0NDRmMzcxMGZjOWMzYjVhYWI2NmJlZGVlOGJmNzc3NTE2YzkwNWJmNzMzYTNk MzQyYjMwMzRlMCAgQ1ZFLTIwMTYtODYxNy5wYXRjaA0KK2ZmOTE4OThhOTM1YmM5Mjg0MDdjYWM0 MjhiYjI2Y2ZhYzIwNzNlYzhhYmEyY2IzOGMwMDVjZmMyZmVjOGZiZmMgIENWRS0yMDE2LTg2MTgu cGF0Y2gNCitkODlhZWZlNGU0ZGM1OTFiMWUyMzQxZWU2M2IwOWQxODZiYjg1MjY4ZWU3YjMzMjJk MmM2YzYxMDBiODlmYzYxICBDVkUtMjAxNi04NjE5LnBhdGNoDQorZGFlMjQzNzkyM2M3NzA4NWQz N2Q4OGFlNWVjZWQzODhlYjJjOTI0YzAyYzBjNGUwZjhlNDRmOGM4ZjI5MTFkYiAgQ1ZFLTIwMTYt ODYyMC5wYXRjaA0KKzA1YzAxNGIyNWYyNWNmZTY4OWExY2U2ZDgyMzhlZjg5MDZmMGM2YWRmZTY0 ODM3ZTViNzQ2OTFmMGE1ZGIyODcgIENWRS0yMDE2LTg2MjEucGF0Y2gNCis1MTZhM2NlYTY5NTdj NDM1MTNhNGU1NTQyMWQ3OWRkZmEyNmJiYWYyYWRjYmI0MmQ3ZWMyNzFlYzU4Mzc3MGQ5ICBDVkUt MjAxNi04NjIyLnBhdGNoDQorZjY2NzY0ZjdhZGUxNDZmOGRmNTAxZDVhODBiZTc3NmQ3OTBiMWQ4 ZDFlMmY4Nzc1ZDg5MjM0M2ZlODdhY2ZjMSAgQ1ZFLTIwMTYtODYyMy5wYXRjaA0KK2Y1M2JmMmQ5 ZDdkZGRjOGM2NzBkZGQ1MGFhNmRjZDMyYTlmNDVmZmMxM2UxN2NkNDRkZjMxZTExMjdkOTQyYjIg IENWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2giDQogc2hhNTEyc3Vtcz0iNjY1ZWYxNzhjMjgyYzE0 ZjQyOTQ5ODU0N2IzNzExZWY3OWZhZjg1ZjZkYjdmNGVjMjQyNTllMmM2MjQ3ZjZlZTIzNGRkYTE1 OGViYzIwN2QwM2YwOGI1MTk4YzU4NDQ0ODBlMDU0ZjI0ZjA1NGIyZGU2YzZhMTVkNGYxY2U2ZTYg IGN1cmwtNy40OS4xLnRhci5iejINCiBhNTk2ZTQ4OWIwYjU2NmQ5ZGNjODI5MmNjZWM0ZDkwZGZi ZWFlN2NiMTFlMjUwODcxMjE3ZmY5MGQxYzk1MjVkNjAyZjQwZTExMmViMGQ0N2EwYTU5N2U1NzY4 YzEwNTQyM2QxY2IwY2IyODI1YzM5YTMxOWVhOWQ1ODIyNjlkMCAgQ1ZFLTIwMTYtNTQxOS5wYXRj aA0KIDk1NzhmMTNjNWQ4ZTVhNWQxODRiNWIwOGRkN2Q1OWRlNTk2NjQ0MDg0ZjJkZTA0YzAyNWFk OGNkNzhlMTFkYWRjZmY0NWJmNGZhYjAyYjg5NDJkN2VkMTk5NzdkZWM0ZDIyMDg5M2Y2NzVkNjRl ZDEzYjI3Mjg0ZDYzZGZhNWYxICBDVkUtMjAxNi01NDIwLnBhdGNoDQogMmI1ZTc3ZGRhMTFkYmI3 N2NiZmU3NjBkYTUzNzdjOTRhMTY2NGIwNGYyNTRjOWZhNjQyZjQ5ZGExMTlkOTMxMjNlZjZlZTI3 ZTRjMDhkMGJhOTA5NDI0MDc5MWFjMDkyNzNjOGJlMjNmYThjYTU5ODJmOGVkMTRkNmIyOWFkN2Ug IENWRS0yMDE2LTU0MjEucGF0Y2gNCiA3ZWFlOGIzN2ZiOWJhOGRmYzBkNjY1OGIzNzE5MTU2MDY2 ODkxNGE4NGFiYTQxMWNmZGFjMTU1YmQxNzQ5Yjk4MDUxNDEyNGMwNjUzZTg1ODIzYThhMGU3NzBm NDdjY2MyYTQxNzc4MTBiMDJjZmM2NDFjOTBmMDA4NjM5ODc5ZSAgQ1ZFLTIwMTYtNzE0MS5wYXRj aA0KLWM5NWQ1NzExZGIwODA4NGU2YTVjMjBlY2QyYzhhYThhNDk0MjQwYTQ2Mzk0MDY5MmIxZDll M2E4MWNjYjg5OTg5NGMxYWM4Y2E2NWUzNWQ3ODM0MzUyMzA1YmY4ODcyYzZlNDkwN2ZmNjk1ZTcy MTgyNGU4ZTdjMTE5MGYxODYzICBDVkUtMjAxNi03MTY3LnBhdGNoIg0KK2M5NWQ1NzExZGIwODA4 NGU2YTVjMjBlY2QyYzhhYThhNDk0MjQwYTQ2Mzk0MDY5MmIxZDllM2E4MWNjYjg5OTg5NGMxYWM4 Y2E2NWUzNWQ3ODM0MzUyMzA1YmY4ODcyYzZlNDkwN2ZmNjk1ZTcyMTgyNGU4ZTdjMTE5MGYxODYz ICBDVkUtMjAxNi03MTY3LnBhdGNoDQorMDNmNDczODA1YmMzOTJjN2M4ZDEzMzZhYmI2OTgxNzE1 OWVkMjg5MjIyMGRlODFhZmFiMzZmOWQ3YzQ3OWJmNmYwMWE1YzVmOTBkOTNlNzA3NmRjMWNkODU1 ZTExYzU5MWUzOTNiZDNmMTI1YTY3MTIyMWNhZGUxNDU1YjYyZDEgIENWRS0yMDE2LTg2MTUucGF0 Y2gNCis4NjU2MjliMjk2YjBjZWM1YmI3NzRjZjQ2ZDg2YjNlNjliMWMyMGYxMTc2ZmVlYzNjOTQ1 YzU0ZmE3ZTExZjk0NGI4NmRmMmE2NWU3MmZlZmI4YTc1ODU2ZDUxNDY0MDgxOGY2NDZhMzQ2YmY2 ODA4MWRjZjVhMGIyODNjMTRhYyAgQ1ZFLTIwMTYtODYxNi5wYXRjaA0KK2IwMjBjMjdlOWUyNzUy NTgwYzZhZjFhODkwNzg1YmZjMTMwNzg2NWU3MGJkMDBhNzEzM2VlNDk1YjI3YTZiMTEyZTdlYzY3 MGI4MjRjMzQyZDJjYzU2ZDZkNmFmYTAzODdlOTYzZDU5YTE4ZmNjM2Q3MjRmODVkMWY3YTllOTdk ICBDVkUtMjAxNi04NjE3LnBhdGNoDQorZWY3Yzc1NTIwNTdkNzA5NDI4MmZhMmViNDMwZjE0NmEy ZTg0M2RjNzliMTNkZWNiZjdiZDdmNDRjOWRkZDhiNWZjM2QwZTVhN2Y3NjQyZWFkYTA0ODM3M2Mw ODQ3ZWE2MWJmYzBmMjg0ZWQ2Njk4MGVjMTVkMjRlNjM3YTE5NWIgIENWRS0yMDE2LTg2MTgucGF0 Y2gNCitjNDE0ZGE1ZmZmZjQ2ZjZlYWU3MGNkZTkwYmVmN2E2OTFjMDkzNjRmYmIxMzQ3ZTQ1OWFj NjNhMmEzYTU0OWZlMjNlMWUxOTQ5MGYwNTViOTc2NjBlYTIzOGUyYjA4ZWQ4NzkzODI5NDQ3OTQ3 NjlhZGE5ZDg5YmE1MzI5NDQyOCAgQ1ZFLTIwMTYtODYxOS5wYXRjaA0KKzY4YjYzMTJmMDA2ZjVm ZjNlN2ZmNDJiOTY2OTNiYTVkNDg4ODlhMGNlZTQ4NWYzYjk3YTA1ZjliNDdiNDZiOTUwMjQ5MGUz ZmVkYTUyNzkwMmIwODBlOTA1ZTQ1YzRkNmI2ZDEyMmZiNmNjMzc1YmMyMWIzMGQwODZkODQxZTc2 ICBDVkUtMjAxNi04NjIwLnBhdGNoDQorN2M5MGExYjI2NjZhYTlhY2YwNTc0NGQzMGY0MzQyZWQw YThmNzI5Nzc4NmU3ZWQ0NmQxNTI1N2UyZDgxMDI5NjY5ODI4MWJlNmE3NmY5NDZhZDM5MzY4YTY2 MzM4Y2I1MzE3NjUxMDE0ZDYwMjk2YmIyMTQ1OTY3ZTEzOTZhNDYgIENWRS0yMDE2LTg2MjEucGF0 Y2gNCis4NTFjZTg4NmYyY2ZmZWM1MGE0MzgzZDlhYjhiNzUzMjA0YWM2NGVmN2I3YmI0N2Y5ZGQ0 OTE0ZGFhZjFiNmQ1ZDhhZTRiYmRkYWFmMWU0OGEzMjNmZDBlZWZmNDBhMjY0Mjk5NjM5MTI5ZWM3 NTVkYmE4ZDA0MzgyYTUwZTBlNSAgQ1ZFLTIwMTYtODYyMi5wYXRjaA0KKzc4MmYzMWI5MmE1Njgw N2UyMzJhMTIzMjhjNWRkZjliOTU4NzExN2UyNWY3MzBjNDQwZjZmYTQwYzcyNTAxY2RkNDFiNjFm MzY3MzE0YjNiMmRlNDRiMzk0NjA1ZjRhNjc2M2RiZTg0YTNjMmYwYjVkYmYxY2NiYzg4MmUzOTUy ICBDVkUtMjAxNi04NjIzLnBhdGNoDQorYzFiNWViY2UxM2U5ZWE3ZGE2MTFmNWVlZTQzYmYzY2Yy ODAzNGRkMGUwMDg3NzQ5NGMwNDQ1OWRkMjRmM2I1NmU4NTAxNDcwYmIwNmYyMTBhZmRhODZlNTdj OWZmYmU2MWJjOWNkZWI5Yzg2NTljYjQ0MTViN2Y3MTVmNmFhYzcgIENWRS0yMDE2LTg2MjQtZml4 ZWQucGF0Y2giDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTUucGF0Y2ggYi9t YWluL2N1cmwvQ1ZFLTIwMTYtODYxNS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAuLmQxZmRhMzUNCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAx Ni04NjE1LnBhdGNoDQpAQCAtMCwwICsxLDc1IEBADQorRnJvbSAxNjIwZjU1MmEyNzdlZDViMjNh NDhiOWMyN2RiZjA3NjYzY2FjMDY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IERh bmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQorRGF0ZTogVHVlLCAyNyBTZXAgMjAxNiAx NzozNjoxOSArMDIwMA0KK1N1YmplY3Q6IFtQQVRDSF0gY29va2llOiByZXBsYWNlIHVzZSBvZiBm Z2V0cygpIHdpdGggY3VzdG9tIHZlcnNpb24NCisNCisuLi4gdGhhdCB3aWxsIGlnbm9yZSBsaW5l cyB0aGF0IGFyZSB0b28gbG9uZyB0byBmaXQgaW4gdGhlIGJ1ZmZlci4NCisNCitDVkUtMjAxNi04 NjE1DQorDQorQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkEuaHRt bA0KK1JlcG9ydGVkLWJ5OiBDdXJlNTMNCistLS0NCisgbGliL2Nvb2tpZS5jIHwgMzEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMzAgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQ0KKw0KK2RpZmYgLS1naXQgYS9saWIvY29va2llLmMgYi9saWIv Y29va2llLmMNCitpbmRleCAwZjA1ZGEyLi5lNTA5N2QzIDEwMDY0NA0KKy0tLSBhL2xpYi9jb29r aWUuYw0KKysrKyBiL2xpYi9jb29raWUuYw0KK0BAIC05MDEsMTAgKzkwMSwzOSBAQCBDdXJsX2Nv b2tpZV9hZGQoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwNCisgICB9DQorIA0KKyAgIHJldHVybiBj bzsNCisgfQ0KKyANCisrLyoNCisrICogZ2V0X2xpbmUoKSBtYWtlcyBzdXJlIHRvIG9ubHkgcmV0 dXJuIGNvbXBsZXRlIHdob2xlIGxpbmVzIHRoYXQgZml0IGluICdsZW4nDQorKyAqIGJ5dGVzIGFu ZCBlbmQgd2l0aCBhIG5ld2xpbmUuDQorKyAqLw0KKytzdGF0aWMgY2hhciAqZ2V0X2xpbmUoY2hh ciAqYnVmLCBpbnQgbGVuLCBGSUxFICppbnB1dCkNCisrew0KKysgIGJvb2wgcGFydGlhbCA9IEZB TFNFOw0KKysgIHdoaWxlKDEpIHsNCisrICAgIGNoYXIgKmIgPSBmZ2V0cyhidWYsIGxlbiwgaW5w dXQpOw0KKysgICAgaWYoYikgew0KKysgICAgICBzaXplX3QgcmxlbiA9IHN0cmxlbihiKTsNCisr ICAgICAgaWYocmxlbiAmJiAoYltybGVuLTFdID09ICdcbicpKSB7DQorKyAgICAgICAgaWYocGFy dGlhbCkgew0KKysgICAgICAgICAgcGFydGlhbCA9IEZBTFNFOw0KKysgICAgICAgICAgY29udGlu dWU7DQorKyAgICAgICAgfQ0KKysgICAgICAgIHJldHVybiBiOw0KKysgICAgICB9DQorKyAgICAg IGVsc2UNCisrICAgICAgICAvKiByZWFkIGEgcGFydGlhbCwgZGlzY2FyZCB0aGUgbmV4dCBwaWVj ZSB0aGF0IGVuZHMgd2l0aCBuZXdsaW5lICovDQorKyAgICAgICAgcGFydGlhbCA9IFRSVUU7DQor KyAgICB9DQorKyAgICBlbHNlDQorKyAgICAgIGJyZWFrOw0KKysgIH0NCisrICByZXR1cm4gTlVM TDsNCisrfQ0KKysNCisrDQorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKyAgKg0KKyAgKiBDdXJs X2Nvb2tpZV9pbml0KCkNCisgICoNCisgICogSW5pdHMgYSBjb29raWUgc3RydWN0IHRvIHJlYWQg ZGF0YSBmcm9tIGEgbG9jYWwgZmlsZS4gVGhpcyBpcyBhbHdheXMNCitAQCAtOTU3LDExICs5ODYs MTEgQEAgc3RydWN0IENvb2tpZUluZm8gKkN1cmxfY29va2llX2luaXQoc3RydWN0IEN1cmxfZWFz eSAqZGF0YSwNCisgICAgIGJvb2wgaGVhZGVybGluZTsNCisgDQorICAgICBsaW5lID0gbWFsbG9j KE1BWF9DT09LSUVfTElORSk7DQorICAgICBpZighbGluZSkNCisgICAgICAgZ290byBmYWlsOw0K Ky0gICAgd2hpbGUoZmdldHMobGluZSwgTUFYX0NPT0tJRV9MSU5FLCBmcCkpIHsNCisrICAgIHdo aWxlKGdldF9saW5lKGxpbmUsIE1BWF9DT09LSUVfTElORSwgZnApKSB7DQorICAgICAgIGlmKGNo ZWNrcHJlZml4KCJTZXQtQ29va2llOiIsIGxpbmUpKSB7DQorICAgICAgICAgLyogVGhpcyBpcyBh IGNvb2tpZSBsaW5lLCBnZXQgaXQhICovDQorICAgICAgICAgbGluZXB0cj0mbGluZVsxMV07DQor ICAgICAgICAgaGVhZGVybGluZT1UUlVFOw0KKyAgICAgICB9DQorLS0gDQorMi45LjMNCisNCmRp ZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxNi5wYXRjaCBiL21haW4vY3VybC9DVkUt MjAxNi04NjE2LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uNjcz MDliZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTYucGF0Y2gN CkBAIC0wLDAgKzEsNjYgQEANCitGcm9tIGNlZjUxMGJlYjIyMmFiNTc1MGFmY2FjMmM3NGZjYmNk YzMxYWRhNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJn IDxkYW5pZWxAaGF4eC5zZT4NCitEYXRlOiBUdWUsIDI3IFNlcCAyMDE2IDE4OjAxOjUzICswMjAw DQorU3ViamVjdDogW1BBVENIXSBjb25uZWN0aW9uZXhpc3RzOiB1c2UgY2FzZSBzZW5zaXRpdmUg dXNlci9wYXNzd29yZA0KKyBjb21wYXJpc29ucw0KKw0KK0NWRS0yMDE2LTg2MTYNCisNCitCdWc6 IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAyQi5odG1sDQorUmVwb3J0ZWQt Ynk6IEN1cmU1Mw0KKy0tLQ0KKyBsaWIvdXJsLmMgfCAxMiArKysrKystLS0tLS0NCisgMSBmaWxl IGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0 IGEvbGliL3VybC5jIGIvbGliL3VybC5jDQoraW5kZXggOTFiMmJmOC4uY2QzMzM1YyAxMDA2NDQN CistLS0gYS9saWIvdXJsLmMNCisrKysgYi9saWIvdXJsLmMNCitAQCAtMzQwMSwxMiArMzQwMSwx MiBAQCBDb25uZWN0aW9uRXhpc3RzKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsDQorICAgICAgIH0N CisgDQorICAgICAgIGlmKCEobmVlZGxlLT5oYW5kbGVyLT5mbGFncyAmIFBST1RPUFRfQ1JFRFNQ RVJSRVFVRVNUKSkgew0KKyAgICAgICAgIC8qIFRoaXMgcHJvdG9jb2wgcmVxdWlyZXMgY3JlZGVu dGlhbHMgcGVyIGNvbm5lY3Rpb24sDQorICAgICAgICAgICAgc28gdmVyaWZ5IHRoYXQgd2UncmUg dXNpbmcgdGhlIHNhbWUgbmFtZSBhbmQgcGFzc3dvcmQgYXMgd2VsbCAqLw0KKy0gICAgICAgIGlm KCFzdHJlcXVhbChuZWVkbGUtPnVzZXIsIGNoZWNrLT51c2VyKSB8fA0KKy0gICAgICAgICAgICFz dHJlcXVhbChuZWVkbGUtPnBhc3N3ZCwgY2hlY2stPnBhc3N3ZCkpIHsNCisrICAgICAgICBpZihz dHJjbXAobmVlZGxlLT51c2VyLCBjaGVjay0+dXNlcikgfHwNCisrICAgICAgICAgICBzdHJjbXAo bmVlZGxlLT5wYXNzd2QsIGNoZWNrLT5wYXNzd2QpKSB7DQorICAgICAgICAgICAvKiBvbmUgb2Yg dGhlbSB3YXMgZGlmZmVyZW50ICovDQorICAgICAgICAgICBjb250aW51ZTsNCisgICAgICAgICB9 DQorICAgICAgIH0NCisgDQorQEAgLTM0NjIsMTIgKzM0NjIsMTIgQEAgQ29ubmVjdGlvbkV4aXN0 cyhzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0KKyAgICAgICAgICAgIGFscmVhZHkgYXV0aGVudGlj YXRpbmcgd2l0aCB0aGUgcmlnaHQgY3JlZGVudGlhbHMuIElmIG5vdCwga2VlcA0KKyAgICAgICAg ICAgIGxvb2tpbmcgc28gdGhhdCB3ZSBjYW4gcmV1c2UgTlRMTSBjb25uZWN0aW9ucyBpZg0KKyAg ICAgICAgICAgIHBvc3NpYmxlLiAoRXNwZWNpYWxseSB3ZSBtdXN0IG5vdCByZXVzZSB0aGUgc2Ft ZSBjb25uZWN0aW9uIGlmDQorICAgICAgICAgICAgcGFydHdheSB0aHJvdWdoIGEgaGFuZHNoYWtl ISkgKi8NCisgICAgICAgICBpZih3YW50TlRMTWh0dHApIHsNCistICAgICAgICAgIGlmKCFzdHJl cXVhbChuZWVkbGUtPnVzZXIsIGNoZWNrLT51c2VyKSB8fA0KKy0gICAgICAgICAgICAgIXN0cmVx dWFsKG5lZWRsZS0+cGFzc3dkLCBjaGVjay0+cGFzc3dkKSkNCisrICAgICAgICAgIGlmKHN0cmNt cChuZWVkbGUtPnVzZXIsIGNoZWNrLT51c2VyKSB8fA0KKysgICAgICAgICAgICAgc3RyY21wKG5l ZWRsZS0+cGFzc3dkLCBjaGVjay0+cGFzc3dkKSkNCisgICAgICAgICAgICAgY29udGludWU7DQor ICAgICAgICAgfQ0KKyAgICAgICAgIGVsc2UgaWYoY2hlY2stPm50bG0uc3RhdGUgIT0gTlRMTVNU QVRFX05PTkUpIHsNCisgICAgICAgICAgIC8qIENvbm5lY3Rpb24gaXMgdXNpbmcgTlRMTSBhdXRo IGJ1dCB3ZSBkb24ndCB3YW50IE5UTE0gKi8NCisgICAgICAgICAgIGNvbnRpbnVlOw0KK0BAIC0z NDc3LDEyICszNDc3LDEyIEBAIENvbm5lY3Rpb25FeGlzdHMoc3RydWN0IEN1cmxfZWFzeSAqZGF0 YSwNCisgICAgICAgICBpZih3YW50UHJveHlOVExNaHR0cCkgew0KKyAgICAgICAgICAgLyogQm90 aCBjaGVjay0+cHJveHl1c2VyIGFuZCBjaGVjay0+cHJveHlwYXNzd2QgY2FuIGJlIE5VTEwgKi8N CisgICAgICAgICAgIGlmKCFjaGVjay0+cHJveHl1c2VyIHx8ICFjaGVjay0+cHJveHlwYXNzd2Qp DQorICAgICAgICAgICAgIGNvbnRpbnVlOw0KKyANCistICAgICAgICAgIGlmKCFzdHJlcXVhbChu ZWVkbGUtPnByb3h5dXNlciwgY2hlY2stPnByb3h5dXNlcikgfHwNCistICAgICAgICAgICAgICFz dHJlcXVhbChuZWVkbGUtPnByb3h5cGFzc3dkLCBjaGVjay0+cHJveHlwYXNzd2QpKQ0KKysgICAg ICAgICAgaWYoc3RyY21wKG5lZWRsZS0+cHJveHl1c2VyLCBjaGVjay0+cHJveHl1c2VyKSB8fA0K KysgICAgICAgICAgICAgc3RyY21wKG5lZWRsZS0+cHJveHlwYXNzd2QsIGNoZWNrLT5wcm94eXBh c3N3ZCkpDQorICAgICAgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgIH0NCisgICAgICAgICBl bHNlIGlmKGNoZWNrLT5wcm94eW50bG0uc3RhdGUgIT0gTlRMTVNUQVRFX05PTkUpIHsNCisgICAg ICAgICAgIC8qIFByb3h5IGNvbm5lY3Rpb24gaXMgdXNpbmcgTlRMTSBhdXRoIGJ1dCB3ZSBkb24n dCB3YW50IE5UTE0gKi8NCisgICAgICAgICAgIGNvbnRpbnVlOw0KKy0tIA0KKzIuOS4zDQorDQpk aWZmIC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTcucGF0Y2ggYi9tYWluL2N1cmwvQ1ZF LTIwMTYtODYxNy5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjY2 YzdmOWENCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAxNi04NjE3LnBhdGNo DQpAQCAtMCwwICsxLDM2IEBADQorRnJvbSAzNTk5MzQxZGQ2MTEzMDNlZTk1NDQ4MzlkMzBmNjAz ZjYwNmQxMDgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVy ZyA8ZGFuaWVsQGhheHguc2U+DQorRGF0ZTogV2VkLCAyOCBTZXAgMjAxNiAwMDowNToxMiArMDIw MA0KK1N1YmplY3Q6IFtQQVRDSF0gYmFzZTY0OiBjaGVjayBmb3IgaW50ZWdlciBvdmVyZmxvdyBv biBsYXJnZSBpbnB1dA0KKw0KK0NWRS0yMDE2LTg2MTcNCisNCitCdWc6IGh0dHBzOi8vY3VybC5o YXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAyQy5odG1sDQorUmVwb3J0ZWQtYnk6IEN1cmU1Mw0KKy0t LQ0KKyBsaWIvYmFzZTY0LmMgfCA1ICsrKysrDQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlv bnMoKykNCisNCitkaWZmIC0tZ2l0IGEvbGliL2Jhc2U2NC5jIGIvbGliL2Jhc2U2NC5jDQoraW5k ZXggYWQyNTQ1OS4uMjA0YTIyNyAxMDA2NDQNCistLS0gYS9saWIvYmFzZTY0LmMNCisrKysgYi9s aWIvYmFzZTY0LmMNCitAQCAtMTg4LDEwICsxODgsMTUgQEAgc3RhdGljIENVUkxjb2RlIGJhc2U2 NF9lbmNvZGUoY29uc3QgY2hhciAqdGFibGU2NCwNCisgICAqb3V0bGVuID0gMDsNCisgDQorICAg aWYoIWluc2l6ZSkNCisgICAgIGluc2l6ZSA9IHN0cmxlbihpbmRhdGEpOw0KKyANCisrI2lmIFNJ WkVPRl9TSVpFX1QgPT0gNA0KKysgIGlmKGluc2l6ZSA+IFVJTlRfTUFYLzQpDQorKyAgICByZXR1 cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsNCisrI2VuZGlmDQorKw0KKyAgIGJhc2U2NGRhdGEgPSBv dXRwdXQgPSBtYWxsb2MoaW5zaXplICogNCAvIDMgKyA0KTsNCisgICBpZighb3V0cHV0KQ0KKyAg ICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7DQorIA0KKyAgIC8qDQorLS0gDQorMi45LjMN CisNCmRpZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOC5wYXRjaCBiL21haW4vY3Vy bC9DVkUtMjAxNi04NjE4LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MC4uNmQ0ZWFhZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTgu cGF0Y2gNCkBAIC0wLDAgKzEsNTAgQEANCitGcm9tIDMxMTA2YTA3Mzg4MjY1NmEyYTVhYjU2YzRj ZTI4NDdlOWEzMzRjM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0 ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCitEYXRlOiBXZWQsIDI4IFNlcCAyMDE2IDEwOjE1OjM0 ICswMjAwDQorU3ViamVjdDogW1BBVENIXSBhcHJpbnRmOiBkZXRlY3Qgd3JhcC1hcm91bmQgd2hl biBncm93aW5nIGFsbG9jYXRpb24NCisNCitPbiAzMmJpdCBzeXN0ZW1zIHdlIGNvdWxkIG90aGVy d2lzZSB3cmFwIGFyb3VuZCBhZnRlciAyR0IgYW5kIGFsbG9jYXRlIDANCitieXRlcyBhbmQgY3Jh c2guDQorDQorQ1ZFLTIwMTYtODYxOA0KKw0KK0J1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9j cy9hZHZfMjAxNjExMDJELmh0bWwNCitSZXBvcnRlZC1ieTogQ3VyZTUzDQorLS0tDQorIGxpYi9t cHJpbnRmLmMgfCA5ICsrKysrKy0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9saWIvbXByaW50Zi5jIGIvbGliL21w cmludGYuYw0KK2luZGV4IGRiZWRlYWEuLjJjODhhYTggMTAwNjQ0DQorLS0tIGEvbGliL21wcmlu dGYuYw0KKysrKyBiL2xpYi9tcHJpbnRmLmMNCitAQCAtMTAzNCwyMCArMTAzNCwyMyBAQCBzdGF0 aWMgaW50IGFsbG9jX2FkZGJ5dGVyKGludCBvdXRwdXQsIEZJTEUgKmRhdGEpDQorICAgICB9DQor ICAgICBpbmZvcC0+YWxsb2MgPSAzMjsNCisgICAgIGluZm9wLT5sZW4gPTA7DQorICAgfQ0KKyAg IGVsc2UgaWYoaW5mb3AtPmxlbisxID49IGluZm9wLT5hbGxvYykgew0KKy0gICAgY2hhciAqbmV3 cHRyOw0KKysgICAgY2hhciAqbmV3cHRyID0gTlVMTDsNCisrICAgIHNpemVfdCBuZXdzaXplID0g aW5mb3AtPmFsbG9jKjI7DQorIA0KKy0gICAgbmV3cHRyID0gcmVhbGxvYyhpbmZvcC0+YnVmZmVy LCBpbmZvcC0+YWxsb2MqMik7DQorKyAgICAvKiBkZXRlY3Qgd3JhcC1hcm91bmQgb3Igb3RoZXIg b3ZlcmZsb3cgcHJvYmxlbXMgKi8NCisrICAgIGlmKG5ld3NpemUgPiBpbmZvcC0+YWxsb2MpDQor KyAgICAgIG5ld3B0ciA9IHJlYWxsb2MoaW5mb3AtPmJ1ZmZlciwgbmV3c2l6ZSk7DQorIA0KKyAg ICAgaWYoIW5ld3B0cikgew0KKyAgICAgICBpbmZvcC0+ZmFpbCA9IDE7DQorICAgICAgIHJldHVy biAtMTsgLyogZmFpbCAqLw0KKyAgICAgfQ0KKyAgICAgaW5mb3AtPmJ1ZmZlciA9IG5ld3B0cjsN CistICAgIGluZm9wLT5hbGxvYyAqPSAyOw0KKysgICAgaW5mb3AtPmFsbG9jID0gbmV3c2l6ZTsN CisgICB9DQorIA0KKyAgIGluZm9wLT5idWZmZXJbIGluZm9wLT5sZW4gXSA9IG91dGM7DQorIA0K KyAgIGluZm9wLT5sZW4rKzsNCistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdpdCBhL21haW4vY3Vy bC9DVkUtMjAxNi04NjE5LnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTkucGF0Y2gNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi44NDcwYjM1DQotLS0gL2Rldi9udWxs DQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5wYXRjaA0KQEAgLTAsMCArMSw1MCBAQA0K K0Zyb20gOTEyMzlmNzA0MGIxZjAyNmQ0ZDE1NzY1ZTdlM2Y1OGU5MmU5Mzc2MSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPg0K K0RhdGU6IFdlZCwgMjggU2VwIDIwMTYgMTI6NTY6MDIgKzAyMDANCitTdWJqZWN0OiBbUEFUQ0hd IGtyYjU6IGF2b2lkIHJlYWxsb2MoMCkNCisNCitJZiB0aGUgcmVxdWVzdGVkIHNpemUgaXMgemVy bywgYmFpbCBvdXQgd2l0aCBlcnJvciBpbnN0ZWFkIG9mIGRvaW5nIGENCityZWFsbG9jKCkgdGhh dCB3b3VsZCBjYXVzZSBhIGRvdWJsZS1mcmVlOiByZWFsbG9jKDApIGFjdHMgYXMgYSBmcmVlKCkN CithbmQgdGhlbiB0aGVyZSdzIGEgc2Vjb25kIGZyZWUgaW4gdGhlIGNsZWFudXAgcGF0aC4NCisN CitDVkUtMjAxNi04NjE5DQorDQorQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8y MDE2MTEwMkUuaHRtbA0KK1JlcG9ydGVkLWJ5OiBDdXJlNTMNCistLS0NCisgbGliL3NlY3VyaXR5 LmMgfCA5ICsrKysrKy0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9saWIvc2VjdXJpdHkuYyBiL2xpYi9zZWN1cml0 eS5jDQoraW5kZXggYTI2OGQ0YS4uNGNlZjhmOCAxMDA2NDQNCistLS0gYS9saWIvc2VjdXJpdHku Yw0KKysrKyBiL2xpYi9zZWN1cml0eS5jDQorQEAgLTE5MCwxOSArMTkwLDIyIEBAIHNvY2tldF93 cml0ZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGN1cmxfc29ja2V0X3QgZmQsIGNvbnN0IHZv aWQgKnRvLA0KKyBzdGF0aWMgQ1VSTGNvZGUgcmVhZF9kYXRhKHN0cnVjdCBjb25uZWN0ZGF0YSAq Y29ubiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJsX3NvY2tldF90IGZkLA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrcmI1YnVmZmVyICpidWYpDQorIHsNCisg ICBpbnQgbGVuOw0KKy0gIHZvaWQqIHRtcDsNCisrICB2b2lkICp0bXAgPSBOVUxMOw0KKyAgIENV Ukxjb2RlIHJlc3VsdDsNCisgDQorICAgcmVzdWx0ID0gc29ja2V0X3JlYWQoZmQsICZsZW4sIHNp emVvZihsZW4pKTsNCisgICBpZihyZXN1bHQpDQorICAgICByZXR1cm4gcmVzdWx0Ow0KKyANCist ICBsZW4gPSBudG9obChsZW4pOw0KKy0gIHRtcCA9IHJlYWxsb2MoYnVmLT5kYXRhLCBsZW4pOw0K KysgIGlmKGxlbikgew0KKysgICAgLyogb25seSByZWFsbG9jIGlmIHRoZXJlIHdhcyBhIGxlbmd0 aCAqLw0KKysgICAgbGVuID0gbnRvaGwobGVuKTsNCisrICAgIHRtcCA9IHJlYWxsb2MoYnVmLT5k YXRhLCBsZW4pOw0KKysgIH0NCisgICBpZih0bXAgPT0gTlVMTCkNCisgICAgIHJldHVybiBDVVJM RV9PVVRfT0ZfTUVNT1JZOw0KKyANCisgICBidWYtPmRhdGEgPSB0bXA7DQorICAgcmVzdWx0ID0g c29ja2V0X3JlYWQoZmQsIGJ1Zi0+ZGF0YSwgbGVuKTsNCistLSANCisyLjkuMw0KKw0KZGlmZiAt LWdpdCBhL21haW4vY3VybC9DVkUtMjAxNi04NjIwLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MjAucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5jOGMyY2Qx DQotLS0gL2Rldi9udWxsDQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMC5wYXRjaA0KQEAg LTAsMCArMSwyMDUgQEANCitGcm9tIDUyZjNlMWQxMDkyYzgxYTRmNTc0YzlmYzZjYjM4MThiODg0 MzRjOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxk YW5pZWxAaGF4eC5zZT4NCitEYXRlOiBNb24sIDMgT2N0IDIwMTYgMTc6Mjc6MTYgKzAyMDANCitT dWJqZWN0OiBbUEFUQ0ggMS8zXSByYW5nZTogcHJldmVudCBuZWdhdGl2ZSBlbmQgbnVtYmVyIGlu IGEgZ2xvYiByYW5nZQ0KK01JTUUtVmVyc2lvbjogMS4wDQorQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04DQorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KKw0K K0NWRS0yMDE2LTg2MjANCisNCitCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIw MTYxMTAyRi5odG1sDQorUmVwb3J0ZWQtYnk6IEx14bqtdCBOZ3V54buFbg0KKy0tLQ0KKyBzcmMv dG9vbF91cmxnbG9iLmMgfCA3ICsrKysrKysNCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9u cygrKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvdG9vbF91cmxnbG9iLmMgYi9zcmMvdG9vbF91cmxn bG9iLmMNCitpbmRleCBhMzU3YjhiLi42NGM3NWJhIDEwMDY0NA0KKy0tLSBhL3NyYy90b29sX3Vy bGdsb2IuYw0KKysrKyBiL3NyYy90b29sX3VybGdsb2IuYw0KK0BAIC0yNTUsMTAgKzI1NSwxNiBA QCBzdGF0aWMgQ1VSTGNvZGUgZ2xvYl9yYW5nZShVUkxHbG9iICpnbG9iLCBjaGFyICoqcGF0dGVy bnAsDQorICAgICBlbHNlIHsNCisgICAgICAgaWYoKmVuZHAgIT0gJy0nKQ0KKyAgICAgICAgIGVu ZHAgPSBOVUxMOw0KKyAgICAgICBlbHNlIHsNCisgICAgICAgICBwYXR0ZXJuID0gZW5kcCsxOw0K KysgICAgICAgIHdoaWxlKCpwYXR0ZXJuICYmIElTQkxBTksoKnBhdHRlcm4pKQ0KKysgICAgICAg ICAgcGF0dGVybisrOw0KKysgICAgICAgIGlmKCFJU0RJR0lUKCpwYXR0ZXJuKSkgew0KKysgICAg ICAgICAgZW5kcCA9IE5VTEw7DQorKyAgICAgICAgICBnb3RvIGZhaWw7DQorKyAgICAgICAgfQ0K KyAgICAgICAgIGVycm5vID0gMDsNCisgICAgICAgICBtYXhfbiA9IHN0cnRvdWwocGF0dGVybiwg JmVuZHAsIDEwKTsNCisgICAgICAgICBpZihlcnJubyB8fCAoKmVuZHAgPT0gJzonKSkgew0KKyAg ICAgICAgICAgcGF0dGVybiA9IGVuZHArMTsNCisgICAgICAgICAgIGVycm5vID0gMDsNCitAQCAt Mjc1LDEwICsyODEsMTEgQEAgc3RhdGljIENVUkxjb2RlIGdsb2JfcmFuZ2UoVVJMR2xvYiAqZ2xv YiwgY2hhciAqKnBhdHRlcm5wLA0KKyAgICAgICAgIGVsc2UNCisgICAgICAgICAgIGVuZHAgPSBO VUxMOw0KKyAgICAgICB9DQorICAgICB9DQorIA0KKysgICAgZmFpbDoNCisgICAgICpwb3NwICs9 IChwYXR0ZXJuIC0gKnBhdHRlcm5wKTsNCisgDQorICAgICBpZighZW5kcCB8fCAobWluX24gPiBt YXhfbikgfHwgKHN0ZXBfbiA+IChtYXhfbiAtIG1pbl9uKSkgfHwgIXN0ZXBfbikNCisgICAgICAg LyogdGhlIHBhdHRlcm4gaXMgbm90IHdlbGwtZm9ybWVkICovDQorICAgICAgIHJldHVybiBHTE9C RVJST1IoImJhZCByYW5nZSIsICpwb3NwLCBDVVJMRV9VUkxfTUFMRk9STUFUKTsNCistLSANCisy LjkuMw0KKw0KKw0KK0Zyb20gZTk3ZWJlOTdjMmI1M2QzNjE3YzFmNDA4MmEyYWFhNGYxYjU5M2Vm OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmll bEBoYXh4LnNlPg0KK0RhdGU6IE1vbiwgMyBPY3QgMjAxNiAxODoyMzoyMiArMDIwMA0KK1N1Ympl Y3Q6IFtQQVRDSCAyLzNdIGdsb2JfbmV4dF91cmw6IG1ha2Ugc3VyZSB0byBzdGF5IHdpdGhpbiB0 aGUgZ2l2ZW4gb3V0cHV0DQorIGJ1ZmZlcg0KKw0KKy0tLQ0KKyBzcmMvdG9vbF91cmxnbG9iLmMg fCAxNyArKysrKysrKysrKy0tLS0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xfdXJsZ2xvYi5jIGIv c3JjL3Rvb2xfdXJsZ2xvYi5jDQoraW5kZXggNjRjNzViYS4uYzQ1YTc4YiAxMDA2NDQNCistLS0g YS9zcmMvdG9vbF91cmxnbG9iLmMNCisrKysgYi9zcmMvdG9vbF91cmxnbG9iLmMNCitAQCAtNDI5 LDEwICs0MjksMTEgQEAgQ1VSTGNvZGUgZ2xvYl91cmwoVVJMR2xvYioqIGdsb2IsIGNoYXIqIHVy bCwgdW5zaWduZWQgbG9uZyAqdXJsbnVtLA0KKyAgICpnbG9iID0gTlVMTDsNCisgDQorICAgZ2xv Yl9idWZmZXIgPSBtYWxsb2Moc3RybGVuKHVybCkgKyAxKTsNCisgICBpZighZ2xvYl9idWZmZXIp DQorICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsNCisrICBnbG9iX2J1ZmZlclswXT0w Ow0KKyANCisgICBnbG9iX2V4cGFuZCA9IGNhbGxvYygxLCBzaXplb2YoVVJMR2xvYikpOw0KKyAg IGlmKCFnbG9iX2V4cGFuZCkgew0KKyAgICAgQ3VybF9zYWZlZnJlZShnbG9iX2J1ZmZlcik7DQor ICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsNCitAQCAtNTQ2LDMzICs1NDcsMzcgQEAg Q1VSTGNvZGUgZ2xvYl9uZXh0X3VybChjaGFyICoqZ2xvYmJlZCwgVVJMR2xvYiAqZ2xvYikNCisg ICBmb3IoaSA9IDA7IGkgPCBnbG9iLT5zaXplOyArK2kpIHsNCisgICAgIHBhdCA9ICZnbG9iLT5w YXR0ZXJuW2ldOw0KKyAgICAgc3dpdGNoKHBhdC0+dHlwZSkgew0KKyAgICAgY2FzZSBVUFRTZXQ6 DQorICAgICAgIGlmKHBhdC0+Y29udGVudC5TZXQuZWxlbWVudHMpIHsNCistICAgICAgICBsZW4g PSBzdHJsZW4ocGF0LT5jb250ZW50LlNldC5lbGVtZW50c1twYXQtPmNvbnRlbnQuU2V0LnB0cl9z XSk7DQorICAgICAgICAgc25wcmludGYoYnVmLCBidWZsZW4sICIlcyIsDQorICAgICAgICAgICAg ICAgICAgcGF0LT5jb250ZW50LlNldC5lbGVtZW50c1twYXQtPmNvbnRlbnQuU2V0LnB0cl9zXSk7 DQorKyAgICAgICAgbGVuID0gc3RybGVuKGJ1Zik7DQorICAgICAgICAgYnVmICs9IGxlbjsNCisg ICAgICAgICBidWZsZW4gLT0gbGVuOw0KKyAgICAgICB9DQorICAgICAgIGJyZWFrOw0KKyAgICAg Y2FzZSBVUFRDaGFyUmFuZ2U6DQorLSAgICAgICpidWYrKyA9IHBhdC0+Y29udGVudC5DaGFyUmFu Z2UucHRyX2M7DQorKyAgICAgIGlmKGJ1Zmxlbikgew0KKysgICAgICAgICpidWYrKyA9IHBhdC0+ Y29udGVudC5DaGFyUmFuZ2UucHRyX2M7DQorKyAgICAgICAgKmJ1ZiA9ICdcMCc7DQorKyAgICAg ICAgYnVmbGVuLS07DQorKyAgICAgIH0NCisgICAgICAgYnJlYWs7DQorICAgICBjYXNlIFVQVE51 bVJhbmdlOg0KKy0gICAgICBsZW4gPSBzbnByaW50ZihidWYsIGJ1ZmxlbiwgIiUwKmxkIiwNCist ICAgICAgICAgICAgICAgICAgICAgcGF0LT5jb250ZW50Lk51bVJhbmdlLnBhZGxlbmd0aCwNCist ICAgICAgICAgICAgICAgICAgICAgcGF0LT5jb250ZW50Lk51bVJhbmdlLnB0cl9uKTsNCisrICAg ICAgc25wcmludGYoYnVmLCBidWZsZW4sICIlMCpsZCIsDQorKyAgICAgICAgICAgICAgIHBhdC0+ Y29udGVudC5OdW1SYW5nZS5wYWRsZW5ndGgsDQorKyAgICAgICAgICAgICAgIHBhdC0+Y29udGVu dC5OdW1SYW5nZS5wdHJfbik7DQorKyAgICAgIGxlbiA9IHN0cmxlbihidWYpOw0KKyAgICAgICBi dWYgKz0gbGVuOw0KKyAgICAgICBidWZsZW4gLT0gbGVuOw0KKyAgICAgICBicmVhazsNCisgICAg IGRlZmF1bHQ6DQorICAgICAgIHByaW50ZigiaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgcGF0dGVy biB0eXBlICglZClcbiIsIChpbnQpcGF0LT50eXBlKTsNCisgICAgICAgcmV0dXJuIENVUkxFX0ZB SUxFRF9JTklUOw0KKyAgICAgfQ0KKyAgIH0NCistICAqYnVmID0gJ1wwJzsNCisgDQorICAgKmds b2JiZWQgPSBzdHJkdXAoZ2xvYi0+Z2xvYl9idWZmZXIpOw0KKyAgIGlmKCEqZ2xvYmJlZCkNCisg ICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOw0KKyANCistLSANCisyLjkuMw0KKw0KKw0K K0Zyb20gOWNlMzc3MDUxMjkwYzgzMTc2ZjIzNWI1MjZiODc5MDRjYWQ2YjM4OCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPg0K K0RhdGU6IFR1ZSwgNCBPY3QgMjAxNiAxNzoyNTowOSArMDIwMA0KK1N1YmplY3Q6IFtQQVRDSCAz LzNdIHJhbmdlOiByZWplY3QgY2hhciBnbG9icyB3aXRoIG1pc3NpbmcgZW5kIGxpa2UgJ1tMLV0n DQorTUlNRS1WZXJzaW9uOiAxLjANCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgNCitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQorDQorLi4uIHdoaWNoIHBy ZXZpb3VzbHkgd291bGQgbGVhZCB0byBvdXQgb2YgYm91bmRhcnkgcmVhZHMuDQorDQorUmVwb3J0 ZWQtYnk6IEx14bqtdCBOZ3V54buFbg0KKy0tLQ0KKyBzcmMvdG9vbF91cmxnbG9iLmMgfCAzNCAr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCAxOSBp bnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xf dXJsZ2xvYi5jIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQoraW5kZXggYzQ1YTc4Yi4uMDlkMjFiNiAx MDA2NDQNCistLS0gYS9zcmMvdG9vbF91cmxnbG9iLmMNCisrKysgYi9zcmMvdG9vbF91cmxnbG9i LmMNCitAQCAtMTg2LDM2ICsxODYsNDAgQEAgc3RhdGljIENVUkxjb2RlIGdsb2JfcmFuZ2UoVVJM R2xvYiAqZ2xvYiwgY2hhciAqKnBhdHRlcm5wLA0KKyANCisgICBpZihJU0FMUEhBKCpwYXR0ZXJu KSkgew0KKyAgICAgLyogY2hhcmFjdGVyIHJhbmdlIGRldGVjdGVkICovDQorICAgICBjaGFyIG1p bl9jOw0KKyAgICAgY2hhciBtYXhfYzsNCisrICAgIGNoYXIgZW5kX2M7DQorICAgICBpbnQgc3Rl cD0xOw0KKyANCisgICAgIHBhdC0+dHlwZSA9IFVQVENoYXJSYW5nZTsNCisgDQorLSAgICByYyA9 IHNzY2FuZihwYXR0ZXJuLCAiJWMtJWMiLCAmbWluX2MsICZtYXhfYyk7DQorKyAgICByYyA9IHNz Y2FuZihwYXR0ZXJuLCAiJWMtJWMlYyIsICZtaW5fYywgJm1heF9jLCAmZW5kX2MpOw0KKyANCist ICAgIGlmKChyYyA9PSAyKSAmJiAocGF0dGVyblszXSA9PSAnOicpKSB7DQorLSAgICAgIGNoYXIg KmVuZHA7DQorLSAgICAgIHVuc2lnbmVkIGxvbmcgbHN0ZXA7DQorLSAgICAgIGVycm5vID0gMDsN CistICAgICAgbHN0ZXAgPSBzdHJ0b3VsKCZwYXR0ZXJuWzRdLCAmZW5kcCwgMTApOw0KKy0gICAg ICBpZihlcnJubyB8fCAoKmVuZHAgIT0gJ10nKSkNCistICAgICAgICBzdGVwID0gLTE7DQorLSAg ICAgIGVsc2Ugew0KKy0gICAgICAgIHBhdHRlcm4gPSBlbmRwKzE7DQorLSAgICAgICAgc3RlcCA9 IChpbnQpbHN0ZXA7DQorLSAgICAgICAgaWYoc3RlcCA+IChtYXhfYyAtIG1pbl9jKSkNCisrICAg IGlmKHJjID09IDMpIHsNCisrICAgICAgaWYoZW5kX2MgPT0gJzonKSB7DQorKyAgICAgICAgY2hh ciAqZW5kcDsNCisrICAgICAgICB1bnNpZ25lZCBsb25nIGxzdGVwOw0KKysgICAgICAgIGVycm5v ID0gMDsNCisrICAgICAgICBsc3RlcCA9IHN0cnRvdWwoJnBhdHRlcm5bNF0sICZlbmRwLCAxMCk7 DQorKyAgICAgICAgaWYoZXJybm8gfHwgKCplbmRwICE9ICddJykpDQorICAgICAgICAgICBzdGVw ID0gLTE7DQorKyAgICAgICAgZWxzZSB7DQorKyAgICAgICAgICBwYXR0ZXJuID0gZW5kcCsxOw0K KysgICAgICAgICAgc3RlcCA9IChpbnQpbHN0ZXA7DQorKyAgICAgICAgICBpZihzdGVwID4gKG1h eF9jIC0gbWluX2MpKQ0KKysgICAgICAgICAgICBzdGVwID0gLTE7DQorKyAgICAgICAgfQ0KKyAg ICAgICB9DQorKyAgICAgIGVsc2UgaWYoZW5kX2MgIT0gJ10nKQ0KKysgICAgICAgIC8qIHRoZW4g dGhpcyBpcyB3cm9uZyAqLw0KKysgICAgICAgIHJjID0gMDsNCisgICAgIH0NCistICAgIGVsc2UN CistICAgICAgcGF0dGVybiArPSA0Ow0KKyANCisgICAgICpwb3NwICs9IChwYXR0ZXJuIC0gKnBh dHRlcm5wKTsNCisgDQorLSAgICBpZigocmMgIT0gMikgfHwgKG1pbl9jID49IG1heF9jKSB8fCAo KG1heF9jIC0gbWluX2MpID4gKCd6JyAtICdhJykpIHx8DQorKyAgICBpZigocmMgIT0gMykgfHwg KG1pbl9jID49IG1heF9jKSB8fCAoKG1heF9jIC0gbWluX2MpID4gKCd6JyAtICdhJykpIHx8DQor ICAgICAgICAoc3RlcCA8PSAwKSApDQorICAgICAgIC8qIHRoZSBwYXR0ZXJuIGlzIG5vdCB3ZWxs LWZvcm1lZCAqLw0KKyAgICAgICByZXR1cm4gR0xPQkVSUk9SKCJiYWQgcmFuZ2UiLCAqcG9zcCwg Q1VSTEVfVVJMX01BTEZPUk1BVCk7DQorIA0KKyAgICAgLyogaWYgdGhlcmUgd2FzIGEgIjpbbnVt XSIgdGhpbmcsIHVzZSB0aGF0IGFzIHN0ZXAgb3IgZWxzZSB1c2UgMSAqLw0KKy0tIA0KKzIuOS4z DQorDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjEucGF0Y2ggYi9tYWluL2N1 cmwvQ1ZFLTIwMTYtODYyMS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAw MDAuLjY4NTVjZTkNCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAxNi04NjIx LnBhdGNoDQpAQCAtMCwwICsxLDEyMSBAQA0KK0Zyb20gOGE2ZDlkZWQ1ZjAyZjAyOTRhZTYzYTAw N2UyNjA4NzMxNmMxOTk4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwg U3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPg0KK0RhdGU6IFR1ZSwgNCBPY3QgMjAxNiAxNjo1OToz OCArMDIwMA0KK1N1YmplY3Q6IFtQQVRDSF0gcGFyc2VkYXRlOiBoYW5kbGUgY3V0IG9mZiBudW1i ZXJzIGJldHRlcg0KK01JTUUtVmVyc2lvbjogMS4wDQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04DQorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KKw0KKy4u LiBhbmQgZG9uJ3QgcmVhZCBvdXRzaWRlIG9mIHRoZSBnaXZlbiBidWZmZXIhDQorDQorQ1ZFLTIw MTYtODYyMQ0KKw0KK2J1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9hZHZfMjAxNjExMDJH Lmh0bWwNCitSZXBvcnRlZC1ieTogTHXhuq10IE5ndXnhu4VuDQorLS0tDQorIGxpYi9wYXJzZWRh dGUuYyAgICAgICAgfCAxMiArKysrKysrLS0tLS0NCisgdGVzdHMvZGF0YS90ZXN0NTE3ICAgICB8 ICA2ICsrKysrKw0KKyB0ZXN0cy9saWJ0ZXN0L2xpYjUxNy5jIHwgIDggKysrKysrKy0NCisgMyBm aWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYg LS1naXQgYS9saWIvcGFyc2VkYXRlLmMgYi9saWIvcGFyc2VkYXRlLmMNCitpbmRleCBkZmNmODU1 Li44ZTkzMmY0IDEwMDY0NA0KKy0tLSBhL2xpYi9wYXJzZWRhdGUuYw0KKysrKyBiL2xpYi9wYXJz ZWRhdGUuYw0KK0BAIC0zLDExICszLDExIEBADQorICAqICBQcm9qZWN0ICAgICAgICAgICAgICAg ICAgICAgX19ffCB8IHwgfCAgXyBcfCB8DQorICAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvIF9ffCB8IHwgfCB8XykgfCB8DQorICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg KF9ffCB8X3wgfCAgXyA8fCB8X19fDQorICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc X19ffFxfX18vfF98IFxfXF9fX19ffA0KKyAgKg0KKy0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAy MDE0LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KKysgKiBDb3B5 cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4s IGV0IGFsLg0KKyAgKg0KKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJl ZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaA0KKyAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zDQorICAqIGFyZSBhbHNv IGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLg0K KyAgKg0KK0BAIC0zODQsMTkgKzM4NCwyMSBAQCBzdGF0aWMgaW50IHBhcnNlZGF0ZShjb25zdCBj aGFyICpkYXRlLCB0aW1lX3QgKm91dHB1dCkNCisgICAgIH0NCisgICAgIGVsc2UgaWYoSVNESUdJ VCgqZGF0ZSkpIHsNCisgICAgICAgLyogYSBkaWdpdCAqLw0KKyAgICAgICBpbnQgdmFsOw0KKyAg ICAgICBjaGFyICplbmQ7DQorKyAgICAgIGludCBsZW49MDsNCisgICAgICAgaWYoKHNlY251bSA9 PSAtMSkgJiYNCistICAgICAgICAgKDMgPT0gc3NjYW5mKGRhdGUsICIlMDJkOiUwMmQ6JTAyZCIs ICZob3VybnVtLCAmbWlubnVtLCAmc2VjbnVtKSkpIHsNCisrICAgICAgICAgKDMgPT0gc3NjYW5m KGRhdGUsICIlMDJkOiUwMmQ6JTAyZCVuIiwNCisrICAgICAgICAgICAgICAgICAgICAgICZob3Vy bnVtLCAmbWlubnVtLCAmc2VjbnVtLCAmbGVuKSkpIHsNCisgICAgICAgICAvKiB0aW1lIHN0YW1w ISAqLw0KKy0gICAgICAgIGRhdGUgKz0gODsNCisrICAgICAgICBkYXRlICs9IGxlbjsNCisgICAg ICAgfQ0KKyAgICAgICBlbHNlIGlmKChzZWNudW0gPT0gLTEpICYmDQorLSAgICAgICAgICAgICAg KDIgPT0gc3NjYW5mKGRhdGUsICIlMDJkOiUwMmQiLCAmaG91cm51bSwgJm1pbm51bSkpKSB7DQor KyAgICAgICAgICAgICAgKDIgPT0gc3NjYW5mKGRhdGUsICIlMDJkOiUwMmQlbiIsICZob3VybnVt LCAmbWlubnVtLCAmbGVuKSkpIHsNCisgICAgICAgICAvKiB0aW1lIHN0YW1wIHdpdGhvdXQgc2Vj b25kcyAqLw0KKy0gICAgICAgIGRhdGUgKz0gNTsNCisrICAgICAgICBkYXRlICs9IGxlbjsNCisg ICAgICAgICBzZWNudW0gPSAwOw0KKyAgICAgICB9DQorICAgICAgIGVsc2Ugew0KKyAgICAgICAg IGxvbmcgbHZhbDsNCisgICAgICAgICBpbnQgZXJyb3I7DQorZGlmZiAtLWdpdCBhL3Rlc3RzL2Rh dGEvdGVzdDUxNyBiL3Rlc3RzL2RhdGEvdGVzdDUxNw0KK2luZGV4IGM4MWE0NWUuLjUxMzYzNGYg MTAwNjQ0DQorLS0tIGEvdGVzdHMvZGF0YS90ZXN0NTE3DQorKysrIGIvdGVzdHMvZGF0YS90ZXN0 NTE3DQorQEAgLTExNCwxMCArMTE0LDE2IEBAIG5vdGhpbmcNCisgNzk6IDIwMTEwNjMyIDEyOjM0 OjU2ID0+IC0xDQorIDgwOiAyMDExMDYyMyA1NjozNDo1NiA9PiAtMQ0KKyA4MTogMjAxMTEzMjMg MTI6MzQ6NTYgPT4gLTENCisgODI6IDIwMTEwNjIzIDEyOjM0Ojc5ID0+IC0xDQorIDgzOiBXZWQs IDMxIERlYyAyMDA4IDIzOjU5OjYwIEdNVCA9PiAxMjMwNzY4MDAwDQorKzg0OiAyMDExMDYyMyAx MjozID0+IDEzMDg4MzA1ODANCisrODU6IDIwMTEwNjIzIDE6MyA9PiAxMzA4NzkwOTgwDQorKzg2 OiAyMDExMDYyMyAxOjMwID0+IDEzMDg3OTI2MDANCisrODc6IDIwMTEwNjIzIDEyOjEyOjMgPT4g MTMwODgzMTEyMw0KKys4ODogMjAxMTA2MjMgMDE6MTI6MyA9PiAxMzA4NzkxNTIzDQorKzg5OiAy MDExMDYyMyAwMTo5OTozMCA9PiAtMQ0KKyA8L3N0ZG91dD4NCisgDQorICMgVGhpcyB0ZXN0IGNh c2UgcHJldmlvdXNseSB0ZXN0ZWQgYW4gb3ZlcmZsb3cgY2FzZSAoIjIwOTQgTm92IDYgPT4NCisg IyAyMTQ3NDgzNjQ3IikgZm9yIDMyYml0IHRpbWVfdCwgYnV0IHNpbmNlIHNvbWUgc3lzdGVtcyBo YXZlIDY0Yml0IHRpbWVfdCBhbmQNCisgIyBoYW5kbGVzIHRoaXMgKHJldHVybmluZyAzOTM5ODQw MDAwKSwgYW5kIHNvbWUgNjRiaXQtdGltZV90IHN5c3RlbXMgZG9uJ3QNCitkaWZmIC0tZ2l0IGEv dGVzdHMvbGlidGVzdC9saWI1MTcuYyBiL3Rlc3RzL2xpYnRlc3QvbGliNTE3LmMNCitpbmRleCAy ZjY4ZWJkLi4yMjE2MmZmIDEwMDY0NA0KKy0tLSBhL3Rlc3RzL2xpYnRlc3QvbGliNTE3LmMNCisr KysgYi90ZXN0cy9saWJ0ZXN0L2xpYjUxNy5jDQorQEAgLTMsMTEgKzMsMTEgQEANCisgICogIFBy b2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwNCisgICogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwNCisgICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18NCisgICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198DQorICAqDQorLSAqIENv cHlyaWdodCAoQykgMTk5OCAtIDIwMTEsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNl PiwgZXQgYWwuDQorKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTYsIERhbmllbCBTdGVuYmVy ZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQorICAqDQorICAqIFRoaXMgc29mdHdhcmUgaXMg bGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoDQorICAqIHlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUg dGVybXMNCisgICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2Rv Y3MvY29weXJpZ2h0Lmh0bWwuDQorICAqDQorQEAgLTExNCwxMCArMTE0LDE2IEBAIHN0YXRpYyBj b25zdCBjaGFyICogY29uc3QgZGF0ZXNbXT17DQorICAgIjIwMTEwNjMyIDEyOjM0OjU2IiwNCisg ICAiMjAxMTA2MjMgNTY6MzQ6NTYiLA0KKyAgICIyMDExMTMyMyAxMjozNDo1NiIsDQorICAgIjIw MTEwNjIzIDEyOjM0Ojc5IiwNCisgICAiV2VkLCAzMSBEZWMgMjAwOCAyMzo1OTo2MCBHTVQiLCAv KiBsZWFwIHNlY29uZCAqLw0KKysgICIyMDExMDYyMyAxMjozIiwNCisrICAiMjAxMTA2MjMgMToz IiwNCisrICAiMjAxMTA2MjMgMTozMCIsDQorKyAgIjIwMTEwNjIzIDEyOjEyOjMiLA0KKysgICIy MDExMDYyMyAwMToxMjozIiwNCisrICAiMjAxMTA2MjMgMDE6OTk6MzAiLA0KKyAgIE5VTEwNCisg fTsNCisgDQorIGludCB0ZXN0KGNoYXIgKlVSTCkNCisgew0KKy0tIA0KKzIuOS4zDQorDQpkaWZm IC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjIucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIw MTYtODYyMi5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmU2ZGJh NjkNCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAxNi04NjIyLnBhdGNoDQpA QCAtMCwwICsxLDEyNiBAQA0KK0Zyb20gNzFkYTkxNDUzODk5YmEyMGIyOGVlOTcxMjYyMGUzMjMx NDVhMGVlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcg PGRhbmllbEBoYXh4LnNlPg0KK0RhdGU6IFR1ZSwgNCBPY3QgMjAxNiAxODo1Njo0NSArMDIwMA0K K1N1YmplY3Q6IFtQQVRDSF0gdW5lc2NhcGU6IGF2b2lkIGludGVnZXIgb3ZlcmZsb3cNCisNCitD VkUtMjAxNi04NjIyDQorDQorQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2 MTEwMkguaHRtbA0KK1JlcG9ydGVkLWJ5OiBDdXJlNTMNCistLS0NCisgZG9jcy9saWJjdXJsL2N1 cmxfZWFzeV91bmVzY2FwZS4zIHwgIDcgKysrKystLQ0KKyBsaWIvZGljdC5jICAgICAgICAgICAg ICAgICAgICAgICAgfCAxMCArKysrKy0tLS0tDQorIGxpYi9lc2NhcGUuYyAgICAgICAgICAgICAg ICAgICAgICB8IDEwICsrKysrKysrLS0NCisgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9l YXN5X3VuZXNjYXBlLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3VuZXNjYXBlLjMNCitpbmRl eCAwNmZkNmZjLi41MGNlOTdkIDEwMDY0NA0KKy0tLSBhL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lf dW5lc2NhcGUuMw0KKysrKyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2NhcGUuMw0KK0BA IC0zLDExICszLDExIEBADQorIC5cIiAqICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19f fCB8IHwgfCAgXyBcfCB8DQorIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9f fCB8IHwgfCB8XykgfCB8DQorIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9f fCB8X3wgfCAgXyA8fCB8X19fDQorIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc X19ffFxfX18vfF98IFxfXF9fX19ffA0KKyAuXCIgKg0KKy0uXCIgKiBDb3B5cmlnaHQgKEMpIDE5 OTggLSAyMDE1LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KKysu XCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxA aGF4eC5zZT4sIGV0IGFsLg0KKyAuXCIgKg0KKyAuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vu c2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaA0KKyAuXCIgKiB5b3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRl cm1zDQorIC5cIiAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9k b2NzL2NvcHlyaWdodC5odG1sLg0KKyAuXCIgKg0KK0BAIC0zOCwxMSArMzgsMTQgQEAgdGhlaXIg YmluYXJ5IHZlcnNpb25zLg0KKyBJZiB0aGUgXGZCbGVuZ3RoXGZQIGFyZ3VtZW50IGlzIHNldCB0 byAwICh6ZXJvKSwgXGZJY3VybF9lYXN5X3VuZXNjYXBlKDMpXGZQDQorIHdpbGwgdXNlIHN0cmxl bigpIG9uIHRoZSBpbnB1dCBcZkl1cmxcZlAgc3RyaW5nIHRvIGZpbmQgb3V0IHRoZSBzaXplLg0K KyANCisgSWYgXGZCb3V0bGVuZ3RoXGZQIGlzIG5vbi1OVUxMLCB0aGUgZnVuY3Rpb24gd2lsbCB3 cml0ZSB0aGUgbGVuZ3RoIG9mIHRoZQ0KKyByZXR1cm5lZCBzdHJpbmcgaW4gdGhlIGludGVnZXIg aXQgcG9pbnRzIHRvLiBUaGlzIGFsbG93cyBhbiBlc2NhcGVkIHN0cmluZw0KKy1jb250YWluaW5n ICUwMCB0byBzdGlsbCBnZXQgdXNlZCBwcm9wZXJseSBhZnRlciB1bmVzY2FwaW5nLg0KKytjb250 YWluaW5nICUwMCB0byBzdGlsbCBnZXQgdXNlZCBwcm9wZXJseSBhZnRlciB1bmVzY2FwaW5nLiBT aW5jZSB0aGlzIGlzIGENCisrcG9pbnRlciB0byBhbiBcZklpbnRcZlAgdHlwZSwgaXQgY2FuIG9u bHkgcmV0dXJuIGEgdmFsdWUgdXAgdG8gSU5UX01BWCBzbyBubw0KKytsb25nZXIgc3RyaW5nIGNh biBiZSB1bmVzY2FwZWQgaWYgdGhlIHN0cmluZyBsZW5ndGggaXMgcmV0dXJuZWQgaW4gdGhpcw0K KytwYXJhbWV0ZXIuDQorIA0KKyBZb3UgbXVzdCBcZkljdXJsX2ZyZWUoMylcZlAgdGhlIHJldHVy bmVkIHN0cmluZyB3aGVuIHlvdSdyZSBkb25lIHdpdGggaXQuDQorIC5TSCBBVkFJTEFCSUxJVFkN CisgQWRkZWQgaW4gNy4xNS40IGFuZCByZXBsYWNlcyB0aGUgb2xkIFxmSWN1cmxfdW5lc2NhcGUo MylcZlAgZnVuY3Rpb24uDQorIC5TSCBSRVRVUk4gVkFMVUUNCitkaWZmIC0tZ2l0IGEvbGliL2Rp Y3QuYyBiL2xpYi9kaWN0LmMNCitpbmRleCBhN2I1OTY1Li40OGE0ZTBhIDEwMDY0NA0KKy0tLSBh L2xpYi9kaWN0LmMNCisrKysgYi9saWIvZGljdC5jDQorQEAgLTMsMTEgKzMsMTEgQEANCisgICog IFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwNCisgICogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwNCisgICogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18NCisgICogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198DQorICAqDQorLSAq IENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTUsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4 LnNlPiwgZXQgYWwuDQorKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTYsIERhbmllbCBTdGVu YmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQorICAqDQorICAqIFRoaXMgc29mdHdhcmUg aXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoDQorICAq IHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBU aGUgdGVybXMNCisgICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNl L2RvY3MvY29weXJpZ2h0Lmh0bWwuDQorICAqDQorQEAgLTUwLDExICs1MCwxMSBAQA0KKyANCisg I2luY2x1ZGUgInVybGRhdGEuaCINCisgI2luY2x1ZGUgPGN1cmwvY3VybC5oPg0KKyAjaW5jbHVk ZSAidHJhbnNmZXIuaCINCisgI2luY2x1ZGUgInNlbmRmLmgiDQorLQ0KKysjaW5jbHVkZSAiZXNj YXBlLmgiDQorICNpbmNsdWRlICJwcm9ncmVzcy5oIg0KKyAjaW5jbHVkZSAic3RyZXF1YWwuaCIN CisgI2luY2x1ZGUgImRpY3QuaCINCisgI2luY2x1ZGUgInJhd3N0ci5oIg0KKyAjaW5jbHVkZSAi Y3VybF9tZW1vcnkuaCINCitAQCAtOTQsMTYgKzk0LDE2IEBAIGNvbnN0IHN0cnVjdCBDdXJsX2hh bmRsZXIgQ3VybF9oYW5kbGVyX2RpY3QgPSB7DQorIHN0YXRpYyBjaGFyICp1bmVzY2FwZV93b3Jk KHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsIGNvbnN0IGNoYXIgKmlucHV0YnVmZikNCisgew0KKyAg IGNoYXIgKm5ld3A7DQorICAgY2hhciAqZGljdHA7DQorICAgY2hhciAqcHRyOw0KKy0gIGludCBs ZW47DQorKyAgc2l6ZV90IGxlbjsNCisgICBjaGFyIGNoOw0KKyAgIGludCBvbGVuPTA7DQorIA0K Ky0gIG5ld3AgPSBjdXJsX2Vhc3lfdW5lc2NhcGUoZGF0YSwgaW5wdXRidWZmLCAwLCAmbGVuKTsN CistICBpZighbmV3cCkNCisrICBDVVJMY29kZSByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRh LCBpbnB1dGJ1ZmYsIDAsICZuZXdwLCAmbGVuLCBGQUxTRSk7DQorKyAgaWYoIW5ld3AgfHwgcmVz dWx0KQ0KKyAgICAgcmV0dXJuIE5VTEw7DQorIA0KKyAgIGRpY3RwID0gbWFsbG9jKCgoc2l6ZV90 KWxlbikqMiArIDEpOyAvKiBhZGQgb25lIGZvciB0ZXJtaW5hdGluZyB6ZXJvICovDQorICAgaWYo ZGljdHApIHsNCisgICAgIC8qIEFjY29yZGluZyB0byBSRkMyMjI5IHNlY3Rpb24gMi4yLCB0aGVz ZSBsZXR0ZXJzIG5lZWQgdG8gYmUgZXNjYXBlZCB3aXRoDQorZGlmZiAtLWdpdCBhL2xpYi9lc2Nh cGUuYyBiL2xpYi9lc2NhcGUuYw0KK2luZGV4IGU2MTI2MGQuLjY2NTcwMDcgMTAwNjQ0DQorLS0t IGEvbGliL2VzY2FwZS5jDQorKysrIGIvbGliL2VzY2FwZS5jDQorQEAgLTIyMiwxMiArMjIyLDE4 IEBAIGNoYXIgKmN1cmxfZWFzeV91bmVzY2FwZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLCBjb25z dCBjaGFyICpzdHJpbmcsDQorICAgICBzaXplX3Qgb3V0cHV0bGVuOw0KKyAgICAgQ1VSTGNvZGUg cmVzID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgc3RyaW5nLCBpbnB1dGxlbiwgJnN0ciwgJm91dHB1 dGxlbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFKTsNCisgICAg IGlmKHJlcykNCisgICAgICAgcmV0dXJuIE5VTEw7DQorLSAgICBpZihvbGVuKQ0KKy0gICAgICAq b2xlbiA9IGN1cmx4X3V6dG9zaShvdXRwdXRsZW4pOw0KKysNCisrICAgIGlmKG9sZW4pIHsNCisr ICAgICAgaWYob3V0cHV0bGVuIDw9IChzaXplX3QpIElOVF9NQVgpDQorKyAgICAgICAgKm9sZW4g PSBjdXJseF91enRvc2kob3V0cHV0bGVuKTsNCisrICAgICAgZWxzZQ0KKysgICAgICAgIC8qIHRv byBsYXJnZSB0byByZXR1cm4gaW4gYW4gaW50LCBmYWlsISAqLw0KKysgICAgICAgIEN1cmxfc2Fm ZWZyZWUoc3RyKTsNCisrICAgIH0NCisgICB9DQorICAgcmV0dXJuIHN0cjsNCisgfQ0KKyANCisg LyogRm9yIG9wZXJhdGluZyBzeXN0ZW1zL2Vudmlyb25tZW50cyB0aGF0IHVzZSBkaWZmZXJlbnQg bWFsbG9jL2ZyZWUNCistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9DVkUt MjAxNi04NjIzLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjMucGF0Y2gNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi40ZWI4Njc4DQotLS0gL2Rldi9udWxsDQorKysg Yi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMy5wYXRjaA0KQEAgLTAsMCArMSwyMDcgQEANCitGcm9t IGQ5ZDU3ZmUwZGE2ZjI1ZDA1NTcwZmQ1ODM1MjBlY2QzMjFlZDljM2YgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCitEYXRl OiBUdWUsIDQgT2N0IDIwMTYgMjM6MjY6MTMgKzAyMDANCitTdWJqZWN0OiBbUEFUQ0hdIGNvb2tp ZXM6IGdldGxpc3QoKSBub3cgaG9sZHMgZGVlcCBjb3BpZXMgb2YgYWxsIGNvb2tpZXMNCisNCitQ cmV2aW91c2x5IGl0IG9ubHkgaGVsZCByZWZlcmVuY2VzIHRvIHRoZW0sIHdoaWNoIHdhcyByZWNr bGVzcyBhcyB0aGUNCit0aHJlYWQgbG9jayB3YXMgcmVsZWFzZWQgc28gdGhlIGNvb2tpZXMgY291 bGQgZ2V0IG1vZGlmaWVkIGJ5IG90aGVyDQoraGFuZGxlcyB0aGF0IHNoYXJlIHRoZSBzYW1lIGNv b2tpZSBqYXIgb3ZlciB0aGUgc2hhcmUgaW50ZXJmYWNlLg0KKw0KK0NWRS0yMDE2LTg2MjMNCisN CitCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAySS5odG1sDQorUmVw b3J0ZWQtYnk6IEN1cmU1Mw0KKy0tLQ0KKyBsaWIvY29va2llLmMgfCA2MSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgbGliL2Nv b2tpZS5oIHwgIDQgKystLQ0KKyBsaWIvaHR0cC5jICAgfCAgMiArLQ0KKyAzIGZpbGVzIGNoYW5n ZWQsIDQzIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9s aWIvY29va2llLmMgYi9saWIvY29va2llLmMNCitpbmRleCAwZjA1ZGEyLi44NjA3Y2UzIDEwMDY0 NA0KKy0tLSBhL2xpYi9jb29raWUuYw0KKysrKyBiL2xpYi9jb29raWUuYw0KK0BAIC0xMDIyLDEw ICsxMDIyLDQ0IEBAIHN0YXRpYyBpbnQgY29va2llX3NvcnQoY29uc3Qgdm9pZCAqcDEsIGNvbnN0 IHZvaWQgKnAyKQ0KKyANCisgICAvKiBzb3JyeSwgY2FuJ3QgYmUgbW9yZSBkZXRlcm1pbmlzdGlj ICovDQorICAgcmV0dXJuIDA7DQorIH0NCisgDQorKyNkZWZpbmUgQ0xPTkUoZmllbGQpICAgICAg ICAgICAgICAgICAgICAgXA0KKysgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCisrICAgIGlmKHNyYy0+ZmllbGQpIHsgICAgICAgICAgICAgICAgICAgICBcDQorKyAg ICAgIGR1cC0+ZmllbGQgPSBzdHJkdXAoc3JjLT5maWVsZCk7ICAgXA0KKysgICAgICBpZighZHVw LT5maWVsZCkgICAgICAgICAgICAgICAgICAgIFwNCisrICAgICAgICBnb3RvIGZhaWw7ICAgICAg ICAgICAgICAgICAgICAgICBcDQorKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXA0KKysgIH0gd2hpbGUoMCkNCisrDQorK3N0YXRpYyBzdHJ1Y3QgQ29va2llICpkdXBf Y29va2llKHN0cnVjdCBDb29raWUgKnNyYykNCisrew0KKysgIHN0cnVjdCBDb29raWUgKmR1cCA9 IGNhbGxvYyhzaXplb2Yoc3RydWN0IENvb2tpZSksIDEpOw0KKysgIGlmKGR1cCkgew0KKysgICAg Q0xPTkUoZXhwaXJlc3RyKTsNCisrICAgIENMT05FKGRvbWFpbik7DQorKyAgICBDTE9ORShwYXRo KTsNCisrICAgIENMT05FKHNwYXRoKTsNCisrICAgIENMT05FKG5hbWUpOw0KKysgICAgQ0xPTkUo dmFsdWUpOw0KKysgICAgQ0xPTkUobWF4YWdlKTsNCisrICAgIENMT05FKHZlcnNpb24pOw0KKysg ICAgZHVwLT5leHBpcmVzID0gc3JjLT5leHBpcmVzOw0KKysgICAgZHVwLT50YWlsbWF0Y2ggPSBz cmMtPnRhaWxtYXRjaDsNCisrICAgIGR1cC0+c2VjdXJlID0gc3JjLT5zZWN1cmU7DQorKyAgICBk dXAtPmxpdmVjb29raWUgPSBzcmMtPmxpdmVjb29raWU7DQorKyAgICBkdXAtPmh0dHBvbmx5ID0g c3JjLT5odHRwb25seTsNCisrICB9DQorKyAgcmV0dXJuIGR1cDsNCisrDQorKyAgZmFpbDoNCisr ICBmcmVlY29va2llKGR1cCk7DQorKyAgcmV0dXJuIE5VTEw7DQorK30NCisrDQorIC8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKg0KKyAgKg0KKyAgKiBDdXJsX2Nvb2tpZV9nZXRsaXN0KCkNCisgICoNCisg ICogRm9yIGEgZ2l2ZW4gaG9zdCBhbmQgcGF0aCwgcmV0dXJuIGEgbGlua2VkIGxpc3Qgb2YgY29v a2llcyB0aGF0IHRoZQ0KK0BAIC0xMDc3LDE1ICsxMTExLDEyIEBAIHN0cnVjdCBDb29raWUgKkN1 cmxfY29va2llX2dldGxpc3Qoc3RydWN0IENvb2tpZUluZm8gKmMsDQorICAgICAgICAgaWYoIWNv LT5zcGF0aCB8fCBwYXRobWF0Y2goY28tPnNwYXRoLCBwYXRoKSApIHsNCisgDQorICAgICAgICAg ICAvKiBhbmQgbm93LCB3ZSBrbm93IHRoaXMgaXMgYSBtYXRjaCBhbmQgd2Ugc2hvdWxkIGNyZWF0 ZSBhbg0KKyAgICAgICAgICAgICAgZW50cnkgZm9yIHRoZSByZXR1cm4tbGlua2VkLWxpc3QgKi8N CisgDQorLSAgICAgICAgICBuZXdjbyA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IENvb2tpZSkpOw0K KysgICAgICAgICAgbmV3Y28gPSBkdXBfY29va2llKGNvKTsNCisgICAgICAgICAgIGlmKG5ld2Nv KSB7DQorLSAgICAgICAgICAgIC8qIGZpcnN0LCBjb3B5IHRoZSB3aG9sZSBzb3VyY2UgY29va2ll OiAqLw0KKy0gICAgICAgICAgICBtZW1jcHkobmV3Y28sIGNvLCBzaXplb2Yoc3RydWN0IENvb2tp ZSkpOw0KKy0NCisgICAgICAgICAgICAgLyogdGhlbiBtb2RpZnkgb3VyIG5leHQgKi8NCisgICAg ICAgICAgICAgbmV3Y28tPm5leHQgPSBtYWluY287DQorIA0KKyAgICAgICAgICAgICAvKiBwb2lu dCB0aGUgbWFpbiB0byB1cyAqLw0KKyAgICAgICAgICAgICBtYWluY28gPSBuZXdjbzsNCitAQCAt MTA5MywxNiArMTEyNCwxMSBAQCBzdHJ1Y3QgQ29va2llICpDdXJsX2Nvb2tpZV9nZXRsaXN0KHN0 cnVjdCBDb29raWVJbmZvICpjLA0KKyAgICAgICAgICAgICBtYXRjaGVzKys7DQorICAgICAgICAg ICB9DQorICAgICAgICAgICBlbHNlIHsNCisgICAgICAgICAgICAgZmFpbDoNCisgICAgICAgICAg ICAgLyogZmFpbHVyZSwgY2xlYXIgdXAgdGhlIGFsbG9jYXRlZCBjaGFpbiBhbmQgcmV0dXJuIE5V TEwgKi8NCistICAgICAgICAgICAgd2hpbGUobWFpbmNvKSB7DQorLSAgICAgICAgICAgICAgY28g PSBtYWluY28tPm5leHQ7DQorLSAgICAgICAgICAgICAgZnJlZShtYWluY28pOw0KKy0gICAgICAg ICAgICAgIG1haW5jbyA9IGNvOw0KKy0gICAgICAgICAgICB9DQorLQ0KKysgICAgICAgICAgICBD dXJsX2Nvb2tpZV9mcmVlbGlzdChtYWluY28pOw0KKyAgICAgICAgICAgICByZXR1cm4gTlVMTDsN CisgICAgICAgICAgIH0NCisgICAgICAgICB9DQorICAgICAgIH0NCisgICAgIH0NCitAQCAtMTE1 MCwxMSArMTE3NiwxMSBAQCBzdHJ1Y3QgQ29va2llICpDdXJsX2Nvb2tpZV9nZXRsaXN0KHN0cnVj dCBDb29raWVJbmZvICpjLA0KKyAgKg0KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgdm9pZCBD dXJsX2Nvb2tpZV9jbGVhcmFsbChzdHJ1Y3QgQ29va2llSW5mbyAqY29va2llcykNCisgew0KKyAg IGlmKGNvb2tpZXMpIHsNCistICAgIEN1cmxfY29va2llX2ZyZWVsaXN0KGNvb2tpZXMtPmNvb2tp ZXMsIFRSVUUpOw0KKysgICAgQ3VybF9jb29raWVfZnJlZWxpc3QoY29va2llcy0+Y29va2llcyk7 DQorICAgICBjb29raWVzLT5jb29raWVzID0gTlVMTDsNCisgICAgIGNvb2tpZXMtPm51bWNvb2tp ZXMgPSAwOw0KKyAgIH0NCisgfQ0KKyANCitAQCAtMTE2MiwyNSArMTE4OCwxOCBAQCB2b2lkIEN1 cmxfY29va2llX2NsZWFyYWxsKHN0cnVjdCBDb29raWVJbmZvICpjb29raWVzKQ0KKyAgKg0KKyAg KiBDdXJsX2Nvb2tpZV9mcmVlbGlzdCgpDQorICAqDQorICAqIEZyZWUgYSBsaXN0IG9mIGNvb2tp ZXMgcHJldmlvdXNseSByZXR1cm5lZCBieSBDdXJsX2Nvb2tpZV9nZXRsaXN0KCk7DQorICAqDQor LSAqIFRoZSAnY29va2llc3RvbycgYXJndW1lbnQgdGVsbHMgdGhpcyBmdW5jdGlvbiB3aGV0aGVy IHRvIGp1c3QgZnJlZSB0aGUNCistICogbGlzdCBvciBhY3R1YWxseSBhbHNvIGZyZWUgYWxsIGNv b2tpZXMgd2l0aGluIHRoZSBsaXN0IGFzIHdlbGwuDQorLSAqDQorICAqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLw0KKyANCistdm9pZCBDdXJsX2Nvb2tpZV9mcmVlbGlzdChzdHJ1Y3QgQ29va2llICpjbywg Ym9vbCBjb29raWVzdG9vKQ0KKyt2b2lkIEN1cmxfY29va2llX2ZyZWVsaXN0KHN0cnVjdCBDb29r aWUgKmNvKQ0KKyB7DQorICAgc3RydWN0IENvb2tpZSAqbmV4dDsNCisgICB3aGlsZShjbykgew0K KyAgICAgbmV4dCA9IGNvLT5uZXh0Ow0KKy0gICAgaWYoY29va2llc3RvbykNCistICAgICAgZnJl ZWNvb2tpZShjbyk7DQorLSAgICBlbHNlDQorLSAgICAgIGZyZWUoY28pOyAvKiB3ZSBvbmx5IGZy ZWUgdGhlIHN0cnVjdCBzaW5jZSB0aGUgIm1lbWJlcnMiIGFyZSBhbGwganVzdA0KKy0gICAgICAg ICAgICAgICAgICAgcG9pbnRlZCBvdXQgaW4gdGhlIG1haW4gY29va2llIGxpc3QhICovDQorKyAg ICBmcmVlY29va2llKGNvKTsNCisgICAgIGNvID0gbmV4dDsNCisgICB9DQorIH0NCisgDQorIA0K K0BAIC0xMjMxLDExICsxMjUwLDExIEBAIHZvaWQgQ3VybF9jb29raWVfY2xlYXJzZXNzKHN0cnVj dCBDb29raWVJbmZvICpjb29raWVzKQ0KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgdm9pZCBD dXJsX2Nvb2tpZV9jbGVhbnVwKHN0cnVjdCBDb29raWVJbmZvICpjKQ0KKyB7DQorICAgaWYoYykg ew0KKyAgICAgZnJlZShjLT5maWxlbmFtZSk7DQorLSAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChj LT5jb29raWVzLCBUUlVFKTsNCisrICAgIEN1cmxfY29va2llX2ZyZWVsaXN0KGMtPmNvb2tpZXMp Ow0KKyAgICAgZnJlZShjKTsgLyogZnJlZSB0aGUgYmFzZSBzdHJ1Y3QgYXMgd2VsbCAqLw0KKyAg IH0NCisgfQ0KKyANCisgLyogZ2V0X25ldHNjYXBlX2Zvcm1hdCgpDQorZGlmZiAtLWdpdCBhL2xp Yi9jb29raWUuaCBiL2xpYi9jb29raWUuaA0KK2luZGV4IGNkN2M1NGEuLmE5YTQ1NzggMTAwNjQ0 DQorLS0tIGEvbGliL2Nvb2tpZS5oDQorKysrIGIvbGliL2Nvb2tpZS5oDQorQEAgLTUsMTEgKzUs MTEgQEANCisgICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8 IHwNCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwN CisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18N CisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198 DQorICAqDQorLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTEsIERhbmllbCBTdGVuYmVyZywg PGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQorKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTYs IERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQorICAqDQorICAqIFRo aXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcs IHdoaWNoDQorICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlz dHJpYnV0aW9uLiBUaGUgdGVybXMNCisgICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8v Y3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuDQorICAqDQorQEAgLTgwLDExICs4MCwx MSBAQCBzdHJ1Y3QgQ29va2llICpDdXJsX2Nvb2tpZV9hZGQoc3RydWN0IEN1cmxfZWFzeSAqZGF0 YSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDb29raWVJbmZvICos IGJvb2wgaGVhZGVyLCBjaGFyICpsaW5lcHRyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgY2hhciAqZG9tYWluLCBjb25zdCBjaGFyICpwYXRoKTsNCisgDQorIHN0cnVj dCBDb29raWUgKkN1cmxfY29va2llX2dldGxpc3Qoc3RydWN0IENvb2tpZUluZm8gKiwgY29uc3Qg Y2hhciAqLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg KiwgYm9vbCk7DQorLXZvaWQgQ3VybF9jb29raWVfZnJlZWxpc3Qoc3RydWN0IENvb2tpZSAqY29v a2llcywgYm9vbCBjb29raWVzdG9vKTsNCisrdm9pZCBDdXJsX2Nvb2tpZV9mcmVlbGlzdChzdHJ1 Y3QgQ29va2llICpjb29raWVzKTsNCisgdm9pZCBDdXJsX2Nvb2tpZV9jbGVhcmFsbChzdHJ1Y3Qg Q29va2llSW5mbyAqY29va2llcyk7DQorIHZvaWQgQ3VybF9jb29raWVfY2xlYXJzZXNzKHN0cnVj dCBDb29raWVJbmZvICpjb29raWVzKTsNCisgDQorICNpZiBkZWZpbmVkKENVUkxfRElTQUJMRV9I VFRQKSB8fCBkZWZpbmVkKENVUkxfRElTQUJMRV9DT09LSUVTKQ0KKyAjZGVmaW5lIEN1cmxfY29v a2llX2xpc3QoeCkgTlVMTA0KK2RpZmYgLS1naXQgYS9saWIvaHR0cC5jIGIvbGliL2h0dHAuYw0K K2luZGV4IDY1YzE0NWEuLmU2ZTdkMzcgMTAwNjQ0DQorLS0tIGEvbGliL2h0dHAuYw0KKysrKyBi L2xpYi9odHRwLmMNCitAQCAtMjM4MiwxMSArMjM4MiwxMSBAQCBDVVJMY29kZSBDdXJsX2h0dHAo c3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBib29sICpkb25lKQ0KKyAgICAgICAgICAgICBicmVh azsNCisgICAgICAgICAgIGNvdW50Kys7DQorICAgICAgICAgfQ0KKyAgICAgICAgIGNvID0gY28t Pm5leHQ7IC8qIG5leHQgY29va2llIHBsZWFzZSAqLw0KKyAgICAgICB9DQorLSAgICAgIEN1cmxf Y29va2llX2ZyZWVsaXN0KHN0b3JlLCBGQUxTRSk7IC8qIGZyZWUgdGhlIGNvb2tpZSBsaXN0ICov DQorKyAgICAgIEN1cmxfY29va2llX2ZyZWVsaXN0KHN0b3JlKTsNCisgICAgIH0NCisgICAgIGlm KGFkZGNvb2tpZXMgJiYgIXJlc3VsdCkgew0KKyAgICAgICBpZighY291bnQpDQorICAgICAgICAg cmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyZihyZXFfYnVmZmVyLCAiQ29va2llOiAiKTsNCisgICAg ICAgaWYoIXJlc3VsdCkgew0KKy0tIA0KKzIuOS4zDQorDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJs L0NWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyNC1maXhl ZC5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmIyODhmOWUNCi0t LSAvZGV2L251bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoDQpA QCAtMCwwICsxLDYxIEBADQorRnJvbSA2NjA0ZDRkZjMwYWVjNjZkYjZmNWJkNTFlZTNjMzQxZGQ3 MzI5ZmNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8 ZGFuaWVsQGhheHguc2U+DQorRGF0ZTogVHVlLCAxMSBPY3QgMjAxNiAwMDo0ODozNSArMDIwMA0K K1N1YmplY3Q6IFtQQVRDSF0gdXJscGFyc2U6IGFjY2VwdCAnIycgYXMgZW5kIG9mIGhvc3QgbmFt ZQ0KK01JTUUtVmVyc2lvbjogMS4wDQorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04DQorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KKw0KKydodHRwOi8vZXhh bXBsZS5jb20jQDEyNy4wLjAuMS94LnR4dCcgZXF1YWxzIGEgcmVxdWVzdCB0byBleGFtcGxlLmNv bQ0KK2ZvciB0aGUgJy8nIGRvY3VtZW50IHdpdGggdGhlIHJlc3Qgb2YgdGhlIFVSTCBiZWluZyBh IGZyYWdtZW50Lg0KKw0KK0NWRS0yMDE2LTg2MjQNCisNCitCdWc6IGh0dHBzOi8vY3VybC5oYXh4 LnNlL2RvY3MvYWR2XzIwMTYxMTAySi5odG1sDQorUmVwb3J0ZWQtYnk6IEZlcm5hbmRvIE11w7Fv eg0KKy0tLQ0KKyBsaWIvdXJsLmMgfCAxMCArKysrKy0tLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL2xpYi91cmwu YyBiL2xpYi91cmwuYw0KK2luZGV4IDkxYjJiZjguLjk4MjM2ZTIgMTAwNjQ0DQorLS0tDQorUGF0 Y2ggd2FzIHNsaWdodGx5IG1vZGlmaWVkIGJ5IFNlcmdleSBMdWtpbiA8c2VyZ2VqLmx1a2luQGdt YWlsLmNvbT4NCitPcmlnaW5hbCBwYXRjaCAoaHR0cHM6Ly9jdXJsLmhheHguc2UvQ1ZFLTIwMTYt ODYyNC5wYXRjaCkgZmFpbGVkIHRvIGFwcGx5IHRvDQorY3VybCA3LjQ5LjENCisNCistLS0gYS9s aWIvdXJsLmMNCisrKysgYi9saWIvdXJsLmMNCitAQCAtNDE0NCw3ICs0MTQ0LDcgQEANCisgICAg IHBhdGhbMF09MDsNCisgDQorICAgICBpZigyID4gc3NjYW5mKGRhdGEtPmNoYW5nZS51cmwsDQor LSAgICAgICAgICAgICAgICAgICAiJTE1W15cbjpdOi8vJVteXG4vP10lW15cbl0iLA0KKysgICAg ICAgICAgICAgICAgICAgIiUxNVteXG46XTovLyVbXlxuLz8jXSVbXlxuXSIsDQorICAgICAgICAg ICAgICAgICAgICBwcm90b2J1ZiwNCisgICAgICAgICAgICAgICAgICAgIGNvbm4tPmhvc3QubmFt ZSwgcGF0aCkpIHsNCisgDQorQEAgLTQxNTIsNyArNDE1Miw3IEBADQorICAgICAgICAqIFRoZSBV Ukwgd2FzIGJhZGx5IGZvcm1hdHRlZCwgbGV0J3MgdHJ5IHRoZSBicm93c2VyLXN0eWxlIF93aXRo b3V0Xw0KKyAgICAgICAgKiBwcm90b2NvbCBzcGVjaWZpZWQgbGlrZSAnaHR0cDovLycuDQorICAg ICAgICAqLw0KKy0gICAgICByYyA9IHNzY2FuZihkYXRhLT5jaGFuZ2UudXJsLCAiJVteXG4vP10l W15cbl0iLCBjb25uLT5ob3N0Lm5hbWUsIHBhdGgpOw0KKysgICAgICByYyA9IHNzY2FuZihkYXRh LT5jaGFuZ2UudXJsLCAiJVteXG4vPyNdJVteXG5dIiwgY29ubi0+aG9zdC5uYW1lLCBwYXRoKTsN CisgICAgICAgaWYoMSA+IHJjKSB7DQorICAgICAgICAgLyoNCisgICAgICAgICAgKiBXZSBjb3Vs ZG4ndCBldmVuIGdldCB0aGlzIGZvcm1hdC4NCitAQCAtNDI0MiwxMCArNDI0MiwxMCBAQA0KKyAg IH0NCisgDQorICAgLyogSWYgdGhlIFVSTCBpcyBtYWxmb3JtYXR0ZWQgKG1pc3NpbmcgYSAnLycg YWZ0ZXIgaG9zdG5hbWUgYmVmb3JlIHBhdGgpIHdlDQorLSAgICogaW5zZXJ0IGEgc2xhc2ggaGVy ZS4gVGhlIG9ubHkgbGV0dGVyIGV4Y2VwdCAnLycgd2UgYWNjZXB0IHRvIHN0YXJ0IGEgcGF0aA0K Ky0gICAqIGlzICc/Jy4NCisrICAgKiBpbnNlcnQgYSBzbGFzaCBoZXJlLiBUaGUgb25seSBsZXR0 ZXJzIGV4Y2VwdCAnLycgdGhhdCBjYW4gc3RhcnQgYSBwYXRoIGlzDQorKyAgICogJz8nIGFuZCAn IycgLSBhcyBjb250cm9sbGVkIGJ5IHRoZSB0d28gc3NjYW5mKCkgcGF0dGVybnMgYWJvdmUuDQor ICAgICovDQorLSAgaWYocGF0aFswXSA9PSAnPycpIHsNCisrICBpZihwYXRoWzBdICE9ICcvJykg ew0KKyAgICAgLyogV2UgbmVlZCB0aGlzIGZ1bmN0aW9uIHRvIGRlYWwgd2l0aCBvdmVybGFwcGlu ZyBtZW1vcnkgYXJlYXMuIFdlIGtub3cNCisgICAgICAgIHRoYXQgdGhlIG1lbW9yeSBhcmVhICdw YXRoJyBwb2ludHMgdG8gaXMgJ3VybGxlbicgYnl0ZXMgYmlnIGFuZCB0aGF0DQorICAgICAgICBp cyBiaWdnZXIgdGhhbiB0aGUgcGF0aC4gVXNlICsxIHRvIG1vdmUgdGhlIHplcm8gYnl0ZSB0b28u ICovDQorDQotLSANCjIuMi4xDQoNCg0KDQotLS0NClVuc3Vic2NyaWJlOiAgYWxwaW5lLWFwb3J0 cyt1bnN1YnNjcmliZUBsaXN0cy5hbHBpbmVsaW51eC5vcmcNCkhlbHA6ICAgICAgICAgYWxwaW5l LWFwb3J0cytoZWxwQGxpc3RzLmFscGluZWxpbnV4Lm9yZw0KLS0tDQo=