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] rawhide: - Update to 150.0.7871.124 Date: Wed, 15 Jul 2026 12:57:26 GMT Message-ID: <178412024627.1.7403774653102819516.rpms-chromium-6a33b22870b5@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: rawhide X-Git-Rev: 6a33b22870b5602a6538a2631f730138a4418fb1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogcmF3aGlkZQogICAgICAg ICAgICBDb21taXQgOiA2YTMzYjIyODcwYjU2MDJhNjUzOGEyNjMxZjczMDEzOGE0NDE4ZmIxCiAg ICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAgICAg IERhdGUgICA6IDIwMjYtMDctMTVUMTQ6NTY6NTIrMDI6MDAKICAgICAgICAgICAgU3RhdHMgIDog Kzg4NS8tMyBpbiA2IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVk b3JhcHJvamVjdC5vcmcvcnBtcy9jaHJvbWl1bS9jLzZhMzNiMjI4NzBiNTYwMmE2NTM4YTI2MzFm NzMwMTM4YTQ0MThmYjE/YnJhbmNoPXJhd2hpZGUKCiAgICAgICAgICAgIExvZzoKICAgICAgICAg ICAgLSBVcGRhdGUgdG8gMTUwLjAuNzg3MS4xMjQKICAqIENWRS0yMDI2LTE1NzY0OiBVc2UgYWZ0 ZXIgZnJlZSBpbiBPem9uZQogICogQ1ZFLTIwMjYtMTU3NjU6IFVzZSBhZnRlciBmcmVlIGluIE96 b25lCiAgKiBDVkUtMjAyNi0xNTc2NjogVW5pbml0aWFsaXplZCBVc2UgaW4gU2tpYQogICogQ1ZF LTIwMjYtMTU3Njc6IEhlYXAgYnVmZmVyIG92ZXJmbG93IGluIGxpYnl1dgogICogQ1ZFLTIwMjYt MTU3Njg6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1lbnQgaW4gSFRNTC1pbi1DYW52YXMK ICAqIENWRS0yMDI2LTE1NzY5OiBJbnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiB1bnRydXN0ZWQg aW5wdXQgaW4gTGludXggVG9vbGtpdCBUaGVtaW5nCiAgKiBDVkUtMjAyNi0xNTc3MDogVW5pbml0 aWFsaXplZCBVc2UgaW4gVjgKICAqIENWRS0yMDI2LTE1NzcxOiBJbnN1ZmZpY2llbnQgdmFsaWRh dGlvbiBvZiB1bnRydXN0ZWQgaW5wdXQgaW4gTWVkaWEKICAqIENWRS0yMDI2LTE1NzcyOiBVc2Ug YWZ0ZXIgZnJlZSBpbiBHUFUKICAqIENWRS0yMDI2LTE1NzczOiBVc2UgYWZ0ZXIgZnJlZSBpbiBD b3JlCiAgKiBDVkUtMjAyNi0xNTc3NDogVXNlIGFmdGVyIGZyZWUgaW4gU2tpYQogICogQ1ZFLTIw MjYtMTU3NzU6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1lbnQgaW4gVjgKICAqIENWRS0y MDI2LTE1Nzc2OiBUeXBlIENvbmZ1c2lvbiBpbiBWOAogICogQ1ZFLTIwMjYtMTU3Nzc6IFVzZSBh ZnRlciBmcmVlIGluIFVJCiAgKiBDVkUtMjAyNi0xNTc3ODogSW5zdWZmaWNpZW50IHZhbGlkYXRp b24gb2YgdW50cnVzdGVkIGlucHV0IGluIE5hdmlnYXRpb24KCi0gQmFja3BvcnQgcGF0Y2hlcyB0 byBpbXByb3ZlIGF1dG8gZGFya21vZGUKCi0tLQpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTUwLUFk ZC1zaXplLXRocmVzaG9sZC1mb3ItY2xhc3NpZnlpbmctU1ZHLWRvY3VtZW50cy1mb3ItYXV0by1k YXJrLW1vZGUucGF0Y2ggYi9jaHJvbWl1bS0xNTAtQWRkLXNpemUtdGhyZXNob2xkLWZvci1jbGFz c2lmeWluZy1TVkctZG9jdW1lbnRzLWZvci1hdXRvLWRhcmstbW9kZS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWRhZGJiCi0tLSAvZGV2L251bGwKKysrIGIvY2hy b21pdW0tMTUwLUFkZC1zaXplLXRocmVzaG9sZC1mb3ItY2xhc3NpZnlpbmctU1ZHLWRvY3VtZW50 cy1mb3ItYXV0by1kYXJrLW1vZGUucGF0Y2gKQEAgLTAsMCArMSwzNzIgQEAKK2NvbW1pdCBiNTkz NGIxMWNmYzI5NDhmOGI5N2ViYjA5OTdhYWI1Zjc3ZTJmZTJjCitBdXRob3I6IFByYXNoYW50IE5l dmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorRGF0ZTogICBNb24gSnVsIDEzIDA0OjEwOjAw IDIwMjYgLTA3MDAKKworICAgIEFkZCBzaXplIHRocmVzaG9sZCBmb3IgY2xhc3NpZnlpbmcgU1ZH IGRvY3VtZW50cyBmb3IgYXV0byBkYXJrIG1vZGUuCisgICAgCisgICAgTGFyZ2Ugc3RhbmRhbG9u ZSBTVkcgZG9jdW1lbnRzIGFyZSB0cmVhdGVkIGFzIGNvbnRlbnQgKGlsbHVzdHJhdGlvbnMvCisg ICAgcGhvdG9zKSBhbmQgbGVmdCB1bnRvdWNoZWQgYnkgYXV0byBkYXJrIG1vZGUsIHdoaWxlIHNt YWxsIG9uZXMgbGlrZQorICAgIGljb25zIGFyZSBjb25zaWRlcmVkIGZvciBhdXRvIGRhcmsgbW9k ZS4KKyAgICAKKyAgICBOZXN0ZWQgU1ZHcyBhcmUgaGFuZGxlZCB2aWEgYSBzdGFjayBvZiBhdXRv IGRhcmsgbW9kZSBwYXVzZWQgc3RhdGVzIG9uCisgICAgR3JhcGhpY3NDb250ZXh0LCBtYW5hZ2Vk IGJ5IFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlLiBBbiBpY29uLXNpemVkCisgICAgaW5uZXIgU1ZH IHJlLWVuYWJsZXMgaW52ZXJzaW9uIGV2ZW4gaW5zaWRlIGEgcGF1c2VkIChsYXJnZSkgY29udGFp bmVyLAorICAgIGFuZCB0aGUgb3V0ZXIgc3RhdGUgaXMgcmVzdG9yZWQgb24gc2NvcGUgZXhpdC4g SW1hZ2VzIHJlbWFpbiBnYXRlZCBieQorICAgIHRoZWlyIG93biBzaXplIGNsYXNzaWZpY2F0aW9u IHJhdGhlciB0aGFuIHRoZSBwYXVzZWQgc3RhdGUuCisgICAgCisgICAgQnVnOiA0NDk5MDk1MjQK KyAgICBDaGFuZ2UtSWQ6IElmZDhiNjhlYzlhMzBhZDY2YzExNmNmNDFkNTEwZWVhZDQ5OWQzYmQ2 CisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5j b20vYy9jaHJvbWl1bS9zcmMvKy84MDM2MTIwCisgICAgUmV2aWV3ZWQtYnk6IFN0ZXBoZW4gQ2hl bm5leSA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgorICAgIENvbW1pdC1RdWV1ZTogUHJhc2hhbnQg TmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CisgICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiBy ZWZzL2hlYWRzL21haW5AeyMxNjYxMDQ0fQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5jYyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MKK2lu ZGV4IDY1OGY2YTRlNGY2Zi4uZTRiNWE4MTU1MTQ4IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5jYworKysrIGIv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9k ZS5jYworQEAgLTY5LDYgKzY5LDI1IEBAIEltYWdlQXV0b0RhcmtNb2RlIEltYWdlQ2xhc3NpZmll ckhlbHBlcjo6R2V0SW1hZ2VBdXRvRGFya01vZGUoCisgICAgICAgR2V0SW1hZ2VUeXBlV2l0aFpv b20obGF5b3V0X3pvb20sIGRlc3RfcmVjdCwgc3JjX3JlY3QpKTsKKyB9CisgCisrLy8gc3RhdGlj CisrRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldFNW R0RvY3VtZW50VHlwZSgKKysgICAgTG9jYWxGcmFtZSYgbG9jYWxfZnJhbWUsCisrICAgIGNvbnN0 IGdmeDo6UmVjdCYgc2l6ZSkgeworKyAgLy8gfHNpemV8IGluY2x1ZGVzIHRoZSBsYXlvdXQgem9v bSBmYWN0b3IgKHBhZ2Ugem9vbSBhbmQgRFNGKS4gVW5kbyBpdCBzbyB0aGUKKysgIC8vIHNpemUg dGhyZXNob2xkIG1hdGNoZXMgYml0bWFwIGltYWdlcywgd2hvc2UgY2xhc3NpZmljYXRpb24gaXMg dW5hZmZlY3RlZCBieQorKyAgLy8gcGFnZSB6b29tIGFuZCBEU0YuCisrICBjb25zdCBmbG9hdCBs YXlvdXRfem9vbSA9IGxvY2FsX2ZyYW1lLkxheW91dFpvb21GYWN0b3IoKTsKKysgIGNvbnN0IGZs b2F0IHVuem9vbWVkX3dpZHRoID0KKysgICAgICBsYXlvdXRfem9vbSA+IDAuZiA/IHNpemUud2lk dGgoKSAvIGxheW91dF96b29tIDogc2l6ZS53aWR0aCgpOworKyAgY29uc3QgZmxvYXQgdW56b29t ZWRfaGVpZ2h0ID0KKysgICAgICBsYXlvdXRfem9vbSA+IDAuZiA/IHNpemUuaGVpZ2h0KCkgLyBs YXlvdXRfem9vbSA6IHNpemUuaGVpZ2h0KCk7CisrICBpZiAodW56b29tZWRfd2lkdGggPD0ga01h eEltYWdlTGVuZ3RoICYmIHVuem9vbWVkX2hlaWdodCA8PSBrTWF4SW1hZ2VMZW5ndGgpIHsKKysg ICAgcmV0dXJuIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtJY29uOworKyAgfQorKworKyAg cmV0dXJuIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQaG90bzsKKyt9CisrCisgLy8gc3Rh dGljCisgRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6Okdl dEltYWdlVHlwZUZvclRlc3RpbmcoCisgICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRlc3RfcmVjdCwK K2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50 X2F1dG9fZGFya19tb2RlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50 L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK2luZGV4IGFmZDU3ZWVlMmI0NS4uYTIxZDE0NzJjZGU2 IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWlu dF9hdXRvX2RhcmtfbW9kZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3Jl L3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK0BAIC0zOSw2ICszOSwxMCBAQCBjbGFzcyBJ bWFnZUNsYXNzaWZpZXJIZWxwZXIgeworICAgICAgIERhcmtNb2RlRmlsdGVyOjpFbGVtZW50Um9s ZSByb2xlID0KKyAgICAgICAgICAgRGFya01vZGVGaWx0ZXI6OkVsZW1lbnRSb2xlOjprQmFja2dy b3VuZCk7CisgCisrICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFya01vZGVGaWx0ZXI6OkltYWdlVHlw ZSBHZXRTVkdEb2N1bWVudFR5cGUoCisrICAgICAgTG9jYWxGcmFtZSYgbG9jYWxfZnJhbWUsCisr ICAgICAgY29uc3QgZ2Z4OjpSZWN0JiBzaXplKTsKKysKKyAgIENPUkVfRVhQT1JUIHN0YXRpYyBE YXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlIEdldEltYWdlVHlwZUZvclRlc3RpbmcoCisgICAgICAg Y29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0LAorICAgICAgIGNvbnN0IGdmeDo6UmVjdEYmIHNy Y19yZWN0LAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFp bnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYworaW5kZXggY2YwNWVh MWE5ZThhLi4zMzdhZmY4ZmU5OTYgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MKKysrKyBiL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVz dC5jYworQEAgLTQsOCArNCwxMyBAQAorIAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgiCisgCisrI2luY2x1ZGUg PG1lbW9yeT4KKysKKyAjaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0 LmgiCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUvbG9j YWxfZnJhbWUuaCIKKysjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS90 ZXN0aW5nL2R1bW15X3BhZ2VfaG9sZGVyLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2RhcmtfbW9kZV9zZXR0aW5ncy5oIgorKyNpbmNs dWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS90ZXN0aW5nL3Rhc2tfZW52 aXJvbm1lbnQuaCIKKyAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L3JlY3QuaCIKKyAKKyBuYW1l c3BhY2UgYmxpbmsgeworQEAgLTcyLDYgKzc3LDE4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtNb2Rl VGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgICAgIEltYWdlQ2xhc3NpZmllckhl bHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhkZXN0X3JlY3QsIHNyY19yZWN0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dF96 b29tKSkpOworICAgfQorKworKyAgRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRTVkdEb2N1 bWVudFR5cGUoZmxvYXQgbGF5b3V0X3pvb20sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBnZng6OlJlY3QmIHNpemUpIHsKKysgICAgTG9jYWxG cmFtZSYgZnJhbWUgPSBwYWdlX2hvbGRlcl8tPkdldEZyYW1lKCk7CisrICAgIGZyYW1lLlNldExh eW91dFpvb21GYWN0b3IobGF5b3V0X3pvb20pOworKyAgICByZXR1cm4gSW1hZ2VDbGFzc2lmaWVy SGVscGVyOjpHZXRTVkdEb2N1bWVudFR5cGUoZnJhbWUsIHNpemUpOworKyAgfQorKworKyBwcml2 YXRlOgorKyAgdGVzdDo6VGFza0Vudmlyb25tZW50IHRhc2tfZW52aXJvbm1lbnRfOworKyAgc3Rk Ojp1bmlxdWVfcHRyPER1bW15UGFnZUhvbGRlcj4gcGFnZV9ob2xkZXJfID0KKysgICAgICBzdGQ6 Om1ha2VfdW5pcXVlPER1bW15UGFnZUhvbGRlcj4oZ2Z4OjpTaXplKDgwMCwgNjAwKSk7CisgfTsK KyAKKyBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91bGRBcHBseUZpbHRlclRvSW1h Z2UpIHsKK0BAIC0xNTQsNCArMTcxLDMwIEBAIFRFU1RfRihQYWludEF1dG9EYXJrTW9kZVRlc3Qs CisgICBUZXN0QXBwbHlGaWx0ZXJUb0ltYWdlSXJyZXNwZWN0aXZlT2ZQYWdlWm9vbShzY3JlZW5f aW5mbyk7CisgfQorIAorK1RFU1RfRihQYWludEF1dG9EYXJrTW9kZVRlc3QsIFNWR0RvY3VtZW50 SW1hZ2UpIHsKKysgIC8vIEJvdGggZGltZW5zaW9ucyBhcmUgYXQgb3IgYmVsb3cgdGhlIGljb24g dGhyZXNob2xkIChrTWF4SW1hZ2VMZW5ndGggPT0gNjQpLgorKyAgRVhQRUNUX0VRKERhcmtNb2Rl RmlsdGVyOjpJbWFnZVR5cGU6OmtJY29uLAorKyAgICAgICAgICAgIEdldFNWR0RvY3VtZW50VHlw ZSgxLjBmLCBnZng6OlJlY3QoNTAsIDUwKSkpOworKworKyAgLy8gRWl0aGVyIGRpbWVuc2lvbiBh Ym92ZSB0aGUgdGhyZXNob2xkIGNsYXNzaWZpZXMgdGhlIGRvY3VtZW50IGFzIGEgcGhvdG8uCisr ICBFWFBFQ1RfRVEoRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZTo6a1Bob3RvLAorKyAgICAgICAg ICAgIEdldFNWR0RvY3VtZW50VHlwZSgxLjBmLCBnZng6OlJlY3QoMjAwLCAyMDApKSk7CisrICAv LyBPbmx5IHRoZSB3aWR0aCBleGNlZWRzIHRoZSB0aHJlc2hvbGQuCisrICBFWFBFQ1RfRVEoRGFy a01vZGVGaWx0ZXI6OkltYWdlVHlwZTo6a1Bob3RvLAorKyAgICAgICAgICAgIEdldFNWR0RvY3Vt ZW50VHlwZSgxLjBmLCBnZng6OlJlY3QoMTAwLCA1MCkpKTsKKysgIC8vIE9ubHkgdGhlIGhlaWdo dCBleGNlZWRzIHRoZSB0aHJlc2hvbGQuCisrICBFWFBFQ1RfRVEoRGFya01vZGVGaWx0ZXI6Oklt YWdlVHlwZTo6a1Bob3RvLAorKyAgICAgICAgICAgIEdldFNWR0RvY3VtZW50VHlwZSgxLjBmLCBn Zng6OlJlY3QoNTAsIDEwMCkpKTsKKysKKysgIC8vIEEgNDB4NDAgQ1NTLXNpemVkIFNWRyBzY2Fs ZWQgdXAgYnkgYSA1eCBsYXlvdXQgem9vbSBpcyBzdGlsbCBhbiBpY29uIGFmdGVyCisrICAvLyB0 aGUgem9vbSBpcyB1bmRvbmUuCisrICBFWFBFQ1RfRVEoRGFya01vZGVGaWx0ZXI6OkltYWdlVHlw ZTo6a0ljb24sCisrICAgICAgICAgICAgR2V0U1ZHRG9jdW1lbnRUeXBlKDUuMGYsIGdmeDo6UmVj dCgyMDAsIDIwMCkpKTsKKysKKysgIC8vIEEgNDAweDQwMCBDU1Mtc2l6ZWQgU1ZHIHNjYWxlZCBk b3duIGJ5IGEgMC4yNXggbGF5b3V0IHpvb20gaXMgc3RpbGwgYSBwaG90bworKyAgLy8gYWZ0ZXIg dGhlIHpvb20gaXMgdW5kb25lLgorKyAgRVhQRUNUX0VRKERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5 cGU6OmtQaG90bywKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVudFR5cGUoMC4yNWYsIGdmeDo6 UmVjdCgxMDAsIDEwMCkpKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9zdmdfcm9vdF9wYWlu dGVyLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9zdmdfcm9vdF9w YWludGVyLmNjCitpbmRleCAxNDY0MDBlOTZhNjkuLmE5M2U5ZThhOTZhYiAxMDA2NDQKKy0tLSBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFpbnRlci5j YworKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9zdmdfcm9vdF9w YWludGVyLmNjCitAQCAtNCwxMiArNCwxNyBAQAorIAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9jb3JlL3BhaW50L3N2Z19yb290X3BhaW50ZXIuaCIKKyAKKysjaW5jbHVk ZSA8b3B0aW9uYWw+CisrCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvZnJhbWUvbG9jYWxfZnJhbWUuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9sYXlvdXQvc3ZnL2xheW91dF9zdmdfZm9yZWlnbl9vYmplY3QuaCIKKyAjaW5j bHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvc3ZnL2xheW91dF9z dmdfcm9vdC5oIgorKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3Bh aW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfaW5mby5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2xheWVyLmgiCisgI2luY2x1ZGUgInRo aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfbGF5ZXJfcGFpbnRlci5o IgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3N2Zy9zdmdfc3Zn X2VsZW1lbnQuaCIKKysjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZ3JhcGhpY3MvZ3JhcGhpY3NfY29udGV4dC5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9ydW50aW1lX2VuYWJsZWRfZmVhdHVyZXMuaCIKKyAKKyBu YW1lc3BhY2UgYmxpbmsgeworQEAgLTY0LDggKzY5LDEwIEBAIEFmZmluZVRyYW5zZm9ybSBTVkdS b290UGFpbnRlcjo6VHJhbnNmb3JtVG9QaXhlbFNuYXBwZWRCb3JkZXJCb3goCisgdm9pZCBTVkdS b290UGFpbnRlcjo6UGFpbnRSZXBsYWNlZChjb25zdCBQYWludEluZm8mIHBhaW50X2luZm8sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQaHlzaWNhbE9mZnNldCYg cGFpbnRfb2Zmc2V0KSB7CisgICAvLyBBbiBlbXB0eSB2aWV3cG9ydCBkaXNhYmxlcyByZW5kZXJp bmcuCistICBpZiAoUGl4ZWxTbmFwcGVkU2l6ZShwYWludF9vZmZzZXQpLklzRW1wdHkoKSkKKysg IGNvbnN0IGdmeDo6UmVjdCBzbmFwcGVkX3NpemUgPSBQaXhlbFNuYXBwZWRTaXplKHBhaW50X29m ZnNldCk7CisrICBpZiAoc25hcHBlZF9zaXplLklzRW1wdHkoKSkgeworICAgICByZXR1cm47Cisr ICB9CisgCisgICAvLyBBbiBlbXB0eSB2aWV3Qm94IGFsc28gZGlzYWJsZXMgcmVuZGVyaW5nLgor ICAgLy8gKGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNWaWV3Qm94QXR0cmli dXRlKQorQEAgLTc4LDYgKzg1LDIzIEBAIHZvaWQgU1ZHUm9vdFBhaW50ZXI6OlBhaW50UmVwbGFj ZWQoY29uc3QgUGFpbnRJbmZvJiBwYWludF9pbmZvLAorICAgICByZXR1cm47CisgICB9CisgCisr ICBzdGQ6Om9wdGlvbmFsPEdyYXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2RlU3RhdGU+ IGRhcmtfbW9kZV9zdGF0ZTsKKysgIGlmIChsYXlvdXRfc3ZnX3Jvb3RfLlN0eWxlUmVmKCkuRm9y Y2VEYXJrKCkpIHsKKysgICAgLy8gT25seSB0cmVhdCBpY29uL3NlcGFyYXRvci1zaXplZCBTVkcg ZG9jdW1lbnRzIGFzIGNhbmRpZGF0ZXMgZm9yIGRhcmsKKysgICAgLy8gbW9kZSBpbnZlcnNpb24u IExhcmdlciBTVkdzIGFyZSBsaWtlbHkgY29udGVudCAoaWxsdXN0cmF0aW9ucy9waG90b3MpCisr ICAgIC8vIGFuZCBzaG91bGQgbm90IGJlIGZvcmNlLWRhcmtlbmVkLiBUaGlzIG1pcnJvcnMgdGhl IHNpemUtYmFzZWQgaW1hZ2UKKysgICAgLy8gY2xhc3NpZmljYXRpb24gdXNlZCBmb3IgYml0bWFw cyAoa01heEltYWdlTGVuZ3RoKS4gU1ZHcyBjYW4gYmUgbmVzdGVkLAorKyAgICAvLyBzbyBwYXVz ZSB0aGlzIFNWRydzIGRhcmsgbW9kZSBzdGF0ZSB3aGlsZSBwYWludGluZyBpdHMgY2hpbGRyZW47 IHRoZQorKyAgICAvLyBzY29wZXIgcmVzdG9yZXMgdGhlIG91dGVyIHN0YXRlIHdoZW4gaXQgZ29l cyBvdXQgb2Ygc2NvcGUuIFRoaXMgbGV0cyBhbgorKyAgICAvLyBpY29uLXNpemVkIFNWRyBlbWJl ZGRlZCBpbnNpZGUgYSBsYXJnZXIgKHBhdXNlZCkgU1ZHIHJlLWVuYWJsZSBpbnZlcnNpb24KKysg ICAgLy8gZm9yIGl0c2VsZi4KKysgICAgY29uc3QgYm9vbCBwYXVzZV9kYXJrX21vZGUgPQorKyAg ICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRTVkdEb2N1bWVudFR5cGUoKmxheW91dF9z dmdfcm9vdF8uR2V0RnJhbWUoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNuYXBwZWRfc2l6ZSkgIT0KKysgICAgICAgIERhcmtNb2RlRmlsdGVy OjpJbWFnZVR5cGU6OmtJY29uOworKyAgICBkYXJrX21vZGVfc3RhdGUuZW1wbGFjZShwYWludF9p bmZvLmNvbnRleHQsIHBhdXNlX2RhcmtfbW9kZSk7CisrICB9CisrCisgICBmb3IgKExheW91dE9i amVjdCogY2hpbGQgPSBsYXlvdXRfc3ZnX3Jvb3RfLkZpcnN0Q2hpbGQoKTsgY2hpbGQ7CisgICAg ICAgIGNoaWxkID0gY2hpbGQtPk5leHRTaWJsaW5nKCkpIHsKKyAgICAgaWYgKGF1dG8qIGZvcmVp Z25fb2JqZWN0ID0gRHluYW1pY1RvPExheW91dFNWR0ZvcmVpZ25PYmplY3Q+KGNoaWxkKSkgewor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNz L2dyYXBoaWNzX2NvbnRleHQuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9y bS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0LmNjCitpbmRleCA5MmQ1OWFmMDgxZWQuLmRmMzk1 ZmMyNDNmZSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuY2MKK0BAIC03Nyw3ICs3 Nyw3IEBAIG5hbWVzcGFjZSB7CisgU2tDb2xvcjRmIERhcmtNb2RlQ29sb3IoR3JhcGhpY3NDb250 ZXh0JiBjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNrQ29sb3I0ZiYg Y29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXV0b0RhcmtNb2RlJiBhdXRv X2RhcmtfbW9kZSkgeworLSAgaWYgKGF1dG9fZGFya19tb2RlLmVuYWJsZWQpIHsKKysgIGlmIChh dXRvX2RhcmtfbW9kZS5lbmFibGVkICYmICFjb250ZXh0LklzQXV0b0RhcmtNb2RlUGF1c2VkKCkp IHsKKyAgICAgcmV0dXJuIGNvbnRleHQuR2V0RGFya01vZGVGaWx0ZXIoKS0+SW52ZXJ0Q29sb3JJ Zk5lZWRlZCgKKyAgICAgICAgIGNvbG9yLCBhdXRvX2RhcmtfbW9kZS5yb2xlLAorICAgICAgICAg U2tDb2xvcjRmOjpGcm9tQ29sb3IoYXV0b19kYXJrX21vZGUuY29udHJhc3RfY29sb3IpKTsKK0BA IC0xODksNyArMTg5LDcgQEAgY2xhc3MgR3JhcGhpY3NDb250ZXh0OjpEYXJrTW9kZUZsYWdzIGZp bmFsIHsKKyAgIERhcmtNb2RlRmxhZ3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAorICAgICAg ICAgICAgICAgICBjb25zdCBBdXRvRGFya01vZGUmIGF1dG9fZGFya19tb2RlLAorICAgICAgICAg ICAgICAgICBjb25zdCBjYzo6UGFpbnRGbGFncyYgZmxhZ3MpIHsKKy0gICAgaWYgKGF1dG9fZGFy a19tb2RlLmVuYWJsZWQpIHsKKysgICAgaWYgKGF1dG9fZGFya19tb2RlLmVuYWJsZWQgJiYgIWNv bnRleHQtPklzQXV0b0RhcmtNb2RlUGF1c2VkKCkpIHsKKyAgICAgICBkYXJrX21vZGVfZmxhZ3Nf ID0gY29udGV4dC0+R2V0RGFya01vZGVGaWx0ZXIoKS0+QXBwbHlUb0ZsYWdzSWZOZWVkZWQoCisg ICAgICAgICAgIGZsYWdzLCBhdXRvX2RhcmtfbW9kZS5yb2xlLAorICAgICAgICAgICBTa0NvbG9y NGY6OkZyb21Db2xvcihhdXRvX2RhcmtfbW9kZS5jb250cmFzdF9jb2xvcikpOworQEAgLTI0OCw2 ICsyNDgsOSBAQCBEYXJrTW9kZUZpbHRlciogR3JhcGhpY3NDb250ZXh0OjpHZXREYXJrTW9kZUZp bHRlckZvckltYWdlKAorICAgICBjb25zdCBJbWFnZUF1dG9EYXJrTW9kZSYgYXV0b19kYXJrX21v ZGUpIHsKKyAgIGlmICghYXV0b19kYXJrX21vZGUuZW5hYmxlZCkKKyAgICAgcmV0dXJuIG51bGxw dHI7CisrICAvLyBJbWFnZXMgYXJlIGdhdGVkIGJ5IHRoZWlyIG93biBzaXplIGNsYXNzaWZpY2F0 aW9uLCBub3QgYnkgdGhlIGNvbnRleHQncworKyAgLy8gYXV0byBkYXJrIG1vZGUgcGF1c2VkIHN0 YXRlLCBzbyBhbiBpY29uLXNpemVkIGltYWdlIGlzIHN0aWxsIGludmVydGVkIGV2ZW4KKysgIC8v IHdoaWxlIGRhcmsgbW9kZSBpcyBwYXVzZWQgZm9yIGl0cyBjb250YWluZXIuCisgICBEYXJrTW9k ZUZpbHRlciogZGFya19tb2RlX2ZpbHRlciA9IEdldERhcmtNb2RlRmlsdGVyKCk7CisgICBpZiAo IWRhcmtfbW9kZV9maWx0ZXItPlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZShhdXRvX2RhcmtfbW9k ZS5pbWFnZV90eXBlKSkKKyAgICAgcmV0dXJuIG51bGxwdHI7CitkaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvZ3JhcGhpY3NfY29udGV4dC5o IGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvZ3JhcGhpY3Nf Y29udGV4dC5oCitpbmRleCAwNDYwOThlNzk1NzguLmYwNzJlMjRiMWUyMiAxMDA2NDQKKy0tLSBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2Nv bnRleHQuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhp Y3MvZ3JhcGhpY3NfY29udGV4dC5oCitAQCAtMjEzLDYgKzIxMywzNCBAQCBjbGFzcyBQTEFURk9S TV9FWFBPUlQgR3JhcGhpY3NDb250ZXh0IHsKKyAgIERhcmtNb2RlRmlsdGVyKiBHZXREYXJrTW9k ZUZpbHRlckZvckltYWdlKAorICAgICAgIGNvbnN0IEltYWdlQXV0b0RhcmtNb2RlJiBhdXRvX2Rh cmtfbW9kZSk7CisgCisrICAvLyBQdXNoZXMgYSBkYXJrIG1vZGUgaW52ZXJzaW9uIHBhdXNlIHN0 YXRlIG9uIGNvbnN0cnVjdGlvbiBhbmQgcG9wcyBpdCBvbgorKyAgLy8gZGVzdHJ1Y3Rpb24sIGd1 YXJhbnRlZWluZyBwdXNoZXMgYW5kIHBvcHMgYXJlIGFsd2F5cyBiYWxhbmNlZC4gU2VlIHRoZQor KyAgLy8gY29tbWVudCBvbiBJc0F1dG9EYXJrTW9kZVBhdXNlZCgpIGZvciB0aGUgc2VtYW50aWNz IG9mIHRoZSBwYXVzZSBzdGF0ZXMuCisrICBjbGFzcyBTY29wZWRBdXRvRGFya01vZGVTdGF0ZSB7 CisrICAgIFNUQUNLX0FMTE9DQVRFRCgpOworKworKyAgIHB1YmxpYzoKKysgICAgU2NvcGVkQXV0 b0RhcmtNb2RlU3RhdGUoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBib29sIHBhdXNlZCkKKysg ICAgICAgIDogY29udGV4dF8oY29udGV4dCkgeworKyAgICAgIGNvbnRleHRfLlB1c2hBdXRvRGFy a01vZGVTdGF0ZShwYXVzZWQpOworKyAgICB9CisrICAgIFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRl KGNvbnN0IFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlJikgPSBkZWxldGU7CisrICAgIFNjb3BlZEF1 dG9EYXJrTW9kZVN0YXRlJiBvcGVyYXRvcj0oY29uc3QgU2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUm KSA9IGRlbGV0ZTsKKysgICAgflNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlKCkgeyBjb250ZXh0Xy5Q b3BBdXRvRGFya01vZGVTdGF0ZSgpOyB9CisrCisrICAgcHJpdmF0ZToKKysgICAgR3JhcGhpY3ND b250ZXh0JiBjb250ZXh0XzsKKysgIH07CisrCisrICAvLyBEYXJrIG1vZGUgY29sb3IvZmxhZ3Mg aW52ZXJzaW9uIHBhdXNlIHN0YXRlLiBXaGlsZSB0aGUgbGF0ZXN0IHB1c2hlZCBzdGF0ZQorKyAg Ly8gaXMgdHJ1ZSwgaW52ZXJzaW9uIGlzIHBhdXNlZCByZWdhcmRsZXNzIG9mIHRoZSBwZXItZHJh dyB8ZW5hYmxlZHwgZmxhZy4KKysgIC8vIE5lc3RlZCBzY29wZXMgY2FuIG92ZXJyaWRlIHRoZSBw YXVzZSBzdGF0ZSBvZiB0aGVpciBhbmNlc3RvcnM6IHRoZSBwdXNoZWQKKysgIC8vIHN0YXRlIGFw cGxpZXMgdW50aWwgaXQgaXMgcG9wcGVkLCBhZnRlciB3aGljaCB0aGUgcHJldmlvdXMgc3RhdGUg dGFrZXMKKysgIC8vIGVmZmVjdCBhZ2Fpbi4gVXNlIFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlIHRv IG1hbmFnZSB0aGUgc3RhdGVzLgorKyAgYm9vbCBJc0F1dG9EYXJrTW9kZVBhdXNlZCgpIGNvbnN0 IHsKKysgICAgcmV0dXJuICFhdXRvX2RhcmtfbW9kZV9zdGF0ZXNfLmVtcHR5KCkgJiYgYXV0b19k YXJrX21vZGVfc3RhdGVzXy5iYWNrKCk7CisrICB9CisrCisgICB2b2lkIFNldERhcmtNb2RlRmls dGVyRm9yVGVzdChzdGQ6OnVuaXF1ZV9wdHI8RGFya01vZGVGaWx0ZXI+KTsKKyAKKyAgIC8vIC0t LS0tLS0tLS0gU3RhdGUgbWFuYWdlbWVudCBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tCitAQCAt NTExLDYgKzUzOSwxNiBAQCBjbGFzcyBQTEFURk9STV9FWFBPUlQgR3JhcGhpY3NDb250ZXh0IHsK KyAgICAgcmV0dXJuIHBhaW50X3N0YXRlXzsKKyAgIH0KKyAKKysgIC8vIE1hbmFnZWQgZXhjbHVz aXZlbHkgdGhyb3VnaCBTY29wZWRBdXRvRGFya01vZGVTdGF0ZSB0byBrZWVwIHB1c2hlcyBhbmQg cG9wcworKyAgLy8gYmFsYW5jZWQuCisrICB2b2lkIFB1c2hBdXRvRGFya01vZGVTdGF0ZShib29s IHBhdXNlZCkgeworKyAgICBhdXRvX2RhcmtfbW9kZV9zdGF0ZXNfLnB1c2hfYmFjayhwYXVzZWQp OworKyAgfQorKyAgdm9pZCBQb3BBdXRvRGFya01vZGVTdGF0ZSgpIHsKKysgICAgRENIRUNLKCFh dXRvX2RhcmtfbW9kZV9zdGF0ZXNfLmVtcHR5KCkpOworKyAgICBhdXRvX2RhcmtfbW9kZV9zdGF0 ZXNfLnBvcF9iYWNrKCk7CisrICB9CisrCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRHJhd1RleHRG dW5jPgorICAgdm9pZCBEcmF3VGV4dFBhc3Nlcyhjb25zdCBEcmF3VGV4dEZ1bmMmKTsKKyAKK0BA IC01NzEsNiArNjA5LDcgQEAgY2xhc3MgUExBVEZPUk1fRVhQT1JUIEdyYXBoaWNzQ29udGV4dCB7 CisgCisgICBzdGQ6OnVuaXF1ZV9wdHI8RGFya01vZGVGaWx0ZXI+IGRhcmtfbW9kZV9maWx0ZXJf OworIAorKyAgVmVjdG9yPGJvb2w+IGF1dG9fZGFya19tb2RlX3N0YXRlc187CisgICBib29sIHBy aW50aW5nXyA9IGZhbHNlOworICAgYm9vbCBwcmludGluZ19pbnRlcm5hbF9oZWFkZXJzX2FuZF9m b290ZXJzXyA9IGZhbHNlOworICAgYm9vbCBpbl9kcmF3aW5nX3JlY29yZGVyXyA9IGZhbHNlOwor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNz L2dyYXBoaWNzX2NvbnRleHRfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHRfdGVzdC5jYworaW5kZXggZDA5Njc2YmI5 MmFkLi5lODUwNGNiNTQxMDYgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0X3Rlc3QuY2MKKysrKyBiL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHRf dGVzdC5jYworQEAgLTE5OCw1ICsxOTgsNzcgQEAgVEVTVF9GKEdyYXBoaWNzQ29udGV4dERhcmtN b2RlVGVzdCwgSW52ZXJ0TGlnaHRuZXNzTEFCKSB7CisgICBFWFBFQ1RfRVEoMHhmZjdmN2Y3Ziwg Yml0bWFwXy5nZXRDb2xvcigzLCAwKSk7CisgfQorIAorK1RFU1RfRihHcmFwaGljc0NvbnRleHRE YXJrTW9kZVRlc3QsIFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlUGF1c2VkKSB7CisrICBQYWludENv bnRyb2xsZXIgcGFpbnRfY29udHJvbGxlcjsKKysgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KHBh aW50X2NvbnRyb2xsZXIpOworKyAgRGFya01vZGVTZXR0aW5ncyBzZXR0aW5nczsKKysgIGNvbnRl eHQuU2V0RGFya01vZGVGaWx0ZXJGb3JUZXN0KHN0ZDo6bWFrZV91bmlxdWU8RGFya01vZGVGaWx0 ZXI+KHNldHRpbmdzKSk7CisrICBBdXRvRGFya01vZGUgYXV0b19kYXJrX21vZGUoRGFya01vZGVG aWx0ZXI6OkVsZW1lbnRSb2xlOjprQmFja2dyb3VuZCwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKmVuYWJsZWQ9Ki90cnVlKTsKKysKKysgIEVYUEVDVF9GQUxTRShjb250ZXh0Lklz QXV0b0RhcmtNb2RlUGF1c2VkKCkpOworKworKyAgY29udGV4dC5CZWdpblJlY29yZGluZygpOwor KyAgeworKyAgICAvLyBQYXVzaW5nIHN1cHByZXNzZXMgaW52ZXJzaW9uLCBzbyBibGFjayBzdGF5 cyBibGFjay4KKysgICAgR3JhcGhpY3NDb250ZXh0OjpTY29wZWRBdXRvRGFya01vZGVTdGF0ZSBw YXVzZWQoY29udGV4dCwgLypwYXVzZWQ9Ki90cnVlKTsKKysgICAgRVhQRUNUX1RSVUUoY29udGV4 dC5Jc0F1dG9EYXJrTW9kZVBhdXNlZCgpKTsKKysgICAgY29udGV4dC5GaWxsUmVjdChnZng6OlJl Y3RGKDAsIDAsIDEsIDEpLCBDb2xvcjo6a0JsYWNrLCBhdXRvX2RhcmtfbW9kZSk7CisrCisrICAg IHsKKysgICAgICAvLyBBIG5lc3RlZCBzY29wZSBvdmVycmlkZXMgdGhlIGFuY2VzdG9yLCByZS1l bmFibGluZyBpbnZlcnNpb24gc28gYmxhY2sKKysgICAgICAvLyBiZWNvbWVzIHdoaXRlLgorKyAg ICAgIEdyYXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgcmVzdW1lZChjb250 ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKnBhdXNlZD0qL2ZhbHNlKTsKKysgICAgICBFWFBFQ1RfRkFMU0UoY29udGV4dC5Jc0F1 dG9EYXJrTW9kZVBhdXNlZCgpKTsKKysgICAgICBjb250ZXh0LkZpbGxSZWN0KGdmeDo6UmVjdEYo MSwgMCwgMSwgMSksIENvbG9yOjprQmxhY2ssIGF1dG9fZGFya19tb2RlKTsKKysgICAgfQorKwor KyAgICAvLyBUaGUgb3V0ZXIgcGF1c2VkIHN0YXRlIGlzIHJlc3RvcmVkIHdoZW4gdGhlIG5lc3Rl ZCBzY29wZSBleGl0cy4KKysgICAgRVhQRUNUX1RSVUUoY29udGV4dC5Jc0F1dG9EYXJrTW9kZVBh dXNlZCgpKTsKKysgIH0KKysKKysgIC8vIEJhY2sgdG8gdGhlIGRlZmF1bHQgKG5vdCBwYXVzZWQp IHN0YXRlIGFmdGVyIGFsbCBzY29wZXMgZXhpdDsgaW52ZXJzaW9uCisrICAvLyBhcHBsaWVzIGFn YWluLCBzbyBibGFjayBiZWNvbWVzIHdoaXRlLgorKyAgRVhQRUNUX0ZBTFNFKGNvbnRleHQuSXNB dXRvRGFya01vZGVQYXVzZWQoKSk7CisrICBjb250ZXh0LkZpbGxSZWN0KGdmeDo6UmVjdEYoMiwg MCwgMSwgMSksIENvbG9yOjprQmxhY2ssIGF1dG9fZGFya19tb2RlKTsKKysKKysgIGNhbnZhc18t PmRyYXdQaWN0dXJlKGNvbnRleHQuRW5kUmVjb3JkaW5nKCkpOworKworKyAgRVhQRUNUX0VRKFNL X0NvbG9yQkxBQ0ssIGJpdG1hcF8uZ2V0Q29sb3IoMCwgMCkpOworKyAgRVhQRUNUX0VRKFNLX0Nv bG9yV0hJVEUsIGJpdG1hcF8uZ2V0Q29sb3IoMSwgMCkpOworKyAgRVhQRUNUX0VRKFNLX0NvbG9y V0hJVEUsIGJpdG1hcF8uZ2V0Q29sb3IoMiwgMCkpOworK30KKysKKytURVNUX0YoR3JhcGhpY3ND b250ZXh0RGFya01vZGVUZXN0LAorKyAgICAgICBCaXRtYXBJbWFnZUlnbm9yZXNBdXRvRGFya01v ZGVQYXVzZWRTdGF0ZXMpIHsKKysgIFBhaW50Q29udHJvbGxlciBwYWludF9jb250cm9sbGVyOwor KyAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQocGFpbnRfY29udHJvbGxlcik7CisrICBEYXJrTW9k ZVNldHRpbmdzIHNldHRpbmdzOworKyAgY29udGV4dC5TZXREYXJrTW9kZUZpbHRlckZvclRlc3Qo c3RkOjptYWtlX3VuaXF1ZTxEYXJrTW9kZUZpbHRlcj4oc2V0dGluZ3MpKTsKKysKKysgIEltYWdl QXV0b0RhcmtNb2RlIGljb24oRGFya01vZGVGaWx0ZXI6OkVsZW1lbnRSb2xlOjprQmFja2dyb3Vu ZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgLyplbmFibGVkPSovdHJ1ZSwgRGFya01vZGVG aWx0ZXI6OkltYWdlVHlwZTo6a0ljb24pOworKyAgSW1hZ2VBdXRvRGFya01vZGUgcGhvdG8oRGFy a01vZGVGaWx0ZXI6OkVsZW1lbnRSb2xlOjprQmFja2dyb3VuZCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qZW5hYmxlZD0qL3RydWUsIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQ aG90byk7CisrCisrICAvLyBOb3QgcGF1c2VkOiBpY29ucyBhcmUgaW52ZXJ0ZWQsIHBob3RvcyBh cmUgbm90LgorKyAgRVhQRUNUX0ZBTFNFKGNvbnRleHQuSXNBdXRvRGFya01vZGVQYXVzZWQoKSk7 CisrICBFWFBFQ1RfTkUobnVsbHB0ciwgY29udGV4dC5HZXREYXJrTW9kZUZpbHRlckZvckltYWdl KGljb24pKTsKKysgIEVYUEVDVF9FUShudWxscHRyLCBjb250ZXh0LkdldERhcmtNb2RlRmlsdGVy Rm9ySW1hZ2UocGhvdG8pKTsKKysKKysgIHsKKysgICAgLy8gUGF1c2VkOiB0aGUgaWNvbiBpcyBz dGlsbCBpbnZlcnRlZCwgYW5kIHRoZSBwaG90byBpcyBzdGlsbCB1bnRvdWNoZWQuCisrICAgIEdy YXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgcGF1c2VkKGNvbnRleHQsIC8q cGF1c2VkPSovdHJ1ZSk7CisrICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuSXNBdXRvRGFya01vZGVQ YXVzZWQoKSk7CisrICAgIEVYUEVDVF9ORShudWxscHRyLCBjb250ZXh0LkdldERhcmtNb2RlRmls dGVyRm9ySW1hZ2UoaWNvbikpOworKyAgICBFWFBFQ1RfRVEobnVsbHB0ciwgY29udGV4dC5HZXRE YXJrTW9kZUZpbHRlckZvckltYWdlKHBob3RvKSk7CisrICB9CisrCisrICAvLyBBIGRpc2FibGVk IGltYWdlIGF1dG8gZGFyayBtb2RlIG5ldmVyIHJldHVybnMgYSBmaWx0ZXIuCisrICBFWFBFQ1Rf RVEobnVsbHB0ciwKKysgICAgICAgICAgICBjb250ZXh0LkdldERhcmtNb2RlRmlsdGVyRm9ySW1h Z2UoSW1hZ2VBdXRvRGFya01vZGU6OkRpc2FibGVkKCkpKTsKKyt9CisrCisgfSAgLy8gbmFtZXNw YWNlCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTUwLU1h a2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJyZXNwZWN0aXZlLW9mLWxheW91 dC16b29tLnBhdGNoIGIvY2hyb21pdW0tMTUwLU1ha2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10 by1pbWFnZXMtaXJyZXNwZWN0aXZlLW9mLWxheW91dC16b29tLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlY2FlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1 bS0xNTAtTWFrZS1kYXJrLW1vZGUtYXBwbHktZmlsdGVyLXRvLWltYWdlcy1pcnJlc3BlY3RpdmUt b2YtbGF5b3V0LXpvb20ucGF0Y2gKQEAgLTAsMCArMSwyMDQgQEAKK2NvbW1pdCBjZjk1ODhlMDY1 NTY2M2UzMDE5MTVlNTNlYzVhOGRmOGFlODc0Y2U0CitBdXRob3I6IFByYXNoYW50IE5ldmFzZSA8 cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorRGF0ZTogICBGcmkgSnVuIDE5IDA2OjE5OjQ3IDIwMjYg LTA3MDAKKworICAgIE1ha2UgZGFyayBtb2RlIGFwcGx5IGZpbHRlciB0byBpbWFnZXMgaXJyZXNw ZWN0aXZlIG9mIGxheW91dCB6b29tCisgICAgCisgICAgVGhlIGxheW91dCB6b29tIGZhY3RvciBj b21iaW5lcyBwYWdlIHpvb20gd2l0aCB0aGUgZGV2aWNlIHNjYWxlIGZhY3Rvci4KKyAgICBXaGVu IHpvb20gaXMgYXBwbGllZCwgdGhlIHBhZ2Ugc2l6ZSBzY2FsZXMgYWNjb3JkaW5nbHksIGFuZCBp bWFnZXMgYXJlCisgICAgZHJhd24gcmVsYXRpdmUgdG8gdGhlIG5ldyBwYWdlIHNpemUuIFRoaXMg c2hvdWxkIGFjY291bnQgZm9yIHRoZSBoaWdoZXIKKyAgICBpY29uIHRocmVzaG9sZCByYXRpbyBj b21wYXJlZCB3aXRoIHRoZSAxeCBzY2FsZS4gT3RoZXJ3aXNlLCB0aGUgc2FtZQorICAgIGltYWdl IG1heSByZWNlaXZlIGRpZmZlcmVudCBkYXJrIG1vZGUgZmlsdGVycyBhdCBkaWZmZXJlbnQgc2Nh bGVzLAorICAgIGNyZWF0aW5nIGEgcG9vciB1c2VyIGV4cGVyaWVuY2UuIFRvIGF2b2lkIHRoaXMs IGRhcmsgbW9kZSBpbWFnZQorICAgIGNsYXNzaWZpY2F0aW9uIHNob3VsZCByZW1haW4gY29uc2lz dGVudCBhY3Jvc3MgbGF5b3V0IHpvb20gZmFjdG9ycy4KKyAgICAKKyAgICBDU1Mgem9vbSBpcyBz dGlsbCBjb25zaWRlcmVkLCBiZWNhdXNlIGl0IGNoYW5nZXMgdGhlIHJhdGlvIG9mIGRyYXduCisg ICAgaW1hZ2Ugc2l6ZSB0byBkaXNwbGF5IHNpemUgaW4gMXggc2NhbGUuCisgICAgCisgICAgQnVn OiA0NDk5MDk1MjQKKyAgICBDaGFuZ2UtSWQ6IElhNDIwMDA3YjI3OGExZjU5MmMzNTM1NTdkNGNi ZjY2YTdjNTc1YzQyCisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdv b2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy83OTYxNjYwCisgICAgUmV2aWV3ZWQtYnk6 IFN0ZXBoZW4gQ2hlbm5leSA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgorICAgIENvbW1pdC1RdWV1 ZTogUHJhc2hhbnQgTmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CisgICAgQXV0by1TdWJt aXQ6IFByYXNoYW50IE5ldmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorICAgIENyLUNvbW1p dC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTY0OTYzOH0KKworZGlmZiAtLWdpdCBhL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUu Y2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFy a19tb2RlLmNjCitpbmRleCAxMjQ2ZjE3OWY5YjE5Li41YjM0MjgzZDdhNTU2IDEwMDY0NAorLS0t IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rhcmtf bW9kZS5jYworKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWlu dF9hdXRvX2RhcmtfbW9kZS5jYworQEAgLTQxLDYgKzQxLDcgQEAgRGFya01vZGVGaWx0ZXI6Oklt YWdlVHlwZSBHZXRJbWFnZVR5cGUoZmxvYXQgZGVzdF90b19kZXZpY2VfcmF0aW8sCisgCisgZmxv YXQgR2V0UmF0aW8oY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVuX2luZm8sCisgICAg ICAgICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0KSB7CisrICAvLyBDb21wdXRl IGRldmljZSByZWN0IGluIGRldmljZSBwaXhlbHMuCisgICBjb25zdCBnZng6OlNpemVGJiBkZXZp Y2VfcmVjdCA9IGdmeDo6U2NhbGVTaXplKAorICAgICAgIGdmeDo6U2l6ZUYoc2NyZWVuX2luZm8u cmVjdC5zaXplKCkpLCBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yKTsKKyAKK0BAIC00 OCw2ICs0OSwyNyBAQCBmbG9hdCBHZXRSYXRpbyhjb25zdCBkaXNwbGF5OjpTY3JlZW5JbmZvJiBz Y3JlZW5faW5mbywKKyAgICAgICAgICAgICAgICAgICBkZXN0X3JlY3QuaGVpZ2h0KCkgLyBkZXZp Y2VfcmVjdC5oZWlnaHQoKSk7CisgfQorIAorKy8vIENsYXNzaWZpZXMgYW4gaW1hZ2UgYWZ0ZXIg dW5kb2luZyB0aGUgZnJhbWUncyBsYXlvdXQgem9vbSBmYWN0b3IuCisrLy8gfGRlc3RfcmVjdHwg Y29tZXMgZnJvbSBsYXlvdXQgZ2VvbWV0cnkgYW5kIGluY2x1ZGVzIGxheW91dCB6b29tIChwYWdl IHpvb20KKysvLyBhbmQgcG90ZW50aWFsbHkgRFNGKSBhbmQgQ1NTIHpvb20uIFVuZG8gb25seSBs YXlvdXQgem9vbSBzbyBwYWdlIHpvb20gYW5kCisrLy8gRFNGIGRvIG5vdCBhZmZlY3QgY2xhc3Np ZmljYXRpb24sIHdoaWxlIENTUyB6b29tIHN0aWxsIGRvZXMuIHxzcmNfcmVjdHwgaXMKKysvLyBk ZXJpdmVkIGZyb20gdGhlIGltYWdlJ3MgaW50cmluc2ljIHBpeGVsIHNpemUgYW5kIGlzIGFscmVh ZHkKKysvLyB6b29tLWluZGVwZW5kZW50LCBzbyBpdCBtdXN0IGJlIGxlZnQgdW50b3VjaGVkLgor K0RhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlV2l0aFpvb20oCisrICAgIGNv bnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorKyAgICBmbG9hdCB6b29tLAor KyAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCisrICAgIGNvbnN0IGdmeDo6UmVjdEYm IHNyY19yZWN0KSB7CisrICBnZng6OlJlY3RGIHVuem9vbWVkX2Rlc3RfcmVjdCA9IGRlc3RfcmVj dDsKKysgIGlmICh6b29tID4gMC5mICYmIHpvb20gIT0gMS5mKSB7CisrICAgIHVuem9vbWVkX2Rl c3RfcmVjdC5TY2FsZSgxLmYgLyB6b29tKTsKKysgIH0KKysKKysgIHJldHVybiBHZXRJbWFnZVR5 cGUoR2V0UmF0aW8oc2NyZWVuX2luZm8sIHVuem9vbWVkX2Rlc3RfcmVjdCksCisrICAgICAgICAg ICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KHVuem9vbWVkX2Rlc3RfcmVjdCksCisr ICAgICAgICAgICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KHNyY19yZWN0KSk7Cisr fQorKworIH0gIC8vIG5hbWVzcGFjZQorIAorIC8vIHN0YXRpYworQEAgLTYzLDIwICs4NSwxOSBA QCBJbWFnZUF1dG9EYXJrTW9kZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlQXV0b0Rh cmtNb2RlKAorICAgY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVuX2luZm8gPQorICAg ICAgIGxvY2FsX2ZyYW1lLkdldENocm9tZUNsaWVudCgpLkdldFNjcmVlbkluZm8obG9jYWxfZnJh bWUpOworIAorLSAgcmV0dXJuIEltYWdlQXV0b0RhcmtNb2RlKHJvbGUsIHN0eWxlLkZvcmNlRGFy aygpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldEltYWdlVHlwZShHZXRSYXRpbyhz Y3JlZW5faW5mbywgZGVzdF9yZWN0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3QoZGVzdF9yZWN0KSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3Qoc3JjX3JlY3Qp KSk7CisrICBjb25zdCBmbG9hdCBsYXlvdXRfem9vbSA9IGxvY2FsX2ZyYW1lLkxheW91dFpvb21G YWN0b3IoKTsKKysgIHJldHVybiBJbWFnZUF1dG9EYXJrTW9kZSgKKysgICAgICByb2xlLCBzdHls ZS5Gb3JjZURhcmsoKSwKKysgICAgICBHZXRJbWFnZVR5cGVXaXRoWm9vbShzY3JlZW5faW5mbywg bGF5b3V0X3pvb20sIGRlc3RfcmVjdCwgc3JjX3JlY3QpKTsKKyB9CisgCisgLy8gc3RhdGljCisg RGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdl VHlwZUZvclRlc3RpbmcoCisgICAgIGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAor ICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCistICAgIGNvbnN0IGdmeDo6UmVjdEYm IHNyY19yZWN0KSB7CistICByZXR1cm4gR2V0SW1hZ2VUeXBlKEdldFJhdGlvKHNjcmVlbl9pbmZv LCBkZXN0X3JlY3QpLAorLSAgICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5jbG9zaW5nUmVj dChkZXN0X3JlY3QpLAorLSAgICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5jbG9zaW5nUmVj dChzcmNfcmVjdCkpOworKyAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCwKKysgICAgZmxv YXQgem9vbSkgeworKyAgcmV0dXJuIEdldEltYWdlVHlwZVdpdGhab29tKHNjcmVlbl9pbmZvLCB6 b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KTsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5r CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWlu dF9hdXRvX2RhcmtfbW9kZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWlu dC9wYWludF9hdXRvX2RhcmtfbW9kZS5oCitpbmRleCBmM2VkYTAxMTMzOTFhLi45YmY4ZGYxYzMz YTg0IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9w YWludF9hdXRvX2RhcmtfbW9kZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK0BAIC00Miw3ICs0Miw4IEBAIGNsYXNz IEltYWdlQ2xhc3NpZmllckhlbHBlciB7CisgICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFya01vZGVG aWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorICAgICAgIGRpc3BsYXk6 OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRlc3Rf cmVjdCwKKy0gICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCk7CisrICAgICAgY29uc3Qg Z2Z4OjpSZWN0RiYgc3JjX3JlY3QsCisrICAgICAgZmxvYXQgem9vbSA9IDEuMGYpOworIH07Cisg CisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjIGIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0 LmNjCitpbmRleCA3MDVhMzA0ZGUxY2U3Li43N2ZmMGYwNjkxODhlIDEwMDY0NAorLS0tIGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90 ZXN0LmNjCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50 X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MKK0BAIC0xMCw3ICsxMCw2OSBAQAorIAorIG5hbWVzcGFj ZSBibGluayB7CisgCistY2xhc3MgUGFpbnRBdXRvRGFya01vZGVUZXN0IDogcHVibGljIHRlc3Rp bmc6OlRlc3Qge307CisrY2xhc3MgUGFpbnRBdXRvRGFya01vZGVUZXN0IDogcHVibGljIHRlc3Rp bmc6OlRlc3QgeworKyBwdWJsaWM6CisrICB2b2lkIFRlc3RBcHBseUZpbHRlclRvSW1hZ2VJcnJl c3BlY3RpdmVPZlBhZ2Vab29tKAorKyAgICAgIGRpc3BsYXk6OlNjcmVlbkluZm8gc2NyZWVuX2lu Zm8pIHsKKysgICAgRGFya01vZGVTZXR0aW5ncyBzZXR0aW5nczsKKysgICAgRGFya01vZGVGaWx0 ZXIgZmlsdGVyKHNldHRpbmdzKTsKKysKKysgICAgZmxvYXQgcGFnZV96b29tID0gMS4wZjsKKysg ICAgZmxvYXQgbGF5b3V0X3pvb20gPSAxLjBmOworKyAgICBmbG9hdCBjc3Nfem9vbSA9IDEuMGY7 CisrICAgIGdmeDo6UmVjdEYgc3JjX3JlY3Q7CisrICAgIGdmeDo6UmVjdEYgZGVzdF9yZWN0Owor KworKyAgICAvLyBBIDUweDUwIENTUyBpY29uIGdldHMgZmlsdGVyZWQgZXZlbiBpZiB8ZGVzdF9y ZWN0fCBiZWNvbWVzIGxhcmdlciAyNTB4MjUwCisrICAgIC8vIHRoYW4gdGhyZXNob2xkIHNpemUg aW4gbGFyZ2VyIHpvb20gbGV2ZWxzLgorKyAgICBzcmNfcmVjdCA9IGdmeDo6UmVjdEYoNTAsIDUw KTsKKysgICAgcGFnZV96b29tID0gNS4wZjsKKysgICAgY3NzX3pvb20gPSAxLjBmOworKyAgICBs YXlvdXRfem9vbSA9IHBhZ2Vfem9vbSAqIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0b3I7 CisrICAgIGRlc3RfcmVjdCA9CisrICAgICAgICBnZng6OlJlY3RGKDUwICogbGF5b3V0X3pvb20g KiBjc3Nfem9vbSwgNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsKKysgICAgRVhQRUNUX1RS VUUoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKysgICAgICAgIEltYWdlQ2xhc3Np ZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhzY3JlZW5faW5mbywgZGVzdF9yZWN0 LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysKKysgICAgLy8gQSA1MHg1MCBDU1MgaWNvbiB3 aXRoIGNzcyB6b29tIDUuMGYgYmVjb21lcyAyNTB4MjUwIGFuZCBkb2VzIG5vdCBnZXQKKysgICAg Ly8gZmlsdGVycmVkIGFzIHxkZXN0X3JlY3R8IGlzIGxhcmdlciB0aGFuIHRocmVzaG9sZCBzaXpl LgorKyAgICBzcmNfcmVjdCA9IGdmeDo6UmVjdEYoNTAsIDUwKTsKKysgICAgcGFnZV96b29tID0g NS4wZjsKKysgICAgY3NzX3pvb20gPSA1LjBmOworKyAgICBsYXlvdXRfem9vbSA9IHBhZ2Vfem9v bSAqIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0b3I7CisrICAgIGRlc3RfcmVjdCA9Cisr ICAgICAgICBnZng6OlJlY3RGKDUwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgNTAgKiBsYXlv dXRfem9vbSAqIGNzc196b29tKTsKKysgICAgRVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBs eUZpbHRlclRvSW1hZ2UoCisrICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdl VHlwZUZvclRlc3Rpbmcoc2NyZWVuX2luZm8sIGRlc3RfcmVjdCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfcmVjdCwgbGF5b3V0X3pv b20pKSk7CisrCisrICAgIC8vIEFuIGltYWdlIHdpdGggMjAweDIwMCBDU1Mgc2l6ZSBnZXRzIGNs YXNzaWZpZWQgYXMgcGhvdG8gYW5kIGRvZXMgbm90IGdldAorKyAgICAvLyBmaWx0ZXJlZCwgZXZl biBpZiB8ZGVzdF9yZWN0fCBiZWNvbWVzIHNtYWxsZXIgNTB4NTAgdGhhbiB0aHJlc2hvbGQgc2l6 ZQorKyAgICAvLyBpbiBzbWFsbGVyIHpvb20gbGV2ZWxzLgorKyAgICBzcmNfcmVjdCA9IGdmeDo6 UmVjdEYoMjAwLCAyMDApOworKyAgICBwYWdlX3pvb20gPSAwLjI1ZjsKKysgICAgY3NzX3pvb20g PSAxLjBmOworKyAgICBsYXlvdXRfem9vbSA9IHBhZ2Vfem9vbSAqIHNjcmVlbl9pbmZvLmRldmlj ZV9zY2FsZV9mYWN0b3I7CisrICAgIGRlc3RfcmVjdCA9CisrICAgICAgICBnZng6OlJlY3RGKDIw MCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20p OworKyAgICBFWFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKysg ICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhzY3Jl ZW5faW5mbywgZGVzdF9yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysKKysgICAgLy8g QW4gaW1hZ2Ugd2l0aCAyMDB4MjAwIENTUyBzaXplIGJlY29tZXMgMjB4MjAgQ1NTIHNpemUgYW5k IGdldHMgY2xhc3NpZmllZAorKyAgICAvLyBhcyBpY29uIGFzIHRoZSBDU1Mgc2l6ZSBpcyBiZWxv dyB0aGUgdGhyZXNob2xkLgorKyAgICBzcmNfcmVjdCA9IGdmeDo6UmVjdEYoMjAwLCAyMDApOwor KyAgICBwYWdlX3pvb20gPSAwLjI1ZjsKKysgICAgY3NzX3pvb20gPSAwLjFmOworKyAgICBsYXlv dXRfem9vbSA9IHBhZ2Vfem9vbSAqIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0b3I7Cisr ICAgIGRlc3RfcmVjdCA9CisrICAgICAgICBnZng6OlJlY3RGKDIwMCAqIGxheW91dF96b29tICog Y3NzX3pvb20sIDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20pOworKyAgICBFWFBFQ1RfVFJV RShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorKyAgICAgICAgSW1hZ2VDbGFzc2lm aWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKHNjcmVlbl9pbmZvLCBkZXN0X3JlY3Qs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3JjX3JlY3QsIGxheW91dF96b29tKSkpOworKyAgfQorK307CisgCisgVEVTVF9GKFBhaW50QXV0 b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKSB7CisgICBEYXJrTW9kZVNl dHRpbmdzIHNldHRpbmdzOworQEAgLTc3LDQgKzEzOSwyMSBAQCBURVNUX0YoUGFpbnRBdXRvRGFy a01vZGVUZXN0LCBTaG91bGRBcHBseUZpbHRlclRvSW1hZ2VPbk1vYmlsZSkgeworICAgICAgICAg ICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0RigxODAsIDE4MCksIGdmeDo6UmVjdEYoMTgwLCAxODAp KSkpOworIH0KKyAKKytURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91bGRBcHBseUZp bHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKSB7CisrICBkaXNwbGF5OjpTY3JlZW5J bmZvIHNjcmVlbl9pbmZvOworKyAgc2NyZWVuX2luZm8ucmVjdCA9IGdmeDo6UmVjdCgxOTIwLCAx MDgwKTsKKysgIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0b3IgPSAxLjBmOworKworKyAg VGVzdEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFnZVpvb20oc2NyZWVuX2luZm8p OworK30KKysKKytURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LAorKyAgICAgICBTaG91bGRB cHBseUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tT25Nb2JpbGUpIHsKKysgIGRp c3BsYXk6OlNjcmVlbkluZm8gc2NyZWVuX2luZm87CisrICBzY3JlZW5faW5mby5yZWN0ID0gZ2Z4 OjpSZWN0KDM2MCwgNzgwKTsKKysgIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0b3IgPSAz LjBmOworKworKyAgVGVzdEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFnZVpvb20o c2NyZWVuX2luZm8pOworK30KKysKKyB9ICAvLyBuYW1lc3BhY2UgYmxpbmsKCmRpZmYgLS1naXQg YS9jaHJvbWl1bS0xNTAtVXNlLTY0cHgtY3NzLXBpeGVscy1hYnNvbHV0ZS10aHJlc2hvbGQtZm9y LWRhcmstaW1hZ2UtY2xhc3NpZmljYXRpb24ucGF0Y2ggYi9jaHJvbWl1bS0xNTAtVXNlLTY0cHgt Y3NzLXBpeGVscy1hYnNvbHV0ZS10aHJlc2hvbGQtZm9yLWRhcmstaW1hZ2UtY2xhc3NpZmljYXRp b24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRjOWIxNwotLS0g L2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTE1MC1Vc2UtNjRweC1jc3MtcGl4ZWxzLWFic29sdXRl LXRocmVzaG9sZC1mb3ItZGFyay1pbWFnZS1jbGFzc2lmaWNhdGlvbi5wYXRjaApAQCAtMCwwICsx LDI4MSBAQAorY29tbWl0IDJjMGI3OWM1N2MxNzI2ZjM1OWJjZDg3MTM3NDc0ZTg1NGIxYWViMzgK K0F1dGhvcjogUHJhc2hhbnQgTmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CitEYXRlOiAg IFRodSBKdW4gMjUgMDg6MTE6MzQgMjAyNiAtMDcwMAorCisgICAgVXNlIDY0cHggY3NzIHBpeGVs cyBhYnNvbHV0ZSB0aHJlc2hvbGQgZm9yIGRhcmsgaW1hZ2UgY2xhc3NpZmljYXRpb24uCisgICAg CisgICAgVGhlIHByZXZpb3VzIHJhdGlvLWJhc2VkIHRocmVzaG9sZCBzY2FsZWQgd2l0aCB0aGUg c2NyZWVuIHNpemUgYW5kCisgICAgZGV2aWNlIHNjYWxlIGZhY3Rvciwgc28gdGhlIHNhbWUgaW1h Z2UgY291bGQgYmUgY2xhc3NpZmllZCBkaWZmZXJlbnRseQorICAgIGRlcGVuZGluZyBvbiB0aGUg ZGlzcGxheSBpdCB3YXMgc2hvd24gb24uIFRoaXMgcHJvZHVjZWQgaW5jb25zaXN0ZW50CisgICAg ZGFyayBtb2RlIHJlc3VsdHMgYWNyb3NzIGRpc3BsYXlzIG9mIGRpZmZlcmVudCBzaXplcyBhbmQg ZGV2aWNlIHNjYWxlCisgICAgZmFjdG9ycy4KKyAgICAKKyAgICBSZXBsYWNlIHRoZSBzY3JlZW4t c2l6ZSByYXRpbyBoZXVyaXN0aWMgKGtNYXhJY29uUmF0aW8pIHdpdGggYSBzaW5nbGUKKyAgICBh YnNvbHV0ZSBzaXplIHRocmVzaG9sZCBvZiA2NCBDU1MgcGl4ZWxzIGZvciBjbGFzc2lmeWluZyBp bWFnZXMgYXMgaWNvbnMKKyAgICBpbiBhdXRvIGRhcmsgbW9kZS4gVGhlIHRocmVzaG9sZCBpcyBj b21wYXJlZCBhZnRlciB1bmRvaW5nIHRoZSBmcmFtZSdzCisgICAgbGF5b3V0IHpvb20gZmFjdG9y IChwYWdlIHpvb20gYW5kIGRldmljZSBzY2FsZSBmYWN0b3IpLCBzbworICAgIGNsYXNzaWZpY2F0 aW9uIGlzIHN0YWJsZSBhY3Jvc3MgZGV2aWNlcyBhbmQgcGFnZSB6b29tIGxldmVscyB3aGlsZSBD U1MKKyAgICB6b29tIHN0aWxsIGFmZmVjdHMgdGhlIGRyYXduIHNpemUgYW5kIHRoZXJlZm9yZSB0 aGUgcmVzdWx0LgorICAgIAorICAgIFRoaXMgcmVtb3ZlcyB0aGUgZGVwZW5kZW5jeSBvbiBkaXNw bGF5OjpTY3JlZW5JbmZvIGZyb20gdGhlCisgICAgY2xhc3NpZmljYXRpb24gcGF0aCBhbmQgc2lt cGxpZmllcyBHZXRJbWFnZVR5cGUoKSB0byBhIHB1cmUgc2l6ZSBjaGVjay4KKyAgICAKKyAgICBC dWc6IDQ0OTkwOTUyNAorICAgIENoYW5nZS1JZDogSTQ0N2VjN2ExZjk0ZmVkMzAwNDg4OWRmZTJi ZDc4YmY4MzkyZGRkNjEKKyAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcu Z29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzgwMDUxNzYKKyAgICBSZXZpZXdlZC1i eTogU3RlcGhlbiBDaGVubmV5IDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CisgICAgQ29tbWl0LVF1 ZXVlOiBQcmFzaGFudCBOZXZhc2UgPHBuZXZhc2VAbWljcm9zb2Z0LmNvbT4KKyAgICBDci1Db21t aXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzE2NTI0MzR9CisKK2RpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2Rl LmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rh cmtfbW9kZS5jYworaW5kZXggNWIzNDI4M2Q3YTU1Ni4uNjU4ZjZhNGU0ZjZmZCAxMDA2NDQKKy0t LSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJr X21vZGUuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFp bnRfYXV0b19kYXJrX21vZGUuY2MKK0BAIC01LDMyICs1LDI2IEBACisgI2luY2x1ZGUgInRoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuaCIK KyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFtZS9sb2Nh bF9mcmFtZS5oIgorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3Bh Z2UvY2hyb21lX2NsaWVudC5oIgorLSNpbmNsdWRlICJ1aS9kaXNwbGF5L3NjcmVlbl9pbmZvLmgi CisgI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9yZWN0LmgiCisgI2luY2x1ZGUgInVpL2dmeC9n ZW9tZXRyeS9yZWN0X2NvbnZlcnNpb25zLmgiCisgCisgbmFtZXNwYWNlIGJsaW5rIHsKKyAKKyBu YW1lc3BhY2UgeworLQorLS8vIFRoZSBtYXhpbXVtIHJhdGlvIG9mIGltYWdlIHNpemUgdG8gc2Ny ZWVuIHNpemUgdGhhdCBpcyBjb25zaWRlcmVkIGFuIGljb24uCistY29uc3RleHByIGZsb2F0IGtN YXhJY29uUmF0aW8gPSAwLjEzZjsKKy1jb25zdGV4cHIgaW50IGtNYXhJbWFnZUxlbmd0aCA9IDUw OworKy8vIEltYWdlcyB3aXRoIGJvdGggd2lkdGggYW5kIGhlaWdodCBzbWFsbGVyIHRoYW4gdGhp cyB2YWx1ZSBhcmUgY29uc2lkZXJlZAorKy8vIGljb25zLgorK2NvbnN0ZXhwciBpbnQga01heElt YWdlTGVuZ3RoID0gNjQ7CisgLy8gSW1hZ2VzIHdpdGggZWl0aGVyIGRpbWVuc2lvbiBsZXNzIHRo YW4gdGhpcyB2YWx1ZSBhcmUgY29uc2lkZXJlZCBzZXBhcmF0b3JzLgorIGNvbnN0ZXhwciBpbnQg a01heEltYWdlU2VwYXJhdG9yTGVuZ3RoID0gODsKKyAKKyAvLyBXZSBuZWVkIHRvIGRvIGltYWdl IGNsYXNzaWZpY2F0aW9uIGZpcnN0IGJlZm9yZSBjYWxsaW5nCisgLy8gRGFya01vZGVGaWx0ZXI6 OkdlbmVyYXRlSW1hZ2VGaWx0ZXIuCistRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFn ZVR5cGUoZmxvYXQgZGVzdF90b19kZXZpY2VfcmF0aW8sCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0JiBkZXN0X3JlY3QsCisrRGFya01vZGVG aWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGUoY29uc3QgZ2Z4OjpSZWN0JiBkZXN0X3JlY3Qs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0 JiBzcmNfcmVjdCkgeworLSAgLy8gVE9ETzogVXNlIGEgdmlld3BvcnQgcmVsYXRpdmUgdGhyZXNo b2xkIGZvciB0aGUgc2l6ZSBjaGVjayBpbnN0ZWFkIG9mCistICAvLyBhYnNvbHV0ZSB0aHJlc2hv bGQuCistICBpZiAoZGVzdF90b19kZXZpY2VfcmF0aW8gPD0ga01heEljb25SYXRpbyB8fAorLSAg ICAgIChkZXN0X3JlY3Qud2lkdGgoKSA8PSBrTWF4SW1hZ2VMZW5ndGggJiYKKy0gICAgICAgZGVz dF9yZWN0LmhlaWdodCgpIDw9IGtNYXhJbWFnZUxlbmd0aCkpCisrICBpZiAoZGVzdF9yZWN0Lndp ZHRoKCkgPD0ga01heEltYWdlTGVuZ3RoICYmCisrICAgICAgZGVzdF9yZWN0LmhlaWdodCgpIDw9 IGtNYXhJbWFnZUxlbmd0aCkgeworICAgICByZXR1cm4gRGFya01vZGVGaWx0ZXI6OkltYWdlVHlw ZTo6a0ljb247CisrICB9CisgCisgICBpZiAoc3JjX3JlY3Qud2lkdGgoKSA8PSBrTWF4SW1hZ2VT ZXBhcmF0b3JMZW5ndGggfHwKKyAgICAgICBzcmNfcmVjdC5oZWlnaHQoKSA8PSBrTWF4SW1hZ2VT ZXBhcmF0b3JMZW5ndGgpCitAQCAtMzksMzQgKzMzLDIxIEBAIERhcmtNb2RlRmlsdGVyOjpJbWFn ZVR5cGUgR2V0SW1hZ2VUeXBlKGZsb2F0IGRlc3RfdG9fZGV2aWNlX3JhdGlvLAorICAgcmV0dXJu IERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQaG90bzsKKyB9CisgCistZmxvYXQgR2V0UmF0 aW8oY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVuX2luZm8sCistICAgICAgICAgICAg ICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0KSB7CistICAvLyBDb21wdXRlIGRldmljZSBy ZWN0IGluIGRldmljZSBwaXhlbHMuCistICBjb25zdCBnZng6OlNpemVGJiBkZXZpY2VfcmVjdCA9 IGdmeDo6U2NhbGVTaXplKAorLSAgICAgIGdmeDo6U2l6ZUYoc2NyZWVuX2luZm8ucmVjdC5zaXpl KCkpLCBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yKTsKKy0KKy0gIHJldHVybiBzdGQ6 Om1heChkZXN0X3JlY3Qud2lkdGgoKSAvIGRldmljZV9yZWN0LndpZHRoKCksCistICAgICAgICAg ICAgICAgICAgZGVzdF9yZWN0LmhlaWdodCgpIC8gZGV2aWNlX3JlY3QuaGVpZ2h0KCkpOworLX0K Ky0KKyAvLyBDbGFzc2lmaWVzIGFuIGltYWdlIGFmdGVyIHVuZG9pbmcgdGhlIGZyYW1lJ3MgbGF5 b3V0IHpvb20gZmFjdG9yLgorIC8vIHxkZXN0X3JlY3R8IGNvbWVzIGZyb20gbGF5b3V0IGdlb21l dHJ5IGFuZCBpbmNsdWRlcyBsYXlvdXQgem9vbSAocGFnZSB6b29tCisgLy8gYW5kIHBvdGVudGlh bGx5IERTRikgYW5kIENTUyB6b29tLiBVbmRvIG9ubHkgbGF5b3V0IHpvb20gc28gcGFnZSB6b29t IGFuZAorIC8vIERTRiBkbyBub3QgYWZmZWN0IGNsYXNzaWZpY2F0aW9uLCB3aGlsZSBDU1Mgem9v bSBzdGlsbCBkb2VzLiB8c3JjX3JlY3R8IGlzCisgLy8gZGVyaXZlZCBmcm9tIHRoZSBpbWFnZSdz IGludHJpbnNpYyBwaXhlbCBzaXplIGFuZCBpcyBhbHJlYWR5CisgLy8gem9vbS1pbmRlcGVuZGVu dCwgc28gaXQgbXVzdCBiZSBsZWZ0IHVudG91Y2hlZC4KKy1EYXJrTW9kZUZpbHRlcjo6SW1hZ2VU eXBlIEdldEltYWdlVHlwZVdpdGhab29tKAorLSAgICBjb25zdCBkaXNwbGF5OjpTY3JlZW5JbmZv JiBzY3JlZW5faW5mbywKKy0gICAgZmxvYXQgem9vbSwKKy0gICAgY29uc3QgZ2Z4OjpSZWN0RiYg ZGVzdF9yZWN0LAorLSAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCkgeworK0RhcmtNb2Rl RmlsdGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlV2l0aFpvb20oZmxvYXQgem9vbSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdmeDo6UmVj dEYmIGRlc3RfcmVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGdmeDo6UmVjdEYmIHNyY19yZWN0KSB7CisgICBnZng6OlJlY3RGIHVuem9v bWVkX2Rlc3RfcmVjdCA9IGRlc3RfcmVjdDsKKyAgIGlmICh6b29tID4gMC5mICYmIHpvb20gIT0g MS5mKSB7CisgICAgIHVuem9vbWVkX2Rlc3RfcmVjdC5TY2FsZSgxLmYgLyB6b29tKTsKKyAgIH0K KyAKKy0gIHJldHVybiBHZXRJbWFnZVR5cGUoR2V0UmF0aW8oc2NyZWVuX2luZm8sIHVuem9vbWVk X2Rlc3RfcmVjdCksCistICAgICAgICAgICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0 KHVuem9vbWVkX2Rlc3RfcmVjdCksCisrICByZXR1cm4gR2V0SW1hZ2VUeXBlKGdmeDo6VG9FbmNs b3NpbmdSZWN0KHVuem9vbWVkX2Rlc3RfcmVjdCksCisgICAgICAgICAgICAgICAgICAgICAgIGdm eDo6VG9FbmNsb3NpbmdSZWN0KHNyY19yZWN0KSk7CisgfQorIAorQEAgLTgyLDIyICs2MywxOCBA QCBJbWFnZUF1dG9EYXJrTW9kZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlQXV0b0Rh cmtNb2RlKAorICAgaWYgKCFzdHlsZS5Gb3JjZURhcmsoKSkKKyAgICAgcmV0dXJuIEltYWdlQXV0 b0RhcmtNb2RlOjpEaXNhYmxlZCgpOworIAorLSAgY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYg c2NyZWVuX2luZm8gPQorLSAgICAgIGxvY2FsX2ZyYW1lLkdldENocm9tZUNsaWVudCgpLkdldFNj cmVlbkluZm8obG9jYWxfZnJhbWUpOworLQorICAgY29uc3QgZmxvYXQgbGF5b3V0X3pvb20gPSBs b2NhbF9mcmFtZS5MYXlvdXRab29tRmFjdG9yKCk7CisgICByZXR1cm4gSW1hZ2VBdXRvRGFya01v ZGUoCisgICAgICAgcm9sZSwgc3R5bGUuRm9yY2VEYXJrKCksCistICAgICAgR2V0SW1hZ2VUeXBl V2l0aFpvb20oc2NyZWVuX2luZm8sIGxheW91dF96b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KSk7 CisrICAgICAgR2V0SW1hZ2VUeXBlV2l0aFpvb20obGF5b3V0X3pvb20sIGRlc3RfcmVjdCwgc3Jj X3JlY3QpKTsKKyB9CisgCisgLy8gc3RhdGljCisgRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBJ bWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoCistICAgIGRpc3Bs YXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0 X3JlY3QsCisgICAgIGNvbnN0IGdmeDo6UmVjdEYmIHNyY19yZWN0LAorICAgICBmbG9hdCB6b29t KSB7CistICByZXR1cm4gR2V0SW1hZ2VUeXBlV2l0aFpvb20oc2NyZWVuX2luZm8sIHpvb20sIGRl c3RfcmVjdCwgc3JjX3JlY3QpOworKyAgcmV0dXJuIEdldEltYWdlVHlwZVdpdGhab29tKHpvb20s IGRlc3RfcmVjdCwgc3JjX3JlY3QpOworIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2UgYmxpbmsKK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1 dG9fZGFya19tb2RlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3Bh aW50X2F1dG9fZGFya19tb2RlLmgKK2luZGV4IDliZjhkZjFjMzNhODQuLmFmZDU3ZWVlMmI0NTYg MTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50 X2F1dG9fZGFya19tb2RlLmgKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv cGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuaAorQEAgLTQwLDcgKzQwLDYgQEAgY2xhc3MgSW1h Z2VDbGFzc2lmaWVySGVscGVyIHsKKyAgICAgICAgICAgRGFya01vZGVGaWx0ZXI6OkVsZW1lbnRS b2xlOjprQmFja2dyb3VuZCk7CisgCisgICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFya01vZGVGaWx0 ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgIGRpc3BsYXk6OlNj cmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRlc3RfcmVj dCwKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCwKKyAgICAgICBmbG9hdCB6b29t ID0gMS4wZik7CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9w YWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjCitpbmRleCA3N2Zm MGYwNjkxODhlLi5jZjA1ZWExYTllOGFmIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjCisrKysgYi90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2Rl X3Rlc3QuY2MKK0BAIC0zMiw4ICszMiw4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVzdCA6 IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0KKyAgICAgICAgIGdmeDo6 UmVjdEYoNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tLCA1MCAqIGxheW91dF96b29tICogY3Nz X3pvb20pOworICAgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdl KAorLSAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5n KHNjcmVlbl9pbmZvLCBkZXN0X3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91dF96b29tKSkpOworKyAgICAg ICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGRlc3RfcmVj dCwgc3JjX3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGF5b3V0X3pvb20pKSk7CisgCisgICAgIC8vIEEgNTB4NTAgQ1NTIGljb24g d2l0aCBjc3Mgem9vbSA1LjBmIGJlY29tZXMgMjUweDI1MCBhbmQgZG9lcyBub3QgZ2V0CisgICAg IC8vIGZpbHRlcnJlZCBhcyB8ZGVzdF9yZWN0fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6 ZS4KK0BAIC00NCw4ICs0NCw4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVzdCA6IHB1Ymxp YyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0KKyAgICAgICAgIGdmeDo6UmVjdEYo NTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tLCA1MCAqIGxheW91dF96b29tICogY3NzX3pvb20p OworICAgICBFWFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKy0g ICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhzY3Jl ZW5faW5mbywgZGVzdF9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysgICAgICAgIElt YWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhkZXN0X3JlY3QsIHNy Y19yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxheW91dF96b29tKSkpOworIAorICAgICAvLyBBbiBpbWFnZSB3aXRoIDIwMHgyMDAg Q1NTIHNpemUgZ2V0cyBjbGFzc2lmaWVkIGFzIHBob3RvIGFuZCBkb2VzIG5vdCBnZXQKKyAgICAg Ly8gZmlsdGVyZWQsIGV2ZW4gaWYgfGRlc3RfcmVjdHwgYmVjb21lcyBzbWFsbGVyIDUweDUwIHRo YW4gdGhyZXNob2xkIHNpemUKK0BAIC01Nyw4ICs1Nyw4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtN b2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0KKyAgICAg ICAgIGdmeDo6UmVjdEYoMjAwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgMjAwICogbGF5b3V0 X3pvb20gKiBjc3Nfem9vbSk7CisgICAgIEVYUEVDVF9GQUxTRShmaWx0ZXIuU2hvdWxkQXBwbHlG aWx0ZXJUb0ltYWdlKAorLSAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5 cGVGb3JUZXN0aW5nKHNjcmVlbl9pbmZvLCBkZXN0X3JlY3QsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91dF96b29t KSkpOworKyAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0 aW5nKGRlc3RfcmVjdCwgc3JjX3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0X3pvb20pKSk7CisgCisgICAgIC8vIEFuIGlt YWdlIHdpdGggMjAweDIwMCBDU1Mgc2l6ZSBiZWNvbWVzIDIweDIwIENTUyBzaXplIGFuZCBnZXRz IGNsYXNzaWZpZWQKKyAgICAgLy8gYXMgaWNvbiBhcyB0aGUgQ1NTIHNpemUgaXMgYmVsb3cgdGhl IHRocmVzaG9sZC4KK0BAIC02OSw4ICs2OSw4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVz dCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0KKyAgICAgICAgIGdm eDo6UmVjdEYoMjAwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgMjAwICogbGF5b3V0X3pvb20g KiBjc3Nfem9vbSk7CisgICAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRv SW1hZ2UoCistICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRl c3Rpbmcoc2NyZWVuX2luZm8sIGRlc3RfcmVjdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfcmVjdCwgbGF5b3V0X3pvb20pKSk7Cisr ICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZGVz dF9yZWN0LCBzcmNfcmVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsYXlvdXRfem9vbSkpKTsKKyAgIH0KKyB9OworIAorQEAgLTc4LDQ0 ICs3OCw0MCBAQCBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91bGRBcHBseUZpbHRl clRvSW1hZ2UpIHsKKyAgIERhcmtNb2RlU2V0dGluZ3Mgc2V0dGluZ3M7CisgICBEYXJrTW9kZUZp bHRlciBmaWx0ZXIoc2V0dGluZ3MpOworIAorLSAgZGlzcGxheTo6U2NyZWVuSW5mbyBzY3JlZW5f aW5mbzsKKy0gIHNjcmVlbl9pbmZvLnJlY3QgPSBnZng6OlJlY3QoMTkyMCwgMTA4MCk7CistICBz Y3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yID0gMS4wZjsKKy0KKyAgIC8vIHxkc3R8IGlz IHNtYWxsZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4KKyAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91 bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJ bWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0Rig1 MCwgNTApLCBnZng6OlJlY3RGKDUwLCA1MCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVs cGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoNTAsIDUwKSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpSZWN0Rig1 MCwgNTApKSkpOworIAorICAgLy8gfGRzdHwgaXMgc21hbGxlciB0aGFuIHRocmVzaG9sZCBzaXpl LCBldmVuIHxzcmN8IGlzIGxhcmdlci4KKyAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91bGRBcHBs eUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5 cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0Rig1MCwgNTAp LCBnZng6OlJlY3RGKDIwMCwgMjAwKSkpKTsKKysgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6 OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZ2Z4OjpSZWN0Rig1MCwgNTApLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlJlY3RGKDIwMCwg MjAwKSkpKTsKKyAKKyAgIC8vIHxkc3R8IGlzIHNtYWxsZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZSwg fHNyY3wgaXMgc21hbGxlci4KKyAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91bGRBcHBseUZpbHRl clRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JU ZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0Rig1MCwgNTApLCBnZng6 OlJlY3RGKDIwLCAyMCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFn ZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoNTAsIDUwKSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpSZWN0RigyMCwgMjApKSkpOwor IAorICAgLy8gfHNyY3wgaGF2aW5nIHZlcnkgc21hbGxlciB3aWR0aCwgZXZlbiB8ZHN0fCBpcyBs YXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4KKyAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91bGRB cHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFn ZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0RigyMDAs IDUpLCBnZng6OlJlY3RGKDIwMCwgNSkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVy OjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoMjAwLCA1KSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpSZWN0RigyMDAs IDUpKSkpOworIAorICAgLy8gfHNyY3wgaGF2aW5nIHZlcnkgc21hbGxlciBoZWlnaHQsIGV2ZW4g fGRzdHwgaXMgbGFyZ2VyIHRoYW4gdGhyZXNob2xkIHNpemUuCisgICBFWFBFQ1RfVFJVRShmaWx0 ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBl cjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6 UmVjdEYoNSwgMjAwKSwgZ2Z4OjpSZWN0Rig1LCAyMDApKSkpOworKyAgICAgIEltYWdlQ2xhc3Np ZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhnZng6OlJlY3RGKDUsIDIwMCksCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6 UmVjdEYoNSwgMjAwKSkpKTsKKyAKKyAgIC8vIHxkc3R8IGlzIGxhcmdlciB0aGFuIHRocmVzaG9s ZCBzaXplLgorICAgRVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2Uo CistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAor LSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0RigyMDAsIDIwMCksIGdmeDo6UmVjdEYo MjAsIDIwKSkpKTsKKysgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZv clRlc3RpbmcoZ2Z4OjpSZWN0RigyMDAsIDIwMCksCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoMjAsIDIwKSkpKTsKKyAKKyAg IC8vIHxkc3R8IGlzIGxhcmdlciB0aGFuIHRocmVzaG9sZCBzaXplLgorICAgRVhQRUNUX0ZBTFNF KGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVy SGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywg Z2Z4OjpSZWN0RigyMCwgMjAwKSwgZ2Z4OjpSZWN0RigyMCwgMjAwKSkpKTsKKysgICAgICBJbWFn ZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZ2Z4OjpSZWN0RigyMCwg MjAwKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ2Z4OjpSZWN0RigyMCwgMjAwKSkpKTsKKyB9CisgCisgLy8gVGVzdCBmb3IgbW9iaWxlIGRp c3BsYXkgY29uZmlndXJhdGlvbgorQEAgLTEyNiwxNyArMTIyLDE5IEBAIFRFU1RfRihQYWludEF1 dG9EYXJrTW9kZVRlc3QsIFNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZU9uTW9iaWxlKSB7CisgICBk aXNwbGF5OjpTY3JlZW5JbmZvIHNjcmVlbl9pbmZvOworICAgc2NyZWVuX2luZm8ucmVjdCA9IGdm eDo6UmVjdCgzNjAsIDc4MCk7CisgICBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yID0g My4wZjsKKysgIGNvbnN0IGZsb2F0IGxheW91dF96b29tID0gc2NyZWVuX2luZm8uZGV2aWNlX3Nj YWxlX2ZhY3RvcjsKKyAKKy0gIC8vIDQ0eDQ0IGNzcyBpbWFnZSB3aGljaCBpcyBhYm92ZSB0aGUg cGh5c2ljYWwgc2l6ZSB0aHJlc2hvbGQKKy0gIC8vIGJ1dCB3aXRoIGluIHRoZSBkZXZpY2UgcmF0 aW8gdGhyZXNob2xkCisrICAvLyA0NHg0NCBDU1MgaWNvbiAoMTMyeDEzMiBkZXZpY2UgcGl4ZWxz KSBpcyBiZWxvdyB0aGUgdGhyZXNob2xkIGFuZCBmaWx0ZXJlZAorKyAgLy8gYWZ0ZXIgdW5kb2lu ZyB0aGUgbGF5b3V0IHpvb20gKERTRikuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBw bHlGaWx0ZXJUb0ltYWdlKAorICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VU eXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoMTMyLCAx MzIpLCBnZng6OlJlY3RGKDEzMiwgMTMyKSkpKTsKKysgICAgICAgICAgZ2Z4OjpSZWN0RigxMzIs IDEzMiksIGdmeDo6UmVjdEYoMTMyLCAxMzIpLCBsYXlvdXRfem9vbSkpKTsKKyAKKy0gIC8vIDYw eDYwIGNzcyBpbWFnZQorKyAgLy8gNzB4NzAgQ1NTIGltYWdlICgyMTB4MjEwIGRldmljZSBwaXhl bHMpIGlzIGFib3ZlIHRoZSB0aHJlc2hvbGQgYW5kIG5vdAorKyAgLy8gZmlsdGVyZWQuCisgICBF WFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKyAgICAgICBJbWFn ZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoCistICAgICAgICAgIHNj cmVlbl9pbmZvLCBnZng6OlJlY3RGKDE4MCwgMTgwKSwgZ2Z4OjpSZWN0RigxODAsIDE4MCkpKSk7 CisrICAgICAgICAgIGdmeDo6UmVjdEYoMjEwLCAyMTApLCBnZng6OlJlY3RGKDIxMCwgMjEwKSwg bGF5b3V0X3pvb20pKSk7CisgfQorIAorIFRFU1RfRihQYWludEF1dG9EYXJrTW9kZVRlc3QsIFNo b3VsZEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFnZVpvb20pIHsKCmRpZmYgLS1n aXQgYS9jaHJvbWl1bS5jb25mIGIvY2hyb21pdW0uY29uZgppbmRleCBmNzc5NzVlLi40NmUwMDJk IDEwMDY0NAotLS0gYS9jaHJvbWl1bS5jb25mCisrKyBiL2Nocm9taXVtLmNvbmYKQEAgLTYwLDcg KzYwLDcgQEAgZmkKIAogIyBXZWIgRGFyayBtb2RlCiBpZiBbICIkV0VCX0FVVE9fREFSS01PREVf V0VCQ09OVEVOVCIgPT0gIm9uIiBdIDsgdGhlbgotICAgZGFya3R5cGU9IldlYkNvbnRlbnRzRm9y Y2VEYXJrLEF1dG9EYXJrTW9kZVNraXBJbWFnZXMiCisgICBkYXJrdHlwZT0iV2ViQ29udGVudHNG b3JjZURhcmsiCiAgICBpZiBbIC16ICIkRU5BQkxFX0ZFQVRVUkVTIiBdIDsgdGhlbgogICAgICAg IEVOQUJMRV9GRUFUVVJFUys9IiRkYXJrdHlwZSIKICAgIGVsc2UKCmRpZmYgLS1naXQgYS9jaHJv bWl1bS5zcGVjIGIvY2hyb21pdW0uc3BlYwppbmRleCA4N2FjNTY5Li5mYTMxODJhIDEwMDY0NAot LS0gYS9jaHJvbWl1bS5zcGVjCisrKyBiL2Nocm9taXVtLnNwZWMKQEAgLTI3MSw3ICsyNzEsNyBA QAogJWVuZGlmCiAKIE5hbWU6CWNocm9taXVtCi1WZXJzaW9uOiAxNTAuMC43ODcxLjExNAorVmVy c2lvbjogMTUwLjAuNzg3MS4xMjQKIFJlbGVhc2U6IDElez9kaXN0fQogU3VtbWFyeTogQSBXZWJL aXQgKEJsaW5rKSBwb3dlcmVkIHdlYiBicm93c2VyIHRoYXQgR29vZ2xlIGRvZXNuJ3Qgd2FudCB5 b3UgdG8gdXNlCiBVcmw6IGh0dHA6Ly93d3cuY2hyb21pdW0ub3JnL0hvbWUKQEAgLTUyNyw2ICs1 MjcsOSBAQCBQYXRjaDYwMTogY2hyb21pdW0tMTUwLU9taXQtYXItZnJvbS1pbnB1dHMtd2hlbi1y ZXNvbHZlZC12aWEtUEFUSC5wYXRjaAogUGF0Y2g2MDI6IGNocm9taXVtLTE1MC1GaXgtZ2V0X3Bh dGhfaW5mby1vbi1lbXB0eS1hci1pbi11bmJ1bmRsZS10b29sY2hhaW4ucGF0Y2gKICMgRGFya21v ZGUKIFBhdGNoNjAzOiBjaHJvbWl1bS0xNTAtQWRkLUF1dG9EYXJrTW9kZVNraXBJbWFnZXMtZmxh Zy10by1ieXBhc3MtaW1hZ2UtZGFyay1tb2RlLnBhdGNoCitQYXRjaDYwNDogY2hyb21pdW0tMTUw LU1ha2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJyZXNwZWN0aXZlLW9mLWxh eW91dC16b29tLnBhdGNoCitQYXRjaDYwNTogY2hyb21pdW0tMTUwLVVzZS02NHB4LWNzcy1waXhl bHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1kYXJrLWltYWdlLWNsYXNzaWZpY2F0aW9uLnBhdGNo CitQYXRjaDYwNjogY2hyb21pdW0tMTUwLUFkZC1zaXplLXRocmVzaG9sZC1mb3ItY2xhc3NpZnlp bmctU1ZHLWRvY3VtZW50cy1mb3ItYXV0by1kYXJrLW1vZGUucGF0Y2gKIAogIyBVc2UgY2hyb21p dW0tbGF0ZXN0LnB5IHRvIGdlbmVyYXRlIGNsZWFuIHRhcmJhbGwgZnJvbSByZWxlYXNlZCBidWls ZCB0YXJiYWxscywgZm91bmQgaGVyZToKICMgaHR0cDovL2J1aWxkLmNocm9taXVtLm9yZy9idWls ZGJvdC9vZmZpY2lhbC8KQEAgLTEyNDgsNiArMTI1MSw5IEBAIFF0NiBVSSBmb3IgY2hyb21pdW0u CiAlcGF0Y2ggLVA2MDIgLXAxIC1iIC5GaXgtZ2V0X3BhdGhfaW5mby1vbi1lbXB0eS1hci1pbi11 bmJ1bmRsZS10b29sY2hhaW4KICMgRGFya21vZGUKICVwYXRjaCAtUDYwMyAtcDEgLWIgLkFkZC1B dXRvRGFya01vZGVTa2lwSW1hZ2VzLWZsYWctdG8tYnlwYXNzLWltYWdlLWRhcmstbW9kZQorJXBh dGNoIC1QNjA0IC1wMSAtYiAuTWFrZS1kYXJrLW1vZGUtYXBwbHktZmlsdGVyLXRvLWltYWdlcy1p cnJlc3BlY3RpdmUtb2YtbGF5b3V0LXpvb20KKyVwYXRjaCAtUDYwNSAtcDEgLWIgLlVzZS02NHB4 LWNzcy1waXhlbHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1kYXJrLWltYWdlLWNsYXNzaWZpY2F0 aW9uCislcGF0Y2ggLVA2MDYgLXAxIC1iIC5BZGQtc2l6ZS10aHJlc2hvbGQtZm9yLWNsYXNzaWZ5 aW5nLVNWRy1kb2N1bWVudHMtZm9yLWF1dG8tZGFyay1tb2RlCiAKICMgQ2hhbmdlIHNoZWJhbmcg aW4gYWxsIHJlbGV2YW50IGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFuZCBhbGwgc3ViZGlyZWN0 b3JpZXMKICMgU2VlIGBtYW4gZmluZGAgZm9yIGhvdyB0aGUgYC1leGVjIGNvbW1hbmQge30gK2Ag c3ludGF4IHdvcmtzCkBAIC0xOTIyLDYgKzE5MjgsMjUgQEAgZmkKICVlbmRpZgogCiAlY2hhbmdl bG9nCisqIFdlZCBKdWwgMTUgMjAyNiBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDE1MC4w Ljc4NzEuMTI0LTEKKy0gVXBkYXRlIHRvIDE1MC4wLjc4NzEuMTI0CisgICogQ1ZFLTIwMjYtMTU3 NjQ6IFVzZSBhZnRlciBmcmVlIGluIE96b25lCisgICogQ1ZFLTIwMjYtMTU3NjU6IFVzZSBhZnRl ciBmcmVlIGluIE96b25lCisgICogQ1ZFLTIwMjYtMTU3NjY6IFVuaW5pdGlhbGl6ZWQgVXNlIGlu IFNraWEKKyAgKiBDVkUtMjAyNi0xNTc2NzogSGVhcCBidWZmZXIgb3ZlcmZsb3cgaW4gbGlieXV2 CisgICogQ1ZFLTIwMjYtMTU3Njg6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1lbnQgaW4g SFRNTC1pbi1DYW52YXMKKyAgKiBDVkUtMjAyNi0xNTc2OTogSW5zdWZmaWNpZW50IHZhbGlkYXRp b24gb2YgdW50cnVzdGVkIGlucHV0IGluIExpbnV4IFRvb2xraXQgVGhlbWluZworICAqIENWRS0y MDI2LTE1NzcwOiBVbmluaXRpYWxpemVkIFVzZSBpbiBWOAorICAqIENWRS0yMDI2LTE1NzcxOiBJ bnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiB1bnRydXN0ZWQgaW5wdXQgaW4gTWVkaWEKKyAgKiBD VkUtMjAyNi0xNTc3MjogVXNlIGFmdGVyIGZyZWUgaW4gR1BVCisgICogQ1ZFLTIwMjYtMTU3NzM6 IFVzZSBhZnRlciBmcmVlIGluIENvcmUKKyAgKiBDVkUtMjAyNi0xNTc3NDogVXNlIGFmdGVyIGZy ZWUgaW4gU2tpYQorICAqIENWRS0yMDI2LTE1Nzc1OiBJbnN1ZmZpY2llbnQgcG9saWN5IGVuZm9y Y2VtZW50IGluIFY4CisgICogQ1ZFLTIwMjYtMTU3NzY6IFR5cGUgQ29uZnVzaW9uIGluIFY4Cisg ICogQ1ZFLTIwMjYtMTU3Nzc6IFVzZSBhZnRlciBmcmVlIGluIFVJCisgICogQ1ZFLTIwMjYtMTU3 Nzg6IEluc3VmZmljaWVudCB2YWxpZGF0aW9uIG9mIHVudHJ1c3RlZCBpbnB1dCBpbiBOYXZpZ2F0 aW9uCistIEJhY2twb3J0IHBhdGNoZXMgdG8gaW1wcm92ZSBhdXRvIGRhcmttb2RlCisKICogVGh1 IEp1bCAwOSAyMDI2IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IC0gMTUwLjAuNzg3MS4xMTQt MQogLSBVcGRhdGUgdG8gMTUwLjAuNzg3MS4xMTQKICAgKiBDVkUtMjAyNi0xNTExMjogVXNlIGFm dGVyIGZyZWUgaW4gT3pvbmUKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA1 N2E2NTFmLi42YTk2ZWY0IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEs MiArMSwyIEBACiBTSEE1MTIgKG5vZGUtdjIyLjIyLjAtc3RyaXBwZWQudGFyLmd6KSA9IGYzMmE4 YTczMDYzYjNjNzhjYmFjZjk0MWUxMWRkNTI5ZWJjZjI2MThiM2JhNjYxOTY2MzEyZTQ5ZWU5ODcw YzQzYTNhY2YyNTZlOGQzMzFhNGIwYjYyMWIxNmE1MDE4MTBjMDJhM2FkNzYzYzc1ODg0Y2MyNTBh ZGRjYThlMTA2Ci1TSEE1MTIgKGNocm9taXVtLTE1MC4wLjc4NzEuMTE0LWNsZWFuLnRhci54eikg PSA2OTU5Mjg0YTE5OGY0NjkwZTc5YzA0N2QzNjIwOWYwODA5YTBhMWVjZWEzZWIwZmEwZDlmYjhj NTRiM2JkNzc1NmU1NTYzZGUzZDAxMWMyOThjNDVjMzYxOWRkZjM2ZDRlMTQxZjgxY2ViN2Y2ZmYx YTA4NGQyYWZlODNjNWJiMQorU0hBNTEyIChjaHJvbWl1bS0xNTAuMC43ODcxLjEyNC1jbGVhbi50 YXIueHopID0gZjdkMGM1Mjk3ZjY0YmMxMzA5OGY2Zjc5MTA1MDUwYmYzOGJiODRjNzY0MTQzZjVk M2M0MjVjZTczMjM0MTg5Y2ZlM2MyMDFiMmI5MzNjZDFiNzQyM2VhOGMxNmNjZDdjMGI0YzMyOTc4 ZjAzZDhmZTI2MTMyNjQ1M2Q3N2RlNWQK