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: Tom Callaway To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: merge fix Date: Fri, 07 Aug 2026 16:04:18 GMT Message-ID: <178611865829.1.3283133565150789013.rpms-chromium-d0e087ec98e9@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: d0e087ec98e9c1b1c44cd67a1aa8abb3f823c640 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiBkMGUwODdlYzk4ZTljMWIxYzQ0Y2Q2N2ExYWE4YWJi M2Y4MjNjNjQwCkF1dGhvciA6IFRvbSBDYWxsYXdheSA8c3BvdEBmZWRvcmFwcm9qZWN0Lm9yZz4K RGF0ZSAgIDogMjAxOS0xMC0yOFQwOTowNDo1MC0wNDowMApTdGF0cyAgOiArMzIxOC8tMTc4IGlu IDI2IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9j aHJvbWl1bS9jL2QwZTA4N2VjOThlOWMxYjFjNDRjZDY3YTFhYThhYmIzZjgyM2M2NDA/YnJhbmNo PWVwZWw5LW5leHQKCkxvZzoKbWVyZ2UgZml4CgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUg Yi8uZ2l0aWdub3JlCmluZGV4IDJiZmRjNTQuLjA2ZGU5NGIgMTAwNjQ0Ci0tLSBhLy5naXRpZ25v cmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSw1MSArMSw3IEBACiAvY2hyb21pdW0tNTIuMC4yNzQz Ljc1LWNsZWFuLnRhci54egogL2RlcG90X3Rvb2xzLmdpdC1tYXN0ZXIudGFyLmd6CiAvcG9saWN5 X3RlbXBsYXRlcy56aXAKLS9jaHJvbWl1bS01Mi4wLjI3NDMuODItY2xlYW4udGFyLnh6Ci0vY2hy b21pdW0tNTIuMC4yNzQzLjExNi1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS01My4wLjI3ODUuOTIt Y2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNTMuMC4yNzg1LjEwMS1jbGVhbi50YXIueHoKLS9jaHJv bWl1bS01My4wLjI3ODUuMTEzLWNsZWFuLnRhci54egotL2Nocm9taXVtLTUzLjAuMjc4NS4xMTYt Y2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNTMuMC4yNzg1LjE0My1jbGVhbi50YXIueHoKLS9jaHJv bWl1bS01NC4wLjI4NDAuNTktY2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNTQuMC4yODQwLjcxLWNs ZWFuLnRhci54egotL2Nocm9taXVtLTU0LjAuMjg0MC45MC1jbGVhbi50YXIueHoKLS9jaHJvbWl1 bS01NC4wLjI4NDAuMTAwLnRhci54egotL2Nocm9taXVtLTU0LjAuMjg0MC4xMDAtY2xlYW4udGFy Lnh6Ci0vY2hyb21pdW0tNTUuMC4yODgzLjc1LWNsZWFuLnRhci54egotL2Nocm9taXVtLTU1LjAu Mjg4My44Ny1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS01Ni4wLjI5MjQuODctY2xlYW4udGFyLnh6 Ci0vY2hyb21pdW0tNTcuMC4yOTg3LjExMC1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS01Ny4wLjI5 ODcuMTMzLWNsZWFuLnRhci54egotL2Nocm9taXVtLTU4LjAuMzAyOS44MS1jbGVhbi50YXIueHoK LS9jaHJvbWl1bS01OC4wLjMwMjkuMTEwLWNsZWFuLnRhci54egotL2Nocm9taXVtLTU5LjAuMzA3 MS44Ni1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS01OS4wLjMwNzEuMTA0LWNsZWFuLnRhci54egot L2Nocm9taXVtLTU5LjAuMzA3MS4xMDktY2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNTkuMC4zMDcx LjExNS1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS01OS4wLjMwNzEuMTA5LWZyZWV0eXBlLnRhci5i ejIKLS9jaHJvbWl1bS02MC4wLjMxMTIuOTAtY2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNjAuMC4z MTEyLjEwMS1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS02MC4wLjMxMTIuMTEzLWNsZWFuLnRhci54 egotL2Nocm9taXVtLTYwLjAuMzExMi4xMTMudGFyLnh6Ci0vY2hyb21pdW0tNjEuMC4zMTYzLjc5 LWNsZWFuLnRhci54egotL2Nocm9taXVtLTYxLjAuMzE2My4xMDAtY2xlYW4udGFyLnh6Ci0vY2hy b21pdW0tNjIuMC4zMjAyLjc1LWNsZWFuLnRhci54egotL2Nocm9taXVtLTYyLjAuMzIwMi44OS1j bGVhbi50YXIueHoKLS9jaHJvbWl1bS02My4wLjMyMzkuODQtY2xlYW4udGFyLnh6Ci0vY2hyb21p dW0tNjMuMC4zMjM5LjEwOC1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS02NC4wLjMyODIuMTE5LWNs ZWFuLnRhci54egotL2Nocm9taXVtLTY0LjAuMzI4Mi4xNDAtY2xlYW4udGFyLnh6Ci0vY2hyb21p dW0tNjQuMC4zMjgyLjE2Ny1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS02NC4wLjMyODIuMTg2LWNs ZWFuLnRhci54egotL2Nocm9taXVtLTY1LjAuMzMyNS4xNDYtY2xlYW4udGFyLnh6Ci0vY2hyb21p dW0tNjUuMC4zMzI1LjE2Mi1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS02NS4wLjMzMjUuMTgxLWNs ZWFuLnRhci54egotL2Nocm9taXVtLTY2LjAuMzM1OS4xMzktY2xlYW4udGFyLnh6Ci0vY2hyb21p dW0tNjYuMC4zMzU5LjE3MC1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS02Ni4wLjMzNTkuMTgxLWNs ZWFuLnRhci54egotL2Nocm9taXVtLTY3LjAuMzM5Ni42Mi1jbGVhbi50YXIueHoKKy9jaHJvbWl1 bS0qLnRhci54egogL2dlbGFzaW8uemlwCiAvTXVrdGlOYXJyb3ctMC45NC50YXIuYnoyCiAvTm90 b1NhbnNDSktqcC1oaW50ZWQuemlwCkBAIC02MiwyMyArMTgsNSBAQAogL1Rpbm9zLUJvbGQudHRm CiAvVGlub3MtSXRhbGljLnR0ZgogL1Rpbm9zLVJlZ3VsYXIudHRmCi0vY2hyb21pdW0tNjcuMC4z Mzk2Ljc5LWNsZWFuLnRhci54egotL2Nocm9taXVtLTY3LjAuMzM5Ni44Ny1jbGVhbi50YXIueHoK LS9jaHJvbWl1bS02Ny4wLjMzOTYuOTktY2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNjguMC4zNDQw LjEwNi1jbGVhbi50YXIueHoKIC9BaGVtLnR0ZgotL2Nocm9taXVtLTY5LjAuMzQ5Ny45Mi1jbGVh bi50YXIueHoKLS9jaHJvbWl1bS02OS4wLjM0OTcuMTAwLWNsZWFuLnRhci54egotL2Nocm9taXVt LTcwLjAuMzUzOC43Ny1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS03MC4wLjM1MzguMTEwLWNsZWFu LnRhci54egotL2Nocm9taXVtLTcxLjAuMzU3OC45OC1jbGVhbi50YXIueHoKIC9ub2RlLXY4Ljku MS1saW51eC14NjQudGFyLmd6Ci0vY2hyb21pdW0tNzIuMC4zNjI2LjEyMS1jbGVhbi50YXIueHoK LS9jaHJvbWl1bS03My4wLjM2ODMuNzUtY2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNzMuMC4zNjgz Ljg2LWNsZWFuLnRhci54egotL2Nocm9taXVtLTczLjAuMzY4My4xMDMtY2xlYW4udGFyLnh6Ci0v Y2hyb21pdW0tNzQuMC4zNzI5LjE2OS1jbGVhbi50YXIueHoKLS9jaHJvbWl1bS03NS4wLjM3NzAu ODAtY2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNzUuMC4zNzcwLjkwLWNsZWFuLnRhci54egotL2No cm9taXVtLTc1LjAuMzc3MC4xMDAtY2xlYW4udGFyLnh6Ci0vY2hyb21pdW0tNzYuMC4zODA5LjEw MC1jbGVhbi50YXIueHoKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03MS4wLjM1NzguOTgtZ2NjOS1k cm9wLXJzcC1jbG9iYmVyLnBhdGNoIGIvY2hyb21pdW0tNzEuMC4zNTc4Ljk4LWdjYzktZHJvcC1y c3AtY2xvYmJlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA3MWU4MS4u MDAwMDAwMAotLS0gYS9jaHJvbWl1bS03MS4wLjM1NzguOTgtZ2NjOS1kcm9wLXJzcC1jbG9iYmVy LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0t NzEuMC4zNTc4Ljk4L3RoaXJkX3BhcnR5L3RjbWFsbG9jL2dwZXJmdG9vbHMtMi4wL2Nocm9taXVt L3NyYy9iYXNlL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oLmdjYzkgY2hyb21pdW0tNzEuMC4zNTc4 Ljk4L3RoaXJkX3BhcnR5L3RjbWFsbG9jL2dwZXJmdG9vbHMtMi4wL2Nocm9taXVtL3NyYy9iYXNl L2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCi0tLS0gY2hyb21pdW0tNzEuMC4zNTc4Ljk4L3RoaXJk X3BhcnR5L3RjbWFsbG9jL2dwZXJmdG9vbHMtMi4wL2Nocm9taXVtL3NyYy9iYXNlL2xpbnV4X3N5 c2NhbGxfc3VwcG9ydC5oLmdjYzkJMjAxOS0wMS0wOCAxMzoyNzoyNS4xOTM2MTQ3MjcgLTA1MDAK LSsrKyBjaHJvbWl1bS03MS4wLjM1NzguOTgvdGhpcmRfcGFydHkvdGNtYWxsb2MvZ3BlcmZ0b29s cy0yLjAvY2hyb21pdW0vc3JjL2Jhc2UvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgJMjAxOS0wMS0w OCAxMzoyNzozNS4xNjEzOTIyMzQgLTA1MDAKLUBAIC0xMjMxLDcgKzEyMzEsNyBAQCB0eXBlZGVm IHVuc2lnbmVkIGxvbmcgaW50IHVsb25nOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZCIoTFNTX1NZU0NBTExfQVJHKHBhcmVudF90aWRwdHIpKSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgInIiKExTU19TWVNDQUxMX0FSRyhuZXd0bHMpKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgInIiKExTU19TWVNDQUxMX0FSRyhjaGlsZF90aWRwdHIpKQot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAicnNwIiwgIm1lbW9yeSIsICJyOCIsICJy MTAiLCAicjExIiwgInJjeCIpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVt b3J5IiwgInI4IiwgInIxMCIsICJyMTEiLCAicmN4Iik7Ci0gICAgICAgfQotICAgICAgIExTU19S RVRVUk4oaW50LCBfX3Jlcyk7Ci0gICAgIH0KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03Ni4wLjM4 MDkuMTMyLWNocm9tZWRyaXZlci16bGliLWZpeC5wYXRjaCBiL2Nocm9taXVtLTc2LjAuMzgwOS4x MzItY2hyb21lZHJpdmVyLXpsaWItZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmY4YjQ0ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS03Ni4wLjM4MDku MTMyLWNocm9tZWRyaXZlci16bGliLWZpeC5wYXRjaApAQCAtMCwwICsxLDExIEBACitkaWZmIC11 cCBjaHJvbWl1bS03Ni4wLjM4MDkuMTMyL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5n bi5maXhtZSBjaHJvbWl1bS03Ni4wLjM4MDkuMTMyL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9C VUlMRC5nbgorLS0tIGNocm9taXVtLTc2LjAuMzgwOS4xMzIvY2hyb21lL3Rlc3QvY2hyb21lZHJp dmVyL0JVSUxELmduLmZpeG1lCTIwMTktMDktMTAgMTU6NTM6MDIuODcxNDYzNTY4IC0wNDAwCisr KysgY2hyb21pdW0tNzYuMC4zODA5LjEzMi9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQu Z24JMjAxOS0wOS0xMCAxNjo1NzozMi4yODExMTIzMjMgLTA0MDAKK0BAIC0zMTksNiArMzE5LDcg QEAgZXhlY3V0YWJsZSgiY2hyb21lZHJpdmVyIikgeworICAgICAiLy9uZXQvc2VydmVyOmh0dHBf c2VydmVyIiwKKyAgICAgIi8vbmV0L3RyYWZmaWNfYW5ub3RhdGlvbjp0ZXN0X3N1cHBvcnQiLAor ICAgICAiLy9zZXJ2aWNlcy9uZXR3b3JrL3B1YmxpYy9tb2pvbSIsCisrICAgICIvL3RoaXJkX3Bh cnR5L3psaWIiLAorICAgXQorIH0KKyAKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03Ni4wLjM4MDku MTMyLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNlX2dub21lX2tleXJpbmcucGF0Y2ggYi9jaHJvbWl1 bS03Ni4wLjM4MDkuMTMyLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNlX2dub21lX2tleXJpbmcucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY2YzUyMwotLS0gL2Rldi9u dWxsCisrKyBiL2Nocm9taXVtLTc2LjAuMzgwOS4xMzItcmhlbDgtZm9yY2UtZGlzYWJsZS11c2Vf Z25vbWVfa2V5cmluZy5wYXRjaApAQCAtMCwwICsxLDEwIEBACitkaWZmIC11cCBjaHJvbWl1bS03 Ni4wLjM4MDkuMTMyL2NvbXBvbmVudHMvb3NfY3J5cHQvZmVhdHVyZXMuZ25pLnJoZWw4IGNocm9t aXVtLTc2LjAuMzgwOS4xMzIvY29tcG9uZW50cy9vc19jcnlwdC9mZWF0dXJlcy5nbmkKKy0tLSBj aHJvbWl1bS03Ni4wLjM4MDkuMTMyL2NvbXBvbmVudHMvb3NfY3J5cHQvZmVhdHVyZXMuZ25pLnJo ZWw4CTIwMTktMDktMDYgMTc6MDg6MDEuMjQyMzE0MTI2IC0wNDAwCisrKysgY2hyb21pdW0tNzYu MC4zODA5LjEzMi9jb21wb25lbnRzL29zX2NyeXB0L2ZlYXR1cmVzLmduaQkyMDE5LTA5LTA2IDE3 OjA4OjEwLjEzOTEzNDcwNyAtMDQwMAorQEAgLTcsNSArNyw1IEBAIGltcG9ydCgiLy9idWlsZC9j b25maWcvdWkuZ25pIikKKyBkZWNsYXJlX2FyZ3MoKSB7CisgICAjIFdoZXRoZXIgdG8gdXNlIGxp Ymdub21lLWtleXJpbmcgKGRlcHJlY2F0ZWQgYnkgbGlic2VjcmV0KS4KKyAgICMgU2VlIGh0dHA6 Ly9jcmJ1Zy5jb20vNDY2OTc1IGFuZCBodHRwOi8vY3JidWcuY29tLzM1NTIyMy4KKy0gIHVzZV9n bm9tZV9rZXlyaW5nID0gaXNfZGVza3RvcF9saW51eCAmJiB1c2VfZ2xpYgorKyAgdXNlX2dub21l X2tleXJpbmcgPSBmYWxzZQorIH0KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03Ny1jbGFuZy5wYXRj aCBiL2Nocm9taXVtLTc3LWNsYW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmE1N2I1YTQKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS03Ny1jbGFuZy5wYXRj aApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0tZ2l0IGEvYmFzZS9sb2NhdGlvbi5oIGIvYmFzZS9s b2NhdGlvbi5oCitpbmRleCBjMDdlNzQ3Li45MjRkYjFjIDEwMDY0NAorLS0tIGEvYmFzZS9sb2Nh dGlvbi5oCisrKysgYi9iYXNlL2xvY2F0aW9uLmgKK0BAIC0xOCw3ICsxOCw3IEBACisgCisgbmFt ZXNwYWNlIGJhc2UgeworIAorLSNpZiBkZWZpbmVkKF9faGFzX2J1aWx0aW4pCisrI2lmIGRlZmlu ZWQoX19jbGFuZ19fKQorIC8vIENsYW5nIGFsbG93cyBkZXRlY3Rpb24gb2YgdGhlc2UgYnVpbHRp bnMuCisgI2RlZmluZSBTVVBQT1JUU19MT0NBVElPTl9CVUlMVElOUyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIChfX2hhc19idWlsdGluKF9fYnVpbHRpbl9GVU5D VElPTikgJiYgX19oYXNfYnVpbHRpbihfX2J1aWx0aW5fRklMRSkgJiYgXAoKZGlmZiAtLWdpdCBh L2Nocm9taXVtLTc3LjAuMzg2NS4xMjAtZ2NjLWZpeC16bGliLXN5bWJvbC12aXNpYmlsaXR5LnBh dGNoIGIvY2hyb21pdW0tNzcuMC4zODY1LjEyMC1nY2MtZml4LXpsaWItc3ltYm9sLXZpc2liaWxp dHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdmZDk3ZAotLS0g L2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTc3LjAuMzg2NS4xMjAtZ2NjLWZpeC16bGliLXN5bWJv bC12aXNpYmlsaXR5LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOWMzYWVkMDk5YjAxMGE3 NTU5NGEwZWZkNTIzNzc0YzRjOWE1ZTNkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 ID0/VVRGLTg/cT9KPUMzPUJDcmk9MjBWYWxkbWFubj89IDxqdXJpLnZhbGRtYW5uQHF0LmlvPgor RGF0ZTogVHVlLCAxNSBPY3QgMjAxOSAxMjoxMDo1NSArMDAwMAorU3ViamVjdDogW1BBVENIXSBH Q0M6IEZpeCB6bGliIHN5bWJvbCB2aXNpYmlsaXR5IG1hY3JvCisKK0dDQyBwYXJzZXMgdGhlIGZ1 bmN0aW9uIF9fYXR0cmlidXRlX18gc3ludGF4IGEgYml0IGRpZmZlcmVudGx5IGZyb20gQ2xhbmcs Cithc3NvY2lhdGluZyB0aGUgYXR0cmlidXRlIHdpdGggdGhlIHJldHVybiB0eXBlIGluc3RlYWQg b2YgdGhlIGZ1bmN0aW9uIGlmIHRoZQorcmV0dXJuIHR5cGUgaXMgYSBwb2ludGVyLiBUaGlzIGxl YWRzIHRvIGNlcnRhaW4gemxpYiBzeW1ib2xzLCBzdWNoIGFzCitDcl96X3pFcnJvciwgdG8gZmFp bCB0byBiZSBwcm9wZXJseSBleHBvcnRlZCBmcm9tIHRoZSBzaGFyZWQgbGlicmFyeS4gRml4IGJ5 Cit1c2luZyBaRVhURVJOIGluc3RlYWQgb2YgWkVYUE9SVCBmb3IgdGhlIGF0dHJpYnV0ZSB3aGlj aCB3b3JrcyB0aGUgc2FtZSBmb3IgYm90aAorR0NDIGFuZCBDbGFuZy4KKworQnVnOiA4MTkyOTQK K0NoYW5nZS1JZDogSTU3MDdkMWIwNjI3YTUwM2RmMDhkZjlhYzBiYjY1ZmRhNjk0NTM5ODkKK1Jl dmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hy b21pdW0vc3JjLysvMTg1OTc4OAorUmV2aWV3ZWQtYnk6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFz YW5kZXJzb25AY2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IE5pY28gV2ViZXIgPHRoYWtpc0Bj aHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5v cmc+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjNzA1OTE3fQorLS0t CisgdGhpcmRfcGFydHkvemxpYi9jaHJvbWVjb25mLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS96bGliL2Nocm9tZWNvbmYuaCBiL3RoaXJkX3BhcnR5L3psaWIvY2hyb21lY29uZi5oCitpbmRl eCBlOWFhMzg2N2Q4NTEyLi42NjYwOTNkNjk2YTU4IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkv emxpYi9jaHJvbWVjb25mLmgKKysrKyBiL3RoaXJkX3BhcnR5L3psaWIvY2hyb21lY29uZi5oCitA QCAtMTMsNyArMTMsNyBAQAorICNkZWZpbmUgWkVYVEVSTiBfX2RlY2xzcGVjKGRsbGltcG9ydCkK KyAjZW5kaWYKKyAjZWxpZiBkZWZpbmVkKFpMSUJfSU1QTEVNRU5UQVRJT04pCistI2RlZmluZSBa RVhQT1JUIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkpCisrI2RlZmluZSBa RVhURVJOIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkpCisgI2VuZGlmCisg I2VuZGlmCisgCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tNzcuMC4zODY1LjEyMC1zaWxlbmNlLW91 dGRhdGVkLWJ1aWxkLW5vaXNlLnBhdGNoIGIvY2hyb21pdW0tNzcuMC4zODY1LjEyMC1zaWxlbmNl LW91dGRhdGVkLWJ1aWxkLW5vaXNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmYyZDQ3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS03Ny4wLjM4NjUuMTIw LXNpbGVuY2Utb3V0ZGF0ZWQtYnVpbGQtbm9pc2UucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJv bSBlNzlkOWQwZTA2YjgyNWQyZTYyYjM4ZGIwMzI0OGMwZTZjZWVjN2U0IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogR3JlZyBUaG9tcHNvbiA8Z3J0QGNocm9taXVtLm9yZz4KK0RhdGU6 IFNhdCwgNSBPY3QgMjAxOSAwMzo0NzowNSArMDAwMAorU3ViamVjdDogW1BBVENIXSBPbmx5IGRl dGVjdCBvdXRkYXRlZCBidWlsZHMgb24gR29vZ2xlIENocm9tZS4KKworUHJpb3IgdG8gaHR0cHM6 Ly9jcnJldi5jb20vNjQzODY0LCB0aGV5IHdlcmVuJ3QgZGV0ZWN0ZWQgZm9yIENocm9taXVtIG9u CithY2NvdW50IG9mIHRoZSB3YXkgZ29vZ2xlX2JyYW5kIHdvcmtlZC4gVGhhdCBDTCBjaGFuZ2Vk IGJlaGF2aW9yIGFuZAorYWNjaWRlbnRhbGx5IHN0YXJ0ZWQgc2hvd2luZyB0aGUgb3V0ZGF0ZWQg YnVpbGQgYnViYmxlIGZvciBMaW51eAorQ2hyb21pdW0gdXNlcnMuCisKK0JVRz0xMDEwNTkyCisK K0NoYW5nZS1JZDogSTA2OWFjMzYxNjZlMmFlNzIwZDU4YjFiOWFhODU2MDU3OTJiZTg2ODQKK1Jl dmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hy b21pdW0vc3JjLysvMTg0MTYzNQorUmV2aWV3ZWQtYnk6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFz YW5kZXJzb25AY2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IExlaSBaaGFuZyA8dGhlc3RpZ0Bj aHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEdyZWcgVGhvbXBzb24gPGdydEBjaHJvbWl1bS5v cmc+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjNzAzMTMxfQorLS0t CisgLi4uL3VwZ3JhZGVfZGV0ZWN0b3IvdXBncmFkZV9kZXRlY3Rvcl9pbXBsLmNjICAgICAgICB8 IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2Rp ZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci91cGdyYWRlX2RldGVjdG9yL3VwZ3JhZGVfZGV0ZWN0 b3JfaW1wbC5jYyBiL2Nocm9tZS9icm93c2VyL3VwZ3JhZGVfZGV0ZWN0b3IvdXBncmFkZV9kZXRl Y3Rvcl9pbXBsLmNjCitpbmRleCA0MzJlMzc4OWVjZWQwLi4wNzg1MGZkZjgwY2Q3IDEwMDY0NAor LS0tIGEvY2hyb21lL2Jyb3dzZXIvdXBncmFkZV9kZXRlY3Rvci91cGdyYWRlX2RldGVjdG9yX2lt cGwuY2MKKysrKyBiL2Nocm9tZS9icm93c2VyL3VwZ3JhZGVfZGV0ZWN0b3IvdXBncmFkZV9kZXRl Y3Rvcl9pbXBsLmNjCitAQCAtMzEsNiArMzEsNyBAQAorICNpbmNsdWRlICJiYXNlL3RpbWUvZGVm YXVsdF90aWNrX2Nsb2NrLmgiCisgI2luY2x1ZGUgImJhc2UvdGltZS90aWNrX2Nsb2NrLmgiCisg I2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgImJ1aWxkL2JyYW5kaW5nX2J1 aWxkZmxhZ3MuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Jyb3dzZXIvYnJvd3Nlcl9wcm9jZXNzLmgi CisgI2luY2x1ZGUgImNocm9tZS9icm93c2VyL2dvb2dsZS9nb29nbGVfYnJhbmQuaCIKKyAjaW5j bHVkZSAiY2hyb21lL2NvbW1vbi9jaHJvbWVfc3dpdGNoZXMuaCIKK0BAIC03Myw2ICs3NCwxNCBA QCBjb25zdGV4cHIgYmFzZTo6VGltZURlbHRhIGtOb3RpZnlDeWNsZVRpbWVGb3JUZXN0aW5nID0K KyAvLyBUaGUgbnVtYmVyIG9mIGRheXMgYWZ0ZXIgd2hpY2ggd2UgaWRlbnRpZnkgYSBidWlsZC9p bnN0YWxsIGFzIG91dGRhdGVkLgorIGNvbnN0ZXhwciBiYXNlOjpUaW1lRGVsdGEga091dGRhdGVk QnVpbGRBZ2UgPSBiYXNlOjpUaW1lRGVsdGE6OkZyb21EYXlzKDEyICogNyk7CisgCisrY29uc3Rl eHByIGJvb2wgU2hvdWxkRGV0ZWN0T3V0ZGF0ZWRCdWlsZHMoKSB7CisrI2lmIEJVSUxERkxBRyhH T09HTEVfQ0hST01FX0JSQU5ESU5HKQorKyAgcmV0dXJuIHRydWU7CisrI2Vsc2UgICAvLyBCVUlM REZMQUcoR09PR0xFX0NIUk9NRV9CUkFORElORykKKysgIHJldHVybiBmYWxzZTsKKysjZW5kaWYg IC8vIEJVSUxERkxBRyhHT09HTEVfQ0hST01FX0JSQU5ESU5HKQorK30KKysKKyAvLyBSZXR1cm4g dGhlIHN0cmluZyB0aGF0IHdhcyBwYXNzZWQgYXMgYSB2YWx1ZSBmb3IgdGhlCisgLy8ga0NoZWNr Rm9yVXBkYXRlSW50ZXJ2YWxTZWMgc3dpdGNoLgorIHN0ZDo6c3RyaW5nIENtZExpbmVJbnRlcnZh bCgpIHsKK0BAIC00MDYsNiArNDE1LDEwIEBAIGJvb2wgVXBncmFkZURldGVjdG9ySW1wbDo6RGV0 ZWN0T3V0ZGF0ZWQKKyAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KKyAjZW5kaWYKKysKKysg ICAgaWYgKCFTaG91bGREZXRlY3RPdXRkYXRlZEJ1aWxkcygpKQorKyAgICAgIHJldHVybiBmYWxz ZTsKKysKKyAgIH0KKyAKKyAgIGJhc2U6OlRpbWUgbmV0d29ya190aW1lOwoKZGlmZiAtLWdpdCBh L2Nocm9taXVtLTc4LWdjYy1ub2V4Y2VwdC5wYXRjaCBiL2Nocm9taXVtLTc4LWdjYy1ub2V4Y2Vw dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGRiNTNmCi0tLSAv ZGV2L251bGwKKysrIGIvY2hyb21pdW0tNzgtZ2NjLW5vZXhjZXB0LnBhdGNoCkBAIC0wLDAgKzEs MzIgQEAKK0Zyb20gZDE2Y2RhOGZjMzQ3NmNjNTM0YTc1Njg3M2NjOGFhMjY5MmE1NzA1NCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvc2UgRGFwZW5hIFBheiA8am9zZS5kYXBlbmFA bGdlLmNvbT4KK0RhdGU6IFRodSwgMjIgQXVnIDIwMTkgMTM6MTM6MzYgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSF0gR0NDOiBkZWNsYXJlIG5vZXhjZXB0IG1vdmUgY29uc3RydWN0b3IvYXNzaWduIG9w ZXJhdG9ycyBvZiBWOFN0YWNrVHJhY2VJZAorCitibGluazo6QmxpbmtDbG9uZWFibGVNZXNzYWdl IGRlY2xhcmVzIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YKK21vdmUgb3BlcmF0b3IvYXNzaWdu IG9wZXJhdG9yIHRoYXQgcmVxdWlyZXMgdjhfaW5zcGVjdG9yOjpWOFN0YWNrVHJhY2VJZAordG8g ZGVjbGFyZSBpdHMgbW92ZSBjb25zdHJ1Y3Rvci9hc3NpZ24gb3BlcmF0b3IgdG9vLgorCitCdWc6 IGNocm9taXVtOjgxOTI5NAorQ2hhbmdlLUlkOiBJYWY2MjZlZTgyNDVlZmNiYTM3MmExN2NkZjJk ZTQ0OGU2OTFkNDFkNgorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2ds ZXNvdXJjZS5jb20vYy92OC92OC8rLzE3OTYwNjIKK0NvbW1pdC1RdWV1ZTogSm9zw6kgRGFwZW5h IFBheiA8am9zZS5kYXBlbmFAbGdlLmNvbT4KK1Jldmlld2VkLWJ5OiBZYW5nIEd1byA8eWFuZ2d1 b0BjaHJvbWl1bS5vcmc+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsj NjM3OTl9CistLS0KKworZGlmZiAtLWdpdCBhL3Y4L2luY2x1ZGUvdjgtaW5zcGVjdG9yLmggYi92 OC9pbmNsdWRlL3Y4LWluc3BlY3Rvci5oCitpbmRleCBjZTViNzc3Li5lZDRjZGVjIDEwMDY0NAor LS0tIGEvdjgvaW5jbHVkZS92OC1pbnNwZWN0b3IuaAorKysrIGIvdjgvaW5jbHVkZS92OC1pbnNw ZWN0b3IuaAorQEAgLTIzMSw3ICsyMzEsMTAgQEAgc3RydWN0IFY4X0VYUE9SVCBWOFN0YWNrVHJh Y2VJZCB7CisgICBzdGQ6OnBhaXI8aW50NjRfdCwgaW50NjRfdD4gZGVidWdnZXJfaWQ7CisgCisg ICBWOFN0YWNrVHJhY2VJZCgpOworKyAgVjhTdGFja1RyYWNlSWQoY29uc3QgVjhTdGFja1RyYWNl SWQmKSA9IGRlZmF1bHQ7CisgICBWOFN0YWNrVHJhY2VJZCh1aW50cHRyX3QgaWQsIGNvbnN0IHN0 ZDo6cGFpcjxpbnQ2NF90LCBpbnQ2NF90PiBkZWJ1Z2dlcl9pZCk7CisrICBWOFN0YWNrVHJhY2VJ ZCYgb3BlcmF0b3I9KGNvbnN0IFY4U3RhY2tUcmFjZUlkJikgPSBkZWZhdWx0OworKyAgVjhTdGFj a1RyYWNlSWQmIG9wZXJhdG9yPShWOFN0YWNrVHJhY2VJZCYmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7 CisgICB+VjhTdGFja1RyYWNlSWQoKSA9IGRlZmF1bHQ7CisgCisgICBib29sIElzSW52YWxpZCgp IGNvbnN0OwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTc4LWluY2x1ZGUucGF0Y2ggYi9jaHJvbWl1 bS03OC1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNk YjM4ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS03OC1pbmNsdWRlLnBhdGNoCkBAIC0w LDAgKzEsNDAgQEAKK0Zyb20gYmJmZTI2NjU5MjMyMjViNGE3YzQzNmJhMmI2YzdlNWY2OTVmMmU1 MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhdmlkIExhbmRlbGwgPGxhbmRlbGxA dmV3ZC5jb20+CitEYXRlOiBGcmksIDEzIFNlcCAyMDE5IDEyOjI0OjEzICswMDAwCitTdWJqZWN0 OiBbUEFUQ0hdIEFkZCBtaXNzaW5nIGluY2x1ZGUgZm9yIHVuaXF1ZV9wdHIKKworQ2hhbmdlLUlk OiBJNjE0ZDJmNDI4NjhkNTYzZWI2YTkyZGZiMmFhZTA4Mjg2ZTIwZDY4NworUmV2aWV3ZWQtb246 IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMv Ky8xODAzMTM3CitSZXZpZXdlZC1ieTogSGVucmlrIEJvc3Ryw7ZtIDxoYm9zQGNocm9taXVtLm9y Zz4KK0NvbW1pdC1RdWV1ZTogSGVucmlrIEJvc3Ryw7ZtIDxoYm9zQGNocm9taXVtLm9yZz4KK0Ny LUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM2OTYzNTV9CistLS0KKworZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS93ZWJfcnRjX3J0cF9z b3VyY2UuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS93ZWJfcnRjX3J0cF9z b3VyY2UuaAoraW5kZXggOTU5NDQwZi4uYzNmZDU0MiAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5 L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS93ZWJfcnRjX3J0cF9zb3VyY2UuaAorKysrIGIvdGhpcmRf cGFydHkvYmxpbmsvcHVibGljL3BsYXRmb3JtL3dlYl9ydGNfcnRwX3NvdXJjZS5oCitAQCAtNSw2 ICs1LDggQEAKKyAjaWZuZGVmIFRISVJEX1BBUlRZX0JMSU5LX1BVQkxJQ19QTEFURk9STV9XRUJf UlRDX1JUUF9TT1VSQ0VfSF8KKyAjZGVmaW5lIFRISVJEX1BBUlRZX0JMSU5LX1BVQkxJQ19QTEFU Rk9STV9XRUJfUlRDX1JUUF9TT1VSQ0VfSF8KKyAKKysjaW5jbHVkZSA8bWVtb3J5PgorKworICNp bmNsdWRlICJiYXNlL29wdGlvbmFsLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3B1 YmxpYy9wbGF0Zm9ybS93ZWJfY29tbW9uLmgiCisgCitNaXNzaW5nIGluY2x1ZGUgZHVlIHRvIHJl dmVydGluZyBQcm9maWxlTWFuYWdlck9ic2VydmVyCistLS0KKworZGlmZiAtLWdpdCBhL2Nocm9t ZS9icm93c2VyL3dlYl9hcHBsaWNhdGlvbnMvZXh0ZW5zaW9ucy9ib29rbWFya19hcHBfdXRpbC5j YyBiL2Nocm9tZS9icm93c2VyL3dlYl9hcHBsaWNhdGlvbnMvZXh0ZW5zaW9ucy9ib29rbWFya19h cHBfdXRpbC5jYworaW5kZXggZWU0YjcwYS4uYjMxZTVmNSAxMDA2NDQKKy0tLSBhL2Nocm9tZS9i cm93c2VyL3dlYl9hcHBsaWNhdGlvbnMvZXh0ZW5zaW9ucy9ib29rbWFya19hcHBfdXRpbC5jYwor KysrIGIvY2hyb21lL2Jyb3dzZXIvd2ViX2FwcGxpY2F0aW9ucy9leHRlbnNpb25zL2Jvb2ttYXJr X2FwcF91dGlsLmNjCitAQCAtNyw2ICs3LDcgQEAKKyAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0 cmluZ19waWVjZS5oIgorICNpbmNsdWRlICJiYXNlL3ZhbHVlcy5oIgorICNpbmNsdWRlICJjaHJv bWUvYnJvd3Nlci9leHRlbnNpb25zL2V4dGVuc2lvbl9zZXJ2aWNlLmgiCisrI2luY2x1ZGUgImNo cm9tZS9icm93c2VyL3Byb2ZpbGVzL3Byb2ZpbGUuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Jyb3dz ZXIvd2ViX2FwcGxpY2F0aW9ucy9jb21wb25lbnRzL2FwcF9yZWdpc3RyYXIuaCIKKyAjaW5jbHVk ZSAiY2hyb21lL2Jyb3dzZXIvd2ViX2FwcGxpY2F0aW9ucy9jb21wb25lbnRzL3dlYl9hcHBfcHJv dmlkZXJfYmFzZS5oIgorICNpbmNsdWRlICJjaHJvbWUvY29tbW9uL2Nocm9tZV9mZWF0dXJlcy5o IgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTc4LXBtLWNyYXNoLnBhdGNoIGIvY2hyb21pdW0tNzgt cG0tY3Jhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRhMjY2 MQotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTc4LXBtLWNyYXNoLnBhdGNoCkBAIC0wLDAg KzEsNDMgQEAKK0Zyb20gZTczYWVkOWE1ZWYxNTEwMmYyOWFjMzFiNzAyOTBmYWY1YzkwZjlmZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEV2YW4gU3RhZGUgPGVzdGFkZUBjaHJvbWl1 bS5vcmc+CitEYXRlOiBXZWQsIDE2IE9jdCAyMDE5IDE2OjAxOjMyICswMDAwCitTdWJqZWN0OiBb UEFUQ0hdIEZpeCBzaHV0ZG93biBjcmFzaCBpbiBQcm9maWxlTWFuYWdlci4KKworT25Qcm9maWxl TWFya2VkRm9yUGVybWFuZW50RGVsZXRpb24gc2hvdWxkIG1vdmUgZnJvbQorUHJvZmlsZU1hbmFn ZXJPYnNlcnZlciB0byBQcm9maWxlT2JzZXJ2ZXIsIHdoaWNoIHdvdWxkIGFsc28KK2ZpeCB0aGlz IGJ1Zy4gSG93ZXZlciwgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIG1lbWJlcnMgaXMgdGhlCitxdWlj a2VzdCBhbmQgbW9zdCBjaGVycnktcGljay1hYmxlIHdheSB0byBhdm9pZCB0aGUgY3Jhc2guCisK K0J1ZzogMTAwNTI0NAorQ2hhbmdlLUlkOiBJZjJkYjY4Yzg0NmRkNDE4Y2QwMjg2NGI1N2I5YjU0 MzY4N2ZhMWUwMworUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNv dXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8xODYzNTE4CitBdXRvLVN1Ym1pdDogRXZhbiBTdGFk ZSA8ZXN0YWRlQGNocm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBEYXZpZCBSb2dlciA8ZHJvZ2Vy QGNocm9taXVtLm9yZz4KK0NvbW1pdC1RdWV1ZTogRXZhbiBTdGFkZSA8ZXN0YWRlQGNocm9taXVt Lm9yZz4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM3MDY0Njd9Cist LS0KKworZGlmZiAtLWdpdCBhL2Nocm9tZS9icm93c2VyL3Byb2ZpbGVzL3Byb2ZpbGVfbWFuYWdl ci5oIGIvY2hyb21lL2Jyb3dzZXIvcHJvZmlsZXMvcHJvZmlsZV9tYW5hZ2VyLmgKK2luZGV4IGI2 MGRmNzZkLi43ZDAyYWY3IDEwMDY0NAorLS0tIGEvY2hyb21lL2Jyb3dzZXIvcHJvZmlsZXMvcHJv ZmlsZV9tYW5hZ2VyLmgKKysrKyBiL2Nocm9tZS9icm93c2VyL3Byb2ZpbGVzL3Byb2ZpbGVfbWFu YWdlci5oCitAQCAtNDA5LDYgKzQwOSwxMCBAQCBjbGFzcyBQcm9maWxlTWFuYWdlciA6IHB1Ymxp YyBjb250ZW50OjpOb3RpZmljYXRpb25PYnNlcnZlciwKKyAgICAgICBjb25zdCBiYXNlOjpGaWxl UGF0aCYgcHJvZmlsZV9kaXIpOworICNlbmRpZiAgLy8gIWRlZmluZWQoT1NfQU5EUk9JRCkKKyAK KysgIC8vIERlc3Ryb3kgYWZ0ZXIgfHByb2ZpbGVfaW5mb19jYWNoZV98IHNpbmNlIFByb2ZpbGUg ZGVzdHJ1Y3Rpb24gbWF5IHRyaWdnZXIKKysgIC8vIHNvbWUgb2JzZXJ2ZXJzIHRvIHVucmVnaXN0 ZXIgdGhlbXNlbHZlcy4KKysgIGJhc2U6Ok9ic2VydmVyTGlzdDxQcm9maWxlTWFuYWdlck9ic2Vy dmVyPiBvYnNlcnZlcnNfOworKworICAgLy8gT2JqZWN0IHRvIGNhY2hlIHZhcmlvdXMgaW5mb3Jt YXRpb24gYWJvdXQgcHJvZmlsZXMuIENvbnRhaW5zIGluZm9ybWF0aW9uCisgICAvLyBhYm91dCBl dmVyeSBwcm9maWxlIHdoaWNoIGhhcyBiZWVuIGNyZWF0ZWQgZm9yIHRoaXMgaW5zdGFuY2Ugb2Yg Q2hyb21lLAorICAgLy8gaWYgaXQgaGFzIG5vdCBiZWVuIGV4cGxpY2l0bHkgZGVsZXRlZC4gSXQg bXVzdCBiZSBkZXN0cm95ZWQgYWZ0ZXIKK0BAIC00NTAsOCArNDU0LDYgQEAgY2xhc3MgUHJvZmls ZU1hbmFnZXIgOiBwdWJsaWMgY29udGVudDo6Tm90aWZpY2F0aW9uT2JzZXJ2ZXIsCisgICAvLyBD b250cm9scyB3aGV0aGVyIHRvIGluaXRpYWxpemUgc29tZSBzZXJ2aWNlcy4gT25seSBkaXNhYmxl ZCBmb3IgdGVzdGluZy4KKyAgIGJvb2wgZG9fZmluYWxfc2VydmljZXNfaW5pdF8gPSB0cnVlOwor IAorLSAgYmFzZTo6T2JzZXJ2ZXJMaXN0PFByb2ZpbGVNYW5hZ2VyT2JzZXJ2ZXI+IG9ic2VydmVy c187CistCisgICAvLyBUT0RPKGNocm9tZS9icm93c2VyL3Byb2ZpbGVzL09XTkVSUyk6IFVzYWdl IG9mIHRoaXMgaW4gcHJvZmlsZV9tYW5hZ2VyLmNjCisgICAvLyBzaG91bGQgbGlrZWx5IGJlIHR1 cm5lZCBpbnRvIERDSEVDS19DVVJSRU5UTFlfT04oQnJvd3NlclRocmVhZDo6VUkpIGZvcgorICAg Ly8gY29uc2lzdGVuY3kgd2l0aCBzdXJyb3VuZGluZyBjb2RlIGluIHRoZSBzYW1lIGZpbGUgYnV0 IHRoYXQgd2Fzbid0IHRyaXZpYWwKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03OC1wcm90b2J1Zi1l eHBvcnQucGF0Y2ggYi9jaHJvbWl1bS03OC1wcm90b2J1Zi1leHBvcnQucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRiOWU4MAotLS0gL2Rldi9udWxsCisrKyBiL2No cm9taXVtLTc4LXByb3RvYnVmLWV4cG9ydC5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9yZXBlYXRlZF9m aWVsZC5oIGIvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9yZXBlYXRl ZF9maWVsZC5oCitpbmRleCBiNWIxOTNjLi40NDM0ODU0IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFy dHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9yZXBlYXRlZF9maWVsZC5oCisrKysgYi90 aGlyZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL3JlcGVhdGVkX2ZpZWxkLmgK K0BAIC04MDQsNyArODA0LDcgQEAgY2xhc3MgU3RyaW5nVHlwZUhhbmRsZXIgeworIC8vIFJlcGVh dGVkUHRyRmllbGQgaXMgbGlrZSBSZXBlYXRlZEZpZWxkLCBidXQgdXNlZCBmb3IgcmVwZWF0ZWQg c3RyaW5ncyBvcgorIC8vIE1lc3NhZ2VzLgorIHRlbXBsYXRlIDx0eXBlbmFtZSBFbGVtZW50Pgor LWNsYXNzIFJlcGVhdGVkUHRyRmllbGQgZmluYWwgOiBwcml2YXRlIGludGVybmFsOjpSZXBlYXRl ZFB0ckZpZWxkQmFzZSB7CisrY2xhc3MgUFJPVE9CVUZfRVhQT1JUIFJlcGVhdGVkUHRyRmllbGQg ZmluYWwgOiBwcml2YXRlIGludGVybmFsOjpSZXBlYXRlZFB0ckZpZWxkQmFzZSB7CisgIHB1Ymxp YzoKKyAgIFJlcGVhdGVkUHRyRmllbGQoKTsKKyAgIGV4cGxpY2l0IFJlcGVhdGVkUHRyRmllbGQo QXJlbmEqIGFyZW5hKTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03OC1yZXZlcnQtbm9leGNlcHQt cjEucGF0Y2ggYi9jaHJvbWl1bS03OC1yZXZlcnQtbm9leGNlcHQtcjEucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA4ZDYxOAotLS0gL2Rldi9udWxsCisrKyBiL2No cm9taXVtLTc4LXJldmVydC1ub2V4Y2VwdC1yMS5wYXRjaApAQCAtMCwwICsxLDE0NzEgQEAKK0Zy b20gMzdhOTVkZDkzZTU1Mzg4OGMwMGNmOTQ0M2E1ZWM3MzhjZTY1OGU2NSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDENCitGcm9tOiBaaW5vdnkgTmlzIDx6eW5pc0B5YW5kZXgtdGVhbS5ydT4NCitE YXRlOiBNb24sIDE2IFNlcCAyMDE5IDEzOjA4OjE3ICswMDAwDQorU3ViamVjdDogW1BBVENIXSBS ZXZlcnQgIltjbGFuZy10aWR5XSBhZGQgbm9leGNlcHQgZm9yIG1vdmUgY3RvcnMgYW5kIG9wZXJh dG9yPSBpbiBibGluayINCisNCitUaGlzIHJldmVydHMgY29tbWl0IDhmM2VlYTEwZmU2M2E2NGFj NjdkYzIxNTQyZWJlZTZiODk2MTU2YTMuDQorDQorUmVhc29uIGZvciByZXZlcnQ6IGNvZGUgYmxv YXRpbmcNCisNCitPcmlnaW5hbCBjaGFuZ2UncyBkZXNjcmlwdGlvbjoNCis+IFtjbGFuZy10aWR5 XSBhZGQgbm9leGNlcHQgZm9yIG1vdmUgY3RvcnMgYW5kIG9wZXJhdG9yPSBpbiBibGluaw0KKz4N Cis+IEJ1ZzogOTk0OTE1DQorPiBDaGFuZ2UtSWQ6IEkyZTFiY2YyODZhMmQyZmE2NjEzZTE4YjUy NjgwOThhMGQyNThmYjJlDQorPiBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcu Z29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzE3NTkxNjMNCis+IENvbW1pdC1RdWV1 ZTogWmlub3Z5IE5pcyA8enluaXNAeWFuZGV4LXRlYW0ucnU+DQorPiBSZXZpZXdlZC1ieTogSmVy ZW15IFJvbWFuIDxqYnJvbWFuQGNocm9taXVtLm9yZz4NCis+IFJldmlld2VkLWJ5OiBNaWtlIFdl c3QgPG1rd3N0QGNocm9taXVtLm9yZz4NCis+IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFk cy9tYXN0ZXJAeyM2ODg2NzZ9DQorDQorVEJSPWpicm9tYW5AY2hyb21pdW0ub3JnLGZvb2xpcEBj aHJvbWl1bS5vcmcsbWt3c3RAY2hyb21pdW0ub3JnLHp5bmlzQHlhbmRleC10ZWFtLnJ1DQorDQor IyBOb3Qgc2tpcHBpbmcgQ1EgY2hlY2tzIGJlY2F1c2Ugb3JpZ2luYWwgQ0wgbGFuZGVkID4gMSBk YXkgYWdvLg0KKw0KK0J1ZzogOTk0OTE1DQorQ2hhbmdlLUlkOiBJMTJiM2VjYzExODZlMjc4MDkw ODJkYzM5OWM2ZDY4NjQxMDljZTMwNw0KKy0tLQ0KKw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS9ibGluay9jb21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9rZXlfcGF0aC5jYyBiL3RoaXJkX3Bh cnR5L2JsaW5rL2NvbW1vbi9pbmRleGVkZGIvaW5kZXhlZGRiX2tleV9wYXRoLmNjDQoraW5kZXgg ZWMyYjYxOC4uNTUyZDU0MSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9jb21tb24v aW5kZXhlZGRiL2luZGV4ZWRkYl9rZXlfcGF0aC5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5r L2NvbW1vbi9pbmRleGVkZGIvaW5kZXhlZGRiX2tleV9wYXRoLmNjDQorQEAgLTE4LDEyICsxOCwx MiBAQA0KKyAgICAgOiB0eXBlXyhtb2pvbTo6SURCS2V5UGF0aFR5cGU6OkFycmF5KSwgYXJyYXlf KGFycmF5KSB7fQ0KKyANCisgSW5kZXhlZERCS2V5UGF0aDo6SW5kZXhlZERCS2V5UGF0aChjb25z dCBJbmRleGVkREJLZXlQYXRoJiBvdGhlcikgPSBkZWZhdWx0Ow0KKy1JbmRleGVkREJLZXlQYXRo OjpJbmRleGVkREJLZXlQYXRoKEluZGV4ZWREQktleVBhdGgmJiBvdGhlcikgbm9leGNlcHQgPSBk ZWZhdWx0Ow0KKytJbmRleGVkREJLZXlQYXRoOjpJbmRleGVkREJLZXlQYXRoKEluZGV4ZWREQktl eVBhdGgmJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyBJbmRleGVkREJLZXlQYXRoOjp+SW5kZXhlZERC S2V5UGF0aCgpID0gZGVmYXVsdDsNCisgSW5kZXhlZERCS2V5UGF0aCYgSW5kZXhlZERCS2V5UGF0 aDo6b3BlcmF0b3I9KGNvbnN0IEluZGV4ZWREQktleVBhdGgmIG90aGVyKSA9DQorICAgICBkZWZh dWx0Ow0KKy1JbmRleGVkREJLZXlQYXRoJiBJbmRleGVkREJLZXlQYXRoOjpvcGVyYXRvcj0oDQor LSAgICBJbmRleGVkREJLZXlQYXRoJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrSW5k ZXhlZERCS2V5UGF0aCYgSW5kZXhlZERCS2V5UGF0aDo6b3BlcmF0b3I9KEluZGV4ZWREQktleVBh dGgmJiBvdGhlcikgPQ0KKysgICAgZGVmYXVsdDsNCisgDQorIGNvbnN0IHN0ZDo6dmVjdG9yPGJh c2U6OnN0cmluZzE2PiYgSW5kZXhlZERCS2V5UGF0aDo6YXJyYXkoKSBjb25zdCB7DQorICAgRENI RUNLKHR5cGVfID09IGJsaW5rOjptb2pvbTo6SURCS2V5UGF0aFR5cGU6OkFycmF5KTsNCitkaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2luZGV4ZWRkYi9pbmRleGVkZGJfbWV0 YWRhdGEuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9t ZXRhZGF0YS5jYw0KK2luZGV4IDUwZDU4NDUuLjkzNDk3MzIgMTAwNjQ0DQorLS0tIGEvdGhpcmRf cGFydHkvYmxpbmsvY29tbW9uL2luZGV4ZWRkYi9pbmRleGVkZGJfbWV0YWRhdGEuY2MNCisrKysg Yi90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9tZXRhZGF0YS5j Yw0KK0BAIC0yMywxNSArMjMsMTUgQEANCisgDQorIEluZGV4ZWREQkluZGV4TWV0YWRhdGE6Oklu ZGV4ZWREQkluZGV4TWV0YWRhdGEoDQorICAgICBjb25zdCBJbmRleGVkREJJbmRleE1ldGFkYXRh JiBvdGhlcikgPSBkZWZhdWx0Ow0KKy1JbmRleGVkREJJbmRleE1ldGFkYXRhOjpJbmRleGVkREJJ bmRleE1ldGFkYXRhKA0KKy0gICAgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYmIG90aGVyKSBub2V4 Y2VwdCA9IGRlZmF1bHQ7DQorK0luZGV4ZWREQkluZGV4TWV0YWRhdGE6OkluZGV4ZWREQkluZGV4 TWV0YWRhdGEoSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYmIG90aGVyKSA9DQorKyAgICBkZWZhdWx0 Ow0KKyANCisgSW5kZXhlZERCSW5kZXhNZXRhZGF0YTo6fkluZGV4ZWREQkluZGV4TWV0YWRhdGEo KSA9IGRlZmF1bHQ7DQorIA0KKyBJbmRleGVkREJJbmRleE1ldGFkYXRhJiBJbmRleGVkREJJbmRl eE1ldGFkYXRhOjpvcGVyYXRvcj0oDQorICAgICBjb25zdCBJbmRleGVkREJJbmRleE1ldGFkYXRh JiBvdGhlcikgPSBkZWZhdWx0Ow0KKyBJbmRleGVkREJJbmRleE1ldGFkYXRhJiBJbmRleGVkREJJ bmRleE1ldGFkYXRhOjpvcGVyYXRvcj0oDQorLSAgICBJbmRleGVkREJJbmRleE1ldGFkYXRhJiYg b3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICAgIEluZGV4ZWREQkluZGV4TWV0YWRhdGEm JiBvdGhlcikgPSBkZWZhdWx0Ow0KKyANCisgYm9vbCBJbmRleGVkREJJbmRleE1ldGFkYXRhOjpv cGVyYXRvcj09KA0KKyAgICAgY29uc3QgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYgb3RoZXIpIGNv bnN0IHsNCitAQCAtNTYsMTQgKzU2LDE0IEBADQorIEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRh dGE6OkluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGEoDQorICAgICBjb25zdCBJbmRleGVkREJP YmplY3RTdG9yZU1ldGFkYXRhJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyBJbmRleGVkREJPYmplY3RT dG9yZU1ldGFkYXRhOjpJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhKA0KKy0gICAgSW5kZXhl ZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorKyAg ICBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiYgb3RoZXIpID0gZGVmYXVsdDsNCisgDQor IEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGE6On5JbmRleGVkREJPYmplY3RTdG9yZU1ldGFk YXRhKCkgPSBkZWZhdWx0Ow0KKyANCisgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYgSW5k ZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YTo6b3BlcmF0b3I9KA0KKyAgICAgY29uc3QgSW5kZXhl ZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYgb3RoZXIpID0gZGVmYXVsdDsNCisgSW5kZXhlZERCT2Jq ZWN0U3RvcmVNZXRhZGF0YSYgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YTo6b3BlcmF0b3I9 KA0KKy0gICAgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYmIG90aGVyKSBub2V4Y2VwdCA9 IGRlZmF1bHQ7DQorKyAgICBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiYgb3RoZXIpID0g ZGVmYXVsdDsNCisgDQorIGJvb2wgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YTo6b3BlcmF0 b3I9PSgNCisgICAgIGNvbnN0IEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGEmIG90aGVyKSBj b25zdCB7DQorQEAgLTg3LDE0ICs4NywxNCBAQA0KKyBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRh OjpJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhKA0KKyAgICAgY29uc3QgSW5kZXhlZERCRGF0YWJh c2VNZXRhZGF0YSYgb3RoZXIpID0gZGVmYXVsdDsNCisgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0 YTo6SW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YSgNCistICAgIEluZGV4ZWREQkRhdGFiYXNlTWV0 YWRhdGEmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgSW5kZXhlZERCRGF0YWJh c2VNZXRhZGF0YSYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIA0KKyBJbmRleGVkREJEYXRhYmFzZU1l dGFkYXRhOjp+SW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YSgpID0gZGVmYXVsdDsNCisgDQorIElu ZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGE6Om9wZXJh dG9yPSgNCisgICAgIGNvbnN0IEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIG90aGVyKSA9IGRl ZmF1bHQ7DQorIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIEluZGV4ZWREQkRhdGFiYXNlTWV0 YWRhdGE6Om9wZXJhdG9yPSgNCistICAgIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmJiBvdGhl cikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YSYm IG90aGVyKSA9IGRlZmF1bHQ7DQorIA0KKyBib29sIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGE6 Om9wZXJhdG9yPT0oDQorICAgICBjb25zdCBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiBvdGhl cikgY29uc3Qgew0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vbWVkaWFz dHJlYW0vbWVkaWFfZGV2aWNlcy5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9tZWRpYXN0 cmVhbS9tZWRpYV9kZXZpY2VzLmNjDQoraW5kZXggOTNkZjIwMS4uMzY2MWI0YiAxMDA2NDQNCist LS0gYS90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vbWVkaWFzdHJlYW0vbWVkaWFfZGV2aWNlcy5j Yw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9tZWRpYXN0cmVhbS9tZWRpYV9kZXZp Y2VzLmNjDQorQEAgLTEzLDggKzEzLDcgQEANCisgV2ViTWVkaWFEZXZpY2VJbmZvOjpXZWJNZWRp YURldmljZUluZm8oY29uc3QgV2ViTWVkaWFEZXZpY2VJbmZvJiBvdGhlcikgPQ0KKyAgICAgZGVm YXVsdDsNCisgDQorLVdlYk1lZGlhRGV2aWNlSW5mbzo6V2ViTWVkaWFEZXZpY2VJbmZvKFdlYk1l ZGlhRGV2aWNlSW5mbyYmIG90aGVyKSBub2V4Y2VwdCA9DQorLSAgICBkZWZhdWx0Ow0KKytXZWJN ZWRpYURldmljZUluZm86OldlYk1lZGlhRGV2aWNlSW5mbyhXZWJNZWRpYURldmljZUluZm8mJiBv dGhlcikgPSBkZWZhdWx0Ow0KKyANCisgV2ViTWVkaWFEZXZpY2VJbmZvOjpXZWJNZWRpYURldmlj ZUluZm8oY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGxhYmVsLA0KK0BAIC0zNiw4 ICszNSw4IEBADQorIFdlYk1lZGlhRGV2aWNlSW5mbyYgV2ViTWVkaWFEZXZpY2VJbmZvOjpvcGVy YXRvcj0oDQorICAgICBjb25zdCBXZWJNZWRpYURldmljZUluZm8mIG90aGVyKSA9IGRlZmF1bHQ7 DQorIA0KKy1XZWJNZWRpYURldmljZUluZm8mIFdlYk1lZGlhRGV2aWNlSW5mbzo6b3BlcmF0b3I9 KA0KKy0gICAgV2ViTWVkaWFEZXZpY2VJbmZvJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsN CisrV2ViTWVkaWFEZXZpY2VJbmZvJiBXZWJNZWRpYURldmljZUluZm86Om9wZXJhdG9yPShXZWJN ZWRpYURldmljZUluZm8mJiBvdGhlcikgPQ0KKysgICAgZGVmYXVsdDsNCisgDQorIGJvb2wgb3Bl cmF0b3I9PShjb25zdCBXZWJNZWRpYURldmljZUluZm8mIGZpcnN0LA0KKyAgICAgICAgICAgICAg ICAgY29uc3QgV2ViTWVkaWFEZXZpY2VJbmZvJiBzZWNvbmQpIHsNCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvYmxpbmsvY29tbW9uL21lc3NhZ2luZy9jbG9uZWFibGVfbWVzc2FnZS5jYyBiL3Ro aXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9tZXNzYWdpbmcvY2xvbmVhYmxlX21lc3NhZ2UuY2MNCitp bmRleCAyOTg0ZmQxLi41YzNlZTdlIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL2Nv bW1vbi9tZXNzYWdpbmcvY2xvbmVhYmxlX21lc3NhZ2UuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9jb21tb24vbWVzc2FnaW5nL2Nsb25lYWJsZV9tZXNzYWdlLmNjDQorQEAgLTEyLDkgKzEy LDggQEANCisgbmFtZXNwYWNlIGJsaW5rIHsNCisgDQorIENsb25lYWJsZU1lc3NhZ2U6OkNsb25l YWJsZU1lc3NhZ2UoKSA9IGRlZmF1bHQ7DQorLUNsb25lYWJsZU1lc3NhZ2U6OkNsb25lYWJsZU1l c3NhZ2UoQ2xvbmVhYmxlTWVzc2FnZSYmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorLUNsb25lYWJs ZU1lc3NhZ2UmIENsb25lYWJsZU1lc3NhZ2U6Om9wZXJhdG9yPShDbG9uZWFibGVNZXNzYWdlJiYp IG5vZXhjZXB0ID0NCistICAgIGRlZmF1bHQ7DQorK0Nsb25lYWJsZU1lc3NhZ2U6OkNsb25lYWJs ZU1lc3NhZ2UoQ2xvbmVhYmxlTWVzc2FnZSYmKSA9IGRlZmF1bHQ7DQorK0Nsb25lYWJsZU1lc3Nh Z2UmIENsb25lYWJsZU1lc3NhZ2U6Om9wZXJhdG9yPShDbG9uZWFibGVNZXNzYWdlJiYpID0gZGVm YXVsdDsNCisgQ2xvbmVhYmxlTWVzc2FnZTo6fkNsb25lYWJsZU1lc3NhZ2UoKSA9IGRlZmF1bHQ7 DQorIA0KKyBDbG9uZWFibGVNZXNzYWdlIENsb25lYWJsZU1lc3NhZ2U6OlNoYWxsb3dDbG9uZSgp IGNvbnN0IHsNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL21lc3NhZ2lu Zy90cmFuc2ZlcmFibGVfbWVzc2FnZS5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9tZXNz YWdpbmcvdHJhbnNmZXJhYmxlX21lc3NhZ2UuY2MNCitpbmRleCAwN2FjOWJiLi40YTY5ZDBhIDEw MDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9tZXNzYWdpbmcvdHJhbnNmZXJh YmxlX21lc3NhZ2UuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vbWVzc2FnaW5n L3RyYW5zZmVyYWJsZV9tZXNzYWdlLmNjDQorQEAgLTksMTAgKzksOSBAQA0KKyBuYW1lc3BhY2Ug Ymxpbmsgew0KKyANCisgVHJhbnNmZXJhYmxlTWVzc2FnZTo6VHJhbnNmZXJhYmxlTWVzc2FnZSgp ID0gZGVmYXVsdDsNCistVHJhbnNmZXJhYmxlTWVzc2FnZTo6VHJhbnNmZXJhYmxlTWVzc2FnZShU cmFuc2ZlcmFibGVNZXNzYWdlJiYpIG5vZXhjZXB0ID0NCisrVHJhbnNmZXJhYmxlTWVzc2FnZTo6 VHJhbnNmZXJhYmxlTWVzc2FnZShUcmFuc2ZlcmFibGVNZXNzYWdlJiYpID0gZGVmYXVsdDsNCisr VHJhbnNmZXJhYmxlTWVzc2FnZSYgVHJhbnNmZXJhYmxlTWVzc2FnZTo6b3BlcmF0b3I9KFRyYW5z ZmVyYWJsZU1lc3NhZ2UmJikgPQ0KKyAgICAgZGVmYXVsdDsNCistVHJhbnNmZXJhYmxlTWVzc2Fn ZSYgVHJhbnNmZXJhYmxlTWVzc2FnZTo6b3BlcmF0b3I9KA0KKy0gICAgVHJhbnNmZXJhYmxlTWVz c2FnZSYmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorIFRyYW5zZmVyYWJsZU1lc3NhZ2U6On5UcmFu c2ZlcmFibGVNZXNzYWdlKCkgPSBkZWZhdWx0Ow0KKyANCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5r DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vaW5kZXhlZGRi L2luZGV4ZWRkYl9rZXlfcGF0aC5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9p bmRleGVkZGIvaW5kZXhlZGRiX2tleV9wYXRoLmgNCitpbmRleCA4ZWJlMTBjLi45ZjU0MjJjIDEw MDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vaW5kZXhlZGRiL2lu ZGV4ZWRkYl9rZXlfcGF0aC5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1v bi9pbmRleGVkZGIvaW5kZXhlZGRiX2tleV9wYXRoLmgNCitAQCAtMjIsMTAgKzIyLDEwIEBADQor ICAgZXhwbGljaXQgSW5kZXhlZERCS2V5UGF0aChjb25zdCBiYXNlOjpzdHJpbmcxNiYpOw0KKyAg IGV4cGxpY2l0IEluZGV4ZWREQktleVBhdGgoY29uc3Qgc3RkOjp2ZWN0b3I8YmFzZTo6c3RyaW5n MTY+Jik7DQorICAgSW5kZXhlZERCS2V5UGF0aChjb25zdCBJbmRleGVkREJLZXlQYXRoJiBvdGhl cik7DQorLSAgSW5kZXhlZERCS2V5UGF0aChJbmRleGVkREJLZXlQYXRoJiYgb3RoZXIpIG5vZXhj ZXB0Ow0KKysgIEluZGV4ZWREQktleVBhdGgoSW5kZXhlZERCS2V5UGF0aCYmIG90aGVyKTsNCisg ICB+SW5kZXhlZERCS2V5UGF0aCgpOw0KKyAgIEluZGV4ZWREQktleVBhdGgmIG9wZXJhdG9yPShj b25zdCBJbmRleGVkREJLZXlQYXRoJiBvdGhlcik7DQorLSAgSW5kZXhlZERCS2V5UGF0aCYgb3Bl cmF0b3I9KEluZGV4ZWREQktleVBhdGgmJiBvdGhlcikgbm9leGNlcHQ7DQorKyAgSW5kZXhlZERC S2V5UGF0aCYgb3BlcmF0b3I9KEluZGV4ZWREQktleVBhdGgmJiBvdGhlcik7DQorIA0KKyAgIGJv b2wgSXNOdWxsKCkgY29uc3QgeyByZXR1cm4gdHlwZV8gPT0gYmxpbms6Om1vam9tOjpJREJLZXlQ YXRoVHlwZTo6TnVsbDsgfQ0KKyAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBJbmRleGVkREJLZXlQ YXRoJiBvdGhlcikgY29uc3Q7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1Ymxp Yy9jb21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9tZXRhZGF0YS5oIGIvdGhpcmRfcGFydHkvYmxp bmsvcHVibGljL2NvbW1vbi9pbmRleGVkZGIvaW5kZXhlZGRiX21ldGFkYXRhLmgNCitpbmRleCAx NTY2M2Y2Li43YmIzN2M5IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9j b21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9tZXRhZGF0YS5oDQorKysrIGIvdGhpcmRfcGFydHkv YmxpbmsvcHVibGljL2NvbW1vbi9pbmRleGVkZGIvaW5kZXhlZGRiX21ldGFkYXRhLmgNCitAQCAt MjYsMTAgKzI2LDEwIEBADQorICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHVuaXF1ZSwN CisgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgbXVsdGlfZW50cnkpOw0KKyAgIEluZGV4 ZWREQkluZGV4TWV0YWRhdGEoY29uc3QgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYgb3RoZXIpOw0K Ky0gIEluZGV4ZWREQkluZGV4TWV0YWRhdGEoSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYmIG90aGVy KSBub2V4Y2VwdDsNCisrICBJbmRleGVkREJJbmRleE1ldGFkYXRhKEluZGV4ZWREQkluZGV4TWV0 YWRhdGEmJiBvdGhlcik7DQorICAgfkluZGV4ZWREQkluZGV4TWV0YWRhdGEoKTsNCisgICBJbmRl eGVkREJJbmRleE1ldGFkYXRhJiBvcGVyYXRvcj0oY29uc3QgSW5kZXhlZERCSW5kZXhNZXRhZGF0 YSYgb3RoZXIpOw0KKy0gIEluZGV4ZWREQkluZGV4TWV0YWRhdGEmIG9wZXJhdG9yPShJbmRleGVk REJJbmRleE1ldGFkYXRhJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysgIEluZGV4ZWREQkluZGV4TWV0 YWRhdGEmIG9wZXJhdG9yPShJbmRleGVkREJJbmRleE1ldGFkYXRhJiYgb3RoZXIpOw0KKyAgIGJv b2wgb3BlcmF0b3I9PShjb25zdCBJbmRleGVkREJJbmRleE1ldGFkYXRhJiBvdGhlcikgY29uc3Q7 DQorIA0KKyAgIGJhc2U6OnN0cmluZzE2IG5hbWU7DQorQEAgLTUwLDEyICs1MCwxMSBAQA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhdXRvX2luY3JlbWVudCwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QgbWF4X2luZGV4X2lkKTsNCisgICBJ bmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhKGNvbnN0IEluZGV4ZWREQk9iamVjdFN0b3JlTWV0 YWRhdGEmIG90aGVyKTsNCistICBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhKEluZGV4ZWRE Qk9iamVjdFN0b3JlTWV0YWRhdGEmJiBvdGhlcikgbm9leGNlcHQ7DQorKyAgSW5kZXhlZERCT2Jq ZWN0U3RvcmVNZXRhZGF0YShJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiYgb3RoZXIpOw0K KyAgIH5JbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhKCk7DQorICAgSW5kZXhlZERCT2JqZWN0 U3RvcmVNZXRhZGF0YSYgb3BlcmF0b3I9KA0KKyAgICAgICBjb25zdCBJbmRleGVkREJPYmplY3RT dG9yZU1ldGFkYXRhJiBvdGhlcik7DQorLSAgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYg b3BlcmF0b3I9KA0KKy0gICAgICBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiYgb3RoZXIp IG5vZXhjZXB0Ow0KKysgIEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGEmIG9wZXJhdG9yPShJ bmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiYgb3RoZXIpOw0KKyAgIGJvb2wgb3BlcmF0b3I9 PShjb25zdCBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiBvdGhlcikgY29uc3Q7DQorIA0K KyAgIGJhc2U6OnN0cmluZzE2IG5hbWU7DQorQEAgLTc3LDExICs3NiwxMCBAQA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCB2ZXJzaW9uLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50NjRfdCBtYXhfb2JqZWN0X3N0b3JlX2lkKTsNCisgICBJbmRleGVkREJE YXRhYmFzZU1ldGFkYXRhKGNvbnN0IEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIG90aGVyKTsN CistICBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhKEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEm JiBvdGhlcikgbm9leGNlcHQ7DQorKyAgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YShJbmRleGVk REJEYXRhYmFzZU1ldGFkYXRhJiYgb3RoZXIpOw0KKyAgIH5JbmRleGVkREJEYXRhYmFzZU1ldGFk YXRhKCk7DQorICAgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YSYgb3BlcmF0b3I9KGNvbnN0IElu ZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIG90aGVyKTsNCistICBJbmRleGVkREJEYXRhYmFzZU1l dGFkYXRhJiBvcGVyYXRvcj0oDQorLSAgICAgIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmJiBv dGhlcikgbm9leGNlcHQ7DQorKyAgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YSYgb3BlcmF0b3I9 KEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmJiBvdGhlcik7DQorICAgYm9vbCBvcGVyYXRvcj09 KGNvbnN0IEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIG90aGVyKSBjb25zdDsNCisgDQorICAg YmFzZTo6c3RyaW5nMTYgbmFtZTsNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcHVi bGljL2NvbW1vbi9tZWRpYXN0cmVhbS9tZWRpYV9kZXZpY2VzLmggYi90aGlyZF9wYXJ0eS9ibGlu ay9wdWJsaWMvY29tbW9uL21lZGlhc3RyZWFtL21lZGlhX2RldmljZXMuaA0KK2luZGV4IDBkNjNl NTc1Li5kODdhZmZlIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21t b24vbWVkaWFzdHJlYW0vbWVkaWFfZGV2aWNlcy5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsv cHVibGljL2NvbW1vbi9tZWRpYXN0cmVhbS9tZWRpYV9kZXZpY2VzLmgNCitAQCAtMjcsNyArMjcs NyBAQA0KKyBzdHJ1Y3QgQkxJTktfQ09NTU9OX0VYUE9SVCBXZWJNZWRpYURldmljZUluZm8gew0K KyAgIFdlYk1lZGlhRGV2aWNlSW5mbygpOw0KKyAgIFdlYk1lZGlhRGV2aWNlSW5mbyhjb25zdCBX ZWJNZWRpYURldmljZUluZm8mIG90aGVyKTsNCistICBXZWJNZWRpYURldmljZUluZm8oV2ViTWVk aWFEZXZpY2VJbmZvJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysgIFdlYk1lZGlhRGV2aWNlSW5mbyhX ZWJNZWRpYURldmljZUluZm8mJiBvdGhlcik7DQorICAgV2ViTWVkaWFEZXZpY2VJbmZvKA0KKyAg ICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLA0KKyAgICAgICBjb25zdCBzdGQ6OnN0 cmluZyYgbGFiZWwsDQorQEAgLTM3LDcgKzM3LDcgQEANCisgICAgICAgY29uc3QgbWVkaWE6OlZp ZGVvQ2FwdHVyZURldmljZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpOw0KKyAgIH5XZWJNZWRpYURl dmljZUluZm8oKTsNCisgICBXZWJNZWRpYURldmljZUluZm8mIG9wZXJhdG9yPShjb25zdCBXZWJN ZWRpYURldmljZUluZm8mIG90aGVyKTsNCistICBXZWJNZWRpYURldmljZUluZm8mIG9wZXJhdG9y PShXZWJNZWRpYURldmljZUluZm8mJiBvdGhlcikgbm9leGNlcHQ7DQorKyAgV2ViTWVkaWFEZXZp Y2VJbmZvJiBvcGVyYXRvcj0oV2ViTWVkaWFEZXZpY2VJbmZvJiYgb3RoZXIpOw0KKyANCisgICBz dGQ6OnN0cmluZyBkZXZpY2VfaWQ7DQorICAgc3RkOjpzdHJpbmcgbGFiZWw7DQorZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vbWVzc2FnaW5nL2Nsb25lYWJsZV9t ZXNzYWdlLmggYi90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL21lc3NhZ2luZy9jbG9u ZWFibGVfbWVzc2FnZS5oDQoraW5kZXggZGU5OTUyZC4uOGRiZDkxMCAxMDA2NDQNCistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL21lc3NhZ2luZy9jbG9uZWFibGVfbWVzc2Fn ZS5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9tZXNzYWdpbmcvY2xv bmVhYmxlX21lc3NhZ2UuaA0KK0BAIC0yMSw4ICsyMSw4IEBADQorIC8vIFRoaXMgdHlwZSBjYW4g YmUgc2VyaWFsaXplZCBhcyBhIGJsaW5rOjptb2pvbTo6Q2xvbmVhYmxlTWVzc2FnZSBzdHJ1Y3Qu DQorIHN0cnVjdCBCTElOS19DT01NT05fRVhQT1JUIENsb25lYWJsZU1lc3NhZ2Ugew0KKyAgIENs b25lYWJsZU1lc3NhZ2UoKTsNCistICBDbG9uZWFibGVNZXNzYWdlKENsb25lYWJsZU1lc3NhZ2Um Jikgbm9leGNlcHQ7DQorLSAgQ2xvbmVhYmxlTWVzc2FnZSYgb3BlcmF0b3I9KENsb25lYWJsZU1l c3NhZ2UmJikgbm9leGNlcHQ7DQorKyAgQ2xvbmVhYmxlTWVzc2FnZShDbG9uZWFibGVNZXNzYWdl JiYpOw0KKysgIENsb25lYWJsZU1lc3NhZ2UmIG9wZXJhdG9yPShDbG9uZWFibGVNZXNzYWdlJiYp Ow0KKyAgIH5DbG9uZWFibGVNZXNzYWdlKCk7DQorIA0KKyAgIC8vIFJldHVybnMgYSBzaGFsbG93 IGNsb25lIG9mIHRoaXMgbWVzc2FnZS4gfGVuY29kZWRfbWVzc2FnZXwgaW4gdGhlIGNsb25lDQor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vbWVzc2FnaW5nL3Ry YW5zZmVyYWJsZV9tZXNzYWdlLmggYi90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL21l c3NhZ2luZy90cmFuc2ZlcmFibGVfbWVzc2FnZS5oDQoraW5kZXggNWVlZjYzYy4uMmQ4NzM2MyAx MDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL21lc3NhZ2luZy90 cmFuc2ZlcmFibGVfbWVzc2FnZS5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2Nv bW1vbi9tZXNzYWdpbmcvdHJhbnNmZXJhYmxlX21lc3NhZ2UuaA0KK0BAIC0yMiw4ICsyMiw4IEBA DQorIC8vIHR5cGUgY2FuIGJlIHNlcmlhbGl6ZWQgYXMgYSBibGluazo6bW9qb206OlRyYW5zZmVy YWJsZU1lc3NhZ2Ugc3RydWN0Lg0KKyBzdHJ1Y3QgQkxJTktfQ09NTU9OX0VYUE9SVCBUcmFuc2Zl cmFibGVNZXNzYWdlIDogcHVibGljIENsb25lYWJsZU1lc3NhZ2Ugew0KKyAgIFRyYW5zZmVyYWJs ZU1lc3NhZ2UoKTsNCistICBUcmFuc2ZlcmFibGVNZXNzYWdlKFRyYW5zZmVyYWJsZU1lc3NhZ2Um Jikgbm9leGNlcHQ7DQorLSAgVHJhbnNmZXJhYmxlTWVzc2FnZSYgb3BlcmF0b3I9KFRyYW5zZmVy YWJsZU1lc3NhZ2UmJikgbm9leGNlcHQ7DQorKyAgVHJhbnNmZXJhYmxlTWVzc2FnZShUcmFuc2Zl cmFibGVNZXNzYWdlJiYpOw0KKysgIFRyYW5zZmVyYWJsZU1lc3NhZ2UmIG9wZXJhdG9yPShUcmFu c2ZlcmFibGVNZXNzYWdlJiYpOw0KKyAgIH5UcmFuc2ZlcmFibGVNZXNzYWdlKCk7DQorIA0KKyAg IC8vIEFueSBwb3J0cyBiZWluZyB0cmFuc2ZlcnJlZCBhcyBwYXJ0IG9mIHRoaXMgbWVzc2FnZS4N CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL3BsYXRmb3JtL3NjaGVkdWxl ci93ZWJfc2NvcGVkX3ZpcnR1YWxfdGltZV9wYXVzZXIuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1 YmxpYy9wbGF0Zm9ybS9zY2hlZHVsZXIvd2ViX3Njb3BlZF92aXJ0dWFsX3RpbWVfcGF1c2VyLmgN CitpbmRleCA3NWYzYWUxNi4uODFlZGQ2OSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGlu ay9wdWJsaWMvcGxhdGZvcm0vc2NoZWR1bGVyL3dlYl9zY29wZWRfdmlydHVhbF90aW1lX3BhdXNl ci5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL3BsYXRmb3JtL3NjaGVkdWxlci93 ZWJfc2NvcGVkX3ZpcnR1YWxfdGltZV9wYXVzZXIuaA0KK0BAIC00Miw5ICs0Miw4IEBADQorICAg V2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXIoKTsNCisgICB+V2ViU2NvcGVkVmlydHVhbFRpbWVQ YXVzZXIoKTsNCisgDQorLSAgV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXIoV2ViU2NvcGVkVmly dHVhbFRpbWVQYXVzZXImJiBvdGhlcikgbm9leGNlcHQ7DQorLSAgV2ViU2NvcGVkVmlydHVhbFRp bWVQYXVzZXImIG9wZXJhdG9yPSgNCistICAgICAgV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXIm JiBvdGhlcikgbm9leGNlcHQ7DQorKyAgV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXIoV2ViU2Nv cGVkVmlydHVhbFRpbWVQYXVzZXImJiBvdGhlcik7DQorKyAgV2ViU2NvcGVkVmlydHVhbFRpbWVQ YXVzZXImIG9wZXJhdG9yPShXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlciYmIG90aGVyKTsNCisg DQorICAgV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXIoY29uc3QgV2ViU2NvcGVkVmlydHVhbFRp bWVQYXVzZXImKSA9IGRlbGV0ZTsNCisgICBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlciYgb3Bl cmF0b3I9KGNvbnN0IFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyJikgPQ0KK2RpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvcGxhdGZvcm0vd2ViX3N0cmluZy5oIGIvdGhpcmRf cGFydHkvYmxpbmsvcHVibGljL3BsYXRmb3JtL3dlYl9zdHJpbmcuaA0KK2luZGV4IGU0ZmRhNGYu LmZmZDFkYTAgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL3BsYXRmb3Jt L3dlYl9zdHJpbmcuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS93 ZWJfc3RyaW5nLmgNCitAQCAtMTAyLDEwICsxMDIsMTAgQEANCisgICBCTElOS19QTEFURk9STV9F WFBPUlQgV2ViU3RyaW5nKGNvbnN0IFdlYlVDaGFyKiBkYXRhLCBzaXplX3QgbGVuKTsNCisgDQor ICAgQkxJTktfUExBVEZPUk1fRVhQT1JUIFdlYlN0cmluZyhjb25zdCBXZWJTdHJpbmcmKTsNCist ICBCTElOS19QTEFURk9STV9FWFBPUlQgV2ViU3RyaW5nKFdlYlN0cmluZyYmKSBub2V4Y2VwdDsN CisrICBCTElOS19QTEFURk9STV9FWFBPUlQgV2ViU3RyaW5nKFdlYlN0cmluZyYmKTsNCisgDQor ICAgQkxJTktfUExBVEZPUk1fRVhQT1JUIFdlYlN0cmluZyYgb3BlcmF0b3I9KGNvbnN0IFdlYlN0 cmluZyYpOw0KKy0gIEJMSU5LX1BMQVRGT1JNX0VYUE9SVCBXZWJTdHJpbmcmIG9wZXJhdG9yPShX ZWJTdHJpbmcmJikgbm9leGNlcHQ7DQorKyAgQkxJTktfUExBVEZPUk1fRVhQT1JUIFdlYlN0cmlu ZyYgb3BlcmF0b3I9KFdlYlN0cmluZyYmKTsNCisgDQorICAgQkxJTktfUExBVEZPUk1fRVhQT1JU IHZvaWQgUmVzZXQoKTsNCisgDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1Ymxp Yy93ZWIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbC5o IGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL3dlYi9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlh X3N0cmVhbV9jb25zdHJhaW50c191dGlsLmgNCitpbmRleCA5OWY0N2Y1Li44NDUxYjg2IDEwMDY0 NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRpYXN0cmVh bS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbC5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxp bmsvcHVibGljL3dlYi9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50 c191dGlsLmgNCitAQCAtNzMsOCArNzMsOCBAQA0KKyANCisgICBWaWRlb0NhcHR1cmVTZXR0aW5n cyhjb25zdCBWaWRlb0NhcHR1cmVTZXR0aW5ncyYgb3RoZXIpOw0KKyAgIFZpZGVvQ2FwdHVyZVNl dHRpbmdzJiBvcGVyYXRvcj0oY29uc3QgVmlkZW9DYXB0dXJlU2V0dGluZ3MmIG90aGVyKTsNCist ICBWaWRlb0NhcHR1cmVTZXR0aW5ncyhWaWRlb0NhcHR1cmVTZXR0aW5ncyYmIG90aGVyKSBub2V4 Y2VwdDsNCistICBWaWRlb0NhcHR1cmVTZXR0aW5ncyYgb3BlcmF0b3I9KFZpZGVvQ2FwdHVyZVNl dHRpbmdzJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysgIFZpZGVvQ2FwdHVyZVNldHRpbmdzKFZpZGVv Q2FwdHVyZVNldHRpbmdzJiYgb3RoZXIpOw0KKysgIFZpZGVvQ2FwdHVyZVNldHRpbmdzJiBvcGVy YXRvcj0oVmlkZW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcik7DQorICAgflZpZGVvQ2FwdHVyZVNl dHRpbmdzKCk7DQorIA0KKyAgIGJvb2wgSGFzVmFsdWUoKSBjb25zdCB7IHJldHVybiAhZmFpbGVk X2NvbnN0cmFpbnRfbmFtZV87IH0NCitAQCAtMTkzLDggKzE5Myw4IEBADQorICAgICAgIGNvbnN0 IEF1ZGlvUHJvY2Vzc2luZ1Byb3BlcnRpZXMmIGF1ZGlvX3Byb2Nlc3NpbmdfcHJvcGVydGllcyk7 DQorICAgQXVkaW9DYXB0dXJlU2V0dGluZ3MoY29uc3QgQXVkaW9DYXB0dXJlU2V0dGluZ3MmIG90 aGVyKTsNCisgICBBdWRpb0NhcHR1cmVTZXR0aW5ncyYgb3BlcmF0b3I9KGNvbnN0IEF1ZGlvQ2Fw dHVyZVNldHRpbmdzJiBvdGhlcik7DQorLSAgQXVkaW9DYXB0dXJlU2V0dGluZ3MoQXVkaW9DYXB0 dXJlU2V0dGluZ3MmJiBvdGhlcikgbm9leGNlcHQ7DQorLSAgQXVkaW9DYXB0dXJlU2V0dGluZ3Mm IG9wZXJhdG9yPShBdWRpb0NhcHR1cmVTZXR0aW5ncyYmIG90aGVyKSBub2V4Y2VwdDsNCisrICBB dWRpb0NhcHR1cmVTZXR0aW5ncyhBdWRpb0NhcHR1cmVTZXR0aW5ncyYmIG90aGVyKTsNCisrICBB dWRpb0NhcHR1cmVTZXR0aW5ncyYgb3BlcmF0b3I9KEF1ZGlvQ2FwdHVyZVNldHRpbmdzJiYgb3Ro ZXIpOw0KKyANCisgICBib29sIEhhc1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gIWZhaWxlZF9jb25z dHJhaW50X25hbWVfOyB9DQorIA0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9wdWJs aWMvd2ViL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX2NvbnN0cmFpbnRzX3V0aWxf c2V0cy5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL3dlYi9tb2R1bGVzL21lZGlhc3RyZWFt L21lZGlhX3N0cmVhbV9jb25zdHJhaW50c191dGlsX3NldHMuaA0KK2luZGV4IDE5OWJkZWIuLmM4 OWU2ZTkgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL3dlYi9tb2R1bGVz L21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50c191dGlsX3NldHMuaA0KKysrKyBi L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9z dHJlYW1fY29uc3RyYWludHNfdXRpbF9zZXRzLmgNCitAQCAtMTU5LDggKzE1OSw4IEBADQorIA0K KyAgIERpc2NyZXRlU2V0KGNvbnN0IERpc2NyZXRlU2V0JiBvdGhlcikgPSBkZWZhdWx0Ow0KKyAg IERpc2NyZXRlU2V0JiBvcGVyYXRvcj0oY29uc3QgRGlzY3JldGVTZXQmIG90aGVyKSA9IGRlZmF1 bHQ7DQorLSAgRGlzY3JldGVTZXQoRGlzY3JldGVTZXQmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZh dWx0Ow0KKy0gIERpc2NyZXRlU2V0JiBvcGVyYXRvcj0oRGlzY3JldGVTZXQmJiBvdGhlcikgbm9l eGNlcHQgPSBkZWZhdWx0Ow0KKysgIERpc2NyZXRlU2V0KERpc2NyZXRlU2V0JiYgb3RoZXIpID0g ZGVmYXVsdDsNCisrICBEaXNjcmV0ZVNldCYgb3BlcmF0b3I9KERpc2NyZXRlU2V0JiYgb3RoZXIp ID0gZGVmYXVsdDsNCisgICB+RGlzY3JldGVTZXQoKSA9IGRlZmF1bHQ7DQorIA0KKyAgIGJvb2wg Q29udGFpbnMoY29uc3QgVCYgdmFsdWUpIGNvbnN0IHsNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYmxpbmsvcHVibGljL3dlYi9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV92aWRl b19zb3VyY2UuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRpYXN0 cmVhbS9tZWRpYV9zdHJlYW1fdmlkZW9fc291cmNlLmgNCitpbmRleCA1ZTUwZDFiLi5lZDU5Njdm IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRp YXN0cmVhbS9tZWRpYV9zdHJlYW1fdmlkZW9fc291cmNlLmgNCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9wdWJsaWMvd2ViL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX3ZpZGVvX3Nv dXJjZS5oDQorQEAgLTI4NSw4ICsyODUsOCBAQA0KKyAgICAgICAgIGNvbnN0IFZpZGVvVHJhY2tG b3JtYXRDYWxsYmFjayYgZm9ybWF0X2NhbGxiYWNrLA0KKyAgICAgICAgIHN0ZDo6dW5pcXVlX3B0 cjxWaWRlb1RyYWNrQWRhcHRlclNldHRpbmdzPiBhZGFwdGVyX3NldHRpbmdzLA0KKyAgICAgICAg IGNvbnN0IENvbnN0cmFpbnRzQ2FsbGJhY2smIGNhbGxiYWNrKTsNCistICAgIFBlbmRpbmdUcmFj a0luZm8oUGVuZGluZ1RyYWNrSW5mbyYmIG90aGVyKSBub2V4Y2VwdDsNCistICAgIFBlbmRpbmdU cmFja0luZm8mIG9wZXJhdG9yPShQZW5kaW5nVHJhY2tJbmZvJiYgb3RoZXIpIG5vZXhjZXB0Ow0K KysgICAgUGVuZGluZ1RyYWNrSW5mbyhQZW5kaW5nVHJhY2tJbmZvJiYgb3RoZXIpOw0KKysgICAg UGVuZGluZ1RyYWNrSW5mbyYgb3BlcmF0b3I9KFBlbmRpbmdUcmFja0luZm8mJiBvdGhlcik7DQor ICAgICB+UGVuZGluZ1RyYWNrSW5mbygpOw0KKyANCisgICAgIE1lZGlhU3RyZWFtVmlkZW9UcmFj ayogdHJhY2s7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv YW5pbWF0aW9uL2ludGVycG9sYXRpb25fdmFsdWUuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvYW5pbWF0aW9uL2ludGVycG9sYXRpb25fdmFsdWUuaA0KK2luZGV4IDc1YzVkMzUu LjE3Y2NmMDIgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9h bmltYXRpb24vaW50ZXJwb2xhdGlvbl92YWx1ZS5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9hbmltYXRpb24vaW50ZXJwb2xhdGlvbl92YWx1ZS5oDQorQEAgLTI3LDEx ICsyNywxMSBAQA0KKyANCisgICBJbnRlcnBvbGF0aW9uVmFsdWUoc3RkOjpudWxscHRyX3QpIHt9 DQorIA0KKy0gIEludGVycG9sYXRpb25WYWx1ZShJbnRlcnBvbGF0aW9uVmFsdWUmJiBvdGhlcikg bm9leGNlcHQNCisrICBJbnRlcnBvbGF0aW9uVmFsdWUoSW50ZXJwb2xhdGlvblZhbHVlJiYgb3Ro ZXIpDQorICAgICAgIDogaW50ZXJwb2xhYmxlX3ZhbHVlKHN0ZDo6bW92ZShvdGhlci5pbnRlcnBv bGFibGVfdmFsdWUpKSwNCisgICAgICAgICBub25faW50ZXJwb2xhYmxlX3ZhbHVlKHN0ZDo6bW92 ZShvdGhlci5ub25faW50ZXJwb2xhYmxlX3ZhbHVlKSkge30NCisgDQorLSAgdm9pZCBvcGVyYXRv cj0oSW50ZXJwb2xhdGlvblZhbHVlJiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrICB2b2lkIG9wZXJh dG9yPShJbnRlcnBvbGF0aW9uVmFsdWUmJiBvdGhlcikgew0KKyAgICAgaW50ZXJwb2xhYmxlX3Zh bHVlID0gc3RkOjptb3ZlKG90aGVyLmludGVycG9sYWJsZV92YWx1ZSk7DQorICAgICBub25faW50 ZXJwb2xhYmxlX3ZhbHVlID0gc3RkOjptb3ZlKG90aGVyLm5vbl9pbnRlcnBvbGFibGVfdmFsdWUp Ow0KKyAgIH0NCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9h bmltYXRpb24vcGFpcndpc2VfaW50ZXJwb2xhdGlvbl92YWx1ZS5oIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9hbmltYXRpb24vcGFpcndpc2VfaW50ZXJwb2xhdGlvbl92YWx1ZS5o DQoraW5kZXggMzllNmM1Ny4uODdiYjQzMSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL2FuaW1hdGlvbi9wYWlyd2lzZV9pbnRlcnBvbGF0aW9uX3ZhbHVlLmgN CisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2FuaW1hdGlvbi9wYWlyd2lz ZV9pbnRlcnBvbGF0aW9uX3ZhbHVlLmgNCitAQCAtMjgsNyArMjgsNyBAQA0KKyANCisgICBQYWly d2lzZUludGVycG9sYXRpb25WYWx1ZShzdGQ6Om51bGxwdHJfdCkge30NCisgDQorLSAgUGFpcndp c2VJbnRlcnBvbGF0aW9uVmFsdWUoUGFpcndpc2VJbnRlcnBvbGF0aW9uVmFsdWUmJiBvdGhlcikg bm9leGNlcHQNCisrICBQYWlyd2lzZUludGVycG9sYXRpb25WYWx1ZShQYWlyd2lzZUludGVycG9s YXRpb25WYWx1ZSYmIG90aGVyKQ0KKyAgICAgICA6IHN0YXJ0X2ludGVycG9sYWJsZV92YWx1ZShz dGQ6Om1vdmUob3RoZXIuc3RhcnRfaW50ZXJwb2xhYmxlX3ZhbHVlKSksDQorICAgICAgICAgZW5k X2ludGVycG9sYWJsZV92YWx1ZShzdGQ6Om1vdmUob3RoZXIuZW5kX2ludGVycG9sYWJsZV92YWx1 ZSkpLA0KKyAgICAgICAgIG5vbl9pbnRlcnBvbGFibGVfdmFsdWUoc3RkOjptb3ZlKG90aGVyLm5v bl9pbnRlcnBvbGFibGVfdmFsdWUpKSB7fQ0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL2Nzcy9jc3Nfc2VsZWN0b3JfbGlzdC5oIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9jc3MvY3NzX3NlbGVjdG9yX2xpc3QuaA0KK2luZGV4IDRkMzhiMDku LjUxZjM1NGIgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9j c3MvY3NzX3NlbGVjdG9yX2xpc3QuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvY3NzL2Nzc19zZWxlY3Rvcl9saXN0LmgNCitAQCAtNjcsOCArNjcsNyBAQA0KKyAgcHVi bGljOg0KKyAgIENTU1NlbGVjdG9yTGlzdCgpIDogc2VsZWN0b3JfYXJyYXlfKG51bGxwdHIpIHt9 DQorIA0KKy0gIENTU1NlbGVjdG9yTGlzdChDU1NTZWxlY3Rvckxpc3QmJiBvKSBub2V4Y2VwdA0K Ky0gICAgICA6IHNlbGVjdG9yX2FycmF5XyhvLnNlbGVjdG9yX2FycmF5Xykgew0KKysgIENTU1Nl bGVjdG9yTGlzdChDU1NTZWxlY3Rvckxpc3QmJiBvKSA6IHNlbGVjdG9yX2FycmF5XyhvLnNlbGVj dG9yX2FycmF5Xykgew0KKyAgICAgby5zZWxlY3Rvcl9hcnJheV8gPSBudWxscHRyOw0KKyAgIH0N CisgDQorQEAgLTgyLDcgKzgxLDcgQEANCisgICBib29sIEhhc1BzZXVkb1doZXJlKCkgY29uc3Q7 DQorICAgYm9vbCBSZXF1aXJlc0V4cGFuc2lvbigpIGNvbnN0Ow0KKyANCistICBDU1NTZWxlY3Rv ckxpc3QmIG9wZXJhdG9yPShDU1NTZWxlY3Rvckxpc3QmJiBvKSBub2V4Y2VwdCB7DQorKyAgQ1NT U2VsZWN0b3JMaXN0JiBvcGVyYXRvcj0oQ1NTU2VsZWN0b3JMaXN0JiYgbykgew0KKyAgICAgRENI RUNLKHRoaXMgIT0gJm8pOw0KKyAgICAgRGVsZXRlU2VsZWN0b3JzSWZOZWVkZWQoKTsNCisgICAg IHNlbGVjdG9yX2FycmF5XyA9IG8uc2VsZWN0b3JfYXJyYXlfOw0KK2RpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Rpc3BsYXlfbG9jay9kaXNwbGF5X2xvY2tfY29u dGV4dC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZGlzcGxheV9sb2NrL2Rp c3BsYXlfbG9ja19jb250ZXh0LmNjDQoraW5kZXggMGU2YjZjYi4uNzlmMjgxYSAxMDA2NDQNCist LS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Rpc3BsYXlfbG9jay9kaXNwbGF5 X2xvY2tfY29udGV4dC5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv ZGlzcGxheV9sb2NrL2Rpc3BsYXlfbG9ja19jb250ZXh0LmNjDQorQEAgLTEwMzMsNyArMTAzMyw3 IEBADQorICAgICA6IGNvbnRleHRfKGNvbnRleHQpIHt9DQorIA0KKyBEaXNwbGF5TG9ja0NvbnRl eHQ6OlNjb3BlZEZvcmNlZFVwZGF0ZTo6U2NvcGVkRm9yY2VkVXBkYXRlKA0KKy0gICAgU2NvcGVk Rm9yY2VkVXBkYXRlJiYgb3RoZXIpIG5vZXhjZXB0DQorKyAgICBTY29wZWRGb3JjZWRVcGRhdGUm JiBvdGhlcikNCisgICAgIDogY29udGV4dF8ob3RoZXIuY29udGV4dF8pIHsNCisgICBvdGhlci5j b250ZXh0XyA9IG51bGxwdHI7DQorIH0NCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9kaXNwbGF5X2xvY2svZGlzcGxheV9sb2NrX2NvbnRleHQuaCBiL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZGlzcGxheV9sb2NrL2Rpc3BsYXlfbG9ja19jb250 ZXh0LmgNCitpbmRleCAxYTM4YjJhZi4uZjg5MGI0MzIgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvY29yZS9kaXNwbGF5X2xvY2svZGlzcGxheV9sb2NrX2NvbnRleHQu aA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZGlzcGxheV9sb2NrL2Rp c3BsYXlfbG9ja19jb250ZXh0LmgNCitAQCAtNzYsNyArNzYsNyBAQA0KKyAgICAgRElTQUxMT1df TkVXKCk7DQorIA0KKyAgICBwdWJsaWM6DQorLSAgICBTY29wZWRGb3JjZWRVcGRhdGUoU2NvcGVk Rm9yY2VkVXBkYXRlJiYpIG5vZXhjZXB0Ow0KKysgICAgU2NvcGVkRm9yY2VkVXBkYXRlKFNjb3Bl ZEZvcmNlZFVwZGF0ZSYmKTsNCisgICAgIH5TY29wZWRGb3JjZWRVcGRhdGUoKTsNCisgDQorICAg IHByaXZhdGU6DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv ZWRpdGluZy9sYXlvdXRfc2VsZWN0aW9uLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9lZGl0aW5nL2xheW91dF9zZWxlY3Rpb24uY2MNCitpbmRleCAwMDA0MGQyLi43M2NmZTBm IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZWRpdGluZy9s YXlvdXRfc2VsZWN0aW9uLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9lZGl0aW5nL2xheW91dF9zZWxlY3Rpb24uY2MNCitAQCAtMTc4LDcgKzE3OCw3IEBADQorICBw dWJsaWM6DQorICAgT2xkU2VsZWN0ZWROb2RlcygpDQorICAgICAgIDogcGFpbnRfcmFuZ2UoTWFr ZUdhcmJhZ2VDb2xsZWN0ZWQ8U2VsZWN0aW9uUGFpbnRSYW5nZT4oKSkge30NCistICBPbGRTZWxl Y3RlZE5vZGVzKE9sZFNlbGVjdGVkTm9kZXMmJiBvdGhlcikgbm9leGNlcHQgew0KKysgIE9sZFNl bGVjdGVkTm9kZXMoT2xkU2VsZWN0ZWROb2RlcyYmIG90aGVyKSB7DQorICAgICBwYWludF9yYW5n ZSA9IG90aGVyLnBhaW50X3JhbmdlOw0KKyAgICAgc2VsZWN0ZWRfbWFwID0gc3RkOjptb3ZlKG90 aGVyLnNlbGVjdGVkX21hcCk7DQorICAgfQ0KK0BAIC0yMDUsOCArMjA1LDcgQEANCisgICAgICAg SGVhcEhhc2hTZXQ8TWVtYmVyPGNvbnN0IE5vZGU+PiYmIHBhc3NlZF9zZWxlY3RlZF9vYmplY3Rz KQ0KKyAgICAgICA6IHBhaW50X3JhbmdlKHBhc3NlZF9wYWludF9yYW5nZSksDQorICAgICAgICAg c2VsZWN0ZWRfb2JqZWN0cyhzdGQ6Om1vdmUocGFzc2VkX3NlbGVjdGVkX29iamVjdHMpKSB7fQ0K Ky0gIE5ld1BhaW50UmFuZ2VBbmRTZWxlY3RlZE5vZGVzKA0KKy0gICAgICBOZXdQYWludFJhbmdl QW5kU2VsZWN0ZWROb2RlcyYmIG90aGVyKSBub2V4Y2VwdCB7DQorKyAgTmV3UGFpbnRSYW5nZUFu ZFNlbGVjdGVkTm9kZXMoTmV3UGFpbnRSYW5nZUFuZFNlbGVjdGVkTm9kZXMmJiBvdGhlcikgew0K KyAgICAgcGFpbnRfcmFuZ2UgPSBvdGhlci5wYWludF9yYW5nZTsNCisgICAgIHNlbGVjdGVkX29i amVjdHMgPSBzdGQ6Om1vdmUob3RoZXIuc2VsZWN0ZWRfb2JqZWN0cyk7DQorICAgfQ0KK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2ZyYW1lL2xvY2FsX2ZyYW1l X3VrbV9hZ2dyZWdhdG9yLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFt ZS9sb2NhbF9mcmFtZV91a21fYWdncmVnYXRvci5jYw0KK2luZGV4IGYwYWMzYzQuLjgxZjQ3YWIg MTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFtZS9sb2Nh bF9mcmFtZV91a21fYWdncmVnYXRvci5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvZnJhbWUvbG9jYWxfZnJhbWVfdWttX2FnZ3JlZ2F0b3IuY2MNCitAQCAtMjQsNyAr MjQsNyBAQA0KKyAgICAgICBzdGFydF90aW1lXyhjbG9ja18tPk5vd1RpY2tzKCkpIHt9DQorIA0K KyBMb2NhbEZyYW1lVWttQWdncmVnYXRvcjo6U2NvcGVkVWttSGllcmFyY2hpY2FsVGltZXI6OlNj b3BlZFVrbUhpZXJhcmNoaWNhbFRpbWVyKA0KKy0gICAgU2NvcGVkVWttSGllcmFyY2hpY2FsVGlt ZXImJiBvdGhlcikgbm9leGNlcHQNCisrICAgIFNjb3BlZFVrbUhpZXJhcmNoaWNhbFRpbWVyJiYg b3RoZXIpDQorICAgICA6IGFnZ3JlZ2F0b3JfKG90aGVyLmFnZ3JlZ2F0b3JfKSwNCisgICAgICAg bWV0cmljX2luZGV4XyhvdGhlci5tZXRyaWNfaW5kZXhfKSwNCisgICAgICAgY2xvY2tfKG90aGVy LmNsb2NrXyksDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv ZnJhbWUvbG9jYWxfZnJhbWVfdWttX2FnZ3JlZ2F0b3IuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2NvcmUvZnJhbWUvbG9jYWxfZnJhbWVfdWttX2FnZ3JlZ2F0b3IuaA0KK2luZGV4IDQ0 YzNmODcuLmRjMDYwOTEgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9mcmFtZS9sb2NhbF9mcmFtZV91a21fYWdncmVnYXRvci5oDQorKysrIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFtZS9sb2NhbF9mcmFtZV91a21fYWdncmVnYXRvci5o DQorQEAgLTE5NSw3ICsxOTUsNyBAQA0KKyAgICAgU1RBQ0tfQUxMT0NBVEVEKCk7DQorIA0KKyAg ICBwdWJsaWM6DQorLSAgICBTY29wZWRVa21IaWVyYXJjaGljYWxUaW1lcihTY29wZWRVa21IaWVy YXJjaGljYWxUaW1lciYmKSBub2V4Y2VwdDsNCisrICAgIFNjb3BlZFVrbUhpZXJhcmNoaWNhbFRp bWVyKFNjb3BlZFVrbUhpZXJhcmNoaWNhbFRpbWVyJiYpOw0KKyAgICAgflNjb3BlZFVrbUhpZXJh cmNoaWNhbFRpbWVyKCk7DQorIA0KKyAgICBwcml2YXRlOg0KK2RpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9pbmxpbmUvbmdfbGluZV9ib3hfZnJh Z21lbnRfYnVpbGRlci5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQv bmcvaW5saW5lL25nX2xpbmVfYm94X2ZyYWdtZW50X2J1aWxkZXIuaA0KK2luZGV4IDJhZjE5Y2Eu LjQ5OGU0MmUgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9s YXlvdXQvbmcvaW5saW5lL25nX2xpbmVfYm94X2ZyYWdtZW50X2J1aWxkZXIuaA0KKysrKyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2lubGluZS9uZ19saW5lX2Jv eF9mcmFnbWVudF9idWlsZGVyLmgNCitAQCAtMTgxLDcgKzE4MSw3IEBADQorIA0KKyAgICBwdWJs aWM6DQorICAgICBDaGlsZExpc3QoKSA9IGRlZmF1bHQ7DQorLSAgICB2b2lkIG9wZXJhdG9yPShD aGlsZExpc3QmJiBvdGhlcikgbm9leGNlcHQgew0KKysgICAgdm9pZCBvcGVyYXRvcj0oQ2hpbGRM aXN0JiYgb3RoZXIpIHsNCisgICAgICAgY2hpbGRyZW5fID0gc3RkOjptb3ZlKG90aGVyLmNoaWxk cmVuXyk7DQorICAgICB9DQorIA0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL2xheW91dC9uZy9uZ19jb25zdHJhaW50X3NwYWNlLmggYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9uZ19jb25zdHJhaW50X3NwYWNlLmgNCitpbmRl eCA4Zjc3YjkwLi44MzNiMGQyIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvbGF5b3V0L25nL25nX2NvbnN0cmFpbnRfc3BhY2UuaA0KKysrKyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL25nX2NvbnN0cmFpbnRfc3BhY2UuaA0K K0BAIC04Niw3ICs4Niw3IEBADQorICAgICBlbHNlDQorICAgICAgIGJmY19vZmZzZXRfID0gb3Ro ZXIuYmZjX29mZnNldF87DQorICAgfQ0KKy0gIE5HQ29uc3RyYWludFNwYWNlKE5HQ29uc3RyYWlu dFNwYWNlJiYgb3RoZXIpIG5vZXhjZXB0DQorKyAgTkdDb25zdHJhaW50U3BhY2UoTkdDb25zdHJh aW50U3BhY2UmJiBvdGhlcikNCisgICAgICAgOiBhdmFpbGFibGVfc2l6ZV8ob3RoZXIuYXZhaWxh YmxlX3NpemVfKSwNCisgICAgICAgICBleGNsdXNpb25fc3BhY2VfKHN0ZDo6bW92ZShvdGhlci5l eGNsdXNpb25fc3BhY2VfKSksDQorICAgICAgICAgYml0ZmllbGRzXyhvdGhlci5iaXRmaWVsZHNf KSB7DQorQEAgLTExMCw3ICsxMTAsNyBAQA0KKyAgICAgYml0ZmllbGRzXyA9IG90aGVyLmJpdGZp ZWxkc187DQorICAgICByZXR1cm4gKnRoaXM7DQorICAgfQ0KKy0gIE5HQ29uc3RyYWludFNwYWNl JiBvcGVyYXRvcj0oTkdDb25zdHJhaW50U3BhY2UmJiBvdGhlcikgbm9leGNlcHQgew0KKysgIE5H Q29uc3RyYWludFNwYWNlJiBvcGVyYXRvcj0oTkdDb25zdHJhaW50U3BhY2UmJiBvdGhlcikgew0K KyAgICAgYXZhaWxhYmxlX3NpemVfID0gb3RoZXIuYXZhaWxhYmxlX3NpemVfOw0KKyAgICAgaWYg KEhhc1JhcmVEYXRhKCkpDQorICAgICAgIGRlbGV0ZSByYXJlX2RhdGFfOw0KK2RpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlua19jbG9uZWFi bGVfbWVzc2FnZS5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbWVzc2FnaW5n L2JsaW5rX2Nsb25lYWJsZV9tZXNzYWdlLmNjDQoraW5kZXggYjZjODc2OC4uNzQyMzkzMCAxMDA2 NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlu a19jbG9uZWFibGVfbWVzc2FnZS5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvbWVzc2FnaW5nL2JsaW5rX2Nsb25lYWJsZV9tZXNzYWdlLmNjDQorQEAgLTksOSArOSw4 IEBADQorIEJsaW5rQ2xvbmVhYmxlTWVzc2FnZTo6QmxpbmtDbG9uZWFibGVNZXNzYWdlKCkgPSBk ZWZhdWx0Ow0KKyBCbGlua0Nsb25lYWJsZU1lc3NhZ2U6On5CbGlua0Nsb25lYWJsZU1lc3NhZ2Uo KSA9IGRlZmF1bHQ7DQorIA0KKy1CbGlua0Nsb25lYWJsZU1lc3NhZ2U6OkJsaW5rQ2xvbmVhYmxl TWVzc2FnZShCbGlua0Nsb25lYWJsZU1lc3NhZ2UmJikgbm9leGNlcHQgPQ0KKy0gICAgZGVmYXVs dDsNCisrQmxpbmtDbG9uZWFibGVNZXNzYWdlOjpCbGlua0Nsb25lYWJsZU1lc3NhZ2UoQmxpbmtD bG9uZWFibGVNZXNzYWdlJiYpID0gZGVmYXVsdDsNCisgQmxpbmtDbG9uZWFibGVNZXNzYWdlJiBC bGlua0Nsb25lYWJsZU1lc3NhZ2U6Om9wZXJhdG9yPSgNCistICAgIEJsaW5rQ2xvbmVhYmxlTWVz c2FnZSYmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorKyAgICBCbGlua0Nsb25lYWJsZU1lc3NhZ2Um JikgPSBkZWZhdWx0Ow0KKyANCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rDQorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbWVzc2FnaW5nL2JsaW5rX2Nsb25lYWJs ZV9tZXNzYWdlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9i bGlua19jbG9uZWFibGVfbWVzc2FnZS5oDQoraW5kZXggMzM3YjBmOC4uYTUxZTg4OCAxMDA2NDQN CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlua19j bG9uZWFibGVfbWVzc2FnZS5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9tZXNzYWdpbmcvYmxpbmtfY2xvbmVhYmxlX21lc3NhZ2UuaA0KK0BAIC0yMSw4ICsyMSw4IEBA DQorICAgQmxpbmtDbG9uZWFibGVNZXNzYWdlKCk7DQorICAgfkJsaW5rQ2xvbmVhYmxlTWVzc2Fn ZSgpOw0KKyANCistICBCbGlua0Nsb25lYWJsZU1lc3NhZ2UoQmxpbmtDbG9uZWFibGVNZXNzYWdl JiYpIG5vZXhjZXB0Ow0KKy0gIEJsaW5rQ2xvbmVhYmxlTWVzc2FnZSYgb3BlcmF0b3I9KEJsaW5r Q2xvbmVhYmxlTWVzc2FnZSYmKSBub2V4Y2VwdDsNCisrICBCbGlua0Nsb25lYWJsZU1lc3NhZ2Uo QmxpbmtDbG9uZWFibGVNZXNzYWdlJiYpOw0KKysgIEJsaW5rQ2xvbmVhYmxlTWVzc2FnZSYgb3Bl cmF0b3I9KEJsaW5rQ2xvbmVhYmxlTWVzc2FnZSYmKTsNCisgDQorICAgc2NvcGVkX3JlZnB0cjxi bGluazo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlOw0KKyAgIHY4X2luc3BlY3Rvcjo6 VjhTdGFja1RyYWNlSWQgc2VuZGVyX3N0YWNrX3RyYWNlX2lkOw0KK2RpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlua190cmFuc2ZlcmFibGVf bWVzc2FnZS5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbWVzc2FnaW5nL2Js aW5rX3RyYW5zZmVyYWJsZV9tZXNzYWdlLmNjDQoraW5kZXggOTA5ZGRiMC4uYjVjZGZkYSAxMDA2 NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlu a190cmFuc2ZlcmFibGVfbWVzc2FnZS5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvbWVzc2FnaW5nL2JsaW5rX3RyYW5zZmVyYWJsZV9tZXNzYWdlLmNjDQorQEAgLTE2 LDEwICsxNiwxMCBAQA0KKyBCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2U6OkJsaW5rVHJhbnNmZXJh YmxlTWVzc2FnZSgpID0gZGVmYXVsdDsNCisgQmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdlOjp+Qmxp bmtUcmFuc2ZlcmFibGVNZXNzYWdlKCkgPSBkZWZhdWx0Ow0KKyANCistQmxpbmtUcmFuc2ZlcmFi bGVNZXNzYWdlOjpCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2UoDQorLSAgICBCbGlua1RyYW5zZmVy YWJsZU1lc3NhZ2UmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKytCbGlua1RyYW5zZmVyYWJsZU1l c3NhZ2U6OkJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZShCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2Um JikgPQ0KKysgICAgZGVmYXVsdDsNCisgQmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdlJiBCbGlua1Ry YW5zZmVyYWJsZU1lc3NhZ2U6Om9wZXJhdG9yPSgNCistICAgIEJsaW5rVHJhbnNmZXJhYmxlTWVz c2FnZSYmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorKyAgICBCbGlua1RyYW5zZmVyYWJsZU1lc3Nh Z2UmJikgPSBkZWZhdWx0Ow0KKyANCisgc2NvcGVkX3JlZnB0cjxibGluazo6U3RhdGljQml0bWFw SW1hZ2U+IFRvU3RhdGljQml0bWFwSW1hZ2UoDQorICAgICBjb25zdCBTa0JpdG1hcCYgc2tfYml0 bWFwKSB7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbWVz c2FnaW5nL2JsaW5rX3RyYW5zZmVyYWJsZV9tZXNzYWdlLmggYi90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlua190cmFuc2ZlcmFibGVfbWVzc2FnZS5oDQoraW5k ZXggZWRmNGZhYi4uMzk1N2JlZCAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL21lc3NhZ2luZy9ibGlua190cmFuc2ZlcmFibGVfbWVzc2FnZS5oDQorKysrIGIv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtfdHJhbnNmZXJh YmxlX21lc3NhZ2UuaA0KK0BAIC0yNCw4ICsyNCw4IEBADQorICAgQmxpbmtUcmFuc2ZlcmFibGVN ZXNzYWdlKCk7DQorICAgfkJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZSgpOw0KKyANCistICBCbGlu a1RyYW5zZmVyYWJsZU1lc3NhZ2UoQmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdlJiYpIG5vZXhjZXB0 Ow0KKy0gIEJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZSYgb3BlcmF0b3I9KEJsaW5rVHJhbnNmZXJh YmxlTWVzc2FnZSYmKSBub2V4Y2VwdDsNCisrICBCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2UoQmxp bmtUcmFuc2ZlcmFibGVNZXNzYWdlJiYpOw0KKysgIEJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZSYg b3BlcmF0b3I9KEJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZSYmKTsNCisgDQorICAgVmVjdG9yPE1l c3NhZ2VQb3J0Q2hhbm5lbD4gcG9ydHM7DQorIA0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9tb2R1bGVzL2ltYWdlY2FwdHVyZS9pbWFnZV9jYXB0dXJlX2ZyYW1lX2dy YWJiZXIuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvaW1hZ2VjYXB0dXJl L2ltYWdlX2NhcHR1cmVfZnJhbWVfZ3JhYmJlci5oDQoraW5kZXggODViNDZlMS4uZjA1MGE4NSAx MDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL2ltYWdlY2Fw dHVyZS9pbWFnZV9jYXB0dXJlX2ZyYW1lX2dyYWJiZXIuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL21vZHVsZXMvaW1hZ2VjYXB0dXJlL2ltYWdlX2NhcHR1cmVfZnJhbWVfZ3Jh YmJlci5oDQorQEAgLTkyLDEwICs5MiwxMCBAQA0KKyAgICAgICBzdGQ6Om1vdmUoZGVzdHJ1Y3Rp b25fY2FsbGJhY2tfKS5SdW4oc3RkOjptb3ZlKGNhbGxiYWNrc18pKTsNCisgICB9DQorIA0KKy0g IFNjb3BlZFdlYkNhbGxiYWNrcyhTY29wZWRXZWJDYWxsYmFja3MmJiBvdGhlcikgbm9leGNlcHQg PSBkZWZhdWx0Ow0KKysgIFNjb3BlZFdlYkNhbGxiYWNrcyhTY29wZWRXZWJDYWxsYmFja3MmJiBv dGhlcikgPSBkZWZhdWx0Ow0KKyAgIFNjb3BlZFdlYkNhbGxiYWNrcyhjb25zdCBTY29wZWRXZWJD YWxsYmFja3MmIG90aGVyKSA9IGRlbGV0ZTsNCisgDQorLSAgU2NvcGVkV2ViQ2FsbGJhY2tzJiBv cGVyYXRvcj0oU2NvcGVkV2ViQ2FsbGJhY2tzJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsN CisrICBTY29wZWRXZWJDYWxsYmFja3MmIG9wZXJhdG9yPShTY29wZWRXZWJDYWxsYmFja3MmJiBv dGhlcikgPSBkZWZhdWx0Ow0KKyAgIFNjb3BlZFdlYkNhbGxiYWNrcyYgb3BlcmF0b3I9KGNvbnN0 IFNjb3BlZFdlYkNhbGxiYWNrcyYgb3RoZXIpID0gZGVsZXRlOw0KKyANCisgICBzdGQ6OnVuaXF1 ZV9wdHI8Q2FsbGJhY2tzVHlwZT4gUGFzc0NhbGxiYWNrcygpIHsNCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9pbmRleGVkZGIvaWRiX3JlcXVlc3QuaCBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvaW5kZXhlZGRiL2lkYl9yZXF1ZXN0 LmgNCitpbmRleCBmODViODY0Li5kM2YxMTMyIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL21vZHVsZXMvaW5kZXhlZGRiL2lkYl9yZXF1ZXN0LmgNCisrKysgYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL2luZGV4ZWRkYi9pZGJfcmVxdWVzdC5oDQor QEAgLTExMCwxMyArMTEwLDEzIEBADQorICAgICB+QXN5bmNUcmFjZVN0YXRlKCk7DQorIA0KKyAg ICAgLy8gVXNlZCB0byB0cmFuc2ZlciB0aGUgdHJhY2UgZW5kIGV2ZW50IHN0YXRlIHRvIGFuIElE QlJlcXVlc3QuDQorLSAgICBBc3luY1RyYWNlU3RhdGUoQXN5bmNUcmFjZVN0YXRlJiYgb3RoZXIp IG5vZXhjZXB0IHsNCisrICAgIEFzeW5jVHJhY2VTdGF0ZShBc3luY1RyYWNlU3RhdGUmJiBvdGhl cikgew0KKyAgICAgICBEQ0hFQ0soSXNFbXB0eSgpKTsNCisgICAgICAgdGhpcy0+dHJhY2VfZXZl bnRfbmFtZV8gPSBvdGhlci50cmFjZV9ldmVudF9uYW1lXzsNCisgICAgICAgdGhpcy0+aWRfID0g b3RoZXIuaWRfOw0KKyAgICAgICBvdGhlci50cmFjZV9ldmVudF9uYW1lXyA9IG51bGxwdHI7DQor ICAgICB9DQorLSAgICBBc3luY1RyYWNlU3RhdGUmIG9wZXJhdG9yPShBc3luY1RyYWNlU3RhdGUm JiByaHMpIG5vZXhjZXB0IHsNCisrICAgIEFzeW5jVHJhY2VTdGF0ZSYgb3BlcmF0b3I9KEFzeW5j VHJhY2VTdGF0ZSYmIHJocykgew0KKyAgICAgICBEQ0hFQ0soSXNFbXB0eSgpKTsNCisgICAgICAg dGhpcy0+dHJhY2VfZXZlbnRfbmFtZV8gPSByaHMudHJhY2VfZXZlbnRfbmFtZV87DQorICAgICAg IHRoaXMtPmlkXyA9IHJocy5pZF87DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL21vZHVsZXMvaW5kZXhlZGRiL2lkYl9yZXF1ZXN0X3Rlc3QuY2MgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL2luZGV4ZWRkYi9pZGJfcmVxdWVzdF90ZXN0LmNjDQor aW5kZXggODRkZTcyNi4uMmQzZDRkZTUgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvbW9kdWxlcy9pbmRleGVkZGIvaWRiX3JlcXVlc3RfdGVzdC5jYw0KKysrKyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvaW5kZXhlZGRiL2lkYl9yZXF1ZXN0X3Rl c3QuY2MNCitAQCAtNDM0LDEwICs0MzQsOSBAQA0KKyBjbGFzcyBBc3luY1RyYWNlU3RhdGVGb3JU ZXN0aW5nIDogcHVibGljIElEQlJlcXVlc3Q6OkFzeW5jVHJhY2VTdGF0ZSB7DQorICBwdWJsaWM6 DQorICAgQXN5bmNUcmFjZVN0YXRlRm9yVGVzdGluZygpIDogSURCUmVxdWVzdDo6QXN5bmNUcmFj ZVN0YXRlKCkge30NCistICBBc3luY1RyYWNlU3RhdGVGb3JUZXN0aW5nKEFzeW5jVHJhY2VTdGF0 ZUZvclRlc3RpbmcmJiBvdGhlcikgbm9leGNlcHQNCisrICBBc3luY1RyYWNlU3RhdGVGb3JUZXN0 aW5nKEFzeW5jVHJhY2VTdGF0ZUZvclRlc3RpbmcmJiBvdGhlcikNCisgICAgICAgOiBJREJSZXF1 ZXN0OjpBc3luY1RyYWNlU3RhdGUoc3RkOjptb3ZlKG90aGVyKSkge30NCistICBBc3luY1RyYWNl U3RhdGVGb3JUZXN0aW5nJiBvcGVyYXRvcj0oDQorLSAgICAgIEFzeW5jVHJhY2VTdGF0ZUZvclRl c3RpbmcmJiByaHMpIG5vZXhjZXB0IHsNCisrICBBc3luY1RyYWNlU3RhdGVGb3JUZXN0aW5nJiBv cGVyYXRvcj0oQXN5bmNUcmFjZVN0YXRlRm9yVGVzdGluZyYmIHJocykgew0KKyAgICAgQXN5bmNU cmFjZVN0YXRlOjpvcGVyYXRvcj0oc3RkOjptb3ZlKHJocykpOw0KKyAgICAgcmV0dXJuICp0aGlz Ow0KKyAgIH0NCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxl cy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbC5jYyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX2NvbnN0 cmFpbnRzX3V0aWwuY2MNCitpbmRleCAyNDQ5OWJkLi4zYmYwMGU5IDEwMDY0NA0KKy0tLSBhL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFt X2NvbnN0cmFpbnRzX3V0aWwuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9t b2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50c191dGlsLmNjDQorQEAg LTEzNCwxMyArMTM0LDEzIEBADQorIA0KKyBWaWRlb0NhcHR1cmVTZXR0aW5nczo6VmlkZW9DYXB0 dXJlU2V0dGluZ3MoY29uc3QgVmlkZW9DYXB0dXJlU2V0dGluZ3MmIG90aGVyKSA9DQorICAgICBk ZWZhdWx0Ow0KKy1WaWRlb0NhcHR1cmVTZXR0aW5nczo6VmlkZW9DYXB0dXJlU2V0dGluZ3MoDQor LSAgICBWaWRlb0NhcHR1cmVTZXR0aW5ncyYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQor K1ZpZGVvQ2FwdHVyZVNldHRpbmdzOjpWaWRlb0NhcHR1cmVTZXR0aW5ncyhWaWRlb0NhcHR1cmVT ZXR0aW5ncyYmIG90aGVyKSA9DQorKyAgICBkZWZhdWx0Ow0KKyBWaWRlb0NhcHR1cmVTZXR0aW5n czo6flZpZGVvQ2FwdHVyZVNldHRpbmdzKCkgPSBkZWZhdWx0Ow0KKyBWaWRlb0NhcHR1cmVTZXR0 aW5ncyYgVmlkZW9DYXB0dXJlU2V0dGluZ3M6Om9wZXJhdG9yPSgNCisgICAgIGNvbnN0IFZpZGVv Q2FwdHVyZVNldHRpbmdzJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyBWaWRlb0NhcHR1cmVTZXR0aW5n cyYgVmlkZW9DYXB0dXJlU2V0dGluZ3M6Om9wZXJhdG9yPSgNCistICAgIFZpZGVvQ2FwdHVyZVNl dHRpbmdzJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICAgIFZpZGVvQ2FwdHVyZVNl dHRpbmdzJiYgb3RoZXIpID0gZGVmYXVsdDsNCisgDQorIEF1ZGlvQ2FwdHVyZVNldHRpbmdzOjpB dWRpb0NhcHR1cmVTZXR0aW5ncygpIDogQXVkaW9DYXB0dXJlU2V0dGluZ3MoIiIpIHt9DQorIA0K K0BAIC0xNjYsMTAgKzE2NiwxMCBAQA0KKyAgICAgZGVmYXVsdDsNCisgQXVkaW9DYXB0dXJlU2V0 dGluZ3MmIEF1ZGlvQ2FwdHVyZVNldHRpbmdzOjpvcGVyYXRvcj0oDQorICAgICBjb25zdCBBdWRp b0NhcHR1cmVTZXR0aW5ncyYgb3RoZXIpID0gZGVmYXVsdDsNCistQXVkaW9DYXB0dXJlU2V0dGlu Z3M6OkF1ZGlvQ2FwdHVyZVNldHRpbmdzKA0KKy0gICAgQXVkaW9DYXB0dXJlU2V0dGluZ3MmJiBv dGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKytBdWRpb0NhcHR1cmVTZXR0aW5nczo6QXVkaW9D YXB0dXJlU2V0dGluZ3MoQXVkaW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcikgPQ0KKysgICAgZGVm YXVsdDsNCisgQXVkaW9DYXB0dXJlU2V0dGluZ3MmIEF1ZGlvQ2FwdHVyZVNldHRpbmdzOjpvcGVy YXRvcj0oDQorLSAgICBBdWRpb0NhcHR1cmVTZXR0aW5ncyYmIG90aGVyKSBub2V4Y2VwdCA9IGRl ZmF1bHQ7DQorKyAgICBBdWRpb0NhcHR1cmVTZXR0aW5ncyYmIG90aGVyKSA9IGRlZmF1bHQ7DQor IA0KKyBib29sIEdldENvbnN0cmFpbnRWYWx1ZUFzQm9vbGVhbigNCisgICAgIGNvbnN0IFdlYk1l ZGlhQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLA0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50 c191dGlsX3ZpZGVvX2RldmljZS5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVs ZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX2NvbnN0cmFpbnRzX3V0aWxfdmlkZW9fZGV2aWNl LmNjDQoraW5kZXggOTY5OTIyMTcuLjY3YzhiYWIgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWlu dHNfdXRpbF92aWRlb19kZXZpY2UuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50c191dGlsX3ZpZGVv X2RldmljZS5jYw0KK0BAIC01MjksOSArNTI5LDkgQEANCisgICAgICAgZmFjaW5nX21vZGUoZmFj aW5nX21vZGUpIHt9DQorIA0KKyBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVzOjpWaWRlb0lu cHV0RGV2aWNlQ2FwYWJpbGl0aWVzKA0KKy0gICAgVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGll cyYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorKyAgICBWaWRlb0lucHV0RGV2aWNlQ2Fw YWJpbGl0aWVzJiYgb3RoZXIpID0gZGVmYXVsdDsNCisgVmlkZW9JbnB1dERldmljZUNhcGFiaWxp dGllcyYgVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllczo6b3BlcmF0b3I9KA0KKy0gICAgVmlk ZW9JbnB1dERldmljZUNhcGFiaWxpdGllcyYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQor KyAgICBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVzJiYgb3RoZXIpID0gZGVmYXVsdDsNCisg DQorIFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXM6On5WaWRlb0lucHV0RGV2aWNlQ2FwYWJp bGl0aWVzKCkgPSBkZWZhdWx0Ow0KKyANCitAQCAtNTU3LDEwICs1NTcsMTAgQEANCisgDQorIFZp ZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllczo6VmlkZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0 aWVzKCkgPSBkZWZhdWx0Ow0KKyBWaWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXM6OlZpZGVv RGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcygNCistICAgIFZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFi aWxpdGllcyYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorKyAgICBWaWRlb0RldmljZUNh cHR1cmVDYXBhYmlsaXRpZXMmJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyBWaWRlb0RldmljZUNhcHR1 cmVDYXBhYmlsaXRpZXM6On5WaWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMoKSA9IGRlZmF1 bHQ7DQorIFZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcyYgVmlkZW9EZXZpY2VDYXB0dXJl Q2FwYWJpbGl0aWVzOjpvcGVyYXRvcj0oDQorLSAgICBWaWRlb0RldmljZUNhcHR1cmVDYXBhYmls aXRpZXMmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgVmlkZW9EZXZpY2VDYXB0 dXJlQ2FwYWJpbGl0aWVzJiYgb3RoZXIpID0gZGVmYXVsdDsNCisgDQorIFZpZGVvQ2FwdHVyZVNl dHRpbmdzIFNlbGVjdFNldHRpbmdzVmlkZW9EZXZpY2VDYXB0dXJlKA0KKyAgICAgY29uc3QgVmlk ZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMsDQorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3Ry ZWFtX2NvbnN0cmFpbnRzX3V0aWxfdmlkZW9fZGV2aWNlLmggYi90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50c191dGls X3ZpZGVvX2RldmljZS5oDQoraW5kZXggNjZhZTEwMy4uOTRkOGVkOSAxMDA2NDQNCistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVh bV9jb25zdHJhaW50c191dGlsX3ZpZGVvX2RldmljZS5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNf dXRpbF92aWRlb19kZXZpY2UuaA0KK0BAIC0zNCw5ICszNCw4IEBADQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWZWN0b3I8bWVkaWE6OlZpZGVvQ2FwdHVyZUZvcm1hdD4gZm9ybWF0 cywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhOjpWaWRlb0ZhY2luZ01v ZGUgZmFjaW5nX21vZGUpOw0KKyAgIFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMoKTsNCist ICBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVzKFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRp ZXMmJiBvdGhlcikgbm9leGNlcHQ7DQorLSAgVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllcyYg b3BlcmF0b3I9KA0KKy0gICAgICBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVzJiYgb3RoZXIp IG5vZXhjZXB0Ow0KKysgIFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMoVmlkZW9JbnB1dERl dmljZUNhcGFiaWxpdGllcyYmIG90aGVyKTsNCisrICBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0 aWVzJiBvcGVyYXRvcj0oVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllcyYmIG90aGVyKTsNCisg ICB+VmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllcygpOw0KKyANCisgICBTdHJpbmcgZGV2aWNl X2lkOw0KK0BAIC00NywxMSArNDYsMTAgQEANCisgDQorIHN0cnVjdCBNT0RVTEVTX0VYUE9SVCBW aWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMgew0KKyAgIFZpZGVvRGV2aWNlQ2FwdHVyZUNh cGFiaWxpdGllcygpOw0KKy0gIFZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcygNCistICAg ICAgVmlkZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0aWVzJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysg IFZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcyhWaWRlb0RldmljZUNhcHR1cmVDYXBhYmls aXRpZXMmJiBvdGhlcik7DQorICAgflZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcygpOw0K KyAgIFZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcyYgb3BlcmF0b3I9KA0KKy0gICAgICBW aWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMmJiBvdGhlcikgbm9leGNlcHQ7DQorKyAgICAg IFZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcyYmIG90aGVyKTsNCisgDQorICAgLy8gRWFj aCBjYXBhYmlsaXRpZXMgZmllbGQgaXMgaW5kZXBlbmRlbnQgb2YgZWFjaCBvdGhlci4NCisgICAv LyBUT0RPKGNyYnVnLmNvbS83MDQxMzYpOiBSZXBsYWNlIFZpZGVvSW5wdXREZXZpY2VDYXBhYmls aXRpZXMgaW4gdGhlDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21v ZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX3ZpZGVvX3NvdXJjZS5jYyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX3ZpZGVv X3NvdXJjZS5jYw0KK2luZGV4IDc2NTFlNDcuLjk5NzU5YzEgMTAwNjQ0DQorLS0tIGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fdmlk ZW9fc291cmNlLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9t ZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fdmlkZW9fc291cmNlLmNjDQorQEAgLTQ2MSwxMCArNDYx LDEwIEBADQorICAgICAgIGNhbGxiYWNrKGNhbGxiYWNrKSB7fQ0KKyANCisgTWVkaWFTdHJlYW1W aWRlb1NvdXJjZTo6UGVuZGluZ1RyYWNrSW5mbzo6UGVuZGluZ1RyYWNrSW5mbygNCistICAgIFBl bmRpbmdUcmFja0luZm8mJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgUGVuZGlu Z1RyYWNrSW5mbyYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIE1lZGlhU3RyZWFtVmlkZW9Tb3VyY2U6 OlBlbmRpbmdUcmFja0luZm8mDQorIE1lZGlhU3RyZWFtVmlkZW9Tb3VyY2U6OlBlbmRpbmdUcmFj a0luZm86Om9wZXJhdG9yPSgNCistICAgIE1lZGlhU3RyZWFtVmlkZW9Tb3VyY2U6OlBlbmRpbmdU cmFja0luZm8mJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgTWVkaWFTdHJlYW1W aWRlb1NvdXJjZTo6UGVuZGluZ1RyYWNrSW5mbyYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIA0KKyBN ZWRpYVN0cmVhbVZpZGVvU291cmNlOjpQZW5kaW5nVHJhY2tJbmZvOjp+UGVuZGluZ1RyYWNrSW5m bygpIHt9DQorIA0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9iaW5kaW5ncy9kb21fZGF0YV9zdG9yZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvcGxhdGZvcm0vYmluZGluZ3MvZG9tX2RhdGFfc3RvcmUuaA0KK2luZGV4IGQ2NjBiNjcuLjA2 NjBkZDE4IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L2JpbmRpbmdzL2RvbV9kYXRhX3N0b3JlLmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy9kb21fZGF0YV9zdG9yZS5oDQorQEAgLTIzMCwxMiArMjMw LDExIEBADQorICAgICAgICAgOiBUcmFjZVdyYXBwZXJWOFJlZmVyZW5jZShpc29sYXRlLCBoYW5k bGUpIHt9DQorIA0KKyAgICAgLy8gTW92ZSBzdXBwb3J0IHdpdGhvdXQgd3JpdGUgYmFycmllci4N CistICAgIERPTVdvcmxkV3JhcHBlclJlZmVyZW5jZShET01Xb3JsZFdyYXBwZXJSZWZlcmVuY2Um JiBvdGhlcikgbm9leGNlcHQNCisrICAgIERPTVdvcmxkV3JhcHBlclJlZmVyZW5jZShET01Xb3Js ZFdyYXBwZXJSZWZlcmVuY2UmJiBvdGhlcikNCisgICAgICAgICA6IFRyYWNlV3JhcHBlclY4UmVm ZXJlbmNlKCkgew0KKyAgICAgICBoYW5kbGVfID0gc3RkOjptb3ZlKG90aGVyLmhhbmRsZV8pOw0K KyAgICAgfQ0KKy0gICAgRE9NV29ybGRXcmFwcGVyUmVmZXJlbmNlJiBvcGVyYXRvcj0oDQorLSAg ICAgICAgRE9NV29ybGRXcmFwcGVyUmVmZXJlbmNlJiYgcmhzKSBub2V4Y2VwdCB7DQorKyAgICBE T01Xb3JsZFdyYXBwZXJSZWZlcmVuY2UmIG9wZXJhdG9yPShET01Xb3JsZFdyYXBwZXJSZWZlcmVu Y2UmJiByaHMpIHsNCisgICAgICAgaGFuZGxlXyA9IHN0ZDo6bW92ZShyaHMuaGFuZGxlXyk7DQor ICAgICAgIHJldHVybiAqdGhpczsNCisgICAgIH0NCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZXhwb3J0ZWQvd2ViX3N0cmluZy5jYyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2V4cG9ydGVkL3dlYl9zdHJpbmcuY2MNCitpbmRl eCA3MWQ0YzA3Li5mYmU0ODI4IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL2V4cG9ydGVkL3dlYl9zdHJpbmcuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9leHBvcnRlZC93ZWJfc3RyaW5nLmNjDQorQEAgLTUxLDkg KzUxLDkgQEANCisgV2ViU3RyaW5nOjp+V2ViU3RyaW5nKCkgPSBkZWZhdWx0Ow0KKyBXZWJTdHJp bmc6OldlYlN0cmluZygpID0gZGVmYXVsdDsNCisgV2ViU3RyaW5nOjpXZWJTdHJpbmcoY29uc3Qg V2ViU3RyaW5nJikgPSBkZWZhdWx0Ow0KKy1XZWJTdHJpbmc6OldlYlN0cmluZyhXZWJTdHJpbmcm Jikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKytXZWJTdHJpbmc6OldlYlN0cmluZyhXZWJTdHJpbmcm JikgPSBkZWZhdWx0Ow0KKyBXZWJTdHJpbmcmIFdlYlN0cmluZzo6b3BlcmF0b3I9KGNvbnN0IFdl YlN0cmluZyYpID0gZGVmYXVsdDsNCistV2ViU3RyaW5nJiBXZWJTdHJpbmc6Om9wZXJhdG9yPShX ZWJTdHJpbmcmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKytXZWJTdHJpbmcmIFdlYlN0cmluZzo6 b3BlcmF0b3I9KFdlYlN0cmluZyYmKSA9IGRlZmF1bHQ7DQorIA0KKyBXZWJTdHJpbmc6OldlYlN0 cmluZyhjb25zdCBXZWJVQ2hhciogZGF0YSwgc2l6ZV90IGxlbikNCisgICAgIDogaW1wbF8oU3Ry aW5nSW1wbDo6Q3JlYXRlOEJpdElmUG9zc2libGUoZGF0YSwgbGVuKSkge30NCitkaWZmIC0tZ2l0 IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY29udGlndW91 c19jb250YWluZXIuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFw aGljcy9jb250aWd1b3VzX2NvbnRhaW5lci5jYw0KK2luZGV4IGZkMDFjMDAuLjE5Y2I2ZjIgMTAw NjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3Mv Y29udGlndW91c19jb250YWluZXIuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9ncmFwaGljcy9jb250aWd1b3VzX2NvbnRhaW5lci5jYw0KK0BAIC02OSw3ICs2 OSw3IEBADQorICAgICA6IGVuZF9pbmRleF8oMCksIG1heF9vYmplY3Rfc2l6ZV8obWF4X29iamVj dF9zaXplKSB7fQ0KKyANCisgQ29udGlndW91c0NvbnRhaW5lckJhc2U6OkNvbnRpZ3VvdXNDb250 YWluZXJCYXNlKA0KKy0gICAgQ29udGlndW91c0NvbnRhaW5lckJhc2UmJiBzb3VyY2UpIG5vZXhj ZXB0DQorKyAgICBDb250aWd1b3VzQ29udGFpbmVyQmFzZSYmIHNvdXJjZSkNCisgICAgIDogQ29u dGlndW91c0NvbnRhaW5lckJhc2Uoc291cmNlLm1heF9vYmplY3Rfc2l6ZV8pIHsNCisgICBTd2Fw KHNvdXJjZSk7DQorIH0NCitAQCAtNzcsNyArNzcsNyBAQA0KKyBDb250aWd1b3VzQ29udGFpbmVy QmFzZTo6fkNvbnRpZ3VvdXNDb250YWluZXJCYXNlKCkgPSBkZWZhdWx0Ow0KKyANCisgQ29udGln dW91c0NvbnRhaW5lckJhc2UmIENvbnRpZ3VvdXNDb250YWluZXJCYXNlOjpvcGVyYXRvcj0oDQor LSAgICBDb250aWd1b3VzQ29udGFpbmVyQmFzZSYmIHNvdXJjZSkgbm9leGNlcHQgew0KKysgICAg Q29udGlndW91c0NvbnRhaW5lckJhc2UmJiBzb3VyY2UpIHsNCisgICBTd2FwKHNvdXJjZSk7DQor ICAgcmV0dXJuICp0aGlzOw0KKyB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2NvbnRpZ3VvdXNfY29udGFpbmVyLmggYi90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9jb250aWd1b3VzX2NvbnRhaW5l ci5oDQoraW5kZXggODY3ZTU5Yy4uM2VlZTU1OCAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9jb250aWd1b3VzX2NvbnRhaW5lci5oDQor KysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY29udGln dW91c19jb250YWluZXIuaA0KK0BAIC00MiwxMCArNDIsMTAgQEANCisgDQorICBwcm90ZWN0ZWQ6 DQorICAgZXhwbGljaXQgQ29udGlndW91c0NvbnRhaW5lckJhc2Uoc2l6ZV90IG1heF9vYmplY3Rf c2l6ZSk7DQorLSAgQ29udGlndW91c0NvbnRhaW5lckJhc2UoQ29udGlndW91c0NvbnRhaW5lckJh c2UmJikgbm9leGNlcHQ7DQorKyAgQ29udGlndW91c0NvbnRhaW5lckJhc2UoQ29udGlndW91c0Nv bnRhaW5lckJhc2UmJik7DQorICAgfkNvbnRpZ3VvdXNDb250YWluZXJCYXNlKCk7DQorIA0KKy0g IENvbnRpZ3VvdXNDb250YWluZXJCYXNlJiBvcGVyYXRvcj0oQ29udGlndW91c0NvbnRhaW5lckJh c2UmJikgbm9leGNlcHQ7DQorKyAgQ29udGlndW91c0NvbnRhaW5lckJhc2UmIG9wZXJhdG9yPShD b250aWd1b3VzQ29udGFpbmVyQmFzZSYmKTsNCisgDQorICAgc2l6ZV90IHNpemUoKSBjb25zdCB7 IHJldHVybiBlbGVtZW50c18uc2l6ZSgpOyB9DQorICAgYm9vbCBJc0VtcHR5KCkgY29uc3QgeyBy ZXR1cm4gIXNpemUoKTsgfQ0KK0BAIC0xNDcsNyArMTQ3LDcgQEANCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgV1RGX0hFQVBfUFJPRklMRVJfVFlQRV9OQU1FKEJhc2VFbGVtZW50VHlwZSkp Ow0KKyAgIH0NCisgDQorLSAgQ29udGlndW91c0NvbnRhaW5lcihDb250aWd1b3VzQ29udGFpbmVy JiYgc291cmNlKSBub2V4Y2VwdA0KKysgIENvbnRpZ3VvdXNDb250YWluZXIoQ29udGlndW91c0Nv bnRhaW5lciYmIHNvdXJjZSkNCisgICAgICAgOiBDb250aWd1b3VzQ29udGFpbmVyQmFzZShzdGQ6 Om1vdmUoc291cmNlKSkge30NCisgDQorICAgfkNvbnRpZ3VvdXNDb250YWluZXIoKSB7DQorQEAg LTE1Nyw3ICsxNTcsNyBAQA0KKyAgICAgfQ0KKyAgIH0NCisgDQorLSAgQ29udGlndW91c0NvbnRh aW5lciYgb3BlcmF0b3I9KENvbnRpZ3VvdXNDb250YWluZXImJiBzb3VyY2UpIG5vZXhjZXB0IHsN CisrICBDb250aWd1b3VzQ29udGFpbmVyJiBvcGVyYXRvcj0oQ29udGlndW91c0NvbnRhaW5lciYm IHNvdXJjZSkgew0KKyAgICAgLy8gTXVzdCBjbGVhciBpbiB0aGUgZGVyaXZlZCBjbGFzcyB0byBl bnN1cmUgdGhhdCBlbGVtZW50IGRlc3RydWN0b3JzDQorICAgICAvLyBjYXJlIGNhbGxlZC4NCisg ICAgIENsZWFyKCk7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2dyYXBoaWNzL2dwdS9pbWFnZV9sYXllcl9icmlkZ2UuY2MgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvaW1hZ2VfbGF5ZXJfYnJpZGdlLmNj DQoraW5kZXggYWQxMGM1NC4uNGVkYmY3ZiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvaW1hZ2VfbGF5ZXJfYnJpZGdlLmNjDQor KysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2lt YWdlX2xheWVyX2JyaWRnZS5jYw0KK0BAIC0yNDcsOSArMjQ3LDkgQEANCisgfQ0KKyANCisgSW1h Z2VMYXllckJyaWRnZTo6UmVnaXN0ZXJlZEJpdG1hcDo6UmVnaXN0ZXJlZEJpdG1hcCgpID0gZGVm YXVsdDsNCistSW1hZ2VMYXllckJyaWRnZTo6UmVnaXN0ZXJlZEJpdG1hcDo6UmVnaXN0ZXJlZEJp dG1hcCgNCistICAgIFJlZ2lzdGVyZWRCaXRtYXAmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0 Ow0KKytJbWFnZUxheWVyQnJpZGdlOjpSZWdpc3RlcmVkQml0bWFwOjpSZWdpc3RlcmVkQml0bWFw KFJlZ2lzdGVyZWRCaXRtYXAmJiBvdGhlcikgPQ0KKysgICAgZGVmYXVsdDsNCisgSW1hZ2VMYXll ckJyaWRnZTo6UmVnaXN0ZXJlZEJpdG1hcCYgSW1hZ2VMYXllckJyaWRnZTo6UmVnaXN0ZXJlZEJp dG1hcDo6DQorLW9wZXJhdG9yPShSZWdpc3RlcmVkQml0bWFwJiYgb3RoZXIpIG5vZXhjZXB0ID0g ZGVmYXVsdDsNCisrb3BlcmF0b3I9KFJlZ2lzdGVyZWRCaXRtYXAmJiBvdGhlcikgPSBkZWZhdWx0 Ow0KKyANCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9pbWFnZV9sYXllcl9icmlkZ2Uu aCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9pbWFn ZV9sYXllcl9icmlkZ2UuaA0KK2luZGV4IGJlYTgxZGZiLi5iNjg3OWY5IDEwMDY0NA0KKy0tLSBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9pbWFnZV9s YXllcl9icmlkZ2UuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L2dyYXBoaWNzL2dwdS9pbWFnZV9sYXllcl9icmlkZ2UuaA0KK0BAIC02NSw4ICs2NSw4IEBADQor ICAgLy8gb25seSB3aXRoIHNvZnR3YXJlIGNvbXBvc2l0aW5nLg0KKyAgIHN0cnVjdCBSZWdpc3Rl cmVkQml0bWFwIHsNCisgICAgIFJlZ2lzdGVyZWRCaXRtYXAoKTsNCistICAgIFJlZ2lzdGVyZWRC aXRtYXAoUmVnaXN0ZXJlZEJpdG1hcCYmIG90aGVyKSBub2V4Y2VwdDsNCistICAgIFJlZ2lzdGVy ZWRCaXRtYXAmIG9wZXJhdG9yPShSZWdpc3RlcmVkQml0bWFwJiYgb3RoZXIpIG5vZXhjZXB0Ow0K KysgICAgUmVnaXN0ZXJlZEJpdG1hcChSZWdpc3RlcmVkQml0bWFwJiYgb3RoZXIpOw0KKysgICAg UmVnaXN0ZXJlZEJpdG1hcCYgb3BlcmF0b3I9KFJlZ2lzdGVyZWRCaXRtYXAmJiBvdGhlcik7DQor IA0KKyAgICAgc2NvcGVkX3JlZnB0cjxjYzo6Q3Jvc3NUaHJlYWRTaGFyZWRCaXRtYXA+IGJpdG1h cDsNCisgICAgIGNjOjpTaGFyZWRCaXRtYXBJZFJlZ2lzdHJhdGlvbiByZWdpc3RyYXRpb247DQor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNz L3BhaW50L2Rpc3BsYXlfaXRlbV9saXN0LmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS9ncmFwaGljcy9wYWludC9kaXNwbGF5X2l0ZW1fbGlzdC5oDQoraW5kZXggY2QzZWQy Zi4uOWVlMjU3MSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9ncmFwaGljcy9wYWludC9kaXNwbGF5X2l0ZW1fbGlzdC5oDQorKysrIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvcGFpbnQvZGlzcGxheV9pdGVtX2xp c3QuaA0KK0BAIC0yOCwxMCArMjgsMTAgQEANCisgIHB1YmxpYzoNCisgICBEaXNwbGF5SXRlbUxp c3Qoc2l6ZV90IGluaXRpYWxfc2l6ZV9ieXRlcykNCisgICAgICAgOiBDb250aWd1b3VzQ29udGFp bmVyKGtNYXhpbXVtRGlzcGxheUl0ZW1TaXplLCBpbml0aWFsX3NpemVfYnl0ZXMpIHt9DQorLSAg RGlzcGxheUl0ZW1MaXN0KERpc3BsYXlJdGVtTGlzdCYmIHNvdXJjZSkgbm9leGNlcHQNCisrICBE aXNwbGF5SXRlbUxpc3QoRGlzcGxheUl0ZW1MaXN0JiYgc291cmNlKQ0KKyAgICAgICA6IENvbnRp Z3VvdXNDb250YWluZXIoc3RkOjptb3ZlKHNvdXJjZSkpIHt9DQorIA0KKy0gIERpc3BsYXlJdGVt TGlzdCYgb3BlcmF0b3I9KERpc3BsYXlJdGVtTGlzdCYmIHNvdXJjZSkgbm9leGNlcHQgew0KKysg IERpc3BsYXlJdGVtTGlzdCYgb3BlcmF0b3I9KERpc3BsYXlJdGVtTGlzdCYmIHNvdXJjZSkgew0K KyAgICAgQ29udGlndW91c0NvbnRhaW5lcjo6b3BlcmF0b3I9KHN0ZDo6bW92ZShzb3VyY2UpKTsN CisgICAgIHJldHVybiAqdGhpczsNCisgICB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL2hlYXAvaGVhcF90ZXN0LmNjIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vaGVhcC9oZWFwX3Rlc3QuY2MNCitpbmRleCBkYWQwY2EwLi5l OTRjYmM5NSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9y bS9oZWFwL2hlYXBfdGVzdC5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2hlYXAvaGVhcF90ZXN0LmNjDQorQEAgLTE0NSw3ICsxNDUsNyBAQA0KKyAgIH0NCisg ICBLZXlXaXRoQ29weWluZ01vdmVDb25zdHJ1Y3Rvcihjb25zdCBLZXlXaXRoQ29weWluZ01vdmVD b25zdHJ1Y3RvciYpID0gZGVmYXVsdDsNCisgICAvLyBUaGUgbW92ZSBjb25zdHJ1Y3RvciBkZWxl Z2F0ZXMgdG8gdGhlIGNvcHkgY29uc3RydWN0b3IgaW50ZW50aW9uYWxseS4NCistICBLZXlXaXRo Q29weWluZ01vdmVDb25zdHJ1Y3RvcihLZXlXaXRoQ29weWluZ01vdmVDb25zdHJ1Y3RvciYmIHgp IG5vZXhjZXB0DQorKyAgS2V5V2l0aENvcHlpbmdNb3ZlQ29uc3RydWN0b3IoS2V5V2l0aENvcHlp bmdNb3ZlQ29uc3RydWN0b3ImJiB4KQ0KKyAgICAgICA6IEtleVdpdGhDb3B5aW5nTW92ZUNvbnN0 cnVjdG9yKHgpIHt9DQorICAgS2V5V2l0aENvcHlpbmdNb3ZlQ29uc3RydWN0b3ImIG9wZXJhdG9y PSgNCisgICAgICAgY29uc3QgS2V5V2l0aENvcHlpbmdNb3ZlQ29uc3RydWN0b3ImKSA9IGRlZmF1 bHQ7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2lt YWdlLWRlY29kZXJzL3NlZ21lbnRfc3RyZWFtLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvc2VnbWVudF9zdHJlYW0uY2MNCitpbmRleCA0MDI0 ZjljLi41YTk4NzAxIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2ltYWdlLWRlY29kZXJzL3NlZ21lbnRfc3RyZWFtLmNjDQorKysrIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvc2VnbWVudF9zdHJlYW0u Y2MNCitAQCAtMTAsMTAgKzEwLDEwIEBADQorIA0KKyBTZWdtZW50U3RyZWFtOjpTZWdtZW50U3Ry ZWFtKCkgPSBkZWZhdWx0Ow0KKyANCistU2VnbWVudFN0cmVhbTo6U2VnbWVudFN0cmVhbShTZWdt ZW50U3RyZWFtJiYgcmhzKSBub2V4Y2VwdA0KKytTZWdtZW50U3RyZWFtOjpTZWdtZW50U3RyZWFt KFNlZ21lbnRTdHJlYW0mJiByaHMpDQorICAgICA6IHJlYWRlcl8oc3RkOjptb3ZlKHJocy5yZWFk ZXJfKSksIHBvc2l0aW9uXyhyaHMucG9zaXRpb25fKSB7fQ0KKyANCistU2VnbWVudFN0cmVhbSYg U2VnbWVudFN0cmVhbTo6b3BlcmF0b3I9KFNlZ21lbnRTdHJlYW0mJiByaHMpIG5vZXhjZXB0IHsN CisrU2VnbWVudFN0cmVhbSYgU2VnbWVudFN0cmVhbTo6b3BlcmF0b3I9KFNlZ21lbnRTdHJlYW0m JiByaHMpIHsNCisgICByZWFkZXJfID0gc3RkOjptb3ZlKHJocy5yZWFkZXJfKTsNCisgICBwb3Np dGlvbl8gPSByaHMucG9zaXRpb25fOw0KKyANCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvc2VnbWVudF9zdHJlYW0uaCBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NlZ21lbnRf c3RyZWFtLmgNCitpbmRleCBmNDlmNTUxLi5mYTFjY2YyIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NlZ21lbnRfc3RyZWFt LmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9pbWFnZS1kZWNv ZGVycy9zZWdtZW50X3N0cmVhbS5oDQorQEAgLTE5LDggKzE5LDggQEANCisgICBTZWdtZW50U3Ry ZWFtKCk7DQorICAgU2VnbWVudFN0cmVhbShjb25zdCBTZWdtZW50U3RyZWFtJikgPSBkZWxldGU7 DQorICAgU2VnbWVudFN0cmVhbSYgb3BlcmF0b3I9KGNvbnN0IFNlZ21lbnRTdHJlYW0mKSA9IGRl bGV0ZTsNCistICBTZWdtZW50U3RyZWFtKFNlZ21lbnRTdHJlYW0mJikgbm9leGNlcHQ7DQorLSAg U2VnbWVudFN0cmVhbSYgb3BlcmF0b3I9KFNlZ21lbnRTdHJlYW0mJikgbm9leGNlcHQ7DQorKyAg U2VnbWVudFN0cmVhbShTZWdtZW50U3RyZWFtJiYpOw0KKysgIFNlZ21lbnRTdHJlYW0mIG9wZXJh dG9yPShTZWdtZW50U3RyZWFtJiYpOw0KKyANCisgICB+U2VnbWVudFN0cmVhbSgpIG92ZXJyaWRl Ow0KKyANCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v bW9qby9yZXZvY2FibGVfaW50ZXJmYWNlX3B0ci5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvcGxhdGZvcm0vbW9qby9yZXZvY2FibGVfaW50ZXJmYWNlX3B0ci5oDQoraW5kZXggNTU1YmUy OC4uMzRiYWQzZiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9tb2pvL3Jldm9jYWJsZV9pbnRlcmZhY2VfcHRyLmgNCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9tb2pvL3Jldm9jYWJsZV9pbnRlcmZhY2VfcHRyLmgNCitA QCAtNDEsNyArNDEsNyBAQA0KKyAgIFJldm9jYWJsZUludGVyZmFjZVB0cihzdGQ6Om51bGxwdHJf dCkge30NCisgDQorICAgLy8gVGFrZXMgb3ZlciB0aGUgYmluZGluZyBvZiBhbm90aGVyIFJldm9j YWJsZUludGVyZmFjZVB0ci4NCistICBSZXZvY2FibGVJbnRlcmZhY2VQdHIoUmV2b2NhYmxlSW50 ZXJmYWNlUHRyJiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrICBSZXZvY2FibGVJbnRlcmZhY2VQdHIo UmV2b2NhYmxlSW50ZXJmYWNlUHRyJiYgb3RoZXIpIHsNCisgICAgIGludGVyZmFjZV9wdHJfID0g c3RkOjptb3ZlKG90aGVyLmludGVyZmFjZV9wdHJfKTsNCisgICAgIFNldEludmFsaWRhdG9yKG90 aGVyLmludmFsaWRhdG9yXy5nZXQoKSk7DQorICAgICAvLyBSZXNldCB0aGUgb3RoZXIgaW50ZXJm YWNlIHB0ciB0byByZW1vdmUgaXQgYXMgYW4gb2JzZXJ2ZXIgb2YgdGhlDQorQEAgLTU4LDcgKzU4 LDcgQEANCisgDQorICAgLy8gVGFrZXMgb3ZlciB0aGUgYmluZGluZyBvZiBhbm90aGVyIFJldm9j YWJsZUludGVyZmFjZVB0ciwgYW5kIGNsb3NlcyBhbnkNCisgICAvLyBtZXNzYWdlIHBpcGUgYWxy ZWFkeSBib3VuZCB0byB0aGlzIHBvaW50ZXIuDQorLSAgUmV2b2NhYmxlSW50ZXJmYWNlUHRyJiBv cGVyYXRvcj0oUmV2b2NhYmxlSW50ZXJmYWNlUHRyJiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrICBS ZXZvY2FibGVJbnRlcmZhY2VQdHImIG9wZXJhdG9yPShSZXZvY2FibGVJbnRlcmZhY2VQdHImJiBv dGhlcikgew0KKyAgICAgcmVzZXQoKTsNCisgICAgIGludGVyZmFjZV9wdHJfID0gc3RkOjptb3Zl KG90aGVyLmludGVyZmFjZV9wdHJfKTsNCisgICAgIFNldEludmFsaWRhdG9yKG90aGVyLmludmFs aWRhdG9yXy5nZXQoKSk7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL25ldHdvcmsvZW5jb2RlZF9mb3JtX2RhdGEuY2MgYi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9uZXR3b3JrL2VuY29kZWRfZm9ybV9kYXRhLmNjDQoraW5kZXgg YmM0ZWMxNC4uMWI2NjBlNiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9uZXR3b3JrL2VuY29kZWRfZm9ybV9kYXRhLmNjDQorKysrIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vbmV0d29yay9lbmNvZGVkX2Zvcm1fZGF0YS5jYw0K K0BAIC02MSwxMSArNjEsMTAgQEANCisgICAgIDogdHlwZV8oa0RhdGFQaXBlKSwgZGF0YV9waXBl X2dldHRlcl8oc3RkOjptb3ZlKGRhdGFfcGlwZV9nZXR0ZXIpKSB7fQ0KKyANCisgRm9ybURhdGFF bGVtZW50OjpGb3JtRGF0YUVsZW1lbnQoY29uc3QgRm9ybURhdGFFbGVtZW50JikgPSBkZWZhdWx0 Ow0KKy1Gb3JtRGF0YUVsZW1lbnQ6OkZvcm1EYXRhRWxlbWVudChGb3JtRGF0YUVsZW1lbnQmJikg bm9leGNlcHQgPSBkZWZhdWx0Ow0KKytGb3JtRGF0YUVsZW1lbnQ6OkZvcm1EYXRhRWxlbWVudChG b3JtRGF0YUVsZW1lbnQmJikgPSBkZWZhdWx0Ow0KKyBGb3JtRGF0YUVsZW1lbnQ6On5Gb3JtRGF0 YUVsZW1lbnQoKSA9IGRlZmF1bHQ7DQorIEZvcm1EYXRhRWxlbWVudCYgRm9ybURhdGFFbGVtZW50 OjpvcGVyYXRvcj0oY29uc3QgRm9ybURhdGFFbGVtZW50JikgPSBkZWZhdWx0Ow0KKy1Gb3JtRGF0 YUVsZW1lbnQmIEZvcm1EYXRhRWxlbWVudDo6b3BlcmF0b3I9KEZvcm1EYXRhRWxlbWVudCYmKSBu b2V4Y2VwdCA9DQorLSAgICBkZWZhdWx0Ow0KKytGb3JtRGF0YUVsZW1lbnQmIEZvcm1EYXRhRWxl bWVudDo6b3BlcmF0b3I9KEZvcm1EYXRhRWxlbWVudCYmKSA9IGRlZmF1bHQ7DQorIA0KKyBib29s IG9wZXJhdG9yPT0oY29uc3QgRm9ybURhdGFFbGVtZW50JiBhLCBjb25zdCBGb3JtRGF0YUVsZW1l bnQmIGIpIHsNCisgICBpZiAoJmEgPT0gJmIpDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL25ldHdvcmsvZW5jb2RlZF9mb3JtX2RhdGEuaCBiL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL25ldHdvcmsvZW5jb2RlZF9mb3JtX2RhdGEu aA0KK2luZGV4IDQ4Zjg0YzguLjg2NWY2NjQgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vbmV0d29yay9lbmNvZGVkX2Zvcm1fZGF0YS5oDQorKysrIGIv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vbmV0d29yay9lbmNvZGVkX2Zvcm1f ZGF0YS5oDQorQEAgLTYxLDEyICs2MSwxMiBAQA0KKyAgIGV4cGxpY2l0IEZvcm1EYXRhRWxlbWVu dChzY29wZWRfcmVmcHRyPFdyYXBwZWREYXRhUGlwZUdldHRlcj4pOw0KKyANCisgICBGb3JtRGF0 YUVsZW1lbnQoY29uc3QgRm9ybURhdGFFbGVtZW50Jik7DQorLSAgRm9ybURhdGFFbGVtZW50KEZv cm1EYXRhRWxlbWVudCYmKSBub2V4Y2VwdDsNCisrICBGb3JtRGF0YUVsZW1lbnQoRm9ybURhdGFF bGVtZW50JiYpOw0KKyANCisgICB+Rm9ybURhdGFFbGVtZW50KCk7DQorIA0KKyAgIEZvcm1EYXRh RWxlbWVudCYgb3BlcmF0b3I9KGNvbnN0IEZvcm1EYXRhRWxlbWVudCYpOw0KKy0gIEZvcm1EYXRh RWxlbWVudCYgb3BlcmF0b3I9KEZvcm1EYXRhRWxlbWVudCYmKSBub2V4Y2VwdDsNCisrICBGb3Jt RGF0YUVsZW1lbnQmIG9wZXJhdG9yPShGb3JtRGF0YUVsZW1lbnQmJik7DQorIA0KKyAgIGJvb2wg SXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3Q7DQorIA0KK2RpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvY29tbW9uL2ZyYW1l X29yX3dvcmtlcl9zY2hlZHVsZXIuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9zY2hlZHVsZXIvY29tbW9uL2ZyYW1lX29yX3dvcmtlcl9zY2hlZHVsZXIuY2MNCitpbmRl eCBlYmU5OWZmLi5lOTcxODU2IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL3NjaGVkdWxlci9jb21tb24vZnJhbWVfb3Jfd29ya2VyX3NjaGVkdWxlci5j Yw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3NjaGVkdWxlci9j b21tb24vZnJhbWVfb3Jfd29ya2VyX3NjaGVkdWxlci5jYw0KK0BAIC0yOCwxNSArMjgsMTQgQEAN CisgfQ0KKyANCisgRnJhbWVPcldvcmtlclNjaGVkdWxlcjo6U2NoZWR1bGluZ0FmZmVjdGluZ0Zl YXR1cmVIYW5kbGU6Og0KKy0gICAgU2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUoDQor LSAgICAgICAgU2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUmJiBvdGhlcikgbm9leGNl cHQNCisrICAgIFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlKFNjaGVkdWxpbmdBZmZl Y3RpbmdGZWF0dXJlSGFuZGxlJiYgb3RoZXIpDQorICAgICA6IGZlYXR1cmVfKG90aGVyLmZlYXR1 cmVfKSwgc2NoZWR1bGVyXyhzdGQ6Om1vdmUob3RoZXIuc2NoZWR1bGVyXykpIHsNCisgICBvdGhl ci5zY2hlZHVsZXJfID0gbnVsbHB0cjsNCisgfQ0KKyANCisgRnJhbWVPcldvcmtlclNjaGVkdWxl cjo6U2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUmDQorIEZyYW1lT3JXb3JrZXJTY2hl ZHVsZXI6OlNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlOjpvcGVyYXRvcj0oDQorLSAg ICBTY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZSYmIG90aGVyKSBub2V4Y2VwdCB7DQor KyAgICBTY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZSYmIG90aGVyKSB7DQorICAgZmVh dHVyZV8gPSBvdGhlci5mZWF0dXJlXzsNCisgICBwb2xpY3lfID0gc3RkOjptb3ZlKG90aGVyLnBv bGljeV8pOw0KKyAgIHNjaGVkdWxlcl8gPSBzdGQ6Om1vdmUob3RoZXIuc2NoZWR1bGVyXyk7DQor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3NjaGVkdWxl ci9jb21tb24vcG9zdF9jYW5jZWxsYWJsZV90YXNrLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vc2NoZWR1bGVyL2NvbW1vbi9wb3N0X2NhbmNlbGxhYmxlX3Rhc2suY2MN CitpbmRleCAyYzg0ZDcwLi5mYWQ1NmVlMSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvY29tbW9uL3Bvc3RfY2FuY2VsbGFibGVfdGFz ay5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3NjaGVkdWxl ci9jb21tb24vcG9zdF9jYW5jZWxsYWJsZV90YXNrLmNjDQorQEAgLTEwMyw5ICsxMDMsOSBAQA0K KyAgIENhbmNlbCgpOw0KKyB9DQorIA0KKy1UYXNrSGFuZGxlOjpUYXNrSGFuZGxlKFRhc2tIYW5k bGUmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKytUYXNrSGFuZGxlOjpUYXNrSGFuZGxlKFRhc2tI YW5kbGUmJikgPSBkZWZhdWx0Ow0KKyANCistVGFza0hhbmRsZSYgVGFza0hhbmRsZTo6b3BlcmF0 b3I9KFRhc2tIYW5kbGUmJiBvdGhlcikgbm9leGNlcHQgew0KKytUYXNrSGFuZGxlJiBUYXNrSGFu ZGxlOjpvcGVyYXRvcj0oVGFza0hhbmRsZSYmIG90aGVyKSB7DQorICAgVGFza0hhbmRsZSB0bXAo c3RkOjptb3ZlKG90aGVyKSk7DQorICAgcnVubmVyXy5zd2FwKHRtcC5ydW5uZXJfKTsNCisgICBy ZXR1cm4gKnRoaXM7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL3NjaGVkdWxlci9tYWluX3RocmVhZC93ZWJfc2NvcGVkX3ZpcnR1YWxfdGltZV9wYXVz ZXIuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvbWFp bl90aHJlYWQvd2ViX3Njb3BlZF92aXJ0dWFsX3RpbWVfcGF1c2VyLmNjDQoraW5kZXggZjU1NzMw YS4uYjY0ZWM5ZCAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9zY2hlZHVsZXIvbWFpbl90aHJlYWQvd2ViX3Njb3BlZF92aXJ0dWFsX3RpbWVfcGF1c2Vy LmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vc2NoZWR1bGVy L21haW5fdGhyZWFkL3dlYl9zY29wZWRfdmlydHVhbF90aW1lX3BhdXNlci5jYw0KK0BAIC0yOCw3 ICsyOCw3IEBADQorIH0NCisgDQorIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyOjpXZWJTY29w ZWRWaXJ0dWFsVGltZVBhdXNlcigNCistICAgIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyJiYg b3RoZXIpIG5vZXhjZXB0IHsNCisrICAgIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyJiYgb3Ro ZXIpIHsNCisgICB2aXJ0dWFsX3RpbWVfd2hlbl9wYXVzZWRfID0gb3RoZXIudmlydHVhbF90aW1l X3doZW5fcGF1c2VkXzsNCisgICBwYXVzZWRfID0gb3RoZXIucGF1c2VkXzsNCisgICBkdXJhdGlv bl8gPSBvdGhlci5kdXJhdGlvbl87DQorQEAgLTM5LDcgKzM5LDcgQEANCisgfQ0KKyANCisgV2Vi U2NvcGVkVmlydHVhbFRpbWVQYXVzZXImIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyOjpvcGVy YXRvcj0oDQorLSAgICBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlciYmIG90aGVyKSBub2V4Y2Vw dCB7DQorKyAgICBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlciYmIG90aGVyKSB7DQorICAgaWYg KHNjaGVkdWxlcl8gJiYgcGF1c2VkXykNCisgICAgIERlY3JlbWVudFZpcnR1YWxUaW1lUGF1c2VD b3VudCgpOw0KKyAgIHZpcnR1YWxfdGltZV93aGVuX3BhdXNlZF8gPSBvdGhlci52aXJ0dWFsX3Rp bWVfd2hlbl9wYXVzZWRfOw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9zY2hlZHVsZXIvcHVibGljL2ZyYW1lX29yX3dvcmtlcl9zY2hlZHVsZXIuaCBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3NjaGVkdWxlci9wdWJsaWMvZnJh bWVfb3Jfd29ya2VyX3NjaGVkdWxlci5oDQoraW5kZXggNTY5MTVlZS4uM2ZkYjhjZiAxMDA2NDQN CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvcHVi bGljL2ZyYW1lX29yX3dvcmtlcl9zY2hlZHVsZXIuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL3NjaGVkdWxlci9wdWJsaWMvZnJhbWVfb3Jfd29ya2VyX3NjaGVk dWxlci5oDQorQEAgLTU3LDEyICs1NywxMSBAQA0KKyANCisgICAgcHVibGljOg0KKyAgICAgU2No ZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUoKSA9IGRlZmF1bHQ7DQorLSAgICBTY2hlZHVs aW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZSgNCistICAgICAgICBTY2hlZHVsaW5nQWZmZWN0aW5n RmVhdHVyZUhhbmRsZSYmKSBub2V4Y2VwdDsNCisrICAgIFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0 dXJlSGFuZGxlKFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlJiYpOw0KKyAgICAgaW5s aW5lIH5TY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZSgpIHsgcmVzZXQoKTsgfQ0KKyAN CisgICAgIFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlJiBvcGVyYXRvcj0oDQorLSAg ICAgICAgU2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUmJikgbm9leGNlcHQ7DQorKyAg ICAgICAgU2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUmJik7DQorIA0KKyAgICAgaW5s aW5lIHZvaWQgcmVzZXQoKSB7DQorICAgICAgIGlmIChzY2hlZHVsZXJfKQ0KK2RpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvcHVibGljL3Bv c3RfY2FuY2VsbGFibGVfdGFzay5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vc2NoZWR1bGVyL3B1YmxpYy9wb3N0X2NhbmNlbGxhYmxlX3Rhc2suaA0KK2luZGV4IDM4Y2Jm NjMuLmFlNjZjNzMgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxh dGZvcm0vc2NoZWR1bGVyL3B1YmxpYy9wb3N0X2NhbmNlbGxhYmxlX3Rhc2suaA0KKysrKyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3NjaGVkdWxlci9wdWJsaWMvcG9zdF9j YW5jZWxsYWJsZV90YXNrLmgNCitAQCAtMjgsOCArMjgsOCBAQA0KKyAgIFRhc2tIYW5kbGUoKTsN CisgICB+VGFza0hhbmRsZSgpOw0KKyANCistICBUYXNrSGFuZGxlKFRhc2tIYW5kbGUmJikgbm9l eGNlcHQ7DQorLSAgVGFza0hhbmRsZSYgb3BlcmF0b3I9KFRhc2tIYW5kbGUmJikgbm9leGNlcHQ7 DQorKyAgVGFza0hhbmRsZShUYXNrSGFuZGxlJiYpOw0KKysgIFRhc2tIYW5kbGUmIG9wZXJhdG9y PShUYXNrSGFuZGxlJiYpOw0KKyANCisgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHRhc2sgd2ls bCBydW4gbGF0ZXIuIFJldHVybnMgZmFsc2UgaWYgdGhlIHRhc2sgaXMNCisgICAvLyBjYW5jZWxs ZWQgb3IgdGhlIHRhc2sgaXMgcnVuIGFscmVhZHkuDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3dlYm9yaWdpbi9vcmlnaW5fYWNjZXNzX2VudHJ5LmNj IGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd2Vib3JpZ2luL29yaWdpbl9h Y2Nlc3NfZW50cnkuY2MNCitpbmRleCAyZTlhOWQxLi5jOWQ3NzdlNyAxMDA2NDQNCistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93ZWJvcmlnaW4vb3JpZ2luX2FjY2Vz c19lbnRyeS5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3dl Ym9yaWdpbi9vcmlnaW5fYWNjZXNzX2VudHJ5LmNjDQorQEAgLTU5LDggKzU5LDcgQEANCisgICAg ICAgICAgICAgICAgbmV0d29yazo6bW9qb206OkNvcnNQb3J0TWF0Y2hNb2RlOjprQWxsb3dPbmx5 U3BlY2lmaWVkUG9ydCwNCisgICAgICAgICAgICAgICAgcHJpb3JpdHkpIHt9DQorIA0KKy1Pcmln aW5BY2Nlc3NFbnRyeTo6T3JpZ2luQWNjZXNzRW50cnkoT3JpZ2luQWNjZXNzRW50cnkmJiBmcm9t KSBub2V4Y2VwdCA9DQorLSAgICBkZWZhdWx0Ow0KKytPcmlnaW5BY2Nlc3NFbnRyeTo6T3JpZ2lu QWNjZXNzRW50cnkoT3JpZ2luQWNjZXNzRW50cnkmJiBmcm9tKSA9IGRlZmF1bHQ7DQorIA0KKyBu ZXR3b3JrOjpjb3JzOjpPcmlnaW5BY2Nlc3NFbnRyeTo6TWF0Y2hSZXN1bHQgT3JpZ2luQWNjZXNz RW50cnk6Ok1hdGNoZXNPcmlnaW4oDQorICAgICBjb25zdCBTZWN1cml0eU9yaWdpbiYgb3JpZ2lu KSBjb25zdCB7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRm b3JtL3dlYm9yaWdpbi9vcmlnaW5fYWNjZXNzX2VudHJ5LmggYi90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS93ZWJvcmlnaW4vb3JpZ2luX2FjY2Vzc19lbnRyeS5oDQoraW5kZXgg YjNlNTY3NC4uNTExM2E0MCAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS93ZWJvcmlnaW4vb3JpZ2luX2FjY2Vzc19lbnRyeS5oDQorKysrIGIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd2Vib3JpZ2luL29yaWdpbl9hY2Nlc3NfZW50 cnkuaA0KK0BAIC01OCw3ICs1OCw3IEBADQorICAgICAgIG5ldHdvcms6Om1vam9tOjpDb3JzRG9t YWluTWF0Y2hNb2RlLA0KKyAgICAgICBuZXR3b3JrOjptb2pvbTo6Q29yc09yaWdpbkFjY2Vzc01h dGNoUHJpb3JpdHkgcHJpb3JpdHkgPQ0KKyAgICAgICAgICAgbmV0d29yazo6bW9qb206OkNvcnNP cmlnaW5BY2Nlc3NNYXRjaFByaW9yaXR5OjprRGVmYXVsdFByaW9yaXR5KTsNCistICBPcmlnaW5B Y2Nlc3NFbnRyeShPcmlnaW5BY2Nlc3NFbnRyeSYmIGZyb20pIG5vZXhjZXB0Ow0KKysgIE9yaWdp bkFjY2Vzc0VudHJ5KE9yaWdpbkFjY2Vzc0VudHJ5JiYgZnJvbSk7DQorIA0KKyAgIG5ldHdvcms6 OmNvcnM6Ok9yaWdpbkFjY2Vzc0VudHJ5OjpNYXRjaFJlc3VsdCBNYXRjaGVzT3JpZ2luKA0KKyAg ICAgICBjb25zdCBTZWN1cml0eU9yaWdpbiYpIGNvbnN0Ow0KK2RpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvZGVxdWUuaCBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9kZXF1ZS5oDQoraW5kZXggYzZmZTFiOS4uNGE5OGZm YiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYv ZGVxdWUuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9k ZXF1ZS5oDQorQEAgLTY0LDggKzY0LDggQEAgY2xhc3MgRGVxdWUgew0KKyAgIERlcXVlKCk7DQor ICAgRGVxdWUoY29uc3QgRGVxdWUmKTsNCisgICBEZXF1ZSYgb3BlcmF0b3I9KGNvbnN0IERlcXVl Jik7DQorLSAgRGVxdWUoRGVxdWUmJikgbm9leGNlcHQ7DQorLSAgRGVxdWUmIG9wZXJhdG9yPShE ZXF1ZSYmKSBub2V4Y2VwdDsNCisrICBEZXF1ZShEZXF1ZSYmKTsNCisrICBEZXF1ZSYgb3BlcmF0 b3I9KERlcXVlJiYpOw0KKyAgIH5EZXF1ZSgpOw0KKyANCisgICB2b2lkIEZpbmFsaXplR2FyYmFn ZUNvbGxlY3RlZE9iamVjdCgpIHsgTk9UUkVBQ0hFRCgpOyB9DQorQEAgLTM0MywxNCArMzQzLDE0 IEBADQorIH0NCisgDQorIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB3dGZfc2l6ZV90IGlubGluZUNh cGFjaXR5LCB0eXBlbmFtZSBBbGxvY2F0b3I+DQorLWlubGluZSBEZXF1ZTxULCBpbmxpbmVDYXBh Y2l0eSwgQWxsb2NhdG9yPjo6RGVxdWUoRGVxdWUmJiBvdGhlcikgbm9leGNlcHQNCisraW5saW5l IERlcXVlPFQsIGlubGluZUNhcGFjaXR5LCBBbGxvY2F0b3I+OjpEZXF1ZShEZXF1ZSYmIG90aGVy KQ0KKyAgICAgOiBzdGFydF8oMCksIGVuZF8oMCkgew0KKyAgIFN3YXAob3RoZXIpOw0KKyB9DQor IA0KKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgd3RmX3NpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlw ZW5hbWUgQWxsb2NhdG9yPg0KKyBpbmxpbmUgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHksIEFsbG9j YXRvcj4mDQorLURlcXVlPFQsIGlubGluZUNhcGFjaXR5LCBBbGxvY2F0b3I+OjpvcGVyYXRvcj0o RGVxdWUmJiBvdGhlcikgbm9leGNlcHQgew0KKytEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eSwgQWxs b2NhdG9yPjo6b3BlcmF0b3I9KERlcXVlJiYgb3RoZXIpIHsNCisgICBTd2FwKG90aGVyKTsNCisg ICByZXR1cm4gKnRoaXM7DQorIH0NCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vd3RmL2Z1bmN0aW9uYWwuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL3d0Zi9mdW5jdGlvbmFsLmgNCitpbmRleCAyYzVhZWVhLi41ZTRiMzczIDEw MDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9mdW5j dGlvbmFsLmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYv ZnVuY3Rpb25hbC5oDQorQEAgLTExNyw4ICsxMTcsNyBAQA0KKyBjbGFzcyBQYXNzZWRXcmFwcGVy IGZpbmFsIHsNCisgIHB1YmxpYzoNCisgICBleHBsaWNpdCBQYXNzZWRXcmFwcGVyKFQmJiBzY29w ZXIpIDogc2NvcGVyXyhzdGQ6Om1vdmUoc2NvcGVyKSkge30NCistICBQYXNzZWRXcmFwcGVyKFBh c3NlZFdyYXBwZXImJiBvdGhlcikgbm9leGNlcHQNCistICAgICAgOiBzY29wZXJfKHN0ZDo6bW92 ZShvdGhlci5zY29wZXJfKSkge30NCisrICBQYXNzZWRXcmFwcGVyKFBhc3NlZFdyYXBwZXImJiBv dGhlcikgOiBzY29wZXJfKHN0ZDo6bW92ZShvdGhlci5zY29wZXJfKSkge30NCisgICBUIE1vdmVP dXQoKSBjb25zdCB7IHJldHVybiBzdGQ6Om1vdmUoc2NvcGVyXyk7IH0NCisgDQorICBwcml2YXRl Og0KK0BAIC0zMTksOSArMzE4LDggQEANCisgICBDcm9zc1RocmVhZEZ1bmN0aW9uKGNvbnN0IENy b3NzVGhyZWFkRnVuY3Rpb24mKSA9IGRlbGV0ZTsNCisgICBDcm9zc1RocmVhZEZ1bmN0aW9uJiBv cGVyYXRvcj0oY29uc3QgQ3Jvc3NUaHJlYWRGdW5jdGlvbiYpID0gZGVsZXRlOw0KKyANCistICBD cm9zc1RocmVhZEZ1bmN0aW9uKENyb3NzVGhyZWFkRnVuY3Rpb24mJiBvdGhlcikgbm9leGNlcHQg PSBkZWZhdWx0Ow0KKy0gIENyb3NzVGhyZWFkRnVuY3Rpb24mIG9wZXJhdG9yPShDcm9zc1RocmVh ZEZ1bmN0aW9uJiYgb3RoZXIpIG5vZXhjZXB0ID0NCistICAgICAgZGVmYXVsdDsNCisrICBDcm9z c1RocmVhZEZ1bmN0aW9uKENyb3NzVGhyZWFkRnVuY3Rpb24mJiBvdGhlcikgPSBkZWZhdWx0Ow0K KysgIENyb3NzVGhyZWFkRnVuY3Rpb24mIG9wZXJhdG9yPShDcm9zc1RocmVhZEZ1bmN0aW9uJiYg b3RoZXIpID0gZGVmYXVsdDsNCisgDQorICAgUiBSdW4oQXJncy4uLiBhcmdzKSBjb25zdCAmIHsN CisgICAgIHJldHVybiBjYWxsYmFja18uUnVuKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLik7 DQorQEAgLTM1Niw5ICszNTQsOCBAQA0KKyAgIENyb3NzVGhyZWFkT25jZUZ1bmN0aW9uKGNvbnN0 IENyb3NzVGhyZWFkT25jZUZ1bmN0aW9uJikgPSBkZWxldGU7DQorICAgQ3Jvc3NUaHJlYWRPbmNl RnVuY3Rpb24mIG9wZXJhdG9yPShjb25zdCBDcm9zc1RocmVhZE9uY2VGdW5jdGlvbiYpID0gZGVs ZXRlOw0KKyANCistICBDcm9zc1RocmVhZE9uY2VGdW5jdGlvbihDcm9zc1RocmVhZE9uY2VGdW5j dGlvbiYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorLSAgQ3Jvc3NUaHJlYWRPbmNlRnVu Y3Rpb24mIG9wZXJhdG9yPShDcm9zc1RocmVhZE9uY2VGdW5jdGlvbiYmIG90aGVyKSBub2V4Y2Vw dCA9DQorLSAgICAgIGRlZmF1bHQ7DQorKyAgQ3Jvc3NUaHJlYWRPbmNlRnVuY3Rpb24oQ3Jvc3NU aHJlYWRPbmNlRnVuY3Rpb24mJiBvdGhlcikgPSBkZWZhdWx0Ow0KKysgIENyb3NzVGhyZWFkT25j ZUZ1bmN0aW9uJiBvcGVyYXRvcj0oQ3Jvc3NUaHJlYWRPbmNlRnVuY3Rpb24mJiBvdGhlcikgPSBk ZWZhdWx0Ow0KKyANCisgICBSIFJ1bihBcmdzLi4uIGFyZ3MpICYmIHsNCisgICAgIHJldHVybiBz dGQ6Om1vdmUoY2FsbGJhY2tfKS5SdW4oc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsNCitk aWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hf bWFwLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvaGFzaF9tYXAu aA0KK2luZGV4IDhhMDAyYTguLjQ2YjM5ZTAgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hfbWFwLmgNCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvaGFzaF9tYXAuaA0KK0BAIC0xMDYsOCArMTA2LDgg QEANCisgI2VuZGlmDQorICAgSGFzaE1hcChjb25zdCBIYXNoTWFwJikgPSBkZWZhdWx0Ow0KKyAg IEhhc2hNYXAmIG9wZXJhdG9yPShjb25zdCBIYXNoTWFwJikgPSBkZWZhdWx0Ow0KKy0gIEhhc2hN YXAoSGFzaE1hcCYmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorLSAgSGFzaE1hcCYgb3BlcmF0b3I9 KEhhc2hNYXAmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgIEhhc2hNYXAoSGFzaE1hcCYmKSA9 IGRlZmF1bHQ7DQorKyAgSGFzaE1hcCYgb3BlcmF0b3I9KEhhc2hNYXAmJikgPSBkZWZhdWx0Ow0K KyANCisgICAvLyBGb3IgZXhhbXBsZSwgSGFzaE1hcDxpbnQsIGludD4oe3sxLCAxMX0sIHsyLCAy Mn0sIHszLCAzM319KSB3aWxsIGdpdmUgeW91DQorICAgLy8gYSBIYXNoTWFwIGNvbnRhaW5pbmcg YSBtYXBwaW5nIHsxIC0+IDExLCAyIC0+IDIyLCAzIC0+IDMzfS4NCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hfc2V0LmggYi90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvaGFzaF9zZXQuaA0KK2luZGV4IGM3OWU0 NWYxLi5kN2NkZWVkIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL3d0Zi9oYXNoX3NldC5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vd3RmL2hhc2hfc2V0LmgNCitAQCAtNzQsOCArNzQsOCBAQA0KKyAgIH0NCisgICBI YXNoU2V0KGNvbnN0IEhhc2hTZXQmKSA9IGRlZmF1bHQ7DQorICAgSGFzaFNldCYgb3BlcmF0b3I9 KGNvbnN0IEhhc2hTZXQmKSA9IGRlZmF1bHQ7DQorLSAgSGFzaFNldChIYXNoU2V0JiYpIG5vZXhj ZXB0ID0gZGVmYXVsdDsNCistICBIYXNoU2V0JiBvcGVyYXRvcj0oSGFzaFNldCYmKSBub2V4Y2Vw dCA9IGRlZmF1bHQ7DQorKyAgSGFzaFNldChIYXNoU2V0JiYpID0gZGVmYXVsdDsNCisrICBIYXNo U2V0JiBvcGVyYXRvcj0oSGFzaFNldCYmKSA9IGRlZmF1bHQ7DQorIA0KKyAgIEhhc2hTZXQoc3Rk Ojppbml0aWFsaXplcl9saXN0PFZhbHVlVHlwZT4gZWxlbWVudHMpOw0KKyAgIEhhc2hTZXQmIG9w ZXJhdG9yPShzdGQ6OmluaXRpYWxpemVyX2xpc3Q8VmFsdWVUeXBlPiBlbGVtZW50cyk7DQorZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9oYXNoX3Rh YmxlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvaGFzaF90YWJs ZS5oDQoraW5kZXggMzczMjgwZi4uNTI0ODNlYzUgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hfdGFibGUuaA0KKysrKyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9oYXNoX3RhYmxlLmgNCitAQCAtNzQ3LDEw ICs3NDcsMTAgQEANCisgICB9DQorIA0KKyAgIEhhc2hUYWJsZShjb25zdCBIYXNoVGFibGUmKTsN CistICBIYXNoVGFibGUoSGFzaFRhYmxlJiYpIG5vZXhjZXB0Ow0KKysgIEhhc2hUYWJsZShIYXNo VGFibGUmJik7DQorICAgdm9pZCBzd2FwKEhhc2hUYWJsZSYpOw0KKyAgIEhhc2hUYWJsZSYgb3Bl cmF0b3I9KGNvbnN0IEhhc2hUYWJsZSYpOw0KKy0gIEhhc2hUYWJsZSYgb3BlcmF0b3I9KEhhc2hU YWJsZSYmKSBub2V4Y2VwdDsNCisrICBIYXNoVGFibGUmIG9wZXJhdG9yPShIYXNoVGFibGUmJik7 DQorIA0KKyAgIC8vIFdoZW4gdGhlIGhhc2ggdGFibGUgaXMgZW1wdHksIGp1c3QgcmV0dXJuIHRo ZSBzYW1lIGl0ZXJhdG9yIGZvciBlbmQgYXMNCisgICAvLyBmb3IgYmVnaW4uICBUaGlzIGlzIG1v cmUgZWZmaWNpZW50IGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB0byBza2lwIGFsbCB0aGUNCitAQCAt MTkyOSw3ICsxOTI5LDcgQEANCisgICAgICAgICAgIHR5cGVuYW1lIEtleVRyYWl0cywNCisgICAg ICAgICAgIHR5cGVuYW1lIEFsbG9jYXRvcj4NCisgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJh Y3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHMsIEFsbG9jYXRvcj46Og0KKy0g ICAgSGFzaFRhYmxlKEhhc2hUYWJsZSYmIG90aGVyKSBub2V4Y2VwdA0KKysgICAgSGFzaFRhYmxl KEhhc2hUYWJsZSYmIG90aGVyKQ0KKyAgICAgOiB0YWJsZV8obnVsbHB0ciksDQorICAgICAgIHRh YmxlX3NpemVfKDApLA0KKyAgICAgICBrZXlfY291bnRfKDApLA0KK0BAIC0yMDA4LDcgKzIwMDgs NyBAQA0KKyAgICAgICAgICAgdHlwZW5hbWUgQWxsb2NhdG9yPg0KKyBIYXNoVGFibGU8S2V5LCBW YWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHMsIEtleVRyYWl0cywgQWxsb2Nh dG9yPiYNCisgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywg VHJhaXRzLCBLZXlUcmFpdHMsIEFsbG9jYXRvcj46Og0KKy1vcGVyYXRvcj0oSGFzaFRhYmxlJiYg b3RoZXIpIG5vZXhjZXB0IHsNCisrb3BlcmF0b3I9KEhhc2hUYWJsZSYmIG90aGVyKSB7DQorICAg c3dhcChvdGhlcik7DQorICAgcmV0dXJuICp0aGlzOw0KKyB9DQorZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9saW5rZWRfaGFzaF9zZXQuaCBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9saW5rZWRfaGFzaF9zZXQuaA0K K2luZGV4IDc5YzNkNzZkLi43MWVmMzdhIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9saW5rZWRfaGFzaF9zZXQuaA0KKysrKyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9saW5rZWRfaGFzaF9zZXQuaA0KK0BAIC0x MjEsNyArMTIxLDcgQEANCisgICBMaW5rZWRIYXNoU2V0Tm9kZUJhc2UoY29uc3QgTGlua2VkSGFz aFNldE5vZGVCYXNlJiBvdGhlcikNCisgICAgICAgOiBwcmV2XyhudWxscHRyKSwgbmV4dF8obnVs bHB0cikge30NCisgDQorLSAgTGlua2VkSGFzaFNldE5vZGVCYXNlKExpbmtlZEhhc2hTZXROb2Rl QmFzZSYmIG90aGVyKSBub2V4Y2VwdA0KKysgIExpbmtlZEhhc2hTZXROb2RlQmFzZShMaW5rZWRI YXNoU2V0Tm9kZUJhc2UmJiBvdGhlcikNCisgICAgICAgOiBwcmV2XyhvdGhlci5wcmV2XyksIG5l eHRfKG90aGVyLm5leHRfKSB7DQorICAgICBvdGhlci5wcmV2XyA9IG51bGxwdHI7DQorICAgICBv dGhlci5uZXh0XyA9IG51bGxwdHI7DQorQEAgLTE1MSw3ICsxNTEsNyBAQA0KKyAgICAgICAgICAg ICAgICAgICAgIExpbmtlZEhhc2hTZXROb2RlQmFzZSogbmV4dCkNCisgICAgICAgOiBMaW5rZWRI YXNoU2V0Tm9kZUJhc2UocHJldiwgbmV4dCksIHZhbHVlXyhzdGQ6Om1vdmUodmFsdWUpKSB7fQ0K KyANCistICBMaW5rZWRIYXNoU2V0Tm9kZShMaW5rZWRIYXNoU2V0Tm9kZSYmIG90aGVyKSBub2V4 Y2VwdA0KKysgIExpbmtlZEhhc2hTZXROb2RlKExpbmtlZEhhc2hTZXROb2RlJiYgb3RoZXIpDQor ICAgICAgIDogTGlua2VkSGFzaFNldE5vZGVCYXNlKHN0ZDo6bW92ZShvdGhlcikpLA0KKyAgICAg ICAgIHZhbHVlXyhzdGQ6Om1vdmUob3RoZXIudmFsdWVfKSkge30NCisgDQorQEAgLTIxNCw5ICsy MTQsOSBAQA0KKyANCisgICBMaW5rZWRIYXNoU2V0KCk7DQorICAgTGlua2VkSGFzaFNldChjb25z dCBMaW5rZWRIYXNoU2V0Jik7DQorLSAgTGlua2VkSGFzaFNldChMaW5rZWRIYXNoU2V0JiYpIG5v ZXhjZXB0Ow0KKysgIExpbmtlZEhhc2hTZXQoTGlua2VkSGFzaFNldCYmKTsNCisgICBMaW5rZWRI YXNoU2V0JiBvcGVyYXRvcj0oY29uc3QgTGlua2VkSGFzaFNldCYpOw0KKy0gIExpbmtlZEhhc2hT ZXQmIG9wZXJhdG9yPShMaW5rZWRIYXNoU2V0JiYpIG5vZXhjZXB0Ow0KKysgIExpbmtlZEhhc2hT ZXQmIG9wZXJhdG9yPShMaW5rZWRIYXNoU2V0JiYpOw0KKyANCisgICAvLyBOZWVkcyBmaW5hbGl6 YXRpb24uIFRoZSBhbmNob3IgbmVlZHMgdG8gdW5saW5rIGl0c2VsZiBmcm9tIHRoZSBjaGFpbi4N CisgICB+TGlua2VkSGFzaFNldCgpOw0KK0BAIC03NDgsNyArNzQ4LDcgQEANCisgfQ0KKyANCisg dGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1lIFc+ DQorLWlubGluZSBMaW5rZWRIYXNoU2V0PFQsIFUsIFYsIFc+OjpMaW5rZWRIYXNoU2V0KExpbmtl ZEhhc2hTZXQmJiBvdGhlcikgbm9leGNlcHQNCisraW5saW5lIExpbmtlZEhhc2hTZXQ8VCwgVSwg ViwgVz46OkxpbmtlZEhhc2hTZXQoTGlua2VkSGFzaFNldCYmIG90aGVyKQ0KKyAgICAgOiBhbmNo b3JfKCkgew0KKyAgIFN3YXAob3RoZXIpOw0KKyB9DQorQEAgLTc2Myw3ICs3NjMsNyBAQA0KKyAN CisgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1l IFc+DQorIGlubGluZSBMaW5rZWRIYXNoU2V0PFQsIFUsIFYsIFc+JiBMaW5rZWRIYXNoU2V0PFQs IFUsIFYsIFc+OjpvcGVyYXRvcj0oDQorLSAgICBMaW5rZWRIYXNoU2V0JiYgb3RoZXIpIG5vZXhj ZXB0IHsNCisrICAgIExpbmtlZEhhc2hTZXQmJiBvdGhlcikgew0KKyAgIFN3YXAob3RoZXIpOw0K KyAgIHJldHVybiAqdGhpczsNCisgfQ0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS93dGYvbGlzdF9oYXNoX3NldC5oIGIvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vd3RmL2xpc3RfaGFzaF9zZXQuaA0KK2luZGV4IGVhZDZhODcuLjc4 YmQyNzkgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v d3RmL2xpc3RfaGFzaF9zZXQuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL3d0Zi9saXN0X2hhc2hfc2V0LmgNCitAQCAtMTQ1LDkgKzE0NSw5IEBAIGNsYXNzIExp c3RIYXNoU2V0IHsNCisgDQorICAgTGlzdEhhc2hTZXQoKTsNCisgICBMaXN0SGFzaFNldChjb25z dCBMaXN0SGFzaFNldCYpOw0KKy0gIExpc3RIYXNoU2V0KExpc3RIYXNoU2V0JiYpIG5vZXhjZXB0 Ow0KKysgIExpc3RIYXNoU2V0KExpc3RIYXNoU2V0JiYpOw0KKyAgIExpc3RIYXNoU2V0JiBvcGVy YXRvcj0oY29uc3QgTGlzdEhhc2hTZXQmKTsNCistICBMaXN0SGFzaFNldCYgb3BlcmF0b3I9KExp c3RIYXNoU2V0JiYpIG5vZXhjZXB0Ow0KKysgIExpc3RIYXNoU2V0JiBvcGVyYXRvcj0oTGlzdEhh c2hTZXQmJik7DQorICAgfkxpc3RIYXNoU2V0KCk7DQorIA0KKyAgIHZvaWQgU3dhcChMaXN0SGFz aFNldCYpOw0KK0BAIC03ODAsOCArNzgwLDcgQEANCisgfQ0KKyANCisgdGVtcGxhdGUgPHR5cGVu YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgVj4NCist aW5saW5lIExpc3RIYXNoU2V0PFQsIGlubGluZUNhcGFjaXR5LCBVLCBWPjo6TGlzdEhhc2hTZXQo DQorLSAgICBMaXN0SGFzaFNldCYmIG90aGVyKSBub2V4Y2VwdA0KKytpbmxpbmUgTGlzdEhhc2hT ZXQ8VCwgaW5saW5lQ2FwYWNpdHksIFUsIFY+OjpMaXN0SGFzaFNldChMaXN0SGFzaFNldCYmIG90 aGVyKQ0KKyAgICAgOiBoZWFkXyhudWxscHRyKSwgdGFpbF8obnVsbHB0cikgew0KKyAgIFN3YXAo b3RoZXIpOw0KKyB9DQorQEAgLTc5Niw3ICs3OTUsNyBAQA0KKyANCisgdGVtcGxhdGUgPHR5cGVu YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgVj4NCisg aW5saW5lIExpc3RIYXNoU2V0PFQsIGlubGluZUNhcGFjaXR5LCBVLCBWPiYNCistTGlzdEhhc2hT ZXQ8VCwgaW5saW5lQ2FwYWNpdHksIFUsIFY+OjpvcGVyYXRvcj0oTGlzdEhhc2hTZXQmJiBvdGhl cikgbm9leGNlcHQgew0KKytMaXN0SGFzaFNldDxULCBpbmxpbmVDYXBhY2l0eSwgVSwgVj46Om9w ZXJhdG9yPShMaXN0SGFzaFNldCYmIG90aGVyKSB7DQorICAgU3dhcChvdGhlcik7DQorICAgcmV0 dXJuICp0aGlzOw0KKyB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL3d0Zi90eXBlX3RyYWl0c190ZXN0LmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vd3RmL3R5cGVfdHJhaXRzX3Rlc3QuY2MNCitpbmRleCAwOTMwYjczLi4x YjQ1ZDU1IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L3d0Zi90eXBlX3RyYWl0c190ZXN0LmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvcGxhdGZvcm0vd3RmL3R5cGVfdHJhaXRzX3Rlc3QuY2MNCitAQCAtMTU4LDcgKzE1OCw3IEBA DQorICAgU1RBQ0tfQUxMT0NBVEVEKCk7DQorIA0KKyAgcHVibGljOg0KKy0gIENvcHlBc3NpZ25t ZW50RGVsZXRlZCYgb3BlcmF0b3I9KENvcHlBc3NpZ25tZW50RGVsZXRlZCYmKSBub2V4Y2VwdDsN CisrICBDb3B5QXNzaWdubWVudERlbGV0ZWQmIG9wZXJhdG9yPShDb3B5QXNzaWdubWVudERlbGV0 ZWQmJik7DQorIA0KKyAgcHJpdmF0ZToNCisgICBDb3B5QXNzaWdubWVudERlbGV0ZWQmIG9wZXJh dG9yPShjb25zdCBDb3B5QXNzaWdubWVudERlbGV0ZWQmKSA9IGRlbGV0ZTsNCitAQCAtMTczLDcg KzE3Myw3IEBADQorICAgU1RBQ0tfQUxMT0NBVEVEKCk7DQorIA0KKyAgcHVibGljOg0KKy0gIENv cHlBc3NpZ25tZW50UHJpdmF0ZSYgb3BlcmF0b3I9KENvcHlBc3NpZ25tZW50UHJpdmF0ZSYmKSBu b2V4Y2VwdDsNCisrICBDb3B5QXNzaWdubWVudFByaXZhdGUmIG9wZXJhdG9yPShDb3B5QXNzaWdu bWVudFByaXZhdGUmJik7DQorIA0KKyAgcHJpdmF0ZToNCisgICBDb3B5QXNzaWdubWVudFByaXZh dGUmIG9wZXJhdG9yPShjb25zdCBDb3B5QXNzaWdubWVudFByaXZhdGUmKTsNCitAQCAtMTg4LDcg KzE4OCw3IEBADQorICAgU1RBQ0tfQUxMT0NBVEVEKCk7DQorIA0KKyAgcHVibGljOg0KKy0gIENv cHlBc3NpZ25tZW50VW5kZWNsYXJlZCYgb3BlcmF0b3I9KENvcHlBc3NpZ25tZW50VW5kZWNsYXJl ZCYmKSBub2V4Y2VwdDsNCisrICBDb3B5QXNzaWdubWVudFVuZGVjbGFyZWQmIG9wZXJhdG9yPShD b3B5QXNzaWdubWVudFVuZGVjbGFyZWQmJik7DQorIH07DQorIA0KKyBzdGF0aWNfYXNzZXJ0KCFz dGQ6OmlzX2NvcHlfYXNzaWduYWJsZTxDb3B5QXNzaWdubWVudFVuZGVjbGFyZWQ+Ojp2YWx1ZSwN CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3R5 cGVkX2FycmF5cy9hcnJheV9idWZmZXJfY29udGVudHMuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL3BsYXRmb3JtL3d0Zi90eXBlZF9hcnJheXMvYXJyYXlfYnVmZmVyX2NvbnRlbnRzLmgN CitpbmRleCAzZjQ0Y2QyLi5lZTdjODlhIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi90eXBlZF9hcnJheXMvYXJyYXlfYnVmZmVyX2NvbnRlbnRz LmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvdHlwZWRf YXJyYXlzL2FycmF5X2J1ZmZlcl9jb250ZW50cy5oDQorQEAgLTY4LDcgKzY4LDcgQEANCisgICAg ICAgICAgIGRlbGV0ZXJfKGRlbGV0ZXIpLA0KKyAgICAgICAgICAgZGVsZXRlcl9pbmZvXyhkZWxl dGVyX2luZm8pIHt9DQorICAgICAvLyBNb3ZlIGNvbnN0cnVjdG9yDQorLSAgICBEYXRhSGFuZGxl KERhdGFIYW5kbGUmJiBvdGhlcikgbm9leGNlcHQgeyAqdGhpcyA9IHN0ZDo6bW92ZShvdGhlcik7 IH0NCisrICAgIERhdGFIYW5kbGUoRGF0YUhhbmRsZSYmIG90aGVyKSB7ICp0aGlzID0gc3RkOjpt b3ZlKG90aGVyKTsgfQ0KKyAgICAgfkRhdGFIYW5kbGUoKSB7DQorICAgICAgIGlmICghZGF0YV8p DQorICAgICAgICAgcmV0dXJuOw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS93dGYvdmVjdG9yLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS93dGYvdmVjdG9yLmgNCitpbmRleCAyNzgzYzJiLi40M2EyN2Y3IDEwMDY0NA0KKy0t LSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi92ZWN0b3IuaA0KKysr KyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi92ZWN0b3IuaA0KK0BA IC0xMDE4LDggKzEwMTgsOCBAQA0KKyAgIFZlY3RvciYgb3BlcmF0b3I9KGNvbnN0IFZlY3RvcjxU LCBvdGhlckNhcGFjaXR5LCBBbGxvY2F0b3I+Jik7DQorIA0KKyAgIC8vIE1vdmluZy4NCistICBW ZWN0b3IoVmVjdG9yJiYpIG5vZXhjZXB0Ow0KKy0gIFZlY3RvciYgb3BlcmF0b3I9KFZlY3RvciYm KSBub2V4Y2VwdDsNCisrICBWZWN0b3IoVmVjdG9yJiYpOw0KKysgIFZlY3RvciYgb3BlcmF0b3I9 KFZlY3RvciYmKTsNCisgDQorICAgLy8gQ29uc3RydWN0IHdpdGggYW4gaW5pdGlhbGl6ZXIgbGlz dC4gWW91IGNhbiBkbyBlLmcuDQorICAgLy8gICAgIFZlY3RvcjxpbnQ+IHYoezEsIDIsIDN9KTsN CitAQCAtMTQ1OSw3ICsxNDU5LDcgQEANCisgDQorIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB3dGZf c2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBBbGxvY2F0b3I+DQorIFZlY3RvcjxULCBp bmxpbmVDYXBhY2l0eSwgQWxsb2NhdG9yPjo6VmVjdG9yKA0KKy0gICAgVmVjdG9yPFQsIGlubGlu ZUNhcGFjaXR5LCBBbGxvY2F0b3I+JiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrICAgIFZlY3RvcjxU LCBpbmxpbmVDYXBhY2l0eSwgQWxsb2NhdG9yPiYmIG90aGVyKSB7DQorICAgc2l6ZV8gPSAwOw0K KyAgIC8vIEl0J3MgYSBsaXR0bGUgd2VpcmQgdG8gaW1wbGVtZW50IGEgbW92ZSBjb25zdHJ1Y3Rv ciB1c2luZyBzd2FwIGJ1dCB0aGlzDQorICAgLy8gd2F5IHdlIGRvbid0IGhhdmUgdG8gYWRkIGEg bW92ZSBjb25zdHJ1Y3RvciB0byBWZWN0b3JCdWZmZXIuDQorQEAgLTE0NjgsNyArMTQ2OCw3IEBA DQorIA0KKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgd3RmX3NpemVfdCBpbmxpbmVDYXBhY2l0eSwg dHlwZW5hbWUgQWxsb2NhdG9yPg0KKyBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHksIEFsbG9jYXRv cj4mIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgQWxsb2NhdG9yPjo6DQorLW9wZXJhdG9yPShW ZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHksIEFsbG9jYXRvcj4mJiBvdGhlcikgbm9leGNlcHQgew0K KytvcGVyYXRvcj0oVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5LCBBbGxvY2F0b3I+JiYgb3RoZXIp IHsNCisgICBzd2FwKG90aGVyKTsNCisgICByZXR1cm4gKnRoaXM7DQorIH0NCitkaWZmIC0tZ2l0 IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3ZlY3Rvcl90ZXN0LmNj IGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3ZlY3Rvcl90ZXN0LmNj DQoraW5kZXggYWE4YTEzOC4uNzg4Y2MyYmIgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3ZlY3Rvcl90ZXN0LmNjDQorKysrIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3ZlY3Rvcl90ZXN0LmNjDQorQEAgLTQyMCw4 ICs0MjAsOCBAQA0KKyBjbGFzcyBNb2pvTW92ZU9ubHlUeXBlIGZpbmFsIHsNCisgIHB1YmxpYzoN CisgICBNb2pvTW92ZU9ubHlUeXBlKCk7DQorLSAgTW9qb01vdmVPbmx5VHlwZShNb2pvTW92ZU9u bHlUeXBlJiYpIG5vZXhjZXB0Ow0KKy0gIE1vam9Nb3ZlT25seVR5cGUmIG9wZXJhdG9yPShNb2pv TW92ZU9ubHlUeXBlJiYpIG5vZXhjZXB0Ow0KKysgIE1vam9Nb3ZlT25seVR5cGUoTW9qb01vdmVP bmx5VHlwZSYmKTsNCisrICBNb2pvTW92ZU9ubHlUeXBlJiBvcGVyYXRvcj0oTW9qb01vdmVPbmx5 VHlwZSYmKTsNCisgICB+TW9qb01vdmVPbmx5VHlwZSgpOw0KKyANCisgIHByaXZhdGU6DQorZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi93dGZfdGVz dF9oZWxwZXIuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi93dGZf dGVzdF9oZWxwZXIuaA0KK2luZGV4IGU3OTc0NDUuLjhmMzEzNjUgMTAwNjQ0DQorLS0tIGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3d0Zl90ZXN0X2hlbHBlci5oDQor KysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3d0Zl90ZXN0X2hl bHBlci5oDQorQEAgLTM2LDkgKzM2LDkgQEANCisgIHB1YmxpYzoNCisgICBleHBsaWNpdCBNb3Zl T25seShpbnQgaSA9IDApIDogaV8oaSkge30NCisgDQorLSAgTW92ZU9ubHkoTW92ZU9ubHkmJiBv dGhlcikgbm9leGNlcHQgOiBpXyhvdGhlci5pXykgeyBvdGhlci5pXyA9IDA7IH0NCisrICBNb3Zl T25seShNb3ZlT25seSYmIG90aGVyKSA6IGlfKG90aGVyLmlfKSB7IG90aGVyLmlfID0gMDsgfQ0K KyANCistICBNb3ZlT25seSYgb3BlcmF0b3I9KE1vdmVPbmx5JiYgb3RoZXIpIG5vZXhjZXB0IHsN CisrICBNb3ZlT25seSYgb3BlcmF0b3I9KE1vdmVPbmx5JiYgb3RoZXIpIHsNCisgICAgIGlmICh0 aGlzICE9ICZvdGhlcikgew0KKyAgICAgICBpXyA9IG90aGVyLmlfOw0KKyAgICAgICBvdGhlci5p XyA9IDA7DQorQEAgLTYyLDEyICs2MiwxMiBAQA0KKyANCisgICBleHBsaWNpdCBNb3ZlT25seUhh c2hWYWx1ZShpbnQgdmFsdWUgPSBrRW1wdHksIGludCBpZCA9IDApDQorICAgICAgIDogdmFsdWVf KHZhbHVlKSwgaWRfKGlkKSB7fQ0KKy0gIE1vdmVPbmx5SGFzaFZhbHVlKE1vdmVPbmx5SGFzaFZh bHVlJiYgb3RoZXIpIG5vZXhjZXB0DQorKyAgTW92ZU9ubHlIYXNoVmFsdWUoTW92ZU9ubHlIYXNo VmFsdWUmJiBvdGhlcikNCisgICAgICAgOiB2YWx1ZV8ob3RoZXIudmFsdWVfKSwgaWRfKG90aGVy LmlkXykgew0KKyAgICAgb3RoZXIudmFsdWVfID0ga01vdmVkT3V0Ow0KKyAgICAgb3RoZXIuaWRf ID0gMDsNCisgICB9DQorLSAgTW92ZU9ubHlIYXNoVmFsdWUmIG9wZXJhdG9yPShNb3ZlT25seUhh c2hWYWx1ZSYmIG90aGVyKSBub2V4Y2VwdCB7DQorKyAgTW92ZU9ubHlIYXNoVmFsdWUmIG9wZXJh dG9yPShNb3ZlT25seUhhc2hWYWx1ZSYmIG90aGVyKSB7DQorICAgICB2YWx1ZV8gPSBvdGhlci52 YWx1ZV87DQorICAgICBpZF8gPSBvdGhlci5pZF87DQorICAgICBvdGhlci52YWx1ZV8gPSBrTW92 ZWRPdXQ7DQoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTc4LjAuMzkwNC43MC1iYXNlLWdjYy1uby1h bGlnbmFzLnBhdGNoIGIvY2hyb21pdW0tNzguMC4zOTA0LjcwLWJhc2UtZ2NjLW5vLWFsaWduYXMu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg1NmMzNgotLS0gL2Rl di9udWxsCisrKyBiL2Nocm9taXVtLTc4LjAuMzkwNC43MC1iYXNlLWdjYy1uby1hbGlnbmFzLnBh dGNoCkBAIC0wLDAgKzEsNjggQEAKK2RpZmYgLXVwIGNocm9taXVtLTc3LjAuMzg2NS43NS9iYXNl L3Rhc2svcHJvbWlzZS9kZXBlbmRlbnRfbGlzdC5oLmJhc2UtZ2NjLW5vLWFsaWduYXMgY2hyb21p dW0tNzcuMC4zODY1Ljc1L2Jhc2UvdGFzay9wcm9taXNlL2RlcGVuZGVudF9saXN0LmgKKy0tLSBj aHJvbWl1bS03Ny4wLjM4NjUuNzUvYmFzZS90YXNrL3Byb21pc2UvZGVwZW5kZW50X2xpc3QuaC5i YXNlLWdjYy1uby1hbGlnbmFzCTIwMTktMDktMTMgMjE6NDU6NTEuODczMTcyMzQ3ICswMjAwCisr KysgY2hyb21pdW0tNzcuMC4zODY1Ljc1L2Jhc2UvdGFzay9wcm9taXNlL2RlcGVuZGVudF9saXN0 LmgJMjAxOS0wOS0xMyAyMTo0NjoyMS42NjE1MjI1MTQgKzAyMDAKK0BAIC01OSw3ICs1OSw3IEBA IGNsYXNzIEJBU0VfRVhQT1JUIERlcGVuZGVudExpc3QgeworIAorICAgLy8gQWxpZ24gTm9kZSBv biBhbiA4LWJ5dGUgYm91bmRhcnkgdG8gZW5zdXJlIHRoZSBmaXJzdCAzIGJpdHMgYXJlIDAgYW5k IGNhbgorICAgLy8gYmUgdXNlZCB0byBzdG9yZSBhZGRpdGlvbmFsIHN0YXRlIChzZWUgc3RhdGlj X2Fzc2VydHMgYmVsb3cpLgorLSAgY2xhc3MgQkFTRV9FWFBPUlQgYWxpZ25hcyg4KSBOb2RlIHsK KysgIGNsYXNzIEJBU0VfRVhQT1JUIEFMSUdOQVMoOCkgTm9kZSB7CisgICAgcHVibGljOgorICAg ICBOb2RlKCk7CisgICAgIGV4cGxpY2l0IE5vZGUoTm9kZSYmIG90aGVyKSBub2V4Y2VwdDsKKy0t LSBhL3RoaXJkX3BhcnR5L3Byb3RvYnVmL3NyYy9nb29nbGUvcHJvdG9idWYvYXJlbmEuaAorKysr IGIvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9hcmVuYS5oCitAQCAt MjQ1LDcgKzI0NSw3IEBAIHN0cnVjdCBBcmVuYU9wdGlvbnMgeworIC8vIHdlbGwgYXMgcHJvdG9i dWYgY29udGFpbmVyIHR5cGVzIGxpa2UgUmVwZWF0ZWRQdHJGaWVsZCBhbmQgTWFwLiBUaGUgcHJv dG9jb2wKKyAvLyBpcyBpbnRlcm5hbCB0byBwcm90b2J1ZiBhbmQgaXMgbm90IGd1YXJhbnRlZWQg dG8gYmUgc3RhYmxlLiBOb24tcHJvdG8gdHlwZXMKKyAvLyBzaG91bGQgbm90IHJlbHkgb24gdGhp cyBwcm90b2NvbC4KKy1jbGFzcyBQUk9UT0JVRl9FWFBPUlQgYWxpZ25hcyg4KSBBcmVuYSBmaW5h bCB7CisrY2xhc3MgUFJPVE9CVUZfRVhQT1JUIFBST1RPQlVGX0FMSUdOQVMoOCkgQXJlbmEgZmlu YWwgeworICBwdWJsaWM6CisgICAvLyBBcmVuYSBjb25zdHJ1Y3RvciB0YWtpbmcgY3VzdG9tIG9w dGlvbnMuIFNlZSBBcmVuYU9wdGlvbnMgYmVsb3cgZm9yCisgICAvLyBkZXNjcmlwdGlvbnMgb2Yg dGhlIG9wdGlvbnMgYXZhaWxhYmxlLgorLS0tIGEvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dv b2dsZS9wcm90b2J1Zi9wb3J0X2RlZi5pbmMKKysrKyBiL3RoaXJkX3BhcnR5L3Byb3RvYnVmL3Ny Yy9nb29nbGUvcHJvdG9idWYvcG9ydF9kZWYuaW5jCitAQCAtNTI4LDYgKzUyOCwzNSBAQCBQUk9U T0JVRl9FWFBPUlRfVEVNUExBVEVfVEVTVChERUZBVUxULCBfX2RlY2xzcGVjKGRsbGltcG9ydCkp OworICN1bmRlZiBJTgorICNlbmRpZiAgLy8gX01TQ19WRVIKKyAKKysvLyBTcGVjaWZ5IG1lbW9y eSBhbGlnbm1lbnQgZm9yIHN0cnVjdHMsIGNsYXNzZXMsIGV0Yy4KKysvLyBVc2UgbGlrZToKKysv LyAgIGNsYXNzIFBST1RPQlVGX0FMSUdOQVMoMTYpIE15Q2xhc3MgeyAuLi4gfQorKy8vICAgUFJP VE9CVUZfQUxJR05BUygxNikgaW50IGFycmF5WzRdOworKy8vCisrLy8gSW4gbW9zdCBwbGFjZXMg eW91IGNhbiB1c2UgdGhlIEMrKzExIGtleXdvcmQgImFsaWduYXMiLCB3aGljaCBpcyBwcmVmZXJy ZWQuCisrLy8KKysvLyBCdXQgY29tcGlsZXJzIGhhdmUgdHJvdWJsZSBtaXhpbmcgX19hdHRyaWJ1 dGVfXygoLi4uKSkgc3ludGF4IHdpdGgKKysvLyBhbGlnbmFzKC4uLikgc3ludGF4LgorKy8vCisr Ly8gRG9lc24ndCB3b3JrIGluIGNsYW5nIG9yIGdjYzoKKysvLyAgIHN0cnVjdCBhbGlnbmFzKDE2 KSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBTIHsgY2hhciBjOyB9OworKy8vIFdvcmtzIGluIGNs YW5nIGJ1dCBub3QgZ2NjOgorKy8vICAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGFs aWduYXMoMTYpIFMyIHsgY2hhciBjOyB9OworKy8vIFdvcmtzIGluIGNsYW5nIGFuZCBnY2M6Cisr Ly8gICBzdHJ1Y3QgYWxpZ25hcygxNikgUzMgeyBjaGFyIGM7IH0gX19hdHRyaWJ1dGVfXygocGFj a2VkKSk7CisrLy8KKysvLyBUaGVyZSBhcmUgYWxzbyBzb21lIGF0dHJpYnV0ZXMgdGhhdCBtdXN0 IGJlIHNwZWNpZmllZCAqYmVmb3JlKiBhIGNsYXNzCisrLy8gZGVmaW5pdGlvbjogdmlzaWJpbGl0 eSAodXNlZCBmb3IgZXhwb3J0aW5nIGZ1bmN0aW9ucy9jbGFzc2VzKSBpcyBvbmUgb2YKKysvLyB0 aGVzZSBhdHRyaWJ1dGVzLiBUaGlzIG1lYW5zIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHVz ZSBhbGlnbmFzKCkgd2l0aCBhCisrLy8gY2xhc3MgdGhhdCBpcyBtYXJrZWQgYXMgZXhwb3J0ZWQu CisrI2lmIGRlZmluZWQoX01TQ19WRVIpCisrI2RlZmluZSBQUk9UT0JVRl9BTElHTkFTKGJ5dGVf YWxpZ25tZW50KSBfX2RlY2xzcGVjKGFsaWduKGJ5dGVfYWxpZ25tZW50KSkKKysjZWxpZiBkZWZp bmVkKF9fR05VQ19fKQorKyNkZWZpbmUgUFJPVE9CVUZfQUxJR05BUyhieXRlX2FsaWdubWVudCkg X19hdHRyaWJ1dGVfXygoYWxpZ25lZChieXRlX2FsaWdubWVudCkpKQorKyNlbHNlCisrI2RlZmlu ZSBQUk9UT0JVRl9BTElHTkFTKGJ5dGVfYWxpZ25tZW50KSBhbGlnbmFzKGJ5dGVfYWxpZ25tZW50 KQorKyNlbmRpZgorKworICNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyAjcHJhZ21hIGNsYW5nIGRp YWdub3N0aWMgcHVzaAorIC8vIFRPRE8oZ2VyYmVucykgaWRlYWxseSB3ZSBjbGVhbnVwIHRoZSBj b2RlLiBCdXQgYSBjdXJzb3J5IHRyeSBzaG93cyBtYW55CistLS0gYS90aGlyZF9wYXJ0eS9wcm90 b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL3BvcnRfdW5kZWYuaW5jCisrKysgYi90aGlyZF9wYXJ0 eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL3BvcnRfdW5kZWYuaW5jCitAQCAtODAsNiAr ODAsNyBAQAorICN1bmRlZiBQUk9UT0JVRl9FWFBPUlRfVEVNUExBVEVfU1RZTEVfTUFUQ0hfZm9q M0ZKbzVTdEYwT3ZJemw3b014QV9fZGVjbHNwZWMKKyAjdW5kZWYgUFJPVE9CVUZfRVhQT1JUX1RF TVBMQVRFX1NUWUxFX01BVENIX0RFQ0xTUEVDX2RsbGV4cG9ydAorICN1bmRlZiBQUk9UT0JVRl9F WFBPUlRfVEVNUExBVEVfU1RZTEVfTUFUQ0hfREVDTFNQRUNfZGxsaW1wb3J0CisrI3VuZGVmIFBS T1RPQlVGX0FMSUdOQVMKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03OC4wLjM5MDQuNzAtZ2NjLURv aFVwZ3JhZGVFbnRyeS1ub25jb25zdC5wYXRjaCBiL2Nocm9taXVtLTc4LjAuMzkwNC43MC1nY2Mt RG9oVXBncmFkZUVudHJ5LW5vbmNvbnN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmNiNDM2ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS03OC4wLjM5MDQu NzAtZ2NjLURvaFVwZ3JhZGVFbnRyeS1ub25jb25zdC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitk aWZmIC11cCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvbmV0L2Rucy9kbnNfdXRpbC5jYy5nY2MtRG9o VXBncmFkZUVudHJ5LW5vbmNvbnN0IGNocm9taXVtLTc4LjAuMzkwNC43MC9uZXQvZG5zL2Ruc191 dGlsLmNjCistLS0gY2hyb21pdW0tNzguMC4zOTA0LjcwL25ldC9kbnMvZG5zX3V0aWwuY2MuZ2Nj LURvaFVwZ3JhZGVFbnRyeS1ub25jb25zdAkyMDE5LTEwLTIxIDE1OjA2OjM4LjAwMDAwMDAwMCAt MDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC9uZXQvZG5zL2Ruc191dGlsLmNjCTIwMTkt MTAtMjMgMTI6NTU6MjcuODg2NTQ2OTE4IC0wNDAwCitAQCAtMTM5LDEyICsxMzksMTIgQEAgc3Ry dWN0IERvaFVwZ3JhZGVFbnRyeSB7CisgICBjb25zdCBEbnNDb25maWc6OkRuc092ZXJIdHRwc1Nl cnZlckNvbmZpZyBkbnNfb3Zlcl9odHRwc19jb25maWc7CisgfTsKKyAKKy1jb25zdCBzdGQ6OnZl Y3Rvcjxjb25zdCBEb2hVcGdyYWRlRW50cnk+JiBHZXREb2hVcGdyYWRlTGlzdCgpIHsKKytjb25z dCBzdGQ6OnZlY3RvcjxEb2hVcGdyYWRlRW50cnk+JiBHZXREb2hVcGdyYWRlTGlzdCgpIHsKKyAg IC8vIFRoZSBwcm92aWRlciBuYW1lcyBpbiB0aGVzZSBlbnRyaWVzIHNob3VsZCBiZSBrZXB0IGlu IHN5bmMgd2l0aCB0aGUKKyAgIC8vIERvaFByb3ZpZGVySWQgaGlzdG9ncmFtIHN1ZmZpeCBsaXN0 IGluCisgICAvLyB0b29scy9tZXRyaWNzL2hpc3RvZ3JhbXMvaGlzdG9ncmFtcy54bWwuCistICBz dGF0aWMgY29uc3QgYmFzZTo6Tm9EZXN0cnVjdG9yPHN0ZDo6dmVjdG9yPGNvbnN0IERvaFVwZ3Jh ZGVFbnRyeT4+CistICAgICAgdXBncmFkYWJsZV9zZXJ2ZXJzKHsKKysgIHN0YXRpYyBjb25zdCBi YXNlOjpOb0Rlc3RydWN0b3I8c3RkOjp2ZWN0b3I8RG9oVXBncmFkZUVudHJ5Pj4KKysgICAgICB1 cGdyYWRhYmxlX3NlcnZlcnMoc3RkOjppbml0aWFsaXplcl9saXN0PERvaFVwZ3JhZGVFbnRyeT57 CisgICAgICAgICAgIERvaFVwZ3JhZGVFbnRyeSgKKyAgICAgICAgICAgICAgICJDbGVhbkJyb3dz aW5nQWR1bHQiLAorICAgICAgICAgICAgICAgeyIxODUuMjI4LjE2OC4xMCIsICIxODUuMjI4LjE2 OS4xMSIsICIyYTBkOjJhMDA6MTo6MSIsCitAQCAtMjIyLDggKzIyMiw3IEBAIGNvbnN0IHN0ZDo6 dmVjdG9yPGNvbnN0IERvaFVwZ3JhZGVFbnRyeT4KKyBzdGQ6OnZlY3Rvcjxjb25zdCBEb2hVcGdy YWRlRW50cnkqPiBHZXREb2hVcGdyYWRlRW50cmllc0Zyb21OYW1lc2VydmVycygKKyAgICAgY29u c3Qgc3RkOjp2ZWN0b3I8SVBFbmRQb2ludD4mIGRuc19zZXJ2ZXJzLAorICAgICBjb25zdCBzdGQ6 OnZlY3RvcjxzdGQ6OnN0cmluZz4mIGV4Y2x1ZGVkX3Byb3ZpZGVycykgeworLSAgY29uc3Qgc3Rk Ojp2ZWN0b3I8Y29uc3QgRG9oVXBncmFkZUVudHJ5PiYgdXBncmFkYWJsZV9zZXJ2ZXJzID0KKy0g ICAgICBHZXREb2hVcGdyYWRlTGlzdCgpOworKyAgY29uc3Qgc3RkOjp2ZWN0b3I8RG9oVXBncmFk ZUVudHJ5PiYgdXBncmFkYWJsZV9zZXJ2ZXJzID0gR2V0RG9oVXBncmFkZUxpc3QoKTsKKyAgIHN0 ZDo6dmVjdG9yPGNvbnN0IERvaFVwZ3JhZGVFbnRyeSo+IGVudHJpZXM7CisgCisgICBmb3IgKGNv bnN0IGF1dG8mIHNlcnZlciA6IGRuc19zZXJ2ZXJzKSB7CitAQCAtNDE3LDggKzQxNiw3IEBAIHN0 ZDo6dmVjdG9yPERuc0NvbmZpZzo6RG5zT3Zlckh0dHBzU2VydmUKKyBHZXREb2hVcGdyYWRlU2Vy dmVyc0Zyb21Eb3RIb3N0bmFtZSgKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRvdF9zZXJ2ZXIs CisgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgZXhjbHVkZWRfcHJvdmlkZXJz KSB7CistICBjb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBEb2hVcGdyYWRlRW50cnk+JiB1cGdyYWRh YmxlX3NlcnZlcnMgPQorLSAgICAgIEdldERvaFVwZ3JhZGVMaXN0KCk7CisrICBjb25zdCBzdGQ6 OnZlY3RvcjxEb2hVcGdyYWRlRW50cnk+JiB1cGdyYWRhYmxlX3NlcnZlcnMgPSBHZXREb2hVcGdy YWRlTGlzdCgpOworICAgc3RkOjp2ZWN0b3I8RG5zQ29uZmlnOjpEbnNPdmVySHR0cHNTZXJ2ZXJD b25maWc+IGRvaF9zZXJ2ZXJzOworIAorICAgaWYgKGRvdF9zZXJ2ZXIuZW1wdHkoKSkKK0BAIC00 NTEsOCArNDQ5LDcgQEAgR2V0RG9oVXBncmFkZVNlcnZlcnNGcm9tTmFtZXNlcnZlcnMoCisgCisg c3RkOjpzdHJpbmcgR2V0RG9oUHJvdmlkZXJJZEZvckhpc3RvZ3JhbUZyb21Eb2hDb25maWcoCisg ICAgIGNvbnN0IERuc0NvbmZpZzo6RG5zT3Zlckh0dHBzU2VydmVyQ29uZmlnJiBkb2hfc2VydmVy KSB7CistICBjb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBEb2hVcGdyYWRlRW50cnk+JiB1cGdyYWRh YmxlX3NlcnZlcnMgPQorLSAgICAgIEdldERvaFVwZ3JhZGVMaXN0KCk7CisrICBjb25zdCBzdGQ6 OnZlY3RvcjxEb2hVcGdyYWRlRW50cnk+JiB1cGdyYWRhYmxlX3NlcnZlcnMgPSBHZXREb2hVcGdy YWRlTGlzdCgpOworICAgZm9yIChjb25zdCBhdXRvJiB1cGdyYWRlX2VudHJ5IDogdXBncmFkYWJs ZV9zZXJ2ZXJzKSB7CisgICAgIGlmIChkb2hfc2VydmVyLnNlcnZlcl90ZW1wbGF0ZSA9PQorICAg ICAgICAgdXBncmFkZV9lbnRyeS5kbnNfb3Zlcl9odHRwc19jb25maWcuc2VydmVyX3RlbXBsYXRl KSB7CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tNzguMC4zOTA0LjcwLWdjYy1maXgtaW52YWxpZC1w cmFnbWEucGF0Y2ggYi9jaHJvbWl1bS03OC4wLjM5MDQuNzAtZ2NjLWZpeC1pbnZhbGlkLXByYWdt YS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjBlZmJkCi0tLSAv ZGV2L251bGwKKysrIGIvY2hyb21pdW0tNzguMC4zOTA0LjcwLWdjYy1maXgtaW52YWxpZC1wcmFn bWEucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorZGlmZiAtdXAgY2hyb21pdW0tNzguMC4zOTA0Ljcw L2Jhc2UvYWxsb2NhdG9yL2RlYnVnYWxsb2NhdGlvbl9zaGltLmNjLmludmFsaWQtcHJhZ21hIGNo cm9taXVtLTc4LjAuMzkwNC43MC9iYXNlL2FsbG9jYXRvci9kZWJ1Z2FsbG9jYXRpb25fc2hpbS5j YworLS0tIGNocm9taXVtLTc4LjAuMzkwNC43MC9iYXNlL2FsbG9jYXRvci9kZWJ1Z2FsbG9jYXRp b25fc2hpbS5jYy5pbnZhbGlkLXByYWdtYQkyMDE5LTEwLTIzIDEwOjAwOjQxLjM2MTkzMjc2OCAt MDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC9iYXNlL2FsbG9jYXRvci9kZWJ1Z2FsbG9j YXRpb25fc2hpbS5jYwkyMDE5LTEwLTIzIDEwOjAyOjA5Ljc3ODEwMDk0OCAtMDQwMAorQEAgLTcs OSArNywxMCBAQAorIC8vIEFGRE8gY2FuIG1lc3Mgd2l0aCB0aGVtLiBCZXR0ZXIgbm90IHRvIHVz ZSBBRkRPIHRoZXJlLiAgVGhpcyBpcyBhCisgLy8gdGVtcG9yYXJ5IGhhY2suIFdlIHdpbGwgYWRk IGEgbWVjaGFuaXNtIGluIHRoZSBidWlsZCBzeXN0ZW0gdG8KKyAvLyBhdm9pZCB1c2luZyAtZmF1 dG8tcHJvZmlsZSBmb3IgdGNtYWxsb2MgZmlsZXMuCistI2lmICFkZWZpbmVkKF9fY2xhbmdfXykg JiYgKGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IF9fR05VQ19fID4gNSkKKysjaWYgIWRlZmluZWQo X19jbGFuZ19fKSAmJiBcCisrICAgIChkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCAoX19HTlVDX18g PiA1ICYmIF9fR05VQ19fIDwgNykpCisgLy8gTm90ZSB0aGF0IHRoaXMgb3B0aW9uIG9ubHkgc2Vl bXMgdG8gYmUgYXZhaWxhYmxlIGluIHRoZSBjaHJvbWVvcyBHQ0MgNC45CistLy8gdG9vbGNoYWlu LCBhbmQgc3RvY2sgR0NDIDUgYW5kIHVwLgorKy8vIHRvb2xjaGFpbiwgYW5kIHN0b2NrIEdDQyA1 IHVwdG8gNy4KKyAjcHJhZ21hIEdDQyBvcHRpbWl6ZSAoIm5vLWF1dG8tcHJvZmlsZSIpCisgI2Vu ZGlmCisgCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tNzguMC4zOTA0LjcwLWdjYy1tYXJrLUNoZWNr T3BSZXN1bHQtY29uc3RleHByLnBhdGNoIGIvY2hyb21pdW0tNzguMC4zOTA0LjcwLWdjYy1tYXJr LUNoZWNrT3BSZXN1bHQtY29uc3RleHByLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmU1NTAyY2YKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS03OC4wLjM5MDQu NzAtZ2NjLW1hcmstQ2hlY2tPcFJlc3VsdC1jb25zdGV4cHIucGF0Y2gKQEAgLTAsMCArMSwxMiBA QAorZGlmZiAtdXAgY2hyb21pdW0tNzguMC4zOTA0LjcwL2Jhc2UvbG9nZ2luZy5oLmNvbnN0ZXhw ciBjaHJvbWl1bS03OC4wLjM5MDQuNzAvYmFzZS9sb2dnaW5nLmgKKy0tLSBjaHJvbWl1bS03OC4w LjM5MDQuNzAvYmFzZS9sb2dnaW5nLmguY29uc3RleHByCTIwMTktMTAtMjMgMTA6MDY6NTMuNDM0 MzEzNzkzIC0wNDAwCisrKysgY2hyb21pdW0tNzguMC4zOTA0LjcwL2Jhc2UvbG9nZ2luZy5oCTIw MTktMTAtMjMgMTA6MDc6MTcuNDkwODUzMDM4IC0wNDAwCitAQCAtNTMwLDcgKzUzMCw3IEBAIEJB U0VfRVhQT1JUIGV4dGVybiBzdGQ6Om9zdHJlYW0qIGdfc3dhbGwKKyBjbGFzcyBDaGVja09wUmVz dWx0IHsKKyAgcHVibGljOgorICAgLy8gfG1lc3NhZ2V8IG11c3QgYmUgbm9uLW51bGwgaWYgYW5k IG9ubHkgaWYgdGhlIGNoZWNrIGZhaWxlZC4KKy0gIENoZWNrT3BSZXN1bHQoc3RkOjpzdHJpbmcq IG1lc3NhZ2UpIDogbWVzc2FnZV8obWVzc2FnZSkge30KKysgIGNvbnN0ZXhwciBDaGVja09wUmVz dWx0KHN0ZDo6c3RyaW5nKiBtZXNzYWdlKSA6IG1lc3NhZ2VfKG1lc3NhZ2UpIHt9CisgICAvLyBS ZXR1cm5zIHRydWUgaWYgdGhlIGNoZWNrIHN1Y2NlZWRlZC4KKyAgIG9wZXJhdG9yIGJvb2woKSBj b25zdCB7IHJldHVybiAhbWVzc2FnZV87IH0KKyAgIC8vIFJldHVybnMgdGhlIG1lc3NhZ2UuCgpk aWZmIC0tZ2l0IGEvY2hyb21pdW0tNzguMC4zOTA0LjcwLWdjYy1zaXpldC1maXgucGF0Y2ggYi9j aHJvbWl1bS03OC4wLjM5MDQuNzAtZ2NjLXNpemV0LWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5iOTViMGVkCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0t NzguMC4zOTA0LjcwLWdjYy1zaXpldC1maXgucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorZGlmZiAt dXAgY2hyb21pdW0tNzguMC4zOTA0LjcwL2Jhc2UvY29udGFpbmVycy9pbnRydXNpdmVfaGVhcC5o LmdjYy1zaXpldCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvYmFzZS9jb250YWluZXJzL2ludHJ1c2l2 ZV9oZWFwLmgKKy0tLSBjaHJvbWl1bS03OC4wLjM5MDQuNzAvYmFzZS9jb250YWluZXJzL2ludHJ1 c2l2ZV9oZWFwLmguZ2NjLXNpemV0CTIwMTktMTAtMjMgMTE6MDI6NTYuNzY3OTA3OTg2IC0wNDAw CisrKysgY2hyb21pdW0tNzguMC4zOTA0LjcwL2Jhc2UvY29udGFpbmVycy9pbnRydXNpdmVfaGVh cC5oCTIwMTktMTAtMjMgMTE6MDQ6NTguMzE3MzUxNjM2IC0wNDAwCitAQCAtMTMxLDYgKzEzMSw3 IEBACisgCisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKysj aW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAjaW5jbHVkZSA8dXRp bGl0eT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorQEAgLTE0OSw3ICsxNTAsNyBAQCBuYW1lc3BhY2Ug YmFzZSB7CisgLy8gaW4gcGxhY2UuCisgY2xhc3MgQkFTRV9FWFBPUlQgSGVhcEhhbmRsZSB7Cisg IHB1YmxpYzoKKy0gIGVudW0gOiBzaXplX3QgeyBrSW52YWxpZEluZGV4ID0gLTEgfTsKKysgIGVu dW0gOiBzaXplX3QgeyBrSW52YWxpZEluZGV4ID0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+ OjptYXgoKSB9OworIAorICAgY29uc3RleHByIEhlYXBIYW5kbGUoKSA9IGRlZmF1bHQ7CisgICBj b25zdGV4cHIgSGVhcEhhbmRsZShjb25zdCBIZWFwSGFuZGxlJiBvdGhlcikgPSBkZWZhdWx0OwoK ZGlmZiAtLWdpdCBhL2Nocm9taXVtLTc4LjAuMzkwNC43MC1nY2M5LWRyb3AtcnNwLWNsb2JiZXIu cGF0Y2ggYi9jaHJvbWl1bS03OC4wLjM5MDQuNzAtZ2NjOS1kcm9wLXJzcC1jbG9iYmVyLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ODViMDkKLS0tIC9kZXYvbnVs bAorKysgYi9jaHJvbWl1bS03OC4wLjM5MDQuNzAtZ2NjOS1kcm9wLXJzcC1jbG9iYmVyLnBhdGNo CkBAIC0wLDAgKzEsMjQgQEAKK2RpZmYgLXVwIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9w YXJ0eS90Y21hbGxvYy9jaHJvbWl1bS9zcmMvYmFzZS9saW51eF9zeXNjYWxsX3N1cHBvcnQuaC5n Y2M5IGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS90Y21hbGxvYy9jaHJvbWl1bS9z cmMvYmFzZS9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAorLS0tIGNocm9taXVtLTc4LjAuMzkwNC43 MC90aGlyZF9wYXJ0eS90Y21hbGxvYy9jaHJvbWl1bS9zcmMvYmFzZS9saW51eF9zeXNjYWxsX3N1 cHBvcnQuaC5nY2M5CTIwMTktMTAtMjMgMDg6NTg6MTYuMTUzMjUxOTYxIC0wNDAwCisrKysgY2hy b21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L3RjbWFsbG9jL2Nocm9taXVtL3NyYy9iYXNl L2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCTIwMTktMTAtMjMgMDg6NTg6MzYuODk2ODYyMzQ3IC0w NDAwCitAQCAtMTQ4Niw3ICsxNDg2LDcgQEAgc3RydWN0IGtlcm5lbF9zdGF0IHsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImQiKExTU19TWVNDQUxMX0FSRyhwYXJlbnRfdGlkcHRy KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIihMU1NfU1lTQ0FMTF9BUkco bmV3dGxzKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIihMU1NfU1lTQ0FM TF9BUkcoY2hpbGRfdGlkcHRyKSkKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogInJz cCIsICJtZW1vcnkiLCAicjgiLCAicjEwIiwgInIxMSIsICJyY3giKTsKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDogIm1lbW9yeSIsICJyOCIsICJyMTAiLCAicjExIiwgInJjeCIpOwor ICAgICAgIH0KKyAgICAgICBMU1NfUkVUVVJOKGludCwgX19yZXMpOworICAgICB9CitkaWZmIC11 cCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkvdGNtYWxsb2MvdmVuZG9yL3NyYy9i YXNlL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oLmdjYzkgY2hyb21pdW0tNzguMC4zOTA0LjcwL3Ro aXJkX3BhcnR5L3RjbWFsbG9jL3ZlbmRvci9zcmMvYmFzZS9saW51eF9zeXNjYWxsX3N1cHBvcnQu aAorLS0tIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS90Y21hbGxvYy92ZW5kb3Iv c3JjL2Jhc2UvbGludXhfc3lzY2FsbF9zdXBwb3J0LmguZ2NjOQkyMDE5LTEwLTIzIDA4OjU4OjU5 LjYyMzQzNTQ4OCAtMDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS90 Y21hbGxvYy92ZW5kb3Ivc3JjL2Jhc2UvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgJMjAxOS0xMC0y MyAwODo1OToxNi4xMTMxMjU3NzIgLTA0MDAKK0BAIC0xNDg1LDcgKzE0ODUsNyBAQCBzdHJ1Y3Qg a2VybmVsX3N0YXQgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZCIoTFNTX1NZ U0NBTExfQVJHKHBhcmVudF90aWRwdHIpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgInIiKExTU19TWVNDQUxMX0FSRyhuZXd0bHMpKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgInIiKExTU19TWVNDQUxMX0FSRyhjaGlsZF90aWRwdHIpKQorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOiAicnNwIiwgIm1lbW9yeSIsICJyOCIsICJyMTAiLCAicjExIiwg InJjeCIpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5IiwgInI4Iiwg InIxMCIsICJyMTEiLCAicmN4Iik7CisgICAgICAgfQorICAgICAgIExTU19SRVRVUk4oaW50LCBf X3Jlcyk7CisgICAgIH0KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS03OC4wLjM5MDQuNzAtdW5idW5k bGUtemxpYi5wYXRjaCBiL2Nocm9taXVtLTc4LjAuMzkwNC43MC11bmJ1bmRsZS16bGliLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NTk5MGUKLS0tIC9kZXYvbnVs bAorKysgYi9jaHJvbWl1bS03OC4wLjM5MDQuNzAtdW5idW5kbGUtemxpYi5wYXRjaApAQCAtMCww ICsxLDEyIEBACitkaWZmIC11cCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkvcGVy ZmV0dG8vZ24vQlVJTEQuZ24udW5idW5kbGUtemxpYiBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhp cmRfcGFydHkvcGVyZmV0dG8vZ24vQlVJTEQuZ24KKy0tLSBjaHJvbWl1bS03OC4wLjM5MDQuNzAv dGhpcmRfcGFydHkvcGVyZmV0dG8vZ24vQlVJTEQuZ24udW5idW5kbGUtemxpYgkyMDE5LTEwLTIz IDA5OjI1OjQ0LjQxOTg4NDE4NyAtMDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGly ZF9wYXJ0eS9wZXJmZXR0by9nbi9CVUlMRC5nbgkyMDE5LTEwLTIzIDA5OjI5OjUzLjU1MzQ0Mjc0 NSAtMDQwMAorQEAgLTI3Niw3ICsyNzYsNyBAQCBpZiAoZW5hYmxlX3BlcmZldHRvX3RyYWNlX3By b2Nlc3NvciB8fCBlCisgICAgICAgICAiLy9idWlsZHRvb2xzOnpsaWIiLAorICAgICAgIF0KKyAg ICAgfSBlbHNlIHsKKy0gICAgICBwdWJsaWNfY29uZmlncyA9IFsgIi8vdGhpcmRfcGFydHkvemxp Yjp6bGliX2NvbmZpZyIgXQorKyAgICAgIHB1YmxpY19jb25maWdzID0gWyAiLy90aGlyZF9wYXJ0 eS96bGliOnN5c3RlbV96bGliIiBdCisgICAgICAgcHVibGljX2RlcHMgPSBbCisgICAgICAgICAi Ly90aGlyZF9wYXJ0eS96bGliIiwKKyAgICAgICBdCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tNzgu MC4zOTA0LjcwLXY4LXRyYWNlZHJlZmVyZW5jZS1maXgucGF0Y2ggYi9jaHJvbWl1bS03OC4wLjM5 MDQuNzAtdjgtdHJhY2VkcmVmZXJlbmNlLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi43ODliZGQwCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tNzguMC4z OTA0LjcwLXY4LXRyYWNlZHJlZmVyZW5jZS1maXgucGF0Y2gKQEAgLTAsMCArMSwzMDIgQEAKK2Rp ZmYgLXVwIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9i aW5kaW5ncy9jb3JlL3Y4L3Y4X2VtYmVkZGVyX2dyYXBoX2J1aWxkZXIuY2MudjgtdHJhY2VkcmVm ZXJlbmNlLWZpeCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvYmluZGluZ3MvY29yZS92OC92OF9lbWJlZGRlcl9ncmFwaF9idWlsZGVyLmNjCistLS0gY2hy b21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2Nv cmUvdjgvdjhfZW1iZWRkZXJfZ3JhcGhfYnVpbGRlci5jYy52OC10cmFjZWRyZWZlcmVuY2UtZml4 CTIwMTktMTAtMjEgMTU6MDY6NDIuMDAwMDAwMDAwIC0wNDAwCisrKysgY2hyb21pdW0tNzguMC4z OTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvdjhfZW1i ZWRkZXJfZ3JhcGhfYnVpbGRlci5jYwkyMDE5LTEwLTIzIDE0OjMwOjI1LjY3OTU0MTY1MiAtMDQw MAorQEAgLTE3Myw4ICsxNzMsOSBAQCBjbGFzcyBHQ19QTFVHSU5fSUdOT1JFKAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgY2xhc3NfaWQpIG92ZXJyaWRlOworIAorICAg Ly8gdjg6OkVtYmVkZGVySGVhcFRyYWNlcjo6VHJhY2VkR2xvYmFsSGFuZGxlVmlzaXRvciBvdmVy cmlkZS4KKy0gIHZvaWQgVmlzaXRUcmFjZWRHbG9iYWxIYW5kbGUoCistICAgICAgY29uc3Qgdjg6 OlRyYWNlZEdsb2JhbDx2ODo6VmFsdWU+JiB2YWx1ZSkgb3ZlcnJpZGU7CisrICB2b2lkIFZpc2l0 VHJhY2VkUmVmZXJlbmNlKAorKyAgICAgIGNvbnN0IHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6OlZh bHVlPiYgdmFsdWUpIG92ZXJyaWRlOworKyAgdm9pZCBWaXNpdFRyYWNlZEdsb2JhbEhhbmRsZShj b25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mKSBvdmVycmlkZTsKKyAKKyAgIC8vIFZp c2l0b3Igb3ZlcnJpZGVzLgorICAgdm9pZCBWaXNpdFJvb3Qodm9pZCosIFRyYWNlRGVzY3JpcHRv ciwgY29uc3QgYmFzZTo6TG9jYXRpb24mKSBmaW5hbDsKK0BAIC01MDgsOCArNTA5LDggQEAgdm9p ZCBWOEVtYmVkZGVyR3JhcGhCdWlsZGVyOjpWaXNpdFBlcnNpcworICAgfQorIH0KKyAKKy12b2lk IFY4RW1iZWRkZXJHcmFwaEJ1aWxkZXI6OlZpc2l0VHJhY2VkR2xvYmFsSGFuZGxlKAorLSAgICBj b25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIHZhbHVlKSB7Cisrdm9pZCBWOEVtYmVk ZGVyR3JhcGhCdWlsZGVyOjpWaXNpdFRyYWNlZFJlZmVyZW5jZSgKKysgICAgY29uc3Qgdjg6OlRy YWNlZFJlZmVyZW5jZTx2ODo6VmFsdWU+JiB2YWx1ZSkgeworICAgY29uc3QgdWludDE2X3QgY2xh c3NfaWQgPSB2YWx1ZS5XcmFwcGVyQ2xhc3NJZCgpOworICAgaWYgKGNsYXNzX2lkICE9IFdyYXBw ZXJUeXBlSW5mbzo6a05vZGVDbGFzc0lkICYmCisgICAgICAgY2xhc3NfaWQgIT0gV3JhcHBlclR5 cGVJbmZvOjprT2JqZWN0Q2xhc3NJZCkKK0BAIC01MTcsNiArNTE4LDExIEBAIHZvaWQgVjhFbWJl ZGRlckdyYXBoQnVpbGRlcjo6VmlzaXRUcmFjZWQKKyAgIFZpc2l0UGVyc2lzdGVudEhhbmRsZUlu dGVybmFsKHZhbHVlLkFzPHY4OjpPYmplY3Q+KCkuR2V0KGlzb2xhdGVfKSwgY2xhc3NfaWQpOwor IH0KKyAKKyt2b2lkIFY4RW1iZWRkZXJHcmFwaEJ1aWxkZXI6OlZpc2l0VHJhY2VkR2xvYmFsSGFu ZGxlKAorKyAgICBjb25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mKSB7CisrICBDSEVD SyhmYWxzZSkgPDwgIkJsaW5rIGRvZXMgbm90IHVzZSB2ODo6VHJhY2VkR2xvYmFsLiI7CisrfQor KworIHZvaWQgVjhFbWJlZGRlckdyYXBoQnVpbGRlcjo6VmlzaXRQZXJzaXN0ZW50SGFuZGxlKAor ICAgICB2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+KiB2YWx1ZSwKKyAgICAgdWludDE2X3QgY2xh c3NfaWQpIHsKK2RpZmYgLXVwIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L3Y4X2djX2NvbnRyb2xsZXIuY2MudjgtdHJhY2Vk cmVmZXJlbmNlLWZpeCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYmluZGluZ3MvY29yZS92OC92OF9nY19jb250cm9sbGVyLmNjCistLS0gY2hyb21pdW0t NzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgv djhfZ2NfY29udHJvbGxlci5jYy52OC10cmFjZWRyZWZlcmVuY2UtZml4CTIwMTktMTAtMjEgMTU6 MDY6NDIuMDAwMDAwMDAwIC0wNDAwCisrKysgY2hyb21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvdjhfZ2NfY29udHJvbGxlci5jYwky MDE5LTEwLTIzIDE0OjMwOjI1LjY4MzU0MTU2OCAtMDQwMAorQEAgLTI2MCw3ICsyNjAsMTEgQEAg Y2xhc3MgRE9NV3JhcHBlckZvcndhcmRpbmdWaXNpdG9yIGZpbmFsCisgICAgIFZpc2l0SGFuZGxl KHZhbHVlLCBjbGFzc19pZCk7CisgICB9CisgCistICB2b2lkIFZpc2l0VHJhY2VkR2xvYmFsSGFu ZGxlKGNvbnN0IHY4OjpUcmFjZWRHbG9iYWw8djg6OlZhbHVlPiYgdmFsdWUpIGZpbmFsIHsKKysg IHZvaWQgVmlzaXRUcmFjZWRHbG9iYWxIYW5kbGUoY29uc3Qgdjg6OlRyYWNlZEdsb2JhbDx2ODo6 VmFsdWU+JikgZmluYWwgeworKyAgICBDSEVDSyhmYWxzZSkgPDwgIkJsaW5rIGRvZXMgbm90IHVz ZSB2ODo6VHJhY2VkR2xvYmFsLiI7CisrICB9CisrCisrICB2b2lkIFZpc2l0VHJhY2VkUmVmZXJl bmNlKGNvbnN0IHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6OlZhbHVlPiYgdmFsdWUpIGZpbmFsIHsK KyAgICAgVmlzaXRIYW5kbGUoJnZhbHVlLCB2YWx1ZS5XcmFwcGVyQ2xhc3NJZCgpKTsKKyAgIH0K KyAKK2RpZmYgLXVwIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy9kb21fZGF0YV9zdG9yZS5oLnY4LXRyYWNlZHJlZmVyZW5j ZS1maXggY2hyb21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2JpbmRpbmdzL2RvbV9kYXRhX3N0b3JlLmgKKy0tLSBjaHJvbWl1bS03OC4wLjM5MDQu NzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vYmluZGluZ3MvZG9tX2RhdGFf c3RvcmUuaC52OC10cmFjZWRyZWZlcmVuY2UtZml4CTIwMTktMTAtMjEgMTU6MDY6NDQuMDAwMDAw MDAwIC0wNDAwCisrKysgY2hyb21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL3BsYXRmb3JtL2JpbmRpbmdzL2RvbV9kYXRhX3N0b3JlLmgJMjAxOS0xMC0yMyAxNDoz MDoyNS42ODU1NDE1MjYgLTA0MDAKK0BAIC0yMjksNiArMjI5LDExIEBAIGNsYXNzIERPTURhdGFT dG9yZSB7CisgICAgIERPTVdvcmxkV3JhcHBlclJlZmVyZW5jZSh2ODo6SXNvbGF0ZSogaXNvbGF0 ZSwgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhhbmRsZSkKKyAgICAgICAgIDogVHJhY2VXcmFwcGVy VjhSZWZlcmVuY2UoaXNvbGF0ZSwgaGFuZGxlKSB7fQorIAorKyAgICB+RE9NV29ybGRXcmFwcGVy UmVmZXJlbmNlKCkgeworKyAgICAgIC8vIERlc3RydWN0aW9uIG9mIGEgcmVmZXJlbmNlIHNob3Vs ZCBjbGVhciBpdCBpbW1lZGlhdGVseS4KKysgICAgICBDbGVhcigpOworKyAgICB9CisrCisgICAg IC8vIE1vdmUgc3VwcG9ydCB3aXRob3V0IHdyaXRlIGJhcnJpZXIuCisgICAgIERPTVdvcmxkV3Jh cHBlclJlZmVyZW5jZShET01Xb3JsZFdyYXBwZXJSZWZlcmVuY2UmJiBvdGhlcikKKyAgICAgICAg IDogVHJhY2VXcmFwcGVyVjhSZWZlcmVuY2UoKSB7CitkaWZmIC11cCBjaHJvbWl1bS03OC4wLjM5 MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vYmluZGluZ3Mvc2NyaXB0 X3dyYXBwYWJsZS5oLnY4LXRyYWNlZHJlZmVyZW5jZS1maXggY2hyb21pdW0tNzguMC4zOTA0Ljcw L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2JpbmRpbmdzL3NjcmlwdF93cmFw cGFibGUuaAorLS0tIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy9zY3JpcHRfd3JhcHBhYmxlLmgudjgtdHJhY2VkcmVmZXJl bmNlLWZpeAkyMDE5LTEwLTIxIDE1OjA2OjQ0LjAwMDAwMDAwMCAtMDQwMAorKysrIGNocm9taXVt LTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5n cy9zY3JpcHRfd3JhcHBhYmxlLmgJMjAxOS0xMC0yMyAxNDozMDoyNS42ODc1NDE0ODQgLTA0MDAK K0BAIC0xNjEsNiArMTYxLDExIEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBTY3JpcHRXcmFwcGFi bGUKKyAgICAgcmV0dXJuIG1haW5fd29ybGRfd3JhcHBlcl8uTmV3TG9jYWwoaXNvbGF0ZSk7Cisg ICB9CisgCisrICBzdGF0aWNfYXNzZXJ0KAorKyAgICAgIHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3Ry dWN0aWJsZTwKKysgICAgICAgICAgVHJhY2VXcmFwcGVyVjhSZWZlcmVuY2U8djg6Ok9iamVjdD4+ Ojp2YWx1ZSwKKysgICAgICAiVHJhY2VXcmFwcGVyVjhSZWZlcmVuY2U8djg6Ok9iamVjdD4gc2hv dWxkIGJlIHRyaXZpYWxseSBkZXN0cnVjdGlibGUuIik7CisrCisgICBUcmFjZVdyYXBwZXJWOFJl ZmVyZW5jZTx2ODo6T2JqZWN0PiBtYWluX3dvcmxkX3dyYXBwZXJfOworIAorICAgRElTQUxMT1df Q09QWV9BTkRfQVNTSUdOKFNjcmlwdFdyYXBwYWJsZSk7CitkaWZmIC11cCBjaHJvbWl1bS03OC4w LjM5MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vYmluZGluZ3MvdHJh Y2Vfd3JhcHBlcl92OF9yZWZlcmVuY2UuaC52OC10cmFjZWRyZWZlcmVuY2UtZml4IGNocm9taXVt LTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5n cy90cmFjZV93cmFwcGVyX3Y4X3JlZmVyZW5jZS5oCistLS0gY2hyb21pdW0tNzguMC4zOTA0Ljcw L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2JpbmRpbmdzL3RyYWNlX3dyYXBw ZXJfdjhfcmVmZXJlbmNlLmgudjgtdHJhY2VkcmVmZXJlbmNlLWZpeAkyMDE5LTEwLTIxIDE1OjA2 OjQ0LjAwMDAwMDAwMCAtMDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy90cmFjZV93cmFwcGVyX3Y4X3JlZmVy ZW5jZS5oCTIwMTktMTAtMjMgMTQ6MzA6MjUuNjg4NTQxNDYzIC0wNDAwCitAQCAtMTEsMTUgKzEx LDYgQEAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vaGVh cC91bmlmaWVkX2hlYXBfbWFya2luZ192aXNpdG9yLmgiCisgI2luY2x1ZGUgInY4L2luY2x1ZGUv djguaCIKKyAKKy1uYW1lc3BhY2UgdjggeworLQorLXRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLXN0 cnVjdCBUcmFjZWRHbG9iYWxUcmFpdDx2ODo6VHJhY2VkR2xvYmFsPFQ+PiB7CistICBzdGF0aWMg Y29uc3RleHByIGJvb2wga1JlcXVpcmVzRXhwbGljaXREZXN0cnVjdGlvbiA9IGZhbHNlOworLX07 CistCistfSAgLy8gbmFtZXNwYWNlIHY4CistCisgbmFtZXNwYWNlIGJsaW5rIHsKKyAKKyAvKioK K0BAIC01MCw4ICs0MSw4IEBAIGNsYXNzIFRyYWNlV3JhcHBlclY4UmVmZXJlbmNlIHsKKyAKKyAg IGJvb2wgSXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIGhhbmRsZV8uSXNFbXB0eSgpOyB9CisgICB2 b2lkIENsZWFyKCkgeyBoYW5kbGVfLlJlc2V0KCk7IH0KKy0gIEFMV0FZU19JTkxJTkUgY29uc3Qg djg6OlRyYWNlZEdsb2JhbDxUPiYgR2V0KCkgY29uc3QgeyByZXR1cm4gaGFuZGxlXzsgfQorLSAg QUxXQVlTX0lOTElORSB2ODo6VHJhY2VkR2xvYmFsPFQ+JiBHZXQoKSB7IHJldHVybiBoYW5kbGVf OyB9CisrICBBTFdBWVNfSU5MSU5FIGNvbnN0IHY4OjpUcmFjZWRSZWZlcmVuY2U8VD4mIEdldCgp IGNvbnN0IHsgcmV0dXJuIGhhbmRsZV87IH0KKysgIEFMV0FZU19JTkxJTkUgdjg6OlRyYWNlZFJl ZmVyZW5jZTxUPiYgR2V0KCkgeyByZXR1cm4gaGFuZGxlXzsgfQorIAorICAgdGVtcGxhdGUgPHR5 cGVuYW1lIFM+CisgICBjb25zdCBUcmFjZVdyYXBwZXJWOFJlZmVyZW5jZTxTPiYgQ2FzdCgpIGNv bnN0IHsKK0BAIC0xMjQsNyArMTE1LDcgQEAgY2xhc3MgVHJhY2VXcmFwcGVyVjhSZWZlcmVuY2Ug eworICAgICBVbmlmaWVkSGVhcE1hcmtpbmdWaXNpdG9yOjpXcml0ZUJhcnJpZXIoVW5zYWZlQ2Fz dDx2ODo6VmFsdWU+KCkpOworICAgfQorIAorLSAgdjg6OlRyYWNlZEdsb2JhbDxUPiBoYW5kbGVf OworKyAgdjg6OlRyYWNlZFJlZmVyZW5jZTxUPiBoYW5kbGVfOworIH07CisgCisgfSAgLy8gbmFt ZXNwYWNlIGJsaW5rCitkaWZmIC11cCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vYmluZGluZ3Mvd3JhcHBlcl90eXBlX2luZm8uaC52OC10 cmFjZWRyZWZlcmVuY2UtZml4IGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy93cmFwcGVyX3R5cGVfaW5mby5oCistLS0gY2hy b21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2Jp bmRpbmdzL3dyYXBwZXJfdHlwZV9pbmZvLmgudjgtdHJhY2VkcmVmZXJlbmNlLWZpeAkyMDE5LTEw LTIxIDE1OjA2OjQ0LjAwMDAwMDAwMCAtMDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy93cmFwcGVyX3R5cGVf aW5mby5oCTIwMTktMTAtMjMgMTQ6MzA6MjUuNjg5NTQxNDQyIC0wNDAwCitAQCAtMTIyLDcgKzEy Miw3IEBAIHN0cnVjdCBXcmFwcGVyVHlwZUluZm8geworICAgICB3cmFwcGVyLT5TZXRXcmFwcGVy Q2xhc3NJZCh3cmFwcGVyX2NsYXNzX2lkKTsKKyAgIH0KKyAKKy0gIHZvaWQgQ29uZmlndXJlV3Jh cHBlcih2ODo6VHJhY2VkR2xvYmFsPHY4OjpPYmplY3Q+KiB3cmFwcGVyKSBjb25zdCB7CisrICB2 b2lkIENvbmZpZ3VyZVdyYXBwZXIodjg6OlRyYWNlZFJlZmVyZW5jZTx2ODo6T2JqZWN0Piogd3Jh cHBlcikgY29uc3QgeworICAgICB3cmFwcGVyLT5TZXRXcmFwcGVyQ2xhc3NJZCh3cmFwcGVyX2Ns YXNzX2lkKTsKKyAgIH0KKyAKK0BAIC0xNzcsNyArMTc3LDcgQEAgaW5saW5lIFQqIEdldEludGVy bmFsRmllbGQoY29uc3Qgdjg6OlBlcgorIH0KKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgaW50 IG9mZnNldD4KKy1pbmxpbmUgVCogR2V0SW50ZXJuYWxGaWVsZChjb25zdCB2ODo6VHJhY2VkR2xv YmFsPHY4OjpPYmplY3Q+JiBnbG9iYWwpIHsKKytpbmxpbmUgVCogR2V0SW50ZXJuYWxGaWVsZChj b25zdCB2ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpPYmplY3Q+JiBnbG9iYWwpIHsKKyAgIERDSEVD S19MVChvZmZzZXQsIHY4OjpPYmplY3Q6OkludGVybmFsRmllbGRDb3VudChnbG9iYWwpKTsKKyAg IHJldHVybiByZWludGVycHJldF9jYXN0PFQqPigKKyAgICAgICB2ODo6T2JqZWN0OjpHZXRBbGln bmVkUG9pbnRlckZyb21JbnRlcm5hbEZpZWxkKGdsb2JhbCwgb2Zmc2V0KSk7CitAQCAtMTk4LDcg KzE5OCw3IEBAIGlubGluZSBTY3JpcHRXcmFwcGFibGUqIFRvU2NyaXB0V3JhcHBhYmwKKyB9Cisg CisgaW5saW5lIFNjcmlwdFdyYXBwYWJsZSogVG9TY3JpcHRXcmFwcGFibGUoCistICAgIGNvbnN0 IHY4OjpUcmFjZWRHbG9iYWw8djg6Ok9iamVjdD4mIHdyYXBwZXIpIHsKKysgICAgY29uc3Qgdjg6 OlRyYWNlZFJlZmVyZW5jZTx2ODo6T2JqZWN0PiYgd3JhcHBlcikgeworICAgcmV0dXJuIEdldElu dGVybmFsRmllbGQ8U2NyaXB0V3JhcHBhYmxlLCBrVjhET01XcmFwcGVyT2JqZWN0SW5kZXg+KHdy YXBwZXIpOworIH0KKyAKK0BAIC0yMTksNyArMjE5LDggQEAgaW5saW5lIHZvaWQqIFRvVW50eXBl ZFdyYXBwYWJsZShjb25zdCB2OAorICAgcmV0dXJuIEdldEludGVybmFsRmllbGQ8dm9pZCwga1Y4 RE9NV3JhcHBlck9iamVjdEluZGV4Pih3cmFwcGVyKTsKKyB9CisgCistaW5saW5lIHZvaWQqIFRv VW50eXBlZFdyYXBwYWJsZShjb25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpPYmplY3Q+JiB3cmFw cGVyKSB7CisraW5saW5lIHZvaWQqIFRvVW50eXBlZFdyYXBwYWJsZSgKKysgICAgY29uc3Qgdjg6 OlRyYWNlZFJlZmVyZW5jZTx2ODo6T2JqZWN0PiYgd3JhcHBlcikgeworICAgcmV0dXJuIEdldElu dGVybmFsRmllbGQ8dm9pZCwga1Y4RE9NV3JhcHBlck9iamVjdEluZGV4Pih3cmFwcGVyKTsKKyB9 CisgCitAQCAtMjMzLDcgKzIzNCw3IEBAIGlubGluZSBjb25zdCBXcmFwcGVyVHlwZUluZm8qIFRv V3JhcHBlclQKKyB9CisgCisgaW5saW5lIGNvbnN0IFdyYXBwZXJUeXBlSW5mbyogVG9XcmFwcGVy VHlwZUluZm8oCistICAgIGNvbnN0IHY4OjpUcmFjZWRHbG9iYWw8djg6Ok9iamVjdD4mIHdyYXBw ZXIpIHsKKysgICAgY29uc3Qgdjg6OlRyYWNlZFJlZmVyZW5jZTx2ODo6T2JqZWN0PiYgd3JhcHBl cikgeworICAgcmV0dXJuIEdldEludGVybmFsRmllbGQ8V3JhcHBlclR5cGVJbmZvLCBrVjhET01X cmFwcGVyVHlwZUluZGV4Pih3cmFwcGVyKTsKKyB9CisgCitkaWZmIC11cCBjaHJvbWl1bS03OC4w LjM5MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vaGVhcC90aHJlYWRf c3RhdGUuY2MudjgtdHJhY2VkcmVmZXJlbmNlLWZpeCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vaGVhcC90aHJlYWRfc3RhdGUuY2MKKy0t LSBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vaGVhcC90aHJlYWRfc3RhdGUuY2MudjgtdHJhY2VkcmVmZXJlbmNlLWZpeAkyMDE5LTEwLTIx IDE1OjA2OjQ1LjAwMDAwMDAwMCAtMDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9oZWFwL3RocmVhZF9zdGF0ZS5jYwkyMDE5 LTEwLTIzIDE0OjMwOjI1LjY5MzU0MTM1OSAtMDQwMAorQEAgLTE0NTEsMTEgKzE0NTEsMTUgQEAg Y2xhc3MgQ2xlYXJSZWZlcmVuY2VzSW5EZWFkT2JqZWN0c1Zpc2l0bworICAgICAgIHZhbHVlLT5S ZXNldCgpOworICAgfQorIAorLSAgdm9pZCBWaXNpdFRyYWNlZEdsb2JhbEhhbmRsZShjb25zdCB2 ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIHZhbHVlKSBmaW5hbCB7CisrICB2b2lkIFZpc2l0 VHJhY2VkR2xvYmFsSGFuZGxlKGNvbnN0IHY4OjpUcmFjZWRHbG9iYWw8djg6OlZhbHVlPiYpIGZp bmFsIHsKKysgICAgQ0hFQ0soZmFsc2UpIDw8ICJCbGluayBkb2VzIG5vdCB1c2Ugdjg6OlRyYWNl ZEdsb2JhbC4iOworKyAgfQorKworKyAgdm9pZCBWaXNpdFRyYWNlZFJlZmVyZW5jZShjb25zdCB2 ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpWYWx1ZT4mIHZhbHVlKSBmaW5hbCB7CisgICAgIC8vIFRP RE8obWxpcHBhdXR6KTogQXZvaWQgY29uc3RfY2FzdCBhZnRlciBjaGFuZ2luZyB0aGUgQVBJIHRv IGFsbG93CistICAgIC8vIG1vZGlmaWNhdG9uIG9mIHRoZSBUcmFjZWRHbG9iYWwgaGFuZGxlLgor LSAgICBpZiAoSW5EZWFkT2JqZWN0KCZjb25zdF9jYXN0PHY4OjpUcmFjZWRHbG9iYWw8djg6OlZh bHVlPiY+KHZhbHVlKSkpCistICAgICAgY29uc3RfY2FzdDx2ODo6VHJhY2VkR2xvYmFsPHY4OjpW YWx1ZT4mPih2YWx1ZSkuUmVzZXQoKTsKKysgICAgLy8gbW9kaWZpY2F0b24gb2YgdGhlIGhhbmRs ZS4KKysgICAgaWYgKEluRGVhZE9iamVjdCgmY29uc3RfY2FzdDx2ODo6VHJhY2VkUmVmZXJlbmNl PHY4OjpWYWx1ZT4mPih2YWx1ZSkpKQorKyAgICAgIGNvbnN0X2Nhc3Q8djg6OlRyYWNlZFJlZmVy ZW5jZTx2ODo6VmFsdWU+Jj4odmFsdWUpLlJlc2V0KCk7CisgICB9CisgCisgIHByaXZhdGU6CitA QCAtMTU4NCwxMSArMTU4OCwxNSBAQCBjbGFzcyBVbnBvaXNvbkhhbmRsZXNWaXNpdG9yIGZpbmFs CisgICAgIFZpc2l0U2xvdCh2YWx1ZSwgc2l6ZW9mKHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4p KTsKKyAgIH0KKyAKKy0gIHZvaWQgVmlzaXRUcmFjZWRHbG9iYWxIYW5kbGUoY29uc3Qgdjg6OlRy YWNlZEdsb2JhbDx2ODo6VmFsdWU+JiB2YWx1ZSkgZmluYWwgeworKyAgdm9pZCBWaXNpdFRyYWNl ZEdsb2JhbEhhbmRsZShjb25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mKSBmaW5hbCB7 CisrICAgIENIRUNLKGZhbHNlKSA8PCAiQmxpbmsgZG9lcyBub3QgdXNlIHY4OjpUcmFjZWRHbG9i YWwuIjsKKysgIH0KKysKKysgIHZvaWQgVmlzaXRUcmFjZWRSZWZlcmVuY2UoY29uc3Qgdjg6OlRy YWNlZFJlZmVyZW5jZTx2ODo6VmFsdWU+JiB2YWx1ZSkgZmluYWwgeworICAgICAvLyBUT0RPKG1s aXBwYXV0eik6IEF2b2lkIGNvbnN0X2Nhc3QgYWZ0ZXIgY2hhbmdpbmcgdGhlIEFQSSB0byBhbGxv dworLSAgICAvLyBtb2RpZmljYXRvbiBvZiB0aGUgVHJhY2VkR2xvYmFsIGhhbmRsZS4KKy0gICAg VmlzaXRTbG90KCZjb25zdF9jYXN0PHY4OjpUcmFjZWRHbG9iYWw8djg6OlZhbHVlPiY+KHZhbHVl KSwKKy0gICAgICAgICAgICAgIHNpemVvZih2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4pKTsK KysgICAgLy8gbW9kaWZpY2F0b24gb2YgdGhlIGhhbmRsZS4KKysgICAgVmlzaXRTbG90KCZjb25z dF9jYXN0PHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6OlZhbHVlPiY+KHZhbHVlKSwKKysgICAgICAg ICAgICAgIHNpemVvZih2ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpWYWx1ZT4pKTsKKyAgIH0KKyAK KyAgcHJpdmF0ZToKK2RpZmYgLXVwIGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9oZWFwL3VuaWZpZWRfaGVhcF9jb250cm9sbGVyLmNjLnY4 LXRyYWNlZHJlZmVyZW5jZS1maXggY2hyb21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL2hlYXAvdW5pZmllZF9oZWFwX2NvbnRyb2xsZXIuY2MKKy0t LSBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vaGVhcC91bmlmaWVkX2hlYXBfY29udHJvbGxlci5jYy52OC10cmFjZWRyZWZlcmVuY2UtZml4 CTIwMTktMTAtMjEgMTU6MDY6NDUuMDAwMDAwMDAwIC0wNDAwCisrKysgY2hyb21pdW0tNzguMC4z OTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2hlYXAvdW5pZmllZF9o ZWFwX2NvbnRyb2xsZXIuY2MJMjAxOS0xMC0yMyAxNDozMjozNC43MjI4NDA4ODUgLTA0MDAKK0BA IC0xNDcsMTYgKzE0NywxOSBAQCBib29sIFVuaWZpZWRIZWFwQ29udHJvbGxlcjo6SXNUcmFjaW5n RG9uCisgICByZXR1cm4gaXNfdHJhY2luZ19kb25lXzsKKyB9CisgCistYm9vbCBVbmlmaWVkSGVh cENvbnRyb2xsZXI6OklzUm9vdEZvck5vblRyYWNpbmdHQ0ludGVybmFsKAorLSAgICBjb25zdCB2 ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIGhhbmRsZSkgeworK25hbWVzcGFjZSB7CisrCisr Ym9vbCBJc1Jvb3RGb3JOb25UcmFjaW5nR0NJbnRlcm5hbCgKKysgICAgY29uc3Qgdjg6OlRyYWNl ZFJlZmVyZW5jZTx2ODo6VmFsdWU+JiBoYW5kbGUpIHsKKyAgIGNvbnN0IHVpbnQxNl90IGNsYXNz X2lkID0gaGFuZGxlLldyYXBwZXJDbGFzc0lkKCk7CistICAvLyBTdGFuZC1hbG9uZSBUcmFjZWRH bG9iYWwgcmVmZXJlbmNlIG9yIGtDdXN0b21XcmFwcGFibGVJZC4gS2VlcCBhcyByb290IGFzCisr ICAvLyBTdGFuZC1hbG9uZSByZWZlcmVuY2Ugb3Iga0N1c3RvbVdyYXBwYWJsZUlkLiBLZWVwIGFz IHJvb3QgYXMKKyAgIC8vIHdlIGRvbid0IGtub3cgYmV0dGVyLgorICAgaWYgKGNsYXNzX2lkICE9 IFdyYXBwZXJUeXBlSW5mbzo6a05vZGVDbGFzc0lkICYmCisgICAgICAgY2xhc3NfaWQgIT0gV3Jh cHBlclR5cGVJbmZvOjprT2JqZWN0Q2xhc3NJZCkKKyAgICAgcmV0dXJuIHRydWU7CisgCistICBj b25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpPYmplY3Q+JiB0cmFjZWQgPSBoYW5kbGUuQXM8djg6 Ok9iamVjdD4oKTsKKysgIGNvbnN0IHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6Ok9iamVjdD4mIHRy YWNlZCA9CisrICAgICAgaGFuZGxlLnRlbXBsYXRlIEFzPHY4OjpPYmplY3Q+KCk7CisgICBpZiAo VG9XcmFwcGVyVHlwZUluZm8odHJhY2VkKS0+SXNBY3RpdmVTY3JpcHRXcmFwcGFibGUoKSAmJgor ICAgICAgIFRvU2NyaXB0V3JhcHBhYmxlKHRyYWNlZCktPkhhc1BlbmRpbmdBY3Rpdml0eSgpKSB7 CisgICAgIHJldHVybiB0cnVlOworQEAgLTE2OSw4ICsxNzIsMTAgQEAgYm9vbCBVbmlmaWVkSGVh cENvbnRyb2xsZXI6OklzUm9vdEZvck5vbgorICAgcmV0dXJuIGZhbHNlOworIH0KKyAKKyt9ICAv LyBuYW1lc3BhY2UKKysKKyB2b2lkIFVuaWZpZWRIZWFwQ29udHJvbGxlcjo6UmVzZXRIYW5kbGVJ bk5vblRyYWNpbmdHQygKKy0gICAgY29uc3Qgdjg6OlRyYWNlZEdsb2JhbDx2ODo6VmFsdWU+JiBo YW5kbGUpIHsKKysgICAgY29uc3Qgdjg6OlRyYWNlZFJlZmVyZW5jZTx2ODo6VmFsdWU+JiBoYW5k bGUpIHsKKyAgIGNvbnN0IHVpbnQxNl90IGNsYXNzX2lkID0gaGFuZGxlLldyYXBwZXJDbGFzc0lk KCk7CisgICAvLyBPbmx5IGNvbnNpZGVyIGhhbmRsZXMgdGhhdCBoYXZlIG5vdCBiZWVuIHRyZWF0 ZWQgYXMgcm9vdHMsIHNlZQorICAgLy8gSXNSb290Rm9yTm9uVHJhY2luZ0dDSW50ZXJuYWwuCitA QCAtMTc4LDE1ICsxODMsMjEgQEAgdm9pZCBVbmlmaWVkSGVhcENvbnRyb2xsZXI6OlJlc2V0SGFu ZGxlSQorICAgICAgIGNsYXNzX2lkICE9IFdyYXBwZXJUeXBlSW5mbzo6a09iamVjdENsYXNzSWQp CisgICAgIHJldHVybjsKKyAKKy0gIGNvbnN0IHY4OjpUcmFjZWRHbG9iYWw8djg6Ok9iamVjdD4m IHRyYWNlZCA9IGhhbmRsZS5Bczx2ODo6T2JqZWN0PigpOworKyAgY29uc3Qgdjg6OlRyYWNlZFJl ZmVyZW5jZTx2ODo6T2JqZWN0PiYgdHJhY2VkID0gaGFuZGxlLkFzPHY4OjpPYmplY3Q+KCk7Cisg ICBUb1NjcmlwdFdyYXBwYWJsZSh0cmFjZWQpLT5VbnNldFdyYXBwZXJJZkFueSgpOworIH0KKyAK KyBib29sIFVuaWZpZWRIZWFwQ29udHJvbGxlcjo6SXNSb290Rm9yTm9uVHJhY2luZ0dDKAorLSAg ICBjb25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIGhhbmRsZSkgeworKyAgICBjb25z dCB2ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpWYWx1ZT4mIGhhbmRsZSkgeworICAgcmV0dXJuIElz Um9vdEZvck5vblRyYWNpbmdHQ0ludGVybmFsKGhhbmRsZSk7CisgfQorIAorK2Jvb2wgVW5pZmll ZEhlYXBDb250cm9sbGVyOjpJc1Jvb3RGb3JOb25UcmFjaW5nR0MoCisrICAgIGNvbnN0IHY4OjpU cmFjZWRHbG9iYWw8djg6OlZhbHVlPiYgaGFuZGxlKSB7CisrICBDSEVDSyhmYWxzZSkgPDwgIkJs aW5rIGRvZXMgbm90IHVzZSB2ODo6VHJhY2VkR2xvYmFsLiI7CisrICByZXR1cm4gZmFsc2U7Cisr fQorKworIHZvaWQgVW5pZmllZEhlYXBDb250cm9sbGVyOjpSZXBvcnRCdWZmZXJlZEFsbG9jYXRl ZFNpemVJZlBvc3NpYmxlKCkgeworICAgRENIRUNLKGJhc2U6OkZlYXR1cmVMaXN0OjpJc0VuYWJs ZWQoCisgICAgICAgYmxpbms6OmZlYXR1cmVzOjprQmxpbmtIZWFwVW5pZmllZEdDU2NoZWR1bGlu ZykpOworZGlmZiAtdXAgY2hyb21pdW0tNzguMC4zOTA0LjcwL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL3BsYXRmb3JtL2hlYXAvdW5pZmllZF9oZWFwX2NvbnRyb2xsZXIuaC52OC10cmFjZWRy ZWZlcmVuY2UtZml4IGNocm9taXVtLTc4LjAuMzkwNC43MC90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS9oZWFwL3VuaWZpZWRfaGVhcF9jb250cm9sbGVyLmgKKy0tLSBjaHJvbWl1 bS03OC4wLjM5MDQuNzAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vaGVhcC91 bmlmaWVkX2hlYXBfY29udHJvbGxlci5oLnY4LXRyYWNlZHJlZmVyZW5jZS1maXgJMjAxOS0xMC0y MSAxNTowNjo0NS4wMDAwMDAwMDAgLTA0MDAKKysrKyBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vaGVhcC91bmlmaWVkX2hlYXBfY29udHJv bGxlci5oCTIwMTktMTAtMjMgMTQ6MzA6MjUuNjk1NTQxMzE3IC0wNDAwCitAQCAtNDUsOCArNDUs OSBAQCBjbGFzcyBQTEFURk9STV9FWFBPUlQgVW5pZmllZEhlYXBDb250cm9sCisgICB2b2lkIFJl Z2lzdGVyVjhSZWZlcmVuY2VzKGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjx2b2lkKiwgdm9p ZCo+PiYpIGZpbmFsOworICAgYm9vbCBBZHZhbmNlVHJhY2luZyhkb3VibGUpIGZpbmFsOworICAg Ym9vbCBJc1RyYWNpbmdEb25lKCkgZmluYWw7CisrICBib29sIElzUm9vdEZvck5vblRyYWNpbmdH Qyhjb25zdCB2ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpWYWx1ZT4mKSBmaW5hbDsKKyAgIGJvb2wg SXNSb290Rm9yTm9uVHJhY2luZ0dDKGNvbnN0IHY4OjpUcmFjZWRHbG9iYWw8djg6OlZhbHVlPiYp IGZpbmFsOworLSAgdm9pZCBSZXNldEhhbmRsZUluTm9uVHJhY2luZ0dDKGNvbnN0IHY4OjpUcmFj ZWRHbG9iYWw8djg6OlZhbHVlPiYpIGZpbmFsOworKyAgdm9pZCBSZXNldEhhbmRsZUluTm9uVHJh Y2luZ0dDKGNvbnN0IHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6OlZhbHVlPiYpIGZpbmFsOworIAor ICAgVGhyZWFkU3RhdGUqIHRocmVhZF9zdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIHRocmVhZF9zdGF0 ZV87IH0KKyAKK0BAIC01OSw5ICs2MCw2IEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBVbmlmaWVk SGVhcENvbnRyb2wKKyAgIHZvaWQgRGVjcmVhc2VBbGxvY2F0ZWRTcGFjZShzaXplX3QpIGZpbmFs IHt9CisgCisgIHByaXZhdGU6CistICBzdGF0aWMgYm9vbCBJc1Jvb3RGb3JOb25UcmFjaW5nR0NJ bnRlcm5hbCgKKy0gICAgICBjb25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIGhhbmRs ZSk7CistCisgICB2b2lkIFJlcG9ydEJ1ZmZlcmVkQWxsb2NhdGVkU2l6ZUlmUG9zc2libGUoKTsK KyAKKyAgIFRocmVhZFN0YXRlKiBjb25zdCB0aHJlYWRfc3RhdGVfOwoKZGlmZiAtLWdpdCBhL2No cm9taXVtLTc4LjAuMzkwNC43MC12dGFibGUtc3ltYm9sLXVuZGVmaW5lZC5wYXRjaCBiL2Nocm9t aXVtLTc4LjAuMzkwNC43MC12dGFibGUtc3ltYm9sLXVuZGVmaW5lZC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzc1MWEyCi0tLSAvZGV2L251bGwKKysrIGIvY2hy b21pdW0tNzguMC4zOTA0LjcwLXZ0YWJsZS1zeW1ib2wtdW5kZWZpbmVkLnBhdGNoCkBAIC0wLDAg KzEsMTEgQEAKK2RpZmYgLXVwIGNocm9taXVtLTc4LjAuMzkwNC43MC9uZXQvcXVpYy9wbGF0Zm9y bS9pbXBsL3F1aWNfZGVmYXVsdF9wcm9vZl9wcm92aWRlcnNfaW1wbC5jYy52dGFibGUtc3ltYm9s LXVuZGVmaW5lZCBjaHJvbWl1bS03OC4wLjM5MDQuNzAvbmV0L3F1aWMvcGxhdGZvcm0vaW1wbC9x dWljX2RlZmF1bHRfcHJvb2ZfcHJvdmlkZXJzX2ltcGwuY2MKKy0tLSBjaHJvbWl1bS03OC4wLjM5 MDQuNzAvbmV0L3F1aWMvcGxhdGZvcm0vaW1wbC9xdWljX2RlZmF1bHRfcHJvb2ZfcHJvdmlkZXJz X2ltcGwuY2MudnRhYmxlLXN5bWJvbC11bmRlZmluZWQJMjAxOS0xMC0yMyAwOToxMjowOC43NTQz NTE3OTggLTA0MDAKKysrKyBjaHJvbWl1bS03OC4wLjM5MDQuNzAvbmV0L3F1aWMvcGxhdGZvcm0v aW1wbC9xdWljX2RlZmF1bHRfcHJvb2ZfcHJvdmlkZXJzX2ltcGwuY2MJMjAxOS0xMC0yMyAwOTox OToyOC4yNzg0MzE0MzAgLTA0MDAKK0BAIC0xOCw2ICsxOCw3IEBACisgI2luY2x1ZGUgIm5ldC9x dWljL2NyeXB0by9wcm9vZl92ZXJpZmllcl9jaHJvbWl1bS5oIgorICNpbmNsdWRlICJuZXQvdGhp cmRfcGFydHkvcXVpY2hlL3NyYy9xdWljL3BsYXRmb3JtL2FwaS9xdWljX2ZsYWdzLmgiCisgI2lu Y2x1ZGUgIm5ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL3F1aWMvcGxhdGZvcm0vYXBpL3F1aWNf cHRyX3V0aWwuaCIKKysjaW5jbHVkZSAibmV0L3F1aWMvcGxhdGZvcm0vaW1wbC9xdWljX2ZsYWdz X2ltcGwuY2MiCisgCisgREVGSU5FX1FVSUNfQ09NTUFORF9MSU5FX0ZMQUcoCisgICAgIGJvb2ws CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tbGF0ZXN0LnB5IGIvY2hyb21pdW0tbGF0ZXN0LnB5Cmlu ZGV4IDg3ODg5YWQuLjVhZjg2MjggMTAwNzU1Ci0tLSBhL2Nocm9taXVtLWxhdGVzdC5weQorKysg Yi9jaHJvbWl1bS1sYXRlc3QucHkKQEAgLTEsNSArMSw1IEBACi0jIS91c3IvYmluL3B5dGhvbgot IyBDb3B5cmlnaHQgMjAxMCwyMDE1LTIwMTYgVG9tIENhbGxhd2F5IDx0Y2FsbGF3YUByZWRoYXQu Y29tPgorIyEvdXNyL2Jpbi9weXRob24zCisjIENvcHlyaWdodCAyMDEwLDIwMTUtMjAxOSBUb20g Q2FsbGF3YXkgPHRjYWxsYXdhQHJlZGhhdC5jb20+CiAjIENvcHlyaWdodCAyMDEzLTIwMTYgVG9t YXMgUG9wZWxhIDx0cG9wZWxhQHJlZGhhdC5jb20+CiAjIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZwogIyBhIGNvcHkg b2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK QEAgLTMyLDkgKzMyLDkgQEAgaW1wb3J0IGhhc2hsaWIKIGltcG9ydCBsb2NhbGUKIGltcG9ydCBv cwogaW1wb3J0IHNodXRpbAotaW1wb3J0IFN0cmluZ0lPCitpbXBvcnQgaW8KIGltcG9ydCBzeXMK LWltcG9ydCB1cmxsaWIKK2ltcG9ydCB1cmxsaWIucmVxdWVzdCwgdXJsbGliLnBhcnNlLCB1cmxs aWIuZXJyb3IKIAogY2hyb21pdW1fdXJsID0gImh0dHA6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29n bGVhcGlzLmNvbS9jaHJvbWl1bS1icm93c2VyLW9mZmljaWFsLyIKIApAQCAtNTksMjIgKzU5LDIy IEBAIGRlZiBkbFByb2dyZXNzKGNvdW50LCBibG9ja1NpemUsIHRvdGFsU2l6ZSk6CiBkZWYgZGVs ZXRlX2Nocm9taXVtX2RpcihjaF9kaXIpOgogCiAgIGZ1bGxfZGlyID0gIiVzLyVzIiAlIChsYXRl c3RfZGlyLCBjaF9kaXIpCi0gIHByaW50ICdEZWxldGluZyAlcyAnICUgZnVsbF9kaXIKKyAgcHJp bnQoJ0RlbGV0aW5nICVzICcgJSBmdWxsX2RpcikKICAgaWYgb3MucGF0aC5pc2RpcihmdWxsX2Rp cik6CiAgICAgc2h1dGlsLnJtdHJlZShmdWxsX2RpcikKLSAgICBwcmludCAnW0RPTkVdJworICAg IHByaW50KCdbRE9ORV0nKQogICBlbHNlOgotICAgIHByaW50ICdbTk9UIEZPVU5EXScKKyAgICBw cmludCgnW05PVCBGT1VORF0nKQogCiAKIGRlZiBkZWxldGVfY2hyb21pdW1fZmlsZXMoZmlsZXMp OgogCiAgIGZ1bGxfcGF0aCA9ICIlcy8lcyIgJSAobGF0ZXN0X2RpciwgZmlsZXMpCi0gIHByaW50 ICdEZWxldGluZyAnICsgZnVsbF9wYXRoICsgJyAnLAorICBwcmludCgnRGVsZXRpbmcgJyArIGZ1 bGxfcGF0aCArICcgJywgZW5kPScgJykKICAgZm9yIGZpbGVuYW1lIGluIGdsb2IuZ2xvYihmdWxs X3BhdGgpOgotICAgIHByaW50ICdEZWxldGluZyAnICsgZmlsZW5hbWUgKyAnICcsCisgICAgcHJp bnQoJ0RlbGV0aW5nICcgKyBmaWxlbmFtZSArICcgJywgZW5kPScgJykKICAgICBvcy5yZW1vdmUo ZmlsZW5hbWUpCi0gICAgcHJpbnQgJ1tET05FXScKKyAgICBwcmludCgnW0RPTkVdJykKIAogCiBk ZWYgY2hlY2tfb21haGFwcm94eShjaGFubmVsPSJzdGFibGUiKToKQEAgLTgyLDIwICs4MiwyMCBA QCBkZWYgY2hlY2tfb21haGFwcm94eShjaGFubmVsPSJzdGFibGUiKToKICAgdmVyc2lvbiA9IDAK ICAgc3RhdHVzX3VybCA9ICJodHRwOi8vb21haGFwcm94eS5hcHBzcG90LmNvbS9hbGw/b3M9bGlu dXgmY2hhbm5lbD0iICsgY2hhbm5lbAogCi0gIHVzb2NrID0gdXJsbGliLnVybG9wZW4oc3RhdHVz X3VybCkKLSAgc3RhdHVzX2R1bXAgPSB1c29jay5yZWFkKCkKKyAgdXNvY2sgPSB1cmxsaWIucmVx dWVzdC51cmxvcGVuKHN0YXR1c191cmwpCisgIHN0YXR1c19kdW1wID0gdXNvY2sucmVhZCgpLmRl Y29kZSgndXRmLTgnKQogICB1c29jay5jbG9zZSgpCi0gIHN0YXR1c19saXN0ID0gU3RyaW5nSU8u U3RyaW5nSU8oc3RhdHVzX2R1bXApCisgIHN0YXR1c19saXN0ID0gaW8uU3RyaW5nSU8oc3RhdHVz X2R1bXApCiAgIHN0YXR1c19yZWFkZXIgPSBsaXN0KGNzdi5yZWFkZXIoc3RhdHVzX2xpc3QsIGRl bGltaXRlcj0nLCcpKQogICBsaW51eF9jaGFubmVscyA9IFtzIGZvciBzIGluIHN0YXR1c19yZWFk ZXIgaWYgImxpbnV4IiBpbiBzXQogICBsaW51eF9jaGFubmVsID0gW3MgZm9yIHMgaW4gbGludXhf Y2hhbm5lbHMgaWYgY2hhbm5lbCBpbiBzXQogICB2ZXJzaW9uID0gbGludXhfY2hhbm5lbFswXVsy XQogCiAgIGlmIHZlcnNpb24gPT0gMDoKLSAgICBwcmludCAnSSBjb3VsZCBub3QgZmluZCB0aGUg bGF0ZXN0ICVzIGJ1aWxkLiBCYWlsaW5nIG91dC4nICUgY2hhbm5lbAorICAgIHByaW50KCdJIGNv dWxkIG5vdCBmaW5kIHRoZSBsYXRlc3QgJXMgYnVpbGQuIEJhaWxpbmcgb3V0LicgJSBjaGFubmVs KQogICAgIHN5cy5leGl0KDEpCiAgIGVsc2U6Ci0gICAgcHJpbnQgJ0xhdGVzdCBDaHJvbWl1bSBW ZXJzaW9uIG9uICVzIGF0ICVzIGlzICVzJyAlIChjaGFubmVsLCBzdGF0dXNfdXJsLCB2ZXJzaW9u KQorICAgIHByaW50KCdMYXRlc3QgQ2hyb21pdW0gVmVyc2lvbiBvbiAlcyBhdCAlcyBpcyAlcycg JSAoY2hhbm5lbCwgc3RhdHVzX3VybCwgdmVyc2lvbikpCiAgICAgcmV0dXJuIHZlcnNpb24KIAog CkBAIC0xMTksMjcgKzExOSwyNyBAQCBkZWYgZG93bmxvYWRfZmlsZV9hbmRfY29tcGFyZV9oYXNo ZXMoZmlsZV90b19kb3dubG9hZCk6CiAgICMgTGV0J3MgbWFrZSBzdXJlIHdlIGhhdmVuJ3QgYWxy ZWFkeSBkb3dubG9hZGVkIGl0LgogICB0YXJiYWxsX2xvY2FsX2ZpbGUgPSAiLi8lcyIgJSBmaWxl X3RvX2Rvd25sb2FkCiAgIGlmIG9zLnBhdGguaXNmaWxlKHRhcmJhbGxfbG9jYWxfZmlsZSk6Ci0g ICAgcHJpbnQgIiVzIGFscmVhZHkgZXhpc3RzISIgJSBmaWxlX3RvX2Rvd25sb2FkCisgICAgcHJp bnQoIiVzIGFscmVhZHkgZXhpc3RzISIgJSBmaWxlX3RvX2Rvd25sb2FkKQogICBlbHNlOgogICAg IHBhdGggPSAnJXMlcycgJSAoY2hyb21pdW1fdXJsLCBmaWxlX3RvX2Rvd25sb2FkKQotICAgIHBy aW50ICJEb3dubG9hZGluZyAlcyIgJSBwYXRoCisgICAgcHJpbnQoIkRvd25sb2FkaW5nICVzIiAl IHBhdGgpCiAgICAgIyBQZXJoYXBzIGxvb2sgYXQgdXNpbmcgcHl0aG9uLXByb2dyZXNzYmFyIGF0 IHNvbWUgcG9pbnQ/Ci0gICAgaW5mbz11cmxsaWIudXJscmV0cmlldmUocGF0aCwgZmlsZV90b19k b3dubG9hZCwgcmVwb3J0aG9vaz1kbFByb2dyZXNzKVsxXQotICAgIHVybGxpYi51cmxjbGVhbnVw KCkKLSAgICBwcmludCAiIgorICAgIGluZm89dXJsbGliLnJlcXVlc3QudXJscmV0cmlldmUocGF0 aCwgZmlsZV90b19kb3dubG9hZCwgcmVwb3J0aG9vaz1kbFByb2dyZXNzKVsxXQorICAgIHVybGxp Yi5yZXF1ZXN0LnVybGNsZWFudXAoKQorICAgIHByaW50KCIiKQogICAgIGlmIChpbmZvWyJDb250 ZW50LVR5cGUiXSAhPSAiYXBwbGljYXRpb24veC10YXIiKToKLSAgICAgIHByaW50ICdDaHJvbWl1 bSB0YXJiYWxscyBmb3IgJXMgYXJlIG5vdCBvbiBzZXJ2ZXJzLicgJSBmaWxlX3RvX2Rvd25sb2Fk CisgICAgICBwcmludCgnQ2hyb21pdW0gdGFyYmFsbHMgZm9yICVzIGFyZSBub3Qgb24gc2VydmVy cy4nICUgZmlsZV90b19kb3dubG9hZCkKICAgICAgIHJlbW92ZV9maWxlX2lmX2V4aXN0cyAoZmls ZV90b19kb3dubG9hZCkKICAgICAgIHN5cy5leGl0KDEpCiAKICAgaGFzaGVzX2xvY2FsX2ZpbGUg PSAiLi8lcyIgJSBoYXNoZXNfZmlsZQogICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoaGFzaGVzX2xv Y2FsX2ZpbGUpOgogICAgIHBhdGggPSAnJXMlcycgJSAoY2hyb21pdW1fdXJsLCBoYXNoZXNfZmls ZSkKLSAgICBwcmludCAiRG93bmxvYWRpbmcgJXMiICUgcGF0aAorICAgIHByaW50KCJEb3dubG9h ZGluZyAlcyIgJSBwYXRoKQogICAgICMgUGVyaGFwcyBsb29rIGF0IHVzaW5nIHB5dGhvbi1wcm9n cmVzc2JhciBhdCBzb21lIHBvaW50PwotICAgIGluZm89dXJsbGliLnVybHJldHJpZXZlKHBhdGgs IGhhc2hlc19maWxlLCByZXBvcnRob29rPWRsUHJvZ3Jlc3MpWzFdCi0gICAgdXJsbGliLnVybGNs ZWFudXAoKQotICAgIHByaW50ICIiCisgICAgaW5mbz11cmxsaWIucmVxdWVzdC51cmxyZXRyaWV2 ZShwYXRoLCBoYXNoZXNfZmlsZSwgcmVwb3J0aG9vaz1kbFByb2dyZXNzKVsxXQorICAgIHVybGxp Yi5yZXF1ZXN0LnVybGNsZWFudXAoKQorICAgIHByaW50KCIiKQogCiAgIGlmIG9zLnBhdGguaXNm aWxlKGhhc2hlc19sb2NhbF9maWxlKToKICAgICB3aXRoIG9wZW4oaGFzaGVzX2xvY2FsX2ZpbGUs ICJyIikgYXMgaW5wdXRfZmlsZToKQEAgLTE0OSwxMiArMTQ5LDEyIEBAIGRlZiBkb3dubG9hZF9m aWxlX2FuZF9jb21wYXJlX2hhc2hlcyhmaWxlX3RvX2Rvd25sb2FkKToKICAgICAgICAgZm9yIGJs b2NrIGluIGl0ZXIobGFtYmRhOiBmLnJlYWQoNjU1MzYpLCBiIiIpOgogICAgICAgICAgIG1kNS51 cGRhdGUoYmxvY2spCiAgICAgICAgIGlmIChtZDVzdW0gPT0gbWQ1LmhleGRpZ2VzdCgpKToKLSAg ICAgICAgICBwcmludCAiTUQ1IG1hdGNoZXMgZm9yICVzISIgJSBmaWxlX3RvX2Rvd25sb2FkCisg ICAgICAgICAgcHJpbnQoIk1ENSBtYXRjaGVzIGZvciAlcyEiICUgZmlsZV90b19kb3dubG9hZCkK ICAgICAgICAgZWxzZToKLSAgICAgICAgICBwcmludCAiTUQ1IG1pc21hdGNoIGZvciAlcyEiICUg ZmlsZV90b19kb3dubG9hZAorICAgICAgICAgIHByaW50KCJNRDUgbWlzbWF0Y2ggZm9yICVzISIg JSBmaWxlX3RvX2Rvd25sb2FkKQogICAgICAgICAgIHN5cy5leGl0KDEpCiAgIGVsc2U6Ci0gICAg cHJpbnQgIkNhbm5vdCBjb21wYXJlIGhhc2hlcyBmb3IgJXMhIiAlIGZpbGVfdG9fZG93bmxvYWQK KyAgICBwcmludCgiQ2Fubm90IGNvbXBhcmUgaGFzaGVzIGZvciAlcyEiICUgZmlsZV90b19kb3du bG9hZCkKIAogCiBkZWYgZG93bmxvYWRfdmVyc2lvbih2ZXJzaW9uKToKQEAgLTE3NSwxNiArMTc1 LDE2IEBAIGRlZiBuYWNsX3ZlcnNpb25zKHZlcnNpb24pOgogICAgICAgZm9yIGxpbmUgaW4gbXlm aWxlOgogICAgICAgICAgIG5hbWUsIHZhciA9IGxpbmUucGFydGl0aW9uKCI9IilbOjoyXQogICAg ICAgICAgIG15dmFyc1tuYW1lXSA9IHZhcgotICBwcmludCAibmFjbC1iaW51dGlscyBjb21taXQ6 ICVzIiAlIG15dmFyc1siTkFDTF9CSU5VVElMU19DT01NSVQiXQotICBwcmludCAibmFjbC1nY2Mg Y29tbWl0OiAlcyIgJSBteXZhcnNbIk5BQ0xfR0NDX0NPTU1JVCJdCi0gIHByaW50ICJuYWNsLW5l d2xpYiBjb21taXQ6ICVzIiAlIG15dmFyc1siTkFDTF9ORVdMSUJfQ09NTUlUIl0KKyAgcHJpbnQo Im5hY2wtYmludXRpbHMgY29tbWl0OiAlcyIgJSBteXZhcnNbIk5BQ0xfQklOVVRJTFNfQ09NTUlU Il0pCisgIHByaW50KCJuYWNsLWdjYyBjb21taXQ6ICVzIiAlIG15dmFyc1siTkFDTF9HQ0NfQ09N TUlUIl0pCisgIHByaW50KCJuYWNsLW5ld2xpYiBjb21taXQ6ICVzIiAlIG15dmFyc1siTkFDTF9O RVdMSUJfQ09NTUlUIl0pCiAKICAgIyBQYXJzZSBHSVRfUkVWSVNJT05TIGRpY3QgZnJvbSB0b29s Y2hhaW5fYnVpbGQucHkKIAogICBzeXMucGF0aC5hcHBlbmQob3MucGF0aC5hYnNwYXRoKGNocm9t ZV9kaXIgKyAiL25hdGl2ZV9jbGllbnQvdG9vbGNoYWluX2J1aWxkIikpCiAgIGZyb20gdG9vbGNo YWluX2J1aWxkIGltcG9ydCBHSVRfUkVWSVNJT05TCi0gIHByaW50ICJuYWNsLWFybS1iaW51dGls cyBjb21taXQ6ICVzIiAlIEdJVF9SRVZJU0lPTlNbJ2JpbnV0aWxzJ11bJ3JldiddCi0gIHByaW50 ICJuYWNsLWFybS1nY2MgY29tbWl0OiAlcyIgJSBHSVRfUkVWSVNJT05TWydnY2MnXVsncmV2J10K KyAgcHJpbnQoIm5hY2wtYXJtLWJpbnV0aWxzIGNvbW1pdDogJXMiICUgR0lUX1JFVklTSU9OU1sn YmludXRpbHMnXVsncmV2J10pCisgIHByaW50KCJuYWNsLWFybS1nY2MgY29tbWl0OiAlcyIgJSBH SVRfUkVWSVNJT05TWydnY2MnXVsncmV2J10pCiAKIAogZGVmIGRvd25sb2FkX2Nocm9tZV9sYXRl c3RfcnBtKGFyY2gpOgpAQCAtMTk3LDE1ICsxOTcsMTUgQEAgZGVmIGRvd25sb2FkX2Nocm9tZV9s YXRlc3RfcnBtKGFyY2gpOgogCiAgICMgTGV0J3MgbWFrZSBzdXJlIHdlIGhhdmVuJ3QgYWxyZWFk eSBkb3dubG9hZGVkIGl0LgogICBpZiBvcy5wYXRoLmlzZmlsZSgiLi8lcyIgJSBjaHJvbWVfcnBt KToKLSAgICBwcmludCAiJXMgYWxyZWFkeSBleGlzdHMhIiAlIGNocm9tZV9ycG0KKyAgICBwcmlu dCgiJXMgYWxyZWFkeSBleGlzdHMhIiAlIGNocm9tZV9ycG0pCiAgIGVsc2U6Ci0gICAgcHJpbnQg IkRvd25sb2FkaW5nICVzIiAlIHBhdGgKKyAgICBwcmludCgiRG93bmxvYWRpbmcgJXMiICUgcGF0 aCkKICAgICAjIFBlcmhhcHMgbG9vayBhdCB1c2luZyBweXRob24tcHJvZ3Jlc3NiYXIgYXQgc29t ZSBwb2ludD8KLSAgICBpbmZvPXVybGxpYi51cmxyZXRyaWV2ZShwYXRoLCBjaHJvbWVfcnBtLCBy ZXBvcnRob29rPWRsUHJvZ3Jlc3MpWzFdCi0gICAgdXJsbGliLnVybGNsZWFudXAoKQotICAgIHBy aW50ICIiCisgICAgaW5mbz11cmxsaWIucmVxdWVzdC51cmxyZXRyaWV2ZShwYXRoLCBjaHJvbWVf cnBtLCByZXBvcnRob29rPWRsUHJvZ3Jlc3MpWzFdCisgICAgdXJsbGliLnJlcXVlc3QudXJsY2xl YW51cCgpCisgICAgcHJpbnQoIiIpCiAgICAgaWYgKGluZm9bIkNvbnRlbnQtVHlwZSJdICE9ICJi aW5hcnkvb2N0ZXQtc3RyZWFtIiBhbmQgaW5mb1siQ29udGVudC1UeXBlIl0gIT0gImFwcGxpY2F0 aW9uL3gtcmVkaGF0LXBhY2thZ2UtbWFuYWdlciIpOgotICAgICAgcHJpbnQgJ0Nocm9tZSAlcyBy cG1zIGFyZSBub3Qgb24gc2VydmVycy4nICUgdmVyc2lvbl9zdHJpbmcKKyAgICAgIHByaW50KCdD aHJvbWUgJXMgcnBtcyBhcmUgbm90IG9uIHNlcnZlcnMuJyAlIHZlcnNpb25fc3RyaW5nKQogICAg ICAgcmVtb3ZlX2ZpbGVfaWZfZXhpc3RzIChjaHJvbWVfcnBtKQogICAgICAgc3lzLmV4aXQoMSkK IApAQCAtMjc0LDcgKzI3NCw3IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdmVy c2lvbl9zdHJpbmcgPSAiZGV2IgogICBlbGlmIChub3QgKGFyZ3Muc3RhYmxlIG9yIGFyZ3MuYmV0 YSBvciBhcmdzLmRldikpOgogICAgIGlmIChub3QgYXJncy52ZXJzaW9uKToKLSAgICAgIHByaW50 ICdObyB2ZXJzaW9uIHNwZWNpZmllZCwgZG93bmxvYWRpbmcgU1RBQkxFJworICAgICAgcHJpbnQo J05vIHZlcnNpb24gc3BlY2lmaWVkLCBkb3dubG9hZGluZyBTVEFCTEUnKQogICAgIGFyZ3Muc3Rh YmxlID0gVHJ1ZQogCiAgIGNocm9taXVtX3ZlcnNpb24gPSBhcmdzLnZlcnNpb24gaWYgYXJncy52 ZXJzaW9uIGVsc2UgY2hlY2tfb21haGFwcm94eSh2ZXJzaW9uX3N0cmluZykKQEAgLTI4NCw3ICsy ODQsNyBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogCiAgIGlmIGFyZ3MuY2hyb21lOgog ICAgIGlmIGFyZ3MudmVyc2lvbjoKLSAgICAgIHByaW50ICdZb3UgY2Fubm90IHNwZWNpZnkgYSBD aHJvbWUgUlBNIHZlcnNpb24hJworICAgICAgcHJpbnQoJ1lvdSBjYW5ub3Qgc3BlY2lmeSBhIENo cm9tZSBSUE0gdmVyc2lvbiEnKQogICAgICAgc3lzLmV4aXQoMSkKICAgICBsYXRlc3QgPSAnZ29v Z2xlLWNocm9tZS0lc19jdXJyZW50X2kzODYnICUgdmVyc2lvbl9zdHJpbmcKICAgICBkb3dubG9h ZF9jaHJvbWVfbGF0ZXN0X3JwbSgiaTM4NiIpCkBAIC0zMDMsMTEgKzMwMywxMSBAQCBpZiBfX25h bWVfXyA9PSAnX19tYWluX18nOgogICAgIHNodXRpbC5ybXRyZWUobGF0ZXN0X2RpcikKIAogICBp ZiBvcy5wYXRoLmlzZGlyKGxhdGVzdF9kaXIpOgotICAgIHByaW50ICIlcyBhbHJlYWR5IGV4aXN0 cywgcGVyaGFwcyAlcyBoYXMgYWxyZWFkeSBiZWVuIHVucGFja2VkPyIgJSAobGF0ZXN0X2Rpciwg bGF0ZXN0KQorICAgIHByaW50KCIlcyBhbHJlYWR5IGV4aXN0cywgcGVyaGFwcyAlcyBoYXMgYWxy ZWFkeSBiZWVuIHVucGFja2VkPyIgJSAobGF0ZXN0X2RpciwgbGF0ZXN0KSkKICAgZWxzZToKLSAg ICBwcmludCAiVW5wYWNraW5nICVzIGludG8gJXMsIHBsZWFzZSB3YWl0LiIgJSAobGF0ZXN0LCBs YXRlc3RfZGlyKQorICAgIHByaW50KCJVbnBhY2tpbmcgJXMgaW50byAlcywgcGxlYXNlIHdhaXQu IiAlIChsYXRlc3QsIGxhdGVzdF9kaXIpKQogICAgIGlmIChvcy5zeXN0ZW0oInRhciAteEpmICVz IiAlIGxhdGVzdCkgIT0gMCk6Ci0gICAgICBwcmludCAiJXMgaXMgcG9zc2libHkgY29ycnVwdGVk LCBleGl0aW5nLiIgJSAobGF0ZXN0KQorICAgICAgcHJpbnQoIiVzIGlzIHBvc3NpYmx5IGNvcnJ1 cHRlZCwgZXhpdGluZy4iICUgKGxhdGVzdCkpCiAgICAgICBzeXMuZXhpdCgxKQogCiAgIGlmIChh cmdzLm5hY2x2ZXJzKToKQEAgLTMzNCwxMSArMzM0LDExIEBAIGlmIF9fbmFtZV9fID09ICdfX21h aW5fXyc6CiAgIGlmIChhcmdzLmZmbXBlZ2NsZWFuKToKICAgICBwcmludCgiQ2xlYW5pbmcgZmZt cGVnIGZyb20gcHJvcHJpZXRhcnkgdGhpbmdzLi4uIikKICAgICBvcy5zeXN0ZW0oIi4vY2xlYW5f ZmZtcGVnLnNoICVzICVkIiAlIChsYXRlc3RfZGlyLCAwIGlmIGFyZ3MuZmZtcGVnYXJtIGVsc2Ug MSkpCi0gICAgcHJpbnQgIkRvbmUhIgorICAgIHByaW50KCJEb25lISIpCiAKICAgaWYgKG5vdCBh cmdzLnByZXApOgotICAgIHByaW50ICJDb21wcmVzc2luZyBjbGVhbmVkIHRyZWUsIHBsZWFzZSB3 YWl0Li4uIgorICAgIHByaW50KCJDb21wcmVzc2luZyBjbGVhbmVkIHRyZWUsIHBsZWFzZSB3YWl0 Li4uIikKICAgICBvcy5jaGRpcihjaHJvbWl1bV9yb290X2RpcikKICAgICBvcy5zeXN0ZW0oInRh ciAtLWV4Y2x1ZGU9XC5zdm4gLWNmIC0gY2hyb21pdW0tJXMgfCB4eiAtOSAtVCAwIC1mID4gJXMi ICUgKGNocm9taXVtX3ZlcnNpb24sIGNocm9taXVtX2NsZWFuX3h6X2ZpbGUpKQogCi0gIHByaW50 ICJGaW5pc2hlZCEiCisgIHByaW50KCJGaW5pc2hlZCEiKQoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LnNwZWMgYi9jaHJvbWl1bS5zcGVjCmluZGV4IDBiNzQ0MDcuLmMwM2U4MzIgMTAwNjQ0Ci0tLSBh L2Nocm9taXVtLnNwZWMKKysrIGIvY2hyb21pdW0uc3BlYwpAQCAtNTUsMTUgKzU1LDE1IEBACiAj IFJlcXVpcmVzIGlzIHRyaWNraWVyLgogCiAjIFRvIGdlbmVyYXRlIHRoaXMgbGlzdCwgZ28gaW50 byAlJXtidWlsZHJvb3R9JSV7Y2hyb21pdW1fcGF0aH0gYW5kIHJ1bgotIyBmb3IgaSBpbiBgZmlu ZCAuIC1uYW1lICIqLnNvImA7IGRvIE5BTUU9YGJhc2VuYW1lIC1zIC5zbyAkaWA7IHByaW50ZiAi JE5BTUV8IjsgZG9uZQorIyBmb3IgaSBpbiBgZmluZCAuIC1uYW1lICIqLnNvIiB8IHNvcnRgOyBk byBOQU1FPWBiYXNlbmFtZSAtcyAuc28gJGlgOyBwcmludGYgIiROQU1FfCI7IGRvbmUKICMgZm9y IFJIRUw3LCBhcHBlbmQgbGliZm9udGNvbmZpZyB0byB0aGUgZW5kCiAjIG1ha2Ugc3VyZSB0aGVy ZSBpcyBub3QgYSB0cmFpbGluZyB8IGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QKIAogJWdsb2JhbCBf X3Byb3ZpZGVzX2V4Y2x1ZGVfZnJvbSAle2Nocm9taXVtX3BhdGh9Ly4qXFwuc298JXtjaHJvbWl1 bV9wYXRofS9saWIvLipcXC5zb3wle2Nocm9taXVtX3BhdGh9L2xpYi8uKlxcLnNvLioKICVpZiAw JXs/cmhlbH0gPT0gNwotJWdsb2JhbCBwcml2bGlicyBsaWJzZXJ2aWNlfGxpYnVpX2FjY2Vzc2li aWxpdHlfYXhfbW9qb21fYmxpbmt8bGlibW9qb19tb2pvbV9iaW5kaW5nc19zaGFyZWR8bGliY29s b3Jfc3BhY2V8bGlidWlfYmFzZV9pbWVfbGludXh8bGlidjh8bGlidHJhY2luZ19jcHB8bGlicHJv dG9idWZfbGl0ZXxsaWJyYW5nZXxsaWJ1aV90b3VjaF9zZWxlY3Rpb258bGliZ3RrdWl8bGlicmFz dGVyfGxpYnN0dWJfd2luZG93fGxpYm1lc3NhZ2VfY2VudGVyfGxpYnY4X2xpYnBsYXRmb3JtfGxp YnRhYl9jb3VudF9tZXRyaWNzfGxpYmNsaWVudHxsaWJhdXJhfGxpYnJlc291cmNlX2Nvb3JkaW5h dG9yX3B1YmxpY19tb2pvbV9zaGFyZWR8bGliYmx1ZXRvb3RofGxpYmlwY19tb2pvbV9zaGFyZWR8 bGliZGV2aWNlX2V2ZW50X2xvZ3xsaWJjY19kZWJ1Z3xsaWJuZXRfd2l0aF92OHxsaWJjY19wYWlu dHxsaWJ3bV9wdWJsaWN8bGlibmV0d29ya19jcHBfYmFzZXxsaWJzZXJ2aWNlX21hbmFnZXJfbW9q b218bGliYXVyYV9leHRyYXxsaWJtb2pvX3B1YmxpY19zeXN0ZW18bGlicGRmaXVtfGxpYnVpX2Jh c2VfaW1lX2luaXR8bGlibXByaXN8bGliY2N8bGlic2VydmljZV9tYW5hZ2VyX2NwcHxsaWJibGlu a19tb2pvbV9icm9hZGNhc3RjaGFubmVsX2JpbmRpbmdzX3NoYXJlZHxsaWJpbnRlcmZhY2VzX3No YXJlZHxsaWJzZXJ2aWNlX21hbmFnZXJfY3BwX3R5cGVzfGxpYnNlcnZpY2VfbWFuYWdlcl9tb2pv bV9zaGFyZWR8bGlid218bGliYmFzZV9pMThufGxpYm5ldHdvcmtfc2Vzc2lvbl9jb25maWd1cmF0 b3J8bGlid2Vidmlld3xsaWJwbGF0Zm9ybV93aW5kb3dfaGFuZGxlcl9saWJzfGxpYngxMV9ldmVu dHNfcGxhdGZvcm18bGlibW9qb19jcHBfcGxhdGZvcm18bGliYW5kcm9pZF9tb2pvX2JpbmRpbmdz X3NoYXJlZHxsaWJwdWJsaWN8bGlibWlycm9yaW5nX3NlcnZpY2V8bGlibWVkaWFfc2Vzc2lvbl9j cHB8bGliYmxpbmtfcGxhdGZvcm18bGliaWN1aTE4bnxsaWJ3ZWJkYXRhX2NvbW1vbnxsaWJnaW58 bGliZGV2aWNlX2dhbWVwYWR8bGliZGV2aWNlX3ZyX21vam9fYmluZGluZ3N8bGliZmZtcGVnfGxp Ym1ldHJpY3NfY3BwfGxpYnVybF9tYXRjaGVyfGxpYnBvbGljeV9wcm90b3xsaWJzaGFyZWRfbWVt b3J5X3N1cHBvcnR8bGlicGFyc2Vyc3xsaWJnbGVzMl91dGlsc3xsaWJ3ZWJfZmVhdHVyZV9tb2pv X2JpbmRpbmdzX21vam9tfGxpYnVpX2Jhc2VfaWRsZXxsaWJtb2pvX3B1YmxpY19zeXN0ZW1fY3Bw fGxpYnN1aWRfc2FuZGJveF9jbGllbnR8bGliZ2Z4X2lwY19za2lhfGxpYm1vam9fYmFzZV9zaGFy ZWRfdHlwZW1hcF90cmFpdHN8bGliY2FwdHVyZV9saWJ8bGliZ2xfaW5pdHxsaWJibGlua19jb21t b258bGliY2NfYmFzZXxsaWJtb2pvX2Jhc2VfbW9qb218bGlidHJhY2luZ19tb2pvbV9zaGFyZWR8 bGliZ3B1X2lwY19zZXJ2aWNlfGxpYnVpX2FjY2Vzc2liaWxpdHlfYXhfbW9qb218bGlid2ViX2Zl YXR1cmVfbW9qb19iaW5kaW5nc19tb2pvbV9zaGFyZWR8bGliZ2Z4X3N3aXRjaGVzfGxpYm1lZGlh X3Nlc3Npb25fYmFzZV9jcHB8bGlibWVzc2FnZV9zdXBwb3J0fGxpYnZ1bGthbl9pbml0fGxpYm9u Y3xsaWJncHV8bGlibW9qb21fbW9kdWxlc19zaGFyZWR8bGlibmF0aXZlX3RoZW1lfGxpYmdjbXxs aWJ2cl9iYXNlfGxpYm1vam9fY29yZV9lbWJlZGRlcl9pbnRlcm5hbHxsaWJ1c2VyX3ByZWZzfGxp YndlYl9ibHVldG9vdGhfbW9qb19iaW5kaW5nc19zaGFyZWR8bGlib3NfY3J5cHR8bGliYnJvd3Nl cl91aV92aWV3c3xsaWJlbWJlZGRlcl9zd2l0Y2hlc3xsaWJjb250ZW50X3NlcnZpY2VfbW9qb21f c2hhcmVkfGxpYnNhbmRib3h8bGlidnVsa2FuX3gxMXxsaWJkZXZpY2VfdnJfdGVzdF9tb2pvX2Jp bmRpbmdzfGxpYm1vam9fY29yZV9wb3J0c3xsaWJibGlua19jb3JlfGxpYngxMV93aW5kb3d8bGli bW9qb19tb2pvbV9iaW5kaW5nc3xsaWJpcGN8bGlibW9qb19iYXNlX21vam9tX2JsaW5rfGxpYmds X3dyYXBwZXJ8bGlicHJpbnRpbmd8bGliZ2VzdHVyZV9kZXRlY3Rpb258bGliZGlzY2FyZGFibGVf bWVtb3J5X3NlcnZpY2V8bGlibW9qb21fY29yZV9zaGFyZWR8bGlidml6X3Z1bGthbl9jb250ZXh0 X3Byb3ZpZGVyfGxpYnBvbGljeV9jb21wb25lbnR8bGliZGlzcGxheXxsaWJ2cl9jb21tb258bGli ZGV2aWNlX3ZyX3Rlc3RfbW9qb19iaW5kaW5nc19zaGFyZWR8bGlidWlfYWNjZXNzaWJpbGl0eV9h eF9tb2pvbV9zaGFyZWR8bGlicmVzb3VyY2VfY29vcmRpbmF0b3JfcHVibGljX21vam9tfGxpYnZ1 bGthbl93cmFwcGVyfGxpYmNyY3J5cHRvfGxpYkdMRVN2MnxsaWJ2OF9saWJiYXNlfGxpYmNyYXNo X2tleXxsaWJjaHJvbWVfZmVhdHVyZXN8bGliZGlzY2FyZGFibGVfbWVtb3J5X2NvbW1vbnxsaWJi aW5kaW5nc3xsaWJmcmVldHlwZV9oYXJmYnV6enxsaWJjYXB0dXJlX2Jhc2V8bGlibW9qb19jb3Jl X2VtYmVkZGVyfGxpYnByZWZzfGxpYmRldmljZV9mZWF0dXJlc3xsaWJyZXNvdXJjZV9jb29yZGlu YXRvcl9jcHBfZmVhdHVyZXN8bGliZ2Z4X2lwY19nZW9tZXRyeXxsaWJnZnh8bGlidWlfZGV2dG9v bHN8bGlid2ViX2RpYWxvZ3N8bGlia2V5ZWRfc2VydmljZV9jb3JlfGxpYmNvbnRlbnR8bGliZ2Vv bWV0cnlfc2tpYXxsaWJkaXNwbGF5X3V0aWx8bGlic2VydmljZV9tYW5hZ2VyX21vam9tX3RyYWl0 c3xsaWJrZXljb2Rlc194MTF8bGliaXBjX21vam9tfGxpYm1vam9fYmFzZV9saWJ8bGlidWlfYmFz ZV9jbGlwYm9hcmRfdHlwZXN8bGlidHJhY2luZ19tb2pvbXxsaWJtYW5hZ2VyfGxpYm1lZGlhX3dl YnJ0Y3xsaWJtZWRpYV9tb2pvX3NlcnZpY2VzfGxpYmNvbnRlbnRfcHVibGljX2NvbW1vbl9tb2pv X2JpbmRpbmdzX3NoYXJlZHxsaWJnZnhfaXBjfGxpYmRpc2NhcmRhYmxlX21lbW9yeV9jbGllbnR8 bGlibWVtb3J5X2luc3RydW1lbnRhdGlvbnxsaWJ1aV9iYXNlX2ltZXxsaWJza2lhfGxpYmdmeF9p cGNfY29sb3J8bGlic2hlbGxfZGlhbG9nc3xsaWJFR0x8bGlibWVkaWFfYmxpbmt8bGlibWVkaWFf bWVzc2FnZV9jZW50ZXJ8bGliYmxpbmtfY29udHJvbGxlcnxsaWJkZXZpY2VfdnJfbW9qb19iaW5k aW5nc19zaGFyZWR8bGlibWlkaXxsaWJhcGR1fGxpYnNlY2NvbXBfYnBmfGxpYmJvcmluZ3NzbHxs aWJjb2xvcl91dGlsc3xsaWJkYnVzfGxpYnByb3h5X2NvbmZpZ3xsaWJibGlua19mZWF0dXJlc3xs aWJtb2pvbV9wbGF0Zm9ybV9zaGFyZWR8bGlic2hhcmVkX3dpdGhfYmxpbmt8bGlidWlfZGF0YV9w YWNrfGxpYmV2ZW50c194fGxpYmxldmVsZGF0YWJhc2V8bGliZXZlbnRzX296b25lX2xheW91dHxs aWJnZnhfeDExfGxpYnN1cmZhY2V8bGlibGVhcm5pbmdfaW1wbHxsaWJnYW1lcGFkX21vam9tfGxp YmNvbnRlbnRfc2VydmljZV9jcHB8bGlidWlfYmFzZXxsaWJ6eWdvdGV8bGliZXZlbnRzfGxpYnZ1 bGthbnxsaWJHTEVTdjJ8bGliRUdMfGxpYmNlcnRpZmljYXRlX21hdGNoaW5nfGxpYnVzYl9zaGFy ZWR8bGliYmluZGluZ3NfYmFzZXxsaWJnZnhfaXBjX2J1ZmZlcl90eXBlc3xsaWJjb2RlY3xsaWJt b2pvbV9taHRtbF9sb2FkX3Jlc3VsdF9zaGFyZWR8bGlic3RvcmFnZV9jb21tb258bGliZGV2aWNl X3ZyfGxpYnZpel9yZXNvdXJjZV9mb3JtYXRfdXRpbHN8bGlic2VydmljZV9tYW5hZ2VyX21vam9t X2JsaW5rfGxpYmdsZXMyfGxpYmF1dGhlbnRpY2F0b3JfdGVzdF9tb2pvX2JpbmRpbmdzX3NoYXJl ZHxsaWJ1aV9iYXNlX2NsaXBib2FyZHxsaWJnYW1lcGFkX21vam9tX3NoYXJlZHxsaWJkb21haW5f cmVsaWFiaWxpdHl8bGlibWVudXxsaWJibGlua19lbWJlZGRlZF9mcmFtZV9zaW5rX21vam9fYmlu ZGluZ3Nfc2hhcmVkfGxpYndlYmdwdXxsaWJ1cmxfaXBjfGxpYm5ldHxsaWJtZWRpYV9ncHV8bGli c2VydmljZV9tYW5hZ2VyX21vam9tX2NvbnN0YW50c19zaGFyZWR8bGliYWNjZXNzaWJpbGl0eXxs aWJzZXJ2aWNlX21hbmFnZXJfbW9qb21fY29uc3RhbnRzfGxpYmVtYmVkZGVyfGxpYmdhbWVwYWRf bW9qb21fYmxpbmt8bGliY2NfYW5pbWF0aW9ufGxpYnBsYXRmb3JtfGxpYmRldmljZV9iYXNlfGxp YmFuaW1hdGlvbnxsaWJnYW1lcGFkX3NoYXJlZF90eXBlbWFwX3RyYWl0c3xsaWJ3dGZ8bGlidGhy ZWFkX2xpbnV4fGxpYnVpX2Jhc2VfeHxsaWJjbG91ZF9wb2xpY3lfcHJvdG9fZ2VuZXJhdGVkX2Nv bXBpbGV8bGlic3FsfGxpYmhvc3R8bGliZXh0cmFzfGxpYmNocm9taXVtX3NxbGl0ZTN8bGlibmV0 d29ya19jcHB8bGlibW9qb19iYXNlX21vam9tX3NoYXJlZHxsaWJnZW9tZXRyeXxsaWJwcGFwaV9w cm94eXxsaWJ3ZWJfZmVhdHVyZV9tb2pvX2JpbmRpbmdzX21vam9tX2JsaW5rfGxpYmNvbnRlbnRf Y29tbW9uX21vam9fYmluZGluZ3Nfc2hhcmVkfGxpYlZrSUNEX21vY2tfaWNkfGxpYmRldmljZV92 cl9tb2pvX2JpbmRpbmdzX2JsaW5rfGxpYnNlcnZpY2VfbWFuYWdlcl9tb2pvbV9jb25zdGFudHNf Ymxpbmt8bGliZXZlbnRzX2Jhc2V8bGlidXJsfGxpYnJlc291cmNlX2Nvb3JkaW5hdG9yX3B1Ymxp Y19tb2pvbV9ibGlua3xsaWJwcGFwaV9ob3N0fGxpYnBwYXBpX3NoYXJlZHxsaWJtZWRpYXxsaWJ0 cmFjaW5nfGxpYnNhbmRib3hfc2VydmljZXN8bGliY29udGVudF9zZXJ2aWNlX21vam9tfGxpYmV2 ZW50c19kZXZpY2VzX3gxMXxsaWJjb21wb3NpdG9yfGxpYmZpbmdlcnByaW50fGxpYnVzZXJfbWFu YWdlcnxsaWJzdG9yYWdlX2Jyb3dzZXJ8bGliYmFzZXxsaWJrZXllZF9zZXJ2aWNlX2NvbnRlbnR8 bGlidmlld3N8bGliY2FwdGl2ZV9wb3J0YWx8bGliY2JvcnxsaWJ2aXpfY29tbW9ufGxpYmNjX21v am9fZW1iZWRkZXJ8bGliaGVhZGxlc3Nfbm9uX3JlbmRlcmVyfGxpYnVpX2Jhc2VfZmVhdHVyZXN8 bGlic25hcHNob3R8bGliY29tbW9ufGxpYm5ldHdvcmtfc2VydmljZXxsaWJsZWFybmluZ19jb21t b258bGliYmxpbmtfbW9kdWxlc3xsaWJzY2hlZHVsaW5nX21ldHJpY3N8bGlicGVyZmV0dG98bGli Z2xlczJfaW1wbGVtZW50YXRpb258bGlic2Vzc2lvbnN8bGliZGV2aWNlc3xsaWJzdGFydHVwX3Ry YWNpbmd8bGliZGlzcGxheV90eXBlc3xsaWJnbF9pbl9wcm9jZXNzX2NvbnRleHR8bGlidWlfYmFz ZV9pbWVfdHlwZXN8bGlidWlfbWVzc2FnZV9jZW50ZXJfY3BwfGxpYmNsZWFya2V5Y2RtfGxpYmlj dXVjfGxpYmZpZG98bGliZm9udGNvbmZpZworJWdsb2JhbCBwcml2bGlicyBsaWJhY2Nlc3NpYmls aXR5fGxpYmFuZHJvaWRfbW9qb19iaW5kaW5nc19zaGFyZWR8bGliYW5pbWF0aW9ufGxpYmFwZHV8 bGliYXVyYV9leHRyYXxsaWJhdXJhfGxpYmF1dGhlbnRpY2F0b3JfdGVzdF9tb2pvX2JpbmRpbmdz X3NoYXJlZHxsaWJiYXNlX2kxOG58bGliYmFzZXxsaWJiaW5kaW5nc19iYXNlfGxpYmJpbmRpbmdz fGxpYmJsaW5rX2NvbW1vbnxsaWJibGlua19jb250cm9sbGVyfGxpYmJsaW5rX2NvcmV8bGliYmxp bmtfZW1iZWRkZWRfZnJhbWVfc2lua19tb2pvX2JpbmRpbmdzX3NoYXJlZHxsaWJibGlua19mZWF0 dXJlc3xsaWJibGlua19tb2R1bGVzfGxpYmJsaW5rX21vam9tX2Jyb2FkY2FzdGNoYW5uZWxfYmlu ZGluZ3Nfc2hhcmVkfGxpYmJsaW5rX3BsYXRmb3JtfGxpYmJsdWV0b290aHxsaWJib3Jpbmdzc2x8 bGliYnJvd3Nlcl91aV92aWV3c3xsaWJjYXB0aXZlX3BvcnRhbHxsaWJjYXB0dXJlX2Jhc2V8bGli Y2FwdHVyZV9saWJ8bGliY2JvcnxsaWJjY19hbmltYXRpb258bGliY2NfYmFzZXxsaWJjY19kZWJ1 Z3xsaWJjY19tb2pvX2VtYmVkZGVyfGxpYmNjX3BhaW50fGxpYmNjfGxpYmNlcnRpZmljYXRlX21h dGNoaW5nfGxpYmNocm9tZV9mZWF0dXJlc3xsaWJjaHJvbWl1bV9zcWxpdGUzfGxpYmNsaWVudHxs aWJjbG91ZF9wb2xpY3lfcHJvdG9fZ2VuZXJhdGVkX2NvbXBpbGV8bGliY29kZWN8bGliY29sb3Jf c3BhY2V8bGliY29sb3JfdXRpbHN8bGliY29tbW9ufGxpYmNvbXBvc2l0b3J8bGliY29udGVudF9j b21tb25fbW9qb19iaW5kaW5nc19zaGFyZWR8bGliY29udGVudF9wdWJsaWNfY29tbW9uX21vam9f YmluZGluZ3Nfc2hhcmVkfGxpYmNvbnRlbnRfc2VydmljZV9jcHB8bGliY29udGVudF9zZXJ2aWNl X21vam9tX3NoYXJlZHxsaWJjb250ZW50X3NlcnZpY2VfbW9qb218bGliY29udGVudF9zZXR0aW5n c19mZWF0dXJlc3xsaWJjb250ZW50fGxpYmNyYXNoX2tleXxsaWJjcmNyeXB0b3xsaWJkYnVzfGxp YmRldmljZV9iYXNlfGxpYmRldmljZV9ldmVudF9sb2d8bGliZGV2aWNlX2ZlYXR1cmVzfGxpYmRl dmljZV9nYW1lcGFkfGxpYmRldmljZXN8bGliZGV2aWNlX3ZyX21vam9fYmluZGluZ3NfYmxpbmt8 bGliZGV2aWNlX3ZyX21vam9fYmluZGluZ3Nfc2hhcmVkfGxpYmRldmljZV92cl9tb2pvX2JpbmRp bmdzfGxpYmRldmljZV92cnxsaWJkZXZpY2VfdnJfdGVzdF9tb2pvX2JpbmRpbmdzX2JsaW5rfGxp YmRldmljZV92cl90ZXN0X21vam9fYmluZGluZ3Nfc2hhcmVkfGxpYmRldmljZV92cl90ZXN0X21v am9fYmluZGluZ3N8bGliZGlzY2FyZGFibGVfbWVtb3J5X2NsaWVudHxsaWJkaXNjYXJkYWJsZV9t ZW1vcnlfY29tbW9ufGxpYmRpc2NhcmRhYmxlX21lbW9yeV9zZXJ2aWNlfGxpYmRpc3BsYXl8bGli ZGlzcGxheV90eXBlc3xsaWJkaXNwbGF5X3V0aWx8bGliZG9tYWluX3JlbGlhYmlsaXR5fGxpYkVH THxsaWJlbWJlZGRlcnxsaWJlbWJlZGRlcl9zd2l0Y2hlc3xsaWJldmVudHNfYmFzZXxsaWJldmVu dHNfZGV2aWNlc194MTF8bGliZXZlbnRzX296b25lX2xheW91dHxsaWJldmVudHN8bGliZXZlbnRz X3h8bGliZXh0cmFzfGxpYmZmbXBlZ3xsaWJmaWRvfGxpYmZpbmdlcnByaW50fGxpYmZyZWV0eXBl X2hhcmZidXp6fGxpYmdhbWVwYWRfbW9qb21fYmxpbmt8bGliZ2FtZXBhZF9tb2pvbV9zaGFyZWR8 bGliZ2FtZXBhZF9tb2pvbXxsaWJnYW1lcGFkX3NoYXJlZF90eXBlbWFwX3RyYWl0c3xsaWJnY218 bGliZ2VvbWV0cnlfc2tpYXxsaWJnZW9tZXRyeXxsaWJnZXN0dXJlX2RldGVjdGlvbnxsaWJnZnhf aXBjX2J1ZmZlcl90eXBlc3xsaWJnZnhfaXBjX2NvbG9yfGxpYmdmeF9pcGNfZ2VvbWV0cnl8bGli Z2Z4X2lwY19za2lhfGxpYmdmeF9pcGN8bGliZ2Z4fGxpYmdmeF9zd2l0Y2hlc3xsaWJnZnhfeDEx fGxpYmdpbnxsaWJnbGVzMl9pbXBsZW1lbnRhdGlvbnxsaWJnbGVzMnxsaWJnbGVzMl91dGlsc3xs aWJHTEVTdjJ8bGliZ2xfaW5pdHxsaWJnbF9pbl9wcm9jZXNzX2NvbnRleHR8bGliZ2xfd3JhcHBl cnxsaWJncHVfaXBjX3NlcnZpY2V8bGliZ3B1fGxpYmd0a3VpfGxpYmhlYWRsZXNzX25vbl9yZW5k ZXJlcnxsaWJob3N0fGxpYmljdWkxOG58bGliaWN1dWN8bGliaW50ZXJmYWNlc19zaGFyZWR8bGli aXBjX21vam9tX3NoYXJlZHxsaWJpcGNfbW9qb218bGliaXBjfGxpYmtleWNvZGVzX3gxMXxsaWJr ZXllZF9zZXJ2aWNlX2NvbnRlbnR8bGlia2V5ZWRfc2VydmljZV9jb3JlfGxpYmxlYXJuaW5nX2Nv bW1vbnxsaWJsZWFybmluZ19pbXBsfGxpYmxldmVsZGF0YWJhc2V8bGlibGV2ZWxkYl9wcm90b3xs aWJtYW5hZ2VyfGxpYm1lZGlhX2JsaW5rfGxpYm1lZGlhX2dwdXxsaWJtZWRpYV9sZWFybmluZ19t b2pvX2ltcGx8bGlibWVkaWFfbWVzc2FnZV9jZW50ZXJ8bGlibWVkaWFfbW9qb19zZXJ2aWNlc3xs aWJtZWRpYV9zZXNzaW9uX2Jhc2VfY3BwfGxpYm1lZGlhX3Nlc3Npb25fY3BwfGxpYm1lZGlhfGxp Ym1lZGlhX3dlYnJ0Y3xsaWJtZW1vcnlfaW5zdHJ1bWVudGF0aW9ufGxpYm1lbnV8bGlibWVzc2Fn ZV9jZW50ZXJ8bGlibWVzc2FnZV9zdXBwb3J0fGxpYm1ldHJpY3NfY3BwfGxpYm1pZGl8bGlibWly cm9yaW5nX3NlcnZpY2V8bGlibW9qb19iYXNlX2xpYnxsaWJtb2pvX2Jhc2VfbW9qb21fYmxpbmt8 bGlibW9qb19iYXNlX21vam9tX3NoYXJlZHxsaWJtb2pvX2Jhc2VfbW9qb218bGlibW9qb19iYXNl X3NoYXJlZF90eXBlbWFwX3RyYWl0c3xsaWJtb2pvX2NvcmVfZW1iZWRkZXJfaW50ZXJuYWx8bGli bW9qb19jb3JlX2VtYmVkZGVyfGxpYm1vam9fY29yZV9wb3J0c3xsaWJtb2pvX2NwcF9wbGF0Zm9y bXxsaWJtb2pvbV9jb3JlX3NoYXJlZHxsaWJtb2pvbV9taHRtbF9sb2FkX3Jlc3VsdF9zaGFyZWR8 bGlibW9qb21fbW9kdWxlc19zaGFyZWR8bGlibW9qb19tb2pvbV9iaW5kaW5nc19zaGFyZWR8bGli bW9qb19tb2pvbV9iaW5kaW5nc3xsaWJtb2pvbV9wbGF0Zm9ybV9zaGFyZWR8bGlibW9qb19wdWJs aWNfc3lzdGVtX2NwcHxsaWJtb2pvX3B1YmxpY19zeXN0ZW18bGlibXByaXN8bGlibmF0aXZlX3Ro ZW1lfGxpYm5ldHxsaWJuZXRfd2l0aF92OHxsaWJuZXR3b3JrX2NwcF9iYXNlfGxpYm5ldHdvcmtf Y3BwfGxpYm5ldHdvcmtfc2VydmljZXxsaWJuZXR3b3JrX3Nlc3Npb25fY29uZmlndXJhdG9yfGxp Ym9uY3xsaWJvc19jcnlwdHxsaWJwYXJzZXJzfGxpYnBkZml1bXxsaWJwZXJmZXR0b3xsaWJwbGF0 Zm9ybXxsaWJwbGF0Zm9ybV93aW5kb3dfaGFuZGxlcl9saWJzfGxpYnBvbGljeV9jb21wb25lbnR8 bGlicG9saWN5X3Byb3RvfGxpYnBwYXBpX2hvc3R8bGlicHBhcGlfcHJveHl8bGlicHBhcGlfc2hh cmVkfGxpYnByZWZzfGxpYnByaW50aW5nfGxpYnByb3RvYnVmX2xpdGV8bGlicHJveHlfY29uZmln fGxpYnB1YmxpY3xsaWJyYW5nZXxsaWJyYXN0ZXJ8bGlicmVzb3VyY2VfY29vcmRpbmF0b3JfcHVi bGljX21vam9tX2JsaW5rfGxpYnJlc291cmNlX2Nvb3JkaW5hdG9yX3B1YmxpY19tb2pvbV9zaGFy ZWR8bGlicmVzb3VyY2VfY29vcmRpbmF0b3JfcHVibGljX21vam9tfGxpYnNhbmRib3hfc2Vydmlj ZXN8bGlic2FuZGJveHxsaWJzY2hlZHVsaW5nX21ldHJpY3N8bGlic2VjY29tcF9icGZ8bGlic2Vy dmljZV9tYW5hZ2VyX2NwcHxsaWJzZXJ2aWNlX21hbmFnZXJfY3BwX3R5cGVzfGxpYnNlcnZpY2Vf bWFuYWdlcl9tb2pvbV9ibGlua3xsaWJzZXJ2aWNlX21hbmFnZXJfbW9qb21fY29uc3RhbnRzX2Js aW5rfGxpYnNlcnZpY2VfbWFuYWdlcl9tb2pvbV9jb25zdGFudHNfc2hhcmVkfGxpYnNlcnZpY2Vf bWFuYWdlcl9tb2pvbV9jb25zdGFudHN8bGlic2VydmljZV9tYW5hZ2VyX21vam9tX3NoYXJlZHxs aWJzZXJ2aWNlX21hbmFnZXJfbW9qb218bGlic2VydmljZV9tYW5hZ2VyX21vam9tX3RyYWl0c3xs aWJzZXJ2aWNlfGxpYnNlc3Npb25zfGxpYnNoYXJlZF9tZW1vcnlfc3VwcG9ydHxsaWJzaGFyZWRf d2l0aF9ibGlua3xsaWJzaGVsbF9kaWFsb2dzfGxpYnNraWF8bGlic25hcHNob3R8bGlic3FsfGxp YnN0YXJ0dXBfdHJhY2luZ3xsaWJzdG9yYWdlX2Jyb3dzZXJ8bGlic3RvcmFnZV9jb21tb258bGli c3R1Yl93aW5kb3d8bGlic3VpZF9zYW5kYm94X2NsaWVudHxsaWJzdXJmYWNlfGxpYnRhYl9jb3Vu dF9tZXRyaWNzfGxpYnRocmVhZF9saW51eHxsaWJ0cmFjaW5nX2NwcHxsaWJ0cmFjaW5nX21vam9t X3NoYXJlZHxsaWJ0cmFjaW5nX21vam9tfGxpYnRyYWNpbmd8bGlidWlfYWNjZXNzaWJpbGl0eV9h eF9tb2pvbV9ibGlua3xsaWJ1aV9hY2Nlc3NpYmlsaXR5X2F4X21vam9tX3NoYXJlZHxsaWJ1aV9h Y2Nlc3NpYmlsaXR5X2F4X21vam9tfGxpYnVpX2Jhc2VfY2xpcGJvYXJkfGxpYnVpX2Jhc2VfY2xp cGJvYXJkX3R5cGVzfGxpYnVpX2Jhc2VfZmVhdHVyZXN8bGlidWlfYmFzZV9pZGxlfGxpYnVpX2Jh c2VfaW1lX2luaXR8bGlidWlfYmFzZV9pbWVfbGludXh8bGlidWlfYmFzZV9pbWV8bGlidWlfYmFz ZV9pbWVfdHlwZXN8bGlidWlfYmFzZXxsaWJ1aV9iYXNlX3h8bGlidWlfZGF0YV9wYWNrfGxpYnVp X2RldnRvb2xzfGxpYnVpX21lc3NhZ2VfY2VudGVyX2NwcHxsaWJ1aV90b3VjaF9zZWxlY3Rpb258 bGlidXJsX2lwY3xsaWJ1cmxfbWF0Y2hlcnxsaWJ1cmx8bGlidXNiX3NoYXJlZHxsaWJ1c2VyX21h bmFnZXJ8bGlidXNlcl9wcmVmc3xsaWJ2OF9saWJiYXNlfGxpYnY4X2xpYnBsYXRmb3JtfGxpYnY4 fGxpYnZpZXdzfGxpYnZpel9jb21tb258bGlidml6X3Jlc291cmNlX2Zvcm1hdF91dGlsc3xsaWJ2 aXpfdnVsa2FuX2NvbnRleHRfcHJvdmlkZXJ8bGliVmtJQ0RfbW9ja19pY2R8bGlidnJfYmFzZXxs aWJ2cl9jb21tb258bGlidnVsa2FuX2luaXR8bGlidnVsa2FuX3dyYXBwZXJ8bGlidnVsa2FuX3gx MXxsaWJ3ZWJfYmx1ZXRvb3RoX21vam9fYmluZGluZ3Nfc2hhcmVkfGxpYndlYmRhdGFfY29tbW9u fGxpYndlYl9kaWFsb2dzfGxpYndlYl9mZWF0dXJlX21vam9fYmluZGluZ3NfbW9qb21fYmxpbmt8 bGlid2ViX2ZlYXR1cmVfbW9qb19iaW5kaW5nc19tb2pvbV9zaGFyZWR8bGlid2ViX2ZlYXR1cmVf bW9qb19iaW5kaW5nc19tb2pvbXxsaWJ3ZWJncHV8bGlid2Vidmlld3xsaWJ3bV9wdWJsaWN8bGli d218bGlid3RmfGxpYngxMV9ldmVudHNfcGxhdGZvcm18bGlieDExX3dpbmRvd3xsaWJ6eWdvdGV8 bGliRUdMfGxpYkdMRVN2MnxsaWJ2a19zd2lmdHNoYWRlcnxsaWJmb250Y29uZmlnCiAlZWxzZQot JWdsb2JhbCBwcml2bGlicyBsaWJzZXJ2aWNlfGxpYnVpX2FjY2Vzc2liaWxpdHlfYXhfbW9qb21f Ymxpbmt8bGlibW9qb19tb2pvbV9iaW5kaW5nc19zaGFyZWR8bGliY29sb3Jfc3BhY2V8bGlidWlf YmFzZV9pbWVfbGludXh8bGlidjh8bGlidHJhY2luZ19jcHB8bGlicHJvdG9idWZfbGl0ZXxsaWJy YW5nZXxsaWJ1aV90b3VjaF9zZWxlY3Rpb258bGliZ3RrdWl8bGlicmFzdGVyfGxpYnN0dWJfd2lu ZG93fGxpYm1lc3NhZ2VfY2VudGVyfGxpYnY4X2xpYnBsYXRmb3JtfGxpYnRhYl9jb3VudF9tZXRy aWNzfGxpYmNsaWVudHxsaWJhdXJhfGxpYnJlc291cmNlX2Nvb3JkaW5hdG9yX3B1YmxpY19tb2pv bV9zaGFyZWR8bGliYmx1ZXRvb3RofGxpYmlwY19tb2pvbV9zaGFyZWR8bGliZGV2aWNlX2V2ZW50 X2xvZ3xsaWJjY19kZWJ1Z3xsaWJuZXRfd2l0aF92OHxsaWJjY19wYWludHxsaWJ3bV9wdWJsaWN8 bGlibmV0d29ya19jcHBfYmFzZXxsaWJzZXJ2aWNlX21hbmFnZXJfbW9qb218bGliYXVyYV9leHRy YXxsaWJtb2pvX3B1YmxpY19zeXN0ZW18bGlicGRmaXVtfGxpYnVpX2Jhc2VfaW1lX2luaXR8bGli bXByaXN8bGliY2N8bGlic2VydmljZV9tYW5hZ2VyX2NwcHxsaWJibGlua19tb2pvbV9icm9hZGNh c3RjaGFubmVsX2JpbmRpbmdzX3NoYXJlZHxsaWJpbnRlcmZhY2VzX3NoYXJlZHxsaWJzZXJ2aWNl X21hbmFnZXJfY3BwX3R5cGVzfGxpYnNlcnZpY2VfbWFuYWdlcl9tb2pvbV9zaGFyZWR8bGlid218 bGliYmFzZV9pMThufGxpYm5ldHdvcmtfc2Vzc2lvbl9jb25maWd1cmF0b3J8bGlid2Vidmlld3xs aWJwbGF0Zm9ybV93aW5kb3dfaGFuZGxlcl9saWJzfGxpYngxMV9ldmVudHNfcGxhdGZvcm18bGli bW9qb19jcHBfcGxhdGZvcm18bGliYW5kcm9pZF9tb2pvX2JpbmRpbmdzX3NoYXJlZHxsaWJwdWJs aWN8bGlibWlycm9yaW5nX3NlcnZpY2V8bGlibWVkaWFfc2Vzc2lvbl9jcHB8bGliYmxpbmtfcGxh dGZvcm18bGliaWN1aTE4bnxsaWJ3ZWJkYXRhX2NvbW1vbnxsaWJnaW58bGliZGV2aWNlX2dhbWVw YWR8bGliZGV2aWNlX3ZyX21vam9fYmluZGluZ3N8bGliZmZtcGVnfGxpYm1ldHJpY3NfY3BwfGxp YnVybF9tYXRjaGVyfGxpYnBvbGljeV9wcm90b3xsaWJzaGFyZWRfbWVtb3J5X3N1cHBvcnR8bGli cGFyc2Vyc3xsaWJnbGVzMl91dGlsc3xsaWJ3ZWJfZmVhdHVyZV9tb2pvX2JpbmRpbmdzX21vam9t fGxpYnVpX2Jhc2VfaWRsZXxsaWJtb2pvX3B1YmxpY19zeXN0ZW1fY3BwfGxpYnN1aWRfc2FuZGJv eF9jbGllbnR8bGliZ2Z4X2lwY19za2lhfGxpYm1vam9fYmFzZV9zaGFyZWRfdHlwZW1hcF90cmFp dHN8bGliY2FwdHVyZV9saWJ8bGliZ2xfaW5pdHxsaWJibGlua19jb21tb258bGliY2NfYmFzZXxs aWJtb2pvX2Jhc2VfbW9qb218bGlidHJhY2luZ19tb2pvbV9zaGFyZWR8bGliZ3B1X2lwY19zZXJ2 aWNlfGxpYnVpX2FjY2Vzc2liaWxpdHlfYXhfbW9qb218bGlid2ViX2ZlYXR1cmVfbW9qb19iaW5k aW5nc19tb2pvbV9zaGFyZWR8bGliZ2Z4X3N3aXRjaGVzfGxpYm1lZGlhX3Nlc3Npb25fYmFzZV9j cHB8bGlibWVzc2FnZV9zdXBwb3J0fGxpYnZ1bGthbl9pbml0fGxpYm9uY3xsaWJncHV8bGlibW9q b21fbW9kdWxlc19zaGFyZWR8bGlibmF0aXZlX3RoZW1lfGxpYmdjbXxsaWJ2cl9iYXNlfGxpYm1v am9fY29yZV9lbWJlZGRlcl9pbnRlcm5hbHxsaWJ1c2VyX3ByZWZzfGxpYndlYl9ibHVldG9vdGhf bW9qb19iaW5kaW5nc19zaGFyZWR8bGlib3NfY3J5cHR8bGliYnJvd3Nlcl91aV92aWV3c3xsaWJl bWJlZGRlcl9zd2l0Y2hlc3xsaWJjb250ZW50X3NlcnZpY2VfbW9qb21fc2hhcmVkfGxpYnNhbmRi b3h8bGlidnVsa2FuX3gxMXxsaWJkZXZpY2VfdnJfdGVzdF9tb2pvX2JpbmRpbmdzfGxpYm1vam9f Y29yZV9wb3J0c3xsaWJibGlua19jb3JlfGxpYngxMV93aW5kb3d8bGlibW9qb19tb2pvbV9iaW5k aW5nc3xsaWJpcGN8bGlibW9qb19iYXNlX21vam9tX2JsaW5rfGxpYmdsX3dyYXBwZXJ8bGlicHJp bnRpbmd8bGliZ2VzdHVyZV9kZXRlY3Rpb258bGliZGlzY2FyZGFibGVfbWVtb3J5X3NlcnZpY2V8 bGlibW9qb21fY29yZV9zaGFyZWR8bGlidml6X3Z1bGthbl9jb250ZXh0X3Byb3ZpZGVyfGxpYnBv bGljeV9jb21wb25lbnR8bGliZGlzcGxheXxsaWJ2cl9jb21tb258bGliZGV2aWNlX3ZyX3Rlc3Rf bW9qb19iaW5kaW5nc19zaGFyZWR8bGlidWlfYWNjZXNzaWJpbGl0eV9heF9tb2pvbV9zaGFyZWR8 bGlicmVzb3VyY2VfY29vcmRpbmF0b3JfcHVibGljX21vam9tfGxpYnZ1bGthbl93cmFwcGVyfGxp YmNyY3J5cHRvfGxpYkdMRVN2MnxsaWJ2OF9saWJiYXNlfGxpYmNyYXNoX2tleXxsaWJjaHJvbWVf ZmVhdHVyZXN8bGliZGlzY2FyZGFibGVfbWVtb3J5X2NvbW1vbnxsaWJiaW5kaW5nc3xsaWJmcmVl dHlwZV9oYXJmYnV6enxsaWJjYXB0dXJlX2Jhc2V8bGlibW9qb19jb3JlX2VtYmVkZGVyfGxpYnBy ZWZzfGxpYmRldmljZV9mZWF0dXJlc3xsaWJyZXNvdXJjZV9jb29yZGluYXRvcl9jcHBfZmVhdHVy ZXN8bGliZ2Z4X2lwY19nZW9tZXRyeXxsaWJnZnh8bGlidWlfZGV2dG9vbHN8bGlid2ViX2RpYWxv Z3N8bGlia2V5ZWRfc2VydmljZV9jb3JlfGxpYmNvbnRlbnR8bGliZ2VvbWV0cnlfc2tpYXxsaWJk aXNwbGF5X3V0aWx8bGlic2VydmljZV9tYW5hZ2VyX21vam9tX3RyYWl0c3xsaWJrZXljb2Rlc194 MTF8bGliaXBjX21vam9tfGxpYm1vam9fYmFzZV9saWJ8bGlidWlfYmFzZV9jbGlwYm9hcmRfdHlw ZXN8bGlidHJhY2luZ19tb2pvbXxsaWJtYW5hZ2VyfGxpYm1lZGlhX3dlYnJ0Y3xsaWJtZWRpYV9t b2pvX3NlcnZpY2VzfGxpYmNvbnRlbnRfcHVibGljX2NvbW1vbl9tb2pvX2JpbmRpbmdzX3NoYXJl ZHxsaWJnZnhfaXBjfGxpYmRpc2NhcmRhYmxlX21lbW9yeV9jbGllbnR8bGlibWVtb3J5X2luc3Ry dW1lbnRhdGlvbnxsaWJ1aV9iYXNlX2ltZXxsaWJza2lhfGxpYmdmeF9pcGNfY29sb3J8bGlic2hl bGxfZGlhbG9nc3xsaWJFR0x8bGlibWVkaWFfYmxpbmt8bGlibWVkaWFfbWVzc2FnZV9jZW50ZXJ8 bGliYmxpbmtfY29udHJvbGxlcnxsaWJkZXZpY2VfdnJfbW9qb19iaW5kaW5nc19zaGFyZWR8bGli bWlkaXxsaWJhcGR1fGxpYnNlY2NvbXBfYnBmfGxpYmJvcmluZ3NzbHxsaWJjb2xvcl91dGlsc3xs aWJkYnVzfGxpYnByb3h5X2NvbmZpZ3xsaWJibGlua19mZWF0dXJlc3xsaWJtb2pvbV9wbGF0Zm9y bV9zaGFyZWR8bGlic2hhcmVkX3dpdGhfYmxpbmt8bGlidWlfZGF0YV9wYWNrfGxpYmV2ZW50c194 fGxpYmxldmVsZGF0YWJhc2V8bGliZXZlbnRzX296b25lX2xheW91dHxsaWJnZnhfeDExfGxpYnN1 cmZhY2V8bGlibGVhcm5pbmdfaW1wbHxsaWJnYW1lcGFkX21vam9tfGxpYmNvbnRlbnRfc2Vydmlj ZV9jcHB8bGlidWlfYmFzZXxsaWJ6eWdvdGV8bGliZXZlbnRzfGxpYnZ1bGthbnxsaWJHTEVTdjJ8 bGliRUdMfGxpYmNlcnRpZmljYXRlX21hdGNoaW5nfGxpYnVzYl9zaGFyZWR8bGliYmluZGluZ3Nf YmFzZXxsaWJnZnhfaXBjX2J1ZmZlcl90eXBlc3xsaWJjb2RlY3xsaWJtb2pvbV9taHRtbF9sb2Fk X3Jlc3VsdF9zaGFyZWR8bGlic3RvcmFnZV9jb21tb258bGliZGV2aWNlX3ZyfGxpYnZpel9yZXNv dXJjZV9mb3JtYXRfdXRpbHN8bGlic2VydmljZV9tYW5hZ2VyX21vam9tX2JsaW5rfGxpYmdsZXMy fGxpYmF1dGhlbnRpY2F0b3JfdGVzdF9tb2pvX2JpbmRpbmdzX3NoYXJlZHxsaWJ1aV9iYXNlX2Ns aXBib2FyZHxsaWJnYW1lcGFkX21vam9tX3NoYXJlZHxsaWJkb21haW5fcmVsaWFiaWxpdHl8bGli bWVudXxsaWJibGlua19lbWJlZGRlZF9mcmFtZV9zaW5rX21vam9fYmluZGluZ3Nfc2hhcmVkfGxp YndlYmdwdXxsaWJ1cmxfaXBjfGxpYm5ldHxsaWJtZWRpYV9ncHV8bGlic2VydmljZV9tYW5hZ2Vy X21vam9tX2NvbnN0YW50c19zaGFyZWR8bGliYWNjZXNzaWJpbGl0eXxsaWJzZXJ2aWNlX21hbmFn ZXJfbW9qb21fY29uc3RhbnRzfGxpYmVtYmVkZGVyfGxpYmdhbWVwYWRfbW9qb21fYmxpbmt8bGli Y2NfYW5pbWF0aW9ufGxpYnBsYXRmb3JtfGxpYmRldmljZV9iYXNlfGxpYmFuaW1hdGlvbnxsaWJn YW1lcGFkX3NoYXJlZF90eXBlbWFwX3RyYWl0c3xsaWJ3dGZ8bGlidGhyZWFkX2xpbnV4fGxpYnVp X2Jhc2VfeHxsaWJjbG91ZF9wb2xpY3lfcHJvdG9fZ2VuZXJhdGVkX2NvbXBpbGV8bGlic3FsfGxp Ymhvc3R8bGliZXh0cmFzfGxpYmNocm9taXVtX3NxbGl0ZTN8bGlibmV0d29ya19jcHB8bGlibW9q b19iYXNlX21vam9tX3NoYXJlZHxsaWJnZW9tZXRyeXxsaWJwcGFwaV9wcm94eXxsaWJ3ZWJfZmVh dHVyZV9tb2pvX2JpbmRpbmdzX21vam9tX2JsaW5rfGxpYmNvbnRlbnRfY29tbW9uX21vam9fYmlu ZGluZ3Nfc2hhcmVkfGxpYlZrSUNEX21vY2tfaWNkfGxpYmRldmljZV92cl9tb2pvX2JpbmRpbmdz X2JsaW5rfGxpYnNlcnZpY2VfbWFuYWdlcl9tb2pvbV9jb25zdGFudHNfYmxpbmt8bGliZXZlbnRz X2Jhc2V8bGlidXJsfGxpYnJlc291cmNlX2Nvb3JkaW5hdG9yX3B1YmxpY19tb2pvbV9ibGlua3xs aWJwcGFwaV9ob3N0fGxpYnBwYXBpX3NoYXJlZHxsaWJtZWRpYXxsaWJ0cmFjaW5nfGxpYnNhbmRi b3hfc2VydmljZXN8bGliY29udGVudF9zZXJ2aWNlX21vam9tfGxpYmV2ZW50c19kZXZpY2VzX3gx MXxsaWJjb21wb3NpdG9yfGxpYmZpbmdlcnByaW50fGxpYnVzZXJfbWFuYWdlcnxsaWJzdG9yYWdl X2Jyb3dzZXJ8bGliYmFzZXxsaWJrZXllZF9zZXJ2aWNlX2NvbnRlbnR8bGlidmlld3N8bGliY2Fw dGl2ZV9wb3J0YWx8bGliY2JvcnxsaWJ2aXpfY29tbW9ufGxpYmNjX21vam9fZW1iZWRkZXJ8bGli aGVhZGxlc3Nfbm9uX3JlbmRlcmVyfGxpYnVpX2Jhc2VfZmVhdHVyZXN8bGlic25hcHNob3R8bGli Y29tbW9ufGxpYm5ldHdvcmtfc2VydmljZXxsaWJsZWFybmluZ19jb21tb258bGliYmxpbmtfbW9k dWxlc3xsaWJzY2hlZHVsaW5nX21ldHJpY3N8bGlicGVyZmV0dG98bGliZ2xlczJfaW1wbGVtZW50 YXRpb258bGlic2Vzc2lvbnN8bGliZGV2aWNlc3xsaWJzdGFydHVwX3RyYWNpbmd8bGliZGlzcGxh eV90eXBlc3xsaWJnbF9pbl9wcm9jZXNzX2NvbnRleHR8bGlidWlfYmFzZV9pbWVfdHlwZXN8bGli dWlfbWVzc2FnZV9jZW50ZXJfY3BwfGxpYmNsZWFya2V5Y2RtfGxpYmljdXVjfGxpYmZpZG8KKyVn bG9iYWwgcHJpdmxpYnMgbGliYWNjZXNzaWJpbGl0eXxsaWJhbmRyb2lkX21vam9fYmluZGluZ3Nf c2hhcmVkfGxpYmFuaW1hdGlvbnxsaWJhcGR1fGxpYmF1cmFfZXh0cmF8bGliYXVyYXxsaWJhdXRo ZW50aWNhdG9yX3Rlc3RfbW9qb19iaW5kaW5nc19zaGFyZWR8bGliYmFzZV9pMThufGxpYmJhc2V8 bGliYmluZGluZ3NfYmFzZXxsaWJiaW5kaW5nc3xsaWJibGlua19jb21tb258bGliYmxpbmtfY29u dHJvbGxlcnxsaWJibGlua19jb3JlfGxpYmJsaW5rX2VtYmVkZGVkX2ZyYW1lX3NpbmtfbW9qb19i aW5kaW5nc19zaGFyZWR8bGliYmxpbmtfZmVhdHVyZXN8bGliYmxpbmtfbW9kdWxlc3xsaWJibGlu a19tb2pvbV9icm9hZGNhc3RjaGFubmVsX2JpbmRpbmdzX3NoYXJlZHxsaWJibGlua19wbGF0Zm9y bXxsaWJibHVldG9vdGh8bGliYm9yaW5nc3NsfGxpYmJyb3dzZXJfdWlfdmlld3N8bGliY2FwdGl2 ZV9wb3J0YWx8bGliY2FwdHVyZV9iYXNlfGxpYmNhcHR1cmVfbGlifGxpYmNib3J8bGliY2NfYW5p bWF0aW9ufGxpYmNjX2Jhc2V8bGliY2NfZGVidWd8bGliY2NfbW9qb19lbWJlZGRlcnxsaWJjY19w YWludHxsaWJjY3xsaWJjZXJ0aWZpY2F0ZV9tYXRjaGluZ3xsaWJjaHJvbWVfZmVhdHVyZXN8bGli Y2hyb21pdW1fc3FsaXRlM3xsaWJjbGllbnR8bGliY2xvdWRfcG9saWN5X3Byb3RvX2dlbmVyYXRl ZF9jb21waWxlfGxpYmNvZGVjfGxpYmNvbG9yX3NwYWNlfGxpYmNvbG9yX3V0aWxzfGxpYmNvbW1v bnxsaWJjb21wb3NpdG9yfGxpYmNvbnRlbnRfY29tbW9uX21vam9fYmluZGluZ3Nfc2hhcmVkfGxp YmNvbnRlbnRfcHVibGljX2NvbW1vbl9tb2pvX2JpbmRpbmdzX3NoYXJlZHxsaWJjb250ZW50X3Nl cnZpY2VfY3BwfGxpYmNvbnRlbnRfc2VydmljZV9tb2pvbV9zaGFyZWR8bGliY29udGVudF9zZXJ2 aWNlX21vam9tfGxpYmNvbnRlbnRfc2V0dGluZ3NfZmVhdHVyZXN8bGliY29udGVudHxsaWJjcmFz aF9rZXl8bGliY3JjcnlwdG98bGliZGJ1c3xsaWJkZXZpY2VfYmFzZXxsaWJkZXZpY2VfZXZlbnRf bG9nfGxpYmRldmljZV9mZWF0dXJlc3xsaWJkZXZpY2VfZ2FtZXBhZHxsaWJkZXZpY2VzfGxpYmRl dmljZV92cl9tb2pvX2JpbmRpbmdzX2JsaW5rfGxpYmRldmljZV92cl9tb2pvX2JpbmRpbmdzX3No YXJlZHxsaWJkZXZpY2VfdnJfbW9qb19iaW5kaW5nc3xsaWJkZXZpY2VfdnJ8bGliZGV2aWNlX3Zy X3Rlc3RfbW9qb19iaW5kaW5nc19ibGlua3xsaWJkZXZpY2VfdnJfdGVzdF9tb2pvX2JpbmRpbmdz X3NoYXJlZHxsaWJkZXZpY2VfdnJfdGVzdF9tb2pvX2JpbmRpbmdzfGxpYmRpc2NhcmRhYmxlX21l bW9yeV9jbGllbnR8bGliZGlzY2FyZGFibGVfbWVtb3J5X2NvbW1vbnxsaWJkaXNjYXJkYWJsZV9t ZW1vcnlfc2VydmljZXxsaWJkaXNwbGF5fGxpYmRpc3BsYXlfdHlwZXN8bGliZGlzcGxheV91dGls fGxpYmRvbWFpbl9yZWxpYWJpbGl0eXxsaWJFR0x8bGliZW1iZWRkZXJ8bGliZW1iZWRkZXJfc3dp dGNoZXN8bGliZXZlbnRzX2Jhc2V8bGliZXZlbnRzX2RldmljZXNfeDExfGxpYmV2ZW50c19vem9u ZV9sYXlvdXR8bGliZXZlbnRzfGxpYmV2ZW50c194fGxpYmV4dHJhc3xsaWJmZm1wZWd8bGliZmlk b3xsaWJmaW5nZXJwcmludHxsaWJmcmVldHlwZV9oYXJmYnV6enxsaWJnYW1lcGFkX21vam9tX2Js aW5rfGxpYmdhbWVwYWRfbW9qb21fc2hhcmVkfGxpYmdhbWVwYWRfbW9qb218bGliZ2FtZXBhZF9z aGFyZWRfdHlwZW1hcF90cmFpdHN8bGliZ2NtfGxpYmdlb21ldHJ5X3NraWF8bGliZ2VvbWV0cnl8 bGliZ2VzdHVyZV9kZXRlY3Rpb258bGliZ2Z4X2lwY19idWZmZXJfdHlwZXN8bGliZ2Z4X2lwY19j b2xvcnxsaWJnZnhfaXBjX2dlb21ldHJ5fGxpYmdmeF9pcGNfc2tpYXxsaWJnZnhfaXBjfGxpYmdm eHxsaWJnZnhfc3dpdGNoZXN8bGliZ2Z4X3gxMXxsaWJnaW58bGliZ2xlczJfaW1wbGVtZW50YXRp b258bGliZ2xlczJ8bGliZ2xlczJfdXRpbHN8bGliR0xFU3YyfGxpYmdsX2luaXR8bGliZ2xfaW5f cHJvY2Vzc19jb250ZXh0fGxpYmdsX3dyYXBwZXJ8bGliZ3B1X2lwY19zZXJ2aWNlfGxpYmdwdXxs aWJndGt1aXxsaWJoZWFkbGVzc19ub25fcmVuZGVyZXJ8bGliaG9zdHxsaWJpY3VpMThufGxpYmlj dXVjfGxpYmludGVyZmFjZXNfc2hhcmVkfGxpYmlwY19tb2pvbV9zaGFyZWR8bGliaXBjX21vam9t fGxpYmlwY3xsaWJrZXljb2Rlc194MTF8bGlia2V5ZWRfc2VydmljZV9jb250ZW50fGxpYmtleWVk X3NlcnZpY2VfY29yZXxsaWJsZWFybmluZ19jb21tb258bGlibGVhcm5pbmdfaW1wbHxsaWJsZXZl bGRhdGFiYXNlfGxpYmxldmVsZGJfcHJvdG98bGlibWFuYWdlcnxsaWJtZWRpYV9ibGlua3xsaWJt ZWRpYV9ncHV8bGlibWVkaWFfbGVhcm5pbmdfbW9qb19pbXBsfGxpYm1lZGlhX21lc3NhZ2VfY2Vu dGVyfGxpYm1lZGlhX21vam9fc2VydmljZXN8bGlibWVkaWFfc2Vzc2lvbl9iYXNlX2NwcHxsaWJt ZWRpYV9zZXNzaW9uX2NwcHxsaWJtZWRpYXxsaWJtZWRpYV93ZWJydGN8bGlibWVtb3J5X2luc3Ry dW1lbnRhdGlvbnxsaWJtZW51fGxpYm1lc3NhZ2VfY2VudGVyfGxpYm1lc3NhZ2Vfc3VwcG9ydHxs aWJtZXRyaWNzX2NwcHxsaWJtaWRpfGxpYm1pcnJvcmluZ19zZXJ2aWNlfGxpYm1vam9fYmFzZV9s aWJ8bGlibW9qb19iYXNlX21vam9tX2JsaW5rfGxpYm1vam9fYmFzZV9tb2pvbV9zaGFyZWR8bGli bW9qb19iYXNlX21vam9tfGxpYm1vam9fYmFzZV9zaGFyZWRfdHlwZW1hcF90cmFpdHN8bGlibW9q b19jb3JlX2VtYmVkZGVyX2ludGVybmFsfGxpYm1vam9fY29yZV9lbWJlZGRlcnxsaWJtb2pvX2Nv cmVfcG9ydHN8bGlibW9qb19jcHBfcGxhdGZvcm18bGlibW9qb21fY29yZV9zaGFyZWR8bGlibW9q b21fbWh0bWxfbG9hZF9yZXN1bHRfc2hhcmVkfGxpYm1vam9tX21vZHVsZXNfc2hhcmVkfGxpYm1v am9fbW9qb21fYmluZGluZ3Nfc2hhcmVkfGxpYm1vam9fbW9qb21fYmluZGluZ3N8bGlibW9qb21f cGxhdGZvcm1fc2hhcmVkfGxpYm1vam9fcHVibGljX3N5c3RlbV9jcHB8bGlibW9qb19wdWJsaWNf c3lzdGVtfGxpYm1wcmlzfGxpYm5hdGl2ZV90aGVtZXxsaWJuZXR8bGlibmV0X3dpdGhfdjh8bGli bmV0d29ya19jcHBfYmFzZXxsaWJuZXR3b3JrX2NwcHxsaWJuZXR3b3JrX3NlcnZpY2V8bGlibmV0 d29ya19zZXNzaW9uX2NvbmZpZ3VyYXRvcnxsaWJvbmN8bGlib3NfY3J5cHR8bGlicGFyc2Vyc3xs aWJwZGZpdW18bGlicGVyZmV0dG98bGlicGxhdGZvcm18bGlicGxhdGZvcm1fd2luZG93X2hhbmRs ZXJfbGlic3xsaWJwb2xpY3lfY29tcG9uZW50fGxpYnBvbGljeV9wcm90b3xsaWJwcGFwaV9ob3N0 fGxpYnBwYXBpX3Byb3h5fGxpYnBwYXBpX3NoYXJlZHxsaWJwcmVmc3xsaWJwcmludGluZ3xsaWJw cm90b2J1Zl9saXRlfGxpYnByb3h5X2NvbmZpZ3xsaWJwdWJsaWN8bGlicmFuZ2V8bGlicmFzdGVy fGxpYnJlc291cmNlX2Nvb3JkaW5hdG9yX3B1YmxpY19tb2pvbV9ibGlua3xsaWJyZXNvdXJjZV9j b29yZGluYXRvcl9wdWJsaWNfbW9qb21fc2hhcmVkfGxpYnJlc291cmNlX2Nvb3JkaW5hdG9yX3B1 YmxpY19tb2pvbXxsaWJzYW5kYm94X3NlcnZpY2VzfGxpYnNhbmRib3h8bGlic2NoZWR1bGluZ19t ZXRyaWNzfGxpYnNlY2NvbXBfYnBmfGxpYnNlcnZpY2VfbWFuYWdlcl9jcHB8bGlic2VydmljZV9t YW5hZ2VyX2NwcF90eXBlc3xsaWJzZXJ2aWNlX21hbmFnZXJfbW9qb21fYmxpbmt8bGlic2Vydmlj ZV9tYW5hZ2VyX21vam9tX2NvbnN0YW50c19ibGlua3xsaWJzZXJ2aWNlX21hbmFnZXJfbW9qb21f Y29uc3RhbnRzX3NoYXJlZHxsaWJzZXJ2aWNlX21hbmFnZXJfbW9qb21fY29uc3RhbnRzfGxpYnNl cnZpY2VfbWFuYWdlcl9tb2pvbV9zaGFyZWR8bGlic2VydmljZV9tYW5hZ2VyX21vam9tfGxpYnNl cnZpY2VfbWFuYWdlcl9tb2pvbV90cmFpdHN8bGlic2VydmljZXxsaWJzZXNzaW9uc3xsaWJzaGFy ZWRfbWVtb3J5X3N1cHBvcnR8bGlic2hhcmVkX3dpdGhfYmxpbmt8bGlic2hlbGxfZGlhbG9nc3xs aWJza2lhfGxpYnNuYXBzaG90fGxpYnNxbHxsaWJzdGFydHVwX3RyYWNpbmd8bGlic3RvcmFnZV9i cm93c2VyfGxpYnN0b3JhZ2VfY29tbW9ufGxpYnN0dWJfd2luZG93fGxpYnN1aWRfc2FuZGJveF9j bGllbnR8bGlic3VyZmFjZXxsaWJ0YWJfY291bnRfbWV0cmljc3xsaWJ0aHJlYWRfbGludXh8bGli dHJhY2luZ19jcHB8bGlidHJhY2luZ19tb2pvbV9zaGFyZWR8bGlidHJhY2luZ19tb2pvbXxsaWJ0 cmFjaW5nfGxpYnVpX2FjY2Vzc2liaWxpdHlfYXhfbW9qb21fYmxpbmt8bGlidWlfYWNjZXNzaWJp bGl0eV9heF9tb2pvbV9zaGFyZWR8bGlidWlfYWNjZXNzaWJpbGl0eV9heF9tb2pvbXxsaWJ1aV9i YXNlX2NsaXBib2FyZHxsaWJ1aV9iYXNlX2NsaXBib2FyZF90eXBlc3xsaWJ1aV9iYXNlX2ZlYXR1 cmVzfGxpYnVpX2Jhc2VfaWRsZXxsaWJ1aV9iYXNlX2ltZV9pbml0fGxpYnVpX2Jhc2VfaW1lX2xp bnV4fGxpYnVpX2Jhc2VfaW1lfGxpYnVpX2Jhc2VfaW1lX3R5cGVzfGxpYnVpX2Jhc2V8bGlidWlf YmFzZV94fGxpYnVpX2RhdGFfcGFja3xsaWJ1aV9kZXZ0b29sc3xsaWJ1aV9tZXNzYWdlX2NlbnRl cl9jcHB8bGlidWlfdG91Y2hfc2VsZWN0aW9ufGxpYnVybF9pcGN8bGlidXJsX21hdGNoZXJ8bGli dXJsfGxpYnVzYl9zaGFyZWR8bGlidXNlcl9tYW5hZ2VyfGxpYnVzZXJfcHJlZnN8bGlidjhfbGli YmFzZXxsaWJ2OF9saWJwbGF0Zm9ybXxsaWJ2OHxsaWJ2aWV3c3xsaWJ2aXpfY29tbW9ufGxpYnZp el9yZXNvdXJjZV9mb3JtYXRfdXRpbHN8bGlidml6X3Z1bGthbl9jb250ZXh0X3Byb3ZpZGVyfGxp YlZrSUNEX21vY2tfaWNkfGxpYnZyX2Jhc2V8bGlidnJfY29tbW9ufGxpYnZ1bGthbl9pbml0fGxp YnZ1bGthbl93cmFwcGVyfGxpYnZ1bGthbl94MTF8bGlid2ViX2JsdWV0b290aF9tb2pvX2JpbmRp bmdzX3NoYXJlZHxsaWJ3ZWJkYXRhX2NvbW1vbnxsaWJ3ZWJfZGlhbG9nc3xsaWJ3ZWJfZmVhdHVy ZV9tb2pvX2JpbmRpbmdzX21vam9tX2JsaW5rfGxpYndlYl9mZWF0dXJlX21vam9fYmluZGluZ3Nf bW9qb21fc2hhcmVkfGxpYndlYl9mZWF0dXJlX21vam9fYmluZGluZ3NfbW9qb218bGlid2ViZ3B1 fGxpYndlYnZpZXd8bGlid21fcHVibGljfGxpYndtfGxpYnd0ZnxsaWJ4MTFfZXZlbnRzX3BsYXRm b3JtfGxpYngxMV93aW5kb3d8bGlienlnb3RlfGxpYkVHTHxsaWJHTEVTdjJ8bGlidmtfc3dpZnRz aGFkZXIKICVlbmRpZgogJWdsb2JhbCBfX3JlcXVpcmVzX2V4Y2x1ZGUgXigle3ByaXZsaWJzfSlc XC5zbyoKIApAQCAtOTEsNiArOTEsMTAgQEAgQnVpbGRSZXF1aXJlczogIGxpYmljdS1kZXZlbCA+ PSA1LjQKICMgMjAxNy0wNi0wOC4KICVnbG9iYWwgYnVuZGxlbGlieG1sIDEKIAorIyBGZWRvcmEn cyBQeXRob24gMiBzdGFjayBpcyBiZWluZyByZW1vdmVkLCB3ZSB1c2UgdGhlIGJ1bmRsZWQgUHl0 aG9uIGxpYnJhcmllcworIyBUaGlzIGNhbiBiZSByZXZpc2l0ZWQgb25jZSB3ZSB1cGdyYWRlIHRv IFB5dGhvbiAzCislZ2xvYmFsIGJ1bmRsZXB5bGlicyAxCisKICMgQ2hyb21pdW0gdXNlZCB0byBi cmVhayBvbiB3YXlsYW5kLCBoaWRwaSwgYW5kIGNvbG9ycyB3aXRoIGd0azMgZW5hYmxlZC4KICMg SG9wZWZ1bGx5IGl0IGRvZXMgbm90IGFueW1vcmUuCiAlZ2xvYmFsIGd0azMgMQpAQCAtMTUwLDE0 ICsxNTQsMTQgQEAgQnVpbGRSZXF1aXJlczogIGxpYmljdS1kZXZlbCA+PSA1LjQKICVnbG9iYWwg Y2hyb21vdGluZ19jbGllbnRfaWQgJW5pbAogJWVuZGlmCiAKLSVnbG9iYWwgbWFqb3J2ZXJzaW9u IDc3CislZ2xvYmFsIG1ham9ydmVyc2lvbiA3OAogCiAlaWYgJXtmcmVld29ybGR9CiBOYW1lOgkJ Y2hyb21pdW0le2Nocm9taXVtX2NoYW5uZWx9JXs/ZnJlZXdvcmxkOi1mcmVld29ybGR9CiAlZWxz ZQogTmFtZToJCWNocm9taXVtJXtjaHJvbWl1bV9jaGFubmVsfQogJWVuZGlmCi1WZXJzaW9uOgkl e21ham9ydmVyc2lvbn0uMC4zODY1LjEyMAorVmVyc2lvbjoJJXttYWpvcnZlcnNpb259LjAuMzkw NC43MAogUmVsZWFzZToJMSV7P2Rpc3R9CiBTdW1tYXJ5OglBIFdlYktpdCAoQmxpbmspIHBvd2Vy ZWQgd2ViIGJyb3dzZXIKIFVybDoJCWh0dHA6Ly93d3cuY2hyb21pdW0ub3JnL0hvbWUKQEAgLTE4 NywzOSArMTkxLDU0IEBAIFBhdGNoODoJCWNocm9taXVtLTcxLjAuMzU3OC45OC13aWRldmluZS1y My5wYXRjaAogIyBEaXNhYmxlIGZvbnRjb25maWcgY2FjaGUgbWFnaWMgdGhhdCBicmVha3MgcmVt b3RpbmcKIFBhdGNoOToJCWNocm9taXVtLTcwLjAuMzUzOC42Ny1kaXNhYmxlLWZvbnRjb25maWct Y2FjaGUtbWFnaWMucGF0Y2gKICMgZHJvcCByc3AgY2xvYmJlciwgd2hpY2ggYnJlYWtzIGdjYzkg KHRoYW5rcyB0byBKZWZmIExhdykKLVBhdGNoMTA6CWNocm9taXVtLTcxLjAuMzU3OC45OC1nY2M5 LWRyb3AtcnNwLWNsb2JiZXIucGF0Y2gKK1BhdGNoMTA6CWNocm9taXVtLTc4LjAuMzkwNC43MC1n Y2M5LWRyb3AtcnNwLWNsb2JiZXIucGF0Y2gKICMgVHJ5IHRvIGxvYWQgd2lkZXZpbmUgZnJvbSBv dGhlciBwbGFjZXMKIFBhdGNoMTE6CWNocm9taXVtLXdpZGV2aW5lLW90aGVyLWxvY2F0aW9ucy5w YXRjaAogIyBUcnkgdG8gZml4IHZlcnNpb24ucHkgZm9yIFJhd2hpZGUKIFBhdGNoMTI6CWNocm9t aXVtLTcxLjAuMzU3OC45OC1weTItYm9vdHN0cmFwLnBhdGNoCiAjIEFkZCAiRmVkb3JhIiB0byB0 aGUgdXNlciBhZ2VudCBzdHJpbmcKIFBhdGNoMTM6CWNocm9taXVtLTc3LjAuMzg2NS43NS1mZWRv cmEtdXNlci1hZ2VudC5wYXRjaAotCiAjIHJlbmFtZSBmdW5jdGlvbiB0byBhdm9pZCBjb25mbGlj dCB3aXRoIHJhd2hpZGUgZ2xpYmMgImdldHRpZCgpIgogUGF0Y2g1MDoJY2hyb21pdW0tNzUuMC4z NzcwLjgwLWdycGMtZ2V0dGlkLWZpeC5wYXRjaAotIyBJbiBHQ0Mgb25lIGNhbid0IHVzZSBhbGln bmFzKCkgZm9yIGV4cG9ydGVkIGNsYXNzZXMKLSMgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy Y2UuY29tL2Nocm9taXVtL3NyYy5naXQvKy84MTQ4ZmQ5NmFlMDRhMTE1MGE5YzYwMTI2MzRkY2Qy YTczMzVmODdhCi1QYXRjaDUxOgljaHJvbWl1bS03Ni4wLjM4MDkuMTAwLWdjYy1uby1hbGlnbmFz LWFuZC1leHBvcnQucGF0Y2gKICMgTmVlZHMgdG8gYmUgc3VibWl0dGVkLi4KLVBhdGNoNTI6CWNo cm9taXVtLTc2LjAuMzgwOS4xMDAtZ2NjLXJlbW90aW5nLWNvbnN0ZXhwci5wYXRjaAorUGF0Y2g1 MToJY2hyb21pdW0tNzYuMC4zODA5LjEwMC1nY2MtcmVtb3RpbmctY29uc3RleHByLnBhdGNoCiAj IE5lZWRzIHRvIGJlIHN1Ym1pdHRlZC4uICh1Z2x5IGhhY2ssIG5lZWRzIHRvIGJlIGFkZGVkIHBy b3Blcmx5IHRvIEdOIGZpbGVzKQotUGF0Y2g1MzoJY2hyb21pdW0tNzYuMC4zODA5LjEwMC12dGFi bGUtc3ltYm9sLXVuZGVmaW5lZC5wYXRjaAotIyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJj ZS5jb20vY2hyb21pdW0vc3JjLmdpdC8rLzNjOTcyMDI0NWU0NDBjNGI3MjIyZjgzNDhkMmEyYTNj MjVlMDk4YWUKLVBhdGNoNTQ6CWNocm9taXVtLTc3LjAuMzg2NS43NS1jZXJ0aWZpY2F0ZS10cmFu c3BhcmVuY3kucGF0Y2gKK1BhdGNoNTI6CWNocm9taXVtLTc4LjAuMzkwNC43MC12dGFibGUtc3lt Ym9sLXVuZGVmaW5lZC5wYXRjaAogIyBodHRwczovL2dpdHdlYi5nZW50b28ub3JnL3JlcG8vZ2Vu dG9vLmdpdC90cmVlL3d3dy1jbGllbnQvY2hyb21pdW0vZmlsZXMvY2hyb21pdW0tdW5idW5kbGUt emxpYi5wYXRjaAotUGF0Y2g1NToJY2hyb21pdW0tNzcuMC4zODY1Ljc1LXVuYnVuZGxlLXpsaWIu cGF0Y2gKK1BhdGNoNTM6CWNocm9taXVtLTc4LjAuMzkwNC43MC11bmJ1bmRsZS16bGliLnBhdGNo CiAjIE5lZWRzIHRvIGJlIHN1Ym1pdHRlZC4uCi1QYXRjaDU2OgljaHJvbWl1bS03Ny4wLjM4NjUu NzUtZ2NjLWluY2x1ZGUtbWVtb3J5LnBhdGNoCitQYXRjaDU0OgljaHJvbWl1bS03Ny4wLjM4NjUu NzUtZ2NjLWluY2x1ZGUtbWVtb3J5LnBhdGNoCiAjIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291 cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy82YjYzM2M0YjE0ODUwZGYzNzZkNWNlYzU3MTY5OTAxODc3 MmYzNThlCi1QYXRjaDU3OgljaHJvbWl1bS03Ny4wLjM4NjUuNzUtYmFzZS1nY2Mtbm8tYWxpZ25h cy5wYXRjaAotIyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj LysvMjdlMjUzMzZiODMxNmZmM2VjNGU0NjQwNTg2ODJlZDg1ODAxZmQwNgotUGF0Y2g1ODoJY2hy b21pdW0tNzcuMC4zODY1Ljc1LWhhcmZidXp6LXN1YnNldC5wYXRjaAotIyBodHRwczovL2Nocm9t aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLmdpdC8rL2YwOGNiMDAyMjUyNzA4MWMw NzhlOGI5NjA2MmU2YzliNGZiZGExNTEKLVBhdGNoNTk6CWNocm9taXVtLTc3LjAuMzg2NS43NS1n Y2MtYWJzdHJhY3QtY2xhc3MucGF0Y2gKLSMgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2Uu Y29tL2Nocm9taXVtL3NyYy8rLzViYWY3ZGY3ZjRjNTk3MWRhYjU1Mjg5N2VlZWY5NGIxOTQ2NTBj ZTUKLVBhdGNoNjA6CWNocm9taXVtLTc3LjAuMzg2NS43NS1taXNzaW5nLWxpbWl0cy5wYXRjaAot IyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvNzQxMzhi OWZlYmQzN2VhYzBmYzI2YjhlZmIxMTAwMTRhODNhNTJjNgotUGF0Y2g2MToJY2hyb21pdW0tNzcu MC4zODY1LjkwLWxpbmtlZC1oYXNoLXNldC5wYXRjaAorIyBodHRwczovL2dpdHdlYi5nZW50b28u b3JnL3JlcG8vZ2VudG9vLmdpdC90cmVlL3d3dy1jbGllbnQvY2hyb21pdW0vZmlsZXMvY2hyb21p dW0tNzgtZ2NjLWFsaWduYXMucGF0Y2gKK1BhdGNoNTU6CWNocm9taXVtLTc4LjAuMzkwNC43MC1i YXNlLWdjYy1uby1hbGlnbmFzLnBhdGNoCisjIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNl LmNvbS9jaHJvbWl1bS9zcmMvKy9lNzlkOWQwZTA2YjgyNWQyZTYyYjM4ZGIwMzI0OGMwZTZjZWVj N2U0CitQYXRjaDU2OgljaHJvbWl1bS03Ny4wLjM4NjUuMTIwLXNpbGVuY2Utb3V0ZGF0ZWQtYnVp bGQtbm9pc2UucGF0Y2gKKyMgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9t aXVtL3NyYy8rLzljM2FlZDA5OWIwMTBhNzU1OTRhMGVmZDUyMzc3NGM0YzlhNWUzZDIKK1BhdGNo NTc6CWNocm9taXVtLTc3LjAuMzg2NS4xMjAtZ2NjLWZpeC16bGliLXN5bWJvbC12aXNpYmlsaXR5 LnBhdGNoCisjIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMv Ky83MzU4ZWE5ODVjYjQ5NmZhN2ZkMWE1MjY2ZjkxNWQ5OGVkNGUyMmU2CitQYXRjaDU4OgljaHJv bWl1bS03OC4wLjM5MDQuNzAtZ2NjLWZpeC1pbnZhbGlkLXByYWdtYS5wYXRjaAorIyBodHRwczov L2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvMmRiNjdkNDBlZjc2NmM2 M2E3Mzg5Njg2NmEyZDY2ZTgzNGNiOTcxNgorUGF0Y2g1OToJY2hyb21pdW0tNzguMC4zOTA0Ljcw LWdjYy1tYXJrLUNoZWNrT3BSZXN1bHQtY29uc3RleHByLnBhdGNoCisjIGh0dHBzOi8vY2hyb21p dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy85NjYyZWM4NDQwMTc2OTBkNWZkNTZi ZjBmMDVlZjZhNTQwZGQyOWMxCitQYXRjaDYwOgljaHJvbWl1bS03OC4wLjM5MDQuNzAtZ2NjLXNp emV0LWZpeC5wYXRjaAorIyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21p dW0vc3JjLysvZjRjM2MzMjk1ODhiNzhhZjYzYWFkOGI0MDFkYTc2NzI0MmI4NjcwOQorUGF0Y2g2 MToJY2hyb21pdW0tNzguMC4zOTA0LjcwLWdjYy1Eb2hVcGdyYWRlRW50cnktbm9uY29uc3QucGF0 Y2gKKyMgaHR0cHM6Ly9naXR3ZWIuZ2VudG9vLm9yZy9yZXBvL2dlbnRvby5naXQvdHJlZS93d3ct Y2xpZW50L2Nocm9taXVtL2ZpbGVzL2Nocm9taXVtLTc4LWdjYy1ub2V4Y2VwdC5wYXRjaAorUGF0 Y2g2MjoJY2hyb21pdW0tNzgtZ2NjLW5vZXhjZXB0LnBhdGNoCisjIGh0dHBzOi8vZ2l0d2ViLmdl bnRvby5vcmcvcmVwby9nZW50b28uZ2l0L3RyZWUvd3d3LWNsaWVudC9jaHJvbWl1bS9maWxlcy9j aHJvbWl1bS03OC1wbS1jcmFzaC5wYXRjaAorUGF0Y2g2MzoJY2hyb21pdW0tNzgtcG0tY3Jhc2gu cGF0Y2gKKyMgaHR0cHM6Ly9naXR3ZWIuZ2VudG9vLm9yZy9yZXBvL2dlbnRvby5naXQvdHJlZS93 d3ctY2xpZW50L2Nocm9taXVtL2ZpbGVzL2Nocm9taXVtLTc4LXByb3RvYnVmLWV4cG9ydC5wYXRj aAorUGF0Y2g2NDoJY2hyb21pdW0tNzgtcHJvdG9idWYtZXhwb3J0LnBhdGNoCisjIGh0dHBzOi8v Z2l0d2ViLmdlbnRvby5vcmcvcmVwby9nZW50b28uZ2l0L3RyZWUvd3d3LWNsaWVudC9jaHJvbWl1 bS9maWxlcy9jaHJvbWl1bS03OC1pbmNsdWRlLnBhdGNoCitQYXRjaDY1OgljaHJvbWl1bS03OC1p bmNsdWRlLnBhdGNoCisjIGh0dHBzOi8vZGV2LmdlbnRvby5vcmcvfmZsb3BweW0vZGlzdC9jaHJv bWl1bS03OC1yZXZlcnQtbm9leGNlcHQtcjEucGF0Y2guZ3oKK1BhdGNoNjY6CWNocm9taXVtLTc4 LXJldmVydC1ub2V4Y2VwdC1yMS5wYXRjaAorIyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJj ZS5jb20vY2hyb21pdW0vc3JjLysvOWQwMWJiN2Y5M2JhNDgzN2I0NDMwNDE3ZmVmZjg0NWQyN2E2 NjU0MworUGF0Y2g2NzoJY2hyb21pdW0tNzguMC4zOTA0LjcwLXY4LXRyYWNlZHJlZmVyZW5jZS1m aXgucGF0Y2gKKyMgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL3Y4L3Y4LysvMzY3 NzQ2ODM5N2ZhN2Y5ZmFkOWJiZDcxZTlmYjMxMjBiZGY2NzYyMAorUGF0Y2g2ODoJdjgtaW1wbGVt ZW50LXRyYWNlZHJlZmVyZW5jZS5wYXRjaAorIyBodHRwczovL2dpdHdlYi5nZW50b28ub3JnL3Jl cG8vZ2VudG9vLmdpdC9wbGFpbi93d3ctY2xpZW50L2Nocm9taXVtL2ZpbGVzL2Nocm9taXVtLTc3 LWNsYW5nLnBhdGNoCitQYXRjaDY5OgljaHJvbWl1bS03Ny1jbGFuZy5wYXRjaAogCiAjIFVzZSBs c3RkYysrIG9uIEVQRUw3IG9ubHkKIFBhdGNoMTAxOgljaHJvbWl1bS03NS4wLjM3NzAuMTAwLWVw ZWw3LXN0ZGMrKy5wYXRjaApAQCAtMjM1LDYgKzI1NCw5IEBAIFBhdGNoMjA0OgljaHJvbWl1bS03 NS4wLjM3NzAuODAtdmFhcGktbGlidmExLWNvbXBhdGliaWxpdHkucGF0Y2gKICMgUHVsc2VhdWRp byBjaGFuZ2VkIHRoZSBBUEkgYSBsaXR0bGUgaW4gMTIuOTkuMQogUGF0Y2gyMDU6CWNocm9taXVt LTc2LjAuMzgwOS4xMDAtcHVsc2UtYXBpLWNoYW5nZS5wYXRjaAogCisjIEFwcGx5IHRoZXNlIHBh dGNoZXMgdG8gd29yayBhcm91bmQgRVBFTDggaXNzdWVzCitQYXRjaDMwMDoJY2hyb21pdW0tNzYu MC4zODA5LjEzMi1yaGVsOC1mb3JjZS1kaXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5nLnBhdGNoCisK ICMgVXNlIGNocm9taXVtLWxhdGVzdC5weSB0byBnZW5lcmF0ZSBjbGVhbiB0YXJiYWxsIGZyb20g cmVsZWFzZWQgYnVpbGQgdGFyYmFsbHMsIGZvdW5kIGhlcmU6CiAjIGh0dHA6Ly9idWlsZC5jaHJv bWl1bS5vcmcvYnVpbGRib3Qvb2ZmaWNpYWwvCiAjIEZvciBDaHJvbWl1bSBGZWRvcmEgdXNlIGNo cm9taXVtLWxhdGVzdC5weSAtLXN0YWJsZSAtLWZmbXBlZ2NsZWFuIC0tZmZtcGVnYXJtCkBAIC0y NjYsOCArMjg4LDggQEAgU291cmNlMTU6CWh0dHA6Ly9kb3dubG9hZC5zYXZhbm5haC5ub25nbnUu b3JnL3JlbGVhc2VzL2ZyZWViYW5nZm9udC9NdWt0aU5hcnJvdy0KIFNvdXJjZTE2OglodHRwczov L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9yYXcvbWFzdGVyL2ZvbnRzL0FoZW0u dHRmCiBTb3VyY2UxNzoJR2FyZGluZXJNb2RCdWcudHRmCiBTb3VyY2UxODoJR2FyZGluZXJNb2RD YXQudHRmCi0jIFJIRUwgbmVlZHMgbmV3ZXIgbm9kZWpzCi0laWYgMCV7P3JoZWx9CisjIFJIRUwg NyBuZWVkcyBuZXdlciBub2RlanMKKyVpZiAwJXs/cmhlbH0gPT0gNwogU291cmNlMTk6CW5vZGUt djguOS4xLWxpbnV4LXg2NC50YXIuZ3oKICVlbmRpZgogCkBAIC0yODUsOSArMzA3LDYgQEAgQnVp bGRSZXF1aXJlczoJZmxleAogQnVpbGRSZXF1aXJlczoJZm9udGNvbmZpZy1kZXZlbAogQnVpbGRS ZXF1aXJlczoJR0NvbmYyLWRldmVsCiBCdWlsZFJlcXVpcmVzOglnbGliMi1kZXZlbAotJWlmIDAl ez9mZWRvcmF9IDw9IDI3Ci1CdWlsZFJlcXVpcmVzOglnbm9tZS1rZXlyaW5nLWRldmVsCi0lZW5k aWYKIEJ1aWxkUmVxdWlyZXM6CWdsaWJjLWRldmVsCiBCdWlsZFJlcXVpcmVzOglncGVyZgogJWlm IDAlez9idW5kbGVoYXJmYnV6en0KQEAgLTMxNSw3ICszMzQsOSBAQCBCdWlsZFJlcXVpcmVzOglt aW5pemlwLWNvbXBhdC1kZXZlbAogQnVpbGRSZXF1aXJlczoJbWluaXppcC1kZXZlbAogJWVuZGlm CiAjIFJIRUwgNydzIG5vZGVqcyBpcyB0b28gb2xkCi0laWYgMCV7P2ZlZG9yYX0KKyVpZiAwJXs/ cmhlbH0gPT0gNworIyBVc2UgYnVuZGxlZC4KKyVlbHNlCiBCdWlsZFJlcXVpcmVzOglub2RlanMK ICVlbmRpZgogQnVpbGRSZXF1aXJlczoJbnNzLWRldmVsID49IDMuMjYKQEAgLTQwMSw4ICs0MjIs MTEgQEAgQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGd0aystMy4wKQogJWVsc2UKIEJ1aWxkUmVx dWlyZXM6CXBrZ2NvbmZpZyhndGsrLTIuMCkKICVlbmRpZgotQnVpbGRSZXF1aXJlczoJcHl0aG9u Mi1kZXZlbAotJWlmIDAlez9mZWRvcmF9ID4gMjcKK0J1aWxkUmVxdWlyZXM6CS91c3IvYmluL3B5 dGhvbjIKKyVpZiAwJXs/YnVuZGxlcHlsaWJzfQorIyBVc2luZyBidW5kbGVkIGJpdHMsIGRvIG5v dGhpbmcuCislZWxzZQorJWlmIDAlez9mZWRvcmF9CiBCdWlsZFJlcXVpcmVzOglweXRob24yLWJl YXV0aWZ1bHNvdXA0CiBCdWlsZFJlcXVpcmVzOglweXRob24yLWJlYXV0aWZ1bHNvdXAKIEJ1aWxk UmVxdWlyZXM6CXB5dGhvbjItaHRtbDVsaWIKQEAgLTQxNiw2ICs0NDAsOCBAQCBCdWlsZFJlcXVp cmVzOglweXRob24tbWFya3Vwc2FmZQogQnVpbGRSZXF1aXJlczoJcHl0aG9uLXBseQogJWVuZGlm CiBCdWlsZFJlcXVpcmVzOglweXRob24yLXNpbXBsZWpzb24KK0J1aWxkUmVxdWlyZXM6CXB5dGhv bjItZGV2ZWwKKyVlbmRpZgogJWlmIDAlez9idW5kbGVyZTJ9CiAjIFVzaW5nIGJ1bmRsZWQgYml0 cywgZG8gbm90aGluZy4KICVlbHNlCkBAIC00MjUsNyArNDUxLDkgQEAgQnVpbGRSZXF1aXJlczoJ cmUyLWRldmVsID49IDIwMTYwNDAxCiBCdWlsZFJlcXVpcmVzOglzcGVlY2gtZGlzcGF0Y2hlci1k ZXZlbAogQnVpbGRSZXF1aXJlczoJeWFzbQogQnVpbGRSZXF1aXJlczoJemxpYi1kZXZlbAorJWlm IDAlez9yaGVsfSA8IDgKIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhnbm9tZS1rZXlyaW5nLTEp CislZW5kaWYKICMgcmVtb3RlIGRlc2t0b3AgbmVlZHMgdGhpcwogQnVpbGRSZXF1aXJlczoJcGFt LWRldmVsCiBCdWlsZFJlcXVpcmVzOglzeXN0ZW1kCkBAIC00MzMsNyArNDYxLDcgQEAgQnVpbGRS ZXF1aXJlczoJc3lzdGVtZAogJWlmICV7ZnJlZXdvcmxkfQogIyBkb250IG5lZWQgZm9udHMgZm9y IHRoaXMKICVlbHNlCi0laWYgMCV7P3JoZWx9ID09IDcKKyVpZiAwJXs/cmhlbH0gPj0gNwogU291 cmNlMTAwOiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZm9udHMvYmxvYi9tYXN0ZXIv YXBhY2hlL2FyaW1vL0FyaW1vLUJvbGQudHRmCiBTb3VyY2UxMDE6CWh0dHBzOi8vZ2l0aHViLmNv bS9nb29nbGUvZm9udHMvYmxvYi9tYXN0ZXIvYXBhY2hlL2FyaW1vL0FyaW1vLUJvbGRJdGFsaWMu dHRmCiBTb3VyY2UxMDI6CWh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZm9udHMvYmxvYi9tYXN0 ZXIvYXBhY2hlL2FyaW1vL0FyaW1vLUl0YWxpYy50dGYKQEAgLTQ0NiwxMiArNDc0LDE1IEBAIFNv dXJjZTEwODoJaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9mb250cy9ibG9iL21hc3Rlci9hcGFj aGUvdGlub3MvVGlub3MtQm9sZC50CiBTb3VyY2UxMDk6CWh0dHBzOi8vZ2l0aHViLmNvbS9nb29n bGUvZm9udHMvYmxvYi9tYXN0ZXIvYXBhY2hlL3Rpbm9zL1Rpbm9zLUJvbGRJdGFsaWMudHRmCiBT b3VyY2UxMTA6CWh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZm9udHMvYmxvYi9tYXN0ZXIvYXBh Y2hlL3Rpbm9zL1Rpbm9zLUl0YWxpYy50dGYKIFNvdXJjZTExMToJaHR0cHM6Ly9naXRodWIuY29t L2dvb2dsZS9mb250cy9ibG9iL21hc3Rlci9hcGFjaGUvdGlub3MvVGlub3MtUmVndWxhci50dGYK LVNvdXJjZTExMjoJaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnL2xvaGl0L2xvaGl0LWd1cm11 a2hpLXR0Zi0yLjkxLjIudGFyLmd6Ci1Tb3VyY2UxMTM6CWh0dHBzOi8vbm90by13ZWJzaXRlLTIu c3RvcmFnZS5nb29nbGVhcGlzLmNvbS9wa2dzL05vdG9TYW5zQ0pLanAtaGludGVkLnppcAogJWVs c2UKIEJ1aWxkUmVxdWlyZXM6CWdvb2dsZS1jcm9zY29yZS1hcmltby1mb250cwogQnVpbGRSZXF1 aXJlczoJZ29vZ2xlLWNyb3Njb3JlLWNvdXNpbmUtZm9udHMKLUJ1aWxkUmVxdWlyZXM6ICBnb29n bGUtY3Jvc2NvcmUtdGlub3MtZm9udHMKK0J1aWxkUmVxdWlyZXM6CWdvb2dsZS1jcm9zY29yZS10 aW5vcy1mb250cworJWVuZGlmCislaWYgMCV7P3JoZWx9ID09IDcKK1NvdXJjZTExMjoJaHR0cHM6 Ly9yZWxlYXNlcy5wYWd1cmUub3JnL2xvaGl0L2xvaGl0LWd1cm11a2hpLXR0Zi0yLjkxLjIudGFy Lmd6CitTb3VyY2UxMTM6CWh0dHBzOi8vbm90by13ZWJzaXRlLTIuc3RvcmFnZS5nb29nbGVhcGlz LmNvbS9wa2dzL05vdG9TYW5zQ0pLanAtaGludGVkLnppcAorJWVsc2UKIEJ1aWxkUmVxdWlyZXM6 ICBnb29nbGUtbm90by1zYW5zLWNqay1qcC1mb250cwogQnVpbGRSZXF1aXJlczogIGxvaGl0LWd1 cm11a2hpLWZvbnRzCiAlZW5kaWYKQEAgLTUwNyw3ICs1MzgsNyBAQCBQcm92aWRlczoJY2hyb21p dW0tbGlicyA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQogT2Jzb2xldGVzOgljaHJvbWl1bS1saWJz IDw9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQogJWVuZGlmCiAKLSVpZiAwJXs/cmhlbH0KKyVpZiAw JXs/cmhlbH0gPT0gNwogRXhjbHVzaXZlQXJjaDogIHg4Nl82NCBpNjg2CiAlZWxzZQogRXhjbHVz aXZlQXJjaDoJeDg2XzY0IGk2ODYgYWFyY2g2NApAQCAtNzIyLDE3ICs3NTMsMjUgQEAgdWRldi4K IAogIyBTaG9ydCB0ZXJtIGZpeGVzICh1c3VhbGx5IGdjYyBhbmQgYmFja3BvcnRzKQogJXBhdGNo NTAgLXAxIC1iIC5nZXR0aWQtZml4Ci0lcGF0Y2g1MSAtcDEgLWIgLmdjYy1uby1hbGlnbmFzLWFu ZC1leHBvcnQKLSVwYXRjaDUyIC1wMSAtYiAuZ2NjLXJlbW90aW5nLWNvbnN0ZXhwcgotJXBhdGNo NTMgLXAxIC1iIC52dGFibGUtc3ltYm9sLXVuZGVmaW5lZAotJXBhdGNoNTQgLXAxIC1iIC5jZXJ0 aWZpY2F0ZS10cmFuc3BhcmVuY3kKLSVwYXRjaDU1IC1wMSAtYiAudW5idW5kbGUtemxpYgotJXBh dGNoNTYgLXAxIC1iIC5nY2MtaW5jbHVkZS1tZW1vcnkKLSVwYXRjaDU3IC1wMSAtYiAuYmFzZS1n Y2Mtbm8tYWxpZ25hcwotJXBhdGNoNTggLXAxIC1iIC5oYXJmYnV6ei1zdWJzZXQKLSVwYXRjaDU5 IC1wMSAtYiAuZ2NjLWFic3RyYWN0LWNsYXNzCi0lcGF0Y2g2MCAtcDEgLWIgLm1pc3NpbmctbGlt aXRzCi0lcGF0Y2g2MSAtcDEgLWIgLmxpbmtlZC1oYXNoLXNldAorJXBhdGNoNTEgLXAxIC1iIC5n Y2MtcmVtb3RpbmctY29uc3RleHByCislcGF0Y2g1MiAtcDEgLWIgLnZ0YWJsZS1zeW1ib2wtdW5k ZWZpbmVkCislcGF0Y2g1MyAtcDEgLWIgLnVuYnVuZGxlLXpsaWIKKyVwYXRjaDU0IC1wMSAtYiAu Z2NjLWluY2x1ZGUtbWVtb3J5CislcGF0Y2g1NSAtcDEgLWIgLmJhc2UtZ2NjLW5vLWFsaWduYXMK KyVwYXRjaDU2IC1wMSAtYiAuc2lsZW5jZS1vdXRkYXRlZC1idWlsZC1ub2lzZQorJXBhdGNoNTcg LXAxIC1iIC5nY2MtZml4LXpsaWItc3ltYm9sLXZpc2liaWxpdHkKKyVwYXRjaDU4IC1wMSAtYiAu Z2NjLWludmFsaWQtcHJhZ21hCislcGF0Y2g1OSAtcDEgLWIgLmdjYy1tYXJrLUNoZWNrT3BSZXN1 bHQtY29uc3RleHByCislcGF0Y2g2MCAtcDEgLWIgLmdjYy1zaXpldAorJXBhdGNoNjEgLXAxIC1i IC5nY2MtRG9oVXBncmFkZUVudHJ5LW5vbmNvbnN0CislcGF0Y2g2MiAtcDEgLWIgLmdjYy12OC1u b2V4Y2VwdAorJXBhdGNoNjMgLXAxIC1iIC5wbS1jcmFzaAorJXBhdGNoNjQgLXAxIC1iIC5wcm90 b2J1Zi1leHBvcnQKKyVwYXRjaDY1IC1wMSAtYiAubWlzc2luZy1pbmNsdWRlcworJXBhdGNoNjYg LXAxIC1iIC5nZW50b28tcmV2ZXJ0LW5vZXhjZXB0CislcGF0Y2g2NyAtcDEgLWIgLmltcGxlbWVu dC1UcmFjZVdyYXBwZXJWOFJlZmVyZW5jZS13aXRob3V0LWRlc3RydWN0b3IKKyVwYXRjaDY4IC1w MSAtYiAudjgtaW1wbGVtZW50LXRyYWNlZHJlZmVyZW5jZQorJXBhdGNoNjkgLXAxIC1iIC5jbGFu Zy1zdXBwb3J0cy1sb2NhdGlvbi1idWlsdGlucwogCiAjIEZlZG9yYSBicmFuZGVkIHVzZXIgYWdl bnQKICVpZiAwJXs/ZmVkb3JhfQpAQCAtNzU4LDYgKzc5NywxMCBAQCB1ZGV2LgogJXBhdGNoMjA1 IC1wMSAtYiAucHVsc2VhdWRpb2FwaWNoYW5nZQogJWVuZGlmCiAKKyVpZiAwJXs/cmhlbH0gPT0g OAorJXBhdGNoMzAwIC1wMSAtYiAuZGlzYmxlZ25vbWVrZXlyaW5nCislZW5kaWYKKwogIyBDaGFu Z2Ugc2hlYmFuZyBpbiBhbGwgcmVsZXZhbnQgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgYW5kIGFs bCBzdWJkaXJlY3RvcmllcwogIyBTZWUgYG1hbiBmaW5kYCBmb3IgaG93IHRoZSBgLWV4ZWMgY29t bWFuZCB7fSArYCBzeW50YXggd29ya3MKIGZpbmQgLXR5cGUgZiAtZXhlYyBzZWQgLWlFICcxcz1e IyEgKi91c3IvYmluL1wocHl0aG9uXHxlbnYgcHl0aG9uXClbMjNdXD89IyEle19fcHl0aG9uMn09 JyB7fSArCkBAIC03ODgsNyArODMxLDcgQEAgcm0gLXJmIE11a3RpTmFycm93MC45NAogY3AgJXtT T1VSQ0UxNn0gLgogY3AgJXtTT1VSQ0UxN30gLgogY3AgJXtTT1VSQ0UxOH0gLgotJWlmIDAlez9y aGVsfSA9PSA3CislaWYgMCV7P3JoZWx9ID49IDcKIGNwICV7U09VUkNFMTAwfSAuCiBjcCAle1NP VVJDRTEwMX0gLgogY3AgJXtTT1VSQ0UxMDJ9IC4KQEAgLTgwMSwxNCArODQ0LDE3IEBAIGNwICV7 U09VUkNFMTA4fSAuCiBjcCAle1NPVVJDRTEwOX0gLgogY3AgJXtTT1VSQ0UxMTB9IC4KIGNwICV7 U09VUkNFMTExfSAuCislZWxzZQorY3AgLWEgL3Vzci9zaGFyZS9mb250cy9nb29nbGUtY3Jvc2Nv cmUvQXJpbW8tKi50dGYgLgorY3AgLWEgL3Vzci9zaGFyZS9mb250cy9nb29nbGUtY3Jvc2NvcmUv Q291c2luZS0qLnR0ZiAuCitjcCAtYSAvdXNyL3NoYXJlL2ZvbnRzL2dvb2dsZS1jcm9zY29yZS9U aW5vcy0qLnR0ZiAuCislZW5kaWYKKyVpZiAwJXs/cmhlbH0gPT0gNwogdGFyIHhmICV7U09VUkNF MTEyfQogbXYgbG9oaXQtZ3VybXVraGktdHRmLTIuOTEuMi9Mb2hpdC1HdXJtdWtoaS50dGYgLgog cm0gLXJmIGxvaGl0LWd1cm11a2hpLXR0Zi0yLjkxLjIKIHVuemlwICV7U09VUkNFMTEzfQogJWVs c2UKLWNwIC1hIC91c3Ivc2hhcmUvZm9udHMvZ29vZ2xlLWNyb3Njb3JlL0FyaW1vLSoudHRmIC4K LWNwIC1hIC91c3Ivc2hhcmUvZm9udHMvZ29vZ2xlLWNyb3Njb3JlL0NvdXNpbmUtKi50dGYgLgot Y3AgLWEgL3Vzci9zaGFyZS9mb250cy9nb29nbGUtY3Jvc2NvcmUvVGlub3MtKi50dGYgLgogY3Ag LWEgL3Vzci9zaGFyZS9mb250cy9sb2hpdC1ndXJtdWtoaS9Mb2hpdC1HdXJtdWtoaS50dGYgLgog Y3AgLWEgL3Vzci9zaGFyZS9mb250cy9nb29nbGUtbm90by1jamsvTm90b1NhbnNDSktqcC1SZWd1 bGFyLm90ZiAuCiAlZW5kaWYKQEAgLTg0MCw2ICs4ODYsOSBAQCBDSFJPTUlVTV9DT1JFX0dOX0RF RklORVMrPScgdGFyZ2V0X2NwdT0iYXJtNjQiJwogJWlmICV7P3VzZV9qdW1ib30KIENIUk9NSVVN X0NPUkVfR05fREVGSU5FUys9JyB1c2VfanVtYm9fYnVpbGQ9dHJ1ZSBqdW1ib19maWxlX21lcmdl X2xpbWl0PTgnCiAlZW5kaWYKKyVpZiAwJXs/cmhlbH0gPT0gOAorQ0hST01JVU1fQ09SRV9HTl9E RUZJTkVTKz0nIHVzZV9nbm9tZV9rZXlyaW5nPWZhbHNlIHVzZV9nbGliPXRydWUnCislZW5kaWYK IGV4cG9ydCBDSFJPTUlVTV9DT1JFX0dOX0RFRklORVMKIAogQ0hST01JVU1fQlJPV1NFUl9HTl9E RUZJTkVTPSIiCkBAIC04NzEsNyArOTIwLDcgQEAgQ0hST01JVU1fSEVBRExFU1NfR05fREVGSU5F Uys9JyB1c2VfY3Vwcz1mYWxzZSB1c2VfZGJ1cz1mYWxzZSB1c2VfZ2lvPWZhbHNlIHVzZV8KIENI Uk9NSVVNX0hFQURMRVNTX0dOX0RFRklORVMrPScgdXNlX3B1bHNlYXVkaW89ZmFsc2UgdXNlX3Vk ZXY9ZmFsc2UnCiBleHBvcnQgQ0hST01JVU1fSEVBRExFU1NfR05fREVGSU5FUwogCi0laWYgMCV7 P3JoZWx9CislaWYgMCV7P3JoZWx9ID09IDcKIHB1c2hkIHRoaXJkX3BhcnR5L25vZGUvbGludXgK IHRhciB4ZiAle1NPVVJDRTE5fQogbXYgbm9kZS12OC45LjEtbGludXgteDY0IG5vZGUtbGludXgt eDY0CkBAIC04ODUsNyArOTM0LDcgQEAgbG4gLXMgJXtfYmluZGlyfS9ub2RlIHRoaXJkX3BhcnR5 L25vZGUvbGludXgvbm9kZS1saW51eC14NjQvYmluL25vZGUKICMgR2VudG9vJ3MgQ2hyb21pdW0g ZWJ1aWxkKSBhcmUgdGhlIGxpYnJhcmllcyB0aGF0IG5lZWRzIHRvIGJlIHByZXNlcnZlZC4KIGJ1 aWxkL2xpbnV4L3VuYnVuZGxlL3JlbW92ZV9idW5kbGVkX2xpYnJhcmllcy5weSBcCiAJJ2Jhc2Uv dGhpcmRfcGFydHkvY2l0eWhhc2gnIFwKLQknYmFzZS90aGlyZF9wYXJ0eS9kbWdfZnAnIFwKKwkn YmFzZS90aGlyZF9wYXJ0eS9kb3VibGVfY29udmVyc2lvbicgXAogCSdiYXNlL3RoaXJkX3BhcnR5 L2R5bmFtaWNfYW5ub3RhdGlvbnMnIFwKIAknYmFzZS90aGlyZF9wYXJ0eS9pY3UnIFwKIAknYmFz ZS90aGlyZF9wYXJ0eS9saWJldmVudCcgXApAQCAtOTQxLDYgKzk5MCw3IEBAIGJ1aWxkL2xpbnV4 L3VuYnVuZGxlL3JlbW92ZV9idW5kbGVkX2xpYnJhcmllcy5weSBcCiAJJ3RoaXJkX3BhcnR5L2Nh dGFwdWx0L3RoaXJkX3BhcnR5L3NpeCcgXAogCSd0aGlyZF9wYXJ0eS9jYXRhcHVsdC90cmFjaW5n L3RoaXJkX3BhcnR5L2QzJyBcCiAJJ3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RyYWNpbmcvdGhpcmRf cGFydHkvZ2wtbWF0cml4JyBcCisJJ3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RyYWNpbmcvdGhpcmRf cGFydHkvanBlZy1qcycgXAogCSd0aGlyZF9wYXJ0eS9jYXRhcHVsdC90cmFjaW5nL3RoaXJkX3Bh cnR5L2pzemlwJyBcCiAJJ3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RyYWNpbmcvdGhpcmRfcGFydHkv bWFubndoaXRuZXl1JyBcCiAJJ3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RyYWNpbmcvdGhpcmRfcGFy dHkvb2JvZScgXApAQCAtOTU1LDYgKzEwMDUsNyBAQCBidWlsZC9saW51eC91bmJ1bmRsZS9yZW1v dmVfYnVuZGxlZF9saWJyYXJpZXMucHkgXAogCSd0aGlyZF9wYXJ0eS9jcm9zX3N5c3RlbV9hcGkn IFwKIAkndGhpcmRfcGFydHkvZGF2MWQnIFwKIAkndGhpcmRfcGFydHkvZGF3bicgXAorCSd0aGly ZF9wYXJ0eS9kZXBvdF90b29scycgXAogCSd0aGlyZF9wYXJ0eS9kZXZzY3JpcHRzJyBcCiAJJ3Ro aXJkX3BhcnR5L2RvbV9kaXN0aWxsZXJfanMnIFwKIAkndGhpcmRfcGFydHkvZW1vamktc2VnbWVu dGVyJyBcCkBAIC0xMDA4LDcgKzEwNTksNyBAQCBidWlsZC9saW51eC91bmJ1bmRsZS9yZW1vdmVf YnVuZGxlZF9saWJyYXJpZXMucHkgXAogCSd0aGlyZF9wYXJ0eS9saWJ5dXYnIFwKIAkndGhpcmRf cGFydHkvbHNzJyBcCiAJJ3RoaXJkX3BhcnR5L2x6bWFfc2RrJyBcCi0laWYgMAorJWlmIDAlez9i dW5kbGVweWxpYnN9CiAJJ3RoaXJkX3BhcnR5L21hcmt1cHNhZmUnIFwKICVlbmRpZgogCSd0aGly ZF9wYXJ0eS9tZXNhJyBcCkBAIC0xMDM5LDYgKzEwOTAsNyBAQCBidWlsZC9saW51eC91bmJ1bmRs ZS9yZW1vdmVfYnVuZGxlZF9saWJyYXJpZXMucHkgXAogCSd0aGlyZF9wYXJ0eS9wZmZmdCcgXAog ICAgICAgICAndGhpcmRfcGFydHkvcGx5JyBcCiAJJ3RoaXJkX3BhcnR5L3BvbHltZXInIFwKKwkn dGhpcmRfcGFydHkvcHJpdmF0ZS1qb2luLWFuZC1jb21wdXRlJyBcCiAJJ3RoaXJkX3BhcnR5L3By b3RvYnVmJyBcCiAJJ3RoaXJkX3BhcnR5L3Byb3RvYnVmL3RoaXJkX3BhcnR5L3NpeCcgXAogCSd0 aGlyZF9wYXJ0eS9weWpzb241JyBcCkBAIC0xMDk5LDEwICsxMTUxLDEyIEBAIGJ1aWxkL2xpbnV4 L3VuYnVuZGxlL3JlbW92ZV9idW5kbGVkX2xpYnJhcmllcy5weSBcCiAJJ3Y4L3RoaXJkX3BhcnR5 L2luc3BlY3Rvcl9wcm90b2NvbCcgXAogCS0tZG8tcmVtb3ZlCiAKKyVpZiAhIDAlez9idW5kbGVw eWxpYnN9CiAjIExvb2ssIEkgZG9uJ3Qga25vdy4gVGhpcyBwYWNrYWdlIGlzIHNwaXQgYW5kIGNo ZXdpbmcgZ3VtLiBTb3JyeS4KIHJtIC1yZiB0aGlyZF9wYXJ0eS9tYXJrdXBzYWZlCiBsbiAtcyAl e3B5dGhvbjJfc2l0ZWFyY2h9L21hcmt1cHNhZmUgdGhpcmRfcGFydHkvbWFya3Vwc2FmZQogIyBX ZSBzaG91bGQgbG9vayBvbiByZW1vdmluZyBvdGhlciBweXRob24yIHBhY2thZ2VzIGFzIHdlbGwg aS5lLiBwbHkKKyVlbmRpZgogCiAjIEZpeCBoYXJkY29kZWQgcGF0aCBpbiByZW1vdGluZyBjb2Rl CiBzZWQgLWkgJ3N8L29wdC9nb29nbGUvY2hyb21lLXJlbW90ZS1kZXNrdG9wfCV7Y3JkX3BhdGh9 fGcnIHJlbW90aW5nL2hvc3Qvc2V0dXAvZGFlbW9uX2NvbnRyb2xsZXJfZGVsZWdhdGVfbGludXgu Y2MKQEAgLTE2MzUsOSArMTY4OSwyNyBAQCBnZXRlbnQgZ3JvdXAgY2hyb21lLXJlbW90ZS1kZXNr dG9wID4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLXIgY2hyb21lLXJlbW90ZS1kZXNrdAogCiAKICVj aGFuZ2Vsb2cKKyogV2VkIE9jdCAyMyAyMDE5IFRvbSBDYWxsYXdheSA8c3BvdEBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSA3OC4wLjM5MDQuODAtMQorLSB1cGRhdGUgdG8gNzguMC4zOTA0LjgwCisKKyog V2VkIE9jdCAxNiAyMDE5IFRvbSBDYWxsYXdheSA8c3BvdEBmZWRvcmFwcm9qZWN0Lm9yZz4gLSA3 Ny4wLjM4NjUuMTIwLTQKKy0gdXBzdHJlYW0gZml4IGZvciB6bGliIHN5bWJvbCBleHBvcnRzIHdp dGggZ2NjCisKKyogV2VkIE9jdCAxNiAyMDE5IFRvbSBDYWxsYXdheSA8c3BvdEBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSA3Ny4wLjM4NjUuMTIwLTMKKy0gc2lsZW5jZSBvdXRkYXRlZCBidWlsZCBub2lz ZSAoYnoxNzQ1NzQ1KQorCisqIFR1ZSBPY3QgMTUgMjAxOSBUb20gQ2FsbGF3YXkgPHNwb3RAZmVk b3JhcHJvamVjdC5vcmc+IC0gNzcuMC4zODY1LjEyMC0yCistIGZpeCBub2RlIGhhbmRsaW5nIGZv ciBFUEVMLTgKKwogKiBNb24gT2N0IDE0IDIwMTkgVG9tYXMgUG9wZWxhIDx0cG9wZWxhQHJlZGhh dC5jb20+IC0gNzcuMC4zODY1LjEyMC0xCiAtIFVwZGF0ZSB0byA3Ny4wLjM4NjUuMTIwCiAKKyog VGh1IE9jdCAxMCAyMDE5IFRvbSBDYWxsYXdheSA8c3BvdEBmZWRvcmFwcm9qZWN0Lm9yZz4gLSA3 Ny4wLjM4NjUuOTAtNAorLSBlbmFibGUgYWFyY2g2NCBmb3IgRVBFTC04CisKKyogV2VkIE9jdCAg OSAyMDE5IFRvbSBDYWxsYXdheSA8c3BvdEBmZWRvcmFwcm9qZWN0Lm9yZz4gLSA3Ny4wLjM4NjUu OTAtMworLSBzcGVjIGNsZWFudXBzIGFuZCBjaGFuZ2VzIHRvIG1ha2UgRVBFTDggdHJ5IHRvIGJ1 aWxkCisKICogTW9uIFNlcCAyMyAyMDE5IFRvbWFzIFBvcGVsYSA8dHBvcGVsYUByZWRoYXQuY29t PiAtIDc3LjAuMzg2NS45MC0yCiAtIEZpeCB0aGUgaWNvbgogLSBSZW1vdmUgcXVpdGUgYSBmZXcg b2YgZG93bnN0cmVhbSBwYXRjaGVzCgpkaWZmIC0tZ2l0IGEvcGFja2FnZS5jZmcgYi9wYWNrYWdl LmNmZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmVhNzlkCi0tLSAvZGV2 L251bGwKKysrIGIvcGFja2FnZS5jZmcKQEAgLTAsMCArMSwyIEBACitba29qaV0KK3RhcmdldHMg PSBlcGVsOCBlcGVsOC1wbGF5Z3JvdW5kClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKZGlm ZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDk3OGE2MTAuLmMxOGIxZDAgMTAwNjQ0 Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMTgsMyArMTgsNCBAQCBTSEE1MTIgKFRp bm9zLVJlZ3VsYXIudHRmKSA9IDU4MDg1YzVkYWM2ZDA2N2Q2MGJhMmFiMzIyMGM0YTBjYzFlZmNm Mjc5Y2FkZmNmYjg3NAogU0hBNTEyIChBaGVtLnR0ZikgPSBhZWI2NGIxMGFiOWM4Nzg2MDcxNGNi NjBiNDkwMDI1NGIxM2RjNTJjNTEzMTkyNTZhMWEzNzIyYzg4MjAyNmFiN2M2MTZiZjYyOGZiYzJm ZTE0ZTM4YTYwMDNmM2E0ODFhZjYwYjUyYTdlZDYyMDcxZDI4ZGRhZjQyOGU0ZTNmZAogU0hBNTEy IChub2RlLXY4LjkuMS1saW51eC14NjQudGFyLmd6KSA9IGE3MDdmZDQ1NjcwNDFjNTZlN2Y5ZDQx NWU1MDVlM2ZhNjUwNjI3ZjMxZGVmN2ZlZmRkN2VjNTBmOWU3MDY2YmIzMzMzMmI2N2Y0NzllMTE1 OWQ4NWUxMTA1YTdlNmQwMzRhYWQ3NDI5ZjRmM2QwMzRjOTE2MTE3MGQ3ZTBiODQ0CiBTSEE1MTIg KGNocm9taXVtLTc3LjAuMzg2NS4xMjAtY2xlYW4udGFyLnh6KSA9IDAxODcwMmI1M2JhZmViNWZl OGEyOTdiOGVmYjQ4MDU0MTk1NTVhY2I4MGEyMmI5ZjVmNWZlMmEzNDg0ZjgzOGY2ZmZhMDY2NTUy Mjk0NjZhY2E1YTlkZTdmOGIwNDk3YjlkMzg3ZGE0YTFiYTJkYmM3YzYyZWMzZDFkMGZmYmI5CitT SEE1MTIgKGNocm9taXVtLTc4LjAuMzkwNC43MC1jbGVhbi50YXIueHopID0gZjcwMmJjM2MwODRh NjlhZGM4MWY0NzMwMGQwMGYwYjhjZjQ2ZWU3MjFkYmI0OTg2YmZjNWJhN2ZjOTUxMjkxNzJkMDIx ZGEwNTE0MzUwZmU3NzU5MWEyMDllYzA1MDMwN2VlYWQ4ZTliZjMwOWI3MGU0NmViMjZkMjlkODg1 MDkKCmRpZmYgLS1naXQgYS92OC1pbXBsZW1lbnQtdHJhY2VkcmVmZXJlbmNlLnBhdGNoIGIvdjgt aW1wbGVtZW50LXRyYWNlZHJlZmVyZW5jZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi43ZGM3NDg3Ci0tLSAvZGV2L251bGwKKysrIGIvdjgtaW1wbGVtZW50LXRyYWNl ZHJlZmVyZW5jZS5wYXRjaApAQCAtMCwwICsxLDc5NiBAQAorZGlmZiAtdXAgY2hyb21pdW0tNzgu MC4zOTA0LjcwL3Y4L2luY2x1ZGUvdjguaC5pbXBsZW1lbnQtdHJhY2VkcmVmZXJlbmNlIGNocm9t aXVtLTc4LjAuMzkwNC43MC92OC9pbmNsdWRlL3Y4LmgKKy0tLSBjaHJvbWl1bS03OC4wLjM5MDQu NzAvdjgvaW5jbHVkZS92OC5oLmltcGxlbWVudC10cmFjZWRyZWZlcmVuY2UJMjAxOS0xMC0yNCAw ODo1ODoyNi4xODU2NDAxMTcgLTA0MDAKKysrKyBjaHJvbWl1bS03OC4wLjM5MDQuNzAvdjgvaW5j bHVkZS92OC5oCTIwMTktMTAtMjQgMDk6MTg6MzMuNzE5NTQ2NDgxIC0wNDAwCitAQCAtOTYsNiAr OTYsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgY2xhc3MgR2xvYmFsOworIHRlbXBsYXRlIDxj bGFzcyBUPgorIGNsYXNzIFRyYWNlZEdsb2JhbDsKKyt0ZW1wbGF0ZSA8Y2xhc3MgVD4KKytjbGFz cyBUcmFjZWRSZWZlcmVuY2U7CisrdGVtcGxhdGUgPGNsYXNzIFQ+CisrY2xhc3MgVHJhY2VkUmVm ZXJlbmNlQmFzZTsKKyB0ZW1wbGF0ZTxjbGFzcyBLLCBjbGFzcyBWLCBjbGFzcyBUPiBjbGFzcyBQ ZXJzaXN0ZW50VmFsdWVNYXA7CisgdGVtcGxhdGUgPGNsYXNzIEssIGNsYXNzIFYsIGNsYXNzIFQ+ CisgY2xhc3MgUGVyc2lzdGVudFZhbHVlTWFwQmFzZTsKK0BAIC0yODEsNyArMjg1LDggQEAgY2xh c3MgTG9jYWwgeworICAgVjhfSU5MSU5FIHN0YXRpYyBMb2NhbDxUPiBOZXcoSXNvbGF0ZSogaXNv bGF0ZSwgTG9jYWw8VD4gdGhhdCk7CisgICBWOF9JTkxJTkUgc3RhdGljIExvY2FsPFQ+IE5ldyhJ c29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg UGVyc2lzdGVudEJhc2U8VD4mIHRoYXQpOworLSAgVjhfSU5MSU5FIHN0YXRpYyBMb2NhbDxUPiBO ZXcoSXNvbGF0ZSogaXNvbGF0ZSwgY29uc3QgVHJhY2VkR2xvYmFsPFQ+JiB0aGF0KTsKKysgIFY4 X0lOTElORSBzdGF0aWMgTG9jYWw8VD4gTmV3KElzb2xhdGUqIGlzb2xhdGUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUcmFjZWRSZWZlcmVuY2VCYXNlPFQ+JiB0aGF0 KTsKKyAKKyAgcHJpdmF0ZToKKyAgIGZyaWVuZCBjbGFzcyBVdGlsczsKK0BAIC0zMTEsNyArMzE2 LDEzIEBAIGNsYXNzIExvY2FsIHsKKyAgIHRlbXBsYXRlIDxjbGFzcyBGPgorICAgZnJpZW5kIGNs YXNzIFJldHVyblZhbHVlOworICAgdGVtcGxhdGUgPGNsYXNzIEY+CisrICBmcmllbmQgY2xhc3Mg VHJhY2VkOworKyAgdGVtcGxhdGUgPGNsYXNzIEY+CisgICBmcmllbmQgY2xhc3MgVHJhY2VkR2xv YmFsOworKyAgdGVtcGxhdGUgPGNsYXNzIEY+CisrICBmcmllbmQgY2xhc3MgVHJhY2VkUmVmZXJl bmNlQmFzZTsKKysgIHRlbXBsYXRlIDxjbGFzcyBGPgorKyAgZnJpZW5kIGNsYXNzIFRyYWNlZFJl ZmVyZW5jZTsKKyAKKyAgIGV4cGxpY2l0IFY4X0lOTElORSBMb2NhbChUKiB0aGF0KSA6IHZhbF8o dGhhdCkge30KKyAgIFY4X0lOTElORSBzdGF0aWMgTG9jYWw8VD4gTmV3KElzb2xhdGUqIGlzb2xh dGUsIFQqIHRoYXQpOworQEAgLTc5MiwyMiArODAzLDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUPgor IHVzaW5nIFVuaXF1ZVBlcnNpc3RlbnQgPSBHbG9iYWw8VD47CisgCisgLyoqCistICogVHJhaXQg c3BlY2lmeWluZyBiZWhhdmlvciBvZiB8VHJhY2VkR2xvYmFsPFQ+fC4KKysgKiBEZXByZWNhdGVk LiBVc2UgfFRyYWNlZFJlZmVyZW5jZTxUPnwgaW5zdGVhZC4KKyAgKi8KKyB0ZW1wbGF0ZSA8dHlw ZW5hbWUgVD4KKy1zdHJ1Y3QgVHJhY2VkR2xvYmFsVHJhaXQgeworLSAgLyoqCistICAgKiBTcGVj aWZpZXMgd2hldGhlciB8VHJhY2VkR2xvYmFsPFQ+fCBzaG91bGQgY2xlYXIgaXRzIGhhbmRsZSBv biBkZXN0cnVjdGlvbi4KKy0gICAqCistICAgKiBWOCB3aWxsICpub3QqIGNsZWFyIHRoZSBlbWJl ZGRlci1zaWRlIG1lbW9yeSBvZiB0aGUgaGFuZGxlLiBUaGUgZW1iZWRkZXIgaXMKKy0gICAqIGV4 cGVjdGVkIHRvIHJlcG9ydCBhbGwgfFRyYWNlZEdsb2JhbDxUPnwgaGFuZGxlcyB0aHJvdWdoCist ICAgKiB8RW1iZWRkZXJIZWFwVHJhY2VyfCB1cG9uIGdhcmFiZ2UgY29sbGVjdGlvbi4KKy0gICAq CistICAgKiBTZWUgfEVtYmVkZGVySGVhcFRyYWNlcjo6SXNSb290Rm9yTm9uVHJhY2luZ0dDfCBm b3IgaGFuZGxpbmcgd2l0aAorLSAgICogbm9uLXRyYWNpbmcgR0NzIGluIFY4LgorLSAgICovCist ICBzdGF0aWMgY29uc3RleHByIGJvb2wga1JlcXVpcmVzRXhwbGljaXREZXN0cnVjdGlvbiA9IHRy dWU7CistfTsKKytzdHJ1Y3QgVHJhY2VkR2xvYmFsVHJhaXQge307CisgCisgLyoqCisgICogQSB0 cmFjZWQgaGFuZGxlIHdpdGggY29weSBhbmQgbW92ZSBzZW1hbnRpY3MuIFRoZSBoYW5kbGUgaXMg dG8gYmUgdXNlZAorQEAgLTgyMCwxNSArODE5LDEzMSBAQCBzdHJ1Y3QgVHJhY2VkR2xvYmFsVHJh aXQgeworICAqICAgfHY4OjpFbWJlZGRlckhlYXBUcmFjZXI6OklzUm9vdEZvck5vblRyYWNpbmdH QygpfCB3aGV0aGVyIHRoZSBoYW5kbGUgc2hvdWxkCisgICogICBiZSB0cmVhdGVkIGFzIHJvb3Qg b3Igbm90LgorICAqCistICogRm9yIGRlc3RydWN0aW9uIHNlbWFudGljcyBzZWUgfFRyYWNlZEds b2JhbFRyYWl0PFQ+fC4KKysgKiBOb3RlIHRoYXQgdGhlIGJhc2UgY2xhc3MgY2Fubm90IGJlIGlu c3RhbnRpYXRlZCBpdHNlbGYuIENob29zZSBmcm9tCisrICogLSBUcmFjZWRHbG9iYWwKKysgKiAt IFRyYWNlZFJlZmVyZW5jZQorICAqLworIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLWNsYXNzIFRy YWNlZEdsb2JhbCB7CisrY2xhc3MgVHJhY2VkUmVmZXJlbmNlQmFzZSB7CisgIHB1YmxpYzoKKyAg IC8qKgorKyAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgVHJhY2VkUmVmZXJlbmNlQmFzZSBpcyBl bXB0eSwgaS5lLiwgaGFzIG5vdCBiZWVuCisrICAgKiBhc3NpZ25lZCBhbiBvYmplY3QuCisrICAg Ki8KKysgIGJvb2wgSXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIHZhbF8gPT0gbnVsbHB0cjsgfQor KworKyAgLyoqCisrICAgKiBJZiBub24tZW1wdHksIGRlc3Ryb3kgdGhlIHVuZGVybHlpbmcgc3Rv cmFnZSBjZWxsLiB8SXNFbXB0eXwgd2lsbCByZXR1cm4KKysgICAqIHRydWUgYWZ0ZXIgdGhpcyBj YWxsLgorKyAgICovCisrICBWOF9JTkxJTkUgdm9pZCBSZXNldCgpOworKworKyAgLyoqCisrICAg KiBDb25zdHJ1Y3QgYSBMb2NhbDxUPiBmcm9tIHRoaXMgaGFuZGxlLgorKyAgICovCisrICBMb2Nh bDxUPiBHZXQoSXNvbGF0ZSogaXNvbGF0ZSkgY29uc3QgeyByZXR1cm4gTG9jYWw8VD46Ok5ldyhp c29sYXRlLCAqdGhpcyk7IH0KKysKKysgIHRlbXBsYXRlIDxjbGFzcyBTPgorKyAgVjhfSU5MSU5F IGJvb2wgb3BlcmF0b3I9PShjb25zdCBUcmFjZWRSZWZlcmVuY2VCYXNlPFM+JiB0aGF0KSBjb25z dCB7CisrICAgIGludGVybmFsOjpBZGRyZXNzKiBhID0gcmVpbnRlcnByZXRfY2FzdDxpbnRlcm5h bDo6QWRkcmVzcyo+KHZhbF8pOworKyAgICBpbnRlcm5hbDo6QWRkcmVzcyogYiA9IHJlaW50ZXJw cmV0X2Nhc3Q8aW50ZXJuYWw6OkFkZHJlc3MqPih0aGF0LnZhbF8pOworKyAgICBpZiAoYSA9PSBu dWxscHRyKSByZXR1cm4gYiA9PSBudWxscHRyOworKyAgICBpZiAoYiA9PSBudWxscHRyKSByZXR1 cm4gZmFsc2U7CisrICAgIHJldHVybiAqYSA9PSAqYjsKKysgIH0KKysKKysgIHRlbXBsYXRlIDxj bGFzcyBTPgorKyAgVjhfSU5MSU5FIGJvb2wgb3BlcmF0b3I9PShjb25zdCBMb2NhbDxTPiYgdGhh dCkgY29uc3QgeworKyAgICBpbnRlcm5hbDo6QWRkcmVzcyogYSA9IHJlaW50ZXJwcmV0X2Nhc3Q8 aW50ZXJuYWw6OkFkZHJlc3MqPih2YWxfKTsKKysgICAgaW50ZXJuYWw6OkFkZHJlc3MqIGIgPSBy ZWludGVycHJldF9jYXN0PGludGVybmFsOjpBZGRyZXNzKj4odGhhdC52YWxfKTsKKysgICAgaWYg KGEgPT0gbnVsbHB0cikgcmV0dXJuIGIgPT0gbnVsbHB0cjsKKysgICAgaWYgKGIgPT0gbnVsbHB0 cikgcmV0dXJuIGZhbHNlOworKyAgICByZXR1cm4gKmEgPT0gKmI7CisrICB9CisrCisrICB0ZW1w bGF0ZSA8Y2xhc3MgUz4KKysgIFY4X0lOTElORSBib29sIG9wZXJhdG9yIT0oY29uc3QgVHJhY2Vk UmVmZXJlbmNlQmFzZTxTPiYgdGhhdCkgY29uc3QgeworKyAgICByZXR1cm4gIW9wZXJhdG9yPT0o dGhhdCk7CisrICB9CisrCisrICB0ZW1wbGF0ZSA8Y2xhc3MgUz4KKysgIFY4X0lOTElORSBib29s IG9wZXJhdG9yIT0oY29uc3QgTG9jYWw8Uz4mIHRoYXQpIGNvbnN0IHsKKysgICAgcmV0dXJuICFv cGVyYXRvcj09KHRoYXQpOworKyAgfQorKworKyAgLyoqCisrICAgKiBBc3NpZ25zIGEgd3JhcHBl ciBjbGFzcyBJRCB0byB0aGUgaGFuZGxlLgorKyAgICovCisrICBWOF9JTkxJTkUgdm9pZCBTZXRX cmFwcGVyQ2xhc3NJZCh1aW50MTZfdCBjbGFzc19pZCk7CisrCisrICAvKioKKysgICAqIFJldHVy bnMgdGhlIGNsYXNzIElEIHByZXZpb3VzbHkgYXNzaWduZWQgdG8gdGhpcyBoYW5kbGUgb3IgMCBp ZiBubyBjbGFzcyBJRAorKyAgICogd2FzIHByZXZpb3VzbHkgYXNzaWduZWQuCisrICAgKi8KKysg IFY4X0lOTElORSB1aW50MTZfdCBXcmFwcGVyQ2xhc3NJZCgpIGNvbnN0OworKworKyAgLyoqCisr ICAgKiBBZGRzIGEgZmluYWxpemF0aW9uIGNhbGxiYWNrIHRvIHRoZSBoYW5kbGUuIFRoZSB0eXBl IG9mIHRoaXMgY2FsbGJhY2sgaXMKKysgICAqIHNpbWlsYXIgdG8gV2Vha0NhbGxiYWNrVHlwZTo6 a0ludGVybmFsRmllbGRzLCBpLmUuLCBpdCB3aWxsIHBhc3MgdGhlCisrICAgKiBwYXJhbWV0ZXIg YW5kIHRoZSBmaXJzdCB0d28gaW50ZXJuYWwgZmllbGRzIG9mIHRoZSBvYmplY3QuCisrICAgKgor KyAgICogVGhlIGNhbGxiYWNrIGlzIHRoZW4gc3VwcG9zZWQgdG8gcmVzZXQgdGhlIGhhbmRsZSBp biB0aGUgY2FsbGJhY2suIE5vCisrICAgKiBmdXJ0aGVyIFY4IEFQSSBtYXkgYmUgY2FsbGVkIGlu IHRoaXMgY2FsbGJhY2suIEluIGNhc2UgYWRkaXRpb25hbCB3b3JrCisrICAgKiBpbnZvbHZpbmcg VjggbmVlZHMgdG8gYmUgZG9uZSwgYSBzZWNvbmQgY2FsbGJhY2sgY2FuIGJlIHNjaGVkdWxlZCB1 c2luZworKyAgICogV2Vha0NhbGxiYWNrSW5mbzx2b2lkPjo6U2V0U2Vjb25kUGFzc0NhbGxiYWNr LgorKyAgICovCisrICBWOF9JTkxJTkUgdm9pZCBTZXRGaW5hbGl6YXRpb25DYWxsYmFjaygKKysg ICAgICB2b2lkKiBwYXJhbWV0ZXIsIFdlYWtDYWxsYmFja0luZm88dm9pZD46OkNhbGxiYWNrIGNh bGxiYWNrKTsKKysKKysgIHRlbXBsYXRlIDxjbGFzcyBTPgorKyAgVjhfSU5MSU5FIFRyYWNlZFJl ZmVyZW5jZUJhc2U8Uz4mIEFzKCkgY29uc3QgeworKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz dDxUcmFjZWRSZWZlcmVuY2VCYXNlPFM+Jj4oCisrICAgICAgICBjb25zdF9jYXN0PFRyYWNlZFJl ZmVyZW5jZUJhc2U8VD4mPigqdGhpcykpOworKyAgfQorKworKyBwcml2YXRlOgorKyAgZW51bSBE ZXN0cnVjdGlvbk1vZGUgeyBrV2l0aERlc3RydWN0b3IsIGtXaXRob3V0RGVzdHJ1Y3RvciB9Owor KworKyAgLyoqCisrICAgKiBBbiBlbXB0eSBUcmFjZWRSZWZlcmVuY2VCYXNlIHdpdGhvdXQgc3Rv cmFnZSBjZWxsLgorKyAgICovCisrICBUcmFjZWRSZWZlcmVuY2VCYXNlKCkgPSBkZWZhdWx0Owor KworKyAgVjhfSU5MSU5FIHN0YXRpYyBUKiBOZXcoSXNvbGF0ZSogaXNvbGF0ZSwgVCogdGhhdCwg dm9pZCogc2xvdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIERlc3RydWN0aW9uTW9kZSBk ZXN0cnVjdGlvbl9tb2RlKTsKKysKKysgIFQqIHZhbF8gPSBudWxscHRyOworKworKyAgZnJpZW5k IGNsYXNzIEVtYmVkZGVySGVhcFRyYWNlcjsKKysgIHRlbXBsYXRlIDx0eXBlbmFtZSBGPgorKyAg ZnJpZW5kIGNsYXNzIExvY2FsOworKyAgZnJpZW5kIGNsYXNzIE9iamVjdDsKKysgIHRlbXBsYXRl IDx0eXBlbmFtZSBGPgorKyAgZnJpZW5kIGNsYXNzIFRyYWNlZEdsb2JhbDsKKysgIHRlbXBsYXRl IDx0eXBlbmFtZSBGPgorKyAgZnJpZW5kIGNsYXNzIFRyYWNlZFJlZmVyZW5jZTsKKysgIHRlbXBs YXRlIDx0eXBlbmFtZSBGPgorKyAgZnJpZW5kIGNsYXNzIFJldHVyblZhbHVlOworK307CisrCisr LyoqCisrICogQSB0cmFjZWQgaGFuZGxlIHdpdGggZGVzdHJ1Y3RvciB0aGF0IGNsZWFycyB0aGUg aGFuZGxlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZQorKyAqIFRyYWNlZFJlZmVyZW5jZUJhc2UuCisr ICovCisrdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisrY2xhc3MgVHJhY2VkR2xvYmFsIDogcHVibGlj IFRyYWNlZFJlZmVyZW5jZUJhc2U8VD4geworKyBwdWJsaWM6CisrICB1c2luZyBUcmFjZWRSZWZl cmVuY2VCYXNlPFQ+OjpSZXNldDsKKysKKysgIC8qKgorKyAgICogRGVzdHJ1Y3RvciByZXNldHRp bmcgdGhlIGhhbmRsZS4KKysgICAqLworKyAgflRyYWNlZEdsb2JhbCgpIHsgdGhpcy0+UmVzZXQo KTsgfQorKworKyAgLyoqCisgICAgKiBBbiBlbXB0eSBUcmFjZWRHbG9iYWwgd2l0aG91dCBzdG9y YWdlIGNlbGwuCisgICAgKi8KKy0gIFRyYWNlZEdsb2JhbCgpID0gZGVmYXVsdDsKKysgIFRyYWNl ZEdsb2JhbCgpIDogVHJhY2VkUmVmZXJlbmNlQmFzZTxUPigpIHt9CisgCisgICAvKioKKyAgICAq IENvbnN0cnVjdCBhIFRyYWNlZEdsb2JhbCBmcm9tIGEgTG9jYWwuCitAQCAtODM3LDggKzk1Miw5 IEBAIGNsYXNzIFRyYWNlZEdsb2JhbCB7CisgICAgKiBwb2ludGluZyB0byB0aGUgc2FtZSBvYmpl Y3QuCisgICAgKi8KKyAgIHRlbXBsYXRlIDxjbGFzcyBTPgorLSAgVHJhY2VkR2xvYmFsKElzb2xh dGUqIGlzb2xhdGUsIExvY2FsPFM+IHRoYXQpCistICAgICAgOiB2YWxfKE5ldyhpc29sYXRlLCAq dGhhdCwgJnZhbF8pKSB7CisrICBUcmFjZWRHbG9iYWwoSXNvbGF0ZSogaXNvbGF0ZSwgTG9jYWw8 Uz4gdGhhdCkgOiBUcmFjZWRSZWZlcmVuY2VCYXNlPFQ+KCkgeworKyAgICB0aGlzLT52YWxfID0g dGhpcy0+TmV3KGlzb2xhdGUsIHRoYXQudmFsXywgJnRoaXMtPnZhbF8sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgVHJhY2VkUmVmZXJlbmNlQmFzZTxUPjo6a1dpdGhEZXN0cnVjdG9yKTsK KyAgICAgVFlQRV9DSEVDSyhULCBTKTsKKyAgIH0KKyAKK0BAIC05MDUsMTIxICsxMDIxLDEyNiBA QCBjbGFzcyBUcmFjZWRHbG9iYWwgeworICAgVjhfSU5MSU5FIFRyYWNlZEdsb2JhbCYgb3BlcmF0 b3I9KGNvbnN0IFRyYWNlZEdsb2JhbDxTPiYgcmhzKTsKKyAKKyAgIC8qKgorLSAgICogUmV0dXJu cyB0cnVlIGlmIHRoaXMgVHJhY2VkR2xvYmFsIGlzIGVtcHR5LCBpLmUuLCBoYXMgbm90IGJlZW4g YXNzaWduZWQgYW4KKy0gICAqIG9iamVjdC4KKy0gICAqLworLSAgYm9vbCBJc0VtcHR5KCkgY29u c3QgeyByZXR1cm4gdmFsXyA9PSBudWxscHRyOyB9CistCistICAvKioKKy0gICAqIElmIG5vbi1l bXB0eSwgZGVzdHJveSB0aGUgdW5kZXJseWluZyBzdG9yYWdlIGNlbGwuIHxJc0VtcHR5fCB3aWxs IHJldHVybgorLSAgICogdHJ1ZSBhZnRlciB0aGlzIGNhbGwuCistICAgKi8KKy0gIFY4X0lOTElO RSB2b2lkIFJlc2V0KCk7CistCistICAvKioKKyAgICAqIElmIG5vbi1lbXB0eSwgZGVzdHJveSB0 aGUgdW5kZXJseWluZyBzdG9yYWdlIGNlbGwgYW5kIGNyZWF0ZSBhIG5ldyBvbmUgd2l0aAorICAg ICogdGhlIGNvbnRlbnRzIG9mIG90aGVyIGlmIG90aGVyIGlzIG5vbiBlbXB0eQorICAgICovCisg ICB0ZW1wbGF0ZSA8Y2xhc3MgUz4KKyAgIFY4X0lOTElORSB2b2lkIFJlc2V0KElzb2xhdGUqIGlz b2xhdGUsIGNvbnN0IExvY2FsPFM+JiBvdGhlcik7CisgCistICAvKioKKy0gICAqIENvbnN0cnVj dCBhIExvY2FsPFQ+IGZyb20gdGhpcyBoYW5kbGUuCistICAgKi8KKy0gIExvY2FsPFQ+IEdldChJ c29sYXRlKiBpc29sYXRlKSBjb25zdCB7IHJldHVybiBMb2NhbDxUPjo6TmV3KGlzb2xhdGUsICp0 aGlzKTsgfQorLQorICAgdGVtcGxhdGUgPGNsYXNzIFM+CisgICBWOF9JTkxJTkUgVHJhY2VkR2xv YmFsPFM+JiBBcygpIGNvbnN0IHsKKyAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VHJhY2Vk R2xvYmFsPFM+Jj4oCisgICAgICAgICBjb25zdF9jYXN0PFRyYWNlZEdsb2JhbDxUPiY+KCp0aGlz KSk7CisgICB9CisrfTsKKyAKKy0gIHRlbXBsYXRlIDxjbGFzcyBTPgorLSAgVjhfSU5MSU5FIGJv b2wgb3BlcmF0b3I9PShjb25zdCBUcmFjZWRHbG9iYWw8Uz4mIHRoYXQpIGNvbnN0IHsKKy0gICAg aW50ZXJuYWw6OkFkZHJlc3MqIGEgPSByZWludGVycHJldF9jYXN0PGludGVybmFsOjpBZGRyZXNz Kj4oKip0aGlzKTsKKy0gICAgaW50ZXJuYWw6OkFkZHJlc3MqIGIgPSByZWludGVycHJldF9jYXN0 PGludGVybmFsOjpBZGRyZXNzKj4oKnRoYXQpOworLSAgICBpZiAoYSA9PSBudWxscHRyKSByZXR1 cm4gYiA9PSBudWxscHRyOworLSAgICBpZiAoYiA9PSBudWxscHRyKSByZXR1cm4gZmFsc2U7Cist ICAgIHJldHVybiAqYSA9PSAqYjsKKy0gIH0KKysvKioKKysgKiBBIHRyYWNlZCBoYW5kbGUgd2l0 aG91dCBkZXN0cnVjdG9yIHRoYXQgY2xlYXJzIHRoZSBoYW5kbGUuIFRoZSBlbWJlZGRlciBuZWVk cworKyAqIHRvIGVuc3VyZSB0aGF0IHRoZSBoYW5kbGUgaXMgbm90IGFjY2Vzc2VkIG9uY2UgdGhl IFY4IG9iamVjdCBoYXMgYmVlbgorKyAqIHJlY2xhaW1lZC4gVGhpcyBjYW4gaGFwcGVuIHdoZW4g dGhlIGhhbmRsZSBpcyBub3QgcGFzc2VkIHRocm91Z2ggdGhlCisrICogRW1iZWRkZXJIZWFwVHJh Y2VyLiBGb3IgbW9yZSBkZXRhaWxzIHNlZSBUcmFjZWRSZWZlcmVuY2VCYXNlLgorKyAqLworK3Rl bXBsYXRlIDx0eXBlbmFtZSBUPgorK2NsYXNzIFRyYWNlZFJlZmVyZW5jZSA6IHB1YmxpYyBUcmFj ZWRSZWZlcmVuY2VCYXNlPFQ+IHsKKysgcHVibGljOgorKyAgdXNpbmcgVHJhY2VkUmVmZXJlbmNl QmFzZTxUPjo6UmVzZXQ7CisrCisrICAvKioKKysgICAqIEFuIGVtcHR5IFRyYWNlZFJlZmVyZW5j ZSB3aXRob3V0IHN0b3JhZ2UgY2VsbC4KKysgICAqLworKyAgVHJhY2VkUmVmZXJlbmNlKCkgOiBU cmFjZWRSZWZlcmVuY2VCYXNlPFQ+KCkge30KKyAKKysgIC8qKgorKyAgICogQ29uc3RydWN0IGEg VHJhY2VkUmVmZXJlbmNlIGZyb20gYSBMb2NhbC4KKysgICAqCisrICAgKiBXaGVuIHRoZSBMb2Nh bCBpcyBub24tZW1wdHksIGEgbmV3IHN0b3JhZ2UgY2VsbCBpcyBjcmVhdGVkCisrICAgKiBwb2lu dGluZyB0byB0aGUgc2FtZSBvYmplY3QuCisrICAgKi8KKyAgIHRlbXBsYXRlIDxjbGFzcyBTPgor LSAgVjhfSU5MSU5FIGJvb2wgb3BlcmF0b3I9PShjb25zdCBMb2NhbDxTPiYgdGhhdCkgY29uc3Qg eworLSAgICBpbnRlcm5hbDo6QWRkcmVzcyogYSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50ZXJuYWw6 OkFkZHJlc3MqPigqKnRoaXMpOworLSAgICBpbnRlcm5hbDo6QWRkcmVzcyogYiA9IHJlaW50ZXJw cmV0X2Nhc3Q8aW50ZXJuYWw6OkFkZHJlc3MqPigqdGhhdCk7CistICAgIGlmIChhID09IG51bGxw dHIpIHJldHVybiBiID09IG51bGxwdHI7CistICAgIGlmIChiID09IG51bGxwdHIpIHJldHVybiBm YWxzZTsKKy0gICAgcmV0dXJuICphID09ICpiOworKyAgVHJhY2VkUmVmZXJlbmNlKElzb2xhdGUq IGlzb2xhdGUsIExvY2FsPFM+IHRoYXQpIDogVHJhY2VkUmVmZXJlbmNlQmFzZTxUPigpIHsKKysg ICAgdGhpcy0+dmFsXyA9IHRoaXMtPk5ldyhpc29sYXRlLCB0aGF0LnZhbF8sICZ0aGlzLT52YWxf LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYWNlZFJlZmVyZW5jZUJhc2U8VD46OmtX aXRob3V0RGVzdHJ1Y3Rvcik7CisrICAgIFRZUEVfQ0hFQ0soVCwgUyk7CisgICB9CisgCistICB0 ZW1wbGF0ZSA8Y2xhc3MgUz4KKy0gIFY4X0lOTElORSBib29sIG9wZXJhdG9yIT0oY29uc3QgVHJh Y2VkR2xvYmFsPFM+JiB0aGF0KSBjb25zdCB7CistICAgIHJldHVybiAhb3BlcmF0b3I9PSh0aGF0 KTsKKysgIC8qKgorKyAgICogTW92ZSBjb25zdHJ1Y3RvciBpbml0aWFsaXppbmcgVHJhY2VkUmVm ZXJlbmNlIGZyb20gYW4KKysgICAqIGV4aXN0aW5nIG9uZS4KKysgICAqLworKyAgVjhfSU5MSU5F IFRyYWNlZFJlZmVyZW5jZShUcmFjZWRSZWZlcmVuY2UmJiBvdGhlcikgeworKyAgICAvLyBGb3J3 YXJkIHRvIG9wZXJhdG9yPS4KKysgICAgKnRoaXMgPSBzdGQ6Om1vdmUob3RoZXIpOworICAgfQor IAorLSAgdGVtcGxhdGUgPGNsYXNzIFM+CistICBWOF9JTkxJTkUgYm9vbCBvcGVyYXRvciE9KGNv bnN0IExvY2FsPFM+JiB0aGF0KSBjb25zdCB7CistICAgIHJldHVybiAhb3BlcmF0b3I9PSh0aGF0 KTsKKysgIC8qKgorKyAgICogTW92ZSBjb25zdHJ1Y3RvciBpbml0aWFsaXppbmcgVHJhY2VkUmVm ZXJlbmNlIGZyb20gYW4KKysgICAqIGV4aXN0aW5nIG9uZS4KKysgICAqLworKyAgdGVtcGxhdGUg PHR5cGVuYW1lIFM+CisrICBWOF9JTkxJTkUgVHJhY2VkUmVmZXJlbmNlKFRyYWNlZFJlZmVyZW5j ZTxTPiYmIG90aGVyKSB7CisrICAgIC8vIEZvcndhcmQgdG8gb3BlcmF0b3I9LgorKyAgICAqdGhp cyA9IHN0ZDo6bW92ZShvdGhlcik7CisgICB9CisgCisgICAvKioKKy0gICAqIEFzc2lnbnMgYSB3 cmFwcGVyIGNsYXNzIElEIHRvIHRoZSBoYW5kbGUuCisrICAgKiBDb3B5IGNvbnN0cnVjdG9yIGlu aXRpYWxpemluZyBUcmFjZWRSZWZlcmVuY2UgZnJvbSBhbgorKyAgICogZXhpc3Rpbmcgb25lLgor ICAgICovCistICBWOF9JTkxJTkUgdm9pZCBTZXRXcmFwcGVyQ2xhc3NJZCh1aW50MTZfdCBjbGFz c19pZCk7CisrICBWOF9JTkxJTkUgVHJhY2VkUmVmZXJlbmNlKGNvbnN0IFRyYWNlZFJlZmVyZW5j ZSYgb3RoZXIpIHsKKysgICAgLy8gRm9yd2FyZCB0byBvcGVyYXRvcj07CisrICAgICp0aGlzID0g b3RoZXI7CisrICB9CisgCisgICAvKioKKy0gICAqIFJldHVybnMgdGhlIGNsYXNzIElEIHByZXZp b3VzbHkgYXNzaWduZWQgdG8gdGhpcyBoYW5kbGUgb3IgMCBpZiBubyBjbGFzcyBJRAorLSAgICog d2FzIHByZXZpb3VzbHkgYXNzaWduZWQuCisrICAgKiBDb3B5IGNvbnN0cnVjdG9yIGluaXRpYWxp emluZyBUcmFjZWRSZWZlcmVuY2UgZnJvbSBhbgorKyAgICogZXhpc3Rpbmcgb25lLgorICAgICov CistICBWOF9JTkxJTkUgdWludDE2X3QgV3JhcHBlckNsYXNzSWQoKSBjb25zdDsKKysgIHRlbXBs YXRlIDx0eXBlbmFtZSBTPgorKyAgVjhfSU5MSU5FIFRyYWNlZFJlZmVyZW5jZShjb25zdCBUcmFj ZWRSZWZlcmVuY2U8Uz4mIG90aGVyKSB7CisrICAgIC8vIEZvcndhcmQgdG8gb3BlcmF0b3I9Owor KyAgICAqdGhpcyA9IG90aGVyOworKyAgfQorIAorICAgLyoqCistICAgKiBBZGRzIGEgZmluYWxp emF0aW9uIGNhbGxiYWNrIHRvIHRoZSBoYW5kbGUuIFRoZSB0eXBlIG9mIHRoaXMgY2FsbGJhY2sg aXMKKy0gICAqIHNpbWlsYXIgdG8gV2Vha0NhbGxiYWNrVHlwZTo6a0ludGVybmFsRmllbGRzLCBp LmUuLCBpdCB3aWxsIHBhc3MgdGhlCistICAgKiBwYXJhbWV0ZXIgYW5kIHRoZSBmaXJzdCB0d28g aW50ZXJuYWwgZmllbGRzIG9mIHRoZSBvYmplY3QuCistICAgKgorLSAgICogVGhlIGNhbGxiYWNr IGlzIHRoZW4gc3VwcG9zZWQgdG8gcmVzZXQgdGhlIGhhbmRsZSBpbiB0aGUgY2FsbGJhY2suIE5v CistICAgKiBmdXJ0aGVyIFY4IEFQSSBtYXkgYmUgY2FsbGVkIGluIHRoaXMgY2FsbGJhY2suIElu IGNhc2UgYWRkaXRpb25hbCB3b3JrCistICAgKiBpbnZvbHZpbmcgVjggbmVlZHMgdG8gYmUgZG9u ZSwgYSBzZWNvbmQgY2FsbGJhY2sgY2FuIGJlIHNjaGVkdWxlZCB1c2luZworLSAgICogV2Vha0Nh bGxiYWNrSW5mbzx2b2lkPjo6U2V0U2Vjb25kUGFzc0NhbGxiYWNrLgorKyAgICogTW92ZSBhc3Np Z25tZW50IG9wZXJhdG9yIGluaXRpYWxpemluZyBUcmFjZWRHbG9iYWwgZnJvbSBhbiBleGlzdGlu ZyBvbmUuCisgICAgKi8KKy0gIFY4X0lOTElORSB2b2lkIFNldEZpbmFsaXphdGlvbkNhbGxiYWNr KAorLSAgICAgIHZvaWQqIHBhcmFtZXRlciwgV2Vha0NhbGxiYWNrSW5mbzx2b2lkPjo6Q2FsbGJh Y2sgY2FsbGJhY2spOworKyAgVjhfSU5MSU5FIFRyYWNlZFJlZmVyZW5jZSYgb3BlcmF0b3I9KFRy YWNlZFJlZmVyZW5jZSYmIHJocyk7CisgCistIHByaXZhdGU6CistICAvLyBXcmFwcGluZyB0eXBl IHVzZWQgd2hlbiBjbGVhcmluZyBvbiBkZXN0cnVjdGlvbiBpcyByZXF1aXJlZC4KKy0gIHN0cnVj dCBXcmFwcGVkRm9yRGVzdHJ1Y3Rpb24geworLSAgICBUKiB2YWx1ZTsKKy0KKy0gICAgZXhwbGlj aXQgV3JhcHBlZEZvckRlc3RydWN0aW9uKFQqIHZhbCkgOiB2YWx1ZSh2YWwpIHt9CistICAgIH5X cmFwcGVkRm9yRGVzdHJ1Y3Rpb24oKTsKKy0gICAgb3BlcmF0b3IgVCooKSBjb25zdCB7IHJldHVy biB2YWx1ZTsgfQorLSAgICBUKiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiB2YWx1ZTsgfQor LSAgICBUKiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gdmFsdWU7IH0KKy0gICAgV3JhcHBl ZEZvckRlc3RydWN0aW9uJiBvcGVyYXRvcj0oY29uc3QgV3JhcHBlZEZvckRlc3RydWN0aW9uJiBv dGhlcikgeworLSAgICAgIHZhbHVlID0gb3RoZXIudmFsdWU7CistICAgICAgcmV0dXJuICp0aGlz OworLSAgICB9CistICAgIFdyYXBwZWRGb3JEZXN0cnVjdGlvbiYgb3BlcmF0b3I9KFQqIHZhbCkg eworLSAgICAgIHZhbHVlID0gdmFsOworLSAgICAgIHJldHVybiAqdGhpczsKKy0gICAgfQorLSAg fTsKKysgIC8qKgorKyAgICogTW92ZSBhc3NpZ25tZW50IG9wZXJhdG9yIGluaXRpYWxpemluZyBU cmFjZWRHbG9iYWwgZnJvbSBhbiBleGlzdGluZyBvbmUuCisrICAgKi8KKysgIHRlbXBsYXRlIDxj bGFzcyBTPgorKyAgVjhfSU5MSU5FIFRyYWNlZFJlZmVyZW5jZSYgb3BlcmF0b3I9KFRyYWNlZFJl ZmVyZW5jZTxTPiYmIHJocyk7CisgCistICBWOF9JTkxJTkUgc3RhdGljIFQqIE5ldyhJc29sYXRl KiBpc29sYXRlLCBUKiB0aGF0LCB2b2lkKiBzbG90KTsKKysgIC8qKgorKyAgICogQ29weSBhc3Np Z25tZW50IG9wZXJhdG9yIGluaXRpYWxpemluZyBUcmFjZWRHbG9iYWwgZnJvbSBhbiBleGlzdGlu ZyBvbmUuCisrICAgKgorKyAgICogTm90ZTogUHJvaGliaXRlZCB3aGVuIHxvdGhlcnwgaGFzIGEg ZmluYWxpemF0aW9uIGNhbGxiYWNrIHNldCB0aHJvdWdoCisrICAgKiB8U2V0RmluYWxpemF0aW9u Q2FsbGJhY2t8LgorKyAgICovCisrICBWOF9JTkxJTkUgVHJhY2VkUmVmZXJlbmNlJiBvcGVyYXRv cj0oY29uc3QgVHJhY2VkUmVmZXJlbmNlJiByaHMpOworIAorLSAgVCogb3BlcmF0b3IqKCkgY29u c3QgeyByZXR1cm4gdGhpcy0+dmFsXzsgfQorKyAgLyoqCisrICAgKiBDb3B5IGFzc2lnbm1lbnQg b3BlcmF0b3IgaW5pdGlhbGl6aW5nIFRyYWNlZEdsb2JhbCBmcm9tIGFuIGV4aXN0aW5nIG9uZS4K KysgICAqCisrICAgKiBOb3RlOiBQcm9oaWJpdGVkIHdoZW4gfG90aGVyfCBoYXMgYSBmaW5hbGl6 YXRpb24gY2FsbGJhY2sgc2V0IHRocm91Z2gKKysgICAqIHxTZXRGaW5hbGl6YXRpb25DYWxsYmFj a3wuCisrICAgKi8KKysgIHRlbXBsYXRlIDxjbGFzcyBTPgorKyAgVjhfSU5MSU5FIFRyYWNlZFJl ZmVyZW5jZSYgb3BlcmF0b3I9KGNvbnN0IFRyYWNlZFJlZmVyZW5jZTxTPiYgcmhzKTsKKyAKKy0g IHR5cGVuYW1lIHN0ZDo6Y29uZGl0aW9uYWw8CistICAgICAgVHJhY2VkR2xvYmFsVHJhaXQ8VHJh Y2VkR2xvYmFsPFQ+Pjo6a1JlcXVpcmVzRXhwbGljaXREZXN0cnVjdGlvbiwKKy0gICAgICBXcmFw cGVkRm9yRGVzdHJ1Y3Rpb24sIFQqPjo6dHlwZSB2YWxfe251bGxwdHJ9OworKyAgLyoqCisrICAg KiBJZiBub24tZW1wdHksIGRlc3Ryb3kgdGhlIHVuZGVybHlpbmcgc3RvcmFnZSBjZWxsIGFuZCBj cmVhdGUgYSBuZXcgb25lIHdpdGgKKysgICAqIHRoZSBjb250ZW50cyBvZiBvdGhlciBpZiBvdGhl ciBpcyBub24gZW1wdHkKKysgICAqLworKyAgdGVtcGxhdGUgPGNsYXNzIFM+CisrICBWOF9JTkxJ TkUgdm9pZCBSZXNldChJc29sYXRlKiBpc29sYXRlLCBjb25zdCBMb2NhbDxTPiYgb3RoZXIpOwor IAorLSAgZnJpZW5kIGNsYXNzIEVtYmVkZGVySGVhcFRyYWNlcjsKKy0gIHRlbXBsYXRlIDx0eXBl bmFtZSBGPgorLSAgZnJpZW5kIGNsYXNzIExvY2FsOworLSAgZnJpZW5kIGNsYXNzIE9iamVjdDsK Ky0gIHRlbXBsYXRlIDx0eXBlbmFtZSBGPgorLSAgZnJpZW5kIGNsYXNzIFJldHVyblZhbHVlOwor KyAgdGVtcGxhdGUgPGNsYXNzIFM+CisrICBWOF9JTkxJTkUgVHJhY2VkUmVmZXJlbmNlPFM+JiBB cygpIGNvbnN0IHsKKysgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VHJhY2VkUmVmZXJlbmNl PFM+Jj4oCisrICAgICAgICBjb25zdF9jYXN0PFRyYWNlZFJlZmVyZW5jZTxUPiY+KCp0aGlzKSk7 CisrICB9CisgfTsKKyAKKyAgLyoqCitAQCAtMzY0MCw4ICszNzYxLDkgQEAgY2xhc3MgVjhfRVhQ T1JUIE9iamVjdCA6IHB1YmxpYyBWYWx1ZSB7CisgICAgIHJldHVybiBvYmplY3QudmFsXy0+SW50 ZXJuYWxGaWVsZENvdW50KCk7CisgICB9CisgCistICAvKiogU2FtZSBhcyBhYm92ZSwgYnV0IHdv cmtzIGZvciBUcmFjZWRHbG9iYWwuICovCistICBWOF9JTkxJTkUgc3RhdGljIGludCBJbnRlcm5h bEZpZWxkQ291bnQoY29uc3QgVHJhY2VkR2xvYmFsPE9iamVjdD4mIG9iamVjdCkgeworKyAgLyoq IFNhbWUgYXMgYWJvdmUsIGJ1dCB3b3JrcyBmb3IgVHJhY2VkUmVmZXJlbmNlQmFzZS4gKi8KKysg IFY4X0lOTElORSBzdGF0aWMgaW50IEludGVybmFsRmllbGRDb3VudCgKKysgICAgICBjb25zdCBU cmFjZWRSZWZlcmVuY2VCYXNlPE9iamVjdD4mIG9iamVjdCkgeworICAgICByZXR1cm4gb2JqZWN0 LnZhbF8tPkludGVybmFsRmllbGRDb3VudCgpOworICAgfQorIAorQEAgLTM2NjYsNyArMzc4OCw3 IEBAIGNsYXNzIFY4X0VYUE9SVCBPYmplY3QgOiBwdWJsaWMgVmFsdWUgeworIAorICAgLyoqIFNh bWUgYXMgYWJvdmUsIGJ1dCB3b3JrcyBmb3IgVHJhY2VkR2xvYmFsLiAqLworICAgVjhfSU5MSU5F IHN0YXRpYyB2b2lkKiBHZXRBbGlnbmVkUG9pbnRlckZyb21JbnRlcm5hbEZpZWxkKAorLSAgICAg IGNvbnN0IFRyYWNlZEdsb2JhbDxPYmplY3Q+JiBvYmplY3QsIGludCBpbmRleCkgeworKyAgICAg IGNvbnN0IFRyYWNlZFJlZmVyZW5jZUJhc2U8T2JqZWN0PiYgb2JqZWN0LCBpbnQgaW5kZXgpIHsK KyAgICAgcmV0dXJuIG9iamVjdC52YWxfLT5HZXRBbGlnbmVkUG9pbnRlckZyb21JbnRlcm5hbEZp ZWxkKGluZGV4KTsKKyAgIH0KKyAKK0BAIC0zOTU2LDcgKzQwNzgsNyBAQCBjbGFzcyBSZXR1cm5W YWx1ZSB7CisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgUz4KKyAgIFY4X0lOTElORSB2b2lkIFNldChj b25zdCBHbG9iYWw8Uz4mIGhhbmRsZSk7CisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgUz4KKy0gIFY4 X0lOTElORSB2b2lkIFNldChjb25zdCBUcmFjZWRHbG9iYWw8Uz4mIGhhbmRsZSk7CisrICBWOF9J TkxJTkUgdm9pZCBTZXQoY29uc3QgVHJhY2VkUmVmZXJlbmNlQmFzZTxTPiYgaGFuZGxlKTsKKyAg IHRlbXBsYXRlIDx0eXBlbmFtZSBTPgorICAgVjhfSU5MSU5FIHZvaWQgU2V0KGNvbnN0IExvY2Fs PFM+IGhhbmRsZSk7CisgICAvLyBGYXN0IHByaW1pdGl2ZSBzZXR0ZXJzCitAQCAtNzM3Niw3ICs3 NDk4LDggQEAgY2xhc3MgVjhfRVhQT1JUIEVtYmVkZGVySGVhcFRyYWNlciB7CisgICBjbGFzcyBW OF9FWFBPUlQgVHJhY2VkR2xvYmFsSGFuZGxlVmlzaXRvciB7CisgICAgcHVibGljOgorICAgICB2 aXJ0dWFsIH5UcmFjZWRHbG9iYWxIYW5kbGVWaXNpdG9yKCkgPSBkZWZhdWx0OworLSAgICB2aXJ0 dWFsIHZvaWQgVmlzaXRUcmFjZWRHbG9iYWxIYW5kbGUoY29uc3QgVHJhY2VkR2xvYmFsPFZhbHVl PiYgdmFsdWUpID0gMDsKKysgICAgdmlydHVhbCB2b2lkIFZpc2l0VHJhY2VkR2xvYmFsSGFuZGxl KGNvbnN0IFRyYWNlZEdsb2JhbDxWYWx1ZT4mIGhhbmRsZSkge30KKysgICAgdmlydHVhbCB2b2lk IFZpc2l0VHJhY2VkUmVmZXJlbmNlKGNvbnN0IFRyYWNlZFJlZmVyZW5jZTxWYWx1ZT4mIGhhbmRs ZSkge30KKyAgIH07CisgCisgICAvKioKK0BAIC03NDE0LDcgKzc1MzcsNyBAQCBjbGFzcyBWOF9F WFBPUlQgRW1iZWRkZXJIZWFwVHJhY2VyIHsKKyAgIHZpcnR1YWwgdm9pZCBSZWdpc3RlclY4UmVm ZXJlbmNlcygKKyAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8dm9pZCosIHZvaWQq PiA+JiBlbWJlZGRlcl9maWVsZHMpID0gMDsKKyAKKy0gIHZvaWQgUmVnaXN0ZXJFbWJlZGRlclJl ZmVyZW5jZShjb25zdCBUcmFjZWRHbG9iYWw8djg6OlZhbHVlPiYgcmVmKTsKKysgIHZvaWQgUmVn aXN0ZXJFbWJlZGRlclJlZmVyZW5jZShjb25zdCBUcmFjZWRSZWZlcmVuY2VCYXNlPHY4OjpWYWx1 ZT4mIHJlZik7CisgCisgICAvKioKKyAgICAqIENhbGxlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEg R0MgY3ljbGUuCitAQCAtNzQ3NSwzMiArNzU5OCwzNSBAQCBjbGFzcyBWOF9FWFBPUlQgRW1iZWRk ZXJIZWFwVHJhY2VyIHsKKyAgICAqCisgICAgKiBJZiB0aGlzIHJldHVybnMgZmFsc2UsIHRoZW4g VjggbWF5IGRlY2lkZSB0aGF0IHRoZSBvYmplY3QgcmVmZXJyZWQgdG8gYnkKKyAgICAqIHN1Y2gg YSBoYW5kbGUgaXMgcmVjbGFpbWVkLiBJbiB0aGF0IGNhc2U6CistICAgKiAtIE5vIGFjdGlvbiBp cyByZXF1aXJlZCBpZiBoYW5kbGVzIGFyZSB1c2VkIHdpdGggZGVzdHJ1Y3RvcnMuCistICAgKiAt IFdoZW4gcnVuIHdpdGhvdXQgZGVzdHJ1Y3RvcnMgKGJ5IHNwZWNpYWxpemluZworLSAgICogfFRy YWNlZEdsb2JhbFRyYWl0OjprUmVxdWlyZXNFeHBsaWNpdERlc3RydWN0aW9ufCkgVjggY2FsbHMK Ky0gICAqIHxSZXNldEhhbmRsZUluTm9uVHJhY2luZ0dDfC4KKy0gICAqCistICAgKiBOb3RlIHRo YXQgdGhlIHxoYW5kbGV8IGlzIGRpZmZlcmVudCBmcm9tIHRoZSB8VHJhY2VkR2xvYmFsPFQ+fCBo YW5kbGUgdGhhdAorLSAgICogdGhlIGVtYmVkZGVyIGhvbGRzIGZvciByZXRhaW5pbmcgdGhlIG9i amVjdC4gVGhlIGVtYmVkZGVyIG1heSB1c2UKKy0gICAqIHxUcmFjZWRHbG9iYWw8VD46OldyYXBw ZXJDbGFzc0lkKCl8IHRvIGRpc3Rpbmd1aXNoIGNhc2VzIHdoZXJlIGl0IHdhbnRzCistICAgKiBo YW5kbGVzIHRvIGJlIHRyZWF0ZWQgYXMgcm9vdHMgZnJvbSBub3QgYmVpbmcgdHJlYXRlZCBhcyBy b290cy4KKysgICAqIC0gTm8gYWN0aW9uIGlzIHJlcXVpcmVkIGlmIGhhbmRsZXMgYXJlIHVzZWQg d2l0aCBkZXN0cnVjdG9ycywgaS5lLiwgYnkganVzdAorKyAgICogdXNpbmcgfFRyYWNlZEdsb2Jh bHwuCisrICAgKiAtIFdoZW4gcnVuIHdpdGhvdXQgZGVzdHJ1Y3RvcnMsIGkuZS4sIGJ5IHVzaW5n CisrICAgKiB8VHJhY2VkUmVmZXJlbmNlfCwgVjggY2FsbHMgfFJlc2V0SGFuZGxlSW5Ob25UcmFj aW5nR0N8LgorKyAgICoKKysgICAqIE5vdGUgdGhhdCB0aGUgfGhhbmRsZXwgaXMgZGlmZmVyZW50 IGZyb20gdGhlIGhhbmRsZSB0aGF0IHRoZSBlbWJlZGRlciBob2xkcworKyAgICogZm9yIHJldGFp bmluZyB0aGUgb2JqZWN0LiBUaGUgZW1iZWRkZXIgbWF5IHVzZSB8V3JhcHBlckNsYXNzSWQoKXwg dG8KKysgICAqIGRpc3Rpbmd1aXNoIGNhc2VzIHdoZXJlIGl0IHdhbnRzIGhhbmRsZXMgdG8gYmUg dHJlYXRlZCBhcyByb290cyBmcm9tIG5vdAorKyAgICogYmVpbmcgdHJlYXRlZCBhcyByb290cy4K KyAgICAqLworICAgdmlydHVhbCBib29sIElzUm9vdEZvck5vblRyYWNpbmdHQygKKy0gICAgICBj b25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIGhhbmRsZSkgeworLSAgICByZXR1cm4g dHJ1ZTsKKy0gIH0KKysgICAgICBjb25zdCB2ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpWYWx1ZT4m IGhhbmRsZSk7CisrICB2aXJ0dWFsIGJvb2wgSXNSb290Rm9yTm9uVHJhY2luZ0dDKGNvbnN0IHY4 OjpUcmFjZWRHbG9iYWw8djg6OlZhbHVlPiYgaGFuZGxlKTsKKyAKKyAgIC8qKgorICAgICogVXNl ZCBpbiBjb21iaW5hdGlvbiB3aXRoIHxJc1Jvb3RGb3JOb25UcmFjaW5nR0N8LiBDYWxsZWQgYnkg Vjggd2hlbiBhbgorICAgICogb2JqZWN0IHRoYXQgaXMgYmFja2VkIGJ5IGEgaGFuZGxlIGlzIHJl Y2xhaW1lZCBieSBhIG5vbi10cmFjaW5nIGdhcmJhZ2UKKyAgICAqIGNvbGxlY3Rpb24uIEl0IGlz IHVwIHRvIHRoZSBlbWJlZGRlciB0byByZXNldCB0aGUgb3JpZ2luYWwgaGFuZGxlLgorICAgICoK Ky0gICAqIE5vdGUgdGhhdCB0aGUgfGhhbmRsZXwgaXMgZGlmZmVyZW50IGZyb20gdGhlIHxUcmFj ZWRHbG9iYWw8VD58IGhhbmRsZSB0aGF0CistICAgKiB0aGUgZW1iZWRkZXIgaG9sZHMgZm9yIHJl dGFpbmluZyB0aGUgb2JqZWN0LiBJdCBpcyB1cCB0byB0aGUgZW1iZWRkZXIgdG8KKy0gICAqIGZp bmQgdGhlIG9yaWduYWwgfFRyYWNlZEdsb2JhbDxUPnwgaGFuZGxlIHZpYSB0aGUgb2JqZWN0IG9y IGNsYXNzIGlkLgorKyAgICogTm90ZSB0aGF0IHRoZSB8aGFuZGxlfCBpcyBkaWZmZXJlbnQgZnJv bSB0aGUgaGFuZGxlIHRoYXQgdGhlIGVtYmVkZGVyIGhvbGRzCisrICAgKiBmb3IgcmV0YWluaW5n IHRoZSBvYmplY3QuIEl0IGlzIHVwIHRvIHRoZSBlbWJlZGRlciB0byBmaW5kIHRoZSBvcmlnaW5h bAorKyAgICogaGFuZGxlIHZpYSB0aGUgb2JqZWN0IG9yIGNsYXNzIGlkLgorICAgICovCisgICB2 aXJ0dWFsIHZvaWQgUmVzZXRIYW5kbGVJbk5vblRyYWNpbmdHQygKKy0gICAgICBjb25zdCB2ODo6 VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIGhhbmRsZSkge30KKysgICAgICBjb25zdCB2ODo6VHJh Y2VkUmVmZXJlbmNlPHY4OjpWYWx1ZT4mIGhhbmRsZSk7CisrICBWOF9ERVBSRUNBVEVfU09PTigK KysgICAgICAiVXNlIFRyYWNlZFJlZmVyZW5jZSB2ZXJzaW9uIHdoZW4gbm90IHJlcXVpcmluZyBk ZXN0cnVjdG9ycy4iLAorKyAgICAgIHZpcnR1YWwgdm9pZCBSZXNldEhhbmRsZUluTm9uVHJhY2lu Z0dDKAorKyAgICAgICAgICBjb25zdCB2ODo6VHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIGhhbmRs ZSkpOworIAorICAgLyoKKyAgICAqIENhbGxlZCBieSB0aGUgZW1iZWRkZXIgdG8gaW1tZWRpYXRl bHkgcGVyZm9ybSBhIGZ1bGwgZ2FyYmFnZSBjb2xsZWN0aW9uLgorQEAgLTkxMDMsOCArOTIyOSwx MiBAQCBjbGFzcyBWOF9FWFBPUlQgVjggeworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBmcmll bmQgY2xhc3MgTWF5YmU7CisgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKysgIGZyaWVuZCBjbGFzcyBU cmFjZWRSZWZlcmVuY2VCYXNlOworKyAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBmcmllbmQgY2xh c3MgVHJhY2VkR2xvYmFsOworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisrICBmcmllbmQgY2xhc3Mg VHJhY2VkUmVmZXJlbmNlOworKyAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBmcmllbmQgY2xhc3Mg V2Vha0NhbGxiYWNrSW5mbzsKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPiBmcmllbmQgY2xhc3MgRXRl cm5hbDsKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPiBmcmllbmQgY2xhc3MgUGVyc2lzdGVudEJhc2U7 CitAQCAtOTk3NSw3ICsxMDEwNSw3IEBAIExvY2FsPFQ+IExvY2FsPFQ+OjpOZXcoSXNvbGF0ZSog aXNvbGF0ZSwKKyB9CisgCisgdGVtcGxhdGUgPGNsYXNzIFQ+CistTG9jYWw8VD4gTG9jYWw8VD46 Ok5ldyhJc29sYXRlKiBpc29sYXRlLCBjb25zdCBUcmFjZWRHbG9iYWw8VD4mIHRoYXQpIHsKKytM b2NhbDxUPiBMb2NhbDxUPjo6TmV3KElzb2xhdGUqIGlzb2xhdGUsIGNvbnN0IFRyYWNlZFJlZmVy ZW5jZUJhc2U8VD4mIHRoYXQpIHsKKyAgIHJldHVybiBOZXcoaXNvbGF0ZSwgdGhhdC52YWxfKTsK KyB9CisgCitAQCAtMTAxNTYsMjYgKzEwMjg2LDIwIEBAIEdsb2JhbDxUPiYgR2xvYmFsPFQ+Ojpv cGVyYXRvcj0oR2xvYmFsPFMKKyB9CisgCisgdGVtcGxhdGUgPGNsYXNzIFQ+CistVHJhY2VkR2xv YmFsPFQ+OjpXcmFwcGVkRm9yRGVzdHJ1Y3Rpb246On5XcmFwcGVkRm9yRGVzdHJ1Y3Rpb24oKSB7 CistICBpZiAodmFsdWUgPT0gbnVsbHB0cikgcmV0dXJuOworLSAgVjg6OkRpc3Bvc2VUcmFjZWRH bG9iYWwocmVpbnRlcnByZXRfY2FzdDxpbnRlcm5hbDo6QWRkcmVzcyo+KHZhbHVlKSk7CistICB2 YWx1ZSA9IG51bGxwdHI7CistfQorLQorLXRlbXBsYXRlIDxjbGFzcyBUPgorLVQqIFRyYWNlZEds b2JhbDxUPjo6TmV3KElzb2xhdGUqIGlzb2xhdGUsIFQqIHRoYXQsIHZvaWQqIHNsb3QpIHsKKytU KiBUcmFjZWRSZWZlcmVuY2VCYXNlPFQ+OjpOZXcoSXNvbGF0ZSogaXNvbGF0ZSwgVCogdGhhdCwg dm9pZCogc2xvdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzdHJ1Y3Rpb25N b2RlIGRlc3RydWN0aW9uX21vZGUpIHsKKyAgIGlmICh0aGF0ID09IG51bGxwdHIpIHJldHVybiBu dWxscHRyOworICAgaW50ZXJuYWw6OkFkZHJlc3MqIHAgPSByZWludGVycHJldF9jYXN0PGludGVy bmFsOjpBZGRyZXNzKj4odGhhdCk7CisgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oVjg6 Okdsb2JhbGl6ZVRyYWNlZFJlZmVyZW5jZSgKKyAgICAgICByZWludGVycHJldF9jYXN0PGludGVy bmFsOjpJc29sYXRlKj4oaXNvbGF0ZSksIHAsCisgICAgICAgcmVpbnRlcnByZXRfY2FzdDxpbnRl cm5hbDo6QWRkcmVzcyo+KHNsb3QpLAorLSAgICAgIFRyYWNlZEdsb2JhbFRyYWl0PFRyYWNlZEds b2JhbDxUPj46OmtSZXF1aXJlc0V4cGxpY2l0RGVzdHJ1Y3Rpb24pKTsKKysgICAgICBkZXN0cnVj dGlvbl9tb2RlID09IGtXaXRoRGVzdHJ1Y3RvcikpOworIH0KKyAKKyB0ZW1wbGF0ZSA8Y2xhc3Mg VD4KKy12b2lkIFRyYWNlZEdsb2JhbDxUPjo6UmVzZXQoKSB7Cisrdm9pZCBUcmFjZWRSZWZlcmVu Y2VCYXNlPFQ+OjpSZXNldCgpIHsKKyAgIGlmIChJc0VtcHR5KCkpIHJldHVybjsKKy0gIFY4OjpE aXNwb3NlVHJhY2VkR2xvYmFsKHJlaW50ZXJwcmV0X2Nhc3Q8aW50ZXJuYWw6OkFkZHJlc3MqPigq KnRoaXMpKTsKKysgIFY4OjpEaXNwb3NlVHJhY2VkR2xvYmFsKHJlaW50ZXJwcmV0X2Nhc3Q8aW50 ZXJuYWw6OkFkZHJlc3MqPih2YWxfKSk7CisgICB2YWxfID0gbnVsbHB0cjsKKyB9CisgCitAQCAt MTAxODUsNyArMTAzMDksOCBAQCB2b2lkIFRyYWNlZEdsb2JhbDxUPjo6UmVzZXQoSXNvbGF0ZSog aXNvCisgICBUWVBFX0NIRUNLKFQsIFMpOworICAgUmVzZXQoKTsKKyAgIGlmIChvdGhlci5Jc0Vt cHR5KCkpIHJldHVybjsKKy0gIHRoaXMtPnZhbF8gPSBOZXcoaXNvbGF0ZSwgb3RoZXIudmFsXywg JnZhbF8pOworKyAgdGhpcy0+dmFsXyA9IHRoaXMtPk5ldyhpc29sYXRlLCBvdGhlci52YWxfLCAm dGhpcy0+dmFsXywKKysgICAgICAgICAgICAgICAgICAgICAgICAgVHJhY2VkUmVmZXJlbmNlQmFz ZTxUPjo6a1dpdGhEZXN0cnVjdG9yKTsKKyB9CisgCisgdGVtcGxhdGUgPGNsYXNzIFQ+CitAQCAt MTAyMzMsMjggKzEwMzU4LDgzIEBAIFRyYWNlZEdsb2JhbDxUPiYgVHJhY2VkR2xvYmFsPFQ+Ojpv cGVyYXQKKyB9CisgCisgdGVtcGxhdGUgPGNsYXNzIFQ+Cistdm9pZCBUcmFjZWRHbG9iYWw8VD46 OlNldFdyYXBwZXJDbGFzc0lkKHVpbnQxNl90IGNsYXNzX2lkKSB7CisrdGVtcGxhdGUgPGNsYXNz IFM+Cisrdm9pZCBUcmFjZWRSZWZlcmVuY2U8VD46OlJlc2V0KElzb2xhdGUqIGlzb2xhdGUsIGNv bnN0IExvY2FsPFM+JiBvdGhlcikgeworKyAgVFlQRV9DSEVDSyhULCBTKTsKKysgIFJlc2V0KCk7 CisrICBpZiAob3RoZXIuSXNFbXB0eSgpKSByZXR1cm47CisrICB0aGlzLT52YWxfID0gdGhpcy0+ TmV3KGlzb2xhdGUsIG90aGVyLnZhbF8sICZ0aGlzLT52YWxfLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICBUcmFjZWRSZWZlcmVuY2VCYXNlPFQ+OjprV2l0aG91dERlc3RydWN0b3IpOworK30K KysKKyt0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyt0ZW1wbGF0ZSA8Y2xhc3MgUz4KKytUcmFjZWRSZWZl cmVuY2U8VD4mIFRyYWNlZFJlZmVyZW5jZTxUPjo6b3BlcmF0b3I9KFRyYWNlZFJlZmVyZW5jZTxT PiYmIHJocykgeworKyAgVFlQRV9DSEVDSyhULCBTKTsKKysgICp0aGlzID0gc3RkOjptb3ZlKHJo cy50ZW1wbGF0ZSBBczxUPigpKTsKKysgIHJldHVybiAqdGhpczsKKyt9CisrCisrdGVtcGxhdGUg PGNsYXNzIFQ+CisrdGVtcGxhdGUgPGNsYXNzIFM+CisrVHJhY2VkUmVmZXJlbmNlPFQ+JiBUcmFj ZWRSZWZlcmVuY2U8VD46Om9wZXJhdG9yPSgKKysgICAgY29uc3QgVHJhY2VkUmVmZXJlbmNlPFM+ JiByaHMpIHsKKysgIFRZUEVfQ0hFQ0soVCwgUyk7CisrICAqdGhpcyA9IHJocy50ZW1wbGF0ZSBB czxUPigpOworKyAgcmV0dXJuICp0aGlzOworK30KKysKKyt0ZW1wbGF0ZSA8Y2xhc3MgVD4KKytU cmFjZWRSZWZlcmVuY2U8VD4mIFRyYWNlZFJlZmVyZW5jZTxUPjo6b3BlcmF0b3I9KFRyYWNlZFJl ZmVyZW5jZSYmIHJocykgeworKyAgaWYgKHRoaXMgIT0gJnJocykgeworKyAgICB0aGlzLT5SZXNl dCgpOworKyAgICBpZiAocmhzLnZhbF8gIT0gbnVsbHB0cikgeworKyAgICAgIHRoaXMtPnZhbF8g PSByaHMudmFsXzsKKysgICAgICBWODo6TW92ZVRyYWNlZEdsb2JhbFJlZmVyZW5jZSgKKysgICAg ICAgICAgcmVpbnRlcnByZXRfY2FzdDxpbnRlcm5hbDo6QWRkcmVzcyoqPigmcmhzLnZhbF8pLAor KyAgICAgICAgICByZWludGVycHJldF9jYXN0PGludGVybmFsOjpBZGRyZXNzKio+KCZ0aGlzLT52 YWxfKSk7CisrICAgICAgcmhzLnZhbF8gPSBudWxscHRyOworKyAgICB9CisrICB9CisrICByZXR1 cm4gKnRoaXM7CisrfQorKworK3RlbXBsYXRlIDxjbGFzcyBUPgorK1RyYWNlZFJlZmVyZW5jZTxU PiYgVHJhY2VkUmVmZXJlbmNlPFQ+OjpvcGVyYXRvcj0oY29uc3QgVHJhY2VkUmVmZXJlbmNlJiBy aHMpIHsKKysgIGlmICh0aGlzICE9ICZyaHMpIHsKKysgICAgdGhpcy0+UmVzZXQoKTsKKysgICAg aWYgKHJocy52YWxfICE9IG51bGxwdHIpIHsKKysgICAgICBWODo6Q29weVRyYWNlZEdsb2JhbFJl ZmVyZW5jZSgKKysgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnRlcm5hbDo6QWRk cmVzcyogY29uc3QqPigmcmhzLnZhbF8pLAorKyAgICAgICAgICByZWludGVycHJldF9jYXN0PGlu dGVybmFsOjpBZGRyZXNzKio+KCZ0aGlzLT52YWxfKSk7CisrICAgIH0KKysgIH0KKysgIHJldHVy biAqdGhpczsKKyt9CisrCisrdGVtcGxhdGUgPGNsYXNzIFQ+Cisrdm9pZCBUcmFjZWRSZWZlcmVu Y2VCYXNlPFQ+OjpTZXRXcmFwcGVyQ2xhc3NJZCh1aW50MTZfdCBjbGFzc19pZCkgeworICAgdHlw ZWRlZiBpbnRlcm5hbDo6SW50ZXJuYWxzIEk7CisgICBpZiAoSXNFbXB0eSgpKSByZXR1cm47Cist ICBpbnRlcm5hbDo6QWRkcmVzcyogb2JqID0gcmVpbnRlcnByZXRfY2FzdDxpbnRlcm5hbDo6QWRk cmVzcyo+KCoqdGhpcyk7CisrICBpbnRlcm5hbDo6QWRkcmVzcyogb2JqID0gcmVpbnRlcnByZXRf Y2FzdDxpbnRlcm5hbDo6QWRkcmVzcyo+KHZhbF8pOworICAgdWludDhfdCogYWRkciA9IHJlaW50 ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG9iaikgKyBJOjprTm9kZUNsYXNzSWRPZmZzZXQ7CisgICAq cmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGFkZHIpID0gY2xhc3NfaWQ7CisgfQorIAorIHRl bXBsYXRlIDxjbGFzcyBUPgorLXVpbnQxNl90IFRyYWNlZEdsb2JhbDxUPjo6V3JhcHBlckNsYXNz SWQoKSBjb25zdCB7CisrdWludDE2X3QgVHJhY2VkUmVmZXJlbmNlQmFzZTxUPjo6V3JhcHBlckNs YXNzSWQoKSBjb25zdCB7CisgICB0eXBlZGVmIGludGVybmFsOjpJbnRlcm5hbHMgSTsKKyAgIGlm IChJc0VtcHR5KCkpIHJldHVybiAwOworLSAgaW50ZXJuYWw6OkFkZHJlc3MqIG9iaiA9IHJlaW50 ZXJwcmV0X2Nhc3Q8aW50ZXJuYWw6OkFkZHJlc3MqPigqKnRoaXMpOworKyAgaW50ZXJuYWw6OkFk ZHJlc3MqIG9iaiA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50ZXJuYWw6OkFkZHJlc3MqPih2YWxfKTsK KyAgIHVpbnQ4X3QqIGFkZHIgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihvYmopICsgSTo6 a05vZGVDbGFzc0lkT2Zmc2V0OworICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PHVpbnQxNl90 Kj4oYWRkcik7CisgfQorIAorIHRlbXBsYXRlIDxjbGFzcyBUPgorLXZvaWQgVHJhY2VkR2xvYmFs PFQ+OjpTZXRGaW5hbGl6YXRpb25DYWxsYmFjaygKKyt2b2lkIFRyYWNlZFJlZmVyZW5jZUJhc2U8 VD46OlNldEZpbmFsaXphdGlvbkNhbGxiYWNrKAorICAgICB2b2lkKiBwYXJhbWV0ZXIsIHR5cGVu YW1lIFdlYWtDYWxsYmFja0luZm88dm9pZD46OkNhbGxiYWNrIGNhbGxiYWNrKSB7CistICBWODo6 U2V0RmluYWxpemF0aW9uQ2FsbGJhY2tUcmFjZWQoCistICAgICAgcmVpbnRlcnByZXRfY2FzdDxp bnRlcm5hbDo6QWRkcmVzcyo+KCoqdGhpcyksIHBhcmFtZXRlciwgY2FsbGJhY2spOworKyAgVjg6 OlNldEZpbmFsaXphdGlvbkNhbGxiYWNrVHJhY2VkKHJlaW50ZXJwcmV0X2Nhc3Q8aW50ZXJuYWw6 OkFkZHJlc3MqPih2YWxfKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YXJhbWV0ZXIsIGNhbGxiYWNrKTsKKyB9CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitAQCAt MTAyNzMsMTIgKzEwNDUzLDEyIEBAIHZvaWQgUmV0dXJuVmFsdWU8VD46OlNldChjb25zdCBHbG9i YWw8Uz4KKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgUz4K Ky12b2lkIFJldHVyblZhbHVlPFQ+OjpTZXQoY29uc3QgVHJhY2VkR2xvYmFsPFM+JiBoYW5kbGUp IHsKKyt2b2lkIFJldHVyblZhbHVlPFQ+OjpTZXQoY29uc3QgVHJhY2VkUmVmZXJlbmNlQmFzZTxT PiYgaGFuZGxlKSB7CisgICBUWVBFX0NIRUNLKFQsIFMpOworICAgaWYgKFY4X1VOTElLRUxZKGhh bmRsZS5Jc0VtcHR5KCkpKSB7CisgICAgICp2YWx1ZV8gPSBHZXREZWZhdWx0VmFsdWUoKTsKKyAg IH0gZWxzZSB7CistICAgICp2YWx1ZV8gPSAqcmVpbnRlcnByZXRfY2FzdDxpbnRlcm5hbDo6QWRk cmVzcyo+KCpoYW5kbGUpOworKyAgICAqdmFsdWVfID0gKnJlaW50ZXJwcmV0X2Nhc3Q8aW50ZXJu YWw6OkFkZHJlc3MqPihoYW5kbGUudmFsXyk7CisgICB9CisgfQorIAorZGlmZiAtdXAgY2hyb21p dW0tNzguMC4zOTA0LjcwL3Y4L3NyYy9hcGkvYXBpLmNjLmltcGxlbWVudC10cmFjZWRyZWZlcmVu Y2UgY2hyb21pdW0tNzguMC4zOTA0LjcwL3Y4L3NyYy9hcGkvYXBpLmNjCistLS0gY2hyb21pdW0t NzguMC4zOTA0LjcwL3Y4L3NyYy9hcGkvYXBpLmNjLmltcGxlbWVudC10cmFjZWRyZWZlcmVuY2UJ MjAxOS0xMC0yNCAwOToxODo1Ni43MTIxMDUxMDAgLTA0MDAKKysrKyBjaHJvbWl1bS03OC4wLjM5 MDQuNzAvdjgvc3JjL2FwaS9hcGkuY2MJMjAxOS0xMC0yNCAwOToyMDoxNy40Mjg1NTU2MzcgLTA0 MDAKK0BAIC0xMDM0NiwxMSArMTAzNDYsMTIgQEAgdm9pZCBFbWJlZGRlckhlYXBUcmFjZXI6OkRl Y3JlYXNlQWxsb2NhdAorIH0KKyAKKyB2b2lkIEVtYmVkZGVySGVhcFRyYWNlcjo6UmVnaXN0ZXJF bWJlZGRlclJlZmVyZW5jZSgKKy0gICAgY29uc3QgVHJhY2VkR2xvYmFsPHY4OjpWYWx1ZT4mIHJl ZikgeworKyAgICBjb25zdCBUcmFjZWRSZWZlcmVuY2VCYXNlPHY4OjpWYWx1ZT4mIHJlZikgewor ICAgaWYgKHJlZi5Jc0VtcHR5KCkpIHJldHVybjsKKyAKKyAgIGk6OkhlYXAqIGNvbnN0IGhlYXAg PSByZWludGVycHJldF9jYXN0PGk6Oklzb2xhdGUqPihpc29sYXRlXyktPmhlYXAoKTsKKy0gIGhl YXAtPlJlZ2lzdGVyRXh0ZXJuYWxseVJlZmVyZW5jZWRPYmplY3QocmVpbnRlcnByZXRfY2FzdDxp OjpBZGRyZXNzKj4oKnJlZikpOworKyAgaGVhcC0+UmVnaXN0ZXJFeHRlcm5hbGx5UmVmZXJlbmNl ZE9iamVjdCgKKysgICAgICByZWludGVycHJldF9jYXN0PGk6OkFkZHJlc3MqPihyZWYudmFsXykp OworIH0KKyAKKyB2b2lkIEVtYmVkZGVySGVhcFRyYWNlcjo6SXRlcmF0ZVRyYWNlZEdsb2JhbEhh bmRsZXMoCitAQCAtMTAzNjAsNiArMTAzNjEsMjYgQEAgdm9pZCBFbWJlZGRlckhlYXBUcmFjZXI6 Okl0ZXJhdGVUcmFjZWRHbAorICAgaXNvbGF0ZS0+Z2xvYmFsX2hhbmRsZXMoKS0+SXRlcmF0ZVRy YWNlZE5vZGVzKHZpc2l0b3IpOworIH0KKyAKKytib29sIEVtYmVkZGVySGVhcFRyYWNlcjo6SXNS b290Rm9yTm9uVHJhY2luZ0dDKAorKyAgICBjb25zdCB2ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpW YWx1ZT4mIGhhbmRsZSkgeworKyAgcmV0dXJuIHRydWU7CisrfQorKworK2Jvb2wgRW1iZWRkZXJI ZWFwVHJhY2VyOjpJc1Jvb3RGb3JOb25UcmFjaW5nR0MoCisrICAgIGNvbnN0IHY4OjpUcmFjZWRH bG9iYWw8djg6OlZhbHVlPiYgaGFuZGxlKSB7CisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrdm9p ZCBFbWJlZGRlckhlYXBUcmFjZXI6OlJlc2V0SGFuZGxlSW5Ob25UcmFjaW5nR0MoCisrICAgIGNv bnN0IHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6OlZhbHVlPiYgaGFuZGxlKSB7CisrICBVTlJFQUNI QUJMRSgpOworK30KKysKKyt2b2lkIEVtYmVkZGVySGVhcFRyYWNlcjo6UmVzZXRIYW5kbGVJbk5v blRyYWNpbmdHQygKKysgICAgY29uc3Qgdjg6OlRyYWNlZEdsb2JhbDx2ODo6VmFsdWU+JiBoYW5k bGUpIHsKKysgIFVOUkVBQ0hBQkxFKCk7CisrfQorKworIG5hbWVzcGFjZSBpbnRlcm5hbCB7Cisg CisgY29uc3Qgc2l6ZV90IEhhbmRsZVNjb3BlSW1wbGVtZW50ZXI6OmtFbnRlcmVkQ29udGV4dHNP ZmZzZXQgPQorZGlmZiAtdXAgY2hyb21pdW0tNzguMC4zOTA0LjcwL3Y4L3NyYy9oYW5kbGVzL2ds b2JhbC1oYW5kbGVzLmNjLmltcGxlbWVudC10cmFjZWRyZWZlcmVuY2UgY2hyb21pdW0tNzguMC4z OTA0LjcwL3Y4L3NyYy9oYW5kbGVzL2dsb2JhbC1oYW5kbGVzLmNjCistLS0gY2hyb21pdW0tNzgu MC4zOTA0LjcwL3Y4L3NyYy9oYW5kbGVzL2dsb2JhbC1oYW5kbGVzLmNjLmltcGxlbWVudC10cmFj ZWRyZWZlcmVuY2UJMjAxOS0xMC0yNCAwOToyMDozOS45NTQxMjMyMjUgLTA0MDAKKysrKyBjaHJv bWl1bS03OC4wLjM5MDQuNzAvdjgvc3JjL2hhbmRsZXMvZ2xvYmFsLWhhbmRsZXMuY2MJMjAxOS0x MC0yNCAwOToyMTo0NS45MTE4NTcwNzIgLTA0MDAKK0BAIC05MDEsOCArOTAxLDEzIEBAIHZvaWQg R2xvYmFsSGFuZGxlczo6SWRlbnRpZnlXZWFrVW5tb2RpZmkKKyAgICAgICBEQ0hFQ0sobm9kZS0+ aXNfcm9vdCgpKTsKKyAgICAgICBpZiAoaXNfdW5tb2RpZmllZChub2RlLT5sb2NhdGlvbigpKSkg eworICAgICAgICAgdjg6OlZhbHVlKiB2YWx1ZSA9IFRvQXBpPHY4OjpWYWx1ZT4obm9kZS0+aGFu ZGxlKCkpOworLSAgICAgICAgbm9kZS0+c2V0X3Jvb3QodHJhY2VyLT5Jc1Jvb3RGb3JOb25UcmFj aW5nR0MoCistICAgICAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8djg6OlRyYWNlZEdsb2JhbDx2 ODo6VmFsdWU+Kj4oJnZhbHVlKSkpOworKyAgICAgICAgaWYgKG5vZGUtPmhhc19kZXN0cnVjdG9y KCkpIHsKKysgICAgICAgICAgbm9kZS0+c2V0X3Jvb3QodHJhY2VyLT5Jc1Jvb3RGb3JOb25UcmFj aW5nR0MoCisrICAgICAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDx2ODo6VHJhY2VkR2xvYmFs PHY4OjpWYWx1ZT4qPigmdmFsdWUpKSk7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICBu b2RlLT5zZXRfcm9vdCh0cmFjZXItPklzUm9vdEZvck5vblRyYWNpbmdHQygKKysgICAgICAgICAg ICAgICpyZWludGVycHJldF9jYXN0PHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6OlZhbHVlPio+KCZ2 YWx1ZSkpKTsKKysgICAgICAgIH0KKyAgICAgICB9CisgICAgIH0KKyAgIH0KK0BAIC05OTAsNyAr OTk1LDcgQEAgdm9pZCBHbG9iYWxIYW5kbGVzOjpJdGVyYXRlWW91bmdXZWFrVW5tbworICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgdjg6OlZhbHVlKiB2YWx1ZSA9IFRvQXBpPHY4OjpWYWx1 ZT4obm9kZS0+aGFuZGxlKCkpOworICAgICAgICAgICB0cmFjZXItPlJlc2V0SGFuZGxlSW5Ob25U cmFjaW5nR0MoCistICAgICAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDx2ODo6VHJhY2VkR2xv YmFsPHY4OjpWYWx1ZT4qPigmdmFsdWUpKTsKKysgICAgICAgICAgICAgICpyZWludGVycHJldF9j YXN0PHY4OjpUcmFjZWRSZWZlcmVuY2U8djg6OlZhbHVlPio+KCZ2YWx1ZSkpOworICAgICAgICAg ICBEQ0hFQ0soIW5vZGUtPklzSW5Vc2UoKSk7CisgICAgICAgICB9CisgCitAQCAtMTI3MSw4ICsx Mjc2LDEzIEBAIHZvaWQgR2xvYmFsSGFuZGxlczo6SXRlcmF0ZVRyYWNlZE5vZGVzKAorICAgZm9y IChUcmFjZWROb2RlKiBub2RlIDogKnRyYWNlZF9ub2Rlc18pIHsKKyAgICAgaWYgKG5vZGUtPklz SW5Vc2UoKSkgeworICAgICAgIHY4OjpWYWx1ZSogdmFsdWUgPSBUb0FwaTx2ODo6VmFsdWU+KG5v ZGUtPmhhbmRsZSgpKTsKKy0gICAgICB2aXNpdG9yLT5WaXNpdFRyYWNlZEdsb2JhbEhhbmRsZSgK Ky0gICAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8djg6OlRyYWNlZEdsb2JhbDx2ODo6VmFsdWU+ Kj4oJnZhbHVlKSk7CisrICAgICAgaWYgKG5vZGUtPmhhc19kZXN0cnVjdG9yKCkpIHsKKysgICAg ICAgIHZpc2l0b3ItPlZpc2l0VHJhY2VkR2xvYmFsSGFuZGxlKAorKyAgICAgICAgICAgICpyZWlu dGVycHJldF9jYXN0PHY4OjpUcmFjZWRHbG9iYWw8djg6OlZhbHVlPio+KCZ2YWx1ZSkpOworKyAg ICAgIH0gZWxzZSB7CisrICAgICAgICB2aXNpdG9yLT5WaXNpdFRyYWNlZFJlZmVyZW5jZSgKKysg ICAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDx2ODo6VHJhY2VkUmVmZXJlbmNlPHY4OjpWYWx1 ZT4qPigmdmFsdWUpKTsKKysgICAgICB9CisgICAgIH0KKyAgIH0KKyB9CitkaWZmIC11cCBjaHJv bWl1bS03OC4wLjM5MDQuNzAvdjgvc3JjL2hlYXAvZW1iZWRkZXItdHJhY2luZy5oLmltcGxlbWVu dC10cmFjZWRyZWZlcmVuY2UgY2hyb21pdW0tNzguMC4zOTA0LjcwL3Y4L3NyYy9oZWFwL2VtYmVk ZGVyLXRyYWNpbmcuaAorLS0tIGNocm9taXVtLTc4LjAuMzkwNC43MC92OC9zcmMvaGVhcC9lbWJl ZGRlci10cmFjaW5nLmguaW1wbGVtZW50LXRyYWNlZHJlZmVyZW5jZQkyMDE5LTEwLTI0IDA5OjIy OjAzLjY2NDUxOTU1OSAtMDQwMAorKysrIGNocm9taXVtLTc4LjAuMzkwNC43MC92OC9zcmMvaGVh cC9lbWJlZGRlci10cmFjaW5nLmgJMjAxOS0xMC0yNCAwOToyMjo0NS4xOTc3Mjk5NjQgLTA0MDAK K0BAIC01Nyw3ICs1NywxMiBAQCBjbGFzcyBWOF9FWFBPUlRfUFJJVkFURSBMb2NhbEVtYmVkZGVy SGVhCisgICBib29sIElzUm9vdEZvck5vblRyYWNpbmdHQyhjb25zdCB2ODo6VHJhY2VkR2xvYmFs PHY4OjpWYWx1ZT4mIGhhbmRsZSkgeworICAgICByZXR1cm4gIUluVXNlKCkgfHwgcmVtb3RlX3Ry YWNlcl8tPklzUm9vdEZvck5vblRyYWNpbmdHQyhoYW5kbGUpOworICAgfQorLSAgdm9pZCBSZXNl dEhhbmRsZUluTm9uVHJhY2luZ0dDKGNvbnN0IHY4OjpUcmFjZWRHbG9iYWw8djg6OlZhbHVlPiYg aGFuZGxlKSB7CisrCisrICBib29sIElzUm9vdEZvck5vblRyYWNpbmdHQyhjb25zdCB2ODo6VHJh Y2VkUmVmZXJlbmNlPHY4OjpWYWx1ZT4mIGhhbmRsZSkgeworKyAgICByZXR1cm4gIUluVXNlKCkg fHwgcmVtb3RlX3RyYWNlcl8tPklzUm9vdEZvck5vblRyYWNpbmdHQyhoYW5kbGUpOworKyAgfQor KworKyAgdm9pZCBSZXNldEhhbmRsZUluTm9uVHJhY2luZ0dDKGNvbnN0IHY4OjpUcmFjZWRSZWZl cmVuY2U8djg6OlZhbHVlPiYgaGFuZGxlKSB7CisgICAgIC8vIFJlc2V0dGluZyBpcyBvbmx5IGNh bGxlZCB3aGVuIElzUm9vdEZvck5vblRyYWNpbmdHQyByZXR1cm5zIGZhbHNlIHdoaWNoCisgICAg IC8vIGNhbiBvbmx5IGhhcHBlbiB0aGUgRW1iZWRkZXJIZWFwVHJhY2VyIGlzIHNldCBvbiBBUEkg bGV2ZWwuCisgICAgIERDSEVDSyhJblVzZSgpKTsK