From mboxrd@z Thu Jan 1 00:00:00 1970 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: (qmail 8188 invoked from network); 18 Mar 2022 18:29:37 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 18 Mar 2022 18:29:37 -0000 Content-Type: multipart/mixed; boundary="===============4680019436939174006==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_lrcalc=3A_update_to_2=2E1=2C_rebuild_sagemath-9=2E5?= To: ml@inbox.vuxu.org From: tornaria Reply-to: ml@inbox.vuxu.org Message-ID: Date: Fri, 18 Mar 2022 19:29:37 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============4680019436939174006== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHRvcm5hcmlhIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS90b3JuYXJp YS92b2lkLXBhY2thZ2VzIHNhZ2VtYXRoLWxyY2FsYwpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzYyMDkKCmxyY2FsYzogdXBkYXRlIHRvIDIuMSwgcmVi dWlsZCBzYWdlbWF0aC05LjUKVGhpcyBQUiB1cGRhdGVzIGxyY2FsYyB0byAyLjEsIHdoaWNoIHdp bGwgYmUgcmVxdWlyZWQgZm9yIHNhZ2VtYXRoIDkuNi4NCg0KVGhpcyBuZWVkcyB0aGF0IHdlIHJl YnVpbGQgc2FnZW1hdGggOS41IHdpdGggYSBmZXcgY2hhbmdlczoNCiAtIGFkZCBhIG5ldyBweXRo b24gcGFja2FnZSBgcHl0aG9uMy1scmNhbGNgDQogLSBwYXRjaCBzYWdlbWF0aCA5LjUgc28gaXQg Y2FuIHVzZSB0aGUgbmV3IHZlcnNpb24gb2YgbHJjYWxjICh2aWEgcHl0aG9uMy1scmNhbGMpDQoN ClVucmVsYXRlZCB0byB0aGF0LCBJIGFkZGVkIHR3byBwYXRjaGVzIHRvIHNhZ2VtYXRoIHdoaWNo IGZpeCBkb2N0ZXN0cyBhZnRlciB1cGdyYWRlcyBvZiBpcHl0aG9uIHRvIDguMCBhbmQgc2NpcHkg dG8gMS44LgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzM2MjA5LnBhdGNoIGlzIGF0dGFjaGVk --===============4680019436939174006== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-sagemath-lrcalc-36209.patch" RnJvbSAxNmNlM2I0OGI5YWMyZjhhNDdlMjcxM2VkZjZhMGUzNTI1MGQ1ODczIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IE1vbiwgMjggRmViIDIwMjIgMTI6MDM6MjIgLTAz MDAKU3ViamVjdDogW1BBVENIIDEvM10gbHJjYWxjOiB1cGRhdGUgdG8gMi4xLgoKLS0tCiBjb21t b24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyY3BrZ3MvbHJjYWxj L3BhdGNoZXMvaW5jbHVkZXMucGF0Y2ggfCA5MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHNyY3BrZ3MvbHJjYWxjL3RlbXBsYXRlICAgICAgICAgICAgICAgfCAgNiArLQogMyBmaWxlcyBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvbHJjYWxjL3BhdGNoZXMvaW5jbHVkZXMucGF0Y2gKCmRpZmYgLS1naXQgYS9j b21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCA4M2I1NzgzY2IwMjYuLjRhMGEwN2Qz NjZjYyAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC00 MDM4LDcgKzQwMzgsNyBAQCBsaWJhcmIuc28uMiBhcmItMi4yMC4wXzEKIGxpYmVjLnNvLjggZWNs aWItMjAyMTA2MjVfMQogbGlic3ltbWV0cmljYS5zby4yIHN5bW1ldHJpY2EtMy4wLjFfMQogbGli TGZ1bmN0aW9uLnNvLjEgbGNhbGMtMi4wLjRfMQotbGlibHJjYWxjLnNvLjEgbHJjYWxjLTEuMl8x CitsaWJscmNhbGMuc28uMiBscmNhbGMtMi4xXzEKIGxpYndheWxhbmQtY2xpZW50Kysuc28uMCBs aWJ3YXlsYW5kcHAtMC4yLjhfMQogbGlid2F5bGFuZC1jdXJzb3IrKy5zby4wIGxpYndheWxhbmRw cC0wLjIuOF8xCiBsaWJ3YXlsYW5kLWVnbCsrLnNvLjAgbGlid2F5bGFuZHBwLTAuMi44XzEKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbHJjYWxjL3BhdGNoZXMvaW5jbHVkZXMucGF0Y2ggYi9zcmNwa2dz L2xyY2FsYy9wYXRjaGVzL2luY2x1ZGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA3MDdkYTE3NmE2MGYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xyY2FsYy9wYXRj aGVzL2luY2x1ZGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotRnJvbSA0 YTVlMWM4YzNjMTFlZmRiMWNiYjQyMzk4MjVhNmJmNGJmMWM1MmY4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogQW5kZXJzIFNrb3ZzdGVkIEJ1Y2ggPGFzYnVjaEBtYXRoLnJ1dGdlcnMu ZWR1PgotRGF0ZTogU3VuLCAyOSBOb3YgMjAxNSAxNjoyNTo1NiAtMDUwMAotU3ViamVjdDogW1BB VENIXSBQYXRjaCBieSBKZXJvZW4gRGVtZXllciB0byBjaGFuZ2UgaW5jbHVkZSA8dmVjdG9yLmg+ IHRvCi0gInZlY3Rvci5oIiwgcGx1cyBzaW1pbGFyIGNhc2VzLgotCi0tLS0KLSBzcmMvbHJjYWxj LmMgICB8IDIgKy0KLSBzcmMvbWFwbGUuYyAgICB8IDQgKystLQotIHNyYy9zY2h1YmxpYi5oIHwg MiArLQotIHNyYy9zeW1mY24uYyAgIHwgNiArKystLS0KLSBzcmMvc3ltZmNuLmggICB8IDQgKyst LQotIDUgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1k aWZmIC0tZ2l0IGEvc3JjL2xyY2FsYy5jIGIvc3JjL2xyY2FsYy5jCi1pbmRleCBhZmYzZjc1Li42 MGRmNDllIDEwMDY0NAotLS0tIGEvc3JjL2xyY2FsYy5jCi0rKysgYi9zcmMvbHJjYWxjLmMKLUBA IC04LDcgKzgsNyBAQAotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSBleHRlcm4gY2hhciAqb3B0YXJn OwotIAotLSNpbmNsdWRlIDx2ZWN0YXJnLmg+Ci0rI2luY2x1ZGUgInZlY3RhcmcuaCIKLSAKLSAj aW5jbHVkZSAic3ltZmNuLmgiCi0gI2luY2x1ZGUgIm1hcGxlLmgiCi1kaWZmIC0tZ2l0IGEvc3Jj L21hcGxlLmMgYi9zcmMvbWFwbGUuYwotaW5kZXggZmRjMDc2OC4uYTVmNGQxNCAxMDA2NDQKLS0t LSBhL3NyYy9tYXBsZS5jCi0rKysgYi9zcmMvbWFwbGUuYwotQEAgLTQsOCArNCw4IEBACi0gICov Ci0gCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0tI2luY2x1ZGUgPHZlY3Rvci5oPgotLSNpbmNsdWRl IDxoYXNodGFiLmg+Ci0rI2luY2x1ZGUgInZlY3Rvci5oIgotKyNpbmNsdWRlICJoYXNodGFiLmgi Ci0gI2luY2x1ZGUgIm1hcGxlLmgiCi0gCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NjaHVibGliLmgg Yi9zcmMvc2NodWJsaWIuaAotaW5kZXggYThlODUxMS4uODY0ODUwYyAxMDA2NDQKLS0tLSBhL3Ny Yy9zY2h1YmxpYi5oCi0rKysgYi9zcmMvc2NodWJsaWIuaAotQEAgLTEsNyArMSw3IEBACi0gI2lm bmRlZiBfU0NIVUJMSUJfSAotICNkZWZpbmUgX1NDSFVCTElCX0gKLSAKLS0jaW5jbHVkZSA8aGFz aHRhYi5oPgotKyNpbmNsdWRlICJoYXNodGFiLmgiCi0gCi0gaGFzaHRhYiAqdHJhbnModmVjdG9y ICp3LCBpbnQgdmFycywgaGFzaHRhYiAqcmVzKTsKLSBoYXNodGFiICptb25rKGludCBpLCBoYXNo dGFiICpzbGMsIGludCByYW5rKTsKLWRpZmYgLS1naXQgYS9zcmMvc3ltZmNuLmMgYi9zcmMvc3lt ZmNuLmMKLWluZGV4IDRmZmJlNGIuLmZkNWRmNWQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3ltZmNuLmMK LSsrKyBiL3NyYy9zeW1mY24uYwotQEAgLTUsOSArNSw5IEBACi0gCi0gI2luY2x1ZGUgPHN0ZGlv Lmg+Ci0gCi0tI2luY2x1ZGUgPGFsbG9jLmg+Ci0tI2luY2x1ZGUgPHZlY3Rvci5oPgotLSNpbmNs dWRlIDxoYXNodGFiLmg+Ci0rI2luY2x1ZGUgImFsbG9jLmgiCi0rI2luY2x1ZGUgInZlY3Rvci5o IgotKyNpbmNsdWRlICJoYXNodGFiLmgiCi0gCi0gI2luY2x1ZGUgInN5bWZjbi5oIgotIAotZGlm ZiAtLWdpdCBhL3NyYy9zeW1mY24uaCBiL3NyYy9zeW1mY24uaAotaW5kZXggYjg1NDNiMS4uMjli YjAwZCAxMDA2NDQKLS0tLSBhL3NyYy9zeW1mY24uaAotKysrIGIvc3JjL3N5bWZjbi5oCi1AQCAt MSw4ICsxLDggQEAKLSAjaWZuZGVmIF9TWU1GQ05fSAotICNkZWZpbmUgX1NZTUZDTl9ICi0gCi0t I2luY2x1ZGUgPGhhc2h0YWIuaD4KLS0jaW5jbHVkZSA8dmVjdG9yLmg+Ci0rI2luY2x1ZGUgImhh c2h0YWIuaCIKLSsjaW5jbHVkZSAidmVjdG9yLmgiCi0gCi0gaW50IHBhcnRfaXRyX3N6KHZlY3Rv ciAqcGFydCk7Ci0gaW50IHBhcnRfaXRyX3N1Yih2ZWN0b3IgKnBhcnQsIHZlY3RvciAqb3V0ZXIp OwotLS0gCi0yLjEuMS4xLmcxZmIzMzdmCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbHJjYWxjL3Rl bXBsYXRlIGIvc3JjcGtncy9scmNhbGMvdGVtcGxhdGUKaW5kZXggOGIzM2MzY2JhNmM4Li5hZmE4 ODliNmQ2YWQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbHJjYWxjL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvbHJjYWxjL3RlbXBsYXRlCkBAIC0xLDE0ICsxLDE0IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdscmNhbGMnCiBwa2duYW1lPWxyY2FsYwotdmVyc2lvbj0xLjIKLXJldmlzaW9uPTIKK3ZlcnNp b249Mi4xCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBzaG9ydF9kZXNj PSJMaXR0bGV3b29kLVJpY2hhcmRzb24gQ2FsY3VsYXRvciIKIG1haW50YWluZXI9IkdvbnphbG8g VG9ybmFyw61hIDx0b3JuYXJpYUBjbWF0LmVkdS51eT4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxh dGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vc2l0ZXMubWF0aC5ydXRnZXJzLmVkdS9+YXNidWNoL2xy Y2FsYy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vc2l0ZXMubWF0aC5ydXRnZXJzLmVkdS9+YXNidWNo L2xyY2FsYy9scmNhbGMtJHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09NzkyZGQ1MzhhMGQxOTY5 OGJlMmM1YjhjMTM4NzMwYmJiNDgyMGU4YTQ0ZTAzYjAwMWFlMTRiZDVmMWQ3MDQwYgorY2hlY2tz dW09OTk2YWMwMGU2ZWE4MzIxZWYwOWIzNDQ3OGY1Mzc5ZjYxMzkzM2MzMjU0YWViYTYyNGI2NDE5 YjhhZmE1ZGY1NwogCiBscmNhbGMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gJHttYWtlZGVwZW5kc30iCgpGcm9tIDBiZWEz YzI5ZWNmNTM5MGE3MjhmOWM1M2ZhZTNiYzY4MDgxOTU4M2YgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBj bWF0LmVkdS51eT4KRGF0ZTogTW9uLCAyOCBGZWIgMjAyMiAxNDowNjoyMSAtMDMwMApTdWJqZWN0 OiBbUEFUQ0ggMi8zXSBOZXcgcGFja2FnZTogcHl0aG9uMy1scmNhbGMtMi4xCgotLS0KIHNyY3Br Z3MvcHl0aG9uMy1scmNhbGMvdGVtcGxhdGUgfCAxNCArKysrKysrKysrKysrKwogMSBmaWxlIGNo YW5nZWQsIDE0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B5dGhv bjMtbHJjYWxjL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLWxyY2FsYy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1scmNhbGMvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45ZjMzNWRhYzM1ZGQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3B5dGhvbjMtbHJjYWxjL3RlbXBsYXRlCkBAIC0wLDAgKzEsMTQgQEAKKyMgVGVt cGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtbHJjYWxjJworcGtnbmFtZT1weXRob24zLWxyY2FsYwor dmVyc2lvbj0yLjEKK3JldmlzaW9uPTEKK3dya3NyYz1scmNhbGMtJHt2ZXJzaW9ufQorYnVpbGRf c3R5bGU9cHl0aG9uMy1tb2R1bGUKK2hvc3RtYWtlZGVwZW5kcz0icHl0aG9uMy1zZXR1cHRvb2xz IHB5dGhvbjMtQ3l0aG9uIgorbWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2ZWwgbHJjYWxjLWRldmVs Igorc2hvcnRfZGVzYz0iUHl0aG9uIGJpbmRpbmdzIGZvciB0aGUgTGl0dGxld29vZC1SaWNoYXJk c29uIENhbGN1bGF0b3IgbGlicmFyeSIKK21haW50YWluZXI9IkdvbnphbG8gVG9ybmFyw61hIDx0 b3JuYXJpYUBjbWF0LmVkdS51eT4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBh Z2U9Imh0dHBzOi8vbWF0aC5ydXRnZXJzLmVkdS9+YXNidWNoL2xyY2FsYyIKK2Rpc3RmaWxlcz0i JHtQWVBJX1NJVEV9L2wvbHJjYWxjL2xyY2FsYy0ke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3Vt PWUzYTA1MDlhZWRhNDg3YjQxMmIzOTFhNTJlODE3Y2EzNmI1YzA2M2E4MzA1ZTA5ZmQ1NGQ1MzI1 OWRkNmFhYTkKCkZyb20gMTNhYjVjNGExYjM0NTNmZWM2NjExZGJmNTc3ODE2MzQ2ZWE2MDM2YyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9 QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgpEYXRlOiBNb24sIDI4IEZlYiAyMDIyIDE0 OjA2OjI4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIHNhZ2VtYXRoOiByZWJ1aWxkIGZvciBs cmNhbGMgMi4xCgpBbHNvIGZpeCBkb2N0ZXN0cyBmb3IgdXBncmFkZSBvZiBpcHl0aG9uIDguMCBh bmQgc2NpcHkgMS44Ci0tLQogLi4uL3RyYWMtMzEzNTUtdXBncmFkZV9scmNhbGNfdG9fMi4xLnBh dGNoICAgIHwgNjcwICsrKysrKysrKysrKysrKysrKwogLi4uL3RyYWMtMzMxNzAtZml4X2RvY3Rl c3RfaXB5dGhvbl84LnBhdGNoICAgIHwgIDQwICsrCiAuLi4vdHJhYy0zMzMzNi1maXhfZG9jdGVz dF9zY2lweV8xLjgucGF0Y2ggICAgfCAgMTkgKwogc3JjcGtncy9zYWdlbWF0aC90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgICAgIHwgICA2ICstCiA0IGZpbGVzIGNoYW5nZWQsIDczMiBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1h dGgvcGF0Y2hlcy90cmFjLTMxMzU1LXVwZ3JhZGVfbHJjYWxjX3RvXzIuMS5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMTcwLWZpeF9kb2N0 ZXN0X2lweXRob25fOC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgv cGF0Y2hlcy90cmFjLTMzMzM2LWZpeF9kb2N0ZXN0X3NjaXB5XzEuOC5wYXRjaAoKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMxMzU1LXVwZ3JhZGVfbHJjYWxjX3Rv XzIuMS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMxMzU1LXVwZ3JhZGVf bHJjYWxjX3RvXzIuMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAuLjRiZDZmNGY0ZTJkYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy90cmFjLTMxMzU1LXVwZ3JhZGVfbHJjYWxjX3RvXzIuMS5wYXRjaApAQCAtMCwwICsxLDY3 MCBAQAorQXMgcHJvZHVjZWQgYnkgYGdpdCBkaWZmIDkuNSA5LjYuYmV0YTMgLS0gc3JjL3NhZ2Uv bGlicy9scmNhbGNgCisKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL2xyY2FsYy9scmNhbGMu cHhkIGIvc3JjL3NhZ2UvbGlicy9scmNhbGMvbHJjYWxjLnB4ZAorZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAxMGI4OGRiOTNmMi4uMDAwMDAwMDAwMDAKKy0tLSBhL3NyYy9zYWdlL2xp YnMvbHJjYWxjL2xyY2FsYy5weGQKKysrKyAvZGV2L251bGwKK0BAIC0xLDc3ICswLDAgQEAKKy0j IGRpc3R1dGlsczogbGlicmFyaWVzID0gbHJjYWxjCistCistY2RlZiBleHRlcm4gZnJvbSAibHJj YWxjL2hhc2h0YWIuaCI6CistICAgIGN0eXBlZGVmIHN0cnVjdCBoYXNodGFiOgorLSAgICAgICAg cGFzcworLQorLSAgICBjdHlwZWRlZiBzdHJ1Y3QgaGFzaF9pdHI6CistICAgICAgICBwYXNzCist CistICAgIGN0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaGFzaGtleV90CistICAgIGN0eXBlZGVmIGlu dCAoKmNtcF90KSAodm9pZCogYSwgdm9pZCogYikKKy0gICAgY3R5cGVkZWYgaGFzaGtleV90ICgq aGFzaF90KSAodm9pZCogYSkKKy0KKy0gICAgaGFzaHRhYiogaGFzaF9uZXcoY21wX3QgY20sIGhh c2hfdCBoc2gpCistICAgIHZvaWQgaGFzaF9mcmVlKGhhc2h0YWIgKmh0KQorLQorLSAgICB2b2lk KiBoYXNoX2xvb2t1cChoYXNodGFiICpodCwgdm9pZCAqa2V5KQorLSAgICB2b2lkKiBoYXNoX2lu c2VydChoYXNodGFiICpodCwgdm9pZCAqa2V5LCB2b2lkICp2YWx1ZSkKKy0KKy0gICAgYmludCBo YXNoX2dvb2QoaGFzaF9pdHIpCistICAgIHZvaWQgaGFzaF9maXJzdChoYXNodGFiKiBzLCBoYXNo X2l0ciBpdHIpCistICAgIHZvaWQgaGFzaF9uZXh0KGhhc2hfaXRyIGl0cikKKy0gICAgdm9pZCog aGFzaF9rZXkoaGFzaF9pdHIgaXRyKQorLSAgICB2b2lkKiBoYXNoX3ZhbHVlKGhhc2hfaXRyIGl0 cikKKy0gICAgaW50IGhhc2hfaW50dmFsdWUoaGFzaF9pdHIgaXRyKQorLQorLWNkZWYgZXh0ZXJu IGZyb20gImxyY2FsYy92ZWN0b3IuaCI6CistICAgIGN0eXBlZGVmIHN0cnVjdCB2ZWN0b3I6Cist ICAgICAgICBzaXplX3QgbGVuZ3RoCistICAgICAgICBpbnQqIGFycmF5CistCistICAgIHZlY3Rv ciogdl9uZXcoaW50IGxlbmd0aCkKKy0gICAgdm9pZCB2X2ZyZWUodmVjdG9yKiB2KQorLSAgICB2 b2lkIHZfcHJpbnQodmVjdG9yICp2KQorLSAgICBpbnQgdl9sZW5ndGgodmVjdG9yKiB2KQorLSAg ICBpbnQgdl9lbGVtKHZlY3RvciogdiwgaW50IGkpCistCistICAgIGN0eXBlZGVmIHN0cnVjdCB2 ZWNwYWlyOgorLSAgICAgICAgdmVjdG9yICpmaXJzdAorLSAgICAgICAgdmVjdG9yICpzZWNvbmQK Ky0KKy0gICAgdmVjdG9yKiB2cF9maXJzdCh2ZWNwYWlyKiB2cCkKKy0gICAgdmVjdG9yKiB2cF9z ZWNvbmQodmVjcGFpciogdnApCistCistY2RlZiBleHRlcm4gZnJvbSAibHJjYWxjL2xpc3QuaCI6 CistICAgIGNkZWYgc3RydWN0IF9saXN0OgorLSAgICAgICAgdm9pZCAqKmFycmF5CistICAgICAg ICBzaXplX3QgYWxsb2NhdGVkCistICAgICAgICBzaXplX3QgbGVuZ3RoCistICAgIHZvaWQgbF9m cmVlKF9saXN0ICpsc3QpCistCistY2RlZiBleHRlcm4gZnJvbSAibHJjYWxjL3N5bWZjbi5oIjoK Ky0gICAgbG9uZyBsb25nIGxyY29lZl9jICJscmNvZWYiKHZlY3Rvciogb3V0ZXIsIHZlY3Rvciog aW5uZXIxLCB2ZWN0b3IqIGlubmVyMikKKy0gICAgaGFzaHRhYiogbXVsdF9jICJtdWx0Iih2ZWN0 b3IgKnNoMSwgdmVjdG9yICpzaDIsIGludCBtYXhyb3dzKQorLSAgICBoYXNodGFiKiBza2V3X2Mg InNrZXciKHZlY3RvciAqb3V0ZXIsIHZlY3RvciAqaW5uZXIsIGludCBtYXhyb3dzKQorLSAgICBo YXNodGFiKiBjb3Byb2RfYyAiY29wcm9kIih2ZWN0b3IgKnBhcnQsIGludCBhbGwpCistICAgIHZv aWQgZnVzaW9uX3JlZHVjZV9jICJmdXNpb25fcmVkdWNlIihoYXNodGFiKiBodCwgaW50IHJvd3Ms IGludCBjb2xzLCBpbnQgb3B0X3plcm8pCistICAgIF9saXN0ICpxdWFudHVtX3JlZHVjZV9jICJx dWFudHVtX3JlZHVjZSIoaGFzaHRhYiogaHQsIGludCByb3dzLCBpbnQgY29sKQorLQorLSAgICBj dHlwZWRlZiBzdHJ1Y3Qgc2tld3RhYjoKKy0gICAgICAgIHZlY3RvciAqb3V0ZXIKKy0gICAgICAg IHZlY3RvciAqaW5uZXIKKy0gICAgICAgIHZlY3RvciAqY29udHMKKy0gICAgICAgIGludCBtYXhy b3dzCistICAgICAgICB2ZWN0b3IgKmNvbmp1Z2F0ZQorLSAgICAgICAgaW50IHJvd3MKKy0gICAg ICAgIGludCBjb2xzCistICAgICAgICBpbnQgbWF0cml4WzFdCistCistICAgIHNrZXd0YWIgKnN0 X25ldyh2ZWN0b3IgKm91dGVyLCB2ZWN0b3IgKmlubmVyLCB2ZWN0b3IgKmNvbnRzLCBpbnQgbWF4 cm93cykKKy0gICAgaW50IHN0X25leHQoc2tld3RhYiAqc3QpCistICAgIHZvaWQgc3RfcHJpbnQo c2tld3RhYiAqc3QpCistICAgIHZvaWQgc3RfZnJlZShza2V3dGFiICpzdCkKKy0KKy0KKy1jZGVm IGV4dGVybiBmcm9tICJscmNhbGMvc2NodWJsaWIuaCI6CistICAgIGhhc2h0YWIqIG11bHRfc2No dWJlcnRfYyAibXVsdF9zY2h1YmVydCIodmVjdG9yICpzaDEsIHZlY3RvciAqc2gyLCBpbnQgcmFu aykKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL2xyY2FsYy9scmNhbGMucHl4IGIvc3JjL3Nh Z2UvbGlicy9scmNhbGMvbHJjYWxjLnB5CitzaW1pbGFyaXR5IGluZGV4IDYwJQorcmVuYW1lIGZy b20gc3JjL3NhZ2UvbGlicy9scmNhbGMvbHJjYWxjLnB5eAorcmVuYW1lIHRvIHNyYy9zYWdlL2xp YnMvbHJjYWxjL2xyY2FsYy5weQoraW5kZXggYjU5MTA4MWVjNGMuLmI1NDFiZmFjZDg5IDEwMDY0 NAorLS0tIGEvc3JjL3NhZ2UvbGlicy9scmNhbGMvbHJjYWxjLnB5eAorKysrIGIvc3JjL3NhZ2Uv bGlicy9scmNhbGMvbHJjYWxjLnB5CitAQCAtMTAsNyArMTAsOCBAQCBmdXNpb24gcHJvZHVjdHMu IEFsbCBvZiB0aGUgYWJvdmUgYXJlIGFjaGlldmVkIGJ5IGNvdW50aW5nIExSCisgYXBwcm9wcmlh dGUgc2hhcGUgYW5kIGNvbnRlbnQgYnkgaXRlcmF0aW5nIHRocm91Z2ggdGhlbS4KKyBBZGRpdGlv bmFsbHksIGBgbHJjYWxjYGAgaGFuZGxlcyBwcm9kdWN0cyBvZiBTY2h1YmVydCBwb2x5bm9taWFs cy4KKyAKKy1UaGUgd2ViIHBhZ2Ugb2YgYGBscmNhbGNgYCBpcyBgPGh0dHA6Ly9zaXRlcy5tYXRo LnJ1dGdlcnMuZWR1L35hc2J1Y2gvbHJjYWxjLz5gXy4KKytUaGUgd2ViIHBhZ2Ugb2YgYGBscmNh bGNgYCBpcworK2A8aHR0cDovL3NpdGVzLm1hdGgucnV0Z2Vycy5lZHUvfmFzYnVjaC9scmNhbGMv PmBfLgorIAorIFRoZSBmb2xsb3dpbmcgZGVzY3JpYmVzIHRoZSBTYWdlIGludGVyZmFjZSB0byB0 aGlzIGxpYnJhcnkuCisgCitAQCAtMzYsMTIgKzM3LDEzIEBAIFNjaHVyIGV4cGFuc2lvbjo6Cisg ICAgICBbNCwgMl06IDF9CisgCisgU2FtZSBwcm9kdWN0LCBidXQgaW5jbHVkZSBvbmx5IHBhcnRp dGlvbnMgd2l0aCBhdCBtb3N0IDMgcm93cy4gIFRoaXMKKy1jb3JyZXNwb25kcyB0byBjb21wdXRp bmcgaW4gdGhlIHJlcHJlc2VudGF0aW9uIHJpbmcgb2YgZ2woMyk6OgorK2NvcnJlc3BvbmRzIHRv IGNvbXB1dGluZyBpbiB0aGUgcmVwcmVzZW50YXRpb24gcmluZyBvZiBgXG1hdGhmcmFre2dsfSgz KWA6OgorIAorICAgICBzYWdlOiBscmNhbGMubXVsdChbMiwxXSwgWzIsMV0sIDMpCisgICAgIHtb MiwgMiwgMl06IDEsIFszLCAyLCAxXTogMiwgWzMsIDNdOiAxLCBbNCwgMSwgMV06IDEsIFs0LCAy XTogMX0KKyAKKy1XZSBjYW4gYWxzbyBjb21wdXRlIHRoZSBmdXNpb24gcHJvZHVjdCwgaGVyZSBm b3Igc2woMykgYW5kIGxldmVsIDI6OgorK1dlIGNhbiBhbHNvIGNvbXB1dGUgdGhlIGZ1c2lvbiBw cm9kdWN0LCBoZXJlIGZvciBgXG1hdGhmcmFre3NsfSgzKWAKKythbmQgbGV2ZWwgMjo6CisgCisg ICAgIHNhZ2U6IGxyY2FsYy5tdWx0KFszLDIsMV0sIFszLDIsMV0sIDMsMikKKyAgICAge1s0LCA0 LCA0XTogMSwgWzUsIDQsIDNdOiAxfQorQEAgLTc3LDQyICs3OSwzOCBAQCBNdWx0aXBseSB0d28g U2NodWJlcnQgcG9seW5vbWlhbHM6OgorICAgICAgWzYsIDIsIDEsIDQsIDMsIDVdOiAxfQorIAor IFNhbWUgcHJvZHVjdCwgYnV0IGluY2x1ZGUgb25seSBwZXJtdXRhdGlvbnMgb2YgNSBlbGVtZW50 cyBpbiB0aGUgcmVzdWx0LgorLVRoaXMgY29ycmVzcG9uZHMgdG8gY29tcHV0aW5nIGluIHRoZSBj b2hvbW9sb2d5IHJpbmcgb2YgRmwoNSk6OgorK1RoaXMgY29ycmVzcG9uZHMgdG8gY29tcHV0aW5n IGluIHRoZSBjb2hvbW9sb2d5IHJpbmcgb2YgYEZsKDUpYDo6CisgCisgICAgIHNhZ2U6IGxyY2Fs Yy5tdWx0X3NjaHViZXJ0KFs0LDIsMSwzXSwgWzEsNCwyLDUsM10sIDUpCisgICAgIHtbNCwgNSwg MSwgMywgMl06IDEsIFs1LCAzLCAxLCA0LCAyXTogMSwgWzUsIDQsIDEsIDIsIDNdOiAxfQorIAor IExpc3QgYWxsIExpdHRsZXdvb2QtUmljaGFyZHNvbiB0YWJsZWF1eCBvZiBza2V3IHNoYXBlIGBc bXUvXG51YDsgaW4KKyB0aGlzIGV4YW1wbGUgYFxtdT1bMywyLDFdYCBhbmQgYFxudT1bMiwxXWAu IFNwZWNpZnlpbmcgYSB0aGlyZCBlbnRyeQorLWBtYXhyb3dzYCByZXN0cmljdHMgdGhlIGFscGhh YmV0IHRvIGBcezEsMixcbGRvdHMsbWF4cm93c1x9YDo6CisrYE0nID0gYGBtYXhyb3dzYGAgcmVz dHJpY3RzIHRoZSBhbHBoYWJldCB0byBgXHsxLDIsXGxkb3RzLE1cfWA6OgorIAorICAgICBzYWdl OiBsaXN0KGxyY2FsYy5scnNrZXcoWzMsMiwxXSxbMiwxXSkpCisgICAgIFtbW05vbmUsIE5vbmUs IDFdLCBbTm9uZSwgMV0sIFsxXV0sIFtbTm9uZSwgTm9uZSwgMV0sIFtOb25lLCAxXSwgWzJdXSwK KyAgICAgW1tOb25lLCBOb25lLCAxXSwgW05vbmUsIDJdLCBbMV1dLCBbW05vbmUsIE5vbmUsIDFd LCBbTm9uZSwgMl0sIFszXV1dCisgCisgICAgIHNhZ2U6IGxpc3QobHJjYWxjLmxyc2tldyhbMywy LDFdLFsyLDFdLG1heHJvd3M9MikpCistICAgIFtbW05vbmUsIE5vbmUsIDFdLCBbTm9uZSwgMV0s IFsxXV0sIFtbTm9uZSwgTm9uZSwgMV0sIFtOb25lLCAxXSwgWzJdXSwgW1tOb25lLCBOb25lLCAx XSwgW05vbmUsIDJdLCBbMV1dXQorKyAgICBbW1tOb25lLCBOb25lLCAxXSwgW05vbmUsIDFdLCBb MV1dLCBbW05vbmUsIE5vbmUsIDFdLCBbTm9uZSwgMV0sIFsyXV0sCisrICAgICBbW05vbmUsIE5v bmUsIDFdLCBbTm9uZSwgMl0sIFsxXV1dCisgCisgLi4gVE9ETzo6CisgCistICAgIHVzZSB0aGlz IGxpYnJhcnkgaW4gdGhlIDpjbGFzczpgU3ltbWV0cmljRnVuY3Rpb25zYCBjb2RlLCB0bworKyAg ICBVc2UgdGhpcyBsaWJyYXJ5IGluIHRoZSA6Y2xhc3M6YFN5bW1ldHJpY0Z1bmN0aW9uc2AgY29k ZSwgdG8KKyAgICAgbWFrZSBpdCBlYXN5IHRvIGFwcGx5IGl0IHRvIGxpbmVhciBjb21iaW5hdGlv bnMgb2YgU2NodXIgZnVuY3Rpb25zLgorIAorIC4uIFNFRUFMU086OgorIAorICAgICAtIDpmdW5j OmBscmNvZWZgCistCisgICAgIC0gOmZ1bmM6YG11bHRgCistCisgICAgIC0gOmZ1bmM6YGNvcHJv ZGAKKy0KKyAgICAgLSA6ZnVuYzpgc2tld2AKKy0KKyAgICAgLSA6ZnVuYzpgbHJza2V3YAorLQor ICAgICAtIDpmdW5jOmBtdWx0X3NjaHViZXJ0YAorIAorLS4uIHJ1YnJpYzo6IFVuZGVybHlpbmcg YWxnb3JpdGhtaWMgaW4gbHJjYWxjCisrLi4gUlVCUklDOjogVW5kZXJseWluZyBhbGdvcml0aG1p YyBpbiBscmNhbGMKKyAKKyBIZXJlIGlzIHNvbWUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdh cmRpbmcgdGhlIG1haW4gbG93LWxldmVsCisgQy1mdW5jdGlvbnMgaW4gYGxyY2FsY2AuIEdpdmVu IHR3byBwYXJ0aXRpb25zIGBgb3V0ZXJgYCBhbmQgYGBpbm5lcmBgCitAQCAtMTg3LDE4MCArMTg1 LDI0IEBAIEFVVEhPUlM6CisgIyAgICAgICAgICAgICAgICAgIGh0dHBzOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvCisgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCistZnJvbSBzYWdlLnJpbmdzLmlu dGVnZXIgY2ltcG9ydCBJbnRlZ2VyCistZnJvbSBzYWdlLnN0cnVjdHVyZS5wYXJlbnQgY2ltcG9y dCBQYXJlbnQKKyBmcm9tIHNhZ2UuY29tYmluYXQucGFydGl0aW9uIGltcG9ydCBfUGFydGl0aW9u cworIGZyb20gc2FnZS5jb21iaW5hdC5wZXJtdXRhdGlvbiBpbXBvcnQgUGVybXV0YXRpb24KKy1m cm9tIHNhZ2UuY29tYmluYXQuc2tld190YWJsZWF1IGltcG9ydCBTa2V3VGFibGVhdQorLQorLQor LWNkZWYgdmVjdG9yKiBpdGVyYWJsZV90b192ZWN0b3IoaXQpOgorLSAgICAiIiIKKy0gICAgUmV0 dXJuIGFuIGxyY2FsYyB2ZWN0b3IgKHdoaWNoIGlzIGEgbGlzdCBvZiBpbnRlZ2VycykgZnJvbSBh IFB5dGhvbiBpdGVyYWJsZS4KKy0KKy0gICAgVEVTVFM6OgorLQorLSAgICAgICAgc2FnZTogZnJv bSBzYWdlLmxpYnMubHJjYWxjLmxyY2FsYyBpbXBvcnQgdGVzdF9pdGVyYWJsZV90b192ZWN0b3IK Ky0gICAgICAgIHNhZ2U6IHggPSB0ZXN0X2l0ZXJhYmxlX3RvX3ZlY3RvcihQYXJ0aXRpb24oWzMs MiwxXSkpOyB4ICAgI2luZGlyZWN0IGRvY3Rlc3QKKy0gICAgICAgIFszLCAyLCAxXQorLSAgICAi IiIKKy0gICAgY2RlZiB2ZWN0b3IqIHYKKy0gICAgY2RlZiBsaXN0IGl0ciA9IGxpc3QoaXQpCist ICAgIGNkZWYgaW50IG4gPSBsZW4oaXRyKQorLSAgICBjZGVmIGludCBpCistICAgIHYgPSB2X25l dyhuKQorLSAgICBmb3IgaSBpbiByYW5nZShuKToKKy0gICAgICAgIHYuYXJyYXlbaV0gPSBpbnQo aXRyW2ldKQorLSAgICByZXR1cm4gdgorLQorLQorLWNkZWYgbGlzdCB2ZWN0b3JfdG9fbGlzdCh2 ZWN0b3IgKnYpOgorLSAgICAiIiIKKy0gICAgQ29udmVydHMgYSBscmNhbGMgdmVjdG9yIHRvIFB5 dGhvbiBsaXN0LgorLQorLSAgICBURVNUUzo6CistCistICAgICAgICBzYWdlOiBmcm9tIHNhZ2Uu bGlicy5scmNhbGMubHJjYWxjIGltcG9ydCB0ZXN0X2l0ZXJhYmxlX3RvX3ZlY3RvcgorLSAgICAg ICAgc2FnZTogeCA9IHRlc3RfaXRlcmFibGVfdG9fdmVjdG9yKFtdKTsgeCAgICAgICAgICNpbmRp cmVjdCBkb2N0ZXN0CistICAgICAgICBbXQorLSAgICAiIiIKKy0gICAgY2RlZiBpbnQgaSwgbgor LSAgICBuID0gdl9sZW5ndGgodikKKy0gICAgY2RlZiBsaXN0IHJlc3VsdCA9IFtOb25lXSpuCist ICAgIGZvciBpIGluIHJhbmdlKG4pOgorLSAgICAgICAgcmVzdWx0W2ldID0gSW50ZWdlcih2X2Vs ZW0odiwgaSkpCistICAgIHJldHVybiByZXN1bHQKKy0KKy0KKy1kZWYgdGVzdF9pdGVyYWJsZV90 b192ZWN0b3IoaXQpOgorLSAgICAiIiIKKy0gICAgQSB3cmFwcGVyIGZ1bmN0aW9uIGZvciB0aGUg Y2RlZiBmdW5jdGlvbiBgYGl0ZXJhYmxlX3RvX3ZlY3RvcmBgCistICAgIGFuZCBgYHZlY3Rvcl90 b19saXN0YGAsIHRvIHRlc3QgdGhhdCB0aGV5IGFyZSB3b3JraW5nIGNvcnJlY3RseS4KKytmcm9t IHNhZ2UuY29tYmluYXQuc2tld190YWJsZWF1IGltcG9ydCBTZW1pc3RhbmRhcmRTa2V3VGFibGVh dXgKKytmcm9tIHNhZ2UuY29tYmluYXQuc2tld19wYXJ0aXRpb24gaW1wb3J0IFNrZXdQYXJ0aXRp b24KKytmcm9tIHNhZ2UucmluZ3MuaW50ZWdlciBpbXBvcnQgSW50ZWdlcgorK2ltcG9ydCBscmNh bGMKKyAKKy0gICAgRVhBTVBMRVM6OgorLQorLSAgICAgICAgc2FnZTogZnJvbSBzYWdlLmxpYnMu bHJjYWxjLmxyY2FsYyBpbXBvcnQgdGVzdF9pdGVyYWJsZV90b192ZWN0b3IKKy0gICAgICAgIHNh Z2U6IHggPSB0ZXN0X2l0ZXJhYmxlX3RvX3ZlY3RvcihbMywyLDFdKTsgeAorLSAgICAgICAgWzMs IDIsIDFdCistICAgICIiIgorLSAgICBjZGVmIHZlY3RvciAqdiA9IGl0ZXJhYmxlX3RvX3ZlY3Rv cihpdCkKKy0gICAgcmVzdWx0ID0gdmVjdG9yX3RvX2xpc3QodikKKy0gICAgdl9mcmVlKHYpCist ICAgIHJldHVybiByZXN1bHQKKy0KKy0KKy1jZGVmIHNrZXd0YWJfdG9fU2tld1RhYmxlYXUoc2tl d3RhYiAqc3QpOgorLSAgICAiIiIKKy0gICAgQSB3cmFwcGVyIGZ1bmN0aW9uIHdoaWNoIHRyYW5z Zm9ybXMgdGhlIGRhdGEgc2V0IGBgc3RgYCB1c2VkIGluCistICAgIGBgbHJjYWxjYGAgdG8gYSBg YFNrZXdUYWJsZWF1YGAgaW4gU2FnZS4KKytkZWYgX2xyY2FsY19kaWN0X3RvX3NhZ2UocmVzdWx0 KToKKysgICAgciIiIgorKyAgICBUcmFuc2xhdGUgZnJvbSBscmNhbGMgb3V0cHV0IGZvcm1hdCB0 byBTYWdlIGV4cGVjdGVkIGZvcm1hdC4KKyAKKyAgICAgVEVTVFM6OgorIAorLSAgICAgICAgc2Fn ZTogZnJvbSBzYWdlLmxpYnMubHJjYWxjLmxyY2FsYyBpbXBvcnQgdGVzdF9za2V3dGFiX3RvX1Nr ZXdUYWJsZWF1CistICAgICAgICBzYWdlOiB0ZXN0X3NrZXd0YWJfdG9fU2tld1RhYmxlYXUoW10s W10pCistICAgICAgICBbXQorLSAgICAiIiIKKy0gICAgaW5uZXIgPSB2ZWN0b3JfdG9fbGlzdChz dC5pbm5lcikKKy0gICAgb3V0ZXIgPSB2ZWN0b3JfdG9fbGlzdChzdC5vdXRlcikKKy0gICAgcmV0 dXJuIFNrZXdUYWJsZWF1KGV4cHI9W1tpbm5lclt5XSBmb3IgeSBpbiByYW5nZShsZW4ob3V0ZXIp KV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW3N0Lm1hdHJpeFt4ICsgeSAqIHN0 LmNvbHNdICsgMQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHggaW4gcmFu Z2UoaW5uZXJbeV0sIG91dGVyW3ldKV0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm b3IgeSBpbiByYW5nZShsZW4ob3V0ZXIpIC0gMSwgLTEsIC0xKV1dKQorLQorLQorLWRlZiB0ZXN0 X3NrZXd0YWJfdG9fU2tld1RhYmxlYXUob3V0ZXIsIGlubmVyKToKKy0gICAgIiIiCistICAgIEEg d3JhcHBlciBmdW5jdGlvbiBmb3IgdGhlIGNkZWYgZnVuY3Rpb24gYGBza2V3dGFiX3RvX1NrZXdU YWJsZWF1YGAKKy0gICAgZm9yIHRlc3RpbmcgcHVycG9zZXMuCistCistICAgIEl0IGNvbnN0cnVj dHMgdGhlIGZpcnN0IExSIHNrZXcgdGFibGVhdSBvZiBzaGFwZSBgYG91dGVyL2lubmVyYGAKKy0g ICAgYXMgYW4gYGBscmNhbGNgYCBgYHNrZXd0YWJgYCwgYW5kIGNvbnZlcnRzIGl0IHRvIGEKKy0g ICAgOmNsYXNzOmBTa2V3VGFibGVhdWAuCistCistICAgIEVYQU1QTEVTOjoKKy0KKy0gICAgICAg IHNhZ2U6IGZyb20gc2FnZS5saWJzLmxyY2FsYy5scmNhbGMgaW1wb3J0IHRlc3Rfc2tld3RhYl90 b19Ta2V3VGFibGVhdQorLSAgICAgICAgc2FnZTogdGVzdF9za2V3dGFiX3RvX1NrZXdUYWJsZWF1 KFszLDIsMV0sW10pCistICAgICAgICBbWzEsIDEsIDFdLCBbMiwgMl0sIFszXV0KKy0gICAgICAg IHNhZ2U6IHRlc3Rfc2tld3RhYl90b19Ta2V3VGFibGVhdShbNCwzLDIsMV0sWzEsMV0pLnBwKCkK Ky0gICAgICAgIC4gIDEgIDEgIDEKKy0gICAgICAgIC4gIDIgIDIKKy0gICAgICAgIDEgIDMKKy0g ICAgICAgIDIKKy0gICAgIiIiCistICAgIGNkZWYgdmVjdG9yKiBvID0gaXRlcmFibGVfdG9fdmVj dG9yKG91dGVyKQorLSAgICBjZGVmIHZlY3RvciogaSA9IGl0ZXJhYmxlX3RvX3ZlY3Rvcihpbm5l citbMF0qKGxlbihvdXRlciktbGVuKGlubmVyKSkpCistICAgIGNkZWYgc2tld3RhYiogc3QgPSBz dF9uZXcobywgaSwgTlVMTCwgMCkKKy0gICAgcmV0dXJuIHNrZXd0YWJfdG9fU2tld1RhYmxlYXUo c3QpCistCistCistY2RlZiBkaWN0IHNmX2hhc2h0YWJfdG9fZGljdChoYXNodGFiICpodCk6Cist ICAgICIiIgorLSAgICBSZXR1cm4gYSBkaWN0aW9uYXJ5IHJlcHJlc2VudGluZyBhIFNjaHVyIGZ1 bmN0aW9uLiBUaGUga2V5cyBhcmUKKy0gICAgcGFydGl0aW9ucyBhbmQgdGhlIHZhbHVlcyBhcmUg aW50ZWdlcnMgPGNsYXNzICdzYWdlLnJpbmdzLmludGVnZXIuSW50ZWdlcic+LgorLQorLSAgICBF WEFNUExFUzo6CistCisgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubGlicy5scmNhbGMubHJjYWxj IGltcG9ydCBtdWx0CistICAgICAgICBzYWdlOiBzb3J0ZWQobXVsdChbMV0sWzFdKS5pdGVtcygp KSAgICAgICAgI2luZGlyZWN0IGRvY3Rlc3QKKy0gICAgICAgIFsoWzEsIDFdLCAxKSwgKFsyXSwg MSldCistICAgICAgICBzYWdlOiBhc3NlcnQgaXNpbnN0YW5jZShtdWx0KFsxXSxbMV0pLGRpY3Qp I2luZGlyZWN0IGRvY3Rlc3QKKy0gICAgIiIiCistICAgIGNkZWYgaGFzaF9pdHIgaXRyCistICAg IGNkZWYgZGljdCByZXN1bHQgPSB7fQorLSAgICBjZGVmIGxpc3QgcAorLSAgICBoYXNoX2ZpcnN0 KGh0LCBpdHIpCistICAgIHdoaWxlIGhhc2hfZ29vZChpdHIpOgorLSAgICAgICAgcCA9IHZlY3Rv cl90b19saXN0KDx2ZWN0b3IqPiBoYXNoX2tleShpdHIpKQorLSAgICAgICAgcmVzdWx0W19QYXJ0 aXRpb25zKHApXSA9IEludGVnZXIoaGFzaF9pbnR2YWx1ZShpdHIpKQorLSAgICAgICAgaGFzaF9u ZXh0KGl0cikKKy0gICAgcmV0dXJuIHJlc3VsdAorLQorLQorLWNkZWYgZGljdCBzY2h1YmVydF9o YXNodGFiX3RvX2RpY3QoaGFzaHRhYiAqaHQpOgorLSAgICAiIiIKKy0gICAgUmV0dXJuIGEgZGlj dGlvbmFyeSBjb3JyZXNwb25kaW5nIHRvIGEgU2NodWJlcnQgcG9seW5vbWlhbCB3aG9zZSBrZXlz CistICAgIGFyZSBwZXJtdXRhdGlvbnMgYW5kIHdob3NlIHZhbHVlcyBhcmUgaW50ZWdlcnMgPGNs YXNzICdzYWdlLnJpbmdzLmludGVnZXIuSW50ZWdlcic+LgorLQorLSAgICBFWEFNUExFUzo6Cist CistICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubGlicy5scmNhbGMubHJjYWxjIGltcG9ydCBtdWx0 X3NjaHViZXJ0CistICAgICAgICBzYWdlOiBtdWx0X3NjaHViZXJ0KFszLDIsMV0sIFsxLDIsM10p ICAgICAgI2luZGlyZWN0IGRvY3Rlc3QKKy0gICAgICAgIHtbMywgMiwgMV06IDF9CistICAgICIi IgorLSAgICBjZGVmIGhhc2hfaXRyIGl0cgorLSAgICBjZGVmIGRpY3QgcmVzdWx0ID0ge30KKy0g ICAgaGFzaF9maXJzdChodCwgaXRyKQorLSAgICB3aGlsZSBoYXNoX2dvb2QoaXRyKToKKy0gICAg ICAgIHAgPSB2ZWN0b3JfdG9fbGlzdCg8dmVjdG9yKj4gaGFzaF9rZXkoaXRyKSkKKy0gICAgICAg IHJlc3VsdFtQZXJtdXRhdGlvbihwKV0gPSBJbnRlZ2VyKGhhc2hfaW50dmFsdWUoaXRyKSkKKy0g ICAgICAgIGhhc2hfbmV4dChpdHIpCistICAgIHJldHVybiByZXN1bHQKKy0KKy0KKy1jZGVmIGRp Y3QgdnBfaGFzaHRhYl90b19kaWN0KGhhc2h0YWIgKmh0KToKKy0gICAgIiIiCistICAgIFJldHVy biBhIGRpY3Rpb25hcnkgY29ycmVzcG9uZGluZyB0byB0aGUgY29wcm9kdWN0IG9mIGEgU2NodXIg ZnVuY3Rpb24gd2hvc2Uga2V5cyBhcmUKKy0gICAgcGFpcnMgb2YgcGFydGl0aW9ucyBhbmQgd2hv c2UgdmFsdWVzIGFyZSBpbnRlZ2VycyA8Y2xhc3MgJ3NhZ2UucmluZ3MuaW50ZWdlci5JbnRlZ2Vy Jz4uCistCistICAgIEVYQU1QTEVTOjoKKy0KKy0gICAgICAgIHNhZ2U6IGZyb20gc2FnZS5saWJz LmxyY2FsYy5scmNhbGMgaW1wb3J0IGNvcHJvZAorLSAgICAgICAgc2FnZTogY29wcm9kKFsxXSkg ICAgICAjaW5kaXJlY3QgZG9jdGVzdAorLSAgICAgICAgeyhbMV0sIFtdKTogMX0KKysgICAgICAg IHNhZ2U6IG11bHQoWzIsMV0sWzMsMiwxXSwzKSAjIGluZGlyZWN0IGRvY3Rlc3QKKysgICAgICAg IHtbMywgMywgM106IDEsIFs0LCAzLCAyXTogMiwgWzQsIDQsIDFdOiAxLCBbNSwgMiwgMl06IDEs IFs1LCAzLCAxXTogMX0KKyAgICAgIiIiCistICAgIGNkZWYgaGFzaF9pdHIgaXRyCistICAgIGNk ZWYgdmVjcGFpciogdnAKKy0gICAgY2RlZiBkaWN0IHJlc3VsdCA9IHt9CistICAgIGhhc2hfZmly c3QoaHQsIGl0cikKKy0gICAgd2hpbGUgaGFzaF9nb29kKGl0cik6CistICAgICAgICB2cCA9IDx2 ZWNwYWlyKj4gaGFzaF9rZXkoaXRyKQorLSAgICAgICAgcDEgPSBfUGFydGl0aW9ucyh2ZWN0b3Jf dG9fbGlzdCh2cF9maXJzdCh2cCkpKQorLSAgICAgICAgcDIgPSBfUGFydGl0aW9ucyh2ZWN0b3Jf dG9fbGlzdCh2cF9zZWNvbmQodnApKSkKKy0gICAgICAgIHJlc3VsdFsocDEsIHAyKV0gPSBJbnRl Z2VyKGhhc2hfaW50dmFsdWUoaXRyKSkKKy0gICAgICAgIGhhc2hfbmV4dChpdHIpCistICAgIHJl dHVybiByZXN1bHQKKy0KKysgICAgcmV0dXJuIHtfUGFydGl0aW9ucyhsYSk6IEludGVnZXIoaykg Zm9yIGxhLCBrIGluIHJlc3VsdC5pdGVtcygpfQorIAorIGRlZiBscmNvZWZfdW5zYWZlKG91dGVy LCBpbm5lcjEsIGlubmVyMik6CisgICAgIHIiIiIKK0BAIC0zNzEsMTMgKzIxMywxMSBAQCBkZWYg bHJjb2VmX3Vuc2FmZShvdXRlciwgaW5uZXIxLCBpbm5lcjIpOgorIAorICAgICBJTlBVVDoKKyAK Ky0gICAgLSBgYG91dGVyYGAgLS0gYSBwYXJ0aXRpb24gKHdlYWtseSBkZWNyZWFzaW5nIGxpc3Qg b2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzKS4KKy0KKy0gICAgLSBgYGlubmVyMWBgIC0tIGEgcGFy dGl0aW9uLgorKyAgICAtIGBgb3V0ZXJgYCAtLSBhIHBhcnRpdGlvbiAod2Vha2x5IGRlY3JlYXNp bmcgbGlzdCBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMpCisrICAgIC0gYGBpbm5lcjFgYCAtLSBh IHBhcnRpdGlvbgorKyAgICAtIGBgaW5uZXIyYGAgLS0gYSBwYXJ0aXRpb24KKyAKKy0gICAgLSBg YGlubmVyMmBgIC0tIGEgcGFydGl0aW9uLgorLQorLSAgICAuLiB3YXJuaW5nOjoKKysgICAgLi4g V0FSTklORzo6CisgCisgICAgICAgIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgZG8gYW55IGNoZWNr IG9uIGl0cyBpbnB1dC4gIElmIHlvdSB3YW50CisgICAgICAgIHRvIHVzZSBhIHNhZmVyIHZlcnNp b24sIHVzZSA6ZnVuYzpgbHJjb2VmYC4KK0BAIC0zOTIsMTggKzIzMiw3IEBAIGRlZiBscmNvZWZf dW5zYWZlKG91dGVyLCBpbm5lcjEsIGlubmVyMik6CisgICAgICAgICBzYWdlOiBscmNvZWZfdW5z YWZlKFsyLDEsMSwxLDFdLCBbMiwxXSwgWzIsMV0pCisgICAgICAgICAwCisgICAgICIiIgorLSAg ICBjZGVmIGxvbmcgbG9uZyByZXN1bHQKKy0gICAgY2RlZiB2ZWN0b3IgKm8KKy0gICAgY2RlZiB2 ZWN0b3IgKmkxCistICAgIGNkZWYgdmVjdG9yICppMgorLSAgICBvID0gaXRlcmFibGVfdG9fdmVj dG9yKG91dGVyKQorLSAgICBpMSA9IGl0ZXJhYmxlX3RvX3ZlY3Rvcihpbm5lcjEpCistICAgIGky ID0gaXRlcmFibGVfdG9fdmVjdG9yKGlubmVyMikKKy0gICAgcmVzdWx0ID0gbHJjb2VmX2Mobywg aTEsIGkyKQorLSAgICB2X2ZyZWUobykKKy0gICAgdl9mcmVlKGkxKQorLSAgICB2X2ZyZWUoaTIp CistICAgIHJldHVybiBJbnRlZ2VyKHJlc3VsdCkKKysgICAgcmV0dXJuIEludGVnZXIobHJjYWxj LmxyY29lZihvdXRlciwgaW5uZXIxLCBpbm5lcjIpKQorIAorIAorIGRlZiBscmNvZWYob3V0ZXIs IGlubmVyMSwgaW5uZXIyKToKK0BAIC00MTUsMTEgKzI0NCw5IEBAIGRlZiBscmNvZWYob3V0ZXIs IGlubmVyMSwgaW5uZXIyKToKKyAKKyAgICAgSU5QVVQ6CisgCistICAgIC0gYGBvdXRlcmBgIC0t IGEgcGFydGl0aW9uICh3ZWFrbHkgZGVjcmVhc2luZyBsaXN0IG9mIG5vbi1uZWdhdGl2ZSBpbnRl Z2VycykuCistCistICAgIC0gYGBpbm5lcjFgYCAtLSBhIHBhcnRpdGlvbi4KKy0KKy0gICAgLSBg YGlubmVyMmBgIC0tIGEgcGFydGl0aW9uLgorKyAgICAtIGBgb3V0ZXJgYCAtLSBhIHBhcnRpdGlv biAod2Vha2x5IGRlY3JlYXNpbmcgbGlzdCBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMpCisrICAg IC0gYGBpbm5lcjFgYCAtLSBhIHBhcnRpdGlvbgorKyAgICAtIGBgaW5uZXIyYGAgLS0gYSBwYXJ0 aXRpb24KKyAKKyAgICAgLi4gTk9URTo6CisgCitAQCAtNDM2LDcgKzI2Myw2IEBAIGRlZiBscmNv ZWYob3V0ZXIsIGlubmVyMSwgaW5uZXIyKToKKyAgICAgICAgIDEKKyAgICAgICAgIHNhZ2U6IGxy Y29lZihbMiwxLDEsMSwxXSwgWzIsMV0sIFsyLDFdKQorICAgICAgICAgMAorLQorICAgICAiIiIK KyAgICAgcmV0dXJuIGxyY29lZl91bnNhZmUoX1BhcnRpdGlvbnMob3V0ZXIpLCBfUGFydGl0aW9u cyhpbm5lcjEpLCBfUGFydGl0aW9ucyhpbm5lcjIpKQorIAorQEAgLTQ1MSwxMyArMjc3LDkgQEAg ZGVmIG11bHQocGFydDEsIHBhcnQyLCBtYXhyb3dzPU5vbmUsIGxldmVsPU5vbmUsIHF1YW50dW09 Tm9uZSk6CisgICAgIElOUFVUOgorIAorICAgICAtIGBgcGFydDFgYCAtLSBhIHBhcnRpdGlvbgor LQorICAgICAtIGBgcGFydDJgYCAtLSBhIHBhcnRpdGlvbgorLQorICAgICAtIGBgbWF4cm93c2Bg IC0tIChvcHRpb25hbCkgYW4gaW50ZWdlcgorLQorICAgICAtIGBgbGV2ZWxgYCAtLSAob3B0aW9u YWwpIGFuIGludGVnZXIKKy0KKyAgICAgLSBgYHF1YW50dW1gYCAtLSAob3B0aW9uYWwpIGFuIGVs ZW1lbnQgb2YgYSByaW5nCisgCisgICAgIElmIGBgbWF4cm93c2BgIGlzIHNwZWNpZmllZCwgdGhl biBvbmx5IHBhcnRpdGlvbnMgd2l0aCBhdCBtb3N0CitAQCAtNDc5LDcgKzMwMSw4IEBAIGRlZiBt dWx0KHBhcnQxLCBwYXJ0MiwgbWF4cm93cz1Ob25lLCBsZXZlbD1Ob25lLCBxdWFudHVtPU5vbmUp OgorICAgICAgICAgc2FnZTogc29ydGVkKG11bHQoWzJdLFsyXSkuaXRlbXMoKSkKKyAgICAgICAg IFsoWzIsIDJdLCAxKSwgKFszLCAxXSwgMSksIChbNF0sIDEpXQorICAgICAgICAgc2FnZTogc29y dGVkKG11bHQoWzIsMV0sWzIsMV0pLml0ZW1zKCkpCistICAgICAgICBbKFsyLCAyLCAxLCAxXSwg MSksIChbMiwgMiwgMl0sIDEpLCAoWzMsIDEsIDEsIDFdLCAxKSwgKFszLCAyLCAxXSwgMiksIChb MywgM10sIDEpLCAoWzQsIDEsIDFdLCAxKSwgKFs0LCAyXSwgMSldCisrICAgICAgICBbKFsyLCAy LCAxLCAxXSwgMSksIChbMiwgMiwgMl0sIDEpLCAoWzMsIDEsIDEsIDFdLCAxKSwKKysgICAgICAg ICAoWzMsIDIsIDFdLCAyKSwgKFszLCAzXSwgMSksIChbNCwgMSwgMV0sIDEpLCAoWzQsIDJdLCAx KV0KKyAgICAgICAgIHNhZ2U6IHNvcnRlZChtdWx0KFsyLDFdLFsyLDFdLG1heHJvd3M9MikuaXRl bXMoKSkKKyAgICAgICAgIFsoWzMsIDNdLCAxKSwgKFs0LCAyXSwgMSldCisgICAgICAgICBzYWdl OiBtdWx0KFsyLDFdLFszLDIsMV0sMykKK0BAIC01MTAsNDQgKzMzMywyNCBAQCBkZWYgbXVsdChw YXJ0MSwgcGFydDIsIG1heHJvd3M9Tm9uZSwgbGV2ZWw9Tm9uZSwgcXVhbnR1bT1Ob25lKToKKyAg ICAgaWYgcXVhbnR1bSBpcyBub3QgTm9uZSBhbmQgKGxldmVsIGlzIE5vbmUgb3IgbWF4cm93cyBp cyBOb25lKToKKyAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ21pc3NpbmcgcGFyYW1ldGVycyBt YXhyb3dzIG9yIGxldmVsJykKKyAKKy0gICAgY2RlZiB2ZWN0b3IqIHYxID0gaXRlcmFibGVfdG9f dmVjdG9yKHBhcnQxKQorLSAgICBjZGVmIHZlY3RvciogdjIgPSBpdGVyYWJsZV90b192ZWN0b3Io cGFydDIpCistICAgIGlmIG1heHJvd3MgaXMgTm9uZToKKy0gICAgICAgIG1heHJvd3MgPSAwCist ICAgIGNkZWYgaGFzaHRhYiogaHQgPSBtdWx0X2ModjEsIHYyLCBpbnQobWF4cm93cykpCistICAg IGNkZWYgaGFzaHRhYiogdGFiCistICAgIGNkZWYgZGljdCByZXN1bHQKKy0KKyAgICAgaWYgcXVh bnR1bSBpcyBOb25lOgorICAgICAgICAgaWYgbGV2ZWwgaXMgbm90IE5vbmU6CistICAgICAgICAg ICAgZnVzaW9uX3JlZHVjZV9jKGh0LCBpbnQobWF4cm93cyksIGludChsZXZlbCksIGludCgwKSkK Ky0gICAgICAgIHJlc3VsdCA9IHNmX2hhc2h0YWJfdG9fZGljdChodCkKKy0gICAgICAgIHZfZnJl ZSh2MSkKKy0gICAgICAgIHZfZnJlZSh2MikKKy0gICAgICAgIGhhc2hfZnJlZShodCkKKy0gICAg ICAgIHJldHVybiByZXN1bHQKKysgICAgICAgICAgICByZXR1cm4gX2xyY2FsY19kaWN0X3RvX3Nh Z2UobHJjYWxjLm11bHRfZnVzaW9uKHBhcnQxLCBwYXJ0MiwgbWF4cm93cywgbGV2ZWwpKQorKyAg ICAgICAgaWYgbWF4cm93cyBpcyBOb25lOgorKyAgICAgICAgICAgIG1heHJvd3MgPSAtMQorKyAg ICAgICAgcmV0dXJuIF9scmNhbGNfZGljdF90b19zYWdlKGxyY2FsYy5tdWx0KHBhcnQxLCBwYXJ0 MiwgbWF4cm93cykpCisgCisgICAgICMgT3RoZXJ3aXNlIGRvIHF1YW50dW0gbXVsdGlwbGljYXRp b24KKy0gICAgY2RlZiBfbGlzdCAqcWxpc3QKKy0gICAgY2RlZiBkaWN0IHRlbXAKKy0gICAgcWxp c3QgPSBxdWFudHVtX3JlZHVjZV9jKGh0LCBpbnQobWF4cm93cyksIGludChsZXZlbCkpCistICAg ICMgVGhlIGFib3ZlIGNhbGwgZnJlZXMgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggaHQKKy0g ICAgdl9mcmVlKHYxKQorLSAgICB2X2ZyZWUodjIpCistCistICAgIGNkZWYgUGFyZW50IFAgPSBx dWFudHVtLnBhcmVudCgpCistICAgIHJlc3VsdCA9IHt9CistICAgIGZvciBpIGluIHJhbmdlKHFs aXN0Lmxlbmd0aCk6CistICAgICAgICB0YWIgPSA8aGFzaHRhYio+KHFsaXN0LmFycmF5W2ldKQor LSAgICAgICAgdGVtcCA9IHNmX2hhc2h0YWJfdG9fZGljdCh0YWIpCistICAgICAgICBmb3IgayBp biB0ZW1wOgorLSAgICAgICAgICAgIHJlc3VsdFtrXSA9IHJlc3VsdC5nZXQoaywgUC56ZXJvKCkp ICsgcXVhbnR1bSoqaSAqIHRlbXBba10KKy0gICAgICAgIGhhc2hfZnJlZSh0YWIpCistICAgIGxf ZnJlZShxbGlzdCkKKy0gICAgcmV0dXJuIHJlc3VsdAorLQorLQorLWRlZiBza2V3KG91dGVyLCBp bm5lciwgbWF4cm93cz0wKToKKysgICAgcmVzdWx0ID0gbHJjYWxjLm11bHRfcXVhbnR1bShwYXJ0 MSwgcGFydDIsIG1heHJvd3MsIGxldmVsLCBkZWdyZWVzPVRydWUpCisrICAgIFAgPSBxdWFudHVt LnBhcmVudCgpCisrICAgIG91dHB1dCA9IHt9CisrICAgIGZvciBpLGsgaW4gcmVzdWx0Lml0ZW1z KCk6CisrICAgICAgICBsYSA9IF9QYXJ0aXRpb25zKGlbMF0pCisrICAgICAgICBvdXRwdXRbbGFd ID0gb3V0cHV0LmdldChsYSwgUC56ZXJvKCkpICsgayAqIHF1YW50dW0qKihpWzFdKQorKyAgICBy ZXR1cm4gb3V0cHV0CisrCisrCisrZGVmIHNrZXcob3V0ZXIsIGlubmVyLCBtYXhyb3dzPS0xKToK KyAgICAgIiIiCisgICAgIENvbXB1dGUgdGhlIFNjaHVyIGV4cGFuc2lvbiBvZiBhIHNrZXcgU2No dXIgZnVuY3Rpb24uCisgCitAQCAtNTU3LDExICszNjAsOSBAQCBkZWYgc2tldyhvdXRlciwgaW5u ZXIsIG1heHJvd3M9MCk6CisgCisgICAgIElOUFVUOgorIAorLSAgICAtIGBgb3V0ZXJgYCAtLSBh IHBhcnRpdGlvbi4KKy0KKy0gICAgLSBgYGlubmVyYGAgLS0gYSBwYXJ0aXRpb24uCistCistICAg IC0gYGBtYXhyb3dzYGAgLS0gYW4gaW50ZWdlciBvciBgYE5vbmVgYC4KKysgICAgLSBgYG91dGVy YGAgLS0gYSBwYXJ0aXRpb24KKysgICAgLSBgYGlubmVyYGAgLS0gYSBwYXJ0aXRpb24KKysgICAg LSBgYG1heHJvd3NgYCAtLSBhbiBpbnRlZ2VyIG9yIGBgTm9uZWBgCisgCisgICAgIElmIGBgbWF4 cm93c2BgIGlzIHNwZWNpZmllZCwgdGhlbiBvbmx5IHBhcnRpdGlvbnMgd2l0aCBhdCBtb3N0Cisg ICAgIHRoaXMgbnVtYmVyIG9mIHJvd3MgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuCitAQCAt NTcyLDE0ICszNzMsNyBAQCBkZWYgc2tldyhvdXRlciwgaW5uZXIsIG1heHJvd3M9MCk6CisgICAg ICAgICBzYWdlOiBzb3J0ZWQoc2tldyhbMiwxXSxbMV0pLml0ZW1zKCkpCisgICAgICAgICBbKFsx LCAxXSwgMSksIChbMl0sIDEpXQorICAgICAiIiIKKy0gICAgY2RlZiB2ZWN0b3IqIHYxID0gaXRl cmFibGVfdG9fdmVjdG9yKG91dGVyKQorLSAgICBjZGVmIHZlY3RvciogdjIgPSBpdGVyYWJsZV90 b192ZWN0b3IoaW5uZXIpCistICAgIGNkZWYgaGFzaHRhYiogaHQgPSBza2V3X2ModjEsIHYyLCBp bnQobWF4cm93cykpCistICAgIHJlc3VsdCA9IHNmX2hhc2h0YWJfdG9fZGljdChodCkKKy0gICAg dl9mcmVlKHYxKQorLSAgICB2X2ZyZWUodjIpCistICAgIGhhc2hfZnJlZShodCkKKy0gICAgcmV0 dXJuIHJlc3VsdAorKyAgICByZXR1cm4gX2xyY2FsY19kaWN0X3RvX3NhZ2UobHJjYWxjLnNrZXco b3V0ZXIsIGlubmVyLCBtYXhyb3dzKSkKKyAKKyAKKyBkZWYgY29wcm9kKHBhcnQsIGFsbD0wKToK K0BAIC01OTIsOSArMzg2LDggQEAgZGVmIGNvcHJvZChwYXJ0LCBhbGw9MCk6CisgCisgICAgIElO UFVUOgorIAorLSAgICAtIGBgcGFydGBgIC0tIGEgcGFydGl0aW9uLgorLQorLSAgICAtIGBgYWxs YGAgLS0gYW4gaW50ZWdlci4KKysgICAgLSBgYHBhcnRgYCAtLSBhIHBhcnRpdGlvbgorKyAgICAt IGBgYWxsYGAgLS0gYW4gaW50ZWdlcgorIAorICAgICBJZiBgYGFsbGBgIGlzIG5vbi16ZXJvIHRo ZW4gYWxsIHRlcm1zIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LgorICAgICBJZiBgYGFsbGBg IGlzIHplcm8sIHRoZW4gb25seSBwYWlycyBvZiBwYXJ0aXRpb25zIGBgKHBhcnQxLAorQEAgLTYw OSwxMiArNDAyLDkgQEAgZGVmIGNvcHJvZChwYXJ0LCBhbGw9MCk6CisgICAgICAgICBzYWdlOiBz b3J0ZWQoY29wcm9kKFsyLDFdKS5pdGVtcygpKQorICAgICAgICAgWygoWzEsIDFdLCBbMV0pLCAx KSwgKChbMl0sIFsxXSksIDEpLCAoKFsyLCAxXSwgW10pLCAxKV0KKyAgICAgIiIiCistICAgIGNk ZWYgdmVjdG9yKiB2MSA9IGl0ZXJhYmxlX3RvX3ZlY3RvcihwYXJ0KQorLSAgICBjZGVmIGhhc2h0 YWIqIGh0ID0gY29wcm9kX2ModjEsIGludChhbGwpKQorLSAgICByZXN1bHQgPSB2cF9oYXNodGFi X3RvX2RpY3QoaHQpCistICAgIHZfZnJlZSh2MSkKKy0gICAgaGFzaF9mcmVlKGh0KQorLSAgICBy ZXR1cm4gcmVzdWx0CisrICAgIHJlc3VsdCA9IGxyY2FsYy5jb3Byb2QocGFydCwgYWxsKQorKyAg ICByZXR1cm4ge3R1cGxlKFtfUGFydGl0aW9ucyhtdSkgZm9yIG11IGluIGxhXSk6IEludGVnZXIo aykKKysgICAgICAgICAgICBmb3IgbGEsIGsgaW4gcmVzdWx0Lml0ZW1zKCl9CisgCisgCisgZGVm IG11bHRfc2NodWJlcnQodzEsIHcyLCByYW5rPTApOgorQEAgLTYyNywxMSArNDE3LDkgQEAgZGVm IG11bHRfc2NodWJlcnQodzEsIHcyLCByYW5rPTApOgorIAorICAgICBJTlBVVDoKKyAKKy0gICAg LSBgYHcxYGAgLS0gYSBwZXJtdXRhdGlvbi4KKy0KKy0gICAgLSBgYHcyYGAgLS0gYSBwZXJtdXRh dGlvbi4KKy0KKy0gICAgLSBgYHJhbmtgYCAtLSBhbiBpbnRlZ2VyLgorKyAgICAtIGBgdzFgYCAt LSBhIHBlcm11dGF0aW9uCisrICAgIC0gYGB3MmBgIC0tIGEgcGVybXV0YXRpb24KKysgICAgLSBg YHJhbmtgYCAtLSBhbiBpbnRlZ2VyCisgCisgICAgIElmIGBgcmFua2BgIGlzIG5vbi16ZXJvLCB0 aGVuIG9ubHkgcGVybXV0YXRpb25zIGZyb20gdGhlIHN5bW1ldHJpYworICAgICBncm91cCBgUyhc bWF0aHJte3Jhbmt9KWAgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuCitAQCAtNjQ2LDMzICs0 MzQsMjQgQEAgZGVmIG11bHRfc2NodWJlcnQodzEsIHcyLCByYW5rPTApOgorICAgICAgICAgIChb NiwgNCwgMywgMSwgMiwgNV0sIDEpLCAoWzYsIDUsIDIsIDEsIDMsIDRdLCAxKSwKKyAgICAgICAg ICAoWzcsIDMsIDQsIDEsIDIsIDUsIDZdLCAxKSwgKFs3LCA0LCAyLCAxLCAzLCA1LCA2XSwgMSld CisgICAgICIiIgorLSAgICBjZGVmIHZlY3RvciogdjEgPSBpdGVyYWJsZV90b192ZWN0b3IodzEp CistICAgIGNkZWYgdmVjdG9yKiB2MiA9IGl0ZXJhYmxlX3RvX3ZlY3Rvcih3MikKKy0gICAgY2Rl ZiBoYXNodGFiKiBodCA9IG11bHRfc2NodWJlcnRfYyh2MSwgdjIsIGludChyYW5rKSkKKy0gICAg cmVzdWx0ID0gc2NodWJlcnRfaGFzaHRhYl90b19kaWN0KGh0KQorLSAgICB2X2ZyZWUodjEpCist ICAgIHZfZnJlZSh2MikKKy0gICAgaGFzaF9mcmVlKGh0KQorLSAgICByZXR1cm4gcmVzdWx0Cisr ICAgIHJlc3VsdCA9IGxyY2FsYy5zY2h1Ym11bHQodzEsIHcyLCByYW5rKQorKyAgICByZXR1cm4g e1Blcm11dGF0aW9uKGxpc3QobGEpKTpJbnRlZ2VyKGspIGZvciBsYSxrIGluIHJlc3VsdC5pdGVt cygpfQorIAorIAorLWRlZiBscnNrZXcob3V0ZXIsIGlubmVyLCB3ZWlnaHQ9Tm9uZSwgbWF4cm93 cz0wKToKKytkZWYgbHJza2V3KG91dGVyLCBpbm5lciwgd2VpZ2h0PU5vbmUsIG1heHJvd3M9LTEp OgorICAgICByIiIiCisgICAgIEl0ZXJhdGUgb3ZlciB0aGUgc2tldyBMUiB0YWJsZWF1eCBvZiBz aGFwZSBgYG91dGVyIC8gaW5uZXJgYC4KKyAKKyAgICAgSU5QVVQ6CisgCisgICAgIC0gYGBvdXRl cmBgIC0tIGEgcGFydGl0aW9uCistCisgICAgIC0gYGBpbm5lcmBgIC0tIGEgcGFydGl0aW9uCist CisgICAgIC0gYGB3ZWlnaHRgYCAtLSBhIHBhcnRpdGlvbiAob3B0aW9uYWwpCistCistICAgIC0g YGBtYXhyb3dzYGAgLS0gYW4gaW50ZWdlciAob3B0aW9uYWwpCisrICAgIC0gYGBtYXhyb3dzYGAg LS0gYSBwb3NpdGl2ZSBpbnRlZ2VyIChvcHRpb25hbCkKKyAKKyAgICAgT1VUUFVUOiBhbiBpdGVy YXRvciBvZiA6Y2xhc3M6YFNrZXdUYWJsZWF1YAorIAorLSAgICBTcGVjaWZ5aW5nIGBgbWF4cm93 c2BgIHJlc3RyaWN0cyB0aGUgYWxwaGFiZXQgdG8gYFx7MSwyLFxsZG90cyxtYXhyb3dzXH1gLgor KyAgICBTcGVjaWZ5aW5nIGBgbWF4cm93c2BgID0gYE1gIHJlc3RyaWN0cyB0aGUgYWxwaGFiZXQg dG8gYFx7MSwyLFxsZG90cyxNXH1gLgorIAorICAgICBTcGVjaWZ5aW5nIGBgd2VpZ2h0YGAgcmV0 dXJucyBvbmx5IHRob3NlIHRhYmxlYXV4IG9mIGdpdmVuIGNvbnRlbnQvd2VpZ2h0LgorIAorQEAg LTcwMiwyMiArNDgxLDQwIEBAIGRlZiBscnNrZXcob3V0ZXIsIGlubmVyLCB3ZWlnaHQ9Tm9uZSwg bWF4cm93cz0wKToKKyAKKyAgICAgICAgIHNhZ2U6IGxpc3QobHJza2V3KFszLDIsMV0sWzJdLCB3 ZWlnaHQ9WzMsMV0pKQorICAgICAgICAgW1tbTm9uZSwgTm9uZSwgMV0sIFsxLCAxXSwgWzJdXV0K KysKKysgICAgVEVTVFM6OgorKworKyAgICAgICAgc2FnZTogZnJvbSBzYWdlLmxpYnMubHJjYWxj LmxyY2FsYyBpbXBvcnQgbHJza2V3CisrICAgICAgICBzYWdlOiBsaXN0KGxyc2tldyhbMywyLDFd LFsyXSwgd2VpZ2h0PVtdKSkKKysgICAgICAgIFtdCisrICAgICAgICBzYWdlOiBsaXN0KGxyc2tl dyhbMywyLDFdLFsyXSwgd2VpZ2h0PVswXSkpCisrICAgICAgICBbXQorKyAgICAgICAgc2FnZTog bGlzdChscnNrZXcoWzMsMiwxXSxbMywyLDFdLCB3ZWlnaHQ9W10pKQorKyAgICAgICAgW1tbTm9u ZSwgTm9uZSwgTm9uZV0sIFtOb25lLCBOb25lXSwgW05vbmVdXV0KKysgICAgICAgIHNhZ2U6IGxp c3QobHJza2V3KFszLDIsMV0sWzMsMiwxXSwgd2VpZ2h0PVswXSkpCisrICAgICAgICBbW1tOb25l LCBOb25lLCBOb25lXSwgW05vbmUsIE5vbmVdLCBbTm9uZV1dXQorKyAgICAgICAgc2FnZTogbGlz dChscnNrZXcoWzMsMiwxXSxbMywyLDFdLCB3ZWlnaHQ9WzFdKSkKKysgICAgICAgIFtdCisgICAg ICIiIgorLSAgICBjZGVmIHZlY3RvciogbyA9IGl0ZXJhYmxlX3RvX3ZlY3RvcihvdXRlcikKKy0g ICAgY2RlZiB2ZWN0b3IqIGkgPSBpdGVyYWJsZV90b192ZWN0b3IoaW5uZXIgKyBbMF0qKGxlbihv dXRlcikgLSBsZW4oaW5uZXIpKSkKKy0gICAgY2RlZiBza2V3dGFiKiBzdCA9IHN0X25ldyhvLCBp LCBOVUxMLCBpbnQobWF4cm93cykpCisrICAgIGl0ZXJhdG9yID0gbHJjYWxjLmxyX2l0ZXJhdG9y KG91dGVyLCBpbm5lciwgbWF4cm93cykKKysgICAgc2hhcGUgPSBTa2V3UGFydGl0aW9uKFtvdXRl ciwgaW5uZXJdKQorIAorICAgICBpZiB3ZWlnaHQgaXMgTm9uZToKKy0gICAgICAgIHlpZWxkIHNr ZXd0YWJfdG9fU2tld1RhYmxlYXUoc3QpCistICAgICAgICB3aGlsZSBzdF9uZXh0KHN0KToKKy0g ICAgICAgICAgICB5aWVsZCBza2V3dGFiX3RvX1NrZXdUYWJsZWF1KHN0KQorKyAgICAgICAgU1Qg PSBTZW1pc3RhbmRhcmRTa2V3VGFibGVhdXgoc2hhcGUpCisrICAgICAgICBmb3IgZGF0YSBpbiBp dGVyYXRvcjoKKysgICAgICAgICAgICB5aWVsZCBTVC5mcm9tX3NoYXBlX2FuZF93b3JkKHNoYXBl LCBbaSsxIGZvciBpIGluIGRhdGFdKQorICAgICBlbHNlOgorICAgICAgICAgd3QgPSBfUGFydGl0 aW9ucyh3ZWlnaHQpCistICAgICAgICByID0gc2tld3RhYl90b19Ta2V3VGFibGVhdShzdCkKKy0g ICAgICAgIGlmIHIud2VpZ2h0KCkgPT0gd3Q6CistICAgICAgICAgICAgeWllbGQgcgorLSAgICAg ICAgd2hpbGUgc3RfbmV4dChzdCk6CistICAgICAgICAgICAgciA9IHNrZXd0YWJfdG9fU2tld1Rh YmxlYXUoc3QpCistICAgICAgICAgICAgaWYgci53ZWlnaHQoKSA9PSB3dDoKKy0gICAgICAgICAg ICAgICAgeWllbGQgcgorLSAgICBzdF9mcmVlKHN0KQorKyAgICAgICAgU1QgPSBTZW1pc3RhbmRh cmRTa2V3VGFibGVhdXgoc2hhcGUsIHd0KQorKyAgICAgICAgbSA9IGxlbih3dCkKKysgICAgICAg IGZvciBkYXRhIGluIGl0ZXJhdG9yOgorKyAgICAgICAgICAgIHcgPSBbMF0gKiBtCisrICAgICAg ICAgICAgZm9yIGogaW4gZGF0YToKKysgICAgICAgICAgICAgICAgaWYgaiA+PSBtOgorKyAgICAg ICAgICAgICAgICAgICAgIyBXZSBrbm93IHRoZXkgYXJlIG5vdCBlcXVhbCwgc28gbWFrZSB0aGUg Y2hlY2sgYmVsb3cgcXVpY2sKKysgICAgICAgICAgICAgICAgICAgIHcgPSBOb25lCisrICAgICAg ICAgICAgICAgICAgICBicmVhaworKyAgICAgICAgICAgICAgICB3W2pdICs9IDEKKysgICAgICAg ICAgICBpZiB3ID09IHd0OgorKyAgICAgICAgICAgICAgICB5aWVsZCBTVC5mcm9tX3NoYXBlX2Fu ZF93b3JkKHNoYXBlLCBbaSsxIGZvciBpIGluIGRhdGFdKQorKwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzMxNzAtZml4X2RvY3Rlc3RfaXB5dGhvbl84LnBhdGNo IGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzMxNzAtZml4X2RvY3Rlc3RfaXB5dGhv bl84LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMWUyZTBi YTkwNzQyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMt MzMxNzAtZml4X2RvY3Rlc3RfaXB5dGhvbl84LnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0FzIHBy b2R1Y2VkIGJ5IGBnaXQgZGlmZiBhOTBhMzE0NnteXix9YAorCitkaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvcmVwbC9pbnRlcmZhY2VfbWFnaWMucHkgYi9zcmMvc2FnZS9yZXBsL2ludGVyZmFjZV9tYWdp Yy5weQoraW5kZXggOGE0NTViNjliMGUuLmE5M2UxYzllMDRjIDEwMDY0NAorLS0tIGEvc3JjL3Nh Z2UvcmVwbC9pbnRlcmZhY2VfbWFnaWMucHkKKysrKyBiL3NyYy9zYWdlL3JlcGwvaW50ZXJmYWNl X21hZ2ljLnB5CitAQCAtMjYwLDcgKzI2MCw3IEBAIGNsYXNzIEludGVyZmFjZU1hZ2ljKG9iamVj dCk6CisgICAgICAgICAgICAgMgorICAgICAgICAgICAgIDEyMAorICAgICAgICAgICAgIHNhZ2U6 IHNoZWxsLnJ1bl9jZWxsKCclJWdhcCBmb29cbjErMTtcbicpCistICAgICAgICAgICAgLi4uRmls ZSAiPHN0cmluZz4iLCBsaW5lIHVua25vd24KKysgICAgICAgICAgICAuLi5GaWxlLi4uPHN0cmlu Zz4uLi4KKyAgICAgICAgICAgICBTeW50YXhFcnJvcjogSW50ZXJmYWNlIG1hZ2ljcyBoYXZlIG5v IG9wdGlvbnMsIGdvdCAiZm9vIgorICAgICAgICAgICAgIDxCTEFOS0xJTkU+CisgICAgICAgICAg ICAgc2FnZTogc2hlbGwucnVuX2NlbGwoJyUlZ2FwPycpCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uv cmVwbC9pbnRlcnByZXRlci5weSBiL3NyYy9zYWdlL3JlcGwvaW50ZXJwcmV0ZXIucHkKK2luZGV4 IDc0NjhhZmU1MmQ3Li4wNmM0N2I3Mzc0YSAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL3JlcGwvaW50 ZXJwcmV0ZXIucHkKKysrKyBiL3NyYy9zYWdlL3JlcGwvaW50ZXJwcmV0ZXIucHkKK0BAIC03OCw5 ICs3OCw5IEBAIENoZWNrIHRoYXQgQ3l0aG9uIHNvdXJjZSBjb2RlIGFwcGVhcnMgaW4gdHJhY2Vi YWNrczo6CisgICAgIGR1bW15IGxpbmUKKyAgICAgLi4uCisgICAgIFplcm9EaXZpc2lvbkVycm9y Li4uVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpCistICAgIDxpcHl0aG9uLWlucHV0 LS4uLj4gaW4gPG1vZHVsZT4uLi4KKysgICAgLi4uaW4gPG1vZHVsZT4uLi4KKyAgICAgLS0tLT4g MSBJbnRlZ2VyKDEpL0ludGVnZXIoMCkKKy0gICAgLi4uL3NhZ2UvcmluZ3MvaW50ZWdlci5weXgg aW4gc2FnZS5yaW5ncy5pbnRlZ2VyLkludGVnZXIuLi5kaXYuLi4KKysgICAgLi4uL3NhZ2Uvcmlu Z3MvaW50ZWdlci5weXguLi4gaW4gc2FnZS5yaW5ncy5pbnRlZ2VyLkludGVnZXIuLi5kaXYuLi4K KyAgICAgLi4uCisgICAgIC0+IC4uLiAgICAgICAgICAgICAgICAgIHJhaXNlIFplcm9EaXZpc2lv bkVycm9yKCJyYXRpb25hbCBkaXZpc2lvbiBieSB6ZXJvIikKKyAgICAgICAgLi4uLjogICAgICAg ICAgICB4ID0gPFJhdGlvbmFsPiBSYXRpb25hbC5fX25ld19fKFJhdGlvbmFsKQorQEAgLTQyMyw3 ICs0MjMsNyBAQCBkZWYgU2FnZVByZXBhcnNlVHJhbnNmb3JtZXIobGluZXMpOgorICAgICAgICAg c2FnZTogZnJvbSBzYWdlLnJlcGwuaW50ZXJwcmV0ZXIgaW1wb3J0IGdldF90ZXN0X3NoZWxsCisg ICAgICAgICBzYWdlOiBzaGVsbCA9IGdldF90ZXN0X3NoZWxsKCkKKyAgICAgICAgIHNhZ2U6IHNo ZWxsLnJ1bl9jZWxsKGJhZF9zeW50YXgpCistICAgICAgICAgIEZpbGUgIjxzdHJpbmc+IiwgbGlu ZSB1bmtub3duCisrICAgICAgICAgIEZpbGUuLi48c3RyaW5nPi4uLgorICAgICAgICAgU3ludGF4 RXJyb3I6IE1pc21hdGNoZWQgJ10nCisgICAgICAgICA8QkxBTktMSU5FPgorICAgICAgICAgc2Fn ZTogc2hlbGwucXVpdCgpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJh Yy0zMzMzNi1maXhfZG9jdGVzdF9zY2lweV8xLjgucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3Bh dGNoZXMvdHJhYy0zMzMzNi1maXhfZG9jdGVzdF9zY2lweV8xLjgucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xOWI2OTcwMGE0ZjYKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzMzNi1maXhfZG9jdGVzdF9zY2lw eV8xLjgucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorY29tbWl0IDljODIzNWU0NGZmYjUwOWVmYThh M2NhNmNkYjU1MTU0ZTJiNTA2NmQKK0F1dGhvcjogQW50b25pbyBSb2phcyA8YXJvamFzQGFyY2hs aW51eC5vcmc+CitEYXRlOiAgIFN1biBGZWIgMTMgMTk6NTM6MTQgMjAyMiArMDEwMAorCisgICAg Rml4IGRlcHJlY2F0aW9uIHdhcm5pbmcgd2l0aCBzY2lweSAxLjgKKworZGlmZiAtLWdpdCBhL3Ny Yy9zYWdlL3Rlc3RzL2Jvb2tzL2NvbXB1dGF0aW9uYWwtbWF0aGVtYXRpY3Mtd2l0aC1zYWdlbWF0 aC9saW5zb2x2ZV9kb2N0ZXN0LnB5IGIvc3JjL3NhZ2UvdGVzdHMvYm9va3MvY29tcHV0YXRpb25h bC1tYXRoZW1hdGljcy13aXRoLXNhZ2VtYXRoL2xpbnNvbHZlX2RvY3Rlc3QucHkKK2luZGV4IGU5 YjYwZGFlNWVjLi43OTMyMTY3YjQxZCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL3Rlc3RzL2Jvb2tz L2NvbXB1dGF0aW9uYWwtbWF0aGVtYXRpY3Mtd2l0aC1zYWdlbWF0aC9saW5zb2x2ZV9kb2N0ZXN0 LnB5CisrKysgYi9zcmMvc2FnZS90ZXN0cy9ib29rcy9jb21wdXRhdGlvbmFsLW1hdGhlbWF0aWNz LXdpdGgtc2FnZW1hdGgvbGluc29sdmVfZG9jdGVzdC5weQorQEAgLTM1Niw3ICszNTYsNyBAQCBT YWdlIGV4YW1wbGUgaW4gLi9saW5zb2x2ZS50ZXgsIGxpbmUgMjIzMDo6CisgCisgU2FnZSBleGFt cGxlIGluIC4vbGluc29sdmUudGV4LCBsaW5lIDI2MDk6OgorIAorLSAgc2FnZTogZnJvbSBzY2lw eS5zcGFyc2UubGluYWxnLmRzb2x2ZSBpbXBvcnQgKgorKyAgc2FnZTogZnJvbSBzY2lweS5zcGFy c2UubGluYWxnIGltcG9ydCBmYWN0b3JpemVkCisgICBzYWdlOiBmcm9tIHNjaXB5LnNwYXJzZSBp bXBvcnQgbGlsX21hdHJpeAorICAgc2FnZTogZnJvbSBudW1weSBpbXBvcnQgYXJyYXkKKyAgIHNh Z2U6IG4gPSAyMDAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvdGVtcGxhdGUgYi9zcmNw a2dzL3NhZ2VtYXRoL3RlbXBsYXRlCmluZGV4IDcxMGE5ZTgwYzA1Mi4uMDJkNDMzM2ZhNTQ1IDEw MDY0NAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc2FnZW1h dGgvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdzYWdlbWF0 aCcKIHBrZ25hbWU9c2FnZW1hdGgKIHZlcnNpb249OS41Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiB3cmtzcmM9c2FnZS0kdmVyc2lvbgogYnVpbGRfd3Jrc3JjPXBrZ3Mvc2FnZW1hdGgtc3RhbmRh cmQKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCkBAIC0xMiw3ICsxMiw3IEBAIGhvc3RtYWtl ZGVwZW5kcz0ibTQgcGtnLWNvbmZpZyBweXRob24zLUN5dGhvbiBweXRob24zLUppbmphMiBweXRo b24zLXBrZ2NvbmZpZwogbWFrZWRlcGVuZHM9ImFyYi1kZXZlbCBib29zdC1kZXZlbCBicmlhbC1k ZXZlbCBjbGlxdWVyLWRldmVsIGVjbCBlY2xpYi1kZXZlbAogIGVjbS1kZXZlbCBmZmxhcy1mZnBh Y2sgZmxpbnRsaWItZGV2ZWwgZ2FwLWRldmVsIGdkLWRldmVsIGdpYWMtZGV2ZWwgZ2xway1kZXZl bAogIGdzbC1kZXZlbCBpbWwtZGV2ZWwgbGNhbGMtZGV2ZWwgbGliYnJhaWRpbmctZGV2ZWwgbGli aG9tZmx5LWRldmVsIGxpYm1wYy1kZXZlbAotIGxpYnBuZy1kZXZlbCBsaW5ib3gtZGV2ZWwgbHJj YWxjLWRldmVsIG00cmktZGV2ZWwgbTRyaWUtZGV2ZWwgbXBmaS1kZXZlbAorIGxpYnBuZy1kZXZl bCBsaW5ib3gtZGV2ZWwgbTRyaS1kZXZlbCBtNHJpZS1kZXZlbCBtcGZpLWRldmVsCiAgbXBmci1k ZXZlbCBudGwtZGV2ZWwgb3BlbmJsYXMtZGV2ZWwgcGFyaS1kZXZlbCBwbGFuYXJpdHktZGV2ZWwg cHl0aG9uMy1jeXBhcmkyCiAgcHl0aG9uMy1jeXNpZ25hbHMgcHl0aG9uMy1kZXZlbCBweXRob24z LWdtcHkyIHB5dGhvbjMtbWVtb3J5X2FsbG9jYXRvcgogIHB5dGhvbjMtbnVtcHkgcmFua3dpZHRo LWRldmVsIHNpbmd1bGFyIHN5bW1ldHJpY2EtZGV2ZWwgem5fcG9seSIKQEAgLTIwLDcgKzIwLDcg QEAgZGVwZW5kcz0iRmxpbnRRUyBlY2xpYi1kZXZlbCBmZmxhcy1mZnBhY2sgZmxpbnRsaWItZGV2 ZWwgZ2NjLWZvcnRyYW4gZ2QtZGV2ZWwKICBnZmFuIGdpYWMgZ3NsLWRldmVsIGd6aXAgbGlicG5n LWRldmVsIGxpbmJveC1kZXZlbCBtNHJpLWRldmVsIG1heGltYS1lY2wKICBtcGZyLWRldmVsIG5h dXR5IG50bC1kZXZlbCBwYWxwIHBhcmktZGV2ZWwgcGFyaS1lbGxkYXRhLXNtYWxsIHBhcmktZ2Fs ZGF0YQogIHBhcmktZ2FscG9sLXNtYWxsIHBhcmktc2VhZGF0YS1zbWFsbCBwa2ctY29uZmlnIHB5 dGhvbjMtQ3l0aG9uIHB5dGhvbjMtY3lwYXJpMgotIHB5dGhvbjMtY3lzaWduYWxzIHB5dGhvbjMt ZGV2ZWwgcHl0aG9uMy1mcHlsbGwgcHl0aG9uMy1pcHl0aG9uCisgcHl0aG9uMy1jeXNpZ25hbHMg cHl0aG9uMy1kZXZlbCBweXRob24zLWZweWxsbCBweXRob24zLWlweXRob24gcHl0aG9uMy1scmNh bGMKICBweXRob24zLWlweXRob25faXB5a2VybmVsIHB5dGhvbjMtanVweXRlcl9pcHl3aWRnZXRz IHB5dGhvbjMtbWF0cGxvdGxpYgogIHB5dGhvbjMtbWVtb3J5X2FsbG9jYXRvciBweXRob24zLW5l dHdvcmt4IHB5dGhvbjMtcGlwIHB5dGhvbjMtcGtnY29uZmlnCiAgcHl0aG9uMy1wcGxweSBweXRo b24zLXByaW1lY291bnRweSBweXRob24zLXJlcXVlc3RzIHB5dGhvbjMtc2NpcHkK --===============4680019436939174006==--