From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id A0CF227338 for ; Thu, 14 Mar 2024 00:17:58 +0100 (CET) Content-Type: multipart/mixed; boundary="===============1834654507325248997==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_glibc=3A_update_to_2=2E39=2E?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 14 Mar 2024 00:17:58 +0100 List-Id: Message-Id: <20240313231758.A0CF227338@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============1834654507325248997== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIGdsaWJjMi4zOQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvNDkxNjMKCmdsaWJjOiB1cGRhdGUgdG8gMi4zOS4KPCEtLSBV bmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBu b3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoqDQoNCltjaSBza2lwXQ0KDQpEZXBl bmRzIG9uOiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwv NDkxNDYNClNlZTogaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9p c3N1ZXMvNDkxNjINCg0KTm8gbWFqb3IgcGFja2FnaW5nIGNoYW5nZXMgaW5kaWNhdGVkIGJ5IHVw c3RyZWFtOg0KaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9nbGliYy93aWtpL1JlbGVhc2UvMi4zOQ0K aHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9pbmZvLWdudS8yMDI0LTAxL21zZzAw MDE3Lmh0bWwNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNv bmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92 b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2th Z2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRo ZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBj aSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4 L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50 ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBw b3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYg dGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQg dGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVj dHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFy Y2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2 NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDkx NjMucGF0Y2ggaXMgYXR0YWNoZWQ= --===============1834654507325248997== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-glibc2.39-49163.patch" RnJvbSA2M2Q0NGU0YTU5ZmUwNjJmMGRlNTNjYTRmMzIyOGNhMmNjZmYxMDhkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgNiBNYXIgMjAyNCAxNzo1OToxMSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTJdIGdsaWJj OiB1cGRhdGUgdG8gMi4zOS4KCi0tLQogLi4uNGYxMGI1MDRiYzQ1NjRlOWYyMmYwMDkwNzA5M2Yx YWI5MzM4LnBhdGNoIHwgIDMzNSAtLS0tLS0KIC4uLjFhMDA0N2ZiMjZhNjVhOWIyYTdiOGNkOTc3 MjQzZjdkMzUzYy5wYXRjaCB8IDEwNTggKysrKysrKysrKysrKysrKysKIC4uLjExMDU4NTI1Njhj M2ViYzcxMjIyNWFlNzhiOGM4YmEzMWE3OC5wYXRjaCB8ICAyOTYgLS0tLS0KIC4uLmZjMWNmMDk0 NDA2YTEzOGU0ZDFiY2Y5NTUzZTU5ZWRjZjg5ZC5wYXRjaCB8ICAyNTIgLS0tLQogLi4uMTU5NjI2 YjY3ZmUxMWYzOWU4M2UyMjJjZjQzNDhhMzk2MmYzLnBhdGNoIHwgICA4MCArKwogLi4uNWU0ZmRh MWY2ZGFiNGJmNzQ0MjcwNmZlMzAzYmYyODMwMzZjLnBhdGNoIHwgICAzNyArCiBzcmNwa2dzL2ds aWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjI0Ni5wYXRjaCAgICAgfCAgMTc4IC0tLQogc3JjcGtncy9n bGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3NzkucGF0Y2ggICAgIHwgIDEwMyAtLQogc3JjcGtncy9n bGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3ODAucGF0Y2ggICAgIHwgICAzOCAtCiAuLi4wOGRkNzc0 YjYxN2Y5OTQxOWJkYzNjZjJhY2U0NTYwY2QyZDYucGF0Y2ggfCAgMTkyIC0tLQogLi4udGUtR0xJ QkNfVFVOQUJMRVMtaW4tc2V0eGlkLWJpbmFyaWVzLnBhdGNoIHwgIDE5OCAtLS0KIHNyY3BrZ3Mv Z2xpYmMvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKy0KIDEyIGZpbGVz IGNoYW5nZWQsIDExODEgaW5zZXJ0aW9ucygrKSwgMTU5OSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2dsaWJjL3BhdGNoZXMvMDBhZTRmMTBiNTA0YmM0NTY0ZTlmMjJm MDA5MDcwOTNmMWFiOTMzOC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xpYmMv cGF0Y2hlcy8xYjljMWEwMDQ3ZmIyNmE2NWE5YjJhN2I4Y2Q5NzcyNDNmN2QzNTNjLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTEtNTQyYjExMDU4 NTI1NjhjM2ViYzcxMjIyNWFlNzhiOGM4YmEzMWE3OC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0yLTBkYzdmYzFjZjA5NDQwNmExMzhlNGQxYmNm OTU1M2U1OWVkY2Y4OWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dsaWJjL3Bh dGNoZXMvMzEyZTE1OTYyNmI2N2ZlMTFmMzllODNlMjIyY2Y0MzQ4YTM5NjJmMy5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy82MzI5NWU0ZmRhMWY2ZGFiNGJm NzQ0MjcwNmZlMzAzYmYyODMwMzZjLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9n bGliYy9wYXRjaGVzL0NWRS0yMDIzLTYyNDYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjc3OS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02NzgwLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9nbGliYy9wYXRjaGVzL2IyNTUwOGRkNzc0YjYxN2Y5OTQxOWJkYzNjZjJh Y2U0NTYwY2QyZDYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dsaWJjL3BhdGNo ZXMvY29tbWl0dGVkLTEtMi1Qcm9wYWdhdGUtR0xJQkNfVFVOQUJMRVMtaW4tc2V0eGlkLWJpbmFy aWVzLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzLzAwYWU0ZjEwYjUw NGJjNDU2NGU5ZjIyZjAwOTA3MDkzZjFhYjkzMzgucGF0Y2ggYi9zcmNwa2dzL2dsaWJjL3BhdGNo ZXMvMDBhZTRmMTBiNTA0YmM0NTY0ZTlmMjJmMDA5MDcwOTNmMWFiOTMzOC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY1Mzg3Njc4MDliODIuLjAwMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8wMGFlNGYxMGI1MDRiYzQ1NjRlOWYyMmYwMDkwNzA5 M2YxYWI5MzM4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzM1ICswLDAgQEAKLUZyb20gMDBh ZTRmMTBiNTA0YmM0NTY0ZTlmMjJmMDA5MDcwOTNmMWFiOTMzOCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IFNpZGRoZXNoIFBveWFyZWthciA8c2lkZGhlc2hAc291cmNld2FyZS5vcmc+ Ci1EYXRlOiBGcmksIDE1IFNlcCAyMDIzIDEzOjUxOjEyIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hd IGdldGFkZHJpbmZvOiBGaXggdXNlIGFmdGVyIGZyZWUgaW4gZ2V0Y2Fub25uYW1lCi0gKENWRS0y MDIzLTQ4MDYpCi0KLVdoZW4gYW4gTlNTIHBsdWdpbiBvbmx5IGltcGxlbWVudHMgdGhlIF9nZXRo b3N0YnluYW1lMl9yIGFuZAotX2dldGNhbm9ubmFtZV9yIGNhbGxiYWNrcywgZ2V0YWRkcmluZm8g Y291bGQgdXNlIG1lbW9yeSB0aGF0IHdhcyBmcmVlZAotZHVyaW5nIHRtcGJ1ZiByZXNpemluZywg dGhyb3VnaCBoX25hbWUgaW4gYSBwcmV2aW91cyBxdWVyeSByZXNwb25zZS4KLQotVGhlIGJhY2tp bmcgc3RvcmUgZm9yIHJlcy0+YXQtPm5hbWUgd2hlbiBkb2luZyBhIHF1ZXJ5IHdpdGgKLWdldGhv c3RieW5hbWUzX3Igb3IgZ2V0aG9zdGJ5bmFtZTJfciBpcyB0bXBidWYsIHdoaWNoIGlzIHJlYWxs b2NhdGVkIGluCi1nZXRob3N0cyBkdXJpbmcgdGhlIHF1ZXJ5LiAgRm9yIEFGX0lORVQ2IGxvb2t1 cCB3aXRoIEFJX0FMTCB8Ci1BSV9WNE1BUFBFRCwgZ2V0aG9zdHMgZ2V0cyBjYWxsZWQgdHdpY2Us IG9uY2UgZm9yIGEgdjYgbG9va3VwIGFuZCBzZWNvbmQKLWZvciBhIHY0IGxvb2t1cC4gIEluIHRo aXMgY2FzZSwgaWYgdGhlIGZpcnN0IGNhbGwgcmVhbGxvY2F0ZXMgdG1wYnVmCi1lbm91Z2ggbnVt YmVyIG9mIHRpbWVzLCByZXN1bHRpbmcgaW4gYSBtYWxsb2MsIHRoLT5oX25hbWUgKHRoYXQKLXJl cy0+YXQtPm5hbWUgcmVmZXJzIHRvKSBlbmRzIHVwIG9uIGEgaGVhcCBhbGxvY2F0ZWQgc3RvcmFn ZSBpbiB0bXBidWYuCi1Ob3cgaWYgdGhlIHNlY29uZCBjYWxsIHRvIGdldGhvc3RzIGFsc28gY2F1 c2VzIHRoZSBwbHVnaW4gY2FsbGJhY2sgdG8KLXJldHVybiBOU1NfU1RBVFVTX1RSWUFHQUlOLCB0 bXBidWYgd2lsbCBnZXQgZnJlZWQsIHJlc3VsdGluZyBpbiBhIFVBRgotcmVmZXJlbmNlIGluIHJl cy0+YXQtPm5hbWUuICBUaGlzIHRoZW4gZ2V0cyBkZXJlZmVyZW5jZWQgaW4gdGhlCi1nZXRjYW5v bm5hbWVfciBwbHVnaW4gY2FsbCwgcmVzdWx0aW5nIGluIHRoZSB1c2UgYWZ0ZXIgZnJlZS4KLQot Rml4IHRoaXMgYnkgY29weWluZyBoX25hbWUgb3ZlciBhbmQgZnJlZWluZyBpdCBhdCB0aGUgZW5k LiAgVGhpcwotcmVzb2x2ZXMgQlogIzMwODQzLCB3aGljaCBpcyBhc3NpZ25lZCBDVkUtMjAyMy00 ODA2LgotCi1TaWduZWQtb2ZmLWJ5OiBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJj ZXdhcmUub3JnPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTczZmU5M2E1Njc1YzQyNzk4 YjIxNjFjNmYyOWMwMWIwZTI0Mzk5NCkKLS0tLQotIG5zcy9NYWtlZmlsZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IDE1ICsrKystCi0gbnNzL25zc190ZXN0X2dhaV9odjJfY2Fu b25uYW1lLmMgICAgICAgICAgICAgIHwgNTYgKysrKysrKysrKysrKysrKysKLSBuc3MvdHN0LW5z cy1nYWktaHYyLWNhbm9ubmFtZS5jICAgICAgICAgICAgICAgfCA2MyArKysrKysrKysrKysrKysr KysrCi0gbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaCAgICAgICAgICAgICAgIHwgIDEg KwotIC4uLi9wb3N0Y2xlYW4ucmVxICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAwCi0g Li4uL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuc2NyaXB0ICAgICAgICAgIHwgIDIgKwotIHN5 c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAgICAgICAgICAgICAgICAgICB8IDI1ICsrKysrLS0t Ci0gNyBmaWxlcyBjaGFuZ2VkLCAxNTIgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IG5zcy9uc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZS5jCi0gY3Jl YXRlIG1vZGUgMTAwNjQ0IG5zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLmMKLSBjcmVhdGUg bW9kZSAxMDA2NDQgbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaAotIGNyZWF0ZSBtb2Rl IDEwMDY0NCBuc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290L3Bvc3RjbGVhbi5yZXEK LSBjcmVhdGUgbW9kZSAxMDA2NDQgbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUucm9vdC90 c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnNjcmlwdAotCi1kaWZmIC0tZ2l0IGEvbnNzL01ha2Vm aWxlIGIvbnNzL01ha2VmaWxlCi1pbmRleCAwNmZjZGM0NTBmMS4uOGE1MTI2ZWNmMzQgMTAwNjQ0 Ci0tLS0gYS9uc3MvTWFrZWZpbGUKLSsrKyBiL25zcy9NYWtlZmlsZQotQEAgLTgyLDYgKzgyLDcg QEAgdGVzdHMtY29udGFpbmVyIDo9IFwKLSAgIHRzdC1uc3MtdGVzdDMgXAotICAgdHN0LXJlbG9h ZDEgXAotICAgdHN0LXJlbG9hZDIgXAotKyAgdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZSBcCi0g IyB0ZXN0cy1jb250YWluZXIKLSAKLSAjIFRlc3RzIHdoaWNoIG5lZWQgbGliZGwKLUBAIC0xNDUs NyArMTQ2LDggQEAgbGlibnNzX2NvbXBhdC1pbmhpYml0LW8JPSAkKGZpbHRlci1vdXQgLm9zLCQo b2JqZWN0LXN1ZmZpeGVzKSkKLSBpZmVxICgkKGJ1aWxkLXN0YXRpYy1uc3MpLHllcykKLSB0ZXN0 cy1zdGF0aWMJCSs9IHRzdC1uc3Mtc3RhdGljCi0gZW5kaWYKLS1leHRyYS10ZXN0LW9ianMJCSs9 IG5zc190ZXN0MS5vcyBuc3NfdGVzdDIub3MgbnNzX3Rlc3RfZXJybm8ub3MKLStleHRyYS10ZXN0 LW9ianMJCSs9IG5zc190ZXN0MS5vcyBuc3NfdGVzdDIub3MgbnNzX3Rlc3RfZXJybm8ub3MgXAot KwkJCSAgIG5zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lLm9zCi0gCi0gaW5jbHVkZSAuLi9SdWxl cwotIAotQEAgLTE4MCwxMiArMTgyLDE2IEBAIHJ0bGQtdGVzdHMtTERGTEFHUyArPSAtV2wsLS1k eW5hbWljLWxpc3Q9bnNzX3Rlc3QudmVyCi0gbGlib2YtbnNzX3Rlc3QxID0gZXh0cmFtb2R1bGVz Ci0gbGlib2YtbnNzX3Rlc3QyID0gZXh0cmFtb2R1bGVzCi0gbGlib2YtbnNzX3Rlc3RfZXJybm8g PSBleHRyYW1vZHVsZXMKLStsaWJvZi1uc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZSA9IGV4dHJh bW9kdWxlcwotICQob2JqcGZ4KS9saWJuc3NfdGVzdDEuc286ICQob2JqcGZ4KW5zc190ZXN0MS5v cyAkKGxpbmstbGliYy1kZXBzKQotIAkkKGJ1aWxkLW1vZHVsZSkKLSAkKG9ianBmeCkvbGlibnNz X3Rlc3QyLnNvOiAkKG9ianBmeCluc3NfdGVzdDIub3MgJChsaW5rLWxpYmMtZGVwcykKLSAJJChi dWlsZC1tb2R1bGUpCi0gJChvYmpwZngpL2xpYm5zc190ZXN0X2Vycm5vLnNvOiAkKG9ianBmeClu c3NfdGVzdF9lcnJuby5vcyAkKGxpbmstbGliYy1kZXBzKQotIAkkKGJ1aWxkLW1vZHVsZSkKLSsk KG9ianBmeCkvbGlibnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUuc286IFwKLSsgICQob2JqcGZ4 KW5zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lLm9zICQobGluay1saWJjLWRlcHMpCi0rCSQoYnVp bGQtbW9kdWxlKQotICQob2JqcGZ4KW5zc190ZXN0Mi5vcyA6IG5zc190ZXN0MS5jCi0gIyBVc2Ug dGhlIG5zc19maWxlcyBzdWZmaXggZm9yIHRoZXNlIG9iamVjdHMgYXMgd2VsbC4KLSAkKG9ianBm eCkvbGlibnNzX3Rlc3QxLnNvJChsaWJuc3NfZmlsZXMuc28tdmVyc2lvbik6ICQob2JqcGZ4KS9s aWJuc3NfdGVzdDEuc28KLUBAIC0xOTUsMTAgKzIwMSwxNCBAQCAkKG9ianBmeCkvbGlibnNzX3Rl c3QyLnNvJChsaWJuc3NfZmlsZXMuc28tdmVyc2lvbik6ICQob2JqcGZ4KS9saWJuc3NfdGVzdDIu c28KLSAkKG9ianBmeCkvbGlibnNzX3Rlc3RfZXJybm8uc28kKGxpYm5zc19maWxlcy5zby12ZXJz aW9uKTogXAotICAgJChvYmpwZngpL2xpYm5zc190ZXN0X2Vycm5vLnNvCi0gCSQobWFrZS1saW5r KQotKyQob2JqcGZ4KS9saWJuc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZS5zbyQobGlibnNzX2Zp bGVzLnNvLXZlcnNpb24pOiBcCi0rICAkKG9ianBmeCkvbGlibnNzX3Rlc3RfZ2FpX2h2Ml9jYW5v bm5hbWUuc28KLSsJJChtYWtlLWxpbmspCi0gJChwYXRzdWJzdCAlLCQob2JqcGZ4KSUub3V0LCQo dGVzdHMpICQodGVzdHMtY29udGFpbmVyKSkgOiBcCi0gCSQob2JqcGZ4KS9saWJuc3NfdGVzdDEu c28kKGxpYm5zc19maWxlcy5zby12ZXJzaW9uKSBcCi0gCSQob2JqcGZ4KS9saWJuc3NfdGVzdDIu c28kKGxpYm5zc19maWxlcy5zby12ZXJzaW9uKSBcCi0tCSQob2JqcGZ4KS9saWJuc3NfdGVzdF9l cnJuby5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24pCi0rCSQob2JqcGZ4KS9saWJuc3NfdGVz dF9lcnJuby5zbyQobGlibnNzX2ZpbGVzLnNvLXZlcnNpb24pIFwKLSsJJChvYmpwZngpL2xpYm5z c190ZXN0X2dhaV9odjJfY2Fub25uYW1lLnNvJChsaWJuc3NfZmlsZXMuc28tdmVyc2lvbikKLSAK LSBpZmVxICh5ZXMsJChoYXZlLXRocmVhZC1saWJyYXJ5KSkKLSAkKG9ianBmeCl0c3QtY2FuY2Vs LWdldHB3dWlkX3I6ICQoc2hhcmVkLXRocmVhZC1saWJyYXJ5KQotQEAgLTIxNSwzICsyMjUsNCBA QCBMREZMQUdTLXRzdC1uc3MtdGVzdDMgPSAtV2wsLS1kaXNhYmxlLW5ldy1kdGFncwotIExERkxB R1MtdHN0LW5zcy10ZXN0NCA9IC1XbCwtLWRpc2FibGUtbmV3LWR0YWdzCi0gTERGTEFHUy10c3Qt bnNzLXRlc3Q1ID0gLVdsLC0tZGlzYWJsZS1uZXctZHRhZ3MKLSBMREZMQUdTLXRzdC1uc3MtdGVz dF9lcnJubyA9IC1XbCwtLWRpc2FibGUtbmV3LWR0YWdzCi0rTERGTEFHUy10c3QtbnNzLXRlc3Rf Z2FpX2h2Ml9jYW5vbm5hbWUgPSAtV2wsLS1kaXNhYmxlLW5ldy1kdGFncwotZGlmZiAtLWdpdCBh L25zcy9uc3NfdGVzdF9nYWlfaHYyX2Nhbm9ubmFtZS5jIGIvbnNzL25zc190ZXN0X2dhaV9odjJf Y2Fub25uYW1lLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uNDQz OWM4M2M5ZjQKLS0tLSAvZGV2L251bGwKLSsrKyBiL25zcy9uc3NfdGVzdF9nYWlfaHYyX2Nhbm9u bmFtZS5jCi1AQCAtMCwwICsxLDU2IEBACi0rLyogTlNTIHNlcnZpY2UgcHJvdmlkZXIgdGhhdCBv bmx5IHByb3ZpZGVzIGdldGhvc3RieW5hbWUyX3IuCi0rICAgQ29weXJpZ2h0IFRoZSBHTlUgVG9v bGNoYWluIEF1dGhvcnMuCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJh cnkuCi0rCi0rICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0rICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAgIHZlcnNpb24gMi4xIG9m IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwot KyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotKyAgIExlc3NlciBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAg IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKLSsgICA8 aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8bnNzLmg+ Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSsjaW5jbHVkZSAi bnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuaCIKLSsKLSsvKiBDYXRjaCBtaXNuYW1lZCBh bmQgZnVuY3Rpb25zLiAgKi8KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGVycm9yICItV21pc3Np bmctcHJvdG90eXBlcyIKLStOU1NfREVDTEFSRV9NT0RVTEVfRlVOQ1RJT05TICh0ZXN0X2dhaV9o djJfY2Fub25uYW1lKQotKwotK2V4dGVybiBlbnVtIG5zc19zdGF0dXMgX25zc19maWxlc19nZXRo b3N0YnluYW1lMl9yIChjb25zdCBjaGFyICosIGludCwKLSsJCQkJCQkgICAgc3RydWN0IGhvc3Rl bnQgKiwgY2hhciAqLAotKwkJCQkJCSAgICBzaXplX3QsIGludCAqLCBpbnQgKik7Ci0rCi0rZW51 bSBuc3Nfc3RhdHVzCi0rX25zc190ZXN0X2dhaV9odjJfY2Fub25uYW1lX2dldGhvc3RieW5hbWUy X3IgKGNvbnN0IGNoYXIgKm5hbWUsIGludCBhZiwKLSsJCQkJCSAgICAgIHN0cnVjdCBob3N0ZW50 ICpyZXN1bHQsCi0rCQkJCQkgICAgICBjaGFyICpidWZmZXIsIHNpemVfdCBidWZsZW4sCi0rCQkJ CQkgICAgICBpbnQgKmVycm5vcCwgaW50ICpoZXJybm9wKQotK3sKLSsgIHJldHVybiBfbnNzX2Zp bGVzX2dldGhvc3RieW5hbWUyX3IgKG5hbWUsIGFmLCByZXN1bHQsIGJ1ZmZlciwgYnVmbGVuLCBl cnJub3AsCi0rCQkJCSAgICAgIGhlcnJub3ApOwotK30KLSsKLStlbnVtIG5zc19zdGF0dXMKLStf bnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWVfZ2V0Y2Fub25uYW1lX3IgKGNvbnN0IGNoYXIgKm5h bWUsIGNoYXIgKmJ1ZmZlciwKLSsJCQkJCSAgICBzaXplX3QgYnVmbGVuLCBjaGFyICoqcmVzdWx0 LAotKwkJCQkJICAgIGludCAqZXJybm9wLCBpbnQgKmhfZXJybm9wKQotK3sKLSsgIC8qIFdlIGV4 cGVjdCBRVUVSWU5BTUUsIHdoaWNoIGlzIGEgc21hbGwgZW5vdWdoIHN0cmluZyB0aGF0IGl0IHNo b3VsZG4ndCBmYWlsCi0rICAgICB0aGUgdGVzdC4gICovCi0rICBpZiAobWVtY21wIChRVUVSWU5B TUUsIG5hbWUsIHNpemVvZiAoUVVFUllOQU1FKSkKLSsgICAgICB8fCBidWZsZW4gPCBzaXplb2Yg KFFVRVJZTkFNRSkpCi0rICAgIGFib3J0ICgpOwotKwotKyAgc3RybmNweSAoYnVmZmVyLCBuYW1l LCBidWZsZW4pOwotKyAgKnJlc3VsdCA9IGJ1ZmZlcjsKLSsgIHJldHVybiBOU1NfU1RBVFVTX1NV Q0NFU1M7Ci0rfQotZGlmZiAtLWdpdCBhL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLmMg Yi9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAot aW5kZXggMDAwMDAwMDAwMDAuLmQ1ZjEwYzA3ZDZhCi0tLS0gL2Rldi9udWxsCi0rKysgYi9uc3Mv dHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5jCi1AQCAtMCwwICsxLDYzIEBACi0rLyogVGVzdCBO U1MgcXVlcnkgcGF0aCBmb3IgcGx1Z2lucyB0aGF0IG9ubHkgaW1wbGVtZW50IGdldGhvc3RieW5h bWUyCi0rICAgKCMzMDg0MykuCi0rICAgQ29weXJpZ2h0IFRoZSBHTlUgVG9vbGNoYWluIEF1dGhv cnMuCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0rCi0rICAg VGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCi0rICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl ciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoZSBHTlUg QyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYWxv bmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKLSsgICA8aHR0cHM6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8bnNzLmg+Ci0rI2luY2x1ZGUg PG5ldGRiLmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSsj aW5jbHVkZSA8c3VwcG9ydC9jaGVjay5oPgotKyNpbmNsdWRlIDxzdXBwb3J0L3hzdGRpby5oPgot KyNpbmNsdWRlICJuc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5oIgotKwotKyNkZWZpbmUg UFJFUEFSRSBkb19wcmVwYXJlCi0rCi0rc3RhdGljIHZvaWQgZG9fcHJlcGFyZSAoaW50IGEsIGNo YXIgKiphdikKLSt7Ci0rICBGSUxFICpob3N0cyA9IHhmb3BlbiAoIi9ldGMvaG9zdHMiLCAidyIp OwotKyAgZm9yICh1bnNpZ25lZCBpID0gMjsgaSA8IDI1NTsgaSsrKQotKyAgICB7Ci0rICAgICAg ZnByaW50ZiAoaG9zdHMsICJmZjAxOjpmZjAyOmZmMDM6JXU6Mlx0dGVzdC5leGFtcGxlLmNvbVxu IiwgaSk7Ci0rICAgICAgZnByaW50ZiAoaG9zdHMsICIxOTIuMTY4LjAuJXVcdHRlc3QuZXhhbXBs ZS5jb21cbiIsIGkpOwotKyAgICB9Ci0rICB4ZmNsb3NlIChob3N0cyk7Ci0rfQotKwotK3N0YXRp YyBpbnQKLStkb190ZXN0ICh2b2lkKQotK3sKLSsgIF9fbnNzX2NvbmZpZ3VyZV9sb29rdXAgKCJo b3N0cyIsICJ0ZXN0X2dhaV9odjJfY2Fub25uYW1lIik7Ci0rCi0rICBzdHJ1Y3QgYWRkcmluZm8g aGludHMgPSB7fTsKLSsgIHN0cnVjdCBhZGRyaW5mbyAqcmVzdWx0ID0gTlVMTDsKLSsKLSsgIGhp bnRzLmFpX2ZhbWlseSA9IEFGX0lORVQ2OwotKyAgaGludHMuYWlfZmxhZ3MgPSBBSV9BTEwgfCBB SV9WNE1BUFBFRCB8IEFJX0NBTk9OTkFNRTsKLSsKLSsgIGludCByZXQgPSBnZXRhZGRyaW5mbyAo UVVFUllOQU1FLCBOVUxMLCAmaGludHMsICZyZXN1bHQpOwotKwotKyAgaWYgKHJldCAhPSAwKQot KyAgICBGQUlMX0VYSVQxICgiZ2V0YWRkcmluZm8gZmFpbGVkOiAlc1xuIiwgZ2FpX3N0cmVycm9y IChyZXQpKTsKLSsKLSsgIFRFU1RfQ09NUEFSRV9TVFJJTkcgKHJlc3VsdC0+YWlfY2Fub25uYW1l LCBRVUVSWU5BTUUpOwotKwotKyAgZnJlZWFkZHJpbmZvKHJlc3VsdCk7Ci0rICByZXR1cm4gMDsK LSt9Ci0rCi0rI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4KLWRpZmYgLS1naXQgYS9u c3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5oIGIvbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5v bm5hbWUuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi4xNGYyYTlj YjA4NgotLS0tIC9kZXYvbnVsbAotKysrIGIvbnNzL3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUu aAotQEAgLTAsMCArMSBAQAotKyNkZWZpbmUgUVVFUllOQU1FICJ0ZXN0LmV4YW1wbGUuY29tIgot ZGlmZiAtLWdpdCBhL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnJvb3QvcG9zdGNsZWFu LnJlcSBiL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnJvb3QvcG9zdGNsZWFuLnJlcQot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5lNjlkZTI5YmIyZAotZGlm ZiAtLWdpdCBhL25zcy90c3QtbnNzLWdhaS1odjItY2Fub25uYW1lLnJvb3QvdHN0LW5zcy1nYWkt aHYyLWNhbm9ubmFtZS5zY3JpcHQgYi9uc3MvdHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290 L3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUuc2NyaXB0Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAot aW5kZXggMDAwMDAwMDAwMDAuLjMxODQ4YjRhMjg1Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9uc3Mv dHN0LW5zcy1nYWktaHYyLWNhbm9ubmFtZS5yb290L3RzdC1uc3MtZ2FpLWh2Mi1jYW5vbm5hbWUu c2NyaXB0Ci1AQCAtMCwwICsxLDIgQEAKLStjcCAkQi9uc3MvbGlibnNzX3Rlc3RfZ2FpX2h2Ml9j YW5vbm5hbWUuc28gJEwvbGlibnNzX3Rlc3RfZ2FpX2h2Ml9jYW5vbm5hbWUuc28uMgotK3N1Ci1k aWZmIC0tZ2l0IGEvc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIGIvc3lzZGVwcy9wb3NpeC9n ZXRhZGRyaW5mby5jCi1pbmRleCAwMzU2YjYyMmJlNi4uYjIyMzZiMTA1YzEgMTAwNjQ0Ci0tLS0g YS9zeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMKLSsrKyBiL3N5c2RlcHMvcG9zaXgvZ2V0YWRk cmluZm8uYwotQEAgLTEyMCw2ICsxMjAsNyBAQCBzdHJ1Y3QgZ2FpaF9yZXN1bHQKLSB7Ci0gICBz dHJ1Y3QgZ2FpaF9hZGRydHVwbGUgKmF0OwotICAgY2hhciAqY2Fub247Ci0rICBjaGFyICpoX25h bWU7Ci0gICBib29sIGZyZWVfYXQ7Ci0gICBib29sIGdvdF9pcHY2OwotIH07Ci1AQCAtMTY1LDYg KzE2Niw3IEBAIGdhaWhfcmVzdWx0X3Jlc2V0IChzdHJ1Y3QgZ2FpaF9yZXN1bHQgKnJlcykKLSAg IGlmIChyZXMtPmZyZWVfYXQpCi0gICAgIGZyZWUgKHJlcy0+YXQpOwotICAgZnJlZSAocmVzLT5j YW5vbik7Ci0rICBmcmVlIChyZXMtPmhfbmFtZSk7Ci0gICBtZW1zZXQgKHJlcywgMCwgc2l6ZW9m ICgqcmVzKSk7Ci0gfQotIAotQEAgLTIwMyw5ICsyMDUsOCBAQCBnYWloX2luZXRfc2VydiAoY29u c3QgY2hhciAqc2VydmljZW5hbWUsIGNvbnN0IHN0cnVjdCBnYWloX3R5cGVwcm90byAqdHAsCi0g ICByZXR1cm4gMDsKLSB9Ci0gCi0tLyogQ29udmVydCBzdHJ1Y3QgaG9zdGVudCB0byBhIGxpc3Qg b2Ygc3RydWN0IGdhaWhfYWRkcnR1cGxlIG9iamVjdHMuICBoX25hbWUKLS0gICBpcyBub3QgY29w aWVkLCBhbmQgdGhlIHN0cnVjdCBob3N0ZW50IG9iamVjdCBtdXN0IG5vdCBiZSBkZWFsbG9jYXRl ZAotLSAgIHByZW1hdHVyZWx5LiAgVGhlIG5ldyBhZGRyZXNzZXMgYXJlIGFwcGVuZGVkIHRvIHRo ZSB0dXBsZSBhcnJheSBpbiBSRVMuICAqLwotKy8qIENvbnZlcnQgc3RydWN0IGhvc3RlbnQgdG8g YSBsaXN0IG9mIHN0cnVjdCBnYWloX2FkZHJ0dXBsZSBvYmplY3RzLiAgVGhlIG5ldwotKyAgIGFk ZHJlc3NlcyBhcmUgYXBwZW5kZWQgdG8gdGhlIHR1cGxlIGFycmF5IGluIFJFUy4gICovCi0gc3Rh dGljIGJvb2wKLSBjb252ZXJ0X2hvc3RlbnRfdG9fZ2FpaF9hZGRydHVwbGUgKGNvbnN0IHN0cnVj dCBhZGRyaW5mbyAqcmVxLCBpbnQgZmFtaWx5LAotIAkJCQkgICBzdHJ1Y3QgaG9zdGVudCAqaCwg c3RydWN0IGdhaWhfcmVzdWx0ICpyZXMpCi1AQCAtMjM4LDYgKzIzOSwxNSBAQCBjb252ZXJ0X2hv c3RlbnRfdG9fZ2FpaF9hZGRydHVwbGUgKGNvbnN0IHN0cnVjdCBhZGRyaW5mbyAqcmVxLCBpbnQg ZmFtaWx5LAotICAgcmVzLT5hdCA9IGFycmF5OwotICAgcmVzLT5mcmVlX2F0ID0gdHJ1ZTsKLSAK LSsgIC8qIER1cGxpY2F0ZSBoX25hbWUgYmVjYXVzZSBpdCBtYXkgZ2V0IHJlY2xhaW1lZCB3aGVu IHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UKLSsgICAgIGlzIGZyZWVkLiAgKi8KLSsgIGlmIChyZXMt PmhfbmFtZSA9PSBOVUxMKQotKyAgICB7Ci0rICAgICAgcmVzLT5oX25hbWUgPSBfX3N0cmR1cCAo aC0+aF9uYW1lKTsKLSsgICAgICBpZiAocmVzLT5oX25hbWUgPT0gTlVMTCkKLSsJcmV0dXJuIGZh bHNlOwotKyAgICB9Ci0rCi0gICAvKiBVcGRhdGUgdGhlIG5leHQgcG9pbnRlcnMgb24gcmVhbGxv Y2F0aW9uLiAgKi8KLSAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb2xkOyBpKyspCi0gICAgIGFy cmF5W2ldLm5leHQgPSBhcnJheSArIGkgKyAxOwotQEAgLTI2Miw3ICsyNzIsNiBAQCBjb252ZXJ0 X2hvc3RlbnRfdG9fZ2FpaF9hZGRydHVwbGUgKGNvbnN0IHN0cnVjdCBhZGRyaW5mbyAqcmVxLCBp bnQgZmFtaWx5LAotIAl9Ci0gICAgICAgYXJyYXlbaV0ubmV4dCA9IGFycmF5ICsgaSArIDE7Ci0g ICAgIH0KLS0gIGFycmF5WzBdLm5hbWUgPSBoLT5oX25hbWU7Ci0gICBhcnJheVtjb3VudCAtIDFd Lm5leHQgPSBOVUxMOwotIAotICAgcmV0dXJuIHRydWU7Ci1AQCAtMzI0LDE1ICszMzMsMTUgQEAg Z2V0aG9zdHMgKG5zc19nZXRob3N0YnluYW1lM19yIGZjdCwgaW50IGZhbWlseSwgY29uc3QgY2hh ciAqbmFtZSwKLSAgICBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlLiAgVGhlIHJldHVybmVkIHN0 cmluZyBpcyBhbGxvY2F0ZWQgb24gdGhlCi0gICAgaGVhcDsgdGhlIGNhbGxlciBoYXMgdG8gZnJl ZSBpdC4gICovCi0gc3RhdGljIGNoYXIgKgotLWdldGNhbm9ubmFtZSAobnNzX2FjdGlvbl9saXN0 IG5pcCwgc3RydWN0IGdhaWhfYWRkcnR1cGxlICphdCwgY29uc3QgY2hhciAqbmFtZSkKLStnZXRj YW5vbm5hbWUgKG5zc19hY3Rpb25fbGlzdCBuaXAsIGNvbnN0IGNoYXIgKmhuYW1lLCBjb25zdCBj aGFyICpuYW1lKQotIHsKLSAgIG5zc19nZXRjYW5vbm5hbWVfciAqY2ZjdCA9IF9fbnNzX2xvb2t1 cF9mdW5jdGlvbiAobmlwLCAiZ2V0Y2Fub25uYW1lX3IiKTsKLSAgIGNoYXIgKnMgPSAoY2hhciAq KSBuYW1lOwotICAgaWYgKGNmY3QgIT0gTlVMTCkKLSAgICAgewotICAgICAgIGNoYXIgYnVmWzI1 Nl07Ci0tICAgICAgaWYgKERMX0NBTExfRkNUIChjZmN0LCAoYXQtPm5hbWUgPzogbmFtZSwgYnVm LCBzaXplb2YgKGJ1ZiksCi0tCQkJICAgICAgJnMsICZlcnJubywgJmhfZXJybm8pKSAhPSBOU1Nf U1RBVFVTX1NVQ0NFU1MpCi0rICAgICAgaWYgKERMX0NBTExfRkNUIChjZmN0LCAoaG5hbWUgPzog bmFtZSwgYnVmLCBzaXplb2YgKGJ1ZiksICZzLCAmZXJybm8sCi0rCQkJICAgICAgJmhfZXJybm8p KSAhPSBOU1NfU1RBVFVTX1NVQ0NFU1MpCi0gCS8qIElmIHRoZSBjYW5vbmljYWwgbmFtZSBjYW5u b3QgYmUgZGV0ZXJtaW5lZCwgdXNlIHRoZSBwYXNzZWQKLSAJICAgc3RyaW5nLiAgKi8KLSAJcyA9 IChjaGFyICopIG5hbWU7Ci1AQCAtNzcxLDcgKzc4MCw3IEBAIGdldF9uc3NfYWRkcmVzc2VzIChj b25zdCBjaGFyICpuYW1lLCBjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKnJlcSwKLSAJCSAgaWYgKChy ZXEtPmFpX2ZsYWdzICYgQUlfQ0FOT05OQU1FKSAhPSAwCi0gCQkgICAgICAmJiByZXMtPmNhbm9u ID09IE5VTEwpCi0gCQkgICAgewotLQkJICAgICAgY2hhciAqY2Fub25idWYgPSBnZXRjYW5vbm5h bWUgKG5pcCwgcmVzLT5hdCwgbmFtZSk7Ci0rCQkgICAgICBjaGFyICpjYW5vbmJ1ZiA9IGdldGNh bm9ubmFtZSAobmlwLCByZXMtPmhfbmFtZSwgbmFtZSk7Ci0gCQkgICAgICBpZiAoY2Fub25idWYg PT0gTlVMTCkKLSAJCQl7Ci0gCQkJICBfX3Jlc29sdl9jb250ZXh0X3B1dCAocmVzX2N0eCk7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMWI5YzFhMDA0N2ZiMjZhNjVhOWIyYTdi OGNkOTc3MjQzZjdkMzUzYy5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8xYjljMWEwMDQ3 ZmIyNmE2NWE5YjJhN2I4Y2Q5NzcyNDNmN2QzNTNjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4yNTc5NjZjYjkzOWMwNQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8xYjljMWEwMDQ3ZmIyNmE2NWE5YjJhN2I4Y2Q5NzcyNDNm N2QzNTNjLnBhdGNoCkBAIC0wLDAgKzEsMTA1OCBAQAorRnJvbSAxYjljMWEwMDQ3ZmIyNmE2NWE5 YjJhN2I4Y2Q5NzcyNDNmN2QzNTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFr dWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4KK0RhdGU6IFdlZCwgMzEgSmFuIDIwMjQgMTk6 MTc6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIGdjYyBfX2J1aWx0aW5fc3RkY18qIGJ1 aWx0aW5zIGluIHN0ZGJpdC5oIGlmIHBvc3NpYmxlCisKK1RoZSBmb2xsb3dpbmcgcGF0Y2ggdXNl cyB0aGUgR0NDIDE0IF9fYnVpbHRpbl9zdGRjXyogYnVpbHRpbnMgaW4gc3RkYml0LmgKK2ZvciB0 aGUgdHlwZS1nZW5lcmljIG1hY3Jvcywgc28gdGhhdCB3aGVuIGNvbXBpbGVkIHdpdGggR0NDIDE0 IG9yIGxhdGVyLAoraXQgc3VwcG9ydHMgbm90IGp1c3QgOC8xNi8zMi82NC1iaXQgdW5zaWduZWQg aW50ZWdlcnMsIGJ1dCBhbHNvIDEyOC1iaXQKKyhpZiB0YXJnZXQgc3VwcG9ydHMgdGhlbSkgYW5k IHVuc2lnbmVkIF9CaXRJbnQgKGFueSBzdXBwb3J0ZWQgcHJlY2lzaW9uKS4KK0FuZCBzbyB0aGF0 IHRoZSBtYWNyb3MgZG9uJ3QgZXhwYW5kIGFyZ3VtZW50cyBtdWx0aXBsZSB0aW1lcyBhbmQgY2Fu IGJlCitldmFsdWF0ZWQgaW4gY29uc3RhbnQgZXhwcmVzc2lvbnMuCisKK1RoZSBuZXcgdGVzdGNh c2UgaXMgZ2NjJ3MgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVpbHRpbi1zdGRjLWJpdC0xLmMKK2Fk anVzdGVkIHRvIHRlc3Qgc3RkYml0LmggYW5kIHRoZSB0eXBlLWdlbmVyaWMgbWFjcm9zIGluIHRo ZXJlIGluc3RlYWQKK29mIHRoZSBidWlsdGlucyBhbmQgYWRqdXN0ZWQgdG8gdXNlIGdsaWJjIHRl c3QgZnJhbWV3b3JrIHJhdGhlciB0aGFuCitnY2Mgc3R5bGUgdGVzdHMgd2l0aCBfX2J1aWx0aW5f YWJvcnQgKCkuCisKK1NpZ25lZC1vZmYtYnk6IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5j b20+CitSZXZpZXdlZC1ieTogSm9zZXBoIE15ZXJzIDxqb3NteWVyc0ByZWRoYXQuY29tPgorKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZGE4OTQ5NjMzN2I5N2U2YTJhYWYxZTgxZDU1Y2Y5OThm NmRiMTA3MCkKKy0tLQorIG1hbnVhbC9zdGRiaXQudGV4aSAgICAgICAgICAgfCAgIDggKy0KKyBz dGRsaWIvTWFrZWZpbGUgICAgICAgICAgICAgIHwgICAxICsKKyBzdGRsaWIvc3RkYml0LmggICAg ICAgICAgICAgIHwgIDg0ICsrKy0KKyBzdGRsaWIvdHN0LXN0ZGJpdC1idWlsdGlucy5jIHwgNzc4 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCA4 NTYgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHN0 ZGxpYi90c3Qtc3RkYml0LWJ1aWx0aW5zLmMKKworZGlmZiAtLWdpdCBhL21hbnVhbC9zdGRiaXQu dGV4aSBiL21hbnVhbC9zdGRiaXQudGV4aQoraW5kZXggZmU0MWM2NzFkOC4uNmM3NWVkOWEyMCAx MDA2NDQKKy0tLSBhL21hbnVhbC9zdGRiaXQudGV4aQorKysrIGIvbWFudWFsL3N0ZGJpdC50ZXhp CitAQCAtMzIsNyArMzIsMTMgQEAgYW5kIEBjb2Rle3Vuc2lnbmVkIGxvbmcgbG9uZyBpbnR9LiAg SW4gYWRkaXRpb24sIHRoZXJlIGlzIGEKKyBjb3JyZXNwb25kaW5nIHR5cGUtZ2VuZXJpYyBtYWNy byAobm90IGxpc3RlZCBiZWxvdyksIG5hbWVkIHRoZSBzYW1lIGFzCisgdGhlIGZ1bmN0aW9ucyBi dXQgd2l0aG91dCBhbnkgc3VmZml4IHN1Y2ggYXMgQHNhbXB7X3VjfS4gIFRoZQorIHR5cGUtZ2Vu ZXJpYyBtYWNybyBjYW4gb25seSBiZSB1c2VkIHdpdGggYW4gYXJndW1lbnQgb2YgYW4gdW5zaWdu ZWQKKy1pbnRlZ2VyIHR5cGUgd2l0aCBhIHdpZHRoIG9mIDgsIDE2LCAzMiBvciA2NCBiaXRzLgor K2ludGVnZXIgdHlwZSB3aXRoIGEgd2lkdGggb2YgOCwgMTYsIDMyIG9yIDY0IGJpdHMsIG9yIHdo ZW4gdXNpbmcKKythIGNvbXBpbGVyIHdpdGggc3VwcG9ydCBmb3IKKytAdXJlZntodHRwczovL2dj Yy5nbnUub3JnL29ubGluZWRvY3MvZ2NjL090aGVyLUJ1aWx0aW5zLmh0bWwsQGNvZGV7X19idWls dGluX3N0ZGNfYml0X2NlaWx9fSwKKytldGMuQDosIGJ1aWx0LWluIGZ1bmN0aW9ucyBzdWNoIGFz IEdDQyAxNC4xIG9yIGxhdGVyCisrYW55IHVuc2lnbmVkIGludGVnZXIgdHlwZSB0aG9zZSBidWls dC1pbiBmdW5jdGlvbnMgc3VwcG9ydC4KKytJbiBHQ0MgMTQuMSB0aGF0IGluY2x1ZGVzIHN1cHBv cnQgZm9yIEBjb2Rle3Vuc2lnbmVkIF9faW50MTI4fSBhbmQKKytAY29kZXt1bnNpZ25lZCBfQml0 SW50KEB2YXJ7bn0pfSBpZiBzdXBwb3J0ZWQgYnkgdGhlIHRhcmdldC4KKyAKKyBAZGVmdHlwZWZ1 biB7dW5zaWduZWQgaW50fSBzdGRjX2xlYWRpbmdfemVyb3NfdWMgKHVuc2lnbmVkIGNoYXIgQHZh cnt4fSkKKyBAZGVmdHlwZWZ1bngge3Vuc2lnbmVkIGludH0gc3RkY19sZWFkaW5nX3plcm9zX3Vz ICh1bnNpZ25lZCBzaG9ydCBAdmFye3h9KQorZGlmZiAtLWdpdCBhL3N0ZGxpYi9NYWtlZmlsZSBi L3N0ZGxpYi9NYWtlZmlsZQoraW5kZXggZDU4N2YwNTRkMS4uOTg5OGNjNWQ4YSAxMDA2NDQKKy0t LSBhL3N0ZGxpYi9NYWtlZmlsZQorKysrIGIvc3RkbGliL01ha2VmaWxlCitAQCAtMzA4LDYgKzMw OCw3IEBAIHRlc3RzIDo9IFwKKyAgIHRzdC1zZXRjb250ZXh0MTAgXAorICAgdHN0LXNldGNvbnRl eHQxMSBcCisgICB0c3Qtc3RkYml0LVdjb252ZXJzaW9uIFwKKysgIHRzdC1zdGRiaXQtYnVpbHRp bnMgXAorICAgdHN0LXN0ZGNfYml0X2NlaWwgXAorICAgdHN0LXN0ZGNfYml0X2Zsb29yIFwKKyAg IHRzdC1zdGRjX2JpdF93aWR0aCBcCitkaWZmIC0tZ2l0IGEvc3RkbGliL3N0ZGJpdC5oIGIvc3Rk bGliL3N0ZGJpdC5oCitpbmRleCBmMzM0ZWIxNzRkLi4yODAxNTkwYzYzIDEwMDY0NAorLS0tIGEv c3RkbGliL3N0ZGJpdC5oCisrKysgYi9zdGRsaWIvc3RkYml0LmgKK0BAIC02NCw5ICs2NCwxMyBA QCBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfbGVhZGluZ196ZXJvc191bCAodW5zaWduZWQgbG9u ZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfbGVh ZGluZ196ZXJvc191bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJP VyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19sZWFkaW5nX3plcm9zKHgpCQkJ CVwKKysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfbGVhZGluZ196ZXJv cykKKysjIGRlZmluZSBzdGRjX2xlYWRpbmdfemVyb3MoeCkgKF9fYnVpbHRpbl9zdGRjX2xlYWRp bmdfemVyb3MgKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3RkY19sZWFkaW5nX3plcm9zKHgpCQkJ CVwKKyAgIChzdGRjX2xlYWRpbmdfemVyb3NfdWxsICh4KQkJCQlcCisgICAgLSAodW5zaWduZWQg aW50KSAoOCAqIChzaXplb2YgKDBVTEwpIC0gc2l6ZW9mICh4KSkpKQorKyNlbmRpZgorIAorICNp ZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5f Y2x6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQKK0BAIC0xMTYsOSAr MTIwLDEzIEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19sZWFkaW5nX29uZXNfdWwgKHVuc2ln bmVkIGxvbmcgaW50IF9feCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGludCBz dGRjX2xlYWRpbmdfb25lc191bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAg X19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19sZWFkaW5nX29uZXMo eCkJCQkJCVwKKysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfbGVhZGlu Z19vbmVzKQorKyMgZGVmaW5lIHN0ZGNfbGVhZGluZ19vbmVzKHgpIChfX2J1aWx0aW5fc3RkY19s ZWFkaW5nX29uZXMgKHgpKQorKyNlbHNlCisrIyBkZWZpbmUgc3RkY19sZWFkaW5nX29uZXMoeCkJ CQkJCVwKKyAgIChzdGRjX2xlYWRpbmdfb25lc191bGwgKCh1bnNpZ25lZCBsb25nIGxvbmcgaW50 KSAoeCkJCVwKKyAJCQkgIDw8IDggKiAoc2l6ZW9mICgwVUxMKSAtIHNpemVvZiAoeCkpKSkKKysj ZW5kaWYKKyAKKyAjaWYgX19HTlVDX1BSRVJFUSAoMywgNCkgfHwgX19nbGliY19oYXNfYnVpbHRp biAoX19idWlsdGluX2NsemxsKQorIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgaW50 CitAQCAtMTY4LDExICsxNzYsMTUgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX3RyYWlsaW5n X3plcm9zX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVy biB1bnNpZ25lZCBpbnQgc3RkY190cmFpbGluZ196ZXJvc191bGwgKHVuc2lnbmVkIGxvbmcgbG9u ZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUg c3RkY190cmFpbGluZ196ZXJvcyh4KQkJCQlcCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9f YnVpbHRpbl9zdGRjX3RyYWlsaW5nX3plcm9zKQorKyMgZGVmaW5lIHN0ZGNfdHJhaWxpbmdfemVy b3MoeCkgKF9fYnVpbHRpbl9zdGRjX3RyYWlsaW5nX3plcm9zICh4KSkKKysjZWxzZQorKyMgZGVm aW5lIHN0ZGNfdHJhaWxpbmdfemVyb3MoeCkJCQkJXAorICAgKHNpemVvZiAoeCkgPT0gOCA/IHN0 ZGNfdHJhaWxpbmdfemVyb3NfdWxsICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDQgPyBzdGRj X3RyYWlsaW5nX3plcm9zX3VpICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDIgPyBzdGRjX3Ry YWlsaW5nX3plcm9zX3VzIChfX3BhY2lmeV91aW50MTYgKHgpKQlcCisgICAgOiBzdGRjX3RyYWls aW5nX3plcm9zX3VjIChfX3BhY2lmeV91aW50OCAoeCkpKQorKyNlbmRpZgorIAorICNpZiBfX0dO VUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY3R6bGwp Cisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQKK0BAIC0yMjIsNyArMjM0LDEx IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY190cmFpbGluZ19vbmVzX3VsICh1bnNpZ25lZCBs b25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY190 cmFpbGluZ19vbmVzX3VsbCAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX3gpCisgICAgICBfX1RI Uk9XIF9fYXR0cmlidXRlX2NvbnN0X187CistI2RlZmluZSBzdGRjX3RyYWlsaW5nX29uZXMoeCkg KHN0ZGNfdHJhaWxpbmdfb25lc191bGwgKHgpKQorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChf X2J1aWx0aW5fc3RkY190cmFpbGluZ19vbmVzKQorKyMgZGVmaW5lIHN0ZGNfdHJhaWxpbmdfb25l cyh4KSAoX19idWlsdGluX3N0ZGNfdHJhaWxpbmdfb25lcyAoeCkpCisrI2Vsc2UKKysjIGRlZmlu ZSBzdGRjX3RyYWlsaW5nX29uZXMoeCkgKHN0ZGNfdHJhaWxpbmdfb25lc191bGwgKHgpKQorKyNl bmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGlu IChfX2J1aWx0aW5fY3R6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQK K0BAIC0yNzIsMTEgKzI4OCwxNSBAQCBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfZmlyc3RfbGVh ZGluZ196ZXJvX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4 dGVybiB1bnNpZ25lZCBpbnQgc3RkY19maXJzdF9sZWFkaW5nX3plcm9fdWxsICh1bnNpZ25lZCBs b25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19hdHRyaWJ1dGVfY29uc3RfXzsKKy0j ZGVmaW5lIHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvKHgpCQkJXAorKyNpZiBfX2dsaWJjX2hhc19i dWlsdGluIChfX2J1aWx0aW5fc3RkY19maXJzdF9sZWFkaW5nX3plcm8pCisrIyBkZWZpbmUgc3Rk Y19maXJzdF9sZWFkaW5nX3plcm8oeCkgKF9fYnVpbHRpbl9zdGRjX2ZpcnN0X2xlYWRpbmdfemVy byAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyh4KQkJCVwK KyAgIChzaXplb2YgKHgpID09IDggPyBzdGRjX2ZpcnN0X2xlYWRpbmdfemVyb191bGwgKHgpCVwK KyAgICA6IHNpemVvZiAoeCkgPT0gNCA/IHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvX3VpICh4KQlc CisgICAgOiBzaXplb2YgKHgpID09IDIgPyBzdGRjX2ZpcnN0X2xlYWRpbmdfemVyb191cyAoX19w YWNpZnlfdWludDE2ICh4KSkJXAorICAgIDogc3RkY19maXJzdF9sZWFkaW5nX3plcm9fdWMgKF9f cGFjaWZ5X3VpbnQ4ICh4KSkpCisrI2VuZGlmCisgCisgI2lmIF9fR05VQ19QUkVSRVEgKDMsIDQp IHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9jbHpsbCkKKyBzdGF0aWMgX19hbHdh eXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAgLTMyNiwxMSArMzQ2LDE1IEBAIGV4dGVybiB1bnNp Z25lZCBpbnQgc3RkY19maXJzdF9sZWFkaW5nX29uZV91bCAodW5zaWduZWQgbG9uZyBpbnQgX194 KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4gdW5zaWduZWQgaW50IHN0ZGNfZmlyc3RfbGVhZGlu Z19vbmVfdWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19h dHRyaWJ1dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfZmlyc3RfbGVhZGluZ19vbmUoeCkJCQlc CisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2ZpcnN0X2xlYWRpbmdf b25lKQorKyMgZGVmaW5lIHN0ZGNfZmlyc3RfbGVhZGluZ19vbmUoeCkgKF9fYnVpbHRpbl9zdGRj X2ZpcnN0X2xlYWRpbmdfb25lICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfZmlyc3RfbGVh ZGluZ19vbmUoeCkJCQlcCisgICAoc2l6ZW9mICh4KSA9PSA4ID8gc3RkY19maXJzdF9sZWFkaW5n X29uZV91bGwgKHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gNCA/IHN0ZGNfZmlyc3RfbGVhZGlu Z19vbmVfdWkgKHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gMiA/IHN0ZGNfZmlyc3RfbGVhZGlu Z19vbmVfdXMgKF9fcGFjaWZ5X3VpbnQxNiAoeCkpCVwKKyAgICA6IHN0ZGNfZmlyc3RfbGVhZGlu Z19vbmVfdWMgKF9fcGFjaWZ5X3VpbnQ4ICh4KSkpCisrI2VuZGlmCisgCisgI2lmIF9fR05VQ19Q UkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9jbHpsbCkKKyBz dGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAgLTM4MCwxMSArNDA0LDE1IEBA IGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19maXJzdF90cmFpbGluZ196ZXJvX3VsICh1bnNpZ25l ZCBsb25nIGludCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3Rk Y19maXJzdF90cmFpbGluZ196ZXJvX3VsbCAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX3gpCisg ICAgICBfX1RIUk9XIF9fYXR0cmlidXRlX2NvbnN0X187CistI2RlZmluZSBzdGRjX2ZpcnN0X3Ry YWlsaW5nX3plcm8oeCkJCQlcCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9z dGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8pCisrIyBkZWZpbmUgc3RkY19maXJzdF90cmFpbGluZ196 ZXJvKHgpIChfX2J1aWx0aW5fc3RkY19maXJzdF90cmFpbGluZ196ZXJvICh4KSkKKysjZWxzZQor KyMgZGVmaW5lIHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyh4KQkJCVwKKyAgIChzaXplb2YgKHgp ID09IDggPyBzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm9fdWxsICh4KQlcCisgICAgOiBzaXplb2Yg KHgpID09IDQgPyBzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm9fdWkgKHgpCVwKKyAgICA6IHNpemVv ZiAoeCkgPT0gMiA/IHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVyb191cyAoX19wYWNpZnlfdWludDE2 ICh4KSkgXAorICAgIDogc3RkY19maXJzdF90cmFpbGluZ196ZXJvX3VjIChfX3BhY2lmeV91aW50 OCAoeCkpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJj X2hhc19idWlsdGluIChfX2J1aWx0aW5fY3R6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1 bnNpZ25lZCBpbnQKK0BAIC00MzQsMTEgKzQ2MiwxNSBAQCBleHRlcm4gdW5zaWduZWQgaW50IHN0 ZGNfZmlyc3RfdHJhaWxpbmdfb25lX3VsICh1bnNpZ25lZCBsb25nIGludCBfX3gpCisgX19leHRl bnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19maXJzdF90cmFpbGluZ19vbmVfdWxs ICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19hdHRyaWJ1dGVf Y29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lKHgpCQkJXAorKyNpZiBf X2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19maXJzdF90cmFpbGluZ19vbmUpCisr IyBkZWZpbmUgc3RkY19maXJzdF90cmFpbGluZ19vbmUoeCkgKF9fYnVpbHRpbl9zdGRjX2ZpcnN0 X3RyYWlsaW5nX29uZSAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2ZpcnN0X3RyYWlsaW5n X29uZSh4KQkJCVwKKyAgIChzaXplb2YgKHgpID09IDggPyBzdGRjX2ZpcnN0X3RyYWlsaW5nX29u ZV91bGwgKHgpCVwKKyAgICA6IHNpemVvZiAoeCkgPT0gNCA/IHN0ZGNfZmlyc3RfdHJhaWxpbmdf b25lX3VpICh4KQlcCisgICAgOiBzaXplb2YgKHgpID09IDIgPyBzdGRjX2ZpcnN0X3RyYWlsaW5n X29uZV91cyAoX19wYWNpZnlfdWludDE2ICh4KSkJXAorICAgIDogc3RkY19maXJzdF90cmFpbGlu Z19vbmVfdWMgKF9fcGFjaWZ5X3VpbnQ4ICh4KSkpCisrI2VuZGlmCisgCisgI2lmIF9fR05VQ19Q UkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9jdHpsbCkKKyBz dGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAgLTQ4OCw5ICs1MjAsMTMgQEAg ZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2NvdW50X3plcm9zX3VsICh1bnNpZ25lZCBsb25nIGlu dCBfX3gpCisgX19leHRlbnNpb25fXworIGV4dGVybiB1bnNpZ25lZCBpbnQgc3RkY19jb3VudF96 ZXJvc191bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0 dHJpYnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19jb3VudF96ZXJvcyh4KQkJCQlcCisrI2lm IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2NvdW50X3plcm9zKQorKyMgZGVm aW5lIHN0ZGNfY291bnRfemVyb3MoeCkgKF9fYnVpbHRpbl9zdGRjX2NvdW50X3plcm9zICh4KSkK KysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfY291bnRfemVyb3MoeCkJCQkJXAorICAgKHN0ZGNfY291 bnRfemVyb3NfdWxsICh4KQkJCQlcCisgICAgLSAodW5zaWduZWQgaW50KSAoOCAqIChzaXplb2Yg KDBVTEwpIC0gc2l6ZW9mICh4KSkpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgz LCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fcG9wY291bnRsbCkKKyBzdGF0 aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludAorQEAgLTU0MCw3ICs1NzYsMTEgQEAgZXh0 ZXJuIHVuc2lnbmVkIGludCBzdGRjX2NvdW50X29uZXNfdWwgKHVuc2lnbmVkIGxvbmcgaW50IF9f eCkKKyBfX2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2NvdW50X29uZXNf dWxsICh1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9feCkKKyAgICAgIF9fVEhST1cgX19hdHRyaWJ1 dGVfY29uc3RfXzsKKy0jZGVmaW5lIHN0ZGNfY291bnRfb25lcyh4KSAoc3RkY19jb3VudF9vbmVz X3VsbCAoeCkpCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2NvdW50 X29uZXMpCisrIyBkZWZpbmUgc3RkY19jb3VudF9vbmVzKHgpIChfX2J1aWx0aW5fc3RkY19jb3Vu dF9vbmVzICh4KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfY291bnRfb25lcyh4KSAoc3RkY19j b3VudF9vbmVzX3VsbCAoeCkpCisrI2VuZGlmCisgCisgI2lmIF9fR05VQ19QUkVSRVEgKDMsIDQp IHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9wb3Bjb3VudGxsKQorIHN0YXRpYyBf X2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgaW50CitAQCAtNTkwLDEwICs2MzAsMTQgQEAgZXh0ZXJu IGJvb2wgc3RkY19oYXNfc2luZ2xlX2JpdF91bCAodW5zaWduZWQgbG9uZyBpbnQgX194KQorIF9f ZXh0ZW5zaW9uX18KKyBleHRlcm4gYm9vbCBzdGRjX2hhc19zaW5nbGVfYml0X3VsbCAodW5zaWdu ZWQgbG9uZyBsb25nIGludCBfX3gpCisgICAgICBfX1RIUk9XIF9fYXR0cmlidXRlX2NvbnN0X187 CistI2RlZmluZSBzdGRjX2hhc19zaW5nbGVfYml0KHgpCQkJCVwKKysjaWYgX19nbGliY19oYXNf YnVpbHRpbiAoX19idWlsdGluX3N0ZGNfaGFzX3NpbmdsZV9iaXQpCisrIyBkZWZpbmUgc3RkY19o YXNfc2luZ2xlX2JpdCh4KSAoX19idWlsdGluX3N0ZGNfaGFzX3NpbmdsZV9iaXQgKHgpKQorKyNl bHNlCisrIyBkZWZpbmUgc3RkY19oYXNfc2luZ2xlX2JpdCh4KQkJCQlcCisgICAoKGJvb2wpIChz aXplb2YgKHgpIDw9IHNpemVvZiAodW5zaWduZWQgaW50KQkJXAorIAkgICA/IHN0ZGNfaGFzX3Np bmdsZV9iaXRfdWkgKHgpCQkJXAorIAkgICA6IHN0ZGNfaGFzX3NpbmdsZV9iaXRfdWxsICh4KSkp CisrI2VuZGlmCisgCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSBib29sCisgX19oc2I2NF9pbmxp bmUgKHVpbnQ2NF90IF9feCkKK0BAIC02NDEsNyArNjg1LDExIEBAIGV4dGVybiB1bnNpZ25lZCBp bnQgc3RkY19iaXRfd2lkdGhfdWwgKHVuc2lnbmVkIGxvbmcgaW50IF9feCkKKyBfX2V4dGVuc2lv bl9fCisgZXh0ZXJuIHVuc2lnbmVkIGludCBzdGRjX2JpdF93aWR0aF91bGwgKHVuc2lnbmVkIGxv bmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNk ZWZpbmUgc3RkY19iaXRfd2lkdGgoeCkgKHN0ZGNfYml0X3dpZHRoX3VsbCAoeCkpCisrI2lmIF9f Z2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2JpdF93aWR0aCkKKysjIGRlZmluZSBz dGRjX2JpdF93aWR0aCh4KSAoX19idWlsdGluX3N0ZGNfYml0X3dpZHRoICh4KSkKKysjZWxzZQor KyMgZGVmaW5lIHN0ZGNfYml0X3dpZHRoKHgpIChzdGRjX2JpdF93aWR0aF91bGwgKHgpKQorKyNl bmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgzLCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGlu IChfX2J1aWx0aW5fY2x6bGwpCisgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQK K0BAIC02OTEsNyArNzM5LDExIEBAIGV4dGVybiB1bnNpZ25lZCBsb25nIGludCBzdGRjX2JpdF9m bG9vcl91bCAodW5zaWduZWQgbG9uZyBpbnQgX194KQorIF9fZXh0ZW5zaW9uX18KKyBleHRlcm4g dW5zaWduZWQgbG9uZyBsb25nIGludCBzdGRjX2JpdF9mbG9vcl91bGwgKHVuc2lnbmVkIGxvbmcg bG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJpYnV0ZV9jb25zdF9fOworLSNkZWZp bmUgc3RkY19iaXRfZmxvb3IoeCkgKChfX3R5cGVvZiAoeCkpIHN0ZGNfYml0X2Zsb29yX3VsbCAo eCkpCisrI2lmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9zdGRjX2JpdF9mbG9vcikK KysjIGRlZmluZSBzdGRjX2JpdF9mbG9vcih4KSAoX19idWlsdGluX3N0ZGNfYml0X2Zsb29yICh4 KSkKKysjZWxzZQorKyMgZGVmaW5lIHN0ZGNfYml0X2Zsb29yKHgpICgoX190eXBlb2YgKHgpKSBz dGRjX2JpdF9mbG9vcl91bGwgKHgpKQorKyNlbmRpZgorIAorICNpZiBfX0dOVUNfUFJFUkVRICgz LCA0KSB8fCBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fY2x6bGwpCisgc3RhdGljIF9f YWx3YXlzX2lubGluZSB1aW50NjRfdAorQEAgLTc0Myw3ICs3OTUsMTEgQEAgZXh0ZXJuIHVuc2ln bmVkIGxvbmcgaW50IHN0ZGNfYml0X2NlaWxfdWwgKHVuc2lnbmVkIGxvbmcgaW50IF9feCkKKyBf X2V4dGVuc2lvbl9fCisgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RkY19iaXRfY2Vp bF91bGwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX194KQorICAgICAgX19USFJPVyBfX2F0dHJp YnV0ZV9jb25zdF9fOworLSNkZWZpbmUgc3RkY19iaXRfY2VpbCh4KSAoKF9fdHlwZW9mICh4KSkg c3RkY19iaXRfY2VpbF91bGwgKHgpKQorKyNpZiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0 aW5fc3RkY19iaXRfY2VpbCkKKysjIGRlZmluZSBzdGRjX2JpdF9jZWlsKHgpIChfX2J1aWx0aW5f c3RkY19iaXRfY2VpbCAoeCkpCisrI2Vsc2UKKysjIGRlZmluZSBzdGRjX2JpdF9jZWlsKHgpICgo X190eXBlb2YgKHgpKSBzdGRjX2JpdF9jZWlsX3VsbCAoeCkpCisrI2VuZGlmCisgCisgI2lmIF9f R05VQ19QUkVSRVEgKDMsIDQpIHx8IF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9fYnVpbHRpbl9jbHps bCkKKyBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVpbnQ2NF90CitkaWZmIC0tZ2l0IGEvc3RkbGli L3RzdC1zdGRiaXQtYnVpbHRpbnMuYyBiL3N0ZGxpYi90c3Qtc3RkYml0LWJ1aWx0aW5zLmMKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi41MzY4NDFjYThhCistLS0gL2Rl di9udWxsCisrKysgYi9zdGRsaWIvdHN0LXN0ZGJpdC1idWlsdGlucy5jCitAQCAtMCwwICsxLDc3 OCBAQAorKy8qIFRlc3QgPHN0ZGJpdC5oPiB0eXBlLWdlbmVyaWMgbWFjcm9zIHdpdGggY29tcGls ZXIgX19idWlsdGluX3N0ZGNfKiBzdXBwb3J0LgorKyAgIENvcHlyaWdodCAoQykgMjAyNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg R05VIEMgTGlicmFyeS4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgICBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICAgdmVy c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICAg TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg UHVibGljCisrICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3Qs IHNlZQorKyAgIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKyNpbmNs dWRlIDxzdGRiaXQuaD4KKysjaW5jbHVkZSA8bGltaXRzLmg+CisrI2luY2x1ZGUgPHN1cHBvcnQv Y2hlY2suaD4KKysKKysjaWYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfbGVh ZGluZ196ZXJvcykgXAorKyAgICAmJiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3Rk Y19sZWFkaW5nX29uZXMpIFwKKysgICAgJiYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGlu X3N0ZGNfdHJhaWxpbmdfemVyb3MpIFwKKysgICAgJiYgX19nbGliY19oYXNfYnVpbHRpbiAoX19i dWlsdGluX3N0ZGNfdHJhaWxpbmdfb25lcykgXAorKyAgICAmJiBfX2dsaWJjX2hhc19idWlsdGlu IChfX2J1aWx0aW5fc3RkY19maXJzdF9sZWFkaW5nX3plcm8pIFwKKysgICAgJiYgX19nbGliY19o YXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfZmlyc3RfbGVhZGluZ19vbmUpIFwKKysgICAgJiYg X19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNfZmlyc3RfdHJhaWxpbmdfemVybykg XAorKyAgICAmJiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5fc3RkY19maXJzdF90cmFp bGluZ19vbmUpIFwKKysgICAgJiYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0ZGNf Y291bnRfemVyb3MpIFwKKysgICAgJiYgX19nbGliY19oYXNfYnVpbHRpbiAoX19idWlsdGluX3N0 ZGNfY291bnRfb25lcykgXAorKyAgICAmJiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1aWx0aW5f c3RkY19oYXNfc2luZ2xlX2JpdCkgXAorKyAgICAmJiBfX2dsaWJjX2hhc19idWlsdGluIChfX2J1 aWx0aW5fc3RkY19iaXRfd2lkdGgpIFwKKysgICAgJiYgX19nbGliY19oYXNfYnVpbHRpbiAoX19i dWlsdGluX3N0ZGNfYml0X2Zsb29yKSBcCisrICAgICYmIF9fZ2xpYmNfaGFzX2J1aWx0aW4gKF9f YnVpbHRpbl9zdGRjX2JpdF9jZWlsKQorKworKyMgaWYgIWRlZmluZWQgKEJJVElOVF9NQVhXSURU SCkgJiYgZGVmaW5lZCAoX19CSVRJTlRfTUFYV0lEVEhfXykKKysjICBkZWZpbmUgQklUSU5UX01B WFdJRFRIIF9fQklUSU5UX01BWFdJRFRIX18KKysjIGVuZGlmCisrCisrdHlwZWRlZiB1bnNpZ25l ZCBjaGFyIHVjOworK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgdXM7CisrdHlwZWRlZiB1bnNpZ25l ZCBpbnQgdWk7CisrdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1bDsKKyt0eXBlZGVmIHVuc2ln bmVkIGxvbmcgbG9uZyBpbnQgdWxsOworKworKyMgZGVmaW5lIGV4cHJfaGFzX3R5cGUoZSwgdCkg X0dlbmVyaWMgKGUsIGRlZmF1bHQgOiAwLCB0IDogMSkKKysKKytzdGF0aWMgaW50CisrZG9fdGVz dCAodm9pZCkKKyt7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ196ZXJvcyAoKHVjKSAw KSwgQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2xlYWRp bmdfemVyb3MgKCh1YykgMCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGlu Z196ZXJvcyAoKHVzKSAwKSwgc2l6ZW9mIChzaG9ydCkgKiBDSEFSX0JJVCk7CisrICBURVNUX0NP TVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfbGVhZGluZ196ZXJvcyAoKHVzKSAwKSwgdWkpLCAx KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICgwVSksIHNpemVvZiAoaW50 KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19sZWFk aW5nX3plcm9zICgwVSksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ196 ZXJvcyAoMFVMKSwgc2l6ZW9mIChsb25nIGludCkgKiBDSEFSX0JJVCk7CisrICBURVNUX0NPTVBB UkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfbGVhZGluZ196ZXJvcyAoMFVMKSwgdWkpLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICgwVUxMKSwgc2l6ZW9mIChsb25nIGxv bmcgaW50KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3Rk Y19sZWFkaW5nX3plcm9zICgwVUxMKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19s ZWFkaW5nX3plcm9zICgodWMpIH4wVSksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRp bmdfemVyb3MgKCh1cykgfjBVKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ196 ZXJvcyAofjBVKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ196ZXJvcyAofjBV TCksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfemVyb3MgKH4wVUxMKSwgMCk7 CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ196ZXJvcyAoKHVjKSAzKSwgQ0hBUl9CSVQg LSAyKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICgodXMpIDkpLCBzaXpl b2YgKHNob3J0KSAqIENIQVJfQklUIC0gNCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGlu Z196ZXJvcyAoMzRVKSwgc2l6ZW9mIChpbnQpICogQ0hBUl9CSVQgLSA2KTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICgxMzBVTCksIHNpemVvZiAobG9uZyBpbnQpICogQ0hB Ul9CSVQgLSA4KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICg1MTJVTEwp LAorKwkJc2l6ZW9mIChsb25nIGxvbmcgaW50KSAqIENIQVJfQklUIC0gMTApOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAoKHVjKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUg KGV4cHJfaGFzX3R5cGUgKHN0ZGNfbGVhZGluZ19vbmVzICgodWMpIDApLCB1aSksIDEpOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAoKHVzKSAwKSwgMCk7CisrICBURVNUX0NP TVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfbGVhZGluZ19vbmVzICgodXMpIDApLCB1aSksIDEp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAoMFUpLCAwKTsKKysgIFRFU1Rf Q09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19sZWFkaW5nX29uZXMgKDBVKSwgdWkpLCAxKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX29uZXMgKDBVTCksIDApOworKyAgVEVTVF9D T01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2xlYWRpbmdfb25lcyAoMFVMKSwgdWkpLCAxKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX29uZXMgKDBVTEwpLCAwKTsKKysgIFRFU1Rf Q09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19sZWFkaW5nX29uZXMgKDBVTEwpLCB1aSksIDEp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAoKHVjKSB+MFUpLCBDSEFSX0JJ VCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ19vbmVzICgodXMpIH4wVSksIHNpemVv ZiAoc2hvcnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25l cyAofjBVKSwgc2l6ZW9mIChpbnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRj X2xlYWRpbmdfb25lcyAofjBVTCksIHNpemVvZiAobG9uZyBpbnQpICogQ0hBUl9CSVQpOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAofjBVTEwpLCBzaXplb2YgKGxvbmcgbG9u ZyBpbnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAo KHVjKSB+MyksIENIQVJfQklUIC0gMik7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ19v bmVzICgodXMpIH45KSwgc2l6ZW9mIChzaG9ydCkgKiBDSEFSX0JJVCAtIDQpOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAofjM0VSksIHNpemVvZiAoaW50KSAqIENIQVJfQklU IC0gNik7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ19vbmVzICh+MTMwVUwpLCBzaXpl b2YgKGxvbmcgaW50KSAqIENIQVJfQklUIC0gOCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVh ZGluZ19vbmVzICh+NTEyVUxMKSwKKysJCXNpemVvZiAobG9uZyBsb25nIGludCkgKiBDSEFSX0JJ VCAtIDEwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAoKHVjKSAwKSwg Q0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX3RyYWlsaW5n X3plcm9zICgodWMpIDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5n X3plcm9zICgodXMpIDApLCBzaXplb2YgKHNob3J0KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09N UEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY190cmFpbGluZ196ZXJvcyAoKHVzKSAwKSwgdWkpLCAx KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAoMFUpLCBzaXplb2YgKGlu dCkgKiBDSEFSX0JJVCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfdHJh aWxpbmdfemVyb3MgKDBVKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGlu Z196ZXJvcyAoMFVMKSwgc2l6ZW9mIChsb25nIGludCkgKiBDSEFSX0JJVCk7CisrICBURVNUX0NP TVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfdHJhaWxpbmdfemVyb3MgKDBVTCksIHVpKSwgMSk7 CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfemVyb3MgKDBVTEwpLCBzaXplb2YgKGxv bmcgbG9uZyBpbnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBl IChzdGRjX3RyYWlsaW5nX3plcm9zICgwVUxMKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAo c3RkY190cmFpbGluZ196ZXJvcyAoKHVjKSB+MFUpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3Rk Y190cmFpbGluZ196ZXJvcyAoKHVzKSB+MFUpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190 cmFpbGluZ196ZXJvcyAofjBVKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdf emVyb3MgKH4wVUwpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAo fjBVTEwpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAoKHVjKSAy KSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfemVyb3MgKCh1cykgMjQpLCAz KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAoMzJVKSwgNSk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfemVyb3MgKDEyOFVMKSwgNyk7CisrICBURVNUX0NP TVBBUkUgKHN0ZGNfdHJhaWxpbmdfemVyb3MgKDUxMlVMTCksIDkpOworKyAgVEVTVF9DT01QQVJF IChzdGRjX3RyYWlsaW5nX29uZXMgKCh1YykgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChleHBy X2hhc190eXBlIChzdGRjX3RyYWlsaW5nX29uZXMgKCh1YykgMCksIHVpKSwgMSk7CisrICBURVNU X0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoKHVzKSAwKSwgMCk7CisrICBURVNUX0NPTVBB UkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoKHVzKSAwKSwgdWkpLCAxKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICgwVSksIDApOworKyAgVEVTVF9D T01QQVJFIChleHByX2hhc190eXBlIChzdGRjX3RyYWlsaW5nX29uZXMgKDBVKSwgdWkpLCAxKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICgwVUwpLCAwKTsKKysgIFRFU1Rf Q09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY190cmFpbGluZ19vbmVzICgwVUwpLCB1aSksIDEp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5nX29uZXMgKDBVTEwpLCAwKTsKKysgIFRF U1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY190cmFpbGluZ19vbmVzICgwVUxMKSwgdWkp LCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICgodWMpIH4wVSksIENI QVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICgodXMpIH4wVSks IHNpemVvZiAoc2hvcnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWls aW5nX29uZXMgKH4wVSksIHNpemVvZiAoaW50KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFS RSAoc3RkY190cmFpbGluZ19vbmVzICh+MFVMKSwgc2l6ZW9mIChsb25nIGludCkgKiBDSEFSX0JJ VCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAofjBVTEwpLCBzaXplb2Yg KGxvbmcgbG9uZyBpbnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWls aW5nX29uZXMgKCh1YykgNSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5nX29u ZXMgKCh1cykgMTUpLCA0KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICgx MjdVKSwgNyk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoNTExVUwpLCA5 KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICh+MFVMTCA+PiAyKSwKKysJ CXNpemVvZiAobG9uZyBsb25nIGludCkgKiBDSEFSX0JJVCAtIDIpOworKyAgVEVTVF9DT01QQVJF IChzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoKHVjKSAwKSwgMSk7CisrICBURVNUX0NPTVBBUkUg KGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICgodWMpIDApLCB1aSksIDEp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoKHVzKSAwKSwgMSk7 CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJv ICgodXMpIDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdf emVybyAoMFUpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19maXJz dF9sZWFkaW5nX3plcm8gKDBVKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJz dF9sZWFkaW5nX3plcm8gKDBVTCksIDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBl IChzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoMFVMKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFS RSAoc3RkY19maXJzdF9sZWFkaW5nX3plcm8gKDBVTEwpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAo ZXhwcl9oYXNfdHlwZSAoc3RkY19maXJzdF9sZWFkaW5nX3plcm8gKDBVTEwpLCB1aSksIDEpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoKHVjKSB+MFUpLCAwKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX3plcm8gKCh1cykgfjBVKSwgMCk7 CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICh+MFUpLCAwKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX3plcm8gKH4wVUwpLCAwKTsKKysgIFRF U1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX3plcm8gKH4wVUxMKSwgMCk7CisrICBURVNU X0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICgodWMpIH4zVSksIENIQVJfQklUIC0g MSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICgodXMpIH4xNVUp LAorKwkJc2l6ZW9mIChzaG9ydCkgKiBDSEFSX0JJVCAtIDMpOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2ZpcnN0X2xlYWRpbmdfemVybyAofjYzVSksIHNpemVvZiAoaW50KSAqIENIQVJfQklUIC0g NSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICh+MjU1VUwpLAor KwkJc2l6ZW9mIChsb25nIGludCkgKiBDSEFSX0JJVCAtIDcpOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2ZpcnN0X2xlYWRpbmdfemVybyAofjEwMjNVTEwpLAorKwkJc2l6ZW9mIChsb25nIGxvbmcg aW50KSAqIENIQVJfQklUIC0gOSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGlu Z19vbmUgKCh1YykgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRj X2ZpcnN0X2xlYWRpbmdfb25lICgodWMpIDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2ZpcnN0X2xlYWRpbmdfb25lICgodXMpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhw cl9oYXNfdHlwZSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoKHVzKSAwKSwgdWkpLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoMFUpLCAwKTsKKysgIFRFU1Rf Q09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoMFUpLCB1aSks IDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lICgwVUwpLCAwKTsK KysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAo MFVMKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAo MFVMTCksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X2xl YWRpbmdfb25lICgwVUxMKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9s ZWFkaW5nX29uZSAoKHVjKSB+MFUpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9s ZWFkaW5nX29uZSAoKHVzKSB+MFUpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9s ZWFkaW5nX29uZSAofjBVKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGlu Z19vbmUgKH4wVUwpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29u ZSAofjBVTEwpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAo KHVjKSAzKSwgQ0hBUl9CSVQgLSAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFk aW5nX29uZSAoKHVzKSA5KSwKKysJCXNpemVvZiAoc2hvcnQpICogQ0hBUl9CSVQgLSAzKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoMzRVKSwgc2l6ZW9mIChpbnQp ICogQ0hBUl9CSVQgLSA1KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29u ZSAoMTMwVUwpLAorKwkJc2l6ZW9mIChsb25nIGludCkgKiBDSEFSX0JJVCAtIDcpOworKyAgVEVT VF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lICg1MTJVTEwpLAorKwkJc2l6ZW9mIChs b25nIGxvbmcgaW50KSAqIENIQVJfQklUIC0gOSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmly c3RfdHJhaWxpbmdfemVybyAoKHVjKSAwKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFz X3R5cGUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoKHVjKSAwKSwgdWkpLCAxKTsKKysgIFRF U1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICgodXMpIDApLCAxKTsKKysgIFRF U1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICgodXMp IDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8g KDBVKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfdHJh aWxpbmdfemVybyAoMFUpLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3Ry YWlsaW5nX3plcm8gKDBVTCksIDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChz dGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8gKDBVTCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUg KHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoMFVMTCksIDEpOworKyAgVEVTVF9DT01QQVJFIChl eHByX2hhc190eXBlIChzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8gKDBVTEwpLCB1aSksIDEpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8gKCh1YykgfjBVKSwgMCk7 CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoKHVzKSB+MFUpLCAw KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICh+MFUpLCAwKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICh+MFVMKSwgMCk7Cisr ICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAofjBVTEwpLCAwKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICgodWMpIDIpLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICgodXMpIDE1KSwgNSk7Cisr ICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoNjNVKSwgNyk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoMTI4VUwpLCAxKTsKKysgIFRF U1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICg1MTFVTEwpLCAxMCk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lICgodWMpIDApLCAwKTsKKysgIFRF U1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19maXJzdF90cmFpbGluZ19vbmUgKCh1Yykg MCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lICgo dXMpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19maXJzdF90 cmFpbGluZ19vbmUgKCh1cykgMCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmly c3RfdHJhaWxpbmdfb25lICgwVSksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBl IChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoMFUpLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJF IChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoMFVMKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4 cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lICgwVUwpLCB1aSksIDEpOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoMFVMTCksIDApOworKyAgVEVT VF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoMFVMTCks IHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lICgodWMp IH4wVSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoKHVz KSB+MFUpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ19vbmUgKH4w VSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAofjBVTCks IDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAofjBVTEwpLCAx KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ19vbmUgKCh1YykgNCksIDMp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoKHVzKSA5NiksIDYp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoMTI3VSksIDEpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoNTExVUwpLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ19vbmUgKH4wVUxMIDw8IDEyKSwgMTMp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X3plcm9zICgodWMpIDApLCBDSEFSX0JJVCk7 CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfY291bnRfemVyb3MgKCh1Yykg MCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfemVyb3MgKCh1cykgMCks IHNpemVvZiAoc2hvcnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190 eXBlIChzdGRjX2NvdW50X3plcm9zICgodXMpIDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJF IChzdGRjX2NvdW50X3plcm9zICgwVSksIHNpemVvZiAoaW50KSAqIENIQVJfQklUKTsKKysgIFRF U1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19jb3VudF96ZXJvcyAoMFUpLCB1aSksIDEp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X3plcm9zICgwVUwpLCBzaXplb2YgKGxvbmcg aW50KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19j b3VudF96ZXJvcyAoMFVMKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF96 ZXJvcyAoMFVMTCksIHNpemVvZiAobG9uZyBsb25nIGludCkgKiBDSEFSX0JJVCk7CisrICBURVNU X0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfY291bnRfemVyb3MgKDBVTEwpLCB1aSksIDEp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X3plcm9zICgodWMpIH4wVSksIDApOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2NvdW50X3plcm9zICgodXMpIH4wVSksIDApOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2NvdW50X3plcm9zICh+MFUpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3Rk Y19jb3VudF96ZXJvcyAofjBVTCksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X3pl cm9zICh+MFVMTCksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X3plcm9zICgodWMp IDFVKSwgQ0hBUl9CSVQgLSAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF96ZXJvcyAo KHVzKSA0MiksIHNpemVvZiAoc2hvcnQpICogQ0hBUl9CSVQgLSAzKTsKKysgIFRFU1RfQ09NUEFS RSAoc3RkY19jb3VudF96ZXJvcyAoMjkxVSksIHNpemVvZiAoaW50KSAqIENIQVJfQklUIC0gNCk7 CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfemVyb3MgKH4xMzE1VUwpLCA1KTsKKysgIFRF U1RfQ09NUEFSRSAoc3RkY19jb3VudF96ZXJvcyAoMzM2M1VMTCksCisrCQlzaXplb2YgKGxvbmcg bG9uZyBpbnQpICogQ0hBUl9CSVQgLSA2KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF9v bmVzICgodWMpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19j b3VudF9vbmVzICgodWMpIDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50 X29uZXMgKCh1cykgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRj X2NvdW50X29uZXMgKCh1cykgMCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291 bnRfb25lcyAoMFUpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19j b3VudF9vbmVzICgwVSksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfb25l cyAoMFVMKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfY291bnRf b25lcyAoMFVMKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF9vbmVzICgw VUxMKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfY291bnRfb25l cyAoMFVMTCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfb25lcyAoKHVj KSB+MFUpLCBDSEFSX0JJVCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfb25lcyAoKHVz KSB+MFUpLCBzaXplb2YgKHNob3J0KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoc3Rk Y19jb3VudF9vbmVzICh+MFUpLCBzaXplb2YgKGludCkgKiBDSEFSX0JJVCk7CisrICBURVNUX0NP TVBBUkUgKHN0ZGNfY291bnRfb25lcyAofjBVTCksIHNpemVvZiAobG9uZyBpbnQpICogQ0hBUl9C SVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X29uZXMgKH4wVUxMKSwgc2l6ZW9mIChs b25nIGxvbmcgaW50KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF9v bmVzICgodWMpIH4xVSksIENIQVJfQklUIC0gMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291 bnRfb25lcyAoKHVzKSB+NDIpLCBzaXplb2YgKHNob3J0KSAqIENIQVJfQklUIC0gMyk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfb25lcyAofjI5MVUpLCBzaXplb2YgKGludCkgKiBDSEFS X0JJVCAtIDQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X29uZXMgKDEzMTVVTCksIDUp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X29uZXMgKH4zMzYzVUxMKSwKKysJCXNpemVv ZiAobG9uZyBsb25nIGludCkgKiBDSEFSX0JJVCAtIDYpOworKyAgVEVTVF9DT01QQVJFIChzdGRj X2hhc19zaW5nbGVfYml0ICgodWMpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNf dHlwZSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoKHVjKSAwKSwgX0Jvb2wpLCAxKTsKKysgIFRFU1Rf Q09NUEFSRSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoKHVzKSAwKSwgMCk7CisrICBURVNUX0NPTVBB UkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKCh1cykgMCksIF9Cb29sKSwg MSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKDBVKSwgMCk7CisrICBU RVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKDBVKSwgX0Jv b2wpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoMFVMKSwgMCk7 CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKDBV TCksIF9Cb29sKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKDBV TEwpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19oYXNfc2luZ2xl X2JpdCAoMFVMTCksIF9Cb29sKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3Npbmds ZV9iaXQgKCh1YykgMiksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2hhc19zaW5nbGVfYml0 ICgodXMpIDgpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoMzJV KSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKDEyOFVMKSwgMSk7 CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKDUxMlVMTCksIDEpOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2hhc19zaW5nbGVfYml0ICgodWMpIDcpLCAwKTsKKysgIFRFU1Rf Q09NUEFSRSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoKHVzKSA5NiksIDApOworKyAgVEVTVF9DT01Q QVJFIChzdGRjX2hhc19zaW5nbGVfYml0ICg1MTNVKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0 ZGNfaGFzX3NpbmdsZV9iaXQgKDEwMjJVTCksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2hh c19zaW5nbGVfYml0ICgxMlVMTCksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0 aCAoKHVjKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfYml0 X3dpZHRoICgodWMpIDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0 aCAoKHVzKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfYml0 X3dpZHRoICgodXMpIDApLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0 aCAoMFUpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfd2lk dGggKDBVKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfd2lkdGggKDBVTCks IDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2JpdF93aWR0aCAoMFVM KSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfd2lkdGggKDBVTEwpLCAwKTsK KysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfd2lkdGggKDBVTEwpLCB1 aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAoKHVjKSB+MFUpLCBDSEFS X0JJVCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X3dpZHRoICgodXMpIH4wVSksIHNpemVv ZiAoc2hvcnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAo fjBVKSwgc2l6ZW9mIChpbnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2Jp dF93aWR0aCAofjBVTCksIHNpemVvZiAobG9uZyBpbnQpICogQ0hBUl9CSVQpOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2JpdF93aWR0aCAofjBVTEwpLCBzaXplb2YgKGxvbmcgbG9uZyBpbnQpICog Q0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAoKHVjKSAoKHVjKSB+ MFUgPj4gMSkpLCBDSEFSX0JJVCAtIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0 aCAoKHVjKSA2KSwgMyk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X3dpZHRoICgodXMpIDEy VSksIDQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAoKHVzKSAoKHVzKSB+MFUg Pj4gNSkpLAorKwkJc2l6ZW9mIChzaG9ydCkgKiBDSEFSX0JJVCAtIDUpOworKyAgVEVTVF9DT01Q QVJFIChzdGRjX2JpdF93aWR0aCAoMTM3VSksIDgpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2Jp dF93aWR0aCAoMjY5VSksIDkpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAoMzlV TCksIDYpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAofjBVTCA+PiAyKSwgc2l6 ZW9mIChsb25nIGludCkgKiBDSEFSX0JJVCAtIDIpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2Jp dF93aWR0aCAoMTAyM1VMTCksIDEwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfd2lkdGgg KDEwMjRVTEwpLCAxMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICgodWMpIDAp LCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfZmxvb3IgKCh1 YykgMCksIHVjKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICgodXMpIDAp LCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfZmxvb3IgKCh1 cykgMCksIHVzKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICgwVSksIDBV KTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfZmxvb3IgKDBVKSwg dWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKDBVTCksIDBVTCk7Cisr ICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfYml0X2Zsb29yICgwVUwpLCB1bCks IDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9mbG9vciAoMFVMTCksIDBVTEwpOworKyAg VEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2JpdF9mbG9vciAoMFVMTCksIHVsbCks IDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9mbG9vciAoKHVjKSB+MFUpLCAoMVUgPDwg KENIQVJfQklUIC0gMSkpKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKCh1cykg fjBVKSwKKysJCSgxVSA8PCAoc2l6ZW9mIChzaG9ydCkgKiBDSEFSX0JJVCAtIDEpKSk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICh+MFUpLCAoMVUgPDwgKHNpemVvZiAoaW50KSAq IENIQVJfQklUIC0gMSkpKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKH4wVUwp LAorKwkJKDFVTCA8PCAoc2l6ZW9mIChsb25nIGludCkgKiBDSEFSX0JJVCAtIDEpKSk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICh+MFVMTCksCisrCQkoMVVMTCA8PCAoc2l6ZW9m IChsb25nIGxvbmcgaW50KSAqIENIQVJfQklUIC0gMSkpKTsKKysgIFRFU1RfQ09NUEFSRSAoc3Rk Y19iaXRfZmxvb3IgKCh1YykgNCksIDQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9mbG9v ciAoKHVjKSA3KSwgNCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICgodXMpIDhV KSwgOCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICgodXMpIDMxVSksIDE2KTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKDEzN1UpLCAxMjhVKTsKKysgIFRFU1Rf Q09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKDI2OVUpLCAyNTZVKTsKKysgIFRFU1RfQ09NUEFSRSAo c3RkY19iaXRfZmxvb3IgKDUxMVVMKSwgMjU2VUwpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2Jp dF9mbG9vciAoNTEyVUwpLCA1MTJVTCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29y ICg1MTNVTCksIDUxMlVMTCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yICgxMDI0 VUxMKSwgMTAyNFVMTCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKCh1YykgMCks IDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2JpdF9jZWlsICgodWMp IDApLCB1YyksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICgodXMpIDApLCAx KTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfY2VpbCAoKHVzKSAw KSwgdXMpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAoMFUpLCAxVSk7Cisr ICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfYml0X2NlaWwgKDBVKSwgdWkpLCAx KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAoMFVMKSwgMVVMKTsKKysgIFRFU1Rf Q09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfY2VpbCAoMFVMKSwgdWwpLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAoMFVMTCksIDFVTEwpOworKyAgVEVTVF9DT01Q QVJFIChleHByX2hhc190eXBlIChzdGRjX2JpdF9jZWlsICgwVUxMKSwgdWxsKSwgMSk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKCh1YykgfjBVKSwgMCk7CisrICBURVNUX0NPTVBB UkUgKHN0ZGNfYml0X2NlaWwgKCh1cykgfjBVKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNf Yml0X2NlaWwgKH4wVSksIDBVKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAofjBV TCksIDBVTCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKH4wVUxMKSwgMFVMTCk7 CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKCh1YykgKCh1YykgfjBVID4+IDEpKSwg KDFVIDw8IChDSEFSX0JJVCAtIDEpKSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwg KCh1YykgKCh1YykgfjBVID4+IDEpKSwgKDFVIDw8IChDSEFSX0JJVCAtIDEpKSk7CisrICBURVNU X0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKCh1cykgKCh1cykgfjBVID4+IDEpKSwKKysJCSgxVSA8 PCAoc2l6ZW9mIChzaG9ydCkgKiBDSEFSX0JJVCAtIDEpKSk7CisrICBURVNUX0NPTVBBUkUgKHN0 ZGNfYml0X2NlaWwgKCh1cykgKCh1cykgfjBVID4+IDEpKSwKKysJCSgxVSA8PCAoc2l6ZW9mIChz aG9ydCkgKiBDSEFSX0JJVCAtIDEpKSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwg KH4wVSA+PiAxKSwKKysJCSgxVSA8PCAoc2l6ZW9mIChpbnQpICogQ0hBUl9CSVQgLSAxKSkpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICgxVSA8PCAoc2l6ZW9mIChpbnQpICogQ0hB Ul9CSVQgLSAxKSksCisrCQkoMVUgPDwgKHNpemVvZiAoaW50KSAqIENIQVJfQklUIC0gMSkpKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAofjBVTCA+PiAxKSwKKysJCSgxVUwgPDwg KHNpemVvZiAobG9uZyBpbnQpICogQ0hBUl9CSVQgLSAxKSkpOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2JpdF9jZWlsICh+MFVMID4+IDEpLAorKwkJKDFVTCA8PCAoc2l6ZW9mIChsb25nIGludCkg KiBDSEFSX0JJVCAtIDEpKSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKDFVTEwK KysJCQkgICAgICAgPDwgKHNpemVvZiAobG9uZyBsb25nIGludCkgKiBDSEFSX0JJVCAtIDEpKSwK KysJCSgxVUxMIDw8IChzaXplb2YgKGxvbmcgbG9uZyBpbnQpICogQ0hBUl9CSVQgLSAxKSkpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICh+MFVMTCA+PiAxKSwKKysJCSgxVUxMIDw8 IChzaXplb2YgKGxvbmcgbG9uZyBpbnQpICogQ0hBUl9CSVQgLSAxKSkpOworKyAgVEVTVF9DT01Q QVJFIChzdGRjX2JpdF9jZWlsICgodWMpIDEpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19i aXRfY2VpbCAoKHVjKSAyKSwgMik7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKCh1 cykgM1UpLCA0KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAoKHVzKSA0VSksIDQp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICg1VSksIDhVKTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19iaXRfY2VpbCAoMjY5VSksIDUxMlUpOworKyAgVEVTVF9DT01QQVJFIChzdGRj X2JpdF9jZWlsICg1MTFVTCksIDUxMlVMKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2Vp bCAoNTEyVUwpLCA1MTJVTCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKDUxM1VM TCksIDEwMjRVTEwpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICgxMDI1VUxMKSwg MjA0OFVMTCk7CisrIyBpZmRlZiBfX1NJWkVPRl9JTlQxMjhfXworKyAgVEVTVF9DT01QQVJFIChz dGRjX2xlYWRpbmdfemVyb3MgKCh1bnNpZ25lZCBfX2ludDEyOCkgMCksCisrCQlzaXplb2YgKF9f aW50MTI4KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3Rk Y19sZWFkaW5nX3plcm9zICgodW5zaWduZWQgX19pbnQxMjgpIDApLCB1aSksCisrCQkxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICh+KHVuc2lnbmVkIF9faW50MTI4KSAw KSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ19vbmVzICgodW5zaWduZWQgX19p bnQxMjgpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19sZWFk aW5nX29uZXMgKCh1bnNpZ25lZCBfX2ludDEyOCkgMCksIHVpKSwKKysJCTEpOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAofih1bnNpZ25lZCBfX2ludDEyOCkgMCksCisrCQlz aXplb2YgKF9faW50MTI4KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFp bGluZ196ZXJvcyAoKHVuc2lnbmVkIF9faW50MTI4KSAwKSwKKysJCXNpemVvZiAoX19pbnQxMjgp ICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX3RyYWls aW5nX3plcm9zICgodW5zaWduZWQgX19pbnQxMjgpIDApLAorKwkJCSAgICAgICB1aSksIDEpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5nX3plcm9zICh+KHVuc2lnbmVkIF9faW50MTI4 KSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoKHVuc2lnbmVk IF9faW50MTI4KSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNf dHJhaWxpbmdfb25lcyAoKHVuc2lnbmVkIF9faW50MTI4KSAwKSwgdWkpLAorKwkJMSk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAofih1bnNpZ25lZCBfX2ludDEyOCkgMCks CisrCQlzaXplb2YgKF9faW50MTI4KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoc3Rk Y19maXJzdF9sZWFkaW5nX3plcm8gKCh1bnNpZ25lZCBfX2ludDEyOCkgMCksIDEpOworKyAgVEVT VF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoKHVuc2ln bmVkIF9faW50MTI4KSAwKSwKKysJCQkgICAgICAgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAo c3RkY19maXJzdF9sZWFkaW5nX3plcm8gKH4odW5zaWduZWQgX19pbnQxMjgpIDApLCAwKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoKHVuc2lnbmVkIF9faW50MTI4 KSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfbGVh ZGluZ19vbmUgKCh1bnNpZ25lZCBfX2ludDEyOCkgMCksCisrCQkJICAgICAgIHVpKSwgMSk7Cisr ICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGluZ19vbmUgKH4odW5zaWduZWQgX19pbnQx MjgpIDApLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICgo dW5zaWduZWQgX19pbnQxMjgpIDApLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlw ZSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICgodW5zaWduZWQgX19pbnQxMjgpCisrCQkJCQkJ CSAwKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJv ICh+KHVuc2lnbmVkIF9faW50MTI4KSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmly c3RfdHJhaWxpbmdfb25lICgodW5zaWduZWQgX19pbnQxMjgpIDApLCAwKTsKKysgIFRFU1RfQ09N UEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19maXJzdF90cmFpbGluZ19vbmUgKCh1bnNpZ25lZCBf X2ludDEyOCkgMCksCisrCQkJICAgICAgIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNf Zmlyc3RfdHJhaWxpbmdfb25lICh+KHVuc2lnbmVkIF9faW50MTI4KSAwKSwgMSk7CisrICBURVNU X0NPTVBBUkUgKHN0ZGNfY291bnRfemVyb3MgKCh1bnNpZ25lZCBfX2ludDEyOCkgMCksCisrCQlz aXplb2YgKF9faW50MTI4KSAqIENIQVJfQklUKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNf dHlwZSAoc3RkY19jb3VudF96ZXJvcyAoKHVuc2lnbmVkIF9faW50MTI4KSAwKSwgdWkpLAorKwkJ MSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfemVyb3MgKH4odW5zaWduZWQgX19pbnQx MjgpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF9vbmVzICgodW5zaWduZWQg X19pbnQxMjgpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19j b3VudF9vbmVzICgodW5zaWduZWQgX19pbnQxMjgpIDApLCB1aSksCisrCQkxKTsKKysgIFRFU1Rf Q09NUEFSRSAoc3RkY19jb3VudF9vbmVzICh+KHVuc2lnbmVkIF9faW50MTI4KSAwKSwKKysJCXNp emVvZiAoX19pbnQxMjgpICogQ0hBUl9CSVQpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2hhc19z aW5nbGVfYml0ICgodW5zaWduZWQgX19pbnQxMjgpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAo ZXhwcl9oYXNfdHlwZSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoKHVuc2lnbmVkIF9faW50MTI4KSAw KSwKKysJCV9Cb29sKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQg KH4odW5zaWduZWQgX19pbnQxMjgpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRf d2lkdGggKCh1bnNpZ25lZCBfX2ludDEyOCkgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChleHBy X2hhc190eXBlIChzdGRjX2JpdF93aWR0aCAoKHVuc2lnbmVkIF9faW50MTI4KSAwKSwgdWkpLCAx KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfd2lkdGggKH4odW5zaWduZWQgX19pbnQxMjgp IDApLAorKwkJc2l6ZW9mIChfX2ludDEyOCkgKiBDSEFSX0JJVCk7CisrICBURVNUX0NPTVBBUkUg KHN0ZGNfYml0X2Zsb29yICgodW5zaWduZWQgX19pbnQxMjgpIDApICE9IDAsIDApOworKyAgVEVT VF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2JpdF9mbG9vciAoKHVuc2lnbmVkIF9faW50 MTI4KSAwKSwKKysJCQkgICAgICAgdW5zaWduZWQgX19pbnQxMjgpLCAxKTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19iaXRfZmxvb3IgKH4odW5zaWduZWQgX19pbnQxMjgpIDApCisrCQkhPSAoKHVu c2lnbmVkIF9faW50MTI4KSAxKSA8PCAoc2l6ZW9mIChfX2ludDEyOCkKKysJCQkJCSAgICAgICAq IENIQVJfQklUIC0gMSksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICgodW5z aWduZWQgX19pbnQxMjgpIDApICE9IDEsIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190 eXBlIChzdGRjX2JpdF9jZWlsICgodW5zaWduZWQgX19pbnQxMjgpIDApLAorKwkJCSAgICAgICB1 bnNpZ25lZCBfX2ludDEyOCksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICgo dW5zaWduZWQgX19pbnQxMjgpIDEpICE9IDEsIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2Jp dF9jZWlsICgofih1bnNpZ25lZCBfX2ludDEyOCkgMCkgPj4gMSkKKysJCSE9ICgodW5zaWduZWQg X19pbnQxMjgpIDEpIDw8IChzaXplb2YgKF9faW50MTI4KQorKwkJCQkJICAgICAgICogQ0hBUl9C SVQgLSAxKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKH4odW5zaWduZWQg X19pbnQxMjgpIDApICE9IDAsIDApOworKyMgZW5kaWYKKysgIHVjIGEgPSAwOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2JpdF93aWR0aCAoYSsrKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGEsIDEp OworKyAgdWxsIGIgPSAwOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAoYisrKSwg MCk7CisrICBURVNUX0NPTVBBUkUgKGIsIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9m bG9vciAoYSsrKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGEsIDIpOworKyAgVEVTVF9DT01QQVJF IChzdGRjX2JpdF9mbG9vciAoYisrKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGIsIDIpOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsIChhKyspLCAyKTsKKysgIFRFU1RfQ09NUEFSRSAo YSwgMyk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKGIrKyksIDIpOworKyAgVEVT VF9DT01QQVJFIChiLCAzKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zIChh KyspLCBDSEFSX0JJVCAtIDIpOworKyAgVEVTVF9DT01QQVJFIChhLCA0KTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19sZWFkaW5nX3plcm9zIChiKyspLAorKwkJc2l6ZW9mIChsb25nIGxvbmcgaW50 KSAqIENIQVJfQklUIC0gMik7CisrICBURVNUX0NPTVBBUkUgKGIsIDQpOworKyAgVEVTVF9DT01Q QVJFIChzdGRjX2xlYWRpbmdfb25lcyAoYSsrKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGEsIDUp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAoYisrKSwgMCk7CisrICBURVNU X0NPTVBBUkUgKGIsIDUpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5nX3plcm9zIChh KyspLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoYSwgNik7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNf dHJhaWxpbmdfemVyb3MgKGIrKyksIDApOworKyAgVEVTVF9DT01QQVJFIChiLCA2KTsKKysgIFRF U1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzIChhKyspLCAwKTsKKysgIFRFU1RfQ09NUEFS RSAoYSwgNyk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoYisrKSwgMCk7 CisrICBURVNUX0NPTVBBUkUgKGIsIDcpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xl YWRpbmdfemVybyAoYSsrKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGEsIDgpOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoYisrKSwgMSk7CisrICBURVNUX0NPTVBB UkUgKGIsIDgpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lIChhKysp LCBDSEFSX0JJVCAtIDMpOworKyAgVEVTVF9DT01QQVJFIChhLCA5KTsKKysgIFRFU1RfQ09NUEFS RSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoYisrKSwKKysJCXNpemVvZiAobG9uZyBsb25nIGlu dCkgKiBDSEFSX0JJVCAtIDMpOworKyAgVEVTVF9DT01QQVJFIChiLCA5KTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvIChhKyspLCAyKTsKKysgIFRFU1RfQ09NUEFS RSAoYSwgMTApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8gKGIr KyksIDIpOworKyAgVEVTVF9DT01QQVJFIChiLCAxMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNf Zmlyc3RfdHJhaWxpbmdfb25lIChhKyspLCAyKTsKKysgIFRFU1RfQ09NUEFSRSAoYSwgMTEpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoYisrKSwgMik7CisrICBU RVNUX0NPTVBBUkUgKGIsIDExKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF96ZXJvcyAo YSsrKSwgQ0hBUl9CSVQgLSAzKTsKKysgIFRFU1RfQ09NUEFSRSAoYSwgMTIpOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2NvdW50X3plcm9zIChiKyspLAorKwkJc2l6ZW9mIChsb25nIGxvbmcgaW50 KSAqIENIQVJfQklUIC0gMyk7CisrICBURVNUX0NPTVBBUkUgKGIsIDEyKTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19jb3VudF9vbmVzIChhKyspLCAyKTsKKysgIFRFU1RfQ09NUEFSRSAoYSwgMTMp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X29uZXMgKGIrKyksIDIpOworKyAgVEVTVF9D T01QQVJFIChiLCAxMyk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKGEr KyksIDApOworKyAgVEVTVF9DT01QQVJFIChhLCAxNCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNf aGFzX3NpbmdsZV9iaXQgKGIrKyksIDApOworKyAgVEVTVF9DT01QQVJFIChiLCAxNCk7CisrIyBp ZmRlZiBCSVRJTlRfTUFYV0lEVEgKKysjICBpZiBCSVRJTlRfTUFYV0lEVEggPj0gNjQKKysgIFRF U1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICgwdXdiKSwgMSk7CisrICBURVNUX0NPTVBB UkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfbGVhZGluZ196ZXJvcyAoMHV3YiksIHVpKSwgMSk7Cisr ICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ196ZXJvcyAoMXV3YiksIDApOworKyAgVEVTVF9D T01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2xlYWRpbmdfemVyb3MgKDF1d2IpLCB1aSksIDEp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAoMHV3YiksIDApOworKyAgVEVT VF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2xlYWRpbmdfb25lcyAoMHV3YiksIHVpKSwg MSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfbGVhZGluZ19vbmVzICgxdXdiKSwgMSk7CisrICBU RVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfbGVhZGluZ19vbmVzICgxdXdiKSwgdWkp LCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAoMHV3YiksIDEpOwor KyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX3RyYWlsaW5nX3plcm9zICgwdXdi KSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAoMXV3Yiks IDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX3RyYWlsaW5nX3plcm9z ICgxdXdiKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICgw dXdiKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfdHJhaWxpbmdf b25lcyAoMHV3YiksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25l cyAoMXV3YiksIDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX3RyYWls aW5nX29uZXMgKDF1d2IpLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xl YWRpbmdfemVybyAoMHV3YiksIDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChz dGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoMHV3YiksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUg KHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICgxdXdiKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4 cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICgxdXdiKSwgdWkpLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoMHV3YiksIDApOworKyAgVEVT VF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lICgwdXdiKSwg dWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAoMXV3Yiks IDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X2xlYWRpbmdf b25lICgxdXdiKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGlu Z196ZXJvICgwdXdiKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNf Zmlyc3RfdHJhaWxpbmdfemVybyAoMHV3YiksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0 ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoMXV3YiksIDApOworKyAgVEVTVF9DT01QQVJFIChleHBy X2hhc190eXBlIChzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8gKDF1d2IpLCB1aSksIDEpOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoMHV3YiksIDApOworKyAgVEVT VF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoMHV3Yiks IHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25lICgxdXdi KSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfdHJhaWxp bmdfb25lICgxdXdiKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF96ZXJv cyAoMHV3YiksIDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2NvdW50 X3plcm9zICgwdXdiKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF96ZXJv cyAoMXV3YiksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2NvdW50 X3plcm9zICgxdXdiKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF9vbmVz ICgwdXdiKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfY291bnRf b25lcyAoMHV3YiksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfb25lcyAo MXV3YiksIDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2NvdW50X29u ZXMgKDF1d2IpLCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2hhc19zaW5nbGVfYml0 ICgwdXdiKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfaGFzX3Np bmdsZV9iaXQgKDB1d2IpLCBfQm9vbCksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2hhc19z aW5nbGVfYml0ICgxdXdiKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0 ZGNfaGFzX3NpbmdsZV9iaXQgKDF1d2IpLCBfQm9vbCksIDEpOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2JpdF93aWR0aCAoMHV3YiksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBl IChzdGRjX2JpdF93aWR0aCAoMHV3YiksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNf Yml0X3dpZHRoICgxdXdiKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0 ZGNfYml0X3dpZHRoICgxdXdiKSwgdWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRf Zmxvb3IgKDB1d2IpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19i aXRfZmxvb3IgKDB1d2IpLCB1bnNpZ25lZCBfQml0SW50KDEpKSwgMSk7CisrICBURVNUX0NPTVBB UkUgKHN0ZGNfYml0X2Zsb29yICgxdXdiKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFz X3R5cGUgKHN0ZGNfYml0X2Zsb29yICgxdXdiKSwgdW5zaWduZWQgX0JpdEludCgxKSksIDEpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICgwdXdiKSwgMSk7CisrICBURVNUX0NPTVBB UkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfYml0X2NlaWwgKDB1d2IpLCB1bnNpZ25lZCBfQml0SW50 KDEpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKDF1d2IpLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfY2VpbCAoMXV3YiksIHVuc2ln bmVkIF9CaXRJbnQoMSkpLCAxKTsKKysgIHVuc2lnbmVkIF9CaXRJbnQoMSkgYyA9IDA7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yIChjKyspLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAo YywgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2Zsb29yIChjKyspLCAxKTsKKysgIFRF U1RfQ09NUEFSRSAoYywgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKGMrKyks IDEpOworKyAgVEVTVF9DT01QQVJFIChjLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRf Y2VpbCAoYysrKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGMsIDApOworKyMgIGVuZGlmCisrIyAg aWYgQklUSU5UX01BWFdJRFRIID49IDUxMgorKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdf emVyb3MgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpIDApLCA1MTIpOworKyAgVEVTVF9DT01QQVJF IChleHByX2hhc190eXBlIChzdGRjX2xlYWRpbmdfemVyb3MgKCh1bnNpZ25lZCBfQml0SW50KDUx MikpIDApLAorKwkJCSAgICAgICB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRp bmdfemVyb3MgKCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLCAzNzMpOworKyAgVEVTVF9DT01Q QVJFIChleHByX2hhc190eXBlIChzdGRjX2xlYWRpbmdfemVyb3MgKCh1bnNpZ25lZCBfQml0SW50 KDM3MykpIDApLAorKwkJCSAgICAgICB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xl YWRpbmdfemVyb3MgKH4odW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwgMCk7CisrICBURVNUX0NP TVBBUkUgKHN0ZGNfbGVhZGluZ196ZXJvcyAofih1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLCAw KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3plcm9zICgodW5zaWduZWQgX0JpdElu dCg1MTIpKSAyNzUpLCA1MTIgLSA5KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19sZWFkaW5nX3pl cm9zICgodW5zaWduZWQgX0JpdEludCgzNzMpKSA1MTIpLCAzNzMgLSAxMCk7CisrICBURVNUX0NP TVBBUkUgKHN0ZGNfbGVhZGluZ19vbmVzICgodW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwgMCk7 CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfbGVhZGluZ19vbmVzICgodW5z aWduZWQgX0JpdEludCg1MTIpKSAwKSwKKysJCQkgICAgICAgdWkpLCAxKTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19sZWFkaW5nX29uZXMgKCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLCAwKTsK KysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19sZWFkaW5nX29uZXMgKCh1bnNp Z25lZCBfQml0SW50KDM3MykpIDApLAorKwkJCSAgICAgICB1aSksIDEpOworKyAgVEVTVF9DT01Q QVJFIChzdGRjX2xlYWRpbmdfb25lcyAofih1bnNpZ25lZCBfQml0SW50KDUxMikpIDApLCA1MTIp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAofih1bnNpZ25lZCBfQml0SW50 KDM3MykpIDApLCAzNzMpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2xlYWRpbmdfb25lcyAofih1 bnNpZ25lZCBfQml0SW50KDUxMikpIDI3NSksIDUxMiAtIDkpOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2xlYWRpbmdfb25lcyAofih1bnNpZ25lZCBfQml0SW50KDM3MykpIDUxMiksIDM3MyAtIDEw KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ196ZXJvcyAoKHVuc2lnbmVkIF9CaXRJ bnQoNTEyKSkgMCksIDUxMik7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNf dHJhaWxpbmdfemVyb3MgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpIDApLAorKwkJCSAgICAgICB1 aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5nX3plcm9zICgodW5zaWduZWQg X0JpdEludCgzNzMpKSAwKSwgMzczKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAo c3RkY190cmFpbGluZ196ZXJvcyAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCksCisrCQkJICAg ICAgIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfemVyb3MgKH4odW5z aWduZWQgX0JpdEludCg1MTIpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxp bmdfemVyb3MgKH4odW5zaWduZWQgX0JpdEludCgzNzMpKSAwKSwgMCk7CisrICBURVNUX0NPTVBB UkUgKHN0ZGNfdHJhaWxpbmdfemVyb3MgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpIDI1NiksIDgp OworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5nX3plcm9zICgodW5zaWduZWQgX0JpdElu dCgzNzMpKSA1MTIpLCA5KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY190cmFpbGluZ19vbmVzICgo dW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFz X3R5cGUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMCksCisr CQkJICAgICAgIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAo KHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hh c190eXBlIChzdGRjX3RyYWlsaW5nX29uZXMgKCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLAor KwkJCSAgICAgICB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX3RyYWlsaW5nX29uZXMg KH4odW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwgNTEyKTsKKysgIFRFU1RfQ09NUEFSRSAoc3Rk Y190cmFpbGluZ19vbmVzICh+KHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCksIDM3Myk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkg MjU1KSwgOCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfdHJhaWxpbmdfb25lcyAoKH4odW5zaWdu ZWQgX0JpdEludCgzNzMpKSAwKSA+PiAyKSwKKysJCTM3MyAtIDIpOworKyAgVEVTVF9DT01QQVJF IChzdGRjX2ZpcnN0X2xlYWRpbmdfemVybyAoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMCksIDEp OworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X2xlYWRpbmdfemVy byAoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkKKysJCQkJCQkJMCksIHVpKSwgMSk7CisrICBURVNU X0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGluZ196ZXJvICgodW5zaWduZWQgX0JpdEludCgzNzMp KSAwKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfbGVh ZGluZ196ZXJvICgodW5zaWduZWQgX0JpdEludCgzNzMpKQorKwkJCQkJCQkwKSwgdWkpLCAxKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX3plcm8gKH4odW5zaWduZWQgX0Jp dEludCg1MTIpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfbGVhZGluZ196 ZXJvICh+KHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2ZpcnN0X2xlYWRpbmdfemVybyAofih1bnNpZ25lZCBfQml0SW50KDUxMikpIDUxMSksCisr CQk1MTIgLSA4KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX3plcm8gKH4o dW5zaWduZWQgX0JpdEludCgzNzMpKSAxMDIzKSwKKysJCTM3MyAtIDkpOworKyAgVEVTVF9DT01Q QVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lICgodW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwg MCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmlyc3RfbGVhZGluZ19v bmUgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpCisrCQkJCQkJICAgICAgIDApLCB1aSksIDEpOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lICgodW5zaWduZWQgX0JpdElu dCgzNzMpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfZmly c3RfbGVhZGluZ19vbmUgKCh1bnNpZ25lZCBfQml0SW50KDM3MykpCisrCQkJCQkJICAgICAgIDAp LCB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lICh+KHVu c2lnbmVkIF9CaXRJbnQoNTEyKSkgMCksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0 X2xlYWRpbmdfb25lICh+KHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCksIDEpOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2ZpcnN0X2xlYWRpbmdfb25lICgodW5zaWduZWQgX0JpdEludCg1MTIpKSAy NzUpLCA1MTIgLSA4KTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF9sZWFkaW5nX29uZSAo KHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgNTEyKSwgMzczIC0gOSk7CisrICBURVNUX0NPTVBBUkUg KHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMCksIDEp OworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBlIChzdGRjX2ZpcnN0X3RyYWlsaW5nX3pl cm8gKCh1bnNpZ25lZAorKwkJCQkJCQkgIF9CaXRJbnQoNTEyKSkgMCksCisrCQkJICAgICAgIHVp KSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfemVybyAoKHVuc2ln bmVkIF9CaXRJbnQoMzczKSkgMCksIDEpOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBl IChzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8gKCh1bnNpZ25lZAorKwkJCQkJCQkgIF9CaXRJbnQo MzczKSkgMCksCisrCQkJICAgICAgIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmly c3RfdHJhaWxpbmdfemVybyAofih1bnNpZ25lZCBfQml0SW50KDUxMikpIDApLCAwKTsKKysgIFRF U1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ196ZXJvICh+KHVuc2lnbmVkIF9CaXRJbnQo MzczKSkgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX3plcm8g KCh1bnNpZ25lZCBfQml0SW50KDUxMikpIDI1NSksIDkpOworKyAgVEVTVF9DT01QQVJFIChzdGRj X2ZpcnN0X3RyYWlsaW5nX3plcm8gKCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDUxMSksIDEwKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ19vbmUgKCh1bnNpZ25lZCBfQml0 SW50KDUxMikpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19m aXJzdF90cmFpbGluZ19vbmUgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpCisrCQkJCQkJCTApLCB1 aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoKHVuc2ln bmVkIF9CaXRJbnQoMzczKSkgMCksIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBl IChzdGRjX2ZpcnN0X3RyYWlsaW5nX29uZSAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkKKysJCQkJ CQkJMCksIHVpKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfZmlyc3RfdHJhaWxpbmdfb25l ICh+KHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMCksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRj X2ZpcnN0X3RyYWlsaW5nX29uZSAofih1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLCAxKTsKKysg IFRFU1RfQ09NUEFSRSAoc3RkY19maXJzdF90cmFpbGluZ19vbmUgKCgodW5zaWduZWQgX0JpdElu dCg1MTIpKSAyNTUpIDw8IDE3NSksCisrCQkxNzYpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2Zp cnN0X3RyYWlsaW5nX29uZSAoKH4odW5zaWduZWQgX0JpdEludCgzNzMpKSAwKSA8PCAzMTEpLAor KwkJMzEyKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF96ZXJvcyAoKHVuc2lnbmVkIF9C aXRJbnQoNTEyKSkgMCksIDUxMik7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0 ZGNfY291bnRfemVyb3MgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpIDApLAorKwkJCSAgICAgICB1 aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X3plcm9zICgodW5zaWduZWQgX0Jp dEludCgzNzMpKSAwKSwgMzczKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3Rk Y19jb3VudF96ZXJvcyAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCksCisrCQkJICAgICAgIHVp KSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfemVyb3MgKH4odW5zaWduZWQgX0Jp dEludCg1MTIpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfemVyb3MgKH4o dW5zaWduZWQgX0JpdEludCgzNzMpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291 bnRfemVyb3MgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpIDEzMTUpLCA1MTIgLSA1KTsKKysgIFRF U1RfQ09NUEFSRSAoc3RkY19jb3VudF96ZXJvcyAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMzM2 MyksIDM3MyAtIDYpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X29uZXMgKCh1bnNpZ25l ZCBfQml0SW50KDUxMikpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAo c3RkY19jb3VudF9vbmVzICgodW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwKKysJCQkgICAgICAg dWkpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3VudF9vbmVzICgodW5zaWduZWQgX0Jp dEludCgzNzMpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNf Y291bnRfb25lcyAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCksCisrCQkJICAgICAgIHVpKSwg MSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfY291bnRfb25lcyAofih1bnNpZ25lZCBfQml0SW50 KDUxMikpIDApLCA1MTIpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2NvdW50X29uZXMgKH4odW5z aWduZWQgX0JpdEludCgzNzMpKSAwKSwgMzczKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19jb3Vu dF9vbmVzICh+KHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMTMxNSksIDUxMiAtIDUpOworKyAgVEVT VF9DT01QQVJFIChzdGRjX2NvdW50X29uZXMgKH4odW5zaWduZWQgX0JpdEludCgzNzMpKSAzMzYz KSwgMzczIC0gNik7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKCh1bnNp Z25lZCBfQml0SW50KDUxMikpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlw ZSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMCksCisrCQkJ ICAgICAgIF9Cb29sKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQg KCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoZXhwcl9o YXNfdHlwZSAoc3RkY19oYXNfc2luZ2xlX2JpdCAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCks CisrCQkJICAgICAgIF9Cb29sKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3Npbmds ZV9iaXQgKH4odW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwgMCk7CisrICBURVNUX0NPTVBBUkUg KHN0ZGNfaGFzX3NpbmdsZV9iaXQgKH4odW5zaWduZWQgX0JpdEludCgzNzMpKSAwKSwgMCk7Cisr ICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3NpbmdsZV9iaXQgKCgodW5zaWduZWQgX0JpdEludCg1 MTIpKSAxMDIyKSA8PCAyNzkpLAorKwkJMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfaGFzX3Np bmdsZV9iaXQgKCgodW5zaWduZWQgX0JpdEludCgzNzMpKSAxMikgPDwgMzA1KSwgMCk7CisrICBU RVNUX0NPTVBBUkUgKHN0ZGNfYml0X3dpZHRoICgodW5zaWduZWQgX0JpdEludCg1MTIpKSAwKSwg MCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfYml0X3dpZHRoICgodW5z aWduZWQgX0JpdEludCg1MTIpKSAwKSwKKysJCQkgICAgICAgdWkpLCAxKTsKKysgIFRFU1RfQ09N UEFSRSAoc3RkY19iaXRfd2lkdGggKCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLCAwKTsKKysg IFRFU1RfQ09NUEFSRSAoZXhwcl9oYXNfdHlwZSAoc3RkY19iaXRfd2lkdGggKCh1bnNpZ25lZCBf Qml0SW50KDM3MykpIDApLAorKwkJCSAgICAgICB1aSksIDEpOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2JpdF93aWR0aCAofih1bnNpZ25lZCBfQml0SW50KDUxMikpIDApLCA1MTIpOworKyAgVEVT VF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAofih1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLCAz NzMpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF93aWR0aCAoKCh1bnNpZ25lZCBfQml0SW50 KDUxMikpIDEwMjMpIDw8IDQwNSksCisrCQk0MDUgKyAxMCk7CisrICBURVNUX0NPTVBBUkUgKHN0 ZGNfYml0X3dpZHRoICgoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMTAyNCkgPDwgMjQyKSwKKysJ CTI0MiArIDExKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKCh1bnNpZ25lZCBf Qml0SW50KDUxMikpIDApICE9IDAsIDApOworKyAgVEVTVF9DT01QQVJFIChleHByX2hhc190eXBl IChzdGRjX2JpdF9mbG9vciAoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMCksCisrCQkJICAgICAg IHVuc2lnbmVkIF9CaXRJbnQoNTEyKSksIDEpOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9m bG9vciAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCkgIT0gMCwgMCk7CisrICBURVNUX0NPTVBB UkUgKGV4cHJfaGFzX3R5cGUgKHN0ZGNfYml0X2Zsb29yICgodW5zaWduZWQgX0JpdEludCgzNzMp KSAwKSwKKysJCQkgICAgICAgdW5zaWduZWQgX0JpdEludCgzNzMpKSwgMSk7CisrICBURVNUX0NP TVBBUkUgKHN0ZGNfYml0X2Zsb29yICh+KHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMCkKKysJCSE9 ICgodW5zaWduZWQgX0JpdEludCg1MTIpKSAxKSA8PCAoNTEyIC0gMSksIDApOworKyAgVEVTVF9D T01QQVJFIChzdGRjX2JpdF9mbG9vciAofih1bnNpZ25lZCBfQml0SW50KDM3MykpIDApCisrCQkh PSAoKHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMSkgPDwgKDM3MyAtIDEpLCAwKTsKKysgIFRFU1Rf Q09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKCgodW5zaWduZWQgX0JpdEludCg1MTIpKSA1MTEpIDw8 IDQwNSkKKysJCSE9ICgoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgMjU2KSA8PCA0MDUpLCAwKTsK KysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKCgodW5zaWduZWQgX0JpdEludCgzNzMp KSA1MTIpIDw8IDI0MikKKysJCSE9ICgoKHVuc2lnbmVkIF9CaXRJbnQoNTEyKSkgNTEyKSA8PCAy NDIpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAoKHVuc2lnbmVkIF9CaXRJ bnQoNTEyKSkgMCkgIT0gMSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4cHJfaGFzX3R5cGUgKHN0 ZGNfYml0X2NlaWwgKCh1bnNpZ25lZCBfQml0SW50KDUxMikpIDApLAorKwkJCSAgICAgICB1bnNp Z25lZCBfQml0SW50KDUxMikpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAo KHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCkgIT0gMSwgMCk7CisrICBURVNUX0NPTVBBUkUgKGV4 cHJfaGFzX3R5cGUgKHN0ZGNfYml0X2NlaWwgKCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDApLAor KwkJCSAgICAgICB1bnNpZ25lZCBfQml0SW50KDM3MykpLCAxKTsKKysgIFRFU1RfQ09NUEFSRSAo c3RkY19iaXRfY2VpbCAofih1bnNpZ25lZCBfQml0SW50KDUxMikpIDApICE9IDAsIDApOworKyAg VEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICh+KHVuc2lnbmVkIF9CaXRJbnQoMzczKSkgMCkg IT0gMCwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0X2NlaWwgKCgodW5zaWduZWQgX0Jp dEludCg1MTIpKSAxKSA8PCAoNTEyIC0gMSkpCisrCQkhPSAoKHVuc2lnbmVkIF9CaXRJbnQoNTEy KSkgMSkgPDwgKDUxMiAtIDEpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAo KH4odW5zaWduZWQgX0JpdEludCgzNzMpKSAwKSA+PiAxKQorKwkJIT0gKCh1bnNpZ25lZCBfQml0 SW50KDM3MykpIDEpIDw8ICgzNzMgLSAxKSwgMCk7CisrICBURVNUX0NPTVBBUkUgKHN0ZGNfYml0 X2NlaWwgKCgodW5zaWduZWQgX0JpdEludCg1MTIpKSA1MTIpIDw8IDQwNSkKKysJCSE9ICgoKHVu c2lnbmVkIF9CaXRJbnQoNTEyKSkgNTEyKSA8PCA0MDUpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAo c3RkY19iaXRfY2VpbCAoKCh1bnNpZ25lZCBfQml0SW50KDM3MykpIDUxMykgPDwgMjQyKQorKwkJ IT0gKCgodW5zaWduZWQgX0JpdEludCg1MTIpKSAxMDI0KSA8PCAyNDIpLCAwKTsKKysgIFRFU1Rf Q09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKCh1bnNpZ25lZCBfQml0SW50KEJJVElOVF9NQVhXSURU SCkpIDApICE9IDAsCisrCQkwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfZmxvb3IgKH4o dW5zaWduZWQgX0JpdEludChCSVRJTlRfTUFYV0lEVEgpKSAwKQorKwkJIT0gKCh1bnNpZ25lZCBf Qml0SW50KEJJVElOVF9NQVhXSURUSCkpIDEpIDw8IChCSVRJTlRfTUFYV0lEVEgKKysJCQkJCQkJ ICAgICAgIC0gMSksIDApOworKyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9mbG9vciAoKCh1bnNp Z25lZCBfQml0SW50KEJJVElOVF9NQVhXSURUSCkpIDUxMSkKKysJCQkJPDwgNDA1KQorKwkJIT0g KCgodW5zaWduZWQgX0JpdEludChCSVRJTlRfTUFYV0lEVEgpKSAyNTYpIDw8IDQwNSksIDApOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9mbG9vciAoKCh1bnNpZ25lZCBfQml0SW50KEJJVElO VF9NQVhXSURUSCkpIDUxMikKKysJCQkJPDwgNDA1KQorKwkJIT0gKCgodW5zaWduZWQgX0JpdElu dChCSVRJTlRfTUFYV0lEVEgpKSA1MTIpIDw8IDQwNSksIDApOworKyAgVEVTVF9DT01QQVJFIChz dGRjX2JpdF9jZWlsICgodW5zaWduZWQgX0JpdEludChCSVRJTlRfTUFYV0lEVEgpKSAwKSAhPSAx LCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAofih1bnNpZ25lZCBfQml0SW50 KEJJVElOVF9NQVhXSURUSCkpIDApICE9IDAsCisrCQkwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3Rk Y19iaXRfY2VpbCAoKCh1bnNpZ25lZCBfQml0SW50KEJJVElOVF9NQVhXSURUSCkpIDEpCisrCQkJ ICAgICAgIDw8IChCSVRJTlRfTUFYV0lEVEggLSAxKSkKKysJCSE9ICgodW5zaWduZWQgX0JpdElu dChCSVRJTlRfTUFYV0lEVEgpKSAxKSA8PCAoQklUSU5UX01BWFdJRFRICisrCQkJCQkJCSAgICAg ICAtIDEpLCAwKTsKKysgIFRFU1RfQ09NUEFSRSAoc3RkY19iaXRfY2VpbCAoKCh1bnNpZ25lZCBf Qml0SW50KEJJVElOVF9NQVhXSURUSCkpIDUxMikKKysJCQkgICAgICAgPDwgNDA1KQorKwkJIT0g KCgodW5zaWduZWQgX0JpdEludChCSVRJTlRfTUFYV0lEVEgpKSA1MTIpIDw8IDQwNSksIDApOwor KyAgVEVTVF9DT01QQVJFIChzdGRjX2JpdF9jZWlsICgoKHVuc2lnbmVkIF9CaXRJbnQoQklUSU5U X01BWFdJRFRIKSkgNTEzKQorKwkJCSAgICAgICA8PCA0MDUpCisrCQkhPSAoKCh1bnNpZ25lZCBf Qml0SW50KEJJVElOVF9NQVhXSURUSCkpIDEwMjQpIDw8IDQwNSksIDApOworKyMgIGVuZGlmCisr IyBlbmRpZgorKyAgcmV0dXJuIDA7CisrfQorKyNlbHNlCisrc3RhdGljIGludAorK2RvX3Rlc3Qg KHZvaWQpCisreworKyAgcmV0dXJuIDA7CisrfQorKyNlbmRpZgorKworKyNpbmNsdWRlIDxzdXBw b3J0L3Rlc3QtZHJpdmVyLmM+CmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3 MjMtMS01NDJiMTEwNTg1MjU2OGMzZWJjNzEyMjI1YWU3OGI4YzhiYTMxYTc4LnBhdGNoIGIvc3Jj cGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTEtNTQyYjExMDU4NTI1NjhjM2ViYzcxMjIyNWFlNzhi OGM4YmEzMWE3OC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZkNWQ0N2Mw MzFhMDMuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0x LTU0MmIxMTA1ODUyNTY4YzNlYmM3MTIyMjVhZTc4YjhjOGJhMzFhNzgucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwyOTYgKzAsMCBAQAotRnJvbSA1NDJiMTEwNTg1MjU2OGMzZWJjNzEyMjI1YWU3 OGI4YzhiYTMxYTc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmlhbiBXZWlt ZXIgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTEgQXVnIDIwMjMgMTE6MTg6MTcg KzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbWFsbG9jOiBFbmFibGUgbWVyZ2luZyBvZiByZW1haW5k ZXJzIGluIG1lbWFsaWduIChidWcgMzA3MjMpCi0KLVByZXZpb3VzbHksIGNhbGxpbmcgX2ludF9m cmVlIGZyb20gX2ludF9tZW1hbGlnbiBjb3VsZCBwdXQgcmVtYWluZGVycwotaW50byB0aGUgdGNh Y2hlIG9yIGludG8gZmFzdGJpbnMsIHdoZXJlIHRoZXkgYXJlIGludmlzaWJsZSB0byB0aGUKLWxv dy1sZXZlbCBhbGxvY2F0b3IuICBUaGlzIHJlc3VsdHMgaW4gbWlzc2VkIG1lcmdlIG9wcG9ydHVu aXRpZXMKLWJlY2F1c2Ugb25jZSB0aGVzZSBmcmVlZCBjaHVua3MgYmVjb21lIGF2YWlsYWJsZSB0 byB0aGUgbG93LWxldmVsCi1hbGxvY2F0b3IsIGZ1cnRoZXIgbWVtYWxpZ24gYWxsb2NhdGlvbnMg KGV2ZW4gb2YgdGhlIHNhbWUgc2l6ZSBhcmUpCi1saWtlbHkgb2JzdHJ1Y3RpbmcgbWVyZ2VzLgot Ci1GdXJ0aGVybW9yZSwgZHVyaW5nIGZvcndhcmRzIG1lcmdpbmcgaW4gX2ludF9tZW1hbGlnbiwg ZG8gbm90Ci1jb21wbGV0ZWx5IGdpdmUgdXAgd2hlbiB0aGUgcmVtYWluZGVyIGlzIHRvbyBzbWFs bCB0byBzZXJ2ZSBhcyBhCi1jaHVuayBvbiBpdHMgb3duLiAgV2UgY2FuIHN0aWxsIGdpdmUgaXQg YmFjayBpZiBpdCBjYW4gYmUgbWVyZ2VkCi13aXRoIHRoZSBmb2xsb3dpbmcgdW51c2VkIGNodW5r LiAgVGhpcyBtYWtlcyBpdCBtb3JlIGxpa2VseSB0aGF0Ci1tZW1hbGlnbiBjYWxscyBpbiBhIGxv b3AgYWNoaWV2ZSBhIGNvbXBhY3QgbWVtb3J5IGxheW91dCwKLWluZGVwZW5kZW50bHkgb2YgaW5p dGlhbCBoZWFwIGxheW91dC4KLQotRHJvcCBzb21lIHVzZWxlc3MgKHVuc2lnbmVkIGxvbmcpIGNh c3RzIGFsb25nIHRoZSB3YXksIGFuZCB0d2VhawotdGhlIHN0eWxlIHRvIG1vcmUgY2xvc2VseSBt YXRjaCBHTlUgb24gY2hhbmdlZCBsaW5lcy4KLQotUmV2aWV3ZWQtYnk6IERKIERlbG9yaWUgPGRq QHJlZGhhdC5jb20+Ci0tLS0KLSBtYWxsb2MvbWFsbG9jLmMgfCAxOTcgKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyMSBp bnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21hbGxvYy9tYWxs b2MuYyBiL21hbGxvYy9tYWxsb2MuYwotaW5kZXggZTJmMWE2MTVhNC4uOTQ4Zjk3NTlhZiAxMDA2 NDQKLS0tLSBhL21hbGxvYy9tYWxsb2MuYwotKysrIGIvbWFsbG9jL21hbGxvYy5jCi1AQCAtMTA4 Niw2ICsxMDg2LDExIEBAIHR5cGVkZWYgc3RydWN0IG1hbGxvY19jaHVuayogbWNodW5rcHRyOwot IAotIHN0YXRpYyB2b2lkKiAgX2ludF9tYWxsb2MobXN0YXRlLCBzaXplX3QpOwotIHN0YXRpYyB2 b2lkICAgICBfaW50X2ZyZWUobXN0YXRlLCBtY2h1bmtwdHIsIGludCk7Ci0rc3RhdGljIHZvaWQg X2ludF9mcmVlX21lcmdlX2NodW5rIChtc3RhdGUsIG1jaHVua3B0ciwgSU5URVJOQUxfU0laRV9U KTsKLStzdGF0aWMgSU5URVJOQUxfU0laRV9UIF9pbnRfZnJlZV9jcmVhdGVfY2h1bmsgKG1zdGF0 ZSwKLSsJCQkJCSAgICAgICBtY2h1bmtwdHIsIElOVEVSTkFMX1NJWkVfVCwKLSsJCQkJCSAgICAg ICBtY2h1bmtwdHIsIElOVEVSTkFMX1NJWkVfVCk7Ci0rc3RhdGljIHZvaWQgX2ludF9mcmVlX21h eWJlX2NvbnNvbGlkYXRlIChtc3RhdGUsIElOVEVSTkFMX1NJWkVfVCk7Ci0gc3RhdGljIHZvaWQq ICBfaW50X3JlYWxsb2MobXN0YXRlLCBtY2h1bmtwdHIsIElOVEVSTkFMX1NJWkVfVCwKLSAJCQkg ICBJTlRFUk5BTF9TSVpFX1QpOwotIHN0YXRpYyB2b2lkKiAgX2ludF9tZW1hbGlnbihtc3RhdGUs IHNpemVfdCwgc2l6ZV90KTsKLUBAIC00NjM3LDMxICs0NjQyLDUyIEBAIF9pbnRfZnJlZSAobXN0 YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50IGhhdmVfbG9jaykKLSAgICAgaWYgKCFoYXZlX2xvY2sp Ci0gICAgICAgX19saWJjX2xvY2tfbG9jayAoYXYtPm11dGV4KTsKLSAKLS0gICAgbmV4dGNodW5r ID0gY2h1bmtfYXRfb2Zmc2V0KHAsIHNpemUpOwotLQotLSAgICAvKiBMaWdodHdlaWdodCB0ZXN0 czogY2hlY2sgd2hldGhlciB0aGUgYmxvY2sgaXMgYWxyZWFkeSB0aGUKLS0gICAgICAgdG9wIGJs b2NrLiAgKi8KLS0gICAgaWYgKF9fZ2xpYmNfdW5saWtlbHkgKHAgPT0gYXYtPnRvcCkpCi0tICAg ICAgbWFsbG9jX3ByaW50ZXJyICgiZG91YmxlIGZyZWUgb3IgY29ycnVwdGlvbiAodG9wKSIpOwot LSAgICAvKiBPciB3aGV0aGVyIHRoZSBuZXh0IGNodW5rIGlzIGJleW9uZCB0aGUgYm91bmRhcmll cyBvZiB0aGUgYXJlbmEuICAqLwotLSAgICBpZiAoX19idWlsdGluX2V4cGVjdCAoY29udGlndW91 cyAoYXYpCi0tCQkJICAmJiAoY2hhciAqKSBuZXh0Y2h1bmsKLS0JCQkgID49ICgoY2hhciAqKSBh di0+dG9wICsgY2h1bmtzaXplKGF2LT50b3ApKSwgMCkpCi0tCW1hbGxvY19wcmludGVyciAoImRv dWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24gKG91dCkiKTsKLS0gICAgLyogT3Igd2hldGhlciB0aGUg YmxvY2sgaXMgYWN0dWFsbHkgbm90IG1hcmtlZCB1c2VkLiAgKi8KLS0gICAgaWYgKF9fZ2xpYmNf dW5saWtlbHkgKCFwcmV2X2ludXNlKG5leHRjaHVuaykpKQotLSAgICAgIG1hbGxvY19wcmludGVy ciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRpb24gKCFwcmV2KSIpOwotLQotLSAgICBuZXh0c2l6 ZSA9IGNodW5rc2l6ZShuZXh0Y2h1bmspOwotLSAgICBpZiAoX19idWlsdGluX2V4cGVjdCAoY2h1 bmtzaXplX25vbWFzayAobmV4dGNodW5rKSA8PSBDSFVOS19IRFJfU1osIDApCi0tCXx8IF9fYnVp bHRpbl9leHBlY3QgKG5leHRzaXplID49IGF2LT5zeXN0ZW1fbWVtLCAwKSkKLS0gICAgICBtYWxs b2NfcHJpbnRlcnIgKCJmcmVlKCk6IGludmFsaWQgbmV4dCBzaXplIChub3JtYWwpIik7Ci0rICAg IF9pbnRfZnJlZV9tZXJnZV9jaHVuayAoYXYsIHAsIHNpemUpOwotIAotLSAgICBmcmVlX3BlcnR1 cmIgKGNodW5rMm1lbShwKSwgc2l6ZSAtIENIVU5LX0hEUl9TWik7Ci0rICAgIGlmICghaGF2ZV9s b2NrKQotKyAgICAgIF9fbGliY19sb2NrX3VubG9jayAoYXYtPm11dGV4KTsKLSsgIH0KLSsgIC8q Ci0rICAgIElmIHRoZSBjaHVuayB3YXMgYWxsb2NhdGVkIHZpYSBtbWFwLCByZWxlYXNlIHZpYSBt dW5tYXAoKS4KLSsgICovCi0rCi0rICBlbHNlIHsKLSsgICAgbXVubWFwX2NodW5rIChwKTsKLSsg IH0KLSt9Ci0rCi0rLyogVHJ5IHRvIG1lcmdlIGNodW5rIFAgb2YgU0laRSBieXRlcyB3aXRoIGl0 cyBuZWlnaGJvcnMuICBQdXQgdGhlCi0rICAgcmVzdWx0aW5nIGNodW5rIG9uIHRoZSBhcHByb3By aWF0ZSBiaW4gbGlzdC4gIFAgbXVzdCBub3QgYmUgb24gYQotKyAgIGJpbiBsaXN0IHlldCwgYW5k IGl0IGNhbiBiZSBpbiB1c2UuICAqLwotK3N0YXRpYyB2b2lkCi0rX2ludF9mcmVlX21lcmdlX2No dW5rIChtc3RhdGUgYXYsIG1jaHVua3B0ciBwLCBJTlRFUk5BTF9TSVpFX1Qgc2l6ZSkKLSt7Ci0r ICBtY2h1bmtwdHIgbmV4dGNodW5rID0gY2h1bmtfYXRfb2Zmc2V0KHAsIHNpemUpOwotKwotKyAg LyogTGlnaHR3ZWlnaHQgdGVzdHM6IGNoZWNrIHdoZXRoZXIgdGhlIGJsb2NrIGlzIGFscmVhZHkg dGhlCi0rICAgICB0b3AgYmxvY2suICAqLwotKyAgaWYgKF9fZ2xpYmNfdW5saWtlbHkgKHAgPT0g YXYtPnRvcCkpCi0rICAgIG1hbGxvY19wcmludGVyciAoImRvdWJsZSBmcmVlIG9yIGNvcnJ1cHRp b24gKHRvcCkiKTsKLSsgIC8qIE9yIHdoZXRoZXIgdGhlIG5leHQgY2h1bmsgaXMgYmV5b25kIHRo ZSBib3VuZGFyaWVzIG9mIHRoZSBhcmVuYS4gICovCi0rICBpZiAoX19idWlsdGluX2V4cGVjdCAo Y29udGlndW91cyAoYXYpCi0rCQkJJiYgKGNoYXIgKikgbmV4dGNodW5rCi0rCQkJPj0gKChjaGFy ICopIGF2LT50b3AgKyBjaHVua3NpemUoYXYtPnRvcCkpLCAwKSkKLSsgICAgbWFsbG9jX3ByaW50 ZXJyICgiZG91YmxlIGZyZWUgb3IgY29ycnVwdGlvbiAob3V0KSIpOwotKyAgLyogT3Igd2hldGhl ciB0aGUgYmxvY2sgaXMgYWN0dWFsbHkgbm90IG1hcmtlZCB1c2VkLiAgKi8KLSsgIGlmIChfX2ds aWJjX3VubGlrZWx5ICghcHJldl9pbnVzZShuZXh0Y2h1bmspKSkKLSsgICAgbWFsbG9jX3ByaW50 ZXJyICgiZG91YmxlIGZyZWUgb3IgY29ycnVwdGlvbiAoIXByZXYpIik7Ci0rCi0rICBJTlRFUk5B TF9TSVpFX1QgbmV4dHNpemUgPSBjaHVua3NpemUobmV4dGNodW5rKTsKLSsgIGlmIChfX2J1aWx0 aW5fZXhwZWN0IChjaHVua3NpemVfbm9tYXNrIChuZXh0Y2h1bmspIDw9IENIVU5LX0hEUl9TWiwg MCkKLSsgICAgICB8fCBfX2J1aWx0aW5fZXhwZWN0IChuZXh0c2l6ZSA+PSBhdi0+c3lzdGVtX21l bSwgMCkpCi0rICAgIG1hbGxvY19wcmludGVyciAoImZyZWUoKTogaW52YWxpZCBuZXh0IHNpemUg KG5vcm1hbCkiKTsKLSsKLSsgIGZyZWVfcGVydHVyYiAoY2h1bmsybWVtKHApLCBzaXplIC0gQ0hV TktfSERSX1NaKTsKLSAKLS0gICAgLyogY29uc29saWRhdGUgYmFja3dhcmQgKi8KLS0gICAgaWYg KCFwcmV2X2ludXNlKHApKSB7Ci0tICAgICAgcHJldnNpemUgPSBwcmV2X3NpemUgKHApOwotKyAg LyogQ29uc29saWRhdGUgYmFja3dhcmQuICAqLwotKyAgaWYgKCFwcmV2X2ludXNlKHApKQotKyAg ICB7Ci0rICAgICAgSU5URVJOQUxfU0laRV9UIHByZXZzaXplID0gcHJldl9zaXplIChwKTsKLSAg ICAgICBzaXplICs9IHByZXZzaXplOwotICAgICAgIHAgPSBjaHVua19hdF9vZmZzZXQocCwgLSgo bG9uZykgcHJldnNpemUpKTsKLSAgICAgICBpZiAoX19nbGliY191bmxpa2VseSAoY2h1bmtzaXpl KHApICE9IHByZXZzaXplKSkKLUBAIC00NjY5LDkgKzQ2OTUsMjUgQEAgX2ludF9mcmVlIChtc3Rh dGUgYXYsIG1jaHVua3B0ciBwLCBpbnQgaGF2ZV9sb2NrKQotICAgICAgIHVubGlua19jaHVuayAo YXYsIHApOwotICAgICB9Ci0gCi0tICAgIGlmIChuZXh0Y2h1bmsgIT0gYXYtPnRvcCkgewotKyAg LyogV3JpdGUgdGhlIGNodW5rIGhlYWRlciwgbWF5YmUgYWZ0ZXIgbWVyZ2luZyB3aXRoIHRoZSBm b2xsb3dpbmcgY2h1bmsuICAqLwotKyAgc2l6ZSA9IF9pbnRfZnJlZV9jcmVhdGVfY2h1bmsgKGF2 LCBwLCBzaXplLCBuZXh0Y2h1bmssIG5leHRzaXplKTsKLSsgIF9pbnRfZnJlZV9tYXliZV9jb25z b2xpZGF0ZSAoYXYsIHNpemUpOwotK30KLSsKLSsvKiBDcmVhdGUgYSBjaHVuayBhdCBQIG9mIFNJ WkUgYnl0ZXMsIHdpdGggU0laRSBwb3RlbnRpYWxseSBpbmNyZWFzZWQKLSsgICB0byBjb3ZlciB0 aGUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGNodW5rIE5FWFRDSFVOSyBvZiBORVhUU0laRQotKyAg IGJ5dGVzIChpZiBORVhUQ0hVTksgaXMgdW51c2VkKS4gIFRoZSBjaHVuayBhdCBQIGlzIG5vdCBh Y3R1YWxseQotKyAgIHJlYWQgYW5kIGRvZXMgbm90IGhhdmUgdG8gYmUgaW5pdGlhbGl6ZWQuICBB ZnRlciBjcmVhdGlvbiwgaXQgaXMKLSsgICBwbGFjZWQgb24gdGhlIGFwcHJvcHJpYXRlIGJpbiBs aXN0LiAgVGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHNpemUKLSsgICBvZiB0aGUgbmV3IGNodW5r LiAgKi8KLStzdGF0aWMgSU5URVJOQUxfU0laRV9UCi0rX2ludF9mcmVlX2NyZWF0ZV9jaHVuayAo bXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgSU5URVJOQUxfU0laRV9UIHNpemUsCi0rCQkJbWNodW5r cHRyIG5leHRjaHVuaywgSU5URVJOQUxfU0laRV9UIG5leHRzaXplKQotK3sKLSsgIGlmIChuZXh0 Y2h1bmsgIT0gYXYtPnRvcCkKLSsgICAgewotICAgICAgIC8qIGdldCBhbmQgY2xlYXIgaW51c2Ug Yml0ICovCi0tICAgICAgbmV4dGludXNlID0gaW51c2VfYml0X2F0X29mZnNldChuZXh0Y2h1bmss IG5leHRzaXplKTsKLSsgICAgICBib29sIG5leHRpbnVzZSA9IGludXNlX2JpdF9hdF9vZmZzZXQg KG5leHRjaHVuaywgbmV4dHNpemUpOwotIAotICAgICAgIC8qIGNvbnNvbGlkYXRlIGZvcndhcmQg Ki8KLSAgICAgICBpZiAoIW5leHRpbnVzZSkgewotQEAgLTQ2ODYsOCArNDcyOCw4IEBAIF9pbnRf ZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50IGhhdmVfbG9jaykKLSAJYmVlbiBnaXZl biBvbmUgY2hhbmNlIHRvIGJlIHVzZWQgaW4gbWFsbG9jLgotICAgICAgICovCi0gCi0tICAgICAg YmNrID0gdW5zb3J0ZWRfY2h1bmtzKGF2KTsKLS0gICAgICBmd2QgPSBiY2stPmZkOwotKyAgICAg IG1jaHVua3B0ciBiY2sgPSB1bnNvcnRlZF9jaHVua3MgKGF2KTsKLSsgICAgICBtY2h1bmtwdHIg ZndkID0gYmNrLT5mZDsKLSAgICAgICBpZiAoX19nbGliY191bmxpa2VseSAoZndkLT5iayAhPSBi Y2spKQotIAltYWxsb2NfcHJpbnRlcnIgKCJmcmVlKCk6IGNvcnJ1cHRlZCB1bnNvcnRlZCBjaHVu a3MiKTsKLSAgICAgICBwLT5mZCA9IGZ3ZDsKLUBAIC00NzA2LDYxICs0NzQ4LDUyIEBAIF9pbnRf ZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50IGhhdmVfbG9jaykKLSAgICAgICBjaGVj a19mcmVlX2NodW5rKGF2LCBwKTsKLSAgICAgfQotIAotLSAgICAvKgotLSAgICAgIElmIHRoZSBj aHVuayBib3JkZXJzIHRoZSBjdXJyZW50IGhpZ2ggZW5kIG9mIG1lbW9yeSwKLS0gICAgICBjb25z b2xpZGF0ZSBpbnRvIHRvcAotLSAgICAqLwotLQotLSAgICBlbHNlIHsKLSsgIGVsc2UKLSsgICAg ewotKyAgICAgIC8qIElmIHRoZSBjaHVuayBib3JkZXJzIHRoZSBjdXJyZW50IGhpZ2ggZW5kIG9m IG1lbW9yeSwKLSsJIGNvbnNvbGlkYXRlIGludG8gdG9wLiAgKi8KLSAgICAgICBzaXplICs9IG5l eHRzaXplOwotICAgICAgIHNldF9oZWFkKHAsIHNpemUgfCBQUkVWX0lOVVNFKTsKLSAgICAgICBh di0+dG9wID0gcDsKLSAgICAgICBjaGVja19jaHVuayhhdiwgcCk7Ci0gICAgIH0KLSAKLS0gICAg LyoKLS0gICAgICBJZiBmcmVlaW5nIGEgbGFyZ2Ugc3BhY2UsIGNvbnNvbGlkYXRlIHBvc3NpYmx5 LXN1cnJvdW5kaW5nCi0tICAgICAgY2h1bmtzLiBUaGVuLCBpZiB0aGUgdG90YWwgdW51c2VkIHRv cG1vc3QgbWVtb3J5IGV4Y2VlZHMgdHJpbQotLSAgICAgIHRocmVzaG9sZCwgYXNrIG1hbGxvY190 cmltIHRvIHJlZHVjZSB0b3AuCi0tCi0tICAgICAgVW5sZXNzIG1heF9mYXN0IGlzIDAsIHdlIGRv bid0IGtub3cgaWYgdGhlcmUgYXJlIGZhc3RiaW5zCi0tICAgICAgYm9yZGVyaW5nIHRvcCwgc28g d2UgY2Fubm90IHRlbGwgZm9yIHN1cmUgd2hldGhlciB0aHJlc2hvbGQKLS0gICAgICBoYXMgYmVl biByZWFjaGVkIHVubGVzcyBmYXN0YmlucyBhcmUgY29uc29saWRhdGVkLiAgQnV0IHdlCi0tICAg ICAgZG9uJ3Qgd2FudCB0byBjb25zb2xpZGF0ZSBvbiBlYWNoIGZyZWUuICBBcyBhIGNvbXByb21p c2UsCi0tICAgICAgY29uc29saWRhdGlvbiBpcyBwZXJmb3JtZWQgaWYgRkFTVEJJTl9DT05TT0xJ REFUSU9OX1RIUkVTSE9MRAotLSAgICAgIGlzIHJlYWNoZWQuCi0tICAgICovCi0rICByZXR1cm4g c2l6ZTsKLSt9Ci0gCi0tICAgIGlmICgodW5zaWduZWQgbG9uZykoc2l6ZSkgPj0gRkFTVEJJTl9D T05TT0xJREFUSU9OX1RIUkVTSE9MRCkgewotKy8qIElmIGZyZWVpbmcgYSBsYXJnZSBzcGFjZSwg Y29uc29saWRhdGUgcG9zc2libHktc3Vycm91bmRpbmcKLSsgICBjaHVua3MuICBUaGVuLCBpZiB0 aGUgdG90YWwgdW51c2VkIHRvcG1vc3QgbWVtb3J5IGV4Y2VlZHMgdHJpbQotKyAgIHRocmVzaG9s ZCwgYXNrIG1hbGxvY190cmltIHRvIHJlZHVjZSB0b3AuICAqLwotK3N0YXRpYyB2b2lkCi0rX2lu dF9mcmVlX21heWJlX2NvbnNvbGlkYXRlIChtc3RhdGUgYXYsIElOVEVSTkFMX1NJWkVfVCBzaXpl KQotK3sKLSsgIC8qIFVubGVzcyBtYXhfZmFzdCBpcyAwLCB3ZSBkb24ndCBrbm93IGlmIHRoZXJl IGFyZSBmYXN0YmlucwotKyAgICAgYm9yZGVyaW5nIHRvcCwgc28gd2UgY2Fubm90IHRlbGwgZm9y IHN1cmUgd2hldGhlciB0aHJlc2hvbGQgaGFzCi0rICAgICBiZWVuIHJlYWNoZWQgdW5sZXNzIGZh c3RiaW5zIGFyZSBjb25zb2xpZGF0ZWQuICBCdXQgd2UgZG9uJ3Qgd2FudAotKyAgICAgdG8gY29u c29saWRhdGUgb24gZWFjaCBmcmVlLiAgQXMgYSBjb21wcm9taXNlLCBjb25zb2xpZGF0aW9uIGlz Ci0rICAgICBwZXJmb3JtZWQgaWYgRkFTVEJJTl9DT05TT0xJREFUSU9OX1RIUkVTSE9MRCBpcyBy ZWFjaGVkLiAgKi8KLSsgIGlmIChzaXplID49IEZBU1RCSU5fQ09OU09MSURBVElPTl9USFJFU0hP TEQpCi0rICAgIHsKLSAgICAgICBpZiAoYXRvbWljX2xvYWRfcmVsYXhlZCAoJmF2LT5oYXZlX2Zh c3RjaHVua3MpKQotIAltYWxsb2NfY29uc29saWRhdGUoYXYpOwotIAotLSAgICAgIGlmIChhdiA9 PSAmbWFpbl9hcmVuYSkgewotKyAgICAgIGlmIChhdiA9PSAmbWFpbl9hcmVuYSkKLSsJewotICNp Zm5kZWYgTU9SRUNPUkVfQ0FOTk9UX1RSSU0KLS0JaWYgKCh1bnNpZ25lZCBsb25nKShjaHVua3Np emUoYXYtPnRvcCkpID49Ci0tCSAgICAodW5zaWduZWQgbG9uZykobXBfLnRyaW1fdGhyZXNob2xk KSkKLS0JICBzeXN0cmltKG1wXy50b3BfcGFkLCBhdik7Ci0rCSAgaWYgKGNodW5rc2l6ZSAoYXYt PnRvcCkgPj0gbXBfLnRyaW1fdGhyZXNob2xkKQotKwkgICAgc3lzdHJpbSAobXBfLnRvcF9wYWQs IGF2KTsKLSAjZW5kaWYKLS0gICAgICB9IGVsc2UgewotLQkvKiBBbHdheXMgdHJ5IGhlYXBfdHJp bSgpLCBldmVuIGlmIHRoZSB0b3AgY2h1bmsgaXMgbm90Ci0tCSAgIGxhcmdlLCBiZWNhdXNlIHRo ZSBjb3JyZXNwb25kaW5nIGhlYXAgbWlnaHQgZ28gYXdheS4gICovCi0tCWhlYXBfaW5mbyAqaGVh cCA9IGhlYXBfZm9yX3B0cih0b3AoYXYpKTsKLSsJfQotKyAgICAgIGVsc2UKLSsJewotKwkgIC8q IEFsd2F5cyB0cnkgaGVhcF90cmltLCBldmVuIGlmIHRoZSB0b3AgY2h1bmsgaXMgbm90IGxhcmdl LAotKwkgICAgIGJlY2F1c2UgdGhlIGNvcnJlc3BvbmRpbmcgaGVhcCBtaWdodCBnbyBhd2F5LiAg Ki8KLSsJICBoZWFwX2luZm8gKmhlYXAgPSBoZWFwX2Zvcl9wdHIgKHRvcCAoYXYpKTsKLSAKLS0J YXNzZXJ0KGhlYXAtPmFyX3B0ciA9PSBhdik7Ci0tCWhlYXBfdHJpbShoZWFwLCBtcF8udG9wX3Bh ZCk7Ci0tICAgICAgfQotKwkgIGFzc2VydCAoaGVhcC0+YXJfcHRyID09IGF2KTsKLSsJICBoZWFw X3RyaW0gKGhlYXAsIG1wXy50b3BfcGFkKTsKLSsJfQotICAgICB9Ci0tCi0tICAgIGlmICghaGF2 ZV9sb2NrKQotLSAgICAgIF9fbGliY19sb2NrX3VubG9jayAoYXYtPm11dGV4KTsKLS0gIH0KLS0g IC8qCi0tICAgIElmIHRoZSBjaHVuayB3YXMgYWxsb2NhdGVkIHZpYSBtbWFwLCByZWxlYXNlIHZp YSBtdW5tYXAoKS4KLS0gICovCi0tCi0tICBlbHNlIHsKLS0gICAgbXVubWFwX2NodW5rIChwKTsK LS0gIH0KLSB9Ci0gCi0gLyoKLUBAIC01MjIxLDcgKzUyNTQsNyBAQCBfaW50X21lbWFsaWduICht c3RhdGUgYXYsIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBieXRlcykKLSAgICAgICAgICAgICAg ICAgKGF2ICE9ICZtYWluX2FyZW5hID8gTk9OX01BSU5fQVJFTkEgOiAwKSk7Ci0gICAgICAgc2V0 X2ludXNlX2JpdF9hdF9vZmZzZXQgKG5ld3AsIG5ld3NpemUpOwotICAgICAgIHNldF9oZWFkX3Np emUgKHAsIGxlYWRzaXplIHwgKGF2ICE9ICZtYWluX2FyZW5hID8gTk9OX01BSU5fQVJFTkEgOiAw KSk7Ci0tICAgICAgX2ludF9mcmVlIChhdiwgcCwgMSk7Ci0rICAgICAgX2ludF9mcmVlX21lcmdl X2NodW5rIChhdiwgcCwgbGVhZHNpemUpOwotICAgICAgIHAgPSBuZXdwOwotIAotICAgICAgIGFz c2VydCAobmV3c2l6ZSA+PSBuYiAmJgotQEAgLTUyMzIsMTUgKzUyNjUsMjcgQEAgX2ludF9tZW1h bGlnbiAobXN0YXRlIGF2LCBzaXplX3QgYWxpZ25tZW50LCBzaXplX3QgYnl0ZXMpCi0gICBpZiAo IWNodW5rX2lzX21tYXBwZWQgKHApKQotICAgICB7Ci0gICAgICAgc2l6ZSA9IGNodW5rc2l6ZSAo cCk7Ci0tICAgICAgaWYgKCh1bnNpZ25lZCBsb25nKSAoc2l6ZSkgPiAodW5zaWduZWQgbG9uZykg KG5iICsgTUlOU0laRSkpCi0rICAgICAgbWNodW5rcHRyIG5leHRjaHVuayA9IGNodW5rX2F0X29m ZnNldChwLCBzaXplKTsKLSsgICAgICBJTlRFUk5BTF9TSVpFX1QgbmV4dHNpemUgPSBjaHVua3Np emUobmV4dGNodW5rKTsKLSsgICAgICBpZiAoc2l6ZSA+IG5iKQotICAgICAgICAgewotICAgICAg ICAgICByZW1haW5kZXJfc2l6ZSA9IHNpemUgLSBuYjsKLS0gICAgICAgICAgcmVtYWluZGVyID0g Y2h1bmtfYXRfb2Zmc2V0IChwLCBuYik7Ci0tICAgICAgICAgIHNldF9oZWFkIChyZW1haW5kZXIs IHJlbWFpbmRlcl9zaXplIHwgUFJFVl9JTlVTRSB8Ci0tICAgICAgICAgICAgICAgICAgICAoYXYg IT0gJm1haW5fYXJlbmEgPyBOT05fTUFJTl9BUkVOQSA6IDApKTsKLS0gICAgICAgICAgc2V0X2hl YWRfc2l6ZSAocCwgbmIpOwotLSAgICAgICAgICBfaW50X2ZyZWUgKGF2LCByZW1haW5kZXIsIDEp OwotLSAgICAgICAgfQotKwkgIGlmIChyZW1haW5kZXJfc2l6ZSA+PSBNSU5TSVpFCi0rCSAgICAg IHx8IG5leHRjaHVuayA9PSBhdi0+dG9wCi0rCSAgICAgIHx8ICFpbnVzZV9iaXRfYXRfb2Zmc2V0 IChuZXh0Y2h1bmssIG5leHRzaXplKSkKLSsJICAgIHsKLSsJICAgICAgLyogV2UgY2FuIG9ubHkg Z2l2ZSBiYWNrIHRoZSB0YWlsIGlmIGl0IGlzIGxhcmdlciB0aGFuCi0rCQkgTUlOU0laRSwgb3Ig aWYgdGhlIGZvbGxvd2luZyBjaHVuayBpcyB1bnVzZWQgKHRvcAotKwkJIGNodW5rIG9yIHVudXNl ZCBpbi1oZWFwIGNodW5rKS4gIE90aGVyd2lzZSB3ZSB3b3VsZAotKwkJIGNyZWF0ZSBhIGNodW5r IHRoYXQgaXMgc21hbGxlciB0aGFuIE1JTlNJWkUuICAqLwotKwkgICAgICByZW1haW5kZXIgPSBj aHVua19hdF9vZmZzZXQgKHAsIG5iKTsKLSsJICAgICAgc2V0X2hlYWRfc2l6ZSAocCwgbmIpOwot KwkgICAgICByZW1haW5kZXJfc2l6ZSA9IF9pbnRfZnJlZV9jcmVhdGVfY2h1bmsgKGF2LCByZW1h aW5kZXIsCi0rCQkJCQkJICAgICAgIHJlbWFpbmRlcl9zaXplLAotKwkJCQkJCSAgICAgICBuZXh0 Y2h1bmssIG5leHRzaXplKTsKLSsJICAgICAgX2ludF9mcmVlX21heWJlX2NvbnNvbGlkYXRlIChh diwgcmVtYWluZGVyX3NpemUpOwotKwkgICAgfQotKwl9Ci0gICAgIH0KLSAKLSAgIGNoZWNrX2lu dXNlX2NodW5rIChhdiwgcCk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvMzA3 MjMtMi0wZGM3ZmMxY2YwOTQ0MDZhMTM4ZTRkMWJjZjk1NTNlNTllZGNmODlkLnBhdGNoIGIvc3Jj cGtncy9nbGliYy9wYXRjaGVzLzMwNzIzLTItMGRjN2ZjMWNmMDk0NDA2YTEzOGU0ZDFiY2Y5NTUz ZTU5ZWRjZjg5ZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYxNWM3YjAz NWNjNzUuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMDcyMy0y LTBkYzdmYzFjZjA5NDQwNmExMzhlNGQxYmNmOTU1M2U1OWVkY2Y4OWQucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwyNTIgKzAsMCBAQAotRnJvbSAwZGM3ZmMxY2YwOTQ0MDZhMTM4ZTRkMWJjZjk1 NTNlNTllZGNmODlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmlhbiBXZWlt ZXIgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTAgQXVnIDIwMjMgMTk6MzY6NTYg KzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbWFsbG9jOiBSZW1vdmUgYmluIHNjYW5uaW5nIGZyb20g bWVtYWxpZ24gKGJ1ZyAzMDcyMykKLQotT24gdGhlIHRlc3Qgd29ya2xvYWQgKG1wdiAtLWNhY2hl PXllcyB3aXRoIFZQOSB2aWRlbyBkZWNvZGluZyksIHRoZQotYmluIHNjYW5uaW5nIGhhcyBhIHZl cnkgcG9vciBzdWNjZXNzIHJhdGUgKGxlc3MgdGhhbiAyJSkuICBUaGUgdGNhY2hlCi1zY2Fubmlu ZyBoYXMgYWJvdXQgNTAlIHN1Y2Nlc3MgcmF0ZSwgc28ga2VlcCB0aGF0LgotCi1VcGRhdGUgY29t bWVudHMgaW4gbWFsbG9jL3RzdC1tZW1hbGlnbi0yIHRvIGluZGljYXRlIHRoZSBwdXJwb3NlCi1v ZiB0aGUgdGVzdHMuICBFdmVuIHdpdGggdGhlIHNjYW5uaW5nIHJlbW92ZWQsIHRoZSBhZGRpdGlv bmFsCi1tZXJnaW5nIG9wcG9ydHVuaXRpZXMgc2luY2UgY29tbWl0IDU0MmIxMTA1ODUyNTY4YzNl YmM3MTIyMjVhZTc4YgotKCJtYWxsb2M6IEVuYWJsZSBtZXJnaW5nIG9mIHJlbWFpbmRlcnMgaW4g bWVtYWxpZ24gKGJ1ZyAzMDcyMykiKQotYXJlIHN1ZmZpY2llbnQgdG8gcGFzcyB0aGUgZXhpc3Rp bmcgbGFyZ2UgYmlucyB0ZXN0LgotCi1SZW1vdmUgbGVmdG92ZXIgdmFyaWFibGVzIGZyb20gX2lu dF9mcmVlIGZyb20gcmVmYWN0b3JpbmcgaW4gdGhlCi1zYW1lIGNvbW1pdC4KLQotUmV2aWV3ZWQt Ynk6IERKIERlbG9yaWUgPGRqQHJlZGhhdC5jb20+Ci0tLS0KLSBtYWxsb2MvbWFsbG9jLmMgICAg ICAgICB8IDE2OSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gbWFs bG9jL3RzdC1tZW1hbGlnbi0yLmMgfCAgIDcgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2Vy dGlvbnMoKyksIDE2NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21hbGxvYy9tYWxsb2Mu YyBiL21hbGxvYy9tYWxsb2MuYwotaW5kZXggOTQ4Zjk3NTlhZi4uZDBiYmJmMzcxMCAxMDA2NDQK LS0tLSBhL21hbGxvYy9tYWxsb2MuYwotKysrIGIvbWFsbG9jL21hbGxvYy5jCi1AQCAtNDQ4OCwx MiArNDQ4OCw2IEBAIF9pbnRfZnJlZSAobXN0YXRlIGF2LCBtY2h1bmtwdHIgcCwgaW50IGhhdmVf bG9jaykKLSB7Ci0gICBJTlRFUk5BTF9TSVpFX1Qgc2l6ZTsgICAgICAgIC8qIGl0cyBzaXplICov Ci0gICBtZmFzdGJpbnB0ciAqZmI7ICAgICAgICAgICAgIC8qIGFzc29jaWF0ZWQgZmFzdGJpbiAq LwotLSAgbWNodW5rcHRyIG5leHRjaHVuazsgICAgICAgICAvKiBuZXh0IGNvbnRpZ3VvdXMgY2h1 bmsgKi8KLS0gIElOVEVSTkFMX1NJWkVfVCBuZXh0c2l6ZTsgICAgLyogaXRzIHNpemUgKi8KLS0g IGludCBuZXh0aW51c2U7ICAgICAgICAgICAgICAgLyogdHJ1ZSBpZiBuZXh0Y2h1bmsgaXMgdXNl ZCAqLwotLSAgSU5URVJOQUxfU0laRV9UIHByZXZzaXplOyAgICAvKiBzaXplIG9mIHByZXZpb3Vz IGNvbnRpZ3VvdXMgY2h1bmsgKi8KLS0gIG1jaHVua3B0ciBiY2s7ICAgICAgICAgICAgICAgLyog bWlzYyB0ZW1wIGZvciBsaW5raW5nICovCi0tICBtY2h1bmtwdHIgZndkOyAgICAgICAgICAgICAg IC8qIG1pc2MgdGVtcCBmb3IgbGlua2luZyAqLwotIAotICAgc2l6ZSA9IGNodW5rc2l6ZSAocCk7 Ci0gCi1AQCAtNTAzMiw0MiArNTAyNiw2IEBAIF9pbnRfcmVhbGxvYyAobXN0YXRlIGF2LCBtY2h1 bmtwdHIgb2xkcCwgSU5URVJOQUxfU0laRV9UIG9sZHNpemUsCi0gICAgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tIG1lbWFsaWduIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot ICAqLwotIAotLS8qIFJldHVybnMgMCBpZiB0aGUgY2h1bmsgaXMgbm90IGFuZCBkb2VzIG5vdCBj b250YWluIHRoZSByZXF1ZXN0ZWQKLS0gICBhbGlnbmVkIHN1Yi1jaHVuaywgZWxzZSByZXR1cm5z IHRoZSBhbW91bnQgb2YgIndhc3RlIiBmcm9tCi0tICAgdHJpbW1pbmcuICBOQiBpcyB0aGUgKmNo dW5rKiBieXRlIHNpemUsIG5vdCB0aGUgdXNlciBieXRlCi0tICAgc2l6ZS4gICovCi0tc3RhdGlj IHNpemVfdAotLWNodW5rX29rX2Zvcl9tZW1hbGlnbiAobWNodW5rcHRyIHAsIHNpemVfdCBhbGln bm1lbnQsIHNpemVfdCBuYikKLS17Ci0tICB2b2lkICptID0gY2h1bmsybWVtIChwKTsKLS0gIElO VEVSTkFMX1NJWkVfVCBzaXplID0gY2h1bmtzaXplIChwKTsKLS0gIHZvaWQgKmFsaWduZWRfbSA9 IG07Ci0tCi0tICBpZiAoX19nbGliY191bmxpa2VseSAobWlzYWxpZ25lZF9jaHVuayAocCkpKQot LSAgICBtYWxsb2NfcHJpbnRlcnIgKCJfaW50X21lbWFsaWduKCk6IHVuYWxpZ25lZCBjaHVuayBk ZXRlY3RlZCIpOwotLQotLSAgYWxpZ25lZF9tID0gUFRSX0FMSUdOX1VQIChtLCBhbGlnbm1lbnQp OwotLQotLSAgSU5URVJOQUxfU0laRV9UIGZyb250X2V4dHJhID0gKGludHB0cl90KSBhbGlnbmVk X20gLSAoaW50cHRyX3QpIG07Ci0tCi0tICAvKiBXZSBjYW4ndCB0cmltIG9mZiB0aGUgZnJvbnQg YXMgaXQncyB0b28gc21hbGwuICAqLwotLSAgaWYgKGZyb250X2V4dHJhID4gMCAmJiBmcm9udF9l eHRyYSA8IE1JTlNJWkUpCi0tICAgIHJldHVybiAwOwotLQotLSAgLyogSWYgaXQncyBhIHBlcmZl Y3QgZml0LCBpdCdzIGFuIGV4Y2VwdGlvbiB0byB0aGUgcmV0dXJuIHZhbHVlIHJ1bGUKLS0gICAg ICh3ZSB3b3VsZCByZXR1cm4gemVybyB3YXN0ZSwgd2hpY2ggbG9va3MgbGlrZSAibm90IHVzYWJs ZSIpLCBzbwotLSAgICAgaGFuZGxlIGl0IGhlcmUgYnkgcmV0dXJuaW5nIGEgc21hbGwgbm9uLXpl cm8gdmFsdWUgaW5zdGVhZC4gICovCi0tICBpZiAoc2l6ZSA9PSBuYiAmJiBmcm9udF9leHRyYSA9 PSAwKQotLSAgICByZXR1cm4gMTsKLS0KLS0gIC8qIElmIHRoZSBibG9jayB3ZSBuZWVkIGZpdHMg aW4gdGhlIGNodW5rLCBjYWxjdWxhdGUgdG90YWwgd2FzdGUuICAqLwotLSAgaWYgKHNpemUgPiBu YiArIGZyb250X2V4dHJhKQotLSAgICByZXR1cm4gc2l6ZSAtIG5iOwotLQotLSAgLyogQ2FuJ3Qg dXNlIHRoaXMgY2h1bmsuICAqLwotLSAgcmV0dXJuIDA7Ci0tfQotLQotIC8qIEJZVEVTIGlzIHVz ZXIgcmVxdWVzdGVkIGJ5dGVzLCBub3QgcmVxdWVzdGVkIGNodW5rc2l6ZSBieXRlcy4gICovCi0g c3RhdGljIHZvaWQgKgotIF9pbnRfbWVtYWxpZ24gKG1zdGF0ZSBhdiwgc2l6ZV90IGFsaWdubWVu dCwgc2l6ZV90IGJ5dGVzKQotQEAgLTUwODIsNyArNTA0MCw2IEBAIF9pbnRfbWVtYWxpZ24gKG1z dGF0ZSBhdiwgc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IGJ5dGVzKQotICAgbWNodW5rcHRyIHJl bWFpbmRlcjsgICAgICAgICAgICAvKiBzcGFyZSByb29tIGF0IGVuZCB0byBzcGxpdCBvZmYgKi8K LSAgIHVuc2lnbmVkIGxvbmcgcmVtYWluZGVyX3NpemU7ICAgLyogaXRzIHNpemUgKi8KLSAgIElO VEVSTkFMX1NJWkVfVCBzaXplOwotLSAgbWNodW5rcHRyIHZpY3RpbTsKLSAKLSAgIG5iID0gY2hl Y2tlZF9yZXF1ZXN0MnNpemUgKGJ5dGVzKTsKLSAgIGlmIChuYiA9PSAwKQotQEAgLTUxMDEsMTI5 ICs1MDU4LDEzIEBAIF9pbnRfbWVtYWxpZ24gKG1zdGF0ZSBhdiwgc2l6ZV90IGFsaWdubWVudCwg c2l6ZV90IGJ5dGVzKQotICAgICAgd2UgZG9uJ3QgZmluZCBhbnl0aGluZyBpbiB0aG9zZSBiaW5z LCB0aGUgY29tbW9uIG1hbGxvYyBjb2RlIHdpbGwKLSAgICAgIHNjYW4gc3RhcnRpbmcgYXQgMngu ICAqLwotIAotLSAgLyogVGhpcyB3aWxsIGJlIHNldCBpZiB3ZSBmb3VuZCBhIGNhbmRpZGF0ZSBj aHVuay4gICovCi0tICB2aWN0aW0gPSBOVUxMOwotLQotLSAgLyogRmFzdCBiaW5zIGFyZSBzaW5n bHktbGlua2VkLCBoYXJkIHRvIHJlbW92ZSBhIGNodW5rIGZyb20gdGhlIG1pZGRsZQotLSAgICAg YW5kIHVubGlrZWx5IHRvIG1lZXQgb3VyIGFsaWdubWVudCByZXF1aXJlbWVudHMuICBXZSBoYXZl IG5vdCBkb25lCi0tICAgICBhbnkgZXhwZXJpbWVudGF0aW9uIHdpdGggc2VhcmNoaW5nIGZvciBh bGlnbmVkIGZhc3RiaW5zLiAgKi8KLS0KLS0gIGlmIChhdiAhPSBOVUxMKQotLSAgICB7Ci0tICAg ICAgaW50IGZpcnN0X2Jpbl9pbmRleDsKLS0gICAgICBpbnQgZmlyc3RfbGFyZ2ViaW5faW5kZXg7 Ci0tICAgICAgaW50IGxhc3RfYmluX2luZGV4OwotLQotLSAgICAgIGlmIChpbl9zbWFsbGJpbl9y YW5nZSAobmIpKQotLQlmaXJzdF9iaW5faW5kZXggPSBzbWFsbGJpbl9pbmRleCAobmIpOwotLSAg ICAgIGVsc2UKLS0JZmlyc3RfYmluX2luZGV4ID0gbGFyZ2ViaW5faW5kZXggKG5iKTsKLS0KLS0g ICAgICBpZiAoaW5fc21hbGxiaW5fcmFuZ2UgKG5iICogMikpCi0tCWxhc3RfYmluX2luZGV4ID0g c21hbGxiaW5faW5kZXggKG5iICogMik7Ci0tICAgICAgZWxzZQotLQlsYXN0X2Jpbl9pbmRleCA9 IGxhcmdlYmluX2luZGV4IChuYiAqIDIpOwotLQotLSAgICAgIGZpcnN0X2xhcmdlYmluX2luZGV4 ID0gbGFyZ2ViaW5faW5kZXggKE1JTl9MQVJHRV9TSVpFKTsKLS0KLS0gICAgICBpbnQgdmljdGlt X2luZGV4OyAgICAgICAgICAgICAgICAgLyogaXRzIGJpbiBpbmRleCAqLwotLQotLSAgICAgIGZv ciAodmljdGltX2luZGV4ID0gZmlyc3RfYmluX2luZGV4OwotLQkgICB2aWN0aW1faW5kZXggPCBs YXN0X2Jpbl9pbmRleDsKLS0JICAgdmljdGltX2luZGV4ICsrKQotLQl7Ci0tCSAgdmljdGltID0g TlVMTDsKLS0KLS0JICBpZiAodmljdGltX2luZGV4IDwgZmlyc3RfbGFyZ2ViaW5faW5kZXgpCi0t CSAgICB7Ci0tCSAgICAgIC8qIENoZWNrIHNtYWxsIGJpbnMuICBTbWFsbCBiaW4gY2h1bmtzIGFy ZSBkb3VibHktbGlua2VkIGRlc3BpdGUKLS0JCSBiZWluZyB0aGUgc2FtZSBzaXplLiAgKi8KLS0K LS0JICAgICAgbWNodW5rcHRyIGZ3ZDsgICAgICAgICAgICAgICAgICAgIC8qIG1pc2MgdGVtcCBm b3IgbGlua2luZyAqLwotLQkgICAgICBtY2h1bmtwdHIgYmNrOyAgICAgICAgICAgICAgICAgICAg LyogbWlzYyB0ZW1wIGZvciBsaW5raW5nICovCi0tCi0tCSAgICAgIGJjayA9IGJpbl9hdCAoYXYs IHZpY3RpbV9pbmRleCk7Ci0tCSAgICAgIGZ3ZCA9IGJjay0+ZmQ7Ci0tCSAgICAgIHdoaWxlIChm d2QgIT0gYmNrKQotLQkJewotLQkJICBpZiAoY2h1bmtfb2tfZm9yX21lbWFsaWduIChmd2QsIGFs aWdubWVudCwgbmIpID4gMCkKLS0JCSAgICB7Ci0tCQkgICAgICB2aWN0aW0gPSBmd2Q7Ci0tCi0t CQkgICAgICAvKiBVbmxpbmsgaXQgKi8KLS0JCSAgICAgIHZpY3RpbS0+ZmQtPmJrID0gdmljdGlt LT5iazsKLS0JCSAgICAgIHZpY3RpbS0+YmstPmZkID0gdmljdGltLT5mZDsKLS0JCSAgICAgIGJy ZWFrOwotLQkJICAgIH0KLS0KLS0JCSAgZndkID0gZndkLT5mZDsKLS0JCX0KLS0JICAgIH0KLS0J ICBlbHNlCi0tCSAgICB7Ci0tCSAgICAgIC8qIENoZWNrIGxhcmdlIGJpbnMuICAqLwotLQkgICAg ICBtY2h1bmtwdHIgZndkOyAgICAgICAgICAgICAgICAgICAgLyogbWlzYyB0ZW1wIGZvciBsaW5r aW5nICovCi0tCSAgICAgIG1jaHVua3B0ciBiY2s7ICAgICAgICAgICAgICAgICAgICAvKiBtaXNj IHRlbXAgZm9yIGxpbmtpbmcgKi8KLS0JICAgICAgbWNodW5rcHRyIGJlc3QgPSBOVUxMOwotLQkg ICAgICBzaXplX3QgYmVzdF9zaXplID0gMDsKLS0KLS0JICAgICAgYmNrID0gYmluX2F0IChhdiwg dmljdGltX2luZGV4KTsKLS0JICAgICAgZndkID0gYmNrLT5mZDsKLSsgIC8qIENhbGwgbWFsbG9j IHdpdGggd29yc3QgY2FzZSBwYWRkaW5nIHRvIGhpdCBhbGlnbm1lbnQuICovCi0rICBtID0gKGNo YXIgKikgKF9pbnRfbWFsbG9jIChhdiwgbmIgKyBhbGlnbm1lbnQgKyBNSU5TSVpFKSk7Ci0gCi0t CSAgICAgIHdoaWxlIChmd2QgIT0gYmNrKQotLQkJewotLQkJICBpbnQgZXh0cmE7Ci0tCi0tCQkg IGlmIChjaHVua3NpemUgKGZ3ZCkgPCBuYikKLS0JCSAgICBicmVhazsKLS0JCSAgZXh0cmEgPSBj aHVua19va19mb3JfbWVtYWxpZ24gKGZ3ZCwgYWxpZ25tZW50LCBuYik7Ci0tCQkgIGlmIChleHRy YSA+IDAKLS0JCSAgICAgICYmIChleHRyYSA8PSBiZXN0X3NpemUgfHwgYmVzdCA9PSBOVUxMKSkK LS0JCSAgICB7Ci0tCQkgICAgICBiZXN0ID0gZndkOwotLQkJICAgICAgYmVzdF9zaXplID0gZXh0 cmE7Ci0tCQkgICAgfQotKyAgaWYgKG0gPT0gMCkKLSsgICAgcmV0dXJuIDA7ICAgICAgICAgICAv KiBwcm9wYWdhdGUgZmFpbHVyZSAqLwotIAotLQkJICBmd2QgPSBmd2QtPmZkOwotLQkJfQotLQkg ICAgICB2aWN0aW0gPSBiZXN0OwotLQotLQkgICAgICBpZiAodmljdGltICE9IE5VTEwpCi0tCQl7 Ci0tCQkgIHVubGlua19jaHVuayAoYXYsIHZpY3RpbSk7Ci0tCQkgIGJyZWFrOwotLQkJfQotLQkg ICAgfQotLQotLQkgIGlmICh2aWN0aW0gIT0gTlVMTCkKLS0JICAgIGJyZWFrOwotLQl9Ci0tICAg IH0KLS0KLS0gIC8qIFN0cmF0ZWd5OiBmaW5kIGEgc3BvdCB3aXRoaW4gdGhhdCBjaHVuayB0aGF0 IG1lZXRzIHRoZSBhbGlnbm1lbnQKLS0gICAgIHJlcXVlc3QsIGFuZCB0aGVuIHBvc3NpYmx5IGZy ZWUgdGhlIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlLgotLSAgICAgVGhpcyBzdHJhdGVneSBp cyBpbmNyZWRpYmx5IGNvc3RseSBhbmQgY2FuIGxlYWQgdG8gZXh0ZXJuYWwKLS0gICAgIGZyYWdt ZW50YXRpb24gaWYgaGVhZGVyIGFuZCBmb290ZXIgY2h1bmtzIGFyZSB1bnVzZWQuICAqLwotLQot LSAgaWYgKHZpY3RpbSAhPSBOVUxMKQotLSAgICB7Ci0tICAgICAgcCA9IHZpY3RpbTsKLS0gICAg ICBtID0gY2h1bmsybWVtIChwKTsKLS0gICAgICBzZXRfaW51c2UgKHApOwotLSAgICAgIGlmIChh diAhPSAmbWFpbl9hcmVuYSkKLS0Jc2V0X25vbl9tYWluX2FyZW5hIChwKTsKLS0gICAgfQotLSAg ZWxzZQotLSAgICB7Ci0tICAgICAgLyogQ2FsbCBtYWxsb2Mgd2l0aCB3b3JzdCBjYXNlIHBhZGRp bmcgdG8gaGl0IGFsaWdubWVudC4gKi8KLS0KLS0gICAgICBtID0gKGNoYXIgKikgKF9pbnRfbWFs bG9jIChhdiwgbmIgKyBhbGlnbm1lbnQgKyBNSU5TSVpFKSk7Ci0tCi0tICAgICAgaWYgKG0gPT0g MCkKLS0JcmV0dXJuIDA7ICAgICAgICAgICAvKiBwcm9wYWdhdGUgZmFpbHVyZSAqLwotLQotLSAg ICAgIHAgPSBtZW0yY2h1bmsgKG0pOwotLSAgICB9Ci0rICBwID0gbWVtMmNodW5rIChtKTsKLSAK LSAgIGlmICgoKCh1bnNpZ25lZCBsb25nKSAobSkpICUgYWxpZ25tZW50KSAhPSAwKSAgIC8qIG1p c2FsaWduZWQgKi8KLSAgICAgewotZGlmZiAtLWdpdCBhL21hbGxvYy90c3QtbWVtYWxpZ24tMi5j IGIvbWFsbG9jL3RzdC1tZW1hbGlnbi0yLmMKLWluZGV4IGYyMjkyODNkYmYuLmVjZDZmYTI0OWUg MTAwNjQ0Ci0tLS0gYS9tYWxsb2MvdHN0LW1lbWFsaWduLTIuYwotKysrIGIvbWFsbG9jL3RzdC1t ZW1hbGlnbi0yLmMKLUBAIC04Niw3ICs4Niw4IEBAIGRvX3Rlc3QgKHZvaWQpCi0gICAgICAgVEVT VF9WRVJJRlkgKHRjYWNoZV9hbGxvY3NbaV0ucHRyMSA9PSB0Y2FjaGVfYWxsb2NzW2ldLnB0cjIp OwotICAgICB9Ci0gCi0tICAvKiBUZXN0IGZvciBub24taGVhZCB0Y2FjaGUgaGl0cy4gICovCi0r ICAvKiBUZXN0IGZvciBub24taGVhZCB0Y2FjaGUgaGl0cy4gIFRoaXMgZXhlcmNpc2VzIHRoZSBt ZW1hbGlnbgotKyAgICAgc2Nhbm5pbmcgY29kZSB0byBmaW5kIG1hdGNoaW5nIGFsbG9jYXRpb25z LiAgKi8KLSAgIGZvciAoaSA9IDA7IGkgPCBhcnJheV9sZW5ndGggKHB0cik7ICsrIGkpCi0gICAg IHsKLSAgICAgICBpZiAoaSA9PSA0KQotQEAgLTExMyw3ICsxMTQsOSBAQCBkb190ZXN0ICh2b2lk KQotICAgZnJlZSAocCk7Ci0gICBURVNUX1ZFUklGWSAoY291bnQgPiAwKTsKLSAKLS0gIC8qIExh cmdlIGJpbnMgdGVzdC4gICovCi0rICAvKiBMYXJnZSBiaW5zIHRlc3QuICBUaGlzIHZlcmlmaWVz IHRoYXQgdGhlIG92ZXItYWxsb2NhdGVkIHBhcnRzCi0rICAgICB0aGF0IG1lbWFsaWduIHJlbGVh c2VzIGZvciBmdXR1cmUgYWxsb2NhdGlvbnMgY2FuIGJlIHJldXNlZCBieQotKyAgICAgbWVtYWxp Z24gaXRzZWxmIGF0IGxlYXN0IGluIHNvbWUgY2FzZXMuICAqLwotIAotICAgZm9yIChpID0gMDsg aSA8IExOOyArKyBpKQotICAgICB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMv MzEyZTE1OTYyNmI2N2ZlMTFmMzllODNlMjIyY2Y0MzQ4YTM5NjJmMy5wYXRjaCBiL3NyY3BrZ3Mv Z2xpYmMvcGF0Y2hlcy8zMTJlMTU5NjI2YjY3ZmUxMWYzOWU4M2UyMjJjZjQzNDhhMzk2MmYzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi45MzBkMWZkOTcw MmMwNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy8zMTJlMTU5NjI2 YjY3ZmUxMWYzOWU4M2UyMjJjZjQzNDhhMzk2MmYzLnBhdGNoCkBAIC0wLDAgKzEsODAgQEAKK0Zy b20gMzEyZTE1OTYyNmI2N2ZlMTFmMzllODNlMjIyY2Y0MzQ4YTM5NjJmMyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEFkaGVtZXJ2YWwgWmFuZWxsYSA8YWRoZW1lcnZhbC56YW5lbGxh QGxpbmFyby5vcmc+CitEYXRlOiBUaHUsIDEgRmViIDIwMjQgMTQ6Mjk6NTMgLTAzMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gbWlwczogRkl4IGNsb25lMyBpbXBsZW1lbnRhdGlvbiAoQlogMzEzMjUpCisK K0ZvciBvMzIgd2UgbmVlZCB0byBzZXR1cCBhIG1pbmltYWwgc3RhY2sgZnJhbWUgdG8gYWxsb3cg Y3ByZXN0b3JlCitvbiBfX3RocmVhZF9zdGFydF9jbG9uZTMgKHdoaWNoIGluc3RydWN0IHRoZSBs aW5rZXIgdG8gc2F2ZSB0aGUKK2dwIGZvciBQSUMpLiAgQWxzbywgdGhlcmUgaXMgbm8gZ3VhcmFu dGVlIGJ5IGtBQkkgdGhhdCAkOCB3aWxsIGJlCitwcmVzZXJ2ZWQgYWZ0ZXIgc3lzY2FsbCBleGVj dXRpb24sIHNvIHdlIG5lZWQgdG8gc2F2ZSBpdCBvbiB0aGUKK3Byb3ZpZGVkIHN0YWNrLgorCitD aGVja2VkIG9uIG1pcHNlbC1saW51eC1nbnUuCisKK1JlcG9ydGVkLWJ5OiBLaGVtIFJhaiA8cmFq LmtoZW1AZ21haWwuY29tPgorVGVzdGVkLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29t PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYmJkMjQ4YWMwZDc1ZWZkZWY4ZmU2MWVhNjli MWZiMjVmYjk1YjZlNykKKy0tLQorIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUz LlMgfCAzMiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjcg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L21pcHMvY2xvbmUzLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBz L2Nsb25lMy5TCitpbmRleCBlOWZlYzJmYTQ3Li40ODFiOGFlOTYzIDEwMDY0NAorLS0tIGEvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jbG9uZTMuUworKysrIGIvc3lzZGVwcy91bml4L3N5 c3YvbGludXgvbWlwcy9jbG9uZTMuUworQEAgLTM3LDExICszNyw2IEBACisgCisgCS50ZXh0Cisg CS5zZXQJCW5vbWlwczE2CistI2lmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCistIyBkZWZpbmUgRVhU UkFfTE9DQUxTIDEKKy0jZWxzZQorLSMgZGVmaW5lIEVYVFJBX0xPQ0FMUyAwCistI2VuZGlmCisg I2RlZmluZSBGUkFNRVNaICgoTkFSR1NBVkUqU1pSRUcpK0FMU1opJkFMTUFTSworIEdQT0ZGPSBG UkFNRVNaLSgxKlNaUkVHKQorIE5FU1RFRChfX2Nsb25lMywgU1pSRUcsIHNwKQorQEAgLTY4LDgg KzYzLDMxIEBAIE5FU1RFRChfX2Nsb25lMywgU1pSRUcsIHNwKQorIAliZXF6CWEwLCBMKGVycm9y KQkvKiBObyBOVUxMIGNsX2FyZ3MgcG9pbnRlci4gICovCisgCWJlcXoJYTIsIEwoZXJyb3IpCS8q IE5vIE5VTEwgZnVuY3Rpb24gcG9pbnRlci4gICovCisgCisrI2lmIF9NSVBTX1NJTSA9PSBfQUJJ TzMyCisrCS8qIEJvdGggc3RhY2sgYW5kIHN0YWNrX3NpemUgb24gY2xvbmVfYXJncyBhcmUgZGVm aW5lZCBhcyB1aW50NjRfdCwgYW5kCisrCSAgIHRoZXJlIGlzIG5vIG5lZWQgdG8gaGFuZGxlIHZh bHVlcyBsYXJnZXIgdGhhbiB0byAzMiBiaXRzIGZvciBvMzIuICAqLworKyMgaWYgX19CWVRFX09S REVSID09IF9fQklHX0VORElBTgorKyMgIGRlZmluZSBDTF9TVEFDS1BPSU5URVJfT0ZGU0VUICA0 NAorKyMgIGRlZmluZSBDTF9TVEFDS1NJWkVfT0ZGU0VUICAgICA1MgorKyMgZWxzZQorKyMgIGRl ZmluZSBDTF9TVEFDS1BPSU5URVJfT0ZGU0VUICA0MAorKyMgIGRlZmluZSBDTF9TVEFDS1NJWkVf T0ZGU0VUICAgICA0OAorKyMgZW5kaWYKKysKKysJLyogRm9yIG8zMiB3ZSBuZWVkIHRvIHNldHVw IGEgbWluaW1hbCBzdGFjayBmcmFtZSB0byBhbGxvdyBjcHJlc3RvcmUKKysJICAgb24gX190aHJl YWRfc3RhcnRfY2xvbmUzLiAgQWxzbyB0aGVyZSBpcyBubyBndWFyYW50ZWUgYnkga0FCSSB0aGF0 CisrCSAgICQ4IHdpbGwgYmUgcHJlc2VydmVkIGFmdGVyIHN5c2NhbGwgZXhlY3V0aW9uIChzbyB3 ZSBuZWVkIHRvIHNhdmUgaXQKKysJICAgb24gdGhlIHByb3ZpZGVkIHN0YWNrKS4gICovCisrCWx3 CXQwLCBDTF9TVEFDS1BPSU5URVJfT0ZGU0VUKGEwKQkvKiBMb2FkIHRoZSBzdGFjayBwb2ludGVy LiAgKi8KKysJbHcJdDEsIENMX1NUQUNLU0laRV9PRkZTRVQoYTApCS8qIExvYWQgdGhlIHN0YWNr X3NpemUuICAqLworKwlhZGRpdQl0MSwgLTMyCQkJCS8qIFVwZGF0ZSB0aGUgc3RhY2sgc2l6ZS4g ICovCisrCWFkZHUJdDIsIHQxLCB0MAkJCS8qIENhbGN1bGF0ZSB0aGUgdGhyZWFkIHN0YWNrLiAg Ki8KKysJc3cJYTMsIDAodDIpCQkJLyogU2F2ZSBhcmd1bWVudCBwb2ludGVyLiAgKi8KKysJc3cJ dDEsIENMX1NUQUNLU0laRV9PRkZTRVQoYTApCS8qIFNhdmUgdGhlIG5ldyBzdGFjayBzaXplLiAg Ki8KKysjZWxzZQorIAltb3ZlCSQ4LCBhMwkJLyogYTMgaXMgc2V0IHRvIDAvMSBmb3Igc3lzY2Fs bCBzdWNjZXNzL2Vycm9yCisgCQkJCSAgIHdoaWxlIGE0LyQ4IGlzIHJldHVybmVkIHVubW9kaWZp ZWQuICAqLworKyNlbmRpZgorIAorIAkvKiBEbyB0aGUgc3lzdGVtIGNhbGwsIHRoZSBrZXJuZWwg ZXhwZWN0czoKKyAJICAgdjA6IHN5c3RlbSBjYWxsIG51bWJlcgorQEAgLTEyNSw3ICsxNDMsMTEg QEAgTCh0aHJlYWRfc3RhcnRfY2xvbmUzKToKKyAKKyAJLyogUmVzdG9yZSB0aGUgYXJnIGZvciB1 c2VyJ3MgZnVuY3Rpb24uICAqLworIAltb3ZlCQl0OSwgYTIJCS8qIEZ1bmN0aW9uIHBvaW50ZXIu ICAqLworKyNpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgorKwlQVFJfTAkJYTAsIDAoc3ApCisrI2Vs c2UKKyAJbW92ZQkJYTAsICQ4CQkvKiBBcmd1bWVudCBwb2ludGVyLiAgKi8KKysjZW5kaWYKKyAK KyAJLyogQ2FsbCB0aGUgdXNlcidzIGZ1bmN0aW9uLiAgKi8KKyAJamFsCQl0OQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzLzYzMjk1ZTRmZGExZjZkYWI0YmY3NDQyNzA2ZmUzMDNi ZjI4MzAzNmMucGF0Y2ggYi9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvNjMyOTVlNGZkYTFmNmRhYjRi Zjc0NDI3MDZmZTMwM2JmMjgzMDM2Yy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAwMC4uYzkyNDg1YmE0ZDU0MzEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2dsaWJjL3BhdGNoZXMvNjMyOTVlNGZkYTFmNmRhYjRiZjc0NDI3MDZmZTMwM2JmMjgzMDM2Yy5w YXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDYzMjk1ZTRmZGExZjZkYWI0YmY3NDQyNzA2ZmUz MDNiZjI4MzAzNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBZGhlbWVydmFsIFph bmVsbGEgPGFkaGVtZXJ2YWwuemFuZWxsYUBsaW5hcm8ub3JnPgorRGF0ZTogTW9uLCA1IEZlYiAy MDI0IDE2OjEwOjI0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGFybTogUmVtb3ZlIHdyb25nIGxk ciBmcm9tIF9kbF9zdGFydF91c2VyIChCWiAzMTMzOSkKKworVGhlIGNvbW1pdCA0OWQ4NzdhODBi MjlkMzAwMjg4N2IwODRlZWM2Njc2ZDlmNWZlYzE4IChhcm06IFJlbW92ZQorX2RsX3NraXBfYXJn cyB1c2FnZSkgcmVtb3ZlZCB0aGUgX1NLSVBfQVJHUyBsaXRlcmFsLCB3aGljaCB3YXMKK3ByZXZp b3VzbHkgbG9hZGVyIHRvIHI0IG9uIGxvYWRlciBfc3RhcnQuICBIb3dldmVyLCB0aGUgY2xlYW51 cCBkaWQgbm90CityZW1vdmUgdGhlIGZvbGxvd2luZyAnbGRyIHI0LCBbc2wsIHI0XScgb24gX2Rs X3N0YXJ0X3VzZXIsIHVzZWQgdG8gY2hlY2sKK3RvIHNraXAgdGhlIGFyZ3VtZW50cyBhZnRlciBs ZCBzZWxmLXJlbG9jYXRpb25zLgorCitJbiBteSB0ZXN0aW5nLCB0aGUga2VybmVsIGluaXRpYWxs eSBzZXQgcjQgdG8gMCwgd2hpY2ggbWFrZXMgdGhlCitsZHIgaW5zdHJ1Y3Rpb24ganVzdCByZWFk IHRoZSBfR0xPQkFMX09GRlNFVF9UQUJMRV8uICBIb3dldmVyLCBzaW5jZSByNAoraXMgYSBjYWxs ZWUtc2F2ZWQgcmVnaXN0ZXI7IGEgZGlmZmVyZW50IHJ1bnRpbWUgbWlnaHQgbm90IHplcm8KK2lu aXRpYWxpemUgaXQgYW5kIHRodXMgdHJpZ2dlciBhbiBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MuCisK K0NoZWNrZWQgb24gYXJtLWxpbnV4LWdudS4KKworUmVwb3J0ZWQtYnk6IEFkcmlhbiBSYXRpdSA8 YWRyaWFuLnJhdGl1QGNvbGxhYm9yYS5jb20+CitSZXZpZXdlZC1ieTogU3phYm9sY3MgTmFneSA8 c3phYm9sY3MubmFneUBhcm0uY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMWUyNTEx MmRjMGNiMjUxNWQyN2Q4ZDE3OGIxZWNjZTc3OGE5ZDM3YSkKKy0tLQorIHN5c2RlcHMvYXJtL2Rs LW1hY2hpbmUuaCB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYg LS1naXQgYS9zeXNkZXBzL2FybS9kbC1tYWNoaW5lLmggYi9zeXNkZXBzL2FybS9kbC1tYWNoaW5l LmgKK2luZGV4IGI4NTdiYmM4NjguLmRkMWEwZjZiNmUgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2Fy bS9kbC1tYWNoaW5lLmgKKysrKyBiL3N5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaAorQEAgLTEzOSw3 ICsxMzksNiBAQCBfc3RhcnQ6XG5cCisgX2RsX3N0YXJ0X3VzZXI6XG5cCisgCWFkcglyNiwgLkxf R0VUX0dPVFxuXAorIAlhZGQJc2wsIHNsLCByNlxuXAorLQlsZHIJcjQsIFtzbCwgcjRdXG5cCisg CUAgc2F2ZSB0aGUgZW50cnkgcG9pbnQgaW4gYW5vdGhlciByZWdpc3RlclxuXAorIAltb3YJcjYs IHIwXG5cCisgCUAgZ2V0IHRoZSBvcmlnaW5hbCBhcmcgY291bnRcblwKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02MjQ2LnBhdGNoIGIvc3JjcGtncy9nbGliYy9w YXRjaGVzL0NWRS0yMDIzLTYyNDYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGZiMjQ3OWUyMjE3ZjFlLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2dsaWJjL3BhdGNo ZXMvQ1ZFLTIwMjMtNjI0Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3OCArMCwwIEBACi1G cm9tIDIzNTE0YzcyYjc4MGYzZGEwOTdlY2YzM2E3OTNiN2JhOWMyMDcwZDIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBBcmp1biBTaGFua2FyIDxhcmp1bkByZWRoYXQuY29tPgotRGF0 ZTogTW9uLCAxNSBKYW4gMjAyNCAxNzo0NDo0MyArMDEwMAotU3ViamVjdDogW1BBVENIXSBzeXNs b2c6IEZpeCBoZWFwIGJ1ZmZlciBvdmVyZmxvdyBpbiBfX3ZzeXNsb2dfaW50ZXJuYWwKLSAoQ1ZF LTIwMjMtNjI0NikKLQotX192c3lzbG9nX2ludGVybmFsIGRpZCBub3QgaGFuZGxlIGEgY2FzZSB3 aGVyZSBwcmludGluZyBhIFNZU0xPR19IRUFERVIKLWNvbnRhaW5pbmcgYSBsb25nIHByb2dyYW0g bmFtZSBmYWlsZWQgdG8gdXBkYXRlIHRoZSByZXF1aXJlZCBidWZmZXIKLXNpemUsIGxlYWRpbmcg dG8gdGhlIGFsbG9jYXRpb24gYW5kIG92ZXJmbG93IG9mIGEgdG9vLXNtYWxsIGJ1ZmZlciBvbgot dGhlIGhlYXAuICBUaGlzIGNvbW1pdCBmaXhlcyB0aGF0LiAgSXQgYWxzbyBhZGRzIGEgbmV3IHJl Z3Jlc3Npb24gdGVzdAotdGhhdCB1c2VzIGdsaWJjLm1hbGxvYy5jaGVjay4KLQotUmV2aWV3ZWQt Ynk6IEFkaGVtZXJ2YWwgWmFuZWxsYSAgPGFkaGVtZXJ2YWwuemFuZWxsYUBsaW5hcm8ub3JnPgot UmV2aWV3ZWQtYnk6IENhcmxvcyBPJ0RvbmVsbCA8Y2FybG9zQHJlZGhhdC5jb20+Ci1UZXN0ZWQt Ynk6IENhcmxvcyBPJ0RvbmVsbCA8Y2FybG9zQHJlZGhhdC5jb20+Ci0oY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA2YmQwZTRlZmNjNzhmM2MwMTE1ZTVlYTk3MzlhMTY0MjgwNzQ1MGRhKQotLS0t Ci0gbWlzYy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKyst Ci0gbWlzYy9zeXNsb2cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTAgKysr KysrKysrKysrKy0tLS0tLQotIG1pc2MvdHN0LXN5c2xvZy1sb25nLXByb2duYW1lLmMgICAgICAg ICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKwotIC4uLi9wb3N0Y2xlYW4ucmVxICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAwCi0gNCBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25z KCspLCAxNSBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbWlzYy90c3Qtc3lzbG9n LWxvbmctcHJvZ25hbWUuYwotIGNyZWF0ZSBtb2RlIDEwMDY0NCBtaXNjL3RzdC1zeXNsb2ctbG9u Zy1wcm9nbmFtZS5yb290L3Bvc3RjbGVhbi5yZXEKLQotZGlmZiAtLWdpdCBhL21pc2MvTWFrZWZp bGUgYi9taXNjL01ha2VmaWxlCi1pbmRleCBmZTBkNDljMWRlNS4uOTBiMzE5NTJjNTkgMTAwNjQ0 Ci0tLS0gYS9taXNjL01ha2VmaWxlCi0rKysgYi9taXNjL01ha2VmaWxlCi1AQCAtMjg5LDcgKzI4 OSwxMCBAQCB0ZXN0cy1zcGVjaWFsICs9ICQob2JqcGZ4KXRzdC1lcnJvcjEtbWVtLm91dCBcCi0g ICAkKG9ianBmeCl0c3QtYWxsb2NhdGVfb25jZS1tZW0ub3V0Ci0gZW5kaWYKLSAKLS10ZXN0cy1j b250YWluZXIgOj0gdHN0LXN5c2xvZwotK3Rlc3RzLWNvbnRhaW5lciA6PSBcCi0rICB0c3Qtc3lz bG9nIFwKLSsgIHRzdC1zeXNsb2ctbG9uZy1wcm9nbmFtZSBcCi0rICAjIHRlc3RzLWNvbnRhaW5l cgotIAotIENGTEFHUy1zZWxlY3QuYyArPSAtZmV4Y2VwdGlvbnMgLWZhc3luY2hyb25vdXMtdW53 aW5kLXRhYmxlcwotIENGTEFHUy10c2VhcmNoLmMgKz0gJCh1c2VzLWNhbGxiYWNrcykKLUBAIC0z NTEsNiArMzU0LDkgQEAgJChvYmpwZngpdHN0LWFsbG9jYXRlX29uY2UtbWVtLm91dDogJChvYmpw ZngpdHN0LWFsbG9jYXRlX29uY2Uub3V0Ci0gCSQoY29tbW9uLW9ianBmeCltYWxsb2MvbXRyYWNl ICQob2JqcGZ4KXRzdC1hbGxvY2F0ZV9vbmNlLm10cmFjZSA+ICRAOyBcCi0gCSQoZXZhbHVhdGUt dGVzdCkKLSAKLSt0c3Qtc3lzbG9nLWxvbmctcHJvZ25hbWUtRU5WID0gR0xJQkNfVFVOQUJMRVM9 Z2xpYmMubWFsbG9jLmNoZWNrPTMgXAotKwkJCSAgICAgICBMRF9QUkVMT0FEPWxpYmNfbWFsbG9j X2RlYnVnLnNvLjAKLSsKLSAkKG9ianBmeCl0c3Qtc2VsZWN0OiAkKGxpYnJ0KQotICQob2JqcGZ4 KXRzdC1zZWxlY3QtdGltZTY0OiAkKGxpYnJ0KQotICQob2JqcGZ4KXRzdC1wc2VsZWN0OiAkKGxp YnJ0KQotZGlmZiAtLWdpdCBhL21pc2Mvc3lzbG9nLmMgYi9taXNjL3N5c2xvZy5jCi1pbmRleCAx YjhjYjcyMmM1MS4uODE0ZDIyNGExZTkgMTAwNjQ0Ci0tLS0gYS9taXNjL3N5c2xvZy5jCi0rKysg Yi9taXNjL3N5c2xvZy5jCi1AQCAtMTI0LDggKzEyNCw5IEBAIF9fdnN5c2xvZ19pbnRlcm5hbCAo aW50IHByaSwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwLAotIHsKLSAgIC8qIFRyeSB0byB1 c2UgYSBzdGF0aWMgYnVmZmVyIGFzIGFuIG9wdGltaXphdGlvbi4gICovCi0gICBjaGFyIGJ1ZnNb MTAyNF07Ci0tICBjaGFyICpidWYgPSBOVUxMOwotLSAgc2l6ZV90IGJ1ZnNpemUgPSAwOwotKyAg Y2hhciAqYnVmID0gYnVmczsKLSsgIHNpemVfdCBidWZzaXplOwotKwotICAgaW50IG1zZ29mZjsK LSAgIGludCBzYXZlZF9lcnJubyA9IGVycm5vOwotIAotQEAgLTE3NywyOSArMTc4LDUwIEBAIF9f dnN5c2xvZ19pbnRlcm5hbCAoaW50IHByaSwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwLAot ICNkZWZpbmUgU1lTTE9HX0hFQURFUl9XSVRIT1VUX1RTKF9fcHJpLCBfX21zZ29mZikgICAgICAg IFwKLSAgICI8JWQ+OiAlbiIsIF9fcHJpLCBfX21zZ29mZgotIAotLSAgaW50IGw7Ci0rICBpbnQg bCwgdmw7Ci0gICBpZiAoaGFzX3RzKQotICAgICBsID0gX19zbnByaW50ZiAoYnVmcywgc2l6ZW9m IGJ1ZnMsCi0gCQkgICAgU1lTTE9HX0hFQURFUiAocHJpLCB0aW1lc3RhbXAsICZtc2dvZmYsIHBp ZCkpOwotICAgZWxzZQotICAgICBsID0gX19zbnByaW50ZiAoYnVmcywgc2l6ZW9mIGJ1ZnMsCi0g CQkgICAgU1lTTE9HX0hFQURFUl9XSVRIT1VUX1RTIChwcmksICZtc2dvZmYpKTsKLSsKLSsgIGNo YXIgKnBvczsKLSsgIHNpemVfdCBsZW47Ci0rCi0gICBpZiAoMCA8PSBsICYmIGwgPCBzaXplb2Yg YnVmcykKLSAgICAgewotLSAgICAgIHZhX2xpc3QgYXBjOwotLSAgICAgIHZhX2NvcHkgKGFwYywg YXApOwotKyAgICAgIC8qIEF0IHRoaXMgcG9pbnQsIHRoZXJlIGlzIHN0aWxsIGEgY2hhbmNlIHRo YXQgd2UgY2FuIHByaW50IHRoZQotKyAgICAgICAgIHJlbWFpbmluZyBwYXJ0IG9mIHRoZSBsb2cg aW50byBidWZzIGFuZCB1c2UgdGhhdC4gICovCi0rICAgICAgcG9zID0gYnVmcyArIGw7Ci0rICAg ICAgbGVuID0gc2l6ZW9mIChidWZzKSAtIGw7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewotKyAg ICAgIGJ1ZiA9IE5VTEw7Ci0rICAgICAgLyogV2UgYWxyZWFkeSBrbm93IHRoYXQgYnVmcyBpcyB0 b28gc21hbGwgdG8gdXNlIGZvciB0aGlzIGxvZyBtZXNzYWdlLgotKyAgICAgICAgIFRoZSBuZXh0 IHZzbnByaW50ZiBpbnRvIGJ1ZnMgaXMgdXNlZCBvbmx5IHRvIGNhbGN1bGF0ZSB0aGUgdG90YWwK LSsgICAgICAgICByZXF1aXJlZCBidWZmZXIgbGVuZ3RoLiAgV2Ugd2lsbCBkaXNjYXJkIGJ1ZnMg Y29udGVudHMgYW5kIGFsbG9jYXRlCi0rICAgICAgICAgYW4gYXBwcm9wcmlhdGVseSBzaXplZCBi dWZmZXIgbGF0ZXIgaW5zdGVhZC4gICovCi0rICAgICAgcG9zID0gYnVmczsKLSsgICAgICBsZW4g PSBzaXplb2YgKGJ1ZnMpOwotKyAgICB9Ci0gCi0tICAgICAgLyogUmVzdG9yZSBlcnJubyBmb3Ig JW0gZm9ybWF0LiAgKi8KLS0gICAgICBfX3NldF9lcnJubyAoc2F2ZWRfZXJybm8pOwotKyAgewot KyAgICB2YV9saXN0IGFwYzsKLSsgICAgdmFfY29weSAoYXBjLCBhcCk7Ci0gCi0tICAgICAgaW50 IHZsID0gX192c25wcmludGZfaW50ZXJuYWwgKGJ1ZnMgKyBsLCBzaXplb2YgYnVmcyAtIGwsIGZt dCwgYXBjLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlX2ZsYWdz KTsKLS0gICAgICBpZiAoMCA8PSB2bCAmJiB2bCA8IHNpemVvZiBidWZzIC0gbCkKLS0gICAgICAg IGJ1ZiA9IGJ1ZnM7Ci0tICAgICAgYnVmc2l6ZSA9IGwgKyB2bDsKLSsgICAgLyogUmVzdG9yZSBl cnJubyBmb3IgJW0gZm9ybWF0LiAgKi8KLSsgICAgX19zZXRfZXJybm8gKHNhdmVkX2Vycm5vKTsK LSAKLS0gICAgICB2YV9lbmQgKGFwYyk7Ci0tICAgIH0KLSsgICAgdmwgPSBfX3ZzbnByaW50Zl9p bnRlcm5hbCAocG9zLCBsZW4sIGZtdCwgYXBjLCBtb2RlX2ZsYWdzKTsKLSsKLSsgICAgaWYgKCEo MCA8PSB2bCAmJiB2bCA8IGxlbikpCi0rICAgICAgYnVmID0gTlVMTDsKLSsKLSsgICAgYnVmc2l6 ZSA9IGwgKyB2bDsKLSsgICAgdmFfZW5kIChhcGMpOwotKyAgfQotIAotICAgaWYgKGJ1ZiA9PSBO VUxMKQotICAgICB7Ci1kaWZmIC0tZ2l0IGEvbWlzYy90c3Qtc3lzbG9nLWxvbmctcHJvZ25hbWUu YyBiL21pc2MvdHN0LXN5c2xvZy1sb25nLXByb2duYW1lLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwMDAwMC4uODhmMzdhOGEwMDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL21p c2MvdHN0LXN5c2xvZy1sb25nLXByb2duYW1lLmMKLUBAIC0wLDAgKzEsMzkgQEAKLSsvKiBUZXN0 IGhlYXAgYnVmZmVyIG92ZXJmbG93IGluIHN5c2xvZyB3aXRoIGxvbmcgX19wcm9nbmFtZSAoQ1ZF LTIwMjMtNjI0NikKLSsgICBDb3B5cmlnaHQgKEMpIDIwMjMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0r Ci0rICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCi0rICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRo ZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotKyAgIExlc3NlciBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vu c2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKLSsgICA8aHR0cHM6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8c3lzbG9nLmg+Ci0r I2luY2x1ZGUgPHN0cmluZy5oPgotKwotK2V4dGVybiBjaGFyICogX19wcm9nbmFtZTsKLSsKLStz dGF0aWMgaW50Ci0rZG9fdGVzdCAodm9pZCkKLSt7Ci0rICBjaGFyIGxvbmdfcHJvZ25hbWVbMjA0 OF07Ci0rCi0rICBtZW1zZXQgKGxvbmdfcHJvZ25hbWUsICdYJywgc2l6ZW9mIChsb25nX3Byb2du YW1lKSAtIDEpOwotKyAgbG9uZ19wcm9nbmFtZVtzaXplb2YgKGxvbmdfcHJvZ25hbWUpIC0gMV0g PSAnXDAnOwotKwotKyAgX19wcm9nbmFtZSA9IGxvbmdfcHJvZ25hbWU7Ci0rCi0rICBzeXNsb2cg KExPR19JTkZPLCAiSGVsbG8sIFdvcmxkISIpOwotKwotKyAgcmV0dXJuIDA7Ci0rfQotKwotKyNp bmNsdWRlIDxzdXBwb3J0L3Rlc3QtZHJpdmVyLmM+Ci1kaWZmIC0tZ2l0IGEvbWlzYy90c3Qtc3lz bG9nLWxvbmctcHJvZ25hbWUucm9vdC9wb3N0Y2xlYW4ucmVxIGIvbWlzYy90c3Qtc3lzbG9nLWxv bmctcHJvZ25hbWUucm9vdC9wb3N0Y2xlYW4ucmVxCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMDAwMDAuLmU2OWRlMjliYjJkCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dsaWJjL3Bh dGNoZXMvQ1ZFLTIwMjMtNjc3OS5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAy My02Nzc5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWNjOWUzNzUxMDMy YS4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIzLTY3 NzkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotRnJvbSBkMDMzODMxMmFh Y2U1YmJmZWY4NWUwMzA1NWUxMjEyZGQwZTQ5NTc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogQXJqdW4gU2hhbmthciA8YXJqdW5AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTUgSmFu IDIwMjQgMTc6NDQ6NDQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gc3lzbG9nOiBGaXggaGVhcCBi dWZmZXIgb3ZlcmZsb3cgaW4gX192c3lzbG9nX2ludGVybmFsCi0gKENWRS0yMDIzLTY3NzkpCi0K LV9fdnN5c2xvZ19pbnRlcm5hbCB1c2VkIHRoZSByZXR1cm4gdmFsdWUgb2Ygc25wcmludGYvdnNu cHJpbnRmIHRvCi1jYWxjdWxhdGUgYnVmZmVyIHNpemVzIGZvciBtZW1vcnkgYWxsb2NhdGlvbi4g IElmIHRoZXNlIGZ1bmN0aW9ucyAoZm9yCi1hbnkgcmVhc29uKSBmYWlsZWQgYW5kIHJldHVybmVk IC0xLCB0aGUgcmVzdWx0aW5nIGJ1ZmZlciB3b3VsZCBiZSB0b28KLXNtYWxsIHRvIGhvbGQgb3V0 cHV0LiAgVGhpcyBjb21taXQgZml4ZXMgdGhhdC4KLQotQWxsIHNucHJpbnRmL3ZzbnByaW50ZiBj YWxscyBhcmUgY2hlY2tlZCBmb3IgbmVnYXRpdmUgcmV0dXJuIHZhbHVlcyBhbmQKLXRoZSBmdW5j dGlvbiBzaWxlbnRseSByZXR1cm5zIHVwb24gZW5jb3VudGVyaW5nIHRoZW0uCi0KLVJldmlld2Vk LWJ5OiBDYXJsb3MgTydEb25lbGwgPGNhcmxvc0ByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgN2U1YTBjMjg2ZGEzMzE1OWQ0N2QwMTIyMDA3YWFjMDE2ZjNlMDJjZCkKLS0t LQotIG1pc2Mvc3lzbG9nLmMgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9taXNjL3N5c2xvZy5jIGIvbWlzYy9zeXNsb2cuYwotaW5kZXggODE0 ZDIyNGExZS4uNTM0NDBlNDdhZCAxMDA2NDQKLS0tLSBhL21pc2Mvc3lzbG9nLmMKLSsrKyBiL21p c2Mvc3lzbG9nLmMKLUBAIC0xODUsMTEgKzE4NSwxMyBAQCBfX3ZzeXNsb2dfaW50ZXJuYWwgKGlu dCBwcmksIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCwKLSAgIGVsc2UKLSAgICAgbCA9IF9f c25wcmludGYgKGJ1ZnMsIHNpemVvZiBidWZzLAotIAkJICAgIFNZU0xPR19IRUFERVJfV0lUSE9V VF9UUyAocHJpLCAmbXNnb2ZmKSk7Ci0rICBpZiAobCA8IDApCi0rICAgIGdvdG8gb3V0OwotIAot ICAgY2hhciAqcG9zOwotICAgc2l6ZV90IGxlbjsKLSAKLS0gIGlmICgwIDw9IGwgJiYgbCA8IHNp emVvZiBidWZzKQotKyAgaWYgKGwgPCBzaXplb2YgYnVmcykKLSAgICAgewotICAgICAgIC8qIEF0 IHRoaXMgcG9pbnQsIHRoZXJlIGlzIHN0aWxsIGEgY2hhbmNlIHRoYXQgd2UgY2FuIHByaW50IHRo ZQotICAgICAgICAgIHJlbWFpbmluZyBwYXJ0IG9mIHRoZSBsb2cgaW50byBidWZzIGFuZCB1c2Ug dGhhdC4gICovCi1AQCAtMjE1LDEyICsyMTcsMTUgQEAgX192c3lzbG9nX2ludGVybmFsIChpbnQg cHJpLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXAsCi0gICAgIF9fc2V0X2Vycm5vIChzYXZl ZF9lcnJubyk7Ci0gCi0gICAgIHZsID0gX192c25wcmludGZfaW50ZXJuYWwgKHBvcywgbGVuLCBm bXQsIGFwYywgbW9kZV9mbGFncyk7Ci0rICAgIHZhX2VuZCAoYXBjKTsKLSsKLSsgICAgaWYgKHZs IDwgMCkKLSsgICAgICBnb3RvIG91dDsKLSAKLS0gICAgaWYgKCEoMCA8PSB2bCAmJiB2bCA8IGxl bikpCi0rICAgIGlmICh2bCA+PSBsZW4pCi0gICAgICAgYnVmID0gTlVMTDsKLSAKLSAgICAgYnVm c2l6ZSA9IGwgKyB2bDsKLS0gICAgdmFfZW5kIChhcGMpOwotICAgfQotIAotICAgaWYgKGJ1ZiA9 PSBOVUxMKQotQEAgLTIzMSwyNSArMjM2LDM3IEBAIF9fdnN5c2xvZ19pbnRlcm5hbCAoaW50IHBy aSwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwLAotIAkgIC8qIFRlbGwgdGhlIGNhbmNlbGxh dGlvbiBoYW5kbGVyIHRvIGZyZWUgdGhpcyBidWZmZXIuICAqLwotIAkgIGNsYXJnLmJ1ZiA9IGJ1 ZjsKLSAKLSsJICBpbnQgY2w7Ci0gCSAgaWYgKGhhc190cykKLS0JICAgIF9fc25wcmludGYgKGJ1 ZiwgbCArIDEsCi0tCQkJU1lTTE9HX0hFQURFUiAocHJpLCB0aW1lc3RhbXAsICZtc2dvZmYsIHBp ZCkpOwotKwkgICAgY2wgPSBfX3NucHJpbnRmIChidWYsIGwgKyAxLAotKwkJCSAgICAgU1lTTE9H X0hFQURFUiAocHJpLCB0aW1lc3RhbXAsICZtc2dvZmYsIHBpZCkpOwotIAkgIGVsc2UKLS0JICAg IF9fc25wcmludGYgKGJ1ZiwgbCArIDEsCi0tCQkJU1lTTE9HX0hFQURFUl9XSVRIT1VUX1RTIChw cmksICZtc2dvZmYpKTsKLSsJICAgIGNsID0gX19zbnByaW50ZiAoYnVmLCBsICsgMSwKLSsJCQkg ICAgIFNZU0xPR19IRUFERVJfV0lUSE9VVF9UUyAocHJpLCAmbXNnb2ZmKSk7Ci0rCSAgaWYgKGNs ICE9IGwpCi0rCSAgICBnb3RvIG91dDsKLSAKLSAJICB2YV9saXN0IGFwYzsKLSAJICB2YV9jb3B5 IChhcGMsIGFwKTsKLS0JICBfX3ZzbnByaW50Zl9pbnRlcm5hbCAoYnVmICsgbCwgYnVmc2l6ZSAt IGwgKyAxLCBmbXQsIGFwYywKLS0JCQkJbW9kZV9mbGFncyk7Ci0rCSAgY2wgPSBfX3ZzbnByaW50 Zl9pbnRlcm5hbCAoYnVmICsgbCwgYnVmc2l6ZSAtIGwgKyAxLCBmbXQsIGFwYywKLSsJCQkJICAg ICBtb2RlX2ZsYWdzKTsKLSAJICB2YV9lbmQgKGFwYyk7Ci0rCi0rCSAgaWYgKGNsICE9IHZsKQot KwkgICAgZ290byBvdXQ7Ci0gCX0KLSAgICAgICBlbHNlCi0gICAgICAgICB7Ci0rICAgICAgICAg IGludCBibDsKLSAJICAvKiBOb3RoaW5nIG11Y2ggdG8gZG8gYnV0IGVtaXQgYW4gZXJyb3IgbWVz c2FnZS4gICovCi0tICAgICAgICAgIGJ1ZnNpemUgPSBfX3NucHJpbnRmIChidWZzLCBzaXplb2Yg YnVmcywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvdXQgb2YgbWVtb3J5WyVk XSIsIF9fZ2V0cGlkICgpKTsKLSsgICAgICAgICAgYmwgPSBfX3NucHJpbnRmIChidWZzLCBzaXpl b2YgYnVmcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAib3V0IG9mIG1lbW9yeVslZF0i LCBfX2dldHBpZCAoKSk7Ci0rICAgICAgICAgIGlmIChibCA8IDAgfHwgYmwgPj0gc2l6ZW9mIGJ1 ZnMpCi0rICAgICAgICAgICAgZ290byBvdXQ7Ci0rCi0rICAgICAgICAgIGJ1ZnNpemUgPSBibDsK LSAgICAgICAgICAgYnVmID0gYnVmczsKLSsgICAgICAgICAgbXNnb2ZmID0gMDsKLSAgICAgICAg IH0KLSAgICAgfQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGliYy9wYXRjaGVzL0NWRS0yMDIz LTY3ODAucGF0Y2ggYi9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvQ1ZFLTIwMjMtNjc4MC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDY2OTRlNTU0OTkwMDUuLjAwMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9DVkUtMjAyMy02NzgwLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSBkMzdjMmIyMGE0Nzg3NDYzZDE5MmIzMjA0 MWMzNDA2YzJiZDkxZGUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQXJqdW4gU2hh bmthciA8YXJqdW5AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTUgSmFuIDIwMjQgMTc6NDQ6NDUg KzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gc3lzbG9nOiBGaXggaW50ZWdlciBvdmVyZmxvdyBpbiBf X3ZzeXNsb2dfaW50ZXJuYWwKLSAoQ1ZFLTIwMjMtNjc4MCkKLQotX192c3lzbG9nX2ludGVybmFs IGNhbGN1bGF0ZWQgYSBidWZmZXIgc2l6ZSBieSBhZGRpbmcgdHdvIGludGVnZXJzLCBidXQKLWRp ZCBub3QgZmlyc3QgY2hlY2sgaWYgdGhlIGFkZGl0aW9uIHdvdWxkIG92ZXJmbG93LiAgVGhpcyBj b21taXQgZml4ZXMKLXRoYXQuCi0KLVJldmlld2VkLWJ5OiBDYXJsb3MgTydEb25lbGwgPGNhcmxv c0ByZWRoYXQuY29tPgotVGVzdGVkLWJ5OiBDYXJsb3MgTydEb25lbGwgPGNhcmxvc0ByZWRoYXQu Y29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZGRmNTQyZGE5NGNhZjk3ZmY0M2NjMjg3 NWM4ODc0OTg4MGI3MjU5YikKLS0tLQotIG1pc2Mvc3lzbG9nLmMgfCAzICsrLQotIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21p c2Mvc3lzbG9nLmMgYi9taXNjL3N5c2xvZy5jCi1pbmRleCA1MzQ0MGU0N2FkLi40YWY4N2Y1NGZk IDEwMDY0NAotLS0tIGEvbWlzYy9zeXNsb2cuYwotKysrIGIvbWlzYy9zeXNsb2cuYwotQEAgLTQx LDYgKzQxLDcgQEAgc3RhdGljIGNoYXIgc2Njc2lkW10gPSAiQCgjKXN5c2xvZy5jCTguNCAoQmVy a2VsZXkpIDMvMTgvOTQiOwotICNpbmNsdWRlIDxzeXMvdWlvLmg+Ci0gI2luY2x1ZGUgPHN5cy91 bi5oPgotICNpbmNsdWRlIDxzeXNsb2cuaD4KLSsjaW5jbHVkZSA8bGltaXRzLmg+Ci0gCi0gc3Rh dGljIGludCBMb2dUeXBlID0gU09DS19ER1JBTTsJLyogdHlwZSBvZiBzb2NrZXQgY29ubmVjdGlv biAqLwotIHN0YXRpYyBpbnQgTG9nRmlsZSA9IC0xOwkJLyogZmQgZm9yIGxvZyAqLwotQEAgLTIx OSw3ICsyMjAsNyBAQCBfX3ZzeXNsb2dfaW50ZXJuYWwgKGludCBwcmksIGNvbnN0IGNoYXIgKmZt dCwgdmFfbGlzdCBhcCwKLSAgICAgdmwgPSBfX3ZzbnByaW50Zl9pbnRlcm5hbCAocG9zLCBsZW4s IGZtdCwgYXBjLCBtb2RlX2ZsYWdzKTsKLSAgICAgdmFfZW5kIChhcGMpOwotIAotLSAgICBpZiAo dmwgPCAwKQotKyAgICBpZiAodmwgPCAwIHx8IHZsID49IElOVF9NQVggLSBsKQotICAgICAgIGdv dG8gb3V0OwotIAotICAgICBpZiAodmwgPj0gbGVuKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbGli Yy9wYXRjaGVzL2IyNTUwOGRkNzc0YjYxN2Y5OTQxOWJkYzNjZjJhY2U0NTYwY2QyZDYucGF0Y2gg Yi9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvYjI1NTA4ZGQ3NzRiNjE3Zjk5NDE5YmRjM2NmMmFjZTQ1 NjBjZDJkNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDM5ZDdlOWYwNGJh NWYuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9iMjU1MDhkZDc3 NGI2MTdmOTk0MTliZGMzY2YyYWNlNDU2MGNkMmQ2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MTkyICswLDAgQEAKLUZyb20gYjI1NTA4ZGQ3NzRiNjE3Zjk5NDE5YmRjM2NmMmFjZTQ1NjBjZDJk NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JpYW4gV2VpbWVyIDxmd2VpbWVy QHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDIzIDE0OjEwOjU2ICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0hdIENWRS0yMDIzLTQ1Mjc6IFN0YWNrIHJlYWQgb3ZlcmZsb3cgd2l0aCBsYXJn ZSBUQ1AgcmVzcG9uc2VzCi0gaW4gbm8tYWFhYSBtb2RlCi0KLVdpdGhvdXQgcGFzc2luZyBhbHRf ZG5zX3BhY2tldF9idWZmZXIsIF9fcmVzX2NvbnRleHRfc2VhcmNoIGNhbiBvbmx5Ci1zdG9yZSAy MDQ4IGJ5dGVzICh3aGF0IGZpdHMgaW50byBkbnNfcGFja2V0X2J1ZmZlcikuICBIb3dldmVyLAot dGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHRvdGFsIHBhY2tldCBzaXplLCBhbmQgdGhlIHN1YnNl cXVlbnQKLUROUyBwYXJzaW5nIGNvZGUgaW4gX25zc19kbnNfZ2V0aG9zdGJ5bmFtZTRfciByZWFk cyBiZXlvbmQgdGhlIGVuZAotb2YgdGhlIHN0YWNrLWFsbG9jYXRlZCBidWZmZXIuCi0KLUZpeGVz IGNvbW1pdCBmMjgyY2RiZTdmNDM2Yzc1ODY0ZTU2NDBhNCAoInJlc29sdjogSW1wbGVtZW50IG5v LWFhYWEKLXN0dWIgcmVzb2x2ZXIgb3B0aW9uIikgYW5kIGJ1ZyAzMDg0Mi4KLQotKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgYmQ3N2RkN2U3M2UzNTMwMjAzYmUxYzUyYzhhMjlkMDgyNzBjYjI1 ZCkKLS0tLQotIE5FV1MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA5ICsrKwotIHJlc29s di9NYWtlZmlsZSAgICAgICAgICAgICAgIHwgICAyICsKLSByZXNvbHYvbnNzX2Rucy9kbnMtaG9z dC5jICAgICB8ICAgMiArLQotIHJlc29sdi90c3QtcmVzb2x2LW5vYWFhYS12Yy5jIHwgMTI5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSA0IGZpbGVzIGNoYW5nZWQsIDE0MSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHJlc29sdi90 c3QtcmVzb2x2LW5vYWFhYS12Yy5jCi0KLWRpZmYgLS1naXQgYS9yZXNvbHYvTWFrZWZpbGUgYi9y ZXNvbHYvTWFrZWZpbGUKLWluZGV4IDA1NGIxZmEzNmMuLjJmOTllYjM4NjIgMTAwNjQ0Ci0tLS0g YS9yZXNvbHYvTWFrZWZpbGUKLSsrKyBiL3Jlc29sdi9NYWtlZmlsZQotQEAgLTEwMiw2ICsxMDIs NyBAQCB0ZXN0cyArPSBcCi0gICB0c3QtcmVzb2x2LWludmFsaWQtY25hbWUgXAotICAgdHN0LXJl c29sdi1uZXR3b3JrIFwKLSAgIHRzdC1yZXNvbHYtbm9hYWFhIFwKLSsgIHRzdC1yZXNvbHYtbm9h YWFhLXZjIFwKLSAgIHRzdC1yZXNvbHYtbm9uZGVjaW1hbCBcCi0gICB0c3QtcmVzb2x2LXJlc19p bml0LW11bHRpIFwKLSAgIHRzdC1yZXNvbHYtc2VhcmNoIFwKLUBAIC0yOTMsNiArMjk0LDcgQEAg JChvYmpwZngpdHN0LXJlc29sdi1yZXNfaW5pdC10aHJlYWQ6ICQob2JqcGZ4KWxpYnJlc29sdi5z byBcCi0gJChvYmpwZngpdHN0LXJlc29sdi1pbnZhbGlkLWNuYW1lOiAkKG9ianBmeClsaWJyZXNv bHYuc28gXAotICAgJChzaGFyZWQtdGhyZWFkLWxpYnJhcnkpCi0gJChvYmpwZngpdHN0LXJlc29s di1ub2FhYWE6ICQob2JqcGZ4KWxpYnJlc29sdi5zbyAkKHNoYXJlZC10aHJlYWQtbGlicmFyeSkK LSskKG9ianBmeCl0c3QtcmVzb2x2LW5vYWFhYS12YzogJChvYmpwZngpbGlicmVzb2x2LnNvICQo c2hhcmVkLXRocmVhZC1saWJyYXJ5KQotICQob2JqcGZ4KXRzdC1yZXNvbHYtbm9uZGVjaW1hbDog JChvYmpwZngpbGlicmVzb2x2LnNvICQoc2hhcmVkLXRocmVhZC1saWJyYXJ5KQotICQob2JqcGZ4 KXRzdC1yZXNvbHYtcXR5cGVzOiAkKG9ianBmeClsaWJyZXNvbHYuc28gJChzaGFyZWQtdGhyZWFk LWxpYnJhcnkpCi0gJChvYmpwZngpdHN0LXJlc29sdi1yb3RhdGU6ICQob2JqcGZ4KWxpYnJlc29s di5zbyAkKHNoYXJlZC10aHJlYWQtbGlicmFyeSkKLWRpZmYgLS1naXQgYS9yZXNvbHYvbnNzX2Ru cy9kbnMtaG9zdC5jIGIvcmVzb2x2L25zc19kbnMvZG5zLWhvc3QuYwotaW5kZXggMWQ2MGM1MWY1 ZS4uNWQwYWIzMGRlNiAxMDA2NDQKLS0tLSBhL3Jlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMKLSsr KyBiL3Jlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMKLUBAIC00MjcsNyArNDI3LDcgQEAgX25zc19k bnNfZ2V0aG9zdGJ5bmFtZTRfciAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGdhaWhfYWRkcnR1 cGxlICoqcGF0LAotICAgICB7Ci0gICAgICAgbiA9IF9fcmVzX2NvbnRleHRfc2VhcmNoIChjdHgs IG5hbWUsIENfSU4sIFRfQSwKLSAJCQkJZG5zX3BhY2tldF9idWZmZXIsIHNpemVvZiAoZG5zX3Bh Y2tldF9idWZmZXIpLAotLQkJCQlOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTsKLSsJCQkJ JmFsdF9kbnNfcGFja2V0X2J1ZmZlciwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7Ci0gICAgICAg aWYgKG4gPj0gMCkKLSAJc3RhdHVzID0gZ2FpaF9nZXRhbnN3ZXJfbm9hYWFhIChhbHRfZG5zX3Bh Y2tldF9idWZmZXIsIG4sCi0gCQkJCQkmYWJ1ZiwgcGF0LCBlcnJub3AsIGhlcnJub3AsIHR0bHAp OwotZGlmZiAtLWdpdCBhL3Jlc29sdi90c3QtcmVzb2x2LW5vYWFhYS12Yy5jIGIvcmVzb2x2L3Rz dC1yZXNvbHYtbm9hYWFhLXZjLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw MDAwLi45ZjVhZWJkOTlmCi0tLS0gL2Rldi9udWxsCi0rKysgYi9yZXNvbHYvdHN0LXJlc29sdi1u b2FhYWEtdmMuYwotQEAgLTAsMCArMSwxMjkgQEAKLSsvKiBUZXN0IHRoZSBSRVNfTk9BQUFBIHJl c29sdmVyIG9wdGlvbiB3aXRoIGEgbGFyZ2UgcmVzcG9uc2UuCi0rICAgQ29weXJpZ2h0IChDKSAy MDIyLTIwMjMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rICAgVGhpcyBmaWxlIGlz IHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0rCi0rICAgVGhlIEdOVSBDIExpYnJhcnkgaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0rICAgbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAg IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlcgotKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlIEdOVQotKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGli cmFyeTsgaWYgbm90LCBzZWUKLSsgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAg Ki8KLSsKLSsjaW5jbHVkZSA8ZXJybm8uaD4KLSsjaW5jbHVkZSA8bmV0ZGIuaD4KLSsjaW5jbHVk ZSA8cmVzb2x2Lmg+Ci0rI2luY2x1ZGUgPHN0ZGJvb2wuaD4KLSsjaW5jbHVkZSA8c3RkbGliLmg+ Ci0rI2luY2x1ZGUgPHN1cHBvcnQvY2hlY2suaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC9jaGVja19u c3MuaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC9yZXNvbHZfdGVzdC5oPgotKyNpbmNsdWRlIDxzdXBw b3J0L3N1cHBvcnQuaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC94bWVtc3RyZWFtLmg+Ci0rCi0rLyog VXNlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgcXVlcmllcy4gICovCi0rc3RhdGlj IHZvbGF0aWxlIHVuc2lnbmVkIGludCBxdWVyaWVzOwotKwotKy8qIElmIHRydWUsIGFkZCBhIGxh cmdlIFRYVCByZWNvcmQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBhbnN3ZXIgc2VjdGlvbi4gICovCi0r c3RhdGljIHZvbGF0aWxlIGJvb2wgc3R1ZmZfdHh0OwotKwotK3N0YXRpYyB2b2lkCi0rcmVzcG9u c2UgKGNvbnN0IHN0cnVjdCByZXNvbHZfcmVzcG9uc2VfY29udGV4dCAqY3R4LAotKyAgICAgICAg ICBzdHJ1Y3QgcmVzb2x2X3Jlc3BvbnNlX2J1aWxkZXIgKmIsCi0rICAgICAgICAgIGNvbnN0IGNo YXIgKnFuYW1lLCB1aW50MTZfdCBxY2xhc3MsIHVpbnQxNl90IHF0eXBlKQotK3sKLSsgIC8qIElm IG5vdCB1c2luZyBUQ1AsIGp1c3QgZm9yY2UgaXRzIHVzZS4gICovCi0rICBpZiAoIWN0eC0+dGNw KQotKyAgICB7Ci0rICAgICAgc3RydWN0IHJlc29sdl9yZXNwb25zZV9mbGFncyBmbGFncyA9IHsu dGMgPSB0cnVlfTsKLSsgICAgICByZXNvbHZfcmVzcG9uc2VfaW5pdCAoYiwgZmxhZ3MpOwotKyAg ICAgIHJlc29sdl9yZXNwb25zZV9hZGRfcXVlc3Rpb24gKGIsIHFuYW1lLCBxY2xhc3MsIHF0eXBl KTsKLSsgICAgICByZXR1cm47Ci0rICAgIH0KLSsKLSsgIC8qIFRoZSB0ZXN0IG5lZWRzIHRvIHNl bmQgZm91ciBxdWVyaWVzLCB0aGUgZmlyc3QgdGhyZWUgYXJlIHVzZWQgdG8KLSsgICAgIGdyb3cg dGhlIE5TUyBidWZmZXIgdmlhIHRoZSBFUkFOR0UgaGFuZHNoYWtlLiAgKi8KLSsgICsrcXVlcmll czsKLSsgIFRFU1RfVkVSSUZZIChxdWVyaWVzIDw9IDQpOwotKwotKyAgLyogQUFBQSBxdWVyaWVz IGFyZSBzdXBwb3NlZCB0byBiZSBkaXNhYmxlZC4gICovCi0rICBURVNUX0NPTVBBUkUgKHF0eXBl LCBUX0EpOwotKyAgVEVTVF9DT01QQVJFIChxY2xhc3MsIENfSU4pOwotKyAgVEVTVF9DT01QQVJF X1NUUklORyAocW5hbWUsICJleGFtcGxlLmNvbSIpOwotKwotKyAgc3RydWN0IHJlc29sdl9yZXNw b25zZV9mbGFncyBmbGFncyA9IHt9OwotKyAgcmVzb2x2X3Jlc3BvbnNlX2luaXQgKGIsIGZsYWdz KTsKLSsgIHJlc29sdl9yZXNwb25zZV9hZGRfcXVlc3Rpb24gKGIsIHFuYW1lLCBxY2xhc3MsIHF0 eXBlKTsKLSsKLSsgIHJlc29sdl9yZXNwb25zZV9zZWN0aW9uIChiLCBuc19zX2FuKTsKLSsKLSsg IGlmIChzdHVmZl90eHQpCi0rICAgIHsKLSsgICAgICByZXNvbHZfcmVzcG9uc2Vfb3Blbl9yZWNv cmQgKGIsIHFuYW1lLCBxY2xhc3MsIFRfVFhULCA2MCk7Ci0rICAgICAgaW50IHplcm8gPSAwOwot KyAgICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IDE1MDAwOyArK2kpCi0rICAgICAgICByZXNvbHZf cmVzcG9uc2VfYWRkX2RhdGEgKGIsICZ6ZXJvLCBzaXplb2YgKHplcm8pKTsKLSsgICAgICByZXNv bHZfcmVzcG9uc2VfY2xvc2VfcmVjb3JkIChiKTsKLSsgICAgfQotKwotKyAgZm9yIChpbnQgaSA9 IDA7IGkgPCAyMDA7ICsraSkKLSsgICAgewotKyAgICAgIHJlc29sdl9yZXNwb25zZV9vcGVuX3Jl Y29yZCAoYiwgcW5hbWUsIHFjbGFzcywgcXR5cGUsIDYwKTsKLSsgICAgICBjaGFyIGlwdjRbNF0g PSB7MTkyLCAwLCAyLCBpICsgMX07Ci0rICAgICAgcmVzb2x2X3Jlc3BvbnNlX2FkZF9kYXRhIChi LCAmaXB2NCwgc2l6ZW9mIChpcHY0KSk7Ci0rICAgICAgcmVzb2x2X3Jlc3BvbnNlX2Nsb3NlX3Jl Y29yZCAoYik7Ci0rICAgIH0KLSt9Ci0rCi0rc3RhdGljIGludAotK2RvX3Rlc3QgKHZvaWQpCi0r ewotKyAgc3RydWN0IHJlc29sdl90ZXN0ICpvYmogPSByZXNvbHZfdGVzdF9zdGFydAotKyAgICAo KHN0cnVjdCByZXNvbHZfcmVkaXJlY3RfY29uZmlnKQotKyAgICAgewotKyAgICAgICAucmVzcG9u c2VfY2FsbGJhY2sgPSByZXNwb25zZQotKyAgICAgfSk7Ci0rCi0rICBfcmVzLm9wdGlvbnMgfD0g UkVTX05PQUFBQTsKLSsKLSsgIGZvciAoaW50IGRvX3N0dWZmX3R4dCA9IDA7IGRvX3N0dWZmX3R4 dCA8IDI7ICsrZG9fc3R1ZmZfdHh0KQotKyAgICB7Ci0rICAgICAgcXVlcmllcyA9IDA7Ci0rICAg ICAgc3R1ZmZfdHh0ID0gZG9fc3R1ZmZfdHh0OwotKwotKyAgICAgIHN0cnVjdCBhZGRyaW5mbyAq YWkgPSBOVUxMOwotKyAgICAgIGludCByZXQ7Ci0rICAgICAgcmV0ID0gZ2V0YWRkcmluZm8gKCJl eGFtcGxlLmNvbSIsICI4MCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICYoc3RydWN0IGFk ZHJpbmZvKQotKyAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgLmFpX2ZhbWlseSA9IEFGX1VOU1BFQywKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAuYWlfc29ja3R5cGUgPSBTT0NLX1NUUkVBTSwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgfSwgJmFpKTsKLSsKLSsgICAgICBjaGFyICpleHBlY3RlZF9yZXN1bHQ7Ci0rICAgICAgewot KyAgICAgICAgc3RydWN0IHhtZW1zdHJlYW0gbWVtOwotKyAgICAgICAgeG9wZW5fbWVtc3RyZWFt ICgmbWVtKTsKLSsgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjAwOyArK2kpCi0rICAgICAg ICAgIGZwcmludGYgKG1lbS5vdXQsICJhZGRyZXNzOiBTVFJFQU0vVENQIDE5Mi4wLjIuJWQgODBc biIsIGkgKyAxKTsKLSsgICAgICAgIHhmY2xvc2VfbWVtc3RyZWFtICgmbWVtKTsKLSsgICAgICAg IGV4cGVjdGVkX3Jlc3VsdCA9IG1lbS5idWZmZXI7Ci0rICAgICAgfQotKwotKyAgICAgIGNoZWNr X2FkZHJpbmZvICgiZXhhbXBsZS5jb20iLCBhaSwgcmV0LCBleHBlY3RlZF9yZXN1bHQpOwotKwot KyAgICAgIGZyZWUgKGV4cGVjdGVkX3Jlc3VsdCk7Ci0rICAgICAgZnJlZWFkZHJpbmZvIChhaSk7 Ci0rICAgIH0KLSsKLSsgIHJlc29sdl90ZXN0X2VuZCAob2JqKTsKLSsgIHJldHVybiAwOwotK30K LSsKLSsjaW5jbHVkZSA8c3VwcG9ydC90ZXN0LWRyaXZlci5jPgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9nbGliYy9wYXRjaGVzL2NvbW1pdHRlZC0xLTItUHJvcGFnYXRlLUdMSUJDX1RVTkFCTEVTLWlu LXNldHhpZC1iaW5hcmllcy5wYXRjaCBiL3NyY3BrZ3MvZ2xpYmMvcGF0Y2hlcy9jb21taXR0ZWQt MS0yLVByb3BhZ2F0ZS1HTElCQ19UVU5BQkxFUy1pbi1zZXR4aWQtYmluYXJpZXMucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZGNiZDAzMDA5YmExLi4wMDAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL2dsaWJjL3BhdGNoZXMvY29tbWl0dGVkLTEtMi1Qcm9wYWdhdGUtR0xJ QkNfVFVOQUJMRVMtaW4tc2V0eGlkLWJpbmFyaWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MTk4ICswLDAgQEAKLUZyb20gMGQ1ZjllYTk3ZjFiMzlmMmE4NTU3NTYwNzg3NzE2NzNhNjg0OTdl MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFNpZGRoZXNoIFBveWFyZWthciA8c2lk ZGhlc2hAc291cmNld2FyZS5vcmc+Ci1EYXRlOiBUdWUsIDE5IFNlcCAyMDIzIDEzOjI1OjQwIC0w NDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFByb3BhZ2F0ZSBHTElCQ19UVU5BQkxFUyBpbiBzZXR4aWQg YmluYXJpZXMKLQotR0xJQkNfVFVOQUJMRVMgc2NydWJiaW5nIGhhcHBlbnMgZWFybGllciB0aGFu IGVudnZhciBzY3J1YmJpbmcgYW5kIHNvbWUKLXR1bmFibGVzIGFyZSByZXF1aXJlZCB0byBwcm9w YWdhdGUgcGFzdCBzZXR4aWQgYm91bmRhcnksIGxpa2UgdGhlaXIKLWVudl9hbGlhcy4gIFJlbHkg b24gdHVuYWJsZSBzY3J1YmJpbmcgdG8gY2xlYW4gb3V0IEdMSUJDX1RVTkFCTEVTIGxpa2UKLWJl Zm9yZSwgcmVzdG9yaW5nIGJlaGF2aW91ciBpbiBnbGliYyAyLjM3IGFuZCBlYXJsaWVyLgotCi1T aWduZWQtb2ZmLWJ5OiBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJjZXdhcmUub3Jn PgotUmV2aWV3ZWQtYnk6IENhcmxvcyBPJ0RvbmVsbCA8Y2FybG9zQHJlZGhhdC5jb20+Ci0tLS0K LSBzeXNkZXBzL2dlbmVyaWMvdW5zZWN2YXJzLmggfCAxIC0KLSAxIGZpbGUgY2hhbmdlZCwgMSBk ZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9nZW5lcmljL3Vuc2VjdmFycy5oIGIv c3lzZGVwcy9nZW5lcmljL3Vuc2VjdmFycy5oCi1pbmRleCA4MTM5N2ZiOTBiLi44Mjc4YzUwYTg0 IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9nZW5lcmljL3Vuc2VjdmFycy5oCi0rKysgYi9zeXNkZXBz L2dlbmVyaWMvdW5zZWN2YXJzLmgKLUBAIC00LDcgKzQsNiBAQAotICNkZWZpbmUgVU5TRUNVUkVf RU5WVkFSUyBcCi0gICAiR0NPTlZfUEFUSFwwIgkJCQkJCQkgICAgICBcCi0gICAiR0VUQ09ORl9E SVJcMCIJCQkJCQkJICAgICAgXAotLSAgIkdMSUJDX1RVTkFCTEVTXDAiCQkJCQkJCSAgICAgIFwK LSAgICJIT1NUQUxJQVNFU1wwIgkJCQkJCQkgICAgICBcCi0gICAiTERfQVVESVRcMCIJCQkJCQkJ CSAgICAgIFwKLSAgICJMRF9ERUJVR1wwIgkJCQkJCQkJICAgICAgXAotLS0gCi1Gcm9tIDEwNTZl NWI0YzNmMmQ5MGVkMmI0YTU1Zjk2YWRkMjhkYTJmNGM4ZmEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNoQHNvdXJjZXdhcmUub3JnPgot RGF0ZTogVHVlLCAxOSBTZXAgMjAyMyAxODozOTozMiAtMDQwMAotU3ViamVjdDogW1BBVENIXSB0 dW5hYmxlczogVGVybWluYXRlIGlmIGVuZCBvZiBpbnB1dCBpcyByZWFjaGVkCi0gKENWRS0yMDIz LTQ5MTEpCi0KLVRoZSBzdHJpbmcgcGFyc2luZyByb3V0aW5lIG1heSBlbmQgdXAgd3JpdGluZyBi ZXlvbmQgYm91bmRzIG9mIHR1bmVzdHIKLWlmIHRoZSBpbnB1dCB0dW5hYmxlIHN0cmluZyBpcyBt YWxmb3JtZWQsIG9mIHRoZSBmb3JtIG5hbWU9bmFtZT12YWwuCi1UaGlzIGdldHMgcHJvY2Vzc2Vk IHR3aWNlLCBmaXJzdCBhcyBuYW1lPW5hbWU9dmFsIGFuZCBuZXh0IGFzIG5hbWU9dmFsLAotcmVz dWx0aW5nIGluIHR1bmVzdHIgYmVpbmcgbmFtZT1uYW1lPXZhbDpuYW1lPXZhbCwgdGh1cyBvdmVy Zmxvd2luZwotdHVuZXN0ci4KLQotVGVybWluYXRlIHRoZSBwYXJzaW5nIGxvb3AgYXQgdGhlIGZp cnN0IGluc3RhbmNlIGl0c2VsZiBzbyB0aGF0IHR1bmVzdHIKLWRvZXMgbm90IG92ZXJmbG93Lgot Ci1UaGlzIGFsc28gZml4ZXMgdXAgdHN0LWVudi1zZXR1aWQtdHVuYWJsZXMgdG8gYWN0dWFsbHkg aGFuZGxlIGZhaWx1cmVzCi1jb3JyZWN0IGFuZCBhZGQgbmV3IHRlc3RzIHRvIHZhbGlkYXRlIHRo ZSBmaXggZm9yIHRoaXMgQ1ZFLgotCi1TaWduZWQtb2ZmLWJ5OiBTaWRkaGVzaCBQb3lhcmVrYXIg PHNpZGRoZXNoQHNvdXJjZXdhcmUub3JnPgotUmV2aWV3ZWQtYnk6IENhcmxvcyBPJ0RvbmVsbCA8 Y2FybG9zQHJlZGhhdC5jb20+Ci0tLS0KLSBORVdTICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA1ICsrKysrCi0gZWxmL2RsLXR1bmFibGVzLmMgICAgICAgICAgICAgfCAxNyArKysrKysrKyst LS0tLS0tCi0gZWxmL3RzdC1lbnYtc2V0dWlkLXR1bmFibGVzLmMgfCAzNyArKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygr KSwgMTUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ORVdTIGIvTkVXUwotaW5kZXggYTk0 NjUwZGE2NC4uY2M0YjgxZjBhYyAxMDA2NDQKLS0tLSBhL05FV1MKLSsrKyBiL05FV1MKLUBAIC02 NCw2ICs2NCwxMSBAQCBTZWN1cml0eSByZWxhdGVkIGNoYW5nZXM6Ci0gICBhbiBhcHBsaWNhdGlv biBjYWxscyBnZXRhZGRyaW5mbyBmb3IgQUZfSU5FVDYgd2l0aCBBSV9DQU5PTk5BTUUsCi0gICBB SV9BTEwgYW5kIEFJX1Y0TUFQUEVEIGZsYWdzIHNldC4KLSAKLSsgIENWRS0yMDIzLTQ5MTE6IElm IGEgdHVuYWJsZSBvZiB0aGUgZm9ybSBOQU1FPU5BTUU9VkFMIGlzIHBhc3NlZCBpbiB0aGUKLSsg IGVudmlyb25tZW50IG9mIGEgc2V0dWlkIHByb2dyYW0gYW5kIE5BTUUgaXMgdmFsaWQsIGl0IG1h eSByZXN1bHQgaW4gYQotKyAgYnVmZmVyIG92ZXJmbG93LCB3aGljaCBjb3VsZCBiZSBleHBsb2l0 ZWQgdG8gYWNoaWV2ZSBlc2NhbGF0ZWQKLSsgIHByaXZpbGVnZXMuICBUaGlzIGZsYXcgd2FzIGlu dHJvZHVjZWQgaW4gZ2xpYmMgMi4zNC4KLSsKLSBUaGUgZm9sbG93aW5nIGJ1Z3MgYXJlIHJlc29s dmVkIHdpdGggdGhpcyByZWxlYXNlOgotIAotICAgW1RoZSByZWxlYXNlIG1hbmFnZXIgd2lsbCBh ZGQgdGhlIGxpc3QgZ2VuZXJhdGVkIGJ5Ci1kaWZmIC0tZ2l0IGEvZWxmL2RsLXR1bmFibGVzLmMg Yi9lbGYvZGwtdHVuYWJsZXMuYwotaW5kZXggNjJiNzMzMmQ5NS4uY2FlNjdlZmEwYSAxMDA2NDQK LS0tLSBhL2VsZi9kbC10dW5hYmxlcy5jCi0rKysgYi9lbGYvZGwtdHVuYWJsZXMuYwotQEAgLTE4 MCwxMSArMTgwLDcgQEAgcGFyc2VfdHVuYWJsZXMgKGNoYXIgKnR1bmVzdHIsIGNoYXIgKnZhbHN0 cmluZykKLSAgICAgICAvKiBJZiB3ZSByZWFjaCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcgYmVmb3Jl IGdldHRpbmcgYSB2YWxpZCBuYW1lLXZhbHVlCi0gCSBwYWlyLCBiYWlsIG91dC4gICovCi0gICAg ICAgaWYgKHBbbGVuXSA9PSAnXDAnKQotLQl7Ci0tCSAgaWYgKF9fbGliY19lbmFibGVfc2VjdXJl KQotLQkgICAgdHVuZXN0cltvZmZdID0gJ1wwJzsKLS0JICByZXR1cm47Ci0tCX0KLSsJYnJlYWs7 Ci0gCi0gICAgICAgLyogV2UgZGlkIG5vdCBmaW5kIGEgdmFsaWQgbmFtZS12YWx1ZSBwYWlyIGJl Zm9yZSBlbmNvdW50ZXJpbmcgdGhlCi0gCSBjb2xvbi4gICovCi1AQCAtMjQ0LDkgKzI0MCwxNiBA QCBwYXJzZV90dW5hYmxlcyAoY2hhciAqdHVuZXN0ciwgY2hhciAqdmFsc3RyaW5nKQotIAkgICAg fQotIAl9Ci0gCi0tICAgICAgaWYgKHBbbGVuXSAhPSAnXDAnKQotLQlwICs9IGxlbiArIDE7Ci0r ICAgICAgLyogV2UgcmVhY2hlZCB0aGUgZW5kIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHR1bmFibGUg c3RyaW5nLiAgKi8KLSsgICAgICBpZiAocFtsZW5dID09ICdcMCcpCi0rCWJyZWFrOwotKwotKyAg ICAgIHAgKz0gbGVuICsgMTsKLSAgICAgfQotKwotKyAgLyogVGVybWluYXRlIHR1bmVzdHIgYmVm b3JlIHdlIGxlYXZlLiAgKi8KLSsgIGlmIChfX2xpYmNfZW5hYmxlX3NlY3VyZSkKLSsgICAgdHVu ZXN0cltvZmZdID0gJ1wwJzsKLSB9Ci0gCi0gLyogRW5hYmxlIHRoZSBnbGliYy5tYWxsb2MuY2hl Y2sgdHVuYWJsZSBpbiBTRVRVSUQvU0VUR0lEIHByb2dyYW1zIG9ubHkgd2hlbgotZGlmZiAtLWdp dCBhL2VsZi90c3QtZW52LXNldHVpZC10dW5hYmxlcy5jIGIvZWxmL3RzdC1lbnYtc2V0dWlkLXR1 bmFibGVzLmMKLWluZGV4IDdkZmIwZTA3M2EuLmYwYjkyYzk3ZTcgMTAwNjQ0Ci0tLS0gYS9lbGYv dHN0LWVudi1zZXR1aWQtdHVuYWJsZXMuYwotKysrIGIvZWxmL3RzdC1lbnYtc2V0dWlkLXR1bmFi bGVzLmMKLUBAIC01MCw2ICs1MCw4IEBAIGNvbnN0IGNoYXIgKnRlc3RzdHJpbmdzW10gPQotICAg ImdsaWJjLm1hbGxvYy5wZXJ0dXJiPTB4ODAwOm5vdF92YWxpZC5tYWxsb2MuY2hlY2s9MjpnbGli Yy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0gICAiZ2xpYmMubm90X3ZhbGlkLmNoZWNr PTI6Z2xpYmMubWFsbG9jLm1tYXBfdGhyZXNob2xkPTQwOTYiLAotICAgIm5vdF92YWxpZC5tYWxs b2MuY2hlY2s9MjpnbGliYy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0rICAiZ2xpYmMu bWFsbG9jLm1tYXBfdGhyZXNob2xkPWdsaWJjLm1hbGxvYy5tbWFwX3RocmVzaG9sZD00MDk2IiwK LSsgICJnbGliYy5tYWxsb2MuY2hlY2s9MiIsCi0gICAiZ2xpYmMubWFsbG9jLmdhcmJhZ2U9Mjpn bGliYy5tYW9jLm1tYXBfdGhyZXNob2xkPTQwOTY6Z2xpYmMubWFsbG9jLmNoZWNrPTIiLAotICAg ImdsaWJjLm1hbGxvYy5jaGVjaz00OmdsaWJjLm1hbGxvYy5nYXJiYWdlPTI6Z2xpYmMubWFvYy5t bWFwX3RocmVzaG9sZD00MDk2IiwKLSAgICI6Z2xpYmMubWFsbG9jLmdhcmJhZ2U9MjpnbGliYy5t YWxsb2MuY2hlY2s9MSIsCi1AQCAtNjgsNiArNzAsOCBAQCBjb25zdCBjaGFyICpyZXN1bHRzdHJp bmdzW10gPQotICAgImdsaWJjLm1hbGxvYy5wZXJ0dXJiPTB4ODAwOmdsaWJjLm1hbGxvYy5tbWFw X3RocmVzaG9sZD00MDk2IiwKLSAgICJnbGliYy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIs Ci0gICAiZ2xpYmMubWFsbG9jLm1tYXBfdGhyZXNob2xkPTQwOTYiLAotKyAgImdsaWJjLm1hbGxv Yy5tbWFwX3RocmVzaG9sZD1nbGliYy5tYWxsb2MubW1hcF90aHJlc2hvbGQ9NDA5NiIsCi0rICAi IiwKLSAgICIiLAotICAgIiIsCi0gICAiIiwKLUBAIC04MSwxMSArODUsMTggQEAgdGVzdF9jaGls ZCAoaW50IG9mZikKLSB7Ci0gICBjb25zdCBjaGFyICp2YWwgPSBnZXRlbnYgKCJHTElCQ19UVU5B QkxFUyIpOwotIAotKyAgcHJpbnRmICgiICAgIFslZF0gR0xJQkNfVFVOQUJMRVMgaXMgJXNcbiIs IG9mZiwgdmFsKTsKLSsgIGZmbHVzaCAoc3Rkb3V0KTsKLSAgIGlmICh2YWwgIT0gTlVMTCAmJiBz dHJjbXAgKHZhbCwgcmVzdWx0c3RyaW5nc1tvZmZdKSA9PSAwKQotICAgICByZXR1cm4gMDsKLSAK LSAgIGlmICh2YWwgIT0gTlVMTCkKLS0gICAgcHJpbnRmICgiWyVkXSBVbmV4cGVjdGVkIEdMSUJD X1RVTkFCTEVTIFZBTFVFICVzXG4iLCBvZmYsIHZhbCk7Ci0rICAgIHByaW50ZiAoIiAgICBbJWRd IFVuZXhwZWN0ZWQgR0xJQkNfVFVOQUJMRVMgVkFMVUUgJXMsIGV4cGVjdGVkICVzXG4iLAotKwkg ICAgb2ZmLCB2YWwsIHJlc3VsdHN0cmluZ3Nbb2ZmXSk7Ci0rICBlbHNlCi0rICAgIHByaW50ZiAo IiAgICBbJWRdIEdMSUJDX1RVTkFCTEVTIGVudmlyb25tZW50IHZhcmlhYmxlIGFic2VudFxuIiwg b2ZmKTsKLSsKLSsgIGZmbHVzaCAoc3Rkb3V0KTsKLSAKLSAgIHJldHVybiAxOwotIH0KLUBAIC0x MDYsMjEgKzExNywyNiBAQCBkb190ZXN0IChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAg aWYgKHJldCAhPSAwKQotIAlleGl0ICgxKTsKLSAKLS0gICAgICBleGl0IChFWElUX1NVQ0NFU1Mp OwotKyAgICAgIC8qIFNwZWNpYWwgcmV0dXJuIGNvZGUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNo aWxkIGV4ZWN1dGVkIGFsbCB0aGUgd2F5Ci0rCSB0aHJvdWdoLiAgKi8KLSsgICAgICBleGl0ICg0 Mik7Ci0gICAgIH0KLSAgIGVsc2UKLSAgICAgewotLSAgICAgIGludCByZXQgPSAwOwotLQotICAg ICAgIC8qIFNwYXduIHRlc3RzLiAgKi8KLSAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFycmF5 X2xlbmd0aCAodGVzdHN0cmluZ3MpOyBpKyspCi0gCXsKLSAJICBjaGFyIGJ1ZltJTlRfQlVGU0la RV9CT1VORCAoaW50KV07Ci0gCi0tCSAgcHJpbnRmICgiU3Bhd25lZCB0ZXN0IGZvciAlcyAoJWQp XG4iLCB0ZXN0c3RyaW5nc1tpXSwgaSk7Ci0rCSAgcHJpbnRmICgiWyVkXSBTcGF3bmVkIHRlc3Qg Zm9yICVzXG4iLCBpLCB0ZXN0c3RyaW5nc1tpXSk7Ci0gCSAgc25wcmludGYgKGJ1Ziwgc2l6ZW9m IChidWYpLCAiJWRcbiIsIGkpOwotKwkgIGZmbHVzaCAoc3Rkb3V0KTsKLSAJICBpZiAoc2V0ZW52 ICgiR0xJQkNfVFVOQUJMRVMiLCB0ZXN0c3RyaW5nc1tpXSwgMSkgIT0gMCkKLS0JICAgIGV4aXQg KDEpOwotKwkgICAgewotKwkgICAgICBwcmludGYgKCIgICAgWyVkXSBGYWlsZWQgdG8gc2V0IEdM SUJDX1RVTkFCTEVTOiAlbSIsIGkpOwotKwkgICAgICBzdXBwb3J0X3JlY29yZF9mYWlsdXJlICgp OwotKwkgICAgICBjb250aW51ZTsKLSsJICAgIH0KLSAKLSAJICBpbnQgc3RhdHVzID0gc3VwcG9y dF9jYXB0dXJlX3N1YnByb2dyYW1fc2VsZl9zZ2lkIChidWYpOwotIAotQEAgLTEyOCw5ICsxNDQs MTQgQEAgZG9fdGVzdCAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAkgIGlmIChXRVhJVFNUQVRV UyAoc3RhdHVzKSA9PSBFWElUX1VOU1VQUE9SVEVEKQotIAkgICAgcmV0dXJuIEVYSVRfVU5TVVBQ T1JURUQ7Ci0gCi0tCSAgcmV0IHw9IHN0YXR1czsKLSsJICBpZiAoV0VYSVRTVEFUVVMgKHN0YXR1 cykgIT0gNDIpCi0rCSAgICB7Ci0rCSAgICAgIHByaW50ZiAoIiAgICBbJWRdIGNoaWxkIGZhaWxl ZCB3aXRoIHN0YXR1cyAlZFxuIiwgaSwKLSsJCSAgICAgIFdFWElUU1RBVFVTIChzdGF0dXMpKTsK LSsJICAgICAgc3VwcG9ydF9yZWNvcmRfZmFpbHVyZSAoKTsKLSsJICAgIH0KLSAJfQotLSAgICAg IHJldHVybiByZXQ7Ci0rICAgICAgcmV0dXJuIDA7Ci0gICAgIH0KLSB9Ci0gCmRpZmYgLS1naXQg YS9zcmNwa2dzL2dsaWJjL3RlbXBsYXRlIGIvc3JjcGtncy9nbGliYy90ZW1wbGF0ZQppbmRleCBj ZjMwY2Q4OGRkNjFhMi4uYzRmYTliMDAzOWE5MmMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2xpYmMv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbGliYy90ZW1wbGF0ZQpAQCAtMSwxNCArMSwxNCBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnZ2xpYmMnCiBwa2duYW1lPWdsaWJjCi12ZXJzaW9uPTIuMzgK LXJldmlzaW9uPTYKK3ZlcnNpb249Mi4zOQorcmV2aXNpb249MQogYm9vdHN0cmFwPXllcwogc2hv cnRfZGVzYz0iR05VIEMgbGlicmFyeSIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hA dm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIuMS1vci1s YXRlciwgQlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9saWJjIgogZGlzdGZpbGVzPSIke0dOVV9TSVRFfS9saWJjL2dsaWJjLSR7dmVyc2lvbn0udGFy Lnh6IgotY2hlY2tzdW09ZmI4Mjk5ODk5OGIyYjI5OTY1NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2Yz MDFjOWVhZmI0NTU1Yjc3MGVmM2ZkMgorY2hlY2tzdW09Zjc3YmQ0N2NmODE3MGM1NzM2NWFlN2Jm ODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1MDJkM2RjMWUyZDkyNgogIyBEbyBub3Qgc3RyaXAg dGhlc2UgZmlsZXMsIG9iamNvcHkgZXJyb3JzIG91dC4KIG5vc3RyaXBfZmlsZXM9IgogCVhCUzVf SUxQMzJfT0ZGQklHCkBAIC00OCwxMyArNDgsMTIgQEAgY29uZl9maWxlcz0iCiAJL2V0Yy9sZC5z by5jb25mIgogaWYgWyAiJENIUk9PVF9SRUFEWSIgXTsgdGhlbgogCWhvc3RtYWtlZGVwZW5kcz0i Ymlzb24gZ2V0dGV4dCBwZXJsIHB5dGhvbjMgdGV4aW5mbyIKLQkjIFhYWDogcmVtb3ZlIHRoaXMg b24gdGhlIG5leHQgdXBkYXRlCi0JIyBlbnN1cmVzIHBhcnRpYWwgdXBncmFkZXMgZG9uJ3QgYnJl YWsgdGhpbmdzIGxpa2UgUEFNCi0JZGVwZW5kcz0ibGlieGNyeXB0LWNvbXBhdCIKIGZpCiBtYWtl ZGVwZW5kcz0ia2VybmVsLWxpYmMtaGVhZGVycyIKIGxpYjMyZmlsZXM9Ii91c3IvbGliL2djb252 L2djb252LW1vZHVsZXMiCiBsaWIzMnN5bWxpbmtzPSJsZC1saW51eC5zby4yIgorIyBnbGliYyAy LjM4IHN0b3BzIHByb3ZpZGluZyBsaWJjcnlwdC5zby4xCitjb25mbGljdHM9ImdsaWJjLTMyYml0 PDIuMzhfMSIKIGFyY2hzPSJ+Ki1tdXNsIgogaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gbXVz bCBdOyB0aGVuCiAJYnJva2VuPSJubyBwb2ludCBpbiBidWlsZGluZyB0aGlzIGZvciBtdXNsIgpA QCAtMTMzLDcgKzEzMiw3IEBAIGRvX2luc3RhbGwoKSB7CiAJKCBjZCBidWlsZCAmJiBtYWtlIGlu c3RhbGxfcm9vdD0ke0RFU1RESVJ9IGluc3RhbGwgKQogCiAJIyBUaGUgQy5VVEYtOCBsb2NhbGUg c2hvdWxkIGFsd2F5cyBiZSBhdmFpbGFibGUKLQlpZiBbIC16ICIke0NST1NTX0JVSUxEfSIgXTsg dGhlbgorCWlmIFsgLXogIiR7Q1JPU1NfQlVJTER9IiBdIHx8IFsgIiR7WEJQU19NQUNISU5FJS0q fSIgPSAiJHtYQlBTX1RBUkdFVF9NQUNISU5FJS0qfSIgXTsgdGhlbgogCQltYWtlIC1DIGxvY2Fs ZWRhdGEgREVTVERJUj0iJHtERVNURElSfSIgXAogCQkJb2JqZGlyPSIuLi9idWlsZCIgaW5zdGFs bC1maWxlcy1DLlVURi04L1VURi04CiAJZWxpZiBjb21tYW5kIC12IGxvY2FsZWRlZiA+L2Rldi9u dWxsIDI+JjE7IHRoZW4KCkZyb20gMzE1MTk3ODkzNzU3OGZhNjFhZDMwOWQ4YTZhNjc5NWZhN2Jl ZTYwZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAKU3ViamVjdDogW1BB VENIIDAyLzEyXSBjcm9zcy1hYXJjaDY0LWxpbnV4LWdudTogcmVidWlsZCBmb3IgZ2xpYmMgMi4z OQoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtZ251L3RlbXBsYXRlIHwgNiArKyst LS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3Br Z3MvY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggYzRkN2RiYWY0YmExOWMu LjczYWRiZWU3ZTg1MzNiIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgt Z251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUvdGVtcGxh dGUKQEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFhcmNoNjQt bGludXgtZ251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAot X2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249 Ni4xCiBwa2duYW1lPWNyb3NzLWFhcmNoNjQtbGludXgtZ251CiB2ZXJzaW9uPTAuMzYKLXJldmlz aW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdz PSItLXdpdGgtYXJjaD1hcm12OC1hIgogaG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRhciBnY2Mt b2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMgcGtnLWNvbmZpZyIKQEAgLTIyLDcgKzIyLDcg QEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259 LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4X3Zl cnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSJh ZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJkZjA2 MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0MTM1 Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMzMDdk MmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5 NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBmNmZl ZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jvc3M9 eWVzCiAKCkZyb20gNmQ4ZWZjYTEwOTZjNjIxOTUwYjg4MjhkYjA5MmM5ZGMxNTY3YjY1ZCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29tPgpE YXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAKU3ViamVjdDogW1BBVENIIDAzLzEy XSBjcm9zcy1hcm0tbGludXgtZ251ZWFiaTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBz cmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpL3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3Mt YXJtLWxpbnV4LWdudWVhYmkvdGVtcGxhdGUKaW5kZXggZWZkZTEwMTdjYjg2NGIuLmUzY2M0YTI4 YTNkYzVlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmkvdGVtcGxhdGUKQEAgLTEs MTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybS1saW51eC1nbnVlYWJp JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJjX3Zl cnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBwa2du YW1lPWNyb3NzLWFybS1saW51eC1nbnVlYWJpCiB2ZXJzaW9uPTAuMzYKLXJldmlzaW9uPTEKK3Jl dmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgt YXJjaD1hcm12NXRlIC0td2l0aC1mbG9hdD1zb2Z0CiAgLS1lbmFibGUtYXV0b2xpbmstbGliYXRv bWljIgpAQCAtMjMsNyArMjMsNyBAQCBkaXN0ZmlsZXMrPSIgJHtHTlVfU0lURX0vZ2xpYmMvZ2xp YmMtJHtfZ2xpYmNfdmVyc2lvbn0udGFyLnh6IgogZGlzdGZpbGVzKz0iICR7S0VSTkVMX1NJVEV9 L2tlcm5lbC92JHtfbGludXhfdmVyc2lvbiUlLip9LngvbGludXgtJHtfbGludXhfdmVyc2lvbn0u dGFyLnh6IgogY2hlY2tzdW09ImFlOWE1Nzg5ZTIzNDU5ZTU5NjA2ZTY3MTQ3MjNmMmQzZmZjMzFj MDMxNzQxOTFlZjBkMDE1YmRmMDYwMDc0NTAKICBlMjc1ZTc2NDQyYTYwNjczNDFhMjdmMDRjNWM2 YjgzZDg2MTMxNDQwMDRjMDQxMzUyODg2M2RjNmI1Yzc0M2RhCi0gZmI4Mjk5ODk5OGIyYjI5OTY1 NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2ZkMgorIGY3N2JkNDdj ZjgxNzBjNTczNjVhZTdiZjg2Njk2YzExOGFkYjNiMTIwZDMyNTljNjRjNTAyZDNkYzFlMmQ5MjYK ICAyY2ExZjE3MDUxYTQzMGY2ZmVkMTE5NmU0OTUyNzE3NTA3MTcxYWNmZDk3ZDk2NTc3MjEyNTAy NzAzYjI1ZGViIgogbm9jcm9zcz15ZXMKIAoKRnJvbSA0ZmMyMDgzOGFiZWExODNkYmE3OGQ5YmYw NjE3Y2U4NTllYTVlODc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxv cmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAyNCAxODowNzoyMyAtMDgwMApT dWJqZWN0OiBbUEFUQ0ggMDQvMTJdIGNyb3NzLWFybS1saW51eC1nbnVlYWJpaGY6IHJlYnVpbGQg Zm9yIGdsaWJjIDIuMzkKCi0tLQogc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3Rl bXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhm L3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3RlbXBsYXRlCmlu ZGV4IGRkNTYyY2ViNDQ5ODYxLi4wOWRlNjQyMjA4YTJjOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9j cm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYXJt LWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZicKIF9iaW51dGlsc192ZXJzaW9uPTIu NDEKIF9nY2NfdmVyc2lvbj0xMy4yLjAKLV9nbGliY192ZXJzaW9uPTIuMzgKK19nbGliY192ZXJz aW9uPTIuMzkKIF9saW51eF92ZXJzaW9uPTYuMQogcGtnbmFtZT1jcm9zcy1hcm0tbGludXgtZ251 ZWFiaWhmCiB2ZXJzaW9uPTAuMzYKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxl PXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1hcm12NiAtLXdpdGgtZnB1 PXZmcCAtLXdpdGgtZmxvYXQ9aGFyZAogIC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAg LTIzLDcgKzIzLDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2ds aWJjX3ZlcnNpb259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwv diR7X2xpbnV4X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIK IGNoZWNrc3VtPSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkx ZWYwZDAxNWJkZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEz MTQ0MDA0YzA0MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2 OWQxNTJlOWMzMDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3 MzY1YWU3YmY4NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYx NzA1MWE0MzBmNmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRl YiIKIG5vY3Jvc3M9eWVzCiAKCkZyb20gMWZhZGJlYWY3MTcyZTMzOTI0OGQxYjUyYjZiYTRiMWNh NjQ5ODE0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFA Z21haWwuY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAKU3ViamVjdDog W1BBVENIIDA1LzEyXSBjcm9zcy1hcm12N2wtbGludXgtZ251ZWFiaWhmOiByZWJ1aWxkIGZvciBn bGliYyAyLjM5CgotLS0KIHNyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1w bGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmlo Zi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0 ZQppbmRleCA2MGM2NzhmM2Y1YWE3NS4uY2VhZTY5NzFlZTQ4NGMgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Ny b3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYvdGVtcGxhdGUKQEAgLTEsMTEgKzEsMTEgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYnCiBfYmludXRp bHNfdmVyc2lvbj0yLjQxCiBfZ2NjX3ZlcnNpb249MTMuMi4wCi1fZ2xpYmNfdmVyc2lvbj0yLjM4 CitfZ2xpYmNfdmVyc2lvbj0yLjM5CiBfbGludXhfdmVyc2lvbj02LjEKIHBrZ25hbWU9Y3Jvc3Mt YXJtdjdsLWxpbnV4LWdudWVhYmloZgogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9 YXJtdjctYSAtLXdpdGgtZnB1PXZmcHYzIC0td2l0aC1mbG9hdD1oYXJkIgogaG9zdG1ha2VkZXBl bmRzPSJ0ZXhpbmZvIHRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMgcGtnLWNv bmZpZyIKQEAgLTIyLDcgKzIyLDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2ds aWJjLSR7X2dsaWJjX3ZlcnNpb259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRF fS9rZXJuZWwvdiR7X2xpbnV4X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259 LnRhci54eiIKIGNoZWNrc3VtPSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMx YzAzMTc0MTkxZWYwZDAxNWJkZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVj NmI4M2Q4NjEzMTQ0MDA0YzA0MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2 NTQ2N2JjMWI2OWQxNTJlOWMzMDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3 Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2 CiAgMmNhMWYxNzA1MWE0MzBmNmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUw MjcwM2IyNWRlYiIKIG5vY3Jvc3M9eWVzCiAKCkZyb20gM2MzYjc2MTdlNjc2ZWI1OGU3ZjU4OTk5 OWQwZTFhZmZmNjgyMzg4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8 b3JlbzYzOTFAZ21haWwuY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjMgLTA4MDAK U3ViamVjdDogW1BBVENIIDA2LzEyXSBjcm9zcy1pNjg2LXBjLWxpbnV4LWdudTogcmVidWlsZCBm b3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLWk2ODYtcGMtbGludXgtZ251L3RlbXBs YXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1pNjg2LXBjLWxpbnV4LWdudS90ZW1w bGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggN2E4 MmMzMjhkNGE5MzUuLjMwMzIxZGFkNjcxZjBmIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWk2 ODYtcGMtbGludXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1wYy1saW51 eC1nbnUvdGVtcGxhdGUKQEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Ny b3NzLWk2ODYtcGMtbGludXgtZ251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJz aW9uPTEzLjIuMAotX2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xp bnV4X3ZlcnNpb249Ni4xCiBwa2duYW1lPWNyb3NzLWk2ODYtcGMtbGludXgtZ251CiB2ZXJzaW9u PTAuMzYKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGhv c3RtYWtlZGVwZW5kcz0idGV4aW5mbyB0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRo b24zIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iaXNsLWRldmVsIGxpYm1wYy1kZXZlbCBnbXAt ZGV2ZWwgbXBmci1kZXZlbApAQCAtMjEsNyArMjEsNyBAQCBkaXN0ZmlsZXMrPSIgJHtHTlVfU0lU RX0vZ2xpYmMvZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0udGFyLnh6IgogZGlzdGZpbGVzKz0iICR7 S0VSTkVMX1NJVEV9L2tlcm5lbC92JHtfbGludXhfdmVyc2lvbiUlLip9LngvbGludXgtJHtfbGlu dXhfdmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09ImFlOWE1Nzg5ZTIzNDU5ZTU5NjA2ZTY3MTQ3 MjNmMmQzZmZjMzFjMDMxNzQxOTFlZjBkMDE1YmRmMDYwMDc0NTAKICBlMjc1ZTc2NDQyYTYwNjcz NDFhMjdmMDRjNWM2YjgzZDg2MTMxNDQwMDRjMDQxMzUyODg2M2RjNmI1Yzc0M2RhCi0gZmI4Mjk5 ODk5OGIyYjI5OTY1NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2Zk MgorIGY3N2JkNDdjZjgxNzBjNTczNjVhZTdiZjg2Njk2YzExOGFkYjNiMTIwZDMyNTljNjRjNTAy ZDNkYzFlMmQ5MjYKICAyY2ExZjE3MDUxYTQzMGY2ZmVkMTE5NmU0OTUyNzE3NTA3MTcxYWNmZDk3 ZDk2NTc3MjEyNTAyNzAzYjI1ZGViIgogbm9jcm9zcz15ZXMKIAoKRnJvbSA3Yjg1NDk5ZjYzOTA2 MGUxM2Q0NzJhZjA3NGI5MDRlYWQ3NzIzYjNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAyNCAxODow NzoyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTJdIGNyb3NzLXBvd2VycGMtbGludXgtZ251 OiByZWJ1aWxkIGZvciBnbGliYyAyLjM5CgotLS0KIHNyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51 eC1nbnUvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGMtbGlu dXgtZ251L3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjLWxpbnV4LWdudS90ZW1wbGF0 ZQppbmRleCAzYTE0YTYyYmNlYzI5NS4uZWMxNzUzNDE0Y2Q1YWQgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1w b3dlcnBjLWxpbnV4LWdudS90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUnCiBfYmludXRpbHNfdmVyc2lvbj0yLjQx CiBfZ2NjX3ZlcnNpb249MTMuMi4wCi1fZ2xpYmNfdmVyc2lvbj0yLjM4CitfZ2xpYmNfdmVyc2lv bj0yLjM5CiBfbGludXhfdmVyc2lvbj02LjEKIHBrZ25hbWU9Y3Jvc3MtcG93ZXJwYy1saW51eC1n bnUKIHZlcnNpb249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9dm9p ZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCAtLWRpc2FibGUtdnRh YmxlLXZlcmlmeQogIC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAgLTIzLDcgKzIzLDcg QEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259 LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4X3Zl cnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSJh ZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJkZjA2 MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0MTM1 Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMzMDdk MmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5 NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBmNmZl ZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jvc3M9 eWVzCiAKCkZyb20gN2QzMDgwNDQ5NTJiN2FkMjI0Zjg5MzZkOTYyM2E5ZDgxNDFkZTVhYiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29tPgpE YXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDA4LzEy XSBjcm9zcy1wb3dlcnBjNjQtbGludXgtZ251OiByZWJ1aWxkIGZvciBnbGliYyAyLjM5CgotLS0K IHNyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3Mv Y3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudS90ZW1wbGF0ZQppbmRleCBmNjY0ZjFkYmM3NjRhMi4u NWFiNGFjZWM0NWZkYjYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4 LWdudS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVt cGxhdGUKQEAgLTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXBvd2Vy cGM2NC1saW51eC1nbnUnCiBfYmludXRpbHNfdmVyc2lvbj0yLjQxCiBfZ2NjX3ZlcnNpb249MTMu Mi4wCi1fZ2xpYmNfdmVyc2lvbj0yLjM4CitfZ2xpYmNfdmVyc2lvbj0yLjM5CiBfbGludXhfdmVy c2lvbj02LjEKIHBrZ25hbWU9Y3Jvc3MtcG93ZXJwYzY0LWxpbnV4LWdudQogdmVyc2lvbj0wLjM2 Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1 cmVfYXJncz0iLS1lbmFibGUtc2VjdXJlcGx0IC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IC0td2l0 aC1hYmk9ZWxmdjIKICAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGMtbGludXggLS1lbmFibGUtYXV0 b2xpbmstbGliYXRvbWljIgpAQCAtMjMsNyArMjMsNyBAQCBkaXN0ZmlsZXMrPSIgJHtHTlVfU0lU RX0vZ2xpYmMvZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0udGFyLnh6IgogZGlzdGZpbGVzKz0iICR7 S0VSTkVMX1NJVEV9L2tlcm5lbC92JHtfbGludXhfdmVyc2lvbiUlLip9LngvbGludXgtJHtfbGlu dXhfdmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09ImFlOWE1Nzg5ZTIzNDU5ZTU5NjA2ZTY3MTQ3 MjNmMmQzZmZjMzFjMDMxNzQxOTFlZjBkMDE1YmRmMDYwMDc0NTAKICBlMjc1ZTc2NDQyYTYwNjcz NDFhMjdmMDRjNWM2YjgzZDg2MTMxNDQwMDRjMDQxMzUyODg2M2RjNmI1Yzc0M2RhCi0gZmI4Mjk5 ODk5OGIyYjI5OTY1NDY3YmMxYjY5ZDE1MmU5YzMwN2QyY2YzMDFjOWVhZmI0NTU1Yjc3MGVmM2Zk MgorIGY3N2JkNDdjZjgxNzBjNTczNjVhZTdiZjg2Njk2YzExOGFkYjNiMTIwZDMyNTljNjRjNTAy ZDNkYzFlMmQ5MjYKICAyY2ExZjE3MDUxYTQzMGY2ZmVkMTE5NmU0OTUyNzE3NTA3MTcxYWNmZDk3 ZDk2NTc3MjEyNTAyNzAzYjI1ZGViIgogbm9jcm9zcz15ZXMKIAoKRnJvbSA0YWM4YzZiY2FkMWY2 MGJkYzUwMjFhZjA0YTBhYTM4NTExNWQxMDM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAyNCAxODow NzoyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTJdIGNyb3NzLXBvd2VycGM2NGxlLWxpbnV4 LWdudTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGM2 NGxlLWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtcG93 ZXJwYzY0bGUtbGludXgtZ251L3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjNjRsZS1s aW51eC1nbnUvdGVtcGxhdGUKaW5kZXggZTBjYTZlOWNlMmQwMWIuLjFmZTllYmY2ZDQ3ZmI2IDEw MDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudS90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudS90ZW1wbGF0ZQpAQCAtMSwx MSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgt Z251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJj X3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBw a2duYW1lPWNyb3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBjb25maWd1cmVfYXJncz0i LS1lbmFibGUtc2VjdXJlcGx0IC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IC0td2l0aC1hYmk9ZWxm djIKICAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGNsZS1saW51eCAtLWVuYWJsZS1hdXRvbGluay1s aWJhdG9taWMiCkBAIC0yMyw3ICsyMyw3IEBAIGRpc3RmaWxlcys9IiAke0dOVV9TSVRFfS9nbGli Yy9nbGliYy0ke19nbGliY192ZXJzaW9ufS50YXIueHoiCiBkaXN0ZmlsZXMrPSIgJHtLRVJORUxf U0lURX0va2VybmVsL3Yke19saW51eF92ZXJzaW9uJSUuKn0ueC9saW51eC0ke19saW51eF92ZXJz aW9ufS50YXIueHoiCiBjaGVja3N1bT0iYWU5YTU3ODllMjM0NTllNTk2MDZlNjcxNDcyM2YyZDNm ZmMzMWMwMzE3NDE5MWVmMGQwMTViZGYwNjAwNzQ1MAogIGUyNzVlNzY0NDJhNjA2NzM0MWEyN2Yw NGM1YzZiODNkODYxMzE0NDAwNGMwNDEzNTI4ODYzZGM2YjVjNzQzZGEKLSBmYjgyOTk4OTk4YjJi Mjk5NjU0NjdiYzFiNjlkMTUyZTljMzA3ZDJjZjMwMWM5ZWFmYjQ1NTViNzcwZWYzZmQyCisgZjc3 YmQ0N2NmODE3MGM1NzM2NWFlN2JmODY2OTZjMTE4YWRiM2IxMjBkMzI1OWM2NGM1MDJkM2RjMWUy ZDkyNgogIDJjYTFmMTcwNTFhNDMwZjZmZWQxMTk2ZTQ5NTI3MTc1MDcxNzFhY2ZkOTdkOTY1Nzcy MTI1MDI3MDNiMjVkZWIiCiBub2Nyb3NzPXllcwogCgpGcm9tIDE3ZTQwOGE2MGIxMjAwYmFjZDM3 NmY1YTdlYzQxYjNlMGVjZjY5MmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IG9yZW82 MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE4OjA3OjI0IC0w ODAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMl0gY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LWdudTogcmVi dWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1n bnUvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGNsZS1saW51 eC1nbnUvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1nbnUvdGVtcGxh dGUKaW5kZXggZjE4MzcwYTMwNDg3NWIuLjNhMGNkMGQ2YmI0YjRkIDEwMDY0NAotLS0gYS9zcmNw a2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1nbnUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9z cy1wb3dlcnBjbGUtbGludXgtZ251L3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdjcm9zcy1wb3dlcnBjbGUtbGludXgtZ251JwogX2JpbnV0aWxzX3ZlcnNp b249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJjX3ZlcnNpb249Mi4zOAorX2dsaWJj X3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBwa2duYW1lPWNyb3NzLXBvd2VycGNs ZS1saW51eC1nbnUKIHZlcnNpb249MC4zNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9dm9pZC1jcm9zcwogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCAtLWRp c2FibGUtdnRhYmxlLXZlcmlmeQogIC0tZW5hYmxlLWF1dG9saW5rLWxpYmF0b21pYyIKQEAgLTI0 LDcgKzI0LDcgQEAgZGlzdGZpbGVzPSIKICAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4 X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3Vt PSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJk ZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0 MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMz MDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4 NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBm NmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jv c3M9eWVzCiAKCkZyb20gNDUyMzE4OTc2ZmU4Nzc1Zjg3NWI3ZmIzYTI5NDg3ZGQ1M2MxNDQ3ZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29t PgpEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDEx LzEyXSBjcm9zcy1yaXNjdjY0LWxpbnV4LWdudTogcmVidWlsZCBmb3IgZ2xpYmMgMi4zOQoKLS0t CiBzcmNwa2dzL2Nyb3NzLXJpc2N2NjQtbGludXgtZ251L3RlbXBsYXRlIHwgNiArKystLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jcm9zcy1yaXNjdjY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jv c3MtcmlzY3Y2NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggNjkwYjVkNjE4NDIzOTUuLjVkNTZj ZTg1M2Q5NjA2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXJpc2N2NjQtbGludXgtZ251L3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcmlzY3Y2NC1saW51eC1nbnUvdGVtcGxhdGUKQEAg LTEsMTEgKzEsMTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXJpc2N2NjQtbGludXgt Z251JwogX2JpbnV0aWxzX3ZlcnNpb249Mi40MQogX2djY192ZXJzaW9uPTEzLjIuMAotX2dsaWJj X3ZlcnNpb249Mi4zOAorX2dsaWJjX3ZlcnNpb249Mi4zOQogX2xpbnV4X3ZlcnNpb249Ni4xCiBw a2duYW1lPWNyb3NzLXJpc2N2NjQtbGludXgtZ251CiB2ZXJzaW9uPTAuMzYKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKIGNvbmZpZ3VyZV9hcmdzPSItLXdp dGgtYXJjaD1ydjY0Z2MgLS13aXRoLWFiaT1scDY0ZCAtLWVuYWJsZS1hdXRvbGluay1saWJhdG9t aWMgLS1kaXNhYmxlLW11bHRpbGliIgogaG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHRhciBnY2Mt b2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMgcGtnLWNvbmZpZyIKQEAgLTIyLDcgKzIyLDcg QEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259 LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4X3Zl cnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSJh ZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJkZjA2 MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0MTM1 Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMzMDdk MmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4NjY5 NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBmNmZl ZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jvc3M9 eWVzCiAKCkZyb20gMjVhNWUyNzc3MjNiMTI3OWIyZDM1YTkxYTk5ZmNiZWFlNTUxZTljNSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8b3JlbzYzOTFAZ21haWwuY29tPgpE YXRlOiBXZWQsIDYgTWFyIDIwMjQgMTg6MDc6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDEyLzEy XSBjcm9zcy14ODZfNjQtbGludXgtZ251OiByZWJ1aWxkIGZvciBnbGliYyAyLjM5CgotLS0KIHNy Y3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4LWdudS90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MteDg2 XzY0LWxpbnV4LWdudS90ZW1wbGF0ZQppbmRleCA0ZmIzNWNiNmY3MzZjYS4uOGNjYTgzMjg5NmM0 ZDQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4LWdudS90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUvdGVtcGxhdGUKQEAgLTEsMTEgKzEs MTEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXg4Nl82NC1saW51eC1nbnUnCiBfYmlu dXRpbHNfdmVyc2lvbj0yLjQxCiBfZ2NjX3ZlcnNpb249MTMuMi4wCi1fZ2xpYmNfdmVyc2lvbj0y LjM4CitfZ2xpYmNfdmVyc2lvbj0yLjM5CiBfbGludXhfdmVyc2lvbj02LjEKIHBrZ25hbWU9Y3Jv c3MteDg2XzY0LWxpbnV4LWdudQogdmVyc2lvbj0wLjM2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT12b2lkLWNyb3NzCiBob3N0bWFrZWRlcGVuZHM9InRleGluZm8gdGFyIGdj Yy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyBwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9 ImlzbC1kZXZlbCBsaWJtcGMtZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwKQEAgLTIxLDcgKzIx LDcgQEAgZGlzdGZpbGVzKz0iICR7R05VX1NJVEV9L2dsaWJjL2dsaWJjLSR7X2dsaWJjX3ZlcnNp b259LnRhci54eiIKIGRpc3RmaWxlcys9IiAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdiR7X2xpbnV4 X3ZlcnNpb24lJS4qfS54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3Vt PSJhZTlhNTc4OWUyMzQ1OWU1OTYwNmU2NzE0NzIzZjJkM2ZmYzMxYzAzMTc0MTkxZWYwZDAxNWJk ZjA2MDA3NDUwCiAgZTI3NWU3NjQ0MmE2MDY3MzQxYTI3ZjA0YzVjNmI4M2Q4NjEzMTQ0MDA0YzA0 MTM1Mjg4NjNkYzZiNWM3NDNkYQotIGZiODI5OTg5OThiMmIyOTk2NTQ2N2JjMWI2OWQxNTJlOWMz MDdkMmNmMzAxYzllYWZiNDU1NWI3NzBlZjNmZDIKKyBmNzdiZDQ3Y2Y4MTcwYzU3MzY1YWU3YmY4 NjY5NmMxMThhZGIzYjEyMGQzMjU5YzY0YzUwMmQzZGMxZTJkOTI2CiAgMmNhMWYxNzA1MWE0MzBm NmZlZDExOTZlNDk1MjcxNzUwNzE3MWFjZmQ5N2Q5NjU3NzIxMjUwMjcwM2IyNWRlYiIKIG5vY3Jv c3M9eWVzCiAK --===============1834654507325248997==--