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: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: fixed compiler error with clang16 on epel 8/9 and fedora38 Date: Fri, 07 Aug 2026 16:06:03 GMT Message-ID: <178611876319.1.13216866179243091660.rpms-chromium-a058070a7fc1@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: a058070a7fc1ff0bd7be10016492957c9ce896ef QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiBhMDU4MDcwYTdmYzFmZjBiZDdiZTEwMDE2NDkyOTU3 YzljZTg5NmVmCkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjQtMDItMjJUMDg6NDQ6MzErMDE6MDAKU3RhdHMgIDogKzkyMC8tNzQ0IGluIDQgZmlsZShzKQpV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2MvYTA1 ODA3MGE3ZmMxZmYwYmQ3YmUxMDAxNjQ5Mjk1N2M5Y2U4OTZlZj9icmFuY2g9ZXBlbDktbmV4dAoK TG9nOgpmaXhlZCBjb21waWxlciBlcnJvciB3aXRoIGNsYW5nMTYgb24gZXBlbCA4LzkgYW5kIGZl ZG9yYTM4CgotLS0KZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEyMS12OC1jKysyMC1wMS5wYXRjaCBi L2Nocm9taXVtLTEyMS12OC1jKysyMC1wMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5iZGY2YzAxCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTIxLXY4LWMr KzIwLXAxLnBhdGNoCkBAIC0wLDAgKzEsMTcxIEBACitjb21taXQgY2U3MTM0OGEwOWY2Njg5ZGQw MWE2OGRiNjRiMTcyMTkxZDAxODJkOAorQXV0aG9yOiBBbmRyZXkgS29zeWFrb3YgPGNhc2VxQGNo cm9taXVtLm9yZz4KK0RhdGU6ICAgVGh1IERlYyAyMSAxODozODozOCAyMDIzICswMDAwCisKKyAg ICBbYmluZGluZ3NdIFVzZSB2ODo6QXJyYXk6Okl0ZXJhdGUgZm9yIGNvbnZlcnRpbmcgc2NyaXB0 IHdyYXBwYWJsZXMKKyAgICAKKyAgICAKKyAgICBUaGlzIGNoYW5nZXMgQ3JlYXRlSURMU2VxdWVu Y2VGcm9tVjhBcnJheSB0byB1c2UgdGhlIG5ldworICAgIHY4OjpBcnJheTo6SXRlcmF0ZSgpIG9w ZXJhdGlvbi4KKyAgICBUaGlzIHNwZWVkcyB1cCB0aGUgImV4ZWNCdW5kbGVzIiBwYXJ0IG9mIHRo ZSBtaWNyb2JlbmNobWFyaworICAgIGF0IGNyYnVnLmNvbS9kYXduLzE4NTggYnkgYXJvdW5kIDN4 LgorICAgIFRoaXMgZGVwZW5kcyBvbiBjcnJldi5jb20vYy80ODQ2NTk0IGxhbmRpbmcgKGFuZCBy b2xsaW5nKSBmaXJzdC4KKyAgICAKKyAgICBUaGlzIGlzIGEgc2xpZ2h0IHJlLXdvcmsgb2YgaHR0 cHM6Ly9jcnJldi5jb20vYy80ODQ3NDQ3LzMsCisgICAgb3JpZ2luYWxseSBieSBqa3VtbWVyb3dA Y2hyb21pdW0ub3JnCisgICAgCisgICAgQnVnOiB2ODoxNDIxOCwgZGF3bjoxODU4LCAxNTExMjM5 CisgICAgQ2hhbmdlLUlkOiBJYTI2NjU1NmQwNWI0ZDUzZTY5NDJlMTI2MDlkMWMwODg4MmI0ZmYw ZgorICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2Uu Y29tL2MvY2hyb21pdW0vc3JjLysvNTEzMjEyOQorICAgIENvbW1pdC1RdWV1ZTogQW5kcmV5IEtv c3lha292IDxjYXNlcUBjaHJvbWl1bS5vcmc+CisgICAgUmV2aWV3ZWQtYnk6IFl1a2kgU2hpaW5v IDx5dWtpc2hpaW5vQGNocm9taXVtLm9yZz4KKyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMv aGVhZHMvbWFpbkB7IzEyNDAyMzZ9CisKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHMuaCBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5o CitpbmRleCAxZTVhMDc5MGRmNmRhLi5hNWMyOGIzN2U5NDU0IDEwMDY0NAorLS0tIGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRz LmgKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0 aXZlX3ZhbHVlX3RyYWl0cy5oCitAQCAtODQsNiArODQsMTIgQEAgc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzQmFzZSB7CisgICAgICAgc3RkOjppc19wb2ludGVyX3Y8SW1wbFR5cGU+IHx8CisgICAg ICAgcmVxdWlyZXMoSW1wbFR5cGUgdmFsdWUpIHsgdmFsdWUuSXNOdWxsKCk7IH07CisgCisrICAv LyBUaGlzIHNob3VsZCBvbmx5IGJlIHRydWUgZm9yIGNlcnRhaW4gc3ViY2xhc3NlcyBvZiBTY3Jp cHRXcmFwcGFibGUKKysgIC8vIHRoYXQgc2F0aXNmeSB0aGUgYXNzdW1wdGlvbnMgb2YgQ3JlYXRl SURMU2VxdWVuY2VGcm9tVjhBcnJheVNsb3coKSB3aXRoCisrICAvLyByZWdhcmRzIHRvIGhvdyBO YXRpdmVWYWx1ZSgpIGlzIGltcGxlbWVudGVkIGZvciB0aGUgdW5kZXJseWluZyB0eXBlLgorKyAg c3RhdGljIGNvbnN0ZXhwciBib29sIHN1cHBvcnRzX3NjcmlwdHdyYXBwYWJsZV9zcGVjaWZpY19m YXN0X2FycmF5X2l0ZXJhdGlvbiA9CisrICAgICAgZmFsc2U7CisrCisgICB0ZW1wbGF0ZSA8dHlw ZW5hbWUuLi4gRXh0cmFBcmdzPgorICAgc3RhdGljIGRlY2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFs dWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwuaCBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVl X3RyYWl0c19pbXBsLmgKK2luZGV4IDUwMTE1MDNkY2YxYzAuLmYwODViNmU5MDUxNjEgMTAwNjQ0 CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2 ZV92YWx1ZV90cmFpdHNfaW1wbC5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9i aW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCitAQCAtMTAzNywxMCAr MTAzNyw4NiBAQCBDcmVhdGVJRExTZXF1ZW5jZUZyb21WOEFycmF5U2xvdyh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKKyAgICAgcmV0dXJuIHt9OworICAgfQorIAorLSAgdHlwZW5hbWUgTmF0aXZlVmFs dWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpJbXBsVHlwZSByZXN1bHQ7CisrICB1c2luZyBSZXN1 bHRUeXBlID0gdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpJbXBs VHlwZTsKKysgIFJlc3VsdFR5cGUgcmVzdWx0OworICAgcmVzdWx0LlJlc2VydmVJbml0aWFsQ2Fw YWNpdHkobGVuZ3RoKTsKKyAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY3VycmVudF9jb250ZXh0 ID0gaXNvbGF0ZS0+R2V0Q3VycmVudENvbnRleHQoKTsKKyAgIHY4OjpUcnlDYXRjaCB0cnlfYmxv Y2soaXNvbGF0ZSk7CisrCisrICAvLyBGYXN0IHBhdGggLS0gd2UncmUgY3JlYXRpbmcgYSBzZXF1 ZW5jZSBvZiBzY3JpcHQgd3JhcHBhYmxlcywgd2hpY2ggY2FuIGJlCisrICAvLyBkb25lIGJ5IGRp cmVjdGx5IGdldHRpbmcgdW5kZXJseWluZyBvYmplY3QgYXMgbG9uZyBhcyBhcnJheSB0eXBlcyBh cmUKKysgIC8vIGhvbW9nZW5lb3VzLiBXaXRoIFNjcmlwdFdyYXBwYWJsZXMsIHdlIGRvbid0IGV4 cGVjdCB0byBlbnRlciBKUyBkdXJpbmcKKysgIC8vIGl0ZXJhdGlvbiwgc28gd2UgY2FuIHJlbHkg b24gdjg6OkFycmF5OjpJdGVyYXRlKCkgd2hpY2ggaXMgbXVjaCBmYXN0ZXIgdGhhbgorKyAgLy8g aXRlcmF0aW5nIGFuIGFycmF5IG9uIHRoZSBjbGllbnQgc2lkZSBvZiB0aGUgdjguIEFkZGl0aW9u YWxseSwgZm9yIG1vc3QKKysgIC8vIHN1YnNwdHllcyBvZiBTY3JpcHRXcmFwcGFibGVzLCB3ZSBj YW4gc3BlZWQgdXAgdHlwZSBjaGVja3MgKHNlZSBtb3JlIG9uCisrICAvLyB0aGF0IGJlbG93IG5l eHQgdG8gc3VwcG9ydHNfc2NyaXB0d3JhcHBhYmxlX3NwZWNpZmljX2Zhc3RfYXJyYXlfaXRlcmF0 aW9uCisrICAvLyBjaGVjay4KKysgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19iYXNlX29mX3Y8U2Ny aXB0V3JhcHBhYmxlLCBUPikgeworKyAgICBzdHJ1Y3QgQ2FsbGJhY2tEYXRhIHsKKysgICAgICBT VEFDS19BTExPQ0FURUQoKTsKKysKKysgICAgIHB1YmxpYzoKKysgICAgICB2ODo6SXNvbGF0ZSog aXNvbGF0ZTsKKysgICAgICB2ODo6VHlwZWNoZWNrV2l0bmVzcyB3aXRuZXNzOworKyAgICAgIFJl c3VsdFR5cGUmIHJlc3VsdDsKKysgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRl OworKyAgICAgIENhbGxiYWNrRGF0YSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAg ICAgICAgICAgUmVzdWx0VHlwZSYgcmVzdWx0LAorKyAgICAgICAgICAgICAgICAgICBFeGNlcHRp b25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKQorKyAgICAgICAgICA6IGlzb2xhdGUoaXNvbGF0ZSks CisrICAgICAgICAgICAgd2l0bmVzcyhpc29sYXRlKSwKKysgICAgICAgICAgICByZXN1bHQocmVz dWx0KSwKKysgICAgICAgICAgICBleGNlcHRpb25fc3RhdGUoZXhjZXB0aW9uX3N0YXRlKSB7fQor KyAgICB9OworKworKyAgICBDYWxsYmFja0RhdGEgY2FsbGJhY2tfZGF0YShpc29sYXRlLCByZXN1 bHQsIGV4Y2VwdGlvbl9zdGF0ZSk7CisrICAgIHY4OjpBcnJheTo6SXRlcmF0aW9uQ2FsbGJhY2sg Y2FsbGJhY2sgPSBbXSh1aW50MzJfdCBpbmRleCwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4X2VsZW1lbnQsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBkYXRh KSB7CisrICAgICAgQ2FsbGJhY2tEYXRhKiBjYWxsYmFja19kYXRhID0gcmVpbnRlcnByZXRfY2Fz dDxDYWxsYmFja0RhdGEqPihkYXRhKTsKKysgICAgICAvLyAzLjQuIEluaXRpYWxpemUgU2kgdG8g dGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIG5leHRJdGVtIHRvIGFuIElETCB2YWx1ZQorKyAgICAg IC8vICAgb2YgdHlwZSBULgorKyAgICAgIHY4OjpUeXBlY2hlY2tXaXRuZXNzJiB3aXRuZXNzID0g Y2FsbGJhY2tfZGF0YS0+d2l0bmVzczsKKysgICAgICAvLyBXZSBjYW4gc3BlZWQgdXAgdHlwZSBj aGVjayBieSB0YWtpbmcgYWR2YW50YWdlIG9mIFY4J3MgdHlwZSB3aXRuZXNzLAorKyAgICAgIC8v IHByb3ZpZGVkIHRyYWl0cycgTmF0aXZlVmFsdWUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBoYXZl IGFkZGl0aW9uYWwKKysgICAgICAvLyBsb2dpYyBiZXlvbmQgY2hlY2tpbmcgdGhlIHR5cGUgYW5k IGNhbGxpbmcgVG9TY3JpcHRXcmFwcGFibGUoKS4KKysgICAgICBpZiBjb25zdGV4cHIgKAorKyAg ICAgICAgICBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgICAgICAgICAgIFQ+OjpzdXBwb3J0c19z Y3JpcHR3cmFwcGFibGVfc3BlY2lmaWNfZmFzdF9hcnJheV9pdGVyYXRpb24pIHsKKysgICAgICAg IGlmICh3aXRuZXNzLk1hdGNoZXModjhfZWxlbWVudCkpIHsKKysgICAgICAgICAgYXV0byYmIHZh bHVlID0gVG9TY3JpcHRXcmFwcGFibGUodjhfZWxlbWVudC5Bczx2ODo6T2JqZWN0PigpKQorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT50ZW1wbGF0ZSBUb0ltcGw8VD4oKTsKKysgICAg ICAgICAgY2FsbGJhY2tfZGF0YS0+cmVzdWx0LnB1c2hfYmFjayhzdGQ6Om1vdmUodmFsdWUpKTsK KysgICAgICAgICAgcmV0dXJuIHY4OjpBcnJheTo6Q2FsbGJhY2tSZXN1bHQ6OmtDb250aW51ZTsK KysgICAgICAgIH0KKysgICAgICB9CisrICAgICAgYXV0byYmIGVsZW1lbnQgPSBOYXRpdmVWYWx1 ZVRyYWl0czxUPjo6TmF0aXZlVmFsdWUoCisrICAgICAgICAgIGNhbGxiYWNrX2RhdGEtPmlzb2xh dGUsIHY4X2VsZW1lbnQsIGNhbGxiYWNrX2RhdGEtPmV4Y2VwdGlvbl9zdGF0ZSk7CisrICAgICAg aWYgKGNhbGxiYWNrX2RhdGEtPmV4Y2VwdGlvbl9zdGF0ZS5IYWRFeGNlcHRpb24oKSkgeworKyAg ICAgICAgLy8gSXQgZG9lc24ndCBtYXR0ZXIgd2hldGhlciB3ZSByZXR1cm4gYGtFeGNlcHRpb25g IG9yIGBrQnJlYWtgIGhlcmUsCisrICAgICAgICAvLyBhcyB0aGF0IG9ubHkgYWZmZWN0cyB0aGUg cmV0dXJuIHZhbHVlIG9mIGB2OF9hcnJheS0+SXRlcmF0ZSgpYCwKKysgICAgICAgIC8vIHdoaWNo IHdlIGFyZSBpZ25vcmluZy4KKysgICAgICAgIHJldHVybiB2ODo6QXJyYXk6OkNhbGxiYWNrUmVz dWx0OjprRXhjZXB0aW9uOworKyAgICAgIH0KKysgICAgICBpZiBjb25zdGV4cHIgKAorKyAgICAg ICAgICBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgICAgICAgICAgIFQ+OjpzdXBwb3J0c19zY3Jp cHR3cmFwcGFibGVfc3BlY2lmaWNfZmFzdF9hcnJheV9pdGVyYXRpb24pIHsKKysgICAgICAgIHdp dG5lc3MuVXBkYXRlKHY4X2VsZW1lbnQpOworKyAgICAgIH0KKysgICAgICBjYWxsYmFja19kYXRh LT5yZXN1bHQucHVzaF9iYWNrKHN0ZDo6bW92ZShlbGVtZW50KSk7CisrICAgICAgcmV0dXJuIHY4 OjpBcnJheTo6Q2FsbGJhY2tSZXN1bHQ6OmtDb250aW51ZTsKKysgICAgfTsKKysgICAgaWYgKCF2 OF9hcnJheS0+SXRlcmF0ZShjdXJyZW50X2NvbnRleHQsIGNhbGxiYWNrLCAmY2FsbGJhY2tfZGF0 YSkKKysgICAgICAgICAgICAgLklzSnVzdCgpKSB7CisrICAgICAgaWYgKHRyeV9ibG9jay5IYXND YXVnaHQoKSkgeworKyAgICAgICAgZXhjZXB0aW9uX3N0YXRlLlJldGhyb3dWOEV4Y2VwdGlvbih0 cnlfYmxvY2suRXhjZXB0aW9uKCkpOworKyAgICAgIH0KKysgICAgICBEQ0hFQ0soZXhjZXB0aW9u X3N0YXRlLkhhZEV4Y2VwdGlvbigpKTsKKysgICAgICByZXR1cm4ge307CisrICAgIH0KKysgICAg cmV0dXJuIHJlc3VsdDsKKysgIH0KKysKKyAgIC8vIEFycmF5IGxlbmd0aCBtYXkgY2hhbmdlIGlm IGFycmF5IGlzIG11dGF0ZWQgZHVyaW5nIGl0ZXJhdGlvbi4KKyAgIGZvciAodWludDMyX3QgaSA9 IDA7IGkgPCB2OF9hcnJheS0+TGVuZ3RoKCk7ICsraSkgeworICAgICB2ODo6TG9jYWw8djg6OlZh bHVlPiB2OF9lbGVtZW50OworQEAgLTEwNTYsNiArMTEzMiw3IEBAIENyZWF0ZUlETFNlcXVlbmNl RnJvbVY4QXJyYXlTbG93KHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgIHJldHVybiB7fTsK KyAgICAgcmVzdWx0LnB1c2hfYmFjayhzdGQ6Om1vdmUoZWxlbWVudCkpOworICAgfQorKworICAg Ly8gMy4yLiBJZiBuZXh0IGlzIGZhbHNlLCB0aGVuIHJldHVybiBhbiBJREwgc2VxdWVuY2UgdmFs dWUgb2YgdHlwZQorICAgLy8gICBzZXF1ZW5jZTxUPiBvZiBsZW5ndGggaSwgd2hlcmUgdGhlIHZh bHVlIG9mIHRoZSBlbGVtZW50IGF0IGluZGV4IGogaXMgU2ouCisgICByZXR1cm4gcmVzdWx0Owor QEAgLTEzOTgsNiArMTQ3NSw3IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1Ymxp YyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKyAgIH0KKyB9OworIAorKy8vIEludGVyZmFj ZSB0eXBlcworIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgcmVxdWlyZXMgc3RkOjpkZXJpdmVk X2Zyb208VCwgQ2FsbGJhY2tJbnRlcmZhY2VCYXNlPgorIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxJRExOdWxsYWJsZTxUPj4KK0BAIC0xNDcwLDEyICsxNTQ4LDIxIEBAIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4geworIHRlbXBs YXRlIDx0eXBlbmFtZSBUPgorICAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgU2NyaXB0 V3JhcHBhYmxlPgorIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVW YWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKysgIC8vIFRoaXMgc2lnbmlmaWVzIHRoYXQgQ3JlYXRlSURM U2VxdWVuY2VGcm9tVjhBcnJheVNsb3coKSBtYXkgYXBwbHkKKysgIC8vIGNlcnRhaW4gb3B0aW1p emF0aW9uIGJhc2VkIG9uIGFzc3VtcHRpb25zIGFib3V0IGBOYXRpdmVWYWx1ZSgpYAorKyAgLy8g aW1wbGVtZW50YXRpb24gYmVsb3cuIEZvciBzdWJjbGFzc2VzIG9mIFNjcmlwdFdyYXBwYWJsZSB0 aGF0IGhhdmUKKysgIC8vIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbiBvZiBOYXRpdmVWYWx1ZSgp LCB0aGlzIHNob3VsZCByZW1haW4gZmFsc2UuCisrICBzdGF0aWMgY29uc3RleHByIGJvb2wgc3Vw cG9ydHNfc2NyaXB0d3JhcHBhYmxlX3NwZWNpZmljX2Zhc3RfYXJyYXlfaXRlcmF0aW9uID0KKysg ICAgICB0cnVlOworKworICAgc3RhdGljIGlubGluZSBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlv blN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKyAgICAgY29uc3QgV3JhcHBlclR5cGVJbmZvKiB3 cmFwcGVyX3R5cGVfaW5mbyA9IFQ6OkdldFN0YXRpY1dyYXBwZXJUeXBlSW5mbygpOworLSAgICBp ZiAoVjhQZXJJc29sYXRlRGF0YTo6RnJvbShpc29sYXRlKS0+SGFzSW5zdGFuY2Uod3JhcHBlcl90 eXBlX2luZm8sIHZhbHVlKSkKKysgICAgaWYgKFY4UGVySXNvbGF0ZURhdGE6OkZyb20oaXNvbGF0 ZSktPkhhc0luc3RhbmNlKHdyYXBwZXJfdHlwZV9pbmZvLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUpKSB7CisgICAgICAgcmV0dXJu IFRvU2NyaXB0V3JhcHBhYmxlKHZhbHVlLkFzPHY4OjpPYmplY3Q+KCkpLT50ZW1wbGF0ZSBUb0lt cGw8VD4oKTsKKysgICAgfQorIAorICAgICBiaW5kaW5nczo6TmF0aXZlVmFsdWVUcmFpdHNJbnRl cmZhY2VOb3RPZlR5cGUod3JhcHBlcl90eXBlX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25fc3RhdGUpOwoKZGlmZiAtLWdp dCBhL2Nocm9taXVtLTEyMS12OC1jKysyMC5wYXRjaCBiL2Nocm9taXVtLTEyMS12OC1jKysyMC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjNiYjUwCi0tLSAvZGV2 L251bGwKKysrIGIvY2hyb21pdW0tMTIxLXY4LWMrKzIwLnBhdGNoCkBAIC0wLDAgKzEsNzQzIEBA Citjb21taXQgOTQwYWY5ZjJjODdiNDM2NTU5Yjk3YzUzNzYzYWE5ZWFhZjEyNTRlYgorQXV0aG9y OiBKZXJlbXkgUm9tYW4gPGpicm9tYW5AY2hyb21pdW0ub3JnPgorRGF0ZTogICBXZWQgTm92IDE1 IDE2OjI0OjU0IDIwMjMgKzAwMDAKKworICAgIFVzZSBDKysyMCBmZWF0dXJlcyB0byBzaW1wbGlm eSBibGluazo6TmF0aXZlVmFsdWVUcmFpdHNCYXNlLgorICAgIAorICAgIFRoZXNlIGFsbG93IHNv bWUgb2YgdGhlIG1ldGFwcm9ncmFtbWluZyBiaXRzIHRvIGJlIHNpbXBsaWZpZWQgYSBsaXR0bGUu CisgICAgCisgICAgQ2hhbmdlLUlkOiBJMDUyYjQzOTc1ODZkMjEzNDg0MDE2MTZlMTc5MmFmZGI5 NjYyZjk3NQorICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVz b3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNTAzMDMzNQorICAgIFJldmlld2VkLWJ5OiBZdWtp IFNoaWlubyA8eXVraXNoaWlub0BjaHJvbWl1bS5vcmc+CisgICAgQ29tbWl0LVF1ZXVlOiBKZXJl bXkgUm9tYW4gPGpicm9tYW5AY2hyb21pdW0ub3JnPgorICAgIENyLUNvbW1pdC1Qb3NpdGlvbjog cmVmcy9oZWFkcy9tYWluQHsjMTIyNDk3OH0KKworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oIGIvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJh aXRzLmgKK2luZGV4IDdmYzkxZDE0YWNjNzEuLjFlNWEwNzkwZGY2ZGEgMTAwNjQ0CistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90 cmFpdHMuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92 OC9uYXRpdmVfdmFsdWVfdHJhaXRzLmgKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgVEhJUkRf UEFSVFlfQkxJTktfUkVOREVSRVJfQklORElOR1NfQ09SRV9WOF9OQVRJVkVfVkFMVUVfVFJBSVRT X0hfCisgI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9CSU5ESU5HU19DT1JFX1Y4 X05BVElWRV9WQUxVRV9UUkFJVFNfSF8KKyAKKysjaW5jbHVkZSA8Y29uY2VwdHM+CisgI2luY2x1 ZGUgPHR5cGVfdHJhaXRzPgorIAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9iaW5kaW5ncy9jb3JlL3Y4L2lkbF90eXBlc19iYXNlLmgiCitAQCAtMzAsNyArMzEsNyBAQCBj bGFzcyBFeGNlcHRpb25TdGF0ZTsKKyAvLyAgICAgcmV0dXJuIHRvSW50MzIoaXNvbGF0ZSwgdmFs dWUsIGV4Y2VwdGlvblN0YXRlLCBOb3JtYWxDb252ZXJzaW9uKTsKKyAvLyAgIH0KKyAvLyB9Cist dGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFNGSU5BRUhlbHBlciA9IHZvaWQ+CisrdGVt cGxhdGUgPHR5cGVuYW1lIFQ+Cisgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzOworIAorIC8vIFRo aXMgZGVjbGFyYXRpb24gc2VydmVzIG9ubHkgYXMgYSBibHVlcHJpbnQgZm9yIHNwZWNpYWxpemF0 aW9uczogdGhlCitAQCAtNDUsMjIgKzQ2LDE1IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czsK KyAKKyBuYW1lc3BhY2UgYmluZGluZ3MgeworIAorLXRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBl bmFtZSA9IHZvaWQ+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzSGFzSXNOdWxsIDogc3RkOjpm YWxzZV90eXBlIHt9OworLQorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLXN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0c0hhc0lzTnVsbDwKKy0gICAgVCwKKy0gICAgc3RkOjp2b2lkX3Q8ZGVjbHR5cGUo c3RkOjpkZWNsdmFsPFQ+KCkuSXNOdWxsKCkpPj4gOiBzdGQ6OnRydWVfdHlwZSB7fTsKKytzdHJ1 Y3QgSW1wbFR5cGVGb3IgeworKyAgdXNpbmcgdHlwZSA9IFQ7CisrfTsKKyAKKyB0ZW1wbGF0ZSA8 dHlwZW5hbWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHNIYXNOdWxsVmFsdWUgeworLSAg Ly8gdHJ1ZSBpZiB8VHwgc3VwcG9ydHMgSURMIG51bGwgdmFsdWUuCistICBzdGF0aWMgY29uc3Rl eHByIGJvb2wgdmFsdWUgPQorLSAgICAgIC8vIFNjcmlwdFZhbHVlLCBTdHJpbmcsIGFuZCB1bmlv biB0eXBlcyBoYXZlIElzTnVsbCBtZW1iZXIgZnVuY3Rpb24uCistICAgICAgYmluZGluZ3M6Ok5h dGl2ZVZhbHVlVHJhaXRzSGFzSXNOdWxsPFQ+Ojp2YWx1ZSB8fAorLSAgICAgIC8vIFBvaW50ZXIg dHlwZXMgaGF2ZSBudWxscHRyIGFzIElETCBudWxsIHZhbHVlLgorLSAgICAgIHN0ZDo6aXNfcG9p bnRlcjxUPjo6dmFsdWU7CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBJRExCYXNl PgorK3N0cnVjdCBJbXBsVHlwZUZvcjxUPiB7CisrICB1c2luZyB0eXBlID0gdHlwZW5hbWUgVDo6 SW1wbFR5cGU7CisgfTsKKyAKKyB9ICAvLyBuYW1lc3BhY2UgYmluZGluZ3MKK0BAIC03OCwzNyAr NzIsMTcgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVsbFZhbHVlIHsKKyAvLyBJZiBw cmVzZW50LCB8TnVsbFZhbHVlKCl8IHdpbGwgYmUgdXNlZCB3aGVuIGNvbnZlcnRpbmcgZnJvbSB0 aGUgbnVsbGFibGUgdHlwZQorIC8vIFQ/LCBhbmQgc2hvdWxkIGJlIHVzZWQgaWYgdGhlIGltcGwg dHlwZSBoYXMgYW4gZXhpc3RpbmcgIm51bGwiIHN0YXRlLiBJZiBub3QKKyAvLyBwcmVzZW50LCBX VEY6Ok9wdGlvbmFsIHdpbGwgYmUgdXNlZCB0byB3cmFwIHRoZSB0eXBlLgorLXRlbXBsYXRlIDx0 eXBlbmFtZSBULCB0eXBlbmFtZSBTRklOQUVIZWxwZXIgPSB2b2lkPgorLXN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0c0Jhc2UgeworLSAgU1RBVElDX09OTFkoTmF0aXZlVmFsdWVUcmFpdHNCYXNlKTsK Ky0KKy0gIHVzaW5nIEltcGxUeXBlID0gVDsKKy0KKy0gIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBo YXNfbnVsbF92YWx1ZSA9CistICAgICAgYmluZGluZ3M6Ok5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVs bFZhbHVlPEltcGxUeXBlPjo6dmFsdWU7CistCistICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gRXh0 cmFBcmdzPgorLSAgc3RhdGljIGRlY2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg YXJndW1lbnRfaW5kZXgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRyYUFyZ3MuLi4gZXh0cmFfYXJncykgeworLSAg ICByZXR1cm4gTmF0aXZlVmFsdWVUcmFpdHM8c3RkOjpyZW1vdmVfcG9pbnRlcl90PFQ+Pjo6TmF0 aXZlVmFsdWUoCistICAgICAgICBpc29sYXRlLCB2YWx1ZSwgZXhjZXB0aW9uX3N0YXRlLAorLSAg ICAgICAgc3RkOjpmb3J3YXJkPEV4dHJhQXJncz4oZXh0cmFfYXJncykuLi4pOworLSAgfQorLX07 CistCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTwKKy0gICAgVCwKKy0gICAgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8SURMQmFz ZSwgVD46OnZhbHVlPj4geworK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2UgeworICAgU1RB VElDX09OTFkoTmF0aXZlVmFsdWVUcmFpdHNCYXNlKTsKKyAKKy0gIHVzaW5nIEltcGxUeXBlID0g dHlwZW5hbWUgVDo6SW1wbFR5cGU7CisrICB1c2luZyBJbXBsVHlwZSA9IGJpbmRpbmdzOjpJbXBs VHlwZUZvcjxUPjo6dHlwZTsKKyAKKysgIC8vIFBvaW50ZXIgdHlwZXMgaGF2ZSBudWxscHRyIGFz IElETCBudWxsIHZhbHVlLgorKyAgLy8gU2NyaXB0VmFsdWUsIFN0cmluZywgYW5kIHVuaW9uIHR5 cGVzIGhhdmUgSXNOdWxsIG1lbWJlciBmdW5jdGlvbi4KKyAgIHN0YXRpYyBjb25zdGV4cHIgYm9v bCBoYXNfbnVsbF92YWx1ZSA9CistICAgICAgYmluZGluZ3M6Ok5hdGl2ZVZhbHVlVHJhaXRzSGFz TnVsbFZhbHVlPEltcGxUeXBlPjo6dmFsdWU7CisrICAgICAgc3RkOjppc19wb2ludGVyX3Y8SW1w bFR5cGU+IHx8CisrICAgICAgcmVxdWlyZXMoSW1wbFR5cGUgdmFsdWUpIHsgdmFsdWUuSXNOdWxs KCk7IH07CisgCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gRXh0cmFBcmdzPgorICAgc3RhdGlj IGRlY2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCitkaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRp dmVfdmFsdWVfdHJhaXRzX2J1ZmZlcl9zb3VyY2VzLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2J1ZmZlcl9zb3VyY2Vz LmNjCitpbmRleCA1MDhlYTZkOGVlYTQ4Li4xOGRlNzFkODQwMjNmIDEwMDY0NAorLS0tIGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJh aXRzX2J1ZmZlcl9zb3VyY2VzLmNjCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9i aW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfYnVmZmVyX3NvdXJjZXMuY2MKK0BA IC03LDYgKzcsNyBAQAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3Jl L2NvcmVfZXhwb3J0LmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvZXhlY3V0aW9uX2NvbnRleHQvZXhlY3V0aW9uX2NvbnRleHQuaCIKKyAjaW5jbHVkZSAidGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFtZS93ZWJfZmVhdHVyZS5oIgorKyNpbmNs dWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3R5cGVkX2FycmF5cy9mbGV4aWJs ZV9hcnJheV9idWZmZXJfdmlldy5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL3R5cGVkX2FycmF5cy90eXBlZF9mbGV4aWJsZV9hcnJheV9idWZmZXJfdmlldy5o IgorIAorIG5hbWVzcGFjZSBibGluayB7CitAQCAtNjk4LDEyICs2OTksMTEgQEAgRE9NQXJyYXlC dWZmZXJCYXNlKiBOYXRpdmVWYWx1ZVRyYWl0czwKKyAvLyBBcnJheUJ1ZmZlclZpZXcKKyAKKyB0 ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1Ob3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Cist ICAgIE5vdFNoYXJlZDxUPiwKKy0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6Omlz X2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6CistICAgIE5hdGl2ZVZh bHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKKy0gICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlv bl9zdGF0ZSkgeworKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZm ZXJWaWV3PgorK05vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxOb3RTaGFyZWQ8VD4+OjpO YXRpdmVWYWx1ZSgKKysgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgIHY4OjpMb2NhbDx2 ODo6VmFsdWU+IHZhbHVlLAorKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7 CisgICByZXR1cm4gTmF0aXZlVmFsdWVJbXBsPAorICAgICAgIFJlY2lwZVRyYWl0PE5vdFNoYXJl ZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwga05vdFNoYXJlZD4sCisgICAgICAgTnVsbGFibGl0eTo6 a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAorQEAgLTcxMiwxMyArNzEy LDEyIEBAIE5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKKyB9CisgCisgdGVtcGxhdGUg PHR5cGVuYW1lIFQ+CistTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBOb3RT aGFyZWQ8VD4sCistICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29m PERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgorLSAgICBBcmd1bWVudFZhbHVlKHY4 OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRl eCwKKy0gICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAg ICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisrICByZXF1 aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CisrTm90U2hhcmVk PFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZDxUPj46OkFyZ3VtZW50VmFsdWUoCisrICAg IHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICBpbnQgYXJndW1lbnRfaW5kZXgsCisrICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9u X3N0YXRlKSB7CisgICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8CisgICAgICAgUmVjaXBlVHJh aXQ8Tm90U2hhcmVkPFQ+PiwgVG9ET01WaWV3VHlwZTxULCBrTm90U2hhcmVkPiwKKyAgICAgICBO dWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCitAQCAt NzI5LDEyICs3MjgsMTEgQEAgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorIC8vIFtB bGxvd1NoYXJlZF0gQXJyYXlCdWZmZXJWaWV3CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cist TWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CistICAgIE1heWJlU2hhcmVkPFQ+LAor LSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKy0gICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlz b2xhdGUsCistICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAg ICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisrICByZXF1 aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CisrTWF5YmVTaGFy ZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8TWF5YmVTaGFyZWQ8VD4+OjpOYXRpdmVWYWx1ZSgKKysg ICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVl LAorKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gTmF0 aXZlVmFsdWVJbXBsPFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgVG9ET01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAorICAgICAgICAgICAg ICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNr OjprQ2hlY2ssCitAQCAtNzQzLDEzICs3NDEsMTIgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFs dWVUcmFpdHM8CisgfQorIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLU1heWJlU2hhcmVkPFQ+ IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBNYXliZVNoYXJlZDxUPiwKKy0gICAgdHlwZW5hbWUg c3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6 dmFsdWU+Pjo6CistICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCistICAg ICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAorLSAgICAgICAgICAgICAgICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0 YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKysgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQs IERPTUFycmF5QnVmZmVyVmlldz4KKytNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxN YXliZVNoYXJlZDxUPj46OkFyZ3VtZW50VmFsdWUoCisrICAgIHY4OjpJc29sYXRlKiBpc29sYXRl LAorKyAgICBpbnQgYXJndW1lbnRfaW5kZXgsCisrICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZh bHVlLAorKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4g QXJndW1lbnRWYWx1ZUltcGw8UmVjaXBlVHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVy U2l6ZUNoZWNrOjprQ2hlY2ssCitAQCAtNzYwLDEyICs3NTcsMTIgQEAgTWF5YmVTaGFyZWQ8VD4g TmF0aXZlVmFsdWVUcmFpdHM8CisgLy8gW0FsbG93U2hhcmVkLCBCdWZmZXJTb3VyY2VUeXBlTm9T aXplTGltaXRdIEFycmF5QnVmZmVyVmlldworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLU1h eWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBJRExCdWZmZXJTb3VyY2VUeXBl Tm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p Zl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKy0g ICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCistICAgICAgICAgICAgICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0 ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBE T01BcnJheUJ1ZmZlclZpZXc+CisrTWF5YmVTaGFyZWQ8VD4KKytOYXRpdmVWYWx1ZVRyYWl0czxJ RExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFs dWUoCisrICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICB2ODo6TG9jYWw8djg6OlZhbHVl PiB2YWx1ZSwKKysgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0 dXJuIE5hdGl2ZVZhbHVlSW1wbDwKKyAgICAgICBSZWNpcGVUcmFpdDxNYXliZVNoYXJlZDxUPj4s IFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKKyAgICAgICBOdWxsYWJsaXR5OjprSXNO b3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprRG9Ob3RDaGVjaywKK0BAIC03NzQsMTMgKzc3 MSwxMiBAQCBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKKyB9CisgCisgdGVtcGxh dGUgPHR5cGVuYW1lIFQ+CistTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CistICAg IElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4sCistICAgIHR5 cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmll dywgVD46OnZhbHVlPj46OgorLSAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRl LAorLSAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKy0gICAgICAgICAgICAg ICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgICAgICAgICAgICAgICBFeGNl cHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRf ZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CisrTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVU cmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PAorKyAgICBNYXliZVNoYXJlZDxU Pj4+OjpBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9u X3N0YXRlKSB7CisgICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8CisgICAgICAgUmVjaXBlVHJh aXQ8TWF5YmVTaGFyZWQ8VD4+LCBUb0RPTVZpZXdUeXBlPFQsIGtNYXliZVNoYXJlZD4sCisgICAg ICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0RvTm90Q2hl Y2ssCitAQCAtNzkxLDEyICs3ODcsMTEgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFp dHM8CisgLy8gTnVsbGFibGUgQXJyYXlCdWZmZXJWaWV3CisgCisgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+CistTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBJRExOdWxsYWJsZTxO b3RTaGFyZWQ8VD4+LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFz ZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKy0gICAgTmF0aXZlVmFsdWUo djg6Oklzb2xhdGUqIGlzb2xhdGUsCistICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs dWU+IHZhbHVlLAorLSAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0 YXRlKSB7CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZp ZXc+CisrTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPE5vdFNoYXJl ZDxUPj4+OjpOYXRpdmVWYWx1ZSgKKysgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9u X3N0YXRlKSB7CisgICByZXR1cm4gTmF0aXZlVmFsdWVJbXBsPAorICAgICAgIFJlY2lwZVRyYWl0 PE5vdFNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwga05vdFNoYXJlZD4sCisgICAgICAgTnVs bGFibGl0eTo6a0lzTnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAorQEAgLTgwNSwx MyArODAwLDEyIEBAIE5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKKyB9CisgCisgdGVt cGxhdGUgPHR5cGVuYW1lIFQ+CistTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAg ICBJRExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p Zl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKy0g ICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgICAgICAgICAgICAg ICBpbnQgYXJndW1lbnRfaW5kZXgsCistICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCistICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlv bl9zdGF0ZSkgeworKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZm ZXJWaWV3PgorK05vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3RT aGFyZWQ8VD4+Pjo6QXJndW1lbnRWYWx1ZSgKKysgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCisr ICAgIGludCBhcmd1bWVudF9pbmRleCwKKysgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUs CisrICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKyAgIHJldHVybiBBcmd1 bWVudFZhbHVlSW1wbDwKKyAgICAgICBSZWNpcGVUcmFpdDxOb3RTaGFyZWQ8VD4+LCBUb0RPTVZp ZXdUeXBlPFQsIGtOb3RTaGFyZWQ+LAorICAgICAgIE51bGxhYmxpdHk6OmtJc051bGxhYmxlLCBC dWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKK0BAIC04MjIsMTIgKzgxNiwxMSBAQCBOb3RTaGFyZWQ8 VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisgLy8gTnVsbGFibGUgW0FsbG93U2hhcmVkXSBBcnJheUJ1 ZmZlclZpZXcKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1NYXliZVNoYXJlZDxUPiBOYXRp dmVWYWx1ZVRyYWl0czwKKy0gICAgSURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+LAorLSAgICB0 eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZp ZXcsIFQ+Ojp2YWx1ZT4+OjoKKy0gICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUs CistICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorLSAgICAgICAg ICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisrICByZXF1aXJlcyBz dGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CisrTWF5YmVTaGFyZWQ8VD4g TmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFs dWUoCisrICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICB2ODo6TG9jYWw8djg6OlZhbHVl PiB2YWx1ZSwKKysgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0 dXJuIE5hdGl2ZVZhbHVlSW1wbDxSZWNpcGVUcmFpdDxNYXliZVNoYXJlZDxUPj4sCisgICAgICAg ICAgICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6a0lzTnVsbGFibGUsIEJ1ZmZlclNpemVD aGVjazo6a0NoZWNrLAorQEAgLTgzNiwxMyArODI5LDEyIEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2 ZVZhbHVlVHJhaXRzPAorIH0KKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1NYXliZVNoYXJl ZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKKy0gICAgSURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+ LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJh eUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKy0gICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKKy0gICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCistICAg ICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCistICAgICAgICAgICAg ICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworKyAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorK01heWJlU2hhcmVkPFQ+IE5h dGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+Pj46OkFyZ3VtZW50VmFs dWUoCisrICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICBpbnQgYXJndW1lbnRfaW5kZXgs CisrICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICBFeGNlcHRpb25TdGF0ZSYg ZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8UmVjaXBlVHJh aXQ8TWF5YmVTaGFyZWQ8VD4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvRE9NVmll d1R5cGU8VCwga01heWJlU2hhcmVkPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxs YWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCitAQCAtODUzLDkg Kzg0NSw5IEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorIC8vIE51bGxhYmxl IFtBbGxvd1NoYXJlZCwgQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0XSBBcnJheUJ1ZmZlclZp ZXcKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1NYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1 ZVRyYWl0czwKKy0gICAgSURMTnVsbGFibGU8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0 PE1heWJlU2hhcmVkPFQ+Pj4sCistICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjpp c19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgorKyAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorK01heWJlU2hhcmVkPFQ+ CisrTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6 ZUxpbWl0PE1heWJlU2hhcmVkPFQ+Pj4+OjoKKyAgICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCisgICAg ICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtODcwLDEzICs4 NjIsMTEgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisgLy8gW0FsbG93U2hh cmVkLCBGbGV4aWJsZUFycmF5QnVmZmVyVmlld10gQXJyYXlCdWZmZXJWaWV3CisgCisgdGVtcGxh dGUgPHR5cGVuYW1lIFQ+CistVCBOYXRpdmVWYWx1ZVRyYWl0czxULAorLSAgICAgICAgICAgICAg ICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKy0gICAgICAgICAgICAgICAgICAgICAg ICBzdGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoK Ky0gICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgICAgICAgICAg ICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCistICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCistICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2Vw dGlvbl9zdGF0ZSkgeworKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGlibGVB cnJheUJ1ZmZlclZpZXc+CisrVCBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6QXJndW1lbnRWYWx1ZSh2 ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBhcmd1bWVudF9pbmRleCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAg cmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBsPFJlY2lwZVRyYWl0PFQ+LCBUb0ZsZXhpYmxlQXJyYXlC dWZmZXJWaWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bGxhYmxpdHk6OmtJc05v dE51bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXNpemFibGVBbGxvd2FuY2U6OmtEaXNhbGxvd1Jlc2l6YWJsZSwKK0BAIC04ODgs MTMgKzg3OCwxMiBAQCBUIE5hdGl2ZVZhbHVlVHJhaXRzPFQsCisgLy8gQXJyYXlCdWZmZXJWaWV3 CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistVCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZm ZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8VD4sCistICAgICAgICAgICAgICAgICAgICB0eXBlbmFt ZSBzdGQ6OmVuYWJsZV9pZl90PAorLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXNfYmFz ZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgorLSAgICBBcmd1bWVu dFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICAgICAgICAgICAgICAgIGludCBhcmd1 bWVudF9pbmRleCwKKy0gICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1 ZSwKKy0gICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7 CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVyVmll dz4KKytUIE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxU Pj46OkFyZ3VtZW50VmFsdWUoCisrICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICBpbnQg YXJndW1lbnRfaW5kZXgsCisrICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICBF eGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gQXJndW1lbnRWYWx1 ZUltcGw8CisgICAgICAgUmVjaXBlVHJhaXQ8VD4sIFRvRmxleGlibGVBcnJheUJ1ZmZlclZpZXcs IE51bGxhYmxpdHk6OmtJc05vdE51bGxhYmxlLAorICAgICAgIEJ1ZmZlclNpemVDaGVjazo6a0Rv Tm90Q2hlY2ssIFJlc2l6YWJsZUFsbG93YW5jZTo6a0Rpc2FsbG93UmVzaXphYmxlLAorQEAgLTkw NSwxMyArODk0LDEyIEBAIFQgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5v U2l6ZUxpbWl0PFQ+LAorIC8vIE51bGxhYmxlIFtBbGxvd1NoYXJlZCwgRmxleGlibGVBcnJheUJ1 ZmZlclZpZXddIEFycmF5QnVmZmVyVmlldworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLVQg TmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4sCistICAgICAgICAgICAgICAgICAgICB0 eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAorLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6 aXNfYmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgorLSAgICBB cmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorLSAgICAgICAgICAgICAgICAgIGlu dCBhcmd1bWVudF9pbmRleCwKKy0gICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVl PiB2YWx1ZSwKKy0gICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0 YXRlKSB7CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVm ZmVyVmlldz4KKytUIE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+Pjo6QXJndW1lbnRW YWx1ZSgKKysgICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgIGludCBhcmd1bWVudF9pbmRl eCwKKysgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCisrICAgIEV4Y2VwdGlvblN0YXRl JiBleGNlcHRpb25fc3RhdGUpIHsKKyAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDxSZWNpcGVU cmFpdDxUPiwgVG9GbGV4aWJsZUFycmF5QnVmZmVyVmlldywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ss CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzaXphYmxlQWxsb3dhbmNlOjprRGlzYWxs b3dSZXNpemFibGUsCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmlu ZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwuaCBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19pbXBsLmgK K2luZGV4IDg5OTkyOWRjZjQ5ZjkuLjUwMTE1MDNkY2YxYzAgMTAwNjQ0CistLS0gYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNf aW1wbC5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4 L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCitAQCAtNSw2ICs1LDkgQEAKKyAjaWZuZGVmIFRI SVJEX1BBUlRZX0JMSU5LX1JFTkRFUkVSX0JJTkRJTkdTX0NPUkVfVjhfTkFUSVZFX1ZBTFVFX1RS QUlUU19JTVBMX0hfCisgI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9CSU5ESU5H U19DT1JFX1Y4X05BVElWRV9WQUxVRV9UUkFJVFNfSU1QTF9IXworIAorKyNpbmNsdWRlIDxjb25j ZXB0cz4KKysjaW5jbHVkZSA8dHlwZV90cmFpdHM+CisrCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5 L2Fic2VpbC1jcHAvYWJzbC90eXBlcy9vcHRpb25hbC5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L2lkbF90eXBlcy5oIgorICNpbmNsdWRl ICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1 ZV90cmFpdHMuaCIKK0BAIC03MTUsOSArNzE4LDggQEAgc3RydWN0IENPUkVfRVhQT1JUIE5hdGl2 ZVZhbHVlVHJhaXRzPAorIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cistc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPAorLSAgICBULAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+IHsKKysgIHJl cXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KKytzdHJ1Y3Qg TmF0aXZlVmFsdWVUcmFpdHM8VD4geworICAgLy8gTm90U2hhcmVkPFQ+IG9yIE1heWJlU2hhcmVk PFQ+IHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6 Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCitAQCAtNzI5LDkgKzczMSw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czwKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLXN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czwKKy0gICAgSURMTnVsbGFibGU8VD4sCistICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxl X2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4gewor KyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorK3N0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4geworICAgLy8gTm90U2hhcmVk PFQ+IG9yIE1heWJlU2hhcmVkPFQ+IHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCisgICBzdGF0aWMg VCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtNzQzLDkgKzc0NCw4IEBAIHN0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgor LXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKy0gICAgTm90U2hhcmVkPFQ+LAorLSAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1 ZmZlclZpZXc+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZDxUPj4KKyAgICAg OiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE5vdFNoYXJlZDxUPj4geworICAgc3RhdGlj IE5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitA QCAtNzU4LDkgKzc1OCw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKyB9OworIAorIHRl bXBsYXRlIDx0eXBlbmFtZSBUPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKy0gICAgSURM TnVsbGFibGU8Tm90U2hhcmVkPFQ+PiwKKy0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxz dGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorKyAgcmVxdWly ZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorK3N0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+PgorICAgICA6IHB1YmxpYyBO YXRpdmVWYWx1ZVRyYWl0c0Jhc2U8Tm90U2hhcmVkPFQ+PiB7CisgICBzdGF0aWMgTm90U2hhcmVk PFQ+IE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC03NzMsOSAr NzcyLDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorIH07CisgCisgdGVtcGxhdGUgPHR5 cGVuYW1lIFQ+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBNYXliZVNoYXJlZDxU PiwKKy0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJy YXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208 VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxNYXliZVNo YXJlZDxUPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE1heWJlU2hhcmVk PFQ+PiB7CisgICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUq IGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtNzg4LDkgKzc4Niw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czwKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLXN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKKy0gICAgSURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hh cmVkPFQ+PiwKKy0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8 RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVk X2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJ RExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+PgorICAgICA6IHB1 YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+IHsKKyAgIC8vIEZsZXhp YmxlQXJyYXlCdWZmZXJWaWV3IHVzZXMgdGhpcyBpbiBpdHMgaW1wbGVtZW50YXRpb24sIHNvIHdl IGNhbm5vdAorICAgLy8gZGVsZXRlIGl0LgorQEAgLTgwNSw5ICs4MDIsOCBAQCBzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1zdHJ1Y3Qg TmF0aXZlVmFsdWVUcmFpdHM8CistICAgIElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+PiwKKy0g ICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZm ZXJWaWV3LCBUPjo6dmFsdWU+PgorKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9N QXJyYXlCdWZmZXJWaWV3PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxN YXliZVNoYXJlZDxUPj4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxNYXli ZVNoYXJlZDxUPj4geworICAgc3RhdGljIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlKHY4OjpJ c29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorQEAgLTgyMCw5ICs4MTYsOSBAQCBzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKysgIHJlcXVp cmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KKyBzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8CistICAgIElETE51bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1Np emVMaW1pdDxNYXliZVNoYXJlZDxUPj4+LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+CisrICAgIElE TE51bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4+ PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+IHsK KyAgIC8vIEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdCBtdXN0IGJlIHVzZWQgb25seSBhcyBh cmd1bWVudHMuCisgICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCitAQCAtODM2LDExICs4MzIsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVU cmFpdHM8CistICAgIFQsCistICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8CistICAgICAg ICBzdGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Cist ICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7CisrICByZXF1aXJlcyBzdGQ6 OmRlcml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVyVmlldz4KKytzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKKyAgIC8v IEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3IG11c3QgYmUgdXNlZCBvbmx5IGFzIGFyZ3VtZW50cy4K KyAgIHN0YXRpYyBUIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAg ICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtODUzLDEwICs4 NDYsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlw ZW5hbWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CistICAgIElETEJ1ZmZlclNvdXJj ZVR5cGVOb1NpemVMaW1pdDxUPiwKKy0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKy0g ICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVl Pj4KKysgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIEZsZXhpYmxlQXJyYXlCdWZmZXJW aWV3PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXpl TGltaXQ8VD4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7CisgICAv LyBCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQgYW5kIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3 IG11c3QgYmUgdXNlZCBvbmx5CisgICAvLyBhcyBhcmd1bWVudHMuCitAQCAtODcxLDExICs4NjIs OCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CistICAgIElETE51bGxhYmxlPFQ+LAor LSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAorLSAgICAgICAgc3RkOjppc19iYXNlX29m PEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorLSAgICA6IHB1YmxpYyBOYXRp dmVWYWx1ZVRyYWl0c0Jhc2U8VD4geworKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwg RmxleGlibGVBcnJheUJ1ZmZlclZpZXc+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51 bGxhYmxlPFQ+PiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4geworICAgLy8gRmxl eGlibGVBcnJheUJ1ZmZlclZpZXcgbXVzdCBiZSB1c2VkIG9ubHkgYXMgYXJndW1lbnRzLgorICAg c3RhdGljIFQgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAg ICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC0xMTM0LDkgKzExMjIs OCBAQCBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Ok5hdGl2ZVZhbHVlKAorIH0K KyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURM TnVsbGFibGU8SURMU2VxdWVuY2U8VD4+LAorLSAgICAgICAgICAgICAgICAgICAgICAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmF0 aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpoYXNfbnVsbF92YWx1ZT4+CisrICByZXF1 aXJlcyBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Omhhc19udWxsX3ZhbHVlCisr c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElETFNlcXVlbmNlPFQ+Pj4KKyAg ICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPEhlYXBWZWN0b3I8QWRkTWVtYmVySWZO ZWVkZWQ8VD4+Kj4geworICAgdXNpbmcgSW1wbFR5cGUgPSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRy YWl0czxJRExTZXF1ZW5jZTxUPj46OkltcGxUeXBlKjsKKyAKK0BAIC0xMjAzLDkgKzExOTAsOCBA QCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMQXJyYXk8VD4+CisgICAgIDogcHVibGljIE5h dGl2ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+PiB7fTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMQXJyYXk8VD4+ LAorLSAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVu Y2U8VD4+OjpoYXNfbnVsbF92YWx1ZT4+CisrICByZXF1aXJlcyBOYXRpdmVWYWx1ZVRyYWl0czxJ RExTZXF1ZW5jZTxUPj46Omhhc19udWxsX3ZhbHVlCisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPElETEFycmF5PFQ+Pj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFp dHM8SURMTnVsbGFibGU8SURMU2VxdWVuY2U8VD4+PiB7fTsKKyAKKyAvLyBSZWNvcmQgdHlwZXMK K0BAIC0xMzM1LDEwICsxMzIxLDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETFJlY29y ZDxLLCBWPj4KKyAKKyAvLyBDYWxsYmFjayBmdW5jdGlvbiB0eXBlcworIHRlbXBsYXRlIDx0eXBl bmFtZSBUPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKy0gICAgVCwKKy0gICAgdHlwZW5h bWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8Q2FsbGJhY2tGdW5jdGlvbkJhc2Us IFQ+Ojp2YWx1ZT4+CistICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewor KyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tGdW5jdGlvbkJhc2U+Cisr c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTxUKj4geworICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAor ICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorICAg ICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsK K0BAIC0xMzYxLDkgKzEzNDUsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisgfTsKKyAK KyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CistICAg IElETE51bGxhYmxlPFQ+LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNf YmFzZV9vZjxDYWxsYmFja0Z1bmN0aW9uQmFzZSwgVD46OnZhbHVlPj4KKysgIHJlcXVpcmVzIHN0 ZDo6ZGVyaXZlZF9mcm9tPFQsIENhbGxiYWNrRnVuY3Rpb25CYXNlPgorK3N0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFp dHNCYXNlPElETE51bGxhYmxlPFQ+PiB7CisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklz b2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCitAQCAtMTM5MiwxMCArMTM3NSw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czwKKyAKKyAvLyBDYWxsYmFjayBpbnRlcmZhY2UgdHlwZXMKKyB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CistICAgIFQsCistICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPENhbGxiYWNrSW50ZXJmYWNlQmFzZSwg VD46OnZhbHVlPj4KKy0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Cisr ICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0ludGVyZmFjZUJhc2U+Cisr c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTxUKj4geworICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAor ICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorICAg ICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsK K0BAIC0xNDE4LDkgKzEzOTksOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisgfTsKKyAK KyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CistICAg IElETE51bGxhYmxlPFQ+LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNf YmFzZV9vZjxDYWxsYmFja0ludGVyZmFjZUJhc2UsIFQ+Ojp2YWx1ZT4+CisrICByZXF1aXJlcyBz dGQ6OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0ludGVyZmFjZUJhc2U+Cisrc3RydWN0IE5hdGl2 ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRy YWl0c0Jhc2U8SURMTnVsbGFibGU8VD4+IHsKKyAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6 SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKK0BAIC0xNDQ5LDExICsxNDI5LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPAorIAorIC8vIERpY3Rpb25hcnkgdHlwZXMKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K Ky1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CistICAgIFQsCistICAgIHR5cGVuYW1lIHN0ZDo6 ZW5hYmxlX2lmX3Q8CistICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OkRpY3Rpb25h cnlCYXNlLCBUPjo6dmFsdWU+PgorLSAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8 VCo+IHsKKysgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpEaWN0aW9u YXJ5QmFzZT4KKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFs dWVUcmFpdHNCYXNlPFQqPiB7CisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUq IGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g dmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlv bl9zdGF0ZSkgeworQEAgLTE0NjQsMTQgKzE0NDEsMTEgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPAorIC8vIFdlIGRvbid0IHN1cHBvcnQgbnVsbGFibGUgZGljdGlvbmFyeSB0eXBlcyBpbiBn ZW5lcmFsIHNpbmNlIGl0J3MgcXVpdGUKKyAvLyBjb25mdXNpbmcgYW5kIG9mdGVuIG1pc3VzZWQu CisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAg ICBJRExOdWxsYWJsZTxUPiwKKy0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKy0gICAg ICAgIHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6RGljdGlvbmFyeUJhc2UsIFQ+Ojp2YWx1ZSAm JgorLSAgICAgICAgKHN0ZDo6aXNfc2FtZTxULCBHUFVDb2xvclRhcmdldFN0YXRlPjo6dmFsdWUg fHwKKy0gICAgICAgICBzdGQ6OmlzX3NhbWU8VCwgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu dD46OnZhbHVlIHx8CistICAgICAgICAgc3RkOjppc19zYW1lPFQsIEdQVVZlcnRleEJ1ZmZlckxh eW91dD46OnZhbHVlKT4+CistICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4g eworKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgYmluZGluZ3M6OkRpY3Rpb25hcnlC YXNlPiAmJgorKyAgICAgICAgICAgKHN0ZDo6c2FtZV9hczxULCBHUFVDb2xvclRhcmdldFN0YXRl PiB8fAorKyAgICAgICAgICAgIHN0ZDo6c2FtZV9hczxULCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRh Y2htZW50PiB8fAorKyAgICAgICAgICAgIHN0ZDo6c2FtZV9hczxULCBHUFVWZXJ0ZXhCdWZmZXJM YXlvdXQ+KQorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gOiBwdWJs aWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7CisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUo djg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3Rh dGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworQEAgLTE0ODMsMTEgKzE0NTcsOCBAQCBzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8CisgCisgLy8gRW51bWVyYXRpb24gdHlwZXMKKyB0ZW1wbGF0ZSA8dHlw ZW5hbWUgVD4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CistICAgIFQsCistICAgIHR5cGVu YW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8CistICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6 OkVudW1lcmF0aW9uQmFzZSwgVD46OnZhbHVlPj4KKy0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVU cmFpdHNCYXNlPFQ+IHsKKysgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdz OjpFbnVtZXJhdGlvbkJhc2U+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGlj IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7CisgICBzdGF0aWMgVCBOYXRpdmVWYWx1ZSh2ODo6 SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6 VmFsdWU+IHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4 Y2VwdGlvbl9zdGF0ZSkgeworQEAgLTE0OTcsMTAgKzE0NjgsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8CisgCisgLy8gSW50ZXJmYWNlIHR5cGVzCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+ Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBULAorLSAgICB0eXBlbmFtZSBzdGQ6 OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxTY3JpcHRXcmFwcGFibGUsIFQ+Ojp2YWx1ZT4+ CistICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4geworKyAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgU2NyaXB0V3JhcHBhYmxlPgorK3N0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKyAgIHN0YXRp YyBpbmxpbmUgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRl KSB7CitAQCAtMTUyOCw5ICsxNDk3LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorIH07 CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAor LSAgICBJRExOdWxsYWJsZTxUPiwKKy0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8U2NyaXB0V3JhcHBhYmxlLCBUPjo6dmFsdWU+PgorKyAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgU2NyaXB0V3JhcHBhYmxlPgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czxJRExOdWxsYWJsZTxUPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNl PElETE51bGxhYmxlPFQ+PiB7CisgICBzdGF0aWMgaW5saW5lIFQqIE5hdGl2ZVZhbHVlKHY4OjpJ c29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9j YWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC0xNTY1LDEwICsxNTMzLDggQEAgc3RydWN0IE5hdGl2 ZVZhbHVlVHJhaXRzPAorIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cistc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPAorLSAgICBULAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6VW5pb25CYXNlLCBUPjo6dmFsdWU+PgorLSAgICA6 IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKysgIHJlcXVpcmVzIHN0ZDo6ZGVy aXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpVbmlvbkJhc2U+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4geworICAgc3RhdGljIFQq IE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAg ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAg IEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKK0BAIC0xNTg0LDEwICsxNTUwLDgg QEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBJRExOdWxsYWJsZTxUPiwKKy0g ICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OlVu aW9uQmFzZSwgVD46OnZhbHVlPj4KKy0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNl PFQqPiB7CisrICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBiaW5kaW5nczo6VW5pb25C YXNlPgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gOiBwdWJsaWMg TmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7CisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6 Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUm IGV4Y2VwdGlvbl9zdGF0ZSkgeworQEAgLTE2MDgsOSArMTU3Miw4IEBAIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKKyAKKyAvLyBOdWxsYWJsZSB0eXBlcworIHRlbXBsYXRlIDx0eXBlbmFtZSBJ bm5lclR5cGU+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICBJRExOdWxsYWJsZTxJ bm5lclR5cGU+LAorLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PCFOYXRpdmVWYWx1ZVRy YWl0czxJbm5lclR5cGU+OjpoYXNfbnVsbF92YWx1ZT4+CisrICByZXF1aXJlcyghTmF0aXZlVmFs dWVUcmFpdHM8SW5uZXJUeXBlPjo6aGFzX251bGxfdmFsdWUpCisrc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPElETE51bGxhYmxlPElubmVyVHlwZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVl VHJhaXRzQmFzZTxJRExOdWxsYWJsZTxJbm5lclR5cGU+PiB7CisgICAvLyBodHRwczovL3dlYmlk bC5zcGVjLndoYXR3Zy5vcmcvI2VzLW51bGxhYmxlLXR5cGUKKyAgIHVzaW5nIEltcGxUeXBlID0K K0BAIC0xNjQyLDkgKzE2MDUsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFi bGU8SURMTnVsbGFibGU8VD4+PjsKKyAKKyAvLyBPcHRpb25hbCB0eXBlcworIHRlbXBsYXRlIDx0 eXBlbmFtZSBUPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRpb25hbDxUPiwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6Omlz X2FyaXRobWV0aWM8CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOYXRp dmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+Ojp2YWx1ZT4+CisrICByZXF1aXJlcyBzdGQ6Omlz X2FyaXRobWV0aWNfdjx0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+Cisr c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE9wdGlvbmFsPFQ+PgorICAgICA6IHB1YmxpYyBO YXRpdmVWYWx1ZVRyYWl0c0Jhc2U8dHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxU eXBlPiB7CisgICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+ OjpJbXBsVHlwZTsKKyAKK0BAIC0xNjY2LDkgKzE2MjgsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVU cmFpdHM8SURMT3B0aW9uYWw8VD4sCisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1z dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMT3B0aW9uYWw8VD4sCistICAgICAgICAgICAgICAg ICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19wb2ludGVyPAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46 OkltcGxUeXBlPjo6dmFsdWU+PgorKyAgcmVxdWlyZXMgc3RkOjppc19wb2ludGVyX3Y8dHlwZW5h bWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlPgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czxJRExPcHRpb25hbDxUPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNl PHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZT4geworICAgdXNpbmcgSW1w bFR5cGUgPSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU7CisgCgpkaWZm IC0tZ2l0IGEvY2hyb21pdW0tMTIyLXY4LWMrKzIwLnBhdGNoIGIvY2hyb21pdW0tMTIyLXY4LWMr KzIwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjQwZGIyLi4wMDAwMDAw Ci0tLSBhL2Nocm9taXVtLTEyMi12OC1jKysyMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc0 MCArMCwwIEBACi1jb21taXQgOTQwYWY5ZjJjODdiNDM2NTU5Yjk3YzUzNzYzYWE5ZWFhZjEyNTRl YgotQXV0aG9yOiBKZXJlbXkgUm9tYW4gPGpicm9tYW5AY2hyb21pdW0ub3JnPgotRGF0ZTogICBX ZWQgTm92IDE1IDE2OjI0OjU0IDIwMjMgKzAwMDAKLQotICAgIFVzZSBDKysyMCBmZWF0dXJlcyB0 byBzaW1wbGlmeSBibGluazo6TmF0aXZlVmFsdWVUcmFpdHNCYXNlLgotICAgIAotICAgIFRoZXNl IGFsbG93IHNvbWUgb2YgdGhlIG1ldGFwcm9ncmFtbWluZyBiaXRzIHRvIGJlIHNpbXBsaWZpZWQg YSBsaXR0bGUuCi0gICAgCi0gICAgQ2hhbmdlLUlkOiBJMDUyYjQzOTc1ODZkMjEzNDg0MDE2MTZl MTc5MmFmZGI5NjYyZjk3NQotICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmll dy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNTAzMDMzNQotICAgIFJldmlld2Vk LWJ5OiBZdWtpIFNoaWlubyA8eXVraXNoaWlub0BjaHJvbWl1bS5vcmc+Ci0gICAgQ29tbWl0LVF1 ZXVlOiBKZXJlbXkgUm9tYW4gPGpicm9tYW5AY2hyb21pdW0ub3JnPgotICAgIENyLUNvbW1pdC1Q b3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTIyNDk3OH0KLQotZGlmZiAtdXAgY2hyb21pdW0t MTIyLjAuNjI2MS41Ny90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4 L25hdGl2ZV92YWx1ZV90cmFpdHNfYnVmZmVyX3NvdXJjZXMuY2MubWUgY2hyb21pdW0tMTIyLjAu NjI2MS41Ny90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2 ZV92YWx1ZV90cmFpdHNfYnVmZmVyX3NvdXJjZXMuY2MKLS0tLSBjaHJvbWl1bS0xMjIuMC42MjYx LjU3L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3Zh bHVlX3RyYWl0c19idWZmZXJfc291cmNlcy5jYy5tZQkyMDI0LTAyLTIxIDAxOjIwOjUzLjEzODk0 NjUwMCArMDEwMAotKysrIGNocm9taXVtLTEyMi4wLjYyNjEuNTcvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2J1ZmZlcl9zb3Vy Y2VzLmNjCTIwMjQtMDItMjEgMTI6MzM6NTMuMjI2MjA3MTAzICswMTAwCi1AQCAtNyw3ICs3LDYg QEAKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9jb3JlX2V4cG9y dC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2V4ZWN1dGlv bl9jb250ZXh0L2V4ZWN1dGlvbl9jb250ZXh0LmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUvd2ViX2ZlYXR1cmUuaCIKLS0jaW5jbHVkZSAidGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS90eXBlZF9hcnJheXMvZmxleGlibGVfYXJyYXlfYnVm ZmVyX3ZpZXcuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS90 eXBlZF9hcnJheXMvdHlwZWRfZmxleGlibGVfYXJyYXlfYnVmZmVyX3ZpZXcuaCIKLSAKLSBuYW1l c3BhY2UgYmxpbmsgewotQEAgLTY5OSwxMSArNjk4LDEyIEBAIERPTUFycmF5QnVmZmVyQmFzZSog TmF0aXZlVmFsdWVUcmFpdHM8Ci0gLy8gQXJyYXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxhdGUgPHR5 cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZl clZpZXc+Ci0tTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPE5vdFNoYXJlZDxUPj46Ok5h dGl2ZVZhbHVlKAotLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgdjg6OkxvY2FsPHY4 OjpWYWx1ZT4gdmFsdWUsCi0tICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsK LStOb3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIE5vdFNoYXJlZDxUPiwKLSsg ICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZm ZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0rICAgIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29s YXRlLAotKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsgICAg ICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJu IE5hdGl2ZVZhbHVlSW1wbDwKLSAgICAgICBSZWNpcGVUcmFpdDxOb3RTaGFyZWQ8VD4+LCBUb0RP TVZpZXdUeXBlPFQsIGtOb3RTaGFyZWQ+LAotICAgICAgIE51bGxhYmxpdHk6OmtJc05vdE51bGxh YmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKLUBAIC03MTIsMTIgKzcxMiwxMyBAQCBOb3RT aGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Tm90U2hhcmVkCi0gfQotIAotIHRlbXBsYXRlIDx0 eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZm ZXJWaWV3PgotLU5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxOb3RTaGFyZWQ8VD4+OjpB cmd1bWVudFZhbHVlKAotLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgaW50IGFyZ3Vt ZW50X2luZGV4LAotLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgRXhjZXB0 aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotK05vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRy YWl0czwKLSsgICAgTm90U2hhcmVkPFQ+LAotKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLSsgICAg QXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSsgICAgICAgICAgICAgICAgICBp bnQgYXJndW1lbnRfaW5kZXgsCi0rICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1 ZT4gdmFsdWUsCi0rICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9z dGF0ZSkgewotICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBsPAotICAgICAgIFJlY2lwZVRyYWl0 PE5vdFNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwga05vdFNoYXJlZD4sCi0gICAgICAgTnVs bGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotQEAgLTcy OCwxMSArNzI5LDEyIEBAIE5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxOb3RTaGFyZWQK LSAvLyBbQWxsb3dTaGFyZWRdIEFycmF5QnVmZmVyVmlldwotIAotIHRlbXBsYXRlIDx0eXBlbmFt ZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3 PgotLU1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPE1heWJlU2hhcmVkPFQ+Pjo6TmF0 aXZlVmFsdWUoCi0tICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKLS0gICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewot K01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotKyAgICBNYXliZVNoYXJlZDxUPiwK LSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlC dWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0rICAgIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBp c29sYXRlLAotKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsg ICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0 dXJuIE5hdGl2ZVZhbHVlSW1wbDxSZWNpcGVUcmFpdDxNYXliZVNoYXJlZDxUPj4sCi0gICAgICAg ICAgICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNp emVDaGVjazo6a0NoZWNrLAotQEAgLTc0MSwxMiArNzQzLDEzIEBAIE1heWJlU2hhcmVkPFQ+IE5h dGl2ZVZhbHVlVHJhaXRzPE1heWJlU2gKLSB9Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0t ICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0tTWF5 YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8TWF5YmVTaGFyZWQ8VD4+OjpBcmd1bWVudFZh bHVlKAotLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgaW50IGFyZ3VtZW50X2luZGV4 LAotLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgRXhjZXB0aW9uU3RhdGUm IGV4Y2VwdGlvbl9zdGF0ZSkgewotK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAot KyAgICBNYXliZVNoYXJlZDxUPiwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0rICAgIEFyZ3Vt ZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0rICAgICAgICAgICAgICAgICAgaW50IGFy Z3VtZW50X2luZGV4LAotKyAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZh bHVlLAotKyAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUp IHsKLSAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDxSZWNpcGVUcmFpdDxNYXliZVNoYXJlZDxU Pj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9ET01WaWV3VHlwZTxULCBrTWF5YmVT aGFyZWQ+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bGxhYmxpdHk6OmtJc05vdE51 bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKLUBAIC03NTcsMTIgKzc2MCwxMiBAQCBN YXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxNYXliZVNoCi0gLy8gW0FsbG93U2hhcmVk LCBCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXRdIEFycmF5QnVmZmVyVmlldwotIAotIHRlbXBs YXRlIDx0eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJy YXlCdWZmZXJWaWV3PgotLU1heWJlU2hhcmVkPFQ+Ci0tTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVm ZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+Pj46Ok5hdGl2ZVZhbHVlKAot LSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFs dWUsCi0tICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLStNYXliZVNoYXJl ZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLSsgICAgSURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxp bWl0PE1heWJlU2hhcmVkPFQ+PiwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0rICAgIE5hdGl2 ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8 djg6OlZhbHVlPiB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2Vw dGlvbl9zdGF0ZSkgewotICAgcmV0dXJuIE5hdGl2ZVZhbHVlSW1wbDwKLSAgICAgICBSZWNpcGVU cmFpdDxNYXliZVNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKLSAg ICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprRG9Ob3RD aGVjaywKLUBAIC03NzEsMTIgKzc3NCwxMyBAQCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJT b3VyY2VUeXBlTm9TCi0gfQotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotLU1heWJlU2hhcmVkPFQ+ IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDwKLS0gICAg TWF5YmVTaGFyZWQ8VD4+Pjo6QXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g dmFsdWUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3Rh dGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRz PAotKyAgICBJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+LAot KyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLSsgICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKLSsgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0rICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgICAgICAgICAgICAg ICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJuIEFyZ3VtZW50 VmFsdWVJbXBsPAotICAgICAgIFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwgVG9ET01WaWV3 VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAotICAgICAgIE51bGxhYmxpdHk6OmtJc05vdE51bGxhYmxl LCBCdWZmZXJTaXplQ2hlY2s6OmtEb05vdENoZWNrLAotQEAgLTc4NywxMSArNzkxLDEyIEBAIE1h eWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmYKLSAvLyBOdWxsYWJsZSBBcnJh eUJ1ZmZlclZpZXcKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6 ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KLS1Ob3RTaGFyZWQ8VD4gTmF0aXZl VmFsdWVUcmFpdHM8SURMTnVsbGFibGU8Tm90U2hhcmVkPFQ+Pj46Ok5hdGl2ZVZhbHVlKAotLSAg ICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUs Ci0tICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLStOb3RTaGFyZWQ8VD4g TmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIElETE51bGxhYmxlPE5vdFNoYXJlZDxUPj4sCi0rICAg IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVy VmlldywgVD46OnZhbHVlPj46OgotKyAgICBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0 ZSwKLSsgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgICAg ICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSAgIHJldHVybiBO YXRpdmVWYWx1ZUltcGw8Ci0gICAgICAgUmVjaXBlVHJhaXQ8Tm90U2hhcmVkPFQ+PiwgVG9ET01W aWV3VHlwZTxULCBrTm90U2hhcmVkPiwKLSAgICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwg QnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCi1AQCAtODAwLDEyICs4MDUsMTMgQEAgTm90U2hhcmVk PFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYgotIH0KLSAKLSB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmll dz4KLS1Ob3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8Tm90U2hhcmVk PFQ+Pj46OkFyZ3VtZW50VmFsdWUoCi0tICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICBp bnQgYXJndW1lbnRfaW5kZXgsCi0tICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAg ICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0rTm90U2hhcmVkPFQ+IE5hdGl2 ZVZhbHVlVHJhaXRzPAotKyAgICBJRExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+LAotKyAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+OjoKLSsgICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwK LSsgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0rICAgICAgICAgICAgICAg ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgICAgICAgICAgICAgICAgRXhjZXB0 aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBs PAotICAgICAgIFJlY2lwZVRyYWl0PE5vdFNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwga05v dFNoYXJlZD4sCi0gICAgICAgTnVsbGFibGl0eTo6a0lzTnVsbGFibGUsIEJ1ZmZlclNpemVDaGVj azo6a0NoZWNrLAotQEAgLTgxNiwxMSArODIyLDEyIEBAIE5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1 ZVRyYWl0czxJRExOdWxsYWIKLSAvLyBOdWxsYWJsZSBbQWxsb3dTaGFyZWRdIEFycmF5QnVmZmVy VmlldwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVk X2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotLU1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVl VHJhaXRzPElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+Pj46Ok5hdGl2ZVZhbHVlKAotLSAgICB2 ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0t ICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLStNYXliZVNoYXJlZDxUPiBO YXRpdmVWYWx1ZVRyYWl0czwKLSsgICAgSURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+LAotKyAg ICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZl clZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLSsgICAgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xh dGUsCi0rICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICAg ICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4g TmF0aXZlVmFsdWVJbXBsPFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgVG9ET01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAotICAgICAgICAg ICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNr OjprQ2hlY2ssCi1AQCAtODI5LDEyICs4MzYsMTMgQEAgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFs dWVUcmFpdHM8SURMTnVsbAotIH0KLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVp cmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KLS1NYXliZVNoYXJl ZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxNYXliZVNoYXJlZDxUPj4+OjpBcmd1 bWVudFZhbHVlKAotLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgaW50IGFyZ3VtZW50 X2luZGV4LAotLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgRXhjZXB0aW9u U3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJh aXRzPAotKyAgICBJRExOdWxsYWJsZTxNYXliZVNoYXJlZDxUPj4sCi0rICAgIHR5cGVuYW1lIHN0 ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZh bHVlPj46OgotKyAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICAg ICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKLSsgICAgICAgICAgICAgICAgICB2ODo6 TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0 ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8UmVjaXBl VHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvRE9N Vmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBO dWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCi1AQCAtODQ1 LDkgKzg1Myw5IEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGwKLSAv LyBOdWxsYWJsZSBbQWxsb3dTaGFyZWQsIEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdF0gQXJy YXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6 OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0tTWF5YmVTaGFyZWQ8VD4KLS1O YXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGlt aXQ8TWF5YmVTaGFyZWQ8VD4+Pj46OgotK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRz PAotKyAgICBJRExOdWxsYWJsZTxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVT aGFyZWQ8VD4+PiwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vf b2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0gICAgIEFyZ3VtZW50VmFsdWUo djg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2lu ZGV4LAotICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAg LTg2MiwxMSArODcwLDEzIEBAIE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElETEJ1ZmZl clMKLSAvLyBbQWxsb3dTaGFyZWQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3XSBBcnJheUJ1ZmZl clZpZXcKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZl ZF9mcm9tPFQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3PgotLVQgTmF0aXZlVmFsdWVUcmFpdHM8 VD46OkFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNl cHRpb25fc3RhdGUpIHsKLStUIE5hdGl2ZVZhbHVlVHJhaXRzPFQsCi0rICAgICAgICAgICAgICAg ICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotKyAgICAgICAgICAgICAgICAgICAgICAg IHN0ZDo6aXNfYmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46Ogot KyAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICAgICAgICAgICAg ICAgIGludCBhcmd1bWVudF9pbmRleCwKLSsgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0 aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8UmVjaXBlVHJhaXQ8VD4s IFRvRmxleGlibGVBcnJheUJ1ZmZlclZpZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg TnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2l6YWJsZUFsbG93YW5jZTo6a0Rpc2FsbG93UmVz aXphYmxlLAotQEAgLTg3OCwxMiArODg4LDEzIEBAIFQgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkFy Z3VtZW50VmFsdWUodjgKLSAvLyBBcnJheUJ1ZmZlclZpZXcKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIEZsZXhpYmxlQXJyYXlCdWZm ZXJWaWV3PgotLVQgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxp bWl0PFQ+Pjo6QXJndW1lbnRWYWx1ZSgKLS0gICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAg IGludCBhcmd1bWVudF9pbmRleCwKLS0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0t ICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLStUIE5hdGl2ZVZhbHVlVHJh aXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxUPiwKLSsgICAgICAgICAgICAgICAg ICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0rICAgICAgICAgICAgICAgICAgICAgICAg c3RkOjppc19iYXNlX29mPEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0r ICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0rICAgICAgICAgICAgICAg ICAgaW50IGFyZ3VtZW50X2luZGV4LAotKyAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6 VmFsdWU+IHZhbHVlLAotKyAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRp b25fc3RhdGUpIHsKLSAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDwKLSAgICAgICBSZWNpcGVU cmFpdDxUPiwgVG9GbGV4aWJsZUFycmF5QnVmZmVyVmlldywgTnVsbGFibGl0eTo6a0lzTm90TnVs bGFibGUsCi0gICAgICAgQnVmZmVyU2l6ZUNoZWNrOjprRG9Ob3RDaGVjaywgUmVzaXphYmxlQWxs b3dhbmNlOjprRGlzYWxsb3dSZXNpemFibGUsCi1AQCAtODk0LDEyICs5MDUsMTMgQEAgVCBOYXRp dmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTgotIC8vIE51bGxhYmxlIFtBbGxvd1No YXJlZCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXddIEFycmF5QnVmZmVyVmlldwotIAotIHRlbXBs YXRlIDx0eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGli bGVBcnJheUJ1ZmZlclZpZXc+Ci0tVCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj46 OkFyZ3VtZW50VmFsdWUoCi0tICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICBpbnQgYXJn dW1lbnRfaW5kZXgsCi0tICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAgICBFeGNl cHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0rVCBOYXRpdmVWYWx1ZVRyYWl0czxJRExO dWxsYWJsZTxUPiwKLSsgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lm X3Q8Ci0rICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjppc19iYXNlX29mPEZsZXhpYmxlQXJy YXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0rICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCi0rICAgICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAotKyAg ICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICAgICAgICAg ICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSAgIHJldHVybiBBcmd1 bWVudFZhbHVlSW1wbDxSZWNpcGVUcmFpdDxUPiwgVG9GbGV4aWJsZUFycmF5QnVmZmVyVmlldywK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVm ZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzaXph YmxlQWxsb3dhbmNlOjprRGlzYWxsb3dSZXNpemFibGUsCi1kaWZmIC11cCBjaHJvbWl1bS0xMjIu MC42MjYxLjU3L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0 aXZlX3ZhbHVlX3RyYWl0cy5oLm1lIGNocm9taXVtLTEyMi4wLjYyNjEuNTcvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzLmgKLS0t LSBjaHJvbWl1bS0xMjIuMC42MjYxLjU3L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRp bmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oLm1lCTIwMjQtMDItMjEgMDE6MjA6NTMu MTM4OTQ2NTAwICswMTAwCi0rKysgY2hyb21pdW0tMTIyLjAuNjI2MS41Ny90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHMuaAkyMDI0 LTAyLTIxIDEyOjMzOjUzLjIyNTIwNzA3NSArMDEwMAotQEAgLTUsNyArNSw2IEBACi0gI2lmbmRl ZiBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9CSU5ESU5HU19DT1JFX1Y4X05BVElWRV9WQUxV RV9UUkFJVFNfSF8KLSAjZGVmaW5lIFRISVJEX1BBUlRZX0JMSU5LX1JFTkRFUkVSX0JJTkRJTkdT X0NPUkVfVjhfTkFUSVZFX1ZBTFVFX1RSQUlUU19IXwotIAotLSNpbmNsdWRlIDxjb25jZXB0cz4K LSAjaW5jbHVkZSA8dHlwZV90cmFpdHM+Ci0gCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvaWRsX3R5cGVzX2Jhc2UuaCIKLUBAIC0zMSw3ICsz MCw3IEBAIGNsYXNzIEV4Y2VwdGlvblN0YXRlOwotIC8vICAgICByZXR1cm4gdG9JbnQzMihpc29s YXRlLCB2YWx1ZSwgZXhjZXB0aW9uU3RhdGUsIE5vcm1hbENvbnZlcnNpb24pOwotIC8vICAgfQot IC8vIH0KLS10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSt0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlw ZW5hbWUgU0ZJTkFFSGVscGVyID0gdm9pZD4KLSBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM7Ci0g Ci0gLy8gVGhpcyBkZWNsYXJhdGlvbiBzZXJ2ZXMgb25seSBhcyBhIGJsdWVwcmludCBmb3Igc3Bl Y2lhbGl6YXRpb25zOiB0aGUKLUBAIC00NiwxNSArNDUsMjIgQEAgc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzOwotIAotIG5hbWVzcGFjZSBiaW5kaW5ncyB7Ci0gCi0rdGVtcGxhdGUgPHR5cGVuYW1l IFQsIHR5cGVuYW1lID0gdm9pZD4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHNIYXNJc051bGwg OiBzdGQ6OmZhbHNlX3R5cGUge307Ci0rCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0 IEltcGxUeXBlRm9yIHsKLS0gIHVzaW5nIHR5cGUgPSBUOwotLX07Ci0rc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzSGFzSXNOdWxsPAotKyAgICBULAotKyAgICBzdGQ6OnZvaWRfdDxkZWNsdHlwZShz dGQ6OmRlY2x2YWw8VD4oKS5Jc051bGwoKSk+PiA6IHN0ZDo6dHJ1ZV90eXBlIHt9OwotIAotIHRl bXBsYXRlIDx0eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgSURM QmFzZT4KLS1zdHJ1Y3QgSW1wbFR5cGVGb3I8VD4gewotLSAgdXNpbmcgdHlwZSA9IHR5cGVuYW1l IFQ6OkltcGxUeXBlOwotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0c0hhc051bGxWYWx1ZSB7Ci0r ICAvLyB0cnVlIGlmIHxUfCBzdXBwb3J0cyBJREwgbnVsbCB2YWx1ZS4KLSsgIHN0YXRpYyBjb25z dGV4cHIgYm9vbCB2YWx1ZSA9Ci0rICAgICAgLy8gU2NyaXB0VmFsdWUsIFN0cmluZywgYW5kIHVu aW9uIHR5cGVzIGhhdmUgSXNOdWxsIG1lbWJlciBmdW5jdGlvbi4KLSsgICAgICBiaW5kaW5nczo6 TmF0aXZlVmFsdWVUcmFpdHNIYXNJc051bGw8VD46OnZhbHVlIHx8Ci0rICAgICAgLy8gUG9pbnRl ciB0eXBlcyBoYXZlIG51bGxwdHIgYXMgSURMIG51bGwgdmFsdWUuCi0rICAgICAgc3RkOjppc19w b2ludGVyPFQ+Ojp2YWx1ZTsKLSB9OwotIAotIH0gIC8vIG5hbWVzcGFjZSBiaW5kaW5ncwotQEAg LTcyLDE3ICs3OCwzNyBAQCBzdHJ1Y3QgSW1wbFR5cGVGb3I8VD4gewotIC8vIElmIHByZXNlbnQs IHxOdWxsVmFsdWUoKXwgd2lsbCBiZSB1c2VkIHdoZW4gY29udmVydGluZyBmcm9tIHRoZSBudWxs YWJsZSB0eXBlCi0gLy8gVD8sIGFuZCBzaG91bGQgYmUgdXNlZCBpZiB0aGUgaW1wbCB0eXBlIGhh cyBhbiBleGlzdGluZyAibnVsbCIgc3RhdGUuIElmIG5vdAotIC8vIHByZXNlbnQsIFdURjo6T3B0 aW9uYWwgd2lsbCBiZSB1c2VkIHRvIHdyYXAgdGhlIHR5cGUuCi0tdGVtcGxhdGUgPHR5cGVuYW1l IFQ+Ci0rdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFNGSU5BRUhlbHBlciA9IHZvaWQ+ Ci0gc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZSB7Ci0gICBTVEFUSUNfT05MWShOYXRpdmVW YWx1ZVRyYWl0c0Jhc2UpOwotIAotLSAgdXNpbmcgSW1wbFR5cGUgPSBiaW5kaW5nczo6SW1wbFR5 cGVGb3I8VD46OnR5cGU7Ci0rICB1c2luZyBJbXBsVHlwZSA9IFQ7Ci0rCi0rICBzdGF0aWMgY29u c3RleHByIGJvb2wgaGFzX251bGxfdmFsdWUgPQotKyAgICAgIGJpbmRpbmdzOjpOYXRpdmVWYWx1 ZVRyYWl0c0hhc051bGxWYWx1ZTxJbXBsVHlwZT46OnZhbHVlOwotKwotKyAgdGVtcGxhdGUgPHR5 cGVuYW1lLi4uIEV4dHJhQXJncz4KLSsgIHN0YXRpYyBkZWNsdHlwZShhdXRvKSBBcmd1bWVudFZh bHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXh0cmFBcmdzLi4uIGV4dHJh X2FyZ3MpIHsKLSsgICAgcmV0dXJuIE5hdGl2ZVZhbHVlVHJhaXRzPHN0ZDo6cmVtb3ZlX3BvaW50 ZXJfdDxUPj46Ok5hdGl2ZVZhbHVlKAotKyAgICAgICAgaXNvbGF0ZSwgdmFsdWUsIGV4Y2VwdGlv bl9zdGF0ZSwKLSsgICAgICAgIHN0ZDo6Zm9yd2FyZDxFeHRyYUFyZ3M+KGV4dHJhX2FyZ3MpLi4u KTsKLSsgIH0KLSt9OwotKwotK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgotK3N0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0c0Jhc2U8Ci0rICAgIFQsCi0rICAgIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19i YXNlX29mPElETEJhc2UsIFQ+Ojp2YWx1ZT4+IHsKLSsgIFNUQVRJQ19PTkxZKE5hdGl2ZVZhbHVl VHJhaXRzQmFzZSk7Ci0rCi0rICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIFQ6OkltcGxUeXBl OwotIAotLSAgLy8gUG9pbnRlciB0eXBlcyBoYXZlIG51bGxwdHIgYXMgSURMIG51bGwgdmFsdWUu Ci0tICAvLyBTY3JpcHRWYWx1ZSwgU3RyaW5nLCBhbmQgdW5pb24gdHlwZXMgaGF2ZSBJc051bGwg bWVtYmVyIGZ1bmN0aW9uLgotICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGhhc19udWxsX3ZhbHVl ID0KLS0gICAgICBzdGQ6OmlzX3BvaW50ZXJfdjxJbXBsVHlwZT4gfHwKLS0gICAgICByZXF1aXJl cyhJbXBsVHlwZSB2YWx1ZSkgeyB2YWx1ZS5Jc051bGwoKTsgfTsKLSsgICAgICBiaW5kaW5nczo6 TmF0aXZlVmFsdWVUcmFpdHNIYXNOdWxsVmFsdWU8SW1wbFR5cGU+Ojp2YWx1ZTsKLSAKLSAgIC8v IFRoaXMgc2hvdWxkIG9ubHkgYmUgdHJ1ZSBmb3IgY2VydGFpbiBzdWJjbGFzc2VzIG9mIFNjcmlw dFdyYXBwYWJsZQotICAgLy8gdGhhdCBzYXRpc2Z5IHRoZSBhc3N1bXB0aW9ucyBvZiBDcmVhdGVJ RExTZXF1ZW5jZUZyb21WOEFycmF5U2xvdygpIHdpdGgKLWRpZmYgLXVwIGNocm9taXVtLTEyMi4w LjYyNjEuNTcvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRp dmVfdmFsdWVfdHJhaXRzX2ltcGwuaC5tZSBjaHJvbWl1bS0xMjIuMC42MjYxLjU3L3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19p bXBsLmgKLS0tLSBjaHJvbWl1bS0xMjIuMC42MjYxLjU3L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19pbXBsLmgubWUJMjAyNC0w Mi0yMSAwMToyMDo1My4xMzg5NDY1MDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMjIuMC42MjYxLjU3 L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVl X3RyYWl0c19pbXBsLmgJMjAyNC0wMi0yMSAxMjozMzo1My4yMjcyMDcxMzEgKzAxMDAKLUBAIC01 LDkgKzUsNiBAQAotICNpZm5kZWYgVEhJUkRfUEFSVFlfQkxJTktfUkVOREVSRVJfQklORElOR1Nf Q09SRV9WOF9OQVRJVkVfVkFMVUVfVFJBSVRTX0lNUExfSF8KLSAjZGVmaW5lIFRISVJEX1BBUlRZ X0JMSU5LX1JFTkRFUkVSX0JJTkRJTkdTX0NPUkVfVjhfTkFUSVZFX1ZBTFVFX1RSQUlUU19JTVBM X0hfCi0gCi0tI2luY2x1ZGUgPGNvbmNlcHRzPgotLSNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KLS0K LSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3R5cGVzL29wdGlvbmFsLmgi Ci0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgv aWRsX3R5cGVzLmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRp bmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oIgotQEAgLTczNiw4ICs3MzMsOSBAQCBz dHJ1Y3QgQ09SRV9FWFBPUlQgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8 dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVm ZmVyVmlldz4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gewotK3N0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKLSsgICAgVCwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PiB7Ci0gICAvLyBOb3RT aGFyZWQ8VD4gb3IgTWF5YmVTaGFyZWQ8VD4gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KLSAgIHN0 YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC03NDksOCArNzQ3LDkg QEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IHsKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBl bmFtZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJW aWV3PgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gewotK3N0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czwKLSsgICAgSURMTnVsbGFibGU8VD4sCi0rICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46 OnZhbHVlPj4gewotICAgLy8gTm90U2hhcmVkPFQ+IG9yIE1heWJlU2hhcmVkPFQ+IHNob3VsZCBi ZSB1c2VkIGluc3RlYWQuCi0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlz b2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFs dWUsCi1AQCAtNzYyLDggKzc2MSw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxs YWJsZTxUPj4KLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotLXN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czxOb3RTaGFyZWQ8VD4+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotKyAgICBO b3RTaGFyZWQ8VD4sCi0rICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNl X29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZl VmFsdWVUcmFpdHNCYXNlPE5vdFNoYXJlZDxUPj4gewotICAgc3RhdGljIE5vdFNoYXJlZDxUPiBO YXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi1AQCAtNzc2LDggKzc3Niw5 IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxOb3RTaGFyZWQ8VD4+Ci0gfTsKLSAKLSB0ZW1w bGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFy cmF5QnVmZmVyVmlldz4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8Tm90 U2hhcmVkPFQ+Pj4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIElETE51bGxhYmxl PE5vdFNoYXJlZDxUPj4sCi0rICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19i YXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4KLSAgICAgOiBwdWJsaWMgTmF0 aXZlVmFsdWVUcmFpdHNCYXNlPE5vdFNoYXJlZDxUPj4gewotICAgc3RhdGljIE5vdFNoYXJlZDxU PiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi1AQCAtNzkwLDggKzc5 MSw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3QKLSB9OwotIAot IHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwg RE9NQXJyYXlCdWZmZXJWaWV3PgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxNYXliZVNoYXJl ZDxUPj4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIE1heWJlU2hhcmVkPFQ+LAot KyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Ci0gICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTxNYXliZVNoYXJlZDxUPj4gewotICAgc3RhdGljIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVl KHY4OjpJc29sYXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAgLTgwNCw4ICs4MDYsOSBAQCBzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8TWF5YmVTaGFyZWQ8VD4+Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8 dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVm ZmVyVmlldz4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5v U2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+Pj4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0r ICAgIElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4sCi0rICAg IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVy VmlldywgVD46OnZhbHVlPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE1h eWJlU2hhcmVkPFQ+PiB7Ci0gICAvLyBGbGV4aWJsZUFycmF5QnVmZmVyVmlldyB1c2VzIHRoaXMg aW4gaXRzIGltcGxlbWVudGF0aW9uLCBzbyB3ZSBjYW5ub3QKLSAgIC8vIGRlbGV0ZSBpdC4KLUBA IC04MjAsOCArODIzLDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJj ZQotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRlcml2 ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+Pj4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 Ci0rICAgIElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+PiwKLSsgICAgdHlwZW5hbWUgc3RkOjpl bmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+ PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+IHsK LSAgIHN0YXRpYyBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0 ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZh bHVlPiB2YWx1ZSwKLUBAIC04MzQsOSArODM4LDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPE1heQotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1 aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0gc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJRExOdWxsYWJsZTxJRExCdWZmZXJTb3VyY2VUeXBlTm9T aXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+Pj4KLSsgICAgSURMTnVsbGFibGU8SURMQnVmZmVyU291 cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+Pj4sCi0rICAgIHR5cGVuYW1lIHN0ZDo6 ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVl Pj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE1heWJlU2hhcmVkPFQ+PiB7 Ci0gICAvLyBCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQgbXVzdCBiZSB1c2VkIG9ubHkgYXMg YXJndW1lbnRzLgotICAgc3RhdGljIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlKHY4OjpJc29s YXRlKiBpc29sYXRlLAotQEAgLTg1MCw4ICs4NTQsMTEgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRl cml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVyVmlldz4KLS1zdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKLStzdHJ1Y3Qg TmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIFQsCi0rICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lm X3Q8Ci0rICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+ Ojp2YWx1ZT4+Ci0rICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Ci0gICAv LyBGbGV4aWJsZUFycmF5QnVmZmVyVmlldyBtdXN0IGJlIHVzZWQgb25seSBhcyBhcmd1bWVudHMu Ci0gICBzdGF0aWMgVCBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAgLTg2NCw4ICs4 NzEsMTAgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdAotIH07Ci0g Ci0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxU LCBGbGV4aWJsZUFycmF5QnVmZmVyVmlldz4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURM QnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PFQ+PgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czwKLSsgICAgSURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PFQ+LAotKyAgICB0eXBlbmFt ZSBzdGQ6OmVuYWJsZV9pZl90PAotKyAgICAgICAgc3RkOjppc19iYXNlX29mPEZsZXhpYmxlQXJy YXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0 c0Jhc2U8VD4gewotICAgLy8gQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0IGFuZCBGbGV4aWJs ZUFycmF5QnVmZmVyVmlldyBtdXN0IGJlIHVzZWQgb25seQotICAgLy8gYXMgYXJndW1lbnRzLgot QEAgLTg4MCw4ICs4ODksMTEgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNv dXJjZQotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRl cml2ZWRfZnJvbTxULCBGbGV4aWJsZUFycmF5QnVmZmVyVmlldz4KLS1zdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8SURMTnVsbGFibGU8VD4+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxU PiB7Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotKyAgICBJRExOdWxsYWJsZTxUPiwKLSsg ICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKLSsgICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxG bGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4KLSsgICAgOiBwdWJsaWMgTmF0aXZl VmFsdWVUcmFpdHNCYXNlPFQ+IHsKLSAgIC8vIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3IG11c3Qg YmUgdXNlZCBvbmx5IGFzIGFyZ3VtZW50cy4KLSAgIHN0YXRpYyBUIE5hdGl2ZVZhbHVlKHY4OjpJ c29sYXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCi1AQCAtMTIxNyw4ICsxMjI5LDkgQEAgTmF0aXZlVmFsdWVUcmFpdHM8SURM U2VxdWVuY2U8VD4+OjpOYXRpdgotIH0KLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJl cXVpcmVzIE5hdGl2ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+Pjo6aGFzX251bGxfdmFsdWUK LS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMU2VxdWVuY2U8VD4+Pgot K3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJRExTZXF1ZW5jZTxUPj4sCi0r ICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxU Pj46Omhhc19udWxsX3ZhbHVlPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNl PEhlYXBWZWN0b3I8QWRkTWVtYmVySWZOZWVkZWQ8VD4+Kj4gewotICAgdXNpbmcgSW1wbFR5cGUg PSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46OkltcGxUeXBlKjsK LSAKLUBAIC0xMjk0LDggKzEzMDcsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMQXJy YXk8VD4+Ci0gICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+PiB7 fTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIE5hdGl2ZVZhbHVlVHJh aXRzPElETFNlcXVlbmNlPFQ+Pjo6aGFzX251bGxfdmFsdWUKLS1zdHJ1Y3QgTmF0aXZlVmFsdWVU cmFpdHM8SURMTnVsbGFibGU8SURMQXJyYXk8VD4+PgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxJRExOdWxsYWJsZTxJRExBcnJheTxUPj4sCi0rICAgICAgICAgICAgICAgICAgICAgICAgIHR5 cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO YXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Omhhc19udWxsX3ZhbHVlPj4KLSAgICAg OiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMU2VxdWVuY2U8VD4+PiB7 fTsKLSAKLSAvLyBSZWNvcmQgdHlwZXMKLUBAIC0xNDI1LDggKzE0MzksMTAgQEAgc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPElETFJlY29yZDxLLCBWPgotIAotIC8vIENhbGxiYWNrIGZ1bmN0aW9u IHR5cGVzCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRf ZnJvbTxULCBDYWxsYmFja0Z1bmN0aW9uQmFzZT4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0rc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPAotKyAgICBULAotKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6 aXNfYmFzZV9vZjxDYWxsYmFja0Z1bmN0aW9uQmFzZSwgVD46OnZhbHVlPj4KLSsgICAgOiBwdWJs aWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUo djg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3Rh dGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAgLTE0NDksOCArMTQ2NSw5IEBAIHN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXQKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFt ZSBUPgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tGdW5jdGlvbkJh c2U+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgotK3N0cnVjdCBO YXRpdmVWYWx1ZVRyYWl0czwKLSsgICAgSURMTnVsbGFibGU8VD4sCi0rICAgIHR5cGVuYW1lIHN0 ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPENhbGxiYWNrRnVuY3Rpb25CYXNlLCBUPjo6 dmFsdWU+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8SURMTnVsbGFibGU8 VD4+IHsKLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC0x NDc5LDggKzE0OTYsMTAgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+ PgotIAotIC8vIENhbGxiYWNrIGludGVyZmFjZSB0eXBlcwotIHRlbXBsYXRlIDx0eXBlbmFtZSBU PgotLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tJbnRlcmZhY2VCYXNl PgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0 c0Jhc2U8VCo+IHsKLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIFQsCi0rICAgIHR5 cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPENhbGxiYWNrSW50ZXJmYWNl QmFzZSwgVD46OnZhbHVlPj4KLSsgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQq PiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAg LTE1MDQsOCArMTUyMyw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBO YXQKLSAKLSAvLyBJbnRlcmZhY2UgdHlwZXMKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJl cXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIENhbGxiYWNrSW50ZXJmYWNlQmFzZT4KLS1zdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+Ci0rc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPAotKyAgICBJRExOdWxsYWJsZTxUPiwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVf aWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8Q2FsbGJhY2tJbnRlcmZhY2VCYXNlLCBUPjo6dmFsdWU+Pgot ICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8SURMTnVsbGFibGU8VD4+IHsKLSAg IHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC0xNTM0LDggKzE1 NTQsMTEgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgotIAotIC8v IERpY3Rpb25hcnkgdHlwZXMKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0 ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpEaWN0aW9uYXJ5QmFzZT4KLS1zdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0r c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotKyAgICBULAotKyAgICB0eXBlbmFtZSBzdGQ6OmVu YWJsZV9pZl90PAotKyAgICAgICAgc3RkOjppc19iYXNlX29mPGJpbmRpbmdzOjpEaWN0aW9uYXJ5 QmFzZSwgVD46OnZhbHVlPj4KLSsgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQq PiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAg LTE1NDYsMTEgKzE1NjksMTQgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGlj IE5hdAotIC8vIFdlIGRvbid0IHN1cHBvcnQgbnVsbGFibGUgZGljdGlvbmFyeSB0eXBlcyBpbiBn ZW5lcmFsIHNpbmNlIGl0J3MgcXVpdGUKLSAvLyBjb25mdXNpbmcgYW5kIG9mdGVuIG1pc3VzZWQu Ci0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxU LCBiaW5kaW5nczo6RGljdGlvbmFyeUJhc2U+ICYmCi0tICAgICAgICAgICAoc3RkOjpzYW1lX2Fz PFQsIEdQVUNvbG9yVGFyZ2V0U3RhdGU+IHx8Ci0tICAgICAgICAgICAgc3RkOjpzYW1lX2FzPFQs IEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IHx8Ci0tICAgICAgICAgICAgc3RkOjpzYW1l X2FzPFQsIEdQVVZlcnRleEJ1ZmZlckxheW91dD4pCi0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPFQ+PiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLStz dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIElETE51bGxhYmxlPFQ+LAotKyAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotKyAgICAgICAgc3RkOjppc19iYXNlX29mPGJpbmRpbmdz OjpEaWN0aW9uYXJ5QmFzZSwgVD46OnZhbHVlICYmCi0rICAgICAgICAoc3RkOjppc19zYW1lPFQs IEdQVUNvbG9yVGFyZ2V0U3RhdGU+Ojp2YWx1ZSB8fAotKyAgICAgICAgIHN0ZDo6aXNfc2FtZTxU LCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pjo6dmFsdWUgfHwKLSsgICAgICAgICBzdGQ6 OmlzX3NhbWU8VCwgR1BVVmVydGV4QnVmZmVyTGF5b3V0Pjo6dmFsdWUpPj4KLSsgICAgOiBwdWJs aWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUo djg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3Rh dGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAgLTE1NjIsOCArMTU4OCwxMSBAQCBzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+Ci0gCi0gLy8gRW51bWVyYXRpb24gdHlwZXMK LSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQs IGJpbmRpbmdzOjpFbnVtZXJhdGlvbkJhc2U+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+ IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Ci0rc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPAotKyAgICBULAotKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotKyAgICAg ICAgc3RkOjppc19iYXNlX29mPGJpbmRpbmdzOjpFbnVtZXJhdGlvbkJhc2UsIFQ+Ojp2YWx1ZT4+ Ci0rICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Ci0gICBzdGF0aWMgVCBO YXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg IHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgRXhj ZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAgLTE1NzMsOCArMTYwMiwxMCBAQCBz dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0Ci0gCi0gLy8gSW50ZXJmYWNl IHR5cGVzCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRf ZnJvbTxULCBTY3JpcHRXcmFwcGFibGU+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDog cHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewotK3N0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czwKLSsgICAgVCwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jh c2Vfb2Y8U2NyaXB0V3JhcHBhYmxlLCBUPjo6dmFsdWU+PgotKyAgICA6IHB1YmxpYyBOYXRpdmVW YWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSAgIC8vIFRoaXMgc2lnbmlmaWVzIHRoYXQgQ3JlYXRlSURM U2VxdWVuY2VGcm9tVjhBcnJheVNsb3coKSBtYXkgYXBwbHkKLSAgIC8vIGNlcnRhaW4gb3B0aW1p emF0aW9uIGJhc2VkIG9uIGFzc3VtcHRpb25zIGFib3V0IGBOYXRpdmVWYWx1ZSgpYAotICAgLy8g aW1wbGVtZW50YXRpb24gYmVsb3cuIEZvciBzdWJjbGFzc2VzIG9mIFNjcmlwdFdyYXBwYWJsZSB0 aGF0IGhhdmUKLUBAIC0xNjExLDggKzE2NDIsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 VD4gOiBwdWJsaWMgTmF0Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVp cmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIFNjcmlwdFdyYXBwYWJsZT4KLS1zdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAot KyAgICBJRExOdWxsYWJsZTxUPiwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8U2NyaXB0V3JhcHBhYmxlLCBUPjo6dmFsdWU+PgotICAgICA6IHB1YmxpYyBO YXRpdmVWYWx1ZVRyYWl0c0Jhc2U8SURMTnVsbGFibGU8VD4+IHsKLSAgIHN0YXRpYyBpbmxpbmUg VCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAgLTE2NDcsOCArMTY3 OSwxMCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+Ci0gfTsKLSAK LSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQs IGJpbmRpbmdzOjpVbmlvbkJhc2U+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVi bGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czwKLSsgICAgVCwKLSsgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vf b2Y8YmluZGluZ3M6OlVuaW9uQmFzZSwgVD46OnZhbHVlPj4KLSsgICAgOiBwdWJsaWMgTmF0aXZl VmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1 ZT4gdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2Vw dGlvbl9zdGF0ZSkgewotQEAgLTE2NjQsOCArMTY5OCwxMCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVU cmFpdHM8VD4gOiBwdWJsaWMgTmF0Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0g IHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpVbmlvbkJhc2U+Ci0tc3Ry dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PiA6IHB1YmxpYyBOYXRpdmVWYWx1 ZVRyYWl0c0Jhc2U8VCo+IHsKLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIElETE51 bGxhYmxlPFQ+LAotKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9v ZjxiaW5kaW5nczo6VW5pb25CYXNlLCBUPjo6dmFsdWU+PgotKyAgICA6IHB1YmxpYyBOYXRpdmVW YWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVl PiB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0 aW9uX3N0YXRlKSB7Ci1AQCAtMTY4Niw4ICsxNzIyLDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPElETE51bGxhYmxlPFQ+PgotIAotIC8vIE51bGxhYmxlIHR5cGVzCi0gdGVtcGxhdGUgPHR5 cGVuYW1lIElubmVyVHlwZT4KLS0gIHJlcXVpcmVzKCFOYXRpdmVWYWx1ZVRyYWl0czxJbm5lclR5 cGU+OjpoYXNfbnVsbF92YWx1ZSkKLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFi bGU8SW5uZXJUeXBlPj4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0rICAgIElETE51bGxh YmxlPElubmVyVHlwZT4sCi0rICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8IU5hdGl2ZVZh bHVlVHJhaXRzPElubmVyVHlwZT46Omhhc19udWxsX3ZhbHVlPj4KLSAgICAgOiBwdWJsaWMgTmF0 aXZlVmFsdWVUcmFpdHNCYXNlPElETE51bGxhYmxlPElubmVyVHlwZT4+IHsKLSAgIC8vIGh0dHBz Oi8vd2ViaWRsLnNwZWMud2hhdHdnLm9yZy8jZXMtbnVsbGFibGUtdHlwZQotICAgdXNpbmcgSW1w bFR5cGUgPQotQEAgLTE3MTksOCArMTc1Niw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJ RExOdWxsYWJsZTxJREwKLSAKLSAvLyBPcHRpb25hbCB0eXBlcwotIHRlbXBsYXRlIDx0eXBlbmFt ZSBUPgotLSAgcmVxdWlyZXMgc3RkOjppc19hcml0aG1ldGljX3Y8dHlwZW5hbWUgTmF0aXZlVmFs dWVUcmFpdHM8VD46OkltcGxUeXBlPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRp b25hbDxUPj4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMT3B0aW9uYWw8VD4sCi0rICAg ICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19h cml0aG1ldGljPAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTmF0aXZl VmFsdWVUcmFpdHM8VD46OkltcGxUeXBlPjo6dmFsdWU+PgotICAgICA6IHB1YmxpYyBOYXRpdmVW YWx1ZVRyYWl0c0Jhc2U8dHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlPiB7 Ci0gICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBs VHlwZTsKLSAKLUBAIC0xNzQyLDggKzE3ODAsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 SURMT3B0aW9uYWw8VD4+Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIHJlcXVp cmVzIHN0ZDo6aXNfcG9pbnRlcl92PHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBs VHlwZT4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMT3B0aW9uYWw8VD4+Ci0rc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzPElETE9wdGlvbmFsPFQ+LAotKyAgICAgICAgICAgICAgICAgICAg ICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfcG9pbnRlcjwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBs VHlwZT46OnZhbHVlPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPHR5cGVu YW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZT4gewotICAgdXNpbmcgSW1wbFR5cGUg PSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU7Ci0gCgpkaWZmIC0tZ2l0 IGEvY2hyb21pdW0uc3BlYyBiL2Nocm9taXVtLnNwZWMKaW5kZXggM2ExNGY5NC4uZWE1YjJmZiAx MDA2NDQKLS0tIGEvY2hyb21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC00MzAsOSAr NDMwLDkgQEAgUGF0Y2gzMDQ6IGNocm9taXVtLTExNy1zdHJpbmctY29udmVydC5wYXRjaAogUGF0 Y2gzMDY6IGNocm9taXVtLTExOS1hc3NlcnQucGF0Y2gKIAogIyBjb21waWxlciBlcnJvcnMgb24g ZXBlbAotUGF0Y2gzMDc6IGNocm9taXVtLTEyMi1jbGFuZzE2LWJ1aWxkZmxhZ3MucGF0Y2gKICMg cmV2ZXJ0IGl0IGZvciBvbGQgY2xhbmcgb24gcmhlbCBhbmQgZjM4Ci1QYXRjaDMwODogY2hyb21p dW0tMTIyLXY4LWMrKzIwLnBhdGNoCitQYXRjaDMwNzogY2hyb21pdW0tMTIxLXY4LWMrKzIwLXAx LnBhdGNoCitQYXRjaDMwODogY2hyb21pdW0tMTIxLXY4LWMrKzIwLnBhdGNoCiBQYXRjaDMwOTog Y2hyb21pdW0tMTIyLWNvbnN0ZXhwci5wYXRjaAogCiAjIG1pc3NpbmcgaW5jbHVkZSBoZWFkZXIg ZmlsZXMKQEAgLTQ0Niw2ICs0NDYsNyBAQCBQYXRjaDMxMjogY2hyb21pdW0tMTE5LWZzdGFjay1w cm90ZWN0b3Itc3Ryb25nLnBhdGNoCiAKICMgZml4ZWQgc3RhdGljIGFzc2VydCBlcnJvcgogUGF0 Y2gzMTM6IGNocm9taXVtLTEyMi1zdGF0aWMtYXNzZXJ0LnBhdGNoCitQYXRjaDMxNDogY2hyb21p dW0tMTIyLWNsYW5nMTYtYnVpbGRmbGFncy5wYXRjaAogCiAjIGJ1aWxkIGVycm9yCiBQYXRjaDM1 MTogY2hyb21pdW0tMTIxLW1uZW1vbmljLWVycm9yLnBhdGNoCkBAIC0xMTE1LDEwICsxMTE2LDEx IEBAIHVkZXYuCiAlZW5kaWYKIAogJWlmIDAlez9yaGVsfSB8fCAwJXs/ZmVkb3JhfSAmJiAwJXs/ ZmVkb3JhfSA8IDM5Ci0lcGF0Y2ggLVAzMDcgLXAxIC1iIC5jbGFuZzE2LWJ1aWxkZmxhZwotJXBh dGNoIC1QMzA4IC1wMSAtYiAudjgtYysrMjAKKyVwYXRjaCAtUDMwNyAtcDEgLVIgLWIgLnY4LWMr KzIwCislcGF0Y2ggLVAzMDggLXAxIC1SIC1iIC52OC1jKysyMAogJXBhdGNoIC1QMzA5IC1wMSAt YiAuY29uc3RleHByCiAlcGF0Y2ggLVAzMTMgLXAxIC1iIC5zdGF0aWMtYXNzZXJ0CislcGF0Y2gg LVAzMTQgLXAxIC1iIC5jbGFuZzE2LWJ1aWxkZmxhZwogJWVuZGlmCiAKICVwYXRjaCAtUDMxMCAt cDEgLWIgLm1pc3NpbmctaGVhZGVyLWZpbGVzCg==