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 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1908 invoked from network); 22 Mar 2023 22:39:51 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 22 Mar 2023 22:39:51 -0000 Content-Type: multipart/mixed; boundary="===============2429866305461850574==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_draft=3A_ffmpeg5_split?= To: ml@inbox.vuxu.org From: zlice Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 22 Mar 2023 23:39:51 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============2429866305461850574== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHpsaWNlIGFnYWluc3QgbWFzdGVyIG9uIHRo ZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS96bGljZS92b2lk LXBhY2thZ2VzIGZmbXBlZzUtc3BsaXQKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzQyOTM2CgpkcmFmdDogZmZtcGVnNSBzcGxpdApbY2kgc2tpcF0NCg0K IyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQoNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhp cyBQUjogKipOTyoqDQoNCkkgaGF2ZSBjb25mbGljdGluZyBjaGFuZ2VzIGZyb20gW2ludGVsIHBh Y2thZ2VzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwv NDExMzIpIGFuZCBkb24ndCB3YW50IHRvIG1lc3Mgd2l0aCBteSBzeXN0ZW0uIElmIGl0IG1ha2Vz IHNlbnNlIEknbGwgbW92ZSB0aGVzZSBjaGFuZ2VzIGhlcmUgbGlrZSBJIG9yaWdpbmFsbHkgaW50 ZW5kZWQuIGZmbXBlZzUgbWFrZXMgSW50ZWwgdmFhcGkgZWFzaWVyIGFuZCBvbmx5IHJlbHkgb24g b25lVlBMIGlpcmMuDQoNCkkgZG8gbm90IHVzZSA4MCUrIG9mIHRoZXNlIHBhY2thZ2VzLiBJIG1h eSBiZSBhYmxlIHRvIHJ1biBCbGVuZGVyLCBhbmQgSSB1c2Ugc2hvdGN1dC4NCg0KDQojIyMjIE5l dyBwYWNrYWdlDQoNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3BhY2thZ2Ug cmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2Vz L2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6ICoqWUVT KioNCg0KDQoNCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KDQotIEkgYnVpbHQgdGhpcyBQUiBs b2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAqKng4Nl82NCoqDQoNCg0KIyMjIyBE aXNjdXNzaW9uDQoNCkNvbnRpbnVhdGlvbiBvZiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMzYzMTUgLSB0aHggdGliZXF1YWRvcmlhbiA6KQ0KDQpJdCB3 YXMgc3VnZ2VzdGVkIHRvIG1ha2UgYGZmbXBlZ2AgdmVyc2lvbiA1IGFuZCAnY29weScgKGNyZWF0 ZSBhIG5ldz8pIGBmZm1wZWc0YCBwYWNrYWdlLCBhbmQgdGhhdCBzZWVtcyB0byB3b3JrIHdlbGwu DQoNCkFzIHN0YXRlZCwgSSBoYXZlbid0IGFuZCBwcm9iYWJseSB3b24ndCB0ZXN0IG1vc3Qgb2Yg dGhlc2UgcGFja2FnZXMsIGhvcGluZyBmb3Igb3RoZXJzIHRvIHZvaWNlIGluIG9uIHdoYXQncyB3 b3JraW5nLiANCg0KQSBmZXcgbW9udGhzIGJhY2sgKGFuZCBub3cpIGFmYWljdCBldmVyeXRoaW5n IGhhcyBiZWVuIGNvbXBpbGluZyB3aXRoIGZmbXBlZzUgZXhjZXB0IGZvciB0aGUgZmV3IHByb2Js ZW0gcGFja2FnZXMgc3RpbGwgdXNpbmcgZmZtcGVnNCAoYmVsb3cpLiBDYW4gYWRkIHRvIHRoZSBm Zm1wZWc0IGxpc3QgYXMgYSBpbmNvbXBhdGlibGUgcGFja2FnZSBpcyBmb3VuZC4NCg0KIyMjIyMg Q29tbWl0IG5hbWluZyAvIG1pc2MNCg0KYGZmcG1lZzRgIGlzbid0ICJuZXciLCBub3Qgc3VyZSB3 aGF0IHRoZSBjb21taXQgbWVzc2FnZXMgc2hvdWxkIGJlIHJlYWxseSBmb3IgdGhlIDQgYW5kIDUg c3BsaXQuDQoNCk5vdCBzdXJlIGhvdyBjb21taXRzIHNob3VsZCBiZSBzZXBhcmF0ZWQuIGZmbXBl ZzQvNSBjb3VsZCBiZSBzcGxpdCBhbmQgYWxsIHRoZSByZXYgYnVtcHMgaW5jbHVkZWQgKG90aGVy d2lzZSBpdCdzIG92ZXIgMTAwIGNvbW1pdHMpLiBvcGVuY3Ygd2FzIHVwZGF0ZWQgdG8gNC43LjAg Zm9yIGZmbXBlZzUgc28gSSBmaWd1cmVkIHRoYXQgc2hvdWxkIGJlIGEgc2VwYXJhdGUgY29tbWl0 Pw0KDQpJIHdvdWxkbid0IG1pbmQgbW92aW5nIHRoZSBbaW50ZWwgcGFja2FnZXNdKGh0dHBzOi8v Z2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MTEzMikgaW50byBoZXJl IHVuZGVyIGFub3RoZXIgY29tbWl0LiBUaGF0IGp1c3QgZ290IGEgcG90ZW50aWFsIGZpeCB0aGF0 IG1heSBhbGxvdyBtZXJnaW5nIGJ1dCBJIGltYWdpbmUgbW92aW5nIHRvIGZmbXBlZzUgd2lsbCBj aGFuZ2UgYW5kIGV2ZW4gcmVtb3ZlIHNvbWUgb2YgdGhvc2UgcGFja2FnZXMuIChJIHdvbid0IHJl YWxseSB0ZXN0IHRoZXNlIGNoYW5nZXMgd2l0aG91dCBJbnRlbCB2YWFwaSBlaXRoZXIgd2F5LikN Cg0KTWFpbnRhaW5lciBmb3IgcHJldmlvdXMgZmZtcGVnKDQpIHdhcyBvcnBoYW5lZCwgSSBjYW4g cHV0IG15IG5hbWUgaW4gdGhlcmUgaWYgdGhhdCBtYXR0ZXJzLCB0aG91Z2ggSSBkb24ndCBleGFj dGx5IHNlZSBteXNlbGYga2VlcGluZyB1cCBvbiBmZm1wZWcuDQoNCg0KIyMjIyMgc3RpbGwgZmZt cGVnNA0KDQotIGB2bGNgICh2bGM0IHdpbGwgc3VwcG9ydCBmZm1wZWc1LCB0aGVyZSdzIGEgcGF0 Y2ggdG8gYnVpbGQgMy54IHdpdGggZmZtcGVnNSBidXQgaXQgd2lsbCBsYWNrIHZhYXBpKQ0KLSBg b3NnYCAoT3BlblNjZW5lR3JhcGggcGx1cyBgeGluZS1saWJgKQ0KLSBgeXRtZGxgID8gbm90IHN1 cmUgYnV0IGl0IHVzZXMgYHB5dGhvbjMtZmZtcGVnLXB5dGhvbmAgd2hpY2ggYmVpbmcgNi04eXIg b2xkIEkgaW1hZ2luZSBpcyBmZm1wZWc0DQoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MjkzNi5wYXRjaCBpcyBhdHRh Y2hlZA== --===============2429866305461850574== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-ffmpeg5-split-42936.patch" RnJvbSBjNWE4YzA5NmUyNzU0ZTUxODRjODNhZmViMjU2NjA5NjNjMzE0OWI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBUdWUs IDIxIE1hciAyMDIzIDE4OjU4OjMxIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxLzRdIGZmbXBlZ19z cGxpdAoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMjYgKy0KIHNyY3BrZ3MvZmZtcGVnL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICB8 IDE3NiArKysrKy0tLS0KIHNyY3BrZ3MvZmZtcGVnNC1kZXZlbCAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMSArCiBzcmNwa2dzL2ZmbXBlZzQvZmZtcGVnNCAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDEgKwogLi4uL3tmZm1wZWcgPT4gZmZtcGVnNH0vZmlsZXMvYWx0aXZlYy5wYXRjaCAg IHwgICAwCiAuLi4vcGF0Y2hlcy9hcm12NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaCAgICAgfCAg IDAKIC4uLi93b3JrYXJvdW5kLW1lc2EtcmVhZGVvbi12YWFwaS1idWcucGF0Y2ggICB8ICAgMAog c3JjcGtncy9mZm1wZWc0L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgIHwgMjU0ICsrKysr KysrKysrKysKIC4uLkZpeC1pbmZpbml0ZS1sb29wLWluLU1lbnUtY3ljbGVpdGVtcy5wYXRjaCB8 ICA2MCArKysKIC4uLjZjNGQzMGY1YjI4OWM0MjljNWNhODhkODAwMjAwZGI0ZmM0Zi5wYXRjaCB8 ICAyMiAtLQogLi4uL01pbk92ZXJsYXBQbGFjZW1lbnQuY2NfaW1wcm92ZS5wYXRjaCAgICAgIHwg IDI5ICsrCiBzcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy9jZW50ZXIucGF0Y2ggICAgICAgICAgfCAz MDcgKysrKysrKysrKysrKysrCiBzcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy9jb250YWluZXJfbG9j a3MucGF0Y2ggfCAzMjUgKysrKysrKysrKysrKysrKwogLi4uL3BhdGNoZXMvY29udGFpbmVyX3Jl bGF0aXZlX3JlbGF0aXZlLnBhdGNoIHwgIDE1ICsKIHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL2Zs dXhfaW1wcm92ZS5wYXRjaCAgICB8IDIwNSArKysrKysrKysrCiBzcmNwa2dzL2ZsdXhib3gvcGF0 Y2hlcy9mbHV4X292ZXJzaXplLnBhdGNoICAgfCAgMjQgKysKIC4uLi9mbHV4Ym94L3BhdGNoZXMv Zm9jdXNfY2xvc2VfbWVudS5wYXRjaCAgICB8ICAxNyArCiBzcmNwa2dzL2ZsdXhib3gvcGF0Y2hl cy9zbGl0X3JhaXNlLnBhdGNoICAgICAgfCAgMTYgKwogc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMv dG9vbGJhcl9yZWRvLnBhdGNoICAgIHwgMjI4ICsrKysrKysrKysrKwogLi4uL2ZsdXhib3gvcGF0 Y2hlcy90cmVtb3JfZ3JhYm9pZF9oZWxsLnBhdGNoIHwgMzUwICsrKysrKysrKysrKysrKysrKwog Li4uL3BhdGNoZXMvdW5jbHV0dGVyX2ZpeF93b3Jrc3BhY2VjbWQucGF0Y2ggIHwgIDY1ICsrKysK IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3pvcl9sb29wcy5wYXRjaCAgICAgICB8ICA4NyArKysr Kwogc3JjcGtncy9mbHV4Ym94L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgIHwgIDQ1ICsr LQogc3JjcGtncy9saWJhdmNvZGVjNCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsK IHNyY3BrZ3MvbGliYXZkZXZpY2U0ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBz cmNwa2dzL2xpYmF2ZmlsdGVyNCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3Jj cGtncy9saWJhdmZvcm1hdDQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3Br Z3MvbGliYXZyZXNhbXBsZSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtn cy9saWJhdnJlc2FtcGxlNCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3Mv bGliYXZ1dGlsNCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL2xp YnBvc3Rwcm9jNCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJz d3Jlc2FtcGxlNCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvbGlic3dz Y2FsZTQgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL21lc2EvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzUgKy0KIDM0IGZpbGVzIGNoYW5nZWQs IDIxNjcgaW5zZXJ0aW9ucygrKSwgMTMyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTIwMDAw IHNyY3BrZ3MvZmZtcGVnNC1kZXZlbAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvZmZtcGVn NC9mZm1wZWc0CiByZW5hbWUgc3JjcGtncy97ZmZtcGVnID0+IGZmbXBlZzR9L2ZpbGVzL2FsdGl2 ZWMucGF0Y2ggKDEwMCUpCiByZW5hbWUgc3JjcGtncy97ZmZtcGVnID0+IGZmbXBlZzR9L3BhdGNo ZXMvYXJtdjV0ZWwtZmxvYXRpbmctcG9pbnQucGF0Y2ggKDEwMCUpCiByZW5hbWUgc3JjcGtncy97 ZmZtcGVnID0+IGZmbXBlZzR9L3BhdGNoZXMvd29ya2Fyb3VuZC1tZXNhLXJlYWRlb24tdmFhcGkt YnVnLnBhdGNoICgxMDAlKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmZtcGVnNC90ZW1w bGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzLzAwMDEtRml4 LWluZmluaXRlLWxvb3AtaW4tTWVudS1jeWNsZWl0ZW1zLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvMjI4NjZjNGQzMGY1YjI4OWM0MjljNWNhODhkODAw MjAwZGI0ZmM0Zi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRj aGVzL01pbk92ZXJsYXBQbGFjZW1lbnQuY2NfaW1wcm92ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL2NlbnRlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL2NvbnRhaW5lcl9sb2Nrcy5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL2NvbnRhaW5lcl9yZWxhdGl2ZV9y ZWxhdGl2ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVz L2ZsdXhfaW1wcm92ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmx1eGJveC9w YXRjaGVzL2ZsdXhfb3ZlcnNpemUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Zs dXhib3gvcGF0Y2hlcy9mb2N1c19jbG9zZV9tZW51LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvc2xpdF9yYWlzZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3Rvb2xiYXJfcmVkby5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3RyZW1vcl9ncmFib2lkX2hlbGwucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy91bmNsdXR0ZXJf Zml4X3dvcmtzcGFjZWNtZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmx1eGJv eC9wYXRjaGVzL3pvcl9sb29wcy5wYXRjaAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGli YXZjb2RlYzQKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYmF2ZGV2aWNlNAogY3JlYXRl IG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGliYXZmaWx0ZXI0CiBjcmVhdGUgbW9kZSAxMjAwMDAgc3Jj cGtncy9saWJhdmZvcm1hdDQKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYmF2cmVzYW1w bGU0CiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJhdnV0aWw0CiBjcmVhdGUgbW9kZSAx MjAwMDAgc3JjcGtncy9saWJwb3N0cHJvYzQKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xp YnN3cmVzYW1wbGU0CiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJzd3NjYWxlNAoKZGlm ZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGY5NzJlZWJjNGQz YS4uYWFiNjZjODNmNGIzIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9z aGxpYnMKQEAgLTM4OSwxNSArMzg5LDIzIEBAIGxpYmlkM3RhZy5zby4wIGxpYmlkM3RhZy0wLjE1 LjFiXzEKIGxpYmdpZi5zby43IGdpZmxpYi01LjEuMF8xCiBsaWJJbWxpYjIuc28uMSBpbWxpYjIt MS40LjJfMQogbGlibXAzbGFtZS5zby4wIGxhbWUtMy45OC4yXzEKLWxpYmF2ZGV2aWNlLnNvLjU4 IGxpYmF2ZGV2aWNlLTQuMF8xCi1saWJhdmZvcm1hdC5zby41OCBsaWJhdmZvcm1hdC00LjBfMQot bGlic3dzY2FsZS5zby41IGxpYnN3c2NhbGUtNC4wXzEKLWxpYnN3cmVzYW1wbGUuc28uMyBsaWJz d3Jlc2FtcGxlLTQuMF8xCi1saWJhdnJlc2FtcGxlLnNvLjQgbGliYXZyZXNhbXBsZS00LjBfMQot bGlicG9zdHByb2Muc28uNTUgbGlicG9zdHByb2MtNC4wXzEKLWxpYmF2Y29kZWMuc28uNTggbGli YXZjb2RlYy00LjBfMQotbGliYXZ1dGlsLnNvLjU2IGxpYmF2dXRpbC00LjBfMQotbGliYXZmaWx0 ZXIuc28uNyBsaWJhdmZpbHRlci00LjBfMQorbGliYXZkZXZpY2Uuc28uNTkgbGliYXZkZXZpY2Ut NS4xLjJfMQorbGliYXZmb3JtYXQuc28uNTkgbGliYXZmb3JtYXQtNS4xLjJfMQorbGlic3dzY2Fs ZS5zby42IGxpYnN3c2NhbGUtNS4xLjJfMQorbGlic3dyZXNhbXBsZS5zby40IGxpYnN3cmVzYW1w bGUtNS4xLjJfMQorbGlicG9zdHByb2Muc28uNTYgbGlicG9zdHByb2MtNS4xLjJfMQorbGliYXZj b2RlYy5zby41OSBsaWJhdmNvZGVjLTUuMS4yXzEKK2xpYmF2dXRpbC5zby41NyBsaWJhdnV0aWwt NS4xLjJfMQorbGliYXZmaWx0ZXIuc28uOCBsaWJhdmZpbHRlci01LjEuMl8xCitsaWJhdmRldmlj ZS5zby41OCBsaWJhdmRldmljZTQtNC4wXzEKK2xpYmF2Zm9ybWF0LnNvLjU4IGxpYmF2Zm9ybWF0 NC00LjBfMQorbGlic3dzY2FsZS5zby41IGxpYnN3c2NhbGU0LTQuMF8xCitsaWJzd3Jlc2FtcGxl LnNvLjMgbGlic3dyZXNhbXBsZTQtNC4wXzEKK2xpYmF2cmVzYW1wbGUuc28uNCBsaWJhdnJlc2Ft cGxlNC00LjBfMQorbGlicG9zdHByb2Muc28uNTUgbGlicG9zdHByb2M0LTQuMF8xCitsaWJhdmNv ZGVjLnNvLjU4IGxpYmF2Y29kZWM0LTQuMF8xCitsaWJhdnV0aWwuc28uNTYgbGliYXZ1dGlsNC00 LjBfMQorbGliYXZmaWx0ZXIuc28uNyBsaWJhdmZpbHRlcjQtNC4wXzEKIGxpYlNETC0xLjIuc28u MCBTREwtMS4yLjE0XzEKIGxpYlNETF9pbWFnZS0xLjIuc28uMCBTRExfaW1hZ2UtMS4yLjEwXzEK IGxpYngyNjQuc28uMTU3IHgyNjQtMjAxOTA1MDcuMjI0NV8xCmRpZmYgLS1naXQgYS9zcmNwa2dz L2ZmbXBlZy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmZtcGVnL3RlbXBsYXRlCmluZGV4IDIzYTNkNWM5 OTY3Yi4uMzg5NzhjNTA4NWEzIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZmbXBlZy90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2ZmbXBlZy90ZW1wbGF0ZQpAQCAtMSw0MiArMSwzNiBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnZmZtcGVnJwogIyBhdWRhY2l0eSBhbHNvIG5lZWRzIHRvIGJlIGJ1bXBlZCB3 aGVuIGEgbmV3IGZmbXBlZyB2ZXJzaW9uIGJ1bXBzIGxpYmF2Zm9ybWF0J3Mgc29uYW1lIQogcGtn bmFtZT1mZm1wZWcKLXZlcnNpb249NC40LjMKLXJldmlzaW9uPTIKK3ZlcnNpb249NS4xLjIKK3Jl dmlzaW9uPTEKIHNob3J0X2Rlc2M9IkRlY29kaW5nLCBlbmNvZGluZyBhbmQgc3RyZWFtaW5nIHNv ZnR3YXJlIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxp Y2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cuZmZtcGVnLm9y ZyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0ZGbXBlZy9G Rm1wZWcvbWFzdGVyL0NoYW5nZWxvZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cuZmZtcGVnLm9y Zy9yZWxlYXNlcy9mZm1wZWctJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT02YzViNmMxOTVl NjE1MzQ3NjZhMGI1ZmUxNmFjYzkxOTE3MGM4ODMzNjI2MTI4MTZkMGExYzdmNGY5NDcwMDZlCitj aGVja3N1bT02MTllNzA2ZDY2MmM4NDIwODU5ODMyZGRjMjU5Y2Q0ZDQwOTZhNDhhMmNlMWVlZmQw NTJkYjllNDQwZWVmM2RjCiAKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBwZXJsIHlhc20i Ci1tYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBiemlwMi1kZXZlbCBmcmVldHlwZS1kZXZlbCBhbHNh LWxpYi1kZXZlbCBsaWJYZml4ZXMtZGV2ZWwKLSBsaWJYZXh0LWRldmVsIGxpYlh2TUMtZGV2ZWwg bGlieGNiLWRldmVsIGxhbWUtZGV2ZWwgbGlidGhlb3JhLWRldmVsCi0gbGlidm9yYmlzLWRldmVs IHgyNjQtZGV2ZWwgeHZpZGNvcmUtZGV2ZWwgamFjay1kZXZlbCBTREwyLWRldmVsCi0gbGliY2Rp by1wYXJhbm9pYS1kZXZlbCBsaWJydG1wLWRldmVsIGxpYm1vZHBsdWctZGV2ZWwgZ251dGxzLWRl dmVsCi0gc3BlZXgtZGV2ZWwgY2VsdC1kZXZlbCBoYXJmYnV6ei1kZXZlbCBsaWJhc3MtZGV2ZWwg b3B1cy1kZXZlbCBvY2wtaWNkLWRldmVsCi0gbGliYnMyYi1kZXZlbCBsaWJ2aWRzdGFiLWRldmVs ICQodm9wdF9pZiBwdWxzZWF1ZGlvIHB1bHNlYXVkaW8tZGV2ZWwpCi0gJCh2b3B0X2lmIHZhYXBp IGxpYnZhLWRldmVsKSAkKHZvcHRfaWYgdmRwYXUgbGlidmRwYXUtZGV2ZWwpCi0gJCh2b3B0X2lm IHgyNjUgeDI2NS1kZXZlbCkgJCh2b3B0X2lmIHY0bDIgdjRsLXV0aWxzLWRldmVsKQotICQodm9w dF9pZiBmZGtfYWFjIGZkay1hYWMtZGV2ZWwpICQodm9wdF9pZiB2cHggbGlidnB4LWRldmVsKQot ICQodm9wdF9pZiBhb20gbGliYW9tLWRldmVsKSAkKHZvcHRfaWYgc25kaW8gc25kaW8tZGV2ZWwp Ci0gJCh2b3B0X2lmIGRhdjFkIGxpYmRhdjFkLWRldmVsKSAkKHZvcHRfaWYgemltZyB6aW1nLWRl dmVsKQotICQodm9wdF9pZiB3ZWJwIGxpYndlYnAtZGV2ZWwpICQodm9wdF9pZiBzb2ZhIGxpYm15 c29mYS1kZXZlbCkKLSAkKHZvcHRfaWYgZHJtIGxpYmRybS1kZXZlbCkgJCh2b3B0X2lmIHN2dGF2 MSBsaWJzdnQtYXYxLWRldmVsKQotICQodm9wdF9pZiBzcnQgc3J0LWRldmVsKSAkKHZvcHRfaWYg cmlzdCBsaWJyaXN0LWRldmVsKQotICQodm9wdF9pZiB2dWxrYW4gJ3Z1bGthbi1sb2FkZXIgVnVs a2FuLUhlYWRlcnMnKQotICQodm9wdF9pZiBudmVuYyBudi1jb2RlYy1oZWFkZXJzKSAkKHZvcHRf aWYgbnZkZWMgbnYtY29kZWMtaGVhZGVycykiCittYWtlZGVwZW5kcz0iY2hyb21hcHJpbnQtZGV2 ZWwgbGliZ2NyeXB0LWRldmVsIGxhZHNwYS1zZGsgbGNtczItZGV2ZWwgbGliYW9tLWRldmVsCisg YWxzYS1saWItZGV2ZWwgYnppcDItZGV2ZWwgbGlieGNiLWRldmVsIGxpYmx6bWEtZGV2ZWwgU0RM Mi1kZXZlbCBzbmRpby1kZXZlbCB6bGliLWRldmVsCisgZnJlaTByLXBsdWdpbnMgbGliY2Rpby1w YXJhbm9pYS1kZXZlbCBydWJiZXJiYW5kLWRldmVsIGxpYnZpZHN0YWItZGV2ZWwgeDI2NC1kZXZl bCB4MjY1LWRldmVsCisgeHZpZGNvcmUtZGV2ZWwgZmRrLWFhYy1kZXZlbCBsaWJ0bHMtZGV2ZWwg Z21wLWRldmVsIGxpYmFzcy1kZXZlbCBsaWJibHVyYXktZGV2ZWwgbGliY2FjYS1kZXZlbAorIGNl bHQtZGV2ZWwgY29kZWMyLWRldmVsIGxpYmRhdjFkLWRldmVsIGxpYmRybS1kZXZlbCBmb250Y29u ZmlnLWRldmVsIGZyZWV0eXBlLWRldmVsCisgZnJpYmlkaS1kZXZlbCBnbHNsYW5nLWRldmVsIFNQ SVJWLVRvb2xzLWRldmVsIGxpYmdtZS1kZXZlbCBsaWJnc20tZGV2ZWwgamFjay1kZXZlbAorIGxp Ym1vZHBsdWctZGV2ZWwgbGFtZS1kZXZlbCBsaWJvcGVuY3Y0LWRldmVsIGxpYm9wZW5qcGVnMi1k ZXZlbCBsaWJvcGVubXB0LWRldmVsIG9wdXMtZGV2ZWwKKyBsaWJwbGFjZWJvLWRldmVsIGxpYnB1 bHNlYXVkaW8gcmFiYml0bXEtYy1kZXZlbCBsaWJyaXN0LWRldmVsIGxpYnJzdmctZGV2ZWwgbGli cnRtcC1kZXZlbAorIHNuYXBweS1kZXZlbCBsaWJzb3hyLWRldmVsIHNwZWV4LWRldmVsIHNydC1k ZXZlbCBsaWJzc2gtZGV2ZWwgbGlidGhlb3JhLWRldmVsIHR3b2xhbWUtZGV2ZWwKKyBsaWJ2b3Ji aXMtZGV2ZWwgbGlidnB4Ni1kZXZlbCBsaWJ3ZWJwLWRldmVsIGxpYnhtbDItZGV2ZWwgemltZy1k ZXZlbCBsaWx2LWRldmVsIGx2MgorIGxpYm9wZW5hbC1kZXZlbCBtZXNhIG9wZW5zc2wtZGV2ZWwg dmFwb3Vyc3ludGgtZGV2ZWwgb2NsLWljZC1kZXZlbCBsaWJteXNvZmEtZGV2ZWwgdnVsa2FuLWxv YWRlcgorICQodm9wdF9pZiB2YWFwaSBsaWJ2YS1kZXZlbCkKKyAkKHZvcHRfaWYgdmRwYXUgbGli dmRwYXUtZGV2ZWwpCisgJCh2b3B0X2lmIG52ZW5jIG52LWNvZGVjLWhlYWRlcnMpCisgJCh2b3B0 X2lmIG52ZGVjIG52LWNvZGVjLWhlYWRlcnMpCisgJCh2b3B0X2lmIHN2dGF2MSBsaWJzdnQtYXYx LWRldmVsKQorIgogZGVwZW5kcz0iZmZwbGF5Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCi1i dWlsZF9vcHRpb25zPSJ4MjY1IHY0bDIgdmFhcGkgdmRwYXUgdnB4IGZka19hYWMgYW9tIG52ZW5j IHNuZGlvIHB1bHNlYXVkaW8KLSBkYXYxZCB6aW1nIHdlYnAgc29mYSB2dWxrYW4gZHJtIHN2dGF2 MSBzcnQgcmlzdCBudmRlYyIKLWJ1aWxkX29wdGlvbnNfZGVmYXVsdD0ieDI2NSB2NGwyIHZweCBh b20gc25kaW8gcHVsc2VhdWRpbyBkYXYxZCB3ZWJwIHZ1bGthbiBkcm0gc3J0IHJpc3QiCi1kZXNj X29wdGlvbl9zcnQ9IkVuYWJsZSBzdXBwb3J0IGZvciBTUlQgKFNlY3VyZSwgUmVsaWFibGUsIFRy YW5zcG9ydCkiCi1kZXNjX29wdGlvbl9yaXN0PSJFbmFibGUgc3VwcG9ydCBmb3IgUklTVCAoUmVs aWFibGUgSW50ZXJuZXQgU3RyZWFtIFRyYW5zcG9ydCkiCi1kZXNjX29wdGlvbl9zb2ZhPSJFbmFi bGUgc3VwcG9ydCBmb3IgQUVTIFNPRkEiCi1kZXNjX29wdGlvbl93ZWJwPSJFbmFibGUgc3VwcG9y dCBmb3IgV2ViUCIKK2J1aWxkX29wdGlvbnM9InZhYXBpIHZkcGF1IG52ZW5jIG52ZGVjIHN2dGF2 MSIKIAogY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiAJaTY4Nip8eDg2XzY0KikgYnVp bGRfb3B0aW9uc19kZWZhdWx0Kz0iIHZhYXBpIHZkcGF1IG52ZW5jIG52ZGVjIjs7CkBAIC01Miwy MiArNDYsNiBAQCBpZiBbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIgXTsgdGhlbgogCW1ha2Vk ZXBlbmRzKz0iIGxpYmF0b21pYy1kZXZlbCIKIGZpCiAKLV9hcHBseV9wYXRjaCgpIHsKLQlsb2Nh bCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1mICIuJHtwbmFt ZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3VjaCAuJHtwbmFt ZX1fZG9uZQotCWZpCi19Ci0KLXBvc3RfcGF0Y2goKSB7Ci0JY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCi0JCXBwYzY0bGUqKSA7OwotCQlwcGMqKSBfYXBwbHlfcGF0Y2ggLXAxICR7RklM RVNESVJ9L2FsdGl2ZWMucGF0Y2ggOzsKLQllc2FjCi19Ci0KIGRvX2NvbmZpZ3VyZSgpIHsKIAkj IEZpeCBnY2Mgb24geDg2XzY0LW11c2wgb25seQogCWlmIFsgIiRYQlBTX1RBUkdFVF9NQUNISU5F IiA9ICJ4ODZfNjQtbXVzbCIgXTsgdGhlbgpAQCAtOTgsMzkgKzc2LDQ3IEBAIGRvX2NvbmZpZ3Vy ZSgpIHsKIAkJX2FyZ3MrPSIgLS1leHRyYS1saWJzPS1sYXRvbWljIgogCWZpCiAKLQkuL2NvbmZp Z3VyZSAtLXByZWZpeD0vdXNyIC0tZGlzYWJsZS1kZWJ1ZyAtLWVuYWJsZS1ncGwgLS1lbmFibGUt Z251dGxzIFwKKwkuL2NvbmZpZ3VyZSBcCisJCS0tcHJlZml4PScvdXNyJyBcCisJCS0tZXh0cmEt Y2ZsYWdzPSctSS9vcHQvY3VkYS9pbmNsdWRlJyBcCisJCS0tZXh0cmEtbGRmbGFncz0nLUwvb3B0 L2N1ZGEvbGliNjQnIFwKIAkJLS1kaXNhYmxlLXN0cmlwcGluZyBcCi0JCS0tZW5hYmxlLWxpYmNk aW8gLS1lbmFibGUtdmVyc2lvbjMgLS1lbmFibGUtcnVudGltZS1jcHVkZXRlY3QgXAotCQktLWVu YWJsZS1saWJtcDNsYW1lIC0tZW5hYmxlLWxpYnZvcmJpcyAtLWVuYWJsZS1saWJ4dmlkIFwKLQkJ LS1lbmFibGUtbGlieDI2NCAkKHZvcHRfZW5hYmxlIHZweCBsaWJ2cHgpIC0tZW5hYmxlLWxpYnRo ZW9yYSBcCi0JCS0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS1zdGF0aWMgLS1lbmFibGUtbGlieGNi IFwKLQkJJCh2b3B0X2VuYWJsZSBwdWxzZWF1ZGlvIGxpYnB1bHNlKSAtLWVuYWJsZS1saWJmcmVl dHlwZSAtLWVuYWJsZS1saWJtb2RwbHVnIFwKLQkJLS1lbmFibGUtbGlic3BlZXggLS1lbmFibGUt bGliY2VsdCAtLWVuYWJsZS1saWJhc3MgXAotCQktLWVuYWJsZS1saWJvcHVzIC0tZW5hYmxlLWxp YnJ0bXAgLS1lbmFibGUtbGliamFjayBcCi0JCSQodm9wdF9pZiBmZGtfYWFjICctLWVuYWJsZS1u b25mcmVlIC0tZW5hYmxlLWxpYmZkay1hYWMnKSBcCi0JCS0tZGlzYWJsZS1saWJvcGVuY29yZV9h bXJuYiAtLWRpc2FibGUtbGlib3BlbmNvcmVfYW1yd2IgXAotCQktLWRpc2FibGUtbGlib3Blbmpw ZWcgXAotCQktLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1vcGVuY2wgJHtfYXJnc30gXAotCQkk KHZvcHRfZW5hYmxlIHgyNjUgbGlieDI2NSkgXAotCQkkKHZvcHRfZW5hYmxlIHY0bDIgbGlidjRs MikgXAotCQkkKHZvcHRfZW5hYmxlIGFvbSBsaWJhb20pICQodm9wdF9lbmFibGUgdmFhcGkpICQo dm9wdF9lbmFibGUgdmRwYXUpIFwKLQkJLS1lbmFibGUtbGliYnMyYiAtLWVuYWJsZS1hdnJlc2Ft cGxlIC0tZW5hYmxlLWxpYnZpZHN0YWIgXAotCQkkKHZvcHRfZW5hYmxlIGRhdjFkIGxpYmRhdjFk KSBcCi0JCSQodm9wdF9lbmFibGUgemltZyBsaWJ6aW1nKSBcCi0JCSQodm9wdF9lbmFibGUgd2Vi cCBsaWJ3ZWJwKSBcCi0JCSQodm9wdF9lbmFibGUgc29mYSBsaWJteXNvZmEpIFwKLQkJJCh2b3B0 X2VuYWJsZSB2dWxrYW4pIFwKLQkJJCh2b3B0X2VuYWJsZSBkcm0gbGliZHJtKSBcCi0JCSQodm9w dF9lbmFibGUgc3Z0YXYxIGxpYnN2dGF2MSkgXAotCQkkKHZvcHRfZW5hYmxlIHNydCBsaWJzcnQp IFwKLQkJJCh2b3B0X2VuYWJsZSByaXN0IGxpYnJpc3QpIFwKKwkJLS1lbmFibGUtc2hhcmVkIC0t ZW5hYmxlLXN0YXRpYyBcCisJCS0tZW5hYmxlLW5vbmZyZWUgLS1lbmFibGUtZ3BsIFwKKwkJLS1l bmFibGUtdmVyc2lvbjMgLS1lbmFibGUtbGlieGNiIFwKKwkJLS1lbmFibGUtZnJlaTByIC0tZW5h YmxlLWxpYmNkaW8gXAorCQktLWVuYWJsZS1saWJydWJiZXJiYW5kIC0tZW5hYmxlLWxpYnZpZHN0 YWIgXAorCQktLWVuYWJsZS1saWJ4MjY0IC0tZW5hYmxlLWxpYngyNjUgLS1lbmFibGUtbGlieHZp ZCBcCisJCS0tZW5hYmxlLWxpYmZkay1hYWMgLS1lbmFibGUtbGlidGxzIC0tZW5hYmxlLWdtcCBc CisJCS0tZW5hYmxlLWNocm9tYXByaW50IC0tZW5hYmxlLWdjcnlwdCAtLWVuYWJsZS1sYWRzcGEg XAorCQktLWVuYWJsZS1sY21zMiAtLWVuYWJsZS1saWJhb20gLS1lbmFibGUtbGliYXNzIFwKKwkJ LS1lbmFibGUtbGliYmx1cmF5IC0tZW5hYmxlLWxpYmNhY2EgLS1lbmFibGUtbGliY2VsdCBcCisJ CS0tZW5hYmxlLWxpYmNvZGVjMiAtLWVuYWJsZS1saWJkYXYxZCAtLWVuYWJsZS1saWJkcm0gXAor CQktLWVuYWJsZS1saWJmb250Y29uZmlnIC0tZW5hYmxlLWxpYmZyZWV0eXBlIFwKKwkJLS1lbmFi bGUtbGliZnJpYmlkaSAtLWVuYWJsZS1saWJnbHNsYW5nIFwKKwkJLS1lbmFibGUtbGliZ21lIC0t ZW5hYmxlLWxpYmdzbSBcCisJCS0tZW5hYmxlLXZhcG91cnN5bnRoIC0tZW5hYmxlLW9wZW5zc2wg LS1lbmFibGUtb3BlbmdsIFwKKwkJLS1lbmFibGUtb3BlbmFsIC0tZW5hYmxlLWx2MiAtLWVuYWJs ZS1saWJ6aW1nIFwKKwkJLS1lbmFibGUtbGlieG1sMiAtLWVuYWJsZS1saWJ3ZWJwIC0tZW5hYmxl LWxpYnZvcmJpcyBcCisJCS0tZW5hYmxlLWxpYnR3b2xhbWUgLS1lbmFibGUtbGlidGhlb3JhIC0t ZW5hYmxlLWxpYnNzaCBcCisJCS0tZW5hYmxlLWxpYnNydCAtLWVuYWJsZS1saWJzcGVleCAtLWVu YWJsZS1saWJzb3hyIFwKKwkJLS1lbmFibGUtbGlicnRtcCAtLWVuYWJsZS1saWJyc3ZnIC0tZW5h YmxlLWxpYnJpc3QgXAorCQktLWVuYWJsZS1saWJyYWJiaXRtcSAtLWVuYWJsZS1saWJwdWxzZSAt LWVuYWJsZS1saWJwbGFjZWJvIFwKKwkJLS1lbmFibGUtbGlib3B1cyAtLWVuYWJsZS1saWJvcGVu bXB0IC0tZW5hYmxlLWxpYm9wZW5qcGVnIFwKKwkJLS1lbmFibGUtbGlibXAzbGFtZSAtLWVuYWJs ZS1saWJtb2RwbHVnIC0tZW5hYmxlLWxpYmphY2sgXAorCQktLWVuYWJsZS1vcGVuY2wgLS1lbmFi bGUtbGlidnB4IC0tZW5hYmxlLWxpYm15c29mYSBcCisJCSQodm9wdF9lbmFibGUgdmFhcGkpIFwK KwkJJCh2b3B0X2VuYWJsZSB2ZHBhdSkgXAogCQkkKHZvcHRfaWYgbnZlbmMgJy0tZW5hYmxlLW52 ZW5jJykgXAotCQkkKHZvcHRfaWYgbnZkZWMgJy0tZW5hYmxlLW52ZGVjJykKKwkJJCh2b3B0X2lm IG52ZGVjICctLWVuYWJsZS1udmRlYycpIFwKKwkJJCh2b3B0X2VuYWJsZSBzdnRhdjEgbGlic3Z0 YXYxKQogfQorCiBkb19idWlsZCgpIHsKIAltYWtlICR7bWFrZWpvYnN9CiAJbWFrZSBkb2MvZmZ7 bXBlZyxwbGF5fS4xCiB9CisKIGRvX2luc3RhbGwoKSB7CiAJbWFrZSBERVNURElSPSR7REVTVERJ Un0gaW5zdGFsbCBpbnN0YWxsLW1hbgogfQpAQCAtMTQ3LDEyICsxMzMsNiBAQCBsaWJhdmRldmlj ZV9wYWNrYWdlKCkgewogCQl2bW92ZSAidXNyL2xpYi9saWJhdmRldmljZS5zby4qIgogCX0KIH0K LWxpYmF2cmVzYW1wbGVfcGFja2FnZSgpIHsKLQlzaG9ydF9kZXNjPSJGRm1wZWcgYXVkaW8gcmVz YW1wbGluZyBsaWJyYXJ5IgotCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAidXNyL2xpYi9saWJh dnJlc2FtcGxlLnNvLioiCi0JfQotfQogbGliYXZmb3JtYXRfcGFja2FnZSgpIHsKIAlzaG9ydF9k ZXNjPSJGRm1wZWcgZmlsZSBmb3JtYXQgbGlicmFyeSIKIAlwa2dfaW5zdGFsbCgpIHsKQEAgLTE5 OCw5ICsxNzgsNDkgQEAgZmZtcGVnLWRldmVsX3BhY2thZ2UoKSB7CiAJCWxpYmF2ZmlsdGVyPj0k e3ZlcnNpb259XyR7cmV2aXNpb259CiAJCWxpYnBvc3Rwcm9jPj0ke3ZlcnNpb259XyR7cmV2aXNp b259CiAJCWxpYnN3c2NhbGU+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KLQkJbGlic3dyZXNhbXBs ZT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQotCQlsaWJhdnJlc2FtcGxlPj0ke3ZlcnNpb259XyR7 cmV2aXNpb259IgorCQlsaWJzd3Jlc2FtcGxlPj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgogCXNo b3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlhbHRlcm5hdGl2ZXM9IgorCSBmZm1w ZWctZGV2ZWw6bGliYXZjb2RlYy4zOi91c3Ivc2hhcmUvbWFuL21hbjMvbGliYXZjb2RlYzUuMwor CSBmZm1wZWctZGV2ZWw6bGliYXZkZXZpY2UuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYmF2ZGV2 aWNlNS4zCisJIGZmbXBlZy1kZXZlbDpsaWJhdmZpbHRlci4zOi91c3Ivc2hhcmUvbWFuL21hbjMv bGliYXZmaWx0ZXI1LjMKKwkgZmZtcGVnLWRldmVsOmxpYmxpYmF2Zm9ybWF0LjM6L3Vzci9zaGFy ZS9tYW4vbWFuMy9saWJhdmZvcm1hdDUuMworCSBmZm1wZWctZGV2ZWw6bGliYXZ1dGlsLjM6L3Vz ci9zaGFyZS9tYW4vbWFuMy9saWJhdnV0aWw1LjMKKwkgZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1w bGUuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYnN3cmVzYW1wbGU1LjMKKwkgZmZtcGVnLWRldmVs OmxpYnN3c2NhbGUuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYnN3c2NhbGU1LjMKKwkgZmZtcGVn LWRldmVsOmxpYmF2Y29kZWM6L3Vzci9pbmNsdWRlL2xpYmF2Y29kZWM1CisJIGZmbXBlZy1kZXZl bDpsaWJhdmRldmljZTovdXNyL2luY2x1ZGUvbGliYXZkZXZpY2U1CisJIGZmbXBlZy1kZXZlbDps aWJhdmZvcm1hdDovdXNyL2luY2x1ZGUvbGliYXZmb3JtYXQ1CisJIGZmbXBlZy1kZXZlbDpsaWJh dnV0aWw6L3Vzci9pbmNsdWRlL2xpYmF2dXRpbDUKKwkgZmZtcGVnLWRldmVsOmxpYmF2cG9zdHBy b2M6L3Vzci9pbmNsdWRlL2xpYmF2cG9zdHByb2M1CisJIGZmbXBlZy1kZXZlbDpsaWJzd3Jlc2Ft cGxlOi91c3IvaW5jbHVkZS9saWJzd3Jlc2FtcGxlNQorCSBmZm1wZWctZGV2ZWw6bGlic3djYWFs ZTovdXNyL2luY2x1ZGUvbGlic3dzY2FsZTUKKwkgZmZtcGVnLWRldmVsOmxpYmF2Y29kZWMucGM6 L3Vzci9saWIvcGtnY29uZmlnL2xpYmF2Y29kZWM1LnBjCisJIGZmbXBlZy1kZXZlbDpsaWJhdmRl dmljZS5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZkZXZpY2U1LnBjCisJIGZmbXBlZy1kZXZl bDpsaWJhdmZpbHRlci5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZmaWx0ZXI1LnBjCisJIGZm bXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZmb3JtYXQ1 LnBjCisJIGZmbXBlZy1kZXZlbDpsaWJhdnV0aWwucGM6L3Vzci9saWIvcGtnY29uZmlnL2xpYmF2 dXRpbDUucGMKKwkgZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLnBjOi91c3IvbGliL3BrZ2NvbmZp Zy9saWJwb3N0cHJvYzUucGMKKwkgZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1wbGUucGM6L3Vzci9s aWIvcGtnY29uZmlnL2xpYnN3cmVzYW1wbGU1LnBjCisJIGZmbXBlZy1kZXZlbDpsaWJzd3NjYWxl LnBjOi91c3IvbGliL3BrZ2NvbmZpZy9saWJzd3NjYWxlNS5wYworCSBmZm1wZWctZGV2ZWw6bGli YXZjb2RlYy5hOi91c3IvbGliL2xpYmF2Y29kZWM1LmEKKwkgZmZtcGVnLWRldmVsOmxpYmF2Y29k ZWMuc286L3Vzci9saWIvbGliYXZjb2RlYzUuc28KKwkgZmZtcGVnLWRldmVsOmxpYmF2ZGV2aWNl LmE6L3Vzci9saWIvbGliYXZkZXZpY2U1LmEKKwkgZmZtcGVnLWRldmVsOmxpYmF2ZGV2aWNlLnNv Oi91c3IvbGliL2xpYmF2ZGV2aWNlNS5zbworCSBmZm1wZWctZGV2ZWw6bGliYXZmaWx0ZXIuYTov dXNyL2xpYi9saWJhdmZpbHRlcjUuYQorCSBmZm1wZWctZGV2ZWw6bGliYXZmaWx0ZXIuc286L3Vz ci9saWIvbGliYXZmaWx0ZXI1LnNvCisJIGZmbXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5hOi91c3Iv bGliL2xpYmF2Zm9ybWF0NS5hCisJIGZmbXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5zbzovdXNyL2xp Yi9saWJhdmZvcm1hdDUuc28KKwkgZmZtcGVnLWRldmVsOmxpYmF2dXRpbC5hOi91c3IvbGliL2xp YmF2dXRpbDUuYQorCSBmZm1wZWctZGV2ZWw6bGliYXZ1dGlsLnNvOi91c3IvbGliL2xpYmF2dXRp bDUuc28KKwkgZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLmE6L3Vzci9saWIvbGlicG9zdHByb2M1 LmEKKwkgZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLnNvOi91c3IvbGliL2xpYnBvc3Rwcm9jNS5z bworCSBmZm1wZWctZGV2ZWw6bGlic3dyZXNhbXBsZS5hOi91c3IvbGliL2xpYnN3cmVzYW1wbGU1 LmEKKwkgZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1wbGUuc286L3Vzci9saWIvbGlic3dyZXNhbXBs ZTUuc28KKwkgZmZtcGVnLWRldmVsOmxpYnN3c2NhbGUuYTovdXNyL2xpYi9saWJzd3NjYWxlNS5h CisJIGZmbXBlZy1kZXZlbDpsaWJzd3NjYWxlLnNvOi91c3IvbGliL2xpYnN3c2NhbGU1LnNvCisJ IGZmbXBlZy1kZXZlbDpmZm1wZWc6L3Vzci9zaGFyZS9mZm1wZWc1CisJIgogCXBrZ19pbnN0YWxs KCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwpAQCAt MjExLDcgKzIzMSw3IEBAIGZmbXBlZy1kZXZlbF9wYWNrYWdlKCkgewogCX0KIH0KIGZmcGxheV9w YWNrYWdlKCkgewotCXNob3J0X2Rlc2M9IlNpbXBsZSB2aWRlbyBwbGF5ZXIgdXNpbmcgRkZtcGVn IGFuZCBTREwyIgorCXNob3J0X2Rlc2M9IlNpbXBsZSBtZWRpYSBwbGF5ZXIgdXNpbmcgRkZtcGVn IGFuZCBTREwyIgogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvYmluL2ZmcGxheQogCQl2 bW92ZSAidXNyL3NoYXJlL21hbi9tYW4xL2ZmcGxheSoiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Zm bXBlZzQtZGV2ZWwgYi9zcmNwa2dzL2ZmbXBlZzQtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAK aW5kZXggMDAwMDAwMDAwMDAwLi44ODdmMzU0ZTdjNmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2ZmbXBlZzQtZGV2ZWwKQEAgLTAsMCArMSBAQAorZmZtcGVnNApcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmZtcGVnNC9mZm1wZWc0IGIvc3JjcGtn cy9mZm1wZWc0L2ZmbXBlZzQKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAw Li44ODdmMzU0ZTdjNmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZmbXBlZzQvZmZtcGVn NApAQCAtMCwwICsxIEBACitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9mZm1wZWcvZmlsZXMvYWx0aXZlYy5wYXRjaCBiL3NyY3BrZ3MvZmZt cGVnNC9maWxlcy9hbHRpdmVjLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJv bSBzcmNwa2dzL2ZmbXBlZy9maWxlcy9hbHRpdmVjLnBhdGNoCnJlbmFtZSB0byBzcmNwa2dzL2Zm bXBlZzQvZmlsZXMvYWx0aXZlYy5wYXRjaApkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWcvcGF0 Y2hlcy9hcm12NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaCBiL3NyY3BrZ3MvZmZtcGVnNC9wYXRj aGVzL2FybXY1dGVsLWZsb2F0aW5nLXBvaW50LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpy ZW5hbWUgZnJvbSBzcmNwa2dzL2ZmbXBlZy9wYXRjaGVzL2FybXY1dGVsLWZsb2F0aW5nLXBvaW50 LnBhdGNoCnJlbmFtZSB0byBzcmNwa2dzL2ZmbXBlZzQvcGF0Y2hlcy9hcm12NXRlbC1mbG9hdGlu Zy1wb2ludC5wYXRjaApkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy93b3JrYXJv dW5kLW1lc2EtcmVhZGVvbi12YWFwaS1idWcucGF0Y2ggYi9zcmNwa2dzL2ZmbXBlZzQvcGF0Y2hl cy93b3JrYXJvdW5kLW1lc2EtcmVhZGVvbi12YWFwaS1idWcucGF0Y2gKc2ltaWxhcml0eSBpbmRl eCAxMDAlCnJlbmFtZSBmcm9tIHNyY3BrZ3MvZmZtcGVnL3BhdGNoZXMvd29ya2Fyb3VuZC1tZXNh LXJlYWRlb24tdmFhcGktYnVnLnBhdGNoCnJlbmFtZSB0byBzcmNwa2dzL2ZmbXBlZzQvcGF0Y2hl cy93b3JrYXJvdW5kLW1lc2EtcmVhZGVvbi12YWFwaS1idWcucGF0Y2gKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZmZtcGVnNC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmZtcGVnNC90ZW1wbGF0ZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNkOTE1NDk3OGIzZQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvZmZtcGVnNC90ZW1wbGF0ZQpAQCAtMCwwICsxLDI1NCBAQAorIyBU ZW1wbGF0ZSBmaWxlIGZvciAnZmZtcGVnNCcKKyMgYXVkYWNpdHkgYWxzbyBuZWVkcyB0byBiZSBi dW1wZWQgd2hlbiBhIG5ldyBmZm1wZWcgdmVyc2lvbiBidW1wcyBsaWJhdmZvcm1hdCdzIHNvbmFt ZSEKK3BrZ25hbWU9ZmZtcGVnNAordmVyc2lvbj00LjQuMworcmV2aXNpb249Mworc2hvcnRfZGVz Yz0iZmZtcGVnNCBsaWJyYXJpZXMgb25seSAtIERlY29kaW5nLCBlbmNvZGluZyBhbmQgc3RyZWFt aW5nIHNvZnR3YXJlIgorbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3Jn PiIKK2xpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly93d3cuZmZt cGVnLm9yZyIKK2NoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0ZG bXBlZy9GRm1wZWcvbWFzdGVyL0NoYW5nZWxvZyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly93d3cuZmZt cGVnLm9yZy9yZWxlYXNlcy9mZm1wZWctJHt2ZXJzaW9ufS50YXIueHoiCitjaGVja3N1bT02YzVi NmMxOTVlNjE1MzQ3NjZhMGI1ZmUxNmFjYzkxOTE3MGM4ODMzNjI2MTI4MTZkMGExYzdmNGY5NDcw MDZlCisKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBwZXJsIHlhc20iCittYWtlZGVwZW5k cz0iemxpYi1kZXZlbCBiemlwMi1kZXZlbCBmcmVldHlwZS1kZXZlbCBhbHNhLWxpYi1kZXZlbCBs aWJYZml4ZXMtZGV2ZWwKKyBsaWJYZXh0LWRldmVsIGxpYlh2TUMtZGV2ZWwgbGlieGNiLWRldmVs IGxhbWUtZGV2ZWwgbGlidGhlb3JhLWRldmVsCisgbGlidm9yYmlzLWRldmVsIHgyNjQtZGV2ZWwg eHZpZGNvcmUtZGV2ZWwgamFjay1kZXZlbCBTREwyLWRldmVsCisgbGliY2Rpby1wYXJhbm9pYS1k ZXZlbCBsaWJydG1wLWRldmVsIGxpYm1vZHBsdWctZGV2ZWwgZ251dGxzLWRldmVsCisgc3BlZXgt ZGV2ZWwgY2VsdC1kZXZlbCBoYXJmYnV6ei1kZXZlbCBsaWJhc3MtZGV2ZWwgb3B1cy1kZXZlbCBv Y2wtaWNkLWRldmVsCisgbGliYnMyYi1kZXZlbCBsaWJ2aWRzdGFiLWRldmVsICQodm9wdF9pZiBw dWxzZWF1ZGlvIHB1bHNlYXVkaW8tZGV2ZWwpCisgJCh2b3B0X2lmIHZhYXBpIGxpYnZhLWRldmVs KSAkKHZvcHRfaWYgdmRwYXUgbGlidmRwYXUtZGV2ZWwpCisgJCh2b3B0X2lmIHgyNjUgeDI2NS1k ZXZlbCkgJCh2b3B0X2lmIHY0bDIgdjRsLXV0aWxzLWRldmVsKQorICQodm9wdF9pZiBmZGtfYWFj IGZkay1hYWMtZGV2ZWwpICQodm9wdF9pZiB2cHggbGlidnB4LWRldmVsKQorICQodm9wdF9pZiBh b20gbGliYW9tLWRldmVsKSAkKHZvcHRfaWYgc25kaW8gc25kaW8tZGV2ZWwpCisgJCh2b3B0X2lm IGRhdjFkIGxpYmRhdjFkLWRldmVsKSAkKHZvcHRfaWYgemltZyB6aW1nLWRldmVsKQorICQodm9w dF9pZiB3ZWJwIGxpYndlYnAtZGV2ZWwpICQodm9wdF9pZiBzb2ZhIGxpYm15c29mYS1kZXZlbCkK KyAkKHZvcHRfaWYgZHJtIGxpYmRybS1kZXZlbCkgJCh2b3B0X2lmIHN2dGF2MSBsaWJzdnQtYXYx LWRldmVsKQorICQodm9wdF9pZiBzcnQgc3J0LWRldmVsKSAkKHZvcHRfaWYgcmlzdCBsaWJyaXN0 LWRldmVsKQorICQodm9wdF9pZiB2dWxrYW4gJ3Z1bGthbi1sb2FkZXIgVnVsa2FuLUhlYWRlcnMn KQorICQodm9wdF9pZiBudmVuYyBudi1jb2RlYy1oZWFkZXJzKSAkKHZvcHRfaWYgbnZkZWMgbnYt Y29kZWMtaGVhZGVycykiCisKK2J1aWxkX29wdGlvbnM9IngyNjUgdjRsMiB2YWFwaSB2ZHBhdSB2 cHggZmRrX2FhYyBhb20gbnZlbmMgc25kaW8gcHVsc2VhdWRpbworIGRhdjFkIHppbWcgd2VicCBz b2ZhIHZ1bGthbiBkcm0gc3Z0YXYxIHNydCByaXN0IG52ZGVjIgorYnVpbGRfb3B0aW9uc19kZWZh dWx0PSJ4MjY1IHY0bDIgdnB4IGFvbSBzbmRpbyBwdWxzZWF1ZGlvIGRhdjFkIHdlYnAgdnVsa2Fu IGRybSBzcnQgcmlzdCIKKworZGVzY19vcHRpb25fc3J0PSJFbmFibGUgc3VwcG9ydCBmb3IgU1JU IChTZWN1cmUsIFJlbGlhYmxlLCBUcmFuc3BvcnQpIgorZGVzY19vcHRpb25fcmlzdD0iRW5hYmxl IHN1cHBvcnQgZm9yIFJJU1QgKFJlbGlhYmxlIEludGVybmV0IFN0cmVhbSBUcmFuc3BvcnQpIgor ZGVzY19vcHRpb25fc29mYT0iRW5hYmxlIHN1cHBvcnQgZm9yIEFFUyBTT0ZBIgorZGVzY19vcHRp b25fd2VicD0iRW5hYmxlIHN1cHBvcnQgZm9yIFdlYlAiCisKK2Nhc2UgIiRYQlBTX1RBUkdFVF9N QUNISU5FIiBpbgorCWk2ODYqfHg4Nl82NCopIGJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiB2YWFw aSB2ZHBhdSBudmVuYyBudmRlYyI7OworCXBwYzY0KikgYnVpbGRfb3B0aW9uc19kZWZhdWx0Kz0i IHZhYXBpIHZkcGF1Ijs7CisJbWlwcyopIENGTEFHUz0iLW1uYW49bGVnYWN5Ijs7Citlc2FjCisK K2lmIFsgIiRYQlBTX1RBUkdFVF9XT1JEU0laRSIgIT0gIjMyIiBdOyB0aGVuCisJYnVpbGRfb3B0 aW9uc19kZWZhdWx0Kz0iIHN2dGF2MSIKK2ZpCisKK2lmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9N SUM4IiBdOyB0aGVuCisJbWFrZWRlcGVuZHMrPSIgbGliYXRvbWljLWRldmVsIgorZmkKKworX2Fw cGx5X3BhdGNoKCkgeworCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCisK KwlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCisJCXBhdGNoIC1OICRhcmdzIC1p ICQyCisJCXRvdWNoIC4ke3BuYW1lfV9kb25lCisJZmkKK30KKworcG9zdF9wYXRjaCgpIHsKKwlj YXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwkJcHBjNjRsZSopIDs7CisJCXBwYyopIF9h cHBseV9wYXRjaCAtcDEgJHtGSUxFU0RJUn0vYWx0aXZlYy5wYXRjaCA7OworCWVzYWMKK30KKwor ZG9fY29uZmlndXJlKCkgeworCSMgRml4IGdjYyBvbiB4ODZfNjQtbXVzbCBvbmx5CisJaWYgWyAi JFhCUFNfVEFSR0VUX01BQ0hJTkUiID0gIng4Nl82NC1tdXNsIiBdOyB0aGVuCisJCXNlZCAtaSBj b25maWd1cmUgLWUgInM7X2NmbGFnc19zcGVlZD0nLU8zJztfY2ZsYWdzX3NwZWVkPSctTzInOyIK KwlmaQorCisJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCWNhc2UgIiRYQlBTX1RBUkdF VF9NQUNISU5FIiBpbgorCQkJYXJtKikgX2FyY2g9ImFybSI7OworCQkJYWFyY2g2NCopIF9hcmNo PSJhYXJjaDY0Ijs7CisJCQltaXBzKikgX2FyY2g9Im1pcHMiOzsKKwkJCXBwYzY0KikgX2FyY2g9 InBwYzY0Ijs7CisJCQlwcGMqKSBfYXJjaD0icHBjIjs7CisJCQkqKSBfYXJjaD0iJHtYQlBTX1RB UkdFVF9NQUNISU5FJSUtbXVzbH0iOzsKKwkJZXNhYworCisJCV9hcmdzKz0iIC0tZW5hYmxlLWNy b3NzLWNvbXBpbGUKKwkJCS0tc3lzcm9vdD0kWEJQU19DUk9TU19CQVNFCisJCQktLWNyb3NzLXBy ZWZpeD0ke1hCUFNfQ1JPU1NfVFJJUExFVH0tCisJCQktLXRhcmdldC1vcz1saW51eCAtLWFyY2g9 JHtfYXJjaH0iCisJZmkKKworCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCQlwcGN8 cHBjLW11c2wpIF9hcmdzKz0iIC0tZGlzYWJsZS1hbHRpdmVjIjs7CisJZXNhYworCisJaWYgWyAi JFhCUFNfVEFSR0VUX05PX0FUT01JQzgiIF07IHRoZW4KKwkJX2FyZ3MrPSIgLS1leHRyYS1saWJz PS1sYXRvbWljIgorCWZpCisKKwkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyIC0tZGlzYWJsZS1k ZWJ1ZyAtLWVuYWJsZS1ncGwgLS1lbmFibGUtZ251dGxzIFwKKwkJLS1kaXNhYmxlLXN0cmlwcGlu ZyBcCisJCS0tZW5hYmxlLWxpYmNkaW8gLS1lbmFibGUtdmVyc2lvbjMgLS1lbmFibGUtcnVudGlt ZS1jcHVkZXRlY3QgXAorCQktLWVuYWJsZS1saWJtcDNsYW1lIC0tZW5hYmxlLWxpYnZvcmJpcyAt LWVuYWJsZS1saWJ4dmlkIFwKKwkJLS1lbmFibGUtbGlieDI2NCAkKHZvcHRfZW5hYmxlIHZweCBs aWJ2cHgpIC0tZW5hYmxlLWxpYnRoZW9yYSBcCisJCS0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS1z dGF0aWMgLS1lbmFibGUtbGlieGNiIFwKKwkJJCh2b3B0X2VuYWJsZSBwdWxzZWF1ZGlvIGxpYnB1 bHNlKSAtLWVuYWJsZS1saWJmcmVldHlwZSAtLWVuYWJsZS1saWJtb2RwbHVnIFwKKwkJLS1lbmFi bGUtbGlic3BlZXggLS1lbmFibGUtbGliY2VsdCAtLWVuYWJsZS1saWJhc3MgXAorCQktLWVuYWJs ZS1saWJvcHVzIC0tZW5hYmxlLWxpYnJ0bXAgLS1lbmFibGUtbGliamFjayBcCisJCSQodm9wdF9p ZiBmZGtfYWFjICctLWVuYWJsZS1ub25mcmVlIC0tZW5hYmxlLWxpYmZkay1hYWMnKSBcCisJCS0t ZGlzYWJsZS1saWJvcGVuY29yZV9hbXJuYiAtLWRpc2FibGUtbGlib3BlbmNvcmVfYW1yd2IgXAor CQktLWRpc2FibGUtbGlib3BlbmpwZWcgXAorCQktLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1v cGVuY2wgJHtfYXJnc30gXAorCQkkKHZvcHRfZW5hYmxlIHgyNjUgbGlieDI2NSkgXAorCQkkKHZv cHRfZW5hYmxlIHY0bDIgbGlidjRsMikgXAorCQkkKHZvcHRfZW5hYmxlIGFvbSBsaWJhb20pICQo dm9wdF9lbmFibGUgdmFhcGkpICQodm9wdF9lbmFibGUgdmRwYXUpIFwKKwkJLS1lbmFibGUtbGli YnMyYiAtLWVuYWJsZS1hdnJlc2FtcGxlIC0tZW5hYmxlLWxpYnZpZHN0YWIgXAorCQkkKHZvcHRf ZW5hYmxlIGRhdjFkIGxpYmRhdjFkKSBcCisJCSQodm9wdF9lbmFibGUgemltZyBsaWJ6aW1nKSBc CisJCSQodm9wdF9lbmFibGUgd2VicCBsaWJ3ZWJwKSBcCisJCSQodm9wdF9lbmFibGUgc29mYSBs aWJteXNvZmEpIFwKKwkJJCh2b3B0X2VuYWJsZSB2dWxrYW4pIFwKKwkJJCh2b3B0X2VuYWJsZSBk cm0gbGliZHJtKSBcCisJCSQodm9wdF9lbmFibGUgc3Z0YXYxIGxpYnN2dGF2MSkgXAorCQkkKHZv cHRfZW5hYmxlIHNydCBsaWJzcnQpIFwKKwkJJCh2b3B0X2VuYWJsZSByaXN0IGxpYnJpc3QpIFwK KwkJJCh2b3B0X2lmIG52ZW5jICctLWVuYWJsZS1udmVuYycpIFwKKwkJJCh2b3B0X2lmIG52ZGVj ICctLWVuYWJsZS1udmRlYycpCit9Citkb19idWlsZCgpIHsKKwltYWtlICR7bWFrZWpvYnN9CisJ bWFrZSBkb2MvZmZ7bXBlZyxwbGF5fS4xCit9Citkb19pbnN0YWxsKCkgeworCW1ha2UgREVTVERJ Uj0ke0RFU1RESVJ9IGluc3RhbGwgaW5zdGFsbC1tYW4KKwlybSAtcmYgJHtERVNURElSfS91c3Iv YmluCit9CisKK2xpYmF2Y29kZWM0X3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYz0iRkZtcGVnIGNv ZGVjIGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYmF2Y29k ZWMuc28uKiIKKwl9Cit9CitsaWJhdmRldmljZTRfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjPSJG Rm1wZWcgZGV2aWNlIGhhbmRsaW5nIGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3Zl ICJ1c3IvbGliL2xpYmF2ZGV2aWNlLnNvLioiCisJfQorfQorbGliYXZyZXNhbXBsZTRfcGFja2Fn ZSgpIHsKKwlzaG9ydF9kZXNjPSJGRm1wZWcgYXVkaW8gcmVzYW1wbGluZyBsaWJyYXJ5IgorCXBr Z19pbnN0YWxsKCkgeworCQl2bW92ZSAidXNyL2xpYi9saWJhdnJlc2FtcGxlLnNvLioiCisJfQor fQorbGliYXZmb3JtYXQ0X3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYz0iRkZtcGVnIGZpbGUgZm9y bWF0IGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYmF2Zm9y bWF0LnNvLioiCisJfQorfQorbGliYXZ1dGlsNF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2M9IkZG bXBlZyB1dGlsaXR5IGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGli L2xpYmF2dXRpbC5zby4qIgorCX0KK30KK2xpYmF2ZmlsdGVyNF9wYWNrYWdlKCkgeworCXNob3J0 X2Rlc2M9IkZGbXBlZyBhdWRpby92aWRlbyBmaWx0ZXIgbGlicmFyeSIKKwlwa2dfaW5zdGFsbCgp IHsKKwkJdm1vdmUgInVzci9saWIvbGliYXZmaWx0ZXIuc28uKiIKKwl9Cit9CitsaWJwb3N0cHJv YzRfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjPSJGRm1wZWcgdmlkZW8gcG9zdHByb2Nlc3Npbmcg bGlicmFyeSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgInVzci9saWIvbGlicG9zdHByb2Mu c28uKiIKKwl9Cit9CitsaWJzd3NjYWxlNF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2M9IkZGbXBl ZyB2aWRlbyBzY2FsaW5nIGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1c3Iv bGliL2xpYnN3c2NhbGUuc28uKiIKKwl9Cit9CitsaWJzd3Jlc2FtcGxlNF9wYWNrYWdlKCkgewor CXNob3J0X2Rlc2M9IkZGbXBlZyB2aWRlbyByZXNhbXBsaW5nIGxpYnJhcnkiCisJcGtnX2luc3Rh bGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYnN3cmVzYW1wbGUuc28uKiIKKwl9Cit9CitmZm1w ZWc0LWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iCisJCWxpYmF2Y29kZWM0Pj0ke3ZlcnNp b259XyR7cmV2aXNpb259CisJCWxpYmF2ZGV2aWNlND49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQor CQlsaWJhdmZvcm1hdDQ+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkJbGliYXZ1dGlsND49JHt2 ZXJzaW9ufV8ke3JldmlzaW9ufQorCQlsaWJhdmZpbHRlcjQ+PSR7dmVyc2lvbn1fJHtyZXZpc2lv bn0KKwkJbGlicG9zdHByb2M0Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJCWxpYnN3c2NhbGU0 Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJCWxpYnN3cmVzYW1wbGU0Pj0ke3ZlcnNpb259XyR7 cmV2aXNpb259CisJCWxpYmF2cmVzYW1wbGU0Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCXNo b3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlhbHRlcm5hdGl2ZXM9IgorCQlmZm1w ZWctZGV2ZWw6bGliYXZjb2RlYy4zOi91c3Ivc2hhcmUvbWFuL21hbjMvbGliYXZjb2RlYzQuMwor CQlmZm1wZWctZGV2ZWw6bGliYXZkZXZpY2UuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYmF2ZGV2 aWNlNC4zCisJCWZmbXBlZy1kZXZlbDpsaWJhdmZpbHRlci4zOi91c3Ivc2hhcmUvbWFuL21hbjMv bGliYXZmaWx0ZXI0LjMKKwkJZmZtcGVnLWRldmVsOmxpYmxpYmF2Zm9ybWF0LjM6L3Vzci9zaGFy ZS9tYW4vbWFuMy9saWJhdmZvcm1hdDQuMworCQlmZm1wZWctZGV2ZWw6bGliYXZ1dGlsLjM6L3Vz ci9zaGFyZS9tYW4vbWFuMy9saWJhdnV0aWw0LjMKKwkJZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1w bGUuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYnN3cmVzYW1wbGU0LjMKKwkJZmZtcGVnLWRldmVs OmxpYnN3c2NhbGUuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYnN3c2NhbGU0LjMKKwkJZmZtcGVn LWRldmVsOmxpYmF2Y29kZWM6L3Vzci9pbmNsdWRlL2xpYmF2Y29kZWM0CisJCWZmbXBlZy1kZXZl bDpsaWJhdmRldmljZTovdXNyL2luY2x1ZGUvbGliYXZkZXZpY2U0CisJCWZmbXBlZy1kZXZlbDps aWJhdmZvcm1hdDovdXNyL2luY2x1ZGUvbGliYXZmb3JtYXQ0CisJCWZmbXBlZy1kZXZlbDpsaWJh dnV0aWw6L3Vzci9pbmNsdWRlL2xpYmF2dXRpbDQKKwkJZmZtcGVnLWRldmVsOmxpYmF2cG9zdHBy b2M6L3Vzci9pbmNsdWRlL2xpYmF2cG9zdHByb2M0CisJCWZmbXBlZy1kZXZlbDpsaWJzd3Jlc2Ft cGxlOi91c3IvaW5jbHVkZS9saWJzd3Jlc2FtcGxlNAorCQlmZm1wZWctZGV2ZWw6bGlic3djYWFs ZTovdXNyL2luY2x1ZGUvbGlic3dzY2FsZTQKKwkJZmZtcGVnLWRldmVsOmxpYmF2Y29kZWMucGM6 L3Vzci9saWIvcGtnY29uZmlnL2xpYmF2Y29kZWM0LnBjCisJCWZmbXBlZy1kZXZlbDpsaWJhdmRl dmljZS5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZkZXZpY2U0LnBjCisJCWZmbXBlZy1kZXZl bDpsaWJhdmZpbHRlci5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZmaWx0ZXI0LnBjCisJCWZm bXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZmb3JtYXQ0 LnBjCisJCWZmbXBlZy1kZXZlbDpsaWJhdnV0aWwucGM6L3Vzci9saWIvcGtnY29uZmlnL2xpYmF2 dXRpbDQucGMKKwkJZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLnBjOi91c3IvbGliL3BrZ2NvbmZp Zy9saWJwb3N0cHJvYzQucGMKKwkJZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1wbGUucGM6L3Vzci9s aWIvcGtnY29uZmlnL2xpYnN3cmVzYW1wbGU0LnBjCisJCWZmbXBlZy1kZXZlbDpsaWJzd3NjYWxl LnBjOi91c3IvbGliL3BrZ2NvbmZpZy9saWJzd3NjYWxlNC5wYworCQlmZm1wZWctZGV2ZWw6bGli YXZjb2RlYy5hOi91c3IvbGliL2xpYmF2Y29kZWM0LmEKKwkJZmZtcGVnLWRldmVsOmxpYmF2Y29k ZWMuc286L3Vzci9saWIvbGliYXZjb2RlYzQuc28KKwkJZmZtcGVnLWRldmVsOmxpYmF2ZGV2aWNl LmE6L3Vzci9saWIvbGliYXZkZXZpY2U0LmEKKwkJZmZtcGVnLWRldmVsOmxpYmF2ZGV2aWNlLnNv Oi91c3IvbGliL2xpYmF2ZGV2aWNlNC5zbworCQlmZm1wZWctZGV2ZWw6bGliYXZmaWx0ZXIuYTov dXNyL2xpYi9saWJhdmZpbHRlcjQuYQorCQlmZm1wZWctZGV2ZWw6bGliYXZmaWx0ZXIuc286L3Vz ci9saWIvbGliYXZmaWx0ZXI0LnNvCisJCWZmbXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5hOi91c3Iv bGliL2xpYmF2Zm9ybWF0NC5hCisJCWZmbXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5zbzovdXNyL2xp Yi9saWJhdmZvcm1hdDQuc28KKwkJZmZtcGVnLWRldmVsOmxpYmF2dXRpbC5hOi91c3IvbGliL2xp YmF2dXRpbDQuYQorCQlmZm1wZWctZGV2ZWw6bGliYXZ1dGlsLnNvOi91c3IvbGliL2xpYmF2dXRp bDQuc28KKwkJZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLmE6L3Vzci9saWIvbGlicG9zdHByb2M0 LmEKKwkJZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLnNvOi91c3IvbGliL2xpYnBvc3Rwcm9jNC5z bworCQlmZm1wZWctZGV2ZWw6bGlic3dyZXNhbXBsZS5hOi91c3IvbGliL2xpYnN3cmVzYW1wbGU0 LmEKKwkJZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1wbGUuc286L3Vzci9saWIvbGlic3dyZXNhbXBs ZTQuc28KKwkJZmZtcGVnLWRldmVsOmxpYnN3c2NhbGUuYTovdXNyL2xpYi9saWJzd3NjYWxlNC5h CisJCWZmbXBlZy1kZXZlbDpsaWJzd3NjYWxlLnNvOi91c3IvbGliL2xpYnN3c2NhbGU0LnNvCisJ CWZmbXBlZy1kZXZlbDpmZm1wZWc6L3Vzci9zaGFyZS9mZm1wZWc0CisJIgorCXBrZ19pbnN0YWxs KCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2 bW92ZSB1c3IvbGliLyouYQorCQl2bW92ZSB1c3IvbGliLyouc28KKwkJdm1vdmUgdXNyL3NoYXJl L2ZmbXBlZy9leGFtcGxlcworCQl2bW92ZSB1c3Ivc2hhcmUvbWFuL21hbjMKKwl9Cit9CmRpZmYg LS1naXQgYS9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy8wMDAxLUZpeC1pbmZpbml0ZS1sb29wLWlu LU1lbnUtY3ljbGVpdGVtcy5wYXRjaCBiL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzLzAwMDEtRml4 LWluZmluaXRlLWxvb3AtaW4tTWVudS1jeWNsZWl0ZW1zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGM0NTBmZDQ1YmZiCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvMDAwMS1GaXgtaW5maW5pdGUtbG9vcC1pbi1NZW51LWN5 Y2xlaXRlbXMucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA5ZDgyMDJmMzIzMzhhM2YwOGQz ZmEzOTA1N2RjNWVlYzVkOTdiZTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0 aGlhcyBHdW16IDxha2lyYUBmbHV4Ym94Lm9yZz4KK0RhdGU6IFNhdCwgMjggTWF5IDIwMjIgMTE6 MTM6NDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGluZmluaXRlIGxvb3AgaW4gTWVudTo6 Y3ljbGVpdGVtcygpCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1doZW4g YSBtZW51IGNvbnRhaW5zIG5vIHNlbGVjdGFibGUgaXRlbSAoZXhhbXBsZSBnaXZlbjogYSAibGlz dCIgb2YgdXNlcgorc3R5bGVzIGFuZCB0aGUgb25seSBhdmFpbGFibGUgb25lIGlzIGFscmVhZHkg c2VsZWN0ZWQpLCBjeWNsaW5nIHRocm91Z2gKK3RoZSBtZW51IHdpbGwgbGVhZCB0byBhbiBpbmZp bml0ZSBsb29wIGFuZCB0aHVzIGEgZGlzZnVuY3Rpb25hbCBmbHV4Ym94LgorCitUaGlzIGNvbW1p dCBhZGRyZXNzZXMgdGhlIGlzc3VlIGJ5IGNoZWNraW5nIGlmIHRoZXJlIGlzIGFueSBzZWxlY3Rh YmxlCitpdGVtIGJlZm9yZSBlbnRlcmluZyB0aGUgY3ljbGluZyBzdGFnZS4KKworRGlzY292ZXJl ZCBieSBTw6liYXN0aWVuIEJhbGxldFsxXS4KKworWzFdOiBodHRwczovL3NvdXJjZWZvcmdlLm5l dC9wL2ZsdXhib3gvYnVncy8xMTg1LworLS0tCisgc3JjL0ZiVGsvTWVudS5jYyB8IDIxICsrKysr KysrKysrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA2IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL0ZiVGsvTWVudS5jYyBiL3NyYy9GYlRrL01l bnUuY2MKK2luZGV4IDZiMmRiM2E0Li5mZjA0MGJhZSAxMDA2NDQKKy0tLSBhL3NyYy9GYlRrL01l bnUuY2MKKysrKyBiL3NyYy9GYlRrL01lbnUuY2MKK0BAIC0zMjAsMTUgKzMyMCwyNCBAQCB2b2lk IE1lbnU6Omxvd2VyKCkgeworIAorIHZvaWQgTWVudTo6Y3ljbGVJdGVtcyhib29sIHJldmVyc2Up IHsKKyAKKy0gICAgaWYgKG1faXRlbXMuZW1wdHkoKSkKKy0gICAgICAgIHJldHVybjsKKy0KKy0g ICAgaW50IG9mZnNldCA9IHJldmVyc2UgPyAtMSA6IDE7CisgICAgIGludCBsID0gbV9pdGVtcy5z aXplKCk7CistICAgIGludCBpID0gbV9hY3RpdmVfaW5kZXg7CisrICAgIGludCBpOworKyAgICBp bnQgb2Zmc2V0ID0gcmV2ZXJzZSA/IC0xIDogMTsKKyAgICAgc2l6ZV90IGlnbm9yZTsKKyAKKy0g ICAgZm9yIChpICs9IG9mZnNldDsgaSAhPSBtX2FjdGl2ZV9pbmRleDsgaSArPSBvZmZzZXQgKSB7 CisrICAgIC8vIGNoZWNrIGlmIHRoZXJlIGlzIF9hbnlfIHNlbGVjdGFibGUgaXRlbQorKyAgICBm b3IgKGkgPSAwOyBpIDwgbDsgaSsrKSB7CisrICAgICAgICBpZiAoaXNJdGVtU2VsZWN0YWJsZShp KSkgeworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgfQorKyAgICB9CisrCisrICAgIC8v IG5vIHNlbGVjdGFibGUgaXRlbQorKyAgICBpZiAoaSA+PSBsKSB7CisrICAgICAgICByZXR1cm47 CisrICAgIH0KKysKKysgICAgZm9yIChpID0gbV9hY3RpdmVfaW5kZXggKyBvZmZzZXQ7IGkgIT0g bV9hY3RpdmVfaW5kZXg7IGkgKz0gb2Zmc2V0ICkgeworICAgICAgICAgaWYgKGkgPCAwKSB7Cisg ICAgICAgICAgICAgaSA9IGwgLSAxOworICAgICAgICAgfSBlbHNlIGlmIChpID49IGwpIHsKKy0t IAorMi4zOS4wCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzLzIyODY2YzRk MzBmNWIyODljNDI5YzVjYTg4ZDgwMDIwMGRiNGZjNGYucGF0Y2ggYi9zcmNwa2dzL2ZsdXhib3gv cGF0Y2hlcy8yMjg2NmM0ZDMwZjViMjg5YzQyOWM1Y2E4OGQ4MDAyMDBkYjRmYzRmLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzE1MTY0M2NiNDUuLjAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy8yMjg2NmM0ZDMwZjViMjg5YzQyOWM1Y2E4OGQ4 MDAyMDBkYjRmYzRmLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotRnJvbSAy Mjg2NmM0ZDMwZjViMjg5YzQyOWM1Y2E4OGQ4MDAyMDBkYjRmYzRmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogSm9obiBTZW5uZXNhZWwgPGpvaG5AYW1pbmtpbmcuY29tPgotRGF0ZTog TW9uLCAyIE5vdiAyMDE1IDE1OjE0OjMyIC0wNjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeGVzIGJ1 ZyAjMTEzOAotCi0tLS0KLSB1dGlsL2ZsdXhib3gtcmVtb3RlLmNjIHwgMiArLQotIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdXRp bC9mbHV4Ym94LXJlbW90ZS5jYyBiL3V0aWwvZmx1eGJveC1yZW1vdGUuY2MKLWluZGV4IDU5ODUy ZTZhNy4uNTA0MDE1YjUwIDEwMDY0NAotLS0tIGEvdXRpbC9mbHV4Ym94LXJlbW90ZS5jYwotKysr IGIvdXRpbC9mbHV4Ym94LXJlbW90ZS5jYwotQEAgLTczLDcgKzczLDcgQEAgaW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KSB7Ci0gICAgIGlmIChzdHJjbXAoY21kLCAicmVzdWx0IikgPT0g MCkgewotICAgICAgICAgWFRleHRQcm9wZXJ0eSB0ZXh0X3Byb3A7Ci0gICAgICAgICBpZiAoWEdl dFRleHRQcm9wZXJ0eShkaXNwLCByb290LCAmdGV4dF9wcm9wLCBhdG9tX3Jlc3VsdCkgIT0gMAot LSAgICAgICAgICAgICYmIHRleHRfcHJvcC52YWx1ZSA+IDAKLSsgICAgICAgICAgICAmJiB0ZXh0 X3Byb3AudmFsdWUgIT0gMAotICAgICAgICAgICAgICYmIHRleHRfcHJvcC5uaXRlbXMgPiAwKSB7 Ci0gCi0gICAgICAgICAgICAgcHJpbnRmKCIlcyIsIHRleHRfcHJvcC52YWx1ZSk7CmRpZmYgLS1n aXQgYS9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy9NaW5PdmVybGFwUGxhY2VtZW50LmNjX2ltcHJv dmUucGF0Y2ggYi9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy9NaW5PdmVybGFwUGxhY2VtZW50LmNj X2ltcHJvdmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41 YjY0YjExYWIyYTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy9N aW5PdmVybGFwUGxhY2VtZW50LmNjX2ltcHJvdmUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorLS0t IGEvc3JjL01pbk92ZXJsYXBQbGFjZW1lbnQuY2MgIDIwMTUtMDItMDggMDU6NDQ6MzQuMDAwMDAw MDAwIC0wNTAwCisrKysgYi9zcmMvTWluT3ZlcmxhcFBsYWNlbWVudC5jYyAgMjAyMi0wNy0xOCAx NToxNDo0MS4wMTIyNzUyMDAgLTA0MDAKK0BAIC0xOTYsMTkgKzE5NiwyMSBAQAorICAgICBzdGQ6 OnNldDxBcmVhPjo6aXRlcmF0b3IgbWluX3JlZyA9IGFyZWFzLmVuZCgpOworCisgICAgIHN0ZDo6 c2V0PEFyZWE+OjppdGVyYXRvciBhcl9pdCA9IGFyZWFzLmJlZ2luKCk7CisrICAgIGludCBvdmVy bGFwID0gMCwgbWluX3JpZ2h0ID0gMCwgbWluX2JvdHRvbSA9IDAsIG1heF9sZWZ0ID0gMCwgbWF4 X3RvcCA9IDA7CisrCisgICAgIGZvciAoOyBhcl9pdCAhPSBhcmVhcy5lbmQoKTsgKythcl9pdCkg eworCistICAgICAgICBpbnQgb3ZlcmxhcCA9IDA7CisrICAgICAgICBvdmVybGFwID0gMDsKKyAg ICAgICAgIGl0ID0gY29uc3Rfd2luZG93bGlzdC5yYmVnaW4oKTsKKyAgICAgICAgIGZvciAoOyBp dCAhPSBpdF9lbmQ7ICsraXQpIHsKKworICAgICAgICAgICAgIGdldFdpbmRvd0RpbWVuc2lvbnMo KigqaXQpLCBsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b20pOworCisgICAgICAgICAgICAgLy8gZ2V0 IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgb3ZlcmxhcCByZWdpb24KKy0gICAgICAgICAgICBpbnQg bWluX3JpZ2h0ID0gc3RkOjptaW4ocmlnaHQsIGFyX2l0LT54ICsgd2luX3cpOworLSAgICAgICAg ICAgIGludCBtaW5fYm90dG9tID0gc3RkOjptaW4oYm90dG9tLCBhcl9pdC0+eSArIHdpbl9oKTsK Ky0gICAgICAgICAgICBpbnQgbWF4X2xlZnQgPSBzdGQ6Om1heChsZWZ0LCBhcl9pdC0+eCk7Cist ICAgICAgICAgICAgaW50IG1heF90b3AgPSBzdGQ6Om1heCh0b3AsIGFyX2l0LT55KTsKKysgICAg ICAgICAgICBtaW5fcmlnaHQgPSBzdGQ6Om1pbihyaWdodCwgYXJfaXQtPnggKyB3aW5fdyk7Cisr ICAgICAgICAgICAgbWluX2JvdHRvbSA9IHN0ZDo6bWluKGJvdHRvbSwgYXJfaXQtPnkgKyB3aW5f aCk7CisrICAgICAgICAgICAgbWF4X2xlZnQgPSBzdGQ6Om1heChsZWZ0LCBhcl9pdC0+eCk7Cisr ICAgICAgICAgICAgbWF4X3RvcCA9IHN0ZDo6bWF4KHRvcCwgYXJfaXQtPnkpOworCisgICAgICAg ICAgICAgLy8gbm93IGNvbXB1dGUgdGhlIG92ZXJsYXAgYW5kIGFkZCB0byBydW5uaW5nIHRvdGFs CisgICAgICAgICAgICAgaWYgKG1pbl9yaWdodCA+IG1heF9sZWZ0ICYmIG1pbl9ib3R0b20gPiBt YXhfdG9wKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvY2VudGVyLnBhdGNo IGIvc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvY2VudGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMzllM2U0YzdmMzdlCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvY2VudGVyLnBhdGNoCkBAIC0wLDAgKzEsMzA3IEBACitG cm9tIGVjODM5OTNjMjM2ZGU5Yzk0NDJlMmZjZDMxYzA4YWFlODUyYTVhMTYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgorRGF0ZTogRnJp LCAyMiBKdWwgMjAyMiAyMToyMTozMyAtMDQwMAorU3ViamVjdDogW1BBVENIIDEvMl0gd2hpdGVz cGFjZSBjbGVhbnVwCisKKy0tLQorIGRvYy9hc2NpaWRvYy9mbHV4Ym94LnR4dCB8ICA4ICsrKyst LS0tCisgc3JjL1NjcmVlblBsYWNlbWVudC5jYyAgIHwgMTIgKysrKysrLS0tLS0tCisgc3JjL1Nj cmVlblBsYWNlbWVudC5oaCAgIHwgMTAgKysrKystLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTUg aW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2MvYXNjaWlk b2MvZmx1eGJveC50eHQgYi9kb2MvYXNjaWlkb2MvZmx1eGJveC50eHQKK2luZGV4IDk1NjI0ODQy Li4wZTNmMjdiOSAxMDA2NDQKKy0tLSBhL2RvYy9hc2NpaWRvYy9mbHV4Ym94LnR4dAorKysrIGIv ZG9jL2FzY2lpZG9jL2ZsdXhib3gudHh0CitAQCAtNCw3ICs0LDcgQEAgSGVucmlrIEtpbm51bmVu IDxmbHV4Z2VuQGZsdXhib3gub3JnPgorIHYxLjMuNywgMDggRmVicnVhcnkgMjAxNQorIDptYW4g c291cmNlOiAgIGZsdXhib3gudHh0CisgOm1hbiB2ZXJzaW9uOiAge3JldmlzaW9ufQorLTptYW4g bWFudWFsOiAgIEZsdXhib3ggTWFudWFsICAKKys6bWFuIG1hbnVhbDogICBGbHV4Ym94IE1hbnVh bAorIAorIE5BTUUKKyAtLS0tCitAQCAtNDc1LDcgKzQ3NSw3IEBAIEJ5IGRlZmF1bHQsIHRoaXMg bWVudSBjb250YWluczoKKyAKKyAqUmVtZW1iZXIuLi4qOjo6CisgU3BlY2lmeSB3aGljaCB3aW5k b3cgc2V0dGluZ3Mgc2hvdWxkIGJlIHN0b3JlZCBpbiB0aGUgYGFwcHMnIGZpbGUgYW5kCistcmVz dW1lZCB0aGUgbmV4dCB0aW1lIHRoaXMgd2luZG93IGlzIG9wZW5lZC4gCisrcmVzdW1lZCB0aGUg bmV4dCB0aW1lIHRoaXMgd2luZG93IGlzIG9wZW5lZC4KKyArCisgU3BlY2lmaWNhbGx5IHRoZSBz ZXR0aW5nIHlvdSBtYXkgc3RvcmUgYXJlOgorICsKK0BAIC03NDAsNyArNzQwLDcgQEAgVGhlcmUg YXJlIHRocmVlIG1vcmUgc2V0dGluZ3MgaW4gdGhlIGBgRm9jdXMgTW9kZWwnJyBtZW51OgorIAor IFRBQiBPUFRJT05TCisgLS0tLS0tLS0tLS0KKy1UaGlzIHNlY3Rpb24gb2YgZmx1eGJveCBjb25m aWd1cmF0aW9uIG1lbnUgbGV0cyB5b3UgY29uZmlndXJlIG1hbnkgZmVhdHVyZXMgb2YgCisrVGhp cyBzZWN0aW9uIG9mIGZsdXhib3ggY29uZmlndXJhdGlvbiBtZW51IGxldHMgeW91IGNvbmZpZ3Vy ZSBtYW55IGZlYXR1cmVzIG9mCisgdGFicy4gSW5zaWRlIG9mIGl0IHRoZXJlIGFyZSB0aHJlZSBt YWluIG9wdGlvbnM6CisgCisgKlBsYWNlbWVudCo6OjoKK0BAIC0xMDYwLDcgKzEwNjAsNyBAQCB3 aGVuZXZlciB0aGUgbW91c2UgbW92ZXMgb3ZlciB0aGVtLCBidXQgb25seSB3aGVuIHRoZSBtb3Vz ZSBpcyBtb3ZpbmcuIFdpdGgKKyBhcmVhLCBldmVuIGlmIHRoaXMgaXMgZHVlIHRvIGxheWVyIGNo YW5nZXMsIHdpbmRvdyBtb3ZlbWVudCwgY2hhbmdpbmcgZGVza3RvcHMsIGNsb3Npbmcgd2luZG93 cywgZXRjLgorICsKKyBEZWZhdWx0OiAqQ2xpY2tUb0ZvY3VzKgorLSAgICAgIAorKworICpzZXNz aW9uLnNjcmVlbjAuYXV0b1JhaXNlKjogJ2Jvb2xlYW4nOjoKKyBXaGVuIFRydWUsIHRoaXMgc2V0 dGluZyBhdXRvbWF0aWNhbGx5IHJhaXNlcyBhbnkgd2luZG93IHRoYXQgZ2FpbnMgZm9jdXMuCisg KworZGlmZiAtLWdpdCBhL3NyYy9TY3JlZW5QbGFjZW1lbnQuY2MgYi9zcmMvU2NyZWVuUGxhY2Vt ZW50LmNjCitpbmRleCAxOWRkZjc4YS4uY2E1OGQ4M2YgMTAwNjQ0CistLS0gYS9zcmMvU2NyZWVu UGxhY2VtZW50LmNjCisrKysgYi9zcmMvU2NyZWVuUGxhY2VtZW50LmNjCitAQCAtNDMsMTQgKzQz LDE0IEBAIHVzaW5nIHN0ZDo6Y2VycjsKKyB1c2luZyBzdGQ6OmVuZGw7CisgCisgU2NyZWVuUGxh Y2VtZW50OjpTY3JlZW5QbGFjZW1lbnQoQlNjcmVlbiAmc2NyZWVuKToKKy0gICAgbV9yb3dfZGly ZWN0aW9uKHNjcmVlbi5yZXNvdXJjZU1hbmFnZXIoKSwgTEVGVFJJR0hULCAKKy0gICAgICAgICAg ICAgICAgICAgIHNjcmVlbi5uYW1lKCkrIi5yb3dQbGFjZW1lbnREaXJlY3Rpb24iLCAKKysgICAg bV9yb3dfZGlyZWN0aW9uKHNjcmVlbi5yZXNvdXJjZU1hbmFnZXIoKSwgTEVGVFJJR0hULAorKyAg ICAgICAgICAgICAgICAgICAgc2NyZWVuLm5hbWUoKSsiLnJvd1BsYWNlbWVudERpcmVjdGlvbiIs CisgICAgICAgICAgICAgICAgICAgICBzY3JlZW4uYWx0TmFtZSgpKyIuUm93UGxhY2VtZW50RGly ZWN0aW9uIiksCistICAgIG1fY29sX2RpcmVjdGlvbihzY3JlZW4ucmVzb3VyY2VNYW5hZ2VyKCks IFRPUEJPVFRPTSwgCistICAgICAgICAgICAgICAgICAgICBzY3JlZW4ubmFtZSgpKyIuY29sUGxh Y2VtZW50RGlyZWN0aW9uIiwgCisrICAgIG1fY29sX2RpcmVjdGlvbihzY3JlZW4ucmVzb3VyY2VN YW5hZ2VyKCksIFRPUEJPVFRPTSwKKysgICAgICAgICAgICAgICAgICAgIHNjcmVlbi5uYW1lKCkr Ii5jb2xQbGFjZW1lbnREaXJlY3Rpb24iLAorICAgICAgICAgICAgICAgICAgICAgc2NyZWVuLmFs dE5hbWUoKSsiLkNvbFBsYWNlbWVudERpcmVjdGlvbiIpLAorLSAgICBtX3BsYWNlbWVudF9wb2xp Y3koc2NyZWVuLnJlc291cmNlTWFuYWdlcigpLCBST1dNSU5PVkVSTEFQUExBQ0VNRU5ULCAKKy0g ICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbi5uYW1lKCkrIi53aW5kb3dQbGFjZW1lbnQiLCAK KysgICAgbV9wbGFjZW1lbnRfcG9saWN5KHNjcmVlbi5yZXNvdXJjZU1hbmFnZXIoKSwgUk9XTUlO T1ZFUkxBUFBMQUNFTUVOVCwKKysgICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbi5uYW1lKCkr Ii53aW5kb3dQbGFjZW1lbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgc2NyZWVuLmFsdE5h bWUoKSsiLldpbmRvd1BsYWNlbWVudCIpLAorICAgICBtX29sZF9wb2xpY3koUk9XU01BUlRQTEFD RU1FTlQpLAorICAgICBtX3NjcmVlbihzY3JlZW4pCitkaWZmIC0tZ2l0IGEvc3JjL1NjcmVlblBs YWNlbWVudC5oaCBiL3NyYy9TY3JlZW5QbGFjZW1lbnQuaGgKK2luZGV4IDBmMjEwZDk0Li5mMTIz NDk4MyAxMDA2NDQKKy0tLSBhL3NyYy9TY3JlZW5QbGFjZW1lbnQuaGgKKysrKyBiL3NyYy9TY3Jl ZW5QbGFjZW1lbnQuaGgKK0BAIC0zNCw3ICszNCw3IEBAIGNsYXNzIEJTY3JlZW47CisgCisgLyoq CisgICogTWFpbiBjbGFzcyBmb3Igc3RyYXRlZ3kgaGFuZGxpbmcKKy0gKiBUaGlzIGlzIGEgYnJp ZGdlIGJldHdlZW4gc2NyZWVuIGFuZCAKKysgKiBUaGlzIGlzIGEgYnJpZGdlIGJldHdlZW4gc2Ny ZWVuIGFuZAorICAqIHRoZSByZWFsIHBsYWNlbWVudCBzdHJhdGVneSAocm93Y29sLCB1bmRlcm1v dXNlIGV0YykKKyAgKiBUaGUgcGxhY2VXaW5kb3cgZnVuY3Rpb24gaW4gdGhpcyBjbGFzcyBpcyBn dWFyYW50ZWVkIHRvIHN1Y2NlZWQuCisgICogSXQgaG9sZHMgYSBwb2ludGVyIHRvIHRoZSByZWFs IHBsYWNlbWVudCBzdHJhdGVneSB3aGljaCBpcworQEAgLTQyLDggKzQyLDggQEAgY2xhc3MgQlNj cmVlbjsKKyAgKi8KKyBjbGFzcyBTY3JlZW5QbGFjZW1lbnQ6IHB1YmxpYyBQbGFjZW1lbnRTdHJh dGVneSB7CisgcHVibGljOgorLSAgICBlbnVtIFBsYWNlbWVudFBvbGljeSB7IAorLSAgICAgICAg Uk9XU01BUlRQTEFDRU1FTlQsIAorKyAgICBlbnVtIFBsYWNlbWVudFBvbGljeSB7CisrICAgICAg ICBST1dTTUFSVFBMQUNFTUVOVCwKKyAgICAgICAgIENPTFNNQVJUUExBQ0VNRU5ULAorICAgICAg ICAgQ09MTUlOT1ZFUkxBUFBMQUNFTUVOVCwKKyAgICAgICAgIFJPV01JTk9WRVJMQVBQTEFDRU1F TlQsCitAQCAtNTIsMTEgKzUyLDExIEBAIHB1YmxpYzoKKyAgICAgICAgIEFVVE9UQUJQTEFDRU1F TlQKKyAgICAgfTsKKyAKKy0gICAgZW51bSBSb3dEaXJlY3Rpb24geyAKKysgICAgZW51bSBSb3dE aXJlY3Rpb24geworICAgICAgICAgTEVGVFJJR0hULCAvLy88IGZyb20gbGVmdCB0byByaWdodAor ICAgICAgICAgUklHSFRMRUZUICAvLy88IGZyb20gcmlnaHQgdG8gbGVmdAorICAgICB9OworLSAg ICBlbnVtIENvbHVtbkRpcmVjdGlvbiB7IAorKyAgICBlbnVtIENvbHVtbkRpcmVjdGlvbiB7Cisg ICAgICAgICBUT1BCT1RUT00sICAvLy88IGZyb20gdG9wIHRvIGJvdHRvbQorICAgICAgICAgQk9U VE9NVE9QICAgLy8vPCBmcm9tIGJvdHRvbSB0byB0b3AKKyAgICAgfTsKKy0tIAorMi4zNy4xCisK KworRnJvbSA2ZTA1ZjQ0Yzk0ZmE0YmZjMGU0NGU4ZjQyYTlkMjQ2NjVhOTU4NDBmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KK0RhdGU6 IEZyaSwgMjIgSnVsIDIwMjIgMjE6Mjc6MjUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIG5l dyBmZWF0dXJlOiBDZW50ZXJQbGFjZW1lbnQuIFBsYWNlcyBuZXcgd2luZG93cyBpbgorIGNlbnRl ciBvZiB0aGUgY3VycmVudCB3b3Jrc3BhY2UKKworLS0tCisgZG9jL2FzY2lpZG9jL2ZsdXhib3gu dHh0IHwgIDEgKworIHNyYy9DZW50ZXJQbGFjZW1lbnQuY2MgICB8IDQzICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzcmMvQ2VudGVyUGxhY2VtZW50LmhoICAgfCAz NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgc3JjL01ha2Vtb2R1bGUuYW0g ICAgICAgIHwgIDIgKysKKyBzcmMvU2NyZWVuUGxhY2VtZW50LmNjICAgfCAgOCArKysrKysrKwor IHNyYy9TY3JlZW5QbGFjZW1lbnQuaGggICB8ICAxICsKKyA2IGZpbGVzIGNoYW5nZWQsIDkyIGlu c2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL0NlbnRlclBsYWNlbWVudC5jYwor IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvQ2VudGVyUGxhY2VtZW50LmhoCisKK2RpZmYgLS1naXQg YS9kb2MvYXNjaWlkb2MvZmx1eGJveC50eHQgYi9kb2MvYXNjaWlkb2MvZmx1eGJveC50eHQKK2lu ZGV4IDBlM2YyN2I5Li40NmNhMjg2MSAxMDA2NDQKKy0tLSBhL2RvYy9hc2NpaWRvYy9mbHV4Ym94 LnR4dAorKysrIGIvZG9jL2FzY2lpZG9jL2ZsdXhib3gudHh0CitAQCAtMTE0MSw2ICsxMTQxLDcg QEAgQXZhaWxhYmxlIHN0cmF0ZWdpZXM6OzsKKyAtIFJvd1NtYXJ0UGxhY2VtZW50OiB0cmllcyB0 byBwbGFjZSB3aW5kb3dzIGluIHJvd3Mgd2l0aG91dCBvdmVybGFwcGluZworIC0gQ29sU21hcnRQ bGFjZW1lbnQ6IHRyaWVzIHRvIHBsYWNlIHdpbmRvd3MgaW4gY29sdW1ucyB3aXRob3V0IG92ZXJs YXBwaW5nCisgLSBDYXNjYWRlUGxhY2VtZW50OiBwbGFjZXMgd2luZG93cyBiZWxvdyB0aGUgdGl0 bGViYXIgb2YgdGhlIHByZXZpb3VzIG9uZQorKy0gQ2VudGVyUGxhY2VtZW50OiBwbGFjZXMgd2lu ZG93cyBpbiB0aGUgY2VudGVyIG9mIHRoZSBjdXJyZW50IHdvcmtzcGFjZQorIC0gVW5kZXJNb3Vz ZVBsYWNlbWVudDogcGxhY2VzIG5ldyB3aW5kb3dzIHVuZGVybmVhdGggdGhlIG1vdXNlCisgLSBS b3dNaW5PdmVybGFwUGxhY2VtZW50OiBwbGFjZSB3aW5kb3dzIGluIHJvd3Mgd2l0aCBtaW5pbWFs IG92ZXJsYXBwaW5nCisgLSBDb2xNaW5PdmVybGFwUGxhY2VtZW50OiBwbGFjZSB3aW5kb3dzIGlu IGNvbHVtbnMgd2l0aCBtaW5pbWFsIG92ZXJsYXBwaW5nCitkaWZmIC0tZ2l0IGEvc3JjL0NlbnRl clBsYWNlbWVudC5jYyBiL3NyYy9DZW50ZXJQbGFjZW1lbnQuY2MKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMC4uZWZhZjc2YjkKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy9D ZW50ZXJQbGFjZW1lbnQuY2MKK0BAIC0wLDAgKzEsNDMgQEAKKysvLyBDZW50ZXJQbGFjZW1lbnQu Y2MKKysvLyBDb3B5cmlnaHQgKGMpIDIwMDYgRmx1eGJveCBUZWFtIChmbHV4Z2VuIGF0IGZsdXhi b3ggZG90IG9yZykKKysvLworKy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisrLy8gY29weSBvZiB0aGlzIHNv ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUi KSwKKysvLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs dWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisrLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisrLy8gYW5kL29y IHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdo b20gdGhlCisrLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKysvLworKy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90 aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisrLy8g YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisrLy8K KysvLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP RiBBTlkgS0lORCwgRVhQUkVTUyBPUgorKy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorKy8vIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVO VCBTSEFMTAorKy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG T1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisrLy8gTElBQklMSVRZLCBXSEVUSEVSIElO IEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKysvLyBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSCisrLy8gREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorKworKyNpbmNsdWRlICJD ZW50ZXJQbGFjZW1lbnQuaGgiCisrCisrI2luY2x1ZGUgIkZiVGsvQXBwLmhoIgorKyNpbmNsdWRl ICJTY3JlZW4uaGgiCisrI2luY2x1ZGUgIldpbmRvdy5oaCIKKysKKytib29sIENlbnRlclBsYWNl bWVudDo6cGxhY2VXaW5kb3coY29uc3QgRmx1eGJveFdpbmRvdyAmd2luLCBpbnQgaGVhZCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAmcGxhY2VfeCwgaW50ICZw bGFjZV95KSB7CisrCisrICAgIGludCBjZW50X3ggPSAoc2lnbmVkKSB3aW4uc2NyZWVuKCkubWF4 UmlnaHQoaGVhZCkgLSAoc2lnbmVkKSB3aW4uc2NyZWVuKCkubWF4TGVmdChoZWFkKTsKKysgICAg aW50IGNlbnRfeSA9IChzaWduZWQpIHdpbi5zY3JlZW4oKS5tYXhCb3R0b20oaGVhZCkgLSAoc2ln bmVkKSB3aW4uc2NyZWVuKCkubWF4VG9wKGhlYWQpOworKworKyAgICAvLyBib3JkZXIgb24gMSBz aWRlLCBkaXZpZGluZyBpbiBoYWxmCisrICAgIC8vIHdpdGggcm91bmRpbmcsIHRoaXMgd2lsbCBw cm9iYWJseSBmYXZvciB0b3AgbGVmdAorKyAgICBpbnQgd2luX2hhbGZfdyA9ICh3aW4ud2lkdGgo KSAvIDIpICsgd2luLmZiV2luZG93KCkuYm9yZGVyV2lkdGgoKSwKKysgICAgICAgIHdpbl9oYWxm X2ggPSAod2luLmhlaWdodCgpIC8gMikgKyB3aW4uZmJXaW5kb3coKS5ib3JkZXJXaWR0aCgpOwor KworKyAgICBwbGFjZV94ID0gY2VudF94IC0gd2luX2hhbGZfdzsKKysgICAgcGxhY2VfeSA9IGNl bnRfeSAtIHdpbl9oYWxmX2g7CisrCisrICAgIHJldHVybiB0cnVlOworK30KK2RpZmYgLS1naXQg YS9zcmMvQ2VudGVyUGxhY2VtZW50LmhoIGIvc3JjL0NlbnRlclBsYWNlbWVudC5oaAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwLi45ZjcwYTZjOAorLS0tIC9kZXYvbnVsbAor KysrIGIvc3JjL0NlbnRlclBsYWNlbWVudC5oaAorQEAgLTAsMCArMSwzNyBAQAorKy8vIENlbnRl clBsYWNlbWVudC5oaAorKy8vIENvcHlyaWdodCAoYykgMjAwNyBGbHV4Ym94IFRlYW0gKGZsdXhn ZW4gYXQgZmx1eGJveCBkb3Qgb3JnKQorKy8vCisrLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKysvLyBjb3B5 IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl ICJTb2Z0d2FyZSIpLAorKy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJp Y3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKysvLyB0aGUgcmlnaHRzIHRvIHVz ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwK KysvLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBl cnNvbnMgdG8gd2hvbSB0aGUKKysvLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1 YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKy8vCisrLy8gVGhlIGFib3ZlIGNv cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk ZWQgaW4KKysvLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0 d2FyZS4KKysvLworKy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU IFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisrLy8gSU1QTElFRCwgSU5DTFVESU5H IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisr Ly8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g IElOIE5PIEVWRU5UIFNIQUxMCisrLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg QkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKysvLyBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ U0lORworKy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF IE9SIFRIRSBVU0UgT1IgT1RIRVIKKysvLyBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisrCisr I2lmbmRlZiBDRU5URVJQTEFDRU1FTlRfSEgKKysjZGVmaW5lIENFTlRFUlBMQUNFTUVOVF9ISAor KworKyNpbmNsdWRlICJTY3JlZW5QbGFjZW1lbnQuaGgiCisrCisrY2xhc3MgQ2VudGVyUGxhY2Vt ZW50OiBwdWJsaWMgUGxhY2VtZW50U3RyYXRlZ3kgeworK3B1YmxpYzoKKysgICAgQ2VudGVyUGxh Y2VtZW50KCkgeyB9OworKworKyAgICBib29sIHBsYWNlV2luZG93KGNvbnN0IEZsdXhib3hXaW5k b3cgJndpbiwgaW50IGhlYWQsCisrICAgICAgICAgICAgICAgICAgICAgaW50ICZwbGFjZV94LCBp bnQgJnBsYWNlX3kpOworKworK3ByaXZhdGU6CisrfTsKKysKKysjZW5kaWYgLy8gQ0VOVEVSUExB Q0VNRU5UX0hICitkaWZmIC0tZ2l0IGEvc3JjL01ha2Vtb2R1bGUuYW0gYi9zcmMvTWFrZW1vZHVs ZS5hbQoraW5kZXggNWJlNTY5MmMuLjUzZDM1ZThlIDEwMDY0NAorLS0tIGEvc3JjL01ha2Vtb2R1 bGUuYW0KKysrKyBiL3NyYy9NYWtlbW9kdWxlLmFtCitAQCAtMTY1LDYgKzE2NSw4IEBAIGZsdXhi b3hfU09VUkNFUyA9IFwKKyAJc3JjL0F0dGVudGlvbk5vdGljZUhhbmRsZXIuaGggXAorIAlzcmMv Q2FzY2FkZVBsYWNlbWVudC5jYyBcCisgCXNyYy9DYXNjYWRlUGxhY2VtZW50LmhoIFwKKysJc3Jj L0NlbnRlclBsYWNlbWVudC5jYyBcCisrCXNyYy9DZW50ZXJQbGFjZW1lbnQuaGggXAorIAlzcmMv Q2xpZW50TWVudS5jYyBcCisgCXNyYy9DbGllbnRNZW51LmhoIFwKKyAJc3JjL0NsaWVudFBhdHRl cm4uY2MgXAorZGlmZiAtLWdpdCBhL3NyYy9TY3JlZW5QbGFjZW1lbnQuY2MgYi9zcmMvU2NyZWVu UGxhY2VtZW50LmNjCitpbmRleCBjYTU4ZDgzZi4uY2U0N2E5MTAgMTAwNjQ0CistLS0gYS9zcmMv U2NyZWVuUGxhY2VtZW50LmNjCisrKysgYi9zcmMvU2NyZWVuUGxhY2VtZW50LmNjCitAQCAtMjQs NiArMjQsNyBAQAorICNpbmNsdWRlICJSb3dTbWFydFBsYWNlbWVudC5oaCIKKyAjaW5jbHVkZSAi TWluT3ZlcmxhcFBsYWNlbWVudC5oaCIKKyAjaW5jbHVkZSAiVW5kZXJNb3VzZVBsYWNlbWVudC5o aCIKKysjaW5jbHVkZSAiQ2VudGVyUGxhY2VtZW50LmhoIgorICNpbmNsdWRlICJDb2xTbWFydFBs YWNlbWVudC5oaCIKKyAjaW5jbHVkZSAiQ2FzY2FkZVBsYWNlbWVudC5oaCIKKyAKK0BAIC04Miw2 ICs4Myw5IEBAIGJvb2wgU2NyZWVuUGxhY2VtZW50OjpwbGFjZVdpbmRvdyhjb25zdCBGbHV4Ym94 V2luZG93ICZ3aW4sIGludCBoZWFkLAorICAgICAgICAgY2FzZSBVTkRFUk1PVVNFUExBQ0VNRU5U OgorICAgICAgICAgICAgIG1fc3RyYXRlZ3kucmVzZXQobmV3IFVuZGVyTW91c2VQbGFjZW1lbnQo KSk7CisgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENFTlRFUlBMQUNFTUVOVDoK KysgICAgICAgICAgICBtX3N0cmF0ZWd5LnJlc2V0KG5ldyBDZW50ZXJQbGFjZW1lbnQoKSk7Cisr ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICBjYXNlIEFVVE9UQUJQTEFDRU1FTlQ6CisgICAg ICAgICAgICAgbV9zdHJhdGVneS5yZXNldCgwKTsKKyAgICAgICAgICAgICBicmVhazsKK0BAIC0x OTcsNiArMjAxLDggQEAgc3RkOjpzdHJpbmcgRmJUazo6UmVzb3VyY2U8U2NyZWVuUGxhY2VtZW50 OjpQbGFjZW1lbnRQb2xpY3k+OjpnZXRTdHJpbmcoKSBjb25zdAorICAgICAgICAgcmV0dXJuICJD b2xNaW5PdmVybGFwUGxhY2VtZW50IjsKKyAgICAgY2FzZSBTY3JlZW5QbGFjZW1lbnQ6OlVOREVS TU9VU0VQTEFDRU1FTlQ6CisgICAgICAgICByZXR1cm4gIlVuZGVyTW91c2VQbGFjZW1lbnQiOwor KyAgICBjYXNlIFNjcmVlblBsYWNlbWVudDo6Q0VOVEVSUExBQ0VNRU5UOgorKyAgICAgICAgcmV0 dXJuICJDZW50ZXJQbGFjZW1lbnQiOworICAgICBjYXNlIFNjcmVlblBsYWNlbWVudDo6Q0FTQ0FE RVBMQUNFTUVOVDoKKyAgICAgICAgIHJldHVybiAiQ2FzY2FkZVBsYWNlbWVudCI7CisgICAgIGNh c2UgU2NyZWVuUGxhY2VtZW50OjpBVVRPVEFCUExBQ0VNRU5UOgorQEAgLTIxOCw2ICsyMjQsOCBA QCB2b2lkIEZiVGs6OlJlc291cmNlPFNjcmVlblBsYWNlbWVudDo6UGxhY2VtZW50UG9saWN5Pjo6 c2V0RnJvbVN0cmluZyhjb25zdCBjaGFyCisgICAgICAgICAqKCp0aGlzKSA9IFNjcmVlblBsYWNl bWVudDo6Q09MTUlOT1ZFUkxBUFBMQUNFTUVOVDsKKyAgICAgZWxzZSBpZiAoc3RyY2FzZWNtcCgi VW5kZXJNb3VzZVBsYWNlbWVudCIsIHN0cikgPT0gMCkKKyAgICAgICAgICooKnRoaXMpID0gU2Ny ZWVuUGxhY2VtZW50OjpVTkRFUk1PVVNFUExBQ0VNRU5UOworKyAgICBlbHNlIGlmIChzdHJjYXNl Y21wKCJDZW50ZXJQbGFjZW1lbnQiLCBzdHIpID09IDApCisrICAgICAgICAqKCp0aGlzKSA9IFNj cmVlblBsYWNlbWVudDo6Q0VOVEVSUExBQ0VNRU5UOworICAgICBlbHNlIGlmIChzdHJjYXNlY21w KCJDYXNjYWRlUGxhY2VtZW50Iiwgc3RyKSA9PSAwKQorICAgICAgICAgKigqdGhpcykgPSBTY3Jl ZW5QbGFjZW1lbnQ6OkNBU0NBREVQTEFDRU1FTlQ7CisgICAgIGVsc2UgaWYgKHN0cmNhc2VjbXAo IkF1dG90YWJQbGFjZW1lbnQiLCBzdHIpID09IDApCitkaWZmIC0tZ2l0IGEvc3JjL1NjcmVlblBs YWNlbWVudC5oaCBiL3NyYy9TY3JlZW5QbGFjZW1lbnQuaGgKK2luZGV4IGYxMjM0OTgzLi5hNWM5 Yjg4NSAxMDA2NDQKKy0tLSBhL3NyYy9TY3JlZW5QbGFjZW1lbnQuaGgKKysrKyBiL3NyYy9TY3Jl ZW5QbGFjZW1lbnQuaGgKK0BAIC00OSw2ICs0OSw3IEBAIHB1YmxpYzoKKyAgICAgICAgIFJPV01J Tk9WRVJMQVBQTEFDRU1FTlQsCisgICAgICAgICBDQVNDQURFUExBQ0VNRU5ULAorICAgICAgICAg VU5ERVJNT1VTRVBMQUNFTUVOVCwKKysgICAgICAgIENFTlRFUlBMQUNFTUVOVCwKKyAgICAgICAg IEFVVE9UQUJQTEFDRU1FTlQKKyAgICAgfTsKKyAKKy0tIAorMi4zNy4xCisKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL2NvbnRhaW5lcl9sb2Nrcy5wYXRjaCBiL3NyY3BrZ3Mv Zmx1eGJveC9wYXRjaGVzL2NvbnRhaW5lcl9sb2Nrcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ5OGFiNDRhMjNjNgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvZmx1eGJveC9wYXRjaGVzL2NvbnRhaW5lcl9sb2Nrcy5wYXRjaApAQCAtMCwwICsxLDMy NSBAQAorZGlmZiAtLWdpdCBhL3NyYy9GYldpbkZyYW1lLmNjIGIvc3JjL0ZiV2luRnJhbWUuY2MK K2luZGV4IDAwYmMxMTg3Li5mOGE0YzQ3NSAxMDA2NDQKKy0tLSBhL3NyYy9GYldpbkZyYW1lLmNj CisrKysgYi9zcmMvRmJXaW5GcmFtZS5jYworQEAgLTE0OCw2ICsxNDgsMTEgQEAgRmJXaW5GcmFt ZTo6RmJXaW5GcmFtZShCU2NyZWVuICZzY3JlZW4sIHVuc2lnbmVkIGludCBjbGllbnRfZGVwdGgs CisgICAgIG1fYnV0dG9uX3NpemUoMSksCisgICAgIG1fc2hhcGUobV93aW5kb3csIHRoZW1lLT5z aGFwZVBsYWNlKCkpIHsKKyAKKysgICAgbV9sb2NrZXJfdGltZXIuc2V0VGltZW91dCh0aW1lclZh bCgpICk7IC8vIDEwbWlsbGlzZWMKKysgICAgbV9sb2NrZXJfdGltZXIuZmlyZU9uY2UodHJ1ZSk7 CisrICAgIEZiVGs6OlJlZkNvdW50PEZiVGs6OkNvbW1hbmQ8dm9pZD4gPiB1c2lnKG5ldyBGYlRr OjpTaW1wbGVDb21tYW5kPEZiV2luRnJhbWU+KCp0aGlzLCAmRmJXaW5GcmFtZTo6dW5sb2NrU2ln KSk7CisrICAgIG1fbG9ja2VyX3RpbWVyLnNldENvbW1hbmQodXNpZyk7CisrCisgICAgIGluaXQo KTsKKyB9CisgCitAQCAtMTU2LDYgKzE2MSwyNyBAQCBGYldpbkZyYW1lOjp+RmJXaW5GcmFtZSgp IHsKKyAgICAgcmVtb3ZlQWxsQnV0dG9ucygpOworIH0KKyAKKysvLyBmb3IgaW5jcmVtZW50YWwg Y2hhbmdlcywgYmFjayBvZmYgZm9yIGEgYml0CisrLy8gcHJldmVudHMgc2xvd2Rvd24gZnJvbSBz YXksIG1ha2luZyAyMDAgd2luZG93cworK3ZvaWQgRmJXaW5GcmFtZTo6cmVzZXRMb2NrKCkgewor KyAgICBtX2xvY2tfZ2Z4ID0gdHJ1ZTsKKysgICAgbV9sb2NrZXJfdGltZXIuc3RhcnQoKTsKKyt9 CisrCisrdm9pZCBGYldpbkZyYW1lOjp1bmxvY2tTaWcoKSB7CisrICAgIG1fbG9ja19nZnggPSBm YWxzZTsKKysgICAgLy8gdGhpcyBpcyB3aGF0IHdlIHdhbnRlZCB0byBkbworKyAgICBGYlRrOjpD b250YWluZXImIHRhYnMgPSB0YWJjb250YWluZXIoKTsKKysgICAgdGFicy5zZXRVcGRhdGVMb2Nr KG1fbG9ja19nZngpOworKyAgICByZW5kZXJUYWJDb250YWluZXIoKTsKKysgICAgYXBwbHlUYWJD b250YWluZXIoKTsKKysKKysgICAgdGFicy5jbGVhcigpOworKyAgICB0YWJzLnJhaXNlKCk7Cisr ICAgIHRhYnMuc2hvdygpOworK30KKysKKysKKyBib29sIEZiV2luRnJhbWU6OnNldFRhYk1vZGUo VGFiTW9kZSB0YWJtb2RlKSB7CisgICAgIGlmIChtX3RhYm1vZGUgPT0gdGFibW9kZSkKKyAgICAg ICAgIHJldHVybiBmYWxzZTsKK0BAIC0xODcsNiArMjEzLDcgQEAgYm9vbCBGYldpbkZyYW1lOjpz ZXRUYWJNb2RlKFRhYk1vZGUgdGFibW9kZSkgeworIAorICAgICB9IGVsc2UgeworICAgICAgICAg dGFicy5zZXRVcGRhdGVMb2NrKHRydWUpOworKyAgICAgICAgcmVzZXRMb2NrKCk7CisgCisgICAg ICAgICB0YWJzLnNldEFsaWdubWVudChGYlRrOjpDb250YWluZXI6OlJFTEFUSVZFKTsKKyAgICAg ICAgIHRhYnMuc2V0T3JpZW50YXRpb24oRmJUazo6Uk9UMCk7CitAQCAtMjAwLDkgKzIyNywxMiBA QCBib29sIEZiV2luRnJhbWU6OnNldFRhYk1vZGUoVGFiTW9kZSB0YWJtb2RlKSB7CisgICAgICAg ICB9CisgICAgICAgICB0YWJzLnNldEJvcmRlcldpZHRoKDApOworICAgICAgICAgdGFicy5zZXRN YXhUb3RhbFNpemUoMCk7CistICAgICAgICB0YWJzLnNldFVwZGF0ZUxvY2soZmFsc2UpOworKyAg ICAgICAgdGFicy5zZXRVcGRhdGVMb2NrKG1fbG9ja19nZngpOworICAgICAgICAgdGFicy5zZXRN YXhTaXplUGVyQ2xpZW50KDApOworIAorKyAgICAgICAgaWYgKG1fbG9ja19nZngpCisrICAgICAg ICAgICAgcmV0dXJuIGZhbHNlOworKworICAgICAgICAgcmVuZGVyVGFiQ29udGFpbmVyKCk7Cisg ICAgICAgICBhcHBseVRhYkNvbnRhaW5lcigpOworIAorZGlmZiAtLWdpdCBhL3NyYy9GYldpbkZy YW1lLmhoIGIvc3JjL0ZiV2luRnJhbWUuaGgKK2luZGV4IDYxN2I5YjkxLi43MjVjODRhMCAxMDA2 NDQKKy0tLSBhL3NyYy9GYldpbkZyYW1lLmhoCisrKysgYi9zcmMvRmJXaW5GcmFtZS5oaAorQEAg LTMzLDYgKzMzLDcgQEAKKyAjaW5jbHVkZSAiRmJUay9Db250YWluZXIuaGgiCisgI2luY2x1ZGUg IkZiVGsvU2hhcGUuaGgiCisgI2luY2x1ZGUgIkZiVGsvU2lnbmFsLmhoIgorKyNpbmNsdWRlICJG YlRrL1RpbWVyLmhoIgorIAorICNpbmNsdWRlIDx2ZWN0b3I+CisgI2luY2x1ZGUgPG1lbW9yeT4K K0BAIC0xNzYsNiArMTc3LDEyIEBAIHB1YmxpYzoKKyAgICAgdm9pZCBzZXRTaGFwaW5nQ2xpZW50 KEZiVGs6OkZiV2luZG93ICp3aW4sIGJvb2wgYWx3YXlzX3VwZGF0ZSk7CisgICAgIHZvaWQgdXBk YXRlU2hhcGUoKSB7IG1fc2hhcGUudXBkYXRlKCk7IH0KKyAKKysgICAgdm9pZCByZXNldExvY2so KTsKKysgICAgdm9pZCB1bmxvY2tTaWcoKTsKKysgICAgRmJUazo6VGltZXIgbV9sb2NrZXJfdGlt ZXI7CisrICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgdGltZXJWYWwoKSB7IHJldHVybiAxMCAqIEZi VGs6OkZiVGltZTo6SU5fTUlMTElTRUNPTkRTOyB9CisrICAgIGJvb2wgbV9sb2NrX2dmeCA9IGZh bHNlOworKworICAgICAvKioKKyAgICAgICAgQG5hbWUgYWNjZXNzb3JzCisgICAgICovCitkaWZm IC0tZ2l0IGEvc3JjL0ljb25CdXR0b24uY2MgYi9zcmMvSWNvbkJ1dHRvbi5jYworaW5kZXggMTI5 MGMyYWEuLjJlYTdhZjllIDEwMDY0NAorLS0tIGEvc3JjL0ljb25CdXR0b24uY2MKKysrKyBiL3Ny Yy9JY29uQnV0dG9uLmNjCitAQCAtNzEsOCArNzEsOCBAQCBJY29uQnV0dG9uOjpJY29uQnV0dG9u KGNvbnN0IEZiVGs6OkZiV2luZG93ICZwYXJlbnQsCisgCisgICAgIEZiVGs6OkV2ZW50TWFuYWdl cjo6aW5zdGFuY2UoKS0+YWRkKCp0aGlzLCBtX2ljb25fd2luZG93KTsKKyAKKy0gICAgcmVjb25m aWdUaGVtZSgpOworLSAgICByZWZyZXNoRXZlcnl0aGluZyhmYWxzZSk7CisrICAgIC8vcmVjb25m aWdUaGVtZSgpOworKyAgICAvL3JlZnJlc2hFdmVyeXRoaW5nKGZhbHNlKTsKKyB9CisgCisgSWNv bkJ1dHRvbjo6fkljb25CdXR0b24oKSB7CitAQCAtMTYzLDEyICsxNjMsMTIgQEAgdm9pZCBJY29u QnV0dG9uOjpyZWNvbmZpZ1RoZW1lKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp ZHRoKCksIGhlaWdodCgpLCBtX3RoZW1lLT50ZXh0dXJlKCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3JpZW50YXRpb24oKSkpOworICAgICAgICAgc2V0QmFja2dyb3VuZFBpeG1hcCht X3BtKTsKKy0gICAgfSBlbHNleworKyAgICB9IGVsc2UgeworICAgICAgICAgbV9wbS5yZXNldCgw KTsKKyAgICAgICAgIHNldEJhY2tncm91bmRDb2xvcihtX3RoZW1lLT50ZXh0dXJlKCkuY29sb3Io KSk7CisgICAgIH0KKyAKKy0gICAgdXBkYXRlQmFja2dyb3VuZChmYWxzZSk7CisrICAgIC8vdXBk YXRlQmFja2dyb3VuZChmYWxzZSk7CisgfQorIAorIHZvaWQgSWNvbkJ1dHRvbjo6cmVjb25maWdB bmRDbGVhcigpIHsKK0BAIC0xODEsNyArMTgxLDggQEAgdm9pZCBJY29uQnV0dG9uOjpyZWZyZXNo RXZlcnl0aGluZyhib29sIHNldHVwKSB7CisgICAgIERpc3BsYXkgKmRpc3BsYXkgPSBGYlRrOjpB cHA6Omluc3RhbmNlKCktPmRpc3BsYXkoKTsKKyAgICAgaW50IHNjcmVlbiA9IG1fd2luLnNjcmVl bigpLnNjcmVlbk51bWJlcigpOworIAorLSAgICBpZiAobV91c2VfcGl4bWFwICYmIG1fd2luLmlj b24oKS5waXhtYXAoKS5kcmF3YWJsZSgpICE9IE5vbmUpIHsKKysgICAgaWYgKG1fdXNlX3BpeG1h cCAmJiBtX3dpbi5pY29uKCkucGl4bWFwKCkuZHJhd2FibGUoKSAhPSBOb25lICYmCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKCkgPiBtX2ljb25fd2luZG93Lndp ZHRoKCkgKSB7CisgICAgICAgICAvLyBzZXR1cCBpY29uIHdpbmRvdworICAgICAgICAgbV9pY29u X3dpbmRvdy5zaG93KCk7CisgICAgICAgICB1bnNpZ25lZCBpbnQgdyA9IHdpZHRoKCk7CitAQCAt MjQyLDcgKzI0Myw2IEBAIHZvaWQgSWNvbkJ1dHRvbjo6cmVmcmVzaEV2ZXJ5dGhpbmcoYm9vbCBz ZXR1cCkgeworICAgICAgICAgbV9pY29uX3dpbmRvdy5jbGVhcigpOworICAgICB9CisgCistCisg fQorIAorIHZvaWQgSWNvbkJ1dHRvbjo6Y2xpZW50VGl0bGVDaGFuZ2VkKCkgeworQEAgLTI1MSwy NCArMjUxLDMwIEBAIHZvaWQgSWNvbkJ1dHRvbjo6Y2xpZW50VGl0bGVDaGFuZ2VkKCkgeworIAor ICAgICBpZiAobV9oYXNfdG9vbHRpcCkKKyAgICAgICAgIHNob3dUb29sdGlwKCk7CisrCisgfQor IAorIHZvaWQgSWNvbkJ1dHRvbjo6c2V0dXBXaW5kb3coKSB7CisgICAgIG1faWNvbl93aW5kb3cu Y2xlYXIoKTsKKysgICAgLy9GYlRrOjpGYlN0cmluZyB0aXRsZSA9ICJ3dGYyIjsKKyAgICAgRmJU azo6RmJTdHJpbmcgdGl0bGUgPSBtX3dpbi50aXRsZSgpLmxvZ2ljYWwoKTsKKy0gICAgaWYgKG1f d2luLmZid2luZG93KCkgJiYgbV93aW4uZmJ3aW5kb3coKS0+aXNJY29uaWMoKSkKKy0gICAgICAg IHRpdGxlID0gSWNvbmJhclRvb2w6Omljb25pZmllZFByZWZpeCgpICsgdGl0bGUgKyBJY29uYmFy VG9vbDo6aWNvbmlmaWVkU3VmZml4KCk7CisrICAgIC8vI2lmIFVTRV9UT09MQkFSCisrICAgIC8v aWYgKG1fd2luLmZid2luZG93KCkgJiYgbV93aW4uZmJ3aW5kb3coKS0+aXNJY29uaWMoKSkKKysg ICAgLy8gICAgdGl0bGUgPSBJY29uYmFyVG9vbDo6aWNvbmlmaWVkUHJlZml4KCkgKyB0aXRsZSAr IEljb25iYXJUb29sOjppY29uaWZpZWRTdWZmaXgoKTsKKysgICAgLy8jZW5kaWYKKyAgICAgc2V0 VGV4dCh0aXRsZSk7CisgICAgIEZiVGs6OlRleHRCdXR0b246OmNsZWFyKCk7CisgfQorIAorIHZv aWQgSWNvbkJ1dHRvbjo6ZHJhd1RleHQoaW50IHgsIGludCB5LCBGYlRrOjpGYkRyYXdhYmxlICpk cmF3YWJsZSkgeworIAorLSAgICAvLyBvZmZzZXQgdGV4dAorLSAgICBpZiAobV9pY29uX3BpeG1h cC5kcmF3YWJsZSgpICE9IDApCistICAgICAgICBGYlRrOjpUZXh0QnV0dG9uOjpkcmF3VGV4dCht X2ljb25fd2luZG93LngoKSArIG1faWNvbl93aW5kb3cud2lkdGgoKSArIDEsIHksIGRyYXdhYmxl KTsKKy0gICAgZWxzZQorLSAgICAgICAgRmJUazo6VGV4dEJ1dHRvbjo6ZHJhd1RleHQoMSwgeSwg ZHJhd2FibGUpOworKyAgICBpZiAod2lkdGgoKSA+IG1faWNvbl93aW5kb3cud2lkdGgoKSApIHsK KysgICAgICAvLyBvZmZzZXQgdGV4dAorKyAgICAgIGlmIChtX2ljb25fcGl4bWFwLmRyYXdhYmxl KCkgIT0gMCkKKysgICAgICAgICAgRmJUazo6VGV4dEJ1dHRvbjo6ZHJhd1RleHQobV9pY29uX3dp bmRvdy54KCkgKyBtX2ljb25fd2luZG93LndpZHRoKCkgKyAxLCB5LCBkcmF3YWJsZSk7CisrICAg ICAgZWxzZQorKyAgICAgICAgICBGYlRrOjpUZXh0QnV0dG9uOjpkcmF3VGV4dCgxLCB5LCBkcmF3 YWJsZSk7CisrICAgIH0KKyB9CisgCisgYm9vbCBJY29uQnV0dG9uOjpzZXRPcmllbnRhdGlvbihG YlRrOjpPcmllbnRhdGlvbiBvcmllbnQpIHsKK2RpZmYgLS1naXQgYS9zcmMvSWNvbmJhclRvb2wu Y2MgYi9zcmMvSWNvbmJhclRvb2wuY2MKK2luZGV4IDAyN2FiMWM2Li5mNjRhNGNmNiAxMDA2NDQK Ky0tLSBhL3NyYy9JY29uYmFyVG9vbC5jYworKysrIGIvc3JjL0ljb25iYXJUb29sLmNjCitAQCAt MzAwLDYgKzMwMCwxMSBAQCBJY29uYmFyVG9vbDo6SWNvbmJhclRvb2woY29uc3QgRmJUazo6RmJX aW5kb3cgJnBhcmVudCwgSWNvbmJhclRoZW1lICZ0aGVtZSwKKyAgICAgRmJUazo6UmVmQ291bnQ8 RmJUazo6Q29tbWFuZDx2b2lkPiA+IGVycyhuZXcgRmJUazo6U2ltcGxlQ29tbWFuZDxJY29uYmFy VG9vbD4oKnRoaXMsICZJY29uYmFyVG9vbDo6ZW1pdFJlc2l6ZVNpZykpOworICAgICBtX3Jlc2l6 ZVNpZ190aW1lci5zZXRDb21tYW5kKGVycyk7CisgCisrICAgIG1fbG9ja2VyX3RpbWVyLnNldFRp bWVvdXQoSWNvbkJ1dHRvbjo6dXBkYXRlTGF6aW5lc3MoKSAvIDEwKTsgLy8gMTBtaWxsaXNlYwor KyAgICBtX2xvY2tlcl90aW1lci5maXJlT25jZSh0cnVlKTsKKysgICAgRmJUazo6UmVmQ291bnQ8 RmJUazo6Q29tbWFuZDx2b2lkPiA+IHVzaWcobmV3IEZiVGs6OlNpbXBsZUNvbW1hbmQ8SWNvbmJh clRvb2w+KCp0aGlzLCAmSWNvbmJhclRvb2w6OnVubG9ja1NpZykpOworKyAgICBtX2xvY2tlcl90 aW1lci5zZXRDb21tYW5kKHVzaWcpOworKworICAgICB0aGVtZVJlY29uZmlndXJlZCgpOworIH0K KyAKK0BAIC0zMjUsNyArMzMwLDcgQEAgdm9pZCBJY29uYmFyVG9vbDo6dXBkYXRlTWF4U2l6ZXMo dW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0KSB7CisgCisgdm9pZCBJY29u YmFyVG9vbDo6cmVzaXplKHVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCkg eworICAgICBtX2ljb25fY29udGFpbmVyLnJlc2l6ZSh3aWR0aCwgaGVpZ2h0KTsKKy0gICAgdXBk YXRlTWF4U2l6ZXMod2lkdGgsIGhlaWdodCk7CisrICAgIC8vdXBkYXRlTWF4U2l6ZXMod2lkdGgs IGhlaWdodCk7CisgICAgIHJlbmRlclRoZW1lKCk7CisgfQorIAorQEAgLTMzMyw3ICszMzgsNyBA QCB2b2lkIEljb25iYXJUb29sOjptb3ZlUmVzaXplKGludCB4LCBpbnQgeSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdo dCkgeworIAorICAgICBtX2ljb25fY29udGFpbmVyLm1vdmVSZXNpemUoeCwgeSwgd2lkdGgsIGhl aWdodCk7CistICAgIHVwZGF0ZU1heFNpemVzKHdpZHRoLCBoZWlnaHQpOworKyAgICAvL3VwZGF0 ZU1heFNpemVzKHdpZHRoLCBoZWlnaHQpOworICAgICByZW5kZXJUaGVtZSgpOworIH0KKyAKK0BA IC0zOTMsNiArMzk4LDI1IEBAIHZvaWQgSWNvbmJhclRvb2w6OnNldE1vZGUoc3RyaW5nIG1vZGUp IHsKKyAgICAgbV9tZW51LnJlY29uZmlndXJlKCk7CisgfQorIAorKy8vIGZvciBpbmNyZW1lbnRh bCBjaGFuZ2VzLCBiYWNrIG9mZiBmb3IgYSBiaXQKKysvLyBwcmV2ZW50cyBzbG93ZG93biBmcm9t IHNheSwgbWFraW5nIDIwMCB3aW5kb3dzCisrdm9pZCBJY29uYmFyVG9vbDo6cmVzZXRMb2NrKCkg eworKyAgICBtX2xvY2tfZ2Z4ID0gdHJ1ZTsKKysgICAgbV9sb2NrZXJfdGltZXIuc3RhcnQoKTsK Kyt9CisrCisrdm9pZCBJY29uYmFyVG9vbDo6dW5sb2NrU2lnKCkgeworKyAgICBtX2xvY2tfZ2Z4 ID0gZmFsc2U7CisrICAgIC8vcmVzaXplU2lnKCkuZW1pdCgpOworKyAgICAvLyB0aGlzIGlzIHdo YXQgd2Ugd2FudGVkIHRvIGRvCisrICAgIG1faWNvbl9jb250YWluZXIuc2V0VXBkYXRlTG9jayhm YWxzZSk7CisrICAgIG1faWNvbl9jb250YWluZXIudXBkYXRlKCk7CisrICAgIG1faWNvbl9jb250 YWluZXIuc2hvd1N1YndpbmRvd3MoKTsKKysgICAgcmVuZGVyVGhlbWUoKTsKKysgICAgdXBkYXRl KEFMSUdOLCBOVUxMKTsKKysgICAgbV9yZXNpemVTaWdfdGltZXIuc3RhcnQoKTsKKyt9CisrCisg dm9pZCBJY29uYmFyVG9vbDo6ZW1pdFJlc2l6ZVNpZygpIHsKKyAgICAgcmVzaXplU2lnKCkuZW1p dCgpOworIH0KK0BAIC00NDEsOSArNDY1LDExIEBAIHZvaWQgSWNvbmJhclRvb2w6OnVwZGF0ZShV cGRhdGVSZWFzb24gcmVhc29uLCBGb2N1c2FibGUgKndpbikgeworICAgICBzd2l0Y2gocmVhc29u KSB7CisgICAgICAgICBjYXNlIExJU1RfQUREOiBjYXNlIExJU1RfT1JERVI6CisgICAgICAgICAg ICAgaW5zZXJ0V2luZG93KCp3aW4pOworKyAgICAgICAgICAgIHJlc2V0TG9jaygpOworICAgICAg ICAgICAgIGJyZWFrOworICAgICAgICAgY2FzZSBMSVNUX1JFTU9WRToKKyAgICAgICAgICAgICBy ZW1vdmVXaW5kb3coKndpbik7CisrICAgICAgICAgICAgcmVzZXRMb2NrKCk7CisgICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgICBjYXNlIExJU1RfUkVTRVQ6CisgICAgICAgICAgICAgcmVzZXQo KTsKK0BAIC00NTUsNiArNDgxLDEwIEBAIHZvaWQgSWNvbmJhclRvb2w6OnVwZGF0ZShVcGRhdGVS ZWFzb24gcmVhc29uLCBGb2N1c2FibGUgKndpbikgeworICAgICBtX3Jlc2l6ZVNpZ190aW1lci5z dGFydCgpOworIAorICAgICB1cGRhdGVNYXhTaXplcyh3aWR0aCgpLCBoZWlnaHQoKSk7CisrCisr ICAgIGlmIChtX2xvY2tfZ2Z4KQorKyAgICAgICAgcmV0dXJuOworKworICAgICAvLyB1bmxvY2sg Y29udGFpbmVyIGFuZCB1cGRhdGUgZ3JhcGhpY3MKKyAgICAgbV9pY29uX2NvbnRhaW5lci5zZXRV cGRhdGVMb2NrKGZhbHNlKTsKKyAgICAgbV9pY29uX2NvbnRhaW5lci51cGRhdGUoKTsKK0BAIC00 OTYsMTMgKzUyNiwxMyBAQCB2b2lkIEljb25iYXJUb29sOjppbnNlcnRXaW5kb3coRm9jdXNhYmxl ICZ3aW4sIGludCBwb3MpIHsKKyAgICAgICAgIGJ1dHRvbiA9IG1ha2VCdXR0b24od2luKTsKKyAg ICAgaWYgKCFidXR0b24pIHJldHVybjsKKyAKKy0gICAgaWYgKHBvcyA9PSAtMikgeworLSAgICAg ICAgcG9zID0gMDsKKy0gICAgICAgIGxpc3Q8Rm9jdXNhYmxlICo+OjppdGVyYXRvciBpdCA9IG1f d2lubGlzdC0+Y2xpZW50TGlzdCgpLmJlZ2luKCksCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaXRfZW5kID0gbV93aW5saXN0LT5jbGllbnRMaXN0KCkuZW5kKCk7CistICAg ICAgICBmb3IgKDsgaXQgIT0gaXRfZW5kICYmICppdCAhPSAmd2luOyArK2l0KQorLSAgICAgICAg ICAgIHBvcysrOworLSAgICB9CisrICAgIC8vaWYgKHBvcyA9PSAtMikgeworKyAgICAvLyAgICBw b3MgPSAwOworKyAgICAvLyAgICBsaXN0PEZvY3VzYWJsZSAqPjo6aXRlcmF0b3IgaXQgPSBtX3dp bmxpc3QtPmNsaWVudExpc3QoKS5iZWdpbigpLAorKyAgICAvLyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaXRfZW5kID0gbV93aW5saXN0LT5jbGllbnRMaXN0KCkuZW5kKCk7CisrICAg IC8vICAgIGZvciAoOyBpdCAhPSBpdF9lbmQgJiYgKml0ICE9ICZ3aW47ICsraXQpCisrICAgIC8v ICAgICAgICBwb3MrKzsKKysgICAgLy99CisgCisgICAgIG1faWNvbl9jb250YWluZXIuaW5zZXJ0 SXRlbShidXR0b24sIHBvcyk7CisgICAgIG1fdHJhY2tlci5qb2luKGJ1dHRvbi0+dGl0bGVDaGFu Z2VkKCksIEZiVGs6Ok1lbUZ1bihtX3Jlc2l6ZVNpZ190aW1lciwgJkZiVGs6OlRpbWVyOjpzdGFy dCkpOworQEAgLTUxNyw5ICs1NDcsOSBAQCB2b2lkIEljb25iYXJUb29sOjp1cGRhdGVTaXppbmco KSB7CisgICAgIG1faWNvbl9jb250YWluZXIuc2V0Qm9yZGVyV2lkdGgobV90aGVtZS5ib3JkZXIo KS53aWR0aCgpKTsKKyAgICAgbV9pY29uX2NvbnRhaW5lci5zZXRCb3JkZXJDb2xvcihtX3RoZW1l LmJvcmRlcigpLmNvbG9yKCkpOworIAorLSAgICBGYlRrOjpTVExVdGlsOjpmb3JBbGwobV9pY29u cywgCistICAgICAgICAgICAgRmJUazo6Q29tcG9zZShzdGQ6Om1lbV9mdW4oJkljb25CdXR0b246 OnJlY29uZmlnVGhlbWUpLCAKKy0gICAgICAgICAgICAgICAgRmJUazo6U2VsZWN0Mm5kPEljb25N YXA6OnZhbHVlX3R5cGU+KCkpKTsKKysgICAgLy9GYlRrOjpTVExVdGlsOjpmb3JBbGwobV9pY29u cywgCisrICAgIC8vICAgICAgICBGYlRrOjpDb21wb3NlKHN0ZDo6bWVtX2Z1bigmSWNvbkJ1dHRv bjo6cmVjb25maWdUaGVtZSksIAorKyAgICAvLyAgICAgICAgICAgIEZiVGs6OlNlbGVjdDJuZDxJ Y29uTWFwOjp2YWx1ZV90eXBlPigpKSk7CisgCisgfQorIAorQEAgLTU2MCw3ICs1OTAsNyBAQCB2 b2lkIEljb25iYXJUb29sOjpyZW5kZXJCdXR0b24oSWNvbkJ1dHRvbiAmYnV0dG9uLCBib29sIGNs ZWFyKSB7CisgCisgICAgIGJ1dHRvbi5zZXRQaXhtYXAoKm1fcmNfdXNlX3BpeG1hcCk7CisgICAg IGJ1dHRvbi5zZXRUZXh0UGFkZGluZygqbV9yY19jbGllbnRfcGFkZGluZyk7CistICAgIGJ1dHRv bi5yZWNvbmZpZ1RoZW1lKCk7CisrICAgIC8vYnV0dG9uLnJlY29uZmlnVGhlbWUoKTsKKyAgICAg aWYgKGNsZWFyKQorICAgICAgICAgYnV0dG9uLmNsZWFyKCk7IC8vIHRoZSBjbGVhciBhbHNvIHVw ZGF0ZXMgdHJhbnNwYXJlbnQKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL0ljb25iYXJUb29sLmhoIGIv c3JjL0ljb25iYXJUb29sLmhoCitpbmRleCBkZjZkOWE2NS4uMWMyMTAxYWMgMTAwNjQ0CistLS0g YS9zcmMvSWNvbmJhclRvb2wuaGgKKysrKyBiL3NyYy9JY29uYmFyVG9vbC5oaAorQEAgLTEwNiw2 ICsxMDYsOSBAQCBwcml2YXRlOgorIAorICAgICB2b2lkIHRoZW1lUmVjb25maWd1cmVkKCk7Cisg CisrICAgIHZvaWQgcmVzZXRMb2NrKCk7CisrICAgIHZvaWQgdW5sb2NrU2lnKCk7CisrICAgIEZi VGs6OlRpbWVyIG1fbG9ja2VyX3RpbWVyOworICAgICBGYlRrOjpUaW1lciBtX3Jlc2l6ZVNpZ190 aW1lcjsKKyAgICAgdm9pZCBlbWl0UmVzaXplU2lnKCk7CisgCitAQCAtMTI4LDYgKzEzMSw3IEBA IHByaXZhdGU6CisgICAgIEZiTWVudSBtX21lbnU7CisgICAgIGludCBtX2FscGhhOworICAgICBz dGF0aWMgc3RkOjpzdHJpbmcgc19pY29uaWZpZWREZWNvcmF0aW9uWzJdOworKyAgICBib29sIG1f bG9ja19nZnggPSBmYWxzZTsKKyB9OworIAorICNlbmRpZiAvLyBJQ09OQkFSVE9PTF9ISApkaWZm IC0tZ2l0IGEvc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvY29udGFpbmVyX3JlbGF0aXZlX3JlbGF0 aXZlLnBhdGNoIGIvc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvY29udGFpbmVyX3JlbGF0aXZlX3Jl bGF0aXZlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGMz ZGRiNTE4MWI1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMvY29u dGFpbmVyX3JlbGF0aXZlX3JlbGF0aXZlLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK2RpZmYgLS1n aXQgYS9zcmMvRmJUay9Db250YWluZXIuY2MgYi9zcmMvRmJUay9Db250YWluZXIuY2MKK2luZGV4 IGNlYTc2MWIzLi4wZTA1MGEwYiAxMDA2NDQKKy0tLSBhL3NyYy9GYlRrL0NvbnRhaW5lci5jYwor KysrIGIvc3JjL0ZiVGsvQ29udGFpbmVyLmNjCitAQCAtMzY1LDYgKzM2NSw5IEBAIHZvaWQgQ29u dGFpbmVyOjpyZXBvc2l0aW9uSXRlbXMoKSB7CisgICAgIGNvbnN0IEl0ZW1MaXN0OjppdGVyYXRv ciBpdF9lbmQgPSBlbmQoKTsKKworICAgICBpbnQgcm91bmRpbmdfZXJyb3IgPSAwOworKyAgICBp ZiAoYWxpZ24gPT0gUkVMQVRJVkUgfHwgdG90YWxfd2lkdGggPT0gbV9tYXhfdG90YWxfc2l6ZSkg eworKyAgICAgICAgcm91bmRpbmdfZXJyb3IgPSB0b3RhbF93aWR0aCAtICgobWF4X3dpZHRoX3Bl cl9jbGllbnQgKyBib3JkZXJXKSogbnVtX2l0ZW1zIC0gYm9yZGVyVyk7CisrICAgIH0KKworICAg ICBpbnQgbmV4dF94ID0gLWJvcmRlclc7IC8vIHplcm8gc28gdGhlIGJvcmRlciBvZiB0aGUgZmly c3Qgc2hvd3MKKyAgICAgaW50IGV4dHJhID0gMDsKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mbHV4 Ym94L3BhdGNoZXMvZmx1eF9pbXByb3ZlLnBhdGNoIGIvc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMv Zmx1eF9pbXByb3ZlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uMTNhMWFlYmE2MjFjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mbHV4Ym94L3BhdGNo ZXMvZmx1eF9pbXByb3ZlLnBhdGNoCkBAIC0wLDAgKzEsMjA1IEBACitkaWZmIC0tZ2l0IGEvc3Jj L0V3bWguY2MgYi9zcmMvRXdtaC5jYworaW5kZXggZTEyYTc5MjMuLmRiMWRkZDQ1IDEwMDY0NAor LS0tIGEvc3JjL0V3bWguY2MKKysrKyBiL3NyYy9Fd21oLmNjCitAQCAtMTA5NiwxNSArMTA5Niwx OSBAQCBib29sIEV3bWg6OmNoZWNrQ2xpZW50TWVzc2FnZShjb25zdCBYQ2xpZW50TWVzc2FnZUV2 ZW50ICZjZSwKKyAgICAgICAgIC8vIGNlLmRhdGEubFswXSA9IHRoZSBhY3Rpb24gKHJlbW92ZSwg YWRkIG9yIHRvZ2dsZSkKKyAgICAgICAgIC8vIGNlLmRhdGEubFsxXSA9IHRoZSBmaXJzdCBwcm9w ZXJ0eSB0byBhbHRlcgorICAgICAgICAgLy8gY2UuZGF0YS5sWzJdID0gc2Vjb25kIHByb3BlcnR5 IHRvIGFsdGVyIChjYW4gYmUgemVybykKKy0gICAgICAgIGlmIChjZS5kYXRhLmxbMF0gPT0gU1RB VEVfUkVNT1ZFKSB7CistICAgICAgICAgICAgc2V0U3RhdGUod2luLCBjZS5kYXRhLmxbMV0sIGZh bHNlLCAqd2luY2xpZW50KTsKKy0gICAgICAgICAgICBzZXRTdGF0ZSh3aW4sIGNlLmRhdGEubFsy XSwgZmFsc2UsICp3aW5jbGllbnQpOworLSAgICAgICAgfSBlbHNlIGlmIChjZS5kYXRhLmxbMF0g PT0gU1RBVEVfQUREKSB7CistICAgICAgICAgICAgc2V0U3RhdGUod2luLCBjZS5kYXRhLmxbMV0s IHRydWUsICp3aW5jbGllbnQpOworLSAgICAgICAgICAgIHNldFN0YXRlKHdpbiwgY2UuZGF0YS5s WzJdLCB0cnVlLCAqd2luY2xpZW50KTsKKy0gICAgICAgIH0gZWxzZSBpZiAoY2UuZGF0YS5sWzBd ID09IFNUQVRFX1RPR0dMRSkgeworLSAgICAgICAgICAgIHRvZ2dsZVN0YXRlKHdpbiwgY2UuZGF0 YS5sWzFdKTsKKy0gICAgICAgICAgICB0b2dnbGVTdGF0ZSh3aW4sIGNlLmRhdGEubFsyXSk7Cisr ICAgICAgICBib29sIGFkZHJlbW92ZSA9IGZhbHNlOyAvLyBhZGQgdHJ1ZSwgcmVtb3ZlIGZhbHNl CisrCisrICAgICAgICBzd2l0Y2ggKGNlLmRhdGEubFswXSkgeworKyAgICAgICAgICBjYXNlIFNU QVRFX1RPR0dMRToKKysgICAgICAgICAgICAgIHRvZ2dsZVN0YXRlKHdpbiwgY2UuZGF0YS5sWzFd KTsKKysgICAgICAgICAgICAgIHRvZ2dsZVN0YXRlKHdpbiwgY2UuZGF0YS5sWzJdKTsKKysgICAg ICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIFNUQVRFX0FERDoKKysgICAgICAgICAg ICAgIGFkZHJlbW92ZSA9IHRydWU7CisrICAgICAgICAgIGNhc2UgU1RBVEVfUkVNT1ZFOgorKyAg ICAgICAgICAgICAgc2V0U3RhdGUod2luLCBjZS5kYXRhLmxbMV0sIGFkZHJlbW92ZSwgKndpbmNs aWVudCk7CisrICAgICAgICAgICAgICBzZXRTdGF0ZSh3aW4sIGNlLmRhdGEubFsyXSwgYWRkcmVt b3ZlLCAqd2luY2xpZW50KTsKKysgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgfQorICAg ICAgICAgcmV0dXJuIHRydWU7CisgICAgIH0gZWxzZSBpZiAoY2UubWVzc2FnZV90eXBlID09IG1f bmV0LT5udW1iZXJfb2ZfZGVza3RvcHMpIHsKK2RpZmYgLS1naXQgYS9zcmMvRmJNZW51UGFyc2Vy LmNjIGIvc3JjL0ZiTWVudVBhcnNlci5jYworaW5kZXggNzE2Y2VkMjkuLjVhNTZlNmY1IDEwMDY0 NAorLS0tIGEvc3JjL0ZiTWVudVBhcnNlci5jYworKysrIGIvc3JjL0ZiTWVudVBhcnNlci5jYwor QEAgLTMzLDkgKzMzLDkgQEAgYm9vbCBGYk1lbnVQYXJzZXI6Om9wZW4oY29uc3Qgc3RkOjpzdHJp bmcgJmZpbGVuYW1lKSB7CisgfQorIAorIEZiVGs6OlBhcnNlciAmRmJNZW51UGFyc2VyOjpvcGVy YXRvciA+PiAoRmJUazo6UGFyc2VyOjpJdGVtICZvdXQpIHsKKy0gICAgaWYgKGVvZigpKSB7ICAg ICAgICAKKysgICAgaWYgKGVvZigpKSB7CisgICAgICAgICBvdXQgPSBGYlRrOjpQYXJzZXI6OnNf ZW1wdHlfaXRlbTsKKy0gICAgICAgIHJldHVybiAqdGhpczsgCisrICAgICAgICByZXR1cm4gKnRo aXM7CisgICAgIH0KKyAKKyAgICAgaWYgKG1fY3Vycl9saW5lLmVtcHR5KCkpCitAQCAtNjksMjAg KzY5LDI2IEBAIEZiVGs6OlBhcnNlciAmRmJNZW51UGFyc2VyOjpvcGVyYXRvciA+PiAoRmJUazo6 UGFyc2VyOjpJdGVtICZvdXQpIHsKKyAgICAgICAgIHJldHVybiAoKnRoaXMpPj5vdXQ7CisgICAg ICAgICBicmVhazsKKyAgICAgfQorLSAgICAKKysKKyAgICAgc3RkOjpzdHJpbmcga2V5OworICAg ICBpbnQgZXJyID0gRmJUazo6U3RyaW5nVXRpbDo6CisgICAgICAgICBnZXRTdHJpbmdCZXR3ZWVu KGtleSwgbV9jdXJyX2xpbmUuY19zdHIoKSArIG1fY3Vycl9wb3MsCisgICAgICAgICAgICAgICAg ICAgICAgICAgIGZpcnN0LCBzZWNvbmQpOworLSAgICBpZiAoZXJyIDw9IDApIHsgICAgICAgIAor LSAgICAgICAgaWYgKG1fY3Vycl90b2tlbiA9PSBUWVBFKQorKyAgICBpZiAoZXJyIDw9IDApIHsK KysgICAgICAgIHN3aXRjaCAobV9jdXJyX3Rva2VuKSB7CisrICAgICAgICAgIGNhc2UgVFlQRToK KyAgICAgICAgICAgICBtX2N1cnJfdG9rZW4gPSBOQU1FOworLSAgICAgICAgZWxzZSBpZiAobV9j dXJyX3Rva2VuID09IE5BTUUpCisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2Ug TkFNRToKKyAgICAgICAgICAgICBtX2N1cnJfdG9rZW4gPSBBUkdVTUVOVDsKKy0gICAgICAgIGVs c2UgaWYgKG1fY3Vycl90b2tlbiA9PSBBUkdVTUVOVCkKKysgICAgICAgICAgICBicmVhazsKKysg ICAgICAgICAgY2FzZSBBUkdVTUVOVDoKKyAgICAgICAgICAgICBtX2N1cnJfdG9rZW4gPSBJQ09O OworLSAgICAgICAgZWxzZSBpZiAobV9jdXJyX3Rva2VuID09IElDT04pCisrICAgICAgICAgICAg YnJlYWs7CisrICAgICAgICAgIGNhc2UgSUNPTjoKKyAgICAgICAgICAgICBtX2N1cnJfdG9rZW4g PSBET05FOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgfQorIAorICAgICAgICAgb3V0 ID0gRmJUazo6UGFyc2VyOjpzX2VtcHR5X2l0ZW07CisgICAgICAgICByZXR1cm4gKnRoaXM7Citk aWZmIC0tZ2l0IGEvc3JjL1JlbWVtYmVyLmNjIGIvc3JjL1JlbWVtYmVyLmNjCitpbmRleCA0OWU2 MTA2Mi4uNGYwYmEzZGIgMTAwNjQ0CistLS0gYS9zcmMvUmVtZW1iZXIuY2MKKysrKyBiL3NyYy9S ZW1lbWJlci5jYworQEAgLTgwMiwzOSArODAyLDQxIEBAIHZvaWQgUmVtZW1iZXI6OnJlbG9hZCgp IHsKKyAgICAgICAgICAgICBpbnQgcG9zID0gZ2V0U3RyaW5nQmV0d2VlbihrZXksIGxpbmUuY19z dHIoKSwgJ1snLCAnXScpOworICAgICAgICAgICAgIHN0cmluZyBsY19rZXkgPSB0b0xvd2VyKGtl eSk7CisgCistICAgICAgICAgICAgaWYgKHBvcyA+IDAgJiYgKGxjX2tleSA9PSAiYXBwIiB8fCBs Y19rZXkgPT0gInRyYW5zaWVudCIpKSB7CistICAgICAgICAgICAgICAgIENsaWVudFBhdHRlcm4g KnBhdCA9IG5ldyBDbGllbnRQYXR0ZXJuKGxpbmUuY19zdHIoKSArIHBvcyk7CistICAgICAgICAg ICAgICAgIGlmICghaW5fZ3JvdXApIHsKKy0gICAgICAgICAgICAgICAgICAgIGlmICgoZXJyID0g cGF0LT5lcnJvcigpKSA9PSAwKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB0cmFu c2llbnQgPSAobGNfa2V5ID09ICJ0cmFuc2llbnQiKTsKKy0gICAgICAgICAgICAgICAgICAgICAg ICBBcHBsaWNhdGlvbiAqYXBwID0gZmluZE1hdGNoaW5nUGF0dGVybnMocGF0LAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX3BhdHMsIHRyYW5zaWVu dCwgZmFsc2UpOworLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcHApIHsKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgYXBwLT5yZXNldCgpOworLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZXVzZWRfYXBwcy5pbnNlcnQoYXBwKTsKKysgICAgICAgICAgICBpZiAocG9zID4g MCkgeworKyAgICAgICAgICAgICAgICBpZiAobGNfa2V5ID09ICJhcHAiIHx8IGxjX2tleSA9PSAi dHJhbnNpZW50IikgeworKyAgICAgICAgICAgICAgICAgICAgQ2xpZW50UGF0dGVybiAqcGF0ID0g bmV3IENsaWVudFBhdHRlcm4obGluZS5jX3N0cigpICsgcG9zKTsKKysgICAgICAgICAgICAgICAg ICAgIGlmICghaW5fZ3JvdXApIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGVyciA9 IHBhdC0+ZXJyb3IoKSkgPT0gMCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s IHRyYW5zaWVudCA9IChsY19rZXkgPT0gInRyYW5zaWVudCIpOworKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBcHBsaWNhdGlvbiAqYXBwID0gZmluZE1hdGNoaW5nUGF0dGVybnMocGF0LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9w YXRzLCB0cmFuc2llbnQsIGZhbHNlKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg KGFwcCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwLT5yZXNldCgpOwor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV1c2VkX2FwcHMuaW5zZXJ0KGFwcCk7 CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhcHAgPSBuZXcgQXBwbGljYXRpb24odHJhbnNpZW50LCBmYWxzZSk7 CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbV9wYXRzLT5wdXNoX2JhY2sobWFrZV9wYWlyKHBhdCwgYXBwKSk7CisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJvdyArPSBwYXJzZUFwcChhcHBzX2ZpbGUsICphcHApOwor ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGFwcCA9IG5ldyBBcHBsaWNhdGlvbih0cmFuc2llbnQsIGZhbHNlKTsKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2Vycjw8IkVycm9yIHJlYWRpbmcgYXBwcyBmaWxlIGF0IGxp bmUgIjw8cm93PDwiLCBjb2x1bW4gIjw8KGVycitwb3MpPDwiLiI8PGVuZGw7CisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXQ7IC8vIHNpbmNlIGl0IGRpZG4ndCB3b3JrCisg ICAgICAgICAgICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICAgICAgICAgIG1f cGF0cy0+cHVzaF9iYWNrKG1ha2VfcGFpcihwYXQsIGFwcCkpOworLSAgICAgICAgICAgICAgICAg ICAgICAgIHJvdyArPSBwYXJzZUFwcChhcHBzX2ZpbGUsICphcHApOworICAgICAgICAgICAgICAg ICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBjZXJyPDwiRXJyb3IgcmVh ZGluZyBhcHBzIGZpbGUgYXQgbGluZSAiPDxyb3c8PCIsIGNvbHVtbiAiPDwoZXJyK3Bvcyk8PCIu Ijw8ZW5kbDsKKy0gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgcGF0OyAvLyBzaW5jZSBp dCBkaWRuJ3Qgd29yaworKyAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwZWRfcGF0cy5wdXNo X2JhY2socGF0KTsKKyAgICAgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgfSBl bHNlIHsKKy0gICAgICAgICAgICAgICAgICAgIGdyb3VwZWRfcGF0cy5wdXNoX2JhY2socGF0KTsK Ky0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIH0gZWxzZSBpZiAocG9zID4gMCAmJiBs Y19rZXkgPT0gInN0YXJ0dXAiICYmIGZiLmlzU3RhcnR1cCgpKSB7CistICAgICAgICAgICAgICAg IGlmICghaGFuZGxlU3RhcnR1cEl0ZW0obGluZSwgcG9zKSkgeworLSAgICAgICAgICAgICAgICAg ICAgY2Vycjw8IkVycm9yIHJlYWRpbmcgYXBwcyBmaWxlIGF0IGxpbmUgIjw8cm93PDwiLiI8PGVu ZGw7CisrICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobGNfa2V5ID09ICJzdGFydHVwIiAmJiBm Yi5pc1N0YXJ0dXAoKSkgeworKyAgICAgICAgICAgICAgICAgICAgaWYgKCFoYW5kbGVTdGFydHVw SXRlbShsaW5lLCBwb3MpKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgY2Vycjw8IkVycm9y IHJlYWRpbmcgYXBwcyBmaWxlIGF0IGxpbmUgIjw8cm93PDwiLiI8PGVuZGw7CisrICAgICAgICAg ICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgICAgICAvLyBzYXZlIHRoZSBpdGVtIGV2ZW4g aWYgaXQgd2FzIGJhZCAoYXJlbid0IHdlIG5pY2UpCisrICAgICAgICAgICAgICAgICAgICBtX3N0 YXJ0dXBzLnB1c2hfYmFjayhsaW5lLnN1YnN0cihwb3MpKTsKKysgICAgICAgICAgICAgICAgfSBl bHNlIGlmIChsY19rZXkgPT0gImdyb3VwIikgeworKyAgICAgICAgICAgICAgICAgICAgaW5fZ3Jv dXAgPSB0cnVlOworKyAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmUuZmluZCgnKCcpICE9IHN0 cmluZzo6bnBvcykKKysgICAgICAgICAgICAgICAgICAgICAgICBwYXQgPSBuZXcgQ2xpZW50UGF0 dGVybihsaW5lLmNfc3RyKCkgKyBwb3MpOworICAgICAgICAgICAgICAgICB9CistICAgICAgICAg ICAgICAgIC8vIHNhdmUgdGhlIGl0ZW0gZXZlbiBpZiBpdCB3YXMgYmFkIChhcmVuJ3Qgd2Ugbmlj ZSkKKy0gICAgICAgICAgICAgICAgbV9zdGFydHVwcy5wdXNoX2JhY2sobGluZS5zdWJzdHIocG9z KSk7CistICAgICAgICAgICAgfSBlbHNlIGlmIChwb3MgPiAwICYmIGxjX2tleSA9PSAiZ3JvdXAi KSB7CistICAgICAgICAgICAgICAgIGluX2dyb3VwID0gdHJ1ZTsKKy0gICAgICAgICAgICAgICAg aWYgKGxpbmUuZmluZCgnKCcpICE9IHN0cmluZzo6bnBvcykKKy0gICAgICAgICAgICAgICAgICAg IHBhdCA9IG5ldyBDbGllbnRQYXR0ZXJuKGxpbmUuY19zdHIoKSArIHBvcyk7CisgICAgICAgICAg ICAgfSBlbHNlIGlmIChpbl9ncm91cCkgeworICAgICAgICAgICAgICAgICAvLyBvdGhlcndpc2Ug YXNzdW1lIHRoYXQgaXQgaXMgdGhlIHN0YXJ0IG9mIHRoZSBhdHRyaWJ1dGVzCisgICAgICAgICAg ICAgICAgIEFwcGxpY2F0aW9uICphcHAgPSAwOworZGlmZiAtLWdpdCBhL3NyYy9TeXN0ZW1UcmF5 LmNjIGIvc3JjL1N5c3RlbVRyYXkuY2MKK2luZGV4IDhjNDI4NzdhLi4xZmMyYjBhOCAxMDA2NDQK Ky0tLSBhL3NyYy9TeXN0ZW1UcmF5LmNjCisrKysgYi9zcmMvU3lzdGVtVHJheS5jYworQEAgLTU1 MCwxMCArNTUwLDEyIEBAIHZvaWQgU3lzdGVtVHJheTo6cmVhcnJhbmdlQ2xpZW50cygpIHsKKyAg ICAgQ2xpZW50TGlzdDo6aXRlcmF0b3IgY2xpZW50X2l0ID0gbV9jbGllbnRzLmJlZ2luKCk7Cisg ICAgIENsaWVudExpc3Q6Oml0ZXJhdG9yIGNsaWVudF9pdF9lbmQgPSBtX2NsaWVudHMuZW5kKCk7 CisgICAgIGludCBuZXh0X3ggPSBidzsKKysgICAgaW50IHgsIHk7CisgICAgIGZvciAoOyBjbGll bnRfaXQgIT0gY2xpZW50X2l0X2VuZDsgKytjbGllbnRfaXQpIHsKKyAgICAgICAgIGlmICghKCpj bGllbnRfaXQpLT5pc1Zpc2libGUoKSkKKyAgICAgICAgICAgICBjb250aW51ZTsKKy0gICAgICAg IGludCB4ID0gbmV4dF94LCB5ID0gYnc7CisrICAgICAgICB4ID0gbmV4dF94OworKyAgICAgICAg eSA9IGJ3OworICAgICAgICAgbmV4dF94ICs9IGhfcm90MCtidzsKKyAgICAgICAgIHRyYW5zbGF0 ZUNvb3JkcyhvcmllbnRhdGlvbigpLCB4LCB5LCB3X3JvdDAsIGhfcm90MCk7CisgICAgICAgICB0 cmFuc2xhdGVQb3NpdGlvbihvcmllbnRhdGlvbigpLCB4LCB5LCBoX3JvdDAsIGhfcm90MCwgMCk7 CitkaWZmIC0tZ2l0IGEvc3JjL1dpbmRvdy5jYyBiL3NyYy9XaW5kb3cuY2MKK2luZGV4IDM0MmU0 ODg1Li43MTNkMTUxMCAxMDA2NDQKKy0tLSBhL3NyYy9XaW5kb3cuY2MKKysrKyBiL3NyYy9XaW5k b3cuY2MKK0BAIC0zMjY3LDE0ICszMjY3LDE4IEBAIHZvaWQgRmx1eGJveFdpbmRvdzo6ZG9TbmFw cGluZyhpbnQgJm9yaWdfbGVmdCwgaW50ICZvcmlnX3RvcCwgYm9vbCByZXNpemUpIHsKKyBGbHV4 Ym94V2luZG93OjpSZWZlcmVuY2VDb3JuZXIgRmx1eGJveFdpbmRvdzo6Z2V0UmVzaXplRGlyZWN0 aW9uKGludCB4LCBpbnQgeSwKKyAgICAgICAgIFJlc2l6ZU1vZGVsIG1vZGVsLCBpbnQgY29ybmVy X3NpemVfcHgsIGludCBjb3JuZXJfc2l6ZV9wYykgY29uc3QKKyB7CistICAgIGlmIChtb2RlbCA9 PSBUT1BMRUZUUkVTSVpFKSAgICAgcmV0dXJuIExFRlRUT1A7CistICAgIGlmIChtb2RlbCA9PSBU T1BSRVNJWkUpICAgICAgICAgcmV0dXJuIFRPUDsKKy0gICAgaWYgKG1vZGVsID09IFRPUFJJR0hU UkVTSVpFKSAgICByZXR1cm4gUklHSFRUT1A7CistICAgIGlmIChtb2RlbCA9PSBMRUZUUkVTSVpF KSAgICAgICAgcmV0dXJuIExFRlQ7CistICAgIGlmIChtb2RlbCA9PSBSSUdIVFJFU0laRSkgICAg ICAgcmV0dXJuIFJJR0hUOworLSAgICBpZiAobW9kZWwgPT0gQk9UVE9NTEVGVFJFU0laRSkgIHJl dHVybiBMRUZUQk9UVE9NOworLSAgICBpZiAobW9kZWwgPT0gQk9UVE9NUkVTSVpFKSAgICAgIHJl dHVybiBCT1RUT007CistICAgIGlmIChtb2RlbCA9PSBDRU5URVJSRVNJWkUpICAgICAgcmV0dXJu IENFTlRFUjsKKysgICAgc3dpdGNoIChtb2RlbCkgeworKyAgICBjYXNlIFRPUExFRlRSRVNJWkU6 ICAgICByZXR1cm4gTEVGVFRPUDsKKysgICAgY2FzZSBUT1BSRVNJWkU6ICAgICAgICAgcmV0dXJu IFRPUDsKKysgICAgY2FzZSBUT1BSSUdIVFJFU0laRTogICAgcmV0dXJuIFJJR0hUVE9QOworKyAg ICBjYXNlIExFRlRSRVNJWkU6ICAgICAgICByZXR1cm4gTEVGVDsKKysgICAgY2FzZSBSSUdIVFJF U0laRTogICAgICAgcmV0dXJuIFJJR0hUOworKyAgICBjYXNlIEJPVFRPTUxFRlRSRVNJWkU6ICBy ZXR1cm4gTEVGVEJPVFRPTTsKKysgICAgY2FzZSBCT1RUT01SRVNJWkU6ICAgICAgcmV0dXJuIEJP VFRPTTsKKysgICAgY2FzZSBDRU5URVJSRVNJWkU6ICAgICAgcmV0dXJuIENFTlRFUjsKKysgICAg ZGVmYXVsdDoKKysgICAgYnJlYWs7CisrICAgIH0KKyAKKyAgICAgaWYgKG1vZGVsID09IEVER0VP UkNPUk5FUlJFU0laRSkKKyAgICAgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mbHV4Ym94L3BhdGNo ZXMvZmx1eF9vdmVyc2l6ZS5wYXRjaCBiL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL2ZsdXhfb3Zl cnNpemUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45OGQ3 MGQzYjAzN2UKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy9mbHV4 X292ZXJzaXplLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK2RpZmYgLS1naXQgYS9zcmMvV2luZG93 LmNjIGIvc3JjL1dpbmRvdy5jYworaW5kZXggMzQyZTQ4ODUuLjAyZDEwZTkwIDEwMDY0NAorLS0t IGEvc3JjL1dpbmRvdy5jYworKysrIGIvc3JjL1dpbmRvdy5jYworQEAgLTUzMiwxOSArNTMyLDE0 IEBAIHZvaWQgRmx1eGJveFdpbmRvdzo6aW5pdCgpIHsKKyAgICAgaWYgKCFtX3N0YXRlLmZ1bGxz Y3JlZW4pIHsKKyAgICAgICAgIHVuc2lnbmVkIGludCBuZXdfd2lkdGggPSAwLCBuZXdfaGVpZ2h0 ID0gMDsKKyAgICAgICAgIGlmIChtX2NsaWVudC0+d2lkdGgoKSA+PSBzY3JlZW4oKS53aWR0aCgp KSB7CistICAgICAgICAgICAgbV9zdGF0ZS5tYXhpbWl6ZWQgfD0gV2luZG93U3RhdGU6Ok1BWF9I T1JaOworICAgICAgICAgICAgIG5ld193aWR0aCA9IDIgKiBzY3JlZW4oKS53aWR0aCgpIC8gMzsK KyAgICAgICAgIH0KKyAgICAgICAgIGlmIChtX2NsaWVudC0+aGVpZ2h0KCkgPj0gc2NyZWVuKCku aGVpZ2h0KCkpIHsKKy0gICAgICAgICAgICBtX3N0YXRlLm1heGltaXplZCB8PSBXaW5kb3dTdGF0 ZTo6TUFYX1ZFUlQ7CisgICAgICAgICAgICAgbmV3X2hlaWdodCA9IDIgKiBzY3JlZW4oKS5oZWln aHQoKSAvIDM7CisgICAgICAgICB9CisgICAgICAgICBpZiAobmV3X3dpZHRoIHx8IG5ld19oZWln aHQpIHsKKy0gICAgICAgICAgICBjb25zdCBpbnQgbWF4aW1pemVkID0gbV9zdGF0ZS5tYXhpbWl6 ZWQ7CistICAgICAgICAgICAgbV9zdGF0ZS5tYXhpbWl6ZWQgPSBXaW5kb3dTdGF0ZTo6TUFYX05P TkU7CisgICAgICAgICAgICAgcmVzaXplKG5ld193aWR0aCA/IG5ld193aWR0aCA6IHdpZHRoKCks IG5ld19oZWlnaHQgPyBuZXdfaGVpZ2h0IDogaGVpZ2h0KCkpOworICAgICAgICAgICAgIG1fcGxh Y2VkID0gZmFsc2U7CistICAgICAgICAgICAgbV9zdGF0ZS5tYXhpbWl6ZWQgPSBtYXhpbWl6ZWQ7 CisgICAgICAgICB9CisgICAgIH0KKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmx1eGJveC9wYXRj aGVzL2ZvY3VzX2Nsb3NlX21lbnUucGF0Y2ggYi9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy9mb2N1 c19jbG9zZV9tZW51LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uMDE4MzBjZjUzNDYwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mbHV4Ym94L3BhdGNo ZXMvZm9jdXNfY2xvc2VfbWVudS5wYXRjaApAQCAtMCwwICsxLDE3IEBACitkaWZmIC0tZ2l0IGEv c3JjL0ZvY3VzQ29udHJvbC5jYyBiL3NyYy9Gb2N1c0NvbnRyb2wuY2MKK2luZGV4IDU0YzNkNDZj Li43ZTQ5ZmY1MSAxMDA2NDQKKy0tLSBhL3NyYy9Gb2N1c0NvbnRyb2wuY2MKKysrKyBiL3NyYy9G b2N1c0NvbnRyb2wuY2MKK0BAIC0yNDcsMTEgKzI0Nyw3IEBAIHZvaWQgRm9jdXNDb250cm9sOjpz dG9wQ3ljbGluZ0ZvY3VzKCkgeworIAorICAgICAvLyBwdXQgY3VycmVudGx5IGZvY3VzZWQgd2lu ZG93IHRvIHRvcAorICAgICBpZiAoc19mb2N1c2VkX3dpbmRvdykgeworLSAgICAgICAgLy8gcmUt Zm9jdXMgbGFzdCB3aW5kb3cgdG8gZ2l2ZSB0aGUgY2xpZW50IGEgY2hhbmNlIHRvIHJlZGlzdHJp YnV0ZSB0aGUKKy0gICAgICAgIC8vIGZvY3VzIGludGVybmFsbHkgKGNsaWVudC1zaWRlIG9ubHkg bW9kYWxpdHkpCistICAgICAgICBzX2ZvY3VzZWRfd2luZG93LT5mb2N1cygpOworLSAgICAgICAg aWYgKHNfZm9jdXNlZF93aW5kb3cpCistICAgICAgICAgICAgc2V0U2NyZWVuRm9jdXNlZFdpbmRv dygqc19mb2N1c2VkX3dpbmRvdyk7CisrICAgICAgICBzZXRTY3JlZW5Gb2N1c2VkV2luZG93KCpz X2ZvY3VzZWRfd2luZG93KTsKKyAgICAgICAgIGlmIChzX2ZvY3VzZWRfZmJ3aW5kb3cpCisgICAg ICAgICAgICAgc19mb2N1c2VkX2Zid2luZG93LT5yYWlzZSgpOworICAgICB9IGVsc2UKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3NsaXRfcmFpc2UucGF0Y2ggYi9zcmNwa2dz L2ZsdXhib3gvcGF0Y2hlcy9zbGl0X3JhaXNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uYTNiYzAxYzdhYzg1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9mbHV4Ym94L3BhdGNoZXMvc2xpdF9yYWlzZS5wYXRjaApAQCAtMCwwICsxLDE2IEBACitkaWZm IC0tZ2l0IGEvc3JjL1NsaXQuY2MgYi9zcmMvU2xpdC5jYworaW5kZXggOWJhZWNmMjEuLjYzZWQ4 MjY5IDEwMDY0NAorLS0tIGEvc3JjL1NsaXQuY2MKKysrKyBiL3NyYy9TbGl0LmNjCitAQCAtOTU4 LDggKzk1OCw4IEBAIHZvaWQgU2xpdDo6YnV0dG9uUHJlc3NFdmVudChYQnV0dG9uRXZlbnQgJmJl KSB7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKworLSAgICBpZiAoYmUuYnV0dG9uID09IDEp CistICAgICAgICBmcmFtZS53aW5kb3cucmFpc2UoKTsKKysgICAgLy9pZiAoYmUuYnV0dG9uID09 IDEpCisrICAgIC8vICAgIGZyYW1lLndpbmRvdy5yYWlzZSgpOworCisgICAgIGlmIChiZS5idXR0 b24gIT0gQnV0dG9uMykgeworICAgICAgICAgWEFsbG93RXZlbnRzKGRweSwgUmVwbGF5UG9pbnRl ciwgQ3VycmVudFRpbWUpOworCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy90 b29sYmFyX3JlZG8ucGF0Y2ggYi9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy90b29sYmFyX3JlZG8u cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jYTk1NDg2NTgz Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy90b29sYmFyX3Jl ZG8ucGF0Y2gKQEAgLTAsMCArMSwyMjggQEAKK2RpZmYgLS1naXQgYS9zcmMvVG9vbGJhci5jYyBi L3NyYy9Ub29sYmFyLmNjCitpbmRleCBhYTliYzEyMS4uZWU4YjhiZmMgMTAwNjQ0CistLS0gYS9z cmMvVG9vbGJhci5jYworKysrIGIvc3JjL1Rvb2xiYXIuY2MKK0BAIC03NCw3ICs3NCw3IEBAIHVz aW5nIEZiVGs6OlNUTFV0aWw6OmZvckFsbDsKKyAKKyBuYW1lc3BhY2UgeworIAorLWNvbnN0IHN0 cnVjdCB7IAorK2NvbnN0IHN0cnVjdCB7CisgICAgIFRvb2xiYXI6OlBsYWNlbWVudCBwbGFjZW1l bnQ7CisgICAgIGNvbnN0IGNoYXIqIHN0cjsKKyAgICAgRmJUazo6T3JpZW50YXRpb24gb3JpZW50 OworQEAgLTM2MiwxMyArMzYyLDE2IEBAIHZvaWQgVG9vbGJhcjo6bG93ZXIoKSB7CisgfQorIAor IHZvaWQgVG9vbGJhcjo6c2NyZWVuQ2hhbmdlZChCU2NyZWVuICZzY3JlZW4pIHsKKy0gICAgcmVj b25maWd1cmUoKTsKKysgICAgLy9yZWNvbmZpZ3VyZSgpOworIH0KKyAKKyB2b2lkIFRvb2xiYXI6 OnJlbGF5b3V0KCkgeworLSAgICBmb3JBbGwobV9pdGVtX2xpc3QsIHN0ZDo6bWVtX2Z1bigmVG9v bGJhckl0ZW06OnVwZGF0ZVNpemluZykpOworLSAgICByZWFycmFuZ2VJdGVtcygpOworLSAgICBm b3JBbGwobV9pdGVtX2xpc3QsIHN0ZDo6YmluZDJuZChzdGQ6Om1lbV9mdW4oJlRvb2xiYXJJdGVt OjpyZW5kZXJUaGVtZSksIGFscGhhKCkpKTsKKysgICAgLy9mb3IgKGF1dG8gaXQgOiBtX2l0ZW1f bGlzdCkgICAgKCppdGVtX2l0KS0+dXBkYXRlU2l6aW5nKCk7CisrICAgIC8vcmVhcnJhbmdlSXRl bXMoKTsKKysgICAgLy9mb3IgKGF1dG8gaXQgOiBtX2l0ZW1fbGlzdCkgICAgKCppdGVtX2l0KS0+ cmVuZGVyVGhlbWUoYWxwaGEoKSk7CisrICAgIC8vZm9yQWxsKG1faXRlbV9saXN0LCBzdGQ6Om1l bV9mdW4oJlRvb2xiYXJJdGVtOjp1cGRhdGVTaXppbmcpKTsKKysgICAgLy9yZWFycmFuZ2VJdGVt cygpOworKyAgICAvL2ZvckFsbChtX2l0ZW1fbGlzdCwgc3RkOjpiaW5kMm5kKHN0ZDo6bWVtX2Z1 bigmVG9vbGJhckl0ZW06OnJlbmRlclRoZW1lKSwgYWxwaGEoKSkpOworIH0KKyAKKyB2b2lkIFRv b2xiYXI6OnJlY29uZmlndXJlKCkgeworQEAgLTU1NywxMiArNTYwLDE2IEBAIHZvaWQgVG9vbGJh cjo6YnV0dG9uUHJlc3NFdmVudChYQnV0dG9uRXZlbnQgJmJlKSB7CisgfQorIAorIHZvaWQgVG9v bGJhcjo6dXBkYXRlQ3Jvc3NpbmdTdGF0ZSgpIHsKKy0gICAgV2luZG93IHdyLCB3YzsKKy0gICAg aW50IHJ4LCByeSwgeCwgeTsKKysgICAgLy9XaW5kb3cgd3IsIHdjOworKyAgICAvL2ludCByeCwg cnksIHgsIHk7CisrICAgIC8vdW5zaWduZWQgaW50IG1hc2s7CisrICAgIFdpbmRvdyB3cmM7Cisr ICAgIGludCByeHksIHgsIHk7CisgICAgIHVuc2lnbmVkIGludCBtYXNrOworICAgICBjb25zdCBp bnQgYncgPSAtdGhlbWUoKS0+Ym9yZGVyKCkud2lkdGgoKTsKKyAgICAgYm9vbCBob3ZlcmVkID0g ZmFsc2U7CistICAgIGlmIChYUXVlcnlQb2ludGVyKEZsdXhib3g6Omluc3RhbmNlKCktPmRpc3Bs YXkoKSwgd2luZG93KCkud2luZG93KCksICZ3ciwgJndjLCAmcngsICZyeSwgJngsICZ5LCAmbWFz aykpCisrICAgIC8vaWYgKFhRdWVyeVBvaW50ZXIoRmx1eGJveDo6aW5zdGFuY2UoKS0+ZGlzcGxh eSgpLCB3aW5kb3coKS53aW5kb3coKSwgJndyLCAmd2MsICZyeCwgJnJ5LCAmeCwgJnksICZtYXNr KSkKKysgICAgaWYgKFhRdWVyeVBvaW50ZXIoRmx1eGJveDo6aW5zdGFuY2UoKS0+ZGlzcGxheSgp LCB3aW5kb3coKS53aW5kb3coKSwgJndyYywgJndyYywgJnJ4eSwgJnJ4eSwgJngsICZ5LCAmbWFz aykpCisgICAgICAgICBob3ZlcmVkID0geCA+PSBidyAmJiB5ID49IGJ3ICYmIHggPCBpbnQod2lk dGgoKSkgJiYgeSA8IGludChoZWlnaHQoKSk7CisgICAgIGlmIChob3ZlcmVkKSB7CisgICAgICAg ICBpZiAobV9yY19hdXRvX3JhaXNlKQorQEAgLTkxMCwyNSArOTE3LDI2IEBAIHZvaWQgVG9vbGJh cjo6cmVhcnJhbmdlSXRlbXMoKSB7CisgICAgIC8vIGxvY2sgdGhpcworICAgICBtX3Jlc2l6ZV9s b2NrID0gdHJ1ZTsKKyAgICAgLy8gY2FsY3VsYXRlIHNpemUgZm9yIGZpeGVkIGl0ZW1zCistICAg IEl0ZW1MaXN0OjppdGVyYXRvciBpdGVtX2l0ID0gbV9pdGVtX2xpc3QuYmVnaW4oKTsKKy0gICAg SXRlbUxpc3Q6Oml0ZXJhdG9yIGl0ZW1faXRfZW5kID0gbV9pdGVtX2xpc3QuZW5kKCk7CisrICAg IC8vSXRlbUxpc3Q6Oml0ZXJhdG9yIGl0ZW1faXQgPSBtX2l0ZW1fbGlzdC5iZWdpbigpOworKyAg ICAvL0l0ZW1MaXN0OjppdGVyYXRvciBpdGVtX2l0X2VuZCA9IG1faXRlbV9saXN0LmVuZCgpOwor ICAgICBpbnQgYmV2ZWxfd2lkdGggPSB0aGVtZSgpLT5iZXZlbFdpZHRoKCk7CisgICAgIGludCBm aXhlZF93aWR0aCA9IGJldmVsX3dpZHRoOyAvLyBjb21iaW5lZCBzaXplIG9mIGFsbCBmaXhlZCBp dGVtcworICAgICBpbnQgcmVsYXRpdmVfd2lkdGggPSAwOyAvLyBjb21iaW5lZCAqZGVzaXJlZCog c2l6ZSBvZiBhbGwgcmVsYXRpdmUgaXRlbXMKKy0gICAgaW50IHN0cmV0Y2hfaXRlbXMgPSAwOwor ICAgICBpbnQgcmVsYXRpdmVfaXRlbXMgPSAwOworICAgICBpbnQgbGFzdF9idyA9IDA7IC8vIHdl IHNob3cgdGhlIGxhcmdlc3QgYm9yZGVyIG9mIGFkam9pbmluZyBpdGVtcworICAgICBib29sIGZp cnN0ID0gdHJ1ZTsKKysgICAgaW50IGxlZnRvdmVyX3dpZHRoID0gMDsKKyAKKyAgICAgdW5zaWdu ZWQgaW50IHdpZHRoID0gdGhpcy0+d2lkdGgoKSwgaGVpZ2h0ID0gdGhpcy0+aGVpZ2h0KCk7Cisg ICAgIHVuc2lnbmVkIGludCB0bXB3LCB0bXBoOworICAgICBGYlRrOjp0cmFuc2xhdGVTaXplKG9y aWVudCwgd2lkdGgsIGhlaWdodCk7CisgCistICAgIGZvciAoOyBpdGVtX2l0ICE9IGl0ZW1faXRf ZW5kOyArK2l0ZW1faXQpIHsKKy0gICAgICAgIGlmICghKCppdGVtX2l0KS0+YWN0aXZlKCkpCisr ICAgIC8vZm9yICg7IGl0ZW1faXQgIT0gaXRlbV9pdF9lbmQ7ICsraXRlbV9pdCkgeworKyAgICBm b3IgKGF1dG8gaXRlbV9pdCA6IG1faXRlbV9saXN0KSB7CisrICAgICAgICBpZiAoISgqaXRlbV9p dCkuYWN0aXZlKCkpCisgICAgICAgICAgICAgY29udGludWU7CisgCistICAgICAgICBpbnQgYm9y ZGVyVyA9ICgqaXRlbV9pdCktPmJvcmRlcldpZHRoKCk7CisrICAgICAgICBpbnQgYm9yZGVyVyA9 ICgqaXRlbV9pdCkuYm9yZGVyV2lkdGgoKTsKKyAKKyAgICAgICAgIGlmIChiZXZlbF93aWR0aCA+ IDApIHsKKyAgICAgICAgICAgICAvLyB0aGUgYmV2ZWwgYW5kIGJvcmRlciBhcmUgZml4ZWQgd2hl dGhlciByZWxhdGl2ZSBvciBub3QKK0BAIC05NDMsMzUgKzk1MSwzNSBAQCB2b2lkIFRvb2xiYXI6 OnJlYXJyYW5nZUl0ZW1zKCkgeworIAorICAgICAgICAgbGFzdF9idyA9IGJvcmRlclc7CisgCist ICAgICAgICB0bXB3ID0gKCppdGVtX2l0KS0+cHJlZmVycmVkV2lkdGgoKTsKKy0gICAgICAgIHRt cGggPSAoKml0ZW1faXQpLT5oZWlnaHQoKTsKKysgICAgICAgIHRtcHcgPSAoKml0ZW1faXQpLnBy ZWZlcnJlZFdpZHRoKCk7CisrICAgICAgICB0bXBoID0gKCppdGVtX2l0KS5oZWlnaHQoKTsKKyAg ICAgICAgIEZiVGs6OnRyYW5zbGF0ZVNpemUob3JpZW50LCB0bXB3LCB0bXBoKTsKKyAKKy0gICAg ICAgIGlmICgoKml0ZW1faXQpLT50eXBlKCkgPT0gVG9vbGJhckl0ZW06OkZJWEVEKSB7CistICAg ICAgICAgICAgZml4ZWRfd2lkdGggKz0gdG1wdzsKKy0gICAgICAgIH0gZWxzZSBpZiAoKCppdGVt X2l0KS0+dHlwZSgpID09IFRvb2xiYXJJdGVtOjpTUVVBUkUpIHsKKy0gICAgICAgICAgICBmaXhl ZF93aWR0aCArPSBoZWlnaHQ7CistICAgICAgICAgICAgaWYgKGJldmVsX3dpZHRoKQorLSAgICAg ICAgICAgICAgICBmaXhlZF93aWR0aCAtPSAyKihib3JkZXJXICsgYmV2ZWxfd2lkdGgpOworLSAg ICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICArK3JlbGF0aXZlX2l0ZW1zOworLSAgICAgICAg ICAgIHJlbGF0aXZlX3dpZHRoICs9IHRtcHc7CistICAgICAgICAgICAgaWYgKCF0bXB3KQorLSAg ICAgICAgICAgICAgICArK3N0cmV0Y2hfaXRlbXM7CisrICAgICAgICBzd2l0Y2ggKCAoKml0ZW1f aXQpLnR5cGUoKSApIHsKKysgICAgICAgICAgICBjYXNlIFRvb2xiYXJJdGVtOjpGSVhFRDoKKysg ICAgICAgICAgICAgICAgZml4ZWRfd2lkdGggKz0gdG1wdzsKKysgICAgICAgICAgICAgICAgYnJl YWs7CisrICAgICAgICAgICAgY2FzZSBUb29sYmFySXRlbTo6U1FVQVJFOgorKyAgICAgICAgICAg ICAgICBmaXhlZF93aWR0aCArPSBoZWlnaHQ7CisrICAgICAgICAgICAgICAgIGlmIChiZXZlbF93 aWR0aCkKKysgICAgICAgICAgICAgICAgICAgIGZpeGVkX3dpZHRoIC09IDIqKGJvcmRlclcgKyBi ZXZlbF93aWR0aCk7CisrICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIGNhc2Ug VG9vbGJhckl0ZW06OlJFTEFUSVZFOgorKyAgICAgICAgICAgICAgICArK3JlbGF0aXZlX2l0ZW1z OworKyAgICAgICAgICAgICAgICByZWxhdGl2ZV93aWR0aCArPSB0bXB3OworKyAgICAgICAgICAg ICAgICBicmVhazsKKysgICAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgICAgICBicmVh azsKKyAgICAgICAgIH0KKyAgICAgfQorIAorICAgICAvLyBjYWxjdWxhdGUgd2hhdCdzIGdvaW5n IHRvIGJlIGxlZnQgb3ZlciB0byB0aGUgcmVsYXRpdmUgc2l6ZWQgaXRlbXMKKy0gICAgZmxvYXQg c3RyZXRjaF9mYWN0b3IgPSAxLjBmOworICAgICBpZiAocmVsYXRpdmVfaXRlbXMpIHsKKy0gICAg ICAgIGlmIChyZWxhdGl2ZV93aWR0aCA8PSB3aWR0aCAtIGZpeGVkX3dpZHRoICYmIHN0cmV0Y2hf aXRlbXMpIHsKKy0gICAgICAgICAgICByZWxhdGl2ZV93aWR0aCA9IGludCh3aWR0aCAtIGZpeGVk X3dpZHRoIC0gcmVsYXRpdmVfd2lkdGgpL3N0cmV0Y2hfaXRlbXM7CistICAgICAgICB9IGVsc2Ug aWYgKHJlbGF0aXZlX3dpZHRoKSB7CistICAgICAgICAgICAgc3RyZXRjaF9mYWN0b3IgPSBmbG9h dCh3aWR0aCAtIGZpeGVkX3dpZHRoKS9yZWxhdGl2ZV93aWR0aDsKKy0gICAgICAgICAgICByZWxh dGl2ZV93aWR0aCA9IDA7CistICAgICAgICB9CisrICAgICAgICByZWxhdGl2ZV93aWR0aCA9ICh3 aWR0aCAtIGZpeGVkX3dpZHRoKSAvIHJlbGF0aXZlX2l0ZW1zOworKyAgICAgICAgbGVmdG92ZXJf d2lkdGggPSB3aWR0aCAtIGZpeGVkX3dpZHRoIC0gcmVsYXRpdmVfaXRlbXMgKiByZWxhdGl2ZV93 aWR0aDsKKyAgICAgfQorIAorKworICAgICAvLyBub3cgbW92ZSBhbmQgcmVzaXplIHRoZSBpdGVt cworICAgICAvLyBib3JkZXJXaWR0aCBhZGRlZCBiYWNrIG9uIHN0cmFpZ2h0IGF3YXkKKyAgICAg aW50IG5leHRfeCA9IC1tX2l0ZW1fbGlzdC5mcm9udCgpLT5ib3JkZXJXaWR0aCgpOyAvLyBsaXN0 IGlzbid0IGVtcHR5CitAQCAtOTc5LDE5ICs5ODcsMjIgQEAgdm9pZCBUb29sYmFyOjpyZWFycmFu Z2VJdGVtcygpIHsKKyAgICAgICAgIG5leHRfeCA9IDA7CisgCisgICAgIGxhc3RfYncgPSAwOwor LSAgICBmb3IgKGl0ZW1faXQgPSBtX2l0ZW1fbGlzdC5iZWdpbigpOyBpdGVtX2l0ICE9IGl0ZW1f aXRfZW5kOyArK2l0ZW1faXQpIHsKKy0gICAgICAgIGludCBib3JkZXJXID0gKCppdGVtX2l0KS0+ Ym9yZGVyV2lkdGgoKTsKKy0gICAgICAgIGlmICghKCppdGVtX2l0KS0+YWN0aXZlKCkpIHsKKy0g ICAgICAgICAgICAoKml0ZW1faXQpLT5oaWRlKCk7CisrICAgIGludCBib3JkZXJXLCBvZmZzZXQs IHNpemVfb2Zmc2V0LCB0bXB4LCB0bXB5OworKworKyAgICAvL2ZvciAoaXRlbV9pdCA9IG1faXRl bV9saXN0LmJlZ2luKCk7IGl0ZW1faXQgIT0gaXRlbV9pdF9lbmQ7ICsraXRlbV9pdCkgeworKyAg ICBmb3IgKGF1dG8gaXRlbV9pdCA6IG1faXRlbV9saXN0KSB7CisrICAgICAgICBib3JkZXJXID0g KCppdGVtX2l0KS5ib3JkZXJXaWR0aCgpOworKyAgICAgICAgaWYgKCEoKml0ZW1faXQpLmFjdGl2 ZSgpKSB7CisrICAgICAgICAgICAgKCppdGVtX2l0KS5oaWRlKCk7CisgICAgICAgICAgICAgLy8g bWFrZSBzdXJlIGl0IHN0aWxsIGdldHMgdG9sZCB0aGUgdG9vbGJhciBoZWlnaHQKKyAgICAgICAg ICAgICB0bXB3ID0gMTsgdG1waCA9IGhlaWdodCAtIDIqKGJldmVsX3dpZHRoK2JvcmRlclcpOwor ICAgICAgICAgICAgIGlmICh0bXBoID49ICgxPDwzMCkpIHRtcGggPSAxOworICAgICAgICAgICAg IEZiVGs6OnRyYW5zbGF0ZVNpemUob3JpZW50LCB0bXB3LCB0bXBoKTsKKy0gICAgICAgICAgICAo Kml0ZW1faXQpLT5yZXNpemUodG1wdywgdG1waCk7ICAvLyB3aWR0aCBvZiAwIGNoYW5nZXMgdG8g MSBhbnl3YXkKKysgICAgICAgICAgICAoKml0ZW1faXQpLnJlc2l6ZSh0bXB3LCB0bXBoKTsgIC8v IHdpZHRoIG9mIDAgY2hhbmdlcyB0byAxIGFueXdheQorICAgICAgICAgICAgIGNvbnRpbnVlOwor ICAgICAgICAgfQorLSAgICAgICAgaW50IG9mZnNldCA9IGJldmVsX3dpZHRoOworLSAgICAgICAg aW50IHNpemVfb2Zmc2V0ID0gMiooYm9yZGVyVyArIGJldmVsX3dpZHRoKTsKKysgICAgICAgIG9m ZnNldCA9IGJldmVsX3dpZHRoOworKyAgICAgICAgc2l6ZV9vZmZzZXQgPSAyKihib3JkZXJXICsg YmV2ZWxfd2lkdGgpOworIAorICAgICAgICAgaWYgKGJldmVsX3dpZHRoID09IDApIHsKKyAgICAg ICAgICAgICBvZmZzZXQgPSAtYm9yZGVyVzsKK0BAIC0xMDAwLDIyICsxMDExLDI4IEBAIHZvaWQg VG9vbGJhcjo6cmVhcnJhbmdlSXRlbXMoKSB7CisgICAgICAgICB9CisgICAgICAgICBsYXN0X2J3 ID0gYm9yZGVyVzsKKyAKKy0gICAgICAgIGludCB0bXB4ID0gbmV4dF94ICsgb2Zmc2V0LAorLSAg ICAgICAgICAgIHRtcHkgPSBvZmZzZXQ7CistCistICAgICAgICBpZiAoKCppdGVtX2l0KS0+dHlw ZSgpID09IFRvb2xiYXJJdGVtOjpSRUxBVElWRSkgeworLSAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBpdGVtdyA9ICgqaXRlbV9pdCktPnByZWZlcnJlZFdpZHRoKCksIGl0ZW1oID0gKCppdGVtX2l0 KS0+aGVpZ2h0KCk7CistICAgICAgICAgICAgRmJUazo6dHJhbnNsYXRlU2l6ZShvcmllbnQsIGl0 ZW13LCBpdGVtaCk7CistICAgICAgICAgICAgdG1wdyA9IGl0ZW13ID8gc3RkOjpmbG9vcihzdHJl dGNoX2ZhY3RvciAqIGl0ZW13KSA6IHJlbGF0aXZlX3dpZHRoOworLSAgICAgICAgICAgIHRtcGgg PSBoZWlnaHQgLSBzaXplX29mZnNldDsKKy0gICAgICAgIH0gZWxzZSBpZiAoKCppdGVtX2l0KS0+ dHlwZSgpID09IFRvb2xiYXJJdGVtOjpTUVVBUkUpIHsKKy0gICAgICAgICAgICB0bXB3ID0gdG1w aCA9IGhlaWdodCAtIHNpemVfb2Zmc2V0OworLSAgICAgICAgfSBlbHNlIHsgLy8gZml4ZWQgc2l6 ZQorLSAgICAgICAgICAgIHVuc2lnbmVkIGludCBpdGVtdyA9ICgqaXRlbV9pdCktPndpZHRoKCks IGl0ZW1oID0gKCppdGVtX2l0KS0+aGVpZ2h0KCk7CistICAgICAgICAgICAgRmJUazo6dHJhbnNs YXRlU2l6ZShvcmllbnQsIGl0ZW13LCBpdGVtaCk7CistICAgICAgICAgICAgdG1wdyA9IGl0ZW13 OworLSAgICAgICAgICAgIHRtcGggPSBoZWlnaHQgLSBzaXplX29mZnNldDsKKysgICAgICAgIHRt cHggPSBuZXh0X3ggKyBvZmZzZXQsCisrICAgICAgICB0bXB5ID0gb2Zmc2V0OworKyAgICAgICAg dG1waCA9IGhlaWdodCAtIHNpemVfb2Zmc2V0OworKworKyAgICAgICAgc3dpdGNoICggKCppdGVt X2l0KS50eXBlKCkgKSB7CisrICAgICAgICAgICAgY2FzZSBUb29sYmFySXRlbTo6U1FVQVJFOgor KyAgICAgICAgICAgICAgICB0bXB3ID0gdG1waDsKKysgICAgICAgICAgICAgICAgYnJlYWs7Cisr ICAgICAgICAgICAgY2FzZSBUb29sYmFySXRlbTo6UkVMQVRJVkU6CisrICAgICAgICAgICAgICAg IHRtcHcgPSByZWxhdGl2ZV93aWR0aDsKKysgICAgICAgICAgICAgICAgaWYgKGxlZnRvdmVyX3dp ZHRoKSB7CisrICAgICAgICAgICAgICAgICAgICAtLWxlZnRvdmVyX3dpZHRoOworKyAgICAgICAg ICAgICAgICAgICAgKyt0bXB3OworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAg IGJyZWFrOworKyAgICAgICAgICAgIGNhc2UgVG9vbGJhckl0ZW06OkZJWEVEOgorKyAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgaXRlbXcgPSAoKml0ZW1faXQpLndpZHRoKCksIGl0ZW1oID0g KCppdGVtX2l0KS5oZWlnaHQoKTsKKysgICAgICAgICAgICAgICAgRmJUazo6dHJhbnNsYXRlU2l6 ZShvcmllbnQsIGl0ZW13LCBpdGVtaCk7CisrICAgICAgICAgICAgICAgIHRtcHcgPSBpdGVtdzsK KysgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9CisrCisgICAgICAgICBpZiAodG1w dyA+PSAoMTw8MzApKSB0bXB3ID0gMTsKKyAgICAgICAgIGlmICh0bXBoID49ICgxPDwzMCkpIHRt cGggPSAxOworICAgICAgICAgbmV4dF94ICs9IHRtcHcgKyBiZXZlbF93aWR0aDsKK0BAIC0xMDI1 LDggKzEwNDIsOCBAQCB2b2lkIFRvb2xiYXI6OnJlYXJyYW5nZUl0ZW1zKCkgeworICAgICAgICAg RmJUazo6dHJhbnNsYXRlQ29vcmRzKG9yaWVudCwgdG1weCwgdG1weSwgd2lkdGgsIGhlaWdodCk7 CisgICAgICAgICBGYlRrOjp0cmFuc2xhdGVQb3NpdGlvbihvcmllbnQsIHRtcHgsIHRtcHksIHRt cHcsIHRtcGgsIGJvcmRlclcpOworICAgICAgICAgRmJUazo6dHJhbnNsYXRlU2l6ZShvcmllbnQs IHRtcHcsIHRtcGgpOworLSAgICAgICAgKCppdGVtX2l0KS0+bW92ZVJlc2l6ZSh0bXB4LCB0bXB5 LCB0bXB3LCB0bXBoKTsKKy0gICAgICAgICgqaXRlbV9pdCktPnNob3coKTsKKysgICAgICAgICgq aXRlbV9pdCkubW92ZVJlc2l6ZSh0bXB4LCB0bXB5LCB0bXB3LCB0bXBoKTsKKysgICAgICAgIC8v KCppdGVtX2l0KS5zaG93KCk7CisgCisgICAgIH0KKyAgICAgLy8gdW5sb2NrCmRpZmYgLS1naXQg YS9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy90cmVtb3JfZ3JhYm9pZF9oZWxsLnBhdGNoIGIvc3Jj cGtncy9mbHV4Ym94L3BhdGNoZXMvdHJlbW9yX2dyYWJvaWRfaGVsbC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE4OWEzMTQ2MDdiZAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3RyZW1vcl9ncmFib2lkX2hlbGwucGF0Y2gK QEAgLTAsMCArMSwzNTAgQEAKK2RpZmYgLS1naXQgYS9zcmMvRmJUay9FdmVudE1hbmFnZXIuY2Mg Yi9zcmMvRmJUay9FdmVudE1hbmFnZXIuY2MKK2luZGV4IDNkZjU2ZGU1Li41MDE3NjZjYyAxMDA2 NDQKKy0tLSBhL3NyYy9GYlRrL0V2ZW50TWFuYWdlci5jYworKysrIGIvc3JjL0ZiVGsvRXZlbnRN YW5hZ2VyLmNjCitAQCAtMTk0LDIzICsxOTQsMjIgQEAgdm9pZCBFdmVudE1hbmFnZXI6OmRpc3Bh dGNoKFdpbmRvdyB3aW4sIFhFdmVudCAmZXYsIGJvb2wgcGFyZW50KSB7CisgCisgICAgIC8vIGZp bmQgb3V0IHdoaWNoIHdpbmRvdyBpcyB0aGUgcGFyZW50IGFuZAorICAgICAvLyBkaXNwYXRjaCBl dmVudAorLSAgICBXaW5kb3cgcm9vdCwgcGFyZW50X3dpbiwgKmNoaWxkcmVuID0gMDsKKy0gICAg dW5zaWduZWQgaW50IG51bV9jaGlsZHJlbjsKKy0gICAgaWYgKFhRdWVyeVRyZWUoRmJUazo6QXBw OjppbnN0YW5jZSgpLT5kaXNwbGF5KCksIHdpbiwKKy0gICAgICAgICAgICAgICAgICAgJnJvb3Qs ICZwYXJlbnRfd2luLCAmY2hpbGRyZW4sICZudW1fY2hpbGRyZW4pICE9IDApIHsKKy0gICAgICAg IGlmIChjaGlsZHJlbiAhPSAwKQorLSAgICAgICAgICAgIFhGcmVlKGNoaWxkcmVuKTsKKy0KKy0g ICAgICAgIGlmIChwYXJlbnRfd2luICE9IDAgJiYKKy0gICAgICAgICAgICBwYXJlbnRfd2luICE9 IHJvb3QpIHsKKy0gICAgICAgICAgICBpZiAobV9wYXJlbnRbcGFyZW50X3dpbl0gPT0gMCkKKy0g ICAgICAgICAgICAgICAgcmV0dXJuOworLQorLSAgICAgICAgICAgIC8vIGRpc3BhdGNoIGV2ZW50 IHRvIHBhcmVudAorLSAgICAgICAgICAgIGRpc3BhdGNoKHBhcmVudF93aW4sIGV2LCB0cnVlKTsK Ky0gICAgICAgIH0KKy0gICAgfQorLQorKy8vICAgIFdpbmRvdyByb290LCBwYXJlbnRfd2luLCAq Y2hpbGRyZW4gPSAwOworKy8vICAgIHVuc2lnbmVkIGludCBudW1fY2hpbGRyZW47CisrLy8gICAg aWYgKFhRdWVyeVRyZWUoRmJUazo6QXBwOjppbnN0YW5jZSgpLT5kaXNwbGF5KCksIHdpbiwKKysv LyAgICAgICAgICAgICAgICAgICAmcm9vdCwgJnBhcmVudF93aW4sICZjaGlsZHJlbiwgJm51bV9j aGlsZHJlbikgIT0gMCkgeworKy8vICAgICAgICBpZiAoY2hpbGRyZW4gIT0gMCkKKysvLyAgICAg ICAgICAgIFhGcmVlKGNoaWxkcmVuKTsKKysvLworKy8vICAgICAgICBpZiAocGFyZW50X3dpbiAh PSAwICYmCisrLy8gICAgICAgICAgICBwYXJlbnRfd2luICE9IHJvb3QpIHsKKysvLyAgICAgICAg ICAgIGlmIChtX3BhcmVudFtwYXJlbnRfd2luXSA9PSAwKQorKy8vICAgICAgICAgICAgICAgIHJl dHVybjsKKysvLworKy8vICAgICAgICAgICAgLy8gZGlzcGF0Y2ggZXZlbnQgdG8gcGFyZW50Cisr Ly8gICAgICAgICAgICBkaXNwYXRjaChwYXJlbnRfd2luLCBldiwgdHJ1ZSk7CisrLy8gICAgICAg IH0KKysvLyAgICB9CisgfQorIAorIH0gLy8gZW5kIG5hbWVzcGFjZSBGYlRrCitkaWZmIC0tZ2l0 IGEvc3JjL0ZiVGsvS2V5VXRpbC5jYyBiL3NyYy9GYlRrL0tleVV0aWwuY2MKK2luZGV4IDczZjJl YTA2Li5jZjg2MzAyMSAxMDA2NDQKKy0tLSBhL3NyYy9GYlRrL0tleVV0aWwuY2MKKysrKyBiL3Ny Yy9GYlRrL0tleVV0aWwuY2MKK0BAIC0xNDEsMTMgKzE0MSwxNCBAQCB2b2lkIEtleVV0aWw6Omdy YWJCdXR0b24odW5zaWduZWQgaW50IGJ1dHRvbiwgdW5zaWduZWQgaW50IG1vZCwgV2luZG93IHdp biwKKyAgICAgY29uc3QgdW5zaWduZWQgaW50IHNjcm9sbG1vZCA9IGluc3RhbmNlKCkuc2Nyb2xs bG9jaygpOworIAorICAgICAvLyBHcmFiIHdpdGggbnVtbG9jaywgY2Fwc2xvY2sgYW5kIHNjcmxv Y2sKKy0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCA4OyBpKyspIHsKKy0gICAgICAgIFhHcmFiQnV0 dG9uKGRpc3BsYXksIGJ1dHRvbiwgbW9kIHwgKGkgJiAxID8gTG9ja01hc2sgOiAwKSB8CistICAg ICAgICAgICAgICAgICAgICAoaSAmIDIgPyBudW1tb2QgOiAwKSB8IChpICYgNCA/IHNjcm9sbG1v ZCA6IDApLAorLSAgICAgICAgICAgICAgICAgICAgd2luLCBGYWxzZSwgZXZlbnRfbWFzaywgR3Jh Yk1vZGVTeW5jLCBHcmFiTW9kZUFzeW5jLAorLSAgICAgICAgICAgICAgICAgICAgTm9uZSwgY3Vy c29yKTsKKy0gICAgfQorLQorKyAgICAvL2ZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKSB7Cisr ICAgIC8vICAgIFhHcmFiQnV0dG9uKGRpc3BsYXksIGJ1dHRvbiwgbW9kIHwgKGkgJiAxID8gTG9j a01hc2sgOiAwKSB8CisrICAgIC8vICAgICAgICAgICAgICAgIChpICYgMiA/IG51bW1vZCA6IDAp IHwgKGkgJiA0ID8gc2Nyb2xsbW9kIDogMCksCisrICAgIC8vICAgICAgICAgICAgICAgIHdpbiwg VHJ1ZSwgZXZlbnRfbWFzaywgR3JhYk1vZGVTeW5jLCBHcmFiTW9kZUFzeW5jLAorKyAgICAvLyAg ICAgICAgICAgICAgICBOb25lLCBjdXJzb3IpOworKyAgICAvL30KKysgICAgWEdyYWJCdXR0b24o ZGlzcGxheSwgYnV0dG9uLCBtb2QsIHdpbiwgVHJ1ZSwgZXZlbnRfbWFzaywKKysgICAgICAgICAg ICAgICAgR3JhYk1vZGVTeW5jLCBHcmFiTW9kZUFzeW5jLCBOb25lLCBjdXJzb3IpOworIH0KKyAK KyAvKioKK2RpZmYgLS1naXQgYS9zcmMvS2V5cy5jYyBiL3NyYy9LZXlzLmNjCitpbmRleCA4NjU5 MTM3MS4uYzI3MDM3ZTIgMTAwNjQ0CistLS0gYS9zcmMvS2V5cy5jYworKysrIGIvc3JjL0tleXMu Y2MKK0BAIC0yNzcsNyArMjc3LDcgQEAgdm9pZCBLZXlzOjpncmFiV2luZG93KFdpbmRvdyB3aW4p IHsKKyAgICAgaWYgKHdpbl9pdCA9PSBtX3dpbmRvd19tYXAuZW5kKCkpCisgICAgICAgICByZXR1 cm47CisgCistICAgIG1faGFuZGxlcl9tYXBbd2luXS0+Z3JhYkJ1dHRvbnMoKTsKKysgICAgLy9t X2hhbmRsZXJfbWFwW3dpbl0tPmdyYWJCdXR0b25zKCk7CisgICAgIHRfa2V5OjprZXlsaXN0X3Q6 Oml0ZXJhdG9yIGl0ID0gbV9rZXlsaXN0LT5rZXlsaXN0LmJlZ2luKCk7CisgICAgIHRfa2V5Ojpr ZXlsaXN0X3Q6Oml0ZXJhdG9yIGl0X2VuZCA9IG1fa2V5bGlzdC0+a2V5bGlzdC5lbmQoKTsKKyAg ICAgZm9yICg7IGl0ICE9IGl0X2VuZDsgKytpdCkgeworQEAgLTU4NiwxNiArNTg2LDE2IEBAIGJv b2wgS2V5czo6ZG9BY3Rpb24oaW50IHR5cGUsIHVuc2lnbmVkIGludCBtb2RzLCB1bnNpZ25lZCBp bnQga2V5LAorICAgICAgICAgaXNkb3VibGUgPSBkb3VibGVfY2xpY2s7CisgICAgIH0KKyAKKy0g ICAgYXV0byByZXNldEtleUNoYWluID0gWyZdKCkgeworLSAgICAgICAgZmlyc3Rfa2V5X3RpbWUg PSAwOworLSAgICAgICAgbmV4dF9rZXkucmVzZXQoKTsKKy0gICAgICAgIGlmIChzYXZlZF9rZXlt b2RlKSB7CistICAgICAgICAgICAgc2V0S2V5TW9kZShzYXZlZF9rZXltb2RlKTsKKy0gICAgICAg ICAgICBzYXZlZF9rZXltb2RlLnJlc2V0KCk7CistICAgICAgICB9CistICAgIH07CistICAgIGlm ICh0eXBlID09IEtleVByZXNzICYmIGZpcnN0X2tleV90aW1lICYmIHRpbWUgLSBmaXJzdF9rZXlf dGltZSA+IDUwMDApCistICAgICAgICByZXNldEtleUNoYWluKCk7CisrLy8gICAgYXV0byByZXNl dEtleUNoYWluID0gWyZdKCkgeworKy8vICAgICAgICBmaXJzdF9rZXlfdGltZSA9IDA7CisrLy8g ICAgICAgIG5leHRfa2V5LnJlc2V0KCk7CisrLy8gICAgICAgIGlmIChzYXZlZF9rZXltb2RlKSB7 CisrLy8gICAgICAgICAgICBzZXRLZXlNb2RlKHNhdmVkX2tleW1vZGUpOworKy8vICAgICAgICAg ICAgc2F2ZWRfa2V5bW9kZS5yZXNldCgpOworKy8vICAgICAgICB9CisrLy8gICAgfTsKKysvLyAg ICBpZiAodHlwZSA9PSBLZXlQcmVzcyAmJiBmaXJzdF9rZXlfdGltZSAmJiB0aW1lIC0gZmlyc3Rf a2V5X3RpbWUgPiA1MDAwKQorKy8vICAgICAgICByZXNldEtleUNoYWluKCk7CisgCisgICAgIGlm ICghbmV4dF9rZXkpCisgICAgICAgICBuZXh0X2tleSA9IG1fa2V5bGlzdDsKK0BAIC02MTIsMjkg KzYxMiwyOSBAQCBib29sIEtleXM6OmRvQWN0aW9uKGludCB0eXBlLCB1bnNpZ25lZCBpbnQgbW9k cywgdW5zaWduZWQgaW50IGtleSwKKyAgICAgICAgIG5leHRfa2V5LT5maW5kKE1vdGlvbk5vdGlm eSwgbW9kcywga2V5LCBjb250ZXh0LCBmYWxzZSkpCisgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8g aWYgdGhlcmUncyBhIG1vdGlvbiBhY3Rpb24sIHByZXZlbnQgcmVwbGF5IHRvIHRoZSBjbGllbnQg KGJ1dCBkbyBub3RoaW5nKQorIAorLSAgICBpZiAodGVtcF9rZXkgJiYgIXRlbXBfa2V5LT5rZXls aXN0LmVtcHR5KCkpIHsgLy8gZW1hY3Mtc3R5bGUKKy0gICAgICAgIGlmICghc2F2ZWRfa2V5bW9k ZSkgeworLSAgICAgICAgICAgIGZpcnN0X2tleV90aW1lID0gdGltZTsKKy0gICAgICAgICAgICBz YXZlZF9rZXltb2RlID0gbV9rZXlsaXN0OworLSAgICAgICAgfQorLSAgICAgICAgbmV4dF9rZXkg PSB0ZW1wX2tleTsKKy0gICAgICAgIHNldEtleU1vZGUobmV4dF9rZXkpOworLSAgICAgICAgcmV0 dXJuIHRydWU7CistICAgIH0KKysvLyAgICBpZiAodGVtcF9rZXkgJiYgIXRlbXBfa2V5LT5rZXls aXN0LmVtcHR5KCkpIHsgLy8gZW1hY3Mtc3R5bGUKKysvLyAgICAgICAgaWYgKCFzYXZlZF9rZXlt b2RlKSB7CisrLy8gICAgICAgICAgICBmaXJzdF9rZXlfdGltZSA9IHRpbWU7CisrLy8gICAgICAg ICAgICBzYXZlZF9rZXltb2RlID0gbV9rZXlsaXN0OworKy8vICAgICAgICB9CisrLy8gICAgICAg IG5leHRfa2V5ID0gdGVtcF9rZXk7CisrLy8gICAgICAgIHNldEtleU1vZGUobmV4dF9rZXkpOwor Ky8vICAgICAgICByZXR1cm4gdHJ1ZTsKKysvLyAgICB9CisrCisgICAgIGlmICghdGVtcF9rZXkg fHwgdGVtcF9rZXktPm1fY29tbWFuZCA9PSAwKSB7CistICAgICAgICBpZiAodHlwZSA9PSBLZXlQ cmVzcyAmJgorLSAgICAgICAgICAgICFGYlRrOjpLZXlVdGlsOjppbnN0YW5jZSgpLmtleWNvZGVU b01vZG1hc2soa2V5KSkgeworLSAgICAgICAgICAgIC8vIGlmIHdlJ3JlIGluIHRoZSBtaWRkbGUg b2YgYW4gZW1hY3Mtc3R5bGUga2V5Y2hhaW4sIGV4aXQgaXQKKy0gICAgICAgICAgICByZXNldEtl eUNoYWluKCk7CistICAgICAgICB9CisrLy8gICAgICAgIGlmICh0eXBlID09IEtleVByZXNzICYm CisrLy8gICAgICAgICAgICAhRmJUazo6S2V5VXRpbDo6aW5zdGFuY2UoKS5rZXljb2RlVG9Nb2Rt YXNrKGtleSkpIHsKKysvLyAgICAgICAgICAgIC8vIGlmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2Yg YW4gZW1hY3Mtc3R5bGUga2V5Y2hhaW4sIGV4aXQgaXQKKysvLyAgICAgICAgICAgIHJlc2V0S2V5 Q2hhaW4oKTsKKysvLyAgICAgICAgfQorICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICB9Cisg CisgICAgIC8vIGlmIGZvY3VzIGNoYW5nZXMsIHdpbmRvd3Mgd2lsbCBnZXQgTm90aWZ5V2hpbGVH cmFiYmVkLAorICAgICAvLyB3aGljaCB0aGV5IHRlbmQgdG8gaWdub3JlCistICAgIGlmICh0eXBl ID09IEtleVByZXNzKSB7CisrICAgIGlmICh0eXBlID09IEtleVByZXNzKQorICAgICAgICAgWFVu Z3JhYktleWJvYXJkKEZsdXhib3g6Omluc3RhbmNlKCktPmRpc3BsYXkoKSwgQ3VycmVudFRpbWUp OworLSAgICB9CisgCisgICAgIFdpbkNsaWVudCAqb2xkID0gV2luZG93Q21kPHZvaWQ+OjpjbGll bnQoKTsKKyAgICAgV2luZG93Q21kPHZvaWQ+OjpzZXRDbGllbnQoY3VycmVudCk7CitAQCAtNjUw LDEyICs2NTAsMTMgQEAgYm9vbCBLZXlzOjpkb0FjdGlvbihpbnQgdHlwZSwgdW5zaWduZWQgaW50 IG1vZHMsIHVuc2lnbmVkIGludCBrZXksCisgICAgIHRlbXBfa2V5LT5tX2NvbW1hbmQtPmV4ZWN1 dGUoKTsKKyAgICAgV2luZG93Q21kPHZvaWQ+OjpzZXRDbGllbnQob2xkKTsKKyAKKy0gICAgaWYg KHNhdmVkX2tleW1vZGUpIHsKKy0gICAgICAgIGlmIChuZXh0X2tleSA9PSBtX2tleWxpc3QpIC8v IGRvbid0IHJlc2V0IGtleW1vZGUgaWYgY29tbWFuZCBjaGFuZ2VkIGl0CistICAgICAgICAgICAg c2V0S2V5TW9kZShzYXZlZF9rZXltb2RlKTsKKy0gICAgICAgIHNhdmVkX2tleW1vZGUucmVzZXQo KTsKKy0gICAgfQorLSAgICBuZXh0X2tleS5yZXNldCgpOworKy8vICAgIGlmIChzYXZlZF9rZXlt b2RlKSB7CisrLy8gICAgICAgIGlmIChuZXh0X2tleSA9PSBtX2tleWxpc3QpIC8vIGRvbid0IHJl c2V0IGtleW1vZGUgaWYgY29tbWFuZCBjaGFuZ2VkIGl0CisrLy8gICAgICAgICAgICBzZXRLZXlN b2RlKHNhdmVkX2tleW1vZGUpOworKy8vICAgICAgICBzYXZlZF9rZXltb2RlLnJlc2V0KCk7Cisr Ly8gICAgfQorKy8vICAgIG5leHRfa2V5LnJlc2V0KCk7CisrCisgICAgIHJldHVybiB0cnVlOwor IH0KKyAKK0BAIC02ODUsMTUgKzY4NiwxNiBAQCB2b2lkIEtleXM6OnJlY29uZmlndXJlKCkgewor IH0KKyAKKyB2b2lkIEtleXM6OnJlZ3JhYigpIHsKKy0gICAgc2V0S2V5TW9kZShtX2tleWxpc3Qp OworKyAgICAvL3NldEtleU1vZGUobV9rZXlsaXN0KTsKKyB9CisgCisgdm9pZCBLZXlzOjprZXlN b2RlKGNvbnN0IHN0cmluZyYga2V5TW9kZSkgeworLSAgICBrZXlzcGFjZV90OjppdGVyYXRvciBp dCA9IG1fbWFwLmZpbmQoa2V5TW9kZSArICI6Iik7CistICAgIGlmIChpdCA9PSBtX21hcC5lbmQo KSkKKysgICAgLy9rZXlzcGFjZV90OjppdGVyYXRvciBpdCA9IG1fbWFwLmZpbmQoa2V5TW9kZSAr ICI6Iik7CisrICAgIC8vaWYgKGl0ID09IG1fbWFwLmVuZCgpKQorKyAgICAvLyAgICBzZXRLZXlN b2RlKG1fbWFwWyJkZWZhdWx0OiJdKTsKKysgICAgLy9lbHNlCisrICAgIC8vICAgIHNldEtleU1v ZGUoaXQtPnNlY29uZCk7CisgICAgICAgICBzZXRLZXlNb2RlKG1fbWFwWyJkZWZhdWx0OiJdKTsK Ky0gICAgZWxzZQorLSAgICAgICAgc2V0S2V5TW9kZShpdC0+c2Vjb25kKTsKKyB9CisgCisgdm9p ZCBLZXlzOjpzZXRLZXlNb2RlKGNvbnN0IEZiVGs6OlJlZkNvdW50PHRfa2V5PiAma2V5TW9kZSkg eworQEAgLTcwMSwxMCArNzAzLDEwIEBAIHZvaWQgS2V5czo6c2V0S2V5TW9kZShjb25zdCBGYlRr OjpSZWZDb3VudDx0X2tleT4gJmtleU1vZGUpIHsKKyAgICAgdW5ncmFiQnV0dG9ucygpOworIAor ICAgICAvLyBub3RpZnkgaGFuZGxlcnMgdGhhdCB0aGVpciBidXR0b25zIGhhdmUgYmVlbiB1bmdy YWJiZWQKKy0gICAgSGFuZGxlck1hcDo6aXRlcmF0b3IgaF9pdCA9IG1faGFuZGxlcl9tYXAuYmVn aW4oKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgaF9pdF9lbmQgID0gbV9oYW5kbGVyX21h cC5lbmQoKTsKKy0gICAgZm9yICg7IGhfaXQgIT0gaF9pdF9lbmQ7ICsraF9pdCkKKy0gICAgICAg IGhfaXQtPnNlY29uZC0+Z3JhYkJ1dHRvbnMoKTsKKysgICAgLy9IYW5kbGVyTWFwOjppdGVyYXRv ciBoX2l0ID0gbV9oYW5kbGVyX21hcC5iZWdpbigpLAorKyAgICAvLyAgICAgICAgICAgICAgICAg ICAgIGhfaXRfZW5kICA9IG1faGFuZGxlcl9tYXAuZW5kKCk7CisrICAgIC8vZm9yICg7IGhfaXQg IT0gaF9pdF9lbmQ7ICsraF9pdCkKKysgICAgLy8gICAgaF9pdC0+c2Vjb25kLT5ncmFiQnV0dG9u cygpOworIAorICAgICB0X2tleTo6a2V5bGlzdF90OjppdGVyYXRvciBpdCA9IGtleU1vZGUtPmtl eWxpc3QuYmVnaW4oKTsKKyAgICAgdF9rZXk6OmtleWxpc3RfdDo6aXRlcmF0b3IgaXRfZW5kID0g a2V5TW9kZS0+a2V5bGlzdC5lbmQoKTsKK2RpZmYgLS1naXQgYS9zcmMvV2luZG93LmNjIGIvc3Jj L1dpbmRvdy5jYworaW5kZXggMzQyZTQ4ODUuLjQ1N2MzMGM2IDEwMDY0NAorLS0tIGEvc3JjL1dp bmRvdy5jYworKysrIGIvc3JjL1dpbmRvdy5jYworQEAgLTExMzMsMTMgKzExMzMsMjUgQEAgdm9p ZCBGbHV4Ym94V2luZG93Ojp1cGRhdGVTaXplSGludHMoKSB7CisgfQorIAorIHZvaWQgRmx1eGJv eFdpbmRvdzo6Z3JhYkJ1dHRvbnMoKSB7CistCisrLy9OT0dSQUIKKysgICAgLy9pZiAobV9jbGll bnQtPndpbmRvdygpICE9IGZyYW1lKCkud2luZG93KCkud2luZG93KCkgKSByZXR1cm47CisgICAg IC8vIG5lZWRlZCBmb3IgY2xpY2sgdG8gZm9jdXMKKy0gICAgWEdyYWJCdXR0b24oZGlzcGxheSwg QnV0dG9uMSwgQW55TW9kaWZpZXIsCistICAgICAgICAgICAgICAgIGZyYW1lKCkud2luZG93KCku d2luZG93KCksIFRydWUsIEJ1dHRvblByZXNzTWFzaywKKy0gICAgICAgICAgICAgICAgR3JhYk1v ZGVTeW5jLCBHcmFiTW9kZVN5bmMsIE5vbmUsIE5vbmUpOworLSAgICBYVW5ncmFiQnV0dG9uKGRp c3BsYXksIEJ1dHRvbjEsIE1vZDFNYXNrfE1vZDJNYXNrfE1vZDNNYXNrLAorLSAgICAgICAgICAg ICAgICAgIGZyYW1lKCkud2luZG93KCkud2luZG93KCkpOworKyAgICAvLyBncmFiYmluZyBhc3lu YyBoZXJlIGJyZWFrcyBtb3VzZTEKKysgICAgLy9YR3JhYkJ1dHRvbihkaXNwbGF5LCBCdXR0b24x LCBBbnlNb2RpZmllciwKKysgICAgLy8gICAgICAgICAgICBmcmFtZSgpLndpbmRvdygpLndpbmRv dygpLCBUcnVlLCBCdXR0b25QcmVzc01hc2ssCisrICAgIC8vICAgICAgICAgICAgR3JhYk1vZGVT eW5jLCBHcmFiTW9kZVN5bmMsIE5vbmUsIE5vbmUpOworKyAgICAvLyAgICAgICAgICAgIC8vR3Jh Yk1vZGVBc3luYywgR3JhYk1vZGVBc3luYywgTm9uZSwgTm9uZSk7CisrICAgIC8vWFVuZ3JhYkJ1 dHRvbihkaXNwbGF5LCBCdXR0b24xLCBNb2QxTWFza3xNb2QyTWFza3xNb2QzTWFzaywKKysgICAg Ly8gICAgICAgICAgICAgIGZyYW1lKCkud2luZG93KCkud2luZG93KCkpOworKyAgICAvL1hHcmFi UG9pbnRlcihkaXNwbGF5LAorKyAgICAvLyAgICAgICAgICAgICBmcmFtZSgpLndpbmRvdygpLndp bmRvdygpLAorKyAgICAvLyAgICAgICAgICAgICBUcnVlLAorKyAgICAvLyAgICAgICAgICAgICBC dXR0b25QcmVzc01hc2ssCisrICAgIC8vICAgICAgICAgICAgIEdyYWJNb2RlQXN5bmMsIEdyYWJN b2RlQXN5bmMsCisrICAgIC8vICAgICAgICAgICAgIE5vbmUsCisrICAgIC8vICAgICAgICAgICAg IE5vbmUsCisrICAgIC8vICAgICAgICAgICAgIEN1cnJlbnRUaW1lKTsKKysgICAgLy9YVW5ncmFi UG9pbnRlcihkaXNwbGF5LCBDdXJyZW50VGltZSk7CisgfQorIAorIAorQEAgLTI0MjksNjMgKzI0 NDEsNDEgQEAgdm9pZCBGbHV4Ym94V2luZG93OjpidXR0b25QcmVzc0V2ZW50KFhCdXR0b25FdmVu dCAmYmUpIHsKKyAgICAgbV9sYXN0X3ByZXNzZWRfYnV0dG9uID0gYmUuYnV0dG9uOworIAorICAg ICBGYlRrOjpNZW51OjpoaWRlU2hvd25NZW51KCk7CistCisrLy9GSVggQUxMT1cKKyAgICAgS2V5 cyAqayA9IEZsdXhib3g6Omluc3RhbmNlKCktPmtleXMoKTsKKyAgICAgaW50IGNvbnRleHQgPSAw OworICAgICBjb250ZXh0ID0gZnJhbWUoKS5nZXRDb250ZXh0KGJlLnN1YndpbmRvdyA/IGJlLnN1 YndpbmRvdyA6IGJlLndpbmRvdywgYmUueF9yb290LCBiZS55X3Jvb3QpOworICAgICBpZiAoIWNv bnRleHQgJiYgYmUuc3Vid2luZG93KQorICAgICAgICAgY29udGV4dCA9IGZyYW1lKCkuZ2V0Q29u dGV4dChiZS53aW5kb3cpOworIAorLSAgICBpZiAoay0+ZG9BY3Rpb24oYmUudHlwZSwgYmUuc3Rh dGUsIGJlLmJ1dHRvbiwgY29udGV4dCwgJndpbkNsaWVudCgpLCBiZS50aW1lKSkgeworLSAgICAg ICAgWEFsbG93RXZlbnRzKGRpc3BsYXksIFN5bmNQb2ludGVyLCBDdXJyZW50VGltZSk7CistICAg ICAgICByZXR1cm47CistICAgIH0KKy0KKy0gICAgV2luQ2xpZW50ICpjbGllbnQgPSAwOworLSAg ICBpZiAoIXNjcmVlbigpLmZvY3VzQ29udHJvbCgpLmlzTW91c2VUYWJGb2N1cygpKSB7CistICAg ICAgICAvLyBkZXRlcm1pbmUgaWYgd2UncmUgaW4gYSBsYWJlbCBidXR0b24gKHRhYikKKy0gICAg ICAgIGNsaWVudCA9IHdpbkNsaWVudE9mTGFiZWxCdXR0b25XaW5kb3coYmUud2luZG93KTsKKy0g ICAgfQorLQorLQorLSAgICAvLyAtIHJlZmVlZCB0aGUgZXZlbnQgaW50byB0aGUgcXVldWUgc28g dGhlIGFwcCBvciB0aXRsZWJhciBzdWJ3aW5kb3cgZ2V0cyBpdAorLSAgICBpZiAoYmUuc3Vid2lu ZG93KQorLSAgICAgICAgWEFsbG93RXZlbnRzKGRpc3BsYXksIFJlcGxheVBvaW50ZXIsIEN1cnJl bnRUaW1lKTsKKy0gICAgZWxzZQorLSAgICAgICAgWEFsbG93RXZlbnRzKGRpc3BsYXksIFN5bmNQ b2ludGVyLCBDdXJyZW50VGltZSk7CistCistICAgIC8vIGlmIG5vdGhpbmcgd2FzIGJvdW5kIHZp YSBrZXlzLWZpbGUgdGhlbgorLSAgICAvLyAtIHJhaXNlKCkgaWYgY2xpY2tSYWlzZSBpcyBlbmFi bGVkCistICAgIC8vIC0gaGlkZSBvcGVuIG1lbnVlcworLSAgICAvLyAtIGZvY3VzIG9uIGNsaWNr Rm9jdXMKKy0gICAgaWYgKGZyYW1lKCkud2luZG93KCkud2luZG93KCkgPT0gYmUud2luZG93KSB7 CistICAgICAgICBpZiAoc2NyZWVuKCkuY2xpY2tSYWlzZXMoKSkKKy0gICAgICAgICAgICByYWlz ZSgpOworLQorLSAgICAgICAgbV9idXR0b25fZ3JhYl94ID0gYmUueF9yb290IC0gZnJhbWUoKS54 KCkgLSBmcmFtZSgpLndpbmRvdygpLmJvcmRlcldpZHRoKCk7CistICAgICAgICBtX2J1dHRvbl9n cmFiX3kgPSBiZS55X3Jvb3QgLSBmcmFtZSgpLnkoKSAtIGZyYW1lKCkud2luZG93KCkuYm9yZGVy V2lkdGgoKTsKKy0gICAgfQorLQorLSAgICBpZiAoIW1fZm9jdXNlZCAmJiBhY2NlcHRzRm9jdXMo KSAmJiBtX2NsaWNrX2ZvY3VzKQorLSAgICAgICAgZm9jdXMoKTsKKy0KKy0gICAgaWYgKCFzY3Jl ZW4oKS5mb2N1c0NvbnRyb2woKS5pc01vdXNlVGFiRm9jdXMoKSAmJgorLSAgICAgICAgY2xpZW50 ICYmIGNsaWVudCAhPSBtX2NsaWVudCAmJgorLSAgICAgICAgIXNjcmVlbigpLmZvY3VzQ29udHJv bCgpLmlzSWdub3JlZChiZS54X3Jvb3QsIGJlLnlfcm9vdCkgKSB7CistICAgICAgICBzZXRDdXJy ZW50Q2xpZW50KCpjbGllbnQsIGlzRm9jdXNlZCgpKTsKKy0gICAgfQorLQorLQorLQorK3N0ZDo6 Y291dCA8PCAiYnV0dG9uIHdpbmRvdzogIiA8PCBiZS53aW5kb3cgPDwgIlxuYnV0dG9uIHN1Yndp bmRvdzogIiA8PCBiZS5zdWJ3aW5kb3cgPDwgIlxuIjsKKytrLT5kb0FjdGlvbihiZS50eXBlLCBi ZS5zdGF0ZSwgYmUuYnV0dG9uLCBjb250ZXh0LCAmd2luQ2xpZW50KCksIEN1cnJlbnRUaW1lKTsg Ly8gdy9vIHRoaXMsIG5vIG1vdXNlIGNtZHMKKytYQWxsb3dFdmVudHMoZGlzcGxheSwgUmVwbGF5 UG9pbnRlciwgQ3VycmVudFRpbWUpOyAvLyB3L28gdGhpcywgbm8gbW91c2UKKysvLyB1bHRpbWF0 ZWx5IG5vbmUgb2YgdGhlIGJlbG93IG1hdHRlcnMKKysgICAgLy8gaW5maW5pdGUgbG9vcAorKyAg ICAvL2lmIChiZS5zdWJ3aW5kb3cpIHsKKysgICAgLy8gIC8vWEV2ZW50IG9tZmcgPSAoWEV2ZW50 ICopJmJlOworKyAgICAvLyAgLy9iZS53aW5kb3cgPSBiZS5zdWJ3aW5kb3c7CisrICAgIC8vICAv L2JlLnN1YndpbmRvdyA9IDA7CisrICAgIC8vICBpbnQgaHVoID0gWFNlbmRFdmVudChkaXNwbGF5 LCBiZS53aW5kb3csIEZhbHNlLCBCdXR0b25QcmVzc01hc2ssIChYRXZlbnQqKSZiZSk7CisrICAg IC8vICBzdGQ6OmNvdXQgPDwgInhzZW5kZXZlbnQ6ICIgPDwgaHVoIDw8ICJcbiI7CisrICAgIC8v fQorKyAgICAvL1hTeW5jKGRpc3BsYXksIDApOworKyAgICAvL2ludCB3dGYgPSBYQWxsb3dFdmVu dHMoZGlzcGxheSwgUmVwbGF5UG9pbnRlciwgQ3VycmVudFRpbWUpOyAvLyB0aW1lIG1lYW5zIHNx dWF0IC0gd29ya3MgYnV0IG5vdCBmb3IgbWVudXMKKysgICAgLy9zdGQ6OmNvdXQgPDwgInhhbGxv d2V2ZW50czogIiA8PCB3dGYgPDwgIlxuIjsKKysgICAgLy9YU3luYyhkaXNwbGF5LCAwKTsKKysg ICAgLy9YQWxsb3dFdmVudHMoZGlzcGxheSwgUmVwbGF5UG9pbnRlciwgYmUudGltZSk7IC8vIHRp bWUgbWVhbnMgc3F1YXQgLSB3b3JrcyBidXQgbm90IGZvciBtZW51cworKyAgICAvL1hBbGxvd0V2 ZW50cyhkaXNwbGF5LCBTeW5jUG9pbnRlciwgQ3VycmVudFRpbWUpOyAvLyBzeW5jIHdpbGwgbm90 IGRvdWJsZWNsaWNrIG9yIGFjdCBwcm9wZXIKKysgICAgLy9YQWxsb3dFdmVudHMoZGlzcGxheSwg QXN5bmNQb2ludGVyLCBDdXJyZW50VGltZSk7IC8vIF5eIHNhbWUKKysgICAgLy9pZiAoYmUuc3Vi d2luZG93KQorKyAgICAvLyAgWEZsdXNoKGRpc3BsYXkpOworKyAgICAvLyAgLy9YU3luYyhkaXNw bGF5LCBUcnVlKTsKKyB9CisgCisgY29uc3QgdW5zaWduZWQgaW50IERFQURaT05FID0gNDsKKyAK KyB2b2lkIEZsdXhib3hXaW5kb3c6OmJ1dHRvblJlbGVhc2VFdmVudChYQnV0dG9uRXZlbnQgJnJl KSB7CisgCistICAgIGlmIChtX2xhc3RfcHJlc3NlZF9idXR0b24gPT0gc3RhdGljX2Nhc3Q8aW50 PihyZS5idXR0b24pKSB7CistICAgICAgICBtX2xhc3RfcHJlc3NlZF9idXR0b24gPSAwOworLSAg ICB9CisgCisgICAgIGlmIChpc01vdmluZygpKQorICAgICAgICAgc3RvcE1vdmluZygpOworQEAg LTI1MDIsNiArMjQ5MiwxMyBAQCB2b2lkIEZsdXhib3hXaW5kb3c6OmJ1dHRvblJlbGVhc2VFdmVu dChYQnV0dG9uRXZlbnQgJnJlKSB7CisgCisgICAgICAgICBGbHV4Ym94OjppbnN0YW5jZSgpLT5r ZXlzKCktPmRvQWN0aW9uKHJlLnR5cGUsIHJlLnN0YXRlLCByZS5idXR0b24sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQsICZ3aW5DbGllbnQo KSwgcmUudGltZSk7CisrICAgICAgLy8gc3luY3MgZG9udCBtYWtlIGEgZGlmZmVyZW5jZT8KKysg ICAgICAvL1hTeW5jKGRpc3BsYXksIDApOworKyAgICAgIFhBbGxvd0V2ZW50cyhkaXNwbGF5LCBS ZXBsYXlQb2ludGVyLCBDdXJyZW50VGltZSk7IC8vIHRpbWUgbWVhbnMgc3F1YXQgLSB3b3JrcyBi dXQgbm90IGZvciBtZW51cworKyAgICAgIC8vWFN5bmMoZGlzcGxheSwgMCk7CisrICAgIH0KKysg ICAgaWYgKG1fbGFzdF9wcmVzc2VkX2J1dHRvbiA9PSBzdGF0aWNfY2FzdDxpbnQ+KHJlLmJ1dHRv bikpIHsKKysgICAgICAgIG1fbGFzdF9wcmVzc2VkX2J1dHRvbiA9IDA7CisgICAgIH0KKyB9Cisg CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZsdXhib3gvcGF0Y2hlcy91bmNsdXR0ZXJfZml4X3dvcmtz cGFjZWNtZC5wYXRjaCBiL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3VuY2x1dHRlcl9maXhfd29y a3NwYWNlY21kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u MzZjNTcyY2VhNGZmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mbHV4Ym94L3BhdGNoZXMv dW5jbHV0dGVyX2ZpeF93b3Jrc3BhY2VjbWQucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorZGlmZiAt LWdpdCBhL3NyYy9Xb3Jrc3BhY2VDbWQuY2MgYi9zcmMvV29ya3NwYWNlQ21kLmNjCitpbmRleCBj MmU0OTQ4NS4uOWI0MDU4YzggMTAwNjQ0CistLS0gYS9zcmMvV29ya3NwYWNlQ21kLmNjCisrKysg Yi9zcmMvV29ya3NwYWNlQ21kLmNjCitAQCAtNTIxLDIyICs1MjEsMjQgQEAgdm9pZCBBcnJhbmdl V2luZG93c0NtZDo6ZXhlY3V0ZSgpIHsKKyAgICAgY29uc3QgdW5zaWduZWQgaW50IGNhbF93aWR0 aCA9IG1heF93aWR0aC9jb2xzOyAvLyB3aWR0aCByYXRpbyAod2lkdGggb2YgZXZlcnkgd2luZG93 KQorICAgICBjb25zdCB1bnNpZ25lZCBpbnQgY2FsX2hlaWdodCA9IG1heF9oZWlnaHQvcm93czsg Ly8gaGVpZ2h0IHJhdGlvIChoZWlnaHQgb2YgZXZlcnkgd2luZG93KQorCisrICAgIGludCBjZWxs X2NlbnRlcl94ID0gMCwgY2VsbF9jZW50ZXJfeSA9IDAsIHdpbl9jZW50ZXJfeCA9IDAsIHdpbl9j ZW50ZXJfeSA9IDAsIHggPSAwLCB5ID0gMDsKKysgICAgdW5zaWduZWQgaW50IGNsb3Nlc3RfZGlz dCA9IH4wLCBkaXN0ID0gMCwgdyA9IDAsIGggPSAwOworICAgICAvLyBSZXNpemVzIGFuZCBzZXRz IHdpbmRvd3MgcG9zaXRpb25zIGluIGNvbHVtbnMgYW5kIHJvd3MuCisgICAgIGZvciAoaSA9IDA7 IGkgPCByb3dzOyArK2kpIHsKKyAgICAgICAgIHhfb2ZmcyA9IG9yaWdfeF9vZmZzOworICAgICAg ICAgZm9yIChqID0gMDsgaiA8IGNvbHMgJiYgIW5vcm1hbF93aW5kb3dzLmVtcHR5KCk7ICsraikg eworCisKKy0gICAgICAgICAgICBpbnQgY2VsbF9jZW50ZXJfeCA9IHhfb2ZmcyArICh4X29mZnMg KyBjYWxfd2lkdGgpIC8gMjsKKy0gICAgICAgICAgICBpbnQgY2VsbF9jZW50ZXJfeSA9IHlfb2Zm cyArICh5X29mZnMgKyBjYWxfaGVpZ2h0KSAvIDI7CistICAgICAgICAgICAgdW5zaWduZWQgaW50 IGNsb3Nlc3RfZGlzdCA9IH4wOworKyAgICAgICAgICAgIGNlbGxfY2VudGVyX3ggPSB4X29mZnMg KyAoeF9vZmZzICsgY2FsX3dpZHRoKSAvIDI7CisrICAgICAgICAgICAgY2VsbF9jZW50ZXJfeSA9 IHlfb2ZmcyArICh5X29mZnMgKyBjYWxfaGVpZ2h0KSAvIDI7CisrICAgICAgICAgICAgaW50IGNs b3Nlc3RfZGlzdCA9IH4wOworCisgICAgICAgICAgICAgV29ya3NwYWNlOjpXaW5kb3dzOjppdGVy YXRvciBjbG9zZXN0ID0gbm9ybWFsX3dpbmRvd3MuZW5kKCk7CisgICAgICAgICAgICAgZm9yICh3 aW4gPSBub3JtYWxfd2luZG93cy5iZWdpbigpOyB3aW4gIT0gbm9ybWFsX3dpbmRvd3MuZW5kKCk7 ICsrd2luKSB7CisKKy0gICAgICAgICAgICAgICAgaW50IHdpbl9jZW50ZXJfeCA9ICgqd2luKS0+ ZnJhbWUoKS54KCkgKyAoKCp3aW4pLT5mcmFtZSgpLngoKSArICgqd2luKS0+ZnJhbWUoKS53aWR0 aCgpIC8gMik7CistICAgICAgICAgICAgICAgIGludCB3aW5fY2VudGVyX3kgPSAoKndpbiktPmZy YW1lKCkueSgpICsgKCgqd2luKS0+ZnJhbWUoKS55KCkgKyAoKndpbiktPmZyYW1lKCkuaGVpZ2h0 KCkgLyAyKTsKKy0gICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRpc3QgPSAod2luX2NlbnRl cl94IC0gY2VsbF9jZW50ZXJfeCkgKiAod2luX2NlbnRlcl94IC0gY2VsbF9jZW50ZXJfeCkgKwor KyAgICAgICAgICAgICAgICB3aW5fY2VudGVyX3ggPSAoKndpbiktPmZyYW1lKCkueCgpICsgKCgq d2luKS0+ZnJhbWUoKS54KCkgKyAoKndpbiktPmZyYW1lKCkud2lkdGgoKSAvIDIpOworKyAgICAg ICAgICAgICAgICB3aW5fY2VudGVyX3kgPSAoKndpbiktPmZyYW1lKCkueSgpICsgKCgqd2luKS0+ ZnJhbWUoKS55KCkgKyAoKndpbiktPmZyYW1lKCkuaGVpZ2h0KCkgLyAyKTsKKysgICAgICAgICAg ICAgICAgZGlzdCA9ICh3aW5fY2VudGVyX3ggLSBjZWxsX2NlbnRlcl94KSAqICh3aW5fY2VudGVy X3ggLSBjZWxsX2NlbnRlcl94KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHdpbl9jZW50ZXJfeSAtIGNlbGxfY2VudGVyX3kpICogKHdpbl9jZW50ZXJfeSAtIGNlbGxf Y2VudGVyX3kpOworCisgICAgICAgICAgICAgICAgIGlmIChkaXN0IDwgY2xvc2VzdF9kaXN0KSB7 CitAQCAtNTQ1LDEwICs1NDcsMTAgQEAgdm9pZCBBcnJhbmdlV2luZG93c0NtZDo6ZXhlY3V0ZSgp IHsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKworLSAgICAgICAgICAgIGlu dCB4ID0geF9vZmZzICsgKCpjbG9zZXN0KS0+eE9mZnNldCgpOworLSAgICAgICAgICAgIGludCB5 ID0geV9vZmZzICsgKCpjbG9zZXN0KS0+eU9mZnNldCgpOworLSAgICAgICAgICAgIHVuc2lnbmVk IGludCB3ID0gY2FsX3dpZHRoIC0gKCpjbG9zZXN0KS0+d2lkdGhPZmZzZXQoKTsKKy0gICAgICAg ICAgICB1bnNpZ25lZCBpbnQgaCA9IGNhbF9oZWlnaHQgLSAoKmNsb3Nlc3QpLT5oZWlnaHRPZmZz ZXQoKTsKKysgICAgICAgICAgICB4ID0geF9vZmZzICsgKCpjbG9zZXN0KS0+eE9mZnNldCgpOwor KyAgICAgICAgICAgIHkgPSB5X29mZnMgKyAoKmNsb3Nlc3QpLT55T2Zmc2V0KCk7CisrICAgICAg ICAgICAgdyA9IGNhbF93aWR0aCAtICgqY2xvc2VzdCktPndpZHRoT2Zmc2V0KCk7CisrICAgICAg ICAgICAgaCA9IGNhbF9oZWlnaHQgLSAoKmNsb3Nlc3QpLT5oZWlnaHRPZmZzZXQoKTsKKworICAg ICAgICAgICAgIC8vIHRoZSBsYXN0IHdpbmRvdyBnZXRzIGV2ZXJ5dGhpbmcgdGhhdCBpcyBsZWZ0 LgorICAgICAgICAgICAgIGlmIChub3JtYWxfd2luZG93cy5zaXplKCkgPT0gMSkgeworQEAgLTYy MCwxMiArNjIyLDkgQEAgdm9pZCBVbmNsdXR0ZXJDbWQ6OmV4ZWN1dGUoKSB7CisgICAgICAgICBy ZXR1cm47CisKKyAgICAgLy8gcGxhY2UKKy0gICAgTWluT3ZlcmxhcFBsYWNlbWVudCBtb3BwOwor ICAgICBpbnQgeCwgeTsKKy0gICAgZm9yICh3aW4gPSBwbGFjZWRfd2luZG93cy5iZWdpbigpOyB3 aW4gIT0gcGxhY2VkX3dpbmRvd3MuZW5kKCk7ICsrd2luKSB7CistICAgICAgICBtb3BwLnBsYWNl V2luZG93KCoqd2luLCBoZWFkLCB4LCB5KTsKKy0gICAgICAgICgqd2luKS0+bW92ZSh4LCB5KTsK Ky0gICAgfQorKyAgICBmb3IgKHdpbiA9IHBsYWNlZF93aW5kb3dzLmJlZ2luKCk7IHdpbiAhPSBw bGFjZWRfd2luZG93cy5lbmQoKTsgKyt3aW4pCisrICAgICAgICAoKndpbiktPnBsYWNlV2luZG93 KCgqd2luKS0+Z2V0T25IZWFkKCkpOworIH0KKworIFJFR0lTVEVSX0NPTU1BTkQoc2hvd2Rlc2t0 b3AsIFNob3dEZXNrdG9wQ21kLCB2b2lkKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmx1eGJveC9w YXRjaGVzL3pvcl9sb29wcy5wYXRjaCBiL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3pvcl9sb29w cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjk1ZDk5MmY5 MDcxZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZmx1eGJveC9wYXRjaGVzL3pvcl9sb29w cy5wYXRjaApAQCAtMCwwICsxLDg3IEBACitkaWZmIC0tZ2l0IGEvc3JjL0ZiVGsvU1RMVXRpbC5o aCBiL3NyYy9GYlRrL1NUTFV0aWwuaGgKK2luZGV4IGFiYzU0NzI5Li45YzljMjdmOSAxMDA2NDQK Ky0tLSBhL3NyYy9GYlRrL1NUTFV0aWwuaGgKKysrKyBiL3NyYy9GYlRrL1NUTFV0aWwuaGgKK0BA IC00OCw0NiArNDgsNjMgQEAgc3RydWN0IElmVGhlbkVsc2U8ZmFsc2UsIFRhLCBUYj4geworIC8v LyBjYWxscyBkZWxldGUgb24gZWFjaCBpdGVtIGluIHRoZSBjb250YWluZXIgYW5kIHRoZW4gY2xl YXJzIHRoZSBjb250YWluZXIKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgQT4KKyB2b2lkIGRlc3Ryb3lB bmRDbGVhcihBICZhKSB7CistICAgIHR5cGVkZWYgdHlwZW5hbWUgQTo6aXRlcmF0b3IgaXRlcmF0 b3I7CistICAgIGl0ZXJhdG9yIGl0ID0gYS5iZWdpbigpOworLSAgICBpdGVyYXRvciBpdF9lbmQg PSBhLmVuZCgpOworLSAgICBmb3IgKDsgaXQgIT0gaXRfZW5kOyArK2l0KQorLSAgICAgICAgZGVs ZXRlICgqaXQpOworKyAgICAvL3R5cGVkZWYgdHlwZW5hbWUgQTo6aXRlcmF0b3IgaXRlcmF0b3I7 CisrICAgIC8vaXRlcmF0b3IgaXQgPSBhLmJlZ2luKCk7CisrICAgIC8vaXRlcmF0b3IgaXRfZW5k ID0gYS5lbmQoKTsKKysgICAgLy9mb3IgKDsgaXQgIT0gaXRfZW5kOyArK2l0KQorKyAgICAvLyAg ICBkZWxldGUgKCppdCk7CisgCisrICAgIC8vYS5jbGVhcigpOworKyAgICB0eXBlZGVmIHR5cGVu YW1lIEE6Oml0ZXJhdG9yIGl0ZXJhdG9yOworKyAgICBmb3IgKGF1dG8gaXQgOiBhKQorKyAgICAg ICAgZGVsZXRlIGl0OworICAgICBhLmNsZWFyKCk7CisgfQorIAorIC8vLyBjYWxscyBkZWxldGUg b24gZWFjaCBpdGVtIHZhbHVlIGluIHRoZSBtYXAgYW5kIHRoZW4gY2xlYXJzIHRoZSBtYXAKKyB0 ZW1wbGF0ZSA8dHlwZW5hbWUgQT4KKyB2b2lkIGRlc3Ryb3lBbmRDbGVhclNlY29uZChBICZhKSB7 CisrICAgIC8vdHlwZWRlZiB0eXBlbmFtZSBBOjppdGVyYXRvciBpdGVyYXRvcjsKKysgICAgLy9p dGVyYXRvciBpdCA9IGEuYmVnaW4oKTsKKysgICAgLy9pdGVyYXRvciBpdF9lbmQgPSBhLmVuZCgp OworKyAgICAvL2ZvciAoOyBpdCAhPSBpdF9lbmQ7ICsraXQpCisrICAgIC8vICAgIGRlbGV0ZSBp dC0+c2Vjb25kOworKyAgICAvL2EuY2xlYXIoKTsKKyAgICAgdHlwZWRlZiB0eXBlbmFtZSBBOjpp dGVyYXRvciBpdGVyYXRvcjsKKy0gICAgaXRlcmF0b3IgaXQgPSBhLmJlZ2luKCk7CistICAgIGl0 ZXJhdG9yIGl0X2VuZCA9IGEuZW5kKCk7CistICAgIGZvciAoOyBpdCAhPSBpdF9lbmQ7ICsraXQp CistICAgICAgICBkZWxldGUgaXQtPnNlY29uZDsKKysgICAgZm9yIChhdXRvIGl0IDogYSkKKysg ICAgICAgIGRlbGV0ZSBpdC5zZWNvbmQ7CisgICAgIGEuY2xlYXIoKTsKKyB9CisgCisgCisgdGVt cGxhdGUgPHR5cGVuYW1lIEMsIHR5cGVuYW1lIEY+CisgRiBmb3JBbGwoQyYgYywgRiBmKSB7Cisr ICAgIC8vdHlwZWRlZiB0eXBlbmFtZSBDOjppdGVyYXRvciBpdGVyYXRvcjsKKysgICAgLy9pdGVy YXRvciBpID0gYy5iZWdpbigpOworKyAgICAvL2l0ZXJhdG9yIGUgPSBjLmVuZCgpOworKyAgICAv L2ZvciAoOyBpICE9IGU7IGkrKykgeworKyAgICAvLyAgICBmKCppKTsKKysgICAgLy99CisgICAg IHR5cGVkZWYgdHlwZW5hbWUgQzo6aXRlcmF0b3IgaXRlcmF0b3I7CistICAgIGl0ZXJhdG9yIGkg PSBjLmJlZ2luKCk7CistICAgIGl0ZXJhdG9yIGUgPSBjLmVuZCgpOworLSAgICBmb3IgKDsgaSAh PSBlOyBpKyspIHsKKy0gICAgICAgIGYoKmkpOworLSAgICB9CisrICAgIGZvciAoYXV0byBpIDog YykKKysgICAgICAgIGYoaSk7CisgICAgIHJldHVybiBmOworIH0KKyAKKyB0ZW1wbGF0ZSA8dHlw ZW5hbWUgQywgdHlwZW5hbWUgSSwgdHlwZW5hbWUgRj4KKyBGIGZvckFsbElmKEMmIGMsIEkgaSwg RiBmKSB7CisrICAgIC8vdHlwZWRlZiB0eXBlbmFtZSBDOjppdGVyYXRvciBpdGVyYXRvcjsKKysg ICAgLy9pdGVyYXRvciBpdCA9IGMuYmVnaW4oKTsKKysgICAgLy9pdGVyYXRvciBlbmQgPSBjLmVu ZCgpOworKyAgICAvL2ZvciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKKysgICAgLy8gICAgaWYgKGko Kml0KSkKKysgICAgLy8gICAgICAgIGYoKml0KTsKKysgICAgLy99CisrICAgIC8vcmV0dXJuIGY7 CisgICAgIHR5cGVkZWYgdHlwZW5hbWUgQzo6aXRlcmF0b3IgaXRlcmF0b3I7CistICAgIGl0ZXJh dG9yIGl0ID0gYy5iZWdpbigpOworLSAgICBpdGVyYXRvciBlbmQgPSBjLmVuZCgpOworLSAgICBm b3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7CistICAgICAgICBpZiAoaSgqaXQpKQorLSAgICAgICAg ICAgIGYoKml0KTsKKysgICAgZm9yIChhdXRvIGl0IDogYykgeworKyAgICAgICAgaWYgKGkoaXQp KQorKyAgICAgICAgICAgIGYoaXQpOworICAgICB9CisgICAgIHJldHVybiBmOworIH0KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvZmx1eGJveC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmx1eGJveC90ZW1wbGF0 ZQppbmRleCBlMTBiNDI2YzQ5MjQuLjZiMGU0Y2QyNjBjYiAxMDA2NDQKLS0tIGEvc3JjcGtncy9m bHV4Ym94L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZmx1eGJveC90ZW1wbGF0ZQpAQCAtMSwyOSAr MSw1NiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZmx1eGJveCcKIHBrZ25hbWU9Zmx1eGJveAot dmVyc2lvbj0xLjMuNwotcmV2aXNpb249NAordmVyc2lvbj0xLjMuOAorI25vc3RyaXA9bm9zdHJp cAorX2NvbW1pdD1lMmNiZDE3OWVjYjJlZjJkNzZlMGFkMWZkZTg0YjQ0MzI1MzA1Nzk5CityZXZp c2lvbj0wCit3cmtzcmM9Zmx1eGJveC0ke19jb21taXR9CiBidWlsZF9zdHlsZT1nbnUtY29uZmln dXJlCi1jb25maWd1cmVfYXJncz0iLS1lbmFibGUtbmxzCitjb25maWd1cmVfYXJncz0iLS1kaXNh YmxlLW5scyAtLWRpc2FibGUteGluZXJhbWEgLS1kaXNhYmxlLXNoYXBlIC0tZGlzYWJsZS14cmVu ZGVyCisgLS1kaXNhYmxlLWZyaWJpZGkgLS1kaXNhYmxlLXNsaXQKICBhY19jdl9saWJfWDExX1hP cGVuRGlzcGxheT15ZXMgYWNfY3ZfbGliX1hmdF9YZnRGb250T3Blbj15ZXMKICBhY19jdl9saWJf WHJlbmRlcl9YUmVuZGVyQ3JlYXRlUGljdHVyZT15ZXMgYWNfY3ZfbGliX1hwbV9YcG1SZWFkRmls ZVRvUGl4bWFwPXllcwotIGFjX2N2X2xpYl9YaW5lcmFtYV9YaW5lcmFtYVF1ZXJ5U2NyZWVucz15 ZXMgYWNfY3ZfbGliX1hleHRfWFNoYXBlQ29tYmluZVNoYXBlPXllcworIGFjX2N2X2xpYl9YZXh0 X1hTaGFwZUNvbWJpbmVTaGFwZT1ubwogIGFjX2N2X2xpYl9YcmFuZHJfWFJSUXVlcnlFeHRlbnNp b249eWVzIGFjX2N2X2xpYl9mcmliaWRpX2ZyaWJpZGlfdmVyc2lvbl9pbmZvPXllcyIKLWhvc3Rt YWtlZGVwZW5kcz0icGtnLWNvbmZpZyBhdXRvbWFrZSBsaWJ0b29sIGdldHRleHQgZ2V0dGV4dC1k ZXZlbCIKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBhdXRvbWFrZSBsaWJ0b29sIGdldHRl eHQgZ2V0dGV4dC1kZXZlbCBjbGFuZyBsbHZtIgogbWFrZWRlcGVuZHM9ImxpYlNNLWRldmVsIGxp YlhyZW5kZXItZGV2ZWwgbGliWGZ0LWRldmVsIGxpYlhwbS1kZXZlbCBpbWxpYjItZGV2ZWwKLSBs aWJYZXh0LWRldmVsIGxpYlhpbmVyYW1hLWRldmVsIGxpYlhyYW5kci1kZXZlbCBmcmliaWRpLWRl dmVsIgorIGxpYlhleHQtZGV2ZWwgbGliWHJhbmRyLWRldmVsIGZyaWJpZGktZGV2ZWwiCiBzaG9y dF9kZXNjPSJIaWdobHkgY29uZmlndXJhYmxlIGFuZCBsb3cgcmVzb3VyY2UgWDExIFdpbmRvdyBt YW5hZ2VyIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxp Y2Vuc2U9Ik1JVCIKIGhvbWVwYWdlPSJodHRwOi8vd3d3LmZsdXhib3gub3JnIgotZGlzdGZpbGVz PSJodHRwczovL2dpdGh1Yi5jb20vZmx1eGJveC9mbHV4Ym94L2FyY2hpdmUvcmVmcy90YWdzL1Jl bGVhc2UtJHt2ZXJzaW9uLy8uL199LnRhci5neiIKLWNoZWNrc3VtPTk5MDQxNGFlMzQyYTM1YzU3 MDNlNTAyNWE4YmYwMTliMGI0ZGFkYTU1ZDU3MDcxYzUxZDNkNDk4YWJiNWNkMzYKK2Rpc3RmaWxl cz0iaHR0cHM6Ly9naXRodWIuY29tL2ZsdXhib3gvZmx1eGJveC9hcmNoaXZlLyR7X2NvbW1pdH0u dGFyLmd6IgorY2hlY2tzdW09Njc0MGQ5Y2Q0YTNlNjMxZTAxMzBjYmNiYzkxY2NhYzZhZjYzMzVk YzEyMGY5YWRjNWViYmM4ZGM5ZDMyNTlhMAorCitub3BpZT15ZXMKK1gxMV9GTEFHUz0iLU9zIC1w aXBlIgorI0ZSSUJJRElfQ0ZMQUdTPSItT3MgLXBpcGUiCitYUkFORFJfQ0ZMQUdTPSItT3MgLXBp cGUiCitBTV9DUFBGTEFHUz0iLU9zIC1waXBlIgorQ0ZMQUdTPSItT3MgLXBpcGUiCitDWFhGTEFH Uz0iLU9zIC1waXBlIC1zdGQ9YysrMTEiCitDQz0iY2xhbmciCitDWFg9ImNsYW5nKysiCitIT1NU X0NDPWNsYW5nCitIT1NUX0NYWD1jbGFuZysrCiAKIGNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5F IiBpbgogCSotbXVzbCkgY29uZmlndXJlX2FyZ3M9IiR7Y29uZmlndXJlX2FyZ3MvZW5hYmxlLW5s cy9kaXNhYmxlLW5sc30iIDs7CiBlc2FjCiAKIHByZV9jb25maWd1cmUoKSB7Ci0JLi9hdXRvZ2Vu LnNoCisgIGV4cG9ydCBYMTFfRkxBR1M9Ii1PcyAtcGlwZSIKKyAgIyBleHBvcnQgRlJJQklESV9D RkxBR1M9Ii1PcyAtcGlwZSIKKyAgZXhwb3J0IFhSQU5EUl9DRkxBR1M9Ii1PcyAtcGlwZSIKKyAg ZXhwb3J0IEFNX0NQUEZMQUdTPSItT3MgLXBpcGUiCisgIGV4cG9ydCBDRkxBR1M9Ii1PcyAtcGlw ZSIKKyAgZXhwb3J0IENYWEZMQUdTPSItT3MgLXBpcGUgLXN0ZD1jKysxMSIKKyAgZXhwb3J0IEND PSJjbGFuZyIKKyAgZXhwb3J0IENYWD0iY2xhbmcrKyIKKyAgZXhwb3J0IEhPU1RfQ0M9Y2xhbmcK KyAgZXhwb3J0IEhPU1RfQ1hYPWNsYW5nKysKKyAgZXhwb3J0IFBSRUZJWD0vdXNyCisgIC4vYXV0 b2dlbi5zaAogfQogCiBwb3N0X2luc3RhbGwoKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmF2 Y29kZWM0IGIvc3JjcGtncy9saWJhdmNvZGVjNApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAw MDAwMDAwMDAwMDAuLjg4N2YzNTRlN2M2YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGli YXZjb2RlYzQKQEAgLTAsMCArMSBAQAorZmZtcGVnNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliYXZkZXZpY2U0IGIvc3JjcGtncy9saWJhdmRldmlj ZTQKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi44ODdmMzU0ZTdjNmIK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmF2ZGV2aWNlNApAQCAtMCwwICsxIEBACitm Zm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aWJhdmZpbHRlcjQgYi9zcmNwa2dzL2xpYmF2ZmlsdGVyNApuZXcgZmlsZSBtb2RlIDEyMDAwMApp bmRleCAwMDAwMDAwMDAwMDAuLjg4N2YzNTRlN2M2YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvbGliYXZmaWx0ZXI0CkBAIC0wLDAgKzEgQEAKK2ZmbXBlZzQKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmF2Zm9ybWF0NCBiL3NyY3BrZ3MvbGli YXZmb3JtYXQ0Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uODg3ZjM1 NGU3YzZiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJhdmZvcm1hdDQKQEAgLTAsMCAr MSBAQAorZmZtcGVnNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbGliYXZyZXNhbXBsZSBiL3NyY3BrZ3MvbGliYXZyZXNhbXBsZQppbmRleCBhOWYxZWVh MDkyZDUuLjg4N2YzNTRlN2M2YiAxMjAwMDAKLS0tIGEvc3JjcGtncy9saWJhdnJlc2FtcGxlCisr KyBiL3NyY3BrZ3MvbGliYXZyZXNhbXBsZQpAQCAtMSArMSBAQAotZmZtcGVnClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQorZmZtcGVnNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbGliYXZyZXNhbXBsZTQgYi9zcmNwa2dzL2xpYmF2cmVzYW1wbGU0 Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uODg3ZjM1NGU3YzZiCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJhdnJlc2FtcGxlNApAQCAtMCwwICsxIEBACitm Zm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aWJhdnV0aWw0IGIvc3JjcGtncy9saWJhdnV0aWw0Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4 IDAwMDAwMDAwMDAwMC4uODg3ZjM1NGU3YzZiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9s aWJhdnV0aWw0CkBAIC0wLDAgKzEgQEAKK2ZmbXBlZzQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYnBvc3Rwcm9jNCBiL3NyY3BrZ3MvbGlicG9zdHBy b2M0Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uODg3ZjM1NGU3YzZi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJwb3N0cHJvYzQKQEAgLTAsMCArMSBAQAor ZmZtcGVnNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bGlic3dyZXNhbXBsZTQgYi9zcmNwa2dzL2xpYnN3cmVzYW1wbGU0Cm5ldyBmaWxlIG1vZGUgMTIw MDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uODg3ZjM1NGU3YzZiCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9saWJzd3Jlc2FtcGxlNApAQCAtMCwwICsxIEBACitmZm1wZWc0ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJzd3NjYWxlNCBiL3NyY3Br Z3MvbGlic3dzY2FsZTQKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi44 ODdmMzU0ZTdjNmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYnN3c2NhbGU0CkBAIC0w LDAgKzEgQEAKK2ZmbXBlZzQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmNwa2dzL21lc2EvdGVtcGxhdGUgYi9zcmNwa2dzL21lc2EvdGVtcGxhdGUKaW5kZXggZDlm ZjBiMmZmMjNkLi5iZGViMjJiMTNhYWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbWVzYS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL21lc2EvdGVtcGxhdGUKQEAgLTEsMTIgKzEsMTMgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ21lc2EnCiBwa2duYW1lPW1lc2EKLXZlcnNpb249MjIuMy41Cit2ZXJzaW9u PTIzLjAuMAogcmV2aXNpb249MQorI3dya3NyYz0iTWVzYS1kZzItMjAyMzAxMjUiCiBidWlsZF9z dHlsZT1tZXNvbgogY29uZmlndXJlX2FyZ3M9Ii1EZ2x2bmQ9dHJ1ZSAtRHNoYXJlZC1nbGFwaT1l bmFibGVkIC1EZ2JtPWVuYWJsZWQgLURlZ2w9ZW5hYmxlZAogIC1Eb3NtZXNhPXRydWUgLURnbGVz MT1lbmFibGVkIC1EZ2xlczI9ZW5hYmxlZCAtRGdseD1kcmkgLURkcmkzPWVuYWJsZWQKICAtRGxt c2Vuc29ycz1lbmFibGVkIC1EcGxhdGZvcm1zPXgxMSQodm9wdF9pZiB3YXlsYW5kICx3YXlsYW5k KQotIC1EbGx2bT1lbmFibGVkIC1EYl9sdG89ZmFsc2UgLURjcHBfc3RkPWdudSsrMTQiCisgLURs bHZtPWVuYWJsZWQgLURiX2x0bz1mYWxzZSAtRGNwcF9zdGQ9Z251KysxNyIKIGhvc3RtYWtlZGVw ZW5kcz0iZ2V0dGV4dCBmbGV4IGxsdm0gcGtnLWNvbmZpZyBweXRob24zLU1ha28gZ2xzbGFuZwog ICQodm9wdF9pZiB3YXlsYW5kICd3YXlsYW5kLXByb3RvY29scyB3YXlsYW5kLWRldmVsJykiCiBt YWtlZGVwZW5kcz0iZWxmdXRpbHMtZGV2ZWwgZXhwYXQtZGV2ZWwgbGliWGRhbWFnZS1kZXZlbApA QCAtMjIsMTEgKzIzLDIzIEBAIGxpY2Vuc2U9Ik1JVCwgTEdQTC0yLjEtb3ItbGF0ZXIiCiBob21l cGFnZT0iaHR0cHM6Ly93d3cubWVzYTNkLm9yZy8iCiBjaGFuZ2Vsb2c9Imh0dHBzOi8vZG9jcy5t ZXNhM2Qub3JnL3JlbG5vdGVzLmh0bWwiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vbWVzYS5mcmVlZGVz a3RvcC5vcmcvYXJjaGl2ZS9tZXNhLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09M2VlZDJl Y2FlMmJjNjc0NDk0NTY2ZmFhYjlmY2M5YmViMjFjZDgwNGM3YmEyYjU5YTE2OTRmM2Q3MjM2ZTZh OQorY2hlY2tzdW09MDFmM2NmZjM3NjNmMDllMGFkYWJjYjgwMTFlNGFlYmM2YWQ0OGY2YTRkZDRi YWU5MDRmZTkxODcwN2QyNTNlNAorIyBpbnRlbCBkZzIgamFuIDI1CisjY2hlY2tzdW09NGVjOGVj NjVkYmRiMWVlOTQ0NGRiYTcyOTcwODkwMTI4YTE5NTQzYTU4Y2YwNTkzMWJkNmY1NGYxMjRlMTE3 ZgorI2NoZWNrc3VtPTM3YTFkZGFmMDNmNDE5MTllZTNjODljOTdjZmY0MWU4N2RlOTZlMDBlOWQz MjQ3OTU5Y2M4Mjc5ZDgyOTQ1OTMKKyNkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9pbnRl bC1ncHUvTWVzYS9hcmNoaXZlL3JlZnMvdGFncy9kZzItMjAyMzAxMjUudGFyLmd6IgorI2NoZWNr c3VtPTIyMjAzMTg2Nzc5MjIyZWM1MjQ0ZWNiNzRmYmFlNzA2ZDM1NTc1ODhjODIwODliMThjN2Jm NzdhNTQ3OTlhNTkKIAogYnVpbGRfb3B0aW9ucz0id2F5bGFuZCIKIGJ1aWxkX29wdGlvbnNfZGVm YXVsdD0id2F5bGFuZCIKIAorZXhwb3J0IENDPWNsYW5nCitleHBvcnQgQ1hYPWNsYW5nKysKKwor aWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwljb25maWd1cmVfYXJn cys9IiAtRHVzZS1lbGYtdGxzPWZhbHNlIgorZmkKKwogIyBvbmx5IHVzZSBsbHZtcGlwZSBvbiB0 YXJnZXRzIHdoZXJlIGl0J3Mgc3VwcG9ydGVkIGFuZCByZWxpYWJsZQogIyBlc3BlY2lhbGx5IG9u IGJpZyBlbmRpYW4gaXQncyBhbGwga2luZHMgb2YgYnJva2VuLCBhbmQgZS5nLiBvbgogIyAzMi1i aXQgcG93ZXJwYyBpdCBkb2VzIG5vdCB3b3JrIGF0IGFsbCwgc28gZmFsbCBiYWNrIHRvIHNvZnRw aXBlCkBAIC05MSw3ICsxMDQsNyBAQCBmaQogaWYgWyAiJF9oYXZlX2ludGVsIiBdOyB0aGVuCiAJ X2hhdmVfdnVsa2FuPXllcwogCV9nYWxsaXVtX2RyaXZlcnMrPSIsY3JvY3VzLGlyaXMsaTkxNSIK LQlfdnVsa2FuX2RyaXZlcnMrPSIsaW50ZWwsaW50ZWxfaGFzdmsiCisJX3Z1bGthbl9kcml2ZXJz Kz0iLGludGVsIgogCXN1YnBhY2thZ2VzKz0iIG1lc2EtdnVsa2FuLWludGVsIgogCSMgdHJhbnNp dGlvbmFsIGR1bW15IHBhY2thZ2VzCiAJc3VicGFja2FnZXMrPSIgbWVzYS1pbnRlbC1kcmkiCkBA IC0xNDAsMTAgKzE1MywxMCBAQCBmaQogCiAjIGVuYWJsZWQgY3VycmVudGx5IGJ5IGFtZCBkcml2 ZXJzCiBpZiBbICIkX2hhdmVfb3BlbmNsIiBdOyB0aGVuCi0JaG9zdG1ha2VkZXBlbmRzKz0iIGNs YW5nIHJ1c3QgcnVzdC1iaW5kZ2VuIgotCW1ha2VkZXBlbmRzKz0iIGNsYW5nIGxpYmNsYyBydXN0 IFNQSVJWLUxMVk0tVHJhbnNsYXRvci1kZXZlbCBTUElSVi1Ub29scy1kZXZlbCIKKwlob3N0bWFr ZWRlcGVuZHMrPSIgY2xhbmciCisJbWFrZWRlcGVuZHMrPSIgY2xhbmcgbGliY2xjIgogCXN1YnBh Y2thZ2VzKz0iIG1lc2Etb3BlbmNsIgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EZ2FsbGl1bS1vcGVu Y2w9aWNkIC1EZ2FsbGl1bS1ydXN0aWNsPXRydWUgLURydXN0X3N0ZD0yMDIxIgorCWNvbmZpZ3Vy ZV9hcmdzKz0iIC1EZ2FsbGl1bS1vcGVuY2w9aWNkIgogZmkKIAogaWYgWyAiJF9oYXZlX2h3ZGVj IiBdOyB0aGVuCkBAIC0xODcsNyArMjAwLDYgQEAgZXNhYwogcG9zdF9jb25maWd1cmUoKSB7CiAJ aWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJCWZpbmQgLWluYW1lICIqLm5pbmphIiAtZXhl YyBzZWQgLWkgInt9IiBcCi0JCQktZSAiL3J1c3RjL3M7IC0tc3lzcm9vdCAke1hCUFNfQ1JPU1Nf QkFTRX0vdXNyOztnIiBcCiAJCQktZSAiczsgL3Vzci9saWIvOyAke1hCUFNfQ1JPU1NfQkFTRX0v dXNyL2xpYi87ZyIgXAogCQkJLWUgInM7LUwvdXNyL2xpYjstTCR7WEJQU19DUk9TU19CQVNFfS91 c3IvbGliO2ciIFwKIAkJCS1lICJzOy1JL3Vzci9pbmNsdWRlOy1JJHtYQlBTX0NST1NTX0JBU0V9 L3Vzci9pbmNsdWRlO2ciIFwKQEAgLTI4Niw3ICsyOTgsNiBAQCBNZXNhTGliLWRldmVsX3BhY2th Z2UoKSB7CiAJCWZpCiAJCWlmIFsgIiRfaGF2ZV9vcGVuY2wiIF07IHRoZW4KIAkJCXZtb3ZlIHVz ci9saWIvbGliTWVzYU9wZW5DTC5zbwotCQkJdm1vdmUgdXNyL2xpYi9saWJSdXN0aWNsT3BlbkNM LnNvCiAJCWZpCiAJfQogfQpAQCAtMzA1LDcgKzMxNiw2IEBAIG1lc2Etb3BlbmNsX3BhY2thZ2Uo KSB7CiAJCXZtb3ZlIGV0Yy9PcGVuQ0wKIAkJdm1vdmUgdXNyL2xpYi9nYWxsaXVtLXBpcGUKIAkJ dm1vdmUgInVzci9saWIvbGliTWVzYU9wZW5DTC5zby4qIgotCQl2bW92ZSAidXNyL2xpYi9saWJS dXN0aWNsT3BlbkNMLnNvLioiCiAJfQogfQogCkBAIC0zMzYsMTUgKzM0NiwxNCBAQCBtZXNhLXZk cGF1X3BhY2thZ2UoKSB7CiBtZXNhLXZ1bGthbi1pbnRlbF9wYWNrYWdlKCkgewogCXNob3J0X2Rl c2M9Ik1lc2EgSW50ZWwgVnVsa2FuIGRyaXZlciIKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUg InVzci9zaGFyZS92dWxrYW4vaWNkLmQvaW50ZWwqLmpzb24iCi0JCXZtb3ZlICJ1c3IvbGliL2xp YnZ1bGthbl9pbnRlbCouc28iCisJCXZtb3ZlICJ1c3Ivc2hhcmUvdnVsa2FuL2ljZC5kL2ludGVs X2ljZCouanNvbiIKKwkJdm1vdmUgInVzci9saWIvbGlidnVsa2FuX2ludGVsLnNvIgogCX0KIH0K IAogbWVzYS12dWxrYW4tcmFkZW9uX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYz0iTWVzYSBSYWRl b24gVnVsa2FuIGRyaXZlciIKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgInVzci9zaGFyZS9k cmlyYy5kLzAwLXJhZHYtZGVmYXVsdHMuY29uZiIKIAkJdm1vdmUgInVzci9zaGFyZS92dWxrYW4v aWNkLmQvcmFkZW9uX2ljZCouanNvbiIKIAkJdm1vdmUgInVzci9saWIvbGlidnVsa2FuX3JhZGVv bi5zbyIKIAl9CgpGcm9tIDY3YjJhZWZlYmY0MWU2YzU1ZDIwMDk0YzZlZDEwN2FjM2U2ZjY0ZDgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMTc6NDE6MzggLTA0MDAKU3ViamVjdDogW1BBVENIIDIv NF0gb3BlbmN2OiB1cGRhdGUgdG8gNC43LjAuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAxMDQgKysrKysrKysrKystLS0tLS0tLS0tLS0KIHNyY3BrZ3Mv YWN0aW9uYS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZGlnaWth bS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZ21pYy90ZW1wbGF0 ZSAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVz L2ZmbXBlZzQucGF0Y2ggfCAgMjEgLS0tLS0KIHNyY3BrZ3Mvbm9tYWNzL3RlbXBsYXRlICAgICAg ICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3Mvb3BlbmN2L3RlbXBsYXRlICAgICAgICAgICAg ICAgICAgfCAgIDggKy0KIHNyY3BrZ3MvcWltZ3YvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAg fCAgIDIgKy0KIHNyY3BrZ3MvcmV0cm9zaGFyZS90ZW1wbGF0ZSAgICAgICAgICAgICAgfCAgIDIg Ky0KIHNyY3BrZ3Mvc2lyaWwvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNy Y3BrZ3Mvd2FpZnUyeC1jb252ZXJ0ZXItY3BwL3RlbXBsYXRlICAgfCAgIDIgKy0KIDExIGZpbGVz IGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVzL2ZmbXBlZzQucGF0Y2gKCmRpZmYgLS1n aXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBhYWI2NmM4M2Y0YjMuLmE5 ZDFjNmExNmVjNiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJz CkBAIC0yMTI4LDU4ICsyMTI4LDU4IEBAIGxpYmNhcHN0b25lLnNvLjQgY2Fwc3RvbmUtNC4wXzEK IGxpYmhhdmVnZS5zby4yIGxpYmhhdmVnZWQtMS45LjExXzEKIGxpYm5paC5zby4xIGxpYm5paC0x LjAuM18xCiBsaWJuaWgtZGJ1cy5zby4xIGxpYm5paC0xLjAuM18xCi1saWJvcGVuY3ZfcXVhbGl0 eS5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9yZWcuc28uNDA2IGxpYm9wZW5j di00LjYuMF8xCi1saWJvcGVuY3Zfc3VyZmFjZV9tYXRjaGluZy5zby40MDYgbGlib3BlbmN2LTQu Ni4wXzEKLWxpYm9wZW5jdl94cGhvdG8uc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVu Y3ZfZnJlZXR5cGUuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfZnV6enkuc28u NDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfaGZzLnNvLjQwNiBsaWJvcGVuY3YtNC42 LjBfMQotbGlib3BlbmN2X2ltZ19oYXNoLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3Bl bmN2X2xpbmVfZGVzY3JpcHRvci5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9z YWxpZW5jeS5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9zdHJ1Y3R1cmVkX2xp Z2h0LnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2FydWNvLnNvLjQwNiBsaWJv cGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2Jnc2VnbS5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEK LWxpYm9wZW5jdl9iaW9pbnNwaXJlZC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5j dl9jY2FsaWIuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfZmFjZS5zby40MDYg bGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl90cmFja2luZy5zby40MDYgbGlib3BlbmN2LTQu Ni4wXzEKLWxpYm9wZW5jdl94ZmVhdHVyZXMyZC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxp Ym9wZW5jdl9vcHRmbG93LnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X3hpbWdw cm9jLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X3Bsb3Quc28uNDA2IGxpYm9w ZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfdGV4dC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxp Ym9wZW5jdl9tbC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9vYmpkZXRlY3Qu c28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfZG5uLnNvLjQwNiBsaWJvcGVuY3Yt NC42LjBfMQotbGlib3BlbmN2X3NoYXBlLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3Bl bmN2X3N0aXRjaGluZy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9waG90by5z by40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl92aWRlby5zby40MDYgbGlib3BlbmN2 LTQuNi4wXzEKLWxpYm9wZW5jdl9jYWxpYjNkLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGli b3BlbmN2X2ZlYXR1cmVzMmQuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfZmxh bm4uc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfaGlnaGd1aS5zby40MDYgbGli b3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl92aWRlb2lvLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBf MQotbGlib3BlbmN2X2ltZ2NvZGVjcy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5j dl9pbWdwcm9jLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2NvcmUuc28uNDA2 IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3Zfc3VwZXJyZXMuc28uNDA2IGxpYm9wZW5jdi00 LjYuMF8xCi1saWJvcGVuY3ZfdmlkZW9zdGFiLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGli b3BlbmN2X2dhcGkuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfeG9iamRldGVj dC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9kYXRhc2V0cy5zby40MDYgbGli b3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9kbm5fb2JqZGV0ZWN0LnNvLjQwNiBsaWJvcGVuY3Yt NC42LjBfMQotbGlib3BlbmN2X2Rubl9zdXBlcnJlcy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEK LWxpYm9wZW5jdl9kcG0uc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfcGhhc2Vf dW53cmFwcGluZy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9zdGVyZW8uc28u NDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfcmFwaWQuc28uNDA2IGxpYm9wZW5jdi00 LjYuMF8xCi1saWJvcGVuY3ZfaW50ZW5zaXR5X3RyYW5zZm9ybS5zby40MDYgbGlib3BlbmN2LTQu Ni4wXzEKLWxpYm9wZW5jdl9hbHBoYW1hdC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9w ZW5jdl9iYXJjb2RlLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X21jYy5zby40 MDYgbGlib3BlbmN2LTQuNi4wXzEKK2xpYm9wZW5jdl9xdWFsaXR5LnNvLjQwNyBsaWJvcGVuY3Yt NC43LjBfMQorbGlib3BlbmN2X3JlZy5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5j dl9zdXJmYWNlX21hdGNoaW5nLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3hw aG90by5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mcmVldHlwZS5zby40MDcg bGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mdXp6eS5zby40MDcgbGlib3BlbmN2LTQuNy4w XzEKK2xpYm9wZW5jdl9oZnMuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfaW1n X2hhc2guc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfbGluZV9kZXNjcmlwdG9y LnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3NhbGllbmN5LnNvLjQwNyBsaWJv cGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3N0cnVjdHVyZWRfbGlnaHQuc28uNDA3IGxpYm9wZW5j di00LjcuMF8xCitsaWJvcGVuY3ZfYXJ1Y28uc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJv cGVuY3ZfYmdzZWdtLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2Jpb2luc3Bp cmVkLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2NjYWxpYi5zby40MDcgbGli b3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mYWNlLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQor bGlib3BlbmN2X3RyYWNraW5nLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3hm ZWF0dXJlczJkLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X29wdGZsb3cuc28u NDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfeGltZ3Byb2Muc28uNDA3IGxpYm9wZW5j di00LjcuMF8xCitsaWJvcGVuY3ZfcGxvdC5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9w ZW5jdl90ZXh0LnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X21sLnNvLjQwNyBs aWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X29iamRldGVjdC5zby40MDcgbGlib3BlbmN2LTQu Ny4wXzEKK2xpYm9wZW5jdl9kbm4uc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3Zf c2hhcGUuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3Zfc3RpdGNoaW5nLnNvLjQw NyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3Bob3RvLnNvLjQwNyBsaWJvcGVuY3YtNC43 LjBfMQorbGlib3BlbmN2X3ZpZGVvLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2 X2NhbGliM2Quc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfZmVhdHVyZXMyZC5z by40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mbGFubi5zby40MDcgbGlib3BlbmN2 LTQuNy4wXzEKK2xpYm9wZW5jdl9oaWdoZ3VpLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGli b3BlbmN2X3ZpZGVvaW8uc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfaW1nY29k ZWNzLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2ltZ3Byb2Muc28uNDA3IGxp Ym9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfY29yZS5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEK K2xpYm9wZW5jdl9zdXBlcnJlcy5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl92 aWRlb3N0YWIuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfZ2FwaS5zby40MDcg bGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl94b2JqZGV0ZWN0LnNvLjQwNyBsaWJvcGVuY3Yt NC43LjBfMQorbGlib3BlbmN2X2RhdGFzZXRzLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGli b3BlbmN2X2Rubl9vYmpkZXRlY3Quc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3Zf ZG5uX3N1cGVycmVzLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2RwbS5zby40 MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9waGFzZV91bndyYXBwaW5nLnNvLjQwNyBs aWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3N0ZXJlby5zby40MDcgbGlib3BlbmN2LTQuNy4w XzEKK2xpYm9wZW5jdl9yYXBpZC5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9p bnRlbnNpdHlfdHJhbnNmb3JtLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2Fs cGhhbWF0LnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2JhcmNvZGUuc28uNDA3 IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfbWNjLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBf MQogbGlidW5pY29uZi5zby40LjYgd3ZzdHJlYW1zLTQuNi4xXzIwCiBsaWJ3dmJhc2Uuc28uNC42 IHd2c3RyZWFtcy00LjYuMV8yMAogbGlid3Z1dGlscy5zby40LjYgd3ZzdHJlYW1zLTQuNi4xXzIw CmRpZmYgLS1naXQgYS9zcmNwa2dzL2FjdGlvbmEvdGVtcGxhdGUgYi9zcmNwa2dzL2FjdGlvbmEv dGVtcGxhdGUKaW5kZXggY2Y1ZjBiN2EyYWU2Li4wZDg5OTMxMWU2ZGYgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvYWN0aW9uYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2FjdGlvbmEvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhY3Rpb25hJwogcGtnbmFtZT1hY3Rp b25hCiB2ZXJzaW9uPTMuMTAuMQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9 cW1ha2UKIGNvbmZpZ3VyZV9hcmdzPSJQS0dDT05GSUdfT1BFTkNWPW9wZW5jdjQiCiBob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1LXBsdWdpbi1teXNxbCBxdDUtcW1ha2UgcXQ1LWhvc3Qt dG9vbHMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2RpZ2lrYW0vdGVtcGxhdGUgYi9zcmNwa2dzL2Rp Z2lrYW0vdGVtcGxhdGUKaW5kZXggZThlYzQ5NjE0NTdiLi4wYTg5ODRkYjg1YmMgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZGlnaWthbS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2RpZ2lrYW0vdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdkaWdpa2FtJwogcGtnbmFt ZT1kaWdpa2FtCiB2ZXJzaW9uPTcuMTAuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREJVSUxEX1RFU1RJTkc9T0ZGIgogaG9zdG1h a2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1bGVzIGdldHRleHQgcGtnLWNvbmZpZyBiaXNvbiBm bGV4IHF0NS1xbWFrZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nbWljL3RlbXBsYXRlIGIvc3JjcGtn cy9nbWljL3RlbXBsYXRlCmluZGV4IDhlM2I4MDA0N2YyNi4uNDNjNmUwNjcyYTJiIDEwMDY0NAot LS0gYS9zcmNwa2dzL2dtaWMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nbWljL3RlbXBsYXRlCkBA IC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ21pYycKIHBrZ25hbWU9Z21pYwog dmVyc2lvbj0zLjEuNgotcmV2aXNpb249MQorcmV2aXNpb249MgogX3phcnRfaGFzaD0zNGViZjZj Y2UwYmFmYjk4YWJlNTdjZWM4M2M0YTAyY2QxYWJlY2EwCiBjcmVhdGVfd3Jrc3JjPXllcwogYnVp bGRfd3Jrc3JjPSJzcmMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hlcy9m Zm1wZWc0LnBhdGNoIGIvc3JjcGtncy9nb2xkZW5kaWN0L3BhdGNoZXMvZmZtcGVnNC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjA0NWZhMjdmNTRiLi4wMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9nb2xkZW5kaWN0L3BhdGNoZXMvZmZtcGVnNC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDIxICswLDAgQEAKLS0tLSBhL2ZmbXBlZ2F1ZGlvLmNjLm9yaWcgMjAxOC0wNS0w OSAyMjoxNjoxMy40ODA2NTk5NTggKzAyMDAKLSsrKyBiL2ZmbXBlZ2F1ZGlvLmNjICAgICAgMjAx OC0wNS0wOSAyMjoxNjo1MC43NDgzMjI3OTAgKzAyMDAKLUBAIC0xNDMsNyArMTQzLDcgQEAKLSAg ICAgcmV0dXJuIGZhbHNlOwotICAgfQotCi0tICB1bnNpZ25lZCBjaGFyICogYXZpb0J1ZmZlciA9 ICggdW5zaWduZWQgY2hhciAqIClhdl9tYWxsb2MoIGtCdWZmZXJTaXplICsgRkZfSU5QVVRfQlVG RkVSX1BBRERJTkdfU0laRSApOwotKyAgdW5zaWduZWQgY2hhciAqIGF2aW9CdWZmZXIgPSAoIHVu c2lnbmVkIGNoYXIgKiApYXZfbWFsbG9jKCBrQnVmZmVyU2l6ZSArIEFWX0lOUFVUX0JVRkZFUl9Q QURESU5HX1NJWkUgKTsKLSAgIGlmICggIWF2aW9CdWZmZXIgKQotICAgewotICAgICBlcnJvclN0 cmluZyA9IFFPYmplY3Q6OnRyKCAiYXZfbWFsbG9jKCkgZmFpbGVkLiIgKTsKLUBAIC0zODAsNyAr MzgwLDcgQEAKLSAgIH0KLQotICAgaWYgKCAhUXQ0eDU6OkF0b21pY0ludDo6bG9hZEFjcXVpcmUo IGlzQ2FuY2VsbGVkXyApICYmCi0tICAgICAgIGNvZGVjQ29udGV4dF8tPmNvZGVjLT5jYXBhYmls aXRpZXMgJiBDT0RFQ19DQVBfREVMQVkgKQotKyAgICAgICBjb2RlY0NvbnRleHRfLT5jb2RlYy0+ Y2FwYWJpbGl0aWVzICYgQVZfQ09ERUNfQ0FQX0RFTEFZICkKLSAgIHsKLSAgICAgYXZfaW5pdF9w YWNrZXQoICZwYWNrZXQgKTsKLSAgICAgaW50IGdvdEZyYW1lID0gMDsKLQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9ub21hY3MvdGVtcGxhdGUgYi9zcmNwa2dzL25vbWFjcy90ZW1wbGF0ZQppbmRleCA4 OTVlODMwNzFhOGEuLmNlNGU3ZjcwOTNkYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9ub21hY3MvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9ub21hY3MvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdub21hY3MnCiBwa2duYW1lPW5vbWFjcwogdmVyc2lvbj0zLjE2LjIy NAotcmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfd3Jrc3JjPUltYWdlTG91bmdlCiBidWls ZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EQ01BS0VfQlVJTERfVFlQRT1Ob25lIC1E RU5BQkxFX1RSQU5TTEFUSU9OUz0xCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5jdi90ZW1wbGF0 ZSBiL3NyY3BrZ3Mvb3BlbmN2L3RlbXBsYXRlCmluZGV4IGEwOWI4ZGQwZDQ0OS4uNDFmMzE4M2Yx NTgyIDEwMDY0NAotLS0gYS9zcmNwa2dzL29wZW5jdi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL29w ZW5jdi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5j dicKIHBrZ25hbWU9b3BlbmN2Ci12ZXJzaW9uPTQuNi4wCi1yZXZpc2lvbj0zCit2ZXJzaW9uPTQu Ny4wCityZXZpc2lvbj0xCiBjcmVhdGVfd3Jrc3JjPXllcwogYnVpbGRfd3Jrc3JjPSR7cGtnbmFt ZX0tJHt2ZXJzaW9ufQogYnVpbGRfc3R5bGU9Y21ha2UKQEAgLTI0LDggKzI0LDggQEAgaG9tZXBh Z2U9Imh0dHBzOi8vb3BlbmN2Lm9yZyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9naXRodWIuY29tL29w ZW5jdi9vcGVuY3Yvd2lraS9DaGFuZ2VMb2ciCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNv bS9vcGVuY3Yvb3BlbmN2L2FyY2hpdmUvJHt2ZXJzaW9ufS50YXIuZ3oKICBodHRwczovL2dpdGh1 Yi5jb20vb3BlbmN2L29wZW5jdl9jb250cmliL2FyY2hpdmUvJHt2ZXJzaW9ufS50YXIuZ3o+Y29u dHJpYi50YXIuZ3oiCi1jaGVja3N1bT0iMWVjMWNiYTY1ZjlmMjBmZTVhNDFmZGExNTg2ZTAxYzcw ZWEwYzlhNmQ3YjY3YzllMTNlZGYwY2ZlMjIzOTI3NwotIDE3NzdkNWZkMmI1OTAyOWNmNTM3ZTVm ZDZmOGFhNjhkNzA3MDc1ODIyZjkwYmRlNjgzZmNkZTA4NmY4NWY3YTciCitjaGVja3N1bT0iOGRm MDA3OWNkYmUxNzk3NDhhMThkNDQ3MzFhZjYyYTI0NWE0NWViZjUwODUyMjNkYzAzMTMzOTU0YzY2 Mjk3MworIDQyZGY4NDBjZjkwNTVlNTlkMGUyMmMyNDljZmIxOWYwNDc0M2UxYmRhZDExM2QzMWIx NTczZDM5MzRkNjI1ODQiCiBwYXRjaF9hcmdzPSItTnAxIC1kICR7YnVpbGRfd3Jrc3JjfSIKICMg dGVzdHMgaGFuZyBpbmRlbmZpbml0ZWx5LCBldmVuIHdpdGggdGVzdCBkYXRhIGluY2x1ZGVkCiBt YWtlX2NoZWNrPW5vCmRpZmYgLS1naXQgYS9zcmNwa2dzL3FpbWd2L3RlbXBsYXRlIGIvc3JjcGtn cy9xaW1ndi90ZW1wbGF0ZQppbmRleCA3ZWIzMGRiMzM5OTIuLmRkMzQxZGZlMWJmYyAxMDA2NDQK LS0tIGEvc3JjcGtncy9xaW1ndi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3FpbWd2L3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncWltZ3YnCiBwa2duYW1lPXFp bWd2CiB2ZXJzaW9uPTEuMC4yCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1j bWFrZQogY29uZmlndXJlX2FyZ3M9IiQodm9wdF9pZiB2aWRlbyAtRFZJREVPX1NVUFBPUlQ9T04g LURWSURFT19TVVBQT1JUPU9GRikKICAkKHZvcHRfaWYgc2NhbGUgLURPUEVOQ1ZfU1VQUE9SVD1P TiAtRE9QRU5DVl9TVVBQT1JUPU9GRikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmV0cm9zaGFyZS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcmV0cm9zaGFyZS90ZW1wbGF0ZQppbmRleCA4YTA3ODZjMjFhMDgu LjcyMDIzZmE5OGI3NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZXRyb3NoYXJlL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvcmV0cm9zaGFyZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3JldHJvc2hhcmUnCiBwa2duYW1lPXJldHJvc2hhcmUKIHZlcnNpb249MC42 LjYKLXJldmlzaW9uPTIKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPXFtYWtlCiAjWFhYIGJyb2Fk Y2FzdCBmZWF0dXJlIHJlcXVpcmVzIGFuIGFuY2llbnQgdWRwLWRpc2NvdmVyeS1jcHAgd2hpY2gg ZWl0aGVyIG5lZWRzCiAjIHRvIGJlIGZldGNoZWQrcGF0Y2hlZCAoRlRCRlMpIGhlcmUgb3IgcGFj a2FnZWQgOi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2lyaWwvdGVtcGxhdGUgYi9zcmNwa2dzL3Np cmlsL3RlbXBsYXRlCmluZGV4IGUwNmFhNWQwNTU5Yy4uODQzMzJmNzlkMDYwIDEwMDY0NAotLS0g YS9zcmNwa2dzL3NpcmlsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc2lyaWwvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdzaXJpbCcKIHBrZ25hbWU9c2lyaWwK IHZlcnNpb249MC45LjEyCi1yZXZpc2lvbj04CityZXZpc2lvbj0xMAogYnVpbGRfc3R5bGU9Z251 LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGF1dG9jb25m IGF1dG9tYWtlIGdldHRleHQtZGV2ZWwiCiBtYWtlZGVwZW5kcz0iZmZ0dy1kZXZlbCBsaWJjb25m aWctZGV2ZWwgbGlib3BlbmN2LWRldmVsIGxpYmZmbXMyLWRldmVsCmRpZmYgLS1naXQgYS9zcmNw a2dzL3dhaWZ1MngtY29udmVydGVyLWNwcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvd2FpZnUyeC1jb252 ZXJ0ZXItY3BwL3RlbXBsYXRlCmluZGV4IDhjMDk1ZDBkN2JhYi4uYWE1MmQ4Yzk4MWE4IDEwMDY0 NAotLS0gYS9zcmNwa2dzL3dhaWZ1MngtY29udmVydGVyLWNwcC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3dhaWZ1MngtY29udmVydGVyLWNwcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ3dhaWZ1MngtY29udmVydGVyLWNwcCcKIHBrZ25hbWU9d2FpZnUyeC1j b252ZXJ0ZXItY3BwCiB2ZXJzaW9uPTUuMi40Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWls ZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9NT0RFTFM9T04iCiBob3N0 bWFrZWRlcGVuZHM9InBrZy1jb25maWciCgpGcm9tIGRlYjFiNGQxZjk3ODZkNThjM2ZhZDM4MDdi OWNiN2ExYTQ2YjExOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGlj ZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMTg6MDc6NTggLTA0MDAKU3Vi amVjdDogW1BBVENIIDMvNF0gZmZtcGVnNCBidW1wcwoKLS0tCiBzcmNwa2dzL29zZy90ZW1wbGF0 ZSAgICAgIHwgNCArKy0tCiBzcmNwa2dzL3ZsYy90ZW1wbGF0ZSAgICAgIHwgNCArKy0tCiBzcmNw a2dzL3hpbmUtbGliL3RlbXBsYXRlIHwgNiArKystLS0KIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3NnL3RlbXBs YXRlIGIvc3JjcGtncy9vc2cvdGVtcGxhdGUKaW5kZXggMWEwMzE0NDhiM2NmLi43NTU3OTNmN2Ux MWIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3NnL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3NnL3Rl bXBsYXRlCkBAIC0xLDE0ICsxLDE0IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvc2cnCiBwa2du YW1lPW9zZwogdmVyc2lvbj0zLjYuNQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5 bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj0icWVtdSIKICMgZG9uJ3QgdXNlIC91c3IvbGliNjQgb24g NjRiaXQgcGxhdGZvcm1zCiBjb25maWd1cmVfYXJncz0iLURMSUJfUE9TVEZJWD0iCiBob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWcgeHJhbmRyIgogbWFrZWRlcGVuZHM9Ik1lc2FMaWItZGV2ZWwg Z3RrZ2xleHQtZGV2ZWwgbGliY3VybC1kZXZlbCBnaWZsaWItZGV2ZWwgbGlicnN2Zy1kZXZlbAot IGphc3Blci1kZXZlbCB0aWZmLWRldmVsIGxpYmdkYWwtZGV2ZWwgbGliZ3RhLWRldmVsIGZmbXBl Zy1kZXZlbCB4aW5lLWxpYi1kZXZlbAorIGphc3Blci1kZXZlbCB0aWZmLWRldmVsIGxpYmdkYWwt ZGV2ZWwgbGliZ3RhLWRldmVsIGZmbXBlZzQtZGV2ZWwgeGluZS1saWItZGV2ZWwKICBTREwyLWRl dmVsIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsCiAgJCh2b3B0X2lmIG9wZW5leHIgbGlib3BlbmV4 ci1kZXZlbCkKICAkKHZvcHRfaWYgcG9wcGxlciBwb3BwbGVyLWdsaWItZGV2ZWwpCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3ZsYy90ZW1wbGF0ZSBiL3NyY3BrZ3MvdmxjL3RlbXBsYXRlCmluZGV4IDIx MDc2MmIwYTdlMi4uODU1Y2E1MjM4NjYyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3ZsYy90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3ZsYy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3ZsYycKIHBrZ25hbWU9dmxjCiB2ZXJzaW9uPTMuMC4xOAotcmV2aXNpb249Mwor cmV2aXNpb249NAogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0t ZGlzYWJsZS1nbWUgLS1kaXNhYmxlLWxpYnRhciAtLWVuYWJsZS1qYWNrCiAgLS1lbmFibGUtbGl2 ZTU1NSAtLWRpc2FibGUtZmx1aWRzeW50aCAtLWVuYWJsZS1kdmRyZWFkCkBAIC0yNSw3ICsyNSw3 IEBAIGxpYjMyZGlzYWJsZWQ9eWVzCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGxpYnRvb2wg cGtnLWNvbmZpZyBmbGV4IGdldHRleHQgbGliZ2NyeXB0LWRldmVsCiAgbGl2ZTU1NS1kZXZlbCBn ZXR0ZXh0LWRldmVsICQodm9wdF9pZiBsdWEgbHVhNTIpICQodm9wdF9pZiBjaHJvbWVjYXN0IHBy b3RvYnVmKSIKIG1ha2VkZXBlbmRzPSIKLSBhdmFoaS1saWJzLWRldmVsIGRidXMtZ2xpYi1kZXZl bCBmYWFkMi1kZXZlbCBmZm1wZWctZGV2ZWwgZnJlZWZvbnQtdHRmCisgYXZhaGktbGlicy1kZXZl bCBkYnVzLWdsaWItZGV2ZWwgZmFhZDItZGV2ZWwgZmZtcGVnNC1kZXZlbCBmcmVlZm9udC10dGYK ICBnbnV0bHMtZGV2ZWwgamFjay1kZXZlbCBsaWJhNTItZGV2ZWwgbGliYXNzLWRldmVsIGxpYmJs dXJheS1kZXZlbAogIGxpYmNkaW8tZGV2ZWwgbGliZGNhLWRldmVsIGxpYmR2YnBzaS1kZXZlbCBs aWJkdmRuYXYtZGV2ZWwgbGlibWFkLWRldmVsCiAgbGlibWF0cm9za2EtZGV2ZWwgbGlibW9kcGx1 Zy1kZXZlbCBsaWJtcGNkZWMtZGV2ZWwgbGlibXBlZzItZGV2ZWwKZGlmZiAtLWdpdCBhL3NyY3Br Z3MveGluZS1saWIvdGVtcGxhdGUgYi9zcmNwa2dzL3hpbmUtbGliL3RlbXBsYXRlCmluZGV4IGY3 MTNlZmY0OWIwNy4uZWQ2MTk0YzE3ZDExIDEwMDY0NAotLS0gYS9zcmNwa2dzL3hpbmUtbGliL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MveGluZS1saWIvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICd4aW5lLWxpYicKIHBrZ25hbWU9eGluZS1saWIKLXZlcnNpb249 MS4yLjEyCit2ZXJzaW9uPTEuMi4xMwogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZp Z3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS12Y2QgLS1kaXNhYmxlLWdub21ldmZzIC0t d2l0aG91dC1lc291bmQgLS1kaXNhYmxlLWR4cjMKQEAgLTgsNyArOCw3IEBAIGNvbmZpZ3VyZV9h cmdzPSItLWRpc2FibGUtdmNkIC0tZGlzYWJsZS1nbm9tZXZmcyAtLXdpdGhvdXQtZXNvdW5kIC0t ZGlzYWJsZS1keHIzCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGdldHRleHQtZGV2ZWwgbGli dG9vbCBwa2ctY29uZmlnIHBlcmwiCiBtYWtlZGVwZW5kcz0iCiAgemxpYi1kZXZlbCBhbHNhLWxp Yi1kZXZlbCBsaWJ4Y2ItZGV2ZWwgbGliU00tZGV2ZWwgbGliWGV4dC1kZXZlbCBsaWJYdi1kZXZl bAotIGxpYlh2TUMtZGV2ZWwgbGliYTUyLWRldmVsIGxpYm1hZC1kZXZlbCBmZm1wZWctZGV2ZWwg cHVsc2VhdWRpby1kZXZlbAorIGxpYlh2TUMtZGV2ZWwgbGliYTUyLWRldmVsIGxpYm1hZC1kZXZl bCBmZm1wZWc0LWRldmVsIHB1bHNlYXVkaW8tZGV2ZWwKICBqYWNrLWRldmVsIHNhbWJhLWRldmVs IGxpYmZsYWMtZGV2ZWwgbGlibW9kcGx1Zy1kZXZlbCBsaWJtcGNkZWMtZGV2ZWwKICBzcGVleC1k ZXZlbCBsaWJ0aGVvcmEtZGV2ZWwgbGlidm9yYmlzLWRldmVsIGxpYmRjYS1kZXZlbCBmYWFkMi1k ZXZlbAogIGxpYmNkaW8tZGV2ZWwgbGliYmx1cmF5LWRldmVsIGFhbGliLWRldmVsIGxpYmNhY2Et ZGV2ZWwgbGliWGluZXJhbWEtZGV2ZWwKQEAgLTE5LDcgKzE5LDcgQEAgbGljZW5zZT0iR1BMLTIu MC1vci1sYXRlciwgTEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cDovL3d3dy54aW5l LXByb2plY3Qub3JnIgogY2hhbmdlbG9nPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0 cy94aW5lL2ZpbGVzL3hpbmUtbGliLyR7dmVyc2lvbn0vUkVBRE1FLnR4dC92aWV3IgogZGlzdGZp bGVzPSIke1NPVVJDRUZPUkdFX1NJVEV9L3hpbmUvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWQ2MDYyNzA0NjhlMTU0MGMyYTg5YzBkN2Y1ZmRmMTFlMTdlY2MwYzI2OThj YzBiY2IxMDY1ZmYyNmFiZWUwOTgKK2NoZWNrc3VtPTVmMTBkNmQ3MThhNGE1MWMxN2VkMWIzMmIw MzFkNGY5YjgwYjA2MWU4Mjc2NTM1YjJiZTMxZTVhYzRiNzVlNmYKIAogY2FzZSAiJFhCUFNfVEFS R0VUX01BQ0hJTkUiIGluCiAJaTY4Ni1tdXNsKQoKRnJvbSA5M2RkOTA4MjlkZWJkZDFiMDMyYThm Y2Y4YzJkNTliYzYxMWQ1ZGZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDE4OjA4OjA1IC0wNDAw ClN1YmplY3Q6IFtQQVRDSCA0LzRdIGZmbXBlZzUgYnVtcHMKCi0tLQogc3JjcGtncy9RTVBsYXky L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2Fsc2EtcGx1 Z2lucy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvYXJjYW4vdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9hdHRyYWN0L3Rl bXBsYXRlICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2F1YmlvL3BhdGNo ZXMvZmZtcGVnNS5wYXRjaCAgICAgICAgICAgfCAgMzcgKysKIHNyY3BrZ3MvYXViaW8vdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogLi4uL2F1ZGFjaW91cy1wbHVnaW5z L3BhdGNoZXMvZmZtcGVnNS5wYXRjaCAgIHwgIDQzICsrCiBzcmNwa2dzL2F1ZGFjaW91cy1wbHVn aW5zL3RlbXBsYXRlICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvYXVkYWNpdHkvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9hdmlkZW11eC90ZW1wbGF0 ZSAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2JhcmVzaXAvdGVtcGxhdGUg ICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvYmxlbmRlci90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9jYW50YXRhL3RlbXBsYXRlICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2NjZXh0cmFjdG9yL3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvY2hyb21hcHJpbnQvcGF0Y2hlcy9m Zm1wZWc1LnBhdGNoICAgICB8IDU2OSArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvY2hyb21h cHJpbnQvdGVtcGxhdGUgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9jaHJvbWl1 bS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2NtdXMvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvY3lhbnJpcC90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9kZWFkYmVlZi90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2RvbHBoaW4tZW11 L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZHJvaWRjYW0tb2Jz LXBsdWdpbi90ZW1wbGF0ZSAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9kcm9pZGNhbS90ZW1w bGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2VsZWN0cm9uMTkvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZmZtcGVnL3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgICAgICB8IDE2NiArKystLQogc3JjcGtncy9mZm1wZWc0L3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgIHwgIDQyICstCiBzcmNwa2dzL2ZmbXBlZ3RodW1ibmFp bGVyL3RlbXBsYXRlICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZmZtcGVndGh1bWJzL3Rl bXBsYXRlICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9mZm1zMi9wYXRjaGVzL2Zm bXBlZzUucGF0Y2ggICAgICAgICAgIHwgNDE5ICsrKysrKysrKysrKysKIHNyY3BrZ3MvZmZtczIv dGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9mcmVlcmRw L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2dlcmJlcmEv dGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZ29sZGVuZGlj dC9wYXRjaGVzL2ZmbXBlZzUtMS5wYXRjaCAgICB8IDIzMiArKysrKysrCiBzcmNwa2dzL2dvbGRl bmRpY3QvcGF0Y2hlcy9mZm1wZWc1LTIucGF0Y2ggICAgfCAgMzMgKwogc3JjcGtncy9nb2xkZW5k aWN0L3BhdGNoZXMvZmZtcGVnNS0zLnBhdGNoICAgIHwgIDI1ICsKIHNyY3BrZ3MvZ29sZGVuZGlj dC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9nc3QtbGliYXYv dGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2dzdC1wbHVnaW5z LWJhZDEvdGVtcGxhdGUgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvZ3N0LXJ0c3Atc2Vy dmVyL3RlbXBsYXRlICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9ndGs0L3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2d1dmN2aWV3L3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvaGFuZGJyYWtlL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9oZWRnZXdhcnMvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2lkamMvdGVtcGxhdGUgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3Mva2ZpbGVtZXRhZGF0YTUvdGVt cGxhdGUgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9raWQzL3RlbXBsYXRlICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2tvZGkvdGVtcGxhdGUgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3Mva3BpcGV3aXJlL3RlbXBsYXRlICAg ICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9saWJhdnJlc2FtcGxlICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2xpYmV4dHJhY3Rvci90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvbGlib3BlbmFsL3RlbXBsYXRlICAgICAg ICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9saWJvcGVuc2hvdC90ZW1wbGF0ZSAgICAg ICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2xvdWRnYWluL3RlbXBsYXRlICAgICAgICAg ICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvbWVkaWFzdHJlYW1lci90ZW1wbGF0ZSAgICAg ICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9tZ2JhL3BhdGNoZXMvZmZtcGVnNS5wYXRjaCAg ICAgICAgICAgIHwgMTE3ICsrKysKIHNyY3BrZ3MvbWdiYS90ZW1wbGF0ZSAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9taW5pZGxuYS90ZW1wbGF0ZSAgICAgICAgICAg ICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL21peHh4L3RlbXBsYXRlICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvbWx0L3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArLQogc3JjcGtncy9tbHQ3L3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyICstCiBzcmNwa2dzL21vYy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvbW90aW9uL3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMiArLQogc3JjcGtncy9tcGQvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAyICstCiBzcmNwa2dzL21wdi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKy0KIHNyY3BrZ3MvbXVzaWtjdWJlL3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICB8ICAgMiArLQogc3JjcGtncy9ub3RjdXJzZXMvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAg IHwgICAyICstCiBzcmNwa2dzL29icy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDIgKy0KIHNyY3BrZ3Mvb2xpdmUvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiArLQogc3JjcGtncy9vbXhwbGF5ZXIvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwg ICAyICstCiBzcmNwa2dzL29wZW5pbWFnZWlvL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgfCAg IDIgKy0KIHNyY3BrZ3Mvb3Blbm13L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICB8ICAg MiArLQogc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgICAy ICstCiBzcmNwa2dzL29wZW50b29uei90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDIg Ky0KIHNyY3BrZ3MvcGlhbm9iYXIvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr LQogc3JjcGtncy9wcHNzcHAvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICst CiBzcmNwa2dzL3BxaXYvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0K IHNyY3BrZ3MvcW1tcC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQog c3JjcGtncy9xdDUtd2ViZW5naW5lL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwgICAyICstCiBz cmNwa2dzL3F0NS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNy Y3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUgICAgICAgICAgICAgICB8ICAgMiArLQogc3Jj cGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNw a2dzL3F0YXYvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3Br Z3MvcXRveC9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggICAgICAgICAgICB8ICA3OSArKysKIHNyY3Br Z3MvcXRveC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtn cy9yZXRyb2FyY2gvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dz L3NjcmNweS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3Mv c3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZSAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9z c3IvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL3N1 bW8vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3Mvc3lu ZmlnL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy90ZWxl Z3JhbS1kZXNrdG9wL3RlbXBsYXRlICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL3RnX293 dC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvdGltZy90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy90cmFja2Vy LW1pbmVycy90ZW1wbGF0ZSAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL3R2aGVhZGVu ZC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvdW5wYXBlci90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy92YmEtbS90ZW1w bGF0ZSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL3ZpY2UvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3Mvd2F5cGlwZS90ZW1w bGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy93Zi1yZWNvcmRlci90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL3hwcmEvdGVtcGxhdGUg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDEwMSBmaWxlcyBjaGFuZ2VkLCAxNzE3 IGluc2VydGlvbnMoKyksIDIyNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2F1YmlvL3BhdGNoZXMvZmZtcGVnNS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvYXVkYWNpb3VzLXBsdWdpbnMvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jaHJvbWFwcmludC9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2ZmbXMyL3BhdGNoZXMvZmZtcGVnNS5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVzL2ZmbXBlZzUtMS5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVzL2ZmbXBlZzUtMi5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVzL2ZmbXBlZzUt My5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbWdiYS9wYXRjaGVzL2ZmbXBlZzUu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0b3gvcGF0Y2hlcy9mZm1wZWc1LnBh dGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9RTVBsYXkyL3RlbXBsYXRlIGIvc3JjcGtncy9RTVBs YXkyL3RlbXBsYXRlCmluZGV4IGFkNzNjYmIwMWJhZS4uNTUyODRjMDUxMTYxIDEwMDY0NAotLS0g YS9zcmNwa2dzL1FNUGxheTIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9RTVBsYXkyL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnUU1QbGF5MicKIHBrZ25hbWU9 UU1QbGF5MgogdmVyc2lvbj0yMy4wMi4wNQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBxdDUtcW1ha2UgcXQ1LWhv c3QtdG9vbHMiCiBtYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2ZWwgZmZtcGVnLWRldmVsIGxpYmFz cy1kZXZlbCBsaWJjZGlvLWRldmVsIGxpYmdtZS1kZXZlbApkaWZmIC0tZ2l0IGEvc3JjcGtncy9h bHNhLXBsdWdpbnMvdGVtcGxhdGUgYi9zcmNwa2dzL2Fsc2EtcGx1Z2lucy90ZW1wbGF0ZQppbmRl eCAwYmZhNmQ5ZmQyNjQuLmE1NzA4YTdkODJhOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9hbHNhLXBs dWdpbnMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hbHNhLXBsdWdpbnMvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhbHNhLXBsdWdpbnMnCiBwa2duYW1lPWFs c2EtcGx1Z2lucwogdmVyc2lvbj0xLjIuNy4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWls ZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLW1hZW1vLXBs dWdpbiIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv YXJjYW4vdGVtcGxhdGUgYi9zcmNwa2dzL2FyY2FuL3RlbXBsYXRlCmluZGV4IDdiZTk2NTJlY2Nm My4uY2NjN2RmMTFjZWFjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2FyY2FuL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvYXJjYW4vdGVtcGxhdGUKQEAgLTIsNyArMiw3IEBACiAjICEhIGtlZXAgc3luY2Vk IHdpdGg6IGFjZmdmcyBhY2xpcCBhbG9hZGltYWdlCiBwa2duYW1lPWFyY2FuCiB2ZXJzaW9uPTAu Ni4yLjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF93 cmtzcmM9YXJjYW4vc3JjCiBidWlsZF9zdHlsZT1jbWFrZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9h dHRyYWN0L3RlbXBsYXRlIGIvc3JjcGtncy9hdHRyYWN0L3RlbXBsYXRlCmluZGV4IDI2MTQ0ZTkz MWEzYy4uMjQwMTdkMmJhY2MyIDEwMDY0NAotLS0gYS9zcmNwa2dzL2F0dHJhY3QvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9hdHRyYWN0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnYXR0cmFjdCcKIHBrZ25hbWU9YXR0cmFjdAogdmVyc2lvbj0yLjYuMgotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCiBtYWtlX2J1aWxk X2FyZ3M9IlZFUkJPU0U9MSIKIG1ha2VfdXNlX2Vudj15ZXMKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv YXViaW8vcGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9hdWJpby9wYXRjaGVzL2ZmbXBl ZzUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hMmM4ZTEx ZWNmZjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2F1YmlvL3BhdGNoZXMvZmZtcGVnNS5w YXRjaApAQCAtMCwwICsxLDM3IEBACitjb21taXQgMzVlZWUwMDNmMDM0YTFhMjA5N2NkNDU1N2Rl Yjc3M2VhY2IxOGY3YgorQXV0aG9yOiB0aWJlcXVhZG9yaWFuIDx0aWJlcXVhZG9yaWFuQHBvc3Rl by5kZT4KK0RhdGU6ICAgU2F0IE1hciAxOSAxODo0MDoxMSAyMDIyICswMTAwCisKKyAgICBhdWJp bzogcmVidWlsZCBhZ2FpbnN0IGZmbXBlZy01LjAKKworZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVi aW8vcGF0Y2hlcy9mZm1wZWctNS4wLnBhdGNoIGIvc3JjcGtncy9hdWJpby9wYXRjaGVzL2ZmbXBl Zy01LjAucGF0Y2gKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5hYWNl NDFhNmU2CistLS0gL2Rldi9udWxsCisrKysgYi9zcmNwa2dzL2F1YmlvL3BhdGNoZXMvZmZtcGVn LTUuMC5wYXRjaAorQEAgLTAsMCArMSwyNSBAQAorK0Zyb20gOGEwNTQyMGU1ZGQ4YzdiOGIyNDQ3 ZjgyZGM5MTk3NjU4NzY1MTFiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKKytGcm9tOiBQYXVs IEJyb3NzaWVyIDxwaWVtQHBpZW0ub3JnPgorK0RhdGU6IFR1ZSwgMjUgSmFuIDIwMjIgMTg6MzA6 MjcgKzAxMDAKKytTdWJqZWN0OiBbUEFUQ0hdIFtzb3VyY2VfYXZjb2RlY10gZGVmaW5lIEZGX0FQ SV9MQVZGX0FWQ1RYIGZvciBsaWJhdmNvZGVjID4KKysgNTksIHRoeCBAYmVyb2xpbnV4IChjbG9z ZXMgZ2gtMzUzKQorKworKy0tLQorKyBzcmMvaW8vc291cmNlX2F2Y29kZWMuYyB8IDQgKysrKwor KyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisrCisrZGlmZiAtLWdpdCBhL3NyYy9p by9zb3VyY2VfYXZjb2RlYy5jIGIvc3JjL2lvL3NvdXJjZV9hdmNvZGVjLmMKKytpbmRleCBlMGFl OTNiNS4uMTQyMWJkOWEgMTAwNjQ0CisrLS0tIGEvc3JjL2lvL3NvdXJjZV9hdmNvZGVjLmMKKysr KysgYi9zcmMvaW8vc291cmNlX2F2Y29kZWMuYworK0BAIC02OCw2ICs2OCwxMCBAQAorKyAjZGVm aW5lIEFVQklPX0FWQ09ERUNfTUFYX0JVRkZFUl9TSVpFIEFWX0lOUFVUX0JVRkZFUl9NSU5fU0la RQorKyAjZW5kaWYKKysgCisrKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPj0gNTkKKysr I2RlZmluZSBGRl9BUElfTEFWRl9BVkNUWCAxCisrKyNlbmRpZgorKysKKysgc3RydWN0IF9hdWJp b19zb3VyY2VfYXZjb2RlY190IHsKKysgICB1aW50X3QgaG9wX3NpemU7CisrICAgdWludF90IHNh bXBsZXJhdGU7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1YmlvL3RlbXBsYXRlIGIvc3JjcGtncy9h dWJpby90ZW1wbGF0ZQppbmRleCBhZDFjNGIyNTY5OTEuLjdkODc1Y2MwMjU0MSAxMDA2NDQKLS0t IGEvc3JjcGtncy9hdWJpby90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2F1YmlvL3RlbXBsYXRlCkBA IC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYXViaW8nCiBwa2duYW1lPWF1Ymlv CiB2ZXJzaW9uPTAuNC45Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT13YWYz CiAjIFhYWCBsYXNoLCBwdXJlIGFuZCBzd2lnIHN1cHBvcnQuCiBob3N0bWFrZWRlcGVuZHM9InBr Zy1jb25maWcgdHh0Mm1hbiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkYWNpb3VzLXBsdWdpbnMv cGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9hdWRhY2lvdXMtcGx1Z2lucy9wYXRjaGVz L2ZmbXBlZzUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40 ZTVlMzQwOTlkNzEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2F1ZGFjaW91cy1wbHVnaW5z L3BhdGNoZXMvZmZtcGVnNS5wYXRjaApAQCAtMCwwICsxLDQzIEBACitjb21taXQgMjk4YWEzNzFj NTZjMmY1MmMyNWEzM2Q5YmRlYzQ5MThiMTFjZWJkYworQXV0aG9yOiB0aWJlcXVhZG9yaWFuIDx0 aWJlcXVhZG9yaWFuQHBvc3Rlby5kZT4KK0RhdGU6ICAgU2F0IE1hciAxOSAxODo0MDoxMiAyMDIy ICswMTAwCisKKyAgICBhdWRhY2lvdXMtcGx1Z2luczogcmVidWlsZCBhZ2FpbnN0IGZmbXBlZy01 LjAKKworZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkYWNpb3VzLXBsdWdpbnMvcGF0Y2hlcy9mZm1w ZWctNS4wLnBhdGNoIGIvc3JjcGtncy9hdWRhY2lvdXMtcGx1Z2lucy9wYXRjaGVzL2ZmbXBlZy01 LjAucGF0Y2gKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42MTdjMTEy MTViCistLS0gL2Rldi9udWxsCisrKysgYi9zcmNwa2dzL2F1ZGFjaW91cy1wbHVnaW5zL3BhdGNo ZXMvZmZtcGVnLTUuMC5wYXRjaAorQEAgLTAsMCArMSwzMSBAQAorK0Zyb20gZjYwYmViNDAwZWVi MWU0Nzc4YmJmZDczOGJjNGE0Y2NlZjNkZTUzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKKytG cm9tOiBKb2huIExpbmRncmVuIDxqb2huQGpsaW5kZ3Jlbi5uZXQ+CisrRGF0ZTogU2F0LCA1IE1h ciAyMDIyIDEyOjA1OjM0IC0wNTAwCisrU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgd2l0aCBG Rm1wZWcgNS4wCisrCisrLS0tCisrIHNyYy9mZmF1ZGlvL2ZmYXVkaW8tY29yZS5jYyB8IDQgKyst LQorKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorKwor K2RpZmYgLS1naXQgYS9zcmMvZmZhdWRpby9mZmF1ZGlvLWNvcmUuY2MgYi9zcmMvZmZhdWRpby9m ZmF1ZGlvLWNvcmUuY2MKKytpbmRleCAxNmRjNjNlM2EuLmEyYjk1ZmQ2YyAxMDA2NDQKKystLS0g YS9zcmMvZmZhdWRpby9mZmF1ZGlvLWNvcmUuY2MKKysrKysgYi9zcmMvZmZhdWRpby9mZmF1ZGlv LWNvcmUuY2MKKytAQCAtMjc0LDcgKzI3NCw3IEBAIHN0YXRpYyBBVklucHV0Rm9ybWF0ICogZ2V0 X2Zvcm1hdF9ieV9jb250ZW50IChjb25zdCBjaGFyICogbmFtZSwgVkZTRmlsZSAmIGZpbGUpCisr ICAgICAgICAgQVZQcm9iZURhdGEgZCA9IHtuYW1lLCBidWYsIGZpbGxlZH07CisrICAgICAgICAg c2NvcmUgPSB0YXJnZXQ7CisrIAorKy0gICAgICAgIGYgPSBhdl9wcm9iZV9pbnB1dF9mb3JtYXQy ICgmIGQsIHRydWUsICYgc2NvcmUpOworKysgICAgICAgIGYgPSAoQVZJbnB1dEZvcm1hdCAqKSBh dl9wcm9iZV9pbnB1dF9mb3JtYXQyICgmIGQsIHRydWUsICYgc2NvcmUpOworKyAgICAgICAgIGlm IChmKQorKyAgICAgICAgICAgICBicmVhazsKKysgCisrQEAgLTM0Nyw3ICszNDcsNyBAQCBzdGF0 aWMgYm9vbCBmaW5kX2NvZGVjIChBVkZvcm1hdENvbnRleHQgKiBjLCBDb2RlY0luZm8gKiBjaW5m bykKKysgI2VuZGlmCisrICAgICAgICAgaWYgKHN0cmVhbSAmJiBzdHJlYW0tPmNvZGVjcGFyICYm IHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPKQorKyAg ICAgICAgIHsKKystICAgICAgICAgICAgQVZDb2RlYyAqIGNvZGVjID0gYXZjb2RlY19maW5kX2Rl Y29kZXIgKHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lkKTsKKysrICAgICAgICAgICAgQVZDb2Rl YyAqIGNvZGVjID0gKEFWQ29kZWMgKikgYXZjb2RlY19maW5kX2RlY29kZXIgKHN0cmVhbS0+Y29k ZWNwYXItPmNvZGVjX2lkKTsKKysgCisrICAgICAgICAgICAgIGlmIChjb2RlYykKKysgICAgICAg ICAgICAgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdWRhY2lvdXMtcGx1Z2lucy90ZW1wbGF0ZSBi L3NyY3BrZ3MvYXVkYWNpb3VzLXBsdWdpbnMvdGVtcGxhdGUKaW5kZXggOTEwZWMwZDE4OTFmLi5k ZWYwNjc4YmM2MTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXVkYWNpb3VzLXBsdWdpbnMvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9hdWRhY2lvdXMtcGx1Z2lucy90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcg QEAKICNLZWVwIGluIHN5bmMgd2l0aCBhdWRhY2lvdXMhCiBwa2duYW1lPWF1ZGFjaW91cy1wbHVn aW5zCiB2ZXJzaW9uPTQuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251 LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9IiQodm9wdF9lbmFibGUgZ3RrKSAkKHZvcHRfZW5h YmxlIHF0KSIKIGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIGdsaWItZGV2ZWwi CmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRlIGIvc3JjcGtncy9hdWRhY2l0 eS90ZW1wbGF0ZQppbmRleCBkNTA5YzBhODk0MDcuLjM5NWY0M2RiODE4NSAxMDA2NDQKLS0tIGEv c3JjcGtncy9hdWRhY2l0eS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYXVkYWNpdHknCiBwa2duYW1l PWF1ZGFjaXR5CiB2ZXJzaW9uPTIuNC4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9z dHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLWZmbXBlZz1zeXN0ZW0g LS13aXRoLWxpYnNuZGZpbGU9c3lzdGVtIC0td2l0aC1leHBhdD1zeXN0ZW0KICAtLXdpdGgtbGli c294cj1zeXN0ZW0gLS13aXRoLWxhbWU9c3lzdGVtIC0td2l0aC1sdjI9c3lzdGVtIGFjX2N2X3Bh dGhfV1hfQ09ORklHPXd4LWNvbmZpZy1ndGszIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdmlkZW11 eC90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXZpZGVtdXgvdGVtcGxhdGUKaW5kZXggMjUzYTAyNDNlMjI1 Li41NTcyODU5ODJkMmIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXZpZGVtdXgvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9hdmlkZW11eC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2F2aWRlbXV4JwogcGtnbmFtZT1hdmlkZW11eAogdmVyc2lvbj0yLjguMAotcmV2 aXNpb249MgorcmV2aXNpb249MwogIyBDYW4ndCBiZSBjb21waWxlZCBmb3IgYWFyY2g2NCwgYXJt KiBvciBtaXBzKgogYXJjaHM9Ing4Nl82NCogaTY4NioiCiBob3N0bWFrZWRlcGVuZHM9ImNtYWtl IHBrZy1jb25maWcgcXQ1LWhvc3QtdG9vbHMgcXQ1LWRldmVsIHRhciB5YXNtIgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9iYXJlc2lwL3RlbXBsYXRlIGIvc3JjcGtncy9iYXJlc2lwL3RlbXBsYXRlCmlu ZGV4IGYxYmQxODE3MDQ4Yi4uYjIxZTIyMzM0MzE2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2JhcmVz aXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9iYXJlc2lwL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYmFyZXNpcCcKIHBrZ25hbWU9YmFyZXNpcAogdmVyc2lv bj0yLjEwLjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0 bWFrZWRlcGVuZHM9InBrZy1jb25maWcgZ2xpYi1kZXZlbCIKIG1ha2VkZXBlbmRzPSJsaWJnc20t ZGV2ZWwgbGlicG5nLWRldmVsIG9wZW5zc2wtZGV2ZWwgbGlic25kZmlsZS1kZXZlbApkaWZmIC0t Z2l0IGEvc3JjcGtncy9ibGVuZGVyL3RlbXBsYXRlIGIvc3JjcGtncy9ibGVuZGVyL3RlbXBsYXRl CmluZGV4IGEzMjU1Y2RkYmM5NS4uNGVjNzNlMDVhY2Y1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Js ZW5kZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9ibGVuZGVyL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYmxlbmRlcicKIHBrZ25hbWU9YmxlbmRlcgogdmVy c2lvbj0zLjQuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYXJjaHM9Ing4Nl82NCogcHBjNjQq IgogYnVpbGRfc3R5bGU9ImNtYWtlIgogcHljb21waWxlX2RpcnM9Ii91c3Ivc2hhcmUvYmxlbmRl ci8ke3ZlcnNpb24lLip9L3NjcmlwdHMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbnRhdGEvdGVt cGxhdGUgYi9zcmNwa2dzL2NhbnRhdGEvdGVtcGxhdGUKaW5kZXggNGI0MTdkODBkNWMyLi44YTkw YWFhNGMwN2EgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2FudGF0YS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2NhbnRhdGEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdjYW50YXRhJwogcGtnbmFtZT1jYW50YXRhCiB2ZXJzaW9uPTIuNS4wCi1yZXZpc2lvbj0xCity ZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IHF0NS1xbWFrZSBxdDUtaG9zdC10b29scyBxdDUtdG9vbHMiCiBtYWtlZGVwZW5kcz0icXQ1LWRl dmVsIHF0NS10b29scy1kZXZlbCBxdDUtc3ZnLWRldmVsIHF0NS14bWxwYXR0ZXJucy1kZXZlbApk aWZmIC0tZ2l0IGEvc3JjcGtncy9jY2V4dHJhY3Rvci90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2NleHRy YWN0b3IvdGVtcGxhdGUKaW5kZXggOWFiY2Q4Mjg1MmIyLi43ZmUyYmE0ZjI3YjYgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY2NleHRyYWN0b3IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jY2V4dHJhY3Rv ci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NjZXh0cmFj dG9yJwogcGtnbmFtZT1jY2V4dHJhY3RvcgogdmVyc2lvbj0wLjkzCi1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBidWlsZF93cmtzcmM9ImxpbnV4IgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQog Y29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLW9jciAtLWVuYWJsZS1oYXJkc3VieCIKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY2hyb21hcHJpbnQvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9j aHJvbWFwcmludC9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi5hOWZkMzA3YTIzYzgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2Nocm9tYXByaW50L3BhdGNoZXMvZmZtcGVnNS5wYXRjaApAQCAtMCwwICsxLDU2OSBAQAorRnJv bSA4Y2NhZDY5MzcxNzdiMWI5MmU0MGFiOGY0NDQ3ZWEyN2JhYzAwOWE3IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0x1az1DMz1BMT1DNT1BMT0yMExhbGluc2s9QzM9 QkQ/PSA8bGFsaW5za3lAZ21haWwuY29tPgorRGF0ZTogRnJpLCA0IE5vdiAyMDIyIDIxOjQ3OjM4 ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBGRm1wZWcgNS54ICgjMTIwKQorCisqIFVzZSBG Rm1wZWcgNS4xLjIgZm9yIENJIGJ1aWxkcworCisqIEJ1aWxkIG9uIFVidW50dSAyMC4wNAorCisq IFVwZ3JhZGUgY29kZSB0byBGRm1wZWcgNS54IEFQSXMKKworKiBPbmx5IHNldCBGRm1wZWcgaW5j bHVkZSBkaXJzIGlmIGJ1aWxkaW5nIHRvb2xzCisKKyogTm8gbG9uZ2VyIG5lZWRlZAorCisqIFVz ZSB1YnVudHUgMjAuMDQKKy0tLQorIC5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnltbCAgICAgICAg ICAgICAgICAgICB8ICAgNiArLQorIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAxNiAtLQorIHBhY2thZ2UvYnVpbGQuc2ggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNCArLQorIHNyYy9hdWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vzc29yLmgg ICAgICAgICAgICB8ICAgMiAtCisgc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3JfYXZy ZXNhbXBsZS5oIHwgIDcyIC0tLS0tLS0KKyBzcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nv cl9zd3Jlc2FtcGxlLmggfCAgMTggKy0KKyBzcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3JlYWRlci5o ICAgICAgICAgICAgICAgfCAxOTcgKysrKysrKysrLS0tLS0tLS0tCisgdGVzdHMvQ01ha2VMaXN0 cy50eHQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2ICsKKyA4IGZpbGVzIGNoYW5nZWQs IDEyMiBpbnNlcnRpb25zKCspLCAxOTkgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyYy9hdWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vzc29yX2F2cmVzYW1wbGUuaAorCitkaWZmIC0t Z2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggZjhkNmEzMi4uNGRh MjQwNSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAor QEAgLTg0LDkgKzg0LDYgQEAgZmluZF9wYWNrYWdlKEZGbXBlZykKKyBpZihGRk1QRUdfTElCUkFS SUVTKQorIAljbWFrZV9wdXNoX2NoZWNrX3N0YXRlKFJFU0VUKQorIAlzZXQoQ01BS0VfUkVRVUlS RURfTElCUkFSSUVTICR7RkZNUEVHX0xJQlJBUklFU30gJHtDTUFLRV9USFJFQURfTElCU19JTklU fSAtbG0pCistCWNoZWNrX2Z1bmN0aW9uX2V4aXN0cyhhdl9wYWNrZXRfdW5yZWYgSEFWRV9BVl9Q QUNLRVRfVU5SRUYpCistCWNoZWNrX2Z1bmN0aW9uX2V4aXN0cyhhdl9mcmFtZV9hbGxvYyBIQVZF X0FWX0ZSQU1FX0FMTE9DKQorLQljaGVja19mdW5jdGlvbl9leGlzdHMoYXZfZnJhbWVfZnJlZSBI QVZFX0FWX0ZSQU1FX0ZSRUUpCisgCWNtYWtlX3BvcF9jaGVja19zdGF0ZSgpCisgZW5kaWYoKQor CitAQCAtMTYzLDE0ICsxNjAsMTEgQEAgbWVzc2FnZShTVEFUVVMgIlVzaW5nICR7RkZUX0xJQn0g Zm9yIEZGVCBjYWxjdWxhdGlvbnMiKQorIGlmKE5PVCBBVURJT19QUk9DRVNTT1JfTElCKQorIAlp ZihGRk1QRUdfTElCU1dSRVNBTVBMRV9GT1VORCkKKyAJCXNldChBVURJT19QUk9DRVNTT1JfTElC ICJzd3Jlc2FtcGxlIikKKy0JZWxzZWlmKEZGTVBFR19MSUJBVlJFU0FNUExFX0ZPVU5EKQorLQkJ c2V0KEFVRElPX1BST0NFU1NPUl9MSUIgImF2cmVzYW1wbGUiKQorIAllbmRpZigpCisgZW5kaWYo KQorCisgaWYoQVVESU9fUFJPQ0VTU09SX0xJQiBTVFJFUVVBTCAic3dyZXNhbXBsZSIpCisgCWlm KEZGTVBFR19MSUJTV1JFU0FNUExFX0ZPVU5EKQorLQkJc2V0KFVTRV9BVlJFU0FNUExFIE9GRikK KyAJCXNldChVU0VfU1dSRVNBTVBMRSBPTikKKyAJCXNldChBVURJT19QUk9DRVNTT1JfTElCUkFS SUVTICR7RkZNUEVHX0xJQlNXUkVTQU1QTEVfTElCUkFSSUVTfSkKKyAJCXNldChBVURJT19QUk9D RVNTT1JfSU5DTFVERV9ESVJTICR7RkZNUEVHX0xJQlNXUkVTQU1QTEVfSU5DTFVERV9ESVJTfSkK K0BAIC0xNzgsMTYgKzE3Miw2IEBAIGlmKEFVRElPX1BST0NFU1NPUl9MSUIgU1RSRVFVQUwgInN3 cmVzYW1wbGUiKQorIAkJbWVzc2FnZShGQVRBTF9FUlJPUiAiU2VsZWN0ZWQgJHtBVURJT19QUk9D RVNTT1JfTElCfSBmb3IgYXVkaW8gcHJvY2Vzc2luZywgYnV0IHRoZSBsaWJyYXJ5IGlzIG5vdCBm b3VuZCIpCisgCWVuZGlmKCkKKyAJbWVzc2FnZShTVEFUVVMgIlVzaW5nICR7QVVESU9fUFJPQ0VT U09SX0xJQn0gZm9yIGF1ZGlvIGNvbnZlcnNpb24iKQorLWVsc2VpZihBVURJT19QUk9DRVNTT1Jf TElCIFNUUkVRVUFMICJhdnJlc2FtcGxlIikKKy0JaWYoRkZNUEVHX0xJQkFWUkVTQU1QTEVfRk9V TkQpCistCQlzZXQoVVNFX0FWUkVTQU1QTEUgT04pCistCQlzZXQoVVNFX1NXUkVTQU1QTEUgT0ZG KQorLQkJc2V0KEFVRElPX1BST0NFU1NPUl9MSUJSQVJJRVMgJHtGRk1QRUdfTElCQVZSRVNBTVBM RV9MSUJSQVJJRVN9KQorLQkJc2V0KEFVRElPX1BST0NFU1NPUl9JTkNMVURFX0RJUlMgJHtGRk1Q RUdfTElCQVZSRVNBTVBMRV9JTkNMVURFX0RJUlN9KQorLQllbHNlKCkKKy0JCW1lc3NhZ2UoRkFU QUxfRVJST1IgIlNlbGVjdGVkICR7QVVESU9fUFJPQ0VTU09SX0xJQn0gZm9yIGF1ZGlvIHByb2Nl c3NpbmcsIGJ1dCB0aGUgbGlicmFyeSBpcyBub3QgZm91bmQiKQorLQllbmRpZigpCistCW1lc3Nh Z2UoU1RBVFVTICJVc2luZyAke0FVRElPX1BST0NFU1NPUl9MSUJ9IGZvciBhdWRpbyBjb252ZXJz aW9uIikKKyBlbHNlKCkKKyAJbWVzc2FnZShTVEFUVVMgIkJ1aWxkaW5nIHdpdGhvdXQgYXVkaW8g Y29udmVyc2lvbiBzdXBwb3J0LCBwbGVhc2UgaW5zdGFsbCBGRm1wZWcgd2l0aCBsaWJzd3Jlc2Ft cGxlIikKKyBlbmRpZigpCitkaWZmIC0tZ2l0IGEvcGFja2FnZS9idWlsZC5zaCBiL3BhY2thZ2Uv YnVpbGQuc2gKK2luZGV4IGRhNjMxYWUuLmI0MWQzNmUgMTAwNzU1CistLS0gYS9wYWNrYWdlL2J1 aWxkLnNoCisrKysgYi9wYWNrYWdlL2J1aWxkLnNoCitAQCAtNyw4ICs3LDggQEAgc2V0IC1ldXgK KworIEJBU0VfRElSPSQoY2QgJChkaXJuYW1lICQwKS8uLiAmJiBwd2QpCisKKy1GRk1QRUdfVkVS U0lPTj00LjQuMQorLUZGTVBFR19CVUlMRF9UQUc9djQuNC4xLTEKKytGRk1QRUdfVkVSU0lPTj01 LjEuMgorK0ZGTVBFR19CVUlMRF9UQUc9diR7RkZNUEVHX1ZFUlNJT059LTEKKworIFRNUF9CVUlM RF9ESVI9JEJBU0VfRElSLyQobWt0ZW1wIC1kIGJ1aWxkLlhYWFhYWFhYKQorIHRyYXAgJ3JtIC1y ZiAkVE1QX0JVSUxEX0RJUicgRVhJVAorZGlmZiAtLWdpdCBhL3NyYy9hdWRpby9mZm1wZWdfYXVk aW9fcHJvY2Vzc29yLmggYi9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nvci5oCitpbmRl eCA3NjI4ZmM3Li4zOWY0ZjZkIDEwMDY0NAorLS0tIGEvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19w cm9jZXNzb3IuaAorKysrIGIvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3IuaAorQEAg LTEwLDggKzEwLDYgQEAKKworICNpZiBkZWZpbmVkKFVTRV9TV1JFU0FNUExFKQorICNpbmNsdWRl ICJhdWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vzc29yX3N3cmVzYW1wbGUuaCIKKy0jZWxpZiBkZWZp bmVkKFVTRV9BVlJFU0FNUExFKQorLSNpbmNsdWRlICJhdWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vz c29yX2F2cmVzYW1wbGUuaCIKKyAjZWxzZQorICNlcnJvciAibm8gYXVkaW8gcHJvY2Vzc2luZyBs aWJyYXJ5IgorICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9hdWRpby9mZm1wZWdfYXVkaW9fcHJv Y2Vzc29yX2F2cmVzYW1wbGUuaCBiL3NyYy9hdWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vzc29yX2F2 cmVzYW1wbGUuaAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBiZDg1ZjkyLi4wMDAw MDAwCistLS0gYS9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nvcl9hdnJlc2FtcGxlLmgK KysrKyAvZGV2L251bGwKK0BAIC0xLDcyICswLDAgQEAKKy0vLyBDb3B5cmlnaHQgKEMpIDIwMTYg IEx1a2FzIExhbGluc2t5CistLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLCBz ZWUgdGhlIExJQ0VOU0UgZmlsZSBmb3IgZGV0YWlscy4KKy0KKy0jaWZuZGVmIENIUk9NQVBSSU5U X0FVRElPX0ZGTVBFR19BVURJT19QUk9DRVNTT1JfQVZSRVNBTVBMRV9IXworLSNkZWZpbmUgQ0hS T01BUFJJTlRfQVVESU9fRkZNUEVHX0FVRElPX1BST0NFU1NPUl9BVlJFU0FNUExFX0hfCistCist ZXh0ZXJuICJDIiB7CistI2luY2x1ZGUgPGxpYmF2cmVzYW1wbGUvYXZyZXNhbXBsZS5oPgorLX0K Ky0KKy1uYW1lc3BhY2UgY2hyb21hcHJpbnQgeworLQorLWNsYXNzIEZGbXBlZ0F1ZGlvUHJvY2Vz c29yIHsKKy1wdWJsaWM6CistCUZGbXBlZ0F1ZGlvUHJvY2Vzc29yKCkgeworLQkJbV9yZXNhbXBs ZV9jdHggPSBhdnJlc2FtcGxlX2FsbG9jX2NvbnRleHQoKTsKKy0JfQorLQorLQl+RkZtcGVnQXVk aW9Qcm9jZXNzb3IoKSB7CistCQlhdnJlc2FtcGxlX2ZyZWUoJm1fcmVzYW1wbGVfY3R4KTsKKy0J fQorLQorLQl2b2lkIFNldENvbXBhdGlibGVNb2RlKCkgeworLQkJYXZfb3B0X3NldF9pbnQobV9y ZXNhbXBsZV9jdHgsICJmaWx0ZXJfc2l6ZSIsIDE2LCAwKTsKKy0JCWF2X29wdF9zZXRfaW50KG1f cmVzYW1wbGVfY3R4LCAicGhhc2Vfc2hpZnQiLCA4LCAwKTsKKy0JCWF2X29wdF9zZXRfaW50KG1f cmVzYW1wbGVfY3R4LCAibGluZWFyX2ludGVycCIsIDEsIDApOworLQkJYXZfb3B0X3NldF9kb3Vi bGUobV9yZXNhbXBsZV9jdHgsICJjdXRvZmYiLCAwLjgsIDApOworLQl9CistCistCXZvaWQgU2V0 SW5wdXRDaGFubmVsTGF5b3V0KGludDY0X3QgY2hhbm5lbF9sYXlvdXQpIHsKKy0JCWF2X29wdF9z ZXRfaW50KG1fcmVzYW1wbGVfY3R4LCAiaW5fY2hhbm5lbF9sYXlvdXQiLCBjaGFubmVsX2xheW91 dCwgMCk7CistCX0KKy0KKy0Jdm9pZCBTZXRJbnB1dFNhbXBsZUZvcm1hdChBVlNhbXBsZUZvcm1h dCBzYW1wbGVfZm9ybWF0KSB7CistCQlhdl9vcHRfc2V0X2ludChtX3Jlc2FtcGxlX2N0eCwgImlu X3NhbXBsZV9mbXQiLCBzYW1wbGVfZm9ybWF0LCAwKTsKKy0JfQorLQorLQl2b2lkIFNldElucHV0 U2FtcGxlUmF0ZShpbnQgc2FtcGxlX3JhdGUpIHsKKy0JCWF2X29wdF9zZXRfaW50KG1fcmVzYW1w bGVfY3R4LCAiaW5fc2FtcGxlX3JhdGUiLCBzYW1wbGVfcmF0ZSwgMCk7CistCX0KKy0KKy0Jdm9p ZCBTZXRPdXRwdXRDaGFubmVsTGF5b3V0KGludDY0X3QgY2hhbm5lbF9sYXlvdXQpIHsKKy0JCWF2 X29wdF9zZXRfaW50KG1fcmVzYW1wbGVfY3R4LCAib3V0X2NoYW5uZWxfbGF5b3V0IiwgY2hhbm5l bF9sYXlvdXQsIDApOworLQl9CistCistCXZvaWQgU2V0T3V0cHV0U2FtcGxlRm9ybWF0KEFWU2Ft cGxlRm9ybWF0IHNhbXBsZV9mb3JtYXQpIHsKKy0JCWF2X29wdF9zZXRfaW50KG1fcmVzYW1wbGVf Y3R4LCAib3V0X3NhbXBsZV9mbXQiLCBzYW1wbGVfZm9ybWF0LCAwKTsKKy0JfQorLQorLQl2b2lk IFNldE91dHB1dFNhbXBsZVJhdGUoaW50IHNhbXBsZV9yYXRlKSB7CistCQlhdl9vcHRfc2V0X2lu dChtX3Jlc2FtcGxlX2N0eCwgIm91dF9zYW1wbGVfZm10Iiwgc2FtcGxlX3JhdGUsIDApOworLQl9 CistCistCWludCBJbml0KCkgeworLQkJcmV0dXJuIGF2cmVzYW1wbGVfb3BlbihtX3Jlc2FtcGxl X2N0eCk7CistCX0KKy0KKy0JaW50IENvbnZlcnQodWludDhfdCAqKm91dCwgaW50IG91dF9jb3Vu dCwgY29uc3QgdWludDhfdCAqKmluLCBpbnQgaW5fY291bnQpIHsKKy0JCXJldHVybiBhdnJlc2Ft cGxlX2NvbnZlcnQobV9yZXNhbXBsZV9jdHgsIG91dCwgMCwgb3V0X2NvdW50LCAodWludDhfdCAq KikgaW4sIDAsIGluX2NvdW50KTsKKy0JfQorLQorLQlpbnQgRmx1c2godWludDhfdCAqKm91dCwg aW50IG91dF9jb3VudCkgeworLQkJcmV0dXJuIGF2cmVzYW1wbGVfcmVhZChtX3Jlc2FtcGxlX2N0 eCwgb3V0LCBvdXRfY291bnQpOworLQl9CistCistcHJpdmF0ZToKKy0JQVZBdWRpb1Jlc2FtcGxl Q29udGV4dCAqbV9yZXNhbXBsZV9jdHggPSBudWxscHRyOworLX07CistCistfTsgLy8gbmFtZXNw YWNlIGNocm9tYXByaW50CistCistI2VuZGlmCitkaWZmIC0tZ2l0IGEvc3JjL2F1ZGlvL2ZmbXBl Z19hdWRpb19wcm9jZXNzb3Jfc3dyZXNhbXBsZS5oIGIvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19w cm9jZXNzb3Jfc3dyZXNhbXBsZS5oCitpbmRleCBiODYyNjZiLi5iMWQ0YmVhIDEwMDY0NAorLS0t IGEvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3Jfc3dyZXNhbXBsZS5oCisrKysgYi9z cmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nvcl9zd3Jlc2FtcGxlLmgKK0BAIC0yOCwzMCAr MjgsMjggQEAgcHVibGljOgorIAkJYXZfb3B0X3NldF9kb3VibGUobV9zd3JfY3R4LCAiY3V0b2Zm IiwgMC44LCAwKTsKKyAJfQorCistCXZvaWQgU2V0SW5wdXRDaGFubmVsTGF5b3V0KGludDY0X3Qg Y2hhbm5lbF9sYXlvdXQpIHsKKy0JCWF2X29wdF9zZXRfaW50KG1fc3dyX2N0eCwgImljbCIsIGNo YW5uZWxfbGF5b3V0LCAwKTsKKy0JCWF2X29wdF9zZXRfaW50KG1fc3dyX2N0eCwgImljaCIsIGF2 X2dldF9jaGFubmVsX2xheW91dF9uYl9jaGFubmVscyhjaGFubmVsX2xheW91dCksIDApOworKwl2 b2lkIFNldElucHV0Q2hhbm5lbExheW91dChBVkNoYW5uZWxMYXlvdXQgKmNoYW5uZWxfbGF5b3V0 KSB7CisrCQlhdl9vcHRfc2V0X2ludChtX3N3cl9jdHgsICJpbl9jaGFubmVsX2xheW91dCIsIGNo YW5uZWxfbGF5b3V0LT51Lm1hc2ssIDApOworIAl9CisKKyAJdm9pZCBTZXRJbnB1dFNhbXBsZUZv cm1hdChBVlNhbXBsZUZvcm1hdCBzYW1wbGVfZm9ybWF0KSB7CistCQlhdl9vcHRfc2V0X2ludCht X3N3cl9jdHgsICJpc2YiLCBzYW1wbGVfZm9ybWF0LCAwKTsKKysJCWF2X29wdF9zZXRfc2FtcGxl X2ZtdChtX3N3cl9jdHgsICJpbl9zYW1wbGVfZm10Iiwgc2FtcGxlX2Zvcm1hdCwgMCk7CisgCX0K KworIAl2b2lkIFNldElucHV0U2FtcGxlUmF0ZShpbnQgc2FtcGxlX3JhdGUpIHsKKy0JCWF2X29w dF9zZXRfaW50KG1fc3dyX2N0eCwgImlzciIsIHNhbXBsZV9yYXRlLCAwKTsKKysJCWF2X29wdF9z ZXRfaW50KG1fc3dyX2N0eCwgImluX3NhbXBsZV9yYXRlIiwgc2FtcGxlX3JhdGUsIDApOworIAl9 CisKKy0Jdm9pZCBTZXRPdXRwdXRDaGFubmVsTGF5b3V0KGludDY0X3QgY2hhbm5lbF9sYXlvdXQp IHsKKy0JCWF2X29wdF9zZXRfaW50KG1fc3dyX2N0eCwgIm9jbCIsIGNoYW5uZWxfbGF5b3V0LCAw KTsKKy0JCWF2X29wdF9zZXRfaW50KG1fc3dyX2N0eCwgIm9jaCIsIGF2X2dldF9jaGFubmVsX2xh eW91dF9uYl9jaGFubmVscyhjaGFubmVsX2xheW91dCksIDApOworKwl2b2lkIFNldE91dHB1dENo YW5uZWxMYXlvdXQoQVZDaGFubmVsTGF5b3V0ICpjaGFubmVsX2xheW91dCkgeworKwkJYXZfb3B0 X3NldF9pbnQobV9zd3JfY3R4LCAib3V0X2NoYW5uZWxfbGF5b3V0IiwgY2hhbm5lbF9sYXlvdXQt PnUubWFzaywgMCk7CisgCX0KKworIAl2b2lkIFNldE91dHB1dFNhbXBsZUZvcm1hdChBVlNhbXBs ZUZvcm1hdCBzYW1wbGVfZm9ybWF0KSB7CistCQlhdl9vcHRfc2V0X2ludChtX3N3cl9jdHgsICJv c2YiLCBzYW1wbGVfZm9ybWF0LCAwKTsKKysJCWF2X29wdF9zZXRfc2FtcGxlX2ZtdChtX3N3cl9j dHgsICJvdXRfc2FtcGxlX2ZtdCIsIHNhbXBsZV9mb3JtYXQsIDApOworIAl9CisKKyAJdm9pZCBT ZXRPdXRwdXRTYW1wbGVSYXRlKGludCBzYW1wbGVfcmF0ZSkgeworLQkJYXZfb3B0X3NldF9pbnQo bV9zd3JfY3R4LCAib3NyIiwgc2FtcGxlX3JhdGUsIDApOworKwkJYXZfb3B0X3NldF9pbnQobV9z d3JfY3R4LCAib3V0X3NhbXBsZV9yYXRlIiwgc2FtcGxlX3JhdGUsIDApOworIAl9CisKKyAJaW50 IEluaXQoKSB7CitkaWZmIC0tZ2l0IGEvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19yZWFkZXIuaCBi L3NyYy9hdWRpby9mZm1wZWdfYXVkaW9fcmVhZGVyLmgKK2luZGV4IDU1NTAxNjQuLjFjNmIzNDYg MTAwNjQ0CistLS0gYS9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3JlYWRlci5oCisrKysgYi9zcmMv YXVkaW8vZmZtcGVnX2F1ZGlvX3JlYWRlci5oCitAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6Cisg CWJvb2wgUmVhZChjb25zdCBpbnQxNl90ICoqZGF0YSwgc2l6ZV90ICpzaXplKTsKKworIAlib29s IElzT3BlbigpIGNvbnN0IHsgcmV0dXJuIG1fb3BlbmVkOyB9CistCWJvb2wgSXNGaW5pc2hlZCgp IGNvbnN0IHsgcmV0dXJuIG1fZmluaXNoZWQgJiYgIW1fZ290X2ZyYW1lOyB9CisrCWJvb2wgSXNG aW5pc2hlZCgpIGNvbnN0IHsgcmV0dXJuICFtX2hhc19tb3JlX3BhY2tldHMgJiYgIW1faGFzX21v cmVfZnJhbWVzOyB9CisKKyAJc3RkOjpzdHJpbmcgR2V0RXJyb3IoKSBjb25zdCB7IHJldHVybiBt X2Vycm9yOyB9CisgCWludCBHZXRFcnJvckNvZGUoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yX2Nv ZGU7IH0KK0BAIC03NCwyMCArNzQsMTkgQEAgcHJpdmF0ZToKKyAJdWludDhfdCAqbV9jb252ZXJ0 X2J1ZmZlclsxXSA9IHsgbnVsbHB0ciB9OworIAlpbnQgbV9jb252ZXJ0X2J1ZmZlcl9uYl9zYW1w bGVzID0gMDsKKworLQlBVklucHV0Rm9ybWF0ICptX2lucHV0X2ZtdCA9IG51bGxwdHI7CisrCWNv bnN0IEFWSW5wdXRGb3JtYXQgKm1faW5wdXRfZm10ID0gbnVsbHB0cjsKKyAJQVZEaWN0aW9uYXJ5 ICptX2lucHV0X29wdHMgPSBudWxscHRyOworCisgCUFWRm9ybWF0Q29udGV4dCAqbV9mb3JtYXRf Y3R4ID0gbnVsbHB0cjsKKyAJQVZDb2RlY0NvbnRleHQgKm1fY29kZWNfY3R4ID0gbnVsbHB0cjsK Ky0JQVZGcmFtZSAqbV9mcmFtZSA9IG51bGxwdHI7CisgCWludCBtX3N0cmVhbV9pbmRleCA9IC0x OworIAlzdGQ6OnN0cmluZyBtX2Vycm9yOworIAlpbnQgbV9lcnJvcl9jb2RlID0gMDsKKy0JYm9v bCBtX2ZpbmlzaGVkID0gZmFsc2U7CisgCWJvb2wgbV9vcGVuZWQgPSBmYWxzZTsKKy0JaW50IG1f Z290X2ZyYW1lID0gMDsKKy0JQVZQYWNrZXQgbV9wYWNrZXQ7CistCUFWUGFja2V0IG1fcGFja2V0 MDsKKysJYm9vbCBtX2hhc19tb3JlX3BhY2tldHMgPSB0cnVlOworKwlib29sIG1faGFzX21vcmVf ZnJhbWVzID0gdHJ1ZTsKKysJQVZQYWNrZXQgKm1fcGFja2V0ID0gbnVsbHB0cjsKKysJQVZGcmFt ZSAqbV9mcmFtZSA9IG51bGxwdHI7CisKKyAJaW50IG1fb3V0cHV0X3NhbXBsZV9yYXRlID0gMDsK KyAJaW50IG1fb3V0cHV0X2NoYW5uZWxzID0gMDsKK0BAIC05OCwxOSArOTcsMTIgQEAgcHJpdmF0 ZToKKworIGlubGluZSBGRm1wZWdBdWRpb1JlYWRlcjo6RkZtcGVnQXVkaW9SZWFkZXIoKSB7Cisg CWF2X2xvZ19zZXRfbGV2ZWwoQVZfTE9HX1FVSUVUKTsKKy0KKy0JYXZfaW5pdF9wYWNrZXQoJm1f cGFja2V0KTsKKy0JbV9wYWNrZXQuZGF0YSA9IG51bGxwdHI7CistCW1fcGFja2V0LnNpemUgPSAw OworLQorLQltX3BhY2tldDAgPSBtX3BhY2tldDsKKyB9CisKKyBpbmxpbmUgRkZtcGVnQXVkaW9S ZWFkZXI6On5GRm1wZWdBdWRpb1JlYWRlcigpIHsKKyAJQ2xvc2UoKTsKKyAJYXZfZGljdF9mcmVl KCZtX2lucHV0X29wdHMpOworIAlhdl9mcmVlcCgmbV9jb252ZXJ0X2J1ZmZlclswXSk7CistCWF2 X3BhY2tldF91bnJlZigmbV9wYWNrZXQwKTsKKyB9CisKKyBpbmxpbmUgYm9vbCBGRm1wZWdBdWRp b1JlYWRlcjo6U2V0SW5wdXRGb3JtYXQoY29uc3QgY2hhciAqbmFtZSkgeworQEAgLTEzNSwxMSAr MTI3LDEwIEBAIGlubGluZSBib29sIEZGbXBlZ0F1ZGlvUmVhZGVyOjpPcGVuKGNvbnN0IHN0ZDo6 c3RyaW5nICZmaWxlX25hbWUpIHsKKworIAlDbG9zZSgpOworCistICAgIGF2X2luaXRfcGFja2V0 KCZtX3BhY2tldCk7CistCW1fcGFja2V0LmRhdGEgPSBudWxscHRyOworLQltX3BhY2tldC5zaXpl ID0gMDsKKy0KKy0JbV9wYWNrZXQwID0gbV9wYWNrZXQ7CisrCW1fcGFja2V0ID0gYXZfcGFja2V0 X2FsbG9jKCk7CisrCWlmICghbV9wYWNrZXQpIHsKKysJCXJldHVybiBmYWxzZTsKKysJfQorCisg CXJldCA9IGF2Zm9ybWF0X29wZW5faW5wdXQoJm1fZm9ybWF0X2N0eCwgZmlsZV9uYW1lLmNfc3Ry KCksIG1faW5wdXRfZm10LCAmbV9pbnB1dF9vcHRzKTsKKyAJaWYgKHJldCA8IDApIHsKK0BAIC0x NTMsMjYgKzE0NCwzMSBAQCBpbmxpbmUgYm9vbCBGRm1wZWdBdWRpb1JlYWRlcjo6T3Blbihjb25z dCBzdGQ6OnN0cmluZyAmZmlsZV9uYW1lKSB7CisgCQlyZXR1cm4gZmFsc2U7CisgCX0KKworLQlB VkNvZGVjICpjb2RlYzsKKysJY29uc3QgQVZDb2RlYyAqY29kZWM7CisgCXJldCA9IGF2X2ZpbmRf YmVzdF9zdHJlYW0obV9mb3JtYXRfY3R4LCBBVk1FRElBX1RZUEVfQVVESU8sIC0xLCAtMSwgJmNv ZGVjLCAwKTsKKyAJaWYgKHJldCA8IDApIHsKKyAJCVNldEVycm9yKCJDb3VsZCBub3QgZmluZCBh bnkgYXVkaW8gc3RyZWFtIGluIHRoZSBmaWxlIiwgcmV0KTsKKyAJCXJldHVybiBmYWxzZTsKKyAJ fQorIAltX3N0cmVhbV9pbmRleCA9IHJldDsKKysJYXV0byBzdHJlYW0gPSBtX2Zvcm1hdF9jdHgt PnN0cmVhbXNbbV9zdHJlYW1faW5kZXhdOworCistCW1fY29kZWNfY3R4ID0gbV9mb3JtYXRfY3R4 LT5zdHJlYW1zW21fc3RyZWFtX2luZGV4XS0+Y29kZWM7CisrCW1fY29kZWNfY3R4ID0gYXZjb2Rl Y19hbGxvY19jb250ZXh0Myhjb2RlYyk7CisgCW1fY29kZWNfY3R4LT5yZXF1ZXN0X3NhbXBsZV9m bXQgPSBBVl9TQU1QTEVfRk1UX1MxNjsKKworKwlyZXQgPSBhdmNvZGVjX3BhcmFtZXRlcnNfdG9f Y29udGV4dChtX2NvZGVjX2N0eCwgc3RyZWFtLT5jb2RlY3Bhcik7CisrCWlmIChyZXQgPCAwKSB7 CisrCQlTZXRFcnJvcigiQ291bGQgbm90IGNvcHkgdGhlIHN0cmVhbSBwYXJhbWV0ZXJzIiwgcmV0 KTsKKysJCXJldHVybiBmYWxzZTsKKysJfQorKworIAlyZXQgPSBhdmNvZGVjX29wZW4yKG1fY29k ZWNfY3R4LCBjb2RlYywgbnVsbHB0cik7CisgCWlmIChyZXQgPCAwKSB7CisgCQlTZXRFcnJvcigi Q291bGQgbm90IG9wZW4gdGhlIGNvZGVjIiwgcmV0KTsKKyAJCXJldHVybiBmYWxzZTsKKyAJfQor CistCWlmICghbV9jb2RlY19jdHgtPmNoYW5uZWxfbGF5b3V0KSB7CistCQltX2NvZGVjX2N0eC0+ Y2hhbm5lbF9sYXlvdXQgPSBhdl9nZXRfZGVmYXVsdF9jaGFubmVsX2xheW91dChtX2NvZGVjX2N0 eC0+Y2hhbm5lbHMpOworLQl9CisrCWF2X2R1bXBfZm9ybWF0KG1fZm9ybWF0X2N0eCwgMCwgImZv byIsIDApOworCisgCW1fZnJhbWUgPSBhdl9mcmFtZV9hbGxvYygpOworIAlpZiAoIW1fZnJhbWUp IHsKK0BAIC0xODMsMTkgKzE3OSwyMyBAQCBpbmxpbmUgYm9vbCBGRm1wZWdBdWRpb1JlYWRlcjo6 T3Blbihjb25zdCBzdGQ6OnN0cmluZyAmZmlsZV9uYW1lKSB7CisgCQltX291dHB1dF9zYW1wbGVf cmF0ZSA9IG1fY29kZWNfY3R4LT5zYW1wbGVfcmF0ZTsKKyAJfQorCistCWlmICghbV9vdXRwdXRf Y2hhbm5lbHMpIHsKKy0JCW1fb3V0cHV0X2NoYW5uZWxzID0gbV9jb2RlY19jdHgtPmNoYW5uZWxz OworKwlBVkNoYW5uZWxMYXlvdXQgb3V0cHV0X2NoYW5uZWxfbGF5b3V0OworKwlpZiAobV9vdXRw dXRfY2hhbm5lbHMpIHsKKysJCWF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoJm91dHB1dF9jaGFu bmVsX2xheW91dCwgbV9vdXRwdXRfY2hhbm5lbHMpOworKwl9IGVsc2UgeworKwkJbV9vdXRwdXRf Y2hhbm5lbHMgPSBtX2NvZGVjX2N0eC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOworKwkJYXZfY2hh bm5lbF9sYXlvdXRfZGVmYXVsdCgmb3V0cHV0X2NoYW5uZWxfbGF5b3V0LCBtX291dHB1dF9jaGFu bmVscyk7CisgCX0KKworLQlpZiAobV9jb2RlY19jdHgtPnNhbXBsZV9mbXQgIT0gQVZfU0FNUExF X0ZNVF9TMTYgfHwgbV9jb2RlY19jdHgtPmNoYW5uZWxzICE9IG1fb3V0cHV0X2NoYW5uZWxzIHx8 IG1fY29kZWNfY3R4LT5zYW1wbGVfcmF0ZSAhPSBtX291dHB1dF9zYW1wbGVfcmF0ZSkgeworKwlp ZiAobV9jb2RlY19jdHgtPnNhbXBsZV9mbXQgIT0gQVZfU0FNUExFX0ZNVF9TMTYgfHwgbV9jb2Rl Y19jdHgtPmNoX2xheW91dC5uYl9jaGFubmVscyAhPSBtX291dHB1dF9jaGFubmVscyB8fCBtX2Nv ZGVjX2N0eC0+c2FtcGxlX3JhdGUgIT0gbV9vdXRwdXRfc2FtcGxlX3JhdGUpIHsKKyAJCW1fY29u dmVydGVyLnJlc2V0KG5ldyBGRm1wZWdBdWRpb1Byb2Nlc3NvcigpKTsKKyAJCW1fY29udmVydGVy LT5TZXRDb21wYXRpYmxlTW9kZSgpOworIAkJbV9jb252ZXJ0ZXItPlNldElucHV0U2FtcGxlRm9y bWF0KG1fY29kZWNfY3R4LT5zYW1wbGVfZm10KTsKKyAJCW1fY29udmVydGVyLT5TZXRJbnB1dFNh bXBsZVJhdGUobV9jb2RlY19jdHgtPnNhbXBsZV9yYXRlKTsKKy0JCW1fY29udmVydGVyLT5TZXRJ bnB1dENoYW5uZWxMYXlvdXQobV9jb2RlY19jdHgtPmNoYW5uZWxfbGF5b3V0KTsKKysJCW1fY29u dmVydGVyLT5TZXRJbnB1dENoYW5uZWxMYXlvdXQoJihtX2NvZGVjX2N0eC0+Y2hfbGF5b3V0KSk7 CisgCQltX2NvbnZlcnRlci0+U2V0T3V0cHV0U2FtcGxlRm9ybWF0KEFWX1NBTVBMRV9GTVRfUzE2 KTsKKyAJCW1fY29udmVydGVyLT5TZXRPdXRwdXRTYW1wbGVSYXRlKG1fb3V0cHV0X3NhbXBsZV9y YXRlKTsKKy0JCW1fY29udmVydGVyLT5TZXRPdXRwdXRDaGFubmVsTGF5b3V0KGF2X2dldF9kZWZh dWx0X2NoYW5uZWxfbGF5b3V0KG1fb3V0cHV0X2NoYW5uZWxzKSk7CisrCQltX2NvbnZlcnRlci0+ U2V0T3V0cHV0Q2hhbm5lbExheW91dCgmb3V0cHV0X2NoYW5uZWxfbGF5b3V0KTsKKyAJCWF1dG8g cmV0ID0gbV9jb252ZXJ0ZXItPkluaXQoKTsKKyAJCWlmIChyZXQgIT0gMCkgeworIAkJCVNldEVy cm9yKCJDb3VsZCBub3QgY3JlYXRlIGFuIGF1ZGlvIGNvbnZlcnRlciBpbnN0YW5jZSIsIHJldCk7 CitAQCAtMjAzLDEwICsyMDMsMTEgQEAgaW5saW5lIGJvb2wgRkZtcGVnQXVkaW9SZWFkZXI6Ok9w ZW4oY29uc3Qgc3RkOjpzdHJpbmcgJmZpbGVfbmFtZSkgeworIAkJfQorIAl9CisKKysJYXZfY2hh bm5lbF9sYXlvdXRfdW5pbml0KCZvdXRwdXRfY2hhbm5lbF9sYXlvdXQpOworKworIAltX29wZW5l ZCA9IHRydWU7CistCW1fZmluaXNoZWQgPSBmYWxzZTsKKy0JbV9nb3RfZnJhbWUgPSAwOworLQlt X25iX3BhY2tldHMgPSAwOworKwltX2hhc19tb3JlX3BhY2tldHMgPSB0cnVlOworKwltX2hhc19t b3JlX2ZyYW1lcyA9IHRydWU7CisgCW1fZGVjb2RlX2Vycm9yID0gMDsKKworIAlyZXR1cm4gdHJ1 ZTsKK0BAIC0yMTQsNiArMjE1LDcgQEAgaW5saW5lIGJvb2wgRkZtcGVnQXVkaW9SZWFkZXI6Ok9w ZW4oY29uc3Qgc3RkOjpzdHJpbmcgJmZpbGVfbmFtZSkgeworCisgaW5saW5lIHZvaWQgRkZtcGVn QXVkaW9SZWFkZXI6OkNsb3NlKCkgeworIAlhdl9mcmFtZV9mcmVlKCZtX2ZyYW1lKTsKKysJYXZf cGFja2V0X2ZyZWUoJm1fcGFja2V0KTsKKworIAltX3N0cmVhbV9pbmRleCA9IC0xOworCitAQCAt MjUyLDkxICsyNTQsOTggQEAgaW5saW5lIGJvb2wgRkZtcGVnQXVkaW9SZWFkZXI6OlJlYWQoY29u c3QgaW50MTZfdCAqKmRhdGEsIHNpemVfdCAqc2l6ZSkgeworIAkJcmV0dXJuIGZhbHNlOworIAl9 CisKKysJKmRhdGEgPSBudWxscHRyOworKwkqc2l6ZSA9IDA7CisrCisgCWludCByZXQ7CisrCWJv b2wgbmVlZHNfcGFja2V0ID0gZmFsc2U7CisgCXdoaWxlICh0cnVlKSB7CistCQl3aGlsZSAobV9w YWNrZXQuc2l6ZSA8PSAwKSB7CistCQkJYXZfcGFja2V0X3VucmVmKCZtX3BhY2tldDApOworLQkJ CWF2X2luaXRfcGFja2V0KCZtX3BhY2tldCk7CistCQkJbV9wYWNrZXQuZGF0YSA9IG51bGxwdHI7 CistCQkJbV9wYWNrZXQuc2l6ZSA9IDA7CistCQkJcmV0ID0gYXZfcmVhZF9mcmFtZShtX2Zvcm1h dF9jdHgsICZtX3BhY2tldCk7CisrCQl3aGlsZSAobmVlZHNfcGFja2V0ICYmIG1fcGFja2V0LT5z aXplID09IDApIHsKKysJCQlyZXQgPSBhdl9yZWFkX2ZyYW1lKG1fZm9ybWF0X2N0eCwgbV9wYWNr ZXQpOworIAkJCWlmIChyZXQgPCAwKSB7CisgCQkJCWlmIChyZXQgPT0gQVZFUlJPUl9FT0YpIHsK Ky0JCQkJCW1fZmluaXNoZWQgPSB0cnVlOworKwkJCQkJbmVlZHNfcGFja2V0ID0gZmFsc2U7Cisr CQkJCQltX2hhc19tb3JlX3BhY2tldHMgPSBmYWxzZTsKKyAJCQkJCWJyZWFrOworLQkJCQl9IGVs c2UgeworKwkJCQl9CisrCQkJCVNldEVycm9yKCJFcnJvciByZWFkaW5nIGZyb20gdGhlIGF1ZGlv IHNvdXJjZSIsIHJldCk7CisrCQkJCXJldHVybiBmYWxzZTsKKysJCQl9CisrCQkJaWYgKG1fcGFj a2V0LT5zdHJlYW1faW5kZXggPT0gbV9zdHJlYW1faW5kZXgpIHsKKysJCQkJbmVlZHNfcGFja2V0 ID0gZmFsc2U7CisrCQkJfSBlbHNlIHsKKysJCQkJYXZfcGFja2V0X3VucmVmKG1fcGFja2V0KTsK KysJCQl9CisrCQl9CisrCisrCQlpZiAobV9wYWNrZXQtPnNpemUgIT0gMCkgeworKwkJCXJldCA9 IGF2Y29kZWNfc2VuZF9wYWNrZXQobV9jb2RlY19jdHgsIG1fcGFja2V0KTsKKysJCQlpZiAocmV0 IDwgMCkgeworKwkJCQlpZiAocmV0ICE9IEFWRVJST1IoRUFHQUlOKSkgeworIAkJCQkJU2V0RXJy b3IoIkVycm9yIHJlYWRpbmcgZnJvbSB0aGUgYXVkaW8gc291cmNlIiwgcmV0KTsKKyAJCQkJCXJl dHVybiBmYWxzZTsKKyAJCQkJfQorLQkJCX0KKy0JCQltX3BhY2tldDAgPSBtX3BhY2tldDsKKy0J CQlpZiAobV9wYWNrZXQuc3RyZWFtX2luZGV4ICE9IG1fc3RyZWFtX2luZGV4KSB7CistCQkJCW1f cGFja2V0LmRhdGEgPSBudWxscHRyOworLQkJCQltX3BhY2tldC5zaXplID0gMDsKKyAJCQl9IGVs c2UgeworLQkJCQltX25iX3BhY2tldHMrKzsKKysJCQkJYXZfcGFja2V0X3VucmVmKG1fcGFja2V0 KTsKKyAJCQl9CisgCQl9CisKKy0JCXJldCA9IGF2Y29kZWNfZGVjb2RlX2F1ZGlvNChtX2NvZGVj X2N0eCwgbV9mcmFtZSwgJm1fZ290X2ZyYW1lLCAmbV9wYWNrZXQpOworKwkJcmV0ID0gYXZjb2Rl Y19yZWNlaXZlX2ZyYW1lKG1fY29kZWNfY3R4LCBtX2ZyYW1lKTsKKyAJCWlmIChyZXQgPCAwKSB7 CistCQkJaWYgKG1fZGVjb2RlX2Vycm9yKSB7CistCQkJCVNldEVycm9yKCJFcnJvciBkZWNvZGlu ZyBhdWRpbyBmcmFtZSIsIG1fZGVjb2RlX2Vycm9yKTsKKy0JCQkJcmV0dXJuIGZhbHNlOworKwkJ CWlmIChyZXQgPT0gQVZFUlJPUl9FT0YpIHsKKysJCQkJbV9oYXNfbW9yZV9mcmFtZXMgPSBmYWxz ZTsKKysJCQl9IGVsc2UgaWYgKHJldCA9PSBBVkVSUk9SKEVBR0FJTikpIHsKKysJCQkJaWYgKG1f aGFzX21vcmVfcGFja2V0cykgeworKwkJCQkJbmVlZHNfcGFja2V0ID0gdHJ1ZTsKKysJCQkJCWNv bnRpbnVlOworKwkJCQl9IGVsc2UgeworKwkJCQkJbV9oYXNfbW9yZV9mcmFtZXMgPSBmYWxzZTsK KysJCQkJfQorIAkJCX0KKy0JCQltX2RlY29kZV9lcnJvciA9IHJldDsKKy0JCQltX3BhY2tldC5k YXRhID0gbnVsbHB0cjsKKy0JCQltX3BhY2tldC5zaXplID0gMDsKKy0JCQljb250aW51ZTsKKysJ CQlTZXRFcnJvcigiRXJyb3IgZGVjb2RpbmcgdGhlIGF1ZGlvIHNvdXJjZSIsIHJldCk7CisrCQkJ cmV0dXJuIGZhbHNlOworIAkJfQorCistCQlicmVhazsKKy0JfQorLQorLQltX2RlY29kZV9lcnJv ciA9IDA7CistCistCWNvbnN0IGludCBkZWNvZGVkID0gc3RkOjptaW4ocmV0LCBtX3BhY2tldC5z aXplKTsKKy0JbV9wYWNrZXQuZGF0YSArPSBkZWNvZGVkOworLQltX3BhY2tldC5zaXplIC09IGRl Y29kZWQ7CistCistCWlmIChtX2dvdF9mcmFtZSkgeworLQkJaWYgKG1fY29udmVydGVyKSB7Cist CQkJaWYgKG1fZnJhbWUtPm5iX3NhbXBsZXMgPiBtX2NvbnZlcnRfYnVmZmVyX25iX3NhbXBsZXMp IHsKKy0JCQkJaW50IGxpbnNpemU7CistCQkJCWF2X2ZyZWVwKCZtX2NvbnZlcnRfYnVmZmVyWzBd KTsKKy0JCQkJbV9jb252ZXJ0X2J1ZmZlcl9uYl9zYW1wbGVzID0gc3RkOjptYXgoMTAyNCAqIDgs IG1fZnJhbWUtPm5iX3NhbXBsZXMpOworLQkJCQlyZXQgPSBhdl9zYW1wbGVzX2FsbG9jKG1fY29u dmVydF9idWZmZXIsICZsaW5zaXplLCBtX2NvZGVjX2N0eC0+Y2hhbm5lbHMsIG1fY29udmVydF9i dWZmZXJfbmJfc2FtcGxlcywgQVZfU0FNUExFX0ZNVF9TMTYsIDEpOworLQkJCQlpZiAocmV0IDwg MCkgeworLQkJCQkJU2V0RXJyb3IoIkNvdWxkbid0IGFsbG9jYXRlIGF1ZGlvIGNvbnZlcnRlciBi dWZmZXIiLCByZXQpOworKwkJaWYgKG1fZnJhbWUtPm5iX3NhbXBsZXMgPiAwKSB7CisrCQkJaWYg KG1fY29udmVydGVyKSB7CisrCQkJCWlmIChtX2ZyYW1lLT5uYl9zYW1wbGVzID4gbV9jb252ZXJ0 X2J1ZmZlcl9uYl9zYW1wbGVzKSB7CisrCQkJCQlpbnQgbGluc2l6ZTsKKysJCQkJCWF2X2ZyZWVw KCZtX2NvbnZlcnRfYnVmZmVyWzBdKTsKKysJCQkJCW1fY29udmVydF9idWZmZXJfbmJfc2FtcGxl cyA9IHN0ZDo6bWF4KDEwMjQgKiA4LCBtX2ZyYW1lLT5uYl9zYW1wbGVzKTsKKysJCQkJCXJldCA9 IGF2X3NhbXBsZXNfYWxsb2MobV9jb252ZXJ0X2J1ZmZlciwgJmxpbnNpemUsIG1fY29kZWNfY3R4 LT5jaF9sYXlvdXQubmJfY2hhbm5lbHMsIG1fY29udmVydF9idWZmZXJfbmJfc2FtcGxlcywgQVZf U0FNUExFX0ZNVF9TMTYsIDEpOworKwkJCQkJaWYgKHJldCA8IDApIHsKKysJCQkJCQlTZXRFcnJv cigiQ291bGRuJ3QgYWxsb2NhdGUgYXVkaW8gY29udmVydGVyIGJ1ZmZlciIsIHJldCk7CisrCQkJ CQkJcmV0dXJuIGZhbHNlOworKwkJCQkJfQorKwkJCQl9CisrCQkJCWF1dG8gbmJfc2FtcGxlcyA9 IG1fY29udmVydGVyLT5Db252ZXJ0KG1fY29udmVydF9idWZmZXIsIG1fY29udmVydF9idWZmZXJf bmJfc2FtcGxlcywgKGNvbnN0IHVpbnQ4X3QgKiopIG1fZnJhbWUtPmRhdGEsIG1fZnJhbWUtPm5i X3NhbXBsZXMpOworKwkJCQlpZiAobmJfc2FtcGxlcyA8IDApIHsKKysJCQkJCVNldEVycm9yKCJD b3VsZG4ndCBjb252ZXJ0IGF1ZGlvIiwgcmV0KTsKKyAJCQkJCXJldHVybiBmYWxzZTsKKyAJCQkJ fQorLQkJCX0KKy0JCQlhdXRvIG5iX3NhbXBsZXMgPSBtX2NvbnZlcnRlci0+Q29udmVydChtX2Nv bnZlcnRfYnVmZmVyLCBtX2NvbnZlcnRfYnVmZmVyX25iX3NhbXBsZXMsIChjb25zdCB1aW50OF90 ICoqKSBtX2ZyYW1lLT5kYXRhLCBtX2ZyYW1lLT5uYl9zYW1wbGVzKTsKKy0JCQlpZiAobmJfc2Ft cGxlcyA8IDApIHsKKy0JCQkJU2V0RXJyb3IoIkNvdWxkbid0IGNvbnZlcnQgYXVkaW8iLCByZXQp OworLQkJCQlyZXR1cm4gZmFsc2U7CistCQkJfQorLQkJCSpkYXRhID0gKGNvbnN0IGludDE2X3Qg KikgbV9jb252ZXJ0X2J1ZmZlclswXTsKKy0JCQkqc2l6ZSA9IG5iX3NhbXBsZXM7CistCQl9IGVs c2UgeworLQkJCSpkYXRhID0gKGNvbnN0IGludDE2X3QgKikgbV9mcmFtZS0+ZGF0YVswXTsKKy0J CQkqc2l6ZSA9IG1fZnJhbWUtPm5iX3NhbXBsZXM7CistCQl9CistCX0gZWxzZSB7CistCQlpZiAo bV9maW5pc2hlZCAmJiBtX2NvbnZlcnRlcikgeworLQkJCWF1dG8gbmJfc2FtcGxlcyA9IG1fY29u dmVydGVyLT5GbHVzaChtX2NvbnZlcnRfYnVmZmVyLCBtX2NvbnZlcnRfYnVmZmVyX25iX3NhbXBs ZXMpOworLQkJCWlmIChuYl9zYW1wbGVzIDwgMCkgeworLQkJCQlTZXRFcnJvcigiQ291bGRuJ3Qg Y29udmVydCBhdWRpbyIsIHJldCk7CistCQkJCXJldHVybiBmYWxzZTsKKy0JCQl9IGVsc2UgaWYg KG5iX3NhbXBsZXMgPiAwKSB7CistCQkJCW1fZ290X2ZyYW1lID0gMTsKKyAJCQkJKmRhdGEgPSAo Y29uc3QgaW50MTZfdCAqKSBtX2NvbnZlcnRfYnVmZmVyWzBdOworIAkJCQkqc2l6ZSA9IG5iX3Nh bXBsZXM7CisrCQkJfSBlbHNlIHsKKysJCQkJKmRhdGEgPSAoY29uc3QgaW50MTZfdCAqKSBtX2Zy YW1lLT5kYXRhWzBdOworKwkJCQkqc2l6ZSA9IG1fZnJhbWUtPm5iX3NhbXBsZXM7CisrCQkJfQor KwkJfSBlbHNlIHsKKysJCQlpZiAobV9jb252ZXJ0ZXIpIHsKKysJCQkJaWYgKElzRmluaXNoZWQo KSkgeworKwkJCQkJYXV0byBuYl9zYW1wbGVzID0gbV9jb252ZXJ0ZXItPkZsdXNoKG1fY29udmVy dF9idWZmZXIsIG1fY29udmVydF9idWZmZXJfbmJfc2FtcGxlcyk7CisrCQkJCQlpZiAobmJfc2Ft cGxlcyA8IDApIHsKKysJCQkJCQlTZXRFcnJvcigiQ291bGRuJ3QgY29udmVydCBhdWRpbyIsIHJl dCk7CisrCQkJCQkJcmV0dXJuIGZhbHNlOworKwkJCQkJfSBlbHNlIGlmIChuYl9zYW1wbGVzID4g MCkgeworKwkJCQkJCSpkYXRhID0gKGNvbnN0IGludDE2X3QgKikgbV9jb252ZXJ0X2J1ZmZlclsw XTsKKysJCQkJCQkqc2l6ZSA9IG5iX3NhbXBsZXM7CisrCQkJCQl9CisrCQkJCX0KKyAJCQl9Cisg CQl9CistCX0KKworLQlyZXR1cm4gdHJ1ZTsKKysJCXJldHVybiB0cnVlOworKwl9CisgfQorCisg aW5saW5lIHZvaWQgRkZtcGVnQXVkaW9SZWFkZXI6OlNldEVycm9yKGNvbnN0IGNoYXIgKm1lc3Nh Z2UsIGludCBlcnJudW0pIHsKK2RpZmYgLS1naXQgYS90ZXN0cy9DTWFrZUxpc3RzLnR4dCBiL3Rl c3RzL0NNYWtlTGlzdHMudHh0CitpbmRleCBhMmI1MTdiLi4xMjNlNjQzIDEwMDY0NAorLS0tIGEv dGVzdHMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rlc3RzL0NNYWtlTGlzdHMudHh0CitAQCAtMzgs NiArMzgsMTIgQEAgc2V0KFNSQ1MKKworIGlmKEJVSUxEX1RPT0xTKQorIAlzZXQoU1JDUyAke1NS Q1N9IC4uL3NyYy9hdWRpby9mZm1wZWdfYXVkaW9fcmVhZGVyX3Rlc3QuY3BwKQorKyAgICBpbmNs dWRlX2RpcmVjdG9yaWVzKAorKyAgICAgICAgJHtGRk1QRUdfTElCQVZGT1JNQVRfSU5DTFVERV9E SVJTfQorKyAgICAgICAgJHtGRk1QRUdfTElCQVZDT0RFQ19JTkNMVURFX0RJUlN9CisrICAgICAg ICAke0ZGTVBFR19MSUJBVlVUSUxfSU5DTFVERV9ESVJTfQorKyAgICAgICAgJHtBVURJT19QUk9D RVNTT1JfSU5DTFVERV9ESVJTfQorKyAgICApCisgCWxpbmtfbGlicmFyaWVzKGZwY2FsY19saWJz KQorIGVuZGlmKCkKKworLS0gCisyLjM4LjEKKworCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t YXByaW50L3RlbXBsYXRlIGIvc3JjcGtncy9jaHJvbWFwcmludC90ZW1wbGF0ZQppbmRleCA3ZWY3 ODM4OTQ5ZjMuLjFmN2JiYzcwYTIyYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWFwcmludC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nocm9tYXByaW50L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY2hyb21hcHJpbnQnCiBwa2duYW1lPWNocm9tYXByaW50 CiB2ZXJzaW9uPTEuNS4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFr ZQogY29uZmlndXJlX2FyZ3M9Ii1EQlVJTERfVE9PTFM9T04iCiBtYWtlX2NoZWNrX3RhcmdldD0i Y2hlY2siCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlIGIvc3JjcGtncy9j aHJvbWl1bS90ZW1wbGF0ZQppbmRleCAzYzFjMWNhZjM3NjUuLjFmMjhjZGU1ZDNjMSAxMDA2NDQK LS0tIGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nocm9taXVtL3Rl bXBsYXRlCkBAIC0yLDcgKzIsNyBAQAogcGtnbmFtZT1jaHJvbWl1bQogIyBTZWUgaHR0cHM6Ly9j aHJvbWl1bWRhc2guYXBwc3BvdC5jb20vcmVsZWFzZXM/cGxhdGZvcm09TGludXggZm9yIHRoZSBs YXRlc3QgdmVyc2lvbgogdmVyc2lvbj0xMTEuMC41NTYzLjY0Ci1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBhcmNocz0iaTY4NiogeDg2XzY0KiBhYXJjaDY0KiBhcm12N2wqIgogaG9zdG1ha2VkZXBl bmRzPSIKICAkKHZvcHRfaWYgY2xhbmcgImNsYW5nIGxsZCBsbHZtMTIiKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jbXVzL3RlbXBsYXRlIGIvc3JjcGtncy9jbXVzL3RlbXBsYXRlCmluZGV4IDBmY2I0 MjRjZTMzNi4uMDViNzdkMGZlY2FlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2NtdXMvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9jbXVzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnY211cycKIHBrZ25hbWU9Y211cwogdmVyc2lvbj0yLjEwLjAKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9InByZWZp eD0vdXNyIExEPSRDQyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY3lhbnJpcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3lhbnJpcC90ZW1wbGF0ZQppbmRl eCA5Nzk2ZTM0NjE2MDEuLjVkYjMwZTAyMGQxNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9jeWFucmlw L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3lhbnJpcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2N5YW5yaXAnCiBwa2duYW1lPWN5YW5yaXAKIHZlcnNpb249 MC45LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPW1lc29uCiBob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iZmZtcGVnLWRldmVsIGxpYmNkaW8t ZGV2ZWwgbGliY2Rpby1wYXJhbm9pYS1kZXZlbCBsaWJjdXJsLWRldmVsIGxpYm11c2ljYnJhaW56 NS1kZXZlbCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGVhZGJlZWYvdGVtcGxhdGUgYi9zcmNwa2dz L2RlYWRiZWVmL3RlbXBsYXRlCmluZGV4IGI2NjRiYjFiOWJkOS4uZjBmY2NlZDg2NGJlIDEwMDY0 NAotLS0gYS9zcmNwa2dzL2RlYWRiZWVmL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZGVhZGJlZWYv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdkZWFkYmVlZicK IHBrZ25hbWU9ZGVhZGJlZWYKIHZlcnNpb249MS44LjgKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK IGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVf YXJncz0iLS1kaXNhYmxlLW9zcyAtLWRpc2FibGUtbGZtIC0tZGlzYWJsZS1ub3RpZnkgLS1kaXNh YmxlLWd0azIiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2RvbHBoaW4tZW11L3RlbXBsYXRlIGIvc3Jj cGtncy9kb2xwaGluLWVtdS90ZW1wbGF0ZQppbmRleCA3ZWExOTdjZWIyYTguLjdhZWIwYTViNjQ1 ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9kb2xwaGluLWVtdS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L2RvbHBoaW4tZW11L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnZG9scGhpbi1lbXUnCiBwa2duYW1lPWRvbHBoaW4tZW11CiB2ZXJzaW9uPTUuMC4xNjEwMQot cmV2aXNpb249MQorcmV2aXNpb249MgogX2RvbHBoaW5fY29tbWl0PThlY2ZhNTM3YTI0MmRlNzRk MmUzNzJlMzBkOWQ3OWIxNDU4NGIyZmIKIF9tZ2JhX2NvbW1pdD00MGQ0YzQzMGZjMzZjYWViN2Vh MzJmZDM5NjI0OTQ3ZWQ0ODdkMmYyCiAjVmVyc2lvbi9oYXNoIHBhaXIgY2FuIGJlIGZvdW5kIGF0 IGh0dHBzOi8vZG9scGhpbi1lbXUub3JnL2Rvd25sb2FkLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9k cm9pZGNhbS1vYnMtcGx1Z2luL3RlbXBsYXRlIGIvc3JjcGtncy9kcm9pZGNhbS1vYnMtcGx1Z2lu L3RlbXBsYXRlCmluZGV4IGZjOWM5YmY2YjlkNS4uZmIwNDgwNzU0ZGY0IDEwMDY0NAotLS0gYS9z cmNwa2dzL2Ryb2lkY2FtLW9icy1wbHVnaW4vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9kcm9pZGNh bS1vYnMtcGx1Z2luL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnZHJvaWRjYW0tb2JzLXBsdWdpbicKIHBrZ25hbWU9ZHJvaWRjYW0tb2JzLXBsdWdpbgogdmVy c2lvbj0yLjAuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LW1ha2Vm aWxlCiBtYWtlX3VzZV9lbnY9eWVzCiBtYWtlX2J1aWxkX2FyZ3M9IkFMTE9XX1NUQVRJQz1ubyIK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZHJvaWRjYW0vdGVtcGxhdGUgYi9zcmNwa2dzL2Ryb2lkY2Ft L3RlbXBsYXRlCmluZGV4IDFjM2YxYjhiMWZjNi4uMzJhOTIyMGI3OWE0IDEwMDY0NAotLS0gYS9z cmNwa2dzL2Ryb2lkY2FtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZHJvaWRjYW0vdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdkcm9pZGNhbScKIHBrZ25hbWU9 ZHJvaWRjYW0KIHZlcnNpb249MS44LjIKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0 eWxlPWdudS1tYWtlZmlsZQogbWFrZV9idWlsZF9hcmdzPSJVU0JNVVhEPS1sdXNibXV4ZC0yLjAg SlBFRz0tbHR1cmJvanBlZyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZWxlY3Ryb24xOS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZWxlY3Ryb24xOS90ZW1w bGF0ZQppbmRleCAwNjgxMzZiZTc2MjMuLjMyY2UzMDFlNzMwYyAxMDA2NDQKLS0tIGEvc3JjcGtn cy9lbGVjdHJvbjE5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb24xOS90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2VsZWN0cm9uMTknCiBwa2duYW1l PWVsZWN0cm9uMTkKIHZlcnNpb249MTkuMC44Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBfbm9k ZXZlcj0xNi4xNC4yCiBfY2hyb21pdW12ZXI9MTAyLjAuNTAwNS4xMjUKIGFyY2hzPSJ4ODZfNjQq IGFhcmNoNjQqIHBwYzY0bGUqIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWcvdGVtcGxhdGUg Yi9zcmNwa2dzL2ZmbXBlZy90ZW1wbGF0ZQppbmRleCAzODk3OGM1MDg1YTMuLmMyYzcyODRiYmRj MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9mZm1wZWcvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9mZm1w ZWcvdGVtcGxhdGUKQEAgLTEyLDI1ICsxMiwzMSBAQCBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3LmZm bXBlZy5vcmcvcmVsZWFzZXMvZmZtcGVnLSR7dmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09NjE5 ZTcwNmQ2NjJjODQyMDg1OTgzMmRkYzI1OWNkNGQ0MDk2YTQ4YTJjZTFlZWZkMDUyZGI5ZTQ0MGVl ZjNkYwogCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcGVybCB5YXNtIgotbWFrZWRlcGVu ZHM9ImNocm9tYXByaW50LWRldmVsIGxpYmdjcnlwdC1kZXZlbCBsYWRzcGEtc2RrIGxjbXMyLWRl dmVsIGxpYmFvbS1kZXZlbAotIGFsc2EtbGliLWRldmVsIGJ6aXAyLWRldmVsIGxpYnhjYi1kZXZl bCBsaWJsem1hLWRldmVsIFNETDItZGV2ZWwgc25kaW8tZGV2ZWwgemxpYi1kZXZlbAotIGZyZWkw ci1wbHVnaW5zIGxpYmNkaW8tcGFyYW5vaWEtZGV2ZWwgcnViYmVyYmFuZC1kZXZlbCBsaWJ2aWRz dGFiLWRldmVsIHgyNjQtZGV2ZWwgeDI2NS1kZXZlbAotIHh2aWRjb3JlLWRldmVsIGZkay1hYWMt ZGV2ZWwgbGlidGxzLWRldmVsIGdtcC1kZXZlbCBsaWJhc3MtZGV2ZWwgbGliYmx1cmF5LWRldmVs IGxpYmNhY2EtZGV2ZWwKLSBjZWx0LWRldmVsIGNvZGVjMi1kZXZlbCBsaWJkYXYxZC1kZXZlbCBs aWJkcm0tZGV2ZWwgZm9udGNvbmZpZy1kZXZlbCBmcmVldHlwZS1kZXZlbAotIGZyaWJpZGktZGV2 ZWwgZ2xzbGFuZy1kZXZlbCBTUElSVi1Ub29scy1kZXZlbCBsaWJnbWUtZGV2ZWwgbGliZ3NtLWRl dmVsIGphY2stZGV2ZWwKLSBsaWJtb2RwbHVnLWRldmVsIGxhbWUtZGV2ZWwgbGlib3BlbmN2NC1k ZXZlbCBsaWJvcGVuanBlZzItZGV2ZWwgbGlib3Blbm1wdC1kZXZlbCBvcHVzLWRldmVsCi0gbGli cGxhY2Viby1kZXZlbCBsaWJwdWxzZWF1ZGlvIHJhYmJpdG1xLWMtZGV2ZWwgbGlicmlzdC1kZXZl bCBsaWJyc3ZnLWRldmVsIGxpYnJ0bXAtZGV2ZWwKLSBzbmFwcHktZGV2ZWwgbGlic294ci1kZXZl bCBzcGVleC1kZXZlbCBzcnQtZGV2ZWwgbGlic3NoLWRldmVsIGxpYnRoZW9yYS1kZXZlbCB0d29s YW1lLWRldmVsCi0gbGlidm9yYmlzLWRldmVsIGxpYnZweDYtZGV2ZWwgbGlid2VicC1kZXZlbCBs aWJ4bWwyLWRldmVsIHppbWctZGV2ZWwgbGlsdi1kZXZlbCBsdjIKLSBsaWJvcGVuYWwtZGV2ZWwg bWVzYSBvcGVuc3NsLWRldmVsIHZhcG91cnN5bnRoLWRldmVsIG9jbC1pY2QtZGV2ZWwgbGlibXlz b2ZhLWRldmVsIHZ1bGthbi1sb2FkZXIKLSAkKHZvcHRfaWYgdmFhcGkgbGlidmEtZGV2ZWwpCi0g JCh2b3B0X2lmIHZkcGF1IGxpYnZkcGF1LWRldmVsKQotICQodm9wdF9pZiBudmVuYyBudi1jb2Rl Yy1oZWFkZXJzKQotICQodm9wdF9pZiBudmRlYyBudi1jb2RlYy1oZWFkZXJzKQotICQodm9wdF9p ZiBzdnRhdjEgbGlic3Z0LWF2MS1kZXZlbCkKLSIKK21ha2VkZXBlbmRzPSJ6bGliLWRldmVsIGJ6 aXAyLWRldmVsIGZyZWV0eXBlLWRldmVsIGFsc2EtbGliLWRldmVsIGxpYlhmaXhlcy1kZXZlbAor IGxpYlhleHQtZGV2ZWwgbGliWHZNQy1kZXZlbCBsaWJ4Y2ItZGV2ZWwgbGFtZS1kZXZlbCBsaWJ0 aGVvcmEtZGV2ZWwKKyBsaWJ2b3JiaXMtZGV2ZWwgeDI2NC1kZXZlbCB4dmlkY29yZS1kZXZlbCBq YWNrLWRldmVsIFNETDItZGV2ZWwKKyBsaWJjZGlvLXBhcmFub2lhLWRldmVsIGxpYnJ0bXAtZGV2 ZWwgbGlibW9kcGx1Zy1kZXZlbCBnbnV0bHMtZGV2ZWwKKyBzcGVleC1kZXZlbCBjZWx0LWRldmVs IGhhcmZidXp6LWRldmVsIGxpYmFzcy1kZXZlbCBvcHVzLWRldmVsIG9jbC1pY2QtZGV2ZWwKKyBs aWJiczJiLWRldmVsIGxpYnZpZHN0YWItZGV2ZWwgJCh2b3B0X2lmIHB1bHNlYXVkaW8gcHVsc2Vh dWRpby1kZXZlbCkKKyAkKHZvcHRfaWYgdmFhcGkgbGlidmEtZGV2ZWwpICQodm9wdF9pZiB2ZHBh dSBsaWJ2ZHBhdS1kZXZlbCkKKyAkKHZvcHRfaWYgeDI2NSB4MjY1LWRldmVsKSAkKHZvcHRfaWYg djRsMiB2NGwtdXRpbHMtZGV2ZWwpCisgJCh2b3B0X2lmIGZka19hYWMgZmRrLWFhYy1kZXZlbCkg JCh2b3B0X2lmIHZweCBsaWJ2cHgtZGV2ZWwpCisgJCh2b3B0X2lmIGFvbSBsaWJhb20tZGV2ZWwp ICQodm9wdF9pZiBzbmRpbyBzbmRpby1kZXZlbCkKKyAkKHZvcHRfaWYgZGF2MWQgbGliZGF2MWQt ZGV2ZWwpICQodm9wdF9pZiB6aW1nIHppbWctZGV2ZWwpCisgJCh2b3B0X2lmIHdlYnAgbGlid2Vi cC1kZXZlbCkgJCh2b3B0X2lmIHNvZmEgbGlibXlzb2ZhLWRldmVsKQorICQodm9wdF9pZiBkcm0g bGliZHJtLWRldmVsKSAkKHZvcHRfaWYgc3Z0YXYxIGxpYnN2dC1hdjEtZGV2ZWwpCisgJCh2b3B0 X2lmIHNydCBzcnQtZGV2ZWwpICQodm9wdF9pZiByaXN0IGxpYnJpc3QtZGV2ZWwpCisgJCh2b3B0 X2lmIHZ1bGthbiAndnVsa2FuLWxvYWRlciBWdWxrYW4tSGVhZGVycyBWdWxrYW4tVG9vbHMgVnVs a2FuLVZhbGlkYXRpb25MYXllcnMnKQorICQodm9wdF9pZiBudmVuYyBudi1jb2RlYy1oZWFkZXJz KSAkKHZvcHRfaWYgbnZkZWMgbnYtY29kZWMtaGVhZGVycykiCiBkZXBlbmRzPSJmZnBsYXk+PSR7 dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi1idWlsZF9vcHRpb25zPSJ2YWFwaSB2ZHBhdSBudmVuYyBu dmRlYyBzdnRhdjEiCisKK2J1aWxkX29wdGlvbnM9IngyNjUgdjRsMiB2YWFwaSB2ZHBhdSB2cHgg ZmRrX2FhYyBhb20gbnZlbmMgc25kaW8gcHVsc2VhdWRpbworIGRhdjFkIHppbWcgd2VicCBzb2Zh IHZ1bGthbiBkcm0gc3Z0YXYxIHNydCByaXN0IG52ZGVjIgorYnVpbGRfb3B0aW9uc19kZWZhdWx0 PSJ4MjY1IHY0bDIgdnB4IGFvbSBzbmRpbyBwdWxzZWF1ZGlvIGRhdjFkIHdlYnAgdnVsa2FuIGRy bSBzcnQgcmlzdCIKK2Rlc2Nfb3B0aW9uX3NydD0iRW5hYmxlIHN1cHBvcnQgZm9yIFNSVCAoU2Vj dXJlLCBSZWxpYWJsZSwgVHJhbnNwb3J0KSIKK2Rlc2Nfb3B0aW9uX3Jpc3Q9IkVuYWJsZSBzdXBw b3J0IGZvciBSSVNUIChSZWxpYWJsZSBJbnRlcm5ldCBTdHJlYW0gVHJhbnNwb3J0KSIKK2Rlc2Nf b3B0aW9uX3NvZmE9IkVuYWJsZSBzdXBwb3J0IGZvciBBRVMgU09GQSIKK2Rlc2Nfb3B0aW9uX3dl YnA9IkVuYWJsZSBzdXBwb3J0IGZvciBXZWJQIgogCiBjYXNlICIkWEJQU19UQVJHRVRfTUFDSElO RSIgaW4KIAlpNjg2Knx4ODZfNjQqKSBidWlsZF9vcHRpb25zX2RlZmF1bHQrPSIgdmFhcGkgdmRw YXUgbnZlbmMgbnZkZWMiOzsKQEAgLTQ2LDYgKzUyLDIyIEBAIGlmIFsgIiRYQlBTX1RBUkdFVF9O T19BVE9NSUM4IiBdOyB0aGVuCiAJbWFrZWRlcGVuZHMrPSIgbGliYXRvbWljLWRldmVsIgogZmkK IAorX2FwcGx5X3BhdGNoKCkgeworCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAk MikiCisKKwlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCisJCXBhdGNoIC1OICRh cmdzIC1pICQyCisJCXRvdWNoIC4ke3BuYW1lfV9kb25lCisJZmkKK30KKworcG9zdF9wYXRjaCgp IHsKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwkJcHBjNjRsZSopIDs7CisJCXBw YyopIF9hcHBseV9wYXRjaCAtcDEgJHtGSUxFU0RJUn0vYWx0aXZlYy5wYXRjaCA7OworCWVzYWMK K30KKwogZG9fY29uZmlndXJlKCkgewogCSMgRml4IGdjYyBvbiB4ODZfNjQtbXVzbCBvbmx5CiAJ aWYgWyAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiID0gIng4Nl82NC1tdXNsIiBdOyB0aGVuCkBAIC03 Niw0NyArOTgsMzkgQEAgZG9fY29uZmlndXJlKCkgewogCQlfYXJncys9IiAtLWV4dHJhLWxpYnM9 LWxhdG9taWMiCiAJZmkKIAotCS4vY29uZmlndXJlIFwKLQkJLS1wcmVmaXg9Jy91c3InIFwKLQkJ LS1leHRyYS1jZmxhZ3M9Jy1JL29wdC9jdWRhL2luY2x1ZGUnIFwKLQkJLS1leHRyYS1sZGZsYWdz PSctTC9vcHQvY3VkYS9saWI2NCcgXAorCS4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1kaXNh YmxlLWRlYnVnIC0tZW5hYmxlLWdwbCAtLWVuYWJsZS1nbnV0bHMgXAogCQktLWRpc2FibGUtc3Ry aXBwaW5nIFwKLQkJLS1lbmFibGUtc2hhcmVkIC0tZW5hYmxlLXN0YXRpYyBcCi0JCS0tZW5hYmxl LW5vbmZyZWUgLS1lbmFibGUtZ3BsIFwKLQkJLS1lbmFibGUtdmVyc2lvbjMgLS1lbmFibGUtbGli eGNiIFwKLQkJLS1lbmFibGUtZnJlaTByIC0tZW5hYmxlLWxpYmNkaW8gXAotCQktLWVuYWJsZS1s aWJydWJiZXJiYW5kIC0tZW5hYmxlLWxpYnZpZHN0YWIgXAotCQktLWVuYWJsZS1saWJ4MjY0IC0t ZW5hYmxlLWxpYngyNjUgLS1lbmFibGUtbGlieHZpZCBcCi0JCS0tZW5hYmxlLWxpYmZkay1hYWMg LS1lbmFibGUtbGlidGxzIC0tZW5hYmxlLWdtcCBcCi0JCS0tZW5hYmxlLWNocm9tYXByaW50IC0t ZW5hYmxlLWdjcnlwdCAtLWVuYWJsZS1sYWRzcGEgXAotCQktLWVuYWJsZS1sY21zMiAtLWVuYWJs ZS1saWJhb20gLS1lbmFibGUtbGliYXNzIFwKLQkJLS1lbmFibGUtbGliYmx1cmF5IC0tZW5hYmxl LWxpYmNhY2EgLS1lbmFibGUtbGliY2VsdCBcCi0JCS0tZW5hYmxlLWxpYmNvZGVjMiAtLWVuYWJs ZS1saWJkYXYxZCAtLWVuYWJsZS1saWJkcm0gXAotCQktLWVuYWJsZS1saWJmb250Y29uZmlnIC0t ZW5hYmxlLWxpYmZyZWV0eXBlIFwKLQkJLS1lbmFibGUtbGliZnJpYmlkaSAtLWVuYWJsZS1saWJn bHNsYW5nIFwKLQkJLS1lbmFibGUtbGliZ21lIC0tZW5hYmxlLWxpYmdzbSBcCi0JCS0tZW5hYmxl LXZhcG91cnN5bnRoIC0tZW5hYmxlLW9wZW5zc2wgLS1lbmFibGUtb3BlbmdsIFwKLQkJLS1lbmFi bGUtb3BlbmFsIC0tZW5hYmxlLWx2MiAtLWVuYWJsZS1saWJ6aW1nIFwKLQkJLS1lbmFibGUtbGli eG1sMiAtLWVuYWJsZS1saWJ3ZWJwIC0tZW5hYmxlLWxpYnZvcmJpcyBcCi0JCS0tZW5hYmxlLWxp YnR3b2xhbWUgLS1lbmFibGUtbGlidGhlb3JhIC0tZW5hYmxlLWxpYnNzaCBcCi0JCS0tZW5hYmxl LWxpYnNydCAtLWVuYWJsZS1saWJzcGVleCAtLWVuYWJsZS1saWJzb3hyIFwKLQkJLS1lbmFibGUt bGlicnRtcCAtLWVuYWJsZS1saWJyc3ZnIC0tZW5hYmxlLWxpYnJpc3QgXAotCQktLWVuYWJsZS1s aWJyYWJiaXRtcSAtLWVuYWJsZS1saWJwdWxzZSAtLWVuYWJsZS1saWJwbGFjZWJvIFwKLQkJLS1l bmFibGUtbGlib3B1cyAtLWVuYWJsZS1saWJvcGVubXB0IC0tZW5hYmxlLWxpYm9wZW5qcGVnIFwK LQkJLS1lbmFibGUtbGlibXAzbGFtZSAtLWVuYWJsZS1saWJtb2RwbHVnIC0tZW5hYmxlLWxpYmph Y2sgXAotCQktLWVuYWJsZS1vcGVuY2wgLS1lbmFibGUtbGlidnB4IC0tZW5hYmxlLWxpYm15c29m YSBcCi0JCSQodm9wdF9lbmFibGUgdmFhcGkpIFwKLQkJJCh2b3B0X2VuYWJsZSB2ZHBhdSkgXAor CQktLWVuYWJsZS1saWJjZGlvIC0tZW5hYmxlLXZlcnNpb24zIC0tZW5hYmxlLXJ1bnRpbWUtY3B1 ZGV0ZWN0IFwKKwkJLS1lbmFibGUtbGlibXAzbGFtZSAtLWVuYWJsZS1saWJ2b3JiaXMgLS1lbmFi bGUtbGlieHZpZCBcCisJCS0tZW5hYmxlLWxpYngyNjQgJCh2b3B0X2VuYWJsZSB2cHggbGlidnB4 KSAtLWVuYWJsZS1saWJ0aGVvcmEgXAorCQktLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtc3RhdGlj IC0tZW5hYmxlLWxpYnhjYiBcCisJCSQodm9wdF9lbmFibGUgcHVsc2VhdWRpbyBsaWJwdWxzZSkg LS1lbmFibGUtbGliZnJlZXR5cGUgLS1lbmFibGUtbGlibW9kcGx1ZyBcCisJCS0tZW5hYmxlLWxp YnNwZWV4IC0tZW5hYmxlLWxpYmNlbHQgLS1lbmFibGUtbGliYXNzIFwKKwkJLS1lbmFibGUtbGli b3B1cyAtLWVuYWJsZS1saWJydG1wIC0tZW5hYmxlLWxpYmphY2sgXAorCQkkKHZvcHRfaWYgZmRr X2FhYyAnLS1lbmFibGUtbm9uZnJlZSAtLWVuYWJsZS1saWJmZGstYWFjJykgXAorCQktLWRpc2Fi bGUtbGlib3BlbmNvcmVfYW1ybmIgLS1kaXNhYmxlLWxpYm9wZW5jb3JlX2FtcndiIFwKKwkJLS1k aXNhYmxlLWxpYm9wZW5qcGVnIFwKKwkJLS1lbmFibGUtcG9zdHByb2MgLS1lbmFibGUtb3BlbmNs ICR7X2FyZ3N9IFwKKwkJJCh2b3B0X2VuYWJsZSB4MjY1IGxpYngyNjUpIFwKKwkJJCh2b3B0X2Vu YWJsZSB2NGwyIGxpYnY0bDIpIFwKKwkJJCh2b3B0X2VuYWJsZSBhb20gbGliYW9tKSAkKHZvcHRf ZW5hYmxlIHZhYXBpKSAkKHZvcHRfZW5hYmxlIHZkcGF1KSBcCisJCS0tZW5hYmxlLWxpYmJzMmIg LS1lbmFibGUtbGlidmlkc3RhYiBcCisJCSQodm9wdF9lbmFibGUgZGF2MWQgbGliZGF2MWQpIFwK KwkJJCh2b3B0X2VuYWJsZSB6aW1nIGxpYnppbWcpIFwKKwkJJCh2b3B0X2VuYWJsZSB3ZWJwIGxp YndlYnApIFwKKwkJJCh2b3B0X2VuYWJsZSBzb2ZhIGxpYm15c29mYSkgXAorCQkkKHZvcHRfZW5h YmxlIHZ1bGthbikgXAorCQkkKHZvcHRfZW5hYmxlIGRybSBsaWJkcm0pIFwKKwkJJCh2b3B0X2Vu YWJsZSBzdnRhdjEgbGlic3Z0YXYxKSBcCisJCSQodm9wdF9lbmFibGUgc3J0IGxpYnNydCkgXAor CQkkKHZvcHRfZW5hYmxlIHJpc3QgbGlicmlzdCkgXAogCQkkKHZvcHRfaWYgbnZlbmMgJy0tZW5h YmxlLW52ZW5jJykgXAotCQkkKHZvcHRfaWYgbnZkZWMgJy0tZW5hYmxlLW52ZGVjJykgXAotCQkk KHZvcHRfZW5hYmxlIHN2dGF2MSBsaWJzdnRhdjEpCisJCSQodm9wdF9pZiBudmRlYyAnLS1lbmFi bGUtbnZkZWMnKQogfQotCiBkb19idWlsZCgpIHsKIAltYWtlICR7bWFrZWpvYnN9CiAJbWFrZSBk b2MvZmZ7bXBlZyxwbGF5fS4xCiB9Ci0KIGRvX2luc3RhbGwoKSB7CiAJbWFrZSBERVNURElSPSR7 REVTVERJUn0gaW5zdGFsbCBpbnN0YWxsLW1hbgogfQpAQCAtMTMzLDYgKzE0NywxMCBAQCBsaWJh dmRldmljZV9wYWNrYWdlKCkgewogCQl2bW92ZSAidXNyL2xpYi9saWJhdmRldmljZS5zby4qIgog CX0KIH0KK2xpYmF2cmVzYW1wbGVfcGFja2FnZSgpIHsKKyAgc2hvcnRfZGVzYz0icGFja2FnZSBk ZXByZWNhdGVkLCByZW1vdmFsIG5lZWRlZCIKKyAgYnVpbGRfc3R5bGU9bWV0YQorfQogbGliYXZm b3JtYXRfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjPSJGRm1wZWcgZmlsZSBmb3JtYXQgbGlicmFy eSIKIAlwa2dfaW5zdGFsbCgpIHsKQEAgLTE4MCw0NyArMTk4LDcgQEAgZmZtcGVnLWRldmVsX3Bh Y2thZ2UoKSB7CiAJCWxpYnN3c2NhbGU+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KIAkJbGlic3dy ZXNhbXBsZT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxv cG1lbnQgZmlsZXMiCi0JYWx0ZXJuYXRpdmVzPSIKLQkgZmZtcGVnLWRldmVsOmxpYmF2Y29kZWMu MzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYmF2Y29kZWM1LjMKLQkgZmZtcGVnLWRldmVsOmxpYmF2 ZGV2aWNlLjM6L3Vzci9zaGFyZS9tYW4vbWFuMy9saWJhdmRldmljZTUuMwotCSBmZm1wZWctZGV2 ZWw6bGliYXZmaWx0ZXIuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYmF2ZmlsdGVyNS4zCi0JIGZm bXBlZy1kZXZlbDpsaWJsaWJhdmZvcm1hdC4zOi91c3Ivc2hhcmUvbWFuL21hbjMvbGliYXZmb3Jt YXQ1LjMKLQkgZmZtcGVnLWRldmVsOmxpYmF2dXRpbC4zOi91c3Ivc2hhcmUvbWFuL21hbjMvbGli YXZ1dGlsNS4zCi0JIGZmbXBlZy1kZXZlbDpsaWJzd3Jlc2FtcGxlLjM6L3Vzci9zaGFyZS9tYW4v bWFuMy9saWJzd3Jlc2FtcGxlNS4zCi0JIGZmbXBlZy1kZXZlbDpsaWJzd3NjYWxlLjM6L3Vzci9z aGFyZS9tYW4vbWFuMy9saWJzd3NjYWxlNS4zCi0JIGZmbXBlZy1kZXZlbDpsaWJhdmNvZGVjOi91 c3IvaW5jbHVkZS9saWJhdmNvZGVjNQotCSBmZm1wZWctZGV2ZWw6bGliYXZkZXZpY2U6L3Vzci9p bmNsdWRlL2xpYmF2ZGV2aWNlNQotCSBmZm1wZWctZGV2ZWw6bGliYXZmb3JtYXQ6L3Vzci9pbmNs dWRlL2xpYmF2Zm9ybWF0NQotCSBmZm1wZWctZGV2ZWw6bGliYXZ1dGlsOi91c3IvaW5jbHVkZS9s aWJhdnV0aWw1Ci0JIGZmbXBlZy1kZXZlbDpsaWJhdnBvc3Rwcm9jOi91c3IvaW5jbHVkZS9saWJh dnBvc3Rwcm9jNQotCSBmZm1wZWctZGV2ZWw6bGlic3dyZXNhbXBsZTovdXNyL2luY2x1ZGUvbGli c3dyZXNhbXBsZTUKLQkgZmZtcGVnLWRldmVsOmxpYnN3Y2FhbGU6L3Vzci9pbmNsdWRlL2xpYnN3 c2NhbGU1Ci0JIGZmbXBlZy1kZXZlbDpsaWJhdmNvZGVjLnBjOi91c3IvbGliL3BrZ2NvbmZpZy9s aWJhdmNvZGVjNS5wYwotCSBmZm1wZWctZGV2ZWw6bGliYXZkZXZpY2UucGM6L3Vzci9saWIvcGtn Y29uZmlnL2xpYmF2ZGV2aWNlNS5wYwotCSBmZm1wZWctZGV2ZWw6bGliYXZmaWx0ZXIucGM6L3Vz ci9saWIvcGtnY29uZmlnL2xpYmF2ZmlsdGVyNS5wYwotCSBmZm1wZWctZGV2ZWw6bGliYXZmb3Jt YXQucGM6L3Vzci9saWIvcGtnY29uZmlnL2xpYmF2Zm9ybWF0NS5wYwotCSBmZm1wZWctZGV2ZWw6 bGliYXZ1dGlsLnBjOi91c3IvbGliL3BrZ2NvbmZpZy9saWJhdnV0aWw1LnBjCi0JIGZmbXBlZy1k ZXZlbDpsaWJwb3N0cHJvYy5wYzovdXNyL2xpYi9wa2djb25maWcvbGlicG9zdHByb2M1LnBjCi0J IGZmbXBlZy1kZXZlbDpsaWJzd3Jlc2FtcGxlLnBjOi91c3IvbGliL3BrZ2NvbmZpZy9saWJzd3Jl c2FtcGxlNS5wYwotCSBmZm1wZWctZGV2ZWw6bGlic3dzY2FsZS5wYzovdXNyL2xpYi9wa2djb25m aWcvbGlic3dzY2FsZTUucGMKLQkgZmZtcGVnLWRldmVsOmxpYmF2Y29kZWMuYTovdXNyL2xpYi9s aWJhdmNvZGVjNS5hCi0JIGZmbXBlZy1kZXZlbDpsaWJhdmNvZGVjLnNvOi91c3IvbGliL2xpYmF2 Y29kZWM1LnNvCi0JIGZmbXBlZy1kZXZlbDpsaWJhdmRldmljZS5hOi91c3IvbGliL2xpYmF2ZGV2 aWNlNS5hCi0JIGZmbXBlZy1kZXZlbDpsaWJhdmRldmljZS5zbzovdXNyL2xpYi9saWJhdmRldmlj ZTUuc28KLQkgZmZtcGVnLWRldmVsOmxpYmF2ZmlsdGVyLmE6L3Vzci9saWIvbGliYXZmaWx0ZXI1 LmEKLQkgZmZtcGVnLWRldmVsOmxpYmF2ZmlsdGVyLnNvOi91c3IvbGliL2xpYmF2ZmlsdGVyNS5z bwotCSBmZm1wZWctZGV2ZWw6bGliYXZmb3JtYXQuYTovdXNyL2xpYi9saWJhdmZvcm1hdDUuYQot CSBmZm1wZWctZGV2ZWw6bGliYXZmb3JtYXQuc286L3Vzci9saWIvbGliYXZmb3JtYXQ1LnNvCi0J IGZmbXBlZy1kZXZlbDpsaWJhdnV0aWwuYTovdXNyL2xpYi9saWJhdnV0aWw1LmEKLQkgZmZtcGVn LWRldmVsOmxpYmF2dXRpbC5zbzovdXNyL2xpYi9saWJhdnV0aWw1LnNvCi0JIGZmbXBlZy1kZXZl bDpsaWJwb3N0cHJvYy5hOi91c3IvbGliL2xpYnBvc3Rwcm9jNS5hCi0JIGZmbXBlZy1kZXZlbDps aWJwb3N0cHJvYy5zbzovdXNyL2xpYi9saWJwb3N0cHJvYzUuc28KLQkgZmZtcGVnLWRldmVsOmxp YnN3cmVzYW1wbGUuYTovdXNyL2xpYi9saWJzd3Jlc2FtcGxlNS5hCi0JIGZmbXBlZy1kZXZlbDps aWJzd3Jlc2FtcGxlLnNvOi91c3IvbGliL2xpYnN3cmVzYW1wbGU1LnNvCi0JIGZmbXBlZy1kZXZl bDpsaWJzd3NjYWxlLmE6L3Vzci9saWIvbGlic3dzY2FsZTUuYQotCSBmZm1wZWctZGV2ZWw6bGli c3dzY2FsZS5zbzovdXNyL2xpYi9saWJzd3NjYWxlNS5zbwotCSBmZm1wZWctZGV2ZWw6ZmZtcGVn Oi91c3Ivc2hhcmUvZmZtcGVnNQotCSIKKwljb25mbGljdHM9ImZmbXBlZzQtZGV2ZWwiCiAJcGtn X2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvcGtnY29u ZmlnCkBAIC0yMzEsNyArMjA5LDcgQEAgZmZtcGVnLWRldmVsX3BhY2thZ2UoKSB7CiAJfQogfQog ZmZwbGF5X3BhY2thZ2UoKSB7Ci0Jc2hvcnRfZGVzYz0iU2ltcGxlIG1lZGlhIHBsYXllciB1c2lu ZyBGRm1wZWcgYW5kIFNETDIiCisJc2hvcnRfZGVzYz0iU2ltcGxlIHZpZGVvIHBsYXllciB1c2lu ZyBGRm1wZWcgYW5kIFNETDIiCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9iaW4vZmZw bGF5CiAJCXZtb3ZlICJ1c3Ivc2hhcmUvbWFuL21hbjEvZmZwbGF5KiIKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZmZtcGVnNC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmZtcGVnNC90ZW1wbGF0ZQppbmRleCBj ZDkxNTQ5NzhiM2UuLmQ3ZDg0ZWI1OWVkNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9mZm1wZWc0L3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvZmZtcGVnNC90ZW1wbGF0ZQpAQCAtMjAyLDQ3ICsyMDIsNyBA QCBmZm1wZWc0LWRldmVsX3BhY2thZ2UoKSB7CiAJCWxpYnN3cmVzYW1wbGU0Pj0ke3ZlcnNpb259 XyR7cmV2aXNpb259CiAJCWxpYmF2cmVzYW1wbGU0Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259Igog CXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKLQlhbHRlcm5hdGl2ZXM9IgotCQlm Zm1wZWctZGV2ZWw6bGliYXZjb2RlYy4zOi91c3Ivc2hhcmUvbWFuL21hbjMvbGliYXZjb2RlYzQu MwotCQlmZm1wZWctZGV2ZWw6bGliYXZkZXZpY2UuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYmF2 ZGV2aWNlNC4zCi0JCWZmbXBlZy1kZXZlbDpsaWJhdmZpbHRlci4zOi91c3Ivc2hhcmUvbWFuL21h bjMvbGliYXZmaWx0ZXI0LjMKLQkJZmZtcGVnLWRldmVsOmxpYmxpYmF2Zm9ybWF0LjM6L3Vzci9z aGFyZS9tYW4vbWFuMy9saWJhdmZvcm1hdDQuMwotCQlmZm1wZWctZGV2ZWw6bGliYXZ1dGlsLjM6 L3Vzci9zaGFyZS9tYW4vbWFuMy9saWJhdnV0aWw0LjMKLQkJZmZtcGVnLWRldmVsOmxpYnN3cmVz YW1wbGUuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYnN3cmVzYW1wbGU0LjMKLQkJZmZtcGVnLWRl dmVsOmxpYnN3c2NhbGUuMzovdXNyL3NoYXJlL21hbi9tYW4zL2xpYnN3c2NhbGU0LjMKLQkJZmZt cGVnLWRldmVsOmxpYmF2Y29kZWM6L3Vzci9pbmNsdWRlL2xpYmF2Y29kZWM0Ci0JCWZmbXBlZy1k ZXZlbDpsaWJhdmRldmljZTovdXNyL2luY2x1ZGUvbGliYXZkZXZpY2U0Ci0JCWZmbXBlZy1kZXZl bDpsaWJhdmZvcm1hdDovdXNyL2luY2x1ZGUvbGliYXZmb3JtYXQ0Ci0JCWZmbXBlZy1kZXZlbDps aWJhdnV0aWw6L3Vzci9pbmNsdWRlL2xpYmF2dXRpbDQKLQkJZmZtcGVnLWRldmVsOmxpYmF2cG9z dHByb2M6L3Vzci9pbmNsdWRlL2xpYmF2cG9zdHByb2M0Ci0JCWZmbXBlZy1kZXZlbDpsaWJzd3Jl c2FtcGxlOi91c3IvaW5jbHVkZS9saWJzd3Jlc2FtcGxlNAotCQlmZm1wZWctZGV2ZWw6bGlic3dj YWFsZTovdXNyL2luY2x1ZGUvbGlic3dzY2FsZTQKLQkJZmZtcGVnLWRldmVsOmxpYmF2Y29kZWMu cGM6L3Vzci9saWIvcGtnY29uZmlnL2xpYmF2Y29kZWM0LnBjCi0JCWZmbXBlZy1kZXZlbDpsaWJh dmRldmljZS5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZkZXZpY2U0LnBjCi0JCWZmbXBlZy1k ZXZlbDpsaWJhdmZpbHRlci5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZmaWx0ZXI0LnBjCi0J CWZmbXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5wYzovdXNyL2xpYi9wa2djb25maWcvbGliYXZmb3Jt YXQ0LnBjCi0JCWZmbXBlZy1kZXZlbDpsaWJhdnV0aWwucGM6L3Vzci9saWIvcGtnY29uZmlnL2xp YmF2dXRpbDQucGMKLQkJZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLnBjOi91c3IvbGliL3BrZ2Nv bmZpZy9saWJwb3N0cHJvYzQucGMKLQkJZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1wbGUucGM6L3Vz ci9saWIvcGtnY29uZmlnL2xpYnN3cmVzYW1wbGU0LnBjCi0JCWZmbXBlZy1kZXZlbDpsaWJzd3Nj YWxlLnBjOi91c3IvbGliL3BrZ2NvbmZpZy9saWJzd3NjYWxlNC5wYwotCQlmZm1wZWctZGV2ZWw6 bGliYXZjb2RlYy5hOi91c3IvbGliL2xpYmF2Y29kZWM0LmEKLQkJZmZtcGVnLWRldmVsOmxpYmF2 Y29kZWMuc286L3Vzci9saWIvbGliYXZjb2RlYzQuc28KLQkJZmZtcGVnLWRldmVsOmxpYmF2ZGV2 aWNlLmE6L3Vzci9saWIvbGliYXZkZXZpY2U0LmEKLQkJZmZtcGVnLWRldmVsOmxpYmF2ZGV2aWNl LnNvOi91c3IvbGliL2xpYmF2ZGV2aWNlNC5zbwotCQlmZm1wZWctZGV2ZWw6bGliYXZmaWx0ZXIu YTovdXNyL2xpYi9saWJhdmZpbHRlcjQuYQotCQlmZm1wZWctZGV2ZWw6bGliYXZmaWx0ZXIuc286 L3Vzci9saWIvbGliYXZmaWx0ZXI0LnNvCi0JCWZmbXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5hOi91 c3IvbGliL2xpYmF2Zm9ybWF0NC5hCi0JCWZmbXBlZy1kZXZlbDpsaWJhdmZvcm1hdC5zbzovdXNy L2xpYi9saWJhdmZvcm1hdDQuc28KLQkJZmZtcGVnLWRldmVsOmxpYmF2dXRpbC5hOi91c3IvbGli L2xpYmF2dXRpbDQuYQotCQlmZm1wZWctZGV2ZWw6bGliYXZ1dGlsLnNvOi91c3IvbGliL2xpYmF2 dXRpbDQuc28KLQkJZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLmE6L3Vzci9saWIvbGlicG9zdHBy b2M0LmEKLQkJZmZtcGVnLWRldmVsOmxpYnBvc3Rwcm9jLnNvOi91c3IvbGliL2xpYnBvc3Rwcm9j NC5zbwotCQlmZm1wZWctZGV2ZWw6bGlic3dyZXNhbXBsZS5hOi91c3IvbGliL2xpYnN3cmVzYW1w bGU0LmEKLQkJZmZtcGVnLWRldmVsOmxpYnN3cmVzYW1wbGUuc286L3Vzci9saWIvbGlic3dyZXNh bXBsZTQuc28KLQkJZmZtcGVnLWRldmVsOmxpYnN3c2NhbGUuYTovdXNyL2xpYi9saWJzd3NjYWxl NC5hCi0JCWZmbXBlZy1kZXZlbDpsaWJzd3NjYWxlLnNvOi91c3IvbGliL2xpYnN3c2NhbGU0LnNv Ci0JCWZmbXBlZy1kZXZlbDpmZm1wZWc6L3Vzci9zaGFyZS9mZm1wZWc0Ci0JIgorCWNvbmZsaWN0 cz0iZmZtcGVnLWRldmVsIgogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQog CQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWd0aHVt Ym5haWxlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmZtcGVndGh1bWJuYWlsZXIvdGVtcGxhdGUKaW5k ZXggMDM5ZWVhNzYyMmIzLi4yN2JiYTdlNjg1YTAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmZtcGVn dGh1bWJuYWlsZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9mZm1wZWd0aHVtYm5haWxlci90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZmbXBlZ3RodW1ibmFp bGVyJwogcGtnbmFtZT1mZm1wZWd0aHVtYm5haWxlcgogdmVyc2lvbj0yLjIuMgotcmV2aXNpb249 MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNv bmZpZyIKIG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbCBmZm1w ZWctZGV2ZWwiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZ3RodW1icy90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvZmZtcGVndGh1bWJzL3RlbXBsYXRlCmluZGV4IDVmMGI5NDE0ZGFkYS4uMTFiODgxOTM1 MjhmIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZmbXBlZ3RodW1icy90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2ZmbXBlZ3RodW1icy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2ZmbXBlZ3RodW1icycKIHBrZ25hbWU9ZmZtcGVndGh1bWJzCiB2ZXJzaW9uPTIyLjEy LjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRl cGVuZHM9ImV4dHJhLWNtYWtlLW1vZHVsZXMga2NvcmVhZGRvbnMga2NvbmZpZy1kZXZlbAogIHBr Zy1jb25maWcgcXQ1LWhvc3QtdG9vbHMgcXQ1LXFtYWtlIGdldHRleHQiCmRpZmYgLS1naXQgYS9z cmNwa2dzL2ZmbXMyL3BhdGNoZXMvZmZtcGVnNS5wYXRjaCBiL3NyY3BrZ3MvZmZtczIvcGF0Y2hl cy9mZm1wZWc1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u MDc2NmRiMTcyNDczCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mZm1zMi9wYXRjaGVzL2Zm bXBlZzUucGF0Y2gKQEAgLTAsMCArMSw0MTkgQEAKK0Zyb20gMjhmYzQ5M2ZkYTJmYTIwNjRhZmVl YjBhNWQ4NWZkYzQyZGIwNWRjZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERlcmVr IEJ1aXRlbmh1aXMgPGRlcmVrLmJ1aXRlbmh1aXNAZ21haWwuY29tPgorRGF0ZTogVHVlLCA0IE1h eSAyMDIxIDE0OjEyOjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBhbGw6IFVwZGF0ZSBB VlBhY2tldCBBUEkgdXNhZ2UKKworQVZQYWNrZXRzIG11c3QgYWxsIGJlIG9uIHRoZSBoZWFwIG5v dywgc2luY2UgaXQgaXMgbm8gbG9uZ2VyCitwYXJ0IG9mIHRoZSBsaWJhdiogQUJJLgorCitTaWdu ZWQtb2ZmLWJ5OiBEZXJlayBCdWl0ZW5odWlzIDxkZXJlay5idWl0ZW5odWlzQGdtYWlsLmNvbT4K Ky0tLQorIHNyYy9jb3JlL2F1ZGlvc291cmNlLmNwcCB8IDE2ICsrKysrKy0tLS0KKyBzcmMvY29y ZS9pbmRleGluZy5jcHAgICAgfCA2MyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tCisgc3JjL2NvcmUvaW5kZXhpbmcuaCAgICAgIHwgIDQgKy0tCisgc3JjL2NvcmUvdXRp bHMuY3BwICAgICAgIHwgIDYgLS0tLQorIHNyYy9jb3JlL3V0aWxzLmggICAgICAgICB8ICAxIC0K KyBzcmMvY29yZS92aWRlb3NvdXJjZS5jcHAgfCAzMCArKysrKysrKysrLS0tLS0tLS0tCisgNiBm aWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL3NyYy9jb3JlL2F1ZGlvc291cmNlLmNwcCBiL3NyYy9jb3JlL2F1ZGlvc291cmNlLmNw cAoraW5kZXggMzdjZjlhZWVmLi5lNGNlOTdjZGIgMTAwNjQ0CistLS0gYS9zcmMvY29yZS9hdWRp b3NvdXJjZS5jcHAKKysrKyBiL3NyYy9jb3JlL2F1ZGlvc291cmNlLmNwcAorQEAgLTI4NSwxMCAr Mjg1LDE1IEBAIEZGTVNfQXVkaW9Tb3VyY2U6OkF1ZGlvQmxvY2sgKkZGTVNfQXVkaW9Tb3VyY2U6 OkNhY2hlQmxvY2soQ2FjaGVJdGVyYXRvciAmcG9zKSB7CisgaW50IEZGTVNfQXVkaW9Tb3VyY2U6 OkRlY29kZU5leHRCbG9jayhDYWNoZUl0ZXJhdG9yICpwb3MpIHsKKyAgICAgQ3VycmVudEZyYW1l ID0gJkZyYW1lc1tQYWNrZXROdW1iZXJdOworCistICAgIEFWUGFja2V0IFBhY2tldDsKKy0gICAg aWYgKCFSZWFkUGFja2V0KCZQYWNrZXQpKQorKyAgICBBVlBhY2tldCAqUGFja2V0ID0gYXZfcGFj a2V0X2FsbG9jKCk7CisrICAgIGlmICghUGFja2V0KQorKyAgICAgICAgdGhyb3cgRkZNU19FeGNl cHRpb24oRkZNU19FUlJPUl9QQVJTRVIsIEZGTVNfRVJST1JfQUxMT0NBVElPTl9GQUlMRUQsCisr ICAgICAgICAgICAgIkNvdWxkIG5vdCBhbGxvY2F0ZSBwYWNrZXQuIik7CisrICAgIGlmICghUmVh ZFBhY2tldChQYWNrZXQpKSB7CisrICAgICAgICBhdl9wYWNrZXRfZnJlZSgmUGFja2V0KTsKKyAg ICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZGTVNfRVJST1JfUEFSU0VSLCBGRk1TX0VSUk9S X1VOS05PV04sCisgICAgICAgICAgICAgIlJlYWRQYWNrZXQgdW5leHBlY3RlZGx5IGZhaWxlZCB0 byByZWFkIGEgcGFja2V0Iik7CisrICAgIH0KKworICAgICAvLyBSZWFkUGFja2V0IG1heSBoYXZl IGNoYW5nZWQgdGhlIHBhY2tldCBudW1iZXIKKyAgICAgQ3VycmVudEZyYW1lID0gJkZyYW1lc1tQ YWNrZXROdW1iZXJdOworQEAgLTI5Nyw4ICszMDIsOSBAQCBpbnQgRkZNU19BdWRpb1NvdXJjZTo6 RGVjb2RlTmV4dEJsb2NrKENhY2hlSXRlcmF0b3IgKnBvcykgeworICAgICBpbnQgTnVtYmVyT2ZT YW1wbGVzID0gMDsKKyAgICAgQXVkaW9CbG9jayAqQ2FjaGVkQmxvY2sgPSBudWxscHRyOworCist ICAgIGludCBSZXQgPSBhdmNvZGVjX3NlbmRfcGFja2V0KENvZGVjQ29udGV4dCwgJlBhY2tldCk7 CistICAgIGF2X3BhY2tldF91bnJlZigmUGFja2V0KTsKKysgICAgaW50IFJldCA9IGF2Y29kZWNf c2VuZF9wYWNrZXQoQ29kZWNDb250ZXh0LCBQYWNrZXQpOworKyAgICBhdl9wYWNrZXRfdW5yZWYo UGFja2V0KTsKKysgICAgYXZfcGFja2V0X2ZyZWUoJlBhY2tldCk7CisKKyAgICAgYXZfZnJhbWVf dW5yZWYoRGVjb2RlRnJhbWUpOworICAgICBSZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUoQ29k ZWNDb250ZXh0LCBEZWNvZGVGcmFtZSk7CitAQCAtNTEzLDggKzUxOSw2IEBAIHZvaWQgRkZNU19B dWRpb1NvdXJjZTo6U2VlaygpIHsKKyB9CisKKyBib29sIEZGTVNfQXVkaW9Tb3VyY2U6OlJlYWRQ YWNrZXQoQVZQYWNrZXQgKlBhY2tldCkgeworLSAgICBJbml0TnVsbFBhY2tldCgqUGFja2V0KTsK Ky0KKyAgICAgd2hpbGUgKGF2X3JlYWRfZnJhbWUoRm9ybWF0Q29udGV4dCwgUGFja2V0KSA+PSAw KSB7CisgICAgICAgICBpZiAoUGFja2V0LT5zdHJlYW1faW5kZXggPT0gVHJhY2tOdW1iZXIpIHsK KyAgICAgICAgICAgICAvLyBSZXF1aXJlZCBiZWNhdXNlIG5vdCBhbGwgYXVkaW8gcGFja2V0cywg ZXNwZWNpYWxseSBpbiBvZ2csIGhhdmUgYSBwdHMuIFVzZSB0aGUgcHJldmlvdXMgdmFsaWQgcGFj a2V0J3MgcHRzIGluc3RlYWQuCitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW5kZXhpbmcuY3BwIGIv c3JjL2NvcmUvaW5kZXhpbmcuY3BwCitpbmRleCAyM2ZiOTViMTIuLmU1NDdjNWFiZiAxMDA2NDQK Ky0tLSBhL3NyYy9jb3JlL2luZGV4aW5nLmNwcAorKysrIGIvc3JjL2NvcmUvaW5kZXhpbmcuY3Bw CitAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgRkZNU19JbmRleGVyOjpDaGVja0F1ZGlvUHJvcGVy dGllcyhpbnQgVHJhY2ssIEFWQ29kZWNDb250ZXh0ICpDb250ZXh0KSB7CisgICAgIH0KKyB9CisK Ky12b2lkIEZGTVNfSW5kZXhlcjo6UGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZp ZGVvQ29udGV4dCwgQVZQYWNrZXQgJnBrdCwgaW50ICpSZXBlYXRQaWN0LAorK3ZvaWQgRkZNU19J bmRleGVyOjpQYXJzZVZpZGVvUGFja2V0KFNoYXJlZEFWQ29udGV4dCAmVmlkZW9Db250ZXh0LCBB VlBhY2tldCAqcGt0LCBpbnQgKlJlcGVhdFBpY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50ICpGcmFtZVR5cGUsIGJvb2wgKkludmlzaWJsZSwgZW51bSBBVlBpY3R1 cmVTdHJ1Y3R1cmUgKkxhc3RQaWNTdHJ1Y3QpIHsKKyAgICAgaWYgKFZpZGVvQ29udGV4dC5QYXJz ZXIpIHsKKyAgICAgICAgIHVpbnQ4X3QgKk9COworQEAgLTMzMCw4ICszMzAsOCBAQCB2b2lkIEZG TVNfSW5kZXhlcjo6UGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZpZGVvQ29udGV4 dCwgQVZQYWNrZXQgJnBrdAorICAgICAgICAgYXZfcGFyc2VyX3BhcnNlMihWaWRlb0NvbnRleHQu UGFyc2VyLAorICAgICAgICAgICAgIFZpZGVvQ29udGV4dC5Db2RlY0NvbnRleHQsCisgICAgICAg ICAgICAgJk9CLCAmT0JTaXplLAorLSAgICAgICAgICAgIHBrdC5kYXRhLCBwa3Quc2l6ZSwKKy0g ICAgICAgICAgICBwa3QucHRzLCBwa3QuZHRzLCBwa3QucG9zKTsKKysgICAgICAgICAgICBwa3Qt PmRhdGEsIHBrdC0+c2l6ZSwKKysgICAgICAgICAgICBwa3QtPnB0cywgcGt0LT5kdHMsIHBrdC0+ cG9zKTsKKworICAgICAgICAgLy8gSC4yNjQgKFBBRkYpIGFuZCBIRVZDIG1heSBoYXZlIG9uZSBm aWVsZCBwZXIgcGFja2V0LCBzbyB3ZSBuZWVkIHRvIHRyYWNrCisgICAgICAgICAvLyB3aGVuIHdl IGhhdmUgYSBmdWxsIG9yIGhhbGYgZnJhbWUgYXZhaWxhYmxlLCBhbmQgbWFyayBvbmUgb2YgdGhl bSBhcworQEAgLTM1MSwxNSArMzUxLDE1IEBAIHZvaWQgRkZNU19JbmRleGVyOjpQYXJzZVZpZGVv UGFja2V0KFNoYXJlZEFWQ29udGV4dCAmVmlkZW9Db250ZXh0LCBBVlBhY2tldCAmcGt0CisKKyAg ICAgICAgICpSZXBlYXRQaWN0ID0gVmlkZW9Db250ZXh0LlBhcnNlci0+cmVwZWF0X3BpY3Q7Cisg ICAgICAgICAqRnJhbWVUeXBlID0gVmlkZW9Db250ZXh0LlBhcnNlci0+cGljdF90eXBlOworLSAg ICAgICAgKkludmlzaWJsZSA9IChJbmNvbXBsZXRlRnJhbWUgfHwgVmlkZW9Db250ZXh0LlBhcnNl ci0+cmVwZWF0X3BpY3QgPCAwIHx8IChwa3QuZmxhZ3MgJiBBVl9QS1RfRkxBR19ESVNDQVJEKSk7 CisrICAgICAgICAqSW52aXNpYmxlID0gKEluY29tcGxldGVGcmFtZSB8fCBWaWRlb0NvbnRleHQu UGFyc2VyLT5yZXBlYXRfcGljdCA8IDAgfHwgKHBrdC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19ESVND QVJEKSk7CisgICAgIH0gZWxzZSB7CistICAgICAgICAqSW52aXNpYmxlID0gISEocGt0LmZsYWdz ICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCk7CisrICAgICAgICAqSW52aXNpYmxlID0gISEocGt0LT5m bGFncyAmIEFWX1BLVF9GTEFHX0RJU0NBUkQpOworICAgICB9CisKKyAgICAgaWYgKFZpZGVvQ29u dGV4dC5Db2RlY0NvbnRleHQtPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQOCkKKy0gICAgICAg IFBhcnNlVlA4KHBrdC5kYXRhWzBdLCBJbnZpc2libGUsIEZyYW1lVHlwZSk7CisrICAgICAgICBQ YXJzZVZQOChwa3QtPmRhdGFbMF0sIEludmlzaWJsZSwgRnJhbWVUeXBlKTsKKyAgICAgZWxzZSBp ZiAoVmlkZW9Db250ZXh0LkNvZGVjQ29udGV4dC0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA5 KQorLSAgICAgICAgUGFyc2VWUDkocGt0LmRhdGFbMF0sIEludmlzaWJsZSwgRnJhbWVUeXBlKTsK KysgICAgICAgIFBhcnNlVlA5KHBrdC0+ZGF0YVswXSwgSW52aXNpYmxlLCBGcmFtZVR5cGUpOwor IH0KKworIHZvaWQgRkZNU19JbmRleGVyOjpGcmVlKCkgeworQEAgLTQ1OCwzMiArNDU4LDM2IEBA IEZGTVNfSW5kZXggKkZGTVNfSW5kZXhlcjo6RG9JbmRleGluZygpIHsKKyAgICAgICAgIH0KKyAg ICAgfQorCistICAgIEFWUGFja2V0IFBhY2tldDsKKy0gICAgSW5pdE51bGxQYWNrZXQoUGFja2V0 KTsKKysgICAgQVZQYWNrZXQgKlBhY2tldCA9IGF2X3BhY2tldF9hbGxvYygpOworKyAgICBpZiAo IVBhY2tldCkKKysgICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZGTVNfRVJST1JfQ09ERUMs IEZGTVNfRVJST1JfQUxMT0NBVElPTl9GQUlMRUQsCisrICAgICAgICAgICAgIkNvdWxkIG5vdCBh bGxvY2F0ZSBwYWNrZXQuIik7CisgICAgIHN0ZDo6dmVjdG9yPGludDY0X3Q+IExhc3RWYWxpZFRT KEZvcm1hdENvbnRleHQtPm5iX3N0cmVhbXMsIEFWX05PUFRTX1ZBTFVFKTsKKworICAgICBpbnQ2 NF90IGZpbGVzaXplID0gYXZpb19zaXplKEZvcm1hdENvbnRleHQtPnBiKTsKKyAgICAgZW51bSBB VlBpY3R1cmVTdHJ1Y3R1cmUgTGFzdFBpY1N0cnVjdCA9IEFWX1BJQ1RVUkVfU1RSVUNUVVJFX1VO S05PV047CistICAgIHdoaWxlIChhdl9yZWFkX2ZyYW1lKEZvcm1hdENvbnRleHQsICZQYWNrZXQp ID49IDApIHsKKysgICAgd2hpbGUgKGF2X3JlYWRfZnJhbWUoRm9ybWF0Q29udGV4dCwgUGFja2V0 KSA+PSAwKSB7CisgICAgICAgICAvLyBVcGRhdGUgcHJvZ3Jlc3MKKyAgICAgICAgIC8vIEZvcm1h dENvbnRleHQtPnBiIGNhbiBhcHBhcmVudGx5IGJlIE5VTEwgd2hlbiBvcGVuaW5nIGltYWdlcy4K KyAgICAgICAgIGlmIChJQyAmJiBGb3JtYXRDb250ZXh0LT5wYikgeworLSAgICAgICAgICAgIGlm ICgoKklDKShGb3JtYXRDb250ZXh0LT5wYi0+cG9zLCBmaWxlc2l6ZSwgSUNQcml2YXRlKSkKKysg ICAgICAgICAgICBpZiAoKCpJQykoRm9ybWF0Q29udGV4dC0+cGItPnBvcywgZmlsZXNpemUsIElD UHJpdmF0ZSkpIHsKKysgICAgICAgICAgICAgICAgYXZfcGFja2V0X2ZyZWUoJlBhY2tldCk7Cisg ICAgICAgICAgICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZGTVNfRVJST1JfQ0FOQ0VMTEVE LCBGRk1TX0VSUk9SX1VTRVIsCisgICAgICAgICAgICAgICAgICAgICAiQ2FuY2VsbGVkIGJ5IHVz ZXIiKTsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CistICAgICAgICBpZiAoIUluZGV4TWFz ay5jb3VudChQYWNrZXQuc3RyZWFtX2luZGV4KSkgeworLSAgICAgICAgICAgIGF2X3BhY2tldF91 bnJlZigmUGFja2V0KTsKKysgICAgICAgIGlmICghSW5kZXhNYXNrLmNvdW50KFBhY2tldC0+c3Ry ZWFtX2luZGV4KSkgeworKyAgICAgICAgICAgIGF2X3BhY2tldF91bnJlZihQYWNrZXQpOworICAg ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorCistICAgICAgICBpbnQgVHJhY2sgPSBQ YWNrZXQuc3RyZWFtX2luZGV4OworKyAgICAgICAgaW50IFRyYWNrID0gUGFja2V0LT5zdHJlYW1f aW5kZXg7CisgICAgICAgICBGRk1TX1RyYWNrICZUcmFja0luZm8gPSAoKlRyYWNrSW5kaWNlcylb VHJhY2tdOworLSAgICAgICAgYm9vbCBLZXlGcmFtZSA9ICEhKFBhY2tldC5mbGFncyAmIEFWX1BL VF9GTEFHX0tFWSk7CisrICAgICAgICBib29sIEtleUZyYW1lID0gISEoUGFja2V0LT5mbGFncyAm IEFWX1BLVF9GTEFHX0tFWSk7CisgICAgICAgICBSZWFkVFMoUGFja2V0LCBMYXN0VmFsaWRUU1tU cmFja10sICgqVHJhY2tJbmRpY2VzKVtUcmFja10uVXNlRFRTKTsKKworICAgICAgICAgaWYgKEZv cm1hdENvbnRleHQtPnN0cmVhbXNbVHJhY2tdLT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9PSBBVk1F RElBX1RZUEVfVklERU8pIHsKKy0gICAgICAgICAgICBpbnQ2NF90IFBUUyA9IFRyYWNrSW5mby5V c2VEVFMgPyBQYWNrZXQuZHRzIDogUGFja2V0LnB0czsKKysgICAgICAgICAgICBpbnQ2NF90IFBU UyA9IFRyYWNrSW5mby5Vc2VEVFMgPyBQYWNrZXQtPmR0cyA6IFBhY2tldC0+cHRzOworICAgICAg ICAgICAgIGlmIChQVFMgPT0gQVZfTk9QVFNfVkFMVUUpIHsKKyAgICAgICAgICAgICAgICAgLy8g VlB4IGFsdC1yZWZzIGFyZSBvdXRwdXQgYXMgcGFja2V0cyB3aGljaCBsYWNrIHRpbWVzdG1wcyBv ciBkdXJhdGlvbnMsIHNpbmNlCisgICAgICAgICAgICAgICAgIC8vIHRoZXkgYXJlIGludmlzaWJs ZS4gQ3VycmVudGx5LCB0aGUgdGltZXN0YW1wIG1hbmdsaW5nIGNvZGUgaW4gbGliYXZmb3JtYXQK K0BAIC00OTUsOSArNDk5LDExIEBAIEZGTVNfSW5kZXggKkZGTVNfSW5kZXhlcjo6RG9JbmRleGlu ZygpIHsKKyAgICAgICAgICAgICAgICAgLy8gRkZNUzIgY3VycmVudGx5IHNvcnRzIHBhY2tldHMg YnkgUFRTLCB3aGljaCB3aWxsIGJyZWFrIGRlY29kaW5nLCBvdGhlcndpc2UuCisgICAgICAgICAg ICAgICAgIGJvb2wgSGFzQWx0UmVmcyA9IChGb3JtYXRDb250ZXh0LT5zdHJlYW1zW1RyYWNrXS0+ Y29kZWNwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQOCB8fAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tUcmFja10tPmNvZGVj cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDkpOworLSAgICAgICAgICAgICAgICBpZiAo UGFja2V0LmR1cmF0aW9uID09IDAgJiYgIUhhc0FsdFJlZnMpCisrICAgICAgICAgICAgICAgIGlm IChQYWNrZXQtPmR1cmF0aW9uID09IDAgJiYgIUhhc0FsdFJlZnMpIHsKKysgICAgICAgICAgICAg ICAgICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQpOworICAgICAgICAgICAgICAgICAgICAgdGhy b3cgRkZNU19FeGNlcHRpb24oRkZNU19FUlJPUl9JTkRFWElORywgRkZNU19FUlJPUl9QQVJTRVIs CisgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgcGFja2V0IHB0cywgZHRzLCBhbmQg ZHVyYXRpb24iKTsKKysgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgIGlmIChU cmFja0luZm8uZW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgIFBUUyA9IDA7CitAQCAtNTEz LDcgKzUxOSw3IEBAIEZGTVNfSW5kZXggKkZGTVNfSW5kZXhlcjo6RG9JbmRleGluZygpIHsKKyAg ICAgICAgICAgICBQYXJzZVZpZGVvUGFja2V0KEFWQ29udGV4dHNbVHJhY2tdLCBQYWNrZXQsICZS ZXBlYXRQaWN0LCAmRnJhbWVUeXBlLCAmSW52aXNpYmxlLCAmTGFzdFBpY1N0cnVjdCk7CisKKyAg ICAgICAgICAgICBUcmFja0luZm8uQWRkVmlkZW9GcmFtZShQVFMsIFJlcGVhdFBpY3QsIEtleUZy YW1lLAorLSAgICAgICAgICAgICAgICBGcmFtZVR5cGUsIFBhY2tldC5wb3MsIEludmlzaWJsZSk7 CisrICAgICAgICAgICAgICAgIEZyYW1lVHlwZSwgUGFja2V0LT5wb3MsIEludmlzaWJsZSk7Cisg ICAgICAgICB9IGVsc2UgaWYgKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbVHJhY2tdLT5jb2RlY3Bh ci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfQVVESU8pIHsKKyAgICAgICAgICAgICAvLyBG b3IgdmlkZW8gc2Vla2luZyB0aW1lc3RhbXBzIGFyZSB1c2VkIG9ubHkgaWYgYWxsIHBhY2tldHMg aGF2ZQorICAgICAgICAgICAgIC8vIHRpbWVzdGFtcHMsIHdoaWxlIGZvciBhdWRpbyB0aGV5J3Jl IHVzZWQgaWYgYW55IGhhdmUgdGltZXN0YW1wcywKK0BAIC01MjIsMjggKzUyOCwyOSBAQCBGRk1T X0luZGV4ICpGRk1TX0luZGV4ZXI6OkRvSW5kZXhpbmcoKSB7CisgICAgICAgICAgICAgICAgIFRy YWNrSW5mby5IYXNUUyA9IHRydWU7CisKKyAgICAgICAgICAgICBpbnQ2NF90IFN0YXJ0U2FtcGxl ID0gQVZDb250ZXh0c1tUcmFja10uQ3VycmVudFNhbXBsZTsKKy0gICAgICAgICAgICB1aW50MzJf dCBTYW1wbGVDb3VudCA9IEluZGV4QXVkaW9QYWNrZXQoVHJhY2ssICZQYWNrZXQsIEFWQ29udGV4 dHNbVHJhY2tdLCAqVHJhY2tJbmRpY2VzKTsKKysgICAgICAgICAgICB1aW50MzJfdCBTYW1wbGVD b3VudCA9IEluZGV4QXVkaW9QYWNrZXQoVHJhY2ssIFBhY2tldCwgQVZDb250ZXh0c1tUcmFja10s ICpUcmFja0luZGljZXMpOworICAgICAgICAgICAgIFRyYWNrSW5mby5TYW1wbGVSYXRlID0gQVZD b250ZXh0c1tUcmFja10uQ29kZWNDb250ZXh0LT5zYW1wbGVfcmF0ZTsKKworICAgICAgICAgICAg IFRyYWNrSW5mby5BZGRBdWRpb0ZyYW1lKExhc3RWYWxpZFRTW1RyYWNrXSwKKy0gICAgICAgICAg ICAgICAgU3RhcnRTYW1wbGUsIFNhbXBsZUNvdW50LCBLZXlGcmFtZSwgUGFja2V0LnBvcywgUGFj a2V0LmZsYWdzICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCk7CisrICAgICAgICAgICAgICAgIFN0YXJ0 U2FtcGxlLCBTYW1wbGVDb3VudCwgS2V5RnJhbWUsIFBhY2tldC0+cG9zLCBQYWNrZXQtPmZsYWdz ICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCk7CisgICAgICAgICB9CisKKy0gICAgICAgIGlmICghKFBh Y2tldC5mbGFncyAmIEFWX1BLVF9GTEFHX0RJU0NBUkQpKQorLSAgICAgICAgICAgIFRyYWNrSW5m by5MYXN0RHVyYXRpb24gPSBQYWNrZXQuZHVyYXRpb247CisrICAgICAgICBpZiAoIShQYWNrZXQt PmZsYWdzICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCkpCisrICAgICAgICAgICAgVHJhY2tJbmZvLkxh c3REdXJhdGlvbiA9IFBhY2tldC0+ZHVyYXRpb247CisKKy0gICAgICAgIGF2X3BhY2tldF91bnJl ZigmUGFja2V0KTsKKysgICAgICAgIGF2X3BhY2tldF91bnJlZihQYWNrZXQpOworICAgICB9Cisr ICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQpOworCisgICAgIFRyYWNrSW5kaWNlcy0+RmluYWxp emUoQVZDb250ZXh0cywgRm9ybWF0Q29udGV4dC0+aWZvcm1hdC0+bmFtZSk7CisgICAgIHJldHVy biBUcmFja0luZGljZXMucmVsZWFzZSgpOworIH0KKworLXZvaWQgRkZNU19JbmRleGVyOjpSZWFk VFMoY29uc3QgQVZQYWNrZXQgJlBhY2tldCwgaW50NjRfdCAmVFMsIGJvb2wgJlVzZURUUykgewor LSAgICBpZiAoIVVzZURUUyAmJiBQYWNrZXQucHRzICE9IEFWX05PUFRTX1ZBTFVFKQorLSAgICAg ICAgVFMgPSBQYWNrZXQucHRzOworK3ZvaWQgRkZNU19JbmRleGVyOjpSZWFkVFMoY29uc3QgQVZQ YWNrZXQgKlBhY2tldCwgaW50NjRfdCAmVFMsIGJvb2wgJlVzZURUUykgeworKyAgICBpZiAoIVVz ZURUUyAmJiBQYWNrZXQtPnB0cyAhPSBBVl9OT1BUU19WQUxVRSkKKysgICAgICAgIFRTID0gUGFj a2V0LT5wdHM7CisgICAgIGlmIChUUyA9PSBBVl9OT1BUU19WQUxVRSkKKyAgICAgICAgIFVzZURU UyA9IHRydWU7CistICAgIGlmIChVc2VEVFMgJiYgUGFja2V0LmR0cyAhPSBBVl9OT1BUU19WQUxV RSkKKy0gICAgICAgIFRTID0gUGFja2V0LmR0czsKKysgICAgaWYgKFVzZURUUyAmJiBQYWNrZXQt PmR0cyAhPSBBVl9OT1BUU19WQUxVRSkKKysgICAgICAgIFRTID0gUGFja2V0LT5kdHM7CisgfQor ZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2luZGV4aW5nLmggYi9zcmMvY29yZS9pbmRleGluZy5oCitp bmRleCAzY2ZjM2MzMGIuLjVjMDY4Njg4OSAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL2luZGV4aW5n LmgKKysrKyBiL3NyYy9jb3JlL2luZGV4aW5nLmgKK0BAIC04MCwxMCArODAsMTAgQEAgc3RydWN0 IEZGTVNfSW5kZXhlciB7CisgICAgIGludDY0X3QgRmlsZXNpemU7CisgICAgIHVpbnQ4X3QgRGln ZXN0WzIwXTsKKworLSAgICB2b2lkIFJlYWRUUyhjb25zdCBBVlBhY2tldCAmUGFja2V0LCBpbnQ2 NF90ICZUUywgYm9vbCAmVXNlRFRTKTsKKysgICAgdm9pZCBSZWFkVFMoY29uc3QgQVZQYWNrZXQg KlBhY2tldCwgaW50NjRfdCAmVFMsIGJvb2wgJlVzZURUUyk7CisgICAgIHZvaWQgQ2hlY2tBdWRp b1Byb3BlcnRpZXMoaW50IFRyYWNrLCBBVkNvZGVjQ29udGV4dCAqQ29udGV4dCk7CisgICAgIHVp bnQzMl90IEluZGV4QXVkaW9QYWNrZXQoaW50IFRyYWNrLCBBVlBhY2tldCAqUGFja2V0LCBTaGFy ZWRBVkNvbnRleHQgJkNvbnRleHQsIEZGTVNfSW5kZXggJlRyYWNrSW5kaWNlcyk7CistICAgIHZv aWQgUGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZpZGVvQ29udGV4dCwgQVZQYWNr ZXQgJnBrdCwgaW50ICpSZXBlYXRQaWN0LCBpbnQgKkZyYW1lVHlwZSwgYm9vbCAqSW52aXNpYmxl LCBlbnVtIEFWUGljdHVyZVN0cnVjdHVyZSAqTGFzdFBpY1N0cnVjdCk7CisrICAgIHZvaWQgUGFy c2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZpZGVvQ29udGV4dCwgQVZQYWNrZXQgKnBr dCwgaW50ICpSZXBlYXRQaWN0LCBpbnQgKkZyYW1lVHlwZSwgYm9vbCAqSW52aXNpYmxlLCBlbnVt IEFWUGljdHVyZVN0cnVjdHVyZSAqTGFzdFBpY1N0cnVjdCk7CisgICAgIHZvaWQgRnJlZSgpOwor IHB1YmxpYzoKKyAgICAgRkZNU19JbmRleGVyKGNvbnN0IGNoYXIgKkZpbGVuYW1lKTsKK2RpZmYg LS1naXQgYS9zcmMvY29yZS91dGlscy5jcHAgYi9zcmMvY29yZS91dGlscy5jcHAKK2luZGV4IGNl Njc1MzNmZC4uOGEyZTk5NzEwIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvdXRpbHMuY3BwCisrKysg Yi9zcmMvY29yZS91dGlscy5jcHAKK0BAIC02MiwxMiArNjIsNiBAQCB2b2lkIENsZWFyRXJyb3JJ bmZvKEZGTVNfRXJyb3JJbmZvICpFcnJvckluZm8pIHsKKyAgICAgfQorIH0KKworLXZvaWQgSW5p dE51bGxQYWNrZXQoQVZQYWNrZXQgJnBrdCkgeworLSAgICBhdl9pbml0X3BhY2tldCgmcGt0KTsK Ky0gICAgcGt0LmRhdGEgPSBudWxscHRyOworLSAgICBwa3Quc2l6ZSA9IDA7CistfQorLQorIHZv aWQgRmlsbEFQKEZGTVNfQXVkaW9Qcm9wZXJ0aWVzICZBUCwgQVZDb2RlY0NvbnRleHQgKkNUWCwg RkZNU19UcmFjayAmRnJhbWVzKSB7CisgICAgIEFQLlNhbXBsZUZvcm1hdCA9IHN0YXRpY19jYXN0 PEZGTVNfU2FtcGxlRm9ybWF0Pihhdl9nZXRfcGFja2VkX3NhbXBsZV9mbXQoQ1RYLT5zYW1wbGVf Zm10KSk7CisgICAgIEFQLkJpdHNQZXJTYW1wbGUgPSBhdl9nZXRfYnl0ZXNfcGVyX3NhbXBsZShD VFgtPnNhbXBsZV9mbXQpICogODsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy5oIGIvc3Jj L2NvcmUvdXRpbHMuaAoraW5kZXggOTgxOWRjN2M5Li4wMDNhYjc5NGUgMTAwNjQ0CistLS0gYS9z cmMvY29yZS91dGlscy5oCisrKysgYi9zcmMvY29yZS91dGlscy5oCitAQCAtNTgsNyArNTgsNiBA QCBzdGQ6OnVuaXF1ZV9wdHI8VD4gbWFrZV91bmlxdWUoQXJncyYmLi4uIGFyZ3MpIHsKKyB9CisK KyB2b2lkIENsZWFyRXJyb3JJbmZvKEZGTVNfRXJyb3JJbmZvICpFcnJvckluZm8pOworLXZvaWQg SW5pdE51bGxQYWNrZXQoQVZQYWNrZXQgJnBrdCk7Cisgdm9pZCBGaWxsQVAoRkZNU19BdWRpb1By b3BlcnRpZXMgJkFQLCBBVkNvZGVjQ29udGV4dCAqQ1RYLCBGRk1TX1RyYWNrICZGcmFtZXMpOwor Cisgdm9pZCBMQVZGT3BlbkZpbGUoY29uc3QgY2hhciAqU291cmNlRmlsZSwgQVZGb3JtYXRDb250 ZXh0IComRm9ybWF0Q29udGV4dCwgaW50IFRyYWNrKTsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS92 aWRlb3NvdXJjZS5jcHAgYi9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAKK2luZGV4IDA2YmQxNjEw ZS4uYjg4OTk3MGUyIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwCisrKysg Yi9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAKK0BAIC02NzMsMzAgKzY3MywzNCBAQCB2b2lkIEZG TVNfVmlkZW9Tb3VyY2U6OkRlY29kZU5leHRGcmFtZShpbnQ2NF90ICZBU3RhcnRUaW1lLCBpbnQ2 NF90ICZQb3MpIHsKKyAgICAgaWYgKEhhc1BlbmRpbmdEZWxheWVkRnJhbWVzKCkpCisgICAgICAg ICByZXR1cm47CisKKy0gICAgQVZQYWNrZXQgUGFja2V0OworLSAgICBJbml0TnVsbFBhY2tldChQ YWNrZXQpOworLQorLSAgICB3aGlsZSAoUmVhZEZyYW1lKCZQYWNrZXQpID49IDApIHsKKy0gICAg ICAgIGlmIChQYWNrZXQuc3RyZWFtX2luZGV4ICE9IFZpZGVvVHJhY2spIHsKKy0gICAgICAgICAg ICBhdl9wYWNrZXRfdW5yZWYoJlBhY2tldCk7CisrICAgIEFWUGFja2V0ICpQYWNrZXQgPSBhdl9w YWNrZXRfYWxsb2MoKTsKKysgICAgaWYgKCFQYWNrZXQpCisrICAgICAgICB0aHJvdyBGRk1TX0V4 Y2VwdGlvbihGRk1TX0VSUk9SX0RFQ09ESU5HLCBGRk1TX0VSUk9SX0FMTE9DQVRJT05fRkFJTEVE LAorKyAgICAgICAgICAgICJDb3VsZCBub3QgYWxsb2NhdGUgcGFja2V0LiIpOworKworKyAgICB3 aGlsZSAoUmVhZEZyYW1lKFBhY2tldCkgPj0gMCkgeworKyAgICAgICAgaWYgKFBhY2tldC0+c3Ry ZWFtX2luZGV4ICE9IFZpZGVvVHJhY2spIHsKKysgICAgICAgICAgICBhdl9wYWNrZXRfdW5yZWYo UGFja2V0KTsKKyAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgIH0KKworICAgICAgICAg aWYgKEFTdGFydFRpbWUgPCAwKQorLSAgICAgICAgICAgIEFTdGFydFRpbWUgPSBGcmFtZXMuVXNl RFRTID8gUGFja2V0LmR0cyA6IFBhY2tldC5wdHM7CisrICAgICAgICAgICAgQVN0YXJ0VGltZSA9 IEZyYW1lcy5Vc2VEVFMgPyBQYWNrZXQtPmR0cyA6IFBhY2tldC0+cHRzOworCisgICAgICAgICBp ZiAoUG9zIDwgMCkKKy0gICAgICAgICAgICBQb3MgPSBQYWNrZXQucG9zOworKyAgICAgICAgICAg IFBvcyA9IFBhY2tldC0+cG9zOworCistICAgICAgICBib29sIEZyYW1lRmluaXNoZWQgPSBEZWNv ZGVQYWNrZXQoJlBhY2tldCk7CistICAgICAgICBhdl9wYWNrZXRfdW5yZWYoJlBhY2tldCk7Cist ICAgICAgICBpZiAoRnJhbWVGaW5pc2hlZCkKKysgICAgICAgIGJvb2wgRnJhbWVGaW5pc2hlZCA9 IERlY29kZVBhY2tldChQYWNrZXQpOworKyAgICAgICAgYXZfcGFja2V0X3VucmVmKFBhY2tldCk7 CisrICAgICAgICBpZiAoRnJhbWVGaW5pc2hlZCkgeworKyAgICAgICAgICAgIGF2X3BhY2tldF9m cmVlKCZQYWNrZXQpOworICAgICAgICAgICAgIHJldHVybjsKKysgICAgICAgIH0KKyAgICAgfQor CisgICAgIC8vIEZsdXNoIGZpbmFsIGZyYW1lcworLSAgICBJbml0TnVsbFBhY2tldChQYWNrZXQp OworLSAgICBEZWNvZGVQYWNrZXQoJlBhY2tldCk7CisrICAgIERlY29kZVBhY2tldChQYWNrZXQp OworKyAgICBhdl9wYWNrZXRfZnJlZSgmUGFja2V0KTsKKyB9CisKKyBib29sIEZGTVNfVmlkZW9T b3VyY2U6OlNlZWtUbyhpbnQgbiwgaW50IFNlZWtPZmZzZXQpIHsKKworRnJvbSBiZjllMDNlOWUw ODUzNGMwMjRlNWE3NDRhNjQzN2M0YWFjMTYwMjAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogRGVyZWsgQnVpdGVuaHVpcyA8ZGVyZWsuYnVpdGVuaHVpc0BnbWFpbC5jb20+CitEYXRl OiBUdWUsIDQgTWF5IDIwMjEgMTQ6MjA6NDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzNdIGNv bmZpZ3VyZTogUmVtb3ZlIGRlcHJlY2F0ZWQgQVBJIHVzZQorCitTaWduZWQtb2ZmLWJ5OiBEZXJl ayBCdWl0ZW5odWlzIDxkZXJlay5idWl0ZW5odWlzQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3Vy ZS5hYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4 IGIzNWVmODBiYy4uZDE5NzE0ZDBmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9j b25maWd1cmUuYWMKK0BAIC0xMDIsMTAgKzEwMiwxMCBAQCBDRkxBR1M9IiRfQ0ZMQUdTICRGRk1Q RUdfQ0ZMQUdTIgorCisgQUNfREVGVU4oW1RFU1RfRkZNUEVHXSwKKyAgICAgICAgICBbQUNfTElO S19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworLSAgICAgICAgICAgICNpbmNsdWRlIDxsaWJh dmNvZGVjL2F2Y29kZWMuaD4KKysgICAgICAgICAgICAjaW5jbHVkZSA8bGliYXZmb3JtYXQvYXZm b3JtYXQuaD4KKyAgICAgICAgICAgICAjaW5jbHVkZSA8bGlic3dzY2FsZS9zd3NjYWxlLmg+Cisg ICAgICAgICAgICAgXV0sW1sKKy0gICAgICAgICAgICAgICAgYXZjb2RlY19yZWdpc3Rlcl9hbGwo KTsKKysgICAgICAgICAgICAgICAgYXZmb3JtYXRfbmV0d29ya19pbml0KCk7CisgICAgICAgICAg ICAgICAgIHN3c2NhbGVfdmVyc2lvbigpOworICAgICAgICAgICAgIF1dKV0sIFtldmFsICQxPXll c10sIFtldmFsICQxPW5vXSkKKyAgICAgICAgIF0pCisKK0Zyb20gYTE4YzgyOTY2ODdlMjY3YjIw ZWM5MGVmODE2NzFiNzdkMzkzYTM2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERl cmVrIEJ1aXRlbmh1aXMgPGRlcmVrLmJ1aXRlbmh1aXNAZ21haWwuY29tPgorRGF0ZTogVHVlLCA0 IE1heSAyMDIxIDE0OjQxOjIxICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMy8zXSBVc2UgYXV0byBm b3IgQVZDb2RlYworCitUaGUgZ2VuaXVzZXMgb3ZlciBhdCBGRm1wZWcgZGVjaWRlZCB0byBjb25z dGlmeSB0aGlzIEFQSSwgc28gb2xkCit2ZXJzaW9ucyBvZiB0aGUgbGlicmFyeSB3aWxsIHJldHVy biBBVkNvZGVjICosIHdoaWxlIG5ldyB2ZXJzaW9ucworb2YgdGhlIGxpYmFyeSB3aWxsIHJldHVy biBjb25zdCBBVkNvZGVjICosIHdoaWNoLCBpbiBDKyssIGFyZSBub3QKK09LIHRvIGNvbnZlcnQg YmV0d2Vlbi4KKworUmF0aGVyIHRoYW4gdXNlIHNvbWUgbWFjcm8gaGVsbCBpbiBmZm1zY29tcGF0 LmgsIHdlIGNhbiB3b3JrIGFyb3VuZAordGhpcyBieSB1c2luZyBhdXRvLgorCitHcm9zcy4KKwor U2lnbmVkLW9mZi1ieTogRGVyZWsgQnVpdGVuaHVpcyA8ZGVyZWsuYnVpdGVuaHVpc0BnbWFpbC5j b20+CistLS0KKyBzcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAgfCAyICstCisgc3JjL2NvcmUvaW5k ZXhpbmcuY3BwICAgIHwgNiArKystLS0KKyBzcmMvY29yZS92aWRlb3NvdXJjZS5jcHAgfCAyICst CisgMyBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9zcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAgYi9zcmMvY29yZS9hdWRpb3NvdXJj ZS5jcHAKK2luZGV4IGU0Y2U5N2NkYi4uYWMwOTY2NjM2IDEwMDY0NAorLS0tIGEvc3JjL2NvcmUv YXVkaW9zb3VyY2UuY3BwCisrKysgYi9zcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAKK0BAIC00Njks NyArNDY5LDcgQEAgdm9pZCBGRk1TX0F1ZGlvU291cmNlOjpPcGVuRmlsZSgpIHsKKworICAgICBM QVZGT3BlbkZpbGUoU291cmNlRmlsZS5jX3N0cigpLCBGb3JtYXRDb250ZXh0LCBUcmFja051bWJl cik7CisKKy0gICAgQVZDb2RlYyAqQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRD b250ZXh0LT5zdHJlYW1zW1RyYWNrTnVtYmVyXS0+Y29kZWNwYXItPmNvZGVjX2lkKTsKKysgICAg YXV0byAqQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJlYW1z W1RyYWNrTnVtYmVyXS0+Y29kZWNwYXItPmNvZGVjX2lkKTsKKyAgICAgaWYgKENvZGVjID09IG51 bGxwdHIpCisgICAgICAgICB0aHJvdyBGRk1TX0V4Y2VwdGlvbihGRk1TX0VSUk9SX0RFQ09ESU5H LCBGRk1TX0VSUk9SX0NPREVDLAorICAgICAgICAgICAgICJBdWRpbyBjb2RlYyBub3QgZm91bmQi KTsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS9pbmRleGluZy5jcHAgYi9zcmMvY29yZS9pbmRleGlu Zy5jcHAKK2luZGV4IGU1NDdjNWFiZi4uNTlmYjRlOGVhIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUv aW5kZXhpbmcuY3BwCisrKysgYi9zcmMvY29yZS9pbmRleGluZy5jcHAKK0BAIC0zODQsNyArMzg0 LDcgQEAgRkZNU19UcmFja1R5cGUgRkZNU19JbmRleGVyOjpHZXRUcmFja1R5cGUoaW50IFRyYWNr KSB7CisgfQorCisgY29uc3QgY2hhciAqRkZNU19JbmRleGVyOjpHZXRUcmFja0NvZGVjKGludCBU cmFjaykgeworLSAgICBBVkNvZGVjICpjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKEZvcm1h dENvbnRleHQtPnN0cmVhbXNbVHJhY2tdLT5jb2RlY3Bhci0+Y29kZWNfaWQpOworKyAgICBhdXRv ICpjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbVHJh Y2tdLT5jb2RlY3Bhci0+Y29kZWNfaWQpOworICAgICByZXR1cm4gY29kZWMgPyBjb2RlYy0+bmFt ZSA6IG51bGxwdHI7CisgfQorCitAQCAtNDAyLDcgKzQwMiw3IEBAIEZGTVNfSW5kZXggKkZGTVNf SW5kZXhlcjo6RG9JbmRleGluZygpIHsKKyAgICAgICAgICAgICBVc2VEVFMpOworCisgICAgICAg ICBpZiAoSW5kZXhNYXNrLmNvdW50KGkpICYmIEZvcm1hdENvbnRleHQtPnN0cmVhbXNbaV0tPmNv ZGVjcGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgeworLSAgICAgICAgICAg IEFWQ29kZWMgKlZpZGVvQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0 LT5zdHJlYW1zW2ldLT5jb2RlY3Bhci0+Y29kZWNfaWQpOworKyAgICAgICAgICAgIGF1dG8gKlZp ZGVvQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ld LT5jb2RlY3Bhci0+Y29kZWNfaWQpOworICAgICAgICAgICAgIGlmICghVmlkZW9Db2RlYykgewor ICAgICAgICAgICAgICAgICBGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ldLT5kaXNjYXJkID0gQVZE SVNDQVJEX0FMTDsKKyAgICAgICAgICAgICAgICAgSW5kZXhNYXNrLmVyYXNlKGkpOworQEAgLTQz Myw3ICs0MzMsNyBAQCBGRk1TX0luZGV4ICpGRk1TX0luZGV4ZXI6OkRvSW5kZXhpbmcoKSB7Cisg ICAgICAgICAgICAgICAgIEluZGV4TWFzay5pbnNlcnQoaSk7CisgICAgICAgICAgICAgfQorICAg ICAgICAgfSBlbHNlIGlmIChJbmRleE1hc2suY291bnQoaSkgJiYgRm9ybWF0Q29udGV4dC0+c3Ry ZWFtc1tpXS0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPKSB7Cist ICAgICAgICAgICAgQVZDb2RlYyAqQXVkaW9Db2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKEZv cm1hdENvbnRleHQtPnN0cmVhbXNbaV0tPmNvZGVjcGFyLT5jb2RlY19pZCk7CisrICAgICAgICAg ICAgYXV0byAqQXVkaW9Db2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKEZvcm1hdENvbnRleHQt PnN0cmVhbXNbaV0tPmNvZGVjcGFyLT5jb2RlY19pZCk7CisgICAgICAgICAgICAgaWYgKEF1ZGlv Q29kZWMgPT0gbnVsbHB0cikKKyAgICAgICAgICAgICAgICAgdGhyb3cgRkZNU19FeGNlcHRpb24o RkZNU19FUlJPUl9DT0RFQywgRkZNU19FUlJPUl9VTlNVUFBPUlRFRCwKKyAgICAgICAgICAgICAg ICAgICAgICJBdWRpbyBjb2RlYyBub3QgZm91bmQiKTsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS92 aWRlb3NvdXJjZS5jcHAgYi9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAKK2luZGV4IGI4ODk5NzBl Mi4uODk1NmMyMjU2IDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwCisrKysg Yi9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAKK0BAIC0xNzEsNyArMTcxLDcgQEAgRkZNU19WaWRl b1NvdXJjZTo6RkZNU19WaWRlb1NvdXJjZShjb25zdCBjaGFyICpTb3VyY2VGaWxlLCBGRk1TX0lu ZGV4ICZJbmRleCwgaW4KKworICAgICAgICAgTEFWRk9wZW5GaWxlKFNvdXJjZUZpbGUsIEZvcm1h dENvbnRleHQsIFZpZGVvVHJhY2spOworCistICAgICAgICBBVkNvZGVjICpDb2RlYyA9IGF2Y29k ZWNfZmluZF9kZWNvZGVyKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbVmlkZW9UcmFja10tPmNvZGVj cGFyLT5jb2RlY19pZCk7CisrICAgICAgICBhdXRvICpDb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNv ZGVyKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbVmlkZW9UcmFja10tPmNvZGVjcGFyLT5jb2RlY19p ZCk7CisgICAgICAgICBpZiAoQ29kZWMgPT0gbnVsbHB0cikKKyAgICAgICAgICAgICB0aHJvdyBG Rk1TX0V4Y2VwdGlvbihGRk1TX0VSUk9SX0RFQ09ESU5HLCBGRk1TX0VSUk9SX0NPREVDLAorICAg ICAgICAgICAgICAgICAiVmlkZW8gY29kZWMgbm90IGZvdW5kIik7CmRpZmYgLS1naXQgYS9zcmNw a2dzL2ZmbXMyL3RlbXBsYXRlIGIvc3JjcGtncy9mZm1zMi90ZW1wbGF0ZQppbmRleCA2OGU4YTBj MTRiY2UuLjJhY2ZhZGFjNDRiMyAxMDA2NDQKLS0tIGEvc3JjcGtncy9mZm1zMi90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2ZmbXMyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnZmZtczInCiBwa2duYW1lPWZmbXMyCiB2ZXJzaW9uPTIuNDAKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSIt LWVuYWJsZS1zaGFyZWQgLS1kaXNhYmxlLXN0YXRpYyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNv bmZpZyBhdXRvY29uZiBhdXRvbWFrZSBsaWJ0b29sIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mcmVl cmRwL3RlbXBsYXRlIGIvc3JjcGtncy9mcmVlcmRwL3RlbXBsYXRlCmluZGV4IDUzZTY3NjkwZjg2 My4uMWI1MGU5YTg2YmIyIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZyZWVyZHAvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9mcmVlcmRwL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnZnJlZXJkcCcKIHBrZ25hbWU9ZnJlZXJkcAogdmVyc2lvbj0yLjkuMAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFdJ VEhfQUxTQT1PTiAtRFdJVEhfQ1VQUz1PRkYgLURXSVRIX0ZGTVBFRz1PTgogIC1EV0lUSF9HU1RS RUFNRVJfMF8xMD1PRkYgLURXSVRIX0dTVFJFQU1FUl8xXzA9T0ZGIC1EV0lUSF9KUEVHPU9OCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2dlcmJlcmEvdGVtcGxhdGUgYi9zcmNwa2dzL2dlcmJlcmEvdGVt cGxhdGUKaW5kZXggYWUxNGYzNWM3NjdjLi4yZGMwYWMwY2UwM2IgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvZ2VyYmVyYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dlcmJlcmEvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnZXJiZXJhJwogcGtnbmFtZT1nZXJiZXJh CiB2ZXJzaW9uPTEuMTIuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKIGNvbmZpZ3VyZV9hcmdzPSItRFdJVEhfU1lTVEVNRD0wIC1EV0lUSF9BVkNPREVDPTEiCiBo b3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dvbGRlbmRp Y3QvcGF0Y2hlcy9mZm1wZWc1LTEucGF0Y2ggYi9zcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hlcy9m Zm1wZWc1LTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43 Y2ZjOThhZGEzNjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hl cy9mZm1wZWc1LTEucGF0Y2gKQEAgLTAsMCArMSwyMzIgQEAKK0Zyb20gMDNiYmUwMWI3OWExZjA3 YTY3ODBjYjYwZjIzYTA4NzEwNGM1ZDc3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IEFiczYyIDxvdHRvbWFubkB5YW5kZXgucnU+CitEYXRlOiBGcmksIDMwIE1hciAyMDE4IDIyOjUz OjI0ICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB3YXJuaW5ncyB3aGlsZSBjb21waWxlIHdp dGggRkZNcGVnIDMuNC4yIChpc3N1ZSAjOTc4KQorCistLS0KKyBmZm1wZWdhdWRpby5jYyB8IDY4 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCisgMSBm aWxlIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9mZm1wZWdhdWRpby5jYyBiL2ZmbXBlZ2F1ZGlvLmNjCitpbmRleCBlZDExNzJiZGQuLjU2 ZThmNzg4ZSAxMDA2NDQKKy0tLSBhL2ZmbXBlZ2F1ZGlvLmNjCisrKysgYi9mZm1wZWdhdWRpby5j YworQEAgLTkxLDYgKzkxLDcgQEAgc3RydWN0IERlY29kZXJDb250ZXh0CisgICBRQnl0ZUFycmF5 IGF1ZGlvRGF0YV87CisgICBRRGF0YVN0cmVhbSBhdWRpb0RhdGFTdHJlYW1fOworICAgQVZGb3Jt YXRDb250ZXh0ICogZm9ybWF0Q29udGV4dF87CisrICBBVkNvZGVjICogY29kZWNfOworICAgQVZD b2RlY0NvbnRleHQgKiBjb2RlY0NvbnRleHRfOworICAgQVZJT0NvbnRleHQgKiBhdmlvQ29udGV4 dF87CisgICBBVlN0cmVhbSAqIGF1ZGlvU3RyZWFtXzsKK0BAIC0xMTQsNiArMTE1LDcgQEAgRGVj b2RlckNvbnRleHQ6OkRlY29kZXJDb250ZXh0KCBRQnl0ZUFycmF5IGNvbnN0ICYgYXVkaW9EYXRh LCBRQXRvbWljSW50ICYgaXNDYW4KKyAgIGF1ZGlvRGF0YV8oIGF1ZGlvRGF0YSApLAorICAgYXVk aW9EYXRhU3RyZWFtXyggYXVkaW9EYXRhXyApLAorICAgZm9ybWF0Q29udGV4dF8oIE5VTEwgKSwK KysgIGNvZGVjXyggTlVMTCApLAorICAgY29kZWNDb250ZXh0XyggTlVMTCApLAorICAgYXZpb0Nv bnRleHRfKCBOVUxMICksCisgICBhdWRpb1N0cmVhbV8oIE5VTEwgKSwKK0BAIC0xNDMsNyArMTQ1 LDExIEBAIGJvb2wgRGVjb2RlckNvbnRleHQ6Om9wZW5Db2RlYyggUVN0cmluZyAmIGVycm9yU3Ry aW5nICkKKyAgICAgcmV0dXJuIGZhbHNlOworICAgfQorCisrI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9NQUpPUiA8IDU2IHx8ICggTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SID09IDU2ICYmIExJQkFW Q09ERUNfVkVSU0lPTl9NSU5PUiA8IDU2ICkKKyAgIHVuc2lnbmVkIGNoYXIgKiBhdmlvQnVmZmVy ID0gKCB1bnNpZ25lZCBjaGFyICogKWF2X21hbGxvYygga0J1ZmZlclNpemUgKyBGRl9JTlBVVF9C VUZGRVJfUEFERElOR19TSVpFICk7CisrI2Vsc2UKKysgIHVuc2lnbmVkIGNoYXIgKiBhdmlvQnVm ZmVyID0gKCB1bnNpZ25lZCBjaGFyICogKWF2X21hbGxvYygga0J1ZmZlclNpemUgKyBBVl9JTlBV VF9CVUZGRVJfUEFERElOR19TSVpFICk7CisrI2VuZGlmCisgICBpZiAoICFhdmlvQnVmZmVyICkK KyAgIHsKKyAgICAgZXJyb3JTdHJpbmcgPSBRT2JqZWN0Ojp0ciggImF2X21hbGxvYygpIGZhaWxl ZC4iICk7CitAQCAtMTg2LDcgKzE5MiwxMSBAQCBib29sIERlY29kZXJDb250ZXh0OjpvcGVuQ29k ZWMoIFFTdHJpbmcgJiBlcnJvclN0cmluZyApCisgICAvLyBGaW5kIGF1ZGlvIHN0cmVhbSwgdXNl IHRoZSBmaXJzdCBhdWRpbyBzdHJlYW0gaWYgYXZhaWxhYmxlCisgICBmb3IgKCB1bnNpZ25lZCBp ID0gMDsgaSA8IGZvcm1hdENvbnRleHRfLT5uYl9zdHJlYW1zOyBpKysgKQorICAgeworKyNpZiBM SUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPCA1NyB8fCAoIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpP UiA9PSA1NyAmJiBMSUJBVkNPREVDX1ZFUlNJT05fTUlOT1IgPCAzMyApCisgICAgIGlmICggZm9y bWF0Q29udGV4dF8tPnN0cmVhbXNbaV0tPmNvZGVjLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQ RV9BVURJTyApCisrI2Vsc2UKKysgICAgICBpZiAoIGZvcm1hdENvbnRleHRfLT5zdHJlYW1zW2ld LT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfQVVESU8gKQorKyNlbmRpZgor ICAgICB7CisgICAgICAgYXVkaW9TdHJlYW1fID0gZm9ybWF0Q29udGV4dF8tPnN0cmVhbXNbaV07 CisgICAgICAgYnJlYWs7CitAQCAtMTk4LDIyICsyMDgsMzggQEAgYm9vbCBEZWNvZGVyQ29udGV4 dDo6b3BlbkNvZGVjKCBRU3RyaW5nICYgZXJyb3JTdHJpbmcgKQorICAgICByZXR1cm4gZmFsc2U7 CisgICB9CisKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SIDwgNTcgfHwgKCBMSUJBVkNP REVDX1ZFUlNJT05fTUFKT1IgPT0gNTcgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01JTk9SIDwgMzMg KQorICAgY29kZWNDb250ZXh0XyA9IGF1ZGlvU3RyZWFtXy0+Y29kZWM7CistICBBVkNvZGVjICog Y29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlciggY29kZWNDb250ZXh0Xy0+Y29kZWNfaWQgKTsK Ky0gIGlmICggIWNvZGVjICkKKysgIGNvZGVjXyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKCBjb2Rl Y0NvbnRleHRfLT5jb2RlY19pZCApOworKyAgaWYgKCAhY29kZWNfICkKKyAgIHsKKyAgICAgZXJy b3JTdHJpbmcgPSBRT2JqZWN0Ojp0ciggIkNvZGVjIFtpZDogJTFdIG5vdCBmb3VuZC4iICkuYXJn KCBjb2RlY0NvbnRleHRfLT5jb2RlY19pZCApOworICAgICByZXR1cm4gZmFsc2U7CisgICB9Cisr I2Vsc2UKKysgIGNvZGVjXyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKCBhdWRpb1N0cmVhbV8tPmNv ZGVjcGFyLT5jb2RlY19pZCApOworKyAgaWYgKCAhY29kZWNfICkKKysgIHsKKysgICAgZXJyb3JT dHJpbmcgPSBRT2JqZWN0Ojp0ciggIkNvZGVjIFtpZDogJTFdIG5vdCBmb3VuZC4iICkuYXJnKCBh dWRpb1N0cmVhbV8tPmNvZGVjcGFyLT5jb2RlY19pZCApOworKyAgICByZXR1cm4gZmFsc2U7Cisr ICB9CisrICBjb2RlY0NvbnRleHRfID0gYXZjb2RlY19hbGxvY19jb250ZXh0MyggY29kZWNfICk7 CisrICBpZiAoICFjb2RlY0NvbnRleHRfICkKKysgIHsKKysgICAgZXJyb3JTdHJpbmcgPSBRT2Jq ZWN0Ojp0ciggImF2Y29kZWNfYWxsb2NfY29udGV4dDMoKSBmYWlsZWQuIiApOworKyAgICByZXR1 cm4gZmFsc2U7CisrICB9CisrICBhdmNvZGVjX3BhcmFtZXRlcnNfdG9fY29udGV4dCggY29kZWND b250ZXh0XywgYXVkaW9TdHJlYW1fLT5jb2RlY3BhciApOworKyNlbmRpZgorCistICByZXQgPSBh dmNvZGVjX29wZW4yKCBjb2RlY0NvbnRleHRfLCBjb2RlYywgTlVMTCApOworKyAgcmV0ID0gYXZj b2RlY19vcGVuMiggY29kZWNDb250ZXh0XywgY29kZWNfLCBOVUxMICk7CisgICBpZiAoIHJldCA8 IDAgKQorICAgeworICAgICBlcnJvclN0cmluZyA9IFFPYmplY3Q6OnRyKCAiYXZjb2RlY19vcGVu MigpIGZhaWxlZDogJTEuIiApLmFyZyggYXZFcnJvclN0cmluZyggcmV0ICkgKTsKKyAgICAgcmV0 dXJuIGZhbHNlOworICAgfQorCistICBhdl9sb2coIE5VTEwsIEFWX0xPR19JTkZPLCAiQ29kZWMg b3BlbjogJXM6IGNoYW5uZWxzOiAlZCwgcmF0ZTogJWQsIGZvcm1hdDogJXNcbiIsIGNvZGVjLT5s b25nX25hbWUsCisrICBhdl9sb2coIE5VTEwsIEFWX0xPR19JTkZPLCAiQ29kZWMgb3BlbjogJXM6 IGNoYW5uZWxzOiAlZCwgcmF0ZTogJWQsIGZvcm1hdDogJXNcbiIsIGNvZGVjXy0+bG9uZ19uYW1l LAorICAgICAgICAgICBjb2RlY0NvbnRleHRfLT5jaGFubmVscywgY29kZWNDb250ZXh0Xy0+c2Ft cGxlX3JhdGUsIGF2X2dldF9zYW1wbGVfZm10X25hbWUoIGNvZGVjQ29udGV4dF8tPnNhbXBsZV9m bXQgKSApOworICAgcmV0dXJuIHRydWU7CisgfQorQEAgLTI1MiwxMCArMjc4LDEzIEBAIHZvaWQg RGVjb2RlckNvbnRleHQ6OmNsb3NlQ29kZWMoKQorCisgICAvLyBDbG9zaW5nIGEgY29kZWMgY29u dGV4dCB3aXRob3V0IHByaW9yIGF2Y29kZWNfb3BlbjIoKSB3aWxsIHJlc3VsdCBpbgorICAgLy8g YSBjcmFzaCBpbiBmZm1wZWcKKy0gIGlmICggYXVkaW9TdHJlYW1fICYmIGF1ZGlvU3RyZWFtXy0+ Y29kZWMgJiYgYXVkaW9TdHJlYW1fLT5jb2RlYy0+Y29kZWMgKQorKyAgaWYgKCBhdWRpb1N0cmVh bV8gJiYgY29kZWNDb250ZXh0XyAmJiBjb2RlY18gKQorICAgeworICAgICBhdWRpb1N0cmVhbV8t PmRpc2NhcmQgPSBBVkRJU0NBUkRfQUxMOworLSAgICBhdmNvZGVjX2Nsb3NlKCBhdWRpb1N0cmVh bV8tPmNvZGVjICk7CisrICAgIGF2Y29kZWNfY2xvc2UoIGNvZGVjQ29udGV4dF8gKTsKKysjaWYg TElCQVZDT0RFQ19WRVJTSU9OX01BSk9SID4gNTcgfHwgKCBMSUJBVkNPREVDX1ZFUlNJT05fTUFK T1IgPT0gNTcgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01JTk9SID49IDMzICkKKysgICAgYXZjb2Rl Y19mcmVlX2NvbnRleHQoICZjb2RlY0NvbnRleHRfICk7CisrI2VuZGlmCisgICB9CisKKyAgIGF2 Zm9ybWF0X2Nsb3NlX2lucHV0KCAmZm9ybWF0Q29udGV4dF8gKTsKK0BAIC0zNTYsNiArMzg1LDcg QEAgYm9vbCBEZWNvZGVyQ29udGV4dDo6cGxheSggUVN0cmluZyAmIGVycm9yU3RyaW5nICkKKyAg ICAgaWYgKCBwYWNrZXQuc3RyZWFtX2luZGV4ID09IGF1ZGlvU3RyZWFtXy0+aW5kZXggKQorICAg ICB7CisgICAgICAgQVZQYWNrZXQgcGFjayA9IHBhY2tldDsKKysjaWYgTElCQVZDT0RFQ19WRVJT SU9OX01BSk9SIDwgNTcgfHwgKCBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPT0gNTcgJiYgTElC QVZDT0RFQ19WRVJTSU9OX01JTk9SIDwgMzcgKQorICAgICAgIGludCBnb3RGcmFtZSA9IDA7Cisg ICAgICAgZG8KKyAgICAgICB7CitAQCAtMzcwLDYgKzQwMCwxOSBAQCBib29sIERlY29kZXJDb250 ZXh0OjpwbGF5KCBRU3RyaW5nICYgZXJyb3JTdHJpbmcgKQorICAgICAgICAgcGFjay5kYXRhICs9 IGxlbjsKKyAgICAgICB9CisgICAgICAgd2hpbGUoIHBhY2suc2l6ZSA+IDAgKTsKKysjZWxzZQor KyAgICAgIGludCByZXQgPSBhdmNvZGVjX3NlbmRfcGFja2V0KCBjb2RlY0NvbnRleHRfLCAmcGFj ayApOworKyAgICAgIC8qIHJlYWQgYWxsIHRoZSBvdXRwdXQgZnJhbWVzIChpbiBnZW5lcmFsIHRo ZXJlIG1heSBiZSBhbnkgbnVtYmVyIG9mIHRoZW0pICovCisrICAgICAgd2hpbGUoIHJldCA+PSAw ICkKKysgICAgICB7CisrICAgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUoIGNvZGVj Q29udGV4dF8sIGZyYW1lKTsKKysKKysgICAgICAgIGlmICggUXQ0eDU6OkF0b21pY0ludDo6bG9h ZEFjcXVpcmUoIGlzQ2FuY2VsbGVkXyApIHx8IHJldCA8IDAgKQorKyAgICAgICAgICBicmVhazsK KysKKysgICAgICAgIHBsYXlGcmFtZSggZnJhbWUgKTsKKysgICAgICB9CisrI2VuZGlmCisgICAg IH0KKyAgICAgLy8gYXZfZnJlZV9wYWNrZXQoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBlYWNoIGNh bGwgdG8gYXZfcmVhZF9mcmFtZSgpCisgI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA8IDU3 IHx8ICggTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SID09IDU3ICYmIExJQkFWQ09ERUNfVkVSU0lP Tl9NSU5PUiA8IDcgKQorQEAgLTM3OSw2ICs0MjIsNyBAQCBib29sIERlY29kZXJDb250ZXh0Ojpw bGF5KCBRU3RyaW5nICYgZXJyb3JTdHJpbmcgKQorICNlbmRpZgorICAgfQorCisrI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9NQUpPUiA8IDU3IHx8ICggTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SID09 IDU3ICYmIExJQkFWQ09ERUNfVkVSU0lPTl9NSU5PUiA8IDM3ICkKKyAgIGlmICggIVF0NHg1OjpB dG9taWNJbnQ6OmxvYWRBY3F1aXJlKCBpc0NhbmNlbGxlZF8gKSAmJgorICAgICAgICBjb2RlY0Nv bnRleHRfLT5jb2RlYy0+Y2FwYWJpbGl0aWVzICYgQ09ERUNfQ0FQX0RFTEFZICkKKyAgIHsKK0BA IC0zOTEsNiArNDM1LDE4IEBAIGJvb2wgRGVjb2RlckNvbnRleHQ6OnBsYXkoIFFTdHJpbmcgJiBl cnJvclN0cmluZyApCisgICAgICAgcGxheUZyYW1lKCBmcmFtZSApOworICAgICB9CisgICB9Cisr I2Vsc2UKKysgIC8qIGZsdXNoIHRoZSBkZWNvZGVyICovCisrICBhdl9pbml0X3BhY2tldCggJnBh Y2tldCApOworKyAgaW50IHJldCA9IGF2Y29kZWNfc2VuZF9wYWNrZXQoY29kZWNDb250ZXh0Xywg JnBhY2tldCApOworKyAgd2hpbGUoIHJldCA+PSAwICkKKysgIHsKKysgICAgcmV0ID0gYXZjb2Rl Y19yZWNlaXZlX2ZyYW1lKGNvZGVjQ29udGV4dF8sIGZyYW1lKTsKKysgICAgaWYgKCBRdDR4NTo6 QXRvbWljSW50Ojpsb2FkQWNxdWlyZSggaXNDYW5jZWxsZWRfICkgfHwgcmV0IDwgMCApCisrICAg ICAgYnJlYWs7CisrICAgIHBsYXlGcmFtZSggZnJhbWUgKTsKKysgIH0KKysjZW5kaWYKKworICNp ZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPCA1NAorICAgYXZfZnJlZSggZnJhbWUgKTsKKzMy CitzcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hlcy9mZm1wZWc1LTIucGF0Y2gKK0NvbW1lbnQgb24g dGhpcyBmaWxlCitAQCAtMCwwICsxLDMyIEBACitGcm9tIDk2NmY0YThiNzhlNjMyNGI5MzBlNWE1 MGYyYmI5MzBiZDg3ZTU2NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBYnM2MiA8 b3R0b21hbm5AeWFuZGV4LnJ1PgorRGF0ZTogRnJpLCAyNyBTZXAgMjAxOSAxNzowMDo1MiArMDMw MAorU3ViamVjdDogW1BBVENIXSBGRm1wZWcgcGxheWVyOiBGaXggc29tZSBjcmFzaGVzIG9uIGJy b2tlbiBmaWxlcworCistLS0KKyBmZm1wZWdhdWRpby5jYyB8IDQgKysrKworIDEgZmlsZSBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2ZmbXBlZ2F1ZGlvLmNjIGIvZmZt cGVnYXVkaW8uY2MKK2luZGV4IDU2ZThmNzg4ZS4uNDE1ZmM3OWNiIDEwMDY0NAorLS0tIGEvZmZt cGVnYXVkaW8uY2MKKysrKyBiL2ZmbXBlZ2F1ZGlvLmNjCitAQCAtNTEsNyArNTEsOSBAQCBBdWRp b1NlcnZpY2UgJiBBdWRpb1NlcnZpY2U6Omluc3RhbmNlKCkKKworIEF1ZGlvU2VydmljZTo6QXVk aW9TZXJ2aWNlKCkKKyB7CisrI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fTUFKT1IgPCA1OCB8fCAo IExJQkFWRk9STUFUX1ZFUlNJT05fTUFKT1IgPT0gNTggJiYgTElCQVZGT1JNQVRfVkVSU0lPTl9N SU5PUiA8IDkgKQorICAgYXZfcmVnaXN0ZXJfYWxsKCk7CisrI2VuZGlmCisgICBhb19pbml0aWFs aXplKCk7CisgfQorCitAQCAtNDM4LDYgKzQ0MCw4IEBAIGJvb2wgRGVjb2RlckNvbnRleHQ6OnBs YXkoIFFTdHJpbmcgJiBlcnJvclN0cmluZyApCisgI2Vsc2UKKyAgIC8qIGZsdXNoIHRoZSBkZWNv ZGVyICovCisgICBhdl9pbml0X3BhY2tldCggJnBhY2tldCApOworKyAgcGFja2V0LmRhdGEgPSBO VUxMOworKyAgcGFja2V0LnNpemUgPSAwOworICAgaW50IHJldCA9IGF2Y29kZWNfc2VuZF9wYWNr ZXQoY29kZWNDb250ZXh0XywgJnBhY2tldCApOworICAgd2hpbGUoIHJldCA+PSAwICkKKyAgIHsK KzI1CitzcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hlcy9mZm1wZWc1LTMucGF0Y2gKK0NvbW1lbnQg b24gdGhpcyBmaWxlCitAQCAtMCwwICsxLDI1IEBACitGcm9tIDhhY2IyODhjOWU5YmRiM2M2YmYy ZTgwMzk1NGRkM2I2YWMyNzNjMDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaWFv IEp1bnh1YW4gPG1pa2VsanhAMTI2LmNvbT4KK0RhdGU6IFN1biwgMjAgRmViIDIwMjIgMTI6Mjg6 MDUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIHN1cHBvcnQgZm9yIGZmbXBlZyA1LjAKKwor LS0tCisgZmZtcGVnYXVkaW8uY2MgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspCisKK2RpZmYgLS1naXQgYS9mZm1wZWdhdWRpby5jYyBiL2ZmbXBlZ2F1ZGlvLmNjCitp bmRleCBkNTUwZjRhNzcuLjc5NDhkMjE4NyAxMDA2NDQKKy0tLSBhL2ZmbXBlZ2F1ZGlvLmNjCisr KysgYi9mZm1wZWdhdWRpby5jYworQEAgLTk0LDcgKzk0LDExIEBAIHN0cnVjdCBEZWNvZGVyQ29u dGV4dAorICAgUUJ5dGVBcnJheSBhdWRpb0RhdGFfOworICAgUURhdGFTdHJlYW0gYXVkaW9EYXRh U3RyZWFtXzsKKyAgIEFWRm9ybWF0Q29udGV4dCAqIGZvcm1hdENvbnRleHRfOworKyNpZiBMSUJB VkNPREVDX1ZFUlNJT05fTUFKT1IgPCA1OQorICAgQVZDb2RlYyAqIGNvZGVjXzsKKysjZWxzZQor KyAgY29uc3QgQVZDb2RlYyAqIGNvZGVjXzsKKysjZW5kaWYKKyAgIEFWQ29kZWNDb250ZXh0ICog Y29kZWNDb250ZXh0XzsKKyAgIEFWSU9Db250ZXh0ICogYXZpb0NvbnRleHRfOworICAgQVZTdHJl YW0gKiBhdWRpb1N0cmVhbV87CmRpZmYgLS1naXQgYS9zcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hl cy9mZm1wZWc1LTIucGF0Y2ggYi9zcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hlcy9mZm1wZWc1LTIu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45YzQ3N2IwYzEz NDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2dvbGRlbmRpY3QvcGF0Y2hlcy9mZm1wZWc1 LTIucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorCitGcm9tIDk2NmY0YThiNzhlNjMyNGI5MzBlNWE1 MGYyYmI5MzBiZDg3ZTU2NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBYnM2MiA8 b3R0b21hbm5AeWFuZGV4LnJ1PgorRGF0ZTogRnJpLCAyNyBTZXAgMjAxOSAxNzowMDo1MiArMDMw MAorU3ViamVjdDogW1BBVENIXSBGRm1wZWcgcGxheWVyOiBGaXggc29tZSBjcmFzaGVzIG9uIGJy b2tlbiBmaWxlcworCistLS0KKyBmZm1wZWdhdWRpby5jYyB8IDQgKysrKworIDEgZmlsZSBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2ZmbXBlZ2F1ZGlvLmNjIGIvZmZt cGVnYXVkaW8uY2MKK2luZGV4IDU2ZThmNzg4ZS4uNDE1ZmM3OWNiIDEwMDY0NAorLS0tIGEvZmZt cGVnYXVkaW8uY2MKKysrKyBiL2ZmbXBlZ2F1ZGlvLmNjCitAQCAtNTEsNyArNTEsOSBAQCBBdWRp b1NlcnZpY2UgJiBBdWRpb1NlcnZpY2U6Omluc3RhbmNlKCkKKworIEF1ZGlvU2VydmljZTo6QXVk aW9TZXJ2aWNlKCkKKyB7CisrI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fTUFKT1IgPCA1OCB8fCAo IExJQkFWRk9STUFUX1ZFUlNJT05fTUFKT1IgPT0gNTggJiYgTElCQVZGT1JNQVRfVkVSU0lPTl9N SU5PUiA8IDkgKQorICAgYXZfcmVnaXN0ZXJfYWxsKCk7CisrI2VuZGlmCisgICBhb19pbml0aWFs aXplKCk7CisgfQorCitAQCAtNDM4LDYgKzQ0MCw4IEBAIGJvb2wgRGVjb2RlckNvbnRleHQ6OnBs YXkoIFFTdHJpbmcgJiBlcnJvclN0cmluZyApCisgI2Vsc2UKKyAgIC8qIGZsdXNoIHRoZSBkZWNv ZGVyICovCisgICBhdl9pbml0X3BhY2tldCggJnBhY2tldCApOworKyAgcGFja2V0LmRhdGEgPSBO VUxMOworKyAgcGFja2V0LnNpemUgPSAwOworICAgaW50IHJldCA9IGF2Y29kZWNfc2VuZF9wYWNr ZXQoY29kZWNDb250ZXh0XywgJnBhY2tldCApOworICAgd2hpbGUoIHJldCA+PSAwICkKKyAgIHsK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVzL2ZmbXBlZzUtMy5wYXRjaCBi L3NyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVzL2ZmbXBlZzUtMy5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjcyMTAxOTAzZDFkMQotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvZ29sZGVuZGljdC9wYXRjaGVzL2ZmbXBlZzUtMy5wYXRjaApAQCAtMCwwICsx LDI1IEBACitGcm9tIDhhY2IyODhjOWU5YmRiM2M2YmYyZTgwMzk1NGRkM2I2YWMyNzNjMDUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaWFvIEp1bnh1YW4gPG1pa2VsanhAMTI2LmNv bT4KK0RhdGU6IFN1biwgMjAgRmViIDIwMjIgMTI6Mjg6MDUgKzA4MDAKK1N1YmplY3Q6IFtQQVRD SF0gYWRkIHN1cHBvcnQgZm9yIGZmbXBlZyA1LjAKKworLS0tCisgZmZtcGVnYXVkaW8uY2MgfCA0 ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9m Zm1wZWdhdWRpby5jYyBiL2ZmbXBlZ2F1ZGlvLmNjCitpbmRleCBkNTUwZjRhNzcuLjc5NDhkMjE4 NyAxMDA2NDQKKy0tLSBhL2ZmbXBlZ2F1ZGlvLmNjCisrKysgYi9mZm1wZWdhdWRpby5jYworQEAg LTk0LDcgKzk0LDExIEBAIHN0cnVjdCBEZWNvZGVyQ29udGV4dAorICAgUUJ5dGVBcnJheSBhdWRp b0RhdGFfOworICAgUURhdGFTdHJlYW0gYXVkaW9EYXRhU3RyZWFtXzsKKyAgIEFWRm9ybWF0Q29u dGV4dCAqIGZvcm1hdENvbnRleHRfOworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPCA1 OQorICAgQVZDb2RlYyAqIGNvZGVjXzsKKysjZWxzZQorKyAgY29uc3QgQVZDb2RlYyAqIGNvZGVj XzsKKysjZW5kaWYKKyAgIEFWQ29kZWNDb250ZXh0ICogY29kZWNDb250ZXh0XzsKKyAgIEFWSU9D b250ZXh0ICogYXZpb0NvbnRleHRfOworICAgQVZTdHJlYW0gKiBhdWRpb1N0cmVhbV87CmRpZmYg LS1naXQgYS9zcmNwa2dzL2dvbGRlbmRpY3QvdGVtcGxhdGUgYi9zcmNwa2dzL2dvbGRlbmRpY3Qv dGVtcGxhdGUKaW5kZXggZjQxYjViMmM2ODk5Li40NTQ0YWU3MTBlZTYgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvZ29sZGVuZGljdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dvbGRlbmRpY3QvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnb2xkZW5kaWN0JwogcGtn bmFtZT1nb2xkZW5kaWN0CiB2ZXJzaW9uPTEuNS4wUkMyCi1yZXZpc2lvbj01CityZXZpc2lvbj02 CiBidWlsZF9zdHlsZT1xbWFrZQogY29uZmlndXJlX2FyZ3M9IkNPTkZJRys9emltX3N1cHBvcnQi CiBob3N0bWFrZWRlcGVuZHM9InF0NS1xbWFrZSBwa2ctY29uZmlnIHF0NS1ob3N0LXRvb2xzIgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9nc3QtbGliYXYvdGVtcGxhdGUgYi9zcmNwa2dzL2dzdC1saWJh di90ZW1wbGF0ZQppbmRleCBlOWE3OWRjNjUwYTUuLmYwODJiZDIxMWM2NSAxMDA2NDQKLS0tIGEv c3JjcGtncy9nc3QtbGliYXYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nc3QtbGliYXYvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnc3QtbGliYXYnCiBwa2du YW1lPWdzdC1saWJhdgogdmVyc2lvbj0xLjIwLjMKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1 aWxkX3N0eWxlPW1lc29uCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgeWFzbSIKIG1ha2Vk ZXBlbmRzPSJvcmMtZGV2ZWwgZ3N0LXBsdWdpbnMtYmFzZTEtZGV2ZWwgZmZtcGVnLWRldmVsIgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9nc3QtcGx1Z2lucy1iYWQxL3RlbXBsYXRlIGIvc3JjcGtncy9n c3QtcGx1Z2lucy1iYWQxL3RlbXBsYXRlCmluZGV4IGJiOWM0ZDg3ZjRjNi4uZjU1ZjgyZmQ0Yzc3 IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dzdC1wbHVnaW5zLWJhZDEvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9nc3QtcGx1Z2lucy1iYWQxL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnZ3N0LXBsdWdpbnMtYmFkMScKIHBrZ25hbWU9Z3N0LXBsdWdpbnMtYmFkMQog dmVyc2lvbj0xLjIwLjMKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX2hlbHBlcj0iZ2ly IgogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZpZ3VyZV9hcmdzPSItRHBhY2thZ2Utb3JpZ2luPWh0 dHBzOi8vdm9pZGxpbnV4Lm9yZyAtRGRvYz1kaXNhYmxlZApkaWZmIC0tZ2l0IGEvc3JjcGtncy9n c3QtcnRzcC1zZXJ2ZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2dzdC1ydHNwLXNlcnZlci90ZW1wbGF0 ZQppbmRleCAzM2NkNjRjZWI5NWUuLjhjZWVhOGQzNGI0YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9n c3QtcnRzcC1zZXJ2ZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nc3QtcnRzcC1zZXJ2ZXIvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnc3QtcnRzcC1zZXJ2 ZXInCiBwa2duYW1lPWdzdC1ydHNwLXNlcnZlcgogdmVyc2lvbj0xLjIwLjMKLXJldmlzaW9uPTIK K3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPW1lc29uCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25m aWcgcHl0aG9uMyIKIG1ha2VkZXBlbmRzPSJnbGliLWRldmVsIGdzdC1wbHVnaW5zLWJhZDEtZGV2 ZWwgZ29iamVjdC1pbnRyb3NwZWN0aW9uCmRpZmYgLS1naXQgYS9zcmNwa2dzL2d0azQvdGVtcGxh dGUgYi9zcmNwa2dzL2d0azQvdGVtcGxhdGUKaW5kZXggNmE1MDU2N2Y1M2E5Li42OTc2YWVlODQ4 MTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ3RrNC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2d0azQv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdndGs0JwogcGtn bmFtZT1ndGs0CiB2ZXJzaW9uPTQuMTAuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9bWVzb24KIGJ1aWxkX2hlbHBlcj0iZ2lyIgogY29uZmlndXJlX2FyZ3M9Ii1EbWFuLXBh Z2VzPXRydWUgLURndGtfZG9jPXRydWUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3V2Y3ZpZXcvdGVt cGxhdGUgYi9zcmNwa2dzL2d1dmN2aWV3L3RlbXBsYXRlCmluZGV4IDM0NWNmNjAwNmYyNC4uZDQy ZmQzOGZhNGFkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2d1dmN2aWV3L3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvZ3V2Y3ZpZXcvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdndXZjdmlldycKIHBrZ25hbWU9Z3V2Y3ZpZXcKIHZlcnNpb249Mi4wLjcKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKIGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF9zdHlsZT1nbnUtY29uZmln dXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtZGViaWFuLW1l bnUiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2hhbmRicmFrZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvaGFu ZGJyYWtlL3RlbXBsYXRlCmluZGV4IGNhNWU0NTcxZTQ5Yy4uMTg4YTc5ZjJiZjVjIDEwMDY0NAot LS0gYS9zcmNwa2dzL2hhbmRicmFrZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2hhbmRicmFrZS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2hhbmRicmFrZScK IHBrZ25hbWU9aGFuZGJyYWtlCiB2ZXJzaW9uPTEuNS4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1mb3JjZSAtLWRp c2FibGUtZ3RrLXVwZGF0ZS1jaGVja3MgLS1kaXNhYmxlLWRmLWZldGNoIC0taGFyZGVuCiAgJCh2 b3B0X2VuYWJsZSBmZGtfYWFjIGZkay1hYWMpICQodm9wdF9lbmFibGUgbnZlbmMpIgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9oZWRnZXdhcnMvdGVtcGxhdGUgYi9zcmNwa2dzL2hlZGdld2Fycy90ZW1w bGF0ZQppbmRleCA0MTlmMjliOThiNDQuLmEzNDNiMzE3MmE3MiAxMDA2NDQKLS0tIGEvc3JjcGtn cy9oZWRnZXdhcnMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9oZWRnZXdhcnMvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdoZWRnZXdhcnMnCiBwa2duYW1lPWhl ZGdld2FycwogdmVyc2lvbj0xLjAuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5 bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRE5PU0VSVkVSPTEgLUREQVRBX0lOU1RBTExfRElS PS91c3Ivc2hhcmUvJHtwa2duYW1lfQogIC1EUEhZU0ZTX1NZU1RFTT0xIC1ETUlOSU1BTF9GTEFH Uz0xIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9pZGpjL3RlbXBsYXRlIGIvc3JjcGtncy9pZGpjL3Rl bXBsYXRlCmluZGV4IGRmNjAzMThiM2RiOS4uYjIwNWU3NDc0NWZlIDEwMDY0NAotLS0gYS9zcmNw a2dzL2lkamMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9pZGpjL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnaWRqYycKIHBrZ25hbWU9aWRqYwogdmVyc2lvbj0w LjkuMQotcmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQog aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGdpdCBweXRob24zIGF1dG9tYWtlIGdldHRleHQt ZGV2ZWwgbGlidG9vbCIKIG1ha2VkZXBlbmRzPSJsaWJ2b3JiaXMtZGV2ZWwgbGlib2dnLWRldmVs IGphY2stZGV2ZWwgbGlic2FtcGxlcmF0ZS1kZXZlbApkaWZmIC0tZ2l0IGEvc3JjcGtncy9rZmls ZW1ldGFkYXRhNS90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2ZpbGVtZXRhZGF0YTUvdGVtcGxhdGUKaW5k ZXggODNmNGQ1ODNiY2I3Li5iOTBlZjA1NmExOTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mva2ZpbGVt ZXRhZGF0YTUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9rZmlsZW1ldGFkYXRhNS90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tmaWxlbWV0YWRhdGE1JwogcGtn bmFtZT1rZmlsZW1ldGFkYXRhNQogdmVyc2lvbj01LjEwMy4wCi1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJrY29yZWFkZG9ucyBleHRy YS1jbWFrZS1tb2R1bGVzIHBrZy1jb25maWcgcXQ1LWhvc3QtdG9vbHMgcXQ1LXFtYWtlCiAgZ2V0 dGV4dCBrY29yZWFkZG9ucyBweXRob24zIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9raWQzL3RlbXBs YXRlIGIvc3JjcGtncy9raWQzL3RlbXBsYXRlCmluZGV4IDQ1NjIwNmQ5MGUxNi4uZjMyZjlkZWNi MGU3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2tpZDMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9raWQz L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAna2lkMycKIHBr Z25hbWU9a2lkMwogdmVyc2lvbj0zLjkuMQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRf c3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFdJVEhfQVBQUz0nQ0xJOyQodm9wdF9pZiBL REUgS0RFIFF0KScKICAtRFdJVEhfRE9DQk9PS0RJUj0vdXNyL3NoYXJlL3hzbC9kb2Nib29rIC1E V0lUSF9GTEFDPSQodm9wdF9pZiBmbGFjIE9OIE9GRikKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva29k aS90ZW1wbGF0ZSBiL3NyY3BrZ3Mva29kaS90ZW1wbGF0ZQppbmRleCA4MDU3OTY0ZDc4YTMuLjk5 MTMyNWY2YzQ3NyAxMDA2NDQKLS0tIGEvc3JjcGtncy9rb2RpL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3Mva29kaS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tv ZGknCiBwa2duYW1lPWtvZGkKIHZlcnNpb249MTkuNAotcmV2aXNpb249NgorcmV2aXNpb249Nwog X2NvZGVuYW1lPSJNYXRyaXgiCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1E V0lUSF9GRk1QRUc9L3VzciAtREVOQUJMRV9MREdPTEQ9T0ZGCmRpZmYgLS1naXQgYS9zcmNwa2dz L2twaXBld2lyZS90ZW1wbGF0ZSBiL3NyY3BrZ3Mva3BpcGV3aXJlL3RlbXBsYXRlCmluZGV4IDFk MWU5NjNmMjk2ZC4uMDdjZGMwYzczODRhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2twaXBld2lyZS90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2twaXBld2lyZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2twaXBld2lyZScKIHBrZ25hbWU9a3BpcGV3aXJlCiB2ZXJz aW9uPTUuMjcuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhv c3RtYWtlZGVwZW5kcz0iZXh0cmEtY21ha2UtbW9kdWxlcyBwbGFzbWEtd2F5bGFuZC1wcm90b2Nv bHMgZ2V0dGV4dAogIHF0NS1xbWFrZSBxdDUtaG9zdC10b29scyBwa2ctY29uZmlnIHdheWxhbmQt ZGV2ZWwga2NvcmVhZGRvbnMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliYXZyZXNhbXBsZSBiL3Ny Y3BrZ3MvbGliYXZyZXNhbXBsZQppbmRleCA4ODdmMzU0ZTdjNmIuLmE5ZjFlZWEwOTJkNSAxMjAw MDAKLS0tIGEvc3JjcGtncy9saWJhdnJlc2FtcGxlCisrKyBiL3NyY3BrZ3MvbGliYXZyZXNhbXBs ZQpAQCAtMSArMSBAQAotZmZtcGVnNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2ZmbXBl ZwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZXh0 cmFjdG9yL3RlbXBsYXRlIGIvc3JjcGtncy9saWJleHRyYWN0b3IvdGVtcGxhdGUKaW5kZXggMjlk NWI4ZGYwMWY4Li5kZGQ0NzkwZjkzZTggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGliZXh0cmFjdG9y L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbGliZXh0cmFjdG9yL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGliZXh0cmFjdG9yJwogcGtnbmFtZT1saWJleHRy YWN0b3IKIHZlcnNpb249MS4xMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1zdGF0aWMiCiBob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWciCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYm9wZW5hbC90ZW1w bGF0ZSBiL3NyY3BrZ3MvbGlib3BlbmFsL3RlbXBsYXRlCmluZGV4IDc3MjE4ZjllNTM5ZC4uM2Y0 OWVkNzVhMWZkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYm9wZW5hbC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2xpYm9wZW5hbC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2xpYm9wZW5hbCcKIHBrZ25hbWU9bGlib3BlbmFsCiB2ZXJzaW9uPTEuMjIuMgotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSIt REFMU09GVF9FWEFNUExFUz1PRkYiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCmRpZmYg LS1naXQgYS9zcmNwa2dzL2xpYm9wZW5zaG90L3RlbXBsYXRlIGIvc3JjcGtncy9saWJvcGVuc2hv dC90ZW1wbGF0ZQppbmRleCBkYjgzMWY2OWI0NzQuLjgxYWEwZDcxMzZkOSAxMDA2NDQKLS0tIGEv c3JjcGtncy9saWJvcGVuc2hvdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpYm9wZW5zaG90L3Rl bXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlib3BlbnNob3Qn CiBwa2duYW1lPWxpYm9wZW5zaG90CiB2ZXJzaW9uPTAuMy4wCi1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT1jbWFrZQogIyBCdWlsZHMgZmFpbCB3aXRoIFJ1YnktMi40LjEKIGNv bmZpZ3VyZV9hcmdzPSItREVOQUJMRV9SVUJZPU9GRiAtRFVTRV9TWVNURU1fSlNPTkNQUD1PTiIK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG91ZGdhaW4vdGVtcGxhdGUgYi9zcmNwa2dzL2xvdWRnYWlu L3RlbXBsYXRlCmluZGV4IGRhNGYyZDU2ZTk0Yy4uNGQ2YmYyOWVmYjRmIDEwMDY0NAotLS0gYS9z cmNwa2dzL2xvdWRnYWluL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbG91ZGdhaW4vdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdsb3VkZ2FpbicKIHBrZ25hbWU9 bG91ZGdhaW4KIHZlcnNpb249MC42LjgKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0 eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0ibGli ZWJ1cjEyOC1kZXZlbCB0YWdsaWItZGV2ZWwgZmZtcGVnLWRldmVsIgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9tZWRpYXN0cmVhbWVyL3RlbXBsYXRlIGIvc3JjcGtncy9tZWRpYXN0cmVhbWVyL3RlbXBs YXRlCmluZGV4IGQwZTk3ZTg1OGUyOS4uZDI5MjEwYzFiZjljIDEwMDY0NAotLS0gYS9zcmNwa2dz L21lZGlhc3RyZWFtZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tZWRpYXN0cmVhbWVyL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbWVkaWFzdHJlYW1lcicK IHBrZ25hbWU9bWVkaWFzdHJlYW1lcgogdmVyc2lvbj01LjIuNgotcmV2aXNpb249MQorcmV2aXNp b249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREVOQUJMRV9TVFJJQ1Q9 MCAtREVOQUJMRV9VTklUX1RFU1RTPTAiCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMiCmRpZmYg LS1naXQgYS9zcmNwa2dzL21nYmEvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9tZ2Jh L3BhdGNoZXMvZmZtcGVnNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLmFkNzA0OWVmY2FjMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbWdiYS9wYXRj aGVzL2ZmbXBlZzUucGF0Y2gKQEAgLTAsMCArMSwxMTcgQEAKK0Zyb20gY2RjNzUzNTE2Nzk4ODgy YTgwNWRiMWQyMDQyZGJjZTgzMTMzODJiZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IFJ5YW4gVGFuZHkgPHJ5YW5AbmFyZGlzLmNhPgorRGF0ZTogVGh1LCAzIEZlYiAyMDIyIDE5OjAy OjUyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZGbXBlZzogU3VwcG9ydCBGRm1wZWcgNS4wCisK Ky0tLQorIHNyYy9mZWF0dXJlL2ZmbXBlZy9mZm1wZWctZGVjb2Rlci5jIHwgIDMgKystCisgc3Jj L2ZlYXR1cmUvZmZtcGVnL2ZmbXBlZy1lbmNvZGVyLmMgfCAyNSArKysrKysrKysrKysrKy0tLS0t LS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL3NyYy9mZWF0dXJlL2ZmbXBlZy9mZm1wZWctZGVjb2Rlci5jIGIv c3JjL2ZlYXR1cmUvZmZtcGVnL2ZmbXBlZy1kZWNvZGVyLmMKK2luZGV4IGMzYmI2ZDFjNWMuLmRh YTQ3ZmJmMmMgMTAwNjQ0CistLS0gYS9zcmMvZmVhdHVyZS9mZm1wZWcvZmZtcGVnLWRlY29kZXIu YworKysrIGIvc3JjL2ZlYXR1cmUvZmZtcGVnL2ZmbXBlZy1kZWNvZGVyLmMKK0BAIC01LDYgKzUs NyBAQAorICAqIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcv TVBMLzIuMC8uICovCisgI2luY2x1ZGUgImZmbXBlZy1kZWNvZGVyLmgiCisKKysjaW5jbHVkZSA8 bGliYXZjb2RlYy9hdmNvZGVjLmg+CisgI2luY2x1ZGUgPGxpYnN3c2NhbGUvc3dzY2FsZS5oPgor Cisgdm9pZCBGRm1wZWdEZWNvZGVySW5pdChzdHJ1Y3QgRkZtcGVnRGVjb2RlciogZGVjb2Rlcikg eworQEAgLTM4LDcgKzM5LDcgQEAgYm9vbCBGRm1wZWdEZWNvZGVyT3BlbihzdHJ1Y3QgRkZtcGVn RGVjb2RlciogZGVjb2RlciwgY29uc3QgY2hhciogaW5maWxlKSB7CisgI2Vsc2UKKyAJCWVudW0g QVZNZWRpYVR5cGUgdHlwZSA9IGRlY29kZXItPmNvbnRleHQtPnN0cmVhbXNbaV0tPmNvZGVjLT5j b2RlY190eXBlOworICNlbmRpZgorLQkJc3RydWN0IEFWQ29kZWMqIGNvZGVjOworKwkJY29uc3Qg c3RydWN0IEFWQ29kZWMqIGNvZGVjOworIAkJc3RydWN0IEFWQ29kZWNDb250ZXh0KiBjb250ZXh0 ID0gTlVMTDsKKyAJCWlmICh0eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyAmJiBkZWNvZGVyLT52 aWRlb1N0cmVhbSA8IDApIHsKKyAJCQlkZWNvZGVyLT52aWRlbyA9IGF2Y29kZWNfYWxsb2NfY29u dGV4dDMoTlVMTCk7CitkaWZmIC0tZ2l0IGEvc3JjL2ZlYXR1cmUvZmZtcGVnL2ZmbXBlZy1lbmNv ZGVyLmMgYi9zcmMvZmVhdHVyZS9mZm1wZWcvZmZtcGVnLWVuY29kZXIuYworaW5kZXggYWQ3NmNh NTdiMi4uYmU2YmQzYWY1ZSAxMDA2NDQKKy0tLSBhL3NyYy9mZWF0dXJlL2ZmbXBlZy9mZm1wZWct ZW5jb2Rlci5jCisrKysgYi9zcmMvZmVhdHVyZS9mZm1wZWcvZmZtcGVnLWVuY29kZXIuYworQEAg LTEyLDYgKzEyLDkgQEAKKworICNpbmNsdWRlIDxsaWJhdmNvZGVjL3ZlcnNpb24uaD4KKyAjaW5j bHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpP UiA+PSA1OAorKyNpbmNsdWRlIDxsaWJhdmNvZGVjL2JzZi5oPgorKyNlbmRpZgorCisgI2luY2x1 ZGUgPGxpYmF2ZmlsdGVyL2J1ZmZlcnNpbmsuaD4KKyAjaW5jbHVkZSA8bGliYXZmaWx0ZXIvYnVm ZmVyc3JjLmg+CitAQCAtMTIxLDcgKzEyNCw3IEBAIGJvb2wgRkZtcGVnRW5jb2RlclNldEF1ZGlv KHN0cnVjdCBGRm1wZWdFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBjaGFyKiBhY29kZWMsIHVuCisg CQlyZXR1cm4gdHJ1ZTsKKyAJfQorCistCUFWQ29kZWMqIGNvZGVjID0gYXZjb2RlY19maW5kX2Vu Y29kZXJfYnlfbmFtZShhY29kZWMpOworKwljb25zdCBBVkNvZGVjKiBjb2RlYyA9IGF2Y29kZWNf ZmluZF9lbmNvZGVyX2J5X25hbWUoYWNvZGVjKTsKKyAJaWYgKCFjb2RlYykgeworIAkJcmV0dXJu IGZhbHNlOworIAl9CitAQCAtMTkzLDcgKzE5Niw3IEBAIGJvb2wgRkZtcGVnRW5jb2RlclNldFZp ZGVvKHN0cnVjdCBGRm1wZWdFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBjaGFyKiB2Y29kZWMsIGlu CisgCQlyZXR1cm4gdHJ1ZTsKKyAJfQorCistCUFWQ29kZWMqIGNvZGVjID0gYXZjb2RlY19maW5k X2VuY29kZXJfYnlfbmFtZSh2Y29kZWMpOworKwljb25zdCBBVkNvZGVjKiBjb2RlYyA9IGF2Y29k ZWNfZmluZF9lbmNvZGVyX2J5X25hbWUodmNvZGVjKTsKKyAJaWYgKCFjb2RlYykgeworIAkJcmV0 dXJuIGZhbHNlOworIAl9CitAQCAtMjEzLDcgKzIxNiw3IEBAIGJvb2wgRkZtcGVnRW5jb2RlclNl dFZpZGVvKHN0cnVjdCBGRm1wZWdFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBjaGFyKiB2Y29kZWMs IGluCisgCWlmIChlbmNvZGVyLT5waXhGb3JtYXQgPT0gQVZfUElYX0ZNVF9OT05FKSB7CisgCQly ZXR1cm4gZmFsc2U7CisgCX0KKy0JaWYgKHZiciA8IDAgJiYgIWF2X29wdF9maW5kKCZjb2RlYy0+ cHJpdl9jbGFzcywgImNyZiIsIE5VTEwsIDAsIDApKSB7CisrCWlmICh2YnIgPCAwICYmICFhdl9v cHRfZmluZCgodm9pZCopICZjb2RlYy0+cHJpdl9jbGFzcywgImNyZiIsIE5VTEwsIDAsIDApKSB7 CisgCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAJZW5jb2Rlci0+dmlkZW9Db2RlYyA9IHZjb2RlYzsK K0BAIC0yMjMsNyArMjI2LDcgQEAgYm9vbCBGRm1wZWdFbmNvZGVyU2V0VmlkZW8oc3RydWN0IEZG bXBlZ0VuY29kZXIqIGVuY29kZXIsIGNvbnN0IGNoYXIqIHZjb2RlYywgaW4KKyB9CisKKyBib29s IEZGbXBlZ0VuY29kZXJTZXRDb250YWluZXIoc3RydWN0IEZGbXBlZ0VuY29kZXIqIGVuY29kZXIs IGNvbnN0IGNoYXIqIGNvbnRhaW5lcikgeworLQlBVk91dHB1dEZvcm1hdCogb2Zvcm1hdCA9IGF2 X2d1ZXNzX2Zvcm1hdChjb250YWluZXIsIDAsIDApOworKwljb25zdCBBVk91dHB1dEZvcm1hdCog b2Zvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1hdChjb250YWluZXIsIDAsIDApOworIAlpZiAoIW9mb3Jt YXQpIHsKKyAJCXJldHVybiBmYWxzZTsKKyAJfQorQEAgLTI0MSw5ICsyNDQsOSBAQCB2b2lkIEZG bXBlZ0VuY29kZXJTZXRMb29waW5nKHN0cnVjdCBGRm1wZWdFbmNvZGVyKiBlbmNvZGVyLCBib29s IGxvb3ApIHsKKyB9CisKKyBib29sIEZGbXBlZ0VuY29kZXJWZXJpZnlDb250YWluZXIoc3RydWN0 IEZGbXBlZ0VuY29kZXIqIGVuY29kZXIpIHsKKy0JQVZPdXRwdXRGb3JtYXQqIG9mb3JtYXQgPSBh dl9ndWVzc19mb3JtYXQoZW5jb2Rlci0+Y29udGFpbmVyRm9ybWF0LCAwLCAwKTsKKy0JQVZDb2Rl YyogYWNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXJfYnlfbmFtZShlbmNvZGVyLT5hdWRpb0Nv ZGVjKTsKKy0JQVZDb2RlYyogdmNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXJfYnlfbmFtZShl bmNvZGVyLT52aWRlb0NvZGVjKTsKKysJY29uc3QgQVZPdXRwdXRGb3JtYXQqIG9mb3JtYXQgPSBh dl9ndWVzc19mb3JtYXQoZW5jb2Rlci0+Y29udGFpbmVyRm9ybWF0LCAwLCAwKTsKKysJY29uc3Qg QVZDb2RlYyogYWNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXJfYnlfbmFtZShlbmNvZGVyLT5h dWRpb0NvZGVjKTsKKysJY29uc3QgQVZDb2RlYyogdmNvZGVjID0gYXZjb2RlY19maW5kX2VuY29k ZXJfYnlfbmFtZShlbmNvZGVyLT52aWRlb0NvZGVjKTsKKyAJaWYgKChlbmNvZGVyLT5hdWRpb0Nv ZGVjICYmICFhY29kZWMpIHx8IChlbmNvZGVyLT52aWRlb0NvZGVjICYmICF2Y29kZWMpIHx8ICFv Zm9ybWF0IHx8ICghYWNvZGVjICYmICF2Y29kZWMpKSB7CisgCQlyZXR1cm4gZmFsc2U7CisgCX0K K0BAIC0yNTcsOCArMjYwLDggQEAgYm9vbCBGRm1wZWdFbmNvZGVyVmVyaWZ5Q29udGFpbmVyKHN0 cnVjdCBGRm1wZWdFbmNvZGVyKiBlbmNvZGVyKSB7CisgfQorCisgYm9vbCBGRm1wZWdFbmNvZGVy T3BlbihzdHJ1Y3QgRkZtcGVnRW5jb2RlciogZW5jb2RlciwgY29uc3QgY2hhciogb3V0ZmlsZSkg eworLQlBVkNvZGVjKiBhY29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2Rlcl9ieV9uYW1lKGVuY29k ZXItPmF1ZGlvQ29kZWMpOworLQlBVkNvZGVjKiB2Y29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2Rl cl9ieV9uYW1lKGVuY29kZXItPnZpZGVvQ29kZWMpOworKwljb25zdCBBVkNvZGVjKiBhY29kZWMg PSBhdmNvZGVjX2ZpbmRfZW5jb2Rlcl9ieV9uYW1lKGVuY29kZXItPmF1ZGlvQ29kZWMpOworKwlj b25zdCBBVkNvZGVjKiB2Y29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2Rlcl9ieV9uYW1lKGVuY29k ZXItPnZpZGVvQ29kZWMpOworIAlpZiAoKGVuY29kZXItPmF1ZGlvQ29kZWMgJiYgIWFjb2RlYykg fHwgKGVuY29kZXItPnZpZGVvQ29kZWMgJiYgIXZjb2RlYykgfHwgIUZGbXBlZ0VuY29kZXJWZXJp ZnlDb250YWluZXIoZW5jb2RlcikpIHsKKyAJCXJldHVybiBmYWxzZTsKKyAJfQorQEAgLTI3Miw5 ICsyNzUsOSBAQCBib29sIEZGbXBlZ0VuY29kZXJPcGVuKHN0cnVjdCBGRm1wZWdFbmNvZGVyKiBl bmNvZGVyLCBjb25zdCBjaGFyKiBvdXRmaWxlKSB7CisgCWVuY29kZXItPmN1cnJlbnRWaWRlb0Zy YW1lID0gMDsKKyAJZW5jb2Rlci0+c2tpcFJlc2lkdWUgPSAwOworCistCUFWT3V0cHV0Rm9ybWF0 KiBvZm9ybWF0ID0gYXZfZ3Vlc3NfZm9ybWF0KGVuY29kZXItPmNvbnRhaW5lckZvcm1hdCwgMCwg MCk7CisrCWNvbnN0IEFWT3V0cHV0Rm9ybWF0KiBvZm9ybWF0ID0gYXZfZ3Vlc3NfZm9ybWF0KGVu Y29kZXItPmNvbnRhaW5lckZvcm1hdCwgMCwgMCk7CisgI2lmbmRlZiBVU0VfTElCQVYKKy0JYXZm b3JtYXRfYWxsb2Nfb3V0cHV0X2NvbnRleHQyKCZlbmNvZGVyLT5jb250ZXh0LCBvZm9ybWF0LCAw LCBvdXRmaWxlKTsKKysJYXZmb3JtYXRfYWxsb2Nfb3V0cHV0X2NvbnRleHQyKCZlbmNvZGVyLT5j b250ZXh0LCAoQVZPdXRwdXRGb3JtYXQqKSBvZm9ybWF0LCAwLCBvdXRmaWxlKTsKKyAjZWxzZQor IAllbmNvZGVyLT5jb250ZXh0ID0gYXZmb3JtYXRfYWxsb2NfY29udGV4dCgpOworIAlzdHJuY3B5 KGVuY29kZXItPmNvbnRleHQtPmZpbGVuYW1lLCBvdXRmaWxlLCBzaXplb2YoZW5jb2Rlci0+Y29u dGV4dC0+ZmlsZW5hbWUpIC0gMSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL21nYmEvdGVtcGxhdGUg Yi9zcmNwa2dzL21nYmEvdGVtcGxhdGUKaW5kZXggMDViY2ExNWMxNzUwLi5mNWI2Yjg0NjQ0Mjgg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbWdiYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21nYmEvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtZ2JhJwogcGtnbmFt ZT1tZ2JhCiB2ZXJzaW9uPTAuMTAuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5 bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBxdDUtaG9zdC10b29scyBxdDUt cW1ha2UgZGVza3RvcC1maWxlLXV0aWxzIgogbWFrZWRlcGVuZHM9IlNETDItZGV2ZWwgZmZtcGVn LWRldmVsIGxpYmVkaXQtZGV2ZWwgbGliZXBveHktZGV2ZWwgbGlibWFnaWNrLWRldmVsCmRpZmYg LS1naXQgYS9zcmNwa2dzL21pbmlkbG5hL3RlbXBsYXRlIGIvc3JjcGtncy9taW5pZGxuYS90ZW1w bGF0ZQppbmRleCBlODA4MWIxY2JjNjcuLjllZTk3MTQ4NjFmZCAxMDA2NDQKLS0tIGEvc3JjcGtn cy9taW5pZGxuYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21pbmlkbG5hL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbWluaWRsbmEnCiBwa2duYW1lPW1pbmlk bG5hCiB2ZXJzaW9uPTEuMy4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iCiAgLS1zYmluZGlyPS91c3IvYmluCmRpZmYg LS1naXQgYS9zcmNwa2dzL21peHh4L3RlbXBsYXRlIGIvc3JjcGtncy9taXh4eC90ZW1wbGF0ZQpp bmRleCA2MTlkZGNhMGQzMzIuLjRiOWVhMDBkM2ZiMyAxMDA2NDQKLS0tIGEvc3JjcGtncy9taXh4 eC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21peHh4L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbWl4eHgnCiBwa2duYW1lPW1peHh4CiB2ZXJzaW9uPTIuMy4z Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2Fy Z3M9Ii1EQ01BS0VfQlVJTERfVFlQRT1SZWxlYXNlIgogaG9zdG1ha2VkZXBlbmRzPSJleHRyYS1j bWFrZS1tb2R1bGVzIHBrZy1jb25maWcgcHJvdG9idWYgcXQ1LWhvc3QtdG9vbHMgcXQ1LWRldmVs IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tbHQvdGVtcGxhdGUgYi9zcmNwa2dzL21sdC90ZW1wbGF0 ZQppbmRleCA4OTMzZWI0ZTdiYjkuLmVkNmIyNzUwM2Y5YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9t bHQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tbHQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdtbHQnCiBwa2duYW1lPW1sdAogdmVyc2lvbj02LjI2LjEKLXJl dmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNvbmZpZ3VyZQogY29uZmlndXJlX2Fy Z3M9Ii0tcHJlZml4PS91c3IgLS1saWJkaXI9L3Vzci9saWIkWEJQU19UQVJHRVRfV09SRFNJWkUK ICAtLWVuYWJsZS1ncGwgLS1lbmFibGUtZ3BsMyAtLWRpc2FibGUtc3dmZGVjIC0td2l0aG91dC1r ZGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWx0Ny90ZW1wbGF0ZSBiL3NyY3BrZ3MvbWx0Ny90ZW1w bGF0ZQppbmRleCBlNTk3MmNjMDQxMWIuLmQwZTllYzAyZTU4YSAxMDA2NDQKLS0tIGEvc3JjcGtn cy9tbHQ3L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbWx0Ny90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ21sdDcnCiBwa2duYW1lPW1sdDcKIHZlcnNpb249Ny4x Mi4wCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJl X2FyZ3M9Ii1EU1dJR19QWVRIT049T04iCiBob3N0bWFrZWRlcGVuZHM9ImRveHlnZW4gcGtnLWNv bmZpZyBsYWRzcGEtc2RrIHN3aWcgcHl0aG9uMyB3aGljaApkaWZmIC0tZ2l0IGEvc3JjcGtncy9t b2MvdGVtcGxhdGUgYi9zcmNwa2dzL21vYy90ZW1wbGF0ZQppbmRleCBjNDJiZTY1MGExZDIuLjRi OTU0MjY1OTliZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9tb2MvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9tb2MvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtb2Mn CiBwa2duYW1lPW1vYwogdmVyc2lvbj0yLjUuMgotcmV2aXNpb249NgorcmV2aXNpb249NwogYnVp bGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgogbWFr ZWRlcGVuZHM9ImRiLWRldmVsIG5jdXJzZXMtZGV2ZWwgbGliY3VybC1kZXZlbCBwb3B0LWRldmVs IGZmbXBlZy1kZXZlbApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3Rpb24vdGVtcGxhdGUgYi9zcmNw a2dzL21vdGlvbi90ZW1wbGF0ZQppbmRleCAzY2YzYzMwMzVjNWIuLjdkY2ExMmQ4NTFlMyAxMDA2 NDQKLS0tIGEvc3JjcGtncy9tb3Rpb24vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tb3Rpb24vdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtb3Rpb24nCiBwa2du YW1lPW1vdGlvbgogdmVyc2lvbj00LjUuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBwa2ctY29uZmln IGdldHRleHQtZGV2ZWwgdGFyIgogbWFrZWRlcGVuZHM9ImZmbXBlZy1kZXZlbCBsaWJtaWNyb2h0 dHBkLWRldmVsIHY0bC11dGlscy1kZXZlbCBnZXR0ZXh0LWRldmVsIgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9tcGQvdGVtcGxhdGUgYi9zcmNwa2dzL21wZC90ZW1wbGF0ZQppbmRleCA2MzcwMWI3ZDU2 YjEuLmRmMzVlNzUxZWE2MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9tcGQvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9tcGQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdtcGQnCiBwa2duYW1lPW1wZAogdmVyc2lvbj0wLjIzLjEyCi1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT1tZXNvbgogY29uZmlndXJlX2FyZ3M9Ii1Eb3B1cz1lbmFibGVkIC1E bWlrbW9kPWVuYWJsZWQgLURuZWlnaGJvcj10cnVlCiAgLURzb3VuZGNsb3VkPWVuYWJsZWQgLURw aXBlPXRydWUgLUR0d29sYW1lPWVuYWJsZWQgLURiemlwMj1lbmFibGVkCmRpZmYgLS1naXQgYS9z cmNwa2dzL21wdi90ZW1wbGF0ZSBiL3NyY3BrZ3MvbXB2L3RlbXBsYXRlCmluZGV4IGUxNjNjNDk2 YzZlYi4uZDRmZWZiZjVlM2M3IDEwMDY0NAotLS0gYS9zcmNwa2dzL21wdi90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL21wdi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ21wdicKIHBrZ25hbWU9bXB2CiB2ZXJzaW9uPTAuMzUuMQotcmV2aXNpb249MgorcmV2aXNp b249MwogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZpZ3VyZV9hcmdzPSItRGNkZGE9ZW5hYmxlZCAt RGR2YmluPWVuYWJsZWQgLURkdmRuYXY9ZW5hYmxlZAogIC1EbGlibXB2PXRydWUgLURjcGx1Z2lu cz1lbmFibGVkCmRpZmYgLS1naXQgYS9zcmNwa2dzL211c2lrY3ViZS90ZW1wbGF0ZSBiL3NyY3Br Z3MvbXVzaWtjdWJlL3RlbXBsYXRlCmluZGV4IDRiNzkzMDA0MTEyNi4uN2NkNjVjZjc2Yjc3IDEw MDY0NAotLS0gYS9zcmNwa2dzL211c2lrY3ViZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211c2lr Y3ViZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ211c2lr Y3ViZScKIHBrZ25hbWU9bXVzaWtjdWJlCiB2ZXJzaW9uPTAuOTkuNAotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIG1ha2VfY21kPW1ha2UKIGNvbmZpZ3VyZV9hcmdz PSItRE5PX05DVVJTRVNXPTEiCmRpZmYgLS1naXQgYS9zcmNwa2dzL25vdGN1cnNlcy90ZW1wbGF0 ZSBiL3NyY3BrZ3Mvbm90Y3Vyc2VzL3RlbXBsYXRlCmluZGV4IDZkZDhhMDkxMzE5Zi4uMzExMGMz MGM5YWZmIDEwMDY0NAotLS0gYS9zcmNwa2dzL25vdGN1cnNlcy90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL25vdGN1cnNlcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ25vdGN1cnNlcycKIHBrZ25hbWU9bm90Y3Vyc2VzCiB2ZXJzaW9uPTMuMC45Ci1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EVVNF X1NUQVRJQz1PTiAkKHZvcHRfYm9vbCBtYW4gVVNFX1BBTkRPQykiCiBob3N0bWFrZWRlcGVuZHM9 InBrZy1jb25maWcgJCh2b3B0X2lmIG1hbiBwYW5kb2MpIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9v YnMvdGVtcGxhdGUgYi9zcmNwa2dzL29icy90ZW1wbGF0ZQppbmRleCAxYTcxMzJhZTgzMmYuLjA3 OGZlYmE2MmJiYiAxMDA2NDQKLS0tIGEvc3JjcGtncy9vYnMvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9vYnMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvYnMn CiBwa2duYW1lPW9icwogdmVyc2lvbj0yOS4wLjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGFy Y2hzPSJpNjg2KiB4ODZfNjQqIHBwYzY0bGUqIGFhcmNoNjQqIgogYnVpbGRfc3R5bGU9Y21ha2UK IGNvbmZpZ3VyZV9hcmdzPSItRE9CU19WRVJTSU9OX09WRVJSSURFPSR7dmVyc2lvbn0gLURFTkFC TEVfSkFDSz1PTgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vbGl2ZS90ZW1wbGF0ZSBiL3NyY3BrZ3Mv b2xpdmUvdGVtcGxhdGUKaW5kZXggMTJhNDY5MzZjOTkwLi41MjkwZDhlNWFhY2QgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3Mvb2xpdmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vbGl2ZS90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29saXZlJwogcGtnbmFtZT1vbGl2 ZQogdmVyc2lvbj0wLjEuMgotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9cW1h a2UKIGhvc3RtYWtlZGVwZW5kcz0icXQ1LXFtYWtlIHF0NS1ob3N0LXRvb2xzIHBrZy1jb25maWci CiBtYWtlZGVwZW5kcz0icXQ1LWRldmVsIHF0NS1tdWx0aW1lZGlhLWRldmVsIHF0NS1zdmctZGV2 ZWwgZmZtcGVnLWRldmVsIGZyZWkwci1wbHVnaW5zIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vbXhw bGF5ZXIvdGVtcGxhdGUgYi9zcmNwa2dzL29teHBsYXllci90ZW1wbGF0ZQppbmRleCBlNzBiZjc4 NzNkNGQuLjgwYWJkZWZlNzdiNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9vbXhwbGF5ZXIvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9vbXhwbGF5ZXIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdvbXhwbGF5ZXInCiBwa2duYW1lPW9teHBsYXllcgogdmVyc2lvbj0y MDE5MDEwMgotcmV2aXNpb249MQorcmV2aXNpb249Mgogc2hvcnRfZGVzYz0iQ29tbWFuZGxpbmUg T01YIHBsYXllciBmb3IgdGhlIFJhc3BiZXJyeSBQaSIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxv cnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMiIKZGlmZiAtLWdpdCBhL3NyY3Br Z3Mvb3BlbmltYWdlaW8vdGVtcGxhdGUgYi9zcmNwa2dzL29wZW5pbWFnZWlvL3RlbXBsYXRlCmlu ZGV4IGNjOWQ3YTMzOTg0ZS4uZWU5ODhhZTJjZTA3IDEwMDY0NAotLS0gYS9zcmNwa2dzL29wZW5p bWFnZWlvL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3BlbmltYWdlaW8vdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuaW1hZ2VpbycKIHBrZ25hbWU9b3Bl bmltYWdlaW8KIHZlcnNpb249Mi4zLjE4LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxk X3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9cWVtdQogY29uZmlndXJlX2FyZ3M9Ii1EVVNFX09Q RU5HTD0wIC1EVVNFX1FUPTAgLURVU0VfUFlUSE9OPTAgLURPSUlPX0JVSUxEX1RFU1RTPTEKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvb3Blbm13L3RlbXBsYXRlIGIvc3JjcGtncy9vcGVubXcvdGVtcGxh dGUKaW5kZXggNTI1MWEwMjgzZGMxLi5lMzc3MWM3YWFmMWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv b3Blbm13L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3Blbm13L3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3Blbm13JwogcGtnbmFtZT1vcGVubXcKIHZlcnNp b249MC40Ny4wCi1yZXZpc2lvbj00CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1jbWFrZQogX3Jl Y2FzdF9jb21taXQ9ZTc1YWRmODZmOTFlYjMwODIyMjAwODVlNDJkZGE2MjY3OWY5YTNlYQogX2J1 bGxldF90YWc9My4xNwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZSBiL3Ny Y3BrZ3Mvb3BlbnNob3QvdGVtcGxhdGUKaW5kZXggMzIyNzE3ZDQwYWJjLi5jMDc0ZTAzMzg3NzMg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbnNob3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVu c2hvdC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5z aG90JwogcGtnbmFtZT1vcGVuc2hvdAogdmVyc2lvbj0zLjAuMAotcmV2aXNpb249MQorcmV2aXNp b249MgogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3RtYWtlZGVwZW5kcz0icHl0aG9u MyBweXRob24zLXNldHVwdG9vbHMiCiBtYWtlZGVwZW5kcz0iZmZtcGVnLWRldmVsIHB5dGhvbjMt UHlRdDUiCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW50b29uei90ZW1wbGF0ZSBiL3NyY3BrZ3Mv b3BlbnRvb256L3RlbXBsYXRlCmluZGV4IGVlOWY3NjAzZjU1Zi4uM2U4MTgzNGNhMGVkIDEwMDY0 NAotLS0gYS9zcmNwa2dzL29wZW50b29uei90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL29wZW50b29u ei90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW50b29u eicKIHBrZ25hbWU9b3BlbnRvb256CiB2ZXJzaW9uPTEuNi4wCi1yZXZpc2lvbj0yCityZXZpc2lv bj0zCiBidWlsZF93cmtzcmM9InRvb256L3NvdXJjZXMiCiBidWlsZF9zdHlsZT1jbWFrZQogbWFr ZV9jbWQ9bWFrZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waWFub2Jhci90ZW1wbGF0ZSBiL3NyY3Br Z3MvcGlhbm9iYXIvdGVtcGxhdGUKaW5kZXggYTliMjllOTE5OTNmLi44MWVmY2QxMjJjNGQgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcGlhbm9iYXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9waWFub2Jh ci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BpYW5vYmFy JwogcGtnbmFtZT1waWFub2JhcgogdmVyc2lvbj0yMDIyLjA0LjAxCi1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKIG1ha2VfYnVpbGRfYXJncz0iVj0xIgog aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wcHNzcHAv dGVtcGxhdGUgYi9zcmNwa2dzL3Bwc3NwcC90ZW1wbGF0ZQppbmRleCA3OTg0YTczM2Q0YmUuLmRi OWM5NWQwNzg0YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9wcHNzcHAvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9wcHNzcHAvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdwcHNzcHAnCiBwa2duYW1lPXBwc3NwcAogdmVyc2lvbj0xLjE0LjQKLXJldmlzaW9uPTEKK3Jl dmlzaW9uPTIKIF9nbHNsYW5nX2NvbW1pdD1kYzExYWRkZTIzYzQ1NWEyNGUxM2RkNTRkZTliNGVk ZThiZGQ3ZGI4CiBfU1BJUlZfQ3Jvc3NfY29tbWl0PTlhY2I5ZWMzMWY1YThlZjgwZWE2Yjk5NGJi NzdiZTc4N2IwOGQzZDEKIF9hcm1pcHNfY29tbWl0PTY3MTllZGViYWFlMDMzMzBlZTU0NDFkOWIy ODI4MDY3MmVkZjAwZDUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHFpdi90ZW1wbGF0ZSBiL3NyY3Br Z3MvcHFpdi90ZW1wbGF0ZQppbmRleCA1NDJmYzI3YTJkMzIuLjkzMDhkOTQ5YjZhMSAxMDA2NDQK LS0tIGEvc3JjcGtncy9wcWl2L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHFpdi90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BxaXYnCiBwa2duYW1lPXBxaXYK IHZlcnNpb249Mi4xMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LW1h a2VmaWxlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iZ2xpYi1k ZXZlbCBndGsrMy1kZXZlbCAkKHZvcHRfaWYgZmZtcGVnIGZmbXBlZy1kZXZlbCkKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcW1tcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcW1tcC90ZW1wbGF0ZQppbmRleCAy NmM2NjFlZDE2YmUuLmExNTBkNzQ0MWM3YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xbW1wL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcW1tcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3FtbXAnCiBwa2duYW1lPXFtbXAKIHZlcnNpb249MS42LjEKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURVU0Vf SEFMOkJPT0w9RkFMU0UgLURRTU1QX0RFRkFVTFRfVUk6U1RSSU5HPXNpbXBsZSIKIGhvc3RtYWtl ZGVwZW5kcz0icGtnLWNvbmZpZyBxdDUtaG9zdC10b29scyBxdDUtcW1ha2UiCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0NS13ZWJlbmdpbmUv dGVtcGxhdGUKaW5kZXggZjlkNzhlY2VkOTI5Li4wYTcxNDg0MjA4YmMgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ1LXdlYmVuZ2luZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0NS13ZWJlbmdpbmUv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDUtd2ViZW5n aW5lJwogcGtnbmFtZT1xdDUtd2ViZW5naW5lCiB2ZXJzaW9uPTUuMTUuMTEKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIF92ZXJzaW9uPSIke3ZlcnNpb259LWx0cyIKIF9jaHJvbWl1bV9jb21taXQ9 YmUzNDllYWY2MmU3Nzk1NTc5MWQ3YmYyOWY4OTNmMWU4YTM3ZGFmNAogYXJjaHM9Ing4Nl82NCog aTY4NiogYXJtdls2N10qIHBwYzY0KiBhYXJjaDY0KiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1 L3RlbXBsYXRlIGIvc3JjcGtncy9xdDUvdGVtcGxhdGUKaW5kZXggZjRmOWY1YjUzNDRhLi5iNTE3 YjQ5ZWFkMmQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv cXQ1L3RlbXBsYXRlCkBAIC01LDcgKzUsNyBAQCBwa2duYW1lPXF0NQogdmVyc2lvbj01LjE1Ljcr MjAyMjExMTkKICMgY29tbWl0IGY4YzlmYjMwNGJjM2U1M2IzYWEwN2Y5NjJjZDc0ZTkxNjBkZWNj Y2MKICMgYmFzZSByZXBvOiBodHRwczovL2ludmVudC5rZGUub3JnL3F0L3F0L3F0NQotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWV0YQogaG9zdG1ha2VkZXBlbmRzPSJjbWFr ZSBjbGFuZyBmbGV4IHBlcmwgZ2xpYi1kZXZlbCBwa2ctY29uZmlnCiAgcHl0aG9uIHJlMmMgcnVi eSB3aGljaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUgYi9z cmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlCmluZGV4IGQ4OWU3ZDU0ZWI1YS4uYWFlMTVl NTdjYTdiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtbXVsdGltZWRpYScKIHBrZ25hbWU9cXQ2LW11bHRpbWVkaWEKIHZl cnNpb249Ni40LjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBj b25maWd1cmVfYXJncz0iLURRVF9GRUFUVVJFX2dzdHJlYW1lcj1PTiIKIGhvc3RtYWtlZGVwZW5k cz0icGVybCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyBwa2ctY29uZmlnIHF0Ni1zaGFkZXJ0 b29scyIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZSBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQppbmRleCA5OTAxMjczMmI1M2EuLjk2ODQ2ZmVhZWU4 MyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3F0Ni13ZWJlbmdpbmUnCiBwa2duYW1lPXF0Ni13ZWJlbmdpbmUKIHZlcnNpb249Ni40 LjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVf YXJncz0iCiAgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1fZmZtcGVnPU9OCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0YXYvdGVtcGxhdGUgYi9zcmNwa2dzL3F0YXYvdGVtcGxhdGUKaW5kZXgg MzRjMzBiMmMwYzc4Li43NzVkNWExMzlhOWUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXRhdi90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0YXYvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdGF2JwogcGtnbmFtZT1xdGF2CiB2ZXJzaW9uPTEuMTMuMAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9cW1ha2UKIGhvc3RtYWtlZGVwZW5kcz0icXQ1 LXFtYWtlIHF0NS1ob3N0LXRvb2xzIgogbWFrZWRlcGVuZHM9ImZmbXBlZy1kZXZlbCBsaWJhc3Mt ZGV2ZWwgbGlib3BlbmFsLWRldmVsCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0b3gvcGF0Y2hlcy9m Zm1wZWc1LnBhdGNoIGIvc3JjcGtncy9xdG94L3BhdGNoZXMvZmZtcGVnNS5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNiYWJlMWM5ODQ0NwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXRveC9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKQEAgLTAsMCArMSw3 OSBAQAorRnJvbSAxNTY3M2E1MmI2YjQ4MDVkNDgyYjY5MjgxZTIxOTQ3ZmI3MDk2ZTA1IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW50aG9ueSBCaWxpbnNraSA8bWVAYWJpbGluc2tp LmNvbT4KK0RhdGU6IFRodSwgMTAgRmViIDIwMjIgMTc6MjQ6MzggLTA4MDAKK1N1YmplY3Q6IFtQ QVRDSF0gZml4KG1hY09TKTogVXBkYXRlIHZpZGVvIEFQSSB1c2FnZSBmb3IgbmV3ZXIgbGliYXZj b2RlYworCitOZXdlciB2ZXJzaW9uIG9mIGF2Zm9ybWF0X29wZW5faW5wdXQsIGF2X2ZpbmRfaW5w dXRfZm9ybWF0LAorYXZjb2RlY19maW5kX2RlY29kZXIgcHJldmlvdXNseSB1c2VkIG5vbi1jb25z dCBwb2ludGVycyB0aGF0IGFyZSBub3cKK2NvbnN0LiBTdXBwb3J0IGJvdGggdmVyc2lvbiBmb3Ig Y29tcGF0aWJpbHRpeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy4KKy0tLQorIHNyYy92aWRlby9jYW1l cmFkZXZpY2UuY3BwIHwgOSArKysrKystLS0KKyBzcmMvdmlkZW8vY2FtZXJhZGV2aWNlLmggICB8 IDEgLQorIHNyYy92aWRlby9jYW1lcmFzb3VyY2UuY3BwIHwgMyArLS0KKyAzIGZpbGVzIGNoYW5n ZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy92 aWRlby9jYW1lcmFkZXZpY2UuY3BwIGIvc3JjL3ZpZGVvL2NhbWVyYWRldmljZS5jcHAKK2luZGV4 IDNiMDc5NjhiMzIuLmEwMTJhMGY3OGQgMTAwNjQ0CistLS0gYS9zcmMvdmlkZW8vY2FtZXJhZGV2 aWNlLmNwcAorKysrIGIvc3JjL3ZpZGVvL2NhbWVyYWRldmljZS5jcHAKK0BAIC0zMSw2ICszMSw5 IEBAIGV4dGVybiAiQyIgeworICNpbmNsdWRlICJjYW1lcmFkZXZpY2UuaCIKKyAjaW5jbHVkZSAi c3JjL3BlcnNpc3RlbmNlL3NldHRpbmdzLmgiCisKKysvLyBubyBsb25nZXIgbmVlZGVkIHdoZW4g YXZmb3JtYXQgdmVyc2lvbiA8IDU5IGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQKKyt1c2luZyBBdkZp bmRJbnB1dEZvcm1hdFJldCA9IGRlY2x0eXBlKGF2X2ZpbmRfaW5wdXRfZm9ybWF0KCIiKSk7Cisr CisgI2lmIGRlZmluZWQoUV9PU19MSU5VWCkgfHwgZGVmaW5lZChRX09TX0ZSRUVCU0QpCisgI2Rl ZmluZSBVU0lOR19WNEwgMQorICNlbHNlCitAQCAtNzEsOCArNzQsOCBAQCBleHRlcm4gIkMiIHsK KworIFFIYXNoPFFTdHJpbmcsIENhbWVyYURldmljZSo+IENhbWVyYURldmljZTo6b3BlbkRldmlj ZXM7CisgUU11dGV4IENhbWVyYURldmljZTo6b3BlbkRldmljZUxvY2ssIENhbWVyYURldmljZTo6 aWZvcm1hdExvY2s7CistQVZJbnB1dEZvcm1hdCogQ2FtZXJhRGV2aWNlOjppZm9ybWF0e251bGxw dHJ9OworLUFWSW5wdXRGb3JtYXQqIENhbWVyYURldmljZTo6aWRlc2t0b3BGb3JtYXR7bnVsbHB0 cn07Cisrc3RhdGljIEF2RmluZElucHV0Rm9ybWF0UmV0IGlkZXNrdG9wRm9ybWF0e251bGxwdHJ9 OworK3N0YXRpYyBBdkZpbmRJbnB1dEZvcm1hdFJldCBpZm9ybWF0e251bGxwdHJ9OworCisgQ2Ft ZXJhRGV2aWNlOjpDYW1lcmFEZXZpY2UoY29uc3QgUVN0cmluZyYgZGV2TmFtZSwgQVZGb3JtYXRD b250ZXh0KiBjb250ZXh0KQorICAgICA6IGRldk5hbWV7ZGV2TmFtZX0KK0BAIC05Miw3ICs5NSw3 IEBAIENhbWVyYURldmljZSogQ2FtZXJhRGV2aWNlOjpvcGVuKFFTdHJpbmcgZGV2TmFtZSwgQVZE aWN0aW9uYXJ5Kiogb3B0aW9ucykKKyAgICAgICAgIGdvdG8gb3V0OworICAgICB9CisKKy0gICAg QVZJbnB1dEZvcm1hdCogZm9ybWF0OworKyAgICBBdkZpbmRJbnB1dEZvcm1hdFJldCBmb3JtYXQ7 CisgICAgIGlmIChkZXZOYW1lLnN0YXJ0c1dpdGgoIngxMWdyYWIjIikpIHsKKyAgICAgICAgIGRl dk5hbWUgPSBkZXZOYW1lLm1pZCg4KTsKKyAgICAgICAgIGZvcm1hdCA9IGlkZXNrdG9wRm9ybWF0 OworZGlmZiAtLWdpdCBhL3NyYy92aWRlby9jYW1lcmFkZXZpY2UuaCBiL3NyYy92aWRlby9jYW1l cmFkZXZpY2UuaAoraW5kZXggOTEwODczMzI1Yi4uYzA1ZjFkYmVkNCAxMDA2NDQKKy0tLSBhL3Ny Yy92aWRlby9jYW1lcmFkZXZpY2UuaAorKysrIGIvc3JjL3ZpZGVvL2NhbWVyYWRldmljZS5oCitA QCAtNjQsNSArNjQsNCBAQCBjbGFzcyBDYW1lcmFEZXZpY2UKKyAgICAgc3RkOjphdG9taWNfaW50 IHJlZmNvdW50OworICAgICBzdGF0aWMgUUhhc2g8UVN0cmluZywgQ2FtZXJhRGV2aWNlKj4gb3Bl bkRldmljZXM7CisgICAgIHN0YXRpYyBRTXV0ZXggb3BlbkRldmljZUxvY2ssIGlmb3JtYXRMb2Nr OworLSAgICBzdGF0aWMgQVZJbnB1dEZvcm1hdCAqaWZvcm1hdCwgKmlkZXNrdG9wRm9ybWF0Owor IH07CitkaWZmIC0tZ2l0IGEvc3JjL3ZpZGVvL2NhbWVyYXNvdXJjZS5jcHAgYi9zcmMvdmlkZW8v Y2FtZXJhc291cmNlLmNwcAoraW5kZXggMTM0YmM0OWFmYy4uM2E4OTlmMTFkMCAxMDA2NDQKKy0t LSBhL3NyYy92aWRlby9jYW1lcmFzb3VyY2UuY3BwCisrKysgYi9zcmMvdmlkZW8vY2FtZXJhc291 cmNlLmNwcAorQEAgLTI3OCw3ICsyNzgsNiBAQCB2b2lkIENhbWVyYVNvdXJjZTo6b3BlbkRldmlj ZSgpCisgICAgIH0KKworICAgICAvLyBXZSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBDYW1lcmFEZXZp Y2UKKy0gICAgQVZDb2RlYyogY29kZWM7CisgICAgIGRldmljZSA9IENhbWVyYURldmljZTo6b3Bl bihkZXZpY2VOYW1lLCBtb2RlKTsKKworICAgICBpZiAoIWRldmljZSkgeworQEAgLTMyMiw3ICsz MjEsNyBAQCB2b2lkIENhbWVyYVNvdXJjZTo6b3BlbkRldmljZSgpCisgICAgIEFWQ29kZWNQYXJh bWV0ZXJzKiBjcGFyYW1zID0gZGV2aWNlLT5jb250ZXh0LT5zdHJlYW1zW3ZpZGVvU3RyZWFtSW5k ZXhdLT5jb2RlY3BhcjsKKyAgICAgY29kZWNJZCA9IGNwYXJhbXMtPmNvZGVjX2lkOworICNlbmRp ZgorLSAgICBjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKGNvZGVjSWQpOworKyAgICBjb25z dCBBVkNvZGVjKiBjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKGNvZGVjSWQpOworICAgICBp ZiAoIWNvZGVjKSB7CisgICAgICAgICBxV2FybmluZygpIDw8ICJDb2RlYyBub3QgZm91bmQiOwor ICAgICAgICAgZW1pdCBvcGVuRmFpbGVkKCk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0b3gvdGVt cGxhdGUgYi9zcmNwa2dzL3F0b3gvdGVtcGxhdGUKaW5kZXggMTYwMTlkN2VhZWM5Li41Y2VhMGIx MWI2OTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXRveC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0 b3gvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdG94Jwog cGtnbmFtZT1xdG94CiB2ZXJzaW9uPTEuMTcuNgotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVp bGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFVQREFURV9DSEVDSz1PRkYKICAtREdJ VF9ERVNDUklCRT0ke3ZlcnNpb259CmRpZmYgLS1naXQgYS9zcmNwa2dzL3JldHJvYXJjaC90ZW1w bGF0ZSBiL3NyY3BrZ3MvcmV0cm9hcmNoL3RlbXBsYXRlCmluZGV4IDI0MGQzZGY5ZGIwMC4uNmQw YjE2YWUyNTk4IDEwMDY0NAotLS0gYS9zcmNwa2dzL3JldHJvYXJjaC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3JldHJvYXJjaC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3JldHJvYXJjaCcKIHBrZ25hbWU9cmV0cm9hcmNoCiB2ZXJzaW9uPTEuMTQuMAotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y29uZmlndXJlCiBjb25maWd1cmVfYXJn cz0iLS1wcmVmaXg9L3VzciAtLXN5c2NvbmZkaXI9L2V0YyAtLWVuYWJsZS1uZXR3b3JraW5nCiAg LS1lbmFibGUtdWRldiAtLWRpc2FibGUtYnVpbHRpbmZsYWMgLS1kaXNhYmxlLWJ1aWx0aW5nbHNs YW5nCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NjcmNweS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2NyY3B5 L3RlbXBsYXRlCmluZGV4IGVlNmU2OThlMzg3Zi4uOGFkYTVjYTQzMjNmIDEwMDY0NAotLS0gYS9z cmNwa2dzL3NjcmNweS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NjcmNweS90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NjcmNweScKIHBrZ25hbWU9c2NyY3B5 CiB2ZXJzaW9uPTIuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24K IGNvbmZpZ3VyZV9hcmdzPSItRGNvbXBpbGVfc2VydmVyPWZhbHNlCiAgLURwcmVidWlsdF9zZXJ2 ZXI9L3Vzci9zaGFyZS9zY3JjcHkvc2NyY3B5LXNlcnZlci12JHt2ZXJzaW9ufSIKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc3Blay1hbHRl cm5hdGl2ZS90ZW1wbGF0ZQppbmRleCBkNjUwODZiOGYwMDguLjcyNzQ3Y2JiMGEwMiAxMDA2NDQK LS0tIGEvc3JjcGtncy9zcGVrLWFsdGVybmF0aXZlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3Bl ay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3NwZWstYWx0ZXJuYXRpdmUnCiBwa2duYW1lPXNwZWstYWx0ZXJuYXRpdmUKIHZlcnNpb249 MC44LjIuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3Vy ZQogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBnZXR0ZXh0LWRldmVsIGludGx0b29sIGxpYnRv b2wgcGtnLWNvbmZpZyB3eFdpZGdldHMtY29tbW9uIgogbWFrZWRlcGVuZHM9ImZmbXBlZy1kZXZl bCB3eFdpZGdldHMtZ3RrMy1kZXZlbCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3NyL3RlbXBsYXRl IGIvc3JjcGtncy9zc3IvdGVtcGxhdGUKaW5kZXggYjA1NWI5ZWMwNzc0Li44NDJiMjQyM2FhZDEg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc3NyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3NyL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc3NyJwogcGtnbmFtZT1z c3IKIHZlcnNpb249MC40LjQKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNt YWtlCiBjb25maWd1cmVfYXJncz0iLURXSVRIX1FUNT1PTiIKIGhvc3RtYWtlZGVwZW5kcz0icGtn LWNvbmZpZyIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3Vtby90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc3Vt by90ZW1wbGF0ZQppbmRleCAwZjliOWVjODE1ZjUuLmEzZmUxMzRhYTVhYyAxMDA2NDQKLS0tIGEv c3JjcGtncy9zdW1vL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3Vtby90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3N1bW8nCiBwa2duYW1lPXN1bW8KIHZlcnNp b249MS4xMi4wCi1yZXZpc2lvbj01CityZXZpc2lvbj02CiBidWlsZF9zdHlsZT1jbWFrZQogaG9z dG1ha2VkZXBlbmRzPSJsaWJnZGFsLXRvb2xzIHBrZy1jb25maWcgc3dpZyBweXRob24zLXNldHVw dG9vbHMiCiBtYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCBmZm1wZWctZGV2ZWwgZm94LWRldmVs IGdsMnBzLWRldmVsIGxpYmdkYWwtZGV2ZWwKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3luZmlnL3Rl bXBsYXRlIGIvc3JjcGtncy9zeW5maWcvdGVtcGxhdGUKaW5kZXggMTgyZGMzY2QyODBmLi4yOWFm YjM1NzJlNDcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc3luZmlnL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3Mvc3luZmlnL3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBAQAogIyBTaG91bGQgYmUga2VwdCBpbiBz eW5jIHdpdGggJ3N5bmZpZ3N0dWRpbycgYW5kICdFVEwnCiBwa2duYW1lPXN5bmZpZwogdmVyc2lv bj0xLjQuNAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3Vy ZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1ib29zdC1saWJkaXI9JHtYQlBTX0NST1NTX0JBU0V9 L3Vzci9saWIiCiBob3N0bWFrZWRlcGVuZHM9ImJvb3N0LWJ1aWxkIEltYWdlTWFnaWNrIHBrZy1j b25maWcgaW50bHRvb2wiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVt cGxhdGUgYi9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKaW5kZXggYWFlOWYzMTM1 MTAwLi43OTQzYjM2ZjBiOGEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0ZWxlZ3JhbS1kZXNrdG9wJwogcGtnbmFtZT10 ZWxlZ3JhbS1kZXNrdG9wCiB2ZXJzaW9uPTQuNi41Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBi dWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPSJxZW11IgogY29uZmlndXJlX2FyZ3M9Ii1E VERFU0tUT1BfQVBJX0lEPTIwOTIzNQpkaWZmIC0tZ2l0IGEvc3JjcGtncy90Z19vd3QvdGVtcGxh dGUgYi9zcmNwa2dzL3RnX293dC90ZW1wbGF0ZQppbmRleCA5N2QxOTVkZGIzNGEuLjU1MTYxNGIy NDk1NiAxMDA2NDQKLS0tIGEvc3JjcGtncy90Z19vd3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90 Z19vd3QvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0Z19v d3QnCiBwa2duYW1lPXRnX293dAogdmVyc2lvbj0wLjAuMC4yMDIzMDEwNwotcmV2aXNpb249MQor cmV2aXNpb249MgogX2NvbW1pdD01MDk4NzMwYjllYjYxNzNmMGI1MjA2OGZlMjU1NWI3YzEwMTUx MjNhCiBfbGlieXV2X2NvbW1pdD0wMDk1MDg0MGQxYzliY2JiM2ViNmViYzVhYWM1NzkzZTcxMTY2 YzhiCiBfYWJzZWlsX2NvbW1pdD04YzBiOTRlNzkzYTY2NDk1ZTBiMWYzNGE1ZWIyNmJkN2RjNjcy ZGIwCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RpbWcvdGVtcGxhdGUgYi9zcmNwa2dzL3RpbWcvdGVt cGxhdGUKaW5kZXggOTFmMTUxNmIyNTk3Li4zMzQ0NDNkM2Y5YmIgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvdGltZy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RpbWcvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0aW1nJwogcGtnbmFtZT10aW1nCiB2ZXJzaW9uPTEu NC40Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJl X2FyZ3M9Ii1EV0lUSF9PUEVOU0xJREVfU1VQUE9SVD1vZmYgLVduby1kZXYiCiBob3N0bWFrZWRl cGVuZHM9InBrZy1jb25maWcgZ2l0IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90cmFja2VyLW1pbmVy cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvdHJhY2tlci1taW5lcnMvdGVtcGxhdGUKaW5kZXggM2U3OTY2 YzJiNGE5Li4yODU0MjViYTE4NTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdHJhY2tlci1taW5lcnMv dGVtcGxhdGUKKysrIGIvc3JjcGtncy90cmFja2VyLW1pbmVycy90ZW1wbGF0ZQpAQCAtMSw3ICsx LDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3RyYWNrZXItbWluZXJzJwogcGtnbmFtZT10cmFj a2VyLW1pbmVycwogdmVyc2lvbj0zLjQuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRf c3R5bGU9bWVzb24KIGJ1aWxkX2hlbHBlcj1xZW11CiAjIG1pc3NpbmcgbGliZ3JzcyBmb3IgbWlu ZXJfcnNzCmRpZmYgLS1naXQgYS9zcmNwa2dzL3R2aGVhZGVuZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv dHZoZWFkZW5kL3RlbXBsYXRlCmluZGV4IGU2YjE2ZDdjY2YzYi4uYTIwMDQ0ODAzMzJiIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3R2aGVhZGVuZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3R2aGVhZGVu ZC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3R2aGVhZGVu ZCcKIHBrZ25hbWU9dHZoZWFkZW5kCiB2ZXJzaW9uPTQuMi44Ci1yZXZpc2lvbj02CityZXZpc2lv bj03CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1lbmFibGUt ZHZic2NhbiAtLWRpc2FibGUtZmZtcGVnX3N0YXRpYwogLS1kaXNhYmxlLWhkaG9tZXJ1bl9zdGF0 aWMgLS1kaXNhYmxlLWJpbnRyYXlfY2FjaGUgLS1kaXNhYmxlLWxpYngyNjRfc3RhdGljCmRpZmYg LS1naXQgYS9zcmNwa2dzL3VucGFwZXIvdGVtcGxhdGUgYi9zcmNwa2dzL3VucGFwZXIvdGVtcGxh dGUKaW5kZXggMzhlZDQ3YTU4NDAxLi5iMDU5MjBkMTMxMDEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv dW5wYXBlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3VucGFwZXIvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd1bnBhcGVyJwogcGtnbmFtZT11bnBhcGVyCiB2 ZXJzaW9uPTYuMQotcmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9Z251LWNvbmZp Z3VyZQogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGhvc3Rt YWtlZGVwZW5kcz0icGtnLWNvbmZpZyBsaWJ4c2x0IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy92YmEt bS90ZW1wbGF0ZSBiL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKaW5kZXggYmExNTNlMGI1OGNhLi5h YTYwOTM2NDVlOTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKKysrIGIvc3Jj cGtncy92YmEtbS90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKIHBrZ25hbWU9dmJhLW0KIHJldmVy dHM9MTI5Ml8yCiB2ZXJzaW9uPTIuMS41Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9z dHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX0dUSz1UUlVFIC1ERU5BQkxFX0ZG TVBFRz1UUlVFIC1ERU5BQkxFX0xJTks9VFJVRSAtRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSIK IGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIHVuemlwIHppcCB5YXNtIHd4V2lk Z2V0cy1ndGszLWRldmVsIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aWNlL3RlbXBsYXRlIGIvc3Jj cGtncy92aWNlL3RlbXBsYXRlCmluZGV4IDA5MjQ3NjdjZmNmYi4uZmZhOTUzODRmNjRhIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3ZpY2UvdGVtcGxhdGUKKysrIGIvc3JjcGtncy92aWNlL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndmljZScKIHBrZ25hbWU9dmlj ZQogdmVyc2lvbj0zLjUKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1j b25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSIKIAkkKHZvcHRfZW5hYmxlIHNkbDIgc2RsdWkyKQpk aWZmIC0tZ2l0IGEvc3JjcGtncy93YXlwaXBlL3RlbXBsYXRlIGIvc3JjcGtncy93YXlwaXBlL3Rl bXBsYXRlCmluZGV4IDVjNDE2MTkwMDA2MC4uMWE0NmZlMjdmN2Q4IDEwMDY0NAotLS0gYS9zcmNw a2dzL3dheXBpcGUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy93YXlwaXBlL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnd2F5cGlwZScKIHBrZ25hbWU9d2F5cGlw ZQogdmVyc2lvbj0wLjguNAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVz b24KICMgbHRvIGlzIG9mZiBiZWNhdXNlIGl0IGNhdXNlcyBsaW5raW5nIGVycm9ycyBpbiBhcm12 NmwgYW5kIGFybXY3bCAoZHVlIHRvIE5FT04pCiBjb25maWd1cmVfYXJncz0iLUR3ZXJyb3I9ZmFs c2UgLUR3aXRoX2RtYWJ1Zj1lbmFibGVkIC1Ed2l0aF9sejQ9ZW5hYmxlZApkaWZmIC0tZ2l0IGEv c3JjcGtncy93Zi1yZWNvcmRlci90ZW1wbGF0ZSBiL3NyY3BrZ3Mvd2YtcmVjb3JkZXIvdGVtcGxh dGUKaW5kZXggZTI3OGViMDAxNjAwLi41ZDAxNGE1ZjI4YWYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv d2YtcmVjb3JkZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy93Zi1yZWNvcmRlci90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3dmLXJlY29yZGVyJwogcGtnbmFt ZT13Zi1yZWNvcmRlcgogdmVyc2lvbj0wLjMuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVp bGRfc3R5bGU9bWVzb24KIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBzY2RvYyB3YXlsYW5k LWRldmVsIgogbWFrZWRlcGVuZHM9IndheWxhbmQtcHJvdG9jb2xzIHdheWxhbmQtZGV2ZWwgZmZt cGVnLWRldmVsIHgyNjQtZGV2ZWwKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveHByYS90ZW1wbGF0ZSBi L3NyY3BrZ3MveHByYS90ZW1wbGF0ZQppbmRleCAzOGY4MzI4M2IxZTUuLmI2ZTAxZmYwYTgxMyAx MDA2NDQKLS0tIGEvc3JjcGtncy94cHJhL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveHByYS90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hwcmEnCiBwa2duYW1l PXhwcmEKIHZlcnNpb249NC40LjQKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxl PXB5dGhvbjMtbW9kdWxlCiBtYWtlX2J1aWxkX2FyZ3M9Ii0td2l0aG91dC1jdWRhX2tlcm5lbHMg LS13aXRob3V0LWN1ZGFfcmVidWlsZCIKIG1ha2VfaW5zdGFsbF9hcmdzPSIkKHZvcHRfd2l0aCBk b2NzKSAke21ha2VfYnVpbGRfYXJnc30iCg== --===============2429866305461850574==--