From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: Merge remote-tracking branch 'origin/f20' into f20 Date: Tue, 09 Jun 2026 12:43:06 GMT Message-ID: <178100898603.1.10764184762028347157.rpms-openssl-e2417439462b@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: e2417439462b79fa36f02fef6b0d893d620f189d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb3BlbnNzbApCcmFu Y2ggOiByZWJhc2VfNDBiZXRhCkNvbW1pdCA6IGUyNDE3NDM5NDYyYjc5ZmEzNmYwMmZlZjZiMGQ4 OTNkNjIwZjE4OWQKQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5vcmc+ CkRhdGUgICA6IDIwMTMtMTAtMTZUMTY6MDA6MDErMDI6MDAKU3RhdHMgIDogKzE3MzAvLTYyMCBp biAxMCBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMv b3BlbnNzbC9jL2UyNDE3NDM5NDYyYjc5ZmEzNmYwMmZlZjZiMGQ4OTNkNjIwZjE4OWQ/YnJhbmNo PXJlYmFzZV80MGJldGEKCkxvZzoKTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2lu L2YyMCcgaW50byBmMjAKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUK aW5kZXggOTJhNDEwMi4uZjgyYjFkYiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0 aWdub3JlCkBAIC0xMiwzICsxMiw0IEBAIG9wZW5zc2wtMS4wLjBhLXVzYS50YXIuYnoyCiAvb3Bl bnNzbC0xLjAuMWItdXNhLnRhci54egogL29wZW5zc2wtMS4wLjFjLXVzYS50YXIueHoKIC9vcGVu c3NsLTEuMC4xZS11c2EudGFyLnh6Cisvb3BlbnNzbC0xLjAuMWUtaG9iYmxlZC50YXIueHoKCmRp ZmYgLS1naXQgYS9lY19jdXJ2ZS5jIGIvZWNfY3VydmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4wNjkwZjhiCi0tLSAvZGV2L251bGwKKysrIGIvZWNfY3VydmUuYwpAQCAt MCwwICsxLDM0MSBAQAorLyogY3J5cHRvL2VjL2VjX2N1cnZlLmMgKi8KKy8qCisgKiBXcml0dGVu IGJ5IE5pbHMgTGFyc2NoIGZvciB0aGUgT3BlblNTTCBwcm9qZWN0LgorICovCisvKiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMTAgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFs bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0 YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKgorICogMi4gUmVkaXN0cmli dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg ZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIDMuIEFs bCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhp cworICogICAgc29mdHdhcmUgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ21l bnQ6CisgKiAgICAiVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0 aGUgT3BlblNTTCBQcm9qZWN0CisgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQu IChodHRwOi8vd3d3Lm9wZW5zc2wub3JnLykiCisgKgorICogNC4gVGhlIG5hbWVzICJPcGVuU1NM IFRvb2xraXQiIGFuZCAiT3BlblNTTCBQcm9qZWN0IiBtdXN0IG5vdCBiZSB1c2VkIHRvCisgKiAg ICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUg d2l0aG91dAorICogICAgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiBGb3Igd3JpdHRlbiBwZXJt aXNzaW9uLCBwbGVhc2UgY29udGFjdAorICogICAgb3BlbnNzbC1jb3JlQG9wZW5zc2wub3JnLgor ICoKKyAqIDUuIFByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1heSBub3QgYmUg Y2FsbGVkICJPcGVuU1NMIgorICogICAgbm9yIG1heSAiT3BlblNTTCIgYXBwZWFyIGluIHRoZWly IG5hbWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRlbgorICogICAgcGVybWlzc2lvbiBvZiB0aGUgT3Bl blNTTCBQcm9qZWN0LgorICoKKyAqIDYuIFJlZGlzdHJpYnV0aW9ucyBvZiBhbnkgZm9ybSB3aGF0 c29ldmVyIG11c3QgcmV0YWluIHRoZSBmb2xsb3dpbmcKKyAqICAgIGFja25vd2xlZGdtZW50Ogor ICogICAgIlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIE9w ZW5TU0wgUHJvamVjdAorICogICAgZm9yIHVzZSBpbiB0aGUgT3BlblNTTCBUb29sa2l0IChodHRw Oi8vd3d3Lm9wZW5zc2wub3JnLykiCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC WSBUSEUgT3BlblNTTCBQUk9KRUNUIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTRUQgT1Ig SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM TCBUSEUgT3BlblNTTCBQUk9KRUNUIE9SCisgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1J VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikK KyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF UiBJTiBDT05UUkFDVCwKKyAqIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQKKyAqIE9GIFRIRSBQT1NTSUJJ TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKgorICogVGhpcyBwcm9kdWN0 IGluY2x1ZGVzIGNyeXB0b2dyYXBoaWMgc29mdHdhcmUgd3JpdHRlbiBieSBFcmljIFlvdW5nCisg KiAoZWF5QGNyeXB0c29mdC5jb20pLiAgVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIHdy aXR0ZW4gYnkgVGltCisgKiBIdWRzb24gKHRqaEBjcnlwdHNvZnQuY29tKS4KKyAqCisgKi8KKy8q ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAwMiBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIEFM TCBSSUdIVFMgUkVTRVJWRUQuCisgKgorICogUG9ydGlvbnMgb2YgdGhlIGF0dGFjaGVkIHNvZnR3 YXJlICgiQ29udHJpYnV0aW9uIikgYXJlIGRldmVsb3BlZCBieSAKKyAqIFNVTiBNSUNST1NZU1RF TVMsIElOQy4sIGFuZCBhcmUgY29udHJpYnV0ZWQgdG8gdGhlIE9wZW5TU0wgcHJvamVjdC4KKyAq CisgKiBUaGUgQ29udHJpYnV0aW9uIGlzIGxpY2Vuc2VkIHB1cnN1YW50IHRvIHRoZSBPcGVuU1NM IG9wZW4gc291cmNlCisgKiBsaWNlbnNlIHByb3ZpZGVkIGFib3ZlLgorICoKKyAqIFRoZSBlbGxp cHRpYyBjdXJ2ZSBiaW5hcnkgcG9seW5vbWlhbCBzb2Z0d2FyZSBpcyBvcmlnaW5hbGx5IHdyaXR0 ZW4gYnkgCisgKiBTaGV1ZWxpbmcgQ2hhbmcgU2hhbnR6IGFuZCBEb3VnbGFzIFN0ZWJpbGEgb2Yg U3VuIE1pY3Jvc3lzdGVtcyBMYWJvcmF0b3JpZXMuCisgKgorICovCisKKyNpbmNsdWRlICJlY19s Y2wuaCIKKyNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgorI2luY2x1ZGUgPG9wZW5zc2wvb2JqX21h Yy5oPgorI2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNzbGNvbmYuaD4KKwordHlwZWRlZiBzdHJ1Y3Qg eworCWludAlmaWVsZF90eXBlLAkvKiBlaXRoZXIgTklEX1g5XzYyX3ByaW1lX2ZpZWxkIG9yCisJ CQkJICogTklEX1g5XzYyX2NoYXJhY3RlcmlzdGljX3R3b19maWVsZCAqLworCQlzZWVkX2xlbiwK KwkJcGFyYW1fbGVuOworCXVuc2lnbmVkIGludCBjb2ZhY3RvcjsJLyogcHJvbW90ZWQgdG8gQk5f VUxPTkcgKi8KK30gRUNfQ1VSVkVfREFUQTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB7IEVDX0NV UlZFX0RBVEEgaDsgdW5zaWduZWQgY2hhciBkYXRhWzIwKzQ4KjZdOyB9CisJX0VDX05JU1RfUFJJ TUVfMzg0ID0geworCXsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLDIwLDQ4LDEgfSwKKwl7IDB4QTMs MHgzNSwweDkyLDB4NkEsMHhBMywweDE5LDB4QTIsMHg3QSwweDFELDB4MDAsCS8qIHNlZWQgKi8K KwkgIDB4ODksMHg2QSwweDY3LDB4NzMsMHhBNCwweDgyLDB4N0EsMHhDRCwweEFDLDB4NzMsCisK KwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCS8q IHAgKi8KKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4 RkYsCisJICAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZG LAorCSAgMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgwMCwweDAwLDB4MDAsMHgwMCwK KwkgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHhGRiwweEZGLDB4RkYsMHhGRiwKKwkgIDB4RkYsMHhG RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCS8qIGEgKi8KKwkgIDB4 RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCisJICAweEZG LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAorCSAgMHhGRiww eEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgwMCwweDAwLDB4MDAsMHgwMCwKKwkgIDB4MDAsMHgw MCwweDAwLDB4MDAsMHhGRiwweEZGLDB4RkYsMHhGQywKKwkgIDB4QjMsMHgzMSwweDJGLDB4QTcs MHhFMiwweDNFLDB4RTcsMHhFNCwweDk4LDB4OEUsCS8qIGIgKi8KKwkgIDB4MDUsMHg2QiwweEUz LDB4RjgsMHgyRCwweDE5LDB4MTgsMHgxRCwweDlDLDB4NkUsCisJICAweEZFLDB4ODEsMHg0MSww eDEyLDB4MDMsMHgxNCwweDA4LDB4OEYsMHg1MCwweDEzLAorCSAgMHg4NywweDVBLDB4QzYsMHg1 NiwweDM5LDB4OEQsMHg4QSwweDJFLDB4RDEsMHg5RCwKKwkgIDB4MkEsMHg4NSwweEM4LDB4RUQs MHhEMywweEVDLDB4MkEsMHhFRiwKKwkgIDB4QUEsMHg4NywweENBLDB4MjIsMHhCRSwweDhCLDB4 MDUsMHgzNywweDhFLDB4QjEsCS8qIHggKi8KKwkgIDB4QzcsMHgxRSwweEYzLDB4MjAsMHhBRCww eDc0LDB4NkUsMHgxRCwweDNCLDB4NjIsCisJICAweDhCLDB4QTcsMHg5QiwweDk4LDB4NTksMHhG NywweDQxLDB4RTAsMHg4MiwweDU0LAorCSAgMHgyQSwweDM4LDB4NTUsMHgwMiwweEYyLDB4NUQs MHhCRiwweDU1LDB4MjksMHg2QywKKwkgIDB4M0EsMHg1NCwweDVFLDB4MzgsMHg3MiwweDc2LDB4 MEEsMHhCNywKKwkgIDB4MzYsMHgxNywweGRlLDB4NGEsMHg5NiwweDI2LDB4MmMsMHg2ZiwweDVk LDB4OWUsCS8qIHkgKi8KKwkgIDB4OTgsMHhiZiwweDkyLDB4OTIsMHhkYywweDI5LDB4ZjgsMHhm NCwweDFkLDB4YmQsCisJICAweDI4LDB4OWEsMHgxNCwweDdjLDB4ZTksMHhkYSwweDMxLDB4MTMs MHhiNSwweGYwLAorCSAgMHhiOCwweGMwLDB4MGEsMHg2MCwweGIxLDB4Y2UsMHgxZCwweDdlLDB4 ODEsMHg5ZCwKKwkgIDB4N2EsMHg0MywweDFkLDB4N2MsMHg5MCwweGVhLDB4MGUsMHg1ZiwKKwkg IDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCS8qIG9y ZGVyICovCisJICAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiww eEZGLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEM3LDB4NjMsMHg0RCwweDgxLDB4RjQsMHgz NywKKwkgIDB4MkQsMHhERiwweDU4LDB4MUEsMHgwRCwweEIyLDB4NDgsMHhCMCwweEE3LDB4N0Es CisJICAweEVDLDB4RUMsMHgxOSwweDZBLDB4Q0MsMHhDNSwweDI5LDB4NzMgfQorCX07CisKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgeyBFQ19DVVJWRV9EQVRBIGg7IHVuc2lnbmVkIGNoYXIgZGF0YVsy MCszMio2XTsgfQorCV9FQ19YOV82Ml9QUklNRV8yNTZWMSA9IHsKKwl7IE5JRF9YOV82Ml9wcmlt ZV9maWVsZCwyMCwzMiwxIH0sCisJeyAweEM0LDB4OUQsMHgzNiwweDA4LDB4ODYsMHhFNywweDA0 LDB4OTMsMHg2QSwweDY2LAkvKiBzZWVkICovCisJICAweDc4LDB4RTEsMHgxMywweDlELDB4MjYs MHhCNywweDgxLDB4OUYsMHg3RSwweDkwLAorCisJICAweEZGLDB4RkYsMHhGRiwweEZGLDB4MDAs MHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLAkvKiBwICovCisJICAweDAwLDB4MDAsMHgwMCwweDAw LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiww eEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKKwkgIDB4RkYsMHhGRiwKKwkgIDB4RkYsMHhG RiwweEZGLDB4RkYsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsCS8qIGEgKi8KKwkgIDB4 MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCisJICAweEZG LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAorCSAgMHhGRiww eEZDLAorCSAgMHg1QSwweEM2LDB4MzUsMHhEOCwweEFBLDB4M0EsMHg5MywweEU3LDB4QjMsMHhF QiwJLyogYiAqLworCSAgMHhCRCwweDU1LDB4NzYsMHg5OCwweDg2LDB4QkMsMHg2NSwweDFELDB4 MDYsMHhCMCwKKwkgIDB4Q0MsMHg1MywweEIwLDB4RjYsMHgzQiwweENFLDB4M0MsMHgzRSwweDI3 LDB4RDIsCisJICAweDYwLDB4NEIsCisJICAweDZCLDB4MTcsMHhEMSwweEYyLDB4RTEsMHgyQyww eDQyLDB4NDcsMHhGOCwweEJDLAkvKiB4ICovCisJICAweEU2LDB4RTUsMHg2MywweEE0LDB4NDAs MHhGMiwweDc3LDB4MDMsMHg3RCwweDgxLAorCSAgMHgyRCwweEVCLDB4MzMsMHhBMCwweEY0LDB4 QTEsMHgzOSwweDQ1LDB4RDgsMHg5OCwKKwkgIDB4QzIsMHg5NiwKKwkgIDB4NGYsMHhlMywweDQy LDB4ZTIsMHhmZSwweDFhLDB4N2YsMHg5YiwweDhlLDB4ZTcsCS8qIHkgKi8KKwkgIDB4ZWIsMHg0 YSwweDdjLDB4MGYsMHg5ZSwweDE2LDB4MmIsMHhjZSwweDMzLDB4NTcsCisJICAweDZiLDB4MzEs MHg1ZSwweGNlLDB4Y2IsMHhiNiwweDQwLDB4NjgsMHgzNywweGJmLAorCSAgMHg1MSwweGY1LAor CSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweDAwLDB4MDAsMHgwMCwweDAwLDB4RkYsMHhGRiwJLyog b3JkZXIgKi8KKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkMsMHhFNiwweEZB LDB4QUQsCisJICAweEE3LDB4MTcsMHg5RSwweDg0LDB4RjMsMHhCOSwweENBLDB4QzIsMHhGQyww eDYzLAorCSAgMHgyNSwweDUxIH0KKwl9OworCit0eXBlZGVmIHN0cnVjdCBfZWNfbGlzdF9lbGVt ZW50X3N0IHsKKwlpbnQJbmlkOworCWNvbnN0IEVDX0NVUlZFX0RBVEEgKmRhdGE7CisJY29uc3Qg RUNfTUVUSE9EICooKm1ldGgpKHZvaWQpOworCWNvbnN0IGNoYXIgKmNvbW1lbnQ7CisJfSBlY19s aXN0X2VsZW1lbnQ7CisKK3N0YXRpYyBjb25zdCBlY19saXN0X2VsZW1lbnQgY3VydmVfbGlzdFtd ID0geworCS8qIHByaW1lIGZpZWxkIGN1cnZlcyAqLworCS8qIHNlY2cgY3VydmVzICovCisJLyog U0VDRyBzZWNwMjU2cjEgaXMgdGhlIHNhbWUgYXMgWDkuNjIgcHJpbWUyNTZ2MSBhbmQgaGVuY2Ug b21pdHRlZCAqLworCXsgTklEX3NlY3AzODRyMSwgJl9FQ19OSVNUX1BSSU1FXzM4NC5oLCAwLCAi TklTVC9TRUNHIGN1cnZlIG92ZXIgYSAzODQgYml0IHByaW1lIGZpZWxkIiB9LAorI2lmbmRlZiBP UEVOU1NMX05PX0VDX05JU1RQXzY0X0dDQ18xMjgKKwl7IE5JRF9YOV82Ml9wcmltZTI1NnYxLCAm X0VDX1g5XzYyX1BSSU1FXzI1NlYxLmgsIEVDX0dGcF9uaXN0cDI1Nl9tZXRob2QsICJYOS42Mi9T RUNHIGN1cnZlIG92ZXIgYSAyNTYgYml0IHByaW1lIGZpZWxkIiB9LAorI2Vsc2UKKwl7IE5JRF9Y OV82Ml9wcmltZTI1NnYxLCAmX0VDX1g5XzYyX1BSSU1FXzI1NlYxLmgsIDAsICJYOS42Mi9TRUNH IGN1cnZlIG92ZXIgYSAyNTYgYml0IHByaW1lIGZpZWxkIiB9LAorI2VuZGlmCit9OworCisjZGVm aW5lIGN1cnZlX2xpc3RfbGVuZ3RoIChzaXplb2YoY3VydmVfbGlzdCkvc2l6ZW9mKGVjX2xpc3Rf ZWxlbWVudCkpCisKK3N0YXRpYyBFQ19HUk9VUCAqZWNfZ3JvdXBfbmV3X2Zyb21fZGF0YShjb25z dCBlY19saXN0X2VsZW1lbnQgY3VydmUpCisJeworCUVDX0dST1VQICpncm91cD1OVUxMOworCUVD X1BPSU5UICpQPU5VTEw7CisJQk5fQ1RYCSAqY3R4PU5VTEw7CisJQklHTlVNCSAqcD1OVUxMLCAq YT1OVUxMLCAqYj1OVUxMLCAqeD1OVUxMLCAqeT1OVUxMLCAqb3JkZXI9TlVMTDsKKwlpbnQJIG9r PTA7CisJaW50CSBzZWVkX2xlbixwYXJhbV9sZW47CisJY29uc3QgRUNfTUVUSE9EICptZXRoOwor CWNvbnN0IEVDX0NVUlZFX0RBVEEgKmRhdGE7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcGFyYW1z OworCisJaWYgKChjdHggPSBCTl9DVFhfbmV3KCkpID09IE5VTEwpCisJCXsKKwkJRUNlcnIoRUNf Rl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9NQUxMT0NfRkFJTFVSRSk7CisJCWdvdG8g ZXJyOworCQl9CisKKwlkYXRhID0gY3VydmUuZGF0YTsKKwlzZWVkX2xlbiAgPSBkYXRhLT5zZWVk X2xlbjsKKwlwYXJhbV9sZW4gPSBkYXRhLT5wYXJhbV9sZW47CisJcGFyYW1zCSAgPSAoY29uc3Qg dW5zaWduZWQgY2hhciAqKShkYXRhKzEpOwkvKiBza2lwIGhlYWRlciAqLworCXBhcmFtcwkgKz0g c2VlZF9sZW47CQkJCS8qIHNraXAgc2VlZCAgICovCisKKwlpZiAoIShwID0gQk5fYmluMmJuKHBh cmFtcyswKnBhcmFtX2xlbiwgcGFyYW1fbGVuLCBOVUxMKSkKKwkJfHwgIShhID0gQk5fYmluMmJu KHBhcmFtcysxKnBhcmFtX2xlbiwgcGFyYW1fbGVuLCBOVUxMKSkKKwkJfHwgIShiID0gQk5fYmlu MmJuKHBhcmFtcysyKnBhcmFtX2xlbiwgcGFyYW1fbGVuLCBOVUxMKSkpCisJCXsKKwkJRUNlcnIo RUNfRl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9CTl9MSUIpOworCQlnb3RvIGVycjsK KwkJfQorCisJaWYgKGN1cnZlLm1ldGggIT0gMCkKKwkJeworCQltZXRoID0gY3VydmUubWV0aCgp OworCQlpZiAoKChncm91cCA9IEVDX0dST1VQX25ldyhtZXRoKSkgPT0gTlVMTCkgfHwKKwkJCSgh KGdyb3VwLT5tZXRoLT5ncm91cF9zZXRfY3VydmUoZ3JvdXAsIHAsIGEsIGIsIGN0eCkpKSkKKwkJ CXsKKwkJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJSX1JfRUNfTElCKTsK KwkJCWdvdG8gZXJyOworCQkJfQorCQl9CisJZWxzZSBpZiAoZGF0YS0+ZmllbGRfdHlwZSA9PSBO SURfWDlfNjJfcHJpbWVfZmllbGQpCisJCXsKKwkJaWYgKChncm91cCA9IEVDX0dST1VQX25ld19j dXJ2ZV9HRnAocCwgYSwgYiwgY3R4KSkgPT0gTlVMTCkKKwkJCXsKKwkJCUVDZXJyKEVDX0ZfRUNf R1JPVVBfTkVXX0ZST01fREFUQSwgRVJSX1JfRUNfTElCKTsKKwkJCWdvdG8gZXJyOworCQkJfQor CQl9CisjaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQorCWVsc2UJLyogZmllbGRfdHlwZSA9PSBOSURf WDlfNjJfY2hhcmFjdGVyaXN0aWNfdHdvX2ZpZWxkICovCisJCXsKKwkJaWYgKChncm91cCA9IEVD X0dST1VQX25ld19jdXJ2ZV9HRjJtKHAsIGEsIGIsIGN0eCkpID09IE5VTEwpCisJCQl7CisJCQlF Q2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVSUl9SX0VDX0xJQik7CisJCQlnb3Rv IGVycjsKKwkJCX0KKwkJfQorI2VuZGlmCisKKwlpZiAoKFAgPSBFQ19QT0lOVF9uZXcoZ3JvdXAp KSA9PSBOVUxMKQorCQl7CisJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJS X1JfRUNfTElCKTsKKwkJZ290byBlcnI7CisJCX0KKworCWlmICghKHggPSBCTl9iaW4yYm4ocGFy YW1zKzMqcGFyYW1fbGVuLCBwYXJhbV9sZW4sIE5VTEwpKQorCQl8fCAhKHkgPSBCTl9iaW4yYm4o cGFyYW1zKzQqcGFyYW1fbGVuLCBwYXJhbV9sZW4sIE5VTEwpKSkKKwkJeworCQlFQ2VycihFQ19G X0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVSUl9SX0JOX0xJQik7CisJCWdvdG8gZXJyOworCQl9 CisJaWYgKCFFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwg eSwgY3R4KSkKKwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVSUl9S X0VDX0xJQik7CisJCWdvdG8gZXJyOworCQl9CisJaWYgKCEob3JkZXIgPSBCTl9iaW4yYm4ocGFy YW1zKzUqcGFyYW1fbGVuLCBwYXJhbV9sZW4sIE5VTEwpKQorCQl8fCAhQk5fc2V0X3dvcmQoeCwg KEJOX1VMT05HKWRhdGEtPmNvZmFjdG9yKSkKKwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05F V19GUk9NX0RBVEEsIEVSUl9SX0JOX0xJQik7CisJCWdvdG8gZXJyOworCQl9CisJaWYgKCFFQ19H Uk9VUF9zZXRfZ2VuZXJhdG9yKGdyb3VwLCBQLCBvcmRlciwgeCkpCisJCXsKKwkJRUNlcnIoRUNf Rl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9FQ19MSUIpOworCQlnb3RvIGVycjsKKwkJ fQorCWlmIChzZWVkX2xlbikKKwkJeworCQlpZiAoIUVDX0dST1VQX3NldF9zZWVkKGdyb3VwLCBw YXJhbXMtc2VlZF9sZW4sIHNlZWRfbGVuKSkKKwkJCXsKKwkJCUVDZXJyKEVDX0ZfRUNfR1JPVVBf TkVXX0ZST01fREFUQSwgRVJSX1JfRUNfTElCKTsKKwkJCWdvdG8gZXJyOworCQkJfQorCQl9CisJ b2s9MTsKK2VycjoKKwlpZiAoIW9rKQorCQl7CisJCUVDX0dST1VQX2ZyZWUoZ3JvdXApOworCQln cm91cCA9IE5VTEw7CisJCX0KKwlpZiAoUCkKKwkJRUNfUE9JTlRfZnJlZShQKTsKKwlpZiAoY3R4 KQorCQlCTl9DVFhfZnJlZShjdHgpOworCWlmIChwKQorCQlCTl9mcmVlKHApOworCWlmIChhKQor CQlCTl9mcmVlKGEpOworCWlmIChiKQorCQlCTl9mcmVlKGIpOworCWlmIChvcmRlcikKKwkJQk5f ZnJlZShvcmRlcik7CisJaWYgKHgpCisJCUJOX2ZyZWUoeCk7CisJaWYgKHkpCisJCUJOX2ZyZWUo eSk7CisJcmV0dXJuIGdyb3VwOworCX0KKworRUNfR1JPVVAgKkVDX0dST1VQX25ld19ieV9jdXJ2 ZV9uYW1lKGludCBuaWQpCisJeworCXNpemVfdCBpOworCUVDX0dST1VQICpyZXQgPSBOVUxMOwor CisJaWYgKG5pZCA8PSAwKQorCQlyZXR1cm4gTlVMTDsKKworCWZvciAoaT0wOyBpPGN1cnZlX2xp c3RfbGVuZ3RoOyBpKyspCisJCWlmIChjdXJ2ZV9saXN0W2ldLm5pZCA9PSBuaWQpCisJCQl7CisJ CQlyZXQgPSBlY19ncm91cF9uZXdfZnJvbV9kYXRhKGN1cnZlX2xpc3RbaV0pOworCQkJYnJlYWs7 CisJCQl9CisKKwlpZiAocmV0ID09IE5VTEwpCisJCXsKKwkJRUNlcnIoRUNfRl9FQ19HUk9VUF9O RVdfQllfQ1VSVkVfTkFNRSwgRUNfUl9VTktOT1dOX0dST1VQKTsKKwkJcmV0dXJuIE5VTEw7CisJ CX0KKworCUVDX0dST1VQX3NldF9jdXJ2ZV9uYW1lKHJldCwgbmlkKTsKKworCXJldHVybiByZXQ7 CisJfQorCitzaXplX3QgRUNfZ2V0X2J1aWx0aW5fY3VydmVzKEVDX2J1aWx0aW5fY3VydmUgKnIs IHNpemVfdCBuaXRlbXMpCisJeworCXNpemVfdAlpLCBtaW47CisKKwlpZiAociA9PSBOVUxMIHx8 IG5pdGVtcyA9PSAwKQorCQlyZXR1cm4gY3VydmVfbGlzdF9sZW5ndGg7CisKKwltaW4gPSBuaXRl bXMgPCBjdXJ2ZV9saXN0X2xlbmd0aCA/IG5pdGVtcyA6IGN1cnZlX2xpc3RfbGVuZ3RoOworCisJ Zm9yIChpID0gMDsgaSA8IG1pbjsgaSsrKQorCQl7CisJCXJbaV0ubmlkID0gY3VydmVfbGlzdFtp XS5uaWQ7CisJCXJbaV0uY29tbWVudCA9IGN1cnZlX2xpc3RbaV0uY29tbWVudDsKKwkJfQorCisJ cmV0dXJuIGN1cnZlX2xpc3RfbGVuZ3RoOworCX0KCmRpZmYgLS1naXQgYS9lY3Rlc3QuYyBiL2Vj dGVzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5NzY5NzkKLS0tIC9k ZXYvbnVsbAorKysgYi9lY3Rlc3QuYwpAQCAtMCwwICsxLDY5NSBAQAorLyogY3J5cHRvL2VjL2Vj dGVzdC5jICovCisvKgorICogT3JpZ2luYWxseSB3cml0dGVuIGJ5IEJvZG8gTW9lbGxlciBmb3Ig dGhlIE9wZW5TU0wgcHJvamVjdC4KKyAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIENvcHlyaWdodCAo YykgMTk5OC0yMDAxIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJl ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIuIAorICoKKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAg IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0 aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJp YWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMKKyAqICAgIHNvZnR3YXJlIG11 c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdtZW50OgorICogICAgIlRoaXMgcHJv ZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIE9wZW5TU0wgUHJvamVjdAor ICogICAgZm9yIHVzZSBpbiB0aGUgT3BlblNTTCBUb29sa2l0LiAoaHR0cDovL3d3dy5vcGVuc3Ns Lm9yZy8pIgorICoKKyAqIDQuIFRoZSBuYW1lcyAiT3BlblNTTCBUb29sa2l0IiBhbmQgIk9wZW5T U0wgUHJvamVjdCIgbXVzdCBub3QgYmUgdXNlZCB0bworICogICAgZW5kb3JzZSBvciBwcm9tb3Rl IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQKKyAqICAgIHByaW9y IHdyaXR0ZW4gcGVybWlzc2lvbi4gRm9yIHdyaXR0ZW4gcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRh Y3QKKyAqICAgIG9wZW5zc2wtY29yZUBvcGVuc3NsLm9yZy4KKyAqCisgKiA1LiBQcm9kdWN0cyBk ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAiT3BlblNTTCIKKyAq ICAgIG5vciBtYXkgIk9wZW5TU0wiIGFwcGVhciBpbiB0aGVpciBuYW1lcyB3aXRob3V0IHByaW9y IHdyaXR0ZW4KKyAqICAgIHBlcm1pc3Npb24gb2YgdGhlIE9wZW5TU0wgUHJvamVjdC4KKyAqCisg KiA2LiBSZWRpc3RyaWJ1dGlvbnMgb2YgYW55IGZvcm0gd2hhdHNvZXZlciBtdXN0IHJldGFpbiB0 aGUgZm9sbG93aW5nCisgKiAgICBhY2tub3dsZWRnbWVudDoKKyAqICAgICJUaGlzIHByb2R1Y3Qg aW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2plY3QKKyAqICAg IGZvciB1c2UgaW4gdGhlIE9wZW5TU0wgVG9vbGtpdCAoaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8p IgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE9wZW5TU0wgUFJPSkVD VCBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTU0VEIE9SIElNUExJRUQgV0FSUkFOVElFUywg SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIE9wZW5TU0wgUFJPSkVD VCBPUgorICogSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM IERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBB TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsCisgKiBT VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS RSwgRVZFTiBJRiBBRFZJU0VECisgKiBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu CisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorICoKKyAqIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBjcnlwdG9ncmFw aGljIHNvZnR3YXJlIHdyaXR0ZW4gYnkgRXJpYyBZb3VuZworICogKGVheUBjcnlwdHNvZnQuY29t KS4gIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSB3cml0dGVuIGJ5IFRpbQorICogSHVk c29uICh0amhAY3J5cHRzb2Z0LmNvbSkuCisgKgorICovCisvKiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQ29w eXJpZ2h0IDIwMDIgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBBTEwgUklHSFRTIFJFU0VSVkVELgor ICoKKyAqIFBvcnRpb25zIG9mIHRoZSBhdHRhY2hlZCBzb2Z0d2FyZSAoIkNvbnRyaWJ1dGlvbiIp IGFyZSBkZXZlbG9wZWQgYnkgCisgKiBTVU4gTUlDUk9TWVNURU1TLCBJTkMuLCBhbmQgYXJlIGNv bnRyaWJ1dGVkIHRvIHRoZSBPcGVuU1NMIHByb2plY3QuCisgKgorICogVGhlIENvbnRyaWJ1dGlv biBpcyBsaWNlbnNlZCBwdXJzdWFudCB0byB0aGUgT3BlblNTTCBvcGVuIHNvdXJjZQorICogbGlj ZW5zZSBwcm92aWRlZCBhYm92ZS4KKyAqCisgKiBUaGUgZWxsaXB0aWMgY3VydmUgYmluYXJ5IHBv bHlub21pYWwgc29mdHdhcmUgaXMgb3JpZ2luYWxseSB3cml0dGVuIGJ5IAorICogU2hldWVsaW5n IENoYW5nIFNoYW50eiBhbmQgRG91Z2xhcyBTdGViaWxhIG9mIFN1biBNaWNyb3N5c3RlbXMgTGFi b3JhdG9yaWVzLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRs aWIuaD4KKyNpZmRlZiBGTEFUX0lOQworI2luY2x1ZGUgImVfb3MuaCIKKyNlbHNlCisjaW5jbHVk ZSAiLi4vZV9vcy5oIgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGlt ZS5oPgorCisKKyNpZmRlZiBPUEVOU1NMX05PX0VDCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq IGFyZ3ZbXSkgeyBwdXRzKCJFbGxpcHRpYyBjdXJ2ZXMgYXJlIGRpc2FibGVkLiIpOyByZXR1cm4g MDsgfQorI2Vsc2UKKworCisjaW5jbHVkZSA8b3BlbnNzbC9lYy5oPgorI2lmbmRlZiBPUEVOU1NM X05PX0VOR0lORQorI2luY2x1ZGUgPG9wZW5zc2wvZW5naW5lLmg+CisjZW5kaWYKKyNpbmNsdWRl IDxvcGVuc3NsL2Vyci5oPgorI2luY2x1ZGUgPG9wZW5zc2wvb2JqX21hYy5oPgorI2luY2x1ZGUg PG9wZW5zc2wvb2JqZWN0cy5oPgorI2luY2x1ZGUgPG9wZW5zc2wvcmFuZC5oPgorI2luY2x1ZGUg PG9wZW5zc2wvYm4uaD4KKyNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2xjb25mLmg+CisKKyNpZiBk ZWZpbmVkKF9NU0NfVkVSKSAmJiBkZWZpbmVkKF9NSVBTXykgJiYgKF9NU0NfVkVSLzEwMD09MTIp CisvKiBzdXBwcmVzcyAidG9vIGJpZyB0b28gb3B0aW1pemUiIHdhcm5pbmcgKi8KKyNwcmFnbWEg d2FybmluZyhkaXNhYmxlOjQ5NTkpCisjZW5kaWYKKworI2RlZmluZSBBQk9SVCBkbyB7IFwKKwlm Zmx1c2goc3Rkb3V0KTsgXAorCWZwcmludGYoc3RkZXJyLCAiJXM6JWQ6IEFCT1JUXG4iLCBfX0ZJ TEVfXywgX19MSU5FX18pOyBcCisJRVJSX3ByaW50X2Vycm9yc19mcChzdGRlcnIpOyBcCisJRVhJ VCgxKTsgXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBUSU1JTkdfQkFTRV9QVCAwCisjZGVmaW5l IFRJTUlOR19SQU5EX1BUIDEKKyNkZWZpbmUgVElNSU5HX1NJTVVMIDIKKworI2lmIDAKK3N0YXRp YyB2b2lkIHRpbWluZ3MoRUNfR1JPVVAgKmdyb3VwLCBpbnQgdHlwZSwgQk5fQ1RYICpjdHgpCisJ eworCWNsb2NrX3QgY2xjazsKKwlpbnQgaSwgajsKKwlCSUdOVU0gKnM7CisJQklHTlVNICpyWzEw XSwgKnIwWzEwXTsKKwlFQ19QT0lOVCAqUDsKKwkJCisJcyA9IEJOX25ldygpOworCWlmIChzID09 IE5VTEwpIEFCT1JUOworCisJZnByaW50ZihzdGRvdXQsICJUaW1pbmdzIGZvciAlZC1iaXQgZmll bGQsICIsIEVDX0dST1VQX2dldF9kZWdyZWUoZ3JvdXApKTsKKwlpZiAoIUVDX0dST1VQX2dldF9v cmRlcihncm91cCwgcywgY3R4KSkgQUJPUlQ7CisJZnByaW50ZihzdGRvdXQsICIlZC1iaXQgc2Nh bGFycyAiLCAoaW50KUJOX251bV9iaXRzKHMpKTsKKwlmZmx1c2goc3Rkb3V0KTsKKworCVAgPSBF Q19QT0lOVF9uZXcoZ3JvdXApOworCWlmIChQID09IE5VTEwpIEFCT1JUOworCUVDX1BPSU5UX2Nv cHkoUCwgRUNfR1JPVVBfZ2V0MF9nZW5lcmF0b3IoZ3JvdXApKTsKKworCWZvciAoaSA9IDA7IGkg PCAxMDsgaSsrKQorCQl7CisJCWlmICgocltpXSA9IEJOX25ldygpKSA9PSBOVUxMKSBBQk9SVDsK KwkJaWYgKCFCTl9wc2V1ZG9fcmFuZChyW2ldLCBCTl9udW1fYml0cyhzKSwgMCwgMCkpIEFCT1JU OworCQlpZiAodHlwZSAhPSBUSU1JTkdfQkFTRV9QVCkKKwkJCXsKKwkJCWlmICgocjBbaV0gPSBC Tl9uZXcoKSkgPT0gTlVMTCkgQUJPUlQ7CisJCQlpZiAoIUJOX3BzZXVkb19yYW5kKHIwW2ldLCBC Tl9udW1fYml0cyhzKSwgMCwgMCkpIEFCT1JUOworCQkJfQorCQl9CisKKwljbGNrID0gY2xvY2so KTsKKwlmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKykKKwkJeworCQlmb3IgKGogPSAwOyBqIDwgMTA7 IGorKykKKwkJCXsKKwkJCWlmICghRUNfUE9JTlRfbXVsKGdyb3VwLCBQLCAodHlwZSAhPSBUSU1J TkdfUkFORF9QVCkgPyByW2ldIDogTlVMTCwgCisJCQkJKHR5cGUgIT0gVElNSU5HX0JBU0VfUFQp ID8gUCA6IE5VTEwsICh0eXBlICE9IFRJTUlOR19CQVNFX1BUKSA/IHIwW2ldIDogTlVMTCwgY3R4 KSkgQUJPUlQ7CisJCQl9CisJCX0KKwljbGNrID0gY2xvY2soKSAtIGNsY2s7CisKKwlmcHJpbnRm KHN0ZG91dCwgIlxuIik7CisKKyNpZmRlZiBDTE9DS1NfUEVSX1NFQworCS8qICJUbyBkZXRlcm1p bmUgdGhlIHRpbWUgaW4gc2Vjb25kcywgdGhlIHZhbHVlIHJldHVybmVkCisJICogYnkgdGhlIGNs b2NrIGZ1bmN0aW9uIHNob3VsZCBiZSBkaXZpZGVkIGJ5IHRoZSB2YWx1ZQorCSAqIG9mIHRoZSBt YWNybyBDTE9DS1NfUEVSX1NFQy4iCisJICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtLSBJU08vSUVDIDk4OTkgKi8KKyMJZGVmaW5lIFVOSVQgInMiCisjZWxzZQorCS8q ICJgQ0xPQ0tTX1BFUl9TRUMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSB0aGlzIGZ1bmN0aW9uKSIK KwkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBjYyBvbiBOZVhUc3RlcC9PcGVuU3Rl cCAqLworIwlkZWZpbmUgVU5JVCAidW5pdHMiCisjCWRlZmluZSBDTE9DS1NfUEVSX1NFQyAxCisj ZW5kaWYKKworCWlmICh0eXBlID09IFRJTUlOR19CQVNFX1BUKSB7CisJCWZwcmludGYoc3Rkb3V0 LCAiJWkgJXMgaW4gJS4yZiAiIFVOSVQgIlxuIiwgaSpqLAorCQkJImJhc2UgcG9pbnQgbXVsdGlw bGljYXRpb25zIiwgKGRvdWJsZSljbGNrL0NMT0NLU19QRVJfU0VDKTsKKwl9IGVsc2UgaWYgKHR5 cGUgPT0gVElNSU5HX1JBTkRfUFQpIHsKKwkJZnByaW50ZihzdGRvdXQsICIlaSAlcyBpbiAlLjJm ICIgVU5JVCAiXG4iLCBpKmosCisJCQkicmFuZG9tIHBvaW50IG11bHRpcGxpY2F0aW9ucyIsIChk b3VibGUpY2xjay9DTE9DS1NfUEVSX1NFQyk7CisJfSBlbHNlIGlmICh0eXBlID09IFRJTUlOR19T SU1VTCkgeworCQlmcHJpbnRmKHN0ZG91dCwgIiVpICVzIGluICUuMmYgIiBVTklUICJcbiIsIGkq aiwKKwkJCSJzKlArdCpRIG9wZXJhdGlvbnMiLCAoZG91YmxlKWNsY2svQ0xPQ0tTX1BFUl9TRUMp OworCX0KKwlmcHJpbnRmKHN0ZG91dCwgImF2ZXJhZ2U6ICUuNGYgIiBVTklUICJcbiIsIChkb3Vi bGUpY2xjay8oQ0xPQ0tTX1BFUl9TRUMqaSpqKSk7CisKKwlFQ19QT0lOVF9mcmVlKFApOworCUJO X2ZyZWUocyk7CisJZm9yIChpID0gMDsgaSA8IDEwOyBpKyspCisJCXsKKwkJQk5fZnJlZShyW2ld KTsKKwkJaWYgKHR5cGUgIT0gVElNSU5HX0JBU0VfUFQpIEJOX2ZyZWUocjBbaV0pOworCQl9CisJ fQorI2VuZGlmCisKKy8qIHRlc3QgbXVsdGlwbGljYXRpb24gd2l0aCBncm91cCBvcmRlciwgbG9u ZyBhbmQgbmVnYXRpdmUgc2NhbGFycyAqLworc3RhdGljIHZvaWQgZ3JvdXBfb3JkZXJfdGVzdHMo RUNfR1JPVVAgKmdyb3VwKQorCXsKKwlCSUdOVU0gKm4xLCAqbjIsICpvcmRlcjsKKwlFQ19QT0lO VCAqUCA9IEVDX1BPSU5UX25ldyhncm91cCk7CisJRUNfUE9JTlQgKlEgPSBFQ19QT0lOVF9uZXco Z3JvdXApOworCUJOX0NUWCAqY3R4ID0gQk5fQ1RYX25ldygpOworCisJbjEgPSBCTl9uZXcoKTsg bjIgPSBCTl9uZXcoKTsgb3JkZXIgPSBCTl9uZXcoKTsKKwlmcHJpbnRmKHN0ZG91dCwgInZlcmlm eSBncm91cCBvcmRlciAuLi4iKTsKKwlmZmx1c2goc3Rkb3V0KTsKKwlpZiAoIUVDX0dST1VQX2dl dF9vcmRlcihncm91cCwgb3JkZXIsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfbXVsKGdy b3VwLCBRLCBvcmRlciwgTlVMTCwgTlVMTCwgY3R4KSkgQUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9p c19hdF9pbmZpbml0eShncm91cCwgUSkpIEFCT1JUOworCWZwcmludGYoc3Rkb3V0LCAiLiIpOwor CWZmbHVzaChzdGRvdXQpOworCWlmICghRUNfR1JPVVBfcHJlY29tcHV0ZV9tdWx0KGdyb3VwLCBj dHgpKSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX211bChncm91cCwgUSwgb3JkZXIsIE5VTEwsIE5V TEwsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfaXNfYXRfaW5maW5pdHkoZ3JvdXAsIFEp KSBBQk9SVDsKKwlmcHJpbnRmKHN0ZG91dCwgIiBva1xuIik7CisJZnByaW50ZihzdGRvdXQsICJs b25nL25lZ2F0aXZlIHNjYWxhciB0ZXN0cyAuLi4gIik7CisJaWYgKCFCTl9vbmUobjEpKSBBQk9S VDsKKwkvKiBuMSA9IDEgLSBvcmRlciAqLworCWlmICghQk5fc3ViKG4xLCBuMSwgb3JkZXIpKSBB Qk9SVDsKKwlpZighRUNfUE9JTlRfbXVsKGdyb3VwLCBRLCBOVUxMLCBQLCBuMSwgY3R4KSkgQUJP UlQ7CisJaWYgKDAgIT0gRUNfUE9JTlRfY21wKGdyb3VwLCBRLCBQLCBjdHgpKSBBQk9SVDsKKwkv KiBuMiA9IDEgKyBvcmRlciAqLworCWlmICghQk5fYWRkKG4yLCBvcmRlciwgQk5fdmFsdWVfb25l KCkpKSBBQk9SVDsKKwlpZighRUNfUE9JTlRfbXVsKGdyb3VwLCBRLCBOVUxMLCBQLCBuMiwgY3R4 KSkgQUJPUlQ7CisJaWYgKDAgIT0gRUNfUE9JTlRfY21wKGdyb3VwLCBRLCBQLCBjdHgpKSBBQk9S VDsKKwkvKiBuMiA9ICgxIC0gb3JkZXIpICogKDEgKyBvcmRlcikgKi8KKwlpZiAoIUJOX211bChu MiwgbjEsIG4yLCBjdHgpKSBBQk9SVDsKKwlpZighRUNfUE9JTlRfbXVsKGdyb3VwLCBRLCBOVUxM LCBQLCBuMiwgY3R4KSkgQUJPUlQ7CisJaWYgKDAgIT0gRUNfUE9JTlRfY21wKGdyb3VwLCBRLCBQ LCBjdHgpKSBBQk9SVDsKKwlmcHJpbnRmKHN0ZG91dCwgIm9rXG4iKTsKKwlFQ19QT0lOVF9mcmVl KFApOworCUVDX1BPSU5UX2ZyZWUoUSk7CisJQk5fZnJlZShuMSk7CisJQk5fZnJlZShuMik7CisJ Qk5fZnJlZShvcmRlcik7CisJQk5fQ1RYX2ZyZWUoY3R4KTsKKwl9CisKK3N0YXRpYyB2b2lkIHBy aW1lX2ZpZWxkX3Rlc3RzKHZvaWQpCisJeworCUJOX0NUWCAqY3R4ID0gTlVMTDsKKwlCSUdOVU0g KnAsICphLCAqYjsKKwlFQ19HUk9VUCAqZ3JvdXA7CisJRUNfR1JPVVAgKlBfMTYwID0gTlVMTCwg KlBfMTkyID0gTlVMTCwgKlBfMjI0ID0gTlVMTCwgKlBfMjU2ID0gTlVMTCwgKlBfMzg0ID0gTlVM TCwgKlBfNTIxID0gTlVMTDsKKwlFQ19QT0lOVCAqUCwgKlEsICpSOworCUJJR05VTSAqeCwgKnks ICp6OworCXVuc2lnbmVkIGNoYXIgYnVmWzEwMF07CisJc2l6ZV90IGksIGxlbjsKKwlpbnQgazsK KwkKKyNpZiAxIC8qIG9wdGlvbmFsICovCisJY3R4ID0gQk5fQ1RYX25ldygpOworCWlmICghY3R4 KSBBQk9SVDsKKyNlbmRpZgorCisJcCA9IEJOX25ldygpOworCWEgPSBCTl9uZXcoKTsKKwliID0g Qk5fbmV3KCk7CisJaWYgKCFwIHx8ICFhIHx8ICFiKSBBQk9SVDsKKwkKKwlncm91cCA9IEVDX0dS T1VQX25ldyhFQ19HRnBfbW9udF9tZXRob2QoKSk7IC8qIGFwcGxpY2F0aW9ucyBzaG91bGQgdXNl IEVDX0dST1VQX25ld19jdXJ2ZV9HRnAKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqIHNvIHRoYXQgdGhlIGxpYnJhcnkgZ2V0cyB0byBjaG9vc2UgdGhlIEVD X01FVEhPRCAqLworCWlmICghZ3JvdXApIEFCT1JUOworCisJUCA9IEVDX1BPSU5UX25ldyhncm91 cCk7CisJUSA9IEVDX1BPSU5UX25ldyhncm91cCk7CisJUiA9IEVDX1BPSU5UX25ldyhncm91cCk7 CisJaWYgKCFQIHx8ICFRIHx8ICFSKSBBQk9SVDsKKworCXggPSBCTl9uZXcoKTsKKwl5ID0gQk5f bmV3KCk7CisJeiA9IEJOX25ldygpOworCWlmICgheCB8fCAheSB8fCAheikgQUJPUlQ7CisKKy8q IEN1cnZlIFAtMjU2IChGSVBTIFBVQiAxODYtMiwgQXBwLiA2KSAqLworCQorCWlmICghQk5faGV4 MmJuKCZwLCAiRkZGRkZGRkYwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRiIpKSBBQk9SVDsKKwlpZiAoMSAhPSBCTl9pc19wcmltZV9leChwLCBC Tl9wcmltZV9jaGVja3MsIGN0eCwgTlVMTCkpIEFCT1JUOworCWlmICghQk5faGV4MmJuKCZhLCAi RkZGRkZGRkYwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGRkZGRkZGRkZGRkZGRkZG RkZGRkZGQyIpKSBBQk9SVDsKKwlpZiAoIUJOX2hleDJibigmYiwgIjVBQzYzNUQ4QUEzQTkzRTdC M0VCQkQ1NTc2OTg4NkJDNjUxRDA2QjBDQzUzQjBGNjNCQ0UzQzNFMjdEMjYwNEIiKSkgQUJPUlQ7 CisJaWYgKCFFQ19HUk9VUF9zZXRfY3VydmVfR0ZwKGdyb3VwLCBwLCBhLCBiLCBjdHgpKSBBQk9S VDsKKworCWlmICghQk5faGV4MmJuKCZ4LCAiNkIxN0QxRjJFMTJDNDI0N0Y4QkNFNkU1NjNBNDQw RjI3NzAzN0Q4MTJERUIzM0EwRjRBMTM5NDVEODk4QzI5NiIpKSBBQk9SVDsKKwlpZiAoIUVDX1BP SU5UX3NldF9jb21wcmVzc2VkX2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwgMSwgY3R4KSkg QUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9pc19vbl9jdXJ2ZShncm91cCwgUCwgY3R4KSkgQUJPUlQ7 CisJaWYgKCFCTl9oZXgyYm4oJnosICJGRkZGRkZGRjAwMDAwMDAwRkZGRkZGRkZGRkZGRkZGRkJD RTZGQUFEQTcxNzlFIgorCQkiODRGM0I5Q0FDMkZDNjMyNTUxIikpIEFCT1JUOworCWlmICghRUNf R1JPVVBfc2V0X2dlbmVyYXRvcihncm91cCwgUCwgeiwgQk5fdmFsdWVfb25lKCkpKSBBQk9SVDsK KworCWlmICghRUNfUE9JTlRfZ2V0X2FmZmluZV9jb29yZGluYXRlc19HRnAoZ3JvdXAsIFAsIHgs IHksIGN0eCkpIEFCT1JUOworCWZwcmludGYoc3Rkb3V0LCAiXG5OSVNUIGN1cnZlIFAtMjU2IC0t IEdlbmVyYXRvcjpcbiAgICAgeCA9IDB4Iik7CisJQk5fcHJpbnRfZnAoc3Rkb3V0LCB4KTsKKwlm cHJpbnRmKHN0ZG91dCwgIlxuICAgICB5ID0gMHgiKTsKKwlCTl9wcmludF9mcChzdGRvdXQsIHkp OworCWZwcmludGYoc3Rkb3V0LCAiXG4iKTsKKwkvKiBHX3kgdmFsdWUgdGFrZW4gZnJvbSB0aGUg c3RhbmRhcmQ6ICovCisJaWYgKCFCTl9oZXgyYm4oJnosICI0RkUzNDJFMkZFMUE3RjlCOEVFN0VC NEE3QzBGOUUxNjJCQ0UzMzU3NkIzMTVFQ0VDQkI2NDA2ODM3QkY1MUY1IikpIEFCT1JUOworCWlm ICgwICE9IEJOX2NtcCh5LCB6KSkgQUJPUlQ7CisJCisJZnByaW50ZihzdGRvdXQsICJ2ZXJpZnkg ZGVncmVlIC4uLiIpOworCWlmIChFQ19HUk9VUF9nZXRfZGVncmVlKGdyb3VwKSAhPSAyNTYpIEFC T1JUOworCWZwcmludGYoc3Rkb3V0LCAiIG9rXG4iKTsKKwkKKwlncm91cF9vcmRlcl90ZXN0cyhn cm91cCk7CisKKwlpZiAoIShQXzI1NiA9IEVDX0dST1VQX25ldyhFQ19HUk9VUF9tZXRob2Rfb2Yo Z3JvdXApKSkpIEFCT1JUOworCWlmICghRUNfR1JPVVBfY29weShQXzI1NiwgZ3JvdXApKSBBQk9S VDsKKworCisJLyogQ3VydmUgUC0zODQgKEZJUFMgUFVCIDE4Ni0yLCBBcHAuIDYpICovCisJCisJ aWYgKCFCTl9oZXgyYm4oJnAsICJGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZG RkZGRkZGRkZGIgorCQkiRkZGRkZGRkZGRkZGRkZGRkZFRkZGRkZGRkYwMDAwMDAwMDAwMDAwMDAw RkZGRkZGRkYiKSkgQUJPUlQ7CisJaWYgKDEgIT0gQk5faXNfcHJpbWVfZXgocCwgQk5fcHJpbWVf Y2hlY2tzLCBjdHgsIE5VTEwpKSBBQk9SVDsKKwlpZiAoIUJOX2hleDJibigmYSwgIkZGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYiCisJCSJGRkZGRkZGRkZGRkZG RkZGRkVGRkZGRkZGRjAwMDAwMDAwMDAwMDAwMDBGRkZGRkZGQyIpKSBBQk9SVDsKKwlpZiAoIUJO X2hleDJibigmYiwgIkIzMzEyRkE3RTIzRUU3RTQ5ODhFMDU2QkUzRjgyRDE5MTgxRDlDNkVGRTgx NDEiCisJCSIxMjAzMTQwODhGNTAxMzg3NUFDNjU2Mzk4RDhBMkVEMTlEMkE4NUM4RUREM0VDMkFF RiIpKSBBQk9SVDsKKwlpZiAoIUVDX0dST1VQX3NldF9jdXJ2ZV9HRnAoZ3JvdXAsIHAsIGEsIGIs IGN0eCkpIEFCT1JUOworCisJaWYgKCFCTl9oZXgyYm4oJngsICJBQTg3Q0EyMkJFOEIwNTM3OEVC MUM3MUVGMzIwQUQ3NDZFMUQzQjYyOEJBNzlCIgorCQkiOTg1OUY3NDFFMDgyNTQyQTM4NTUwMkYy NURCRjU1Mjk2QzNBNTQ1RTM4NzI3NjBBQjciKSkgQUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9zZXRf Y29tcHJlc3NlZF9jb29yZGluYXRlc19HRnAoZ3JvdXAsIFAsIHgsIDEsIGN0eCkpIEFCT1JUOwor CWlmICghRUNfUE9JTlRfaXNfb25fY3VydmUoZ3JvdXAsIFAsIGN0eCkpIEFCT1JUOworCWlmICgh Qk5faGV4MmJuKCZ6LCAiRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZG RkZGRiIKKwkJIkZGQzc2MzREODFGNDM3MkRERjU4MUEwREIyNDhCMEE3N0FFQ0VDMTk2QUNDQzUy OTczIikpIEFCT1JUOworCWlmICghRUNfR1JPVVBfc2V0X2dlbmVyYXRvcihncm91cCwgUCwgeiwg Qk5fdmFsdWVfb25lKCkpKSBBQk9SVDsKKworCWlmICghRUNfUE9JTlRfZ2V0X2FmZmluZV9jb29y ZGluYXRlc19HRnAoZ3JvdXAsIFAsIHgsIHksIGN0eCkpIEFCT1JUOworCWZwcmludGYoc3Rkb3V0 LCAiXG5OSVNUIGN1cnZlIFAtMzg0IC0tIEdlbmVyYXRvcjpcbiAgICAgeCA9IDB4Iik7CisJQk5f cHJpbnRfZnAoc3Rkb3V0LCB4KTsKKwlmcHJpbnRmKHN0ZG91dCwgIlxuICAgICB5ID0gMHgiKTsK KwlCTl9wcmludF9mcChzdGRvdXQsIHkpOworCWZwcmludGYoc3Rkb3V0LCAiXG4iKTsKKwkvKiBH X3kgdmFsdWUgdGFrZW4gZnJvbSB0aGUgc3RhbmRhcmQ6ICovCisJaWYgKCFCTl9oZXgyYm4oJnos ICIzNjE3REU0QTk2MjYyQzZGNUQ5RTk4QkY5MjkyREMyOUY4RjQxREJEMjg5QTE0IgorCQkiN0NF OURBMzExM0I1RjBCOEMwMEE2MEIxQ0UxRDdFODE5RDdBNDMxRDdDOTBFQTBFNUYiKSkgQUJPUlQ7 CisJaWYgKDAgIT0gQk5fY21wKHksIHopKSBBQk9SVDsKKwkKKwlmcHJpbnRmKHN0ZG91dCwgInZl cmlmeSBkZWdyZWUgLi4uIik7CisJaWYgKEVDX0dST1VQX2dldF9kZWdyZWUoZ3JvdXApICE9IDM4 NCkgQUJPUlQ7CisJZnByaW50ZihzdGRvdXQsICIgb2tcbiIpOworCisJZ3JvdXBfb3JkZXJfdGVz dHMoZ3JvdXApOworCisJaWYgKCEoUF8zODQgPSBFQ19HUk9VUF9uZXcoRUNfR1JPVVBfbWV0aG9k X29mKGdyb3VwKSkpKSBBQk9SVDsKKwlpZiAoIUVDX0dST1VQX2NvcHkoUF8zODQsIGdyb3VwKSkg QUJPUlQ7CisKKwkvKiBtb3JlIHRlc3RzIHVzaW5nIHRoZSBsYXN0IGN1cnZlICovCisKKwlpZiAo IUVDX1BPSU5UX2NvcHkoUSwgUCkpIEFCT1JUOworCWlmIChFQ19QT0lOVF9pc19hdF9pbmZpbml0 eShncm91cCwgUSkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfZGJsKGdyb3VwLCBQLCBQLCBjdHgp KSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX2lzX29uX2N1cnZlKGdyb3VwLCBQLCBjdHgpKSBBQk9S VDsKKwlpZiAoIUVDX1BPSU5UX2ludmVydChncm91cCwgUSwgY3R4KSkgQUJPUlQ7IC8qIFAgPSAt MlEgKi8KKworCWlmICghRUNfUE9JTlRfYWRkKGdyb3VwLCBSLCBQLCBRLCBjdHgpKSBBQk9SVDsK KwlpZiAoIUVDX1BPSU5UX2FkZChncm91cCwgUiwgUiwgUSwgY3R4KSkgQUJPUlQ7CisJaWYgKCFF Q19QT0lOVF9pc19hdF9pbmZpbml0eShncm91cCwgUikpIEFCT1JUOyAvKiBSID0gUCArIDJRICov CisKKwl7CisJCWNvbnN0IEVDX1BPSU5UICpwb2ludHNbNF07CisJCWNvbnN0IEJJR05VTSAqc2Nh bGFyc1s0XTsKKwkJQklHTlVNIHNjYWxhcjM7CisJCisJCWlmIChFQ19QT0lOVF9pc19hdF9pbmZp bml0eShncm91cCwgUSkpIEFCT1JUOworCQlwb2ludHNbMF0gPSBROworCQlwb2ludHNbMV0gPSBR OworCQlwb2ludHNbMl0gPSBROworCQlwb2ludHNbM10gPSBROworCisJCWlmICghRUNfR1JPVVBf Z2V0X29yZGVyKGdyb3VwLCB6LCBjdHgpKSBBQk9SVDsKKwkJaWYgKCFCTl9hZGQoeSwgeiwgQk5f dmFsdWVfb25lKCkpKSBBQk9SVDsKKwkJaWYgKEJOX2lzX29kZCh5KSkgQUJPUlQ7CisJCWlmICgh Qk5fcnNoaWZ0MSh5LCB5KSkgQUJPUlQ7CisJCXNjYWxhcnNbMF0gPSB5OyAvKiAoZ3JvdXAgb3Jk ZXIgKyAxKS8yLCAgc28gIHkqUSArIHkqUSA9IFEgKi8KKwkJc2NhbGFyc1sxXSA9IHk7CisKKwkJ ZnByaW50ZihzdGRvdXQsICJjb21iaW5lZCBtdWx0aXBsaWNhdGlvbiAuLi4iKTsKKwkJZmZsdXNo KHN0ZG91dCk7CisKKwkJLyogeiBpcyBzdGlsbCB0aGUgZ3JvdXAgb3JkZXIgKi8KKwkJaWYgKCFF Q19QT0lOVHNfbXVsKGdyb3VwLCBQLCBOVUxMLCAyLCBwb2ludHMsIHNjYWxhcnMsIGN0eCkpIEFC T1JUOworCQlpZiAoIUVDX1BPSU5Uc19tdWwoZ3JvdXAsIFIsIHosIDIsIHBvaW50cywgc2NhbGFy cywgY3R4KSkgQUJPUlQ7CisJCWlmICgwICE9IEVDX1BPSU5UX2NtcChncm91cCwgUCwgUiwgY3R4 KSkgQUJPUlQ7CisJCWlmICgwICE9IEVDX1BPSU5UX2NtcChncm91cCwgUiwgUSwgY3R4KSkgQUJP UlQ7CisKKwkJZnByaW50ZihzdGRvdXQsICIuIik7CisJCWZmbHVzaChzdGRvdXQpOworCisJCWlm ICghQk5fcHNldWRvX3JhbmQoeSwgQk5fbnVtX2JpdHMoeSksIDAsIDApKSBBQk9SVDsKKwkJaWYg KCFCTl9hZGQoeiwgeiwgeSkpIEFCT1JUOworCQlCTl9zZXRfbmVnYXRpdmUoeiwgMSk7CisJCXNj YWxhcnNbMF0gPSB5OworCQlzY2FsYXJzWzFdID0gejsgLyogeiA9IC0ob3JkZXIgKyB5KSAqLwor CisJCWlmICghRUNfUE9JTlRzX211bChncm91cCwgUCwgTlVMTCwgMiwgcG9pbnRzLCBzY2FsYXJz LCBjdHgpKSBBQk9SVDsKKwkJaWYgKCFFQ19QT0lOVF9pc19hdF9pbmZpbml0eShncm91cCwgUCkp IEFCT1JUOworCisJCWZwcmludGYoc3Rkb3V0LCAiLiIpOworCQlmZmx1c2goc3Rkb3V0KTsKKwor CQlpZiAoIUJOX3BzZXVkb19yYW5kKHgsIEJOX251bV9iaXRzKHkpIC0gMSwgMCwgMCkpIEFCT1JU OworCQlpZiAoIUJOX2FkZCh6LCB4LCB5KSkgQUJPUlQ7CisJCUJOX3NldF9uZWdhdGl2ZSh6LCAx KTsKKwkJc2NhbGFyc1swXSA9IHg7CisJCXNjYWxhcnNbMV0gPSB5OworCQlzY2FsYXJzWzJdID0g ejsgLyogeiA9IC0oeCt5KSAqLworCisJCUJOX2luaXQoJnNjYWxhcjMpOworCQlCTl96ZXJvKCZz Y2FsYXIzKTsKKwkJc2NhbGFyc1szXSA9ICZzY2FsYXIzOworCisJCWlmICghRUNfUE9JTlRzX211 bChncm91cCwgUCwgTlVMTCwgNCwgcG9pbnRzLCBzY2FsYXJzLCBjdHgpKSBBQk9SVDsKKwkJaWYg KCFFQ19QT0lOVF9pc19hdF9pbmZpbml0eShncm91cCwgUCkpIEFCT1JUOworCisJCWZwcmludGYo c3Rkb3V0LCAiIG9rXG5cbiIpOworCisJCUJOX2ZyZWUoJnNjYWxhcjMpOworCX0KKworCisjaWYg MAorCXRpbWluZ3MoUF8yNTYsIFRJTUlOR19CQVNFX1BULCBjdHgpOworCXRpbWluZ3MoUF8yNTYs IFRJTUlOR19SQU5EX1BULCBjdHgpOworCXRpbWluZ3MoUF8yNTYsIFRJTUlOR19TSU1VTCwgY3R4 KTsKKwl0aW1pbmdzKFBfMzg0LCBUSU1JTkdfQkFTRV9QVCwgY3R4KTsKKwl0aW1pbmdzKFBfMzg0 LCBUSU1JTkdfUkFORF9QVCwgY3R4KTsKKwl0aW1pbmdzKFBfMzg0LCBUSU1JTkdfU0lNVUwsIGN0 eCk7CisjZW5kaWYKKworCisJaWYgKGN0eCkKKwkJQk5fQ1RYX2ZyZWUoY3R4KTsKKwlCTl9mcmVl KHApOyBCTl9mcmVlKGEpOwlCTl9mcmVlKGIpOworCUVDX0dST1VQX2ZyZWUoZ3JvdXApOworCUVD X1BPSU5UX2ZyZWUoUCk7CisJRUNfUE9JTlRfZnJlZShRKTsKKwlFQ19QT0lOVF9mcmVlKFIpOwor CUJOX2ZyZWUoeCk7IEJOX2ZyZWUoeSk7IEJOX2ZyZWUoeik7CisKKwlpZiAoUF8xNjApIEVDX0dS T1VQX2ZyZWUoUF8xNjApOworCWlmIChQXzE5MikgRUNfR1JPVVBfZnJlZShQXzE5Mik7CisJaWYg KFBfMjI0KSBFQ19HUk9VUF9mcmVlKFBfMjI0KTsKKwlpZiAoUF8yNTYpIEVDX0dST1VQX2ZyZWUo UF8yNTYpOworCWlmIChQXzM4NCkgRUNfR1JPVVBfZnJlZShQXzM4NCk7CisJaWYgKFBfNTIxKSBF Q19HUk9VUF9mcmVlKFBfNTIxKTsKKworCX0KKworCitzdGF0aWMgdm9pZCBpbnRlcm5hbF9jdXJ2 ZV90ZXN0KHZvaWQpCisJeworCUVDX2J1aWx0aW5fY3VydmUgKmN1cnZlcyA9IE5VTEw7CisJc2l6 ZV90IGNydl9sZW4gPSAwLCBuID0gMDsKKwlpbnQgICAgb2sgPSAxOworCisJY3J2X2xlbiA9IEVD X2dldF9idWlsdGluX2N1cnZlcyhOVUxMLCAwKTsKKworCWN1cnZlcyA9IE9QRU5TU0xfbWFsbG9j KHNpemVvZihFQ19idWlsdGluX2N1cnZlKSAqIGNydl9sZW4pOworCisJaWYgKGN1cnZlcyA9PSBO VUxMKQorCQlyZXR1cm47CisKKwlpZiAoIUVDX2dldF9idWlsdGluX2N1cnZlcyhjdXJ2ZXMsIGNy dl9sZW4pKQorCQl7CisJCU9QRU5TU0xfZnJlZShjdXJ2ZXMpOworCQlyZXR1cm47CisJCX0KKwor CWZwcmludGYoc3Rkb3V0LCAidGVzdGluZyBpbnRlcm5hbCBjdXJ2ZXM6ICIpOworCQkKKwlmb3Ig KG4gPSAwOyBuIDwgY3J2X2xlbjsgbisrKQorCQl7CisJCUVDX0dST1VQICpncm91cCA9IE5VTEw7 CisJCWludCBuaWQgPSBjdXJ2ZXNbbl0ubmlkOworCQlpZiAoKGdyb3VwID0gRUNfR1JPVVBfbmV3 X2J5X2N1cnZlX25hbWUobmlkKSkgPT0gTlVMTCkKKwkJCXsKKwkJCW9rID0gMDsKKwkJCWZwcmlu dGYoc3Rkb3V0LCAiXG5FQ19HUk9VUF9uZXdfY3VydmVfbmFtZSgpIGZhaWxlZCB3aXRoIgorCQkJ CSIgY3VydmUgJXNcbiIsIE9CSl9uaWQyc24obmlkKSk7CisJCQkvKiB0cnkgbmV4dCBjdXJ2ZSAq LworCQkJY29udGludWU7CisJCQl9CisJCWlmICghRUNfR1JPVVBfY2hlY2soZ3JvdXAsIE5VTEwp KQorCQkJeworCQkJb2sgPSAwOworCQkJZnByaW50ZihzdGRvdXQsICJcbkVDX0dST1VQX2NoZWNr KCkgZmFpbGVkIHdpdGgiCisJCQkJIiBjdXJ2ZSAlc1xuIiwgT0JKX25pZDJzbihuaWQpKTsKKwkJ CUVDX0dST1VQX2ZyZWUoZ3JvdXApOworCQkJLyogdHJ5IHRoZSBuZXh0IGN1cnZlICovCisJCQlj b250aW51ZTsKKwkJCX0KKwkJZnByaW50ZihzdGRvdXQsICIuIik7CisJCWZmbHVzaChzdGRvdXQp OworCQlFQ19HUk9VUF9mcmVlKGdyb3VwKTsKKwkJfQorCWlmIChvaykKKwkJZnByaW50ZihzdGRv dXQsICIgb2tcblxuIik7CisJZWxzZQorCQl7CisJCWZwcmludGYoc3Rkb3V0LCAiIGZhaWxlZFxu XG4iKTsKKwkJQUJPUlQ7CisJCX0KKwlPUEVOU1NMX2ZyZWUoY3VydmVzKTsKKwlyZXR1cm47CisJ fQorCisjaWZuZGVmIE9QRU5TU0xfTk9fRUNfTklTVFBfNjRfR0NDXzEyOAorLyogbmlzdHBfdGVz dF9wYXJhbXMgY29udGFpbnMgbWFnaWMgbnVtYmVycyBmb3IgdGVzdGluZyBvdXIgb3B0aW1pemVk CisgKiBpbXBsZW1lbnRhdGlvbnMgb2Ygc2V2ZXJhbCBOSVNUIGN1cnZlcyB3aXRoIGNoYXJhY3Rl cmlzdGljID4gMy4gKi8KK3N0cnVjdCBuaXN0cF90ZXN0X3BhcmFtcworCXsKKwljb25zdCBFQ19N RVRIT0QqICgqbWV0aCkgKCk7CisJaW50IGRlZ3JlZTsKKwkvKiBReCwgUXkgYW5kIEQgYXJlIHRh a2VuIGZyb20KKwkgKiBodHRwOi8vY3NyYy5uaXN0Lmdvdi9ncm91cHMvU1QvdG9vbGtpdC9kb2N1 bWVudHMvRXhhbXBsZXMvRUNEU0FfUHJpbWUucGRmCisJICogT3RoZXJ3aXNlLCB2YWx1ZXMgYXJl IHN0YW5kYXJkIGN1cnZlIHBhcmFtZXRlcnMgZnJvbSBGSVBTIDE4MC0zICovCisJY29uc3QgY2hh ciAqcCwgKmEsICpiLCAqUXgsICpReSwgKkd4LCAqR3ksICpvcmRlciwgKmQ7CisJfTsKKworc3Rh dGljIGNvbnN0IHN0cnVjdCBuaXN0cF90ZXN0X3BhcmFtcyBuaXN0cF90ZXN0c19wYXJhbXNbXSA9 CisJeworCQl7CisJCS8qIFAtMjU2ICovCisJCUVDX0dGcF9uaXN0cDI1Nl9tZXRob2QsCisJCTI1 NiwKKwkJImZmZmZmZmZmMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZm ZmZmZmZmZmZmZmZmZmYiLCAvKiBwICovCisJCSJmZmZmZmZmZjAwMDAwMDAxMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjIiwgLyogYSAqLworCQkiNWFjNjM1 ZDhhYTNhOTNlN2IzZWJiZDU1NzY5ODg2YmM2NTFkMDZiMGNjNTNiMGY2M2JjZTNjM2UyN2QyNjA0 YiIsIC8qIGIgKi8KKwkJImI3ZTA4YWZkZmU5NGJhZDNmMWRjOGM3MzQ3OThiYTFjNjJiM2EwYWQx ZTllYTJhMzgyMDFjZDA4ODliYzdhMTkiLCAvKiBReCAqLworCQkiMzYwM2Y3NDc5NTlkYmY3YTRi YjIyNmU0MTkyODcyOTA2M2FkYzdhZTQzNTI5ZTYxYjU2M2JiYzYwNmNjNWUwOSIsIC8qIFF5ICov CisJCSI2YjE3ZDFmMmUxMmM0MjQ3ZjhiY2U2ZTU2M2E0NDBmMjc3MDM3ZDgxMmRlYjMzYTBmNGEx Mzk0NWQ4OThjMjk2IiwgLyogR3ggKi8KKwkJIjRmZTM0MmUyZmUxYTdmOWI4ZWU3ZWI0YTdjMGY5 ZTE2MmJjZTMzNTc2YjMxNWVjZWNiYjY0MDY4MzdiZjUxZjUiLCAvKiBHeSAqLworCQkiZmZmZmZm ZmYwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZiY2U2ZmFhZGE3MTc5ZTg0ZjNiOWNhYzJmYzYzMjU1 MSIsIC8qIG9yZGVyICovCisJCSJjNDc3ZjlmNjVjMjJjY2UyMDY1N2ZhYTViMmQxZDgxMjIzMzZm ODUxYTUwOGExZWQwNGU0NzljMzQ5ODViZjk2IiwgLyogZCAqLworCQl9LAorCX07CisKK3ZvaWQg bmlzdHBfc2luZ2xlX3Rlc3QoY29uc3Qgc3RydWN0IG5pc3RwX3Rlc3RfcGFyYW1zICp0ZXN0KQor CXsKKwlCTl9DVFggKmN0eDsKKwlCSUdOVU0gKnAsICphLCAqYiwgKngsICp5LCAqbiwgKm0sICpv cmRlcjsKKwlFQ19HUk9VUCAqTklTVFA7CisJRUNfUE9JTlQgKkcsICpQLCAqUSwgKlFfQ0hFQ0s7 CisKKwlmcHJpbnRmKHN0ZG91dCwgIlxuTklTVCBjdXJ2ZSBQLSVkIChvcHRpbWlzZWQgaW1wbGVt ZW50YXRpb24pOlxuIiwgdGVzdC0+ZGVncmVlKTsKKwljdHggPSBCTl9DVFhfbmV3KCk7CisJcCA9 IEJOX25ldygpOworCWEgPSBCTl9uZXcoKTsKKwliID0gQk5fbmV3KCk7CisJeCA9IEJOX25ldygp OyB5ID0gQk5fbmV3KCk7CisJbSA9IEJOX25ldygpOyBuID0gQk5fbmV3KCk7IG9yZGVyID0gQk5f bmV3KCk7CisKKwlOSVNUUCA9IEVDX0dST1VQX25ldyh0ZXN0LT5tZXRoKCkpOworCWlmKCFOSVNU UCkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJnAsIHRlc3QtPnApKSBBQk9SVDsKKwlpZiAoMSAh PSBCTl9pc19wcmltZV9leChwLCBCTl9wcmltZV9jaGVja3MsIGN0eCwgTlVMTCkpIEFCT1JUOwor CWlmICghQk5faGV4MmJuKCZhLCB0ZXN0LT5hKSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJmIs IHRlc3QtPmIpKSBBQk9SVDsKKwlpZiAoIUVDX0dST1VQX3NldF9jdXJ2ZV9HRnAoTklTVFAsIHAs IGEsIGIsIGN0eCkpIEFCT1JUOworCUcgPSBFQ19QT0lOVF9uZXcoTklTVFApOworCVAgPSBFQ19Q T0lOVF9uZXcoTklTVFApOworCVEgPSBFQ19QT0lOVF9uZXcoTklTVFApOworCVFfQ0hFQ0sgPSBF Q19QT0lOVF9uZXcoTklTVFApOworCWlmKCFCTl9oZXgyYm4oJngsIHRlc3QtPlF4KSkgQUJPUlQ7 CisJaWYoIUJOX2hleDJibigmeSwgdGVzdC0+UXkpKSBBQk9SVDsKKwlpZighRUNfUE9JTlRfc2V0 X2FmZmluZV9jb29yZGluYXRlc19HRnAoTklTVFAsIFFfQ0hFQ0ssIHgsIHksIGN0eCkpIEFCT1JU OworCWlmICghQk5faGV4MmJuKCZ4LCB0ZXN0LT5HeCkpIEFCT1JUOworCWlmICghQk5faGV4MmJu KCZ5LCB0ZXN0LT5HeSkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGlu YXRlc19HRnAoTklTVFAsIEcsIHgsIHksIGN0eCkpIEFCT1JUOworCWlmICghQk5faGV4MmJuKCZv cmRlciwgdGVzdC0+b3JkZXIpKSBBQk9SVDsKKwlpZiAoIUVDX0dST1VQX3NldF9nZW5lcmF0b3Io TklTVFAsIEcsIG9yZGVyLCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCisJZnByaW50ZihzdGRv dXQsICJ2ZXJpZnkgZGVncmVlIC4uLiAiKTsKKwlpZiAoRUNfR1JPVVBfZ2V0X2RlZ3JlZShOSVNU UCkgIT0gdGVzdC0+ZGVncmVlKSBBQk9SVDsKKwlmcHJpbnRmKHN0ZG91dCwgIm9rXG4iKTsKKwor CWZwcmludGYoc3Rkb3V0LCAiTklTVCB0ZXN0IHZlY3RvcnMgLi4uICIpOworCWlmICghQk5faGV4 MmJuKCZuLCB0ZXN0LT5kKSkgQUJPUlQ7CisJLyogZml4ZWQgcG9pbnQgbXVsdGlwbGljYXRpb24g Ki8KKwlFQ19QT0lOVF9tdWwoTklTVFAsIFEsIG4sIE5VTEwsIE5VTEwsIGN0eCk7CisJaWYgKDAg IT0gRUNfUE9JTlRfY21wKE5JU1RQLCBRLCBRX0NIRUNLLCBjdHgpKSBBQk9SVDsKKwkvKiByYW5k b20gcG9pbnQgbXVsdGlwbGljYXRpb24gKi8KKwlFQ19QT0lOVF9tdWwoTklTVFAsIFEsIE5VTEws IEcsIG4sIGN0eCk7CisJaWYgKDAgIT0gRUNfUE9JTlRfY21wKE5JU1RQLCBRLCBRX0NIRUNLLCBj dHgpKSBBQk9SVDsKKworCS8qIHNldCBnZW5lcmF0b3IgdG8gUCA9IDIqRywgd2hlcmUgRyBpcyB0 aGUgc3RhbmRhcmQgZ2VuZXJhdG9yICovCisJaWYgKCFFQ19QT0lOVF9kYmwoTklTVFAsIFAsIEcs IGN0eCkpIEFCT1JUOworCWlmICghRUNfR1JPVVBfc2V0X2dlbmVyYXRvcihOSVNUUCwgUCwgb3Jk ZXIsIEJOX3ZhbHVlX29uZSgpKSkgQUJPUlQ7CisJLyogc2V0IHRoZSBzY2FsYXIgdG8gbT1uLzIs IHdoZXJlIG4gaXMgdGhlIE5JU1QgdGVzdCBzY2FsYXIgKi8KKwlpZiAoIUJOX3JzaGlmdChtLCBu LCAxKSkgQUJPUlQ7CisKKwkvKiB0ZXN0IHRoZSBub24tc3RhbmRhcmQgZ2VuZXJhdG9yICovCisJ LyogZml4ZWQgcG9pbnQgbXVsdGlwbGljYXRpb24gKi8KKwlFQ19QT0lOVF9tdWwoTklTVFAsIFEs IG0sIE5VTEwsIE5VTEwsIGN0eCk7CisJaWYgKDAgIT0gRUNfUE9JTlRfY21wKE5JU1RQLCBRLCBR X0NIRUNLLCBjdHgpKSBBQk9SVDsKKwkvKiByYW5kb20gcG9pbnQgbXVsdGlwbGljYXRpb24gKi8K KwlFQ19QT0lOVF9tdWwoTklTVFAsIFEsIE5VTEwsIFAsIG0sIGN0eCk7CisJaWYgKDAgIT0gRUNf UE9JTlRfY21wKE5JU1RQLCBRLCBRX0NIRUNLLCBjdHgpKSBBQk9SVDsKKworCS8qIG5vdyByZXBl YXQgYWxsIHRlc3RzIHdpdGggcHJlY29tcHV0YXRpb24gKi8KKwlpZiAoIUVDX0dST1VQX3ByZWNv bXB1dGVfbXVsdChOSVNUUCwgY3R4KSkgQUJPUlQ7CisKKwkvKiBmaXhlZCBwb2ludCBtdWx0aXBs aWNhdGlvbiAqLworCUVDX1BPSU5UX211bChOSVNUUCwgUSwgbSwgTlVMTCwgTlVMTCwgY3R4KTsK KwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JUOwor CS8qIHJhbmRvbSBwb2ludCBtdWx0aXBsaWNhdGlvbiAqLworCUVDX1BPSU5UX211bChOSVNUUCwg USwgTlVMTCwgUCwgbSwgY3R4KTsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFf Q0hFQ0ssIGN0eCkpIEFCT1JUOworCisJLyogcmVzZXQgZ2VuZXJhdG9yICovCisJaWYgKCFFQ19H Uk9VUF9zZXRfZ2VuZXJhdG9yKE5JU1RQLCBHLCBvcmRlciwgQk5fdmFsdWVfb25lKCkpKSBBQk9S VDsKKwkvKiBmaXhlZCBwb2ludCBtdWx0aXBsaWNhdGlvbiAqLworCUVDX1BPSU5UX211bChOSVNU UCwgUSwgbiwgTlVMTCwgTlVMTCwgY3R4KTsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklTVFAs IFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JUOworCS8qIHJhbmRvbSBwb2ludCBtdWx0aXBsaWNhdGlv biAqLworCUVDX1BPSU5UX211bChOSVNUUCwgUSwgTlVMTCwgRywgbiwgY3R4KTsKKwlpZiAoMCAh PSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JUOworCisJZnByaW50 ZihzdGRvdXQsICJva1xuIik7CisJZ3JvdXBfb3JkZXJfdGVzdHMoTklTVFApOworI2lmIDAKKwl0 aW1pbmdzKE5JU1RQLCBUSU1JTkdfQkFTRV9QVCwgY3R4KTsKKwl0aW1pbmdzKE5JU1RQLCBUSU1J TkdfUkFORF9QVCwgY3R4KTsKKyNlbmRpZgorCUVDX0dST1VQX2ZyZWUoTklTVFApOworCUVDX1BP SU5UX2ZyZWUoRyk7CisJRUNfUE9JTlRfZnJlZShQKTsKKwlFQ19QT0lOVF9mcmVlKFEpOworCUVD X1BPSU5UX2ZyZWUoUV9DSEVDSyk7CisJQk5fZnJlZShuKTsKKwlCTl9mcmVlKG0pOworCUJOX2Zy ZWUocCk7CisJQk5fZnJlZShhKTsKKwlCTl9mcmVlKGIpOworCUJOX2ZyZWUoeCk7CisJQk5fZnJl ZSh5KTsKKwlCTl9mcmVlKG9yZGVyKTsKKwlCTl9DVFhfZnJlZShjdHgpOworCX0KKwordm9pZCBu aXN0cF90ZXN0cygpCisJeworCXVuc2lnbmVkIGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9m KG5pc3RwX3Rlc3RzX3BhcmFtcykgLyBzaXplb2Yoc3RydWN0IG5pc3RwX3Rlc3RfcGFyYW1zKTsg aSsrKQorCQl7CisJCW5pc3RwX3NpbmdsZV90ZXN0KCZuaXN0cF90ZXN0c19wYXJhbXNbaV0pOwor CQl9CisJfQorI2VuZGlmCisKK3N0YXRpYyBjb25zdCBjaGFyIHJuZF9zZWVkW10gPSAic3RyaW5n IHRvIG1ha2UgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIHRoaW5rIGl0IGhhcyBlbnRyb3B5 IjsKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKwl7CQorCQorCS8qIGVuYWJs ZSBtZW1vcnkgbGVhayBjaGVja2luZyB1bmxlc3MgZXhwbGljaXRseSBkaXNhYmxlZCAqLworCWlm ICghKChnZXRlbnYoIk9QRU5TU0xfREVCVUdfTUVNT1JZIikgIT0gTlVMTCkgJiYgKDAgPT0gc3Ry Y21wKGdldGVudigiT1BFTlNTTF9ERUJVR19NRU1PUlkiKSwgIm9mZiIpKSkpCisJCXsKKwkJQ1JZ UFRPX21hbGxvY19kZWJ1Z19pbml0KCk7CisJCUNSWVBUT19zZXRfbWVtX2RlYnVnX29wdGlvbnMo Vl9DUllQVE9fTURFQlVHX0FMTCk7CisJCX0KKwllbHNlCisJCXsKKwkJLyogT1BFTlNTTF9ERUJV R19NRU1PUlk9b2ZmICovCisJCUNSWVBUT19zZXRfbWVtX2RlYnVnX2Z1bmN0aW9ucygwLCAwLCAw LCAwLCAwKTsKKwkJfQorCUNSWVBUT19tZW1fY3RybChDUllQVE9fTUVNX0NIRUNLX09OKTsKKwlF UlJfbG9hZF9jcnlwdG9fc3RyaW5ncygpOworCisJUkFORF9zZWVkKHJuZF9zZWVkLCBzaXplb2Yg cm5kX3NlZWQpOyAvKiBvciBCTl9nZW5lcmF0ZV9wcmltZSBtYXkgZmFpbCAqLworCisJcHJpbWVf ZmllbGRfdGVzdHMoKTsKKwlwdXRzKCIiKTsKKyNpZm5kZWYgT1BFTlNTTF9OT19FQzJNCisJY2hh cjJfZmllbGRfdGVzdHMoKTsKKyNlbmRpZgorI2lmbmRlZiBPUEVOU1NMX05PX0VDX05JU1RQXzY0 X0dDQ18xMjgKKwluaXN0cF90ZXN0cygpOworI2VuZGlmCisJLyogdGVzdCB0aGUgaW50ZXJuYWwg Y3VydmVzICovCisJaW50ZXJuYWxfY3VydmVfdGVzdCgpOworCisjaWZuZGVmIE9QRU5TU0xfTk9f RU5HSU5FCisJRU5HSU5FX2NsZWFudXAoKTsKKyNlbmRpZgorCUNSWVBUT19jbGVhbnVwX2FsbF9l eF9kYXRhKCk7CisJRVJSX2ZyZWVfc3RyaW5ncygpOworCUVSUl9yZW1vdmVfdGhyZWFkX3N0YXRl KE5VTEwpOworCUNSWVBUT19tZW1fbGVha3NfZnAoc3RkZXJyKTsKKwkKKwlyZXR1cm4gMDsKKwl9 CisjZW5kaWYKCmRpZmYgLS1naXQgYS9ob2JibGUtb3BlbnNzbCBiL2hvYmJsZS1vcGVuc3NsCmlu ZGV4IDNiNzgzMzUuLjNjNzVlYTEgMTAwNzU1Ci0tLSBhL2hvYmJsZS1vcGVuc3NsCisrKyBiL2hv YmJsZS1vcGVuc3NsCkBAIC03LDYgKzcsNyBAQCBzZXQgLWUKICMgTURDLTI6IDQsOTA4LDg2MSAx My8wMy8yMDA3IC0gZXhwaXJlZCwgd2UgZG8gbm90IHJlbW92ZSBpdCBidXQgZG8gbm90IGVuYWJs ZSBpdCBhbnl3YXkKICMgSURFQTogIDUsMjE0LDcwMyAwNy8wMS8yMDEyIC0gZXhwaXJlZCwgd2Ug ZG8gbm90IHJlbW92ZSBpdCBhbnltb3JlCiAjIFJDNTogICA1LDcyNCw0MjggMDEvMTEvMjAxNQor IyBFQzogICAgPz8/Pz8/Pz8/ID8/Lz8/LzIwMjAKICMgU1JQOiAgID8/Pz8/Pz8/PyA/Py8/Py8y MD8/CiAKICMgUmVtb3ZlIGFzc2VtYmxlciBwb3J0aW9ucyBvZiBJREVBLCBNREMyLCBhbmQgUkM1 LgpAQCAtMjUsMTIgKzI2LDIzIEBAIGZvciBjIGluIGBmaW5kIGNyeXB0by9ldnAgLW5hbWUgIipf cmM1LmMiYDsgZG8KIAk+ICRjCiBkb25lCiAKK2ZvciBjIGluIGBmaW5kIGNyeXB0by9ibiAtbmFt ZSAiKmdmMm0uYyJgOyBkbworCWVjaG8gRGVzdHJveWluZyAkYworCT4gJGMKK2RvbmUKKworZm9y IGMgaW4gYGZpbmQgY3J5cHRvL2VjIC1uYW1lICJlYzIqLmMiIC1vIC1uYW1lICJlY19jdXJ2ZS5j IiAtbyAtbmFtZSAiZWNwX25pc3RwPzI/LmMiIC1vIC1uYW1lICJlY3Rlc3QuYyJgOyBkbworCWVj aG8gRGVzdHJveWluZyAkYworCT4gJGMKK2RvbmUKKwogZm9yIGggaW4gYGZpbmQgY3J5cHRvIHNz bCBhcHBzIHRlc3QgLW5hbWUgIiouaCJgIDsgZG8KLQllY2hvIFJlbW92aW5nIFJDNSwgU1JQIHJl ZmVyZW5jZXMgZnJvbSAkaAorCWVjaG8gUmVtb3ZpbmcgUkM1LCBTUlAgYW5kIEVDMk0gcmVmZXJl bmNlcyBmcm9tICRoCiAJY2F0ICRoIHwgXAogCWF3ayAgICAnQkVHSU4ge2VjaD0xO30gXAogCQkv XiNbIFx0XSppZm5kZWYuKk5PX1NSUC8ge2VjaC0tOyBuZXh0O30gXAogCQkvXiNbIFx0XSppZm5k ZWYuKk5PX1JDNS8ge2VjaC0tOyBuZXh0O30gXAorCQkvXiNbIFx0XSppZm5kZWYuKk5PX0VDMk0v IHtlY2gtLTsgbmV4dDt9IFwKICAgICAgICAgICAgICAgICAvXiNbIFx0XSppZi8ge2lmKGVjaCA8 IDEpIGVjaC0tO30gXAogCQl7aWYoZWNoPjApIHs7cHJpbnQgJDB9O30gXAogCQkvXiNbIFx0XSpl bmRpZi8ge2lmKGVjaCA8IDEpIGVjaCsrO30nID4gJGguaG9iYmxlZCAmJiBcCgpkaWZmIC0tZ2l0 IGEvb3BlbnNzbC0xLjAuMWUtZmlwcy1jdG9yLnBhdGNoIGIvb3BlbnNzbC0xLjAuMWUtZmlwcy1j dG9yLnBhdGNoCmluZGV4IDAxMjFkZWMuLjQ0NTc2ZWYgMTAwNjQ0Ci0tLSBhL29wZW5zc2wtMS4w LjFlLWZpcHMtY3Rvci5wYXRjaAorKysgYi9vcGVuc3NsLTEuMC4xZS1maXBzLWN0b3IucGF0Y2gK QEAgLTEsNiArMSw2IEBACiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz LmMuZmlwcy1jdG9yIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYwotLS0tIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzLWN0b3IJMjAxMy0wOS0yMyAxODowNTox NS43MzExMzY4NjMgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmMJ MjAxMy0wOS0yMyAxODoxODoyNy45NTM5Njk3NzAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzLmMuZmlwcy1jdG9yCTIwMTMtMDktMjYgMTM6NTI6MzAuNzY3ODg1NDU3 ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jCTIwMTMtMDktMjYg MTQ6MDE6MjkuNDA2MDEwMTg3ICswMjAwCiBAQCAtNjAsNiArNjAsOCBAQAogICNpbmNsdWRlIDxk bGZjbi5oPgogICNpbmNsdWRlIDxzdGRpby5oPgpAQCAtNDUsNyArNDUsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmMuZmlwcy1jdG9yIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzLwogIAogIAlobWFjcGF0aCA9IG1ha2VfaG1hY19wYXRoKHBhdGgpOwogIAlp ZiAoaG1hY3BhdGggPT0gTlVMTCkKLUBAIC0zNDEsNiArMzM5LDY0IEBAIGVuZDoKK0BAIC0zNDEs NiArMzM5LDUzIEBAIGVuZDoKICAJcmV0dXJuIDE7CQogIH0KICAKQEAgLTgwLDM3ICs4MCwyNiBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmMuZmlwcy1jdG9yIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzLwogKwlyZXR1cm4gMTsKICsgICAgfQogKworKyNpZm5k ZWYgRklQU19NT0RVTEVfUEFUSAorKyNkZWZpbmUgRklQU19NT0RVTEVfUEFUSCAiL2V0Yy9zeXN0 ZW0tZmlwcyIKKysjZW5kaWYKKysKICtpbnQKICtGSVBTX21vZHVsZV9pbnN0YWxsZWQodm9pZCkK ICsgICAgewotKwljaGFyIHBhdGhbUEFUSF9NQVgrMV07Ci0rCWludCBydjsKLSsJY2hhciAqaG1h Y3BhdGgsICpwOwotKwljaGFyICpobWFjID0gTlVMTDsKLSsJc2l6ZV90IG47Ci0rCQotKwlydiA9 IGdldF9saWJyYXJ5X3BhdGgoImxpYmNyeXB0by5zby4iIFNITElCX1ZFUlNJT05fTlVNQkVSLCAi RklQU19tb2RlX3NldCIsIHBhdGgsIHNpemVvZihwYXRoKSk7CisrICAgIGludCBydjsKKysgICAg cnYgPSBhY2Nlc3MoRklQU19NT0RVTEVfUEFUSCwgRl9PSyk7CisrICAgIGlmIChydiA8IDAgJiYg ZXJybm8gIT0gRU5PRU5UKQorKwlydiA9IDA7CiArCi0rCWlmIChydiA8IDApCi0rCQlyZXR1cm4g MDsKLSsKLSsJaG1hY3BhdGggPSBtYWtlX2htYWNfcGF0aChwYXRoKTsKLSsJaWYgKGhtYWNwYXRo ID09IE5VTEwpCi0rCQlyZXR1cm4gMDsKLSsKLSsJcnYgPSBhY2Nlc3MoaG1hY3BhdGgsIEZfT0sp OwotKwlpZiAocnYgPCAwICYmIGVycm5vICE9IEVOT0VOVCkKLSsJCXJ2ID0gMDsKLSsKLSsgICAg ICAgIGZyZWUoaG1hY3BhdGgpOwotKwkvKiBJbnN0YWxsZWQgPT0gdHJ1ZSAqLwotKwlyZXR1cm4g IXJ2OworKyAgICAvKiBJbnN0YWxsZWQgPT0gdHJ1ZSAqLworKyAgICByZXR1cm4gIXJ2OwogKyAg ICB9CiArCiAgaW50IEZJUFNfbW9kdWxlX21vZGVfc2V0KGludCBvbm9mZiwgY29uc3QgY2hhciAq YXV0aCkKICAgICAgewogICAgICBpbnQgcmV0ID0gMDsKLUBAIC0zNzksMTUgKzQzNSw3IEBAIGlu dCBGSVBTX21vZHVsZV9tb2RlX3NldChpbnQgb25vZmYsIGNvbnMKK0BAIC0zNzksMTUgKzQyNCw3 IEBAIGludCBGSVBTX21vZHVsZV9tb2RlX3NldChpbnQgb25vZmYsIGNvbnMKICAJfQogICNlbmRp ZgogIApAQCAtMTI4LDggKzExNyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHMuYy5maXBzLWN0b3Igb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvCiAgCSAgICBG SVBTZXJyKEZJUFNfRl9GSVBTX01PRFVMRV9NT0RFX1NFVCxGSVBTX1JfRklOR0VSUFJJTlRfRE9F U19OT1RfTUFUQ0gpOwogIAkgICAgZmlwc19zZWxmdGVzdF9mYWlsID0gMTsKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWN0b3Igb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwcy5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5o LmZpcHMtY3RvcgkyMDEzLTA5LTIzIDE4OjA1OjE1LjczNDEzNjkzMSArMDIwMAotKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaAkyMDEzLTA5LTIzIDE4OjA1OjE1Ljc3NTEzNzg1 NCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWN0b3IJ MjAxMy0wOS0yNiAxMzo1MjozMC44MTQ4ODY1MTUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzLmgJMjAxMy0wOS0yNiAxMzo1MjozMC44MTY4ODY1NjAgKzAyMDAKIEBA IC03NCw2ICs3NCw3IEBAIHN0cnVjdCBobWFjX2N0eF9zdDsKICAKICBpbnQgRklQU19tb2R1bGVf bW9kZV9zZXQoaW50IG9ub2ZmLCBjb25zdCBjaGFyICphdXRoKTsKQEAgLTEzOSwzMyArMTI4LDM3 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWN0b3Ig b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvCiAgaW50IEZJUFNfc2VsZnRlc3Qodm9pZCk7CiAg aW50IEZJUFNfc2VsZnRlc3RfZmFpbGVkKHZvaWQpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL29faW5pdC5jLmZpcHMtY3RvciBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMK LS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMuZmlwcy1jdG9yCTIwMTMtMDktMjMg MTg6MDU6MTUuNzYyMTM3NTYxICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29faW5p dC5jCTIwMTMtMDktMjMgMTg6MDU6MTUuNzc2MTM3ODc2ICswMjAwCi1AQCAtNzMsNiArNzMsMTAg QEAgc3RhdGljIHZvaWQgaW5pdF9maXBzX21vZGUodm9pZCkKKy0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vb19pbml0LmMuZmlwcy1jdG9yCTIwMTMtMDktMjYgMTM6NTI6MzAuODA3ODg2MzU3ICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29faW5pdC5jCTIwMTMtMDktMjYgMTQ6MDA6 MjEuMDAwMDAwMDAwICswMjAwCitAQCAtNzEsNiArNzEsOSBAQCBzdGF0aWMgdm9pZCBpbml0X2Zp cHNfbW9kZSh2b2lkKQogIAljaGFyIGJ1ZlsyXSA9ICIwIjsKICAJaW50IGZkOwogIAkKLSsJLyog RW5zdXJlIHRoZSBzZWxmdGVzdHMgYWx3YXlzIHJ1biBhbmQgYWJvcnQgb24gZXJyb3IgKi8KKysJ LyogRW5zdXJlIHRoZSBzZWxmdGVzdHMgYWx3YXlzIHJ1biAqLwogKwlGSVBTX21vZGVfc2V0KDEp OwotKwlGSVBTX3NlbGZ0ZXN0X2NoZWNrKCk7CiArCiAgCWlmIChzZWN1cmVfZ2V0ZW52KCJPUEVO U1NMX0ZPUkNFX0ZJUFNfTU9ERSIpICE9IE5VTEwpCiAgCQl7CiAgCQlidWZbMF0gPSAnMSc7Ci1A QCAtODcsOSArOTEsMTAgQEAgc3RhdGljIHZvaWQgaW5pdF9maXBzX21vZGUodm9pZCkKK0BAIC04 NSw5ICs4OCwxNSBAQCBzdGF0aWMgdm9pZCBpbml0X2ZpcHNfbW9kZSh2b2lkKQogIAkgKiBvdGhl cndpc2UuIAogIAkgKi8KICAJCiAtCWlmIChidWZbMF0gPT0gJzEnKQogKwlpZiAoYnVmWzBdICE9 ICcxJykKLSAJCXsKLS0JCUZJUFNfbW9kZV9zZXQoMSk7CisrCQl7CiArCQkvKiBkcm9wIGRvd24g dG8gbm9uLUZJUFMgbW9kZSBpZiBpdCBpcyBub3QgcmVxdWVzdGVkICovCiArCQlGSVBTX21vZGVf c2V0KDApOworKwkJfQorKwllbHNlCisgCQl7CistCQlGSVBTX21vZGVfc2V0KDEpOworKwkJLyog YWJvcnQgaWYgc2VsZnRlc3QgZmFpbGVkICovCisrCQlGSVBTX3NlbGZ0ZXN0X2NoZWNrKCk7CiAg CQl9CiAgCX0KICAjZW5kaWYKLUBAIC05OCwxMyArMTAzLDE3IEBAIHN0YXRpYyB2b2lkIGluaXRf Zmlwc19tb2RlKHZvaWQpCitAQCAtOTYsMTMgKzEwNSwxNyBAQCBzdGF0aWMgdm9pZCBpbml0X2Zp cHNfbW9kZSh2b2lkKQogICAqIEN1cnJlbnRseSBvbmx5IHNldHMgRklQUyBjYWxsYmFja3MKICAg Ki8KICAKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xZS1maXBzLWVjLnBhdGNoIGIvb3BlbnNz bC0xLjAuMWUtZmlwcy1lYy5wYXRjaAppbmRleCBlNjM1ZGRlLi41NjdlMWRiIDEwMDY0NAotLS0g YS9vcGVuc3NsLTEuMC4xZS1maXBzLWVjLnBhdGNoCisrKyBiL29wZW5zc2wtMS4wLjFlLWZpcHMt ZWMucGF0Y2gKQEAgLTEsMjcgKzEsMjIwIEBACi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZWMvZWMyX3NtcGwuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lYzJfc21w bC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjMl9zbXBsLmMuZmlwcy1lYwkyMDEz LTEwLTE1IDAxOjEwOjU3LjQ3MjU0Njc1MyArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9lYy9lYzJfc21wbC5jCTIwMTMtMTAtMTUgMDE6MTE6MTAuMzQ2NTI5MDExICswMTAwCi1AQCAt ODAsOSArODAsNiBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5o LmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oCistLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oLmZpcHMtZWMJMjAxMy0wNS0wMyAxMjoxOTo1OS4yNDgz MDE2NDIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RoLmgJMjAxMy0w NS0wMyAxMjoxOTo1OS45NzUzMTcyODkgKzAyMDAKK0BAIC04NSw2ICs4NSw4IEBACisgZXh0ZXJu ICJDIiB7CisgI2VuZGlmCisgCisrI2RlZmluZSBFQ19GTEFHX0NPRkFDVE9SX0VDREgJMHgxMDAw CisrCisgY29uc3QgRUNESF9NRVRIT0QgKkVDREhfT3BlblNTTCh2b2lkKTsKKyAKKyB2b2lkCSAg RUNESF9zZXRfZGVmYXVsdF9tZXRob2QoY29uc3QgRUNESF9NRVRIT0QgKik7CitkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RodGVzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2VjZGgvZWNkaHRlc3QuYworLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2Ro L2VjZGh0ZXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAor KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMJMjAxMy0wNS0wMyAxMjox OTo1OS45NzUzMTcyODkgKzAyMDAKK0BAIC0zMjMsMTEgKzMyMywxNSBAQCBpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdKQorIAlpZiAoKGN0eD1CTl9DVFhfbmV3KCkpID09IE5VTEwpIGdv dG8gZXJyOwogIAotIGNvbnN0IEVDX01FVEhPRCAqRUNfR0YybV9zaW1wbGVfbWV0aG9kKHZvaWQp CisgCS8qIE5JU1QgUFJJTUUgQ1VSVkVTIFRFU1RTICovCisrI2lmIDAKKyAJaWYgKCF0ZXN0X2Vj ZGhfY3VydmUoTklEX1g5XzYyX3ByaW1lMTkydjEsICJOSVNUIFByaW1lLUN1cnZlIFAtMTkyIiwg Y3R4LCBvdXQpKSBnb3RvIGVycjsKKyAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX3NlY3AyMjRy MSwgIk5JU1QgUHJpbWUtQ3VydmUgUC0yMjQiLCBjdHgsIG91dCkpIGdvdG8gZXJyOworKyNlbmRp ZgorIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfWDlfNjJfcHJpbWUyNTZ2MSwgIk5JU1QgUHJp bWUtQ3VydmUgUC0yNTYiLCBjdHgsIG91dCkpIGdvdG8gZXJyOworIAlpZiAoIXRlc3RfZWNkaF9j dXJ2ZShOSURfc2VjcDM4NHIxLCAiTklTVCBQcmltZS1DdXJ2ZSBQLTM4NCIsIGN0eCwgb3V0KSkg Z290byBlcnI7CisrI2lmIDAKKyAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX3NlY3A1MjFyMSwg Ik5JU1QgUHJpbWUtQ3VydmUgUC01MjEiLCBjdHgsIG91dCkpIGdvdG8gZXJyOworKyNlbmRpZgor ICNpZm5kZWYgT1BFTlNTTF9OT19FQzJNCisgCS8qIE5JU1QgQklOQVJZIENVUlZFUyBURVNUUyAq LworIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfc2VjdDE2M2sxLCAiTklTVCBCaW5hcnktQ3Vy dmUgSy0xNjMiLCBjdHgsIG91dCkpIGdvdG8gZXJyOworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjZGgvZWNoX2xpYi5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgv ZWNoX2xpYi5jCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX2xpYi5jLmZpcHMt ZWMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZWNkaC9lY2hfbGliLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzYzMTczMTEgKzAy MDAKK0BAIC05NCwxNCArOTQsNyBAQCBjb25zdCBFQ0RIX01FVEhPRCAqRUNESF9nZXRfZGVmYXVs dF9tZXRoCiAgCXsKKyAJaWYoIWRlZmF1bHRfRUNESF9tZXRob2QpIAorIAkJewogLSNpZmRlZiBP UEVOU1NMX0ZJUFMKLS0JcmV0dXJuIGZpcHNfZWNfZ2YybV9zaW1wbGVfbWV0aG9kKCk7CistCQlp ZiAoRklQU19tb2RlKCkpCistCQkJcmV0dXJuIEZJUFNfZWNkaF9vcGVuc3NsKCk7CistCQllbHNl CistCQkJcmV0dXJuIEVDREhfT3BlblNTTCgpOwogLSNlbHNlCi0gCXN0YXRpYyBjb25zdCBFQ19N RVRIT0QgcmV0ID0gewotIAkJRUNfRkxBR1NfREVGQVVMVF9PQ1QsCi0gCQlOSURfWDlfNjJfY2hh cmFjdGVyaXN0aWNfdHdvX2ZpZWxkLAotQEAgLTEyNiw3ICsxMjMsNiBAQCBjb25zdCBFQ19NRVRI T0QgKkVDX0dGMm1fc2ltcGxlX21ldGhvZCh2Ci0gCQkwIC8qIGZpZWxkX3NldF90b19vbmUgKi8g fTsKLSAKLSAJcmV0dXJuICZyZXQ7CisgCQlkZWZhdWx0X0VDREhfbWV0aG9kID0gRUNESF9PcGVu U1NMKCk7CiAtI2VuZGlmCisgCQl9CisgCXJldHVybiBkZWZhdWx0X0VDREhfbWV0aG9kOwogIAl9 CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2hfb3NzbC5jLmZpcHMtZWMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX29zc2wuYworLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lY2RoL2VjaF9vc3NsLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAw MDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9vc3NsLmMJMjAx My0wNS0wMyAxMjoxOTo1OS45NzYzMTczMTEgKzAyMDAKK0BAIC03OSw2ICs3OSwxMCBAQAorICNp bmNsdWRlIDxvcGVuc3NsL29ial9tYWMuaD4KKyAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgorIAor KyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+CisrI2VuZGlm CisrCisgc3RhdGljIGludCBlY2RoX2NvbXB1dGVfa2V5KHZvaWQgKm91dCwgc2l6ZV90IGxlbiwg Y29uc3QgRUNfUE9JTlQgKnB1Yl9rZXksCisgCUVDX0tFWSAqZWNkaCwgCisgCXZvaWQgKigqS0RG KShjb25zdCB2b2lkICppbiwgc2l6ZV90IGlubGVuLCB2b2lkICpvdXQsIHNpemVfdCAqb3V0bGVu KSk7CitAQCAtOTAsNyArOTQsNyBAQCBzdGF0aWMgRUNESF9NRVRIT0Qgb3BlbnNzbF9lY2RoX21l dGggPSB7CisgCU5VTEwsIC8qIGluaXQgICAgICovCisgCU5VTEwsIC8qIGZpbmlzaCAgICovCisg I2VuZGlmCistCTAsICAgIC8qIGZsYWdzICAgICovCisrCUVDREhfRkxBR19GSVBTX01FVEhPRCwg ICAgLyogZmxhZ3MgICAgKi8KKyAJTlVMTCAgLyogYXBwX2RhdGEgKi8KKyB9OwogIAorQEAgLTEx OCw2ICsxMjIsMTQgQEAgc3RhdGljIGludCBlY2RoX2NvbXB1dGVfa2V5KHZvaWQgKm91dCwgcwor IAlzaXplX3QgYnVmbGVuLCBsZW47CisgCXVuc2lnbmVkIGNoYXIgKmJ1Zj1OVUxMOwogIAorKyNp ZmRlZiBPUEVOU1NMX0ZJUFMKKysJaWYoRklQU19zZWxmdGVzdF9mYWlsZWQoKSkKKysJCXsKKysJ CUZJUFNlcnIoRklQU19GX0VDREhfQ09NUFVURV9LRVksRklQU19SX0ZJUFNfU0VMRlRFU1RfRkFJ TEVEKTsKKysJCXJldHVybiAtMTsKKysJCX0KKysjZW5kaWYKKysKKyAJaWYgKG91dGxlbiA+IElO VF9NQVgpCisgCQl7CisgCQlFQ0RIZXJyKEVDREhfRl9FQ0RIX0NPTVBVVEVfS0VZLEVSUl9SX01B TExPQ19GQUlMVVJFKTsgLyogc29ydCBvZiwgYW55d2F5ICovCitAQCAtMTM3LDYgKzE0OSwxOCBA QCBzdGF0aWMgaW50IGVjZGhfY29tcHV0ZV9rZXkodm9pZCAqb3V0LCBzCisgCQl9CisgCisgCWdy b3VwID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNkaCk7CisrCisrCWlmIChFQ19LRVlfZ2V0X2ZsYWdz KGVjZGgpICYgRUNfRkxBR19DT0ZBQ1RPUl9FQ0RIKQorKwkJeworKwkJaWYgKCFFQ19HUk9VUF9n ZXRfY29mYWN0b3IoZ3JvdXAsIHgsIGN0eCkgfHwKKysJCQkhQk5fbXVsKHgsIHgsIHByaXZfa2V5 LCBjdHgpKQorKwkJCXsKKysJCQlFQ0RIZXJyKEVDREhfRl9FQ0RIX0NPTVBVVEVfS0VZLCBFUlJf Ul9NQUxMT0NfRkFJTFVSRSk7CisrCQkJZ290byBlcnI7CisrCQkJfQorKwkJcHJpdl9rZXkgPSB4 OworKwkJfQorKworIAlpZiAoKHRtcD1FQ19QT0lOVF9uZXcoZ3JvdXApKSA9PSBOVUxMKQorIAkJ eworIAkJRUNESGVycihFQ0RIX0ZfRUNESF9DT01QVVRFX0tFWSxFUlJfUl9NQUxMT0NfRkFJTFVS RSk7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMuZmlw cy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMKKy0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY2Rz YXRlc3QuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3NjMxNzMxMSArMDIwMAorQEAgLTEzOCwxMSAr MTM4LDE0IEBAIGludCByZXN0b3JlX3JhbmQodm9pZCkKKyAJfQorIAorIHN0YXRpYyBpbnQgZmJ5 dGVzX2NvdW50ZXIgPSAwOworLXN0YXRpYyBjb25zdCBjaGFyICpudW1iZXJzWzhdID0geworK3N0 YXRpYyBjb25zdCBjaGFyICpudW1iZXJzWzEwXSA9IHsKKysJIjY1MTA1Njc3MDkwNjAxNTA3NjA1 NjgxMDc2MzQ1NjM1ODU2NzE5MDEwMDE1NjY5NTYxNTY2NTY1OSIsCisgCSI2NTEwNTY3NzA5MDYw MTUwNzYwNTY4MTA3NjM0NTYzNTg1NjcxOTAxMDAxNTY2OTU2MTU2NjU2NTkiLAorIAkiNjE0MDUw NzA2NzA2NTAwMTA2MzA2NTA2NTU2NTY2NzQwNTU2MDAwNjE2MTU1NjU2NTY2NTY1NjY1NCIsCisg CSI4NzYzMDAxMDE1MDcxMDc1Njc1MDEwNjYxMzA3NjE2NzEwNzgzNTcwMTA2NzEwNjc3ODE3NzY3 MTY2IgorIAkiNzE2NzYxNzg3MjY3MTciLAorKwkiODc2MzAwMTAxNTA3MTA3NTY3NTAxMDY2MTMw NzYxNjcxMDc4MzU3MDEwNjcxMDY3NzgxNzc2NzE2NiIKKysJIjcxNjc2MTc4NzI2NzE3IiwKKyAJ IjcwMDAwMDAxNzU2OTA1NjY0NjY1NTUwNTc4MTc1NzE1NzEwNzU3MDUwMTU3NTc3NTcwNTc3OTU3 NTUiCisgCSI1NTY1NzE1Njc1NjY1NSIsCisgCSIxMjc1NTUyMTkxMTEzMjEyMzAwMDEyMDMwNDM5 MTg3MTQ2MTY0NjQ2MTQ2NjQ2NDY2NzQ5NDk0Nzk5IiwKK0BAIC0xNTcsNyArMTYwLDcgQEAgaW50 IGZieXRlcyh1bnNpZ25lZCBjaGFyICpidWYsIGludCBudW0pCisgCWludAlyZXQ7CisgCUJJR05V TQkqdG1wID0gTlVMTDsKKyAKKy0JaWYgKGZieXRlc19jb3VudGVyID49IDgpCisrCWlmIChmYnl0 ZXNfY291bnRlciA+PSAxMCkKKyAJCXJldHVybiAwOworIAl0bXAgPSBCTl9uZXcoKTsKKyAJaWYg KCF0bXApCitAQCAtNTUwLDcgKzU1Myw5IEBAIGludCBtYWluKHZvaWQpCisgCVJBTkRfc2VlZChy bmRfc2VlZCwgc2l6ZW9mKHJuZF9zZWVkKSk7CisgCisgCS8qIHRoZSB0ZXN0cyAqLworKyNpZiAw CisgCWlmICgheDlfNjJfdGVzdHMob3V0KSkgIGdvdG8gZXJyOworKyNlbmRpZgorIAlpZiAoIXRl c3RfYnVpbHRpbihvdXQpKSBnb3RvIGVycjsKKyAJCisgCXJldCA9IDA7CitkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNzX2xpYi5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjZHNhL2Vjc19saWIuYworLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9l Y3NfbGliLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3NfbGliLmMJMjAxMy0wNS0wMyAxMjoxOTo1 OS45NzczMTczMzMgKzAyMDAKK0BAIC04MSwxNCArODEsNyBAQCBjb25zdCBFQ0RTQV9NRVRIT0Qg KkVDRFNBX2dldF9kZWZhdWx0X21lCisgeworIAlpZighZGVmYXVsdF9FQ0RTQV9tZXRob2QpIAor IAkJeworLSNpZmRlZiBPUEVOU1NMX0ZJUFMKKy0JCWlmIChGSVBTX21vZGUoKSkKKy0JCQlyZXR1 cm4gRklQU19lY2RzYV9vcGVuc3NsKCk7CistCQllbHNlCistCQkJcmV0dXJuIEVDRFNBX09wZW5T U0woKTsKKy0jZWxzZQorIAkJZGVmYXVsdF9FQ0RTQV9tZXRob2QgPSBFQ0RTQV9PcGVuU1NMKCk7 CistI2VuZGlmCisgCQl9CisgCXJldHVybiBkZWZhdWx0X0VDRFNBX21ldGhvZDsKKyB9CitkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNzX29zc2wuYy5maXBzLWVjIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nfb3NzbC5jCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2VjZHNhL2Vjc19vc3NsLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAw MCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nfb3NzbC5jCTIwMTMt MDUtMDMgMTI6MTk6NTkuOTc3MzE3MzMzICswMjAwCitAQCAtNjAsNiArNjAsOSBAQAorICNpbmNs dWRlIDxvcGVuc3NsL2Vyci5oPgorICNpbmNsdWRlIDxvcGVuc3NsL29ial9tYWMuaD4KKyAjaW5j bHVkZSA8b3BlbnNzbC9ibi5oPgorKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysjaW5jbHVkZSA8b3Bl bnNzbC9maXBzLmg+CisrI2VuZGlmCisgCisgc3RhdGljIEVDRFNBX1NJRyAqZWNkc2FfZG9fc2ln bihjb25zdCB1bnNpZ25lZCBjaGFyICpkZ3N0LCBpbnQgZGxlbiwgCisgCQljb25zdCBCSUdOVU0g KiwgY29uc3QgQklHTlVNICosIEVDX0tFWSAqZWNrZXkpOworQEAgLTc3LDcgKzgwLDcgQEAgc3Rh dGljIEVDRFNBX01FVEhPRCBvcGVuc3NsX2VjZHNhX21ldGggPQorIAlOVUxMLCAvKiBpbml0ICAg ICAqLworIAlOVUxMLCAvKiBmaW5pc2ggICAqLworICNlbmRpZgorLQkwLCAgICAvKiBmbGFncyAg ICAqLworKwlFQ0RTQV9GTEFHX0ZJUFNfTUVUSE9ELCAgICAvKiBmbGFncyAgICAqLworIAlOVUxM ICAvKiBhcHBfZGF0YSAqLworIH07CisgCitAQCAtMjMxLDYgKzIzNCwxNCBAQCBzdGF0aWMgRUNE U0FfU0lHICplY2RzYV9kb19zaWduKGNvbnN0IHVuCisgCUVDRFNBX0RBVEEgKmVjZHNhOworIAlj b25zdCBCSUdOVU0gKnByaXZfa2V5OworIAorKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysJaWYoRklQ U19zZWxmdGVzdF9mYWlsZWQoKSkKKysJCXsKKysJCUZJUFNlcnIoRklQU19GX0VDRFNBX0RPX1NJ R04sRklQU19SX0ZJUFNfU0VMRlRFU1RfRkFJTEVEKTsKKysJCXJldHVybiBOVUxMOworKwkJfQor KyNlbmRpZgorKworIAllY2RzYSAgICA9IGVjZHNhX2NoZWNrKGVja2V5KTsKKyAJZ3JvdXAgICAg PSBFQ19LRVlfZ2V0MF9ncm91cChlY2tleSk7CisgCXByaXZfa2V5ID0gRUNfS0VZX2dldDBfcHJp dmF0ZV9rZXkoZWNrZXkpOworQEAgLTM2MCw2ICszNzEsMTQgQEAgc3RhdGljIGludCBlY2RzYV9k b192ZXJpZnkoY29uc3QgdW5zaWduZQorIAljb25zdCBFQ19HUk9VUCAqZ3JvdXA7CisgCWNvbnN0 IEVDX1BPSU5UICpwdWJfa2V5OworIAorKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysJaWYoRklQU19z ZWxmdGVzdF9mYWlsZWQoKSkKKysJCXsKKysJCUZJUFNlcnIoRklQU19GX0VDRFNBX0RPX1ZFUklG WSxGSVBTX1JfRklQU19TRUxGVEVTVF9GQUlMRUQpOworKwkJcmV0dXJuIC0xOworKwkJfQorKyNl bmRpZgorKworIAkvKiBjaGVjayBpbnB1dCB2YWx1ZXMgKi8KKyAJaWYgKGVja2V5ID09IE5VTEwg fHwgKGdyb3VwID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNrZXkpKSA9PSBOVUxMIHx8CisgCSAgICAo cHViX2tleSA9IEVDX0tFWV9nZXQwX3B1YmxpY19rZXkoZWNrZXkpKSA9PSBOVUxMIHx8IHNpZyA9 PSBOVUxMKQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjX2tleS5jLmZpcHMt ZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjX2tleS5jCi0tLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjL2VjX2tleS5jLmZpcHMtZWMJMjAxMy0wMi0xMSAxNToyNjowNC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNfa2V5LmMJMjAxMy0xMC0xNSAw MTowODowNi4wNDY3ODMxNDggKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNf a2V5LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY19rZXkuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3ODMx NzM1NCArMDIwMAogQEAgLTY0LDkgKzY0LDYgQEAKICAjaW5jbHVkZSA8c3RyaW5nLmg+CiAgI2lu Y2x1ZGUgImVjX2xjbC5oIgpAQCAtMTE5LDggKzMxMiw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9lYy9lY19rZXkuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9l Y19rCiAgCQlFQ2VycihFQ19GX0VDX0tFWV9TRVRfUFVCTElDX0tFWV9BRkZJTkVfQ09PUkRJTkFU RVMsCiAgCQkJRUNfUl9DT09SRElOQVRFU19PVVRfT0ZfUkFOR0UpOwogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9tb250LmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZWMvZWNwX21vbnQuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbW9udC5j LmZpcHMtZWMJMjAxMy0wMi0xMSAxNToyNjowNC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZWMvZWNwX21vbnQuYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0Nzc4MzE0 NiArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbW9udC5jLmZpcHMtZWMJ MjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZWMvZWNwX21vbnQuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3ODMxNzM1NCArMDIwMAog QEAgLTYzLDE4ICs2MywxMSBAQAogIAogICNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgpAQCAtMTQ5 LDggKzM0Miw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbW9udC5j LmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjCiAgCiAgCiBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX25pc3QuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9lYy9lY3BfbmlzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9uaXN0 LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbmlzdC5jCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3Nzgz MTQ2ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9uaXN0LmMuZmlwcy1l YwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lYy9lY3BfbmlzdC5jCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTc4MzE3MzU0ICswMjAw CiBAQCAtNjcsMTUgKzY3LDggQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9vYmpfbWFjLmg+CiAgI2lu Y2x1ZGUgImVjX2xjbC5oIgpAQCAtMTc2LDggKzM2OSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9lYy9lY3BfbmlzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj L2VjCiAgCiAgaW50IGVjX0dGcF9uaXN0X2dyb3VwX2NvcHkoRUNfR1JPVVAgKmRlc3QsIGNvbnN0 IEVDX0dST1VQICpzcmMpCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX3Nt cGwuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3Bfc21wbC5jCi0tLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9zbXBsLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2 OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3Bfc21w bC5jCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3NzgzMTQ2ICswMTAwCistLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2VjL2VjcF9zbXBsLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAw MDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3Bfc21wbC5jCTIwMTMt MDUtMDMgMTI6MTk6NTkuOTc5MzE3Mzc2ICswMjAwCiBAQCAtNjUsMTcgKzY1LDEwIEBACiAgI2lu Y2x1ZGUgPG9wZW5zc2wvZXJyLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wvc3ltaGFja3MuaD4KQEAg LTE5NywyMzAgKzM5MCwyOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNw X3NtcGwuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lYwogIAkJRUNfRkxBR1Nf REVGQVVMVF9PQ1QsCiAgCQlOSURfWDlfNjJfcHJpbWVfZmllbGQsCiBAQCAtMTE2LDcgKzEwOSw2 IEBAIGNvbnN0IEVDX01FVEhPRCAqRUNfR0ZwX3NpbXBsZV9tZXRob2Qodm8KLSAJCTAgLyogZmll bGRfc2V0X3RvX29uZSAqLyB9OwotIAotIAlyZXR1cm4gJnJldDsKLS0jZW5kaWYKLSAJfQotIAot IAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oLmZpcHMtZWMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2VjZGgvZWNkaC5oLmZpcHMtZWMJMjAxMy0xMC0xNSAwMTowODowNS43NDg3ODM1NTkgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RoLmgJMjAxMy0xMC0xNSAwMTowODow Ni4wNDY3ODMxNDggKzAxMDAKLUBAIC04NSw2ICs4NSw4IEBACi0gZXh0ZXJuICJDIiB7Ci0gI2Vu ZGlmCi0gCi0rI2RlZmluZSBFQ19GTEFHX0NPRkFDVE9SX0VDREgJMHgxMDAwCi0rCi0gY29uc3Qg RUNESF9NRVRIT0QgKkVDREhfT3BlblNTTCh2b2lkKTsKLSAKLSB2b2lkCSAgRUNESF9zZXRfZGVm YXVsdF9tZXRob2QoY29uc3QgRUNESF9NRVRIT0QgKik7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZWNkaC9lY2RodGVzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj ZGgvZWNkaHRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMu Zmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDY3ODMx NDggKzAxMDAKLUBAIC0zMjMsMTEgKzMyMywxNSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq YXJndltdKQotIAlpZiAoKGN0eD1CTl9DVFhfbmV3KCkpID09IE5VTEwpIGdvdG8gZXJyOwotIAot IAkvKiBOSVNUIFBSSU1FIENVUlZFUyBURVNUUyAqLwotKyNpZiAwCi0gCWlmICghdGVzdF9lY2Ro X2N1cnZlKE5JRF9YOV82Ml9wcmltZTE5MnYxLCAiTklTVCBQcmltZS1DdXJ2ZSBQLTE5MiIsIGN0 eCwgb3V0KSkgZ290byBlcnI7Ci0gCWlmICghdGVzdF9lY2RoX2N1cnZlKE5JRF9zZWNwMjI0cjEs ICJOSVNUIFByaW1lLUN1cnZlIFAtMjI0IiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKLSsjZW5kaWYK LSAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX1g5XzYyX3ByaW1lMjU2djEsICJOSVNUIFByaW1l LUN1cnZlIFAtMjU2IiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKLSAJaWYgKCF0ZXN0X2VjZGhfY3Vy dmUoTklEX3NlY3AzODRyMSwgIk5JU1QgUHJpbWUtQ3VydmUgUC0zODQiLCBjdHgsIG91dCkpIGdv dG8gZXJyOwotKyNpZiAwCi0gCWlmICghdGVzdF9lY2RoX2N1cnZlKE5JRF9zZWNwNTIxcjEsICJO SVNUIFByaW1lLUN1cnZlIFAtNTIxIiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKLSsjZW5kaWYKLSAj aWZuZGVmIE9QRU5TU0xfTk9fRUMyTQotIAkvKiBOSVNUIEJJTkFSWSBDVVJWRVMgVEVTVFMgKi8K LSAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX3NlY3QxNjNrMSwgIk5JU1QgQmluYXJ5LUN1cnZl IEstMTYzIiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9lY2RoL2VjaF9saWIuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2Vj aF9saWIuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9saWIuYy5maXBzLWVj CTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICswMDAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjZGgvZWNoX2xpYi5jCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ2NzgzMTQ4ICswMTAw Ci1AQCAtOTQsMTQgKzk0LDcgQEAgY29uc3QgRUNESF9NRVRIT0QgKkVDREhfZ2V0X2RlZmF1bHRf bWV0aAotIAl7Ci0gCWlmKCFkZWZhdWx0X0VDREhfbWV0aG9kKSAKLSAJCXsKLS0jaWZkZWYgT1BF TlNTTF9GSVBTCi0tCQlpZiAoRklQU19tb2RlKCkpCi0tCQkJcmV0dXJuIEZJUFNfZWNkaF9vcGVu c3NsKCk7Ci0tCQllbHNlCi0tCQkJcmV0dXJuIEVDREhfT3BlblNTTCgpOwotLSNlbHNlCi0gCQlk ZWZhdWx0X0VDREhfbWV0aG9kID0gRUNESF9PcGVuU1NMKCk7Ci0tI2VuZGlmCi0gCQl9Ci0gCXJl dHVybiBkZWZhdWx0X0VDREhfbWV0aG9kOwotIAl9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZWNkaC9lY2hfb3NzbC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgv ZWNoX29zc2wuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9vc3NsLmMuZmlw cy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9lY2RoL2VjaF9vc3NsLmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDY3ODMxNDgg KzAxMDAKLUBAIC03OSw2ICs3OSwxMCBAQAotICNpbmNsdWRlIDxvcGVuc3NsL29ial9tYWMuaD4K LSAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgotIAotKyNpZmRlZiBPUEVOU1NMX0ZJUFMKLSsjaW5j bHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0rI2VuZGlmCi0rCi0gc3RhdGljIGludCBlY2RoX2NvbXB1 dGVfa2V5KHZvaWQgKm91dCwgc2l6ZV90IGxlbiwgY29uc3QgRUNfUE9JTlQgKnB1Yl9rZXksCi0g CUVDX0tFWSAqZWNkaCwgCi0gCXZvaWQgKigqS0RGKShjb25zdCB2b2lkICppbiwgc2l6ZV90IGlu bGVuLCB2b2lkICpvdXQsIHNpemVfdCAqb3V0bGVuKSk7Ci1AQCAtOTAsNyArOTQsNyBAQCBzdGF0 aWMgRUNESF9NRVRIT0Qgb3BlbnNzbF9lY2RoX21ldGggPSB7Ci0gCU5VTEwsIC8qIGluaXQgICAg ICovCi0gCU5VTEwsIC8qIGZpbmlzaCAgICovCi0gI2VuZGlmCi0tCTAsICAgIC8qIGZsYWdzICAg ICovCi0rCUVDREhfRkxBR19GSVBTX01FVEhPRCwgICAgLyogZmxhZ3MgICAgKi8KLSAJTlVMTCAg LyogYXBwX2RhdGEgKi8KLSB9OwotIAotQEAgLTExOCw2ICsxMjIsMTQgQEAgc3RhdGljIGludCBl Y2RoX2NvbXB1dGVfa2V5KHZvaWQgKm91dCwgcwotIAlzaXplX3QgYnVmbGVuLCBsZW47Ci0gCXVu c2lnbmVkIGNoYXIgKmJ1Zj1OVUxMOwotIAotKyNpZmRlZiBPUEVOU1NMX0ZJUFMKLSsJaWYoRklQ U19zZWxmdGVzdF9mYWlsZWQoKSkKLSsJCXsKLSsJCUZJUFNlcnIoRklQU19GX0VDREhfQ09NUFVU RV9LRVksRklQU19SX0ZJUFNfU0VMRlRFU1RfRkFJTEVEKTsKLSsJCXJldHVybiAtMTsKLSsJCX0K LSsjZW5kaWYKLSsKLSAJaWYgKG91dGxlbiA+IElOVF9NQVgpCi0gCQl7Ci0gCQlFQ0RIZXJyKEVD REhfRl9FQ0RIX0NPTVBVVEVfS0VZLEVSUl9SX01BTExPQ19GQUlMVVJFKTsgLyogc29ydCBvZiwg YW55d2F5ICovCi1AQCAtMTM3LDYgKzE0OSwxOCBAQCBzdGF0aWMgaW50IGVjZGhfY29tcHV0ZV9r ZXkodm9pZCAqb3V0LCBzCi0gCQl9Ci0gCi0gCWdyb3VwID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNk aCk7Ci0rCi0rCWlmIChFQ19LRVlfZ2V0X2ZsYWdzKGVjZGgpICYgRUNfRkxBR19DT0ZBQ1RPUl9F Q0RIKQotKwkJewotKwkJaWYgKCFFQ19HUk9VUF9nZXRfY29mYWN0b3IoZ3JvdXAsIHgsIGN0eCkg fHwKLSsJCQkhQk5fbXVsKHgsIHgsIHByaXZfa2V5LCBjdHgpKQotKwkJCXsKLSsJCQlFQ0RIZXJy KEVDREhfRl9FQ0RIX0NPTVBVVEVfS0VZLCBFUlJfUl9NQUxMT0NfRkFJTFVSRSk7Ci0rCQkJZ290 byBlcnI7Ci0rCQkJfQotKwkJcHJpdl9rZXkgPSB4OwotKwkJfQotKwotIAlpZiAoKHRtcD1FQ19Q T0lOVF9uZXcoZ3JvdXApKSA9PSBOVUxMKQotIAkJewotIAkJRUNESGVycihFQ0RIX0ZfRUNESF9D T01QVVRFX0tFWSxFUlJfUl9NQUxMT0NfRkFJTFVSRSk7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZWNkc2EvZWNkc2F0ZXN0LmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZWNkc2EvZWNkc2F0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNkc2F0 ZXN0LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY2RzYXRlc3QuYwkyMDEzLTEwLTE1IDAxOjA4OjA2 LjA0Njc4MzE0OCArMDEwMAotQEAgLTEzOCwxMSArMTM4LDE0IEBAIGludCByZXN0b3JlX3JhbmQo dm9pZCkKLSAJfQotIAotIHN0YXRpYyBpbnQgZmJ5dGVzX2NvdW50ZXIgPSAwOwotLXN0YXRpYyBj b25zdCBjaGFyICpudW1iZXJzWzhdID0gewotK3N0YXRpYyBjb25zdCBjaGFyICpudW1iZXJzWzEw XSA9IHsKLSsJIjY1MTA1Njc3MDkwNjAxNTA3NjA1NjgxMDc2MzQ1NjM1ODU2NzE5MDEwMDE1NjY5 NTYxNTY2NTY1OSIsCi0gCSI2NTEwNTY3NzA5MDYwMTUwNzYwNTY4MTA3NjM0NTYzNTg1NjcxOTAx MDAxNTY2OTU2MTU2NjU2NTkiLAotIAkiNjE0MDUwNzA2NzA2NTAwMTA2MzA2NTA2NTU2NTY2NzQw NTU2MDAwNjE2MTU1NjU2NTY2NTY1NjY1NCIsCi0gCSI4NzYzMDAxMDE1MDcxMDc1Njc1MDEwNjYx MzA3NjE2NzEwNzgzNTcwMTA2NzEwNjc3ODE3NzY3MTY2IgotIAkiNzE2NzYxNzg3MjY3MTciLAot KwkiODc2MzAwMTAxNTA3MTA3NTY3NTAxMDY2MTMwNzYxNjcxMDc4MzU3MDEwNjcxMDY3NzgxNzc2 NzE2NiIKLSsJIjcxNjc2MTc4NzI2NzE3IiwKLSAJIjcwMDAwMDAxNzU2OTA1NjY0NjY1NTUwNTc4 MTc1NzE1NzEwNzU3MDUwMTU3NTc3NTcwNTc3OTU3NTUiCi0gCSI1NTY1NzE1Njc1NjY1NSIsCi0g CSIxMjc1NTUyMTkxMTEzMjEyMzAwMDEyMDMwNDM5MTg3MTQ2MTY0NjQ2MTQ2NjQ2NDY2NzQ5NDk0 Nzk5IiwKLUBAIC0xNTcsNyArMTYwLDcgQEAgaW50IGZieXRlcyh1bnNpZ25lZCBjaGFyICpidWYs IGludCBudW0pCi0gCWludAlyZXQ7Ci0gCUJJR05VTQkqdG1wID0gTlVMTDsKLSAKLS0JaWYgKGZi eXRlc19jb3VudGVyID49IDgpCi0rCWlmIChmYnl0ZXNfY291bnRlciA+PSAxMCkKLSAJCXJldHVy biAwOwotIAl0bXAgPSBCTl9uZXcoKTsKLSAJaWYgKCF0bXApCi1AQCAtNTUwLDcgKzU1Myw5IEBA IGludCBtYWluKHZvaWQpCi0gCVJBTkRfc2VlZChybmRfc2VlZCwgc2l6ZW9mKHJuZF9zZWVkKSk7 Ci0gCi0gCS8qIHRoZSB0ZXN0cyAqLwotKyNpZiAwCi0gCWlmICgheDlfNjJfdGVzdHMob3V0KSkg IGdvdG8gZXJyOwotKyNlbmRpZgotIAlpZiAoIXRlc3RfYnVpbHRpbihvdXQpKSBnb3RvIGVycjsK LSAJCi0gCXJldCA9IDA7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNz X2xpYi5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19saWIuYwotLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3NfbGliLmMuZmlwcy1lYwkyMDEzLTAyLTEx IDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2Rz YS9lY3NfbGliLmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDY3ODMxNDggKzAxMDAKLUBAIC04MSwx NCArODEsNyBAQCBjb25zdCBFQ0RTQV9NRVRIT0QgKkVDRFNBX2dldF9kZWZhdWx0X21lCi0gewot IAlpZighZGVmYXVsdF9FQ0RTQV9tZXRob2QpIAotIAkJewotLSNpZmRlZiBPUEVOU1NMX0ZJUFMK LS0JCWlmIChGSVBTX21vZGUoKSkKLS0JCQlyZXR1cm4gRklQU19lY2RzYV9vcGVuc3NsKCk7Ci0t CQllbHNlCi0tCQkJcmV0dXJuIEVDRFNBX09wZW5TU0woKTsKLS0jZWxzZQotIAkJZGVmYXVsdF9F Q0RTQV9tZXRob2QgPSBFQ0RTQV9PcGVuU1NMKCk7Ci0tI2VuZGlmCi0gCQl9Ci0gCXJldHVybiBk ZWZhdWx0X0VDRFNBX21ldGhvZDsKLSB9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZWNkc2EvZWNzX29zc2wuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nf b3NzbC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19vc3NsLmMuZmlwcy1l YwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lY2RzYS9lY3Nfb3NzbC5jCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ2NzgzMTQ4ICsw MTAwCi1AQCAtNjAsNiArNjAsOSBAQAotICNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgotICNpbmNs dWRlIDxvcGVuc3NsL29ial9tYWMuaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgotKyNpZmRl ZiBPUEVOU1NMX0ZJUFMKLSsjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0rI2VuZGlmCi0gCi0g c3RhdGljIEVDRFNBX1NJRyAqZWNkc2FfZG9fc2lnbihjb25zdCB1bnNpZ25lZCBjaGFyICpkZ3N0 LCBpbnQgZGxlbiwgCi0gCQljb25zdCBCSUdOVU0gKiwgY29uc3QgQklHTlVNICosIEVDX0tFWSAq ZWNrZXkpOwotQEAgLTc3LDcgKzgwLDcgQEAgc3RhdGljIEVDRFNBX01FVEhPRCBvcGVuc3NsX2Vj ZHNhX21ldGggPQotIAlOVUxMLCAvKiBpbml0ICAgICAqLwotIAlOVUxMLCAvKiBmaW5pc2ggICAq LwotICNlbmRpZgotLQkwLCAgICAvKiBmbGFncyAgICAqLwotKwlFQ0RTQV9GTEFHX0ZJUFNfTUVU SE9ELCAgICAvKiBmbGFncyAgICAqLwotIAlOVUxMICAvKiBhcHBfZGF0YSAqLwotIH07CisgCQkw IC8qIGZpZWxkX3NldF90b19vbmUgKi8gfTsKICAKLUBAIC0yMzEsNiArMjM0LDE0IEBAIHN0YXRp YyBFQ0RTQV9TSUcgKmVjZHNhX2RvX3NpZ24oY29uc3QgdW4KLSAJRUNEU0FfREFUQSAqZWNkc2E7 Ci0gCWNvbnN0IEJJR05VTSAqcHJpdl9rZXk7CisgCXJldHVybiAmcmV0OworLSNlbmRpZgorIAl9 CiAgCi0rI2lmZGVmIE9QRU5TU0xfRklQUwotKwlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQot KwkJewotKwkJRklQU2VycihGSVBTX0ZfRUNEU0FfRE9fU0lHTixGSVBTX1JfRklQU19TRUxGVEVT VF9GQUlMRUQpOwotKwkJcmV0dXJuIE5VTEw7Ci0rCQl9Ci0rI2VuZGlmCi0rCi0gCWVjZHNhICAg ID0gZWNkc2FfY2hlY2soZWNrZXkpOwotIAlncm91cCAgICA9IEVDX0tFWV9nZXQwX2dyb3VwKGVj a2V5KTsKLSAJcHJpdl9rZXkgPSBFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShlY2tleSk7Ci1AQCAt MzYwLDYgKzM3MSwxNCBAQCBzdGF0aWMgaW50IGVjZHNhX2RvX3ZlcmlmeShjb25zdCB1bnNpZ25l Ci0gCWNvbnN0IEVDX0dST1VQICpncm91cDsKLSAJY29uc3QgRUNfUE9JTlQgKnB1Yl9rZXk7CiAg Ci0rI2lmZGVmIE9QRU5TU0xfRklQUwotKwlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQorQEAg LTE4Niw2ICsxNzgsMTIgQEAgaW50IGVjX0dGcF9zaW1wbGVfZ3JvdXBfc2V0X2N1cnZlKEVDX0dS TworIAkJcmV0dXJuIDA7CisgCQl9CisgCisrCWlmIChCTl9udW1fYml0cyhwKSA8IDI1NikKICsJ CXsKLSsJCUZJUFNlcnIoRklQU19GX0VDRFNBX0RPX1ZFUklGWSxGSVBTX1JfRklQU19TRUxGVEVT VF9GQUlMRUQpOwotKwkJcmV0dXJuIC0xOworKwkJRUNlcnIoRUNfRl9FQ19HRlBfU0lNUExFX0dS T1VQX1NFVF9DVVJWRSwgRUNfUl9VTlNVUFBPUlRFRF9GSUVMRCk7CisrCQlyZXR1cm4gMDsKICsJ CX0KLSsjZW5kaWYKICsKLSAJLyogY2hlY2sgaW5wdXQgdmFsdWVzICovCi0gCWlmIChlY2tleSA9 PSBOVUxMIHx8IChncm91cCA9IEVDX0tFWV9nZXQwX2dyb3VwKGVja2V5KSkgPT0gTlVMTCB8fAot IAkgICAgKHB1Yl9rZXkgPSBFQ19LRVlfZ2V0MF9wdWJsaWNfa2V5KGVja2V5KSkgPT0gTlVMTCB8 fCBzaWcgPT0gTlVMTCkKKyAJaWYgKGN0eCA9PSBOVUxMKQorIAkJeworIAkJY3R4ID0gbmV3X2N0 eCA9IEJOX0NUWF9uZXcoKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9l Y2RzYS5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2VjZHNhLmMKLS0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZWNkc2EuYy5maXBzLWVjCTIwMTMtMDItMTEgMTU6 MjY6MDQuMDAwMDAwMDAwICswMDAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2Vj ZHNhLmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDc3ODMxNDYgKzAxMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL21fZWNkc2EuYy5maXBzLWVjCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAw MDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2VjZHNhLmMJMjAx My0wNS0wMyAxMjoxOTo1OS45NzkzMTczNzYgKzAyMDAKIEBAIC0xMTYsNyArMTE2LDYgQEAKICAj aW5jbHVkZSA8b3BlbnNzbC94NTA5Lmg+CiAgCkBAIC00NDMsMTEzICs0MzUsOSBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZWNkc2EuYy5maXBzLWVjIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvbQogIAl9CiAgI2VuZGlmCiAtI2VuZGlmCi1kaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtlZmlsZS5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL01ha2VmaWxlCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUu Zmlwcy1lYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjAwODc4MzIwMCArMDEwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlCTIwMTMtMTAtMTUgMDE6MDg6MTcuNjI3NzY3MTY4 ICswMTAwCi1AQCAtMjQsMTMgKzI0LDEzIEBAIExJQlNSQz1maXBzX2Flc19zZWxmdGVzdC5jIGZp cHNfZGVzX3NlbGYKLSAgICAgZmlwc19yc2Ffc2VsZnRlc3QuYyBmaXBzX3NoYV9zZWxmdGVzdC5j IGZpcHMuYyBmaXBzX2RzYV9zZWxmdGVzdC5jICBmaXBzX3JhbmQuYyBcCi0gICAgIGZpcHNfcnNh X3g5MzFnLmMgZmlwc19wb3N0LmMgZmlwc19kcmJnX2N0ci5jIGZpcHNfZHJiZ19oYXNoLmMgZmlw c19kcmJnX2htYWMuYyBcCi0gICAgIGZpcHNfZHJiZ19saWIuYyBmaXBzX2RyYmdfcmFuZC5jIGZp cHNfZHJiZ19zZWxmdGVzdC5jIGZpcHNfcmFuZF9saWIuYyBcCi0tICAgIGZpcHNfY21hY19zZWxm dGVzdC5jIGZpcHNfZW5jLmMgZmlwc19tZC5jCi0rICAgIGZpcHNfY21hY19zZWxmdGVzdC5jIGZp cHNfZWNkaF9zZWxmdGVzdC5jIGZpcHNfZWNkc2Ffc2VsZnRlc3QuYyBmaXBzX2VuYy5jIGZpcHNf bWQuYwotIAotIExJQk9CSj1maXBzX2Flc19zZWxmdGVzdC5vIGZpcHNfZGVzX3NlbGZ0ZXN0Lm8g Zmlwc19obWFjX3NlbGZ0ZXN0Lm8gZmlwc19yYW5kX3NlbGZ0ZXN0Lm8gXAotICAgICBmaXBzX3Jz YV9zZWxmdGVzdC5vIGZpcHNfc2hhX3NlbGZ0ZXN0Lm8gZmlwcy5vIGZpcHNfZHNhX3NlbGZ0ZXN0 Lm8gIGZpcHNfcmFuZC5vIFwKLSAgICAgZmlwc19yc2FfeDkzMWcubyBmaXBzX3Bvc3QubyBmaXBz X2RyYmdfY3RyLm8gZmlwc19kcmJnX2hhc2gubyBmaXBzX2RyYmdfaG1hYy5vIFwKLSAgICAgZmlw c19kcmJnX2xpYi5vIGZpcHNfZHJiZ19yYW5kLm8gZmlwc19kcmJnX3NlbGZ0ZXN0Lm8gZmlwc19y YW5kX2xpYi5vIFwKLS0gICAgZmlwc19jbWFjX3NlbGZ0ZXN0Lm8gZmlwc19lbmMubyBmaXBzX21k Lm8KLSsgICAgZmlwc19jbWFjX3NlbGZ0ZXN0Lm8gZmlwc19lY2RoX3NlbGZ0ZXN0Lm8gZmlwc19l Y2RzYV9zZWxmdGVzdC5vIGZpcHNfZW5jLm8gZmlwc19tZC5vCi0gCi0gTElCQ1JZUFRPPS1MLi4g LWxjcnlwdG8KLSAKLUBAIC0xMTgsNiArMTE4LDIxIEBAIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86IC4u Ly4uL2luY2x1ZGUvb3BlbnMKLSBmaXBzX2Flc19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvc2FmZXN0YWNrLmgKLSBmaXBzX2Flc19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvc3RhY2suaAotIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9zeW1oYWNrcy5oIGZpcHNfYWVzX3NlbGZ0ZXN0LmMKLStmaXBzX2NtYWNfc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmgK LStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NtYWMuaAotK2Zp cHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgKLStmaXBz X2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3MyLmggLi4vLi4vaW5j bHVkZS9vcGVuc3NsL2Vyci5oCi0rZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9ldnAuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5oCi0rZmlwc19jbWFjX3Nl bGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCi0rZmlwc19jbWFjX3NlbGZ0 ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmpfbWFjLmgKLStmaXBzX2NtYWNfc2VsZnRl c3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAotK2ZpcHNfY21hY19zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaAotK2ZpcHNfY21hY19zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAotK2ZpcHNfY21hY19zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAotK2ZpcHNfY21hY19zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKLStmaXBzX2NtYWNfc2Vs ZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKLStmaXBzX2NtYWNfc2VsZnRl c3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19jbWFjX3NlbGZ0ZXN0 LmMKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogZmlwc19sb2NsLmgKLSBmaXBzX2Rlc19zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9i aW8uaAotIGZpcHNfZGVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8u aAotIGZpcHNfZGVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaAotQEAgLTIzMSw2ICsyNDYsNDYgQEAgZmlwc19kc2Ff c2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVucwotIGZpcHNfZHNhX3NlbGZ0ZXN0Lm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCi0gZmlwc19kc2Ffc2VsZnRlc3QubzogLi4vLi4v aW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19kc2Ffc2VsZnRlc3QuYwotIGZpcHNfZHNh X3NlbGZ0ZXN0Lm86IGZpcHNfbG9jbC5oCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCi0rZmlwc19l Y2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9ibi5oIC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9jcnlwdG8uaAotK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZWMuaAotK2ZpcHNfZWNkaF9zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZWNkaC5oIC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9lcnIuaAotK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXZw LmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2ZpcHMuaAotK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAu Li8uLi9pbmNsdWRlL29wZW5zc2wvbGhhc2guaAotK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8u Li9pbmNsdWRlL29wZW5zc2wvb2JqX21hYy5oCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9vYmplY3RzLmgKLStmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4v aW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmgKLStmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4v Li4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgKLStmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4v Li4vaW5jbHVkZS9vcGVuc3NsL29zc2xfdHlwLmgKLStmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4v Li4vaW5jbHVkZS9vcGVuc3NsL3NhZmVzdGFjay5oCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNrcy5oIGZpcHNfZWNkaF9zZWxmdGVzdC5jCi0rZmlwc19l Y2RoX3NlbGZ0ZXN0Lm86IGZpcHNfbG9jbC5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8u Li9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaAotK2Zp cHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2JuLmgKLStmaXBzX2Vj ZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAotK2ZpcHNfZWNk c2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3MyLmggLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2VjLmgKLStmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9lY2RzYS5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvZXJyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2cC5oCi0rZmlwc19lY2RzYV9zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5v OiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvbGhhc2guaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL29ial9tYWMuaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmgKLStmaXBzX2VjZHNhX3NlbGZ0ZXN0 Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oCi0rZmlwc19lY2RzYV9zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAotK2ZpcHNfZWNkc2Ffc2VsZnRl c3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3NhZmVzdGFjay5oCi0rZmlwc19lY2RzYV9zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAotK2ZpcHNfZWNkc2Ffc2VsZnRl c3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19lY2RzYV9zZWxmdGVz dC5jCi0rZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNs dWRlL29wZW5zc2wvYmlvLmgKLStmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvY3J5 cHRvLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3MyLmgKLStmaXBzX2VuYy5vOiAuLi8uLi9p bmNsdWRlL29wZW5zc2wvZXJyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2cC5oCi0rZmlwc19l bmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2ZpcHMuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wv bGhhc2guaAotK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmpfbWFjLmggLi4v Li4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAotK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9vcGVuc3NsY29uZi5oCi0rZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L29wZW5zc2x2LmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29zc2xfdHlwLmgKLStmaXBzX2VuYy5v OiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmggLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L3N0YWNrLmgKLStmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBm aXBzX2VuYy5jCi0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9h c24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCi0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAotIGZpcHNfaG1hY19zZWxmdGVzdC5vOiAu Li8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJyLmgK LUBAIC0yNDUsNiArMzAwLDE1IEBAIGZpcHNfaG1hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRl L29wZW4KLSBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3NhZmVz dGFjay5oCi0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFj ay5oCi0gZmlwc19obWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNr cy5oIGZpcHNfaG1hY19zZWxmdGVzdC5jCi0rZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvYXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaAotK2ZpcHNfbWQubzogLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oCi0r Zmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJyLmggLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2V2cC5oCi0rZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5oIC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCi0rZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvb2JqX21hYy5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmplY3RzLmgKLStmaXBzX21kLm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9vcGVuc3Nsdi5oCi0rZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAu aCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKLStmaXBzX21kLm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9zdGFjay5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNrcy5oCi0r Zmlwc19tZC5vOiBmaXBzX21kLmMKLSBmaXBzX3Bvc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L2Flcy5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmgKLSBmaXBzX3Bvc3QubzogLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2Jpby5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAotIGZp cHNfcG9zdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZHNhLmggLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2Vfb3MyLmgKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19lY2RodnMuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19l Y2RodnMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RodnMu Yy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3NzgzMTQ2ICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZGh2cy5jCTIwMTMtMTAtMTUgMDE6MDg6 MDYuMDQ3NzgzMTQ2ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX2VjZGh2cy5jLmZpcHMtZWMJMjAxMy0wNS0wMyAxMjoxOTo1OS45ODAzMTczOTcgKzAyMDAK KysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZWNkaHZzLmMJMjAxMy0w NS0wMyAxMjoxOTo1OS45ODAzMTczOTcgKzAyMDAKIEBAIC0wLDAgKzEsNDk2IEBACiArLyogZmlw cy9lY2RoL2ZpcHNfZWNkaHZzLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5z b24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTEwNDgsOCArOTM2LDgg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZGh2cy5j LmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3IKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RzYXZzLmMuZmlwcy1lYyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZWNkc2F2cy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZHNhdnMuYy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6 MDYuMDQ3NzgzMTQ2ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX2VjZHNhdnMuYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0Nzc4MzE0NiArMDEwMAorLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RzYXZzLmMuZmlwcy1lYwkyMDEz LTA1LTAzIDEyOjE5OjU5Ljk4MDMxNzM5NyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2NhdnMvZmlwc19lY2RzYXZzLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45ODAzMTczOTcg KzAyMDAKIEBAIC0wLDAgKzEsNTMzIEBACiArLyogZmlwcy9lY2RzYS9maXBzX2VjZHNhdnMuYyAq LwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcp IGZvciB0aGUgT3BlblNTTApAQCAtMTU4NCwyMSArMTQ3Miw5IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RzYXZzLmMuZmlwcy1lYyBvcGVuc3NsLTEu MC4xZS9jCiArCX0KICsKICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHMuaC5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaAotLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWVjCTIwMTMtMTAtMTUgMDE6 MDg6MDYuMDM3NzgzMTYwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw cy5oCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ4NzgzMTQ1ICswMTAwCi1AQCAtOTQsNiArOTQsOCBA QCBpbnQgRklQU19zZWxmdGVzdF9yc2Eodm9pZCk7Ci0gdm9pZCBGSVBTX2NvcnJ1cHRfZHNhKHZv aWQpOwotIHZvaWQgRklQU19jb3JydXB0X2RzYV9rZXlnZW4odm9pZCk7Ci0gaW50IEZJUFNfc2Vs ZnRlc3RfZHNhKHZvaWQpOwotK2ludCBGSVBTX3NlbGZ0ZXN0X2VjZHNhKHZvaWQpOwotK2ludCBG SVBTX3NlbGZ0ZXN0X2VjZGgodm9pZCk7Ci0gdm9pZCBGSVBTX2NvcnJ1cHRfcm5nKHZvaWQpOwot IHZvaWQgRklQU19ybmdfc3RpY2sodm9pZCk7Ci0gdm9pZCBGSVBTX3g5MzFfc3RpY2soaW50IG9u b2ZmKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkaF9zZWxm dGVzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0 ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3Qu Yy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ4NzgzMTQ1ICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0ZXN0LmMJMjAxMy0xMC0xNSAwMTow ODowNi4wNDg3ODMxNDUgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2VjZGhfc2VsZnRlc3QuYy5maXBzLWVjCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTgxMzE3NDE4ICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0ZXN0LmMJ MjAxMy0wNS0wMyAxMjoxOTo1OS45ODEzMTc0MTggKzAyMDAKIEBAIC0wLDAgKzEsMjUyIEBACiAr LyogZmlwcy9lY2RoL2ZpcHNfZWNkaF9zZWxmdGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBT dGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC0x ODUzLDggKzE3MjksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2VjZGhfc2VsZnRlc3QuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlLwogKwogKyNlbmRpZgogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jLmZp cHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jLmZpcHMt ZWMJMjAxMy0xMC0xNSAwMTowODowNi4wNDg3ODMxNDUgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX2VjZHNhX3NlbGZ0ZXN0LmMJMjAxMy0xMC0xNSAwMTowODowNi4w NDg3ODMxNDUgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZHNh X3NlbGZ0ZXN0LmMuZmlwcy1lYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk4MTMxNzQxOCArMDIwMAor KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYwkyMDEz LTA1LTAzIDEyOjE5OjU5Ljk4MTMxNzQxOCArMDIwMAogQEAgLTAsMCArMSwxNjcgQEAKICsvKiBm aXBzL2VjZHNhL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3Rl cGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtMjAy Myw5ICsxODk5LDIxIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZWNkc2Ffc2VsZnRlc3QuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlCiArCX0KICsKICsjZW5kaWYK K2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLWVjIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHMuaC5maXBzLWVjCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTQyMzE2NTc4ICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oCTIwMTMtMDUtMDMgMTI6MTk6NTku OTgxMzE3NDE4ICswMjAwCitAQCAtOTMsNiArOTMsOCBAQCBpbnQgRklQU19zZWxmdGVzdF9yc2Eo dm9pZCk7Cisgdm9pZCBGSVBTX2NvcnJ1cHRfZHNhKHZvaWQpOworIHZvaWQgRklQU19jb3JydXB0 X2RzYV9rZXlnZW4odm9pZCk7CisgaW50IEZJUFNfc2VsZnRlc3RfZHNhKHZvaWQpOworK2ludCBG SVBTX3NlbGZ0ZXN0X2VjZHNhKHZvaWQpOworK2ludCBGSVBTX3NlbGZ0ZXN0X2VjZGgodm9pZCk7 Cisgdm9pZCBGSVBTX2NvcnJ1cHRfcm5nKHZvaWQpOworIHZvaWQgRklQU19ybmdfc3RpY2sodm9p ZCk7Cisgdm9pZCBGSVBTX3g5MzFfc3RpY2soaW50IG9ub2ZmKTsKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19wb3N0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X3Bvc3QuYy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDA1NzgzMjA0ICswMTAwCi0rKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMJMjAxMy0xMC0xNSAwMTowODow Ni4wNDg3ODMxNDUgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bv c3QuYy5maXBzLWVjCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTQyMzE2NTc4ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45 ODIzMTc0MzkgKzAyMDAKIEBAIC05NSw4ICs5NSwxMiBAQCBpbnQgRklQU19zZWxmdGVzdCh2b2lk KQogIAkJcnYgPSAwOwogIAlpZiAoIUZJUFNfc2VsZnRlc3RfcnNhKCkpCkBAIC0yMDM5LDEwICsx OTI3LDExNCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3Qu Yy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maQogIAlyZXR1cm4gcnY7CiAgCX0KICAK K2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlLmZpcHMtZWMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9NYWtlZmlsZS5maXBzLWVjCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTQ1MzE2NjQyICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUJMjAxMy0wNS0wMyAx MjoyMDoxMi4xNzM1Nzk4NDUgKzAyMDAKK0BAIC0yNCwxMyArMjQsMTMgQEAgTElCU1JDPWZpcHNf YWVzX3NlbGZ0ZXN0LmMgZmlwc19kZXNfc2VsZgorICAgICBmaXBzX3JzYV9zZWxmdGVzdC5jIGZp cHNfc2hhX3NlbGZ0ZXN0LmMgZmlwcy5jIGZpcHNfZHNhX3NlbGZ0ZXN0LmMgIGZpcHNfcmFuZC5j IFwKKyAgICAgZmlwc19yc2FfeDkzMWcuYyBmaXBzX3Bvc3QuYyBmaXBzX2RyYmdfY3RyLmMgZmlw c19kcmJnX2hhc2guYyBmaXBzX2RyYmdfaG1hYy5jIFwKKyAgICAgZmlwc19kcmJnX2xpYi5jIGZp cHNfZHJiZ19yYW5kLmMgZmlwc19kcmJnX3NlbGZ0ZXN0LmMgZmlwc19yYW5kX2xpYi5jIFwKKy0g ICAgZmlwc19jbWFjX3NlbGZ0ZXN0LmMgZmlwc19lbmMuYyBmaXBzX21kLmMKKysgICAgZmlwc19j bWFjX3NlbGZ0ZXN0LmMgZmlwc19lY2RoX3NlbGZ0ZXN0LmMgZmlwc19lY2RzYV9zZWxmdGVzdC5j IGZpcHNfZW5jLmMgZmlwc19tZC5jCisgCisgTElCT0JKPWZpcHNfYWVzX3NlbGZ0ZXN0Lm8gZmlw c19kZXNfc2VsZnRlc3QubyBmaXBzX2htYWNfc2VsZnRlc3QubyBmaXBzX3JhbmRfc2VsZnRlc3Qu byBcCisgICAgIGZpcHNfcnNhX3NlbGZ0ZXN0Lm8gZmlwc19zaGFfc2VsZnRlc3QubyBmaXBzLm8g Zmlwc19kc2Ffc2VsZnRlc3QubyAgZmlwc19yYW5kLm8gXAorICAgICBmaXBzX3JzYV94OTMxZy5v IGZpcHNfcG9zdC5vIGZpcHNfZHJiZ19jdHIubyBmaXBzX2RyYmdfaGFzaC5vIGZpcHNfZHJiZ19o bWFjLm8gXAorICAgICBmaXBzX2RyYmdfbGliLm8gZmlwc19kcmJnX3JhbmQubyBmaXBzX2RyYmdf c2VsZnRlc3QubyBmaXBzX3JhbmRfbGliLm8gXAorLSAgICBmaXBzX2NtYWNfc2VsZnRlc3QubyBm aXBzX2VuYy5vIGZpcHNfbWQubworKyAgICBmaXBzX2NtYWNfc2VsZnRlc3QubyBmaXBzX2VjZGhf c2VsZnRlc3QubyBmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm8gZmlwc19lbmMubyBmaXBzX21kLm8KKyAK KyBMSUJDUllQVE89LUwuLiAtbGNyeXB0bworIAorQEAgLTExOCw2ICsxMTgsMjEgQEAgZmlwc19h ZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVucworIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaAorIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCisgZmlwc19hZXNfc2VsZnRlc3QubzogLi4v Li4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19hZXNfc2VsZnRlc3QuYworK2ZpcHNf Y21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9iaW8uaAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvY21hYy5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9jcnlwdG8uaAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv ZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJyLmgKKytmaXBzX2NtYWNfc2VsZnRlc3Qu bzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2cC5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9maXBz LmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2xoYXNoLmgK KytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29ial9tYWMuaAor K2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqZWN0cy5oCisr Zmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5o CisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5o CisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vc3NsX3R5cC5o CisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2su aAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAor K2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBm aXBzX2NtYWNfc2VsZnRlc3QuYworK2ZpcHNfY21hY19zZWxmdGVzdC5vOiBmaXBzX2xvY2wuaAor IGZpcHNfZGVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2Jpby5oCisgZmlwc19kZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2NyeXB0by5oCisgZmlwc19kZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2Vfb3MyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oCitAQCAtMjMxLDYgKzI0 Niw0NiBAQCBmaXBzX2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zCisgZmlwc19k c2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKKyBmaXBzX2RzYV9z ZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBmaXBzX2RzYV9zZWxm dGVzdC5jCisgZmlwc19kc2Ffc2VsZnRlc3QubzogZmlwc19sb2NsLmgKKytmaXBzX2VjZGhfc2Vs ZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRlL29wZW5z c2wvYmlvLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Ju LmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lYy5o CisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lY2RoLmggLi4v Li4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9ldnAuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5oCisrZmlwc19l Y2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCisrZmlwc19lY2Ro X3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmpfbWFjLmgKKytmaXBzX2VjZGhf c2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAorK2ZpcHNfZWNkaF9z ZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaAorK2ZpcHNfZWNk aF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAorK2ZpcHNfZWNk aF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAorK2ZpcHNfZWNk aF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKKytmaXBzX2Vj ZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKKytmaXBzX2VjZGhf c2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19lY2RoX3Nl bGZ0ZXN0LmMKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogZmlwc19sb2NsLmgKKytmaXBzX2VjZHNh X3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2Jpby5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvYm4uaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Ny eXB0by5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9v czIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZWMuaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL2VjZHNhLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKKytm aXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9maXBzLmgKKytmaXBz X2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCisrZmlwc19l Y2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqX21hYy5oCisrZmlwc19l Y2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqZWN0cy5oCisrZmlwc19l Y2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaAorK2Zp cHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgKKytm aXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vc3NsX3R5cC5oCisr Zmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgK KytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCisr Zmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBm aXBzX2VjZHNhX3NlbGZ0ZXN0LmMKKytmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv YXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaAorK2ZpcHNfZW5jLm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9jcnlwdG8uaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaAorK2Zp cHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAuLi8uLi9pbmNsdWRlL29wZW5z c2wvZXZwLmgKKytmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5oIC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCisrZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL29ial9tYWMuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqZWN0cy5oCisrZmlwc19lbmMu bzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmgKKytmaXBzX2VuYy5vOiAuLi8u Li9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90 eXAuaAorK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaCAuLi8u Li9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAorK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9zeW1oYWNrcy5oIGZpcHNfZW5jLmMKKyBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmgKKyBmaXBz X2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCisgZmlwc19o bWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9lcnIuaAorQEAgLTI0NSw2ICszMDAsMTUgQEAgZmlwc19obWFjX3NlbGZ0ZXN0 Lm86IC4uLy4uL2luY2x1ZGUvb3BlbgorIGZpcHNfaG1hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKKyBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5j bHVkZS9vcGVuc3NsL3N0YWNrLmgKKyBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19obWFjX3NlbGZ0ZXN0LmMKKytmaXBzX21kLm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCisr Zmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmggLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2Vfb3MyLmgKKytmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAu Li8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKKytmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9maXBzLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2xoYXNoLmgKKytmaXBzX21kLm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9vYmpfbWFjLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVj dHMuaAorK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmggLi4v Li4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgKKytmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9vc3NsX3R5cC5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaAorK2Zp cHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmggLi4vLi4vaW5jbHVkZS9vcGVu c3NsL3N5bWhhY2tzLmgKKytmaXBzX21kLm86IGZpcHNfbWQuYworIGZpcHNfcG9zdC5vOiAuLi8u Li9pbmNsdWRlL29wZW5zc2wvYWVzLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaAorIGZp cHNfcG9zdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmggLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2NyeXB0by5oCisgZmlwc19wb3N0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9kc2EuaCAu Li8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvdmVy c2lvbi5tYXAuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS92ZXJzaW9uLm1hcAotLS0tIG9wZW5zc2wt MS4wLjFlL3ZlcnNpb24ubWFwLmZpcHMtZWMJMjAxMy0xMC0xNSAwMTowODowNi4wMTY3ODMxODkg KzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS92ZXJzaW9uLm1hcAkyMDEzLTEwLTE1IDAxOjA4OjA2 LjA0ODc4MzE0NSArMDEwMAotQEAgLTYsMyArNiw3IEBAIE9QRU5TU0xfMS4wLjEgeworLS0tIG9w ZW5zc2wtMS4wLjFlL3ZlcnNpb24ubWFwLmZpcHMtZWMJMjAxMy0wNS0wMyAxMjoxOTo1OS4wMDAw MDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS92ZXJzaW9uLm1hcAkyMDEzLTA1LTA5IDEx OjExOjA4LjAyMjMwMDYwOCArMDIwMAorQEAgLTUsMyArNSw3IEBAIE9QRU5TU0xfMS4wLjEgewog IAkgICAgX29yaWdpbmFsKjsKICAJICAgIF9jdXJyZW50KjsKICB9OwoKZGlmZiAtLWdpdCBhL29w ZW5zc2wtMS4wLjFlLWZpcHMucGF0Y2ggYi9vcGVuc3NsLTEuMC4xZS1maXBzLnBhdGNoCmluZGV4 IGMyZjc4NDguLmU2OTQyYjEgMTAwNjQ0Ci0tLSBhL29wZW5zc2wtMS4wLjFlLWZpcHMucGF0Y2gK KysrIGIvb3BlbnNzbC0xLjAuMWUtZmlwcy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2FwcHMvcGtjczEyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9hcHBzL3Br Y3MxMi5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvYXBwcy9wa2NzMTIuYy5maXBzCTIwMTMtMDItMTEg MTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvYXBwcy9wa2NzMTIu YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNDY2NDcyOCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2FwcHMvcGtjczEyLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzI2OTM5NTUgKzAyMDAKIEBAIC02 Nyw2ICs2Nyw5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CiAgI2luY2x1ZGUgPG9wZW5z c2wvcGVtLmg+CkBAIC0yNSw3ICsyNSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMv cGtjczEyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9hcHBzL3BrY3MxMi5jCiAgCiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVk LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYwkyMDEz LTA5LTI3IDE0OjQ4OjU1LjI0NzcyMjczNyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMv c3BlZWQuYwkyMDEzLTEwLTA0IDExOjQ5OjU2LjM4NDIyNzg1OSArMDIwMAogQEAgLTE5NSw3ICsx OTUsNiBAQAogICNpZmRlZiBPUEVOU1NMX0RPSU5HX01BS0VERVBFTkQKICAjdW5kZWYgQUVTX3Nl dF9lbmNyeXB0X2tleQpAQCAtNjgsMTMgKzY4LDE2IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2FwcHMvc3BlZWQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYwogIAkJCWRzYV9k b2l0W1JfRFNBXzEwMjRdPTE7CiAgCQkJZHNhX2RvaXRbUl9EU0FfMjA0OF09MTsKICAJCQl9Ci1A QCAtMTE2MiwxMiArMTE3MCwxNSBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitA QCAtMTE2MiwxMiArMTE3MCwxOCBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAg CQl7CiAgCQlmb3IgKGk9MDsgaTxBTEdPUl9OVU07IGkrKykKICAJCQl7CiAtCQkJaWYgKGkgIT0g RF9FVlApCiArCQkJaWYgKGkgIT0gRF9FVlAgJiYKLSsJCQkgICAgKCFGSVBTX21vZGUoKSB8fCBp ICE9IERfV0hJUkxQT09MKSkKKysJCQkgICAgKCFGSVBTX21vZGUoKSB8fCAoaSAhPSBEX1dISVJM UE9PTCAmJgorKwkJCQlpICE9IERfTUQyICYmIGkgIT0gRF9NRDQgJiYKKysJCQkJaSAhPSBEX01E NSAmJiBpICE9IERfTURDMiAmJgorKwkJCQlpICE9IERfUk1EMTYwKSkpCiAgCQkJCWRvaXRbaV09 MTsKICAJCQl9CiAgCQlmb3IgKGk9MDsgaTxSU0FfTlVNOyBpKyspCkBAIC04NSw3ICs4OCw3IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYy5maXBzIG9wZW5zc2wtMS4wLjFl L2FwcHMvc3BlZWQuYwogIAkJCWRzYV9kb2l0W2ldPTE7CiAgI2lmbmRlZiBPUEVOU1NMX05PX0VD RFNBCiAgCQlmb3IgKGk9MDsgaTxFQ19OVU07IGkrKykKLUBAIC0xMjI2LDMwICsxMjM3LDU0IEBA IGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC0xMjI2LDMwICsxMjQwLDU0IEBA IGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJQUVTX3NldF9lbmNyeXB0X2tleShr ZXkzMiwyNTYsJmFlc19rczMpOwogICNlbmRpZgogICNpZm5kZWYgT1BFTlNTTF9OT19DQU1FTExJ QQpAQCAtMTQwLDcgKzE0Myw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYwogICNlbmRpZgogICNpZm5kZWYgT1BF TlNTTF9OT19SU0EKICAJbWVtc2V0KHJzYV9jLDAsc2l6ZW9mKHJzYV9jKSk7Ci1AQCAtMTU2NCw2 ICsxNTU5LDcgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTE1NjQsNiAr MTYwMiw3IEBAIGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCUhNQUNfQ1RYIGhj dHg7CiAgCiAgCQlITUFDX0NUWF9pbml0KCZoY3R4KTsKQEAgLTE0OSw4ICsxNTIsOCBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9hcHBz L3NwZWVkLmMKICAJCQkxNixFVlBfbWQ1KCksIE5VTEwpOwogIAogZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvQ29uZmlndXJlLmZpcHMgb3BlbnNzbC0xLjAuMWUvQ29uZmlndXJlCi0tLS0gb3BlbnNz bC0xLjAuMWUvQ29uZmlndXJlLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4wNzc2NTkxNjcgKzAy MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9Db25maWd1cmUJMjAxMy0wOS0yNyAxNDozMjozNS4zMjQ2 NjQ3MjggKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9Db25maWd1cmUuZmlwcwkyMDEzLTEwLTA0 IDExOjQ4OjA0LjE1MzY5MzUyNiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL0NvbmZpZ3VyZQky MDEzLTEwLTA0IDExOjQ4OjA0LjE3MzY5Mzk3OCArMDIwMAogQEAgLTk5NSwxMSArOTk1LDYgQEAg aWYgKGRlZmluZWQoJGRpc2FibGVkeyJtZDUifSkgfHwgZGVmaW5lZAogIAkkZGlzYWJsZWR7InNz bDIifSA9ICJmb3JjZWQiOwogIAl9CkBAIC0xODcsNyArMTkwLDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvQ29uZmlndXJlLmZpcHMgb3BlbnNzbC0xLjAuMWUvQ29uZmlndXJlCiAgCXMvXlNI QVJFRF9MSUJTPS4qL1NIQVJFRF9MSUJTPVwkKFNIQVJFRF9DUllQVE8pIFwkKFNIQVJFRF9TU0wp LyBpZiAoISRub19zaGFyZWQpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Flcy9h ZXNfbWlzYy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Flcy9hZXNfbWlzYy5jCiAtLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Flcy9hZXNfbWlzYy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoy NjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vYWVzL2Flc19t aXNjLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMjU2NjQ3NTEgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vYWVzL2Flc19taXNjLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzM2OTM5Nzgg KzAyMDAKIEBAIC02OSwxNyArNjksMTEgQEAgY29uc3QgY2hhciAqQUVTX29wdGlvbnModm9pZCkg ewogIGludCBBRVNfc2V0X2VuY3J5cHRfa2V5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVzZXJLZXks IGNvbnN0IGludCBiaXRzLAogIAkJCUFFU19LRVkgKmtleSkKQEAgLTIwOCw3ICsyMTEsNyBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vYWVzL2Flc19taXNjLmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vYWVzL2FlcwogIAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vY21hYy9jbWFjLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY21hYy9jbWFjLmMKIC0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY21hYy9jbWFjLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9jbWFjL2NtYWMu YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNTY2NDc1MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9jbWFjL2NtYWMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3MzY5Mzk3OCArMDIwMAog QEAgLTEwNywxMyArMTA3LDYgQEAgQ01BQ19DVFggKkNNQUNfQ1RYX25ldyh2b2lkKQogIAogIHZv aWQgQ01BQ19DVFhfY2xlYW51cChDTUFDX0NUWCAqY3R4KQpAQCAtMjU4LDggKzI2MSw4IEBAIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9jbWFjL2NtYWMuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9jbWFjL2NtYWMuCiAgCQlyZXR1cm4gMDsKICAJYmwgPSBFVlBfQ0lQSEVSX0NU WF9ibG9ja19zaXplKCZjdHgtPmNjdHgpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2NyeXB0by5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NyeXB0by5oCi0tLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2NyeXB0by5oLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNC45NzI2NTY4 MDQgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY3J5cHRvLmgJMjAxMy0wOS0yNyAx NDozMjozNS4zMjU2NjQ3NTEgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY3J5cHRv LmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjA1ODY5MTM4MSArMDIwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9jcnlwdG8uaAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3MzY5Mzk3OCArMDIw MAogQEAgLTU1MywyNCArNTUzLDI5IEBAIGludCBGSVBTX21vZGVfc2V0KGludCByKTsKICB2b2lk IE9QRU5TU0xfaW5pdCh2b2lkKTsKICAKQEAgLTMwNiw4ICszMDksOCBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vY3J5cHRvLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY3J5 cHRvLmgKICAKICAvKiBGdW5jdGlvbiBjb2Rlcy4gKi8KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kZXMvZGVzLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL2Rlcy5oCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9kZXMuaC5maXBzCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMDA0NjU3NTI1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9kZXMuaAky MDEzLTA5LTI3IDE0OjMyOjM1LjMyNTY2NDc1MSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9kZXMvZGVzLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjA4ODY5MjA1OCArMDIwMAor KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvZGVzLmgJMjAxMy0xMC0wNCAxMTo0ODowNC4x NzM2OTM5NzggKzAyMDAKIEBAIC0yMjQsOSArMjI0LDYgQEAgaW50IERFU19zZXRfa2V5KGNvbnN0 X0RFU19jYmxvY2sgKmtleSxERQogIGludCBERVNfa2V5X3NjaGVkKGNvbnN0X0RFU19jYmxvY2sg KmtleSxERVNfa2V5X3NjaGVkdWxlICpzY2hlZHVsZSk7CiAgaW50IERFU19zZXRfa2V5X2NoZWNr ZWQoY29uc3RfREVTX2NibG9jayAqa2V5LERFU19rZXlfc2NoZWR1bGUgKnNjaGVkdWxlKTsKQEAg LTMyMCw3ICszMjMsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL2Rlcy5o LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9kZXMuaAogIHZvaWQgREVTX2NmYjY0X2Vu Y3J5cHQoY29uc3QgdW5zaWduZWQgY2hhciAqaW4sdW5zaWduZWQgY2hhciAqb3V0LGxvbmcgbGVu Z3RoLAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9zZXRfa2V5LmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL3NldF9rZXkuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9kZXMvc2V0X2tleS5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL3NldF9rZXkuYwkyMDEzLTA5LTI3IDE0 OjMyOjM1LjMyNTY2NDc1MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvc2V0 X2tleS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc0Njk0MDAxICswMjAwCiBAQCAtMzM2LDEzICsz MzYsNiBAQCBpbnQgREVTX3NldF9rZXlfY2hlY2tlZChjb25zdF9ERVNfY2Jsb2NrCiAgCX0KICAK QEAgLTMzNyw3ICszNDAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL3Nl dF9rZXkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvc2V0XwogIAlyZWdpc3RlciBE RVNfTE9ORyBjLGQsdCxzLHQyOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2Ro X2dlbi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2dlbi5jCiAtLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2RoL2RoX2dlbi5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAw MDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfZ2VuLmMJMjAxMy0w OS0yNyAxNDozMjozNS4zMjU2NjQ3NTEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZGgvZGhfZ2VuLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzQ2OTQwMDEgKzAyMDAKIEBAIC04NCwx MSArODQsNiBAQCBpbnQgREhfZ2VuZXJhdGVfcGFyYW1ldGVyc19leChESCAqcmV0LCBpCiAgI2Vu ZGlmCiAgCWlmKHJldC0+bWV0aC0+Z2VuZXJhdGVfcGFyYW1zKQpAQCAtMzcyLDggKzM3NSw4IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9nZW4uYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9kaC9kaF9nZW4uCiAgCWlmIChjdHggPT0gTlVMTCkgZ290byBlcnI7CiAg CUJOX0NUWF9zdGFydChjdHgpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2Ro LmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGguaAotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kaC9kaC5oLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNC45NDM2NTYxNTEgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGguaAkyMDEzLTA5LTI3IDE0OjMyOjM1LjMy NjY2NDc3MyArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaC5oLmZpcHMJMjAx My0xMC0wNCAxMTo0ODowNC4wMzI2OTA3OTQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZGgvZGguaAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NDY5NDAwMSArMDIwMAogQEAgLTc3LDYg Kzc3LDggQEAKICAjIGRlZmluZSBPUEVOU1NMX0RIX01BWF9NT0RVTFVTX0JJVFMJMTAwMDAKICAj ZW5kaWYKQEAgLTM4NSw3ICszODgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZGgvZGguaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaC5oCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBpbXBsZW1lbnRhdGlvbiBub3cgdXNlcyBjb25z dGFudCB0aW1lCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfa2V5LmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfa2V5LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZGgvZGhfa2V5LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9rZXkuYwkyMDEzLTA5LTI3IDE0OjMy OjM1LjMyNjY2NDc3MyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9rZXku YwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NDY5NDAwMSArMDIwMAogQEAgLTYxLDYgKzYxLDkgQEAK ICAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgogICNpbmNsdWRlIDxvcGVuc3NsL3JhbmQuaD4KQEAg LTQ0Niw3ICs0NDksNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfa2V5 LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfa2V5LgogIAl9CiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfbGliLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZGgvZGhfbGliLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfbGliLmMuZmlw cwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kaC9kaF9saWIuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNjY2NDc3MyArMDIwMAor KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9saWIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0 LjE3NDY5NDAwMSArMDIwMAogQEAgLTgxLDE0ICs4MSw3IEBAIGNvbnN0IERIX01FVEhPRCAqREhf Z2V0X2RlZmF1bHRfbWV0aG9kKHYKICAJewogIAlpZighZGVmYXVsdF9ESF9tZXRob2QpCkBAIC00 NjQsNyArNDY3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2xpYi5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2xpYi4KICAJfQogZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZHNhL2RzYV9lcnIuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2Vyci5j LmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZHNhL2RzYV9lcnIuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNjY2NDc3MyAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2Vyci5jCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTc0Njk0MDAxICswMjAwCiBAQCAtNzQsNiArNzQsOCBAQCBzdGF0aWMgRVJSX1NU UklOR19EQVRBIERTQV9zdHJfZnVuY3RzW109CiAge0VSUl9GVU5DKERTQV9GX0RPX0RTQV9QUklO VCksCSJET19EU0FfUFJJTlQifSwKICB7RVJSX0ZVTkMoRFNBX0ZfRFNBUEFSQU1TX1BSSU5UKSwJ IkRTQXBhcmFtc19wcmludCJ9LApAQCAtNDg1LDcgKzQ4OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9kc2EvZHNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rz YS9kc2FfCiAge0VSUl9SRUFTT04oRFNBX1JfTkVFRF9ORVdfU0VUVVBfVkFMVUVTKSAsIm5lZWQg bmV3IHNldHVwIHZhbHVlcyJ9LAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9k c2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9nZW4uYwogLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2dlbi5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjow NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9nZW4u YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNjY2NDc3MyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kc2EvZHNhX2dlbi5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc1Njk0MDIzICswMjAw CiBAQCAtODUsNiArODUsMTQgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+CiAgI2VuZGlm CkBAIC04OTMsOCArODk2LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9k c2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV8KICAJaWYgKG1vbnQg IT0gTlVMTCkgQk5fTU9OVF9DVFhfZnJlZShtb250KTsKICAJcmV0dXJuIG9rOwogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kc2EvZHNhLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYS5oLmZpcHMJMjAx My0wOS0yNyAxNDozMjozNC44NjA2NTQyODMgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZHNhL2RzYS5oCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI2NjY0NzczICswMjAwCistLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDMuOTU2 Njg5MDc4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EuaAkyMDEzLTEw LTA0IDExOjQ4OjA0LjE3NTY5NDAyMyArMDIwMAogQEAgLTg4LDYgKzg4LDggQEAKICAjIGRlZmlu ZSBPUEVOU1NMX0RTQV9NQVhfTU9EVUxVU19CSVRTCTEwMDAwCiAgI2VuZGlmCkBAIC05NTcsNyAr OTYwLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EuaC5maXBzIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhLmgKICAjaWZkZWYgIF9fY3BsdXNwbHVzCiBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9kc2EvZHNhX2tleS5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9k c2Ffa2V5LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2tleS5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI3 NjY0Nzk1ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffa2V5LmMJMjAx My0xMC0wNCAxMTo0ODowNC4xNzU2OTQwMjMgKzAyMDAKIEBAIC02Niw2ICs2NiwzNSBAQAogIAog ICNpZmRlZiBPUEVOU1NMX0ZJUFMKQEAgLTEwMzgsNyArMTA0MSw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2RzYS9kc2FfCiAgZXJyOgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ff bGliLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9saWIuYwogLS0tIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2xpYi5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9saWIuYwky MDEzLTA5LTI3IDE0OjMyOjM1LjMyNzY2NDc5NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9kc2EvZHNhX2xpYi5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc1Njk0MDIzICswMjAwCiBA QCAtODcsMTQgKzg3LDcgQEAgY29uc3QgRFNBX01FVEhPRCAqRFNBX2dldF9kZWZhdWx0X21ldGhv ZAogIAl7CiAgCWlmKCFkZWZhdWx0X0RTQV9tZXRob2QpCkBAIC0xMDU1LDggKzEwNTgsOCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9saWIuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9kc2EvZHNhXwogIAlyZXR1cm4gZGVmYXVsdF9EU0FfbWV0aG9kOwogIAl9 CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9sb2NsLmguZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9sb2NsLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZHNhL2RzYV9sb2NsLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0Ljg2MjY1NDMyOCArMDIw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2xvY2wuaAkyMDEzLTA5LTI3IDE0 OjMyOjM1LjMyNzY2NDc5NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNh X2xvY2wuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDMuOTU4Njg5MTIzICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbG9jbC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc1 Njk0MDIzICswMjAwCiBAQCAtNTYsNSArNTYsNCBAQAogIAogIGludCBkc2FfYnVpbHRpbl9wYXJh bWdlbihEU0EgKnJldCwgc2l6ZV90IGJpdHMsIHNpemVfdCBxYml0cywKQEAgLTEwNjUsNyArMTA2 OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2xvY2wuaC5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhCiAgCWludCAqY291bnRlcl9yZXQsIHVuc2ln bmVkIGxvbmcgKmhfcmV0LCBCTl9HRU5DQiAqY2IpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2RzYS9kc2Ffb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ff b3NzbC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jLmZpcHMJMjAx My0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZHNhL2RzYV9vc3NsLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMjc2NjQ3OTUgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9vc3NsLmMJMjAxMy0xMC0wNCAxMTo0ODow NC4xNzU2OTQwMjMgKzAyMDAKIEBAIC02NSw2ICs2NSw5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wv ZHNhLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wvcmFuZC5oPgpAQCAtMTE0MSw3ICsxMTQ0LDcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jLmZpcHMgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EKICB9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZHNhL2RzYV9wbWV0aC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfcG1l dGguYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX3BtZXRoLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kc2EvZHNhX3BtZXRoLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMjc2NjQ3OTUgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTc1Njk0MDIzICswMjAwCiBAQCAtMjU1LDcgKzI1NSw3IEBAIHN0YXRpYyBpbnQgcGtleV9k c2FfcGFyYW1nZW4oRVZQX1BLRVlfQ1QKICAJaWYgKCFkc2EpCiAgCQlyZXR1cm4gMDsKQEAgLTEx NTMsNyArMTE1Niw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX3Bt ZXRoLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzCiAgCWVsc2UKIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2RzYS9kc2F0ZXN0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYXRl c3QuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2RzYS9kc2F0ZXN0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMjc2NjQ3 OTUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYXRlc3QuYwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE3NjY5NDA0NSArMDIwMAogQEAgLTk2LDM2ICs5Niw0MSBAQCBzdGF0aWMg aW50IE1TX0NBTExCQUNLIGRzYV9jYihpbnQgcCwgaW50CiAgLyogc2VlZCwgb3V0X3AsIG91dF9x LCBvdXRfZyBhcmUgdGFrZW4gZnJvbSB0aGUgdXBkYXRlZCBBcHBlbmRpeCA1IHRvCiAgICogRklQ UyBQVUIgMTg2IGFuZCBhbHNvIGFwcGVhciBpbiBBcHBlbmRpeCA1IHRvIEZJUFMgUElCIDE4Ni0x ICovCkBAIC0xMjQwLDcgKzEyNDMsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZHNhL2RzYXRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhdAogIAlpZiAo aCAhPSAyKQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VuZ2luZS9lbmdfYWxsLmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZW5naW5lL2VuZ19hbGwuYwogLS0tIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9lbmdpbmUvZW5nX2FsbC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZW5naW5lL2VuZ19hbGwu YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyODY2NDgxNyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lbmdpbmUvZW5nX2FsbC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc2Njk0MDQ1ICsw MjAwCiBAQCAtNTgsMTEgKzU4LDI1IEBACiAgCiAgI2luY2x1ZGUgImNyeXB0bGliLmgiCkBAIC0x MjY5LDcgKzEyNzIsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZW5naW5lL2Vu Z19hbGwuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lbmdpbgogIAkgKiBpdCBpcyB0aGUg Km9ubHkqIHdheSBmb3Igc3RhbmRhcmQgYnVpbHRpbiBpbXBsZW1lbnRhdGlvbnMgdG8gYmUgYmUK IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxjLmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsYy5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2 cC9jX2FsbGMuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9jX2FsbGMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMy ODY2NDgxNyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxjLmMJMjAx My0xMC0wNCAxMTo0ODowNC4xNzY2OTQwNDUgKzAyMDAKIEBAIC02NSw2ICs2NSwxMSBAQAogIHZv aWQgT3BlblNTTF9hZGRfYWxsX2NpcGhlcnModm9pZCkKICAJewpAQCAtMTM0NSw3ICsxMzQ4LDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9jX2FsbGMuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGwKICAJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9jX2FsbGQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxk LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsZC5jLmZpcHMJMjAxMy0wMi0x MSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L2NfYWxsZC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI4NjY0ODE3ICswMjAwCisrKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9jX2FsbGQuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NjY5NDA0 NSArMDIwMAogQEAgLTY0LDYgKzY0LDExIEBACiAgCiAgdm9pZCBPcGVuU1NMX2FkZF9hbGxfZGln ZXN0cyh2b2lkKQpAQCAtMTM5Myw3ICsxMzk2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9jX2FsbGQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGwK ICAJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9kaWdlc3QuYy5maXBzIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZGlnZXN0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZXZwL2RpZ2VzdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2RpZ2VzdC5jCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzI4NjY0ODE3ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9kaWdlc3Qu YwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NjY5NDA0NSArMDIwMAogQEAgLTE0Miw5ICsxNDIsNTAg QEAgaW50IEVWUF9EaWdlc3RJbml0KEVWUF9NRF9DVFggKmN0eCwgY29ucwogIAlyZXR1cm4gRVZQ X0RpZ2VzdEluaXRfZXgoY3R4LCB0eXBlLCBOVUxMKTsKICAJfQpAQCAtMTU0NCw3ICsxNTQ3LDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9kaWdlc3QuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvZGlnZXMKICAJcmV0dXJuIDE7CiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L2VfYWVzLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvZV9hZXMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyODY2NDgxNyArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9hZXMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NzY5 NDA2OCArMDIwMAogQEAgLTU2LDcgKzU2LDYgQEAKICAjaW5jbHVkZSA8YXNzZXJ0Lmg+CiAgI2lu Y2x1ZGUgPG9wZW5zc2wvYWVzLmg+CkBAIC0xNTc4LDcgKzE1ODEsNyBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL2VfYWVzLgogLSNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9l X2RlczMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9kZXMzLmMKIC0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfZGVzMy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfZGVzMy5jCTIw MTMtMDktMjcgMTQ6MzI6MzUuMzI4NjY0ODE3ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9lX2RlczMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NzY5NDA2OCArMDIwMAogQEAg LTY1LDggKzY1LDYgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9kZXMuaD4KICAjaW5jbHVkZSA8b3Bl bnNzbC9yYW5kLmg+CkBAIC0xNjM5LDcgKzE2NDIsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL2VfZGVzMy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2Rl cwogLSNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX251bGwuYy5m aXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9udWxsLmMKIC0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL2VfbnVsbC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAg KzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfbnVsbC5jCTIwMTMtMDktMjcg MTQ6MzI6MzUuMzI5NjY0ODQwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9l X251bGwuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NzY5NDA2OCArMDIwMAogQEAgLTYxLDggKzYx LDYgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9vYmpl Y3RzLmg+CkBAIC0xNjY1LDcgKzE2NjgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZXZwL2VfbnVsbC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX251bAogLSNl bmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfZW5jLmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9lbmMuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvZXZwX2VuYy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9lbmMuYwkyMDEzLTA5LTI3IDE0 OjMyOjM1LjMyOTY2NDg0MCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZw X2VuYy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc3Njk0MDY4ICswMjAwCiBAQCAtNjksMTcgKzY5 LDU4IEBACiAgI2VuZGlmCiAgI2luY2x1ZGUgImV2cF9sb2NsLmgiCkBAIC0xODE1LDggKzE4MTgs OCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9lbmMuYy5maXBzIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwXwogIAlyZXR1cm4gMTsKICAJfQogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvZXZwLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oLmZpcHMJMjAx My0wOS0yNyAxNDozMjozNC45ODY2NTcxMTkgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZXZwL2V2cC5oCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI5NjY0ODQwICswMjAwCistLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMDcx NjkxNjc1ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaAkyMDEzLTEw LTA0IDExOjQ4OjA0LjE3NzY5NDA2OCArMDIwMAogQEAgLTc1LDYgKzc1LDEwIEBACiAgI2luY2x1 ZGUgPG9wZW5zc2wvYmlvLmg+CiAgI2VuZGlmCkBAIC0xODI4LDcgKzE4MzEsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9ldnAuaAogIC8qCiAgI2RlZmluZSBFVlBfUkMyX0tFWV9TSVpFCQkxNgogICNkZWZp bmUgRVZQX1JDNF9LRVlfU0laRQkJMTYKLUBAIC0yNzIsMTAgKzI3Niw2IEBAIHN0cnVjdCBlbnZf bWRfY3R4X3N0CitAQCAtMjgyLDEwICsyODYsNiBAQCBzdHJ1Y3QgZW52X21kX2N0eF9zdAogIAkJ CQkJCSogY2xlYW5lZCAqLwogICNkZWZpbmUgRVZQX01EX0NUWF9GTEFHX1JFVVNFCQkweDAwMDQg LyogRG9uJ3QgZnJlZSB1cCBjdHgtPm1kX2RhdGEKICAJCQkJCQkqIGluIEVWUF9NRF9DVFhfY2xl YW51cCAqLwpAQCAtMTgzOSw3ICsxODQyLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9ldnAuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmgKICAjZGVm aW5lIEVWUF9NRF9DVFhfRkxBR19OT05fRklQU19BTExPVwkweDAwMDgJLyogQWxsb3cgdXNlIG9m IG5vbiBGSVBTIGRpZ2VzdAogIAkJCQkJCSAqIGluIEZJUFMgbW9kZSAqLwogIAotQEAgLTI4Nyw2 ICsyODcsMTAgQEAgc3RydWN0IGVudl9tZF9jdHhfc3QKK0BAIC0yOTcsNiArMjk3LDEwIEBAIHN0 cnVjdCBlbnZfbWRfY3R4X3N0CiAgI2RlZmluZSBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BLQ1MxCTB4 MDAJLyogUEtDUyMxIHYxLjUgbW9kZSAqLwogICNkZWZpbmUgRVZQX01EX0NUWF9GTEFHX1BBRF9Y OTMxCTB4MTAJLyogWDkuMzEgbW9kZSAqLwogICNkZWZpbmUgRVZQX01EX0NUWF9GTEFHX1BBRF9Q U1MJCTB4MjAJLyogUFNTIG1vZGUgKi8KQEAgLTE4NTAsNyArMTg1Myw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL2V2cC5oCiAgCiAgI2RlZmluZSBFVlBfTURfQ1RYX0ZMQUdfTk9fSU5JVAkJMHgwMTAwIC8q IERvbid0IGluaXRpYWxpemUgbWRfZGF0YSAqLwogIAotQEAgLTMzOCwxNSArMzQyLDE1IEBAIHN0 cnVjdCBldnBfY2lwaGVyX3N0CitAQCAtMzQ4LDE1ICszNTIsMTUgQEAgc3RydWN0IGV2cF9jaXBo ZXJfc3QKICAvKiBjaXBoZXIgaGFuZGxlcyByYW5kb20ga2V5IGdlbmVyYXRpb24gKi8KICAjZGVm aW5lIAlFVlBfQ0lQSF9SQU5EX0tFWQkJMHgyMDAKICAvKiBjaXBoZXIgaGFzIGl0cyBvd24gYWRk aXRpb25hbCBjb3B5aW5nIGxvZ2ljICovCkBAIC0xODcxLDcgKzE4NzQsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2V2cC9ldnAuaAogICAqLwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBf bGliLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9saWIuYwogLS0tIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwX2xpYi5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9saWIuYwky MDEzLTA5LTI3IDE0OjMyOjM1LjMyOTY2NDg0MCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvZXZwX2xpYi5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc3Njk0MDY4ICswMjAwCiBA QCAtMTkwLDYgKzE5MCw5IEBAIGludCBFVlBfQ0lQSEVSX0NUWF9ibG9ja19zaXplKGNvbnN0IEVW UF8KICAKICBpbnQgRVZQX0NpcGhlcihFVlBfQ0lQSEVSX0NUWCAqY3R4LCB1bnNpZ25lZCBjaGFy ICpvdXQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCB1bnNpZ25lZCBpbnQgaW5sKQpAQCAtMTg4 Myw4ICsxODg2LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbGli LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF8KICAJfQogIAogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9ldnBfbG9jbC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBf bG9jbC5oLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNC45ODE2NTcwMDYgKzAyMDAKLSsrKyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9sb2NsLmgJMjAxMy0wOS0yNyAxNDozMjozNS4zMjk2 NjQ4NDAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9sb2NsLmguZmlw cwkyMDEzLTEwLTA0IDExOjQ4OjA0LjA2NzY5MTU4NCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9ldnAvZXZwX2xvY2wuaAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3ODY5NDA5MSArMDIw MAogQEAgLTI1OCwxMCArMjU4LDkgQEAgY29uc3QgRVZQX0NJUEhFUiAqRVZQXyMjY25hbWUjI19l Y2Iodm9pZAogIAlCTE9DS19DSVBIRVJfZnVuY19jZmIoY2lwaGVyIyNfIyNrZXlzaXplLGNwcmVm aXgsY2JpdHMsa3N0cnVjdCxrc2NoZWQpIFwKICAJQkxPQ0tfQ0lQSEVSX2RlZl9jZmIoY2lwaGVy IyNfIyNrZXlzaXplLGtzdHJ1Y3QsIFwKQEAgLTE5MjEsNyArMTkyNCw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwX2xvY2wuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvZXZwCiAgI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L01ha2VmaWxlLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9NYWtlZmlsZQogLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvTWFrZWZpbGUuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0 LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvTWFrZWZpbGUJ MjAxMy0wOS0yNyAxNDozMjozNS4zMzA2NjQ4NjMgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZXZwL01ha2VmaWxlCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc4Njk0MDkxICswMjAwCiBA QCAtMjgsNyArMjgsNyBAQCBMSUJTUkM9IGVuY29kZS5jIGRpZ2VzdC5jIGV2cF9lbmMuYyBldnBf CiAgCWJpb19tZC5jIGJpb19iNjQuYyBiaW9fZW5jLmMgZXZwX2Vyci5jIGVfbnVsbC5jIFwKICAJ Y19hbGwuYyBjX2FsbGMuYyBjX2FsbGQuYyBldnBfbGliLmMgYmlvX29rLmMgXApAQCAtMTk0Miw3 ICsxOTQ1LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9NYWtlZmlsZS5m aXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvTWFrZWYKICBTUkM9ICQoTElCU1JDKQogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2Rzcy5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9tX2Rzcy5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2Rz cy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzA2NjQ4NjMg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzLmMJMjAxMy0xMC0wNCAx MTo0ODowNC4xNzg2OTQwOTEgKzAyMDAKIEBAIC02Niw3ICs2Niw2IEBACiAgI2VuZGlmCiAgCkBA IC0xOTY3LDcgKzE5NzAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21f ZHNzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzLgogLSNlbmRpZgogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2RzczEuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvbV9kc3MxLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21f ZHNzMS5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzMS5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMwNjY0 ODYzICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2RzczEuYwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE3ODY5NDA5MSArMDIwMAogQEAgLTY4LDggKzY4LDYgQEAKICAjaW5jbHVk ZSA8b3BlbnNzbC9kc2EuaD4KICAjZW5kaWYKQEAgLTE5OTMsNyArMTk5Niw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9kc3MxLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZXZwL21fZHNzCiAtI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL21fbWQyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fbWQyLmMKIC0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fbWQyLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0 LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9tZDIuYwky MDEzLTA5LTI3IDE0OjMyOjM1LjMzMDY2NDg2MyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvbV9tZDIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3ODY5NDA5MSArMDIwMAogQEAg LTY4LDYgKzY4LDcgQEAKICAjaWZuZGVmIE9QRU5TU0xfTk9fUlNBCiAgI2luY2x1ZGUgPG9wZW5z c2wvcnNhLmg+CkBAIC0yMDA0LDcgKzIwMDcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZXZwL21fbWQyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fbWQyLgog IAl7IHJldHVybiBNRDJfSW5pdChjdHgtPm1kX2RhdGEpOyB9CiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9t X3NoYTEuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9zaGExLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvbV9zaGExLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzA2NjQ4NjMgKzAyMDAKKysrKyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fc2hhMS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc4 Njk0MDkxICswMjAwCiBAQCAtNTksOCArNTksNiBAQAogICNpbmNsdWRlIDxzdGRpby5oPgogICNp bmNsdWRlICJjcnlwdGxpYi5oIgpAQCAtMjA3MSw3ICsyMDc0LDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9tX3NoYTEuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvbV9zaGEKIC0jZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF9z aWduLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL3Bfc2lnbi5jCiAtLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9wX3NpZ24uYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAw MDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3NpZ24uYwkyMDEz LTA5LTI3IDE0OjMyOjM1LjMzMDY2NDg2MyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvcF9zaWduLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzk2OTQxMTQgKzAyMDAKIEBAIC02 MSw2ICs2MSw3IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CiAgI2luY2x1ZGUgPG9wZW5z c2wvb2JqZWN0cy5oPgpAQCAtMjEwNSw3ICsyMTA4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9wX3NpZ24uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF9z aWcKICAJCSpzaWdsZW4gPSBzbHRtcDsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvcF92ZXJpZnkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF92ZXJpZnkuYwog LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF92ZXJpZnkuYy5maXBzCTIwMTMtMDItMTEg MTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9w X3ZlcmlmeS5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMwNjY0ODYzICswMjAwCisrKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9wX3ZlcmlmeS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc5Njk0 MTE0ICswMjAwCiBAQCAtNjEsNiArNjEsNyBAQAogICNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgog ICNpbmNsdWRlIDxvcGVuc3NsL29iamVjdHMuaD4KQEAgLTIxMzgsOCArMjE0MSw4IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF92ZXJpZnkuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvcF92CiAgCQllcnI6CiAgCQlFVlBfUEtFWV9DVFhfZnJlZShwa2N0eCk7 CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfYWVzYXZzLmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfYWVzYXZzLmMKLS0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfYWVzYXZzLmMuZmlwcwkyMDEzLTA5 LTI3IDE0OjMyOjM1LjMzMTY2NDg4NSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2NhdnMvZmlwc19hZXNhdnMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMTY2NDg4NSArMDIw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19hZXNhdnMuYy5maXBz CTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc5Njk0MTE0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Flc2F2cy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc5Njk0 MTE0ICswMjAwCiBAQCAtMCwwICsxLDkzOSBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJp Z2h0IChjKSAyMDA0IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpA QCAtMzA4MSw4ICszMDg0LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Y2F2cy9maXBzX2Flc2F2cy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHQKICsKICsjZW5kaWYK IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19jbWFjdGVzdC5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2NtYWN0ZXN0LmMKLS0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfY21hY3Rlc3QuYy5maXBzCTIw MTMtMDktMjcgMTQ6MzI6MzUuMzMxNjY0ODg1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvY2F2cy9maXBzX2NtYWN0ZXN0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzE2NjQ4 ODUgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfY21hY3Rl c3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc5Njk0MTE0ICswMjAwCisrKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2NtYWN0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0 ODowNC4xNzk2OTQxMTQgKzAyMDAKIEBAIC0wLDAgKzEsNTE3IEBACiArLyogZmlwc19jbWFjdGVz dC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3Ns Lm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC0zNjAyLDggKzM2MDUsOCBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfY21hY3Rlc3QuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeQogKwogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX2Rlc21vdnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Nh dnMvZmlwc19kZXNtb3ZzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfZGVzbW92cy5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzE2NjQ4ODUgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGVzbW92cy5jCTIwMTMtMDkt MjcgMTQ6MzI6MzUuMzMxNjY0ODg1ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX2Rlc21vdnMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgwNjk0MTM2 ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rlc21vdnMu YwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MDY5NDEzNiArMDIwMAogQEAgLTAsMCArMSw3MDIgQEAK ICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNCBUaGUgT3BlblNTTCBQcm9q ZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTQzMDgsOCArNDMxMSw4IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kZXNtb3ZzLmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9jYXZzL2ZpcHNfZGh2cy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Y2F2cy9maXBzX2RodnMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19kaHZzLmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMjY2NDkwOCArMDIwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kaHZzLmMJMjAxMy0wOS0yNyAxNDoz MjozNS4zMzE2NjQ4ODUgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZz L2ZpcHNfZGh2cy5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODA2OTQxMzYgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGh2cy5jCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTgwNjk0MTM2ICswMjAwCiBAQCAtMCwwICsxLDI5MiBAQAogKy8qIGZpcHMvZGgv Zmlwc19kaHZzLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZl QG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTQ2MDQsOCArNDYwNyw4IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kaHZzLmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHJiZ3ZzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9jYXZzL2ZpcHNfZHJiZ3ZzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfZHJiZ3ZzLmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMjY2NDkwOCArMDIw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kcmJndnMuYwkyMDEz LTA5LTI3IDE0OjMyOjM1LjMzMjY2NDkwOCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2NhdnMvZmlwc19kcmJndnMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgwNjk0 MTM2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2RyYmd2 cy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgwNjk0MTM2ICswMjAwCiBAQCAtMCwwICsxLDQxNiBA QAogKy8qIGZpcHMvcmFuZC9maXBzX2RyYmd2cy5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVw aGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC01MDI0 LDggKzUwMjcsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfZHJiZ3ZzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdAogKwogKyNlbmRpZgogZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rzc3ZzLmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHNzdnMuYwotLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjoz NS4zMzI2NjQ5MDggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfZHNzdnMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMjY2NDkwOCArMDIwMAorLS0tIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5jLmZpcHMJMjAxMy0xMC0wNCAx MTo0ODowNC4xODA2OTQxMzYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfZHNzdnMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MDY5NDEzNiArMDIwMAogQEAg LTAsMCArMSw1MzcgQEAKICsjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3NsY29uZi5oPgogKwpAQCAt NTU2NSw4ICs1NTY4LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2 cy9maXBzX2Rzc3ZzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8KICsKICsjZW5kaWYKIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19nY210ZXN0LmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZ2NtdGVzdC5jCi0tLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2djbXRlc3QuYy5maXBzCTIwMTMtMDkt MjcgMTQ6MzI6MzUuMzMyNjY0OTA4ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX2djbXRlc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMjY2NDkwOCArMDIw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19nY210ZXN0LmMuZmlw cwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2NhdnMvZmlwc19nY210ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODE2 OTQxNTggKzAyMDAKIEBAIC0wLDAgKzEsNTcxIEBACiArLyogZmlwcy9hZXMvZmlwc19nY210ZXN0 LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wu b3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTYxNDAsOCArNjE0Myw4IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19nY210ZXN0LmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9jYXZzL2ZpcHNfcm5ndnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMv Zmlwc19ybmd2cy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3Ju Z3ZzLmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMjY2NDkwOCArMDIwMAotKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5jCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzMyNjY0OTA4ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX3JuZ3ZzLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAorKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5jCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTgxNjk0MTU4ICswMjAwCiBAQCAtMCwwICsxLDIzMCBAQAogKy8qCiArICogQ3J1 ZGUgdGVzdCBkcml2ZXIgZm9yIHByb2Nlc3NpbmcgdGhlIFZTVCBhbmQgTUNUIHRlc3R2ZWN0b3Ig ZmlsZXMKQEAgLTYzNzQsOCArNjM3Nyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2NhdnMvZmlwc19ybmd2cy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvCiArICAg IH0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19yc2FndGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3Jz YWd0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhZ3Rl c3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMzNjY0OTMwICswMjAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYWd0ZXN0LmMJMjAxMy0wOS0yNyAxNDoz MjozNS4zMzM2NjQ5MzAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZz L2ZpcHNfcnNhZ3Rlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgxNjk0MTU4ICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYWd0ZXN0LmMJMjAx My0xMC0wNCAxMTo0ODowNC4xODE2OTQxNTggKzAyMDAKIEBAIC0wLDAgKzEsMzkwIEBACiArLyog Zmlwc19yc2FndGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChz dGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC02NzY4LDggKzY3NzEsOCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhZ3Rlc3QuYy5m aXBzIG9wZW5zc2wtMS4wLjFlL2NyeQogKwogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXN0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhc3Rlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzM2 NjQ5MzAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNh c3Rlc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMzY2NDkzMCArMDIwMAorLS0tIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAx MTo0ODowNC4xODE2OTQxNTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfcnNhc3Rlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAog QEAgLTAsMCArMSwzNzAgQEAKICsvKiBmaXBzX3JzYXN0ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5 IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wK QEAgLTcxNDIsOCArNzE0NSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBz L2NhdnMvZmlwc19yc2FzdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5CiArCX0KICsjZW5k aWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2F2dGVz dC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXZ0ZXN0LmMK LS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhdnRlc3QuYy5maXBz CTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMzNjY0OTMwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXZ0ZXN0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzM2 NjQ5MzAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNh dnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgxNjk0MTU4ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXZ0ZXN0LmMJMjAxMy0xMC0wNCAx MTo0ODowNC4xODE2OTQxNTggKzAyMDAKIEBAIC0wLDAgKzEsMzc3IEBACiArLyogZmlwc19yc2F2 dGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVu c3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC03NTIzLDggKzc1MjYsOCBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhdnRlc3QuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeQogKwl9CiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX3NoYXRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Nh dnMvZmlwc19zaGF0ZXN0LmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMzY2NDkzMCArMDIw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19zaGF0ZXN0LmMJMjAx My0wOS0yNyAxNDozMjozNS4zMzM2NjQ5MzAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODI2 OTQxODEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hh dGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgyNjk0MTgxICswMjAwCiBAQCAtMCwwICsxLDM4 OCBAQAogKy8qIGZpcHNfc2hhdGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4g SGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC03OTE1LDggKzc5 MTgsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hh dGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cAogKwogKyNlbmRpZgogZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3V0bC5oLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3V0bC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvY2F2cy9maXBzX3V0bC5oLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzM2NjQ5MzAg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfdXRsLmgJMjAx My0wOS0yNyAxNDozMjozNS4zMzM2NjQ5MzAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9jYXZzL2ZpcHNfdXRsLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MjY5NDE4 MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc191dGwuaAky MDEzLTEwLTA0IDExOjQ4OjA0LjE4MjY5NDE4MSArMDIwMAogQEAgLTAsMCArMSwzNDMgQEAKICsv KiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNyBUaGUgT3BlblNTTCBQcm9qZWN0 LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTgyNjIsOCArODI2NSw4IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc191dGwuaC5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9mCiArICAgIH0KICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX2Flc19zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19h ZXNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM0NjY0OTUyICswMjAwCi0r Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYwkyMDEzLTA5 LTI3IDE0OjMyOjM1LjMzNDY2NDk1MiArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MjY5NDE4 MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0 LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODI2OTQxODEgKzAyMDAKIEBAIC0wLDAgKzEsMzU5IEBA CiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJv amVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC04NjI1LDggKzg2MjgsOCBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5jLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cAogKwogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwcy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMJMjAxMy0wOS0yNyAxNDoz MjozNS4zMzQ2NjQ5NTIgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzQ2NjQ5NTIgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MjY5NDE4MSAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYwkyMDEzLTEwLTA0IDEx OjQ4OjA0LjE4MjY5NDE4MSArMDIwMAogQEAgLTAsMCArMSw0ODkgQEAKICsvKiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0 cyByZXNlcnZlZC4KQEAgLTkxMTgsOCArOTEyMSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMu CiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Nt YWNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfY21hY19z ZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0 ZXN0LmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNDY2NDk1MiArMDIwMAotKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jCTIwMTMtMDktMjcgMTQ6 MzI6MzUuMzM0NjY0OTUyICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19jbWFjX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MzY5NDIwNCArMDIw MAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTgzNjk0MjA0ICswMjAwCiBAQCAtMCwwICsxLDE2MSBAQAogKy8q ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3Qu ICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtOTI4Myw4ICs5Mjg2LDggQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnkKICsJfQogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBz L2ZpcHNfZGVzX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2Rlc19zZWxmdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzQ2NjQ5NTIgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jCTIwMTMt MDktMjcgMTQ6MzI6MzUuMzM0NjY0OTUyICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgzNjk0 MjA0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kZXNfc2VsZnRl c3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MzY5NDIwNCArMDIwMAogQEAgLTAsMCArMSwxNDcg QEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQ cm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTk0MzQsOCArOTQzNyw4IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwCiArICAgIH0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19jdHIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfZHJiZ19jdHIuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Zp cHNfZHJiZ19jdHIuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM0NjY0OTUyICswMjAwCi0r Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jCTIwMTMtMDktMjcg MTQ6MzI6MzUuMzM0NjY0OTUyICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19kcmJnX2N0ci5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODM2OTQyMDQgKzAyMDAK KysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfY3RyLmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xODM2OTQyMDQgKzAyMDAKIEBAIC0wLDAgKzEsNDM2IEBACiArLyogZmlwcy9y YW5kL2ZpcHNfZHJiZ19jdHIuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNv biAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtOTg3NCw4ICs5ODc3LDgg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2YKICsJcmV0dXJuIDE7CiArCX0KIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2guYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM1NjY0 OTc1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2gu YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNTY2NDk3NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 MzY5NDIwNCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19o YXNoLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODM2OTQyMDQgKzAyMDAKIEBAIC0wLDAgKzEsMzc4 IEBACiArLyogZmlwcy9yYW5kL2ZpcHNfZHJiZ19oYXNoLmMgKi8KICsvKiBXcml0dGVuIGJ5IERy IFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAg LTEwMjU2LDggKzEwMjU5LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19kcmJnX2hhc2guYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by8KICsJcmV0dXJuIDE7 CiArCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19obWFj LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jCi0tLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYy5maXBzCTIwMTMtMDkt MjcgMTQ6MzI6MzUuMzM1NjY0OTc1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX2htYWMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNTY2NDk3NSArMDIwMAor LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19obWFjLmMuZmlwcwkyMDEz LTEwLTA0IDExOjQ4OjA0LjE4MzY5NDIwNCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfZHJiZ19obWFjLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODM2OTQyMDQgKzAy MDAKIEBAIC0wLDAgKzEsMjgxIEBACiArLyogZmlwcy9yYW5kL2ZpcHNfZHJiZ19obWFjLmMgKi8K ICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBm b3IgdGhlIE9wZW5TU0wKQEAgLTEwNTQxLDggKzEwNTQ0LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by8KICsJcmV0dXJuIDE7CiArCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfZHJiZ19saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZHJiZ19saWIuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIu Yy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM1NjY0OTc1ICswMjAwCi0rKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM1 NjY0OTc1ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xp Yi5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODQ2OTQyMjYgKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4x ODQ2OTQyMjYgKzAyMDAKIEBAIC0wLDAgKzEsNTc4IEBACiArLyogV3JpdHRlbiBieSBEciBTdGVw aGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCiArICogcHJv amVjdC4KQEAgLTExMTIzLDggKzExMTI2LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2YKICsJ cmV0dXJuIDE7CiArCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZHJiZ19yYW5kLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFu ZC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBz CTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM1NjY0OTc1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNTY2NDk3 NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19yYW5kLmMu ZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAorKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19yYW5kLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODQ2 OTQyMjYgKzAyMDAKIEBAIC0wLDAgKzEsMTcyIEBACiArLyogZmlwcy9yYW5kL2ZpcHNfZHJiZ19y YW5kLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5z c2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTExMjk5LDggKzExMzAyLDggQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by8KICsJfQogKwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX2RyYmdfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZHJiZ19zZWxmdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzY2NjQ5OTggKzAyMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYwkyMDEz LTA5LTI3IDE0OjMyOjM1LjMzNjY2NDk5OCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODQ2 OTQyMjYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2Vs ZnRlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAogQEAgLTAsMCArMSw4 NjIgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX3NlbGZ0ZXN0LmMgKi8KICsvKiBXcml0dGVu IGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5T U0wKQEAgLTEyMTY1LDggKzEyMTY4LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnkKICsJfQog KwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0 LmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaAot LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5oLmZpcHMJ MjAxMy0wOS0yNyAxNDozMjozNS4zMzc2NjUwMjAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaAkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2 NTAyMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxm dGVzdC5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODU2OTQyNDkgKzAyMDAKKysrKyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaAkyMDEzLTEwLTA0IDEx OjQ4OjA0LjE4NTY5NDI0OSArMDIwMAogQEAgLTAsMCArMSwyMzM1IEBACiArLyogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCkBAIC0xNDUwNCw4ICsxNDUwNyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5CiArCX07CiArCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Rz YV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2Vs ZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0 LmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMJMjAxMy0wOS0yNyAxNDozMjoz NS4zMzc2NjUwMjAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Rz YV9zZWxmdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODU2OTQyNDkgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCTIwMTMtMTAt MDQgMTE6NDg6MDQuMTg1Njk0MjQ5ICswMjAwCiBAQCAtMCwwICsxLDE5MyBAQAogKy8qID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwg cmlnaHRzIHJlc2VydmVkLgpAQCAtMTQ3MDEsOCArMTQ3MDQsOCBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cAogKwl9CiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2VuYy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lbmMuYwot LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZW5jLmMuZmlwcwkyMDEzLTA5LTI3 IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBz L2ZpcHNfZW5jLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzc2NjUwMjAgKzAyMDAKKy0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VuYy5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODow NC4xODU2OTQyNDkgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Vu Yy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg1Njk0MjQ5ICswMjAwCiBAQCAtMCwwICsxLDE5MSBA QAogKy8qIGZpcGUvZXZwL2ZpcHNfZW5jLmMgKi8KICsvKiBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5 OCBFcmljIFlvdW5nIChlYXlAY3J5cHRzb2Z0LmNvbSkKQEAgLTE0ODk2LDggKzE0ODk5LDggQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lbmMuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2YKICsJfQogKwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5o Ci0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMJMjAxMy0wOS0yNyAx NDozMjozNS4zMzc2NjUwMjAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzLmgJMjAxMy0wOS0yNyAxNDozMjozNS4zMzc2NjUwMjAgKzAyMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NjY5NDI3 MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaAkyMDEzLTEwLTA0 IDExOjQ4OjA0LjE4NjY5NDI3MSArMDIwMAogQEAgLTAsMCArMSwyNzkgQEAKICsvKiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJp Z2h0cyByZXNlcnZlZC4KQEAgLTE1MTc5LDggKzE1MTgyLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwcy4KICsjZW5kaWYKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19obWFjX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2htYWNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM3NjY1MDIwICswMjAw Ci0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3NlbGZ0ZXN0LmMJMjAx My0wOS0yNyAxNDozMjozNS4zMzc2NjUwMjAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg2 Njk0MjcxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3Nl bGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAyMDAKIEBAIC0wLDAgKzEs MTM3IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDUgVGhlIE9wZW5T U0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNTMyMCw4ICsxNTMyMyw4IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5CiArICAgIH0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19sb2NsLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2xvY2wuaC5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM3NjY1MDIwICswMjAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19sb2NsLmgJMjAxMy0wOS0yNyAxNDozMjozNS4z Mzc2NjUwMjAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wu aC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg2Njk0MjcxICswMjAwCisrKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19sb2NsLmgJMjAxMy0xMC0wNCAxMTo0ODowNC4xODY2OTQy NzEgKzAyMDAKIEBAIC0wLDAgKzEsNzEgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdo dCAoYykgMjAxMSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAg LTE1Mzk1LDggKzE1Mzk4LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19sb2NsLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy8KICsjZW5kaWYKICsj ZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfbWQuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfbWQuYwotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfbWQuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM4NjY1MDQz ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19tZC5jCTIwMTMtMDkt MjcgMTQ6MzI6MzUuMzM4NjY1MDQzICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19tZC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX21kLmMJMjAxMy0xMC0wNCAxMTo0ODow NC4xODY2OTQyNzEgKzAyMDAKIEBAIC0wLDAgKzEsMTQ1IEBACiArLyogZmlwcy9ldnAvZmlwc19t ZC5jICovCiArLyogQ29weXJpZ2h0IChDKSAxOTk1LTE5OTggRXJpYyBZb3VuZyAoZWF5QGNyeXB0 c29mdC5jb20pCkBAIC0xNTU0NCw4ICsxNTU0Nyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfbWQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Zp CiArCQl9CiArCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9z dC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMKLS0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzM4NjY1MDQzICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19w b3N0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAyMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg2 Njk0MjcxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAyMDAKIEBAIC0wLDAgKzEsMjA1IEBACiAr LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVj dC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNTc1Myw4ICsxNTc1Niw4IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvCiArCX0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfcmFuZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19yYW5kLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYy5maXBz CTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM4NjY1MDQzICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19yYW5kLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAy MDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYy5maXBzCTIwMTMt MTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19yYW5kLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKIEBA IC0wLDAgKzEsNDU3IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDcg VGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNjIxNCw4ICsx NjIxNyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvCiArCiArI2VuZGlmCiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuaC5maXBzIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19yYW5kLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzODY2NTA0MyArMDIwMAotKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzM4NjY1MDQzICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19y YW5kLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NzY5NDI5NCArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3 Njk0Mjk0ICswMjAwCiBAQCAtMCwwICsxLDE0NSBAQAogKy8qID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29w eXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVk LgpAQCAtMTYzNjMsOCArMTYzNjYsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JhbmQuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzLwogKyNlbmRp ZgogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5k X2xjbC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oLmZpcHMJMjAxMy0w OS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JhbmRfbGNsLmgJMjAxMy0wOS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAyMDAK Ky0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGNsLmguZmlwcwkyMDEz LTEwLTA0IDExOjQ4OjA0LjE4NzY5NDI5NCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfcmFuZF9sY2wuaAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NzY5NDI5NCArMDIw MAogQEAgLTAsMCArMSwyMTkgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19yYW5kX2xjbC5oICovCiAr LyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9y IHRoZSBPcGVuU1NMCkBAIC0xNjU4Niw4ICsxNjU4OSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9mCiArI2RlZmluZSBGSVBTX2RpZ2VzdGZpbmFsIEVWUF9EaWdlc3RGaW5hbAogKyNkZWZpbmUg TV9FVlBfTURfc2l6ZSBFVlBfTURfc2l6ZQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19yYW5kX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19yYW5kX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xp Yi5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzk2NjUwNjUgKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMJMjAxMy0wOS0yNyAxNDozMjozNS4z Mzk2NjUwNjUgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRf bGliLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NzY5NDI5NCArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0 LjE4NzY5NDI5NCArMDIwMAogQEAgLTAsMCArMSwxOTEgQEAKICsvKiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAq IENvcHlyaWdodCAoYykgMjAxMSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNl cnZlZC4KQEAgLTE2NzgxLDggKzE2Nzg0LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2YKICsJ cmV0dXJuIDA7CiArCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf cmFuZF9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5k X3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfc2Vs ZnRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM5NjY1MDY1ICswMjAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX3NlbGZ0ZXN0LmMJMjAxMy0wOS0yNyAx NDozMjozNS4zMzk2NjUwNjUgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX3JhbmRfc2VsZnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0ICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX3NlbGZ0ZXN0LmMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKIEBAIC0wLDAgKzEsMTgzIEBACiAr LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVj dC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNjk2OCw4ICsxNjk3MSw4IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9zZWxmdGVzdC5jLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5CiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzX3JhbmR0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX3JhbmR0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmR0 ZXN0LmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzOTY2NTA2NSArMDIwMAotKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1 LjMzOTY2NTA2NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFu ZHRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg4Njk0MzE2ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTg3Njk0Mjk0ICswMjAwCiBAQCAtMCwwICsxLDI1MCBAQAogKy8qIENvcHlyaWdodCAoQykg MTk5NS0xOTk4IEVyaWMgWW91bmcgKGVheUBjcnlwdHNvZnQuY29tKQogKyAqIEFsbCByaWdodHMg cmVzZXJ2ZWQuCkBAIC0xNzIyMiw4ICsxNzIyNSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m CiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Jz YV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2Vs ZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0 LmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzOTY2NTA2NSArMDIwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMJMjAxMy0wOS0yNyAxNDozMjoz NS4zMzk2NjUwNjUgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Jz YV9zZWxmdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQzMTYgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCTIwMTMtMTAt MDQgMTE6NDg6MDQuMTg4Njk0MzE2ICswMjAwCiBAQCAtMCwwICsxLDQ0NCBAQAogKy8qID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDcgVGhlIE9wZW5TU0wgUHJvamVjdC4g IEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNzY3MCw4ICsxNzY3Myw4IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwCiArCiArI2VuZGlmIC8qIGRlZiBPUEVOU1NMX0ZJUFMgKi8KIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3g5MzFnLmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JzYV94OTMxZy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19yc2FfeDkzMWcuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM5 NjY1MDY1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2FfeDkz MWcuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzOTY2NTA2NSArMDIwMAorLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3g5MzFnLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0 LjE4ODY5NDMxNiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNh X3g5MzFnLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQzMTYgKzAyMDAKIEBAIC0wLDAgKzEs MjgyIEBACiArLyogY3J5cHRvL3JzYS9yc2FfZ2VuLmMgKi8KICsvKiBDb3B5cmlnaHQgKEMpIDE5 OTUtMTk5OCBFcmljIFlvdW5nIChlYXlAY3J5cHRzb2Z0LmNvbSkKQEAgLTE3OTU2LDggKzE3OTU5 LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2FfeDkzMWcu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by8KICsKICsJfQogZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zaGFfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDA2 NjUwODggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxm dGVzdC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQwNjY1MDg4ICswMjAwCistLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zaGFfc2VsZnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTg4Njk0MzE2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19zaGFfc2VsZnRlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4ODY5NDMxNiArMDIwMAogQEAg LTAsMCArMSwxNDAgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBU aGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE4MTAwLDggKzE4 MTAzLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zaGFfc2Vs ZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXAKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjLmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1hYy5jCi0tLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMuYy5maXBzCTIwMTMtMDkt MjcgMTQ6MzI6MzUuMzQwNjY1MDg4ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19zdGFuZGFsb25lX2htYWMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MDY2NTA4OCAr MDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFj LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4ODY5NDMxNiArMDIwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjLmMJMjAxMy0xMC0wNCAxMTo0 ODowNC4xODg2OTQzMTYgKzAyMDAKIEBAIC0wLDAgKzEsMTgwIEBACiArLyogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K ICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMg cmVzZXJ2ZWQuCkBAIC0xODI4NCw4ICsxODI4Nyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j CiArCiArCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Rlc3Rfc3Vp dGUuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfdGVzdF9zdWl0ZS5jCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc190ZXN0X3N1aXRlLmMuZmlwcwkyMDEz LTA5LTI3IDE0OjMyOjM1LjM0MDY2NTA4OCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfdGVzdF9zdWl0ZS5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQwNjY1MDg4ICsw MjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc190ZXN0X3N1aXRlLmMuZmlw cwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfdGVzdF9zdWl0ZS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg5Njk0 MzM5ICswMjAwCiBAQCAtMCwwICsxLDU4OCBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJp Z2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpA QCAtMTg4NzYsOCArMTg4NzksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX3Rlc3Rfc3VpdGUuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0bwogKwogKyNlbmRp ZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtlZmlsZQotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL01ha2VmaWxlLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDA2NjUwODggKzAyMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtlZmlsZQkyMDEzLTA5LTI3IDE0OjMy OjM1LjM0MDY2NTA4OCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2Vm aWxlLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODk2OTQzMzkgKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtlZmlsZQkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMz OSArMDIwMAogQEAgLTAsMCArMSwzNDAgQEAKICsjCiArIyBPcGVuU1NML2NyeXB0by9maXBzL01h a2VmaWxlCkBAIC0xOTIyMSw3ICsxOTIyNCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL01ha2VmaWxlLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrCiAr Zmlwc19zaGFfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlw c19zaGFfc2VsZnRlc3QuYwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2htYWMvaG1h Yy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2htYWMvaG1hYy5jCiAtLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2htYWMvaG1hYy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAw MDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1hYy9obWFjLmMJMjAxMy0wOS0y NyAxNDozMjozNS4zNDA2NjUwODggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1h Yy9obWFjLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODk2OTQzMzkgKzAyMDAKIEBAIC04MSwxMSAr ODEsNiBAQCBpbnQgSE1BQ19Jbml0X2V4KEhNQUNfQ1RYICpjdHgsIGNvbnN0IHZvCiAgCQkJRVZQ ZXJyKEVWUF9GX0hNQUNfSU5JVF9FWCwgRVZQX1JfRElTQUJMRURfRk9SX0ZJUFMpOwogIAkJCXJl dHVybiAwOwpAQCAtMTkyODYsNyArMTkyODksNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vaG1hYy9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1hYy9obWFjLgog IAlFVlBfTURfQ1RYX2NsZWFudXAoJmN0eC0+bWRfY3R4KTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9tZGMyL21kYzJkZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWRj Mi9tZGMyZGdzdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kYzIvbWRjMmRnc3QuYy5m aXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL21kYzIvbWRjMmRnc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MTY2NTExMCAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZGMyL21kYzJkZ3N0LmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xODk2OTQzMzkgKzAyMDAKIEBAIC03Niw3ICs3Niw3IEBACiAgCQkJKigoYykr Kyk9KHVuc2lnbmVkIGNoYXIpKCgobCk+PjI0TCkmMHhmZikpCiAgCkBAIC0xOTI5OCw3ICsxOTMw MSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZGMyL21kYzJkZ3N0LmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWRjMi9tCiAgCWMtPnBhZF90eXBlPTE7CiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQyL21kMl9kZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vbWQyL21kMl9kZ3N0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQyL21k Ml9kZ3N0LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9tZDIvbWQyX2Rnc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0 MTY2NTExMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDIvbWQyX2Rnc3QuYwky MDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSArMDIwMAogQEAgLTYyLDYgKzYyLDExIEBACiAg I2luY2x1ZGUgPG9wZW5zc2wvbWQyLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNzbHYuaD4K QEAgLTE5MzIyLDcgKzE5MzI1LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21k Mi9tZDJfZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kMi9tZDIKICAJbWVtc2V0 KGMtPnN0YXRlLDAsc2l6ZW9mIGMtPnN0YXRlKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9tZDQvbWQ0X2Rnc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDQvbWQ0X2Rn c3QuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDQvbWQ0X2Rnc3QuYy5maXBzCTIwMTMt MDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L21kNC9tZDRfZGdzdC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQxNjY1MTEwICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNC9tZDRfZGdzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQu MTkwNjk0MzYyICswMjAwCiBAQCAtNzEsNyArNzEsNyBAQCBjb25zdCBjaGFyIE1ENF92ZXJzaW9u W109Ik1ENCIgT1BFTlNTTF9WCiAgI2RlZmluZSBJTklUX0RBVEFfQyAodW5zaWduZWQgbG9uZykw eDk4YmFkY2ZlTAogICNkZWZpbmUgSU5JVF9EQVRBX0QgKHVuc2lnbmVkIGxvbmcpMHgxMDMyNTQ3 NkwKQEAgLTE5MzM0LDcgKzE5MzM3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L21kNC9tZDRfZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNC9tZDQKICAJYy0+ QT1JTklUX0RBVEFfQTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDUvbWQ1X2Rn c3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYwogLS0tIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQu MDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNS9tZDVfZGdzdC5j CTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQxNjY1MTEwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL21kNS9tZDVfZGdzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkwNjk0MzYyICswMjAw CiBAQCAtNzEsNyArNzEsNyBAQCBjb25zdCBjaGFyIE1ENV92ZXJzaW9uW109Ik1ENSIgT1BFTlNT TF9WCiAgI2RlZmluZSBJTklUX0RBVEFfQyAodW5zaWduZWQgbG9uZykweDk4YmFkY2ZlTAogICNk ZWZpbmUgSU5JVF9EQVRBX0QgKHVuc2lnbmVkIGxvbmcpMHgxMDMyNTQ3NkwKQEAgLTE5MzQ2LDcg KzE5MzQ5LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNS9tZDVfZGdzdC5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNS9tZDUKICAJYy0+QT1JTklUX0RBVEFfQTsK IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vX2ZpcHMuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9vX2ZpcHMuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vX2ZpcHMuYy5m aXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL29fZmlwcy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQxNjY1MTEwICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29fZmlwcy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkw Njk0MzYyICswMjAwCiBAQCAtNzksNiArNzksOCBAQCBpbnQgRklQU19tb2RlX3NldChpbnQgcikK ICAjaWZuZGVmIEZJUFNfQVVUSF9VU0VSX1BBU1MKICAjZGVmaW5lIEZJUFNfQVVUSF9VU0VSX1BB U1MJIkRlZmF1bHQgRklQUyBDcnlwdG8gVXNlciBQYXNzd29yZCIKQEAgLTE5MzU4LDcgKzE5MzYx LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29fZmlwcy5jLmZpcHMgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL29fZmlwcy5jCiAgCWlmIChyKQogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL29faW5pdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29faW5pdC5jCiAt LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29faW5pdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjow NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMJMjAx My0wOS0yNyAxNDozMjozNS4zNDE2NjUxMTAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vb19pbml0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTA2OTQzNjIgKzAyMDAKIEBAIC01NSwy OCArNTUsNjggQEAKICAjaW5jbHVkZSA8ZV9vcy5oPgogICNpbmNsdWRlIDxvcGVuc3NsL2Vyci5o PgpAQCAtMTk0MzQsNyArMTk0MzcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v b19pbml0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMKICsJfQogZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29wZW5zc2xjb25mLmguaW4uZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vb3BlbnNzbGNvbmYuaC5pbgogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9v cGVuc3NsY29uZi5oLmluLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb3BlbnNzbGNvbmYuaC5pbgkyMDEzLTA5LTI3IDE0 OjMyOjM1LjM0MTY2NTExMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vcGVuc3Ns Y29uZi5oLmluCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkwNjk0MzYyICswMjAwCiBAQCAtMSw1ICsx LDIwIEBACiAgLyogY3J5cHRvL29wZW5zc2xjb25mLmguaW4gKi8KICAKQEAgLTE5NDU4LDcgKzE5 NDYxLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29wZW5zc2xjb25mLmguaW4u ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb3BlbnMKICAKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9wa2NzMTIvcDEyX2NydC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3Br Y3MxMi9wMTJfY3J0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcGtjczEyL3AxMl9jcnQu Yy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL3BrY3MxMi9wMTJfY3J0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDE2NjUx MTAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcGtjczEyL3AxMl9jcnQuYwkyMDEz LTEwLTA0IDExOjQ4OjA0LjE5MDY5NDM2MiArMDIwMAogQEAgLTU5LDYgKzU5LDEwIEBACiAgI2lu Y2x1ZGUgPHN0ZGlvLmg+CiAgI2luY2x1ZGUgImNyeXB0bGliLmgiCkBAIC0xOTQ4Nyw3ICsxOTQ5 MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9wa2NzMTIvcDEyX2NydC5jLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3BrY3MxCiAgCWlmICghaXRlcikKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL21kX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9yYW5kL21kX3JhbmQuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL21kX3Jh bmQuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3JhbmQvbWRfcmFuZC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQyNjY1 MTMzICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvbWRfcmFuZC5jCTIwMTMt MTAtMDQgMTE6NDg6MDQuMTkwNjk0MzYyICswMjAwCiBAQCAtMzg5LDcgKzM4OSwxMCBAQCBzdGF0 aWMgaW50IHNzbGVheV9yYW5kX2J5dGVzKHVuc2lnbmVkIGNoCiAgCUNSWVBUT193X3VubG9jayhD UllQVE9fTE9DS19SQU5EMik7CiAgCWNyeXB0b19sb2NrX3JhbmQgPSAxOwpAQCAtMTk1MDEsOCAr MTk1MDQsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9tZF9yYW5kLmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9tZAogIAkJUkFORF9wb2xsKCk7CiAgCQlp bml0aWFsaXplZCA9IDE7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9yYW5k LmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9yYW5kLmgKLS0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vcmFuZC9yYW5kLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0Ljg0NzY1Mzk5 MCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL3JhbmQuaAkyMDEzLTA5LTI3 IDE0OjMyOjM1LjM0MjY2NTEzMyArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5k L3JhbmQuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDMuOTQ1Njg4ODI5ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvcmFuZC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkwNjk0 MzYyICswMjAwCiBAQCAtMTMzLDE1ICsxMzMsMzMgQEAgdm9pZCBFUlJfbG9hZF9SQU5EX3N0cmlu Z3Modm9pZCk7CiAgLyogRXJyb3IgY29kZXMgZm9yIHRoZSBSQU5EIGZ1bmN0aW9ucy4gKi8KICAK QEAgLTE5NTQzLDcgKzE5NTQ2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3Jh bmQvcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvcmFuZC4KICB9CiBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0LmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vcmlwZW1kL3JtZF9kZ3N0LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yaXBlbWQvcm1kX2Rnc3QuYwkyMDEzLTA5 LTI3IDE0OjMyOjM1LjM0MjY2NTEzMyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9y aXBlbWQvcm1kX2Rnc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MTY5NDM4NSArMDIwMAogQEAg LTcwLDcgKzcwLDcgQEAgY29uc3QgY2hhciBSTUQxNjBfdmVyc2lvbltdPSJSSVBFLU1EMTYwIgog ICAgICAgdm9pZCByaXBlbWQxNjBfYmxvY2soUklQRU1EMTYwX0NUWCAqYywgdW5zaWduZWQgbG9u ZyAqcCxzaXplX3QgbnVtKTsKICAjICBlbmRpZgpAQCAtMTk1NTUsNyArMTk1NTgsNyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0LmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vcmlwZQogIAljLT5BPVJJUEVNRDE2MF9BOwogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfY3JwdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L3JzYS9yc2FfY3JwdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfY3JwdC5j LmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDI2NjUxMzMg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xOTE2OTQzODUgKzAyMDAKIEBAIC05MCwxMCArOTAsOSBAQCBpbnQgUlNBX3By aXZhdGVfZW5jcnlwdChpbnQgZmxlbiwgY29uc3QKICAJICAgICBSU0EgKnJzYSwgaW50IHBhZGRp bmcpCiAgCXsKQEAgLTE5NTg0LDcgKzE5NTg3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JzYS9yc2FfY3JwdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2EK ICAjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2VheS5jLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZWF5LmMKIC0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vcnNhL3JzYV9lYXkuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAw ICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZWF5LmMJMjAxMy0wOS0y NyAxNDozMjozNS4zNDI2NjUxMzMgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNh L3JzYV9lYXkuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MTY5NDM4NSArMDIwMAogQEAgLTExNCw2 ICsxMTQsMTAgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgogICNpbmNsdWRlIDxvcGVuc3Ns L3JzYS5oPgpAQCAtMTk3MTcsNyArMTk3MjAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vcnNhL3JzYV9lYXkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhXwog IAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9lcnIuYy5maXBzIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2Vyci5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL3JzYS9yc2FfZXJyLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2Vyci5jCTIwMTMtMDktMjcgMTQ6 MzI6MzUuMzQyNjY1MTMzICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ff ZXJyLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTE2OTQzODUgKzAyMDAKIEBAIC0xMjEsNiArMTIx LDggQEAgc3RhdGljIEVSUl9TVFJJTkdfREFUQSBSU0Ffc3RyX2Z1bmN0c1tdPQogIHtFUlJfRlVO QyhSU0FfRl9SU0FfUFVCTElDX0VOQ1JZUFQpLAkiUlNBX3B1YmxpY19lbmNyeXB0In0sCiAge0VS Ul9GVU5DKFJTQV9GX1JTQV9QVUJfREVDT0RFKSwJIlJTQV9QVUJfREVDT0RFIn0sCkBAIC0xOTcy OSw3ICsxOTczMiw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2Vy ci5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfCiAge0VSUl9GVU5DKFJTQV9G X1JTQV9WRVJJRlkpLAkiUlNBX3ZlcmlmeSJ9LAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9nZW4u YwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMJMjAxMy0wMi0x MSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNh L3JzYV9nZW4uYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MzY2NTE1NSArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkxNjk0 Mzg1ICswMjAwCiBAQCAtNjksNiArNjksNzggQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9yc2EuaD4K ICAjaWZkZWYgT1BFTlNTTF9GSVBTCkBAIC0xOTg3Miw4ICsxOTg3NSw4IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL3JzYS9yc2FfCiAgZXJyOgogIAlpZiAob2sgPT0gLTEpCiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vcnNhL3JzYS5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Eu aAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhLmguZmlwcwkyMDEzLTA5LTI3IDE0 OjMyOjM0Ljk5MTY1NzIzMiArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNh LmgJMjAxMy0wOS0yNyAxNDozMjozNS4zNDM2NjUxNTUgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vcnNhL3JzYS5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4wNzU2OTE3NjUgKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYS5oCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTkyNjk0NDA3ICswMjAwCiBAQCAtMTY0LDYgKzE2NCw4IEBAIHN0cnVjdCByc2Ffc3QKICAj IGRlZmluZSBPUEVOU1NMX1JTQV9NQVhfTU9EVUxVU19CSVRTCTE2Mzg0CiAgI2VuZGlmCkBAIC0x OTk2MCw3ICsxOTk2Myw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNh LmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYS5oCiAgI2RlZmluZSBSU0FfUl9Q X05PVF9QUklNRQkJCQkgMTI4CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3Jz YV9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2xpYi5jCiAtLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfbGliLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0 LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2xpYi5j CTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQzNjY1MTU1ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JzYS9yc2FfbGliLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTI2OTQ0MDcgKzAyMDAK IEBAIC04NCw2ICs4NCwxMyBAQCBSU0EgKlJTQV9uZXcodm9pZCkKICAKICB2b2lkIFJTQV9zZXRf ZGVmYXVsdF9tZXRob2QoY29uc3QgUlNBX01FVEhPRCAqbWV0aCkKQEAgLTIwMDM4LDcgKzIwMDQx LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfbGliLmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV8KICAjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5F CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9wbWV0aC5jLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfcG1ldGguYwogLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9yc2EvcnNhX3BtZXRoLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX3BtZXRoLmMJMjAxMy0wOS0y NyAxNDozMjozNS4zNDM2NjUxNTUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNh L3JzYV9wbWV0aC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkyNjk0NDA3ICswMjAwCiBAQCAtMjA2 LDIyICsyMDYsNiBAQCBzdGF0aWMgaW50IHBrZXlfcnNhX3NpZ24oRVZQX1BLRVlfQ1RYICpjCiAg CQkJCQlSU0FfUl9JTlZBTElEX0RJR0VTVF9MRU5HVEgpOwogIAkJCXJldHVybiAtMTsKQEAgLTIw MDg0LDcgKzIwMDg3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ff cG1ldGguYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnMKICAJCQkJCXNpZywgc2ln bGVuLCByc2EpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ffc2lnbi5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ffc2lnbi5jCiAtLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL3JzYS9yc2Ffc2lnbi5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAw MDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9zaWduLmMJMjAx My0wOS0yNyAxNDozMjozNS4zNDM2NjUxNTUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vcnNhL3JzYV9zaWduLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTI2OTQ0MDcgKzAyMDAKIEBA IC0xMzgsNyArMTM4LDggQEAgaW50IFJTQV9zaWduKGludCB0eXBlLCBjb25zdCB1bnNpZ25lZCBj aAogIAkJaTJkX1g1MDlfU0lHKCZzaWcsJnApOwogIAkJcz10bXBzOwpAQCAtMjAxMTcsOCArMjAx MjAsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9zaWduLmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYQogIAlpZiAoaSA8PSAwKSBnb3RvIGVycjsK ICAJLyogT2RkYmFsbCBNREMyIGNhc2U6IHNpZ25hdHVyZSBjYW4gYmUgT0NURVQgU1RSSU5HLgog ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEuaC5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9zaGEvc2hhLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYS5o LmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNC43NjM2NTIwOTkgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vc2hhL3NoYS5oCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQ0NjY1MTc4ICswMjAw CistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEuaC5maXBzCTIwMTMtMTAtMDQgMTE6 NDg6MDMuODY3Njg3MDY4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEu aAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MjY5NDQwNyArMDIwMAogQEAgLTExNiw5ICsxMTYsNiBA QCB1bnNpZ25lZCBjaGFyICpTSEEoY29uc3QgdW5zaWduZWQgY2hhciAqCiAgdm9pZCBTSEFfVHJh bnNmb3JtKFNIQV9DVFggKmMsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpOwogICNlbmRpZgpA QCAtMjAxNTIsOCArMjAxNTUsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hh L3NoYS5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEuaAogIGludCBTSEEzODRf VXBkYXRlKFNIQTUxMl9DVFggKmMsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOwogIGlu dCBTSEEzODRfRmluYWwodW5zaWduZWQgY2hhciAqbWQsIFNIQTUxMl9DVFggKmMpOwogZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGFfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL3NoYS9zaGFfbG9jbC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9z aGFfbG9jbC5oLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNC43NjU2NTIxNDQgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYV9sb2NsLmgJMjAxMy0wOS0yNyAxNDozMjozNS4z NDQ2NjUxNzggKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYV9sb2NsLmgu ZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjAzLjg3MDY4NzEzNSArMDIwMAorKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9zaGEvc2hhX2xvY2wuaAkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MjY5NDQwNyAr MDIwMAogQEAgLTEyMywxMSArMTIzLDE0IEBAIHZvaWQgc2hhMV9ibG9ja19kYXRhX29yZGVyIChT SEFfQ1RYICpjLAogICNkZWZpbmUgSU5JVF9EQVRBX2g0IDB4YzNkMmUxZjBVTAogIApAQCAtMjAx NzIsNyArMjAxNzUsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYV9s b2NsLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYQogIAljLT5oMT1JTklUX0RB VEFfaDE7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTI1Ni5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEyNTYuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9zaGEvc2hhMjU2LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhMjU2LmMJMjAxMy0wOS0yNyAxNDoz MjozNS4zNDM2NjUxNTUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTI1 Ni5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkzNjk0NDI5ICswMjAwCiBAQCAtMTIsMTIgKzEyLDE5 IEBACiAgCiAgI2luY2x1ZGUgPG9wZW5zc2wvY3J5cHRvLmg+CkBAIC0yMDIwNSw3ICsyMDIwOCw3 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhMjU2LmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTI1CiAgCWMtPmhbMl09MHgzYzZlZjM3MlVMOwljLT5o WzNdPTB4YTU0ZmY1M2FVTDsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hh NTEyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTUxMi5jCiAtLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAw MDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGE1MTIuYwkyMDEz LTA5LTI3IDE0OjMyOjM1LjM0NDY2NTE3OCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9zaGEvc2hhNTEyLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTM2OTQ0MjkgKzAyMDAKIEBAIC01 LDYgKzUsMTAgQEAKICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAqLwpAQCAtMjAyMzksNyArMjAyNDIsNyBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTUxMi5jLmZpcHMgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3NoYS9zaGE1MQogIAljLT5oWzJdPVU2NCgweDNjNmVmMzcyZmU5NGY4 MmIpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3docmxwb29sL3dwX2Rnc3QuYy5m aXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by93aHJscG9vbC93cF9kZ3N0LmMKIC0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vd2hybHBvb2wvd3BfZGdzdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjow NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vd2hybHBvb2wvd3Bf ZGdzdC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQ0NjY1MTc4ICswMjAwCisrKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL3docmxwb29sL3dwX2Rnc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MzY5 NDQyOSArMDIwMAogQEAgLTU1LDcgKzU1LDcgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9jcnlwdG8u aD4KICAjaW5jbHVkZSA8c3RyaW5nLmg+CkBAIC0yMDI1MCw4ICsyMDI1Myw4IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by93aHJscG9vbC93cF9kZ3N0LmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vd2hyCiAgCW1lbXNldCAoYywwLHNpemVvZigqYykpOwogIAlyZXR1cm4oMSk7 CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9NYWtlZmlsZS5vcmcuZmlwcyBvcGVuc3NsLTEuMC4x ZS9NYWtlZmlsZS5vcmcKLS0tLSBvcGVuc3NsLTEuMC4xZS9NYWtlZmlsZS5vcmcuZmlwcwkyMDEz LTA5LTI3IDE0OjMyOjM1LjA4MTY1OTI1OCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL01ha2Vm aWxlLm9yZwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0NDY2NTE3OCArMDIwMAorLS0tIG9wZW5zc2wt MS4wLjFlL01ha2VmaWxlLm9yZy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTU3NjkzNjE2ICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvTWFrZWZpbGUub3JnCTIwMTMtMTAtMDQgMTE6NDg6MDQu MTkzNjk0NDI5ICswMjAwCiBAQCAtMTM2LDYgKzEzNiw5IEBAIEZJUFNDQU5MSUI9CiAgCiAgQkFT RUFERFI9CkBAIC0yMDI3OSwxMCArMjAyODIsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9N YWtlZmlsZS5vcmcuZmlwcyBvcGVuc3NsLTEuMC4xZS9NYWtlZmlsZS5vcmcKICAJCVRISVM9JCR7 VEhJUzotJEB9IE1BS0VGSUxFPU1ha2VmaWxlIE1BS0VPVkVSUklERVM9CiAgIyBNQUtFT1ZFUlJJ REVTPSBlZmZlY3RpdmVseSAiZXF1YWxpemVzIiBHTlUtaXNoIGFuZCBTeXNWLWlzaCBtYWtlIGZs YXZvcnMsCiAgIyB3aGljaCBpbiB0dXJuIGVsaW1pbmF0ZXMgYW1iaWd1aXRpZXMgaW4gdmFyaWFi bGUgdHJlYXRtZW50IHdpdGggLWUuCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfY2xu dC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX2NsbnQuYwogZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvc3NsL2QxX3NydnIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL3NzbC9kMV9zcnZyLmMKIC0t LSBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfc3J2ci5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfc3J2ci5jCTIwMTMtMDkt MjcgMTU6Mjc6MDMuMDE4MjIwMzg4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3Ny dnIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MzY5NDQyOSArMDIwMAogQEAgLTEzNzIsNiArMTM3 Miw4IEBAIGludCBkdGxzMV9zZW5kX3NlcnZlcl9rZXlfZXhjaGFuZ2UoU1NMICoKICAJCQkJaj0w OwogIAkJCQlmb3IgKG51bT0yOyBudW0gPiAwOyBudW0tLSkKQEAgLTIwMjk0LDcgKzIwMjk2LDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3NydnIuYy5maXBzIG9wZW5zc2wtMS4w LjFlL3NzbC9kMV9zcnZyLmMKICAJCQkJCUVWUF9EaWdlc3RVcGRhdGUoJm1kX2N0eCwmKHMtPnMz LT5jbGllbnRfcmFuZG9tWzBdKSxTU0wzX1JBTkRPTV9TSVpFKTsKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL3NzbC9zc2xfYWxncy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvc3NsL3NzbF9hbGdzLmMK IC0tLSBvcGVuc3NsLTEuMC4xZS9zc2wvc3NsX2FsZ3MuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6 MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvc3NsL3NzbF9hbGdzLmMJMjAx My0wOS0yNyAxNDozMjozNS4zNDQ2NjUxNzggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9zc2wv c3NsX2FsZ3MuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MzY5NDQyOSArMDIwMAogQEAgLTY0LDYg KzY0LDEyIEBACiAgaW50IFNTTF9saWJyYXJ5X2luaXQodm9pZCkKICAJewoKZGlmZiAtLWdpdCBh L29wZW5zc2wtMS4wLjFlLXNwZWVkLXN1aXRlYi5wYXRjaCBiL29wZW5zc2wtMS4wLjFlLXNwZWVk LXN1aXRlYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTEzNWQz Ci0tLSAvZGV2L251bGwKKysrIGIvb3BlbnNzbC0xLjAuMWUtc3BlZWQtc3VpdGViLnBhdGNoCkBA IC0wLDAgKzEsODkgQEAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYy5zdWl0 ZWIgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jCistLS0gb3BlbnNzbC0xLjAuMWUvYXBwcy9z cGVlZC5jLnN1aXRlYgkyMDEzLTA5LTI3IDE1OjU3OjA5Ljk0Nzg5NDMwNyArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYwkyMDEzLTA5LTI3IDE1OjU3OjUyLjUyODg1MjgwNCAr MDIwMAorQEAgLTk2Niw0OSArOTY2LDIxIEBAIGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJn dikKKyAJCWVsc2UKKyAjZW5kaWYKKyAjaWZuZGVmIE9QRU5TU0xfTk9fRUNEU0EKKy0JCSAgICAg aWYgKHN0cmNtcCgqYXJndiwiZWNkc2FwMTYwIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX1AxNjBd PTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhcDE5MiIpID09IDApIGVjZHNhX2Rv aXRbUl9FQ19QMTkyXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYXAyMjQiKSA9 PSAwKSBlY2RzYV9kb2l0W1JfRUNfUDIyNF09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwi ZWNkc2FwMjU2IikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX1AyNTZdPTI7CisrCQlpZiAoc3RyY21w KCphcmd2LCJlY2RzYXAyNTYiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfUDI1Nl09MjsKKyAJCWVs c2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2FwMzg0IikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX1Az ODRdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhcDUyMSIpID09IDApIGVjZHNh X2RvaXRbUl9FQ19QNTIxXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYWsxNjMi KSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfSzE2M109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJn diwiZWNkc2FrMjMzIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX0syMzNdPTI7CistCQllbHNlIGlm IChzdHJjbXAoKmFyZ3YsImVjZHNhazI4MyIpID09IDApIGVjZHNhX2RvaXRbUl9FQ19LMjgzXT0y OworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYWs0MDkiKSA9PSAwKSBlY2RzYV9kb2l0 W1JfRUNfSzQwOV09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2FrNTcxIikgPT0g MCkgZWNkc2FfZG9pdFtSX0VDX0s1NzFdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVj ZHNhYjE2MyIpID09IDApIGVjZHNhX2RvaXRbUl9FQ19CMTYzXT0yOworLQkJZWxzZSBpZiAoc3Ry Y21wKCphcmd2LCJlY2RzYWIyMzMiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfQjIzM109MjsKKy0J CWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2FiMjgzIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VD X0IyODNdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhYjQwOSIpID09IDApIGVj ZHNhX2RvaXRbUl9FQ19CNDA5XT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYWI1 NzEiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfQjU3MV09MjsKKyAJCWVsc2UgaWYgKHN0cmNtcCgq YXJndiwiZWNkc2EiKSA9PSAwKQorIAkJCXsKKy0JCQlmb3IgKGk9MDsgaSA8IEVDX05VTTsgaSsr KQorKwkJCWZvciAoaT1SX0VDX1AyNTY7IGkgPD0gUl9FQ19QMzg0OyBpKyspCisgCQkJCWVjZHNh X2RvaXRbaV09MTsKKyAJCQl9CisgCQllbHNlCisgI2VuZGlmCisgI2lmbmRlZiBPUEVOU1NMX05P X0VDREgKKy0JCSAgICAgaWYgKHN0cmNtcCgqYXJndiwiZWNkaHAxNjAiKSA9PSAwKSBlY2RoX2Rv aXRbUl9FQ19QMTYwXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RocDE5MiIpID09 IDApIGVjZGhfZG9pdFtSX0VDX1AxOTJdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVj ZGhwMjI0IikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfUDIyNF09MjsKKy0JCWVsc2UgaWYgKHN0cmNt cCgqYXJndiwiZWNkaHAyNTYiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19QMjU2XT0yOworKwkJaWYg KHN0cmNtcCgqYXJndiwiZWNkaHAyNTYiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19QMjU2XT0yOwor IAkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RocDM4NCIpID09IDApIGVjZGhfZG9pdFtSX0VD X1AzODRdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhwNTIxIikgPT0gMCkgZWNk aF9kb2l0W1JfRUNfUDUyMV09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaGsxNjMi KSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19LMTYzXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2 LCJlY2RoazIzMyIpID09IDApIGVjZGhfZG9pdFtSX0VDX0syMzNdPTI7CistCQllbHNlIGlmIChz dHJjbXAoKmFyZ3YsImVjZGhrMjgzIikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfSzI4M109MjsKKy0J CWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaGs0MDkiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19L NDA5XT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RoazU3MSIpID09IDApIGVjZGhf ZG9pdFtSX0VDX0s1NzFdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhiMTYzIikg PT0gMCkgZWNkaF9kb2l0W1JfRUNfQjE2M109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwi ZWNkaGIyMzMiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19CMjMzXT0yOworLQkJZWxzZSBpZiAoc3Ry Y21wKCphcmd2LCJlY2RoYjI4MyIpID09IDApIGVjZGhfZG9pdFtSX0VDX0IyODNdPTI7CistCQll bHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhiNDA5IikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfQjQw OV09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaGI1NzEiKSA9PSAwKSBlY2RoX2Rv aXRbUl9FQ19CNTcxXT0yOworIAkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RoIikgPT0gMCkK KyAJCQl7CistCQkJZm9yIChpPTA7IGkgPCBFQ19OVU07IGkrKykKKysJCQlmb3IgKGk9Ul9FQ19Q MjU2OyBpIDw9IFJfRUNfUDM4NDsgaSsrKQorIAkJCQllY2RoX2RvaXRbaV09MTsKKyAJCQl9Cisg CQllbHNlCitAQCAtMTA5NywxNSArMTA2OSwxMSBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCisgCQkJQklPX3ByaW50ZihiaW9fZXJyLCJkc2E1MTIgICBkc2ExMDI0ICBkc2EyMDQ4 XG4iKTsKKyAjZW5kaWYKKyAjaWZuZGVmIE9QRU5TU0xfTk9fRUNEU0EKKy0JCQlCSU9fcHJpbnRm KGJpb19lcnIsImVjZHNhcDE2MCBlY2RzYXAxOTIgZWNkc2FwMjI0IGVjZHNhcDI1NiBlY2RzYXAz ODQgZWNkc2FwNTIxXG4iKTsKKy0JCQlCSU9fcHJpbnRmKGJpb19lcnIsImVjZHNhazE2MyBlY2Rz YWsyMzMgZWNkc2FrMjgzIGVjZHNhazQwOSBlY2RzYWs1NzFcbiIpOworLQkJCUJJT19wcmludGYo YmlvX2VyciwiZWNkc2FiMTYzIGVjZHNhYjIzMyBlY2RzYWIyODMgZWNkc2FiNDA5IGVjZHNhYjU3 MVxuIik7CisrCQkJQklPX3ByaW50ZihiaW9fZXJyLCJlY2RzYXAyNTYgZWNkc2FwMzg0XG4iKTsK KyAJCQlCSU9fcHJpbnRmKGJpb19lcnIsImVjZHNhXG4iKTsKKyAjZW5kaWYKKyAjaWZuZGVmIE9Q RU5TU0xfTk9fRUNESAorLQkJCUJJT19wcmludGYoYmlvX2VyciwiZWNkaHAxNjAgIGVjZGhwMTky ICBlY2RocDIyNCAgZWNkaHAyNTYgIGVjZGhwMzg0ICBlY2RocDUyMVxuIik7CistCQkJQklPX3By aW50ZihiaW9fZXJyLCJlY2RoazE2MyAgZWNkaGsyMzMgIGVjZGhrMjgzICBlY2RoazQwOSAgZWNk aGs1NzFcbiIpOworLQkJCUJJT19wcmludGYoYmlvX2VyciwiZWNkaGIxNjMgIGVjZGhiMjMzICBl Y2RoYjI4MyAgZWNkaGI0MDkgIGVjZGhiNTcxXG4iKTsKKysJCQlCSU9fcHJpbnRmKGJpb19lcnIs ImVjZGhwMjU2ICBlY2RocDM4NFxuIik7CisgCQkJQklPX3ByaW50ZihiaW9fZXJyLCJlY2RoXG4i KTsKKyAjZW5kaWYKKyAKK0BAIC0xMTgxLDExICsxMTQ5LDExIEBAIGludCBNQUlOKGludCBhcmdj LCBjaGFyICoqYXJndikKKyAJCSAgICBpZiAoIUZJUFNfbW9kZSgpIHx8IGkgIT0gUl9EU0FfNTEy KQorIAkJCWRzYV9kb2l0W2ldPTE7CisgI2lmbmRlZiBPUEVOU1NMX05PX0VDRFNBCistCQlmb3Ig KGk9MDsgaTxFQ19OVU07IGkrKykKKysJCWZvciAoaT1SX0VDX1AyNTY7IGkgPD0gUl9FQ19QMzg0 OyBpKyspCisgCQkJZWNkc2FfZG9pdFtpXT0xOworICNlbmRpZgorICNpZm5kZWYgT1BFTlNTTF9O T19FQ0RICistCQlmb3IgKGk9MDsgaTxFQ19OVU07IGkrKykKKysJCWZvciAoaT1SX0VDX1AyNTY7 IGkgPD0gUl9FQ19QMzg0OyBpKyspCisgCQkJZWNkaF9kb2l0W2ldPTE7CisgI2VuZGlmCisgCQl9 CgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC5zcGVjIGIvb3BlbnNzbC5zcGVjCmluZGV4IDMyYmUzYzku LmJkNjU1ZDIgMTAwNjQ0Ci0tLSBhL29wZW5zc2wuc3BlYworKysgYi9vcGVuc3NsLnNwZWMKQEAg LTIxLDEyICsyMSwxMiBAQAogU3VtbWFyeTogVXRpbGl0aWVzIGZyb20gdGhlIGdlbmVyYWwgcHVy cG9zZSBjcnlwdG9ncmFwaHkgbGlicmFyeSB3aXRoIFRMUyBpbXBsZW1lbnRhdGlvbgogTmFtZTog b3BlbnNzbAogVmVyc2lvbjogMS4wLjFlCi1SZWxlYXNlOiAyNyV7P2Rpc3R9CitSZWxlYXNlOiAy OCV7P2Rpc3R9CiBFcG9jaDogMQogIyBXZSBoYXZlIHRvIHJlbW92ZSBjZXJ0YWluIHBhdGVudGVk IGFsZ29yaXRobXMgZnJvbSB0aGUgb3BlbnNzbCBzb3VyY2UKICMgdGFyYmFsbCB3aXRoIHRoZSBo b2JibGUtb3BlbnNzbCBzY3JpcHQgd2hpY2ggaXMgaW5jbHVkZWQgYmVsb3cuCiAjIFRoZSBvcmln aW5hbCBvcGVuc3NsIHVwc3RyZWFtIHRhcmJhbGwgY2Fubm90IGJlIHNoaXBwZWQgaW4gdGhlIC5z cmMucnBtLgotU291cmNlOiBvcGVuc3NsLSV7dmVyc2lvbn0tdXNhLnRhci54egorU291cmNlOiBv cGVuc3NsLSV7dmVyc2lvbn0taG9iYmxlZC50YXIueHoKIFNvdXJjZTE6IGhvYmJsZS1vcGVuc3Ns CiBTb3VyY2UyOiBNYWtlZmlsZS5jZXJ0aWZpY2F0ZQogU291cmNlNjogbWFrZS1kdW1teS1jZXJ0 CkBAIC0zNSw3ICszNSw4IEBAIFNvdXJjZTg6IG9wZW5zc2wtdGhyZWFkLXRlc3QuYwogU291cmNl OTogb3BlbnNzbGNvbmYtbmV3LmgKIFNvdXJjZTEwOiBvcGVuc3NsY29uZi1uZXctd2FybmluZy5o CiBTb3VyY2UxMTogUkVBRE1FLkZJUFMKLVNvdXJjZTEyOiBvcGVuc3NsLWZpcHMuY29uZgorU291 cmNlMTI6IGVjX2N1cnZlLmMKK1NvdXJjZTEzOiBlY3Rlc3QuYwogIyBCdWlsZCBjaGFuZ2VzCiBQ YXRjaDE6IG9wZW5zc2wtMS4wLjEtYmV0YTItcnBtYnVpbGQucGF0Y2gKIFBhdGNoMjogb3BlbnNz bC0xLjAuMGYtZGVmYXVsdHMucGF0Y2gKQEAgLTY5LDE1ICs3MCwxNiBAQCBQYXRjaDY1OiBvcGVu c3NsLTEuMC4wZS1jaGlsLWZpeGVzLnBhdGNoCiBQYXRjaDY2OiBvcGVuc3NsLTEuMC4xLXBrZ2Nv bmZpZy1rcmI1LnBhdGNoCiBQYXRjaDY4OiBvcGVuc3NsLTEuMC4xZS1zZWN1cmUtZ2V0ZW52LnBh dGNoCiBQYXRjaDY5OiBvcGVuc3NsLTEuMC4xYy1kaC0xMDI0LnBhdGNoCitQYXRjaDcwOiBvcGVu c3NsLTEuMC4xZS1maXBzLWVjLnBhdGNoCiBQYXRjaDcxOiBvcGVuc3NsLTEuMC4xZS1tYW5maXgu cGF0Y2gKIFBhdGNoNzI6IG9wZW5zc2wtMS4wLjFlLWZpcHMtY3Rvci5wYXRjaAorUGF0Y2g3Mzog b3BlbnNzbC0xLjAuMWUtc3BlZWQtc3VpdGViLnBhdGNoCiAjIEJhY2twb3J0ZWQgZml4ZXMgaW5j bHVkaW5nIHNlY3VyaXR5IGZpeGVzCiBQYXRjaDgxOiBvcGVuc3NsLTEuMC4xLWJldGEyLXBhZGxv Y2s2NC5wYXRjaAogUGF0Y2g4Mjogb3BlbnNzbC0xLjAuMWUtYmFja3BvcnRzLnBhdGNoCiBQYXRj aDgzOiBvcGVuc3NsLTEuMC4xZS1iYWQtbWFjLnBhdGNoCiBQYXRjaDg0OiBvcGVuc3NsLTEuMC4x ZS10cnVzdGVkLWZpcnN0LnBhdGNoCiBQYXRjaDg1OiBvcGVuc3NsLTEuMC4xZS1hcm0tdXNlLWVs Zi1hdXh2LWNhcHMucGF0Y2gKLVBhdGNoODY6IG9wZW5zc2wtMS4wLjFlLWZpcHMtZWMucGF0Y2gK IAogTGljZW5zZTogT3BlblNTTAogR3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMK QEAgLTEwMCw4ICsxMDIsOCBAQCBHcm91cDogU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwog UmVxdWlyZXM6IGNhLWNlcnRpZmljYXRlcyA+PSAyMDA4LTUKICMgTmVlZGVkIG9ic29sZXRlcyBk dWUgdG8gdGhlIGJhc2UvbGliIHN1YnBhY2thZ2Ugc3BsaXQKIE9ic29sZXRlczogb3BlbnNzbCA8 IDE6MS4wLjEtMC4zLmJldGEzCi0jIE5lZWRlZCBmb3IgcHJvcGVyIHRyYW5zYWN0aW9uIG9yZGVy aW5nIGlmIG9wZW5zc2wtZmlwcyBpcyBpbnN0YWxsZWQKLU9yZGVyV2l0aFJlcXVpcmVzKHByZSk6 IG9wZW5zc2wtZmlwcworT2Jzb2xldGVzOiBvcGVuc3NsLWZpcHMgPCAxOjEuMC4xZS0yOAorUHJv dmlkZXM6IG9wZW5zc2wtZmlwcyA9ICV7ZXBvY2h9OiV7dmVyc2lvbn0tJXtyZWxlYXNlfQogCiAl ZGVzY3JpcHRpb24gbGlicwogT3BlblNTTCBpcyBhIHRvb2xraXQgZm9yIHN1cHBvcnRpbmcgY3J5 cHRvZ3JhcGh5LiBUaGUgb3BlbnNzbC1saWJzCkBAIC0xNDIsMjIgKzE0NCwxNSBAQCBPcGVuU1NM IGlzIGEgdG9vbGtpdCBmb3Igc3VwcG9ydGluZyBjcnlwdG9ncmFwaHkuIFRoZSBvcGVuc3NsLXBl cmwKIHBhY2thZ2UgcHJvdmlkZXMgUGVybCBzY3JpcHRzIGZvciBjb252ZXJ0aW5nIGNlcnRpZmlj YXRlcyBhbmQga2V5cwogZnJvbSBvdGhlciBmb3JtYXRzIHRvIHRoZSBmb3JtYXRzIHVzZWQgYnkg dGhlIE9wZW5TU0wgdG9vbGtpdC4KIAotJXBhY2thZ2UgZmlwcwotU3VtbWFyeTogVGhlIEZJUFMg bW9kdWxlIHBhY2thZ2UgZm9yIE9wZW5TU0wKLUdyb3VwOiBTeXN0ZW0gRW52aXJvbm1lbnQvTGli cmFyaWVzCi1SZXF1aXJlczogJXtuYW1lfS1saWJzJXs/X2lzYX0gPSAle2Vwb2NofTole3ZlcnNp b259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIGZpcHMKLU9wZW5TU0wgaXMgYSB0b29sa2l0 IGZvciBzdXBwb3J0aW5nIGNyeXB0b2dyYXBoeS4gVGhlIG9wZW5zc2wtZmlwcwotcGFja2FnZSBw cm92aWRlcyBmaWxlcyB0aGF0IGNvbXBsZXRlIHRoZSBpbnN0YWxsYXRpb24gb2YgdGhlCi1PcGVu U1NMIEZJUFMgbW9kdWxlLgotCiAlcHJlcAogJXNldHVwIC1xIC1uICV7bmFtZX0tJXt2ZXJzaW9u fQogCiAjIFRoZSBob2JibGVfb3BlbnNzbCBpcyBjYWxsZWQgaGVyZSByZWR1bmRhbnRseSwganVz dCB0byBiZSBzdXJlLgogIyBUaGUgdGFyYmFsbCBoYXMgYWxyZWFkeSB0aGUgc291cmNlcyByZW1v dmVkLgogJXtTT1VSQ0UxfSA+IC9kZXYvbnVsbAorCitjcCAle1NPVVJDRTEyfSAle1NPVVJDRTEz fSBjcnlwdG8vZWMvCisKICVwYXRjaDEgLXAxIC1iIC5ycG1idWlsZAogJXBhdGNoMiAtcDEgLWIg LmRlZmF1bHRzCiAlcGF0Y2g0IC1wMSAtYiAuZW5naW5lc2RpciAlez9fcmF3YnVpbGR9CkBAIC0x OTAsMTUgKzE4NSwxNiBAQCBPcGVuU1NMIEZJUFMgbW9kdWxlLgogJXBhdGNoNjYgLXAxIC1iIC5r cmI1CiAlcGF0Y2g2OCAtcDEgLWIgLnNlY3VyZS1nZXRlbnYKICVwYXRjaDY5IC1wMSAtYiAuZGgx MDI0CislcGF0Y2g3MCAtcDEgLWIgLmZpcHMtZWMKKyVwYXRjaDcyIC1wMSAtYiAuZmlwcy1jdG9y CislcGF0Y2g3MyAtcDEgLWIgLnN1aXRlYgogCiAlcGF0Y2g4MSAtcDEgLWIgLnBhZGxvY2s2NAog JXBhdGNoODIgLXAxIC1iIC5iYWNrcG9ydHMKICVwYXRjaDcxIC1wMSAtYiAubWFuZml4Ci0lcGF0 Y2g3MiAtcDEgLWIgLmZpcHMtY3RvcgogJXBhdGNoODMgLXAxIC1iIC5iYWQtbWFjCiAlcGF0Y2g4 NCAtcDEgLWIgLnRydXN0ZWQtZmlyc3QKICVwYXRjaDg1IC1wMSAtYiAuYXJtY2FwCi0lcGF0Y2g4 NiAtcDEgLWIgLmZpcHMtZWMKIAogc2VkIC1pICdzL1NITElCX1ZFUlNJT05fTlVNQkVSICIxLjAu MCIvU0hMSUJfVkVSU0lPTl9OVU1CRVIgIiV7dmVyc2lvbn0iLycgY3J5cHRvL29wZW5zc2x2LmgK IApAQCAtMjUzLDcgKzI0OSw3IEBAIHNzbGFyY2g9bGludXgtcHBjNjQKIC4vQ29uZmlndXJlIFwK IAktLXByZWZpeD0le19wcmVmaXh9IC0tb3BlbnNzbGRpcj0le19zeXNjb25mZGlyfS9wa2kvdGxz ICR7c3NsZmxhZ3N9IFwKIAl6bGliIGVuYWJsZS1jYW1lbGxpYSBlbmFibGUtc2VlZCBlbmFibGUt dGxzZXh0IGVuYWJsZS1yZmMzNzc5IFwKLQllbmFibGUtY21zIGVuYWJsZS1tZDIgbm8tbWRjMiBu by1yYzUgbm8tc3JwIFwKKwllbmFibGUtY21zIGVuYWJsZS1tZDIgbm8tbWRjMiBuby1yYzUgbm8t ZWMybSBuby1nb3N0IG5vLXNycCBcCiAJLS13aXRoLWtyYjUtZmxhdm9yPU1JVCAtLWVuZ2luZXNk aXI9JXtfbGliZGlyfS9vcGVuc3NsL2VuZ2luZXMgXAogCS0td2l0aC1rcmI1LWRpcj0vdXNyIHNo YXJlZCAgJHtzc2xhcmNofSAlez8hbm9maXBzOmZpcHN9CiAKQEAgLTI2MSw3ICsyNTcsNyBAQCBz c2xhcmNoPWxpbnV4LXBwYzY0CiAjIG1hcmtlZCBhcyBub3QgcmVxdWlyaW5nIGFuIGV4ZWN1dGFi bGUgc3RhY2suCiAjIEFsc28gYWRkIC1EUFVSSUZZIHRvIG1ha2UgdXNpbmcgdmFsZ3JpbmQgd2l0 aCBvcGVuc3NsIGVhc2llciBhcyB3ZSBkbyBub3QKICMgd2FudCB0byBkZXBlbmQgb24gdGhlIHVu aW5pdGlhbGl6ZWQgbWVtb3J5IGFzIGEgc291cmNlIG9mIGVudHJvcHkgYW55d2F5LgotUlBNX09Q VF9GTEFHUz0iJFJQTV9PUFRfRkxBR1MgLVdhLC0tbm9leGVjc3RhY2sgLURQVVJJRlkgLURITUFD X1NVRkZJWD1cXFwiLiV7dmVyc2lvbn0tJXtyZWxlYXNlfS5obWFjXFxcIiIKK1JQTV9PUFRfRkxB R1M9IiRSUE1fT1BUX0ZMQUdTIC1XYSwtLW5vZXhlY3N0YWNrIC1EUFVSSUZZIgogbWFrZSBkZXBl bmQKIG1ha2UgYWxsCiAKQEAgLTI5NiwxMCArMjkyLDEwIEBAIG1ha2UgLUMgdGVzdCBhcHBzIHRl c3RzCiAgICAgJXs/X19kZWJ1Z19wYWNrYWdlOiV7X19kZWJ1Z19pbnN0YWxsX3Bvc3R9fSBcCiAg ICAgJXtfX2FyY2hfaW5zdGFsbF9wb3N0fSBcCiAgICAgJXtfX29zX2luc3RhbGxfcG9zdH0gXAot ICAgIGNyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjICRSUE1fQlVJTERfUk9PVCV7X2xp YmRpcn0vbGliY3J5cHRvLnNvLiV7dmVyc2lvbn0gPiRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0v LmxpYmNyeXB0by5zby4le3ZlcnNpb259LiV7dmVyc2lvbn0tJXtyZWxlYXNlfS5obWFjIFwKLSAg ICBsbiAtc2YgLmxpYmNyeXB0by5zby4le3ZlcnNpb259LiV7dmVyc2lvbn0tJXtyZWxlYXNlfS5o bWFjICRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vLmxpYmNyeXB0by5zby4le3NvdmVyc2lvbn0u JXt2ZXJzaW9ufS0le3JlbGVhc2V9LmhtYWMgXAotICAgIGNyeXB0by9maXBzL2ZpcHNfc3RhbmRh bG9uZV9obWFjICRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vbGlic3NsLnNvLiV7dmVyc2lvbn0g PiRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vLmxpYnNzbC5zby4le3ZlcnNpb259LiV7dmVyc2lv bn0tJXtyZWxlYXNlfS5obWFjIFwKLSAgICBsbiAtc2YgLmxpYnNzbC5zby4le3ZlcnNpb259LiV7 dmVyc2lvbn0tJXtyZWxlYXNlfS5obWFjICRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vLmxpYnNz bC5zby4le3NvdmVyc2lvbn0uJXt2ZXJzaW9ufS0le3JlbGVhc2V9LmhtYWMgXAorICAgIGNyeXB0 by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjICRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vbGli Y3J5cHRvLnNvLiV7dmVyc2lvbn0gPiRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vLmxpYmNyeXB0 by5zby4le3ZlcnNpb259LmhtYWMgXAorICAgIGxuIC1zZiAubGliY3J5cHRvLnNvLiV7dmVyc2lv bn0uaG1hYyAkUlBNX0JVSUxEX1JPT1Qle19saWJkaXJ9Ly5saWJjcnlwdG8uc28uJXtzb3ZlcnNp b259LmhtYWMgXAorICAgIGNyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjICRSUE1fQlVJ TERfUk9PVCV7X2xpYmRpcn0vbGlic3NsLnNvLiV7dmVyc2lvbn0gPiRSUE1fQlVJTERfUk9PVCV7 X2xpYmRpcn0vLmxpYnNzbC5zby4le3ZlcnNpb259LmhtYWMgXAorICAgIGxuIC1zZiAubGlic3Ns LnNvLiV7dmVyc2lvbn0uaG1hYyAkUlBNX0JVSUxEX1JPT1Qle19saWJkaXJ9Ly5saWJzc2wuc28u JXtzb3ZlcnNpb259LmhtYWMgXAogJXtuaWx9CiAKICVkZWZpbmUgX19wcm92aWRlc19leGNsdWRl X2Zyb20gJXtfbGliZGlyfS9vcGVuc3NsCkBAIC0zOTEsMTEgKzM4Nyw2IEBAIGluc3RhbGwgLW02 NDQgJXtTT1VSQ0U5fSBcCiAJJFJQTV9CVUlMRF9ST09ULyV7X3ByZWZpeH0vaW5jbHVkZS9vcGVu c3NsL29wZW5zc2xjb25mLmgKICVlbmRpZgogCi0jaW5zdGFsbCBwcmVsaW5rIGJsYWNrbGlzdAot bWtkaXIgLXAgJFJQTV9CVUlMRF9ST09ULyV7X3N5c2NvbmZkaXJ9L3ByZWxpbmsuY29uZi5kCi1p bnN0YWxsIC1tNjQ0ICV7U09VUkNFMTJ9IFwKLQkkUlBNX0JVSUxEX1JPT1QvJXtfc3lzY29uZmRp cn0vcHJlbGluay5jb25mLmQvb3BlbnNzbC1maXBzLmNvbmYKLQogIyBSZW1vdmUgdW51c2VkIGZp bGVzIGZyb20gdXBzdHJlYW0gZmlwcyBzdXBwb3J0CiBybSAtcmYgJFJQTV9CVUlMRF9ST09ULyV7 X2JpbmRpcn0vb3BlbnNzbF9maXBzX2ZpbmdlcnByaW50CiBybSAtcmYgJFJQTV9CVUlMRF9ST09U LyV7X2xpYmRpcn0vZmlwc19wcmVtYWluLioKQEAgLTQzOCw2ICs0MjksOCBAQCBybSAtcmYgJFJQ TV9CVUlMRF9ST09ULyV7X2xpYmRpcn0vZmlwc2NhbmlzdGVyLioKICVhdHRyKDA3NTUscm9vdCxy b290KSAle19saWJkaXJ9L2xpYmNyeXB0by5zby4le3NvdmVyc2lvbn0KICVhdHRyKDA3NTUscm9v dCxyb290KSAle19saWJkaXJ9L2xpYnNzbC5zby4le3ZlcnNpb259CiAlYXR0cigwNzU1LHJvb3Qs cm9vdCkgJXtfbGliZGlyfS9saWJzc2wuc28uJXtzb3ZlcnNpb259CislYXR0cigwNjQ0LHJvb3Qs cm9vdCkgJXtfbGliZGlyfS8ubGliY3J5cHRvLnNvLiouaG1hYworJWF0dHIoMDY0NCxyb290LHJv b3QpICV7X2xpYmRpcn0vLmxpYnNzbC5zby4qLmhtYWMKICVhdHRyKDA3NTUscm9vdCxyb290KSAl e19saWJkaXJ9L29wZW5zc2wKIAogJWZpbGVzIGRldmVsCkBAIC00NTgsMjMgKzQ1MSwxNSBAQCBy bSAtcmYgJFJQTV9CVUlMRF9ST09ULyV7X2xpYmRpcn0vZmlwc2NhbmlzdGVyLioKICV7X3N5c2Nv bmZkaXJ9L3BraS90bHMvbWlzYy8qLnBsCiAle19zeXNjb25mZGlyfS9wa2kvdGxzL21pc2MvdHNn ZXQKIAotJWZpbGVzIGZpcHMKLSVkZWZhdHRyKC0scm9vdCxyb290KQotJWF0dHIoMDY0NCxyb290 LHJvb3QpICV7X2xpYmRpcn0vLmxpYmNyeXB0by5zby4qLmhtYWMKLSVhdHRyKDA2NDQscm9vdCxy b290KSAle19saWJkaXJ9Ly5saWJzc2wuc28uKi5obWFjCi0jIFdlIGRvbid0IHdhbnQgdG8gZGVw ZW5kIG9uIHByZWxpbmsgZm9yIHRoaXMgZGlyZWN0b3J5Ci0lZGlyICV7X3N5c2NvbmZkaXJ9L3By ZWxpbmsuY29uZi5kCi0le19zeXNjb25mZGlyfS9wcmVsaW5rLmNvbmYuZC9vcGVuc3NsLWZpcHMu Y29uZgotCiAlcG9zdCBsaWJzIC1wIC9zYmluL2xkY29uZmlnCiAKICVwb3N0dW4gbGlicyAtcCAv c2Jpbi9sZGNvbmZpZwogCi0lcHJlIGZpcHMKLSMgTXVzdCB1c2UgcHJlIHRvIGF2b2lkIHNvbWUg cG9zc2libGUgcmFjZXMKLXByZWxpbmsgLXUgJXtfbGliZGlyfS9saWJjcnlwdG8uc28uJXt2ZXJz aW9ufSAle19saWJkaXJ9L2xpYnNzbC5zby4le3ZlcnNpb259IDI+L2Rldi9udWxsIHx8IDoKLQog JWNoYW5nZWxvZworKiBXZWQgT2N0IDE2IDIwMTMgVG9tw6HFoSBNcsOheiA8dG1yYXpAcmVkaGF0 LmNvbT4gMS4wLjFlLTI4CistIG9ubHkgRUNDIE5JU1QgU3VpdGUgQiBjdXJ2ZXMgc3VwcG9ydAor LSBkcm9wIC1maXBzIHN1YnBhY2thZ2UKKwogKiBNb24gT2N0IDE0IDIwMTMgVG9tIENhbGxhd2F5 IDxzcG90QGZlZG9yYXByb2plY3Qub3JnPiAtIDEuMC4xZS0yNwogLSByZXNvbHZlIGJ1Z3ppbGxh IDMxOTkwMSAocGhldyEgb25seSB0b29rIDYgeWVhcnMgJiA5IGRheXMpCiAKCmRpZmYgLS1naXQg YS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBkNWFiYWY4Li41NTZkY2I0IDEwMDY0NAotLS0gYS9z b3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLTNiMDg0NWNmYmJiMmFmMzUwZWYzYjAy NmY4ZGZjZDVmICBvcGVuc3NsLTEuMC4xZS11c2EudGFyLnh6Cis2MTE1YWUwYmI2MWI0ODFhOTE5 NWJhZWY3MjUxNGMyZSAgb3BlbnNzbC0xLjAuMWUtaG9iYmxlZC50YXIueHoK