From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id BD5E926908 for ; Wed, 26 Jun 2024 14:28:58 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============5052333240951933588==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_ffmpeg6_split?= To: ml@inbox.vuxu.org From: zlice Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 26 Jun 2024 14:28:58 +0200 List-Id: Message-Id: <20240626122858.BD5E926908@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============5052333240951933588== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgemxpY2UgYWdhaW5zdCBtYXN0ZXIg b24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3psaWNl L3ZvaWQtcGFja2FnZXMgZmZtcGVnNi1zcGxpdApodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvNDM3NjEKCmZmbXBlZzYgc3BsaXQKW2NpIHNraXBdDQoNCg0K IyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQoNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhp cyBQUjogKipZRVMqKg0KDQptYWluIHRlc3RpbmcgaGFzIGJlZW4gdmFhcGkgaW4gRmlyZWZveCBO aWdodGx5IGFuZCBlbmMvZGVjIGluIFNob3RjdXQgb24gSW50ZWwgQTc3MA0KDQojIyMjIE5ldyBw YWNrYWdlDQoNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3BhY2thZ2UgcmVx dWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Js b2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6ICoqWUVTKioN Cg0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQoNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkg Zm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsICoqeDg2XzY0KioNCg0KIyMjIyBEaXNjdXNzaW9u DQoNCkNvbnRpbnVhdGlvbiBvZiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL3B1bGwvMzYzMTUNCg0KYGxpYmF2cmVzYW1wbGVgIGlzIGRlcHJlY2F0ZWQsIGJ1dCBt YXJrZWQgYXMgYSBkZXBlbmRlbmN5IHdoZW4gdHJ5aW5nIHRvIGJ1aWxkIG90aGVyIHBhY2thZ2Vz IGFuZCBpbnN0YWxsIGBmZm1wZWdgKDYpLiBJIHRoaW5rIHRoZSByaWdodCB3YXkgdG8gaGFuZGxl IHRoaXMgaXMgbWFrZSBhIG1ldGEgcGFja2FnZSBhbmQgdGhlIGFkZCB0byByZW1vdmFscz8NCg0K DQojIyMjIyBDb21taXQgbmFtaW5nIC8gbWlzYw0KDQp+fkNvbW1pdHMgYXJlICdkaXJ0eScgcmln aHQgbm93LCBydW5uaW5nIHdpdGggW2dzdHJlYW1lciAxLjIyLjEgdXBkYXRlc10oaHR0cHM6Ly9n aXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQyODYxKSBhbmQgW0ludGVs IE9wZW5DTF0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxs LzQzMDg0KS4gVGhpcyB3aWxsIGFsc28gbWFrZSBbaW50ZWwgcGFja2FnZXMgcHJdKGh0dHBzOi8v Z2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MTEzMikgb2Jzb2xldGUu fn4gKHNlZSBSZXF1aXJlbWVudHMgYmVsb3cpDQoNCk1haW50YWluZXIgZm9yIHByZXZpb3VzIGZm bXBlZyg0KSB3YXMgb3JwaGFuZWQsIEkgY2FuIHB1dCBteSBuYW1lIGluIHRoZXJlIGlmIHRoYXQg bWF0dGVycywgdGhvdWdoIEkgZG9uJ3QgZXhhY3RseSBzZWUgbXlzZWxmIGtlZXBpbmcgdXAgb24g ZmZtcGVnLg0KDQp+flRoaXMgdXBkYXRlcyBRVDUgd2hpY2ggbG9va3MgbGlrZSBpdCBpcyB1c3Vh bGx5IGhvc3RlZCBieSBKb2hubnkuIE5vdCBzdXJlIGlmIHRoZXJlJ3MgYW55IHJlYXNvbiB0byBz dGF5IHRoZXJlIG9yIHRoZXNlIHNvdXJjZXMgYXJlIGZpbmUufn4gVXNpbmcgcXQ1LjE1LjExIG5v dywgcmV2YnVtcHMgYW5kIHNvbWUgcGF0Y2hlcy4NCg0KIyMjIyMgU1RJTEwgRkZNUEVHNA0KDQpU aGVzZSBhcmUgYSBtaXggb2YgZW11bGF0b3JzLCBnYW1lcyBhbmQvb3Igb2xkZXIgcGFja2FnZXMu DQoNCi0gfn5hdHRyYWN0fn4gKDIuNyBidWlsZHMpDQotIH5+YXVkYWNpdHkgKGh0dHBzOi8vZ2l0 aHViLmNvbS9hdWRhY2l0eS9hdWRhY2l0eS9pc3N1ZXMvMjMwNSBhbmQgaHR0cHM6Ly9zb3VyY2Vm b3JnZS5uZXQvcC9wb3J0bWVkaWEvd2lraS9wb3J0c21mLyBpcyAnYmV0YScpfn4gKHVwZGF0ZWQg dG8gMy54LCBjb21waWxlcyB3aXRoIGZmbXBlZzYpDQotIH5+Y2NleHRyYWN0b3J+fiAobWFzdGVy IHBhdGNoZXMpDQotIH5+dmljZSAoMy44IGNvbXBpbGVzLCBuZWVkcyBtYWtlZGVwZW5kcyBsaWJj dXJsLWRldmVsKX5+IHR5IHlvc2gNCi0ga29kaSAoZG9lc24ndCBidWlsZCkNCi0gbWx0IChvbmx5 IGRlcCBsZWZ0IGlzIGZsb3dibGFkZSAtIGZsb3dibGFkZSAyLjEyLjAuMiB3aXRoIG1sdDctcHl0 aG9uMyBjYW4gJ3JlbmRlcicgdmlkZW9zIHdpdGggY3B1IGFuZCBncHUgLSB+fmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NzE5NX5+IGh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC81MDM4NSkNCi0gfn5zeW5maWcg KG1sdCl+fiAod29yayB3aXRoIG1sdDcsIGJ1bXAgc3luZmlnc3R1ZGlvKQ0KLSB0dmhlYWRlbmQg KGRvd25sb2FkIHBhZ2UgcmVjb21tZW5kcyB1c2luZyA0LjMgd2hpY2ggY29tcGlsZXMgZmluZSwg NC40IGV0YSBpcyBRMSAyMDI0KQ0KLSB+fnNzcn5+IChwYXRjaGVzKQ0KLSB+fnNwZWstYWx0ZXJu YXRpdmV+fiAocmVwbGFjZSB3aXRoIHNwZWsteCkNCi0gfn5wcHNzcHB+fiB+figxLjE3LjEgaXMg b3V0LCBidXQgdGhlcmUncyA1KyBkaXN0ZmlsZXMgdGhhdCBhcmUgYWxsIGdpdCBjb21taXRzKX5+ IChtaW5vciBwYXRjaCkNCi0gb2xpdmUgKGhhcyBiZWVuIGluIGFscGhhIHNpbmNlIDIwMjAsIHNl ZW1zIHRoZXkgZG8gbmlnaHRseSBidWlsZHMgYW5kIGFwcGltYWdlcykNCi0gbW9jDQotIG1lZGlh c3RyZWFtZXIgKGxpbnBob25lIGxpbmtzIGFyZSBkZWFkLCBjaGFuZ2VkIHRvIGdpdGh1YiBiZWxs YWRvbm5lLiB0aGVpciBzdHVmZiBuZXZlciB3b3JrZWQgZm9yIG1lIGJ1dCB0aGVyZSBhcmUgdXBk YXRlcyBpZiBzb21lb25lIHdhbnRzIHRvIGdpdmUgaXQgYSB0cnkpDQotIH5+bGliZXh0cmFjdG9y ICgxLjEzIGNvbXBpbGVzLCByZW1vdmUgZXhpdjIgcGF0Y2gpfn4gKGFzIHlvc2ggcG9pbnRlZCBv dXQsIDEuMTMganVzdCByZW1vdmVzIGZmbXBlZyBiaXRzKQ0KLSBpZGpjICgwLjkuOCBjb21waWxl cywgcmVtb3ZlIHB5dGhvbjMuMTAgcGF0Y2gsIG5lZWRzIG1ha2VkZXBlbmRzIGxpYmVidXIxMjgt ZGV2ZWwgYW5kIGxpYnNob3V0LWlkamMgMi40LjYgd2l0aCAnLXIxJyBmb3IgZGlzdGZpbGUgLSBo dHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDg5NDQpDQot IH5+aGVkZ2V3YXJzfn4gKHBhdGNoIGZvciA2IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWRnZXdhcnMv aHcvcHVsbC83NCkNCi0gfn5mZm1wZWd0aHVtYm5haWxlcn5+IChwYXRjaGVzIGZvciBtb3ZpZWRl Y29kZXIueHh4IGZpbGVzKQ0KLSB+fmZmbXBlZ3RodW1ic35+IChsYXRlc3QgY29tcGlsZXMpDQot IGRlYWRiZWVmICgxLjkuNiBtYXkgd29yayBidXQgcmVxdWlyZXMgbGliZGlzcGF0Y2ggZnJvbSBh cHBsZSkNCi0gfn5vbXhwbGF5ZXJ+fiAocGFja2FnZSByZW1vdmVkLCBkZXByZWNhdGVkIGluIGZh dm9yIG9mIHZsYykNCi0gcXRhdiAoZm9yayBoYXMgZmZtcGVnIDUgcGF0Y2ggLSBodHRwczovL2dp dGh1Yi5jb20vY21ndW8vUXRBVikNCi0gYHZsY2AgKHZsYzQgd2lsbCBzdXBwb3J0IGZmbXBlZzUs IHRoZXJlJ3MgYSBwYXRjaCB0byBidWlsZCAzLnggd2l0aCBmZm1wZWc1IGJ1dCBpdCB3aWxsIGxh Y2sgdmFhcGkpDQotIH5+YG9zZ2AgKE9wZW5TY2VuZUdyYXBoIHBsdXMgYHhpbmUtbGliYCkgKHBh dGNoZXMgZnJvbSBvc2cgaXNzdWUgYnVpbGQgd2l0aCBmZm1wZWc2LCBbZmZtcGVnNS5wYXRjaC50 eHRdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvZmlsZXMvMTQ3 NDMyNDYvZmZtcGVnNS5wYXRjaC50eHQpKX5+IHVzZWQgZmZtcGVnNiBwYXRjaA0KDQoNCg0KIyMj IyMgSEFWRSBOT1QgQlVJTFQgWUVUDQoNCi0gfn5vbXhwbGF5ZXIgKHJwaSBvbmx5PyBmZm1wZWc0 KX5+IChyZW1vdmVkKQ0KLSBrb2RpIChiaWcsIGJ1dCBmZm1wZWc0KQ0KDQoNCiMjIyMjIFVQREFU RUQgKGZvciBmZm1wZWc2KQ0KDQotIH5+YmxlbmRlcjogdXBkYXRlIHRvIDMuNS4xfn4gfn53aWxs IGJlIHJldmJ1bXAgd2l0aH5+IGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80Mzk5Mg0KLSB1bnBhcGVyOiB1cGRhdGUgdG8gNy4wLjAuDQotIGd1dmN2aWV3 OiB1cGRhdGUgdG8gMi4wLjguDQotIH5+cXQ1OiB1cGRhdGUgdG8gNS4xNS44fn4gdXBkYXRlZCBi eSBhbm90aGVyIFBSIHRvIDUuMTUuMTENCi0gfn5xdDUtd2ViZW5naW5lOiB1cGRhdGUgdG8gNS4x OC4xNX5+IHVwZGF0ZWQgYnkgYW5vdGhlciBQUiB0byA1LjE1LjE2IChzb21lIHBhdGNoaW5nIGZv ciBmZm1wZWcgYnVpbGQpDQotIH5+c2hpYm9rZW4yOiByZXZidW1wIGZvciBxdDUuMTUuOCAocGF0 Y2gpfn4gdXBkYXRlZCBieSBhbm90aGVyIFBSIHRvIDUuMTUuMTANCi0gfn5weXRob24zLXB5c2lk ZTI6IHVwZGF0ZSB0byA1LjE1LjggKHBhdGNoKX5+IHVwZGF0ZWQgYnkgYW5vdGhlciBQUiB0byA1 LjE1LjEwDQotIE5ldyBwYWNrYWdlOiBzcGV4LXggcmVwbGFjZXMgc3Blay1hbHRlcm5hdGl2ZSBm b3IgZmZtcGVnLTYuMA0KDQoNCiMjIyMjIFJlcXVpcmVtZW50cw0KDQotIH5+W2dzdHJlYW1lciAx LjIyLjJdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80 Mjg2MSl+fiAtIGEgZmV3IHBhY2thZ2VzIHVzZSBmZm1wZWctZGV2ZWwgYW5kIHJlcXVpcmUgYSBy ZXZidW1wDQoNCi0gfn5bSW50ZWwgUGFja2FnZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MTEzMikgW0ludGVsIFBhY2thZ2VzIHYyXShodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDczMzApIC0gZmZtcGVn NCB1c2VzIGRpZmZlcmVudCBsaWJyYXJpZXMgdGhhbiA2IChsaWJtZnggLyBJbnRlbC1NZWRpYVNE SyB2cyBvbmx5IG9uZVZQTCB0aGF0IEludGVsIGlzIG1vdmluZyB0byksIGJvdGggYXJlIGluY2x1 ZGVkIGhlcmV+fi4gVXNpbmcgcmVwbGFjZW1lbnQgb25lVlBMIGZyb20gT0JTIHVwZGF0ZS4NCg0K LSB+fltzaG90Y3V0IDIzLjA1LjE0XShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvNDQyNjApfn4NCg0KLSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvNDQ3ODEgd2lsbCByZW1vdmUgZnJvbSB0aGlzIFBSCgpBIHBh dGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2Vz L3B1bGwvNDM3NjEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============5052333240951933588== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-ffmpeg6-split-43761.patch" RnJvbSAxNzA0ZTg3NWFhZTRjYTFkMmZmZDViNzUyY2UxZWJkZTljNGQzODZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBTdW4s IDE1IE9jdCAyMDIzIDIxOjE2OjU2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMDEvMTA4XSBmZm1w ZWc6IHVwZGF0ZSB0byA2LjAuMS4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMjYgKysrKy0tLQogc3JjcGtncy9mZm1wZWcvZmlsZXMvYWx0aXZl Yy5wYXRjaCAgICAgICAgICAgIHwgNjAgLS0tLS0tLS0tLS0tLS0tCiAuLi4vcGF0Y2hlcy9hcm12 NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaCAgICAgfCAxOCAtLS0tLQogc3JjcGtncy9mZm1wZWcv cGF0Y2hlcy9iaW51dGlscy0yLjQxLnBhdGNoICAgIHwgNzMgLS0tLS0tLS0tLS0tLS0tLS0tLQog Li4uaC1saWJhdmNvZGVjLWxpYnN2dGF2MS10ZW5fYml0X2Zvcm1hdC5kaWZmIHwgNDAgLS0tLS0t LS0tLQogc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9xc3YucGF0Y2ggICAgICAgICAgICAgIHwgMTUg KysrKwogc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9xdDYtd2ViZW5naW5lLnBhdGNoICAgIHwgMzYg KysrKysrKysrCiAuLi4vd29ya2Fyb3VuZC1tZXNhLXJlYWRlb24tdmFhcGktYnVnLnBhdGNoICAg fCAyOCAtLS0tLS0tCiBzcmNwa2dzL2ZmbXBlZy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAg ICAgfCAzOCArKysrKy0tLS0tCiA5IGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDI0 NyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ZmbXBlZy9maWxlcy9h bHRpdmVjLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9h cm12NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv ZmZtcGVnL3BhdGNoZXMvYmludXRpbHMtMi40MS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvZmZtcGVnL3BhdGNoZXMvcGF0Y2gtbGliYXZjb2RlYy1saWJzdnRhdjEtdGVuX2JpdF9m b3JtYXQuZGlmZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmZtcGVnL3BhdGNoZXMvcXN2 LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9xdDYtd2Vi ZW5naW5lLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy93 b3JrYXJvdW5kLW1lc2EtcmVhZGVvbi12YWFwaS1idWcucGF0Y2gKCmRpZmYgLS1naXQgYS9jb21t b24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBkZDBlMzM0NDE0MzU0Yy4uZDdkY2EwMmJh ZWNhNjIgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAt MzkyLDE1ICszOTIsMjMgQEAgbGliaWQzdGFnLnNvLjAgbGliaWQzdGFnLTAuMTUuMWJfMQogbGli Z2lmLnNvLjcgZ2lmbGliLTUuMS4wXzEKIGxpYkltbGliMi5zby4xIGltbGliMi0xLjQuMl8xCiBs aWJtcDNsYW1lLnNvLjAgbGFtZS0zLjk4LjJfMQotbGliYXZkZXZpY2Uuc28uNTggbGliYXZkZXZp Y2UtNC4wXzEKLWxpYmF2Zm9ybWF0LnNvLjU4IGxpYmF2Zm9ybWF0LTQuMF8xCi1saWJzd3NjYWxl LnNvLjUgbGlic3dzY2FsZS00LjBfMQotbGlic3dyZXNhbXBsZS5zby4zIGxpYnN3cmVzYW1wbGUt NC4wXzEKLWxpYmF2cmVzYW1wbGUuc28uNCBsaWJhdnJlc2FtcGxlLTQuMF8xCi1saWJwb3N0cHJv Yy5zby41NSBsaWJwb3N0cHJvYy00LjBfMQotbGliYXZjb2RlYy5zby41OCBsaWJhdmNvZGVjLTQu MF8xCi1saWJhdnV0aWwuc28uNTYgbGliYXZ1dGlsLTQuMF8xCi1saWJhdmZpbHRlci5zby43IGxp YmF2ZmlsdGVyLTQuMF8xCitsaWJhdmRldmljZS5zby42MCBsaWJhdmRldmljZS02LjBfMQorbGli YXZmb3JtYXQuc28uNjAgbGliYXZmb3JtYXQtNi4wXzEKK2xpYnN3c2NhbGUuc28uNyBsaWJzd3Nj YWxlLTYuMF8xCitsaWJzd3Jlc2FtcGxlLnNvLjQgbGlic3dyZXNhbXBsZS02LjBfMQorbGlicG9z dHByb2Muc28uNTcgbGlicG9zdHByb2MtNi4wXzEKK2xpYmF2Y29kZWMuc28uNjAgbGliYXZjb2Rl Yy02LjBfMQorbGliYXZ1dGlsLnNvLjU4IGxpYmF2dXRpbC02LjBfMQorbGliYXZmaWx0ZXIuc28u OSBsaWJhdmZpbHRlci02LjBfMQorbGliYXZkZXZpY2Uuc28uNTggbGliYXZkZXZpY2U0LTQuMF8x CitsaWJhdmZvcm1hdC5zby41OCBsaWJhdmZvcm1hdDQtNC4wXzEKK2xpYnN3c2NhbGUuc28uNSBs aWJzd3NjYWxlNC00LjBfMQorbGlic3dyZXNhbXBsZS5zby4zIGxpYnN3cmVzYW1wbGU0LTQuMF8x CitsaWJhdnJlc2FtcGxlLnNvLjQgbGliYXZyZXNhbXBsZTQtNC4wXzEKK2xpYnBvc3Rwcm9jLnNv LjU1IGxpYnBvc3Rwcm9jNC00LjBfMQorbGliYXZjb2RlYy5zby41OCBsaWJhdmNvZGVjNC00LjBf MQorbGliYXZ1dGlsLnNvLjU2IGxpYmF2dXRpbDQtNC4wXzEKK2xpYmF2ZmlsdGVyLnNvLjcgbGli YXZmaWx0ZXI0LTQuMF8xCiBsaWJTREwtMS4yLnNvLjAgU0RMLTEuMi4xNF8xCiBsaWJTRExfaW1h Z2UtMS4yLnNvLjAgU0RMX2ltYWdlLTEuMi4xMF8xCiBsaWJ4MjY0LnNvLjE1NyB4MjY0LTIwMTkw NTA3LjIyNDVfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWcvZmlsZXMvYWx0aXZlYy5wYXRj aCBiL3NyY3BrZ3MvZmZtcGVnL2ZpbGVzL2FsdGl2ZWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDljNTcyMDA0NjMzMjBlLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L2ZmbXBlZy9maWxlcy9hbHRpdmVjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBA QAotcmV2ZXJ0IHNvbWUgYWx0aXZlYyBzcGVjaWZpYyBjaGFuZ2Ugb24gYWxsIHBwYyogZXhjZXB0 IHBwYzY0bGUqCi0KLXE2NjogIldlIHNob3VsZCBhbHNvIHRocm93IGluIGEgcmV2ZXJ0IG9mIEZG bXBlZy9GRm1wZWdAM2E1NTdjNSBidXQgb25seQotY29uZGl0aW9uYWxseSwgZm9yIHBwYyogYnV0 IG5vdCBwcGM2NGxlKiAodGhlIG5ldyBjb2RlIGlzIHZhbGlkIGZvcgotUE9XRVI4IFZTWCB3aGlj aCBMRSB0YXJnZXRzIGFzIGEgYmFzZWxpbmUgYnV0IG5vdCBCRSkiCi0KLQotVGhpcyByZXZlcnRz IGNvbW1pdCAzYTU1N2M1ZDg4YjdiMTViNTk1NGJhMjc0M2ZlYmIwNTU1NDliNTM2LgotLS0tCi0g bGlic3dzY2FsZS9wcGMveXV2MnJnYl9hbHRpdmVjLmMgfCAyNCArKysrKysrKysrKysrKysrKysr Ky0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvcHBjL3l1djJyZ2JfYWx0aXZlYy5jIGIvbGlic3dz Y2FsZS9wcGMveXV2MnJnYl9hbHRpdmVjLmMKLWluZGV4IDUzNjU0NTI5M2QuLmMxZTI4NTJhZGIg MTAwNjQ0Ci0tLS0gYS9saWJzd3NjYWxlL3BwYy95dXYycmdiX2FsdGl2ZWMuYwotKysrIGIvbGli c3dzY2FsZS9wcGMveXV2MnJnYl9hbHRpdmVjLmMKLUBAIC0zMDUsNiArMzA1LDkgQEAgc3RhdGlj IGludCBhbHRpdmVjXyAjIyBuYW1lKFN3c0NvbnRleHQgKmMsIGNvbnN0IHVuc2lnbmVkIGNoYXIg KippbiwgICAgICAgICAgXAotICAgICB2ZWN0b3Igc2lnbmVkIHNob3J0IFIxLCBHMSwgQjE7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgdmVjdG9yIHVu c2lnbmVkIGNoYXIgUiwgRywgQjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICBjb25zdCB2ZWN0b3IgdW5z aWduZWQgY2hhciAqeTFpdlAsICp5Mml2UCwgKnVpdlAsICp2aXZQOyAgICAgICAgICAgICAgICAg IFwKLSsgICAgdmVjdG9yIHVuc2lnbmVkIGNoYXIgYWxpZ25fcGVybTsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg ICB2ZWN0b3Igc2lnbmVkIHNob3J0IGxDWSAgICAgICA9IGMtPkNZOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgdmVjdG9yIHNpZ25lZCBzaG9ydCBsT1kgICAgICAg PSBjLT5PWTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIHZlY3Rv ciBzaWduZWQgc2hvcnQgbENSViAgICAgID0gYy0+Q1JWOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAotQEAgLTMzNSwxMyArMzM4LDI2IEBAIHN0YXRpYyBpbnQgYWx0aXZlY18g IyMgbmFtZShTd3NDb250ZXh0ICpjLCBjb25zdCB1bnNpZ25lZCBjaGFyICoqaW4sICAgICAgICAg IFwKLSAgICAgICAgIHZlY19kc3RzdChvdXRlLCAoMHgwMjAwMDAwMiB8ICgoKHcgKiAzICsgMzIp IC8gMzIpIDw8IDE2KSksIDEpOyAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg ICAgICAgZm9yIChqID0gMDsgaiA8IHcgLyAxNjsgaisrKSB7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICB5MCA9IHZlY194bCgwLCB5MWkpOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICAg ICAgeTFpdlAgPSAoY29uc3QgdmVjdG9yIHVuc2lnbmVkIGNoYXIgKikgeTFpOyAgICAgICAgICAg ICAgICAgICAgICAgXAotKyAgICAgICAgICAgIHkyaXZQID0gKGNvbnN0IHZlY3RvciB1bnNpZ25l ZCBjaGFyICopIHkyaTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgICAgICB1aXZQ ICA9IChjb25zdCB2ZWN0b3IgdW5zaWduZWQgY2hhciAqKSB1aTsgICAgICAgICAgICAgICAgICAg ICAgICBcCi0rICAgICAgICAgICAgdml2UCAgPSAoY29uc3QgdmVjdG9yIHVuc2lnbmVkIGNoYXIg Kikgdmk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LSsgICAgICAgICAgICBhbGlnbl9wZXJtID0gdmVjX2x2c2woMCwgeTFpKTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICAgICAgeTAgPSAodmVjdG9yIHVuc2ln bmVkIGNoYXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAg ICAgICAgICAgICAgICAgIHZlY19wZXJtKHkxaXZQWzBdLCB5MWl2UFsxXSwgYWxpZ25fcGVybSk7 ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAg eTEgPSB2ZWNfeGwoMCwgeTJpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotKyAgICAgICAgICAgIGFsaWduX3Blcm0gPSB2ZWNfbHZzbCgwLCB5MmkpOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgICAgICB5MSA9ICh2 ZWN0b3IgdW5zaWduZWQgY2hhcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCi0rICAgICAgICAgICAgICAgICAgICAgdmVjX3Blcm0oeTJpdlBbMF0sIHkyaXZQWzFdLCBh bGlnbl9wZXJtKTsgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0g ICAgICAgICAgICB1ID0gKHZlY3RvciBzaWduZWQgY2hhcikgdmVjX3hsKDAsIHVpKTsgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICAgICAgYWxpZ25fcGVybSA9IHZlY19sdnNs KDAsIHVpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAgICAg ICAgIHUgPSAodmVjdG9yIHNpZ25lZCBjaGFyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKLSsgICAgICAgICAgICAgICAgICAgIHZlY19wZXJtKHVpdlBbMF0sIHVp dlBbMV0sIGFsaWduX3Blcm0pOyAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotLSAgICAgICAgICAgIHYgPSAodmVjdG9yIHNpZ25lZCBjaGFyKSB2ZWNfeGwoMCwg dmkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgICAgICBhbGlnbl9wZXJt ID0gdmVjX2x2c2woMCwgdmkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Ci0rICAgICAgICAgICAgdiA9ICh2ZWN0b3Igc2lnbmVkIGNoYXIpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAgICAgICAgICAgICAgICAgdmVjX3Blcm0o dml2UFswXSwgdml2UFsxXSwgYWxpZ25fcGVybSk7ICAgICAgICAgICAgICAgICAgIFwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgdSA9ICh2ZWN0b3Igc2lnbmVkIGNoYXIp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg ICAgICAgICAgdmVjX3N1Yih1LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKLS0tIAotMi4yNy4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmZtcGVnL3Bh dGNoZXMvYXJtdjV0ZWwtZmxvYXRpbmctcG9pbnQucGF0Y2ggYi9zcmNwa2dzL2ZmbXBlZy9wYXRj aGVzL2FybXY1dGVsLWZsb2F0aW5nLXBvaW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA5YTU1MTc4Yzc0ZjBmZC4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9mZm1w ZWcvcGF0Y2hlcy9hcm12NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE4ICswLDAgQEAKLS0tLSBhL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMJMjAxNy0xMC0y NiAyMTowMzowMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0 LmMJMjAxNy0xMS0yMSAxMTowNjo0OS42MDIyODQ0MjIgKzAxMDAKLUBAIC0zOSw2ICszOSwxNSBA QAotICNlbmRpZgotICNpbmNsdWRlIDxmZW52Lmg+Ci0gCi0rI2lmIChGRV9BTExfRVhDRVBUID09 IDApCi0rLyogRS5nLiBBUk0gc29mdCBmbG9hdCBkb2VzIG5vdCBkZWZpbmUgdGhlc2UgKi8KLSsj ZGVmaW5lIEZFX0lOVkFMSUQgICAgMAotKyNkZWZpbmUgRkVfRElWQllaRVJPICAwCi0rI2RlZmlu ZSBGRV9PVkVSRkxPVyAgIDAKLSsjZGVmaW5lIEZFX1VOREVSRkxPVyAgMAotKyNkZWZpbmUgRkVf SU5FWEFDVCAgICAwCi0rI2VuZGlmCi0rCi0gI2lmIENPTkZJR19MSUJGT05UQ09ORklHCi0gI2lu Y2x1ZGUgPGZvbnRjb25maWcvZm9udGNvbmZpZy5oPgotICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9mZm1wZWcvcGF0Y2hlcy9iaW51dGlscy0yLjQxLnBhdGNoIGIvc3JjcGtncy9mZm1wZWcv cGF0Y2hlcy9iaW51dGlscy0yLjQxLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA1M2E1OTZkMGVlN2Q0ZS4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9mZm1wZWcvcGF0 Y2hlcy9iaW51dGlscy0yLjQxLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAot RnJvbSBlZmZhZGNlNmM3NTYyNDdlYThiYWUzMmRjMTNiYjNlNmY0NjRmMGViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP1I9QzM9QTltaT0yMERlbmlzLUNvdXJtb250 Pz0gPHJlbWlAcmVtbGFiLm5ldD4KLURhdGU6IFN1biwgMTYgSnVsIDIwMjMgMTg6MTg6MDIgKzAz MDAKLVN1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy94ODYvbWF0aG9wczogY2xpcCBjb25zdGFudHMg dXNlZCB3aXRoIHNoaWZ0Ci0gaW5zdHJ1Y3Rpb25zIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkKLQot Rml4ZXMgYXNzZW1ibGluZyB3aXRoIGJpbnV0aWwgYXMgPj0gMi40MQotCi1TaWduZWQtb2ZmLWJ5 OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+Ci0tLS0KLSBsaWJhdmNvZGVjL3g4Ni9t YXRob3BzLmggfCAyNiArKysrKysrKysrKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2Vk LCAyMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGliYXZj b2RlYy94ODYvbWF0aG9wcy5oIGIvbGliYXZjb2RlYy94ODYvbWF0aG9wcy5oCi1pbmRleCA2Mjk4 ZjVlZDE5ODNiLi5jYTdlMmRmZmMxMDc2IDEwMDY0NAotLS0tIGEvbGliYXZjb2RlYy94ODYvbWF0 aG9wcy5oCi0rKysgYi9saWJhdmNvZGVjL3g4Ni9tYXRob3BzLmgKLUBAIC0zNSwxMiArMzUsMjAg QEAKLSBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBhdl9jb25zdCBpbnQgTVVMTChpbnQgYSwgaW50 IGIsIHVuc2lnbmVkIHNoaWZ0KQotIHsKLSAgICAgaW50IHJ0LCBkdW1teTsKLSsgICAgaWYgKF9f YnVpbHRpbl9jb25zdGFudF9wKHNoaWZ0KSkKLSAgICAgX19hc21fXyAoCi0gICAgICAgICAiaW11 bGwgJTMgICAgICAgICAgICAgICBcblx0IgotICAgICAgICAgInNocmRsICU0LCAlJWVkeCwgJSVl YXggXG5cdCIKLSAgICAgICAgIDoiPWEiKHJ0KSwgIj1kIihkdW1teSkKLS0gICAgICAgIDoiYSIo YSksICJybSIoYiksICJjaSIoKHVpbnQ4X3Qpc2hpZnQpCi0rICAgICAgICA6ImEiKGEpLCAicm0i KGIpLCAiaSIoc2hpZnQgJiAweDFGKQotICAgICApOwotKyAgICBlbHNlCi0rICAgICAgICBfX2Fz bV9fICgKLSsgICAgICAgICAgICAiaW11bGwgJTMgICAgICAgICAgICAgICBcblx0IgotKyAgICAg ICAgICAgICJzaHJkbCAlNCwgJSVlZHgsICUlZWF4IFxuXHQiCi0rICAgICAgICAgICAgOiI9YSIo cnQpLCAiPWQiKGR1bW15KQotKyAgICAgICAgICAgIDoiYSIoYSksICJybSIoYiksICJjIigodWlu dDhfdClzaGlmdCkKLSsgICAgICAgICk7Ci0gICAgIHJldHVybiBydDsKLSB9Ci0gCi1AQCAtMTEz LDE5ICsxMjEsMzEgQEAgX19hc21fXyB2b2xhdGlsZShcCi0gLy8gYXZvaWQgKzMyIGZvciBzaGlm dCBvcHRpbWl6YXRpb24gKGdjYyBzaG91bGQgZG8gdGhhdCAuLi4pCi0gI2RlZmluZSBORUdfU1NS MzIgTkVHX1NTUjMyCi0gc3RhdGljIGlubGluZSAgaW50MzJfdCBORUdfU1NSMzIoIGludDMyX3Qg YSwgaW50OF90IHMpewotKyAgICBpZiAoX19idWlsdGluX2NvbnN0YW50X3AocykpCi0gICAgIF9f YXNtX18gKCJzYXJsICUxLCAlMFxuXHQiCi0gICAgICAgICAgOiAiK3IiIChhKQotLSAgICAgICAg IDogImljIiAoKHVpbnQ4X3QpKC1zKSkKLSsgICAgICAgICA6ICJpIiAoLXMgJiAweDFGKQotICAg ICApOwotKyAgICBlbHNlCi0rICAgICAgICBfX2FzbV9fICgic2FybCAlMSwgJTBcblx0IgotKyAg ICAgICAgICAgICAgIDogIityIiAoYSkKLSsgICAgICAgICAgICAgICA6ICJjIiAoKHVpbnQ4X3Qp KC1zKSkKLSsgICAgICAgICk7Ci0gICAgIHJldHVybiBhOwotIH0KLSAKLSAjZGVmaW5lIE5FR19V U1IzMiBORUdfVVNSMzIKLSBzdGF0aWMgaW5saW5lIHVpbnQzMl90IE5FR19VU1IzMih1aW50MzJf dCBhLCBpbnQ4X3Qgcyl7Ci0rICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChzKSkKLSAgICAg X19hc21fXyAoInNocmwgJTEsICUwXG5cdCIKLSAgICAgICAgICA6ICIrciIgKGEpCi0tICAgICAg ICAgOiAiaWMiICgodWludDhfdCkoLXMpKQotKyAgICAgICAgIDogImkiICgtcyAmIDB4MUYpCi0g ICAgICk7Ci0rICAgIGVsc2UKLSsgICAgICAgIF9fYXNtX18gKCJzaHJsICUxLCAlMFxuXHQiCi0r ICAgICAgICAgICAgICAgOiAiK3IiIChhKQotKyAgICAgICAgICAgICAgIDogImMiICgodWludDhf dCkoLXMpKQotKyAgICAgICAgKTsKLSAgICAgcmV0dXJuIGE7Ci0gfQotIApkaWZmIC0tZ2l0IGEv c3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9wYXRjaC1saWJhdmNvZGVjLWxpYnN2dGF2MS10ZW5fYml0 X2Zvcm1hdC5kaWZmIGIvc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9wYXRjaC1saWJhdmNvZGVjLWxp YnN2dGF2MS10ZW5fYml0X2Zvcm1hdC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBhYTk0OGY3YThhMmRmYi4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9mZm1wZWcvcGF0 Y2hlcy9wYXRjaC1saWJhdmNvZGVjLWxpYnN2dGF2MS10ZW5fYml0X2Zvcm1hdC5kaWZmCisrKyAv ZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0jIEZyb20gMDMxZjE1NjFjZDI4NjU5NmNkYjM3NGRhMzJmOGFhODE2Y2Uz YjEzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLSMgRnJvbTogQ2hyaXN0b3BoZXIgRGVnYXdh IDxjaHJpc3RvcGhlci5kZWdhd2FAaW50ZWwuY29tPgotIyBEYXRlOiBUaHUsIDIwIE9jdCAyMDIy IDIyOjU1OjI3IC0wNTAwCi0jIFN1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy9saWJzdnRhdjE6IHJl bW92ZSBjb21wcmVzc2VkX3Rlbl9iaXRfZm9ybWF0IGFuZCBzaW1wbGlmeSBhbGxvY19idWZmZXIK LSMKLSMgY29tcHJlc3NlZF90ZW5fYml0X2Zvcm1hdCBoYXMgYmVlbiBkZXByZWNhdGVkIHVwc3Ry ZWFtIGFuZCBoYXMgbm8gZWZmZWN0Ci0jIGFuZCBjYW4gYmUgcmVtb3ZlZC4gUGx1cywgdGVjaG5p Y2FsbHkgaXQgd2FzIG5ldmVyIHVzZWQgaW4gdGhlIGZpcnN0IHBsYWNlCi0jIHNpbmNlIGl0IHdv dWxkIHJlcXVpcmUgdGhlIGFwcCAoZmZtcGVnKSB0byBzZXQgaXQgYW5kIGRvIGFkZGl0aW9uYWwK LSMgcHJvY2Vzc2luZyBvZiB0aGUgaW5wdXQgZnJhbWVzLgotIwotIyBBbHNvIHNpbXBsaWZ5IGFs bG9jX2J1ZmZlciBieSByZW1vdmluZyBjYWxjdWxhdGlvbnMgcmVsYXRpbmcgdG8gdGhlIG5vbi1l eGlzdGFudCBwcm9jZXNzaW5nLgotIwotIyBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBEZWdh d2EgPGNocmlzdG9waGVyLmRlZ2F3YUBpbnRlbC5jb20+Ci0jPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhL2xpYmF2Y29kZWMvbGlic3Z0YXYxLmMKLSsrKyBi L2xpYmF2Y29kZWMvbGlic3Z0YXYxLmMKLUBAIC0xMjQsMTYgKzEyNCwxMiBAQCBzdGF0aWMgaW50 IHN2dF9wcmludF9lcnJvcih2b2lkICpsb2dfY3R4LCBFYkVycm9yVHlwZSBlcnIsCi0gCi0gc3Rh dGljIGludCBhbGxvY19idWZmZXIoRWJTdnRBdjFFbmNDb25maWd1cmF0aW9uICpjb25maWcsIFN2 dENvbnRleHQgKnN2dF9lbmMpCi0gewotLSAgICBjb25zdCBpbnQgICAgcGFja19tb2RlXzEwYml0 ID0KLS0gICAgICAgIChjb25maWctPmVuY29kZXJfYml0X2RlcHRoID4gOCkgJiYgKGNvbmZpZy0+ Y29tcHJlc3NlZF90ZW5fYml0X2Zvcm1hdCA9PSAwKSA/IDEgOiAwOwotLSAgICBjb25zdCBzaXpl X3QgbHVtYV9zaXplXzhiaXQgID0KLS0gICAgICAgIGNvbmZpZy0+c291cmNlX3dpZHRoICogY29u ZmlnLT5zb3VyY2VfaGVpZ2h0ICogKDEgPDwgcGFja19tb2RlXzEwYml0KTsKLS0gICAgY29uc3Qg c2l6ZV90IGx1bWFfc2l6ZV8xMGJpdCA9Ci0tICAgICAgICAoY29uZmlnLT5lbmNvZGVyX2JpdF9k ZXB0aCA+IDggJiYgcGFja19tb2RlXzEwYml0ID09IDApID8gbHVtYV9zaXplXzhiaXQgOiAwOwot KyAgICBjb25zdCBzaXplX3QgbHVtYV9zaXplID0gY29uZmlnLT5zb3VyY2Vfd2lkdGggKiBjb25m aWctPnNvdXJjZV9oZWlnaHQgKgotKyAgICAgICAgKGNvbmZpZy0+ZW5jb2Rlcl9iaXRfZGVwdGgg PiA4ID8gMiA6IDEpOwotIAotICAgICBFYlN2dElPRm9ybWF0ICppbl9kYXRhOwotIAotLSAgICBz dnRfZW5jLT5yYXdfc2l6ZSA9IChsdW1hX3NpemVfOGJpdCArIGx1bWFfc2l6ZV8xMGJpdCkgKiAz IC8gMjsKLSsgICAgc3Z0X2VuYy0+cmF3X3NpemUgPSBsdW1hX3NpemUgKiAzIC8gMjsKLSAKLSAg ICAgLy8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbiBhbmQgb3V0Ci0gICAgIHN2dF9lbmMtPmluX2J1 ZiAgICAgICAgICAgPSBhdl9tYWxsb2N6KHNpemVvZigqc3Z0X2VuYy0+aW5fYnVmKSk7Ci0tLSAK LUdpdExhYgotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZy9wYXRjaGVzL3Fzdi5wYXRjaCBi L3NyY3BrZ3MvZmZtcGVnL3BhdGNoZXMvcXN2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAwLi45NGVmNjhmNTY4M2YzYQotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvZmZtcGVnL3BhdGNoZXMvcXN2LnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK2RpZmYgLS1n aXQgYS9saWJhdmNvZGVjL3FzdmRlYy5jIGIvbGliYXZjb2RlYy9xc3ZkZWMuYworaW5kZXggZGE3 MDBmMjVlOS4uYjUwMTk2NDA4OSAxMDA2NDQKKy0tLSBhL2xpYmF2Y29kZWMvcXN2ZGVjLmMKKysr KyBiL2xpYmF2Y29kZWMvcXN2ZGVjLmMKK0BAIC0xMDc2LDYgKzEwNzYsOSBAQCAgc3RhdGljIGlu dCBxc3ZfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUs CisgCisgICAgICAgICByZXQgPSBxc3ZfcHJvY2Vzc19kYXRhKGF2Y3R4LCAmcy0+cXN2LCBmcmFt ZSwgZ290X2ZyYW1lLCAmcy0+YnVmZmVyX3BrdCk7CisgICAgICAgICBpZiAocmV0IDwgMCl7Cisr ICAgICAgICAgICAgaWYgKHJldCA9PSBBVkVSUk9SKEVBR0FJTikpCisrICAgICAgICAgICAgICAg IHJldCA9IDA7CisrCisgICAgICAgICAgICAgLyogRHJvcCBidWZmZXJfcGt0IHdoZW4gZmFpbGVk IHRvIGRlY29kZSB0aGUgcGFja2V0LiBPdGhlcndpc2UsCisgICAgICAgICAgICAgICAgdGhlIGRl Y29kZXIgd2lsbCBrZWVwIGRlY29kaW5nIHRoZSBmYWlsdXJlIHBhY2tldC4gKi8KKyAgICAgICAg ICAgICBhdl9wYWNrZXRfdW5yZWYoJnMtPmJ1ZmZlcl9wa3QpOworCmRpZmYgLS1naXQgYS9zcmNw a2dzL2ZmbXBlZy9wYXRjaGVzL3F0Ni13ZWJlbmdpbmUucGF0Y2ggYi9zcmNwa2dzL2ZmbXBlZy9w YXRjaGVzL3F0Ni13ZWJlbmdpbmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwMDAuLmMwYjM5N2JhODQ5NDM4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9m Zm1wZWcvcGF0Y2hlcy9xdDYtd2ViZW5naW5lLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK2h0dHBz Oi8vYXVyLmFyY2hsaW51eC5vcmcvY2dpdC9hdXIuZ2l0L3RyZWUvMDQwLWZmbXBlZy1hZGQtYXZf c3RyZWFtX2dldF9maXJzdF9kdHMtZm9yLWNocm9taXVtLnBhdGNoP2g9ZmZtcGVnLWludGVsLWZ1 bGwtZ2l0CitkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvYXZmb3JtYXQuaCBiL2xpYmF2Zm9ybWF0 L2F2Zm9ybWF0LmgKK2luZGV4IGNkN2IwZDk0MWMuLmI0YTZkY2U4ODUgMTAwNjQ0CistLS0gYS9s aWJhdmZvcm1hdC9hdmZvcm1hdC5oCisrKysgYi9saWJhdmZvcm1hdC9hdmZvcm1hdC5oCitAQCAt MTAyNSw2ICsxMDI1LDEwIEBACisKKyAjZGVmaW5lIEFWX1BST0dSQU1fUlVOTklORyAxCisKKysv LyBDaHJvbWl1bTogV2UgdXNlIHRoZSBpbnRlcm5hbCBmaWVsZCBmaXJzdF9kdHMgdnZ2CisraW50 NjRfdCAgICBhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cyhjb25zdCBBVlN0cmVhbSAqc3QpOworKy8v IENocm9taXVtOiBXZSB1c2UgdGhlIGludGVybmFsIGZpZWxkIGZpcnN0X2R0cyBeXl4KKysKKyAv KioKKyAgKiBOZXcgZmllbGRzIGNhbiBiZSBhZGRlZCB0byB0aGUgZW5kIHdpdGggbWlub3IgdmVy c2lvbiBidW1wcy4KKyAgKiBSZW1vdmFsLCByZW9yZGVyaW5nIGFuZCBjaGFuZ2VzIHRvIGV4aXN0 aW5nIGZpZWxkcyByZXF1aXJlIGEgbWFqb3IKKworZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3V0 aWxzLmMgYi9saWJhdmZvcm1hdC91dGlscy5jCitpbmRleCBkZTc1ODBjMzJkLi4wZWYwZmU1MzBl IDEwMDY0NAorLS0tIGEvbGliYXZmb3JtYXQvdXRpbHMuYworKysrIGIvbGliYXZmb3JtYXQvdXRp bHMuYworQEAgLTE1Miw2ICsxNTIsMTMgQEAKKyAgICAgcmV0dXJuIEFWX0NPREVDX0lEX05PTkU7 CisgfQorCisrLy8gQ2hyb21pdW06IFdlIHVzZSB0aGUgaW50ZXJuYWwgZmllbGQgZmlyc3RfZHRz IHZ2dgorK2ludDY0X3QgYXZfc3RyZWFtX2dldF9maXJzdF9kdHMoY29uc3QgQVZTdHJlYW0gKnN0 KQorK3sKKysgIHJldHVybiBjZmZzdHJlYW0oc3QpLT5maXJzdF9kdHM7CisrfQorKy8vIENocm9t aXVtOiBXZSB1c2UgdGhlIGludGVybmFsIGZpZWxkIGZpcnN0X2R0cyBeXl4KKysKKyBlbnVtIEFW Q29kZWNJRCBmZl9nZXRfcGNtX2NvZGVjX2lkKGludCBicHMsIGludCBmbHQsIGludCBiZSwgaW50 IHNmbGFncykKKyB7CisgICAgIGlmIChicHMgPD0gMCB8fCBicHMgPiA2NCkKKwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy93b3JrYXJvdW5kLW1lc2EtcmVhZGVvbi12YWFwaS1i dWcucGF0Y2ggYi9zcmNwa2dzL2ZmbXBlZy9wYXRjaGVzL3dvcmthcm91bmQtbWVzYS1yZWFkZW9u LXZhYXBpLWJ1Zy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDBlM2Y2OGE0 MTViODQuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZmZtcGVnL3BhdGNoZXMvd29ya2Fy b3VuZC1tZXNhLXJlYWRlb24tdmFhcGktYnVnLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjgg KzAsMCBAQAotRnJvbSA4MTFkMjkwODQ0MjA2ZmM3M2RjMzljM2U1YjY3ZDVkODk1YmFlZGY4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmFpbmVyIEhvY2hlY2tlciA8ZmVybmV0bWVu dGFAb25saW5lLmRlPgotRGF0ZTogU2F0LCAyNiBKYW4gMjAxOSAxOTo0ODozNSArMDEwMAotU3Vi amVjdDogW1BBVENIXSBhdmNvZGVjL3ZhYXBpX2gyNjQ6IHNraXAgZGVjb2RlIGlmIHBpYyBoYXMg bm8gc2xpY2VzCi0KLVRoaXMgZml4ZXMgLyB3b3JrYXJvdW5kcyBodHRwczovL2J1Z3MuZnJlZWRl c2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUzNjguCi1JdCB3YXMgaGl0IGZyZXF1ZW50bHkg d2hlbiB3YXRjaGluZyBoMjY0IGNoYW5uZWxzIHJlY2VpdmVkIHZpYSBEVkItWC4KLUNvcnJlc3Bv bmRpbmcga29kaSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS94Ym1jL3hibWMvaXNzdWVzLzE1NzA0 Ci0tLS0KLSBsaWJhdmNvZGVjL3ZhYXBpX2gyNjQuYyB8IDUgKysrKysKLSAxIGZpbGUgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZhYXBpX2gyNjQu YyBiL2xpYmF2Y29kZWMvdmFhcGlfaDI2NC5jCi1pbmRleCA1ODU0NTg3YTI1NS4uZjEyZmRjNDU3 YTQgMTAwNjQ0Ci0tLS0gYS9saWJhdmNvZGVjL3ZhYXBpX2gyNjQuYwotKysrIGIvbGliYXZjb2Rl Yy92YWFwaV9oMjY0LmMKLUBAIC0zMTcsNiArMzE3LDExIEBAIHN0YXRpYyBpbnQgdmFhcGlfaDI2 NF9lbmRfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQotICAgICBIMjY0U2xpY2VDb250ZXh0 ICpzbCA9ICZoLT5zbGljZV9jdHhbMF07Ci0gICAgIGludCByZXQ7Ci0gCi0rICAgIGlmIChwaWMt Pm5iX3NsaWNlcyA9PSAwKSB7Ci0rICAgICAgICByZXQgPSBBVkVSUk9SX0lOVkFMSUREQVRBOwot KyAgICAgICAgZ290byBmaW5pc2g7Ci0rICAgIH0KLSsKLSAgICAgcmV0ID0gZmZfdmFhcGlfZGVj b2RlX2lzc3VlKGF2Y3R4LCBwaWMpOwotICAgICBpZiAocmV0IDwgMCkKLSAgICAgICAgIGdvdG8g ZmluaXNoOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWcvdGVtcGxhdGUgYi9zcmNwa2dzL2Zm bXBlZy90ZW1wbGF0ZQppbmRleCA5MzYxOGNkOTc3NTM3ZS4uNTNiNDgwNWI2NGFmZjAgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvZmZtcGVnL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZmZtcGVnL3RlbXBs YXRlCkBAIC0xLDE1ICsxLDE1IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdmZm1wZWcnCiAjIGF1 ZGFjaXR5IGFsc28gbmVlZHMgdG8gYmUgYnVtcGVkIHdoZW4gYSBuZXcgZmZtcGVnIHZlcnNpb24g YnVtcHMgbGliYXZmb3JtYXQncyBzb25hbWUhCiBwa2duYW1lPWZmbXBlZwotdmVyc2lvbj00LjQu NAotcmV2aXNpb249NwordmVyc2lvbj02LjAuMQorcmV2aXNpb249MQogc2hvcnRfZGVzYz0iRGVj b2RpbmcsIGVuY29kaW5nIGFuZCBzdHJlYW1pbmcgc29mdHdhcmUiCiBtYWludGFpbmVyPSJPcnBo YW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIK IGhvbWVwYWdlPSJodHRwczovL3d3dy5mZm1wZWcub3JnIgogY2hhbmdlbG9nPSJodHRwczovL3Jh dy5naXRodWJ1c2VyY29udGVudC5jb20vRkZtcGVnL0ZGbXBlZy9tYXN0ZXIvQ2hhbmdlbG9nIgog ZGlzdGZpbGVzPSJodHRwczovL3d3dy5mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWU4MGIzODBkNTk1YzgwOTA2MGY2NmY5NmE1ZDg0OTUxMWVm NGE3NmEyNmI3NmVhY2Y1Nzc4Yjk0YzM1NzAzMDkKK2NoZWNrc3VtPTliMTZiODczMWQ3OGU1OTZi NGJlMGQ3MjA0MjhjYTQyZGY2NDJiYjJkNzgzNDI4ODFmZjdmNWJjMjlmYzk2MjMKIAogaG9zdG1h a2VkZXBlbmRzPSJwa2ctY29uZmlnIHBlcmwiCiBtYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBiemlw Mi1kZXZlbCBmcmVldHlwZS1kZXZlbCBhbHNhLWxpYi1kZXZlbCBsaWJYZml4ZXMtZGV2ZWwKQEAg LTI4LDExICsyOCwxMiBAQCBtYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBiemlwMi1kZXZlbCBmcmVl dHlwZS1kZXZlbCBhbHNhLWxpYi1kZXZlbCBsaWJYZml4ZXMtZGV2ZQogICQodm9wdF9pZiBkcm0g bGliZHJtLWRldmVsKSAkKHZvcHRfaWYgc3Z0YXYxIGxpYnN2dC1hdjEtZGV2ZWwpCiAgJCh2b3B0 X2lmIHNydCBzcnQtZGV2ZWwpICQodm9wdF9pZiByaXN0IGxpYnJpc3QtZGV2ZWwpCiAgJCh2b3B0 X2lmIHZ1bGthbiAndnVsa2FuLWxvYWRlci1kZXZlbCcpCisgJCh2b3B0X2lmIG9uZXZwbCAnb25l VlBMIG9uZVZQTC1kZXZlbCcpCiAgJCh2b3B0X2lmIG52ZW5jIG52LWNvZGVjLWhlYWRlcnMpICQo dm9wdF9pZiBudmRlYyBudi1jb2RlYy1oZWFkZXJzKSIKIGRlcGVuZHM9ImZmcGxheT49JHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKIAogYnVpbGRfb3B0aW9ucz0ieDI2NSB2NGwyIHZhYXBpIHZkcGF1 IHZweCBmZGtfYWFjIGFvbSBudmVuYyBzbmRpbyBwdWxzZWF1ZGlvCi0gZGF2MWQgemltZyB3ZWJw IHNvZmEgdnVsa2FuIGRybSBzdnRhdjEgc3J0IHJpc3QgbnZkZWMiCisgZGF2MWQgemltZyB3ZWJw IHNvZmEgdnVsa2FuIGRybSBzdnRhdjEgc3J0IHJpc3QgbnZkZWMgb25ldnBsIgogYnVpbGRfb3B0 aW9uc19kZWZhdWx0PSJ4MjY1IHY0bDIgdnB4IGFvbSBzbmRpbyBwdWxzZWF1ZGlvIGRhdjFkIHdl YnAgdnVsa2FuIGRybSBzcnQgcmlzdCIKIGRlc2Nfb3B0aW9uX3NydD0iRW5hYmxlIHN1cHBvcnQg Zm9yIFNSVCAoU2VjdXJlLCBSZWxpYWJsZSwgVHJhbnNwb3J0KSIKIGRlc2Nfb3B0aW9uX3Jpc3Q9 IkVuYWJsZSBzdXBwb3J0IGZvciBSSVNUIChSZWxpYWJsZSBJbnRlcm5ldCBTdHJlYW0gVHJhbnNw b3J0KSIKQEAgLTQwLDkgKzQxLDEzIEBAIGRlc2Nfb3B0aW9uX3NvZmE9IkVuYWJsZSBzdXBwb3J0 IGZvciBBRVMgU09GQSIKIGRlc2Nfb3B0aW9uX3dlYnA9IkVuYWJsZSBzdXBwb3J0IGZvciBXZWJQ IgogCiBjYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KLQlpNjg2Knx4ODZfNjQqKQotCQlo b3N0bWFrZWRlcGVuZHMrPSIgbmFzbSIKKwlpNjg2KikKIAkJYnVpbGRfb3B0aW9uc19kZWZhdWx0 Kz0iIHZhYXBpIHZkcGF1IG52ZW5jIG52ZGVjIgorCQlob3N0bWFrZWRlcGVuZHMrPSIgbmFzbSIK KwkJOzsKKwl4ODZfNjQqKQorCQlob3N0bWFrZWRlcGVuZHMrPSIgbmFzbSIKKwkJYnVpbGRfb3B0 aW9uc19kZWZhdWx0Kz0iIHZhYXBpIHZkcGF1IG52ZW5jIG52ZGVjIG9uZXZwbCIKIAkJOzsKIAlw cGM2NCopIGJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiB2YWFwaSB2ZHBhdSI7OwogCW1pcHMqKSBD RkxBR1M9Ii1tbmFuPWxlZ2FjeSI7OwpAQCAtNjYsOCArNzEsNiBAQCBwb3N0X3BhdGNoKCkgewog CQlwcGM2NGxlKikgOzsKIAkJcHBjKikgX2FwcGx5X3BhdGNoIC1wMSAke0ZJTEVTRElSfS9hbHRp dmVjLnBhdGNoIDs7CiAJZXNhYwotCi0JdnNlZCAtaSBsaWJhdmZpbHRlci92Zl9saWJ2bWFmLmMg LWUgJ3MhL3Vzci9sb2NhbC9zaGFyZS9tb2RlbC9cKHZtYWZfdjAuNi4xXCkucGtsIS91c3Ivc2hh cmUvdm1hZi9cMS5qc29uIScKIH0KIAogZG9fY29uZmlndXJlKCkgewpAQCAtMTE2LDE4ICsxMTks MTkgQEAgZG9fY29uZmlndXJlKCkgewogCQkkKHZvcHRfZW5hYmxlIHgyNjUgbGlieDI2NSkgXAog CQkkKHZvcHRfZW5hYmxlIHY0bDIgbGlidjRsMikgXAogCQkkKHZvcHRfZW5hYmxlIGFvbSBsaWJh b20pICQodm9wdF9lbmFibGUgdmFhcGkpICQodm9wdF9lbmFibGUgdmRwYXUpIFwKLQkJLS1lbmFi bGUtbGliYnMyYiAtLWVuYWJsZS1hdnJlc2FtcGxlIC0tZW5hYmxlLWxpYnZpZHN0YWIgXAorCQkt LWVuYWJsZS1saWJiczJiIC0tZW5hYmxlLWxpYnZpZHN0YWIgXAogCQkkKHZvcHRfZW5hYmxlIGRh djFkIGxpYmRhdjFkKSBcCiAJCSQodm9wdF9lbmFibGUgemltZyBsaWJ6aW1nKSBcCiAJCSQodm9w dF9lbmFibGUgd2VicCBsaWJ3ZWJwKSBcCiAJCSQodm9wdF9lbmFibGUgc29mYSBsaWJteXNvZmEp IFwKIAkJJCh2b3B0X2VuYWJsZSB2dWxrYW4pIFwKKwkJJCh2b3B0X2VuYWJsZSBvbmV2cGwgbGli dnBsKSBcCiAJCSQodm9wdF9lbmFibGUgZHJtIGxpYmRybSkgXAogCQkkKHZvcHRfZW5hYmxlIHN2 dGF2MSBsaWJzdnRhdjEpIFwKIAkJJCh2b3B0X2VuYWJsZSBzcnQgbGlic3J0KSBcCiAJCSQodm9w dF9lbmFibGUgcmlzdCBsaWJyaXN0KSBcCi0JCSQodm9wdF9pZiBudmVuYyAnLS1lbmFibGUtbnZl bmMnKSBcCi0JCSQodm9wdF9pZiBudmRlYyAnLS1lbmFibGUtbnZkZWMnKQorCQkkKHZvcHRfZW5h YmxlIG52ZW5jIG52ZW5jKSBcCisJCSQodm9wdF9lbmFibGUgbnZkZWMgbnZkZWMpCiB9CiAKIGRv X2J1aWxkKCkgewpAQCAtMTU0LDEwICsxNTgsOCBAQCBsaWJhdmRldmljZV9wYWNrYWdlKCkgewog fQogCiBsaWJhdnJlc2FtcGxlX3BhY2thZ2UoKSB7Ci0Jc2hvcnRfZGVzYz0iRkZtcGVnIGF1ZGlv IHJlc2FtcGxpbmcgbGlicmFyeSIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgInVzci9saWIv bGliYXZyZXNhbXBsZS5zby4qIgotCX0KKwlzaG9ydF9kZXNjPSJQYWNrYWdlIGRlcHJlY2F0ZWQs IHJlbW92YWwgbmVlZGVkIgorCWJ1aWxkX3N0eWxlPW1ldGEKIH0KIAogbGliYXZmb3JtYXRfcGFj a2FnZSgpIHsKQEAgLTIxMSwxNSArMjEzLDEzIEBAIGZmbXBlZy1kZXZlbF9wYWNrYWdlKCkgewog CQlsaWJhdmZpbHRlcj49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQogCQlsaWJwb3N0cHJvYz49JHt2 ZXJzaW9ufV8ke3JldmlzaW9ufQogCQlsaWJzd3NjYWxlPj0ke3ZlcnNpb259XyR7cmV2aXNpb259 Ci0JCWxpYnN3cmVzYW1wbGU+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KLQkJbGliYXZyZXNhbXBs ZT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwkJbGlic3dyZXNhbXBsZT49JHt2ZXJzaW9ufV8k e3JldmlzaW9ufSIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCi0KKwljb25m bGljdHM9ImZmbXBlZzQtZGV2ZWwiCiAJaWYgWyAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiID0gImk2 ODYiIF07IHRoZW4KIAkJIyAvdXNyL2Jpbi9zdHJpcDogZXJyb3I6IHRoZSBpbnB1dCBmaWxlICcv ZGVzdGRpci8vZmZtcGVnLWRldmVsLTQuNC40L3Vzci9saWIvbGliYXZmaWx0ZXIuYSh2Zl9hdGFk ZW5vaXNlLm8pJyBoYXMgbm8gc2VjdGlvbnMKIAkJbm9zdHJpcF9maWxlcz0iL3Vzci9saWIvbGli YXZmaWx0ZXIuYSIKIAlmaQotCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRl CiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCgpGcm9tIDI3MWZhODY4ZDUxMTQ5ZTM4NmUxZDg3 ZWY1NjMzM2U2OTE4NjU5NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6 bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTUgT2N0IDIwMjMgMjE6MTg6MTQgLTA0MDAK U3ViamVjdDogW1BBVENIIDAwMi8xMDhdIG9wZW5zaG90OiByZXZidW1wIGZvciBmZm1wZWc2Cgot LS0KIHNyY3BrZ3Mvb3BlbnNob3QvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5zaG90 L3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZQppbmRleCAzODQ5ODU4ZmU5NjNi NS4uMTI3ODliYzk4Njc0OTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbnNob3QvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ29wZW5zaG90JwogcGtnbmFtZT1vcGVuc2hvdAogdmVyc2lvbj0zLjEuMQot cmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3Rt YWtlZGVwZW5kcz0icHl0aG9uMyBweXRob24zLXNldHVwdG9vbHMiCiBtYWtlZGVwZW5kcz0iZmZt cGVnLWRldmVsIHB5dGhvbjMtUHlRdDUiCgpGcm9tIGU2OGE4NmJjZDIyOTUxNDJkOTkwNjY5MzRm NzgxMzhmM2YwNDgzMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGlj ZTU1NUBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTUgT2N0IDIwMjMgMjE6MTg6MzYgLTA0MDAKU3Vi amVjdDogW1BBVENIIDAwMy8xMDhdIHN1bW86IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3Jj cGtncy9zdW1vL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zdW1vL3RlbXBsYXRlIGIvc3Jj cGtncy9zdW1vL3RlbXBsYXRlCmluZGV4IGE3MzBhZmE5ZmFmYTkyLi5lMmRlZjA2ZmE0YmQ3ZCAx MDA2NDQKLS0tIGEvc3JjcGtncy9zdW1vL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3Vtby90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3N1bW8nCiBwa2duYW1l PXN1bW8KIHZlcnNpb249MS4xMi4wCi1yZXZpc2lvbj03CityZXZpc2lvbj04CiBidWlsZF9zdHls ZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJsaWJnZGFsLXRvb2xzIHBrZy1jb25maWcgc3dpZyBw eXRob24zLXNldHVwdG9vbHMiCiBtYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCBmZm1wZWctZGV2 ZWwgZm94LWRldmVsIGdsMnBzLWRldmVsIGxpYmdkYWwtZGV2ZWwKCkZyb20gYzY5MGMzNDIwZTgz MTRmZDAzYzkyMmFhNThmMGFiYmFlODhhMzZiNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAxOTo1 NjoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDA0LzEwOF0gTmV3IHBhY2thZ2U6IGZmbXBlZzQt NC40LjQuCgotLS0KIHNyY3BrZ3MvZmZtcGVnNC1kZXZlbCAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiBzcmNwa2dzL2ZmbXBlZzQvZmlsZXMvYWx0aXZlYy5wYXRjaCAgICAgICAgICAg fCAgNjAgKysrKysKIC4uLi9wYXRjaGVzL2FybXY1dGVsLWZsb2F0aW5nLXBvaW50LnBhdGNoICAg ICB8ICAxOCArKwogc3JjcGtncy9mZm1wZWc0L3BhdGNoZXMvYmludXRpbHMtMi40MS5wYXRjaCAg IHwgIDczICsrKysrKwogLi4uaC1saWJhdmNvZGVjLWxpYnN2dGF2MS10ZW5fYml0X2Zvcm1hdC5k aWZmIHwgIDQwICsrKwogLi4uL3dvcmthcm91bmQtbWVzYS1yZWFkZW9uLXZhYXBpLWJ1Zy5wYXRj aCAgIHwgIDI4ICsrKwogc3JjcGtncy9mZm1wZWc0L3RlbXBsYXRlICAgICAgICAgICAgICAgICAg ICAgIHwgMjM1ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9saWJhdmNvZGVjNCAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvbGliYXZkZXZpY2U0ICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL2xpYmF2ZmlsdGVyNCAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJhdmZvcm1hdDQgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvbGliYXZyZXNhbXBsZTQgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL2xpYmF2dXRpbDQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJwb3N0cHJvYzQgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAxICsKIHNyY3BrZ3MvbGlic3dyZXNhbXBsZTQgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMSArCiBzcmNwa2dzL2xpYnN3c2NhbGU0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDEgKwogMTYgZmlsZXMgY2hhbmdlZCwgNDY0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBt b2RlIDEyMDAwMCBzcmNwa2dzL2ZmbXBlZzQtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2ZmbXBlZzQvZmlsZXMvYWx0aXZlYy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvZmZtcGVnNC9wYXRjaGVzL2FybXY1dGVsLWZsb2F0aW5nLXBvaW50LnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWc0L3BhdGNoZXMvYmludXRpbHMtMi40MS5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmZtcGVnNC9wYXRjaGVzL3BhdGNoLWxpYmF2Y29k ZWMtbGlic3Z0YXYxLXRlbl9iaXRfZm9ybWF0LmRpZmYKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2ZmbXBlZzQvcGF0Y2hlcy93b3JrYXJvdW5kLW1lc2EtcmVhZGVvbi12YWFwaS1idWcucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ZmbXBlZzQvdGVtcGxhdGUKIGNyZWF0ZSBt b2RlIDEyMDAwMCBzcmNwa2dzL2xpYmF2Y29kZWM0CiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtn cy9saWJhdmRldmljZTQKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYmF2ZmlsdGVyNAog Y3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGliYXZmb3JtYXQ0CiBjcmVhdGUgbW9kZSAxMjAw MDAgc3JjcGtncy9saWJhdnJlc2FtcGxlNAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGli YXZ1dGlsNAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGlicG9zdHByb2M0CiBjcmVhdGUg bW9kZSAxMjAwMDAgc3JjcGtncy9saWJzd3Jlc2FtcGxlNAogY3JlYXRlIG1vZGUgMTIwMDAwIHNy Y3BrZ3MvbGlic3dzY2FsZTQKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZzQtZGV2ZWwgYi9z cmNwa2dzL2ZmbXBlZzQtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAw MDAwMDAuLjg4N2YzNTRlN2M2YmUzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mZm1wZWc0 LWRldmVsCkBAIC0wLDAgKzEgQEAKK2ZmbXBlZzQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZzQvZmlsZXMvYWx0aXZlYy5wYXRjaCBiL3NyY3Br Z3MvZmZtcGVnNC9maWxlcy9hbHRpdmVjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMDAwLi45YzU3MjAwNDYzMzIwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvZmZtcGVnNC9maWxlcy9hbHRpdmVjLnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK3JldmVydCBz b21lIGFsdGl2ZWMgc3BlY2lmaWMgY2hhbmdlIG9uIGFsbCBwcGMqIGV4Y2VwdCBwcGM2NGxlKgor CitxNjY6ICJXZSBzaG91bGQgYWxzbyB0aHJvdyBpbiBhIHJldmVydCBvZiBGRm1wZWcvRkZtcGVn QDNhNTU3YzUgYnV0IG9ubHkKK2NvbmRpdGlvbmFsbHksIGZvciBwcGMqIGJ1dCBub3QgcHBjNjRs ZSogKHRoZSBuZXcgY29kZSBpcyB2YWxpZCBmb3IKK1BPV0VSOCBWU1ggd2hpY2ggTEUgdGFyZ2V0 cyBhcyBhIGJhc2VsaW5lIGJ1dCBub3QgQkUpIgorCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgM2E1 NTdjNWQ4OGI3YjE1YjU5NTRiYTI3NDNmZWJiMDU1NTQ5YjUzNi4KKy0tLQorIGxpYnN3c2NhbGUv cHBjL3l1djJyZ2JfYWx0aXZlYy5jIHwgMjQgKysrKysrKysrKysrKysrKysrKystLS0tCisgMSBm aWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9saWJzd3NjYWxlL3BwYy95dXYycmdiX2FsdGl2ZWMuYyBiL2xpYnN3c2NhbGUvcHBjL3l1 djJyZ2JfYWx0aXZlYy5jCitpbmRleCA1MzY1NDUyOTNkLi5jMWUyODUyYWRiIDEwMDY0NAorLS0t IGEvbGlic3dzY2FsZS9wcGMveXV2MnJnYl9hbHRpdmVjLmMKKysrKyBiL2xpYnN3c2NhbGUvcHBj L3l1djJyZ2JfYWx0aXZlYy5jCitAQCAtMzA1LDYgKzMwNSw5IEBAIHN0YXRpYyBpbnQgYWx0aXZl Y18gIyMgbmFtZShTd3NDb250ZXh0ICpjLCBjb25zdCB1bnNpZ25lZCBjaGFyICoqaW4sICAgICAg ICAgIFwKKyAgICAgdmVjdG9yIHNpZ25lZCBzaG9ydCBSMSwgRzEsIEIxOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHZlY3RvciB1bnNpZ25lZCBjaGFy IFIsIEcsIEI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgY29uc3QgdmVjdG9yIHVuc2lnbmVkIGNoYXIg KnkxaXZQLCAqeTJpdlAsICp1aXZQLCAqdml2UDsgICAgICAgICAgICAgICAgICBcCisrICAgIHZl Y3RvciB1bnNpZ25lZCBjaGFyIGFsaWduX3Blcm07ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgdmVjdG9yIHNp Z25lZCBzaG9ydCBsQ1kgICAgICAgPSBjLT5DWTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisgICAgIHZlY3RvciBzaWduZWQgc2hvcnQgbE9ZICAgICAgID0gYy0+T1k7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICB2ZWN0b3Igc2lnbmVkIHNo b3J0IGxDUlYgICAgICA9IGMtPkNSVjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKK0BAIC0zMzUsMTMgKzMzOCwyNiBAQCBzdGF0aWMgaW50IGFsdGl2ZWNfICMjIG5hbWUoU3dz Q29udGV4dCAqYywgY29uc3QgdW5zaWduZWQgY2hhciAqKmluLCAgICAgICAgICBcCisgICAgICAg ICB2ZWNfZHN0c3Qob3V0ZSwgKDB4MDIwMDAwMDIgfCAoKCh3ICogMyArIDMyKSAvIDMyKSA8PCAx NikpLCAxKTsgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIGZvciAo aiA9IDA7IGogPCB3IC8gMTY7IGorKykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCistICAgICAgICAgICAgeTAgPSB2ZWNfeGwoMCwgeTFpKTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAgICAgICAgIHkxaXZQID0g KGNvbnN0IHZlY3RvciB1bnNpZ25lZCBjaGFyICopIHkxaTsgICAgICAgICAgICAgICAgICAgICAg IFwKKysgICAgICAgICAgICB5Mml2UCA9IChjb25zdCB2ZWN0b3IgdW5zaWduZWQgY2hhciAqKSB5 Mmk7ICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAgICAgdWl2UCAgPSAoY29uc3Qg dmVjdG9yIHVuc2lnbmVkIGNoYXIgKikgdWk7ICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAg ICAgICAgICAgIHZpdlAgID0gKGNvbnN0IHZlY3RvciB1bnNpZ25lZCBjaGFyICopIHZpOyAgICAg ICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAg ICAgYWxpZ25fcGVybSA9IHZlY19sdnNsKDAsIHkxaSk7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorKyAgICAgICAgICAgIHkwID0gKHZlY3RvciB1bnNpZ25lZCBjaGFyKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgICAgICAgICAg ICAgICB2ZWNfcGVybSh5MWl2UFswXSwgeTFpdlBbMV0sIGFsaWduX3Blcm0pOyAgICAgICAgICAg ICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgIHkxID0gdmVjX3hs KDAsIHkyaSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK KysgICAgICAgICAgICBhbGlnbl9wZXJtID0gdmVjX2x2c2woMCwgeTJpKTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAgICAgeTEgPSAodmVjdG9yIHVuc2ln bmVkIGNoYXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAg ICAgICAgICAgICAgICAgIHZlY19wZXJtKHkyaXZQWzBdLCB5Mml2UFsxXSwgYWxpZ25fcGVybSk7 ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICAgICAg dSA9ICh2ZWN0b3Igc2lnbmVkIGNoYXIpIHZlY194bCgwLCB1aSk7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorKyAgICAgICAgICAgIGFsaWduX3Blcm0gPSB2ZWNfbHZzbCgwLCB1aSk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgICAgICB1ID0gKHZl Y3RvciBzaWduZWQgY2hhcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisrICAgICAgICAgICAgICAgICAgICB2ZWNfcGVybSh1aXZQWzBdLCB1aXZQWzFdLCBhbGln bl9wZXJtKTsgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0g ICAgICAgICAgICB2ID0gKHZlY3RvciBzaWduZWQgY2hhcikgdmVjX3hsKDAsIHZpKTsgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAgICAgYWxpZ25fcGVybSA9IHZlY19sdnNs KDAsIHZpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAgICAg ICAgIHYgPSAodmVjdG9yIHNpZ25lZCBjaGFyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKysgICAgICAgICAgICAgICAgICAgIHZlY19wZXJtKHZpdlBbMF0sIHZp dlBbMV0sIGFsaWduX3Blcm0pOyAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICAgICAgIHUgPSAodmVjdG9yIHNpZ25lZCBjaGFyKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgIHZl Y19zdWIodSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CistLSAKKzIuMjcuMAorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZzQvcGF0Y2hlcy9hcm12 NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaCBiL3NyY3BrZ3MvZmZtcGVnNC9wYXRjaGVzL2FybXY1 dGVsLWZsb2F0aW5nLXBvaW50LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAwLi45YTU1MTc4Yzc0ZjBmZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZmZt cGVnNC9wYXRjaGVzL2FybXY1dGVsLWZsb2F0aW5nLXBvaW50LnBhdGNoCkBAIC0wLDAgKzEsMTgg QEAKKy0tLSBhL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMJMjAxNy0xMC0yNiAyMTowMzowMy4w MDAwMDAwMDAgKzAyMDAKKysrKyBiL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMJMjAxNy0xMS0y MSAxMTowNjo0OS42MDIyODQ0MjIgKzAxMDAKK0BAIC0zOSw2ICszOSwxNSBAQAorICNlbmRpZgor ICNpbmNsdWRlIDxmZW52Lmg+CisgCisrI2lmIChGRV9BTExfRVhDRVBUID09IDApCisrLyogRS5n LiBBUk0gc29mdCBmbG9hdCBkb2VzIG5vdCBkZWZpbmUgdGhlc2UgKi8KKysjZGVmaW5lIEZFX0lO VkFMSUQgICAgMAorKyNkZWZpbmUgRkVfRElWQllaRVJPICAwCisrI2RlZmluZSBGRV9PVkVSRkxP VyAgIDAKKysjZGVmaW5lIEZFX1VOREVSRkxPVyAgMAorKyNkZWZpbmUgRkVfSU5FWEFDVCAgICAw CisrI2VuZGlmCisrCisgI2lmIENPTkZJR19MSUJGT05UQ09ORklHCisgI2luY2x1ZGUgPGZvbnRj b25maWcvZm9udGNvbmZpZy5oPgorICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWc0 L3BhdGNoZXMvYmludXRpbHMtMi40MS5wYXRjaCBiL3NyY3BrZ3MvZmZtcGVnNC9wYXRjaGVzL2Jp bnV0aWxzLTIuNDEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw MDAuLjUzYTU5NmQwZWU3ZDRlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mZm1wZWc0L3Bh dGNoZXMvYmludXRpbHMtMi40MS5wYXRjaApAQCAtMCwwICsxLDczIEBACitGcm9tIGVmZmFkY2U2 Yzc1NjI0N2VhOGJhZTMyZGMxM2JiM2U2ZjQ2NGYwZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiA9P1VURi04P3E/Uj1DMz1BOW1pPTIwRGVuaXMtQ291cm1vbnQ/PSA8cmVtaUByZW1s YWIubmV0PgorRGF0ZTogU3VuLCAxNiBKdWwgMjAyMyAxODoxODowMiArMDMwMAorU3ViamVjdDog W1BBVENIXSBhdmNvZGVjL3g4Ni9tYXRob3BzOiBjbGlwIGNvbnN0YW50cyB1c2VkIHdpdGggc2hp ZnQKKyBpbnN0cnVjdGlvbnMgd2l0aGluIGlubGluZSBhc3NlbWJseQorCitGaXhlcyBhc3NlbWJs aW5nIHdpdGggYmludXRpbCBhcyA+PSAyLjQxCisKK1NpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVy IDxqYW1yaWFsQGdtYWlsLmNvbT4KKy0tLQorIGxpYmF2Y29kZWMveDg2L21hdGhvcHMuaCB8IDI2 ICsrKysrKysrKysrKysrKysrKysrKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL3g4Ni9tYXRo b3BzLmggYi9saWJhdmNvZGVjL3g4Ni9tYXRob3BzLmgKK2luZGV4IDYyOThmNWVkMTk4M2IuLmNh N2UyZGZmYzEwNzYgMTAwNjQ0CistLS0gYS9saWJhdmNvZGVjL3g4Ni9tYXRob3BzLmgKKysrKyBi L2xpYmF2Y29kZWMveDg2L21hdGhvcHMuaAorQEAgLTM1LDEyICszNSwyMCBAQAorIHN0YXRpYyBh dl9hbHdheXNfaW5saW5lIGF2X2NvbnN0IGludCBNVUxMKGludCBhLCBpbnQgYiwgdW5zaWduZWQg c2hpZnQpCisgeworICAgICBpbnQgcnQsIGR1bW15OworKyAgICBpZiAoX19idWlsdGluX2NvbnN0 YW50X3Aoc2hpZnQpKQorICAgICBfX2FzbV9fICgKKyAgICAgICAgICJpbXVsbCAlMyAgICAgICAg ICAgICAgIFxuXHQiCisgICAgICAgICAic2hyZGwgJTQsICUlZWR4LCAlJWVheCBcblx0IgorICAg ICAgICAgOiI9YSIocnQpLCAiPWQiKGR1bW15KQorLSAgICAgICAgOiJhIihhKSwgInJtIihiKSwg ImNpIigodWludDhfdClzaGlmdCkKKysgICAgICAgIDoiYSIoYSksICJybSIoYiksICJpIihzaGlm dCAmIDB4MUYpCisgICAgICk7CisrICAgIGVsc2UKKysgICAgICAgIF9fYXNtX18gKAorKyAgICAg ICAgICAgICJpbXVsbCAlMyAgICAgICAgICAgICAgIFxuXHQiCisrICAgICAgICAgICAgInNocmRs ICU0LCAlJWVkeCwgJSVlYXggXG5cdCIKKysgICAgICAgICAgICA6Ij1hIihydCksICI9ZCIoZHVt bXkpCisrICAgICAgICAgICAgOiJhIihhKSwgInJtIihiKSwgImMiKCh1aW50OF90KXNoaWZ0KQor KyAgICAgICAgKTsKKyAgICAgcmV0dXJuIHJ0OworIH0KKyAKK0BAIC0xMTMsMTkgKzEyMSwzMSBA QCBfX2FzbV9fIHZvbGF0aWxlKFwKKyAvLyBhdm9pZCArMzIgZm9yIHNoaWZ0IG9wdGltaXphdGlv biAoZ2NjIHNob3VsZCBkbyB0aGF0IC4uLikKKyAjZGVmaW5lIE5FR19TU1IzMiBORUdfU1NSMzIK KyBzdGF0aWMgaW5saW5lICBpbnQzMl90IE5FR19TU1IzMiggaW50MzJfdCBhLCBpbnQ4X3Qgcyl7 CisrICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChzKSkKKyAgICAgX19hc21fXyAoInNhcmwg JTEsICUwXG5cdCIKKyAgICAgICAgICA6ICIrciIgKGEpCistICAgICAgICAgOiAiaWMiICgodWlu dDhfdCkoLXMpKQorKyAgICAgICAgIDogImkiICgtcyAmIDB4MUYpCisgICAgICk7CisrICAgIGVs c2UKKysgICAgICAgIF9fYXNtX18gKCJzYXJsICUxLCAlMFxuXHQiCisrICAgICAgICAgICAgICAg OiAiK3IiIChhKQorKyAgICAgICAgICAgICAgIDogImMiICgodWludDhfdCkoLXMpKQorKyAgICAg ICAgKTsKKyAgICAgcmV0dXJuIGE7CisgfQorIAorICNkZWZpbmUgTkVHX1VTUjMyIE5FR19VU1Iz MgorIHN0YXRpYyBpbmxpbmUgdWludDMyX3QgTkVHX1VTUjMyKHVpbnQzMl90IGEsIGludDhfdCBz KXsKKysgICAgaWYgKF9fYnVpbHRpbl9jb25zdGFudF9wKHMpKQorICAgICBfX2FzbV9fICgic2hy bCAlMSwgJTBcblx0IgorICAgICAgICAgIDogIityIiAoYSkKKy0gICAgICAgICA6ICJpYyIgKCh1 aW50OF90KSgtcykpCisrICAgICAgICAgOiAiaSIgKC1zICYgMHgxRikKKyAgICAgKTsKKysgICAg ZWxzZQorKyAgICAgICAgX19hc21fXyAoInNocmwgJTEsICUwXG5cdCIKKysgICAgICAgICAgICAg ICA6ICIrciIgKGEpCisrICAgICAgICAgICAgICAgOiAiYyIgKCh1aW50OF90KSgtcykpCisrICAg ICAgICApOworICAgICByZXR1cm4gYTsKKyB9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBl ZzQvcGF0Y2hlcy9wYXRjaC1saWJhdmNvZGVjLWxpYnN2dGF2MS10ZW5fYml0X2Zvcm1hdC5kaWZm IGIvc3JjcGtncy9mZm1wZWc0L3BhdGNoZXMvcGF0Y2gtbGliYXZjb2RlYy1saWJzdnRhdjEtdGVu X2JpdF9mb3JtYXQuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw MC4uYWE5NDhmN2E4YTJkZmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZmbXBlZzQvcGF0 Y2hlcy9wYXRjaC1saWJhdmNvZGVjLWxpYnN2dGF2MS10ZW5fYml0X2Zvcm1hdC5kaWZmCkBAIC0w LDAgKzEsNDAgQEAKKyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor IyBGcm9tIDAzMWYxNTYxY2QyODY1OTZjZGIzNzRkYTMyZjhhYTgxNmNlM2IxMzUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCisjIEZyb206IENocmlzdG9waGVyIERlZ2F3YSA8Y2hyaXN0b3BoZXIu ZGVnYXdhQGludGVsLmNvbT4KKyMgRGF0ZTogVGh1LCAyMCBPY3QgMjAyMiAyMjo1NToyNyAtMDUw MAorIyBTdWJqZWN0OiBbUEFUQ0hdIGF2Y29kZWMvbGlic3Z0YXYxOiByZW1vdmUgY29tcHJlc3Nl ZF90ZW5fYml0X2Zvcm1hdCBhbmQgc2ltcGxpZnkgYWxsb2NfYnVmZmVyCisjCisjIGNvbXByZXNz ZWRfdGVuX2JpdF9mb3JtYXQgaGFzIGJlZW4gZGVwcmVjYXRlZCB1cHN0cmVhbSBhbmQgaGFzIG5v IGVmZmVjdAorIyBhbmQgY2FuIGJlIHJlbW92ZWQuIFBsdXMsIHRlY2huaWNhbGx5IGl0IHdhcyBu ZXZlciB1c2VkIGluIHRoZSBmaXJzdCBwbGFjZQorIyBzaW5jZSBpdCB3b3VsZCByZXF1aXJlIHRo ZSBhcHAgKGZmbXBlZykgdG8gc2V0IGl0IGFuZCBkbyBhZGRpdGlvbmFsCisjIHByb2Nlc3Npbmcg b2YgdGhlIGlucHV0IGZyYW1lcy4KKyMKKyMgQWxzbyBzaW1wbGlmeSBhbGxvY19idWZmZXIgYnkg cmVtb3ZpbmcgY2FsY3VsYXRpb25zIHJlbGF0aW5nIHRvIHRoZSBub24tZXhpc3RhbnQgcHJvY2Vz c2luZy4KKyMKKyMgU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgRGVnYXdhIDxjaHJpc3RvcGhl ci5kZWdhd2FAaW50ZWwuY29tPgorIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gYS9saWJhdmNvZGVjL2xpYnN2dGF2MS5jCisrKysgYi9saWJhdmNvZGVjL2xp YnN2dGF2MS5jCitAQCAtMTI0LDE2ICsxMjQsMTIgQEAgc3RhdGljIGludCBzdnRfcHJpbnRfZXJy b3Iodm9pZCAqbG9nX2N0eCwgRWJFcnJvclR5cGUgZXJyLAorIAorIHN0YXRpYyBpbnQgYWxsb2Nf YnVmZmVyKEViU3Z0QXYxRW5jQ29uZmlndXJhdGlvbiAqY29uZmlnLCBTdnRDb250ZXh0ICpzdnRf ZW5jKQorIHsKKy0gICAgY29uc3QgaW50ICAgIHBhY2tfbW9kZV8xMGJpdCA9CistICAgICAgICAo Y29uZmlnLT5lbmNvZGVyX2JpdF9kZXB0aCA+IDgpICYmIChjb25maWctPmNvbXByZXNzZWRfdGVu X2JpdF9mb3JtYXQgPT0gMCkgPyAxIDogMDsKKy0gICAgY29uc3Qgc2l6ZV90IGx1bWFfc2l6ZV84 Yml0ICA9CistICAgICAgICBjb25maWctPnNvdXJjZV93aWR0aCAqIGNvbmZpZy0+c291cmNlX2hl aWdodCAqICgxIDw8IHBhY2tfbW9kZV8xMGJpdCk7CistICAgIGNvbnN0IHNpemVfdCBsdW1hX3Np emVfMTBiaXQgPQorLSAgICAgICAgKGNvbmZpZy0+ZW5jb2Rlcl9iaXRfZGVwdGggPiA4ICYmIHBh Y2tfbW9kZV8xMGJpdCA9PSAwKSA/IGx1bWFfc2l6ZV84Yml0IDogMDsKKysgICAgY29uc3Qgc2l6 ZV90IGx1bWFfc2l6ZSA9IGNvbmZpZy0+c291cmNlX3dpZHRoICogY29uZmlnLT5zb3VyY2VfaGVp Z2h0ICoKKysgICAgICAgIChjb25maWctPmVuY29kZXJfYml0X2RlcHRoID4gOCA/IDIgOiAxKTsK KyAKKyAgICAgRWJTdnRJT0Zvcm1hdCAqaW5fZGF0YTsKKyAKKy0gICAgc3Z0X2VuYy0+cmF3X3Np emUgPSAobHVtYV9zaXplXzhiaXQgKyBsdW1hX3NpemVfMTBiaXQpICogMyAvIDI7CisrICAgIHN2 dF9lbmMtPnJhd19zaXplID0gbHVtYV9zaXplICogMyAvIDI7CisgCisgICAgIC8vIGFsbG9jYXRl IGJ1ZmZlciBmb3IgaW4gYW5kIG91dAorICAgICBzdnRfZW5jLT5pbl9idWYgICAgICAgICAgID0g YXZfbWFsbG9jeihzaXplb2YoKnN2dF9lbmMtPmluX2J1ZikpOworLS0gCitHaXRMYWIKKwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9mZm1wZWc0L3BhdGNoZXMvd29ya2Fyb3VuZC1tZXNhLXJlYWRlb24t dmFhcGktYnVnLnBhdGNoIGIvc3JjcGtncy9mZm1wZWc0L3BhdGNoZXMvd29ya2Fyb3VuZC1tZXNh LXJlYWRlb24tdmFhcGktYnVnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAwLi4wMGUzZjY4YTQxNWI4NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZmZt cGVnNC9wYXRjaGVzL3dvcmthcm91bmQtbWVzYS1yZWFkZW9uLXZhYXBpLWJ1Zy5wYXRjaApAQCAt MCwwICsxLDI4IEBACitGcm9tIDgxMWQyOTA4NDQyMDZmYzczZGMzOWMzZTViNjdkNWQ4OTViYWVk ZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSYWluZXIgSG9jaGVja2VyIDxmZXJu ZXRtZW50YUBvbmxpbmUuZGU+CitEYXRlOiBTYXQsIDI2IEphbiAyMDE5IDE5OjQ4OjM1ICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIGF2Y29kZWMvdmFhcGlfaDI2NDogc2tpcCBkZWNvZGUgaWYgcGlj IGhhcyBubyBzbGljZXMKKworVGhpcyBmaXhlcyAvIHdvcmthcm91bmRzIGh0dHBzOi8vYnVncy5m cmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTM2OC4KK0l0IHdhcyBoaXQgZnJlcXVl bnRseSB3aGVuIHdhdGNoaW5nIGgyNjQgY2hhbm5lbHMgcmVjZWl2ZWQgdmlhIERWQi1YLgorQ29y cmVzcG9uZGluZyBrb2RpIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3hibWMveGJtYy9pc3N1ZXMv MTU3MDQKKy0tLQorIGxpYmF2Y29kZWMvdmFhcGlfaDI2NC5jIHwgNSArKysrKworIDEgZmlsZSBj aGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdmFhcGlf aDI2NC5jIGIvbGliYXZjb2RlYy92YWFwaV9oMjY0LmMKK2luZGV4IDU4NTQ1ODdhMjU1Li5mMTJm ZGM0NTdhNCAxMDA2NDQKKy0tLSBhL2xpYmF2Y29kZWMvdmFhcGlfaDI2NC5jCisrKysgYi9saWJh dmNvZGVjL3ZhYXBpX2gyNjQuYworQEAgLTMxNyw2ICszMTcsMTEgQEAgc3RhdGljIGludCB2YWFw aV9oMjY0X2VuZF9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgIEgyNjRTbGljZUNv bnRleHQgKnNsID0gJmgtPnNsaWNlX2N0eFswXTsKKyAgICAgaW50IHJldDsKKyAKKysgICAgaWYg KHBpYy0+bmJfc2xpY2VzID09IDApIHsKKysgICAgICAgIHJldCA9IEFWRVJST1JfSU5WQUxJRERB VEE7CisrICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgfQorKworICAgICByZXQgPSBmZl92YWFw aV9kZWNvZGVfaXNzdWUoYXZjdHgsIHBpYyk7CisgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAg Z290byBmaW5pc2g7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZzQvdGVtcGxhdGUgYi9zcmNw a2dzL2ZmbXBlZzQvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMDAuLjM3NjBjMmU5NDU0NzZlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9mZm1wZWc0 L3RlbXBsYXRlCkBAIC0wLDAgKzEsMjM1IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdmZm1wZWc0 JworIyBhdWRhY2l0eSBhbHNvIG5lZWRzIHRvIGJlIGJ1bXBlZCB3aGVuIGEgbmV3IGZmbXBlZyB2 ZXJzaW9uIGJ1bXBzIGxpYmF2Zm9ybWF0J3Mgc29uYW1lIQorcGtnbmFtZT1mZm1wZWc0Cit2ZXJz aW9uPTQuNC40CityZXZpc2lvbj0xCitzaG9ydF9kZXNjPSJEZWNvZGluZywgZW5jb2RpbmcgYW5k IHN0cmVhbWluZyBzb2Z0d2FyZSAtIGZmbXBlZzQgbGlicmFyaWVzIG9ubHkiCittYWludGFpbmVy PSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgorbGljZW5zZT0iR1BMLTMuMC1vci1s YXRlciIKK2hvbWVwYWdlPSJodHRwczovL3d3dy5mZm1wZWcub3JnIgorY2hhbmdlbG9nPSJodHRw czovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vRkZtcGVnL0ZGbXBlZy9tYXN0ZXIvQ2hhbmdl bG9nIgorZGlzdGZpbGVzPSJodHRwczovL3d3dy5mZm1wZWcub3JnL3JlbGVhc2VzL2ZmbXBlZy0k e3ZlcnNpb259LnRhci54eiIKK2NoZWNrc3VtPWU4MGIzODBkNTk1YzgwOTA2MGY2NmY5NmE1ZDg0 OTUxMWVmNGE3NmEyNmI3NmVhY2Y1Nzc4Yjk0YzM1NzAzMDkKKworaG9zdG1ha2VkZXBlbmRzPSJw a2ctY29uZmlnIHBlcmwiCittYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBiemlwMi1kZXZlbCBmcmVl dHlwZS1kZXZlbCBhbHNhLWxpYi1kZXZlbCBsaWJYZml4ZXMtZGV2ZWwKKyBsaWJYZXh0LWRldmVs IGxpYlh2TUMtZGV2ZWwgbGlieGNiLWRldmVsIGxhbWUtZGV2ZWwgbGlidGhlb3JhLWRldmVsCisg bGlidm9yYmlzLWRldmVsIHgyNjQtZGV2ZWwgeHZpZGNvcmUtZGV2ZWwgamFjay1kZXZlbCBTREwy LWRldmVsCisgbGliY2Rpby1wYXJhbm9pYS1kZXZlbCBsaWJydG1wLWRldmVsIGxpYm1vZHBsdWct ZGV2ZWwgZ251dGxzLWRldmVsCisgc3BlZXgtZGV2ZWwgY2VsdC1kZXZlbCBoYXJmYnV6ei1kZXZl bCBsaWJhc3MtZGV2ZWwgb3B1cy1kZXZlbCBvY2wtaWNkLWRldmVsCisgbGliYnMyYi1kZXZlbCBs aWJ2aWRzdGFiLWRldmVsIHZtYWYtZGV2ZWwgbGliYmx1cmF5LWRldmVsCisgJCh2b3B0X2lmIHB1 bHNlYXVkaW8gcHVsc2VhdWRpby1kZXZlbCkKKyAkKHZvcHRfaWYgdmFhcGkgbGlidmEtZGV2ZWwp ICQodm9wdF9pZiB2ZHBhdSBsaWJ2ZHBhdS1kZXZlbCkKKyAkKHZvcHRfaWYgeDI2NSB4MjY1LWRl dmVsKSAkKHZvcHRfaWYgdjRsMiB2NGwtdXRpbHMtZGV2ZWwpCisgJCh2b3B0X2lmIGZka19hYWMg ZmRrLWFhYy1kZXZlbCkgJCh2b3B0X2lmIHZweCBsaWJ2cHgtZGV2ZWwpCisgJCh2b3B0X2lmIGFv bSBsaWJhb20tZGV2ZWwpICQodm9wdF9pZiBzbmRpbyBzbmRpby1kZXZlbCkKKyAkKHZvcHRfaWYg ZGF2MWQgbGliZGF2MWQtZGV2ZWwpICQodm9wdF9pZiB6aW1nIHppbWctZGV2ZWwpCisgJCh2b3B0 X2lmIHdlYnAgbGlid2VicC1kZXZlbCkgJCh2b3B0X2lmIHNvZmEgbGlibXlzb2ZhLWRldmVsKQor ICQodm9wdF9pZiBkcm0gbGliZHJtLWRldmVsKSAkKHZvcHRfaWYgc3Z0YXYxIGxpYnN2dC1hdjEt ZGV2ZWwpCisgJCh2b3B0X2lmIHNydCBzcnQtZGV2ZWwpICQodm9wdF9pZiByaXN0IGxpYnJpc3Qt ZGV2ZWwpCisgJCh2b3B0X2lmIHZ1bGthbiAndnVsa2FuLWxvYWRlciBWdWxrYW4tSGVhZGVycycp CisgJCh2b3B0X2lmIG52ZW5jIG52LWNvZGVjLWhlYWRlcnMpICQodm9wdF9pZiBudmRlYyBudi1j b2RlYy1oZWFkZXJzKSIKKworYnVpbGRfb3B0aW9ucz0ieDI2NSB2NGwyIHZhYXBpIHZkcGF1IHZw eCBmZGtfYWFjIGFvbSBudmVuYyBzbmRpbyBwdWxzZWF1ZGlvCisgZGF2MWQgemltZyB3ZWJwIHNv ZmEgdnVsa2FuIGRybSBzdnRhdjEgc3J0IHJpc3QgbnZkZWMiCitidWlsZF9vcHRpb25zX2RlZmF1 bHQ9IngyNjUgdjRsMiB2cHggYW9tIHNuZGlvIHB1bHNlYXVkaW8gZGF2MWQgd2VicCB2dWxrYW4g ZHJtIHNydCByaXN0IgorCitkZXNjX29wdGlvbl9zcnQ9IkVuYWJsZSBzdXBwb3J0IGZvciBTUlQg KFNlY3VyZSwgUmVsaWFibGUsIFRyYW5zcG9ydCkiCitkZXNjX29wdGlvbl9yaXN0PSJFbmFibGUg c3VwcG9ydCBmb3IgUklTVCAoUmVsaWFibGUgSW50ZXJuZXQgU3RyZWFtIFRyYW5zcG9ydCkiCitk ZXNjX29wdGlvbl9zb2ZhPSJFbmFibGUgc3VwcG9ydCBmb3IgQUVTIFNPRkEiCitkZXNjX29wdGlv bl93ZWJwPSJFbmFibGUgc3VwcG9ydCBmb3IgV2ViUCIKKworY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCisJaTY4Nip8eDg2XzY0KikKKwkJCWhvc3RtYWtlZGVwZW5kcys9IiBuYXNtIgor CQkJYnVpbGRfb3B0aW9uc19kZWZhdWx0Kz0iIHZhYXBpIHZkcGF1IG52ZW5jIG52ZGVjIgorCQkJ OzsKKwlwcGM2NCopIGJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiB2YWFwaSB2ZHBhdSI7OworCW1p cHMqKSBDRkxBR1M9Ii1tbmFuPWxlZ2FjeSI7OworZXNhYworCitpZiBbICIkWEJQU19UQVJHRVRf V09SRFNJWkUiICE9ICIzMiIgXTsgdGhlbgorCWJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiBzdnRh djEiCitmaQorCitpZiBbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIgXTsgdGhlbgorCW1ha2Vk ZXBlbmRzKz0iIGxpYmF0b21pYy1kZXZlbCIKK2ZpCisKK19hcHBseV9wYXRjaCgpIHsKKwlsb2Nh bCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgorCisJaWYgWyAhIC1mICIuJHtwbmFt ZX1fZG9uZSIgXTsgdGhlbgorCQlwYXRjaCAtTiAkYXJncyAtaSAkMgorCQl0b3VjaCAuJHtwbmFt ZX1fZG9uZQorCWZpCit9CisKK3Bvc3RfcGF0Y2goKSB7CisJY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCisJCXBwYzY0bGUqKSA7OworCQlwcGMqKSBfYXBwbHlfcGF0Y2ggLXAxICR7RklM RVNESVJ9L2FsdGl2ZWMucGF0Y2ggOzsKKwllc2FjCisKKwl2c2VkIC1pIGxpYmF2ZmlsdGVyL3Zm X2xpYnZtYWYuYyAtZSAncyEvdXNyL2xvY2FsL3NoYXJlL21vZGVsL1wodm1hZl92MC42LjFcKS5w a2whL3Vzci9zaGFyZS92bWFmL1wxLmpzb24hJworfQorCitkb19jb25maWd1cmUoKSB7CisJIyBG aXggZ2NjIG9uIHg4Nl82NC1tdXNsIG9ubHkKKwlpZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIg PSAieDg2XzY0LW11c2wiIF07IHRoZW4KKwkJdnNlZCAtaSBjb25maWd1cmUgLWUgInM7X2NmbGFn c19zcGVlZD0nLU8zJztfY2ZsYWdzX3NwZWVkPSctTzInOyIKKwlmaQorCisJaWYgWyAiJENST1NT X0JVSUxEIiBdOyB0aGVuCisJCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCQkJYXJt KikgX2FyY2g9ImFybSI7OworCQkJYWFyY2g2NCopIF9hcmNoPSJhYXJjaDY0Ijs7CisJCQltaXBz KikgX2FyY2g9Im1pcHMiOzsKKwkJCXBwYzY0KikgX2FyY2g9InBwYzY0Ijs7CisJCQlwcGMqKSBf YXJjaD0icHBjIjs7CisJCQkqKSBfYXJjaD0iJHtYQlBTX1RBUkdFVF9NQUNISU5FJSUtbXVzbH0i OzsKKwkJZXNhYworCisJCV9hcmdzKz0iIC0tZW5hYmxlLWNyb3NzLWNvbXBpbGUKKwkJCS0tc3lz cm9vdD0kWEJQU19DUk9TU19CQVNFCisJCQktLWNyb3NzLXByZWZpeD0ke1hCUFNfQ1JPU1NfVFJJ UExFVH0tCisJCQktLXRhcmdldC1vcz1saW51eCAtLWFyY2g9JHtfYXJjaH0iCisJZmkKKworCWNh c2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCQlwcGN8cHBjLW11c2wpIF9hcmdzKz0iIC0t ZGlzYWJsZS1hbHRpdmVjIjs7CisJZXNhYworCisJaWYgWyAiJFhCUFNfVEFSR0VUX05PX0FUT01J QzgiIF07IHRoZW4KKwkJX2FyZ3MrPSIgLS1leHRyYS1saWJzPS1sYXRvbWljIgorCWZpCisKKwku L2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyIC0tZGlzYWJsZS1kZWJ1ZyAtLWVuYWJsZS1ncGwgLS1l bmFibGUtZ251dGxzIFwKKwkJLS1kaXNhYmxlLXN0cmlwcGluZyBcCisJCS0tZW5hYmxlLWxpYmNk aW8gLS1lbmFibGUtdmVyc2lvbjMgLS1lbmFibGUtcnVudGltZS1jcHVkZXRlY3QgXAorCQktLWVu YWJsZS1saWJtcDNsYW1lIC0tZW5hYmxlLWxpYnZvcmJpcyAtLWVuYWJsZS1saWJ4dmlkIFwKKwkJ LS1lbmFibGUtbGlieDI2NCAkKHZvcHRfZW5hYmxlIHZweCBsaWJ2cHgpIC0tZW5hYmxlLWxpYnRo ZW9yYSBcCisJCS0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS1zdGF0aWMgLS1lbmFibGUtbGlieGNi IFwKKwkJJCh2b3B0X2VuYWJsZSBwdWxzZWF1ZGlvIGxpYnB1bHNlKSAtLWVuYWJsZS1saWJmcmVl dHlwZSAtLWVuYWJsZS1saWJtb2RwbHVnIFwKKwkJLS1lbmFibGUtbGlic3BlZXggLS1lbmFibGUt bGliY2VsdCAtLWVuYWJsZS1saWJhc3MgXAorCQktLWVuYWJsZS1saWJvcHVzIC0tZW5hYmxlLWxp YnJ0bXAgLS1lbmFibGUtbGliamFjayBcCisJCSQodm9wdF9pZiBmZGtfYWFjICctLWVuYWJsZS1u b25mcmVlIC0tZW5hYmxlLWxpYmZkay1hYWMnKSBcCisJCS0tZGlzYWJsZS1saWJvcGVuY29yZV9h bXJuYiAtLWRpc2FibGUtbGlib3BlbmNvcmVfYW1yd2IgXAorCQktLWRpc2FibGUtbGlib3Blbmpw ZWcgLS1lbmFibGUtbGliYmx1cmF5IFwKKwkJLS1lbmFibGUtcG9zdHByb2MgLS1lbmFibGUtb3Bl bmNsICR7X2FyZ3N9IC0tZW5hYmxlLWxpYnZtYWYgJHtfYXJnc30gXAorCQkkKHZvcHRfZW5hYmxl IHgyNjUgbGlieDI2NSkgXAorCQkkKHZvcHRfZW5hYmxlIHY0bDIgbGlidjRsMikgXAorCQkkKHZv cHRfZW5hYmxlIGFvbSBsaWJhb20pICQodm9wdF9lbmFibGUgdmFhcGkpICQodm9wdF9lbmFibGUg dmRwYXUpIFwKKwkJLS1lbmFibGUtbGliYnMyYiAtLWVuYWJsZS1hdnJlc2FtcGxlIC0tZW5hYmxl LWxpYnZpZHN0YWIgXAorCQkkKHZvcHRfZW5hYmxlIGRhdjFkIGxpYmRhdjFkKSBcCisJCSQodm9w dF9lbmFibGUgemltZyBsaWJ6aW1nKSBcCisJCSQodm9wdF9lbmFibGUgd2VicCBsaWJ3ZWJwKSBc CisJCSQodm9wdF9lbmFibGUgc29mYSBsaWJteXNvZmEpIFwKKwkJJCh2b3B0X2VuYWJsZSB2dWxr YW4pIFwKKwkJJCh2b3B0X2VuYWJsZSBkcm0gbGliZHJtKSBcCisJCSQodm9wdF9lbmFibGUgc3Z0 YXYxIGxpYnN2dGF2MSkgXAorCQkkKHZvcHRfZW5hYmxlIHNydCBsaWJzcnQpIFwKKwkJJCh2b3B0 X2VuYWJsZSByaXN0IGxpYnJpc3QpIFwKKwkJJCh2b3B0X2lmIG52ZW5jICctLWVuYWJsZS1udmVu YycpIFwKKwkJJCh2b3B0X2lmIG52ZGVjICctLWVuYWJsZS1udmRlYycpCit9CisKK2RvX2J1aWxk KCkgeworCW1ha2UgJHttYWtlam9ic30KKwltYWtlIGRvYy9mZnttcGVnLHBsYXl9LjEKK30KKwor ZG9faW5zdGFsbCgpIHsKKwltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsIGluc3RhbGwt bWFuCisJcm0gLXJmICR7REVTVERJUn0vdXNyL2JpbgorfQorCitsaWJhdmNvZGVjNF9wYWNrYWdl KCkgeworCXNob3J0X2Rlc2M9IkZGbXBlZyBjb2RlYyBsaWJyYXJ5IgorCXBrZ19pbnN0YWxsKCkg eworCQl2bW92ZSAidXNyL2xpYi9saWJhdmNvZGVjLnNvLioiCisJfQorfQorCitsaWJhdmRldmlj ZTRfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjPSJGRm1wZWcgZGV2aWNlIGhhbmRsaW5nIGxpYnJh cnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYmF2ZGV2aWNlLnNvLioi CisJfQorfQorCitsaWJhdnJlc2FtcGxlNF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2M9IkZGbXBl ZyBhdWRpbyByZXNhbXBsaW5nIGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1 c3IvbGliL2xpYmF2cmVzYW1wbGUuc28uKiIKKwl9Cit9CisKK2xpYmF2Zm9ybWF0NF9wYWNrYWdl KCkgeworCXNob3J0X2Rlc2M9IkZGbXBlZyBmaWxlIGZvcm1hdCBsaWJyYXJ5IgorCXBrZ19pbnN0 YWxsKCkgeworCQl2bW92ZSAidXNyL2xpYi9saWJhdmZvcm1hdC5zby4qIgorCX0KK30KKworbGli YXZ1dGlsNF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2M9IkZGbXBlZyB1dGlsaXR5IGxpYnJhcnki CisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYmF2dXRpbC5zby4qIgorCX0K K30KKworbGliYXZmaWx0ZXI0X3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYz0iRkZtcGVnIGF1ZGlv L3ZpZGVvIGZpbHRlciBsaWJyYXJ5IgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAidXNyL2xp Yi9saWJhdmZpbHRlci5zby4qIgorCX0KK30KKworbGlicG9zdHByb2M0X3BhY2thZ2UoKSB7CisJ c2hvcnRfZGVzYz0iRkZtcGVnIHZpZGVvIHBvc3Rwcm9jZXNzaW5nIGxpYnJhcnkiCisJcGtnX2lu c3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYnBvc3Rwcm9jLnNvLioiCisJfQorfQorCits aWJzd3NjYWxlNF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2M9IkZGbXBlZyB2aWRlbyBzY2FsaW5n IGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1c3IvbGliL2xpYnN3c2NhbGUu c28uKiIKKwl9Cit9CisKK2xpYnN3cmVzYW1wbGU0X3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYz0i RkZtcGVnIHZpZGVvIHJlc2FtcGxpbmcgbGlicmFyeSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1v dmUgInVzci9saWIvbGlic3dyZXNhbXBsZS5zby4qIgorCX0KK30KKworZmZtcGVnNC1kZXZlbF9w YWNrYWdlKCkgeworCWRlcGVuZHM9IgorCQlsaWJhdmNvZGVjND49JHt2ZXJzaW9ufV8ke3Jldmlz aW9ufQorCQlsaWJhdmRldmljZTQ+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkJbGliYXZmb3Jt YXQ0Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJCWxpYmF2dXRpbDQ+PSR7dmVyc2lvbn1fJHty ZXZpc2lvbn0KKwkJbGliYXZmaWx0ZXI0Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJCWxpYnBv c3Rwcm9jND49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCQlsaWJzd3NjYWxlND49JHt2ZXJzaW9u fV8ke3JldmlzaW9ufQorCQlsaWJzd3Jlc2FtcGxlND49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQor CQlsaWJhdnJlc2FtcGxlND49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlzaG9ydF9kZXNjKz0i IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJY29uZmxpY3RzPSJmZm1wZWctZGV2ZWwiCisJaWYgWyAi JFhCUFNfVEFSR0VUX01BQ0hJTkUiID0gImk2ODYiIF07IHRoZW4KKwkJIyAvdXNyL2Jpbi9zdHJp cDogZXJyb3I6IHRoZSBpbnB1dCBmaWxlICcvZGVzdGRpci8vZmZtcGVnLWRldmVsLTQuNC40L3Vz ci9saWIvbGliYXZmaWx0ZXIuYSh2Zl9hdGFkZW5vaXNlLm8pJyBoYXMgbm8gc2VjdGlvbnMKKwkJ bm9zdHJpcF9maWxlcz0iL3Vzci9saWIvbGliYXZmaWx0ZXIuYSIKKwlmaQorCXBrZ19pbnN0YWxs KCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2 bW92ZSAidXNyL2xpYi8qLmEiCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJCXZtb3ZlIHVzci9z aGFyZS9mZm1wZWcvZXhhbXBsZXMKKwkJdm1vdmUgdXNyL3NoYXJlL21hbi9tYW4zCisJfQorfQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9saWJhdmNvZGVjNCBiL3NyY3BrZ3MvbGliYXZjb2RlYzQKbmV3 IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjg4N2YzNTRlN2M2YmUzCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJhdmNvZGVjNApAQCAtMCwwICsxIEBACitmZm1w ZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJh dmRldmljZTQgYi9zcmNwa2dzL2xpYmF2ZGV2aWNlNApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRl eCAwMDAwMDAwMDAwMDAwMC4uODg3ZjM1NGU3YzZiZTMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2xpYmF2ZGV2aWNlNApAQCAtMCwwICsxIEBACitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJhdmZpbHRlcjQgYi9zcmNwa2dzL2xp YmF2ZmlsdGVyNApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAwMC4uODg3 ZjM1NGU3YzZiZTMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmF2ZmlsdGVyNApAQCAt MCwwICsxIEBACitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9saWJhdmZvcm1hdDQgYi9zcmNwa2dzL2xpYmF2Zm9ybWF0NApuZXcgZmlsZSBt b2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAwMC4uODg3ZjM1NGU3YzZiZTMKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2xpYmF2Zm9ybWF0NApAQCAtMCwwICsxIEBACitmZm1wZWc0Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJhdnJlc2Ft cGxlNCBiL3NyY3BrZ3MvbGliYXZyZXNhbXBsZTQKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMDAwMDAuLjg4N2YzNTRlN2M2YmUzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9saWJhdnJlc2FtcGxlNApAQCAtMCwwICsxIEBACitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJhdnV0aWw0IGIvc3JjcGtncy9saWJh dnV0aWw0Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMDAwLi44ODdmMzU0 ZTdjNmJlMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliYXZ1dGlsNApAQCAtMCwwICsx IEBACitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9saWJwb3N0cHJvYzQgYi9zcmNwa2dzL2xpYnBvc3Rwcm9jNApuZXcgZmlsZSBtb2RlIDEy MDAwMAppbmRleCAwMDAwMDAwMDAwMDAwMC4uODg3ZjM1NGU3YzZiZTMKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2xpYnBvc3Rwcm9jNApAQCAtMCwwICsxIEBACitmZm1wZWc0ClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJzd3Jlc2FtcGxlNCBi L3NyY3BrZ3MvbGlic3dyZXNhbXBsZTQKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAw MDAwMDAwMDAuLjg4N2YzNTRlN2M2YmUzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJz d3Jlc2FtcGxlNApAQCAtMCwwICsxIEBACitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJzd3NjYWxlNCBiL3NyY3BrZ3MvbGlic3dzY2Fs ZTQKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjg4N2YzNTRlN2M2 YmUzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJzd3NjYWxlNApAQCAtMCwwICsxIEBA CitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKRnJvbSBiMDM0Y2Q1OGVjNTE3 MTRjMWFiMzcyZjAyYjZlOWEwOTljMGVmZWU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDE5OjU5 OjA0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMDUvMTA4XSBvcGVuY3Y6IHVwZGF0ZSB0byA0Ljcu MC4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgfCAxMDQgKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9vcGVuY3YvdGVtcGxhdGUgfCAgIDggKyst LQogMiBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBkN2RjYTAyYmFl Y2E2Mi4uNjIzMjVlZmNjYjIxMTMgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29t bW9uL3NobGlicwpAQCAtMjE5MCw1OCArMjE5MCw1OCBAQCBsaWJjYXBzdG9uZS5zby41IGNhcHN0 b25lLTUuMC4xXzEKIGxpYmhhdmVnZS5zby4yIGxpYmhhdmVnZWQtMS45LjExXzEKIGxpYm5paC5z by4xIGxpYm5paC0xLjAuM18xCiBsaWJuaWgtZGJ1cy5zby4xIGxpYm5paC0xLjAuM18xCi1saWJv cGVuY3ZfcXVhbGl0eS5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9yZWcuc28u NDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3Zfc3VyZmFjZV9tYXRjaGluZy5zby40MDYg bGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl94cGhvdG8uc28uNDA2IGxpYm9wZW5jdi00LjYu MF8xCi1saWJvcGVuY3ZfZnJlZXR5cGUuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVu Y3ZfZnV6enkuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfaGZzLnNvLjQwNiBs aWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2ltZ19oYXNoLnNvLjQwNiBsaWJvcGVuY3YtNC42 LjBfMQotbGlib3BlbmN2X2xpbmVfZGVzY3JpcHRvci5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEK LWxpYm9wZW5jdl9zYWxpZW5jeS5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9z dHJ1Y3R1cmVkX2xpZ2h0LnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2FydWNv LnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2Jnc2VnbS5zby40MDYgbGlib3Bl bmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9iaW9pbnNwaXJlZC5zby40MDYgbGlib3BlbmN2LTQuNi4w XzEKLWxpYm9wZW5jdl9jY2FsaWIuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3Zf ZmFjZS5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl90cmFja2luZy5zby40MDYg bGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl94ZmVhdHVyZXMyZC5zby40MDYgbGlib3BlbmN2 LTQuNi4wXzEKLWxpYm9wZW5jdl9vcHRmbG93LnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGli b3BlbmN2X3hpbWdwcm9jLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X3Bsb3Qu c28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfdGV4dC5zby40MDYgbGlib3BlbmN2 LTQuNi4wXzEKLWxpYm9wZW5jdl9tbC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5j dl9vYmpkZXRlY3Quc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfZG5uLnNvLjQw NiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X3NoYXBlLnNvLjQwNiBsaWJvcGVuY3YtNC42 LjBfMQotbGlib3BlbmN2X3N0aXRjaGluZy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9w ZW5jdl9waG90by5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl92aWRlby5zby40 MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9jYWxpYjNkLnNvLjQwNiBsaWJvcGVuY3Yt NC42LjBfMQotbGlib3BlbmN2X2ZlYXR1cmVzMmQuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1s aWJvcGVuY3ZfZmxhbm4uc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfaGlnaGd1 aS5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl92aWRlb2lvLnNvLjQwNiBsaWJv cGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2ltZ2NvZGVjcy5zby40MDYgbGlib3BlbmN2LTQuNi4w XzEKLWxpYm9wZW5jdl9pbWdwcm9jLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2 X2NvcmUuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3Zfc3VwZXJyZXMuc28uNDA2 IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfdmlkZW9zdGFiLnNvLjQwNiBsaWJvcGVuY3Yt NC42LjBfMQotbGlib3BlbmN2X2dhcGkuc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVu Y3ZfeG9iamRldGVjdC5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9kYXRhc2V0 cy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9kbm5fb2JqZGV0ZWN0LnNvLjQw NiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3BlbmN2X2Rubl9zdXBlcnJlcy5zby40MDYgbGlib3Bl bmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9kcG0uc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJv cGVuY3ZfcGhhc2VfdW53cmFwcGluZy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5j dl9zdGVyZW8uc28uNDA2IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfcmFwaWQuc28uNDA2 IGxpYm9wZW5jdi00LjYuMF8xCi1saWJvcGVuY3ZfaW50ZW5zaXR5X3RyYW5zZm9ybS5zby40MDYg bGlib3BlbmN2LTQuNi4wXzEKLWxpYm9wZW5jdl9hbHBoYW1hdC5zby40MDYgbGlib3BlbmN2LTQu Ni4wXzEKLWxpYm9wZW5jdl9iYXJjb2RlLnNvLjQwNiBsaWJvcGVuY3YtNC42LjBfMQotbGlib3Bl bmN2X21jYy5zby40MDYgbGlib3BlbmN2LTQuNi4wXzEKK2xpYm9wZW5jdl9xdWFsaXR5LnNvLjQw NyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3JlZy5zby40MDcgbGlib3BlbmN2LTQuNy4w XzEKK2xpYm9wZW5jdl9zdXJmYWNlX21hdGNoaW5nLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQor bGlib3BlbmN2X3hwaG90by5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mcmVl dHlwZS5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mdXp6eS5zby40MDcgbGli b3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9oZnMuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCits aWJvcGVuY3ZfaW1nX2hhc2guc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfbGlu ZV9kZXNjcmlwdG9yLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3NhbGllbmN5 LnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3N0cnVjdHVyZWRfbGlnaHQuc28u NDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfYXJ1Y28uc28uNDA3IGxpYm9wZW5jdi00 LjcuMF8xCitsaWJvcGVuY3ZfYmdzZWdtLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3Bl bmN2X2Jpb2luc3BpcmVkLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2NjYWxp Yi5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mYWNlLnNvLjQwNyBsaWJvcGVu Y3YtNC43LjBfMQorbGlib3BlbmN2X3RyYWNraW5nLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQor bGlib3BlbmN2X3hmZWF0dXJlczJkLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2 X29wdGZsb3cuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfeGltZ3Byb2Muc28u NDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfcGxvdC5zby40MDcgbGlib3BlbmN2LTQu Ny4wXzEKK2xpYm9wZW5jdl90ZXh0LnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2 X21sLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X29iamRldGVjdC5zby40MDcg bGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9kbm4uc28uNDA3IGxpYm9wZW5jdi00LjcuMF8x CitsaWJvcGVuY3Zfc2hhcGUuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3Zfc3Rp dGNoaW5nLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3Bob3RvLnNvLjQwNyBs aWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3ZpZGVvLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBf MQorbGlib3BlbmN2X2NhbGliM2Quc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3Zf ZmVhdHVyZXMyZC5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9mbGFubi5zby40 MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9oaWdoZ3VpLnNvLjQwNyBsaWJvcGVuY3Yt NC43LjBfMQorbGlib3BlbmN2X3ZpZGVvaW8uc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJv cGVuY3ZfaW1nY29kZWNzLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2ltZ3By b2Muc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfY29yZS5zby40MDcgbGlib3Bl bmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9zdXBlcnJlcy5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEK K2xpYm9wZW5jdl92aWRlb3N0YWIuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3Zf Z2FwaS5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl94b2JqZGV0ZWN0LnNvLjQw NyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2RhdGFzZXRzLnNvLjQwNyBsaWJvcGVuY3Yt NC43LjBfMQorbGlib3BlbmN2X2Rubl9vYmpkZXRlY3Quc28uNDA3IGxpYm9wZW5jdi00LjcuMF8x CitsaWJvcGVuY3ZfZG5uX3N1cGVycmVzLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3Bl bmN2X2RwbS5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9waGFzZV91bndyYXBw aW5nLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X3N0ZXJlby5zby40MDcgbGli b3BlbmN2LTQuNy4wXzEKK2xpYm9wZW5jdl9yYXBpZC5zby40MDcgbGlib3BlbmN2LTQuNy4wXzEK K2xpYm9wZW5jdl9pbnRlbnNpdHlfdHJhbnNmb3JtLnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQor bGlib3BlbmN2X2FscGhhbWF0LnNvLjQwNyBsaWJvcGVuY3YtNC43LjBfMQorbGlib3BlbmN2X2Jh cmNvZGUuc28uNDA3IGxpYm9wZW5jdi00LjcuMF8xCitsaWJvcGVuY3ZfbWNjLnNvLjQwNyBsaWJv cGVuY3YtNC43LjBfMQogbGlidW5pY29uZi5zby40LjYgd3ZzdHJlYW1zLTQuNi4xXzIwCiBsaWJ3 dmJhc2Uuc28uNC42IHd2c3RyZWFtcy00LjYuMV8yMAogbGlid3Z1dGlscy5zby40LjYgd3ZzdHJl YW1zLTQuNi4xXzIwCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5jdi90ZW1wbGF0ZSBiL3NyY3Br Z3Mvb3BlbmN2L3RlbXBsYXRlCmluZGV4IGFlYTRiZmMzYTI2NWNmLi5jZTk0ZGU5NDI0ZDE4ZCAx MDA2NDQKLS0tIGEvc3JjcGtncy9vcGVuY3YvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuY3Yv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuY3YnCiBw a2duYW1lPW9wZW5jdgotdmVyc2lvbj00LjYuMAotcmV2aXNpb249NgordmVyc2lvbj00LjcuMAor cmV2aXNpb249MQogY3JlYXRlX3dya3NyYz15ZXMKIGJ1aWxkX3dya3NyYz0ke3BrZ25hbWV9LSR7 dmVyc2lvbn0KIGJ1aWxkX3N0eWxlPWNtYWtlCkBAIC0yNCw4ICsyNCw4IEBAIGhvbWVwYWdlPSJo dHRwczovL29wZW5jdi5vcmciCiBjaGFuZ2Vsb2c9Imh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuY3Yv b3BlbmN2L3dpa2kvQ2hhbmdlTG9nIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vb3Bl bmN2L29wZW5jdi9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6CiAgaHR0cHM6Ly9naXRodWIuY29t L29wZW5jdi9vcGVuY3ZfY29udHJpYi9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6PmNvbnRyaWIu dGFyLmd6IgotY2hlY2tzdW09IjFlYzFjYmE2NWY5ZjIwZmU1YTQxZmRhMTU4NmUwMWM3MGVhMGM5 YTZkN2I2N2M5ZTEzZWRmMGNmZTIyMzkyNzcKLSAxNzc3ZDVmZDJiNTkwMjljZjUzN2U1ZmQ2Zjhh YTY4ZDcwNzA3NTgyMmY5MGJkZTY4M2ZjZGUwODZmODVmN2E3IgorY2hlY2tzdW09IjhkZjAwNzlj ZGJlMTc5NzQ4YTE4ZDQ0NzMxYWY2MmEyNDVhNDVlYmY1MDg1MjIzZGMwMzEzMzk1NGM2NjI5NzMK KyA0MmRmODQwY2Y5MDU1ZTU5ZDBlMjJjMjQ5Y2ZiMTlmMDQ3NDNlMWJkYWQxMTNkMzFiMTU3M2Qz OTM0ZDYyNTg0IgogcGF0Y2hfYXJncz0iLU5wMSAtZCAke2J1aWxkX3dya3NyY30iCiAjIHRlc3Rz IGhhbmcgaW5kZW5maW5pdGVseSwgZXZlbiB3aXRoIHRlc3QgZGF0YSBpbmNsdWRlZAogbWFrZV9j aGVjaz1ubwoKRnJvbSBlMGUzYzEyY2Y4ZWQ3YzQzMTllOGYxOWE2NDQ4OWM4OGQ5NjZlNDkyIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpE YXRlOiBXZWQsIDIyIE1hciAyMDIzIDE5OjU5OjQ1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMDYv MTA4XSBhY3Rpb25hOiByZXZidW1wIGZvciBvcGVuY3YtNC43LjAKCi0tLQogc3JjcGtncy9hY3Rp b25hL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hY3Rpb25hL3RlbXBsYXRlIGIvc3JjcGtn cy9hY3Rpb25hL3RlbXBsYXRlCmluZGV4IGNmNWYwYjdhMmFlNjEwLi4wZDg5OTMxMWU2ZGY3NSAx MDA2NDQKLS0tIGEvc3JjcGtncy9hY3Rpb25hL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYWN0aW9u YS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2FjdGlvbmEn CiBwa2duYW1lPWFjdGlvbmEKIHZlcnNpb249My4xMC4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0z CiBidWlsZF9zdHlsZT1xbWFrZQogY29uZmlndXJlX2FyZ3M9IlBLR0NPTkZJR19PUEVOQ1Y9b3Bl bmN2NCIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBxdDUtcGx1Z2luLW15c3FsIHF0NS1x bWFrZSBxdDUtaG9zdC10b29scyIKCkZyb20gYzg1YjE0NDE0ZGIyMGI5MTRmMzgyZDhhMGY2YzU5 ODcxNDgyODMzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1 QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAxOTo1OTo0NiAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMDA3LzEwOF0gcmV0cm9zaGFyZTogcmV2YnVtcCBmb3Igb3BlbmN2LTQuNy4wCgot LS0KIHNyY3BrZ3MvcmV0cm9zaGFyZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmV0cm9z aGFyZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmV0cm9zaGFyZS90ZW1wbGF0ZQppbmRleCAzNWEyNzMy Yzc3ZjYzNC4uMzFhNDBhNmFjNmQ0YTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcmV0cm9zaGFyZS90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3JldHJvc2hhcmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdyZXRyb3NoYXJlJwogcGtnbmFtZT1yZXRyb3NoYXJlCiB2 ZXJzaW9uPTAuNi42Ci1yZXZpc2lvbj00CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1xbWFrZQog I1hYWCBicm9hZGNhc3QgZmVhdHVyZSByZXF1aXJlcyBhbiBhbmNpZW50IHVkcC1kaXNjb3Zlcnkt Y3BwIHdoaWNoIGVpdGhlciBuZWVkcwogIyB0byBiZSBmZXRjaGVkK3BhdGNoZWQgKEZUQkZTKSBo ZXJlIG9yIHBhY2thZ2VkIDovCgpGcm9tIDI5ZGU4MTRkOGUzNzhlNGI2OTJhNTViNWE3MzgzN2Zk ZTkwODlmOWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBn bWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMTk6NTk6NDYgLTA0MDAKU3ViamVjdDog W1BBVENIIDAwOC8xMDhdIHdhaWZ1MngtY29udmVydGVyLWNwcDogcmV2YnVtcCBmb3Igb3BlbmN2 LTQuNy4wCgotLS0KIHNyY3BrZ3Mvd2FpZnUyeC1jb252ZXJ0ZXItY3BwL3RlbXBsYXRlIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy93YWlmdTJ4LWNvbnZlcnRlci1jcHAvdGVtcGxhdGUgYi9zcmNwa2dzL3dh aWZ1MngtY29udmVydGVyLWNwcC90ZW1wbGF0ZQppbmRleCAzNjFiOGEyM2I5NDk3Ny4uYzVhYzE3 ZWI1NGVhNGMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvd2FpZnUyeC1jb252ZXJ0ZXItY3BwL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3Mvd2FpZnUyeC1jb252ZXJ0ZXItY3BwL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnd2FpZnUyeC1jb252ZXJ0ZXItY3BwJwogcGtn bmFtZT13YWlmdTJ4LWNvbnZlcnRlci1jcHAKIHZlcnNpb249NS4yLjQKLXJldmlzaW9uPTIKK3Jl dmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURJTlNUQUxMX01P REVMUz1PTiIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gYTcxZDU3ZDJkZGM1 NzJiYzQ4ODkwYWVlYmE5YWIzMGI0NjdlOTQyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDow MDozOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDA5LzEwOF0gdmxjOiByZXZidW1wIGZvciBmZm1w ZWc0CgotLS0KIHNyY3BrZ3MvdmxjL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvdmxj L3RlbXBsYXRlIGIvc3JjcGtncy92bGMvdGVtcGxhdGUKaW5kZXggOTFjY2QyMWFjYmVhZjAuLmJl NDU2OTE1YjE2OWQ0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3ZsYy90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3ZsYy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Zs YycKIHBrZ25hbWU9dmxjCiB2ZXJzaW9uPTMuMC4yMQotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1nbWUg LS1kaXNhYmxlLWxpYnRhciAtLWVuYWJsZS1qYWNrCiAgLS1lbmFibGUtbGl2ZTU1NSAtLWRpc2Fi bGUtZmx1aWRzeW50aCAtLWVuYWJsZS1kdmRyZWFkCkBAIC0yNSw3ICsyNSw3IEBAIGxpYjMyZGlz YWJsZWQ9eWVzCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGxpYnRvb2wgcGtnLWNvbmZpZyBm bGV4IGdldHRleHQgbGliZ2NyeXB0LWRldmVsCiAgbGl2ZTU1NS1kZXZlbCBnZXR0ZXh0LWRldmVs ICQodm9wdF9pZiBsdWEgbHVhNTIpICQodm9wdF9pZiBjaHJvbWVjYXN0IHByb3RvYnVmKSIKIG1h a2VkZXBlbmRzPSIKLSBhdmFoaS1saWJzLWRldmVsIGRidXMtZ2xpYi1kZXZlbCBmYWFkMi1kZXZl bCBmZm1wZWctZGV2ZWwgZnJlZWZvbnQtdHRmCisgYXZhaGktbGlicy1kZXZlbCBkYnVzLWdsaWIt ZGV2ZWwgZmFhZDItZGV2ZWwgZmZtcGVnNC1kZXZlbCBmcmVlZm9udC10dGYKICBnbnV0bHMtZGV2 ZWwgamFjay1kZXZlbCBsaWJhNTItZGV2ZWwgbGliYXNzLWRldmVsIGxpYmJsdXJheS1kZXZlbAog IGxpYmNkaW8tZGV2ZWwgbGliZGNhLWRldmVsIGxpYmR2YnBzaS1kZXZlbCBsaWJkdmRuYXYtZGV2 ZWwgbGlibWFkLWRldmVsCiAgbGlibWF0cm9za2EtZGV2ZWwgbGlibW9kcGx1Zy1kZXZlbCBsaWJt cGNkZWMtZGV2ZWwgbGlibXBlZzItZGV2ZWwKCkZyb20gZGU1ZDg3NWY3Y2FiZGY0MWYzNDdhZTMz NDBhYjdkYjg2YmNiMjk3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHps aWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMDo1NSAtMDQwMApT dWJqZWN0OiBbUEFUQ0ggMDEwLzEwOF0gb3NnOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNy Y3BrZ3Mvb3NnL3BhdGNoZXMvZmZtcGVnNS5wYXRjaCB8IDQ5MCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0OTAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3Mvb3NnL3BhdGNoZXMvZmZtcGVnNS5wYXRjaAoKZGlmZiAtLWdpdCBh L3NyY3BrZ3Mvb3NnL3BhdGNoZXMvZmZtcGVnNS5wYXRjaCBiL3NyY3BrZ3Mvb3NnL3BhdGNoZXMv ZmZtcGVnNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4u YWU0NmRjZDRjNDY3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29zZy9wYXRjaGVzL2Zm bXBlZzUucGF0Y2gKQEAgLTAsMCArMSw0OTAgQEAKK0luZGV4OiBvcGVuc2NlbmVncmFwaC0zLjYu NStkZnNnMS9zcmMvb3NnUGx1Z2lucy9mZm1wZWcvRkZtcGVnRGVjb2RlckF1ZGlvLmNwcAorPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIG9wZW5zY2VuZWdyYXBoLTMuNi41K2Rmc2cxLm9yaWcvc3JjL29zZ1BsdWdp bnMvZmZtcGVnL0ZGbXBlZ0RlY29kZXJBdWRpby5jcHAKKysrKyBvcGVuc2NlbmVncmFwaC0zLjYu NStkZnNnMS9zcmMvb3NnUGx1Z2lucy9mZm1wZWcvRkZtcGVnRGVjb2RlckF1ZGlvLmNwcAorQEAg LTQ1LDEyICs0NSwxOSBAQCBzdGF0aWMgaW50IGRlY29kZV9hdWRpbyhBVkNvZGVjQ29udGV4dCAq CisgICAgIGlmICghZnJhbWUpCisgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworIAor LSAgICByZXQgPSBhdmNvZGVjX2RlY29kZV9hdWRpbzQoYXZjdHgsIGZyYW1lLCAmZ290X2ZyYW1l LCAmYXZwa3QpOworKyAgICByZXQgPSBhdmNvZGVjX3NlbmRfcGFja2V0KGF2Y3R4LCAmYXZwa3Qp OworKyAgICBpZiAocmV0ID49IDApIHsKKysgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJh bWUoYXZjdHgsIGZyYW1lKTsKKysgICAgICBpZiAocmV0ID09IDApIHsKKysJZ290X2ZyYW1lID0g MTsKKysgICAgICB9CisrICAgIH0KKysKKyAKKyAjaWZkZWYgVVNFX0FWUkVTQU1QTEUgICAgLy8g bGliYXYncyBBVkZyYW1lIHN0cnVjdHVyZSBkb2VzIG5vdCBjb250YWluIGEgJ2NoYW5uZWxzJyBm aWVsZAorICAgICBpZiAocmV0ID49IDAgJiYgZ290X2ZyYW1lKSB7CisgI2Vsc2UKKy0gICAgaWYg KHJldCA+PSAwICYmIGdvdF9mcmFtZSAmJiBhdl9mcmFtZV9nZXRfY2hhbm5lbHMoZnJhbWUpPjAp IHsKKysgICAgaWYgKHJldCA+PSAwICYmIGdvdF9mcmFtZSAmJiBmcmFtZS0+Y2hfbGF5b3V0Lm5i X2NoYW5uZWxzPjApIHsKKyAjZW5kaWYKKyAgICAgICAgIGludCBjaCwgcGxhbmVfc2l6ZTsKKyAg ICAgICAgIGludCBwbGFuYXIgPSBhdl9zYW1wbGVfZm10X2lzX3BsYW5hcihhdmN0eC0+c2FtcGxl X2ZtdCk7CitAQCAtMTUxLDExICsxNTgsMTMgQEAgdm9pZCBGRm1wZWdEZWNvZGVyQXVkaW86Om9w ZW4oQVZTdHJlYW0gKgorICAgICAgICAgICAgIHJldHVybjsKKyAKKyAgICAgICAgIG1fc3RyZWFt ID0gc3RyZWFtOworLSAgICAgICAgbV9jb250ZXh0ID0gc3RyZWFtLT5jb2RlYzsKKy0KKy0gICAg ICAgIG1faW5fc2FtcGxlX3JhdGUgPSBtX2NvbnRleHQtPnNhbXBsZV9yYXRlOworLSAgICAgICAg bV9pbl9uYl9jaGFubmVscyA9IG1fY29udGV4dC0+Y2hhbm5lbHM7CistICAgICAgICBtX2luX3Nh bXBsZV9mb3JtYXQgPSBtX2NvbnRleHQtPnNhbXBsZV9mbXQ7CisrCUFWQ29kZWNQYXJhbWV0ZXJz KiBhdnAgPSBzdHJlYW0tPmNvZGVjcGFyOworKyAgICAgICAgY29uc3QgQVZDb2RlYyAqIHBfY29k ZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihhdnAtPmNvZGVjX2lkKTsKKysJbV9jb250ZXh0ID0g YXZjb2RlY19hbGxvY19jb250ZXh0MyhwX2NvZGVjKTsKKysKKysgICAgICAgIG1faW5fc2FtcGxl X3JhdGUgPSBhdnAtPnNhbXBsZV9yYXRlOworKyAgICAgICAgbV9pbl9uYl9jaGFubmVscyA9IGF2 cC0+Y2hhbm5lbHM7CisrICAgICAgICBtX2luX3NhbXBsZV9mb3JtYXQgPSAoKEFWU2FtcGxlRm9y bWF0KShhdnAtPmZvcm1hdCkpOworIAorICAgICAgICAgQVZEaWN0aW9uYXJ5RW50cnkgKm9wdF9v dXRfc2FtcGxlX3JhdGUgPSBhdl9kaWN0X2dldCggKnBhcmFtZXRlcnMtPmdldE9wdGlvbnMoKSwg Im91dF9zYW1wbGVfcmF0ZSIsIE5VTEwsIDAgKTsKKyAgICAgICAgIGlmICggb3B0X291dF9zYW1w bGVfcmF0ZSApCitAQCAtMjEwLDExICsyMTksMTAgQEAgcHJpbnRmKCIjIyMgQ09OVkVSVElORyBm cm9tIHNhbXBsZSBmb3JtYQorICAgICAgICAgfQorIAorICAgICAgICAgLy8gQ2hlY2sgc3RyZWFt IHNhbml0eQorLSAgICAgICAgaWYgKG1fY29udGV4dC0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf Tk9ORSkKKysgICAgICAgIGlmIChhdnAtPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX05PTkUpCisg ICAgICAgICAgICAgdGhyb3cgc3RkOjpydW50aW1lX2Vycm9yKCJpbnZhbGlkIGF1ZGlvIGNvZGVj Iik7OworIAorICAgICAgICAgLy8gRmluZCB0aGUgZGVjb2RlciBmb3IgdGhlIGF1ZGlvIHN0cmVh bQorLSAgICAgICAgQVZDb2RlYyAqIGNvbnN0IHBfY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2Rl cihtX2NvbnRleHQtPmNvZGVjX2lkKTsKKyAKKyAgICAgICAgIGlmIChwX2NvZGVjID09IDApCisg ICAgICAgICAgICAgdGhyb3cgc3RkOjpydW50aW1lX2Vycm9yKCJhdmNvZGVjX2ZpbmRfZGVjb2Rl cigpIGZhaWxlZCIpOworZGlmZiAtTmF1ciBvbGQvc3JjL29zZ1BsdWdpbnMvZmZtcGVnL0ZGbXBl Z0RlY29kZXIuY3BwIG5ldy9zcmMvb3NnUGx1Z2lucy9mZm1wZWcvRkZtcGVnRGVjb2Rlci5jcHAK Ky0tLSBvbGQvc3JjL29zZ1BsdWdpbnMvZmZtcGVnL0ZGbXBlZ0RlY29kZXIuY3BwCTIwMjAtMDEt MzEgMjE6MDM6MDcuMDAwMDAwMDAwICsxMDAwCisrKysgbmV3L3NyYy9vc2dQbHVnaW5zL2ZmbXBl Zy9GRm1wZWdEZWNvZGVyLmNwcAkyMDIzLTExLTI2IDA4OjA5OjM3LjI4MDQ0MjE5MyArMTAwMAor QEAgLTYyLDcgKzYyLDcgQEAKKyAgICAgeworICAgICAgICAgLy8gT3BlbiB2aWRlbyBmaWxlCisg ICAgICAgICBBVkZvcm1hdENvbnRleHQgKiBwX2Zvcm1hdF9jb250ZXh0ID0gMDsKKy0gICAgICAg IEFWSW5wdXRGb3JtYXQgKmlmb3JtYXQgPSAwOworKyAgICAgICAgY29uc3QgQVZJbnB1dEZvcm1h dCAqaWZvcm1hdCA9IDA7CisgCisgICAgICAgICBpZiAoZmlsZW5hbWUuY29tcGFyZSgwLCA1LCAi L2Rldi8iKT09MCkKKyAgICAgICAgIHsKK0BAIC0zMDQsMTIgKzMwNCwxMSBAQAorICAgICAgICAg ZWxzZQorICAgICAgICAgeworICAgICAgICAgICAgIC8vIE1ha2UgdGhlIHBhY2tldCBkYXRhIGF2 YWlsYWJsZSBiZXlvbmQgYXZfcmVhZF9mcmFtZSgpIGxvZ2ljYWwgc2NvcGUuCistICAgICAgICAg ICAgaWYgKChlcnJvciA9IGF2X2R1cF9wYWNrZXQoJnBhY2tldCkpIDwgMCkgeworLSAgICAgICAg ICAgICAgICBPU0dfRkFUQUwgPDwgImF2X2R1cF9wYWNrZXQoKSByZXR1cm5lZCAiIDw8IEF2U3Ry RXJyb3IoZXJyb3IpIDw8IHN0ZDo6ZW5kbDsKKy0gICAgICAgICAgICAgICAgdGhyb3cgc3RkOjpy dW50aW1lX2Vycm9yKCJhdl9kdXBfcGFja2V0KCkgZmFpbGVkIik7CisrICAgICAgICAgICAgaWYg KChlcnJvciA9IGF2X3BhY2tldF9yZWYoJihtX3BlbmRpbmdfcGFja2V0LnBhY2tldCksICZwYWNr ZXQpKSA8IDApIHsKKysgICAgICAgICAgICAgICAgT1NHX0ZBVEFMIDw8ICJhdl9wYWNrZXRfcmVm KCkgcmV0dXJuZWQgIiA8PCBBdlN0ckVycm9yKGVycm9yKSA8PCBzdGQ6OmVuZGw7CisrICAgICAg ICAgICAgICAgIHRocm93IHN0ZDo6cnVudGltZV9lcnJvcigiYXZfcGFja2V0X3JlZigpIGZhaWxl ZCIpOworICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICBtX3BlbmRpbmdfcGFja2V0ID0g RkZtcGVnUGFja2V0KHBhY2tldCk7CisrCSAgICBtX3BlbmRpbmdfcGFja2V0LnR5cGUgPSBGRm1w ZWdQYWNrZXQ6OlBBQ0tFVF9EQVRBOworICAgICAgICAgfQorICAgICB9CisgCitkaWZmIC1OYXVy IG9sZC9zcmMvb3NnUGx1Z2lucy9mZm1wZWcvRkZtcGVnRGVjb2RlclZpZGVvLmNwcCBuZXcvc3Jj L29zZ1BsdWdpbnMvZmZtcGVnL0ZGbXBlZ0RlY29kZXJWaWRlby5jcHAKKy0tLSBvbGQvc3JjL29z Z1BsdWdpbnMvZmZtcGVnL0ZGbXBlZ0RlY29kZXJWaWRlby5jcHAJMjAyMC0wMS0zMSAyMTowMzow Ny4wMDAwMDAwMDAgKzEwMDAKKysrKyBuZXcvc3JjL29zZ1BsdWdpbnMvZmZtcGVnL0ZGbXBlZ0Rl Y29kZXJWaWRlby5jcHAJMjAyMy0xMS0yNiAxMzowNzowMi41MDE4MTIwNzUgKzEwMDAKK0BAIC02 LDYgKzYsOSBAQAorICNpbmNsdWRlIDxzdGRleGNlcHQ+CisgI2luY2x1ZGUgPHN0cmluZy5oPgor IAorKyNpbmNsdWRlIDxsaWJhdnV0aWwvaW1ndXRpbHMuaD4KKysKKysKKyBuYW1lc3BhY2Ugb3Nn RkZtcGVnIHsKKyAKKyAvLyBUT0RPIC0gYWRkIHN1cHBvcnQgZm9yIHVzaW5nIFJHQiBvciBSR0JB IHBpeGVsIGZvcm1hdC4KK0BAIC0xOCw4ICsyMSw2IEBACisgICAgIG1fc3RyZWFtKDApLAorICAg ICBtX2NvbnRleHQoMCksCisgICAgIG1fY29kZWMoMCksCistICAgIG1fcGFja2V0X2RhdGEoMCks CistICAgIG1fYnl0ZXNfcmVtYWluaW5nKDApLAorICAgICBtX3BhY2tldF9wdHMoQVZfTk9QVFNf VkFMVUUpLAorICAgICBtX3dyaXRlQnVmZmVyKDApLAorICAgICBtX3VzZXJfZGF0YSgwKSwKK0BA IC02MSw4ICs2MiwxMiBAQAorIAorIHZvaWQgRkZtcGVnRGVjb2RlclZpZGVvOjpvcGVuKEFWU3Ry ZWFtICogY29uc3Qgc3RyZWFtKQorIHsKKysgICAgaW50IGxpbmVzaXplc1s0XTsKKysKKyAgICAg bV9zdHJlYW0gPSBzdHJlYW07CistICAgIG1fY29udGV4dCA9IHN0cmVhbS0+Y29kZWM7CisrCisr ICAgIGlmIChhdmNvZGVjX3BhcmFtZXRlcnNfdG9fY29udGV4dChtX2NvbnRleHQsIHN0cmVhbS0+ Y29kZWNwYXIpIDwgMCkKKysgICAgICAgIHRocm93IHN0ZDo6cnVudGltZV9lcnJvcigiYXZjb2Rl Y19wYXJhbWV0ZXJzX3RvX2NvbnRleHQoKSBmYWlsZWQgaW5zaWRlIEZGTXBlZ0RlY29kZXJWaWRl bzo6b3BlbigpIik7CisgCisgICAgIC8vIFRydXN0IHRoZSB2aWRlbyBzaXplIGdpdmVuIGF0IHRo aXMgcG9pbnQKKyAgICAgLy8gKGF2Y29kZWNfb3BlbiBzZWVtcyB0byBzb21ldGltZXMgcmV0dXJu IGEgMHgwIHNpemUpCitAQCAtOTksMTEgKzEwNCwxNSBAQAorIAorICAgICAvLyBBbGxvY2F0ZSBj b252ZXJ0ZWQgUkdCIGZyYW1lCisgICAgIG1fZnJhbWVfcmdiYS5yZXNldChhdl9mcmFtZV9hbGxv YygpKTsKKy0gICAgbV9idWZmZXJfcmdiYVswXS5yZXNpemUoYXZwaWN0dXJlX2dldF9zaXplKEFW X1BJWF9GTVRfUkdCMjQsIHdpZHRoKCksIGhlaWdodCgpKSk7CisrICAgIG1fYnVmZmVyX3JnYmFb MF0ucmVzaXplKGF2X2ltYWdlX2dldF9idWZmZXJfc2l6ZShBVl9QSVhfRk1UX1JHQjI0LCB3aWR0 aCgpLCBoZWlnaHQoKSwgMSkpOworICAgICBtX2J1ZmZlcl9yZ2JhWzFdLnJlc2l6ZShtX2J1ZmZl cl9yZ2JhWzBdLnNpemUoKSk7CisgCisgICAgIC8vIEFzc2lnbiBhcHByb3ByaWF0ZSBwYXJ0cyBv ZiB0aGUgYnVmZmVyIHRvIGltYWdlIHBsYW5lcyBpbiBtX2ZyYW1lX3JnYmEKKysjaWYgQkNTCisg ICAgIGF2cGljdHVyZV9maWxsKChBVlBpY3R1cmUgKikgKG1fZnJhbWVfcmdiYSkuZ2V0KCksICYo bV9idWZmZXJfcmdiYVswXSlbMF0sIEFWX1BJWF9GTVRfUkdCMjQsIHdpZHRoKCksIGhlaWdodCgp KTsKKysjZWxzZQorKyAgICBhdl9pbWFnZV9maWxsX2FycmF5cyhtX2ZyYW1lX3JnYmEuZ2V0KCkt PmRhdGEsIGxpbmVzaXplcywgJihtX2J1ZmZlcl9yZ2JhWzBdKVswXSwgQVZfUElYX0ZNVF9SR0Iy NCwgd2lkdGgoKSwgaGVpZ2h0KCksIDEpOworKyNlbmRpZgorIAorICAgICAvLyBPdmVycmlkZSBn ZXRfYnVmZmVyKCkvcmVsZWFzZV9idWZmZXIoKSBmcm9tIGNvZGVjIGNvbnRleHQgaW4gb3JkZXIg dG8gcmV0cmlldmUgdGhlIFBUUyBvZiBlYWNoIGZyYW1lLgorICAgICBtX2NvbnRleHQtPm9wYXF1 ZSA9IHRoaXM7CitAQCAtMTQ4LDEyOCArMTU3LDEyMyBAQAorIH0KKyAKKyAKKy0KKy12b2lkIEZG bXBlZ0RlY29kZXJWaWRlbzo6ZGVjb2RlTG9vcCgpCisrZG91YmxlIEZGbXBlZ0RlY29kZXJWaWRl bzo6Y2FsY3VsYXRlRnJhbWVQVFMoaW50NjRfdCBwYWNrZXRfZHRzKQorIHsKKy0gICAgRkZtcGVn UGFja2V0IHBhY2tldDsKKy0gICAgZG91YmxlIHB0czsKKysgICAgZG91YmxlIHB0cyA9IDA7Cisg CistICAgIHdoaWxlICghIG1fZXhpdCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8PSBB Vl9WRVJTSU9OX0lOVCg1NywyNCwxMDIpCisrICAgIC8vZmZtcGVnLTMuMCBhbmQgYmVsb3cKKysg ICAgQVZSYXRpb25hbCB0aW1lYmFzZTsKKysgICAgLy8gRmluZCBvdXQgdGhlIGZyYW1lIHB0cwor KyAgICBpZiAobV9mcmFtZS0+cHRzICE9IGludDY0X3QoQVZfTk9QVFNfVkFMVUUpKQorICAgICB7 CistICAgICAgICAvLyBXb3JrIG9uIHRoZSBjdXJyZW50IHBhY2tldCB1bnRpbCB3ZSBoYXZlIGRl Y29kZWQgYWxsIG9mIGl0CistCistICAgICAgICB3aGlsZSAobV9ieXRlc19yZW1haW5pbmcgPiAw KQorLSAgICAgICAgeworLSAgICAgICAgICAgIC8vIFNhdmUgZ2xvYmFsIFBUUyB0byBiZSBzdG9y ZWQgaW4gbV9mcmFtZSB2aWEgZ2V0QnVmZmVyKCkKKysgICAgICAgIHB0cyA9IG1fZnJhbWUtPnB0 czsKKysgICAgICAgIHRpbWViYXNlID0gbV9jb250ZXh0LT50aW1lX2Jhc2U7CisrICAgIH0KKysg ICAgZWxzZSBpZiAocGFja2V0X2R0cyA9PSBpbnQ2NF90KEFWX05PUFRTX1ZBTFVFKSAmJgorKyAg ICAgICAgICAgIG1fZnJhbWUtPm9wYXF1ZSAhPSAwICYmCisrICAgICAgICAgICAgKnJlaW50ZXJw cmV0X2Nhc3Q8Y29uc3QgaW50NjRfdCo+KG1fZnJhbWUtPm9wYXF1ZSkgIT0gaW50NjRfdChBVl9O T1BUU19WQUxVRSkpCisrICAgIHsKKysgICAgICAgIHB0cyA9ICpyZWludGVycHJldF9jYXN0PGNv bnN0IGludDY0X3QqPihtX2ZyYW1lLT5vcGFxdWUpOworKyAgICAgICAgdGltZWJhc2UgPSBtX3N0 cmVhbS0+dGltZV9iYXNlOworKyAgICB9CisrICAgIGVsc2UgaWYgKHBhY2tldF9kdHMgIT0gaW50 NjRfdChBVl9OT1BUU19WQUxVRSkpCisrICAgIHsKKysgICAgICAgIHB0cyA9IHBhY2tldF9kdHM7 CisrICAgICAgICB0aW1lYmFzZSA9IG1fc3RyZWFtLT50aW1lX2Jhc2U7CisrICAgIH0KKysgICAg ZWxzZQorKyAgICB7CisrICAgICAgICB0aW1lYmFzZSA9IG1fY29udGV4dC0+dGltZV9iYXNlOwor KyAgICB9CisgCistICAgICAgICAgICAgbV9wYWNrZXRfcHRzID0gcGFja2V0LnBhY2tldC5wdHM7 CisrICAgIHB0cyAqPSBhdl9xMmQodGltZWJhc2UpOworIAorLSAgICAgICAgICAgIC8vIERlY29k ZSB2aWRlbyBmcmFtZQorKyNlbHNlCisrICAgIC8vYWJvdmUgZmZtcGVnLTMuMAorKyAgICAvLyBG aW5kIG91dCB0aGUgZnJhbWUgcHRzCisrICAgIGlmIChtX2ZyYW1lLT5wdHMgIT0gaW50NjRfdChB Vl9OT1BUU19WQUxVRSkpCisrICAgIHsKKysgICAgICAgIHB0cyA9IGF2X3EyZChtX3N0cmVhbS0+ dGltZV9iYXNlKSAqIG1fZnJhbWUtPnB0czsKKysgICAgfQorKyAgICBlbHNlIGlmIChwYWNrZXRf ZHRzID09IGludDY0X3QoQVZfTk9QVFNfVkFMVUUpICYmCisrICAgICAgICAgICAgbV9mcmFtZS0+ b3BhcXVlICE9IDAgJiYKKysgICAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQ2 NF90Kj4obV9mcmFtZS0+b3BhcXVlKSAhPSBpbnQ2NF90KEFWX05PUFRTX1ZBTFVFKSkKKysgICAg eworKyAgICAgICAgcHRzID0gYXZfcTJkKG1fc3RyZWFtLT50aW1lX2Jhc2UpICogKnJlaW50ZXJw cmV0X2Nhc3Q8Y29uc3QgaW50NjRfdCo+KG1fZnJhbWUtPm9wYXF1ZSk7CisrICAgIH0KKysgICAg ZWxzZSBpZiAocGFja2V0X2R0cyAhPSBpbnQ2NF90KEFWX05PUFRTX1ZBTFVFKSkKKysgICAgewor KyAgICAgICAgcHRzID0gYXZfcTJkKG1fc3RyZWFtLT50aW1lX2Jhc2UpICogcGFja2V0X2R0czsK KysgICAgfQorKyNlbmRpZgorIAorLSAgICAgICAgICAgIGludCBmcmFtZV9maW5pc2hlZCA9IDA7 CisrICAgIHJldHVybiBwdHM7CisrfQorIAorLSAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gdXNl IHRoZSBlbnRpcmUgcGFja2V0IHNpbmNlIHNvbWUgY29kZWNzIHdpbGwgcmVxdWlyZSBleHRyYSBp bmZvcm1hdGlvbiBmb3IgZGVjb2RpbmcKKy0gICAgICAgICAgICBjb25zdCBpbnQgYnl0ZXNfZGVj b2RlZCA9IGF2Y29kZWNfZGVjb2RlX3ZpZGVvMihtX2NvbnRleHQsIG1fZnJhbWUuZ2V0KCksICZm cmFtZV9maW5pc2hlZCwgJihwYWNrZXQucGFja2V0KSk7CisgCistICAgICAgICAgICAgaWYgKGJ5 dGVzX2RlY29kZWQgPCAwKQorLSAgICAgICAgICAgICAgICB0aHJvdyBzdGQ6OnJ1bnRpbWVfZXJy b3IoImF2Y29kZWNfZGVjb2RlX3ZpZGVvIGZhaWxlZCgpIik7Cisrdm9pZCBGRm1wZWdEZWNvZGVy VmlkZW86OmRlY29kZUxvb3AoKQorK3sKKysgICAgYm9vbCBuZWVkX21vcmVfZGF0YSA9IHRydWU7 CisrICAgIEZGbXBlZ1BhY2tldCBwYWNrZXQ7CisgCistICAgICAgICAgICAgbV9ieXRlc19yZW1h aW5pbmcgLT0gYnl0ZXNfZGVjb2RlZDsKKy0gICAgICAgICAgICBtX3BhY2tldF9kYXRhICs9IGJ5 dGVzX2RlY29kZWQ7CisrICAgIHdoaWxlICghIG1fZXhpdCkKKysgICAgeworKwlpZiAobmVlZF9t b3JlX2RhdGEpCisrCXsKKysgICAgICAgICAgICBib29sIGlzX2VtcHR5ID0gdHJ1ZTsKKysgICAg ICAgICAgICBwYWNrZXQgPSBtX3BhY2tldHMudGltZWRQb3AoaXNfZW1wdHksIDEwKTsKKyAKKy0g ICAgICAgICAgICAvLyBQdWJsaXNoIHRoZSBmcmFtZSBpZiB3ZSBoYXZlIGRlY29kZWQgYSBjb21w bGV0ZSBmcmFtZQorLSAgICAgICAgICAgIGlmIChmcmFtZV9maW5pc2hlZCkKKysgICAgICAgICAg ICBpZiAoISBpc19lbXB0eSkKKyAgICAgICAgICAgICB7CistI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9JTlQgPD0gQVZfVkVSU0lPTl9JTlQoNTcsMjQsMTAyKQorLSAgICAgICAgICAgICAgICAvL2Zm bXBlZy0zLjAgYW5kIGJlbG93CistICAgICAgICAgICAgICAgIEFWUmF0aW9uYWwgdGltZWJhc2U7 CistICAgICAgICAgICAgICAgIC8vIEZpbmQgb3V0IHRoZSBmcmFtZSBwdHMKKy0gICAgICAgICAg ICAgICAgaWYgKG1fZnJhbWUtPnB0cyAhPSBpbnQ2NF90KEFWX05PUFRTX1ZBTFVFKSkKKy0gICAg ICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgcHRzID0gbV9mcmFtZS0+cHRzOwor LSAgICAgICAgICAgICAgICAgICAgdGltZWJhc2UgPSBtX2NvbnRleHQtPnRpbWVfYmFzZTsKKy0g ICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICBlbHNlIGlmIChwYWNrZXQucGFja2V0 LmR0cyA9PSBpbnQ2NF90KEFWX05PUFRTX1ZBTFVFKSAmJgorLSAgICAgICAgICAgICAgICAgICAg ICAgIG1fZnJhbWUtPm9wYXF1ZSAhPSAwICYmCistICAgICAgICAgICAgICAgICAgICAgICAgKnJl aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgaW50NjRfdCo+KG1fZnJhbWUtPm9wYXF1ZSkgIT0gaW50NjRf dChBVl9OT1BUU19WQUxVRSkpCistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAg ICAgIHB0cyA9ICpyZWludGVycHJldF9jYXN0PGNvbnN0IGludDY0X3QqPihtX2ZyYW1lLT5vcGFx dWUpOworLSAgICAgICAgICAgICAgICAgICAgdGltZWJhc2UgPSBtX3N0cmVhbS0+dGltZV9iYXNl OworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIGVsc2UgaWYgKHBhY2tldC5w YWNrZXQuZHRzICE9IGludDY0X3QoQVZfTk9QVFNfVkFMVUUpKQorLSAgICAgICAgICAgICAgICB7 CistICAgICAgICAgICAgICAgICAgICBwdHMgPSBwYWNrZXQucGFja2V0LmR0czsKKy0gICAgICAg ICAgICAgICAgICAgIHRpbWViYXNlID0gbV9zdHJlYW0tPnRpbWVfYmFzZTsKKy0gICAgICAgICAg ICAgICAgfQorLSAgICAgICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgIHsKKy0gICAg ICAgICAgICAgICAgICAgIHB0cyA9IDA7CistICAgICAgICAgICAgICAgICAgICB0aW1lYmFzZSA9 IG1fY29udGV4dC0+dGltZV9iYXNlOworLSAgICAgICAgICAgICAgICB9CistCistICAgICAgICAg ICAgICAgIHB0cyAqPSBhdl9xMmQodGltZWJhc2UpOworKyAgICAgICAgICAgICAgICBpZiAocGFj a2V0LnR5cGUgPT0gRkZtcGVnUGFja2V0OjpQQUNLRVRfRkxVU0gpCisrICAgICAgICAgICAgICAg ICAgICBhdmNvZGVjX2ZsdXNoX2J1ZmZlcnMobV9jb250ZXh0KTsKKyAKKy0jZWxzZQorLSAgICAg ICAgICAgICAgICAvL2Fib3ZlIGZmbXBlZy0zLjAKKy0gICAgICAgICAgICAgICAgLy8gRmluZCBv dXQgdGhlIGZyYW1lIHB0cworLSAgICAgICAgICAgICAgICBpZiAobV9mcmFtZS0+cHRzICE9IGlu dDY0X3QoQVZfTk9QVFNfVkFMVUUpKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAg ICAgICAgICBwdHMgPSBhdl9xMmQobV9zdHJlYW0tPnRpbWVfYmFzZSkgKiBtX2ZyYW1lLT5wdHM7 CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgZWxzZSBpZiAocGFja2V0LnBh Y2tldC5kdHMgPT0gaW50NjRfdChBVl9OT1BUU19WQUxVRSkgJiYKKy0gICAgICAgICAgICAgICAg ICAgICAgICBtX2ZyYW1lLT5vcGFxdWUgIT0gMCAmJgorLSAgICAgICAgICAgICAgICAgICAgICAg ICpyZWludGVycHJldF9jYXN0PGNvbnN0IGludDY0X3QqPihtX2ZyYW1lLT5vcGFxdWUpICE9IGlu dDY0X3QoQVZfTk9QVFNfVkFMVUUpKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAg ICAgICAgICBwdHMgPSBhdl9xMmQobV9zdHJlYW0tPnRpbWVfYmFzZSkgKiAqcmVpbnRlcnByZXRf Y2FzdDxjb25zdCBpbnQ2NF90Kj4obV9mcmFtZS0+b3BhcXVlKTsKKy0gICAgICAgICAgICAgICAg fQorLSAgICAgICAgICAgICAgICBlbHNlIGlmIChwYWNrZXQucGFja2V0LmR0cyAhPSBpbnQ2NF90 KEFWX05PUFRTX1ZBTFVFKSkKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAg ICAgcHRzID0gYXZfcTJkKG1fc3RyZWFtLT50aW1lX2Jhc2UpICogcGFja2V0LnBhY2tldC5kdHM7 CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgZWxzZQorLSAgICAgICAgICAg ICAgICB7CistICAgICAgICAgICAgICAgICAgICBwdHMgPSAwOworLSAgICAgICAgICAgICAgICB9 CistI2VuZGlmCistICAgICAgICAgICAgICAgIGNvbnN0IGRvdWJsZSBzeW5jaGVkX3B0cyA9IG1f Y2xvY2tzLnZpZGVvU3luY2hDbG9jayhtX2ZyYW1lLmdldCgpLCBhdl9xMmQoYXZfaW52X3EobV9j b250ZXh0LT5mcmFtZXJhdGUpKSwgcHRzKTsKKy0gICAgICAgICAgICAgICAgY29uc3QgZG91Ymxl IGZyYW1lX2RlbGF5ID0gbV9jbG9ja3MudmlkZW9SZWZyZXNoU2NoZWR1bGUoc3luY2hlZF9wdHMp OworKyAgICAgICAgICAgICAgICAvLyBTYXZlIGdsb2JhbCBQVFMgdG8gYmUgc3RvcmVkIGluIG1f ZnJhbWUgdmlhIGdldEJ1ZmZlcigpCisrICAgICAgICAgICAgICAgIG1fcGFja2V0X3B0cyA9IHBh Y2tldC5wYWNrZXQucHRzOworIAorLSAgICAgICAgICAgICAgICBwdWJsaXNoRnJhbWUoZnJhbWVf ZGVsYXksIG1fY2xvY2tzLmF1ZGlvRGlzYWJsZWQoKSk7CisrCSAgICAgICAgaWYgKGF2Y29kZWNf c2VuZF9wYWNrZXQobV9jb250ZXh0LCAmcGFja2V0LnBhY2tldCkgPCAwKQorKyAgICAgICAgICAg ICAgICAgICAgdGhyb3cgc3RkOjpydW50aW1lX2Vycm9yKCJhdmNvZGVjX3NlbmRfcGFja2V0KCkg ZmFpbGVkIGluc2lkZSBGRm1wZWdEZWNvZGVyVmlkZW86OmRlY29kZUxvb3AoKSIpOworICAgICAg ICAgICAgIH0KKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHdoaWxlKG1fcGF1c2VkICYmICFtX2V4 aXQpCistICAgICAgICB7CistICAgICAgICAgICAgbWljcm9TbGVlcCgxMDAwMCk7CistICAgICAg ICB9CisrCX0KKyAKKy0gICAgICAgIC8vIEdldCB0aGUgbmV4dCBwYWNrZXQKKysgICAgICAgIGNv bnN0IGludCBkZWNvZGVfc3RhdHVzID0gYXZjb2RlY19yZWNlaXZlX2ZyYW1lKG1fY29udGV4dCwg bV9mcmFtZS5nZXQoKSk7CisgCistICAgICAgICBwdHMgPSAwOworKwlpZiAoZGVjb2RlX3N0YXR1 cyA9PSAwKQorKwl7CisrICAgICAgICAgICAgLy8gQ29tcGxldGVkIGF0IGxlYXN0IG9uZSBmdWxs IGZyYW1lCisrCSAgICBuZWVkX21vcmVfZGF0YSA9IGZhbHNlOworIAorLSAgICAgICAgaWYgKHBh Y2tldC52YWxpZCgpKQorLSAgICAgICAgICAgIHBhY2tldC5jbGVhcigpOworKwkgICAgY29uc3Qg ZG91YmxlIHB0cyA9IGNhbGN1bGF0ZUZyYW1lUFRTKG1fZnJhbWUuZ2V0KCktPnBrdF9kdHMpOwor KyAgICAgICAgICAgIGNvbnN0IGRvdWJsZSBzeW5jaGVkX3B0cyA9IG1fY2xvY2tzLnZpZGVvU3lu Y2hDbG9jayhtX2ZyYW1lLmdldCgpLCBhdl9xMmQoYXZfaW52X3EobV9jb250ZXh0LT5mcmFtZXJh dGUpKSwgcHRzKTsKKysgICAgICAgICAgICBjb25zdCBkb3VibGUgZnJhbWVfZGVsYXkgPSBtX2Ns b2Nrcy52aWRlb1JlZnJlc2hTY2hlZHVsZShzeW5jaGVkX3B0cyk7CisgCistICAgICAgICBib29s IGlzX2VtcHR5ID0gdHJ1ZTsKKy0gICAgICAgIHBhY2tldCA9IG1fcGFja2V0cy50aW1lZFBvcChp c19lbXB0eSwgMTApOworKyAgICAgICAgICAgIHB1Ymxpc2hGcmFtZShmcmFtZV9kZWxheSwgbV9j bG9ja3MuYXVkaW9EaXNhYmxlZCgpKTsKKysgICAgICAgIH0KKysJZWxzZSBpZiAoZGVjb2RlX3N0 YXR1cyA9PSBBVkVSUk9SKEVPRikpCisrCXsKKysgICAgICAgICAgICAvLyBEZWNvZGVyIGhhcyBy ZWFjaGVkIGVuZCBvZiB0aGUgc3RyZWFtCisrCSAgICByZXR1cm47CisrICAgICAgICB9CisrCWVs c2UgaWYgKGRlY29kZV9zdGF0dXMgPT0gQVZFUlJPUihFQUdBSU4pKQorKwl7CisrICAgICAgICAg ICAgLy8gRnJhbWUgbm90IHlldCBjb21wbGV0ZQorKwkgICAgbmVlZF9tb3JlX2RhdGEgPSB0cnVl OworKworKyAgICAgICAgICAgIGlmIChwYWNrZXQudmFsaWQoKSkKKysgICAgICAgICAgICAgICAg cGFja2V0LmNsZWFyKCk7CisrCX0KKysJZWxzZQorKyAgICAgICAgICAgIHRocm93IHN0ZDo6cnVu dGltZV9lcnJvcigiYXZjb2RlY19yZWNlaXZlX2ZyYW1lKCkgZmFpbGVkIGluc2lkZSBGRm1wZWdE ZWNvZGVyVmlkZW86OmRlY29kZUxvb3AoKSIpOworIAorLSAgICAgICAgaWYgKCEgaXNfZW1wdHkp CisrICAgICAgICB3aGlsZShtX3BhdXNlZCAmJiAhbV9leGl0KQorICAgICAgICAgeworLSAgICAg ICAgICAgIGlmIChwYWNrZXQudHlwZSA9PSBGRm1wZWdQYWNrZXQ6OlBBQ0tFVF9EQVRBKQorLSAg ICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgbV9ieXRlc19yZW1haW5pbmcgPSBwYWNrZXQu cGFja2V0LnNpemU7CistICAgICAgICAgICAgICAgIG1fcGFja2V0X2RhdGEgPSBwYWNrZXQucGFj a2V0LmRhdGE7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYgKHBhY2tldC50 eXBlID09IEZGbXBlZ1BhY2tldDo6UEFDS0VUX0ZMVVNIKQorLSAgICAgICAgICAgIHsKKy0gICAg ICAgICAgICAgICAgYXZjb2RlY19mbHVzaF9idWZmZXJzKG1fY29udGV4dCk7CistICAgICAgICAg ICAgfQorKyAgICAgICAgICAgIG1pY3JvU2xlZXAoMTAwMDApOworICAgICAgICAgfQorICAgICB9 CisgfQorIAorIAorLQorIHZvaWQgRkZtcGVnRGVjb2RlclZpZGVvOjpmaW5kQXNwZWN0UmF0aW8o KQorIHsKKyAgICAgZmxvYXQgcmF0aW8gPSAwLjBmOworQEAgLTI4Myw3ICsyODcsOCBAQAorICAg ICBtX3BpeGVsX2FzcGVjdF9yYXRpbyA9IHJhdGlvOworIH0KKyAKKy1pbnQgRkZtcGVnRGVjb2Rl clZpZGVvOjpjb252ZXJ0KEFWUGljdHVyZSAqZHN0LCBpbnQgZHN0X3BpeF9mbXQsIEFWUGljdHVy ZSAqc3JjLAorKworK2ludCBGRm1wZWdEZWNvZGVyVmlkZW86OmNvbnZlcnQoQVZGcmFtZSAqZHN0 LCBpbnQgZHN0X3BpeF9mbXQsIEFWRnJhbWUgKnNyYywKKyAgICAgICAgICAgICBpbnQgc3JjX3Bp eF9mbXQsIGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0KQorIHsKKyAgICAgb3NnOjpUaW1l cl90IHN0YXJ0VGljayA9IG9zZzo6VGltZXI6Omluc3RhbmNlKCktPnRpY2soKTsKK0BAIC0zMTgs NiArMzIzLDggQEAKKyAKKyB2b2lkIEZGbXBlZ0RlY29kZXJWaWRlbzo6cHVibGlzaEZyYW1lKGNv bnN0IGRvdWJsZSBkZWxheSwgYm9vbCBhdWRpb19kaXNhYmxlZCkKKyB7CisrICAgIGludCBsaW5l c2l6ZXNbNF07CisrCisgICAgIC8vIElmIG5vIHB1Ymxpc2hpbmcgZnVuY3Rpb24sIGp1c3QgaWdu b3JlIHRoZSBmcmFtZQorICAgICBpZiAobV9wdWJsaXNoX2Z1bmMgPT0gMCkKKyAgICAgICAgIHJl dHVybjsKK0BAIC0zMzQsMTEgKzM0MSwxMSBAQAorICAgICAgICAgcmV0dXJuOworICNlbmRpZgor IAorLSAgICBBVlBpY3R1cmUgKiBjb25zdCBzcmMgPSAoQVZQaWN0dXJlICopIG1fZnJhbWUuZ2V0 KCk7CistICAgIEFWUGljdHVyZSAqIGNvbnN0IGRzdCA9IChBVlBpY3R1cmUgKikgbV9mcmFtZV9y Z2JhLmdldCgpOworKyAgICBBVkZyYW1lICogY29uc3Qgc3JjID0gKEFWRnJhbWUgKikgbV9mcmFt ZS5nZXQoKTsKKysgICAgQVZGcmFtZSAqIGNvbnN0IGRzdCA9IChBVkZyYW1lICopIG1fZnJhbWVf cmdiYS5nZXQoKTsKKyAKKyAgICAgLy8gQXNzaWduIGFwcHJvcHJpYXRlIHBhcnRzIG9mIHRoZSBi dWZmZXIgdG8gaW1hZ2UgcGxhbmVzIGluIG1fZnJhbWVfcmdiYQorLSAgICBhdnBpY3R1cmVfZmls bCgoQVZQaWN0dXJlICopIChtX2ZyYW1lX3JnYmEpLmdldCgpLCAmKG1fYnVmZmVyX3JnYmFbbV93 cml0ZUJ1ZmZlcl0pWzBdLCBBVl9QSVhfRk1UX1JHQjI0LCB3aWR0aCgpLCBoZWlnaHQoKSk7Cisr ICAgIGF2X2ltYWdlX2ZpbGxfYXJyYXlzKG1fZnJhbWVfcmdiYS5nZXQoKS0+ZGF0YSwgbGluZXNp emVzLCAmKG1fYnVmZmVyX3JnYmFbbV93cml0ZUJ1ZmZlcl0pWzBdLCBBVl9QSVhfRk1UX1JHQjI0 LCB3aWR0aCgpLCBoZWlnaHQoKSwgMSk7CisgCisgICAgIC8vIENvbnZlcnQgWVVWQTQyMHAgKGku ZS4gWVVWNDIwcCBwbHVzIGFscGhhIGNoYW5uZWwpIHVzaW5nIG91ciBvd24gcm91dGluZQorIAor QEAgLTM3MCw3ICszNzcsNyBAQAorIAorIAorIAorLXZvaWQgRkZtcGVnRGVjb2RlclZpZGVvOjp5 dXZhNDIwcFRvUmdiYShBVlBpY3R1cmUgKiBjb25zdCBkc3QsIEFWUGljdHVyZSAqIGNvbnN0IHNy YywgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorK3ZvaWQgRkZtcGVnRGVjb2RlclZpZGVvOjp5dXZh NDIwcFRvUmdiYShBVkZyYW1lICogY29uc3QgZHN0LCBBVkZyYW1lICogY29uc3Qgc3JjLCBpbnQg d2lkdGgsIGludCBoZWlnaHQpCisgeworICAgICBjb252ZXJ0KGRzdCwgQVZfUElYX0ZNVF9SR0Iy NCwgc3JjLCBtX2NvbnRleHQtPnBpeF9mbXQsIHdpZHRoLCBoZWlnaHQpOworIAorZGlmZiAtTmF1 ciBvbGQvc3JjL29zZ1BsdWdpbnMvZmZtcGVnL0ZGbXBlZ0RlY29kZXJWaWRlby5ocHAgbmV3L3Ny Yy9vc2dQbHVnaW5zL2ZmbXBlZy9GRm1wZWdEZWNvZGVyVmlkZW8uaHBwCistLS0gb2xkL3NyYy9v c2dQbHVnaW5zL2ZmbXBlZy9GRm1wZWdEZWNvZGVyVmlkZW8uaHBwCTIwMjAtMDEtMzEgMjE6MDM6 MDcuMDAwMDAwMDAwICsxMDAwCisrKysgbmV3L3NyYy9vc2dQbHVnaW5zL2ZmbXBlZy9GRm1wZWdE ZWNvZGVyVmlkZW8uaHBwCTIwMjMtMTEtMjYgMDk6MzQ6MDAuMDQwMjYzNDI2ICsxMDAwCitAQCAt ODcsMTAgKzg3LDExIEBACisgICAgIHZvaWQgZGVjb2RlTG9vcCgpOworICAgICB2b2lkIGZpbmRB c3BlY3RSYXRpbygpOworICAgICB2b2lkIHB1Ymxpc2hGcmFtZShkb3VibGUgZGVsYXksIGJvb2wg YXVkaW9fZGlzYWJsZWQpOworKyAgICBkb3VibGUgY2FsY3VsYXRlRnJhbWVQVFMoaW50NjRfdCBw YWNrZXRfZHRzKTsKKyAgICAgZG91YmxlIHN5bmNocm9uaXplVmlkZW8oZG91YmxlIHB0cyk7Cist ICAgIHZvaWQgeXV2YTQyMHBUb1JnYmEoQVZQaWN0dXJlICpkc3QsIEFWUGljdHVyZSAqc3JjLCBp bnQgd2lkdGgsIGludCBoZWlnaHQpOworKyAgICB2b2lkIHl1dmE0MjBwVG9SZ2JhKEFWRnJhbWUg KmRzdCwgQVZGcmFtZSAqc3JjLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworIAorLSAgICBpbnQg Y29udmVydChBVlBpY3R1cmUgKmRzdCwgaW50IGRzdF9waXhfZm10LCBBVlBpY3R1cmUgKnNyYywK KysgICAgaW50IGNvbnZlcnQoQVZGcmFtZSAqZHN0LCBpbnQgZHN0X3BpeF9mbXQsIEFWRnJhbWUg KnNyYywKKyAgICAgICAgICAgICAgICAgaW50IHNyY19waXhfZm10LCBpbnQgc3JjX3dpZHRoLCBp bnQgc3JjX2hlaWdodCk7CisgCisgCitAQCAtMTAxLDkgKzEwMiw3IEBACisgICAgIEZGbXBlZ0Ns b2NrcyAmICAgICAgICAgIG1fY2xvY2tzOworICAgICBBVlN0cmVhbSAqICAgICAgICAgICAgICBt X3N0cmVhbTsKKyAgICAgQVZDb2RlY0NvbnRleHQgKiAgICAgICAgbV9jb250ZXh0OworLSAgICBB VkNvZGVjICogICAgICAgICAgICAgICBtX2NvZGVjOworLSAgICBjb25zdCB1aW50OF90ICogICAg ICAgICBtX3BhY2tldF9kYXRhOworLSAgICBpbnQgICAgICAgICAgICAgICAgICAgICBtX2J5dGVz X3JlbWFpbmluZzsKKysgICAgY29uc3QgQVZDb2RlYyAqICAgICAgICAgbV9jb2RlYzsKKyAgICAg aW50NjRfdCAgICAgICAgICAgICAgICAgbV9wYWNrZXRfcHRzOworICAgICAKKyAgICAgRnJhbWVQ dHIgICAgICAgICAgICAgICAgbV9mcmFtZTsKK2RpZmYgLU5hdXIgb2xkL3NyYy9vc2dQbHVnaW5z L2ZmbXBlZy9GRm1wZWdQYWNrZXQuaHBwIG5ldy9zcmMvb3NnUGx1Z2lucy9mZm1wZWcvRkZtcGVn UGFja2V0LmhwcAorLS0tIG9sZC9zcmMvb3NnUGx1Z2lucy9mZm1wZWcvRkZtcGVnUGFja2V0Lmhw cAkyMDIwLTAxLTMxIDIxOjAzOjA3LjAwMDAwMDAwMCArMTAwMAorKysrIG5ldy9zcmMvb3NnUGx1 Z2lucy9mZm1wZWcvRkZtcGVnUGFja2V0LmhwcAkyMDIzLTExLTI2IDA3OjIwOjAzLjczOTU0NzE5 MCArMTAwMAorQEAgLTQyLDcgKzQyLDcgQEAKKyAgICAgICAgIHZvaWQgY2xlYXIoKQorICAgICAg ICAgeworICAgICAgICAgICAgIGlmIChwYWNrZXQuZGF0YSAhPSAwKQorLSAgICAgICAgICAgICAg ICBhdl9mcmVlX3BhY2tldCgmcGFja2V0KTsKKysgICAgICAgICAgICAgICAgYXZfcGFja2V0X3Vu cmVmKCZwYWNrZXQpOworIAorICAgICAgICAgICAgIHJlbGVhc2UoKTsKKyAgICAgICAgIH0KK2Rp ZmYgLU5hdXIgb2xkL3NyYy9vc2dQbHVnaW5zL2ZmbXBlZy9GRm1wZWdQYXJhbWV0ZXJzLmhwcCBu ZXcvc3JjL29zZ1BsdWdpbnMvZmZtcGVnL0ZGbXBlZ1BhcmFtZXRlcnMuaHBwCistLS0gb2xkL3Ny Yy9vc2dQbHVnaW5zL2ZmbXBlZy9GRm1wZWdQYXJhbWV0ZXJzLmhwcAkyMDIwLTAxLTMxIDIxOjAz OjA3LjAwMDAwMDAwMCArMTAwMAorKysrIG5ldy9zcmMvb3NnUGx1Z2lucy9mZm1wZWcvRkZtcGVn UGFyYW1ldGVycy5ocHAJMjAyMy0xMS0yNiAxMzowOToyNS4xOTg4MDcwMzYgKzEwMDAKK0BAIC0y MCw3ICsyMCw3IEBACisgCisgICAgIGJvb2wgaXNGb3JtYXRBdmFpbGFibGUoKSBjb25zdCB7IHJl dHVybiBtX2Zvcm1hdCE9TlVMTDsgfQorICAgICAKKy0gICAgQVZJbnB1dEZvcm1hdCogZ2V0Rm9y bWF0KCkgeyByZXR1cm4gbV9mb3JtYXQ7IH0KKysgICAgY29uc3QgQVZJbnB1dEZvcm1hdCogZ2V0 Rm9ybWF0KCkgeyByZXR1cm4gbV9mb3JtYXQ7IH0KKyAgICAgQVZEaWN0aW9uYXJ5KiogZ2V0T3B0 aW9ucygpIHsgcmV0dXJuICZtX29wdGlvbnM7IH0KKyAgICAgdm9pZCBzZXRDb250ZXh0KEFWSU9D b250ZXh0KiBjb250ZXh0KSB7IG1fY29udGV4dCA9IGNvbnRleHQ7IH0KKyAgICAgQVZJT0NvbnRl eHQqIGdldENvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KK0BAIC0yOSw3ICsyOSw3IEBA CisgCisgcHJvdGVjdGVkOgorIAorLSAgICBBVklucHV0Rm9ybWF0KiBtX2Zvcm1hdDsKKysgICAg Y29uc3QgQVZJbnB1dEZvcm1hdCogbV9mb3JtYXQ7CisgICAgIEFWSU9Db250ZXh0KiBtX2NvbnRl eHQ7CisgICAgIEFWRGljdGlvbmFyeSogbV9vcHRpb25zOworIH07CitkaWZmIC1OYXVyIG9sZC9z cmMvb3NnUGx1Z2lucy9mZm1wZWcvUmVhZGVyV3JpdGVyRkZtcGVnLmNwcCBuZXcvc3JjL29zZ1Bs dWdpbnMvZmZtcGVnL1JlYWRlcldyaXRlckZGbXBlZy5jcHAKKy0tLSBvbGQvc3JjL29zZ1BsdWdp bnMvZmZtcGVnL1JlYWRlcldyaXRlckZGbXBlZy5jcHAJMjAyMC0wMS0zMSAyMTowMzowNy4wMDAw MDAwMDAgKzEwMDAKKysrKyBuZXcvc3JjL29zZ1BsdWdpbnMvZmZtcGVnL1JlYWRlcldyaXRlckZG bXBlZy5jcHAJMjAyMy0xMS0yNiAxMzoyNToyMi4wNjA3NzMyNDkgKzEwMDAKK0BAIC0yMCw3ICsy MCw3IEBACisgI2luY2x1ZGUgPG9zZ0RCL0ZpbGVVdGlscz4KKyAKKyAKKy0jaWYgTElCQVZDT0RF Q19WRVJTSU9OX01BSk9SID49IDUzIHx8IFwKKysjaWYgKExJQkFWQ09ERUNfVkVSU0lPTl9NQUpP Uj49NTMgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SPD01OCkgfHwgXAorICAgICAoTElCQVZD T0RFQ19WRVJTSU9OX01BSk9SPT01MiAmJiBMSUJBVkNPREVDX1ZFUlNJT05fTUlOT1I+PTMwKSB8 fCBcCisgICAgIChMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1I9PTUyICYmIExJQkFWQ09ERUNfVkVS U0lPTl9NSU5PUj09MjAgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPID49IDEpCisgICAgICNk ZWZpbmUgVVNFX0FWX0xPQ0tfTUFOQUdFUgorQEAgLTExNyw4ICsxMTcsMTEgQEAKKyAgICAgICAg IC8vIGVuYWJsZSB0aHJlYWQgbG9ja2luZworICAgICAgICAgYXZfbG9ja21ncl9yZWdpc3Rlcigm bG9ja01ncik7CisgI2VuZGlmCistICAgICAgICAvLyBSZWdpc3RlciBhbGwgRkZtcGVnIGZvcm1h dHMvY29kZWNzCisrCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpPUjw9NTcKKysgICAgICAg IC8vIFJlZ2lzdGVyIGFsbCBGRm1wZWcgZm9ybWF0cy9jb2RlY3MtLS0gbm90IHJlcXVpcmVkIGlu IEZGbXBlZyA0LjAgYW5kIGxhdGVyCisgICAgICAgICBhdl9yZWdpc3Rlcl9hbGwoKTsKKysjZW5k aWYKKyAKKyAgICAgICAgIGF2Zm9ybWF0X25ldHdvcmtfaW5pdCgpOworICAgICB9CgpGcm9tIDUz MjY1ZDgxYmZjYTM4OGZlNDUxYmQ0ZDc4MWIwYzRmM2IwNmJkYzYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFy IDIwMjMgMjA6MDE6MTMgLTA0MDAKU3ViamVjdDogW1BBVENIIDAxMS8xMDhdIHhpbmUtbGliOiBy ZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MveGluZS1saWIvdGVtcGxhdGUgfCA2ICsr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3hpbmUtbGliL3RlbXBsYXRlIGIvc3JjcGtncy94aW5lLWxpYi90 ZW1wbGF0ZQppbmRleCAzYmU0ZDA4ZWFjNzdhMy4uMjU2ZmQyYmM4YjU4ZGIgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MveGluZS1saWIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy94aW5lLWxpYi90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hpbmUtbGliJwogcGtnbmFt ZT14aW5lLWxpYgotdmVyc2lvbj0xLjIuMTIKLXJldmlzaW9uPTMKK3ZlcnNpb249MS4yLjEzCity ZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1k aXNhYmxlLXZjZCAtLWRpc2FibGUtZ25vbWV2ZnMgLS13aXRob3V0LWVzb3VuZCAtLWRpc2FibGUt ZHhyMwogIC0tZGlzYWJsZS1vc3MiCkBAIC0xOSw3ICsxOSw3IEBAIGxpY2Vuc2U9IkdQTC0yLjAt b3ItbGF0ZXIsIExHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHA6Ly93d3cueGluZS1w cm9qZWN0Lm9yZyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMv eGluZS9maWxlcy94aW5lLWxpYi8ke3ZlcnNpb259L1JFQURNRS50eHQvdmlldyIKIGRpc3RmaWxl cz0iJHtTT1VSQ0VGT1JHRV9TSVRFfS94aW5lLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1kNjA2MjcwNDY4ZTE1NDBjMmE4OWMwZDdmNWZkZjExZTE3ZWNjMGMyNjk4Y2Mw YmNiMTA2NWZmMjZhYmVlMDk4CitjaGVja3N1bT01ZjEwZDZkNzE4YTRhNTFjMTdlZDFiMzJiMDMx ZDRmOWI4MGIwNjFlODI3NjUzNWIyYmUzMWU1YWM0Yjc1ZTZmCiAKIGNhc2UgIiRYQlBTX1RBUkdF VF9NQUNISU5FIiBpbgogCWk2ODYtbXVzbCkKCkZyb20gZjJmODQxZWJkZjlhYmM4MWI0ZTg1Yjg2 YTVhYTExOTFmYzk1ZGMxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHps aWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NSAtMDQwMApT dWJqZWN0OiBbUEFUQ0ggMDEyLzEwOF0gYXR0cmFjdDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0t CiBzcmNwa2dzL2F0dHJhY3QvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F0dHJhY3QvdGVt cGxhdGUgYi9zcmNwa2dzL2F0dHJhY3QvdGVtcGxhdGUKaW5kZXggNzc2Y2JlNGViZDJjOTMuLmY5 NjYzNGY0NDFhZTgwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2F0dHJhY3QvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9hdHRyYWN0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnYXR0cmFjdCcKIHBrZ25hbWU9YXR0cmFjdAogdmVyc2lvbj0yLjcuMAotcmV2aXNpb249 MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCiBtYWtlX2J1aWxkX2FyZ3M9 IlZFUkJPU0U9MSIKIG1ha2VfdXNlX2Vudj15ZXMKCkZyb20gZThjYWM5NTQzYTU3MjI1ODA4YmUy MzI4NzA0ZmMwNjE3MzFmMDhlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2Ug PHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NSAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMDEzLzEwOF0gYXViaW86IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0t LQogc3JjcGtncy9hdWJpby9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggICAgfCAyNSArKysrKysrKysr KysrKysrKysrKysrKysrCiBzcmNwa2dzL2F1YmlvL3BhdGNoZXMvcHl0aG9uMy4xMi5wYXRjaCB8 IDIxICsrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9hdWJpby90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdWJpby9wYXRjaGVzL2ZmbXBl ZzUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2F1YmlvL3BhdGNoZXMvcHl0aG9u My4xMi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXViaW8vcGF0Y2hlcy9mZm1wZWc1LnBh dGNoIGIvc3JjcGtncy9hdWJpby9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmFhY2U0MWE2ZTZkOWE0Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9hdWJpby9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKQEAgLTAsMCArMSwyNSBA QAorRnJvbSA4YTA1NDIwZTVkZDhjN2I4YjI0NDdmODJkYzkxOTc2NTg3NjUxMWIzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGF1bCBCcm9zc2llciA8cGllbUBwaWVtLm9yZz4KK0Rh dGU6IFR1ZSwgMjUgSmFuIDIwMjIgMTg6MzA6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gW3Nv dXJjZV9hdmNvZGVjXSBkZWZpbmUgRkZfQVBJX0xBVkZfQVZDVFggZm9yIGxpYmF2Y29kZWMgPgor IDU5LCB0aHggQGJlcm9saW51eCAoY2xvc2VzIGdoLTM1MykKKworLS0tCisgc3JjL2lvL3NvdXJj ZV9hdmNvZGVjLmMgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisK K2RpZmYgLS1naXQgYS9zcmMvaW8vc291cmNlX2F2Y29kZWMuYyBiL3NyYy9pby9zb3VyY2VfYXZj b2RlYy5jCitpbmRleCBlMGFlOTNiNS4uMTQyMWJkOWEgMTAwNjQ0CistLS0gYS9zcmMvaW8vc291 cmNlX2F2Y29kZWMuYworKysrIGIvc3JjL2lvL3NvdXJjZV9hdmNvZGVjLmMKK0BAIC02OCw2ICs2 OCwxMCBAQAorICNkZWZpbmUgQVVCSU9fQVZDT0RFQ19NQVhfQlVGRkVSX1NJWkUgQVZfSU5QVVRf QlVGRkVSX01JTl9TSVpFCisgI2VuZGlmCisgCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpP UiA+PSA1OQorKyNkZWZpbmUgRkZfQVBJX0xBVkZfQVZDVFggMQorKyNlbmRpZgorKworIHN0cnVj dCBfYXViaW9fc291cmNlX2F2Y29kZWNfdCB7CisgICB1aW50X3QgaG9wX3NpemU7CisgICB1aW50 X3Qgc2FtcGxlcmF0ZTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXViaW8vcGF0Y2hlcy9weXRob24z LjEyLnBhdGNoIGIvc3JjcGtncy9hdWJpby9wYXRjaGVzL3B5dGhvbjMuMTIucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjgxY2Y2ZDFmMGY3Y2FiCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9hdWJpby9wYXRjaGVzL3B5dGhvbjMuMTIucGF0Y2gKQEAg LTAsMCArMSwyMSBAQAorLS0tIGEvd2FmbGliL0NvbnRleHQucHkJMjAyNC0wNi0wNCAwNzo0OTox My4zOTk3OTM4MTkgLTA0MDAKKysrKyBiL3dhZmxpYi9Db250ZXh0LnB5CTIwMjQtMDYtMDQgMDg6 MDA6MzUuNDczODI0MzA2IC0wNDAwCitAQCAtMiw3ICsyLDcgQEAKKyAjIGVuY29kaW5nOiB1dGYt OAorICMgV0FSTklORyEgRG8gbm90IGVkaXQhIGh0dHBzOi8vd2FmLmlvL2Jvb2svaW5kZXguaHRt bCNfb2J0YWluaW5nX3RoZV93YWZfZmlsZQorCistaW1wb3J0IG9zLHJlLGltcCxzeXMKKytpbXBv cnQgb3MscmUsdHlwZXMsc3lzCisgZnJvbSB3YWZsaWIgaW1wb3J0IFV0aWxzLEVycm9ycyxMb2dz CisgaW1wb3J0IHdhZmxpYi5Ob2RlCisgSEVYVkVSU0lPTj0weDIwMDBlMDAKK0BAIC0zNDQsNyAr MzQ0LDcgQEAKKyAJCXJldHVybiBjYWNoZV9tb2R1bGVzW3BhdGhdCisgCWV4Y2VwdCBLZXlFcnJv cjoKKyAJCXBhc3MKKy0JbW9kdWxlPWltcC5uZXdfbW9kdWxlKFdTQ1JJUFRfRklMRSkKKysJbW9k dWxlPXR5cGVzLk1vZHVsZVR5cGUoV1NDUklQVF9GSUxFKQorIAl0cnk6CisgCQljb2RlPVV0aWxz LnJlYWRmKHBhdGgsbT0ncicsZW5jb2Rpbmc9ZW5jb2RpbmcpCisgCWV4Y2VwdCBFbnZpcm9ubWVu dEVycm9yOgorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1YmlvL3RlbXBsYXRlIGIvc3JjcGtncy9h dWJpby90ZW1wbGF0ZQppbmRleCBhZDFjNGIyNTY5OTE3OC4uN2Q4NzVjYzAyNTQxYTcgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvYXViaW8vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hdWJpby90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2F1YmlvJwogcGtnbmFtZT1h dWJpbwogdmVyc2lvbj0wLjQuOQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9 d2FmMwogIyBYWFggbGFzaCwgcHVyZSBhbmQgc3dpZyBzdXBwb3J0LgogaG9zdG1ha2VkZXBlbmRz PSJwa2ctY29uZmlnIHR4dDJtYW4iCgpGcm9tIGRiYzY5NzQ0NGEzYzU2NGYxNzM5MDRjMTRhNjk3 MzZjNWYzYzAxNGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1 NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDUgLTA0MDAKU3ViamVj dDogW1BBVENIIDAxNC8xMDhdIGF1ZGFjaW91cy1wbHVnaW5zOiByZXZidW1wIGZvciBmZm1wZWc2 CgotLS0KIC4uLi9hdWRhY2lvdXMtcGx1Z2lucy9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggICB8IDQz ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdWRhY2lvdXMtcGx1Z2lucy9wYXRjaGVzL2ZmbXBl ZzUucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1ZGFjaW91cy1wbHVnaW5zL3BhdGNoZXMv ZmZtcGVnNS5wYXRjaCBiL3NyY3BrZ3MvYXVkYWNpb3VzLXBsdWdpbnMvcGF0Y2hlcy9mZm1wZWc1 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi40ZTVlMzQw OTlkNzFjNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvYXVkYWNpb3VzLXBsdWdpbnMvcGF0 Y2hlcy9mZm1wZWc1LnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK2NvbW1pdCAyOThhYTM3MWM1NmMy ZjUyYzI1YTMzZDliZGVjNDkxOGIxMWNlYmRjCitBdXRob3I6IHRpYmVxdWFkb3JpYW4gPHRpYmVx dWFkb3JpYW5AcG9zdGVvLmRlPgorRGF0ZTogICBTYXQgTWFyIDE5IDE4OjQwOjEyIDIwMjIgKzAx MDAKKworICAgIGF1ZGFjaW91cy1wbHVnaW5zOiByZWJ1aWxkIGFnYWluc3QgZmZtcGVnLTUuMAor CitkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdWRhY2lvdXMtcGx1Z2lucy9wYXRjaGVzL2ZmbXBlZy01 LjAucGF0Y2ggYi9zcmNwa2dzL2F1ZGFjaW91cy1wbHVnaW5zL3BhdGNoZXMvZmZtcGVnLTUuMC5w YXRjaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjYxN2MxMTIxNWIK Ky0tLSAvZGV2L251bGwKKysrKyBiL3NyY3BrZ3MvYXVkYWNpb3VzLXBsdWdpbnMvcGF0Y2hlcy9m Zm1wZWctNS4wLnBhdGNoCitAQCAtMCwwICsxLDMxIEBACisrRnJvbSBmNjBiZWI0MDBlZWIxZTQ3 NzhiYmZkNzM4YmM0YTRjY2VmM2RlNTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorK0Zyb206 IEpvaG4gTGluZGdyZW4gPGpvaG5AamxpbmRncmVuLm5ldD4KKytEYXRlOiBTYXQsIDUgTWFyIDIw MjIgMTI6MDU6MzQgLTA1MDAKKytTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIEZGbXBl ZyA1LjAKKysKKystLS0KKysgc3JjL2ZmYXVkaW8vZmZhdWRpby1jb3JlLmNjIHwgNCArKy0tCisr IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisrCisrZGlm ZiAtLWdpdCBhL3NyYy9mZmF1ZGlvL2ZmYXVkaW8tY29yZS5jYyBiL3NyYy9mZmF1ZGlvL2ZmYXVk aW8tY29yZS5jYworK2luZGV4IDE2ZGM2M2UzYS4uYTJiOTVmZDZjIDEwMDY0NAorKy0tLSBhL3Ny Yy9mZmF1ZGlvL2ZmYXVkaW8tY29yZS5jYworKysrKyBiL3NyYy9mZmF1ZGlvL2ZmYXVkaW8tY29y ZS5jYworK0BAIC0yNzQsNyArMjc0LDcgQEAgc3RhdGljIEFWSW5wdXRGb3JtYXQgKiBnZXRfZm9y bWF0X2J5X2NvbnRlbnQgKGNvbnN0IGNoYXIgKiBuYW1lLCBWRlNGaWxlICYgZmlsZSkKKysgICAg ICAgICBBVlByb2JlRGF0YSBkID0ge25hbWUsIGJ1ZiwgZmlsbGVkfTsKKysgICAgICAgICBzY29y ZSA9IHRhcmdldDsKKysgCisrLSAgICAgICAgZiA9IGF2X3Byb2JlX2lucHV0X2Zvcm1hdDIgKCYg ZCwgdHJ1ZSwgJiBzY29yZSk7CisrKyAgICAgICAgZiA9IChBVklucHV0Rm9ybWF0ICopIGF2X3By b2JlX2lucHV0X2Zvcm1hdDIgKCYgZCwgdHJ1ZSwgJiBzY29yZSk7CisrICAgICAgICAgaWYgKGYp CisrICAgICAgICAgICAgIGJyZWFrOworKyAKKytAQCAtMzQ3LDcgKzM0Nyw3IEBAIHN0YXRpYyBi b29sIGZpbmRfY29kZWMgKEFWRm9ybWF0Q29udGV4dCAqIGMsIENvZGVjSW5mbyAqIGNpbmZvKQor KyAjZW5kaWYKKysgICAgICAgICBpZiAoc3RyZWFtICYmIHN0cmVhbS0+Y29kZWNwYXIgJiYgc3Ry ZWFtLT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfQVVESU8pCisrICAgICAg ICAgeworKy0gICAgICAgICAgICBBVkNvZGVjICogY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2Rl ciAoc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQpOworKysgICAgICAgICAgICBBVkNvZGVjICog Y29kZWMgPSAoQVZDb2RlYyAqKSBhdmNvZGVjX2ZpbmRfZGVjb2RlciAoc3RyZWFtLT5jb2RlY3Bh ci0+Y29kZWNfaWQpOworKyAKKysgICAgICAgICAgICAgaWYgKGNvZGVjKQorKyAgICAgICAgICAg ICB7CgpGcm9tIDgwZGVlYTJhMzQ4ZmQwZWQzNmYxZmEyMjM4N2VhMjU1NmNiZmE1ZjYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDAxNS8xMDhd IGF1ZGFjaXR5OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvYXVkYWNpdHkvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRlIGIvc3JjcGtncy9hdWRh Y2l0eS90ZW1wbGF0ZQppbmRleCA3YjgzODExOWFiMjYxMS4uODRiNDkzMDVlZGNlZjEgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvYXVkYWNpdHkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hdWRhY2l0eS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2F1ZGFjaXR5Jwog cGtnbmFtZT1hdWRhY2l0eQogdmVyc2lvbj0zLjQuMgotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj0iY21ha2Utd3hXaWRnZXRzLWd0azMgcWVt dSIKIGNvbmZpZ3VyZV9hcmdzPSItRGF1ZGFjaXR5X3VzZV9mZm1wZWc9bG9hZGVkIC1EYXVkYWNp dHlfbGliX3ByZWZlcmVuY2U9c3lzdGVtCgpGcm9tIDk2OTIyYzk3ZTc3ZTcwZTQwNTYzZWU3ZjZi ODFkZmJhNGQ4NDk5ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGlj ZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDUgLTA0MDAKU3Vi amVjdDogW1BBVENIIDAxNi8xMDhdIGF2aWRlbXV4OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0K IHNyY3BrZ3MvYXZpZGVtdXgvZmlsZXMvbmVnYXRpdmUtc2hpZnQucGF0Y2ggfCA3MyArKysrKysr KysrKysrKysrKysrKysKIHNyY3BrZ3MvYXZpZGVtdXgvdGVtcGxhdGUgICAgICAgICAgICAgICAg ICAgfCAgNiArLQogMiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdmlkZW11eC9maWxlcy9uZWdhdGl2ZS1z aGlmdC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXZpZGVtdXgvZmlsZXMvbmVnYXRpdmUt c2hpZnQucGF0Y2ggYi9zcmNwa2dzL2F2aWRlbXV4L2ZpbGVzL25lZ2F0aXZlLXNoaWZ0LnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5kZGQzZmEyYThlMjlh YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvYXZpZGVtdXgvZmlsZXMvbmVnYXRpdmUtc2hp ZnQucGF0Y2gKQEAgLTAsMCArMSw3MyBAQAorCitGcm9tIGVmZmFkY2U2Yzc1NjI0N2VhOGJhZTMy ZGMxM2JiM2U2ZjQ2NGYwZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04 P3E/Uj1DMz1BOW1pPTIwRGVuaXMtQ291cm1vbnQ/PSA8cmVtaUByZW1sYWIubmV0PgorRGF0ZTog U3VuLCAxNiBKdWwgMjAyMyAxODoxODowMiArMDMwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVj L3g4Ni9tYXRob3BzOiBjbGlwIGNvbnN0YW50cyB1c2VkIHdpdGggc2hpZnQKKyBpbnN0cnVjdGlv bnMgd2l0aGluIGlubGluZSBhc3NlbWJseQorCitGaXhlcyBhc3NlbWJsaW5nIHdpdGggYmludXRp bCBhcyA+PSAyLjQxCisKK1NpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4KKy0tLQorIGxpYmF2Y29kZWMveDg2L21hdGhvcHMuaCB8IDI2ICsrKysrKysrKysrKysr KysrKysrKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL3g4Ni9tYXRob3BzLmggYi9saWJhdmNv ZGVjL3g4Ni9tYXRob3BzLmgKK2luZGV4IDYyOThmNWVkMTk4M2IuLmNhN2UyZGZmYzEwNzYgMTAw NjQ0CistLS0gbGliYXZjb2RlYy94ODYvbWF0aG9wcy5oCisrKysgbGliYXZjb2RlYy94ODYvbWF0 aG9wcy5oCitAQCAtMzUsMTIgKzM1LDIwIEBACisgc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgYXZf Y29uc3QgaW50IE1VTEwoaW50IGEsIGludCBiLCB1bnNpZ25lZCBzaGlmdCkKKyB7CisgICAgIGlu dCBydCwgZHVtbXk7CisrICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChzaGlmdCkpCisgICAg IF9fYXNtX18gKAorICAgICAgICAgImltdWxsICUzICAgICAgICAgICAgICAgXG5cdCIKKyAgICAg ICAgICJzaHJkbCAlNCwgJSVlZHgsICUlZWF4IFxuXHQiCisgICAgICAgICA6Ij1hIihydCksICI9 ZCIoZHVtbXkpCistICAgICAgICA6ImEiKGEpLCAicm0iKGIpLCAiY2kiKCh1aW50OF90KXNoaWZ0 KQorKyAgICAgICAgOiJhIihhKSwgInJtIihiKSwgImkiKHNoaWZ0ICYgMHgxRikKKyAgICAgKTsK KysgICAgZWxzZQorKyAgICAgICAgX19hc21fXyAoCisrICAgICAgICAgICAgImltdWxsICUzICAg ICAgICAgICAgICAgXG5cdCIKKysgICAgICAgICAgICAic2hyZGwgJTQsICUlZWR4LCAlJWVheCBc blx0IgorKyAgICAgICAgICAgIDoiPWEiKHJ0KSwgIj1kIihkdW1teSkKKysgICAgICAgICAgICA6 ImEiKGEpLCAicm0iKGIpLCAiYyIoKHVpbnQ4X3Qpc2hpZnQpCisrICAgICAgICApOworICAgICBy ZXR1cm4gcnQ7CisgfQorCitAQCAtMTEzLDE5ICsxMjEsMzEgQEAgX19hc21fXyB2b2xhdGlsZShc CisgLy8gYXZvaWQgKzMyIGZvciBzaGlmdCBvcHRpbWl6YXRpb24gKGdjYyBzaG91bGQgZG8gdGhh dCAuLi4pCisgI2RlZmluZSBORUdfU1NSMzIgTkVHX1NTUjMyCisgc3RhdGljIGlubGluZSAgaW50 MzJfdCBORUdfU1NSMzIoIGludDMyX3QgYSwgaW50OF90IHMpeworKyAgICBpZiAoX19idWlsdGlu X2NvbnN0YW50X3AocykpCisgICAgIF9fYXNtX18gKCJzYXJsICUxLCAlMFxuXHQiCisgICAgICAg ICAgOiAiK3IiIChhKQorLSAgICAgICAgIDogImljIiAoKHVpbnQ4X3QpKC1zKSkKKysgICAgICAg ICA6ICJpIiAoLXMgJiAweDFGKQorICAgICApOworKyAgICBlbHNlCisrICAgICAgICBfX2FzbV9f ICgic2FybCAlMSwgJTBcblx0IgorKyAgICAgICAgICAgICAgIDogIityIiAoYSkKKysgICAgICAg ICAgICAgICA6ICJjIiAoKHVpbnQ4X3QpKC1zKSkKKysgICAgICAgICk7CisgICAgIHJldHVybiBh OworIH0KKworICNkZWZpbmUgTkVHX1VTUjMyIE5FR19VU1IzMgorIHN0YXRpYyBpbmxpbmUgdWlu dDMyX3QgTkVHX1VTUjMyKHVpbnQzMl90IGEsIGludDhfdCBzKXsKKysgICAgaWYgKF9fYnVpbHRp bl9jb25zdGFudF9wKHMpKQorICAgICBfX2FzbV9fICgic2hybCAlMSwgJTBcblx0IgorICAgICAg ICAgIDogIityIiAoYSkKKy0gICAgICAgICA6ICJpYyIgKCh1aW50OF90KSgtcykpCisrICAgICAg ICAgOiAiaSIgKC1zICYgMHgxRikKKyAgICAgKTsKKysgICAgZWxzZQorKyAgICAgICAgX19hc21f XyAoInNocmwgJTEsICUwXG5cdCIKKysgICAgICAgICAgICAgICA6ICIrciIgKGEpCisrICAgICAg ICAgICAgICAgOiAiYyIgKCh1aW50OF90KSgtcykpCisrICAgICAgICApOworICAgICByZXR1cm4g YTsKKyB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2F2aWRlbXV4L3RlbXBsYXRlIGIvc3JjcGtncy9h dmlkZW11eC90ZW1wbGF0ZQppbmRleCAyNTNhMDI0M2UyMjU5OS4uNzE4MWViZjMyMDNiMmMgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvYXZpZGVtdXgvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hdmlkZW11 eC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2F2aWRlbXV4 JwogcGtnbmFtZT1hdmlkZW11eAogdmVyc2lvbj0yLjguMAotcmV2aXNpb249MgorcmV2aXNpb249 MwogIyBDYW4ndCBiZSBjb21waWxlZCBmb3IgYWFyY2g2NCwgYXJtKiBvciBtaXBzKgogYXJjaHM9 Ing4Nl82NCogaTY4NioiCiBob3N0bWFrZWRlcGVuZHM9ImNtYWtlIHBrZy1jb25maWcgcXQ1LWhv c3QtdG9vbHMgcXQ1LWRldmVsIHRhciB5YXNtIgpAQCAtMjUsNiArMjUsMTAgQEAgY2FzZSAiJHtY QlBTX1RBUkdFVF9NQUNISU5FfSIgaW4KIAlpNjg2KikgQ0ZMQUdTPSItZm5vLVBJQyI7OwogZXNh YwogCitwb3N0X2V4dHJhY3QoKSB7CisJY3AgJHtGSUxFU0RJUn0vKnBhdGNoICR7d3Jrc3JjfS9h dmlkZW11eF9jb3JlL2ZmbXBlZ19wYWNrYWdlL3BhdGNoZXMvCit9CisKIGRvX2NvbmZpZ3VyZSgp IHsKIAlNQUtFRkxBR1M9JHttYWtlam9ic30gXAogCQliYXNoIGJvb3RTdHJhcC5iYXNoIFwKCkZy b20gYzQxMWIzNGQ4NTk3ZGU3MmZlNmU3MmIzZjJlNjdkYjU3YmEzMDNlMSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAy MiBNYXIgMjAyMyAyMDowMTo0NiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDE3LzEwOF0gYmxlbmRl cjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2JsZW5kZXIvdGVtcGxhdGUgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2JsZW5kZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2JsZW5kZXIvdGVtcGxh dGUKaW5kZXggNjg3ODdiNzZhMjZjMTguLmUyZTA5MGU2ZGZhNDFjIDEwMDY0NAotLS0gYS9zcmNw a2dzL2JsZW5kZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9ibGVuZGVyL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYmxlbmRlcicKIHBrZ25hbWU9YmxlbmRl cgogdmVyc2lvbj00LjAuMgotcmV2aXNpb249MgorcmV2aXNpb249MwogYXJjaHM9Ing4Nl82NCog cHBjNjQqIgogYnVpbGRfc3R5bGU9ImNtYWtlIgogcHljb21waWxlX2RpcnM9InVzci9zaGFyZS9i bGVuZGVyLyR7dmVyc2lvbiUuKn0vc2NyaXB0cyIKCkZyb20gMzBlNWNiYzA2ZGVmYmU4YjA5MzMx NDAzNDVhNTY1OTY1NWRmMGVlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2Ug PHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NiAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMDE4LzEwOF0gY2FudGF0YTogcmV2YnVtcCBmb3IgZmZtcGVnNgoK LS0tCiBzcmNwa2dzL2NhbnRhdGEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbnRhdGEv dGVtcGxhdGUgYi9zcmNwa2dzL2NhbnRhdGEvdGVtcGxhdGUKaW5kZXggNGI0MTdkODBkNWMyZGEu LjhhOTBhYWE0YzA3YTJhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2NhbnRhdGEvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9jYW50YXRhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnY2FudGF0YScKIHBrZ25hbWU9Y2FudGF0YQogdmVyc2lvbj0yLjUuMAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtn LWNvbmZpZyBxdDUtcW1ha2UgcXQ1LWhvc3QtdG9vbHMgcXQ1LXRvb2xzIgogbWFrZWRlcGVuZHM9 InF0NS1kZXZlbCBxdDUtdG9vbHMtZGV2ZWwgcXQ1LXN2Zy1kZXZlbCBxdDUteG1scGF0dGVybnMt ZGV2ZWwKCkZyb20gMGNkMGJhNzdkZDhjZDQ4OWVlYjJkOTFiNjA4ODgwZmJiZTQ4ZTcwNyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDE5LzEw OF0gY2NleHRyYWN0b3I6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogLi4uNS1hbmQtdGVzc2Vy YWN0LTUtY29tcGF0aWJpbGl0eS0xNDc5LnBhdGNoIHwgMTY4ICsrKysrKysrKysrKysrKysrKwog c3JjcGtncy9jY2V4dHJhY3Rvci90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgIHwgICAyICstCiAy IGZpbGVzIGNoYW5nZWQsIDE2OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jY2V4dHJhY3Rvci9wYXRjaGVzLzAwMDEtZml4LWZmbXBlZy01 LWFuZC10ZXNzZXJhY3QtNS1jb21wYXRpYmlsaXR5LTE0NzkucGF0Y2gKCmRpZmYgLS1naXQgYS9z cmNwa2dzL2NjZXh0cmFjdG9yL3BhdGNoZXMvMDAwMS1maXgtZmZtcGVnLTUtYW5kLXRlc3NlcmFj dC01LWNvbXBhdGliaWxpdHktMTQ3OS5wYXRjaCBiL3NyY3BrZ3MvY2NleHRyYWN0b3IvcGF0Y2hl cy8wMDAxLWZpeC1mZm1wZWctNS1hbmQtdGVzc2VyYWN0LTUtY29tcGF0aWJpbGl0eS0xNDc5LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5iY2FiNDg5MDU1 NGI5YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2NleHRyYWN0b3IvcGF0Y2hlcy8wMDAx LWZpeC1mZm1wZWctNS1hbmQtdGVzc2VyYWN0LTUtY29tcGF0aWJpbGl0eS0xNDc5LnBhdGNoCkBA IC0wLDAgKzEsMTY4IEBACitGcm9tIGIxY2JmY2VhOWI5YzY4NzE0M2JmMGQ4MGJjMTc5YjU2M2U5 OWQwMjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQcmF0ZWVrIFN1bmFsIDxwcnRr c3VuYWxAZ21haWwuY29tPgorRGF0ZTogVGh1LCA5IE1hciAyMDIzIDAxOjQ0OjUzICswNTMwCitT dWJqZWN0OiBbUEFUQ0hdIGZpeDogZmZtcGVnIDUgYW5kIHRlc3NlcmFjdCA1IGNvbXBhdGliaWxp dHkgKCMxNDc5KQorCisqIGZpeDogcmVwbGFjZSBkZXByZWNhdGVkIGBjb2RlY2AgcHJvcGVydHkg d2l0aCBgY29kZWNwYXJgCisKKyogZml4OiByZXBsYWNlIGRlcHJlY2F0ZWQgbWV0aG9kIGBhdmNv ZGVjX2RlY29kZV92aWRlbzJgIHdpdGggYGF2Y29kZWNfcmVjZWl2ZV9mcmFtZWAgYW5kIGBhdmNv ZGVjX3NlbmRfcGFja2V0YAorCisqIFVwZGF0ZSBDSEFOR0VTLlRYVAorCisqIGZpeDogcmVtb3Zl IGRlcHJlY2F0ZWQgYGF2X3JlZ2lzdGVyX2FsbGAgZnVuY3Rpb24KKworKiBmaXg6IGZvcm1hdHRp bmcKKworKiBmaXg6IGFkZCBzdXBwb3J0IGZvciB0ZXNzZXJhY3QgNQorCisqIGZpeDogdGVzc2Vy YWN0IHY1CisKKyogZml4OiBoYXJkc3VieCBjb2RlYyBjb250ZXh0IGVycm9yCisKKyogZml4OiBs aW50IGNvbnN0IHdhcm5pbmcKKy0tLQorIGRvY3MvQ0hBTkdFUy5UWFQgICAgICAgICAgICAgICB8 ICAxICsKKyBzcmMvbGliX2NjeC9mZm1wZWdfaW50Z3IuYyAgICAgfCAgNyArKystLS0KKyBzcmMv bGliX2NjeC9oYXJkc3VieC5jICAgICAgICAgfCAyNSArKysrKysrKysrKystLS0tLS0KKyBzcmMv bGliX2NjeC9oYXJkc3VieF9kZWNvZGVyLmMgfCAyNyArKysrKysrKy0tLS0tLS0tLS0tLQorIHNy Yy9saWJfY2N4L29jci5jICAgICAgICAgICAgICB8IDQ2ICsrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyA1IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDU5IGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYl9jY3gvZmZtcGVnX2ludGdyLmMgYi9zcmMv bGliX2NjeC9mZm1wZWdfaW50Z3IuYworaW5kZXggYmU5ODg4OTAuLmU2ZjIxZTIwIDEwMDY0NAor LS0tIGEvc3JjL2xpYl9jY3gvZmZtcGVnX2ludGdyLmMKKysrKyBiL3NyYy9saWJfY2N4L2ZmbXBl Z19pbnRnci5jCitAQCAtNjYsNyArNjYsNiBAQCB2b2lkICppbml0X2ZmbXBlZyhjb25zdCBjaGFy ICpwYXRoKQorIAlzdHJ1Y3QgZmZtcGVnX2N0eCAqY3R4OworIAlBVkNvZGVjICpkZWMgPSBOVUxM OworIAlhdmNvZGVjX3JlZ2lzdGVyX2FsbCgpOworLQlhdl9yZWdpc3Rlcl9hbGwoKTsKKyAKKyAJ aWYgKGNjeF9vcHRpb25zLmRlYnVnX21hc2sgJiBDQ1hfRE1UX1ZFUkJPU0UpCisgCQlhdl9sb2df c2V0X2xldmVsKEFWX0xPR19JTkZPKTsKK0BAIC0xMzMsNyArMTMyLDYgQEAgaW50IGZmX2dldF9j Y2ZyYW1lKHZvaWQgKmFyZywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IG1heGxlbikKKyAJc3Ry dWN0IGZmbXBlZ19jdHggKmN0eCA9IGFyZzsKKyAJaW50IGxlbiA9IDA7CisgCWludCByZXQgPSAw OworLQlpbnQgZ290X2ZyYW1lOworIAlBVlBhY2tldCBwYWNrZXQ7CisgCisgCXJldCA9IGF2X3Jl YWRfZnJhbWUoY3R4LT5pZm10LCAmcGFja2V0KTsKK0BAIC0xNTEsMTIgKzE0OSwxMyBAQCBpbnQg ZmZfZ2V0X2NjZnJhbWUodm9pZCAqYXJnLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbWF4bGVu KQorIAkJcmV0dXJuIEFWRVJST1IoRUFHQUlOKTsKKyAJfQorIAorLQlyZXQgPSBhdmNvZGVjX2Rl Y29kZV92aWRlbzIoY3R4LT5kZWNfY3R4LCBjdHgtPmZyYW1lLCAmZ290X2ZyYW1lLCAmcGFja2V0 KTsKKysJYXZjb2RlY19zZW5kX3BhY2tldChjdHgtPmNvZGVjX2N0eCwgJmN0eC0+cGFja2V0KTsK KysJcmV0ID0gYXZjb2RlY19yZWNlaXZlX2ZyYW1lKGN0eC0+ZGVjX2N0eCwgY3R4LT5mcmFtZSk7 CisgCWlmIChyZXQgPCAwKQorIAl7CisgCQlhdl9sb2coTlVMTCwgQVZfTE9HX0VSUk9SLCAidW5h YmxlIHRvIGRlY29kZSBwYWNrZXRcbiIpOworIAl9CistCWVsc2UgaWYgKCFnb3RfZnJhbWUpCisr CWVsc2UgaWYgKHJldCAhPSAwKQorIAl7CisgCQlyZXR1cm4gQVZFUlJPUihFQUdBSU4pOworIAl9 CitkaWZmIC0tZ2l0IGEvc3JjL2xpYl9jY3gvaGFyZHN1YnguYyBiL3NyYy9saWJfY2N4L2hhcmRz dWJ4LmMKK2luZGV4IDQxMTM3N2Y5Li5mYjg0NGM5MSAxMDA2NDQKKy0tLSBhL3NyYy9saWJfY2N4 L2hhcmRzdWJ4LmMKKysrKyBiL3NyYy9saWJfY2N4L2hhcmRzdWJ4LmMKK0BAIC0xMiw5ICsxMiw2 IEBACisKKyBpbnQgaGFyZHN1YnhfcHJvY2Vzc19kYXRhKHN0cnVjdCBsaWJfaGFyZHN1YnhfY3R4 ICpjdHgpCisgeworLQkvLyBHZXQgdGhlIHJlcXVpcmVkIG1lZGlhIGF0dHJpYnV0ZXMgYW5kIGlu aXRpYWxpemUgc3RydWN0dXJlcworLQlhdl9yZWdpc3Rlcl9hbGwoKTsKKy0KKyAJaWYgKGF2Zm9y bWF0X29wZW5faW5wdXQoJmN0eC0+Zm9ybWF0X2N0eCwgY3R4LT5pbnB1dGZpbGVbMF0sIE5VTEws IE5VTEwpICE9IDApCisgCXsKKyAJCWZhdGFsKEVYSVRfUkVBRF9FUlJPUiwgIkVycm9yIHJlYWRp bmcgaW5wdXQgZmlsZSFcbiIpOworQEAgLTMyLDcgKzI5LDcgQEAKKyAJY3R4LT52aWRlb19zdHJl YW1faWQgPSAtMTsKKyAJZm9yIChpbnQgaSA9IDA7IGkgPCBjdHgtPmZvcm1hdF9jdHgtPm5iX3N0 cmVhbXM7IGkrKykKKyAJeworLQkJaWYgKGN0eC0+Zm9ybWF0X2N0eC0+c3RyZWFtc1tpXS0+Y29k ZWMtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPKQorKwkJaWYgKGN0eC0+Zm9ybWF0 X2N0eC0+c3RyZWFtc1tpXS0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJ REVPKQorIAkJeworIAkJCWN0eC0+dmlkZW9fc3RyZWFtX2lkID0gaTsKKyAJCQlicmVhazsKK0BA IC00Myw4ICs0MCwyMSBAQAorIAkJZmF0YWwoRVhJVF9SRUFEX0VSUk9SLCAiVmlkZW8gU3RyZWFt IG5vdCBmb3VuZCFcbiIpOworIAl9CisKKy0JY3R4LT5jb2RlY19jdHggPSBjdHgtPmZvcm1hdF9j dHgtPnN0cmVhbXNbY3R4LT52aWRlb19zdHJlYW1faWRdLT5jb2RlYzsKKy0JY3R4LT5jb2RlYyA9 IGF2Y29kZWNfZmluZF9kZWNvZGVyKGN0eC0+Y29kZWNfY3R4LT5jb2RlY19pZCk7CisrCWN0eC0+ Y29kZWNfY3R4ID0gYXZjb2RlY19hbGxvY19jb250ZXh0MyhOVUxMKTsKKysJaWYgKCFjdHgtPmNv ZGVjX2N0eCkKKysJeworKwkJICAgIGZhdGFsKEVYSVRfTk9UX0VOT1VHSF9NRU1PUlksICJDb3Vs ZCBub3QgYWxsb2NhdGUgY29kZWMgY29udGV4dCFcbiIpOworKwl9CisrCisrCS8vIEFzc2lnbiBj b2RlYyBwYXJhbWV0ZXJzIHRvIGNvZGVjIGNvbnRleHQKKysJaWYgKGF2Y29kZWNfcGFyYW1ldGVy c190b19jb250ZXh0KGN0eC0+Y29kZWNfY3R4LCBjdHgtPmZvcm1hdF9jdHgtPnN0cmVhbXNbY3R4 LT52aWRlb19zdHJlYW1faWRdLT5jb2RlY3BhcikgPCAwKQorKwl7CisrCQkgICAgZmF0YWwoRVhJ VF9SRUFEX0VSUk9SLCAiQ291bGQgbm90IGluaXRpYWxpemUgY29kZWMgY29udGV4dCFcbiIpOwor Kwl9CisrCisrCS8vIEZpbmQgZGVjb2RlciBmb3IgdGhlIGNvZGVjIGNvbnRleHQKKysJY3R4LT5j b2RlYyA9IChBVkNvZGVjICopYXZjb2RlY19maW5kX2RlY29kZXIoY3R4LT5jb2RlY19jdHgtPmNv ZGVjX2lkKTsKKysKKyAJaWYgKGN0eC0+Y29kZWMgPT0gTlVMTCkKKyAJeworIAkJZmF0YWwoRVhJ VF9SRUFEX0VSUk9SLCAiSW5wdXQgY29kZWMgaXMgbm90IHN1cHBvcnRlZCFcbiIpOworZGlmZiAt LWdpdCBhL3NyYy9saWJfY2N4L2hhcmRzdWJ4X2RlY29kZXIuYyBiL3NyYy9saWJfY2N4L2hhcmRz dWJ4X2RlY29kZXIuYworaW5kZXggYmQ5YjA5ODAuLmI1ZGZhZWM0IDEwMDY0NAorLS0tIGEvc3Jj L2xpYl9jY3gvaGFyZHN1YnhfZGVjb2Rlci5jCisrKysgYi9zcmMvbGliX2NjeC9oYXJkc3VieF9k ZWNvZGVyLmMKK0BAIC0zNzEsNyArMzcxLDYgQEAKKyBpbnQgaGFyZHN1YnhfcHJvY2Vzc19mcmFt ZXNfdGlja2VydGV4dChzdHJ1Y3QgbGliX2hhcmRzdWJ4X2N0eCAqY3R4LCBzdHJ1Y3QgZW5jb2Rl cl9jdHggKmVuY19jdHgpCisgeworIAkvLyBTZWFyY2ggZm9yIHRpY2tlciB0ZXh0IGF0IHRoZSBi b3R0b20gb2YgdGhlIHNjcmVlbiwgc3VjaCBhcyBpbiBSdXNzaWEgVFYxIG9yIHN0b2NrIHByaWNl cworLQlpbnQgZ290X2ZyYW1lOworIAlpbnQgY3VyX3NlYyA9IDAsIHRvdGFsX3NlYywgcHJvZ3Jl c3M7CisgCWludCBmcmFtZV9udW1iZXIgPSAwOworIAljaGFyICp0aWNrZXJfdGV4dCA9IE5VTEw7 CitAQCAtMzgyLDggKzM4MSw4IEBACisgCQl7CisgCQkJZnJhbWVfbnVtYmVyKys7CisgCQkJLy9E ZWNvZGUgdGhlIHZpZGVvIHN0cmVhbSBwYWNrZXQKKy0JCQlhdmNvZGVjX2RlY29kZV92aWRlbzIo Y3R4LT5jb2RlY19jdHgsIGN0eC0+ZnJhbWUsICZnb3RfZnJhbWUsICZjdHgtPnBhY2tldCk7Cist CQkJaWYgKGdvdF9mcmFtZSAmJiBmcmFtZV9udW1iZXIgJSAxMDAwID09IDApCisrICAgICAgYXZj b2RlY19zZW5kX3BhY2tldChjdHgtPmNvZGVjX2N0eCwgJmN0eC0+cGFja2V0KTsKKysgICAgICBp ZiAoYXZjb2RlY19yZWNlaXZlX2ZyYW1lKGN0eC0+Y29kZWNfY3R4LCBjdHgtPmZyYW1lKSA9PSAw ICYmIGZyYW1lX251bWJlciAlIDEwMDAgPT0gMCkKKyAJCQl7CisgCQkJCS8vIHN3c19zY2FsZSBp cyB1c2VkIHRvIGNvbnZlcnQgdGhlIHBpeGVsIGZvcm1hdCB0byBSR0IyNCBmcm9tIGFsbCBvdGhl ciBjYXNlcworIAkJCQlzd3Nfc2NhbGUoCitAQCAtNDM0LDkgKzQzMyw4IEBACisgCQkJZnJhbWVf bnVtYmVyKys7CisKKyAJCQkvL0RlY29kZSB0aGUgdmlkZW8gc3RyZWFtIHBhY2tldAorLQkJCWF2 Y29kZWNfZGVjb2RlX3ZpZGVvMihjdHgtPmNvZGVjX2N0eCwgY3R4LT5mcmFtZSwgJmdvdF9mcmFt ZSwgJmN0eC0+cGFja2V0KTsKKy0KKy0JCQlpZiAoZ290X2ZyYW1lICYmIGZyYW1lX251bWJlciAl IDI1ID09IDApCisrCQkJYXZjb2RlY19zZW5kX3BhY2tldChjdHgtPmNvZGVjX2N0eCwgJmN0eC0+ cGFja2V0KTsKKysgICAgICBpZiAoYXZjb2RlY19yZWNlaXZlX2ZyYW1lKGN0eC0+Y29kZWNfY3R4 LCBjdHgtPmZyYW1lKSA9PSAwICYmIGZyYW1lX251bWJlciAlIDI1ID09IDApCisgCQkJeworIAkJ CQlmbG9hdCBkaWZmID0gKGZsb2F0KWNvbnZlcnRfcHRzX3RvX21zKGN0eC0+cGFja2V0LnB0cyAt IHByZXZfcGFja2V0X3B0cywgY3R4LT5mb3JtYXRfY3R4LT5zdHJlYW1zW2N0eC0+dmlkZW9fc3Ry ZWFtX2lkXS0+dGltZV9iYXNlKTsKKyAJCQkJaWYgKGZhYnNmKGRpZmYpIDwgMTAwMCAqIGN0eC0+ bWluX3N1Yl9kdXJhdGlvbikgLy9JZiB0aGUgbWluaW11bSBkdXJhdGlvbiBvZiBhIHN1YnRpdGxl IGxpbmUgaXMgZXhjZWVkZWQsIHByb2Nlc3MgcGFja2V0CitAQCAtNTQ4LDcgKzU0Niw2IEBACisg eworIAkvLyBEbyBhIGJpbmFyeSBzZWFyY2ggb3ZlciB0aGUgaW5wdXQgdmlkZW8gZm9yIGZhc3Rl ciBwcm9jZXNzaW5nCisgCS8vIHByaW50ZigiRHVyYXRpb246ICVkXG4iLCAoaW50KWN0eC0+Zm9y bWF0X2N0eC0+ZHVyYXRpb24pOworLQlpbnQgZ290X2ZyYW1lOworIAlpbnQgc2Vjb25kc190aW1l ID0gMDsKKyAJZm9yIChzZWNvbmRzX3RpbWUgPSAwOyBzZWNvbmRzX3RpbWUgPCAyMDsgc2Vjb25k c190aW1lKyspCisgCXsKK0BAIC01NjgsOCArNTY1LDkgQEAKKyAJCQl7CisgCQkJCWlmIChjdHgt PnBhY2tldC5zdHJlYW1faW5kZXggPT0gY3R4LT52aWRlb19zdHJlYW1faWQpCisgCQkJCXsKKy0J CQkJCWF2Y29kZWNfZGVjb2RlX3ZpZGVvMihjdHgtPmNvZGVjX2N0eCwgY3R4LT5mcmFtZSwgJmdv dF9mcmFtZSwgJmN0eC0+cGFja2V0KTsKKy0JCQkJCWlmIChnb3RfZnJhbWUpCisrICAgICAgICAg IGF2Y29kZWNfc2VuZF9wYWNrZXQoY3R4LT5jb2RlY19jdHgsICZjdHgtPnBhY2tldCk7CisrICAg ICAgICAgIGlmIChhdmNvZGVjX3JlY2VpdmVfZnJhbWUoY3R4LT5jb2RlY19jdHgsIGN0eC0+ZnJh bWUpID09IDApCisrCisgCQkJCQl7CisgCQkJCQkJLy8gcHJpbnRmKCIlZFxuIiwgc2Vla190aW1l KTsKKyAJCQkJCQlpZiAoY3R4LT5wYWNrZXQucHRzIDwgc2Vla190aW1lKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jY2V4dHJhY3Rvci90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2NleHRyYWN0b3IvdGVtcGxh dGUKaW5kZXggNjU5YWY3ZTY0ZmVlNGMuLjU4ZGYwOTU3YWFlMDJkIDEwMDY0NAotLS0gYS9zcmNw a2dzL2NjZXh0cmFjdG9yL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2NleHRyYWN0b3IvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjY2V4dHJhY3RvcicKIHBr Z25hbWU9Y2NleHRyYWN0b3IKIHZlcnNpb249MC45MwotcmV2aXNpb249MgorcmV2aXNpb249Mwog YnVpbGRfd3Jrc3JjPSJsaW51eCIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3Vy ZV9hcmdzPSItLWVuYWJsZS1vY3IgLS1lbmFibGUtaGFyZHN1YngiCgpGcm9tIDdiMWZjY2IzY2I5 ZGE3N2E5ZmE1ZGI4YzZjM2ZkODQ1ODdhNmU5YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6 MDE6NDYgLTA0MDAKU3ViamVjdDogW1BBVENIIDAyMC8xMDhdIGNocm9tYXByaW50OiByZXZidW1w IGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvY2hyb21hcHJpbnQvcGF0Y2hlcy9mZm1wZWc1LnBh dGNoIHwgNTY5ICsrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvY2hyb21hcHJpbnQvdGVt cGxhdGUgICAgICAgICAgICAgIHwgICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDU3MCBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWFw cmludC9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9tYXBy aW50L3BhdGNoZXMvZmZtcGVnNS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21hcHJpbnQvcGF0Y2hlcy9m Zm1wZWc1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5h OWZkMzA3YTIzYzhhNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21hcHJpbnQvcGF0 Y2hlcy9mZm1wZWc1LnBhdGNoCkBAIC0wLDAgKzEsNTY5IEBACitGcm9tIDhjY2FkNjkzNzE3N2Ix YjkyZTQwYWI4ZjQ0NDdlYTI3YmFjMDA5YTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiA9P1VURi04P3E/THVrPUMzPUExPUM1PUExPTIwTGFsaW5zaz1DMz1CRD89IDxsYWxpbnNreUBn bWFpbC5jb20+CitEYXRlOiBGcmksIDQgTm92IDIwMjIgMjE6NDc6MzggKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSF0gVXNlIEZGbXBlZyA1LnggKCMxMjApCisKKyogVXNlIEZGbXBlZyA1LjEuMiBmb3Ig Q0kgYnVpbGRzCisKKyogQnVpbGQgb24gVWJ1bnR1IDIwLjA0CisKKyogVXBncmFkZSBjb2RlIHRv IEZGbXBlZyA1LnggQVBJcworCisqIE9ubHkgc2V0IEZGbXBlZyBpbmNsdWRlIGRpcnMgaWYgYnVp bGRpbmcgdG9vbHMKKworKiBObyBsb25nZXIgbmVlZGVkCisKKyogVXNlIHVidW50dSAyMC4wNAor LS0tCisgLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueW1sICAgICAgICAgICAgICAgICAgIHwgICA2 ICstCisgQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE2 IC0tCisgcGFja2FnZS9idWlsZC5zaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0 ICstCisgc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3IuaCAgICAgICAgICAgIHwgICAy IC0KKyBzcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nvcl9hdnJlc2FtcGxlLmggfCAgNzIg LS0tLS0tLQorIHNyYy9hdWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vzc29yX3N3cmVzYW1wbGUuaCB8 ICAxOCArLQorIHNyYy9hdWRpby9mZm1wZWdfYXVkaW9fcmVhZGVyLmggICAgICAgICAgICAgICB8 IDE5NyArKysrKysrKystLS0tLS0tLS0KKyB0ZXN0cy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDYgKworIDggZmlsZXMgY2hhbmdlZCwgMTIyIGluc2VydGlvbnMo KyksIDE5OSBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL2F1ZGlvL2ZmbXBl Z19hdWRpb19wcm9jZXNzb3JfYXZyZXNhbXBsZS5oCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3Rz LnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBmOGQ2YTMyLi40ZGEyNDA1IDEwMDY0NAorLS0t IGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtODQsOSArODQsNiBA QCBmaW5kX3BhY2thZ2UoRkZtcGVnKQorIGlmKEZGTVBFR19MSUJSQVJJRVMpCisgCWNtYWtlX3B1 c2hfY2hlY2tfc3RhdGUoUkVTRVQpCisgCXNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtG Rk1QRUdfTElCUkFSSUVTfSAke0NNQUtFX1RIUkVBRF9MSUJTX0lOSVR9IC1sbSkKKy0JY2hlY2tf ZnVuY3Rpb25fZXhpc3RzKGF2X3BhY2tldF91bnJlZiBIQVZFX0FWX1BBQ0tFVF9VTlJFRikKKy0J Y2hlY2tfZnVuY3Rpb25fZXhpc3RzKGF2X2ZyYW1lX2FsbG9jIEhBVkVfQVZfRlJBTUVfQUxMT0Mp CistCWNoZWNrX2Z1bmN0aW9uX2V4aXN0cyhhdl9mcmFtZV9mcmVlIEhBVkVfQVZfRlJBTUVfRlJF RSkKKyAJY21ha2VfcG9wX2NoZWNrX3N0YXRlKCkKKyBlbmRpZigpCisKK0BAIC0xNjMsMTQgKzE2 MCwxMSBAQCBtZXNzYWdlKFNUQVRVUyAiVXNpbmcgJHtGRlRfTElCfSBmb3IgRkZUIGNhbGN1bGF0 aW9ucyIpCisgaWYoTk9UIEFVRElPX1BST0NFU1NPUl9MSUIpCisgCWlmKEZGTVBFR19MSUJTV1JF U0FNUExFX0ZPVU5EKQorIAkJc2V0KEFVRElPX1BST0NFU1NPUl9MSUIgInN3cmVzYW1wbGUiKQor LQllbHNlaWYoRkZNUEVHX0xJQkFWUkVTQU1QTEVfRk9VTkQpCistCQlzZXQoQVVESU9fUFJPQ0VT U09SX0xJQiAiYXZyZXNhbXBsZSIpCisgCWVuZGlmKCkKKyBlbmRpZigpCisKKyBpZihBVURJT19Q Uk9DRVNTT1JfTElCIFNUUkVRVUFMICJzd3Jlc2FtcGxlIikKKyAJaWYoRkZNUEVHX0xJQlNXUkVT QU1QTEVfRk9VTkQpCistCQlzZXQoVVNFX0FWUkVTQU1QTEUgT0ZGKQorIAkJc2V0KFVTRV9TV1JF U0FNUExFIE9OKQorIAkJc2V0KEFVRElPX1BST0NFU1NPUl9MSUJSQVJJRVMgJHtGRk1QRUdfTElC U1dSRVNBTVBMRV9MSUJSQVJJRVN9KQorIAkJc2V0KEFVRElPX1BST0NFU1NPUl9JTkNMVURFX0RJ UlMgJHtGRk1QRUdfTElCU1dSRVNBTVBMRV9JTkNMVURFX0RJUlN9KQorQEAgLTE3OCwxNiArMTcy LDYgQEAgaWYoQVVESU9fUFJPQ0VTU09SX0xJQiBTVFJFUVVBTCAic3dyZXNhbXBsZSIpCisgCQlt ZXNzYWdlKEZBVEFMX0VSUk9SICJTZWxlY3RlZCAke0FVRElPX1BST0NFU1NPUl9MSUJ9IGZvciBh dWRpbyBwcm9jZXNzaW5nLCBidXQgdGhlIGxpYnJhcnkgaXMgbm90IGZvdW5kIikKKyAJZW5kaWYo KQorIAltZXNzYWdlKFNUQVRVUyAiVXNpbmcgJHtBVURJT19QUk9DRVNTT1JfTElCfSBmb3IgYXVk aW8gY29udmVyc2lvbiIpCistZWxzZWlmKEFVRElPX1BST0NFU1NPUl9MSUIgU1RSRVFVQUwgImF2 cmVzYW1wbGUiKQorLQlpZihGRk1QRUdfTElCQVZSRVNBTVBMRV9GT1VORCkKKy0JCXNldChVU0Vf QVZSRVNBTVBMRSBPTikKKy0JCXNldChVU0VfU1dSRVNBTVBMRSBPRkYpCistCQlzZXQoQVVESU9f UFJPQ0VTU09SX0xJQlJBUklFUyAke0ZGTVBFR19MSUJBVlJFU0FNUExFX0xJQlJBUklFU30pCist CQlzZXQoQVVESU9fUFJPQ0VTU09SX0lOQ0xVREVfRElSUyAke0ZGTVBFR19MSUJBVlJFU0FNUExF X0lOQ0xVREVfRElSU30pCistCWVsc2UoKQorLQkJbWVzc2FnZShGQVRBTF9FUlJPUiAiU2VsZWN0 ZWQgJHtBVURJT19QUk9DRVNTT1JfTElCfSBmb3IgYXVkaW8gcHJvY2Vzc2luZywgYnV0IHRoZSBs aWJyYXJ5IGlzIG5vdCBmb3VuZCIpCistCWVuZGlmKCkKKy0JbWVzc2FnZShTVEFUVVMgIlVzaW5n ICR7QVVESU9fUFJPQ0VTU09SX0xJQn0gZm9yIGF1ZGlvIGNvbnZlcnNpb24iKQorIGVsc2UoKQor IAltZXNzYWdlKFNUQVRVUyAiQnVpbGRpbmcgd2l0aG91dCBhdWRpbyBjb252ZXJzaW9uIHN1cHBv cnQsIHBsZWFzZSBpbnN0YWxsIEZGbXBlZyB3aXRoIGxpYnN3cmVzYW1wbGUiKQorIGVuZGlmKCkK K2RpZmYgLS1naXQgYS9wYWNrYWdlL2J1aWxkLnNoIGIvcGFja2FnZS9idWlsZC5zaAoraW5kZXgg ZGE2MzFhZS4uYjQxZDM2ZSAxMDA3NTUKKy0tLSBhL3BhY2thZ2UvYnVpbGQuc2gKKysrKyBiL3Bh Y2thZ2UvYnVpbGQuc2gKK0BAIC03LDggKzcsOCBAQCBzZXQgLWV1eAorCisgQkFTRV9ESVI9JChj ZCAkKGRpcm5hbWUgJDApLy4uICYmIHB3ZCkKKworLUZGTVBFR19WRVJTSU9OPTQuNC4xCistRkZN UEVHX0JVSUxEX1RBRz12NC40LjEtMQorK0ZGTVBFR19WRVJTSU9OPTUuMS4yCisrRkZNUEVHX0JV SUxEX1RBRz12JHtGRk1QRUdfVkVSU0lPTn0tMQorCisgVE1QX0JVSUxEX0RJUj0kQkFTRV9ESVIv JChta3RlbXAgLWQgYnVpbGQuWFhYWFhYWFgpCisgdHJhcCAncm0gLXJmICRUTVBfQlVJTERfRElS JyBFWElUCitkaWZmIC0tZ2l0IGEvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3IuaCBi L3NyYy9hdWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vzc29yLmgKK2luZGV4IDc2MjhmYzcuLjM5ZjRm NmQgMTAwNjQ0CistLS0gYS9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nvci5oCisrKysg Yi9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nvci5oCitAQCAtMTAsOCArMTAsNiBAQAor CisgI2lmIGRlZmluZWQoVVNFX1NXUkVTQU1QTEUpCisgI2luY2x1ZGUgImF1ZGlvL2ZmbXBlZ19h dWRpb19wcm9jZXNzb3Jfc3dyZXNhbXBsZS5oIgorLSNlbGlmIGRlZmluZWQoVVNFX0FWUkVTQU1Q TEUpCistI2luY2x1ZGUgImF1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3JfYXZyZXNhbXBsZS5o IgorICNlbHNlCisgI2Vycm9yICJubyBhdWRpbyBwcm9jZXNzaW5nIGxpYnJhcnkiCisgI2VuZGlm CitkaWZmIC0tZ2l0IGEvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3JfYXZyZXNhbXBs ZS5oIGIvc3JjL2F1ZGlvL2ZmbXBlZ19hdWRpb19wcm9jZXNzb3JfYXZyZXNhbXBsZS5oCitkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGJkODVmOTIuLjAwMDAwMDAKKy0tLSBhL3NyYy9h dWRpby9mZm1wZWdfYXVkaW9fcHJvY2Vzc29yX2F2cmVzYW1wbGUuaAorKysrIC9kZXYvbnVsbAor QEAgLTEsNzIgKzAsMCBAQAorLS8vIENvcHlyaWdodCAoQykgMjAxNiAgTHVrYXMgTGFsaW5za3kK Ky0vLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UsIHNlZSB0aGUgTElDRU5TRSBm aWxlIGZvciBkZXRhaWxzLgorLQorLSNpZm5kZWYgQ0hST01BUFJJTlRfQVVESU9fRkZNUEVHX0FV RElPX1BST0NFU1NPUl9BVlJFU0FNUExFX0hfCistI2RlZmluZSBDSFJPTUFQUklOVF9BVURJT19G Rk1QRUdfQVVESU9fUFJPQ0VTU09SX0FWUkVTQU1QTEVfSF8KKy0KKy1leHRlcm4gIkMiIHsKKy0j aW5jbHVkZSA8bGliYXZyZXNhbXBsZS9hdnJlc2FtcGxlLmg+CistfQorLQorLW5hbWVzcGFjZSBj aHJvbWFwcmludCB7CistCistY2xhc3MgRkZtcGVnQXVkaW9Qcm9jZXNzb3IgeworLXB1YmxpYzoK Ky0JRkZtcGVnQXVkaW9Qcm9jZXNzb3IoKSB7CistCQltX3Jlc2FtcGxlX2N0eCA9IGF2cmVzYW1w bGVfYWxsb2NfY29udGV4dCgpOworLQl9CistCistCX5GRm1wZWdBdWRpb1Byb2Nlc3NvcigpIHsK Ky0JCWF2cmVzYW1wbGVfZnJlZSgmbV9yZXNhbXBsZV9jdHgpOworLQl9CistCistCXZvaWQgU2V0 Q29tcGF0aWJsZU1vZGUoKSB7CistCQlhdl9vcHRfc2V0X2ludChtX3Jlc2FtcGxlX2N0eCwgImZp bHRlcl9zaXplIiwgMTYsIDApOworLQkJYXZfb3B0X3NldF9pbnQobV9yZXNhbXBsZV9jdHgsICJw aGFzZV9zaGlmdCIsIDgsIDApOworLQkJYXZfb3B0X3NldF9pbnQobV9yZXNhbXBsZV9jdHgsICJs aW5lYXJfaW50ZXJwIiwgMSwgMCk7CistCQlhdl9vcHRfc2V0X2RvdWJsZShtX3Jlc2FtcGxlX2N0 eCwgImN1dG9mZiIsIDAuOCwgMCk7CistCX0KKy0KKy0Jdm9pZCBTZXRJbnB1dENoYW5uZWxMYXlv dXQoaW50NjRfdCBjaGFubmVsX2xheW91dCkgeworLQkJYXZfb3B0X3NldF9pbnQobV9yZXNhbXBs ZV9jdHgsICJpbl9jaGFubmVsX2xheW91dCIsIGNoYW5uZWxfbGF5b3V0LCAwKTsKKy0JfQorLQor LQl2b2lkIFNldElucHV0U2FtcGxlRm9ybWF0KEFWU2FtcGxlRm9ybWF0IHNhbXBsZV9mb3JtYXQp IHsKKy0JCWF2X29wdF9zZXRfaW50KG1fcmVzYW1wbGVfY3R4LCAiaW5fc2FtcGxlX2ZtdCIsIHNh bXBsZV9mb3JtYXQsIDApOworLQl9CistCistCXZvaWQgU2V0SW5wdXRTYW1wbGVSYXRlKGludCBz YW1wbGVfcmF0ZSkgeworLQkJYXZfb3B0X3NldF9pbnQobV9yZXNhbXBsZV9jdHgsICJpbl9zYW1w bGVfcmF0ZSIsIHNhbXBsZV9yYXRlLCAwKTsKKy0JfQorLQorLQl2b2lkIFNldE91dHB1dENoYW5u ZWxMYXlvdXQoaW50NjRfdCBjaGFubmVsX2xheW91dCkgeworLQkJYXZfb3B0X3NldF9pbnQobV9y ZXNhbXBsZV9jdHgsICJvdXRfY2hhbm5lbF9sYXlvdXQiLCBjaGFubmVsX2xheW91dCwgMCk7Cist CX0KKy0KKy0Jdm9pZCBTZXRPdXRwdXRTYW1wbGVGb3JtYXQoQVZTYW1wbGVGb3JtYXQgc2FtcGxl X2Zvcm1hdCkgeworLQkJYXZfb3B0X3NldF9pbnQobV9yZXNhbXBsZV9jdHgsICJvdXRfc2FtcGxl X2ZtdCIsIHNhbXBsZV9mb3JtYXQsIDApOworLQl9CistCistCXZvaWQgU2V0T3V0cHV0U2FtcGxl UmF0ZShpbnQgc2FtcGxlX3JhdGUpIHsKKy0JCWF2X29wdF9zZXRfaW50KG1fcmVzYW1wbGVfY3R4 LCAib3V0X3NhbXBsZV9mbXQiLCBzYW1wbGVfcmF0ZSwgMCk7CistCX0KKy0KKy0JaW50IEluaXQo KSB7CistCQlyZXR1cm4gYXZyZXNhbXBsZV9vcGVuKG1fcmVzYW1wbGVfY3R4KTsKKy0JfQorLQor LQlpbnQgQ29udmVydCh1aW50OF90ICoqb3V0LCBpbnQgb3V0X2NvdW50LCBjb25zdCB1aW50OF90 ICoqaW4sIGludCBpbl9jb3VudCkgeworLQkJcmV0dXJuIGF2cmVzYW1wbGVfY29udmVydChtX3Jl c2FtcGxlX2N0eCwgb3V0LCAwLCBvdXRfY291bnQsICh1aW50OF90ICoqKSBpbiwgMCwgaW5fY291 bnQpOworLQl9CistCistCWludCBGbHVzaCh1aW50OF90ICoqb3V0LCBpbnQgb3V0X2NvdW50KSB7 CistCQlyZXR1cm4gYXZyZXNhbXBsZV9yZWFkKG1fcmVzYW1wbGVfY3R4LCBvdXQsIG91dF9jb3Vu dCk7CistCX0KKy0KKy1wcml2YXRlOgorLQlBVkF1ZGlvUmVzYW1wbGVDb250ZXh0ICptX3Jlc2Ft cGxlX2N0eCA9IG51bGxwdHI7CistfTsKKy0KKy19OyAvLyBuYW1lc3BhY2UgY2hyb21hcHJpbnQK Ky0KKy0jZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nv cl9zd3Jlc2FtcGxlLmggYi9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3Byb2Nlc3Nvcl9zd3Jlc2Ft cGxlLmgKK2luZGV4IGI4NjI2NmIuLmIxZDRiZWEgMTAwNjQ0CistLS0gYS9zcmMvYXVkaW8vZmZt cGVnX2F1ZGlvX3Byb2Nlc3Nvcl9zd3Jlc2FtcGxlLmgKKysrKyBiL3NyYy9hdWRpby9mZm1wZWdf YXVkaW9fcHJvY2Vzc29yX3N3cmVzYW1wbGUuaAorQEAgLTI4LDMwICsyOCwyOCBAQCBwdWJsaWM6 CisgCQlhdl9vcHRfc2V0X2RvdWJsZShtX3N3cl9jdHgsICJjdXRvZmYiLCAwLjgsIDApOworIAl9 CisKKy0Jdm9pZCBTZXRJbnB1dENoYW5uZWxMYXlvdXQoaW50NjRfdCBjaGFubmVsX2xheW91dCkg eworLQkJYXZfb3B0X3NldF9pbnQobV9zd3JfY3R4LCAiaWNsIiwgY2hhbm5lbF9sYXlvdXQsIDAp OworLQkJYXZfb3B0X3NldF9pbnQobV9zd3JfY3R4LCAiaWNoIiwgYXZfZ2V0X2NoYW5uZWxfbGF5 b3V0X25iX2NoYW5uZWxzKGNoYW5uZWxfbGF5b3V0KSwgMCk7CisrCXZvaWQgU2V0SW5wdXRDaGFu bmVsTGF5b3V0KEFWQ2hhbm5lbExheW91dCAqY2hhbm5lbF9sYXlvdXQpIHsKKysJCWF2X29wdF9z ZXRfaW50KG1fc3dyX2N0eCwgImluX2NoYW5uZWxfbGF5b3V0IiwgY2hhbm5lbF9sYXlvdXQtPnUu bWFzaywgMCk7CisgCX0KKworIAl2b2lkIFNldElucHV0U2FtcGxlRm9ybWF0KEFWU2FtcGxlRm9y bWF0IHNhbXBsZV9mb3JtYXQpIHsKKy0JCWF2X29wdF9zZXRfaW50KG1fc3dyX2N0eCwgImlzZiIs IHNhbXBsZV9mb3JtYXQsIDApOworKwkJYXZfb3B0X3NldF9zYW1wbGVfZm10KG1fc3dyX2N0eCwg ImluX3NhbXBsZV9mbXQiLCBzYW1wbGVfZm9ybWF0LCAwKTsKKyAJfQorCisgCXZvaWQgU2V0SW5w dXRTYW1wbGVSYXRlKGludCBzYW1wbGVfcmF0ZSkgeworLQkJYXZfb3B0X3NldF9pbnQobV9zd3Jf Y3R4LCAiaXNyIiwgc2FtcGxlX3JhdGUsIDApOworKwkJYXZfb3B0X3NldF9pbnQobV9zd3JfY3R4 LCAiaW5fc2FtcGxlX3JhdGUiLCBzYW1wbGVfcmF0ZSwgMCk7CisgCX0KKworLQl2b2lkIFNldE91 dHB1dENoYW5uZWxMYXlvdXQoaW50NjRfdCBjaGFubmVsX2xheW91dCkgeworLQkJYXZfb3B0X3Nl dF9pbnQobV9zd3JfY3R4LCAib2NsIiwgY2hhbm5lbF9sYXlvdXQsIDApOworLQkJYXZfb3B0X3Nl dF9pbnQobV9zd3JfY3R4LCAib2NoIiwgYXZfZ2V0X2NoYW5uZWxfbGF5b3V0X25iX2NoYW5uZWxz KGNoYW5uZWxfbGF5b3V0KSwgMCk7CisrCXZvaWQgU2V0T3V0cHV0Q2hhbm5lbExheW91dChBVkNo YW5uZWxMYXlvdXQgKmNoYW5uZWxfbGF5b3V0KSB7CisrCQlhdl9vcHRfc2V0X2ludChtX3N3cl9j dHgsICJvdXRfY2hhbm5lbF9sYXlvdXQiLCBjaGFubmVsX2xheW91dC0+dS5tYXNrLCAwKTsKKyAJ fQorCisgCXZvaWQgU2V0T3V0cHV0U2FtcGxlRm9ybWF0KEFWU2FtcGxlRm9ybWF0IHNhbXBsZV9m b3JtYXQpIHsKKy0JCWF2X29wdF9zZXRfaW50KG1fc3dyX2N0eCwgIm9zZiIsIHNhbXBsZV9mb3Jt YXQsIDApOworKwkJYXZfb3B0X3NldF9zYW1wbGVfZm10KG1fc3dyX2N0eCwgIm91dF9zYW1wbGVf Zm10Iiwgc2FtcGxlX2Zvcm1hdCwgMCk7CisgCX0KKworIAl2b2lkIFNldE91dHB1dFNhbXBsZVJh dGUoaW50IHNhbXBsZV9yYXRlKSB7CistCQlhdl9vcHRfc2V0X2ludChtX3N3cl9jdHgsICJvc3Ii LCBzYW1wbGVfcmF0ZSwgMCk7CisrCQlhdl9vcHRfc2V0X2ludChtX3N3cl9jdHgsICJvdXRfc2Ft cGxlX3JhdGUiLCBzYW1wbGVfcmF0ZSwgMCk7CisgCX0KKworIAlpbnQgSW5pdCgpIHsKK2RpZmYg LS1naXQgYS9zcmMvYXVkaW8vZmZtcGVnX2F1ZGlvX3JlYWRlci5oIGIvc3JjL2F1ZGlvL2ZmbXBl Z19hdWRpb19yZWFkZXIuaAoraW5kZXggNTU1MDE2NC4uMWM2YjM0NiAxMDA2NDQKKy0tLSBhL3Ny Yy9hdWRpby9mZm1wZWdfYXVkaW9fcmVhZGVyLmgKKysrKyBiL3NyYy9hdWRpby9mZm1wZWdfYXVk aW9fcmVhZGVyLmgKK0BAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKKyAJYm9vbCBSZWFkKGNvbnN0 IGludDE2X3QgKipkYXRhLCBzaXplX3QgKnNpemUpOworCisgCWJvb2wgSXNPcGVuKCkgY29uc3Qg eyByZXR1cm4gbV9vcGVuZWQ7IH0KKy0JYm9vbCBJc0ZpbmlzaGVkKCkgY29uc3QgeyByZXR1cm4g bV9maW5pc2hlZCAmJiAhbV9nb3RfZnJhbWU7IH0KKysJYm9vbCBJc0ZpbmlzaGVkKCkgY29uc3Qg eyByZXR1cm4gIW1faGFzX21vcmVfcGFja2V0cyAmJiAhbV9oYXNfbW9yZV9mcmFtZXM7IH0KKwor IAlzdGQ6OnN0cmluZyBHZXRFcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAJaW50 IEdldEVycm9yQ29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JfY29kZTsgfQorQEAgLTc0LDIw ICs3NCwxOSBAQCBwcml2YXRlOgorIAl1aW50OF90ICptX2NvbnZlcnRfYnVmZmVyWzFdID0geyBu dWxscHRyIH07CisgCWludCBtX2NvbnZlcnRfYnVmZmVyX25iX3NhbXBsZXMgPSAwOworCistCUFW SW5wdXRGb3JtYXQgKm1faW5wdXRfZm10ID0gbnVsbHB0cjsKKysJY29uc3QgQVZJbnB1dEZvcm1h dCAqbV9pbnB1dF9mbXQgPSBudWxscHRyOworIAlBVkRpY3Rpb25hcnkgKm1faW5wdXRfb3B0cyA9 IG51bGxwdHI7CisKKyAJQVZGb3JtYXRDb250ZXh0ICptX2Zvcm1hdF9jdHggPSBudWxscHRyOwor IAlBVkNvZGVjQ29udGV4dCAqbV9jb2RlY19jdHggPSBudWxscHRyOworLQlBVkZyYW1lICptX2Zy YW1lID0gbnVsbHB0cjsKKyAJaW50IG1fc3RyZWFtX2luZGV4ID0gLTE7CisgCXN0ZDo6c3RyaW5n IG1fZXJyb3I7CisgCWludCBtX2Vycm9yX2NvZGUgPSAwOworLQlib29sIG1fZmluaXNoZWQgPSBm YWxzZTsKKyAJYm9vbCBtX29wZW5lZCA9IGZhbHNlOworLQlpbnQgbV9nb3RfZnJhbWUgPSAwOwor LQlBVlBhY2tldCBtX3BhY2tldDsKKy0JQVZQYWNrZXQgbV9wYWNrZXQwOworKwlib29sIG1faGFz X21vcmVfcGFja2V0cyA9IHRydWU7CisrCWJvb2wgbV9oYXNfbW9yZV9mcmFtZXMgPSB0cnVlOwor KwlBVlBhY2tldCAqbV9wYWNrZXQgPSBudWxscHRyOworKwlBVkZyYW1lICptX2ZyYW1lID0gbnVs bHB0cjsKKworIAlpbnQgbV9vdXRwdXRfc2FtcGxlX3JhdGUgPSAwOworIAlpbnQgbV9vdXRwdXRf Y2hhbm5lbHMgPSAwOworQEAgLTk4LDE5ICs5NywxMiBAQCBwcml2YXRlOgorCisgaW5saW5lIEZG bXBlZ0F1ZGlvUmVhZGVyOjpGRm1wZWdBdWRpb1JlYWRlcigpIHsKKyAJYXZfbG9nX3NldF9sZXZl bChBVl9MT0dfUVVJRVQpOworLQorLQlhdl9pbml0X3BhY2tldCgmbV9wYWNrZXQpOworLQltX3Bh Y2tldC5kYXRhID0gbnVsbHB0cjsKKy0JbV9wYWNrZXQuc2l6ZSA9IDA7CistCistCW1fcGFja2V0 MCA9IG1fcGFja2V0OworIH0KKworIGlubGluZSBGRm1wZWdBdWRpb1JlYWRlcjo6fkZGbXBlZ0F1 ZGlvUmVhZGVyKCkgeworIAlDbG9zZSgpOworIAlhdl9kaWN0X2ZyZWUoJm1faW5wdXRfb3B0cyk7 CisgCWF2X2ZyZWVwKCZtX2NvbnZlcnRfYnVmZmVyWzBdKTsKKy0JYXZfcGFja2V0X3VucmVmKCZt X3BhY2tldDApOworIH0KKworIGlubGluZSBib29sIEZGbXBlZ0F1ZGlvUmVhZGVyOjpTZXRJbnB1 dEZvcm1hdChjb25zdCBjaGFyICpuYW1lKSB7CitAQCAtMTM1LDExICsxMjcsMTAgQEAgaW5saW5l IGJvb2wgRkZtcGVnQXVkaW9SZWFkZXI6Ok9wZW4oY29uc3Qgc3RkOjpzdHJpbmcgJmZpbGVfbmFt ZSkgeworCisgCUNsb3NlKCk7CisKKy0gICAgYXZfaW5pdF9wYWNrZXQoJm1fcGFja2V0KTsKKy0J bV9wYWNrZXQuZGF0YSA9IG51bGxwdHI7CistCW1fcGFja2V0LnNpemUgPSAwOworLQorLQltX3Bh Y2tldDAgPSBtX3BhY2tldDsKKysJbV9wYWNrZXQgPSBhdl9wYWNrZXRfYWxsb2MoKTsKKysJaWYg KCFtX3BhY2tldCkgeworKwkJcmV0dXJuIGZhbHNlOworKwl9CisKKyAJcmV0ID0gYXZmb3JtYXRf b3Blbl9pbnB1dCgmbV9mb3JtYXRfY3R4LCBmaWxlX25hbWUuY19zdHIoKSwgbV9pbnB1dF9mbXQs ICZtX2lucHV0X29wdHMpOworIAlpZiAocmV0IDwgMCkgeworQEAgLTE1MywyNiArMTQ0LDMxIEBA IGlubGluZSBib29sIEZGbXBlZ0F1ZGlvUmVhZGVyOjpPcGVuKGNvbnN0IHN0ZDo6c3RyaW5nICZm aWxlX25hbWUpIHsKKyAJCXJldHVybiBmYWxzZTsKKyAJfQorCistCUFWQ29kZWMgKmNvZGVjOwor Kwljb25zdCBBVkNvZGVjICpjb2RlYzsKKyAJcmV0ID0gYXZfZmluZF9iZXN0X3N0cmVhbShtX2Zv cm1hdF9jdHgsIEFWTUVESUFfVFlQRV9BVURJTywgLTEsIC0xLCAmY29kZWMsIDApOworIAlpZiAo cmV0IDwgMCkgeworIAkJU2V0RXJyb3IoIkNvdWxkIG5vdCBmaW5kIGFueSBhdWRpbyBzdHJlYW0g aW4gdGhlIGZpbGUiLCByZXQpOworIAkJcmV0dXJuIGZhbHNlOworIAl9CisgCW1fc3RyZWFtX2lu ZGV4ID0gcmV0OworKwlhdXRvIHN0cmVhbSA9IG1fZm9ybWF0X2N0eC0+c3RyZWFtc1ttX3N0cmVh bV9pbmRleF07CisKKy0JbV9jb2RlY19jdHggPSBtX2Zvcm1hdF9jdHgtPnN0cmVhbXNbbV9zdHJl YW1faW5kZXhdLT5jb2RlYzsKKysJbV9jb2RlY19jdHggPSBhdmNvZGVjX2FsbG9jX2NvbnRleHQz KGNvZGVjKTsKKyAJbV9jb2RlY19jdHgtPnJlcXVlc3Rfc2FtcGxlX2ZtdCA9IEFWX1NBTVBMRV9G TVRfUzE2OworCisrCXJldCA9IGF2Y29kZWNfcGFyYW1ldGVyc190b19jb250ZXh0KG1fY29kZWNf Y3R4LCBzdHJlYW0tPmNvZGVjcGFyKTsKKysJaWYgKHJldCA8IDApIHsKKysJCVNldEVycm9yKCJD b3VsZCBub3QgY29weSB0aGUgc3RyZWFtIHBhcmFtZXRlcnMiLCByZXQpOworKwkJcmV0dXJuIGZh bHNlOworKwl9CisrCisgCXJldCA9IGF2Y29kZWNfb3BlbjIobV9jb2RlY19jdHgsIGNvZGVjLCBu dWxscHRyKTsKKyAJaWYgKHJldCA8IDApIHsKKyAJCVNldEVycm9yKCJDb3VsZCBub3Qgb3BlbiB0 aGUgY29kZWMiLCByZXQpOworIAkJcmV0dXJuIGZhbHNlOworIAl9CisKKy0JaWYgKCFtX2NvZGVj X2N0eC0+Y2hhbm5lbF9sYXlvdXQpIHsKKy0JCW1fY29kZWNfY3R4LT5jaGFubmVsX2xheW91dCA9 IGF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0KG1fY29kZWNfY3R4LT5jaGFubmVscyk7Cist CX0KKysJYXZfZHVtcF9mb3JtYXQobV9mb3JtYXRfY3R4LCAwLCAiZm9vIiwgMCk7CisKKyAJbV9m cmFtZSA9IGF2X2ZyYW1lX2FsbG9jKCk7CisgCWlmICghbV9mcmFtZSkgeworQEAgLTE4MywxOSAr MTc5LDIzIEBAIGlubGluZSBib29sIEZGbXBlZ0F1ZGlvUmVhZGVyOjpPcGVuKGNvbnN0IHN0ZDo6 c3RyaW5nICZmaWxlX25hbWUpIHsKKyAJCW1fb3V0cHV0X3NhbXBsZV9yYXRlID0gbV9jb2RlY19j dHgtPnNhbXBsZV9yYXRlOworIAl9CisKKy0JaWYgKCFtX291dHB1dF9jaGFubmVscykgeworLQkJ bV9vdXRwdXRfY2hhbm5lbHMgPSBtX2NvZGVjX2N0eC0+Y2hhbm5lbHM7CisrCUFWQ2hhbm5lbExh eW91dCBvdXRwdXRfY2hhbm5lbF9sYXlvdXQ7CisrCWlmIChtX291dHB1dF9jaGFubmVscykgewor KwkJYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCgmb3V0cHV0X2NoYW5uZWxfbGF5b3V0LCBtX291 dHB1dF9jaGFubmVscyk7CisrCX0gZWxzZSB7CisrCQltX291dHB1dF9jaGFubmVscyA9IG1fY29k ZWNfY3R4LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7CisrCQlhdl9jaGFubmVsX2xheW91dF9kZWZh dWx0KCZvdXRwdXRfY2hhbm5lbF9sYXlvdXQsIG1fb3V0cHV0X2NoYW5uZWxzKTsKKyAJfQorCist CWlmIChtX2NvZGVjX2N0eC0+c2FtcGxlX2ZtdCAhPSBBVl9TQU1QTEVfRk1UX1MxNiB8fCBtX2Nv ZGVjX2N0eC0+Y2hhbm5lbHMgIT0gbV9vdXRwdXRfY2hhbm5lbHMgfHwgbV9jb2RlY19jdHgtPnNh bXBsZV9yYXRlICE9IG1fb3V0cHV0X3NhbXBsZV9yYXRlKSB7CisrCWlmIChtX2NvZGVjX2N0eC0+ c2FtcGxlX2ZtdCAhPSBBVl9TQU1QTEVfRk1UX1MxNiB8fCBtX2NvZGVjX2N0eC0+Y2hfbGF5b3V0 Lm5iX2NoYW5uZWxzICE9IG1fb3V0cHV0X2NoYW5uZWxzIHx8IG1fY29kZWNfY3R4LT5zYW1wbGVf cmF0ZSAhPSBtX291dHB1dF9zYW1wbGVfcmF0ZSkgeworIAkJbV9jb252ZXJ0ZXIucmVzZXQobmV3 IEZGbXBlZ0F1ZGlvUHJvY2Vzc29yKCkpOworIAkJbV9jb252ZXJ0ZXItPlNldENvbXBhdGlibGVN b2RlKCk7CisgCQltX2NvbnZlcnRlci0+U2V0SW5wdXRTYW1wbGVGb3JtYXQobV9jb2RlY19jdHgt PnNhbXBsZV9mbXQpOworIAkJbV9jb252ZXJ0ZXItPlNldElucHV0U2FtcGxlUmF0ZShtX2NvZGVj X2N0eC0+c2FtcGxlX3JhdGUpOworLQkJbV9jb252ZXJ0ZXItPlNldElucHV0Q2hhbm5lbExheW91 dChtX2NvZGVjX2N0eC0+Y2hhbm5lbF9sYXlvdXQpOworKwkJbV9jb252ZXJ0ZXItPlNldElucHV0 Q2hhbm5lbExheW91dCgmKG1fY29kZWNfY3R4LT5jaF9sYXlvdXQpKTsKKyAJCW1fY29udmVydGVy LT5TZXRPdXRwdXRTYW1wbGVGb3JtYXQoQVZfU0FNUExFX0ZNVF9TMTYpOworIAkJbV9jb252ZXJ0 ZXItPlNldE91dHB1dFNhbXBsZVJhdGUobV9vdXRwdXRfc2FtcGxlX3JhdGUpOworLQkJbV9jb252 ZXJ0ZXItPlNldE91dHB1dENoYW5uZWxMYXlvdXQoYXZfZ2V0X2RlZmF1bHRfY2hhbm5lbF9sYXlv dXQobV9vdXRwdXRfY2hhbm5lbHMpKTsKKysJCW1fY29udmVydGVyLT5TZXRPdXRwdXRDaGFubmVs TGF5b3V0KCZvdXRwdXRfY2hhbm5lbF9sYXlvdXQpOworIAkJYXV0byByZXQgPSBtX2NvbnZlcnRl ci0+SW5pdCgpOworIAkJaWYgKHJldCAhPSAwKSB7CisgCQkJU2V0RXJyb3IoIkNvdWxkIG5vdCBj cmVhdGUgYW4gYXVkaW8gY29udmVydGVyIGluc3RhbmNlIiwgcmV0KTsKK0BAIC0yMDMsMTAgKzIw MywxMSBAQCBpbmxpbmUgYm9vbCBGRm1wZWdBdWRpb1JlYWRlcjo6T3Blbihjb25zdCBzdGQ6OnN0 cmluZyAmZmlsZV9uYW1lKSB7CisgCQl9CisgCX0KKworKwlhdl9jaGFubmVsX2xheW91dF91bmlu aXQoJm91dHB1dF9jaGFubmVsX2xheW91dCk7CisrCisgCW1fb3BlbmVkID0gdHJ1ZTsKKy0JbV9m aW5pc2hlZCA9IGZhbHNlOworLQltX2dvdF9mcmFtZSA9IDA7CistCW1fbmJfcGFja2V0cyA9IDA7 CisrCW1faGFzX21vcmVfcGFja2V0cyA9IHRydWU7CisrCW1faGFzX21vcmVfZnJhbWVzID0gdHJ1 ZTsKKyAJbV9kZWNvZGVfZXJyb3IgPSAwOworCisgCXJldHVybiB0cnVlOworQEAgLTIxNCw2ICsy MTUsNyBAQCBpbmxpbmUgYm9vbCBGRm1wZWdBdWRpb1JlYWRlcjo6T3Blbihjb25zdCBzdGQ6OnN0 cmluZyAmZmlsZV9uYW1lKSB7CisKKyBpbmxpbmUgdm9pZCBGRm1wZWdBdWRpb1JlYWRlcjo6Q2xv c2UoKSB7CisgCWF2X2ZyYW1lX2ZyZWUoJm1fZnJhbWUpOworKwlhdl9wYWNrZXRfZnJlZSgmbV9w YWNrZXQpOworCisgCW1fc3RyZWFtX2luZGV4ID0gLTE7CisKK0BAIC0yNTIsOTEgKzI1NCw5OCBA QCBpbmxpbmUgYm9vbCBGRm1wZWdBdWRpb1JlYWRlcjo6UmVhZChjb25zdCBpbnQxNl90ICoqZGF0 YSwgc2l6ZV90ICpzaXplKSB7CisgCQlyZXR1cm4gZmFsc2U7CisgCX0KKworKwkqZGF0YSA9IG51 bGxwdHI7CisrCSpzaXplID0gMDsKKysKKyAJaW50IHJldDsKKysJYm9vbCBuZWVkc19wYWNrZXQg PSBmYWxzZTsKKyAJd2hpbGUgKHRydWUpIHsKKy0JCXdoaWxlIChtX3BhY2tldC5zaXplIDw9IDAp IHsKKy0JCQlhdl9wYWNrZXRfdW5yZWYoJm1fcGFja2V0MCk7CistCQkJYXZfaW5pdF9wYWNrZXQo Jm1fcGFja2V0KTsKKy0JCQltX3BhY2tldC5kYXRhID0gbnVsbHB0cjsKKy0JCQltX3BhY2tldC5z aXplID0gMDsKKy0JCQlyZXQgPSBhdl9yZWFkX2ZyYW1lKG1fZm9ybWF0X2N0eCwgJm1fcGFja2V0 KTsKKysJCXdoaWxlIChuZWVkc19wYWNrZXQgJiYgbV9wYWNrZXQtPnNpemUgPT0gMCkgeworKwkJ CXJldCA9IGF2X3JlYWRfZnJhbWUobV9mb3JtYXRfY3R4LCBtX3BhY2tldCk7CisgCQkJaWYgKHJl dCA8IDApIHsKKyAJCQkJaWYgKHJldCA9PSBBVkVSUk9SX0VPRikgeworLQkJCQkJbV9maW5pc2hl ZCA9IHRydWU7CisrCQkJCQluZWVkc19wYWNrZXQgPSBmYWxzZTsKKysJCQkJCW1faGFzX21vcmVf cGFja2V0cyA9IGZhbHNlOworIAkJCQkJYnJlYWs7CistCQkJCX0gZWxzZSB7CisrCQkJCX0KKysJ CQkJU2V0RXJyb3IoIkVycm9yIHJlYWRpbmcgZnJvbSB0aGUgYXVkaW8gc291cmNlIiwgcmV0KTsK KysJCQkJcmV0dXJuIGZhbHNlOworKwkJCX0KKysJCQlpZiAobV9wYWNrZXQtPnN0cmVhbV9pbmRl eCA9PSBtX3N0cmVhbV9pbmRleCkgeworKwkJCQluZWVkc19wYWNrZXQgPSBmYWxzZTsKKysJCQl9 IGVsc2UgeworKwkJCQlhdl9wYWNrZXRfdW5yZWYobV9wYWNrZXQpOworKwkJCX0KKysJCX0KKysK KysJCWlmIChtX3BhY2tldC0+c2l6ZSAhPSAwKSB7CisrCQkJcmV0ID0gYXZjb2RlY19zZW5kX3Bh Y2tldChtX2NvZGVjX2N0eCwgbV9wYWNrZXQpOworKwkJCWlmIChyZXQgPCAwKSB7CisrCQkJCWlm IChyZXQgIT0gQVZFUlJPUihFQUdBSU4pKSB7CisgCQkJCQlTZXRFcnJvcigiRXJyb3IgcmVhZGlu ZyBmcm9tIHRoZSBhdWRpbyBzb3VyY2UiLCByZXQpOworIAkJCQkJcmV0dXJuIGZhbHNlOworIAkJ CQl9CistCQkJfQorLQkJCW1fcGFja2V0MCA9IG1fcGFja2V0OworLQkJCWlmIChtX3BhY2tldC5z dHJlYW1faW5kZXggIT0gbV9zdHJlYW1faW5kZXgpIHsKKy0JCQkJbV9wYWNrZXQuZGF0YSA9IG51 bGxwdHI7CistCQkJCW1fcGFja2V0LnNpemUgPSAwOworIAkJCX0gZWxzZSB7CistCQkJCW1fbmJf cGFja2V0cysrOworKwkJCQlhdl9wYWNrZXRfdW5yZWYobV9wYWNrZXQpOworIAkJCX0KKyAJCX0K KworLQkJcmV0ID0gYXZjb2RlY19kZWNvZGVfYXVkaW80KG1fY29kZWNfY3R4LCBtX2ZyYW1lLCAm bV9nb3RfZnJhbWUsICZtX3BhY2tldCk7CisrCQlyZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUo bV9jb2RlY19jdHgsIG1fZnJhbWUpOworIAkJaWYgKHJldCA8IDApIHsKKy0JCQlpZiAobV9kZWNv ZGVfZXJyb3IpIHsKKy0JCQkJU2V0RXJyb3IoIkVycm9yIGRlY29kaW5nIGF1ZGlvIGZyYW1lIiwg bV9kZWNvZGVfZXJyb3IpOworLQkJCQlyZXR1cm4gZmFsc2U7CisrCQkJaWYgKHJldCA9PSBBVkVS Uk9SX0VPRikgeworKwkJCQltX2hhc19tb3JlX2ZyYW1lcyA9IGZhbHNlOworKwkJCX0gZWxzZSBp ZiAocmV0ID09IEFWRVJST1IoRUFHQUlOKSkgeworKwkJCQlpZiAobV9oYXNfbW9yZV9wYWNrZXRz KSB7CisrCQkJCQluZWVkc19wYWNrZXQgPSB0cnVlOworKwkJCQkJY29udGludWU7CisrCQkJCX0g ZWxzZSB7CisrCQkJCQltX2hhc19tb3JlX2ZyYW1lcyA9IGZhbHNlOworKwkJCQl9CisgCQkJfQor LQkJCW1fZGVjb2RlX2Vycm9yID0gcmV0OworLQkJCW1fcGFja2V0LmRhdGEgPSBudWxscHRyOwor LQkJCW1fcGFja2V0LnNpemUgPSAwOworLQkJCWNvbnRpbnVlOworKwkJCVNldEVycm9yKCJFcnJv ciBkZWNvZGluZyB0aGUgYXVkaW8gc291cmNlIiwgcmV0KTsKKysJCQlyZXR1cm4gZmFsc2U7Cisg CQl9CisKKy0JCWJyZWFrOworLQl9CistCistCW1fZGVjb2RlX2Vycm9yID0gMDsKKy0KKy0JY29u c3QgaW50IGRlY29kZWQgPSBzdGQ6Om1pbihyZXQsIG1fcGFja2V0LnNpemUpOworLQltX3BhY2tl dC5kYXRhICs9IGRlY29kZWQ7CistCW1fcGFja2V0LnNpemUgLT0gZGVjb2RlZDsKKy0KKy0JaWYg KG1fZ290X2ZyYW1lKSB7CistCQlpZiAobV9jb252ZXJ0ZXIpIHsKKy0JCQlpZiAobV9mcmFtZS0+ bmJfc2FtcGxlcyA+IG1fY29udmVydF9idWZmZXJfbmJfc2FtcGxlcykgeworLQkJCQlpbnQgbGlu c2l6ZTsKKy0JCQkJYXZfZnJlZXAoJm1fY29udmVydF9idWZmZXJbMF0pOworLQkJCQltX2NvbnZl cnRfYnVmZmVyX25iX3NhbXBsZXMgPSBzdGQ6Om1heCgxMDI0ICogOCwgbV9mcmFtZS0+bmJfc2Ft cGxlcyk7CistCQkJCXJldCA9IGF2X3NhbXBsZXNfYWxsb2MobV9jb252ZXJ0X2J1ZmZlciwgJmxp bnNpemUsIG1fY29kZWNfY3R4LT5jaGFubmVscywgbV9jb252ZXJ0X2J1ZmZlcl9uYl9zYW1wbGVz LCBBVl9TQU1QTEVfRk1UX1MxNiwgMSk7CistCQkJCWlmIChyZXQgPCAwKSB7CistCQkJCQlTZXRF cnJvcigiQ291bGRuJ3QgYWxsb2NhdGUgYXVkaW8gY29udmVydGVyIGJ1ZmZlciIsIHJldCk7Cisr CQlpZiAobV9mcmFtZS0+bmJfc2FtcGxlcyA+IDApIHsKKysJCQlpZiAobV9jb252ZXJ0ZXIpIHsK KysJCQkJaWYgKG1fZnJhbWUtPm5iX3NhbXBsZXMgPiBtX2NvbnZlcnRfYnVmZmVyX25iX3NhbXBs ZXMpIHsKKysJCQkJCWludCBsaW5zaXplOworKwkJCQkJYXZfZnJlZXAoJm1fY29udmVydF9idWZm ZXJbMF0pOworKwkJCQkJbV9jb252ZXJ0X2J1ZmZlcl9uYl9zYW1wbGVzID0gc3RkOjptYXgoMTAy NCAqIDgsIG1fZnJhbWUtPm5iX3NhbXBsZXMpOworKwkJCQkJcmV0ID0gYXZfc2FtcGxlc19hbGxv YyhtX2NvbnZlcnRfYnVmZmVyLCAmbGluc2l6ZSwgbV9jb2RlY19jdHgtPmNoX2xheW91dC5uYl9j aGFubmVscywgbV9jb252ZXJ0X2J1ZmZlcl9uYl9zYW1wbGVzLCBBVl9TQU1QTEVfRk1UX1MxNiwg MSk7CisrCQkJCQlpZiAocmV0IDwgMCkgeworKwkJCQkJCVNldEVycm9yKCJDb3VsZG4ndCBhbGxv Y2F0ZSBhdWRpbyBjb252ZXJ0ZXIgYnVmZmVyIiwgcmV0KTsKKysJCQkJCQlyZXR1cm4gZmFsc2U7 CisrCQkJCQl9CisrCQkJCX0KKysJCQkJYXV0byBuYl9zYW1wbGVzID0gbV9jb252ZXJ0ZXItPkNv bnZlcnQobV9jb252ZXJ0X2J1ZmZlciwgbV9jb252ZXJ0X2J1ZmZlcl9uYl9zYW1wbGVzLCAoY29u c3QgdWludDhfdCAqKikgbV9mcmFtZS0+ZGF0YSwgbV9mcmFtZS0+bmJfc2FtcGxlcyk7CisrCQkJ CWlmIChuYl9zYW1wbGVzIDwgMCkgeworKwkJCQkJU2V0RXJyb3IoIkNvdWxkbid0IGNvbnZlcnQg YXVkaW8iLCByZXQpOworIAkJCQkJcmV0dXJuIGZhbHNlOworIAkJCQl9CistCQkJfQorLQkJCWF1 dG8gbmJfc2FtcGxlcyA9IG1fY29udmVydGVyLT5Db252ZXJ0KG1fY29udmVydF9idWZmZXIsIG1f Y29udmVydF9idWZmZXJfbmJfc2FtcGxlcywgKGNvbnN0IHVpbnQ4X3QgKiopIG1fZnJhbWUtPmRh dGEsIG1fZnJhbWUtPm5iX3NhbXBsZXMpOworLQkJCWlmIChuYl9zYW1wbGVzIDwgMCkgeworLQkJ CQlTZXRFcnJvcigiQ291bGRuJ3QgY29udmVydCBhdWRpbyIsIHJldCk7CistCQkJCXJldHVybiBm YWxzZTsKKy0JCQl9CistCQkJKmRhdGEgPSAoY29uc3QgaW50MTZfdCAqKSBtX2NvbnZlcnRfYnVm ZmVyWzBdOworLQkJCSpzaXplID0gbmJfc2FtcGxlczsKKy0JCX0gZWxzZSB7CistCQkJKmRhdGEg PSAoY29uc3QgaW50MTZfdCAqKSBtX2ZyYW1lLT5kYXRhWzBdOworLQkJCSpzaXplID0gbV9mcmFt ZS0+bmJfc2FtcGxlczsKKy0JCX0KKy0JfSBlbHNlIHsKKy0JCWlmIChtX2ZpbmlzaGVkICYmIG1f Y29udmVydGVyKSB7CistCQkJYXV0byBuYl9zYW1wbGVzID0gbV9jb252ZXJ0ZXItPkZsdXNoKG1f Y29udmVydF9idWZmZXIsIG1fY29udmVydF9idWZmZXJfbmJfc2FtcGxlcyk7CistCQkJaWYgKG5i X3NhbXBsZXMgPCAwKSB7CistCQkJCVNldEVycm9yKCJDb3VsZG4ndCBjb252ZXJ0IGF1ZGlvIiwg cmV0KTsKKy0JCQkJcmV0dXJuIGZhbHNlOworLQkJCX0gZWxzZSBpZiAobmJfc2FtcGxlcyA+IDAp IHsKKy0JCQkJbV9nb3RfZnJhbWUgPSAxOworIAkJCQkqZGF0YSA9IChjb25zdCBpbnQxNl90ICop IG1fY29udmVydF9idWZmZXJbMF07CisgCQkJCSpzaXplID0gbmJfc2FtcGxlczsKKysJCQl9IGVs c2UgeworKwkJCQkqZGF0YSA9IChjb25zdCBpbnQxNl90ICopIG1fZnJhbWUtPmRhdGFbMF07Cisr CQkJCSpzaXplID0gbV9mcmFtZS0+bmJfc2FtcGxlczsKKysJCQl9CisrCQl9IGVsc2UgeworKwkJ CWlmIChtX2NvbnZlcnRlcikgeworKwkJCQlpZiAoSXNGaW5pc2hlZCgpKSB7CisrCQkJCQlhdXRv IG5iX3NhbXBsZXMgPSBtX2NvbnZlcnRlci0+Rmx1c2gobV9jb252ZXJ0X2J1ZmZlciwgbV9jb252 ZXJ0X2J1ZmZlcl9uYl9zYW1wbGVzKTsKKysJCQkJCWlmIChuYl9zYW1wbGVzIDwgMCkgeworKwkJ CQkJCVNldEVycm9yKCJDb3VsZG4ndCBjb252ZXJ0IGF1ZGlvIiwgcmV0KTsKKysJCQkJCQlyZXR1 cm4gZmFsc2U7CisrCQkJCQl9IGVsc2UgaWYgKG5iX3NhbXBsZXMgPiAwKSB7CisrCQkJCQkJKmRh dGEgPSAoY29uc3QgaW50MTZfdCAqKSBtX2NvbnZlcnRfYnVmZmVyWzBdOworKwkJCQkJCSpzaXpl ID0gbmJfc2FtcGxlczsKKysJCQkJCX0KKysJCQkJfQorIAkJCX0KKyAJCX0KKy0JfQorCistCXJl dHVybiB0cnVlOworKwkJcmV0dXJuIHRydWU7CisrCX0KKyB9CisKKyBpbmxpbmUgdm9pZCBGRm1w ZWdBdWRpb1JlYWRlcjo6U2V0RXJyb3IoY29uc3QgY2hhciAqbWVzc2FnZSwgaW50IGVycm51bSkg eworZGlmZiAtLWdpdCBhL3Rlc3RzL0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvQ01ha2VMaXN0cy50 eHQKK2luZGV4IGEyYjUxN2IuLjEyM2U2NDMgMTAwNjQ0CistLS0gYS90ZXN0cy9DTWFrZUxpc3Rz LnR4dAorKysrIGIvdGVzdHMvQ01ha2VMaXN0cy50eHQKK0BAIC0zOCw2ICszOCwxMiBAQCBzZXQo U1JDUworCisgaWYoQlVJTERfVE9PTFMpCisgCXNldChTUkNTICR7U1JDU30gLi4vc3JjL2F1ZGlv L2ZmbXBlZ19hdWRpb19yZWFkZXJfdGVzdC5jcHApCisrICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMo CisrICAgICAgICAke0ZGTVBFR19MSUJBVkZPUk1BVF9JTkNMVURFX0RJUlN9CisrICAgICAgICAk e0ZGTVBFR19MSUJBVkNPREVDX0lOQ0xVREVfRElSU30KKysgICAgICAgICR7RkZNUEVHX0xJQkFW VVRJTF9JTkNMVURFX0RJUlN9CisrICAgICAgICAke0FVRElPX1BST0NFU1NPUl9JTkNMVURFX0RJ UlN9CisrICAgICkKKyAJbGlua19saWJyYXJpZXMoZnBjYWxjX2xpYnMpCisgZW5kaWYoKQorCist LSAKKzIuMzguMQorCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21hcHJpbnQvdGVtcGxhdGUg Yi9zcmNwa2dzL2Nocm9tYXByaW50L3RlbXBsYXRlCmluZGV4IDdlZjc4Mzg5NDlmM2EzLi4xZjdi YmM3MGEyMmM4MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWFwcmludC90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2Nocm9tYXByaW50L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnY2hyb21hcHJpbnQnCiBwa2duYW1lPWNocm9tYXByaW50CiB2ZXJzaW9uPTEu NS4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJl X2FyZ3M9Ii1EQlVJTERfVE9PTFM9T04iCiBtYWtlX2NoZWNrX3RhcmdldD0iY2hlY2siCgpGcm9t IGFjNTIzNTBjNmU5N2Y4MDE0YmIyNGIyMzI5ZDIwNTA3ZmUxZjFiYzkgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIg TWFyIDIwMjMgMjA6MDE6NDYgLTA0MDAKU3ViamVjdDogW1BBVENIIDAyMS8xMDhdIGNocm9taXVt OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9mZm1w ZWc1LnBhdGNoIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvY2hyb21p dW0vdGVtcGxhdGUgICAgICAgICAgICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgNDggaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9mZm1wZWc1LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZmZtcGVn NS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uMjRlMmRh MzhlMzRjYTIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZmZt cGVnNS5wYXRjaApAQCAtMCwwICsxLDQ3IEBACistLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19k ZW11eGVyLmNjCTIwMjMtMDEtMjMgMTc6MzM6NTcuMzY2MjEzODA1ICswMjAwCisrKysgYi9tZWRp YS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCTIwMjMtMDEtMjMgMTc6NDM6MDkuMjgzNDM2OTgz ICswMjAwCitAQCAtOTIsMjQgKzkyLDEyIEBACisgCisgc3RhdGljIGJhc2U6OlRpbWVEZWx0YSBF eHRyYWN0U3RhcnRUaW1lKEFWU3RyZWFtKiBzdHJlYW0pIHsKKyAgIC8vIFRoZSBkZWZhdWx0IHN0 YXJ0IHRpbWUgaXMgemVyby4KKy0gIGJhc2U6OlRpbWVEZWx0YSBzdGFydF90aW1lOworKyAgYmFz ZTo6VGltZURlbHRhIHN0YXJ0X3RpbWUgPSBrTm9UaW1lc3RhbXA7CisgCisgICAvLyBGaXJzdCB0 cnkgdG8gdXNlICB0aGUgfHN0YXJ0X3RpbWV8IHZhbHVlIGFzIGlzLgorLSAgaWYgKHN0cmVhbS0+ c3RhcnRfdGltZSAhPSBrTm9GRm1wZWdUaW1lc3RhbXApCisrICBpZiAoc3RyZWFtLT5zdGFydF90 aW1lICE9IGtOb0ZGbXBlZ1RpbWVzdGFtcCkgLy8gQVZfTk9QVFNfVkFMVUUKKyAgICAgc3RhcnRf dGltZSA9IENvbnZlcnRGcm9tVGltZUJhc2Uoc3RyZWFtLT50aW1lX2Jhc2UsIHN0cmVhbS0+c3Rh cnRfdGltZSk7CisgCistICAvLyBOZXh0IHRyeSB0byB1c2UgdGhlIGZpcnN0IERUUyB2YWx1ZSwg Zm9yIGNvZGVjcyB3aGVyZSB3ZSBrbm93IFBUUyA9PSBEVFMKKy0gIC8vIChleGNsdWRlcyBhbGwg SDI2eCBjb2RlY3MpLiBUaGUgc3RhcnQgdGltZSBtdXN0IGJlIHJldHVybmVkIGluIFBUUy4KKy0g IGlmIChhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cyhzdHJlYW0pICE9IGtOb0ZGbXBlZ1RpbWVzdGFt cCAmJgorLSAgICAgIHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lkICE9IEFWX0NPREVDX0lEX0hF VkMgJiYKKy0gICAgICBzdHJlYW0tPmNvZGVjcGFyLT5jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9I MjY0ICYmCistICAgICAgc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQgIT0gQVZfQ09ERUNfSURf TVBFRzQpIHsKKy0gICAgY29uc3QgYmFzZTo6VGltZURlbHRhIGZpcnN0X3B0cyA9CistICAgICAg ICBDb252ZXJ0RnJvbVRpbWVCYXNlKHN0cmVhbS0+dGltZV9iYXNlLCBhdl9zdHJlYW1fZ2V0X2Zp cnN0X2R0cyhzdHJlYW0pKTsKKy0gICAgaWYgKGZpcnN0X3B0cyA8IHN0YXJ0X3RpbWUpCistICAg ICAgc3RhcnRfdGltZSA9IGZpcnN0X3B0czsKKy0gIH0KKy0KKyAgIHJldHVybiBzdGFydF90aW1l OworIH0KKyAKK0BAIC0xNTk3LDcgKzE1ODUsNyBAQAorICAgZm9yIChjb25zdCBhdXRvJiBzdHJl YW0gOiBzdHJlYW1zXykgeworICAgICBpZiAoIXN0cmVhbSB8fCBzdHJlYW0tPklzRW5hYmxlZCgp ICE9IGVuYWJsZWQpCisgICAgICAgY29udGludWU7CistICAgIGlmIChhdl9zdHJlYW1fZ2V0X2Zp cnN0X2R0cyhzdHJlYW0tPmF2X3N0cmVhbSgpKSA9PSBrSW52YWxpZFBUU01hcmtlcikKKysgICAg aWYgKHN0cmVhbS0+YXZfc3RyZWFtKCktPnN0YXJ0X3RpbWUgPT0gQVZfTk9QVFNfVkFMVUUpCisg ICAgICAgY29udGludWU7CisgICAgIGlmICghbG93ZXN0X3N0YXJ0X3RpbWVfc3RyZWFtIHx8Cisg ICAgICAgICBzdHJlYW0tPnN0YXJ0X3RpbWUoKSA8IGxvd2VzdF9zdGFydF90aW1lX3N0cmVhbS0+ c3RhcnRfdGltZSgpKSB7CitAQCAtMTYxOCw3ICsxNjA2LDcgQEAKKyAgICAgaWYgKHN0cmVhbS0+ dHlwZSgpICE9IERlbXV4ZXJTdHJlYW06OlZJREVPKQorICAgICAgIGNvbnRpbnVlOworIAorLSAg ICBpZiAoYXZfc3RyZWFtX2dldF9maXJzdF9kdHMoc3RyZWFtLT5hdl9zdHJlYW0oKSkgPT0ga0lu dmFsaWRQVFNNYXJrZXIpCisrICAgIGlmIChzdHJlYW0tPmF2X3N0cmVhbSgpLT5zdGFydF90aW1l ID09IEFWX05PUFRTX1ZBTFVFKQorICAgICAgIGNvbnRpbnVlOworIAorICAgICBpZiAoIXN0cmVh bS0+SXNFbmFibGVkKCkpCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlIGIv c3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQppbmRleCBiZDUxNjEyZWQ2NDc0OC4uMjIwN2Y3NDRm MGM0ZWYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9jaHJvbWl1bS90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKIHBrZ25hbWU9Y2hyb21pdW0KICMg U2VlIGh0dHBzOi8vY2hyb21pdW1kYXNoLmFwcHNwb3QuY29tL3JlbGVhc2VzP3BsYXRmb3JtPUxp bnV4IGZvciB0aGUgbGF0ZXN0IHZlcnNpb24KIHZlcnNpb249MTI2LjAuNjQ3OC41NQotcmV2aXNp b249MQorcmV2aXNpb249MgogYXJjaHM9Imk2ODYqIHg4Nl82NCogYWFyY2g2NCogYXJtdjdsKiIK IGhvc3RtYWtlZGVwZW5kcz0iCiAgJCh2b3B0X2lmIGNsYW5nICJjbGFuZzE3IGxsZDE3IGxsdm0x NyBjb21waWxlci1ydCIpCgpGcm9tIDBhMWMwNzNlZjc0YTFhM2UwOTRlZDQ2Yjg2MGI3NmVhN2Nm MTBiOGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDYgLTA0MDAKU3ViamVjdDogW1BB VENIIDAyMi8xMDhdIGNtdXM6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggfCA0NyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogc3JjcGtncy9jbXVzL3BhdGNoZXMvZmZtcGVnNi5wYXRjaCAgICAgfCAxMiArKysrKysrCiBz cmNwa2dzL2NtdXMvdGVtcGxhdGUgICAgICAgICAgICAgICAgICB8ICAyICstCiAzIGZpbGVzIGNo YW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9mZm1wZWc1LnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jbXVzL3BhdGNoZXMvZmZtcGVnNi5wYXRjaAoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2ZmbXBlZzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0ZTJk YTM4ZTM0Y2EyLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv ZmZtcGVnNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLS0tLSBhL21lZGlh L2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MJMjAyMy0wMS0yMyAxNzozMzo1Ny4zNjYyMTM4MDUg KzAyMDAKLSsrKyBiL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MJMjAyMy0wMS0yMyAx Nzo0MzowOS4yODM0MzY5ODMgKzAyMDAKLUBAIC05MiwyNCArOTIsMTIgQEAKLSAKLSBzdGF0aWMg YmFzZTo6VGltZURlbHRhIEV4dHJhY3RTdGFydFRpbWUoQVZTdHJlYW0qIHN0cmVhbSkgewotICAg Ly8gVGhlIGRlZmF1bHQgc3RhcnQgdGltZSBpcyB6ZXJvLgotLSAgYmFzZTo6VGltZURlbHRhIHN0 YXJ0X3RpbWU7Ci0rICBiYXNlOjpUaW1lRGVsdGEgc3RhcnRfdGltZSA9IGtOb1RpbWVzdGFtcDsK LSAKLSAgIC8vIEZpcnN0IHRyeSB0byB1c2UgIHRoZSB8c3RhcnRfdGltZXwgdmFsdWUgYXMgaXMu Ci0tICBpZiAoc3RyZWFtLT5zdGFydF90aW1lICE9IGtOb0ZGbXBlZ1RpbWVzdGFtcCkKLSsgIGlm IChzdHJlYW0tPnN0YXJ0X3RpbWUgIT0ga05vRkZtcGVnVGltZXN0YW1wKSAvLyBBVl9OT1BUU19W QUxVRQotICAgICBzdGFydF90aW1lID0gQ29udmVydEZyb21UaW1lQmFzZShzdHJlYW0tPnRpbWVf YmFzZSwgc3RyZWFtLT5zdGFydF90aW1lKTsKLSAKLS0gIC8vIE5leHQgdHJ5IHRvIHVzZSB0aGUg Zmlyc3QgRFRTIHZhbHVlLCBmb3IgY29kZWNzIHdoZXJlIHdlIGtub3cgUFRTID09IERUUwotLSAg Ly8gKGV4Y2x1ZGVzIGFsbCBIMjZ4IGNvZGVjcykuIFRoZSBzdGFydCB0aW1lIG11c3QgYmUgcmV0 dXJuZWQgaW4gUFRTLgotLSAgaWYgKGF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzKHN0cmVhbSkgIT0g a05vRkZtcGVnVGltZXN0YW1wICYmCi0tICAgICAgc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQg IT0gQVZfQ09ERUNfSURfSEVWQyAmJgotLSAgICAgIHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lk ICE9IEFWX0NPREVDX0lEX0gyNjQgJiYKLS0gICAgICBzdHJlYW0tPmNvZGVjcGFyLT5jb2RlY19p ZCAhPSBBVl9DT0RFQ19JRF9NUEVHNCkgewotLSAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEgZmly c3RfcHRzID0KLS0gICAgICAgIENvbnZlcnRGcm9tVGltZUJhc2Uoc3RyZWFtLT50aW1lX2Jhc2Us IGF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzKHN0cmVhbSkpOwotLSAgICBpZiAoZmlyc3RfcHRzIDwg c3RhcnRfdGltZSkKLS0gICAgICBzdGFydF90aW1lID0gZmlyc3RfcHRzOwotLSAgfQotLQotICAg cmV0dXJuIHN0YXJ0X3RpbWU7Ci0gfQotIAotQEAgLTE1OTcsNyArMTU4NSw3IEBACi0gICBmb3Ig KGNvbnN0IGF1dG8mIHN0cmVhbSA6IHN0cmVhbXNfKSB7Ci0gICAgIGlmICghc3RyZWFtIHx8IHN0 cmVhbS0+SXNFbmFibGVkKCkgIT0gZW5hYmxlZCkKLSAgICAgICBjb250aW51ZTsKLS0gICAgaWYg KGF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzKHN0cmVhbS0+YXZfc3RyZWFtKCkpID09IGtJbnZhbGlk UFRTTWFya2VyKQotKyAgICBpZiAoc3RyZWFtLT5hdl9zdHJlYW0oKS0+c3RhcnRfdGltZSA9PSBB Vl9OT1BUU19WQUxVRSkKLSAgICAgICBjb250aW51ZTsKLSAgICAgaWYgKCFsb3dlc3Rfc3RhcnRf dGltZV9zdHJlYW0gfHwKLSAgICAgICAgIHN0cmVhbS0+c3RhcnRfdGltZSgpIDwgbG93ZXN0X3N0 YXJ0X3RpbWVfc3RyZWFtLT5zdGFydF90aW1lKCkpIHsKLUBAIC0xNjE4LDcgKzE2MDYsNyBAQAot ICAgICBpZiAoc3RyZWFtLT50eXBlKCkgIT0gRGVtdXhlclN0cmVhbTo6VklERU8pCi0gICAgICAg Y29udGludWU7Ci0gCi0tICAgIGlmIChhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cyhzdHJlYW0tPmF2 X3N0cmVhbSgpKSA9PSBrSW52YWxpZFBUU01hcmtlcikKLSsgICAgaWYgKHN0cmVhbS0+YXZfc3Ry ZWFtKCktPnN0YXJ0X3RpbWUgPT0gQVZfTk9QVFNfVkFMVUUpCi0gICAgICAgY29udGludWU7Ci0g Ci0gICAgIGlmICghc3RyZWFtLT5Jc0VuYWJsZWQoKSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY211 cy9wYXRjaGVzL2ZmbXBlZzYucGF0Y2ggYi9zcmNwa2dzL2NtdXMvcGF0Y2hlcy9mZm1wZWc2LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5mZmE5NWFiODEx MTAxYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY211cy9wYXRjaGVzL2ZmbXBlZzYucGF0 Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIGEvaXAvZmZtcGVnLmMKKysrKyBiL2lwL2ZmbXBlZy5j CitAQCAtMjAyLDkgKzIwMiw2IEBAIHN0YXRpYyBpbnQgZmZtcGVnX29wZW4oc3RydWN0IGlucHV0 X3BsdWdpbl9kYXRhICppcF9kYXRhKQorIAkJCWJyZWFrOworIAkJfQorIAorLQkJaWYgKGNvZGVj LT5jYXBhYmlsaXRpZXMgJiBBVl9DT0RFQ19DQVBfVFJVTkNBVEVEKQorLQkJCWNjLT5mbGFncyB8 PSBBVl9DT0RFQ19GTEFHX1RSVU5DQVRFRDsKKy0KKyAJCWlmIChhdmNvZGVjX29wZW4yKGNjLCBj b2RlYywgTlVMTCkgPCAwKSB7CisgCQkJZF9wcmludCgiY291bGQgbm90IG9wZW4gY29kZWM6ICVk LCAlc1xuIiwgY2MtPmNvZGVjX2lkLCBhdmNvZGVjX2dldF9uYW1lKGNjLT5jb2RlY19pZCkpOwor IAkJCWVyciA9IC1JUF9FUlJPUl9VTlNVUFBPUlRFRF9GSUxFX1RZUEU7CmRpZmYgLS1naXQgYS9z cmNwa2dzL2NtdXMvdGVtcGxhdGUgYi9zcmNwa2dzL2NtdXMvdGVtcGxhdGUKaW5kZXggMGQxNDM2 NzQ0ZjFiMmMuLmE2ZTRiNGZhODZjYjgzIDEwMDY0NAotLS0gYS9zcmNwa2dzL2NtdXMvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9jbXVzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnY211cycKIHBrZ25hbWU9Y211cwogdmVyc2lvbj0yLjEwLjAKLXJldmlzaW9u PTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9InBy ZWZpeD0vdXNyIExEPSRDQyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gNjNl OTRjOGMzMDExNzg4ZmE3YTAzNGRjMTM4OTc2NTJjNWRlYTEwNSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIg MjAyMyAyMDowMTo0NiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDIzLzEwOF0gY3lhbnJpcDogcmV2 YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2N5YW5yaXAvdGVtcGxhdGUgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2N5YW5yaXAvdGVtcGxhdGUgYi9zcmNwa2dzL2N5YW5yaXAvdGVtcGxhdGUKaW5k ZXggOTc5NmUzNDYxNjAxYTcuLjVkYjMwZTAyMGQxN2VlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2N5 YW5yaXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jeWFucmlwL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3lhbnJpcCcKIHBrZ25hbWU9Y3lhbnJpcAogdmVy c2lvbj0wLjkuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24KIGhv c3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJmZm1wZWctZGV2ZWwgbGli Y2Rpby1kZXZlbCBsaWJjZGlvLXBhcmFub2lhLWRldmVsIGxpYmN1cmwtZGV2ZWwgbGlibXVzaWNi cmFpbno1LWRldmVsIgoKRnJvbSBlZmZhN2Y2OTExYzkyZWY5ZGQ0NTEyNmM0OGVjMWNmZjEzNDE2 NGUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRD SCAwMjQvMTA4XSBkZWFkYmVlZjogcmV2YnVtcCBmb3IgZmZtcGVnNAoKLS0tCiBzcmNwa2dzL2Rl YWRiZWVmL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGVhZGJlZWYvdGVtcGxhdGUg Yi9zcmNwa2dzL2RlYWRiZWVmL3RlbXBsYXRlCmluZGV4IGY1ZjRiZjI0YjhjYjZkLi43YjQ3ZTYx NWNkNDhlZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9kZWFkYmVlZi90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2RlYWRiZWVmL3RlbXBsYXRlCkBAIC0xLDE0ICsxLDE0IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdkZWFkYmVlZicKIHBrZ25hbWU9ZGVhZGJlZWYKIHZlcnNpb249MS44LjgKLXJldmlzaW9u PTMKK3JldmlzaW9uPTQKIGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF9zdHlsZT1nbnUtY29uZmln dXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLW9zcyAtLWRpc2FibGUtbGZtIC0tZGlzYWJs ZS1ub3RpZnkgLS1kaXNhYmxlLWd0azIiCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGxpYnRv b2wgZ2V0dGV4dCBnZXR0ZXh0LWRldmVsIGludGx0b29sIHBrZy1jb25maWcKICB5YXNtIGNsYW5n IGdsaWItZGV2ZWwiCiBtYWtlZGVwZW5kcz0iCi0gYWxzYS1saWItZGV2ZWwgZGJ1cy1kZXZlbCBm YWFkMi1kZXZlbCBmZm1wZWctZGV2ZWwgZ3RrKzMtZGV2ZWwgaW1saWIyLWRldmVsCisgYWxzYS1s aWItZGV2ZWwgZGJ1cy1kZXZlbCBmYWFkMi1kZXZlbCBmZm1wZWc0LWRldmVsIGd0ayszLWRldmVs IGltbGliMi1kZXZlbAogIGphbnNzb24tZGV2ZWwgbGliY2RkYi1kZXZlbCBsaWJjZGlvLWRldmVs IGxpYmN1cmwtZGV2ZWwgbGliZmxhYy1kZXZlbAogIGxpYm1hZC1kZXZlbCBsaWJwbmctZGV2ZWwg bGlic2FtcGxlcmF0ZS1kZXZlbCBsaWJzbmRmaWxlLWRldmVsIGxpYnZvcmJpcy1kZXZlbAogIGxp YnppcC1kZXZlbCBtcGcxMjMtZGV2ZWwgb3B1c2ZpbGUtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbCB3 YXZwYWNrLWRldmVsIgoKRnJvbSA5MTRmNDY1Nzg1NDFmNTA0NTI1NDUwNTZjMGM1OWY1ZmVkY2Qz YWY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRD SCAwMjUvMTA4XSBkcm9pZGNhbS1vYnMtcGx1Z2luOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0K IHNyY3BrZ3MvZHJvaWRjYW0tb2JzLXBsdWdpbi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv ZHJvaWRjYW0tb2JzLXBsdWdpbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvZHJvaWRjYW0tb2JzLXBsdWdp bi90ZW1wbGF0ZQppbmRleCA5ZGM2NjQ4ZWZlOTRhZC4uOTNhNzJhZGYzZDNjMzAgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZHJvaWRjYW0tb2JzLXBsdWdpbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Ry b2lkY2FtLW9icy1wbHVnaW4vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdkcm9pZGNhbS1vYnMtcGx1Z2luJwogcGtnbmFtZT1kcm9pZGNhbS1vYnMtcGx1Z2lu CiB2ZXJzaW9uPTIuMy4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUt bWFrZWZpbGUKIG1ha2VfdXNlX2Vudj15ZXMKIG1ha2VfYnVpbGRfYXJncz0iQUxMT1dfU1RBVElD PW5vIgoKRnJvbSBlYzdjMTBlZmQ2ZDU0ODU4NDdjZDRiOWRjY2E5NTcyMWVhZTRjYWYzIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRl OiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMjYvMTA4 XSBkcm9pZGNhbTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2Ryb2lkY2FtL3Rl bXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9kcm9pZGNhbS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZHJv aWRjYW0vdGVtcGxhdGUKaW5kZXggZjcyN2I3YTY0ZjNjOGUuLjE1MWY0NTk1MDY2ODRhIDEwMDY0 NAotLS0gYS9zcmNwa2dzL2Ryb2lkY2FtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZHJvaWRjYW0v dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdkcm9pZGNhbScK IHBrZ25hbWU9ZHJvaWRjYW0KIHZlcnNpb249Mi4xLjMKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK IGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogbWFrZV91c2VfZW52PXRydWUKIG1ha2VfYnVpbGRf YXJncz0iVVNCTVVYRD0tbHVzYm11eGQtMi4wIEFQUElORElDQVRPUj1heWF0YW5hLWFwcGluZGlj YXRvcjMtMC4xIgoKRnJvbSBmNzZhYmNjODBkNjc0ODE5ZDA0ZWE1MGM1YjI3YjdiNDRlMzEyNDM2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29t PgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAw MjcvMTA4XSBmZm1wZWd0aHVtYm5haWxlcjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiAuLi4v ZmZtcGVndGh1bWJuYWlsZXIvcGF0Y2hlcy9mZm1wZWc2LnBhdGNoICAgfCAyMDIgKysrKysrKysr KysrKysrKysrCiBzcmNwa2dzL2ZmbXBlZ3RodW1ibmFpbGVyL3RlbXBsYXRlICAgICAgICAgICAg fCAgIDYgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMjA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWd0aHVtYm5haWxlci9wYXRjaGVz L2ZmbXBlZzYucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZ3RodW1ibmFpbGVyL3Bh dGNoZXMvZmZtcGVnNi5wYXRjaCBiL3NyY3BrZ3MvZmZtcGVndGh1bWJuYWlsZXIvcGF0Y2hlcy9m Zm1wZWc2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4z NjNmZjM1YTI4NDE5ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZmZtcGVndGh1bWJuYWls ZXIvcGF0Y2hlcy9mZm1wZWc2LnBhdGNoCkBAIC0wLDAgKzEsMjAyIEBACistLS0gYS9saWJmZm1w ZWd0aHVtYm5haWxlci9tb3ZpZWRlY29kZXIuY3BwCTIwMTctMTEtMjEgMTQ6MDY6NTcuMDAwMDAw MDAwIC0wNTAwCisrKysgYi9saWJmZm1wZWd0aHVtYm5haWxlci9tb3ZpZWRlY29kZXIuY3BwCTIw MjMtMDUtMDUgMTM6MTQ6NDcuOTQ2NTYwNjY4IC0wNDAwCitAQCAtNDEsMTEgKzQxLDYgQEAKKyBu YW1lc3BhY2UgZmZtcGVndGh1bWJuYWlsZXIKKyB7CisgCistc3RydWN0IFNpbGVuY2VMb2dMZXZl bAorLXsKKy0gICAgU2lsZW5jZUxvZ0xldmVsKCkgeyBhdl9sb2dfc2V0X2xldmVsKEFWX0xPR19R VUlFVCk7IH0KKy19OworLQorIE1vdmllRGVjb2Rlcjo6TW92aWVEZWNvZGVyKEFWRm9ybWF0Q29u dGV4dCogcGF2Q29udGV4dCkKKyA6IG1fVmlkZW9TdHJlYW0oLTEpCisgLCBtX3BGb3JtYXRDb250 ZXh0KHBhdkNvbnRleHQpCitAQCAtNzAsOCArNjUsNiBAQAorIAorIHZvaWQgTW92aWVEZWNvZGVy Ojppbml0aWFsaXplKGNvbnN0IHN0cmluZyYgZmlsZW5hbWUsIGJvb2wgcHJlZmVyRW1iZWRkZWRN ZXRhZGF0YSkKKyB7CistICAgIGF2X3JlZ2lzdGVyX2FsbCgpOworLSAgICBhdmNvZGVjX3JlZ2lz dGVyX2FsbCgpOworICAgICBhdmZvcm1hdF9uZXR3b3JrX2luaXQoKTsKKyAKKyAgICAgc3RyaW5n IGlucHV0RmlsZSA9IGZpbGVuYW1lID09ICItIiA/ICJwaXBlOiIgOiBmaWxlbmFtZTsKK0BAIC05 Nyw4ICs5MCw3IEBACisgeworICAgICBpZiAobV9wVmlkZW9Db2RlY0NvbnRleHQpCisgICAgIHsK Ky0gICAgICAgIGF2Y29kZWNfY2xvc2UobV9wVmlkZW9Db2RlY0NvbnRleHQpOworLSAgICAgICAg bV9wVmlkZW9Db2RlY0NvbnRleHQgPSBudWxscHRyOworKyAgICAgICAgYXZjb2RlY19mcmVlX2Nv bnRleHQoJm1fcFZpZGVvQ29kZWNDb250ZXh0KTsKKyAgICAgfQorIAorICAgICBpZiAoKCFtX0Zv cm1hdENvbnRleHRXYXNHaXZlbikgJiYgbV9wRm9ybWF0Q29udGV4dCkKK0BAIC0xNTIsMTAgKzE0 NCwxMCBAQAorICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG1fcEZvcm1hdENvbnRl eHQtPm5iX3N0cmVhbXM7ICsraSkKKyAgICAgeworICAgICAgICAgQVZTdHJlYW0gKnN0cmVhbSA9 IG1fcEZvcm1hdENvbnRleHQtPnN0cmVhbXNbaV07CistICAgICAgICBhdXRvIGN0eCA9IG1fcEZv cm1hdENvbnRleHQtPnN0cmVhbXNbaV0tPmNvZGVjOworLSAgICAgICAgaWYgKGN0eC0+Y29kZWNf dHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8pCisrICAgICAgICBhdXRvIHBhciA9IG1fcEZvcm1h dENvbnRleHQtPnN0cmVhbXNbaV0tPmNvZGVjcGFyOworKyAgICAgICAgaWYgKHBhci0+Y29kZWNf dHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8pCisgICAgICAgICB7CistICAgICAgICAgICAgaWYg KCFwcmVmZXJFbWJlZGRlZE1ldGFkYXRhIHx8ICFpc1N0aWxsSW1hZ2VDb2RlYyhjdHgtPmNvZGVj X2lkKSkKKysgICAgICAgICAgICBpZiAoIXByZWZlckVtYmVkZGVkTWV0YWRhdGEgfHwgIWlzU3Rp bGxJbWFnZUNvZGVjKHBhci0+Y29kZWNfaWQpKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgdmlkZW9TdHJlYW1zLnB1c2hfYmFjayhpKTsKKyAgICAgICAgICAgICAgICAgY29udGlu dWU7CitAQCAtMjAzLDggKzE5NSw3IEBACisgICAgIH0KKyAKKyAgICAgbV9wVmlkZW9TdHJlYW0g PSBtX3BGb3JtYXRDb250ZXh0LT5zdHJlYW1zW21fVmlkZW9TdHJlYW1dOworLSAgICBtX3BWaWRl b0NvZGVjQ29udGV4dCA9IG1fcFZpZGVvU3RyZWFtLT5jb2RlYzsKKy0gICAgbV9wVmlkZW9Db2Rl YyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKG1fcFZpZGVvQ29kZWNDb250ZXh0LT5jb2RlY19pZCk7 CisrICAgIG1fcFZpZGVvQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihtX3BWaWRlb1N0cmVh bS0+Y29kZWNwYXItPmNvZGVjX2lkKTsKKyAKKyAgICAgaWYgKG1fcFZpZGVvQ29kZWMgPT0gbnVs bHB0cikKKyAgICAgeworQEAgLTIxNCw2ICsyMDUsMjAgQEAKKyAgICAgICAgIHRocm93IGxvZ2lj X2Vycm9yKCJWaWRlbyBDb2RlYyBub3QgZm91bmQiKTsKKyAgICAgfQorIAorKyAgICBtX3BWaWRl b0NvZGVjQ29udGV4dCA9IGF2Y29kZWNfYWxsb2NfY29udGV4dDMobV9wVmlkZW9Db2RlYyk7Cisr CisrICAgIGlmIChtX3BWaWRlb0NvZGVjQ29udGV4dCA9PSBudWxscHRyKQorKyAgICB7CisrICAg ICAgICBkZXN0cm95KCk7CisrICAgICAgICB0aHJvdyBsb2dpY19lcnJvcigiQ291bGQgbm90IGFs bG9jYXRlIHZpZGVvIGNvZGVjIGNvbnRleHQiKTsKKysgICAgfQorKworKyAgICBpZiAoYXZjb2Rl Y19wYXJhbWV0ZXJzX3RvX2NvbnRleHQobV9wVmlkZW9Db2RlY0NvbnRleHQsIG1fcFZpZGVvU3Ry ZWFtLT5jb2RlY3BhcikgPCAwKQorKyAgICB7CisrICAgICAgICBkZXN0cm95KCk7CisrICAgICAg ICB0aHJvdyBsb2dpY19lcnJvcigiQ291bGQgbm90IGNvbmZpZ3VyZSB2aWRlbyBjb2RlYyBjb250 ZXh0Iik7CisrICAgIH0KKysKKyAgICAgbV9wVmlkZW9Db2RlY0NvbnRleHQtPndvcmthcm91bmRf YnVncyA9IDE7CisgCisgICAgIGlmIChhdmNvZGVjX29wZW4yKG1fcFZpZGVvQ29kZWNDb250ZXh0 LCBtX3BWaWRlb0NvZGVjLCBudWxscHRyKSA8IDApCitAQCAtMzg2LDEzICszOTEsNiBAQAorIAor IHZvaWQgTW92aWVEZWNvZGVyOjppbml0aWFsaXplRmlsdGVyR3JhcGgoY29uc3QgQVZSYXRpb25h bCYgdGltZUJhc2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBzaXplLCBib29sIG1haW50YWluQXNwZWN0 UmF0aW8pCisgeworLSAgICBzdGF0aWMgY29uc3QgQVZQaXhlbEZvcm1hdCBwaXhlbEZvcm1hdHNb XSA9IHsgQVZfUElYX0ZNVF9SR0IyNCwgQVZfUElYX0ZNVF9OT05FIH07CistCistICAgIGF1dG8g ZGVsID0gW10gKEFWQnVmZmVyU2lua1BhcmFtcyogcCkgeyBhdl9mcmVlcChwKTsgfTsKKy0gICAg c3RkOjp1bmlxdWVfcHRyPEFWQnVmZmVyU2lua1BhcmFtcywgZGVjbHR5cGUoZGVsKT4gYnVmZmVy c2lua1BhcmFtcyhhdl9idWZmZXJzaW5rX3BhcmFtc19hbGxvYygpLCBkZWwpOworLQorLSAgICBh dmZpbHRlcl9yZWdpc3Rlcl9hbGwoKTsKKy0KKyAgICAgbV9wRmlsdGVyR3JhcGggPSBhdmZpbHRl cl9ncmFwaF9hbGxvYygpOworICAgICBhc3NlcnQobV9wRmlsdGVyR3JhcGgpOworIAorQEAgLTQw NCwxMCArNDAyLDggQEAKKyAKKyAgICAgY2hlY2tSYyhhdmZpbHRlcl9ncmFwaF9jcmVhdGVfZmls dGVyKCZtX3BGaWx0ZXJTb3VyY2UsIGF2ZmlsdGVyX2dldF9ieV9uYW1lKCJidWZmZXIiKSwgInRo dW1iX2J1ZmZlciIsIHNzLnN0cigpLmNfc3RyKCksIG51bGxwdHIsIG1fcEZpbHRlckdyYXBoKSwK KyAgICAgICAgICAgICAiRmFpbGVkIHRvIGNyZWF0ZSBmaWx0ZXIgc291cmNlIik7CistICAgIGJ1 ZmZlcnNpbmtQYXJhbXMtPnBpeGVsX2ZtdHMgPSBwaXhlbEZvcm1hdHM7CistICAgIGNoZWNrUmMo YXZmaWx0ZXJfZ3JhcGhfY3JlYXRlX2ZpbHRlcigmbV9wRmlsdGVyU2luaywgYXZmaWx0ZXJfZ2V0 X2J5X25hbWUoImJ1ZmZlcnNpbmsiKSwgInRodW1iX2J1ZmZlcnNpbmsiLCBudWxscHRyLCBidWZm ZXJzaW5rUGFyYW1zLmdldCgpLCBtX3BGaWx0ZXJHcmFwaCksCisrICAgIGNoZWNrUmMoYXZmaWx0 ZXJfZ3JhcGhfY3JlYXRlX2ZpbHRlcigmbV9wRmlsdGVyU2luaywgYXZmaWx0ZXJfZ2V0X2J5X25h bWUoImJ1ZmZlcnNpbmsiKSwgInRodW1iX2J1ZmZlcnNpbmsiLCBudWxscHRyLCBudWxscHRyLCBt X3BGaWx0ZXJHcmFwaCksCisgICAgICAgICAgICAgIkZhaWxlZCB0byBjcmVhdGUgZmlsdGVyIHNp bmsiKTsKKy0gICAgYnVmZmVyc2lua1BhcmFtcy5yZWxlYXNlKCk7CisgCisgICAgIEFWRmlsdGVy Q29udGV4dCogeWFkaWZGaWx0ZXIgPSBudWxscHRyOworICAgICBpZiAobV9wRnJhbWUtPmludGVy bGFjZWRfZnJhbWUgIT0gMCkKK0BAIC01MDAsMTUgKzQ5NiwxNSBAQAorICAgICB9CisgCisgICAg IGNoZWNrUmMoYXZfc2Vla19mcmFtZShtX3BGb3JtYXRDb250ZXh0LCAtMSwgdGltZXN0YW1wLCAw KSwgIlNlZWtpbmcgaW4gdmlkZW8gZmFpbGVkIik7CistICAgIGF2Y29kZWNfZmx1c2hfYnVmZmVy cyhtX3BGb3JtYXRDb250ZXh0LT5zdHJlYW1zW21fVmlkZW9TdHJlYW1dLT5jb2RlYyk7CisrICAg IGF2Y29kZWNfZmx1c2hfYnVmZmVycyhtX3BWaWRlb0NvZGVjQ29udGV4dCk7CisgCisgICAgIGlu dCBrZXlGcmFtZUF0dGVtcHRzID0gMDsKKy0gICAgYm9vbCBnb3RGcmFtZSA9IDA7CisrICAgIGJv b2wgZ290RnJhbWU7CisgCisgICAgIGRvCisgICAgIHsKKyAgICAgICAgIGludCBjb3VudCA9IDA7 CistICAgICAgICBnb3RGcmFtZSA9IDA7CisrICAgICAgICBnb3RGcmFtZSA9IGZhbHNlOworIAor ICAgICAgICAgd2hpbGUgKCFnb3RGcmFtZSAmJiBjb3VudCA8IDIwKQorICAgICAgICAgeworQEAg LTU1MiwxNyArNTQ4LDMzIEBACisgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KKyAKKy0g ICAgYXZfZnJhbWVfdW5yZWYobV9wRnJhbWUpOworLQorLSAgICBpbnQgZnJhbWVGaW5pc2hlZDsK KysgICAgaW50IHJjID0gYXZjb2RlY19zZW5kX3BhY2tldChtX3BWaWRlb0NvZGVjQ29udGV4dCwg bV9wUGFja2V0KTsKKysgICAgaWYocmMgPT0gQVZFUlJPUihFQUdBSU4pKQorKyAgICB7CisrICAg ICAgICByYyA9IDA7CisrICAgIH0KKyAKKy0gICAgaW50IGJ5dGVzRGVjb2RlZCA9IGF2Y29kZWNf ZGVjb2RlX3ZpZGVvMihtX3BWaWRlb0NvZGVjQ29udGV4dCwgbV9wRnJhbWUsICZmcmFtZUZpbmlz aGVkLCBtX3BQYWNrZXQpOworLSAgICBpZiAoYnl0ZXNEZWNvZGVkIDwgMCkKKysgICAgaWYocmMg PT0gQVZFUlJPUl9FT0YpCisrICAgIHsKKysgICAgICAgIHJldHVybiBmYWxzZTsKKysgICAgfQor KyAgICBlbHNlIGlmKHJjIDwgMCkKKyAgICAgeworLSAgICAgICAgdGhyb3cgbG9naWNfZXJyb3Io IkZhaWxlZCB0byBkZWNvZGUgdmlkZW8gZnJhbWU6IGJ5dGVzRGVjb2RlZCA8IDAiKTsKKysgICAg ICAgIHRocm93IGxvZ2ljX2Vycm9yKCJGYWlsZWQgdG8gZGVjb2RlIHZpZGVvIGZyYW1lOiBhdmNv ZGVjX3NlbmRfcGFja2V0KCkgPCAwIik7CisgICAgIH0KKyAKKy0gICAgcmV0dXJuIGZyYW1lRmlu aXNoZWQgPiAwOworKyAgICByYyA9IGF2Y29kZWNfcmVjZWl2ZV9mcmFtZShtX3BWaWRlb0NvZGVj Q29udGV4dCwgbV9wRnJhbWUpOworKyAgICBzd2l0Y2gocmMpCisrICAgIHsKKysgICAgICAgIGNh c2UgMDoKKysgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysKKysgICAgICAgIGNhc2UgQVZFUlJP UihFQUdBSU4pOgorKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKysKKysgICAgICAgIGRlZmF1 bHQ6CisrICAgICAgICAgICAgdGhyb3cgbG9naWNfZXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgdmlk ZW8gZnJhbWU6IGF2Y29kZWNfcmVjZWl2ZV9mcmFtZSgpIDwgMCIpOworKyAgICB9CisgfQorIAor IGJvb2wgTW92aWVEZWNvZGVyOjpnZXRWaWRlb1BhY2tldCgpCitAQCAtNTcwLDggKzU4Miw2IEBA CisgICAgIGJvb2wgZnJhbWVzQXZhaWxhYmxlID0gdHJ1ZTsKKyAgICAgYm9vbCBmcmFtZURlY29k ZWQgPSBmYWxzZTsKKyAKKy0gICAgaW50IGF0dGVtcHRzID0gMDsKKy0KKyAgICAgaWYgKG1fcFBh Y2tldCkKKyAgICAgeworICAgICAgICAgYXZfcGFja2V0X3VucmVmKG1fcFBhY2tldCk7CitAQCAt NTgwLDYgKzU5MCw3IEBACisgCisgICAgIG1fcFBhY2tldCA9IG5ldyBBVlBhY2tldCgpOworIAor KworICAgICB3aGlsZSAoZnJhbWVzQXZhaWxhYmxlICYmICFmcmFtZURlY29kZWQpCisgICAgIHsK KyAgICAgICAgIGZyYW1lc0F2YWlsYWJsZSA9IGF2X3JlYWRfZnJhbWUobV9wRm9ybWF0Q29udGV4 dCwgbV9wUGFja2V0KSA+PSAwOworQEAgLTY0NCw3ICs2NTUsNyBAQAorIAorIGludDMyX3QgTW92 aWVEZWNvZGVyOjpnZXRTdHJlYW1Sb3RhdGlvbigpCisgeworLSAgICBpbnQzMl90KiBtYXRyaXgg PSByZWludGVycHJldF9jYXN0PGludDMyX3QqPihhdl9zdHJlYW1fZ2V0X3NpZGVfZGF0YShtX3BW aWRlb1N0cmVhbSwgQVZfUEtUX0RBVEFfRElTUExBWU1BVFJJWCwgbnVsbHB0cikpOworKyAgICBh dXRvIG1hdHJpeCA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50MzJfdCo+KGF2X3N0cmVhbV9nZXRfc2lk ZV9kYXRhKG1fcFZpZGVvU3RyZWFtLCBBVl9QS1RfREFUQV9ESVNQTEFZTUFUUklYLCBudWxscHRy KSk7CisgICAgIGlmIChtYXRyaXgpCisgICAgIHsKKyAgICAgICAgIGF1dG8gYW5nbGUgPSBscm91 bmQoYXZfZGlzcGxheV9yb3RhdGlvbl9nZXQobWF0cml4KSk7CisKKy0tLSBhL2xpYmZmbXBlZ3Ro dW1ibmFpbGVyL21vdmllZGVjb2Rlci5oCTIwMTctMTEtMTIgMDQ6MjM6MzguMDAwMDAwMDAwIC0w NTAwCisrKysgYi9saWJmZm1wZWd0aHVtYm5haWxlci9tb3ZpZWRlY29kZXIuaAkyMDIzLTA1LTA1 IDEzOjI2OjA3LjA5NTUyOTkxMSAtMDQwMAorQEAgLTc4LDcgKzc4LDcgQEAKKyAgICAgaW50ICAg ICAgICAgICAgICAgICAgICAgbV9WaWRlb1N0cmVhbTsNCisgICAgIEFWRm9ybWF0Q29udGV4dCog ICAgICAgIG1fcEZvcm1hdENvbnRleHQ7DQorICAgICBBVkNvZGVjQ29udGV4dCogICAgICAgICBt X3BWaWRlb0NvZGVjQ29udGV4dDsNCistICAgIEFWQ29kZWMqICAgICAgICAgICAgICAgIG1fcFZp ZGVvQ29kZWM7DQorKyAgICBjb25zdCBBVkNvZGVjKiAgICAgICAgICBtX3BWaWRlb0NvZGVjOw0K KyAgICAgQVZGaWx0ZXJHcmFwaCogICAgICAgICAgbV9wRmlsdGVyR3JhcGg7DQorICAgICBBVkZp bHRlckNvbnRleHQqICAgICAgICBtX3BGaWx0ZXJTb3VyY2U7DQorICAgICBBVkZpbHRlckNvbnRl eHQqICAgICAgICBtX3BGaWx0ZXJTaW5rOw0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmZtcGVndGh1 bWJuYWlsZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2ZmbXBlZ3RodW1ibmFpbGVyL3RlbXBsYXRlCmlu ZGV4IDAzOWVlYTc2MjJiMzkxLi4zNWQ1NDYwMThkMTJhZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9m Zm1wZWd0aHVtYm5haWxlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2ZmbXBlZ3RodW1ibmFpbGVy L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZmZtcGVndGh1 bWJuYWlsZXInCiBwa2duYW1lPWZmbXBlZ3RodW1ibmFpbGVyCiB2ZXJzaW9uPTIuMi4yCi1yZXZp c2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJw a2ctY29uZmlnIgogbWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVs IGZmbXBlZy1kZXZlbCIKQEAgLTksOCArOSw4IEBAIGRlcGVuZHM9ImZmbXBlZyIKIHNob3J0X2Rl c2M9IkxpZ2h0d2VpZ2h0IHZpZGVvIHRodW1ibmFpbGVyIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQg PG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCi1ob21l cGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2Rpcmt2ZGIvJHtwa2duYW1lfSIKLWRpc3RmaWxlcz0i JHtob21lcGFnZX0vcmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJzaW9ufS8ke3BrZ25hbWV9LSR7dmVy c2lvbn0udGFyLmJ6MiIKK2hvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vZGlya3ZkYiIKK2Rp c3RmaWxlcz0iJHtob21lcGFnZX0vJHtwa2duYW1lfS9yZWxlYXNlcy9kb3dubG9hZC8ke3ZlcnNp b259LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIuYnoyIgogY2hlY2tzdW09MWNiMjQwNTljMzgy MjNmNjU3YjMwMGM4NGRkODA0OTFiNzA0MGQ0YjY5NDcxYzRmZWE2OWJlODYyYmM5OWI1YgogCiBw b3N0X2luc3RhbGwoKSB7CgpGcm9tIGYyM2JiMzZhYmY4MGFlMGQxOGQ4NmJmZGE0Yjk0ODRiZDVk NjJhZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDcgLTA0MDAKU3ViamVjdDogW1BB VENIIDAyOC8xMDhdIGZmbXBlZ3RodW1iczogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNw a2dzL2ZmbXBlZ3RodW1icy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmZtcGVndGh1bWJz L3RlbXBsYXRlIGIvc3JjcGtncy9mZm1wZWd0aHVtYnMvdGVtcGxhdGUKaW5kZXggYzI2YjI2Mjdi NWEwZTMuLjdiM2ZkMjYyMzcxZGJjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZmbXBlZ3RodW1icy90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2ZmbXBlZ3RodW1icy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZmbXBlZ3RodW1icycKIHBrZ25hbWU9ZmZtcGVndGh1 bWJzCiB2ZXJzaW9uPTI0LjAyLjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxl PWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9NQUpPUl9WRVJTSU9OPTYgLURLRjZfSE9TVF9U T09MSU5HPS91c3IvbGliL2NtYWtlCiAgLURLREVfSU5TVEFMTF9RVFBMVUdJTkRJUj1saWIvcXQ2 L3BsdWdpbnMiCgpGcm9tIGU1YzBhZmRlOWQ3MGIwMjYzNTFiNWQ3N2I0MzBkZTUzNTQyMTZjMTUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDcgLTA0MDAKU3ViamVjdDogW1BBVENIIDAy OS8xMDhdIGZmbXMyOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvZmZtczIvcGF0 Y2hlcy9mZm1wZWc1LnBhdGNoIHwgNDI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvZmZtczIvdGVtcGxhdGUgICAgICAgICAgICAgIHwgICAyICstCiAyIGZpbGVzIGNoYW5n ZWQsIDQyNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9mZm1zMi9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2ZmbXMyL3BhdGNoZXMvZmZtcGVnNS5wYXRjaCBiL3NyY3BrZ3MvZmZtczIvcGF0Y2hlcy9mZm1w ZWc1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4xNDc5 ZmFiY2FmY2I0ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZmZtczIvcGF0Y2hlcy9mZm1w ZWc1LnBhdGNoCkBAIC0wLDAgKzEsNDI0IEBACitGcm9tIDQ1NjczMTQ5ZTlhMmY1NTg2ODU1YWQ0 NzJlMzA1OTA4NGVhYTM2YjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEZXJlayBC dWl0ZW5odWlzIDxkZXJlay5idWl0ZW5odWlzQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNCBNYXkg MjAyMSAxNDo0MToyMSArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc2UgYXV0byBmb3IgQVZDb2Rl YworCitUaGUgZ2VuaXVzZXMgb3ZlciBhdCBGRm1wZWcgZGVjaWRlZCB0byBjb25zdGlmeSB0aGlz IEFQSSwgc28gb2xkCit2ZXJzaW9ucyBvZiB0aGUgbGlicmFyeSB3aWxsIHJldHVybiBBVkNvZGVj ICosIHdoaWxlIG5ldyB2ZXJzaW9ucworb2YgdGhlIGxpYmFyeSB3aWxsIHJldHVybiBjb25zdCBB VkNvZGVjICosIHdoaWNoLCBpbiBDKyssIGFyZSBub3QKK09LIHRvIGNvbnZlcnQgYmV0d2Vlbi4K KworUmF0aGVyIHRoYW4gdXNlIHNvbWUgbWFjcm8gaGVsbCBpbiBmZm1zY29tcGF0LmgsIHdlIGNh biB3b3JrIGFyb3VuZAordGhpcyBieSB1c2luZyBhdXRvLgorCitHcm9zcy4KKworU2lnbmVkLW9m Zi1ieTogRGVyZWsgQnVpdGVuaHVpcyA8ZGVyZWsuYnVpdGVuaHVpc0BnbWFpbC5jb20+CistLS0K KyBzcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAgfCAyICstCisgc3JjL2NvcmUvaW5kZXhpbmcuY3Bw ICAgIHwgNiArKystLS0KKyBzcmMvY29yZS92aWRlb3NvdXJjZS5jcHAgfCAyICstCisgMyBmaWxl cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9zcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAgYi9zcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAKK2lu ZGV4IGU0Y2U5N2MuLmFjMDk2NjYgMTAwNjQ0CistLS0gYS9zcmMvY29yZS9hdWRpb3NvdXJjZS5j cHAKKysrKyBiL3NyYy9jb3JlL2F1ZGlvc291cmNlLmNwcAorQEAgLTQ2OSw3ICs0NjksNyBAQCB2 b2lkIEZGTVNfQXVkaW9Tb3VyY2U6Ok9wZW5GaWxlKCkgeworIAorICAgICBMQVZGT3BlbkZpbGUo U291cmNlRmlsZS5jX3N0cigpLCBGb3JtYXRDb250ZXh0LCBUcmFja051bWJlcik7CisgCistICAg IEFWQ29kZWMgKkNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoRm9ybWF0Q29udGV4dC0+c3Ry ZWFtc1tUcmFja051bWJlcl0tPmNvZGVjcGFyLT5jb2RlY19pZCk7CisrICAgIGF1dG8gKkNvZGVj ID0gYXZjb2RlY19maW5kX2RlY29kZXIoRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tUcmFja051bWJl cl0tPmNvZGVjcGFyLT5jb2RlY19pZCk7CisgICAgIGlmIChDb2RlYyA9PSBudWxscHRyKQorICAg ICAgICAgdGhyb3cgRkZNU19FeGNlcHRpb24oRkZNU19FUlJPUl9ERUNPRElORywgRkZNU19FUlJP Ul9DT0RFQywKKyAgICAgICAgICAgICAiQXVkaW8gY29kZWMgbm90IGZvdW5kIik7CitkaWZmIC0t Z2l0IGEvc3JjL2NvcmUvaW5kZXhpbmcuY3BwIGIvc3JjL2NvcmUvaW5kZXhpbmcuY3BwCitpbmRl eCBlNTQ3YzVhLi41OWZiNGU4IDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvaW5kZXhpbmcuY3BwCisr KysgYi9zcmMvY29yZS9pbmRleGluZy5jcHAKK0BAIC0zODQsNyArMzg0LDcgQEAgRkZNU19UcmFj a1R5cGUgRkZNU19JbmRleGVyOjpHZXRUcmFja1R5cGUoaW50IFRyYWNrKSB7CisgfQorIAorIGNv bnN0IGNoYXIgKkZGTVNfSW5kZXhlcjo6R2V0VHJhY2tDb2RlYyhpbnQgVHJhY2spIHsKKy0gICAg QVZDb2RlYyAqY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJl YW1zW1RyYWNrXS0+Y29kZWNwYXItPmNvZGVjX2lkKTsKKysgICAgYXV0byAqY29kZWMgPSBhdmNv ZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJlYW1zW1RyYWNrXS0+Y29kZWNwYXIt PmNvZGVjX2lkKTsKKyAgICAgcmV0dXJuIGNvZGVjID8gY29kZWMtPm5hbWUgOiBudWxscHRyOwor IH0KKyAKK0BAIC00MDIsNyArNDAyLDcgQEAgRkZNU19JbmRleCAqRkZNU19JbmRleGVyOjpEb0lu ZGV4aW5nKCkgeworICAgICAgICAgICAgIFVzZURUUyk7CisgCisgICAgICAgICBpZiAoSW5kZXhN YXNrLmNvdW50KGkpICYmIEZvcm1hdENvbnRleHQtPnN0cmVhbXNbaV0tPmNvZGVjcGFyLT5jb2Rl Y190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgeworLSAgICAgICAgICAgIEFWQ29kZWMgKlZp ZGVvQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ld LT5jb2RlY3Bhci0+Y29kZWNfaWQpOworKyAgICAgICAgICAgIGF1dG8gKlZpZGVvQ29kZWMgPSBh dmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ldLT5jb2RlY3Bhci0+ Y29kZWNfaWQpOworICAgICAgICAgICAgIGlmICghVmlkZW9Db2RlYykgeworICAgICAgICAgICAg ICAgICBGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ldLT5kaXNjYXJkID0gQVZESVNDQVJEX0FMTDsK KyAgICAgICAgICAgICAgICAgSW5kZXhNYXNrLmVyYXNlKGkpOworQEAgLTQzMyw3ICs0MzMsNyBA QCBGRk1TX0luZGV4ICpGRk1TX0luZGV4ZXI6OkRvSW5kZXhpbmcoKSB7CisgICAgICAgICAgICAg ICAgIEluZGV4TWFzay5pbnNlcnQoaSk7CisgICAgICAgICAgICAgfQorICAgICAgICAgfSBlbHNl IGlmIChJbmRleE1hc2suY291bnQoaSkgJiYgRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tpXS0+Y29k ZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPKSB7CistICAgICAgICAgICAg QVZDb2RlYyAqQXVkaW9Db2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKEZvcm1hdENvbnRleHQt PnN0cmVhbXNbaV0tPmNvZGVjcGFyLT5jb2RlY19pZCk7CisrICAgICAgICAgICAgYXV0byAqQXVk aW9Db2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbaV0t PmNvZGVjcGFyLT5jb2RlY19pZCk7CisgICAgICAgICAgICAgaWYgKEF1ZGlvQ29kZWMgPT0gbnVs bHB0cikKKyAgICAgICAgICAgICAgICAgdGhyb3cgRkZNU19FeGNlcHRpb24oRkZNU19FUlJPUl9D T0RFQywgRkZNU19FUlJPUl9VTlNVUFBPUlRFRCwKKyAgICAgICAgICAgICAgICAgICAgICJBdWRp byBjb2RlYyBub3QgZm91bmQiKTsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS92aWRlb3NvdXJjZS5j cHAgYi9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAKK2luZGV4IGI4ODk5NzAuLjg5NTZjMjIgMTAw NjQ0CistLS0gYS9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAKKysrKyBiL3NyYy9jb3JlL3ZpZGVv c291cmNlLmNwcAorQEAgLTE3MSw3ICsxNzEsNyBAQCBGRk1TX1ZpZGVvU291cmNlOjpGRk1TX1Zp ZGVvU291cmNlKGNvbnN0IGNoYXIgKlNvdXJjZUZpbGUsIEZGTVNfSW5kZXggJkluZGV4LCBpbgor IAorICAgICAgICAgTEFWRk9wZW5GaWxlKFNvdXJjZUZpbGUsIEZvcm1hdENvbnRleHQsIFZpZGVv VHJhY2spOworIAorLSAgICAgICAgQVZDb2RlYyAqQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2Rl cihGb3JtYXRDb250ZXh0LT5zdHJlYW1zW1ZpZGVvVHJhY2tdLT5jb2RlY3Bhci0+Y29kZWNfaWQp OworKyAgICAgICAgYXV0byAqQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250 ZXh0LT5zdHJlYW1zW1ZpZGVvVHJhY2tdLT5jb2RlY3Bhci0+Y29kZWNfaWQpOworICAgICAgICAg aWYgKENvZGVjID09IG51bGxwdHIpCisgICAgICAgICAgICAgdGhyb3cgRkZNU19FeGNlcHRpb24o RkZNU19FUlJPUl9ERUNPRElORywgRkZNU19FUlJPUl9DT0RFQywKKyAgICAgICAgICAgICAgICAg IlZpZGVvIGNvZGVjIG5vdCBmb3VuZCIpOworLS0gCisyLjQwLjAKKworRnJvbSA5NmNiZjM4ZWE5 MzgxODI5YTEzMTRmNDMyYTJjNjA0OTVkY2VmYWFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogRGVyZWsgQnVpdGVuaHVpcyA8ZGVyZWsuYnVpdGVuaHVpc0BnbWFpbC5jb20+CitEYXRl OiBUdWUsIDQgTWF5IDIwMjEgMTQ6MTI6NDEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWxsOiBV cGRhdGUgQVZQYWNrZXQgQVBJIHVzYWdlCisKK0FWUGFja2V0cyBtdXN0IGFsbCBiZSBvbiB0aGUg aGVhcCBub3csIHNpbmNlIGl0IGlzIG5vIGxvbmdlcgorcGFydCBvZiB0aGUgbGliYXYqIEFCSS4K KworU2lnbmVkLW9mZi1ieTogRGVyZWsgQnVpdGVuaHVpcyA8ZGVyZWsuYnVpdGVuaHVpc0BnbWFp bC5jb20+CistLS0KKyBzcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAgfCAxNiArKysrKystLS0tCisg c3JjL2NvcmUvaW5kZXhpbmcuY3BwICAgIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLQorIHNyYy9jb3JlL2luZGV4aW5nLmggICAgICB8ICA0ICstLQorIHNyYy9j b3JlL3V0aWxzLmNwcCAgICAgICB8ICA2IC0tLS0KKyBzcmMvY29yZS91dGlscy5oICAgICAgICAg fCAgMSAtCisgc3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwIHwgMzAgKysrKysrKysrKy0tLS0tLS0t LQorIDYgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9zcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAgYi9zcmMvY29yZS9hdWRpb3Nv dXJjZS5jcHAKK2luZGV4IDM3Y2Y5YWUuLmU0Y2U5N2MgMTAwNjQ0CistLS0gYS9zcmMvY29yZS9h dWRpb3NvdXJjZS5jcHAKKysrKyBiL3NyYy9jb3JlL2F1ZGlvc291cmNlLmNwcAorQEAgLTI4NSwx MCArMjg1LDE1IEBAIEZGTVNfQXVkaW9Tb3VyY2U6OkF1ZGlvQmxvY2sgKkZGTVNfQXVkaW9Tb3Vy Y2U6OkNhY2hlQmxvY2soQ2FjaGVJdGVyYXRvciAmcG9zKSB7CisgaW50IEZGTVNfQXVkaW9Tb3Vy Y2U6OkRlY29kZU5leHRCbG9jayhDYWNoZUl0ZXJhdG9yICpwb3MpIHsKKyAgICAgQ3VycmVudEZy YW1lID0gJkZyYW1lc1tQYWNrZXROdW1iZXJdOworIAorLSAgICBBVlBhY2tldCBQYWNrZXQ7Cist ICAgIGlmICghUmVhZFBhY2tldCgmUGFja2V0KSkKKysgICAgQVZQYWNrZXQgKlBhY2tldCA9IGF2 X3BhY2tldF9hbGxvYygpOworKyAgICBpZiAoIVBhY2tldCkKKysgICAgICAgIHRocm93IEZGTVNf RXhjZXB0aW9uKEZGTVNfRVJST1JfUEFSU0VSLCBGRk1TX0VSUk9SX0FMTE9DQVRJT05fRkFJTEVE LAorKyAgICAgICAgICAgICJDb3VsZCBub3QgYWxsb2NhdGUgcGFja2V0LiIpOworKyAgICBpZiAo IVJlYWRQYWNrZXQoUGFja2V0KSkgeworKyAgICAgICAgYXZfcGFja2V0X2ZyZWUoJlBhY2tldCk7 CisgICAgICAgICB0aHJvdyBGRk1TX0V4Y2VwdGlvbihGRk1TX0VSUk9SX1BBUlNFUiwgRkZNU19F UlJPUl9VTktOT1dOLAorICAgICAgICAgICAgICJSZWFkUGFja2V0IHVuZXhwZWN0ZWRseSBmYWls ZWQgdG8gcmVhZCBhIHBhY2tldCIpOworKyAgICB9CisgCisgICAgIC8vIFJlYWRQYWNrZXQgbWF5 IGhhdmUgY2hhbmdlZCB0aGUgcGFja2V0IG51bWJlcgorICAgICBDdXJyZW50RnJhbWUgPSAmRnJh bWVzW1BhY2tldE51bWJlcl07CitAQCAtMjk3LDggKzMwMiw5IEBAIGludCBGRk1TX0F1ZGlvU291 cmNlOjpEZWNvZGVOZXh0QmxvY2soQ2FjaGVJdGVyYXRvciAqcG9zKSB7CisgICAgIGludCBOdW1i ZXJPZlNhbXBsZXMgPSAwOworICAgICBBdWRpb0Jsb2NrICpDYWNoZWRCbG9jayA9IG51bGxwdHI7 CisgICAgIAorLSAgICBpbnQgUmV0ID0gYXZjb2RlY19zZW5kX3BhY2tldChDb2RlY0NvbnRleHQs ICZQYWNrZXQpOworLSAgICBhdl9wYWNrZXRfdW5yZWYoJlBhY2tldCk7CisrICAgIGludCBSZXQg PSBhdmNvZGVjX3NlbmRfcGFja2V0KENvZGVjQ29udGV4dCwgUGFja2V0KTsKKysgICAgYXZfcGFj a2V0X3VucmVmKFBhY2tldCk7CisrICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQpOworIAorICAg ICBhdl9mcmFtZV91bnJlZihEZWNvZGVGcmFtZSk7CisgICAgIFJldCA9IGF2Y29kZWNfcmVjZWl2 ZV9mcmFtZShDb2RlY0NvbnRleHQsIERlY29kZUZyYW1lKTsKK0BAIC01MTMsOCArNTE5LDYgQEAg dm9pZCBGRk1TX0F1ZGlvU291cmNlOjpTZWVrKCkgeworIH0KKyAKKyBib29sIEZGTVNfQXVkaW9T b3VyY2U6OlJlYWRQYWNrZXQoQVZQYWNrZXQgKlBhY2tldCkgeworLSAgICBJbml0TnVsbFBhY2tl dCgqUGFja2V0KTsKKy0KKyAgICAgd2hpbGUgKGF2X3JlYWRfZnJhbWUoRm9ybWF0Q29udGV4dCwg UGFja2V0KSA+PSAwKSB7CisgICAgICAgICBpZiAoUGFja2V0LT5zdHJlYW1faW5kZXggPT0gVHJh Y2tOdW1iZXIpIHsKKyAgICAgICAgICAgICAvLyBSZXF1aXJlZCBiZWNhdXNlIG5vdCBhbGwgYXVk aW8gcGFja2V0cywgZXNwZWNpYWxseSBpbiBvZ2csIGhhdmUgYSBwdHMuIFVzZSB0aGUgcHJldmlv dXMgdmFsaWQgcGFja2V0J3MgcHRzIGluc3RlYWQuCitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW5k ZXhpbmcuY3BwIGIvc3JjL2NvcmUvaW5kZXhpbmcuY3BwCitpbmRleCAyM2ZiOTViLi5lNTQ3YzVh IDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvaW5kZXhpbmcuY3BwCisrKysgYi9zcmMvY29yZS9pbmRl eGluZy5jcHAKK0BAIC0zMjAsNyArMzIwLDcgQEAgdm9pZCBGRk1TX0luZGV4ZXI6OkNoZWNrQXVk aW9Qcm9wZXJ0aWVzKGludCBUcmFjaywgQVZDb2RlY0NvbnRleHQgKkNvbnRleHQpIHsKKyAgICAg fQorIH0KKyAKKy12b2lkIEZGTVNfSW5kZXhlcjo6UGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNv bnRleHQgJlZpZGVvQ29udGV4dCwgQVZQYWNrZXQgJnBrdCwgaW50ICpSZXBlYXRQaWN0LAorK3Zv aWQgRkZNU19JbmRleGVyOjpQYXJzZVZpZGVvUGFja2V0KFNoYXJlZEFWQ29udGV4dCAmVmlkZW9D b250ZXh0LCBBVlBhY2tldCAqcGt0LCBpbnQgKlJlcGVhdFBpY3QsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50ICpGcmFtZVR5cGUsIGJvb2wgKkludmlzaWJsZSwgZW51 bSBBVlBpY3R1cmVTdHJ1Y3R1cmUgKkxhc3RQaWNTdHJ1Y3QpIHsKKyAgICAgaWYgKFZpZGVvQ29u dGV4dC5QYXJzZXIpIHsKKyAgICAgICAgIHVpbnQ4X3QgKk9COworQEAgLTMzMCw4ICszMzAsOCBA QCB2b2lkIEZGTVNfSW5kZXhlcjo6UGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZp ZGVvQ29udGV4dCwgQVZQYWNrZXQgJnBrdAorICAgICAgICAgYXZfcGFyc2VyX3BhcnNlMihWaWRl b0NvbnRleHQuUGFyc2VyLAorICAgICAgICAgICAgIFZpZGVvQ29udGV4dC5Db2RlY0NvbnRleHQs CisgICAgICAgICAgICAgJk9CLCAmT0JTaXplLAorLSAgICAgICAgICAgIHBrdC5kYXRhLCBwa3Qu c2l6ZSwKKy0gICAgICAgICAgICBwa3QucHRzLCBwa3QuZHRzLCBwa3QucG9zKTsKKysgICAgICAg ICAgICBwa3QtPmRhdGEsIHBrdC0+c2l6ZSwKKysgICAgICAgICAgICBwa3QtPnB0cywgcGt0LT5k dHMsIHBrdC0+cG9zKTsKKyAKKyAgICAgICAgIC8vIEguMjY0IChQQUZGKSBhbmQgSEVWQyBtYXkg aGF2ZSBvbmUgZmllbGQgcGVyIHBhY2tldCwgc28gd2UgbmVlZCB0byB0cmFjaworICAgICAgICAg Ly8gd2hlbiB3ZSBoYXZlIGEgZnVsbCBvciBoYWxmIGZyYW1lIGF2YWlsYWJsZSwgYW5kIG1hcmsg b25lIG9mIHRoZW0gYXMKK0BAIC0zNTEsMTUgKzM1MSwxNSBAQCB2b2lkIEZGTVNfSW5kZXhlcjo6 UGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZpZGVvQ29udGV4dCwgQVZQYWNrZXQg JnBrdAorIAorICAgICAgICAgKlJlcGVhdFBpY3QgPSBWaWRlb0NvbnRleHQuUGFyc2VyLT5yZXBl YXRfcGljdDsKKyAgICAgICAgICpGcmFtZVR5cGUgPSBWaWRlb0NvbnRleHQuUGFyc2VyLT5waWN0 X3R5cGU7CistICAgICAgICAqSW52aXNpYmxlID0gKEluY29tcGxldGVGcmFtZSB8fCBWaWRlb0Nv bnRleHQuUGFyc2VyLT5yZXBlYXRfcGljdCA8IDAgfHwgKHBrdC5mbGFncyAmIEFWX1BLVF9GTEFH X0RJU0NBUkQpKTsKKysgICAgICAgICpJbnZpc2libGUgPSAoSW5jb21wbGV0ZUZyYW1lIHx8IFZp ZGVvQ29udGV4dC5QYXJzZXItPnJlcGVhdF9waWN0IDwgMCB8fCAocGt0LT5mbGFncyAmIEFWX1BL VF9GTEFHX0RJU0NBUkQpKTsKKyAgICAgfSBlbHNlIHsKKy0gICAgICAgICpJbnZpc2libGUgPSAh IShwa3QuZmxhZ3MgJiBBVl9QS1RfRkxBR19ESVNDQVJEKTsKKysgICAgICAgICpJbnZpc2libGUg PSAhIShwa3QtPmZsYWdzICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCk7CisgICAgIH0KKyAKKyAgICAg aWYgKFZpZGVvQ29udGV4dC5Db2RlY0NvbnRleHQtPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQ OCkKKy0gICAgICAgIFBhcnNlVlA4KHBrdC5kYXRhWzBdLCBJbnZpc2libGUsIEZyYW1lVHlwZSk7 CisrICAgICAgICBQYXJzZVZQOChwa3QtPmRhdGFbMF0sIEludmlzaWJsZSwgRnJhbWVUeXBlKTsK KyAgICAgZWxzZSBpZiAoVmlkZW9Db250ZXh0LkNvZGVjQ29udGV4dC0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfVlA5KQorLSAgICAgICAgUGFyc2VWUDkocGt0LmRhdGFbMF0sIEludmlzaWJsZSwg RnJhbWVUeXBlKTsKKysgICAgICAgIFBhcnNlVlA5KHBrdC0+ZGF0YVswXSwgSW52aXNpYmxlLCBG cmFtZVR5cGUpOworIH0KKyAKKyB2b2lkIEZGTVNfSW5kZXhlcjo6RnJlZSgpIHsKK0BAIC00NTgs MzIgKzQ1OCwzNiBAQCBGRk1TX0luZGV4ICpGRk1TX0luZGV4ZXI6OkRvSW5kZXhpbmcoKSB7Cisg ICAgICAgICB9CisgICAgIH0KKyAKKy0gICAgQVZQYWNrZXQgUGFja2V0OworLSAgICBJbml0TnVs bFBhY2tldChQYWNrZXQpOworKyAgICBBVlBhY2tldCAqUGFja2V0ID0gYXZfcGFja2V0X2FsbG9j KCk7CisrICAgIGlmICghUGFja2V0KQorKyAgICAgICAgdGhyb3cgRkZNU19FeGNlcHRpb24oRkZN U19FUlJPUl9DT0RFQywgRkZNU19FUlJPUl9BTExPQ0FUSU9OX0ZBSUxFRCwKKysgICAgICAgICAg ICAiQ291bGQgbm90IGFsbG9jYXRlIHBhY2tldC4iKTsKKyAgICAgc3RkOjp2ZWN0b3I8aW50NjRf dD4gTGFzdFZhbGlkVFMoRm9ybWF0Q29udGV4dC0+bmJfc3RyZWFtcywgQVZfTk9QVFNfVkFMVUUp OworIAorICAgICBpbnQ2NF90IGZpbGVzaXplID0gYXZpb19zaXplKEZvcm1hdENvbnRleHQtPnBi KTsKKyAgICAgZW51bSBBVlBpY3R1cmVTdHJ1Y3R1cmUgTGFzdFBpY1N0cnVjdCA9IEFWX1BJQ1RV UkVfU1RSVUNUVVJFX1VOS05PV047CistICAgIHdoaWxlIChhdl9yZWFkX2ZyYW1lKEZvcm1hdENv bnRleHQsICZQYWNrZXQpID49IDApIHsKKysgICAgd2hpbGUgKGF2X3JlYWRfZnJhbWUoRm9ybWF0 Q29udGV4dCwgUGFja2V0KSA+PSAwKSB7CisgICAgICAgICAvLyBVcGRhdGUgcHJvZ3Jlc3MKKyAg ICAgICAgIC8vIEZvcm1hdENvbnRleHQtPnBiIGNhbiBhcHBhcmVudGx5IGJlIE5VTEwgd2hlbiBv cGVuaW5nIGltYWdlcy4KKyAgICAgICAgIGlmIChJQyAmJiBGb3JtYXRDb250ZXh0LT5wYikgewor LSAgICAgICAgICAgIGlmICgoKklDKShGb3JtYXRDb250ZXh0LT5wYi0+cG9zLCBmaWxlc2l6ZSwg SUNQcml2YXRlKSkKKysgICAgICAgICAgICBpZiAoKCpJQykoRm9ybWF0Q29udGV4dC0+cGItPnBv cywgZmlsZXNpemUsIElDUHJpdmF0ZSkpIHsKKysgICAgICAgICAgICAgICAgYXZfcGFja2V0X2Zy ZWUoJlBhY2tldCk7CisgICAgICAgICAgICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZGTVNf RVJST1JfQ0FOQ0VMTEVELCBGRk1TX0VSUk9SX1VTRVIsCisgICAgICAgICAgICAgICAgICAgICAi Q2FuY2VsbGVkIGJ5IHVzZXIiKTsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CistICAgICAg ICBpZiAoIUluZGV4TWFzay5jb3VudChQYWNrZXQuc3RyZWFtX2luZGV4KSkgeworLSAgICAgICAg ICAgIGF2X3BhY2tldF91bnJlZigmUGFja2V0KTsKKysgICAgICAgIGlmICghSW5kZXhNYXNrLmNv dW50KFBhY2tldC0+c3RyZWFtX2luZGV4KSkgeworKyAgICAgICAgICAgIGF2X3BhY2tldF91bnJl ZihQYWNrZXQpOworICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorIAorLSAgICAg ICAgaW50IFRyYWNrID0gUGFja2V0LnN0cmVhbV9pbmRleDsKKysgICAgICAgIGludCBUcmFjayA9 IFBhY2tldC0+c3RyZWFtX2luZGV4OworICAgICAgICAgRkZNU19UcmFjayAmVHJhY2tJbmZvID0g KCpUcmFja0luZGljZXMpW1RyYWNrXTsKKy0gICAgICAgIGJvb2wgS2V5RnJhbWUgPSAhIShQYWNr ZXQuZmxhZ3MgJiBBVl9QS1RfRkxBR19LRVkpOworKyAgICAgICAgYm9vbCBLZXlGcmFtZSA9ICEh KFBhY2tldC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19LRVkpOworICAgICAgICAgUmVhZFRTKFBhY2tl dCwgTGFzdFZhbGlkVFNbVHJhY2tdLCAoKlRyYWNrSW5kaWNlcylbVHJhY2tdLlVzZURUUyk7Cisg CisgICAgICAgICBpZiAoRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tUcmFja10tPmNvZGVjcGFyLT5j b2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgeworLSAgICAgICAgICAgIGludDY0X3Qg UFRTID0gVHJhY2tJbmZvLlVzZURUUyA/IFBhY2tldC5kdHMgOiBQYWNrZXQucHRzOworKyAgICAg ICAgICAgIGludDY0X3QgUFRTID0gVHJhY2tJbmZvLlVzZURUUyA/IFBhY2tldC0+ZHRzIDogUGFj a2V0LT5wdHM7CisgICAgICAgICAgICAgaWYgKFBUUyA9PSBBVl9OT1BUU19WQUxVRSkgeworICAg ICAgICAgICAgICAgICAvLyBWUHggYWx0LXJlZnMgYXJlIG91dHB1dCBhcyBwYWNrZXRzIHdoaWNo IGxhY2sgdGltZXN0bXBzIG9yIGR1cmF0aW9ucywgc2luY2UKKyAgICAgICAgICAgICAgICAgLy8g dGhleSBhcmUgaW52aXNpYmxlLiBDdXJyZW50bHksIHRoZSB0aW1lc3RhbXAgbWFuZ2xpbmcgY29k ZSBpbiBsaWJhdmZvcm1hdAorQEAgLTQ5NSw5ICs0OTksMTEgQEAgRkZNU19JbmRleCAqRkZNU19J bmRleGVyOjpEb0luZGV4aW5nKCkgeworICAgICAgICAgICAgICAgICAvLyBGRk1TMiBjdXJyZW50 bHkgc29ydHMgcGFja2V0cyBieSBQVFMsIHdoaWNoIHdpbGwgYnJlYWsgZGVjb2RpbmcsIG90aGVy d2lzZS4KKyAgICAgICAgICAgICAgICAgYm9vbCBIYXNBbHRSZWZzID0gKEZvcm1hdENvbnRleHQt PnN0cmVhbXNbVHJhY2tdLT5jb2RlY3Bhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA4IHx8 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JtYXRDb250ZXh0LT5zdHJl YW1zW1RyYWNrXS0+Y29kZWNwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQOSk7CistICAg ICAgICAgICAgICAgIGlmIChQYWNrZXQuZHVyYXRpb24gPT0gMCAmJiAhSGFzQWx0UmVmcykKKysg ICAgICAgICAgICAgICAgaWYgKFBhY2tldC0+ZHVyYXRpb24gPT0gMCAmJiAhSGFzQWx0UmVmcykg eworKyAgICAgICAgICAgICAgICAgICAgYXZfcGFja2V0X2ZyZWUoJlBhY2tldCk7CisgICAgICAg ICAgICAgICAgICAgICB0aHJvdyBGRk1TX0V4Y2VwdGlvbihGRk1TX0VSUk9SX0lOREVYSU5HLCBG Rk1TX0VSUk9SX1BBUlNFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBwYWNr ZXQgcHRzLCBkdHMsIGFuZCBkdXJhdGlvbiIpOworKyAgICAgICAgICAgICAgICB9CisgCisgICAg ICAgICAgICAgICAgIGlmIChUcmFja0luZm8uZW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAg IFBUUyA9IDA7CitAQCAtNTEzLDcgKzUxOSw3IEBAIEZGTVNfSW5kZXggKkZGTVNfSW5kZXhlcjo6 RG9JbmRleGluZygpIHsKKyAgICAgICAgICAgICBQYXJzZVZpZGVvUGFja2V0KEFWQ29udGV4dHNb VHJhY2tdLCBQYWNrZXQsICZSZXBlYXRQaWN0LCAmRnJhbWVUeXBlLCAmSW52aXNpYmxlLCAmTGFz dFBpY1N0cnVjdCk7CisgCisgICAgICAgICAgICAgVHJhY2tJbmZvLkFkZFZpZGVvRnJhbWUoUFRT LCBSZXBlYXRQaWN0LCBLZXlGcmFtZSwKKy0gICAgICAgICAgICAgICAgRnJhbWVUeXBlLCBQYWNr ZXQucG9zLCBJbnZpc2libGUpOworKyAgICAgICAgICAgICAgICBGcmFtZVR5cGUsIFBhY2tldC0+ cG9zLCBJbnZpc2libGUpOworICAgICAgICAgfSBlbHNlIGlmIChGb3JtYXRDb250ZXh0LT5zdHJl YW1zW1RyYWNrXS0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPKSB7 CisgICAgICAgICAgICAgLy8gRm9yIHZpZGVvIHNlZWtpbmcgdGltZXN0YW1wcyBhcmUgdXNlZCBv bmx5IGlmIGFsbCBwYWNrZXRzIGhhdmUKKyAgICAgICAgICAgICAvLyB0aW1lc3RhbXBzLCB3aGls ZSBmb3IgYXVkaW8gdGhleSdyZSB1c2VkIGlmIGFueSBoYXZlIHRpbWVzdGFtcHMsCitAQCAtNTIy LDI4ICs1MjgsMjkgQEAgRkZNU19JbmRleCAqRkZNU19JbmRleGVyOjpEb0luZGV4aW5nKCkgewor ICAgICAgICAgICAgICAgICBUcmFja0luZm8uSGFzVFMgPSB0cnVlOworIAorICAgICAgICAgICAg IGludDY0X3QgU3RhcnRTYW1wbGUgPSBBVkNvbnRleHRzW1RyYWNrXS5DdXJyZW50U2FtcGxlOwor LSAgICAgICAgICAgIHVpbnQzMl90IFNhbXBsZUNvdW50ID0gSW5kZXhBdWRpb1BhY2tldChUcmFj aywgJlBhY2tldCwgQVZDb250ZXh0c1tUcmFja10sICpUcmFja0luZGljZXMpOworKyAgICAgICAg ICAgIHVpbnQzMl90IFNhbXBsZUNvdW50ID0gSW5kZXhBdWRpb1BhY2tldChUcmFjaywgUGFja2V0 LCBBVkNvbnRleHRzW1RyYWNrXSwgKlRyYWNrSW5kaWNlcyk7CisgICAgICAgICAgICAgVHJhY2tJ bmZvLlNhbXBsZVJhdGUgPSBBVkNvbnRleHRzW1RyYWNrXS5Db2RlY0NvbnRleHQtPnNhbXBsZV9y YXRlOworIAorICAgICAgICAgICAgIFRyYWNrSW5mby5BZGRBdWRpb0ZyYW1lKExhc3RWYWxpZFRT W1RyYWNrXSwKKy0gICAgICAgICAgICAgICAgU3RhcnRTYW1wbGUsIFNhbXBsZUNvdW50LCBLZXlG cmFtZSwgUGFja2V0LnBvcywgUGFja2V0LmZsYWdzICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCk7Cisr ICAgICAgICAgICAgICAgIFN0YXJ0U2FtcGxlLCBTYW1wbGVDb3VudCwgS2V5RnJhbWUsIFBhY2tl dC0+cG9zLCBQYWNrZXQtPmZsYWdzICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCk7CisgICAgICAgICB9 CisgCistICAgICAgICBpZiAoIShQYWNrZXQuZmxhZ3MgJiBBVl9QS1RfRkxBR19ESVNDQVJEKSkK Ky0gICAgICAgICAgICBUcmFja0luZm8uTGFzdER1cmF0aW9uID0gUGFja2V0LmR1cmF0aW9uOwor KyAgICAgICAgaWYgKCEoUGFja2V0LT5mbGFncyAmIEFWX1BLVF9GTEFHX0RJU0NBUkQpKQorKyAg ICAgICAgICAgIFRyYWNrSW5mby5MYXN0RHVyYXRpb24gPSBQYWNrZXQtPmR1cmF0aW9uOworIAor LSAgICAgICAgYXZfcGFja2V0X3VucmVmKCZQYWNrZXQpOworKyAgICAgICAgYXZfcGFja2V0X3Vu cmVmKFBhY2tldCk7CisgICAgIH0KKysgICAgYXZfcGFja2V0X2ZyZWUoJlBhY2tldCk7CisgCisg ICAgIFRyYWNrSW5kaWNlcy0+RmluYWxpemUoQVZDb250ZXh0cywgRm9ybWF0Q29udGV4dC0+aWZv cm1hdC0+bmFtZSk7CisgICAgIHJldHVybiBUcmFja0luZGljZXMucmVsZWFzZSgpOworIH0KKyAK Ky12b2lkIEZGTVNfSW5kZXhlcjo6UmVhZFRTKGNvbnN0IEFWUGFja2V0ICZQYWNrZXQsIGludDY0 X3QgJlRTLCBib29sICZVc2VEVFMpIHsKKy0gICAgaWYgKCFVc2VEVFMgJiYgUGFja2V0LnB0cyAh PSBBVl9OT1BUU19WQUxVRSkKKy0gICAgICAgIFRTID0gUGFja2V0LnB0czsKKyt2b2lkIEZGTVNf SW5kZXhlcjo6UmVhZFRTKGNvbnN0IEFWUGFja2V0ICpQYWNrZXQsIGludDY0X3QgJlRTLCBib29s ICZVc2VEVFMpIHsKKysgICAgaWYgKCFVc2VEVFMgJiYgUGFja2V0LT5wdHMgIT0gQVZfTk9QVFNf VkFMVUUpCisrICAgICAgICBUUyA9IFBhY2tldC0+cHRzOworICAgICBpZiAoVFMgPT0gQVZfTk9Q VFNfVkFMVUUpCisgICAgICAgICBVc2VEVFMgPSB0cnVlOworLSAgICBpZiAoVXNlRFRTICYmIFBh Y2tldC5kdHMgIT0gQVZfTk9QVFNfVkFMVUUpCistICAgICAgICBUUyA9IFBhY2tldC5kdHM7Cisr ICAgIGlmIChVc2VEVFMgJiYgUGFja2V0LT5kdHMgIT0gQVZfTk9QVFNfVkFMVUUpCisrICAgICAg ICBUUyA9IFBhY2tldC0+ZHRzOworIH0KK2RpZmYgLS1naXQgYS9zcmMvY29yZS9pbmRleGluZy5o IGIvc3JjL2NvcmUvaW5kZXhpbmcuaAoraW5kZXggM2NmYzNjMy4uNWMwNjg2OCAxMDA2NDQKKy0t LSBhL3NyYy9jb3JlL2luZGV4aW5nLmgKKysrKyBiL3NyYy9jb3JlL2luZGV4aW5nLmgKK0BAIC04 MCwxMCArODAsMTAgQEAgcHJpdmF0ZToKKyAgICAgaW50NjRfdCBGaWxlc2l6ZTsKKyAgICAgdWlu dDhfdCBEaWdlc3RbMjBdOworIAorLSAgICB2b2lkIFJlYWRUUyhjb25zdCBBVlBhY2tldCAmUGFj a2V0LCBpbnQ2NF90ICZUUywgYm9vbCAmVXNlRFRTKTsKKysgICAgdm9pZCBSZWFkVFMoY29uc3Qg QVZQYWNrZXQgKlBhY2tldCwgaW50NjRfdCAmVFMsIGJvb2wgJlVzZURUUyk7CisgICAgIHZvaWQg Q2hlY2tBdWRpb1Byb3BlcnRpZXMoaW50IFRyYWNrLCBBVkNvZGVjQ29udGV4dCAqQ29udGV4dCk7 CisgICAgIHVpbnQzMl90IEluZGV4QXVkaW9QYWNrZXQoaW50IFRyYWNrLCBBVlBhY2tldCAqUGFj a2V0LCBTaGFyZWRBVkNvbnRleHQgJkNvbnRleHQsIEZGTVNfSW5kZXggJlRyYWNrSW5kaWNlcyk7 CistICAgIHZvaWQgUGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZpZGVvQ29udGV4 dCwgQVZQYWNrZXQgJnBrdCwgaW50ICpSZXBlYXRQaWN0LCBpbnQgKkZyYW1lVHlwZSwgYm9vbCAq SW52aXNpYmxlLCBlbnVtIEFWUGljdHVyZVN0cnVjdHVyZSAqTGFzdFBpY1N0cnVjdCk7CisrICAg IHZvaWQgUGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZpZGVvQ29udGV4dCwgQVZQ YWNrZXQgKnBrdCwgaW50ICpSZXBlYXRQaWN0LCBpbnQgKkZyYW1lVHlwZSwgYm9vbCAqSW52aXNp YmxlLCBlbnVtIEFWUGljdHVyZVN0cnVjdHVyZSAqTGFzdFBpY1N0cnVjdCk7CisgICAgIHZvaWQg RnJlZSgpOworIHB1YmxpYzoKKyAgICAgRkZNU19JbmRleGVyKGNvbnN0IGNoYXIgKkZpbGVuYW1l KTsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy5jcHAgYi9zcmMvY29yZS91dGlscy5jcHAK K2luZGV4IGNlNjc1MzMuLjhhMmU5OTcgMTAwNjQ0CistLS0gYS9zcmMvY29yZS91dGlscy5jcHAK KysrKyBiL3NyYy9jb3JlL3V0aWxzLmNwcAorQEAgLTYyLDEyICs2Miw2IEBAIHZvaWQgQ2xlYXJF cnJvckluZm8oRkZNU19FcnJvckluZm8gKkVycm9ySW5mbykgeworICAgICB9CisgfQorIAorLXZv aWQgSW5pdE51bGxQYWNrZXQoQVZQYWNrZXQgJnBrdCkgeworLSAgICBhdl9pbml0X3BhY2tldCgm cGt0KTsKKy0gICAgcGt0LmRhdGEgPSBudWxscHRyOworLSAgICBwa3Quc2l6ZSA9IDA7CistfQor LQorIHZvaWQgRmlsbEFQKEZGTVNfQXVkaW9Qcm9wZXJ0aWVzICZBUCwgQVZDb2RlY0NvbnRleHQg KkNUWCwgRkZNU19UcmFjayAmRnJhbWVzKSB7CisgICAgIEFQLlNhbXBsZUZvcm1hdCA9IHN0YXRp Y19jYXN0PEZGTVNfU2FtcGxlRm9ybWF0Pihhdl9nZXRfcGFja2VkX3NhbXBsZV9mbXQoQ1RYLT5z YW1wbGVfZm10KSk7CisgICAgIEFQLkJpdHNQZXJTYW1wbGUgPSBhdl9nZXRfYnl0ZXNfcGVyX3Nh bXBsZShDVFgtPnNhbXBsZV9mbXQpICogODsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy5o IGIvc3JjL2NvcmUvdXRpbHMuaAoraW5kZXggOTgxOWRjNy4uMDAzYWI3OSAxMDA2NDQKKy0tLSBh L3NyYy9jb3JlL3V0aWxzLmgKKysrKyBiL3NyYy9jb3JlL3V0aWxzLmgKK0BAIC01OCw3ICs1OCw2 IEBAIHN0ZDo6dW5pcXVlX3B0cjxUPiBtYWtlX3VuaXF1ZShBcmdzJiYuLi4gYXJncykgeworIH0K KyAKKyB2b2lkIENsZWFyRXJyb3JJbmZvKEZGTVNfRXJyb3JJbmZvICpFcnJvckluZm8pOworLXZv aWQgSW5pdE51bGxQYWNrZXQoQVZQYWNrZXQgJnBrdCk7Cisgdm9pZCBGaWxsQVAoRkZNU19BdWRp b1Byb3BlcnRpZXMgJkFQLCBBVkNvZGVjQ29udGV4dCAqQ1RYLCBGRk1TX1RyYWNrICZGcmFtZXMp OworIAorIHZvaWQgTEFWRk9wZW5GaWxlKGNvbnN0IGNoYXIgKlNvdXJjZUZpbGUsIEFWRm9ybWF0 Q29udGV4dCAqJkZvcm1hdENvbnRleHQsIGludCBUcmFjayk7CitkaWZmIC0tZ2l0IGEvc3JjL2Nv cmUvdmlkZW9zb3VyY2UuY3BwIGIvc3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwCitpbmRleCAwNmJk MTYxLi5iODg5OTcwIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwCisrKysg Yi9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAKK0BAIC02NzMsMzAgKzY3MywzNCBAQCB2b2lkIEZG TVNfVmlkZW9Tb3VyY2U6OkRlY29kZU5leHRGcmFtZShpbnQ2NF90ICZBU3RhcnRUaW1lLCBpbnQ2 NF90ICZQb3MpIHsKKyAgICAgaWYgKEhhc1BlbmRpbmdEZWxheWVkRnJhbWVzKCkpCisgICAgICAg ICByZXR1cm47CisgCistICAgIEFWUGFja2V0IFBhY2tldDsKKy0gICAgSW5pdE51bGxQYWNrZXQo UGFja2V0KTsKKy0KKy0gICAgd2hpbGUgKFJlYWRGcmFtZSgmUGFja2V0KSA+PSAwKSB7CistICAg ICAgICBpZiAoUGFja2V0LnN0cmVhbV9pbmRleCAhPSBWaWRlb1RyYWNrKSB7CistICAgICAgICAg ICAgYXZfcGFja2V0X3VucmVmKCZQYWNrZXQpOworKyAgICBBVlBhY2tldCAqUGFja2V0ID0gYXZf cGFja2V0X2FsbG9jKCk7CisrICAgIGlmICghUGFja2V0KQorKyAgICAgICAgdGhyb3cgRkZNU19F eGNlcHRpb24oRkZNU19FUlJPUl9ERUNPRElORywgRkZNU19FUlJPUl9BTExPQ0FUSU9OX0ZBSUxF RCwKKysgICAgICAgICAgICAiQ291bGQgbm90IGFsbG9jYXRlIHBhY2tldC4iKTsKKysKKysgICAg d2hpbGUgKFJlYWRGcmFtZShQYWNrZXQpID49IDApIHsKKysgICAgICAgIGlmIChQYWNrZXQtPnN0 cmVhbV9pbmRleCAhPSBWaWRlb1RyYWNrKSB7CisrICAgICAgICAgICAgYXZfcGFja2V0X3VucmVm KFBhY2tldCk7CisgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICB9CisgCisgICAgICAg ICBpZiAoQVN0YXJ0VGltZSA8IDApCistICAgICAgICAgICAgQVN0YXJ0VGltZSA9IEZyYW1lcy5V c2VEVFMgPyBQYWNrZXQuZHRzIDogUGFja2V0LnB0czsKKysgICAgICAgICAgICBBU3RhcnRUaW1l ID0gRnJhbWVzLlVzZURUUyA/IFBhY2tldC0+ZHRzIDogUGFja2V0LT5wdHM7CisgCisgICAgICAg ICBpZiAoUG9zIDwgMCkKKy0gICAgICAgICAgICBQb3MgPSBQYWNrZXQucG9zOworKyAgICAgICAg ICAgIFBvcyA9IFBhY2tldC0+cG9zOworIAorLSAgICAgICAgYm9vbCBGcmFtZUZpbmlzaGVkID0g RGVjb2RlUGFja2V0KCZQYWNrZXQpOworLSAgICAgICAgYXZfcGFja2V0X3VucmVmKCZQYWNrZXQp OworLSAgICAgICAgaWYgKEZyYW1lRmluaXNoZWQpCisrICAgICAgICBib29sIEZyYW1lRmluaXNo ZWQgPSBEZWNvZGVQYWNrZXQoUGFja2V0KTsKKysgICAgICAgIGF2X3BhY2tldF91bnJlZihQYWNr ZXQpOworKyAgICAgICAgaWYgKEZyYW1lRmluaXNoZWQpIHsKKysgICAgICAgICAgICBhdl9wYWNr ZXRfZnJlZSgmUGFja2V0KTsKKyAgICAgICAgICAgICByZXR1cm47CisrICAgICAgICB9CisgICAg IH0KKyAKKyAgICAgLy8gRmx1c2ggZmluYWwgZnJhbWVzCistICAgIEluaXROdWxsUGFja2V0KFBh Y2tldCk7CistICAgIERlY29kZVBhY2tldCgmUGFja2V0KTsKKysgICAgRGVjb2RlUGFja2V0KFBh Y2tldCk7CisrICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQpOworIH0KKyAKKyBib29sIEZGTVNf VmlkZW9Tb3VyY2U6OlNlZWtUbyhpbnQgbiwgaW50IFNlZWtPZmZzZXQpIHsKKy0tIAorMi40MC4w CisKK0Zyb20gYmY5ZTAzZTllMDg1MzRjMDI0ZTVhNzQ0YTY0MzdjNGFhYzE2MDIwMSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERlcmVrIEJ1aXRlbmh1aXMgPGRlcmVrLmJ1aXRlbmh1 aXNAZ21haWwuY29tPgorRGF0ZTogVHVlLCA0IE1heSAyMDIxIDE0OjIwOjQ3ICswMTAwCitTdWJq ZWN0OiBbUEFUQ0ggMi8zXSBjb25maWd1cmU6IFJlbW92ZSBkZXByZWNhdGVkIEFQSSB1c2UKKwor U2lnbmVkLW9mZi1ieTogRGVyZWsgQnVpdGVuaHVpcyA8ZGVyZWsuYnVpdGVuaHVpc0BnbWFpbC5j b20+CistLS0KKyBjb25maWd1cmUuYWMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIv Y29uZmlndXJlLmFjCitpbmRleCBiMzVlZjgwYmMuLmQxOTcxNGQwZiAxMDA2NDQKKy0tLSBhL2Nv bmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTAyLDEwICsxMDIsMTAgQEAgQ0ZM QUdTPSIkX0NGTEFHUyAkRkZNUEVHX0NGTEFHUyIKKworIEFDX0RFRlVOKFtURVNUX0ZGTVBFR10s CisgICAgICAgICAgW0FDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sKKy0gICAgICAg ICAgICAjaW5jbHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisrICAgICAgICAgICAgI2luY2x1 ZGUgPGxpYmF2Zm9ybWF0L2F2Zm9ybWF0Lmg+CisgICAgICAgICAgICAgI2luY2x1ZGUgPGxpYnN3 c2NhbGUvc3dzY2FsZS5oPgorICAgICAgICAgICAgIF1dLFtbCistICAgICAgICAgICAgICAgIGF2 Y29kZWNfcmVnaXN0ZXJfYWxsKCk7CisrICAgICAgICAgICAgICAgIGF2Zm9ybWF0X25ldHdvcmtf aW5pdCgpOworICAgICAgICAgICAgICAgICBzd3NjYWxlX3ZlcnNpb24oKTsKKyAgICAgICAgICAg ICBdXSldLCBbZXZhbCAkMT15ZXNdLCBbZXZhbCAkMT1ub10pCisgICAgICAgICBdKQorCmRpZmYg LS1naXQgYS9zcmNwa2dzL2ZmbXMyL3RlbXBsYXRlIGIvc3JjcGtncy9mZm1zMi90ZW1wbGF0ZQpp bmRleCAzNjVmNjRkMTBjYmFiZi4uMTY0MWVjZjQzYmU1YmIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv ZmZtczIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9mZm1zMi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZmbXMyJwogcGtnbmFtZT1mZm1zMgogdmVyc2lvbj0y LjQwCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBj b25maWd1cmVfYXJncz0iLS1lbmFibGUtc2hhcmVkIC0tZGlzYWJsZS1zdGF0aWMiCiBob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWcgYXV0b2NvbmYgYXV0b21ha2UgbGlidG9vbCIKCkZyb20gNGVk NDU4NjI5MzM5ZjJjMWEyMjI5ODdlZmJmMDI5ZmQ2YWY3NTVmNSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIg MjAyMyAyMDowMTo0NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDMwLzEwOF0gZnJlZXJkcDogcmV2 YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2ZyZWVyZHAvdGVtcGxhdGUgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2ZyZWVyZHAvdGVtcGxhdGUgYi9zcmNwa2dzL2ZyZWVyZHAvdGVtcGxhdGUKaW5k ZXggZjZjYTM5ODBjNGMxNDUuLmNjYWViMmRkYzMyMjM4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Zy ZWVyZHAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9mcmVlcmRwL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZnJlZXJkcCcKIHBrZ25hbWU9ZnJlZXJkcAogdmVy c2lvbj0yLjExLjQKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBj b25maWd1cmVfYXJncz0iLURXSVRIX0FMU0E9T04gLURXSVRIX0NVUFM9T0ZGIC1EV0lUSF9GRk1Q RUc9T04KICAtRFdJVEhfR1NUUkVBTUVSXzBfMTA9T0ZGIC1EV0lUSF9HU1RSRUFNRVJfMV8wPU9G RiAtRFdJVEhfSlBFRz1PTgoKRnJvbSAzN2M3ZTU4ODZiMWNmMmNiMTJiOTk3MWY4ZGM4NjhhZWYy MmYxNmEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ3IC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAwMzEvMTA4XSBnZXJiZXJhOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mv Z2VyYmVyYS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ2VyYmVyYS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvZ2VyYmVyYS90ZW1wbGF0ZQppbmRleCBhZTE0ZjM1Yzc2N2MwMy4uMmRjMGFjMGNlMDNi NTUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2VyYmVyYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dl cmJlcmEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnZXJi ZXJhJwogcGtnbmFtZT1nZXJiZXJhCiB2ZXJzaW9uPTEuMTIuMQotcmV2aXNpb249MQorcmV2aXNp b249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFdJVEhfU1lTVEVNRD0w IC1EV0lUSF9BVkNPREVDPTEiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCgpGcm9tIGJh M2YxODllMWY1ZmJkNDY2MWExZDg5MzU1MGM5ZDc2M2Q2NWNmMDQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFy IDIwMjMgMjA6MDE6NDcgLTA0MDAKU3ViamVjdDogW1BBVENIIDAzMi8xMDhdIGdvbGRlbmRpY3Q6 IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9nb2xkZW5kaWN0L3RlbXBsYXRlIHwg NCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ29sZGVuZGljdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ29sZGVu ZGljdC90ZW1wbGF0ZQppbmRleCBmNGEwNTc1OWY2OTNkMy4uOTdmNDQzNDdiMDNhNmEgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvZ29sZGVuZGljdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dvbGRlbmRp Y3QvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnb2xkZW5k aWN0JwogcGtnbmFtZT1nb2xkZW5kaWN0CiB2ZXJzaW9uPTEuNS4wCi1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBidWlsZF9zdHlsZT1xbWFrZQogY29uZmlndXJlX2FyZ3M9IkNPTkZJRys9emltX3N1 cHBvcnQgZ29sZGVuZGljdC5wcm8iCiBob3N0bWFrZWRlcGVuZHM9InF0NS1xbWFrZSBwa2ctY29u ZmlnIHF0NS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWtlZGVwZW5kcz0idGlmZi1k ZXZlbCBxdDUtZGV2ZWwgbGlidm9yYmlzLWRldmVsIHpsaWItZGV2ZWwKICBxdDUtd2Via2l0LWRl dmVsIGx6by1kZXZlbCBiemlwMi1kZXZlbCBsaWJhby1kZXZlbCBxdDUtc3ZnLWRldmVsCiAgbGli ZWItZGV2ZWwgcXQ1LXgxMWV4dHJhcy1kZXZlbCBmZm1wZWctZGV2ZWwgbGlibHptYS1kZXZlbAog IHF0NS1tdWx0aW1lZGlhLWRldmVsIgotc2hvcnRfZGVzYz0iQSBmZWF0dXJlLXJpY2ggZGljdGlv bmFyeSBsb29rdXAgcHJvZ3JhbSIKK3Nob3J0X2Rlc2M9IkZlYXR1cmUtcmljaCBkaWN0aW9uYXJ5 IGxvb2t1cCBwcm9ncmFtIgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIK IGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cDovL2dvbGRlbmRpY3Qu b3JnLyIKCkZyb20gYTkwZDVhYzk5M2RhMDM1MWQ0NjUwZjAxYWFjZDg5OTgxNmQzZDBhNSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDMzLzEw OF0gZ3N0LWxpYmF2OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvZ3N0LWxpYmF2 L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nc3QtbGliYXYvdGVtcGxhdGUgYi9zcmNwa2dz L2dzdC1saWJhdi90ZW1wbGF0ZQppbmRleCA0NWNhNDdjNDhiNjBiOC4uZDYzZTAzZmZhODVlZGMg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ3N0LWxpYmF2L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ3N0 LWxpYmF2L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ3N0 LWxpYmF2JwogcGtnbmFtZT1nc3QtbGliYXYKIHZlcnNpb249MS4yNC40Ci1yZXZpc2lvbj0xCity ZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1tZXNvbgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IHlhc20iCiBtYWtlZGVwZW5kcz0ib3JjLWRldmVsIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIGZm bXBlZy1kZXZlbCIKCkZyb20gNjhhNGYyNzdhM2QxNTdkYjhhZGRlNTNmYTc4YWM1MjJjNGMzYjg2 YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNv bT4KRGF0ZTogU2F0LCAzIEZlYiAyMDI0IDAxOjUyOjQ2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAw MzQvMTA4XSBnc3QtcGx1Z2lucy1iYWQxOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3Br Z3MvZ3N0LXBsdWdpbnMtYmFkMS90ZW1wbGF0ZSB8IDkgKysrKystLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Z3N0LXBsdWdpbnMtYmFkMS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ3N0LXBsdWdpbnMtYmFkMS90ZW1w bGF0ZQppbmRleCA1ZmMyMTNlNzViODI5Yy4uY2UxZTkxMmU0YTg0MzggMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvZ3N0LXBsdWdpbnMtYmFkMS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dzdC1wbHVnaW5z LWJhZDEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnc3Qt cGx1Z2lucy1iYWQxJwogcGtnbmFtZT1nc3QtcGx1Z2lucy1iYWQxCiB2ZXJzaW9uPTEuMjQuNAot cmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfaGVscGVyPSJnaXIiCiBidWlsZF9zdHlsZT1t ZXNvbgogY29uZmlndXJlX2FyZ3M9Ii1EcGFja2FnZS1vcmlnaW49aHR0cHM6Ly92b2lkbGludXgu b3JnIC1EZG9jPWRpc2FibGVkCkBAIC0yNiw4ICsyNiw4IEBAIG1ha2VkZXBlbmRzPSJhbHNhLWxp Yi1kZXZlbCBjZWx0LWRldmVsIG9wZW5zc2wtZGV2ZWwgZXhlbXBpLWRldmVsCiAgbGliZ3VkZXYt ZGV2ZWwgbGlidXNiLWRldmVsIGxpYmFvbS1kZXZlbCBsaWJiczJiLWRldmVsIGNocm9tYXByaW50 LWRldmVsCiAgZmRrLWFhYy1kZXZlbCBmbGl0ZS1kZXZlbCBmbHVpZHN5bnRoLWRldmVsIGxpYmxy ZGYtZGV2ZWwgbGFkc3BhLXNkawogIGxpbHYtZGV2ZWwgbHYyIGxpYm9wZW5qcGVnMi1kZXZlbCBz YmMtZGV2ZWwgc3BhbmRzcC1kZXZlbCB2dWxrYW4tbG9hZGVyLWRldmVsCi0gd2VicnRjLWF1ZGlv LXByb2Nlc3NpbmctZGV2ZWwgbGliemJhci1kZXZlbCBmZm1wZWctZGV2ZWwgc3J0LWRldmVsIGxp YnZhLWRldmVsCi0gJCh2b3B0X2lmIGdtZSBsaWJnbWUtZGV2ZWwpIgorIHdlYnJ0Yy1hdWRpby1w cm9jZXNzaW5nLWRldmVsIGxpYnpiYXItZGV2ZWwgZmZtcGVnLWRldmVsCisgc3J0LWRldmVsIGxp YnZhLWRldmVsICQodm9wdF9pZiBvbmV2cGwgb25lVlBMLWRldmVsKSAkKHZvcHRfaWYgZ21lIGxp YmdtZS1kZXZlbCkiCiBkZXBlbmRzPSJnc3QtcGx1Z2lucy1iYXNlMT49JHt2ZXJzaW9ufSIKIHNo b3J0X2Rlc2M9IkdTdHJlYW1lciBwbHVnaW5zIGZyb20gdGhlIGJhZCBzZXQgKHYxLngpIgogbWFp bnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKQEAgLTM3LDEyICszNywx MyBAQCBjaGFuZ2Vsb2c9Imh0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNl cy8ke3ZlcnNpb24lLip9LyMke3ZlcnNpb259IgogZGlzdGZpbGVzPSJodHRwczovL2dzdHJlYW1l ci5mcmVlZGVza3RvcC5vcmcvc3JjL2dzdC1wbHVnaW5zLWJhZC9nc3QtcGx1Z2lucy1iYWQtJHt2 ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0yNjBiZDBhNDYzYjRmYWZmOWE0MmY0MWU1ZTAyOGY3 ODdmMTBhOTJiNzc5YWY4OTU5YWVjNjQ1ODZmNTQ2YmQzCiAKLWJ1aWxkX29wdGlvbnM9ImdpciBn bWUgd2F5bGFuZCIKK2J1aWxkX29wdGlvbnM9ImdpciBnbWUgb25ldnBsIHdheWxhbmQiCiBidWls ZF9vcHRpb25zX2RlZmF1bHQ9ImdpciB3YXlsYW5kIgogZGVzY19vcHRpb25fZ21lPSJCdWlsZCB3 aXRoIEdhbWUgTXVzaWMgRW11bGF0b3Igc3VwcG9ydCIKIAogY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCiAJbWlwcyopIDs7ICMgbGliZ21lIGNhbm5vdCBiZSBidWlsdCBmb3IgbWlwcyoK Kwl4ODZfNjQqKSBidWlsZF9vcHRpb25zX2RlZmF1bHQrPSIgZ21lIG9uZXZwbCIgOzsgIyBvbmV2 cGwgb25seSBzdXBwb3J0cyA2NGJpdAogCSopIGJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiBnbWUi IDs7CiBlc2FjCiAKCkZyb20gZWM4ZmYwZTU0NWUxNTQ0N2MwNjFjZTE3MDQwODcyZjUwOThlNmI0 MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MDM1LzEwOF0gZ3N0LXJ0c3Atc2VydmVyOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3Br Z3MvZ3N0LXJ0c3Atc2VydmVyL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nc3QtcnRzcC1z ZXJ2ZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2dzdC1ydHNwLXNlcnZlci90ZW1wbGF0ZQppbmRleCBi NmE3NDE4MWE0MDYyZC4uNjA3ZmFlYTAzNTRiMDUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ3N0LXJ0 c3Atc2VydmVyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ3N0LXJ0c3Atc2VydmVyL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ3N0LXJ0c3Atc2VydmVyJwog cGtnbmFtZT1nc3QtcnRzcC1zZXJ2ZXIKIHZlcnNpb249MS4yNC40Ci1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVscGVyPWdpcgogY29uZmlndXJlX2Fy Z3M9Ii1EaW50cm9zcGVjdGlvbj1lbmFibGVkIgoKRnJvbSAxYzM2YjE2M2RmNzI1ZmM0YWJkMGI3 ODg5MDBkN2Q1NWI4Y2YyYTRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ3IC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAwMzYvMTA4XSBndXZjdmlldzogdXBkYXRlIHRvIDIuMC44LgoKLS0t CiBzcmNwa2dzL2d1dmN2aWV3L3BhdGNoZXMvZml4LWluY2x1ZGUucGF0Y2ggfCAxMCArKysrKysr KysrCiBzcmNwa2dzL2d1dmN2aWV3L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgfCAgNyArKyst LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9ndXZjdmlldy9wYXRjaGVzL2ZpeC1pbmNsdWRlLnBh dGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9ndXZjdmlldy9wYXRjaGVzL2ZpeC1pbmNsdWRlLnBh dGNoIGIvc3JjcGtncy9ndXZjdmlldy9wYXRjaGVzL2ZpeC1pbmNsdWRlLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi41MDNjMmFmM2I3OGMxYQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvZ3V2Y3ZpZXcvcGF0Y2hlcy9maXgtaW5jbHVkZS5wYXRjaApA QCAtMCwwICsxLDEwIEBACistLS0gYS9ndXZjdmlldy9ndXZjdmlldy5jCisrKysgYi9ndXZjdmll dy9ndXZjdmlldy5jCitAQCAtMjgsNiArMjgsNyBAQAorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgor ICNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVk ZSA8bG9jYWxlLmg+CisgCisgI2luY2x1ZGUgImd2aWV3LmgiCisgI2luY2x1ZGUgImd2aWV3djRs MmNvcmUuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3V2Y3ZpZXcvdGVtcGxhdGUgYi9zcmNwa2dz L2d1dmN2aWV3L3RlbXBsYXRlCmluZGV4IGQ0MmZkMzhmYTRhZDEyLi44NmE3ZmQ2MTk2MTJjOCAx MDA2NDQKLS0tIGEvc3JjcGtncy9ndXZjdmlldy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2d1dmN2 aWV3L3RlbXBsYXRlCkBAIC0xLDggKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ3V2Y3Zp ZXcnCiBwa2duYW1lPWd1dmN2aWV3Ci12ZXJzaW9uPTIuMC43Ci1yZXZpc2lvbj0yCi1jcmVhdGVf d3Jrc3JjPXllcwordmVyc2lvbj0yLjAuOAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNv bmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1zdGF0aWMgLS1kaXNhYmxlLWRlYmlh bi1tZW51IgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGF1dG9jb25mIGF1 dG9tYWtlIGxpYnRvb2wgZ2xpYi1kZXZlbCIKQEAgLTE0LDcgKzEzLDcgQEAgbWFpbnRhaW5lcj0i T3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0 ZXIiCiBob21lcGFnZT0iaHR0cDovL2d1dmN2aWV3LnNvdXJjZWZvcmdlLm5ldC8iCiBkaXN0Zmls ZXM9IiR7U09VUkNFRk9SR0VfU0lURX0vJHtwa2duYW1lfS8ke3BrZ25hbWV9LXNyYy0ke3ZlcnNp b259LnRhci5iejIiCi1jaGVja3N1bT1mNDdkNTFmYmQwNmU0NGVlYWExYTgyZjRhMTUzYzkyNzUy N2M5MGQ5NDUxNDE5N2E3MGIyOTU2MDI4Y2M4YWQ0CitjaGVja3N1bT1hMjFmNGU0NDgyODY2NjZj ZjI3YmFmZWY1MjkwY2M5NTNhMGExNzk2Yjc1MmU1YmJlNTIxMjY2ZGMxMjMwYzgxCiAKIHBvc3Rf cGF0Y2goKSB7CiAJc2VkICczMWEjaW5jbHVkZSA8bG9jYWxlLmg+JyAtaSAgZ3V2Y3ZpZXcvZ3V2 Y3ZpZXcuYwoKRnJvbSBlMDljYmJjOWI0ZDNmZTRmY2FjNjJmODJjNzJiN2JjYTUzMDNiN2FkIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpE YXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMzcv MTA4XSBoYW5kYnJha2U6IHVwZGF0ZSB0byAxLjYuMQoKLS0tCiAuLi4vcGF0Y2hlcy9maXgtbWlz c2luZy14MjY1LWxpbmstZmxhZy5wYXRjaCAgICB8IDExICsrKysrKy0tLS0tCiAuLi4vaGFuZGJy YWtlL3BhdGNoZXMvbGliaGItdnBsLWluY2x1ZGUucGF0Y2ggICB8IDE1ICsrKysrKysrKysrKysr Kwogc3JjcGtncy9oYW5kYnJha2UvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAxNyAr KysrKysrKysrLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMiBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2hhbmRicmFrZS9wYXRjaGVz L2xpYmhiLXZwbC1pbmNsdWRlLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9oYW5kYnJha2Uv cGF0Y2hlcy9maXgtbWlzc2luZy14MjY1LWxpbmstZmxhZy5wYXRjaCBiL3NyY3BrZ3MvaGFuZGJy YWtlL3BhdGNoZXMvZml4LW1pc3NpbmcteDI2NS1saW5rLWZsYWcucGF0Y2gKaW5kZXggMjZkYjAz ODY3YTBjODMuLmQ2YmIyZWRhNjI3YTM2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2hhbmRicmFrZS9w YXRjaGVzL2ZpeC1taXNzaW5nLXgyNjUtbGluay1mbGFnLnBhdGNoCisrKyBiL3NyY3BrZ3MvaGFu ZGJyYWtlL3BhdGNoZXMvZml4LW1pc3NpbmcteDI2NS1saW5rLWZsYWcucGF0Y2gKQEAgLTEsMTQg KzEsMTUgQEAKIC0tLSBhL2d0ay9jb25maWd1cmUuYWMKICsrKyBiL2d0ay9jb25maWd1cmUuYWMK IEBAIC0yMDMsNyArMjAzLDcgQEAKLSAKKwogIEFNX0NPTkRJVElPTkFMKFtNSU5HV10sIFt0ZXN0 ICJ4JG1pbmd3X2ZsYWciID0gInh5ZXMiXSkKLSAKLS1IQl9MSUJTPSIkSEJfTElCUyAtbGhhbmRi cmFrZSAtbGF2Zm9ybWF0IC1sYXZmaWx0ZXIgLWxhdmNvZGVjIC1sYXZ1dGlsIC1sZGF2MWQgLWxz d3Jlc2FtcGxlIC1scG9zdHByb2MgLWxkdmRuYXYgLWxkdmRyZWFkIC1sbXAzbGFtZSAtbHZvcmJp cyAtbHZvcmJpc2VuYyAtbG9nZyAtbHN3c2NhbGUgLWx0aGVvcmFlbmMgLWx0aGVvcmFkZWMgLWx2 cHggLWx6IC1sYnoyIC1sYmx1cmF5IC1sYXNzIC1sZm9udGNvbmZpZyAtbGZyZWV0eXBlIC1seG1s MiAtbGphbnNzb24gLWxvcHVzIC1sc3BlZXggLWx0dXJib2pwZWcgLWxsem1hIC1semltZyIKLStI Ql9MSUJTPSIkSEJfTElCUyAtbGhhbmRicmFrZSAtbGF2Zm9ybWF0IC1sYXZmaWx0ZXIgLWxhdmNv ZGVjIC1sYXZ1dGlsIC1sZGF2MWQgLWxzd3Jlc2FtcGxlIC1scG9zdHByb2MgLWxkdmRuYXYgLWxk dmRyZWFkIC1sbXAzbGFtZSAtbHZvcmJpcyAtbHZvcmJpc2VuYyAtbG9nZyAtbHN3c2NhbGUgLWx0 aGVvcmFlbmMgLWx0aGVvcmFkZWMgLWx2cHggLWx6IC1sYnoyIC1sYmx1cmF5IC1sYXNzIC1sZm9u dGNvbmZpZyAtbGZyZWV0eXBlIC1seG1sMiAtbGphbnNzb24gLWxvcHVzIC1sc3BlZXggLWx0dXJi b2pwZWcgLWxsem1hIC1semltZyAtbGRsIgorCistSEJfTElCUz0iJEhCX0xJQlMgLWxoYW5kYnJh a2UgLWxhdmZvcm1hdCAtbGF2ZmlsdGVyIC1sYXZjb2RlYyAtbGF2dXRpbCAtbGRhdjFkIC1sc3dy ZXNhbXBsZSAtbHBvc3Rwcm9jIC1sZHZkbmF2IC1sZHZkcmVhZCAtbG1wM2xhbWUgLWx2b3JiaXMg LWx2b3JiaXNlbmMgLWxvZ2cgLWxzd3NjYWxlIC1sdGhlb3JhZW5jIC1sdGhlb3JhZGVjIC1sdnB4 IC1seiAtbGJ6MiAtbGJsdXJheSAtbGFzcyAtbGZvbnRjb25maWcgLWxmcmVldHlwZSAtbHhtbDIg LWxqYW5zc29uIC1sb3B1cyAtbHNwZWV4IC1sdHVyYm9qcGVnIC1sbHptYSAtbHppbWcgLWxTdnRB djFFbmMiCisrSEJfTElCUz0iJEhCX0xJQlMgLWxoYW5kYnJha2UgLWxhdmZvcm1hdCAtbGF2Zmls dGVyIC1sYXZjb2RlYyAtbGF2dXRpbCAtbGRhdjFkIC1sc3dyZXNhbXBsZSAtbHBvc3Rwcm9jIC1s ZHZkbmF2IC1sZHZkcmVhZCAtbG1wM2xhbWUgLWx2b3JiaXMgLWx2b3JiaXNlbmMgLWxvZ2cgLWxz d3NjYWxlIC1sdGhlb3JhZW5jIC1sdGhlb3JhZGVjIC1sdnB4IC1seiAtbGJ6MiAtbGJsdXJheSAt bGFzcyAtbGZvbnRjb25maWcgLWxmcmVldHlwZSAtbHhtbDIgLWxqYW5zc29uIC1sb3B1cyAtbHNw ZWV4IC1sdHVyYm9qcGVnIC1sbHptYSAtbHppbWcgLWxTdnRBdjFFbmMgLWxkbCIKICBIQl9DUFBG TEFHUz0iJEhCX0NQUEZMQUdTICRIQklOQyIKLSAKKwogIFBLR19DSEVDS19NT0RVTEVTKFt4MjY0 XSwgW3gyNjRdLCBzeXNfeDI2ND15ZXMsIHN5c194MjY0PW5vKQorCiAtLS0gYS90ZXN0L21vZHVs ZS5kZWZzCiArKysgYi90ZXN0L21vZHVsZS5kZWZzCiBAQCAtNjksNiArNjksOSBAQApkaWZmIC0t Z2l0IGEvc3JjcGtncy9oYW5kYnJha2UvcGF0Y2hlcy9saWJoYi12cGwtaW5jbHVkZS5wYXRjaCBi L3NyY3BrZ3MvaGFuZGJyYWtlL3BhdGNoZXMvbGliaGItdnBsLWluY2x1ZGUucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjI5OGY5ZjRhYjI4ZjJhCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9oYW5kYnJha2UvcGF0Y2hlcy9saWJoYi12cGwtaW5jbHVk ZS5wYXRjaApAQCAtMCwwICsxLDE1IEBACistLS0gYS9saWJoYi9tb2R1bGUuZGVmcwkyMDIzLTAx LTIyIDExOjM2OjQ5LjAwMDAwMDAwMCAtMDUwMAorKysrIGIvbGliaGIvbW9kdWxlLmRlZnMJMjAy My0wNC0wMyAyMjozNzo1Mi4zOTU0NjcwMTAgLTA0MDAKK0BAIC00NiwxMSArNDYsNyBAQAorIExJ QkhCLkdDQy5JICs9ICQoTElCSEIuYnVpbGQvKSAkKENPTlRSSUIuYnVpbGQvKWluY2x1ZGUKKyAK KyBpZmVxICgxLCQoRkVBVFVSRS5xc3YpKQorLSAgICBpZmVxICgkKEhPU1Quc3lzdGVtKSxmcmVl YnNkKSkKKy0gICAgICAgIExJQkhCLkdDQy5JICs9ICQoTE9DQUxCQVNFKS9pbmNsdWRlL3ZwbAor LSAgICBlbHNlCistICAgICAgICBMSUJIQi5HQ0MuSSArPSAkKENPTlRSSUIuYnVpbGQvKWluY2x1 ZGUvdnBsCistICAgIGVuZGlmCisrICAgIExJQkhCLkdDQy5JICs9IC91c3IvaW5jbHVkZS92cGwK KyBlbmRpZgorIAorIGlmbmVxICgsJChmaWx0ZXIgJChIT1NULnN5c3RlbSksZnJlZWJzZCBuZXRi c2Qgb3BlbmJzZCkpCmRpZmYgLS1naXQgYS9zcmNwa2dzL2hhbmRicmFrZS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvaGFuZGJyYWtlL3RlbXBsYXRlCmluZGV4IGNhNWU0NTcxZTQ5YzM3Li42YWMyMDBmMDlj ZjVkMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9oYW5kYnJha2UvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9oYW5kYnJha2UvdGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ2hhbmRicmFrZScKIHBrZ25hbWU9aGFuZGJyYWtlCi12ZXJzaW9uPTEuNS4xCit2ZXJzaW9u PTEuNi4xCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVf YXJncz0iLS1mb3JjZSAtLWRpc2FibGUtZ3RrLXVwZGF0ZS1jaGVja3MgLS1kaXNhYmxlLWRmLWZl dGNoIC0taGFyZGVuCi0gJCh2b3B0X2VuYWJsZSBmZGtfYWFjIGZkay1hYWMpICQodm9wdF9lbmFi bGUgbnZlbmMpIgorICQodm9wdF9lbmFibGUgZmRrX2FhYyBmZGstYWFjKSAkKHZvcHRfZW5hYmxl IG52ZW5jKSAkKHZvcHRfZW5hYmxlIHFzdikiCiBtYWtlX2J1aWxkX2FyZ3M9Ii1DICR7WEJQU19U UklQTEVUfSIKIG1ha2VfaW5zdGFsbF9hcmdzPSItQyAke1hCUFNfVFJJUExFVH0iCiBob3N0bWFr ZWRlcGVuZHM9ImF1dG9tYWtlIGNtYWtlIGdldHRleHQtZGV2ZWwgZ2xpYi1kZXZlbCBpbnRsdG9v bCBsaWJ0b29sIG00IG1lc29uIG5hc20gcGtnLWNvbmZpZyBweXRob24zIgpAQCAtMTIsOCArMTIs MTEgQEAgbWFrZWRlcGVuZHM9ImJ6aXAyLWRldmVsIGZmbXBlZy1kZXZlbCBnc3QtcGx1Z2lucy1i YXNlMS1kZXZlbCBndGsrMy1kZXZlbAogIGphbnNzb24tZGV2ZWwgbGFtZS1kZXZlbCBsaWJhc3Mt ZGV2ZWwgbGliYmx1cmF5LWRldmVsIGxpYmRhdjFkLWRldmVsCiAgbGliZHZkbmF2LWRldmVsIGxp YmR2ZHJlYWQtZGV2ZWwgbGliZ3VkZXYtZGV2ZWwgbGlibnVtYS1kZXZlbAogIGxpYnNhbXBsZXJh dGUtZGV2ZWwgbGlidGhlb3JhLWRldmVsIGxpYnZvcmJpcy1kZXZlbCBsaWJ2cHgtZGV2ZWwgbGli eG1sMi1kZXZlbAotIG9wdXMtZGV2ZWwgc3BlZXgtZGV2ZWwgeDI2NC1kZXZlbCB4MjY1LWRldmVs IHppbWctZGV2ZWwKKyBvcHVzLWRldmVsIHNwZWV4LWRldmVsIHgyNjQtZGV2ZWwgeDI2NS1kZXZl bCB6aW1nLWRldmVsIGxpYnN2dC1hdjEtZGV2ZWwKICAkKHZvcHRfaWYgZmRrX2FhYyBmZGstYWFj LWRldmVsKQorICQodm9wdF9pZiBxc3YgbGlidmEtZGV2ZWwpCisgJCh2b3B0X2lmIHFzdiBsaWJk cm0tZGV2ZWwpCisgJCh2b3B0X2lmIHFzdiBvbmVWUEwtZGV2ZWwpCiAgJCh2b3B0X2lmIG52ZW5j IG52LWNvZGVjLWhlYWRlcnMpIgogZGVwZW5kcz0iZGVza3RvcC1maWxlLXV0aWxzIGdzdC1wbHVn aW5zLWdvb2QxIGhpY29sb3ItaWNvbi10aGVtZSIKIHNob3J0X2Rlc2M9Ik11bHRpdGhyZWFkZWQg dmlkZW8gdHJhbnNjb2RlciIKQEAgLTIxLDE1ICsyNCwxNSBAQCBtYWludGFpbmVyPSJFbm5vIEJv bGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5IgogaG9t ZXBhZ2U9Imh0dHBzOi8vaGFuZGJyYWtlLmZyLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIu Y29tL0hhbmRCcmFrZS9IYW5kQnJha2UvcmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJzaW9ufS9IYW5k QnJha2UtJHt2ZXJzaW9ufS1zb3VyY2UudGFyLmJ6MiIKLWNoZWNrc3VtPTM5OTlmZTA2ZDUzMDlj ODE5Nzk5YTczYTk2OGE4ZWMzODQwZTc4NDBjMmI2NGFmOGY1Y2RiN2ZkOGM5NDMwZjAKK2NoZWNr c3VtPTk0Y2NmZTAzZGI5MTdhOTE2NTAwMDBjNTEwZjdmZDUzZjg0NGRhMTlmMTlhZDRiNGJlMWI4 ZjZiYzMxYThkNGMKIG5vY3Jvc3M9eWVzCiAKLWJ1aWxkX29wdGlvbnM9ImZka19hYWMgbnZlbmMi CitidWlsZF9vcHRpb25zPSJmZGtfYWFjIG52ZW5jIHFzdiIKIAogY2FzZSAiJFhCUFNfVEFSR0VU X01BQ0hJTkUiIGluCiAJeDg2XzY0KnxpNjg2KikKIAkJQ0ZMQUdTPSItbXNzZSIKLQkJYnVpbGRf b3B0aW9uc19kZWZhdWx0PSJudmVuYyIKKwkJYnVpbGRfb3B0aW9uc19kZWZhdWx0PSJudmVuYyBx c3YiCiAJCTs7CiBlc2FjCiAKQEAgLTM3LDcgKzQwLDcgQEAgcHJlX2NvbmZpZ3VyZSgpIHsKIAkj IHVzZSBzeXN0ZW0gbGlicmFyaWVzLCBkb24ndCBkb3dubG9hZCB0aGVtCiAJcm0gLXJmIGNvbnRy aWIvCiAJZm9yIG1vZHVsZSBpbiBmZGstYWFjIGZmbXBlZyBsaWJibHVyYXkgbGliZGF2MWQgbGli ZHZkbmF2IGxpYmR2ZHJlYWQgbnZlbmMgXAotCQl4MjY1IHppbWc7IGRvCisJCXgyNjUgemltZyBz dnQtYXYxIGxpYnZwbDsgZG8KIAkgICAgdnNlZCAtaSAiL01PRFVMRVMgKz0gY29udHJpYlwvJHtt b2R1bGV9L2QiIG1ha2UvaW5jbHVkZS9tYWluLmRlZnMKIAlkb25lCiB9CgpGcm9tIGM1YjY4Yjli MmRkODEzN2Y1ZGZiMTBhYmYwZjE2NDQxNjBlYWExMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMg MjA6MDE6NDggLTA0MDAKU3ViamVjdDogW1BBVENIIDAzOC8xMDhdIGhlZGdld2FyczogcmV2YnVt cCBmb3IgZmZtcGVnNgoKLS0tCiAuLi4vMDAwMS1BZGQtc3VwcG9ydC1mb3ItZmZtcGVnLTYuMC5w YXRjaCAgICAgfCA0NTkgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2hlZGdld2Fycy90ZW1w bGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgNDYwIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2hl ZGdld2Fycy9wYXRjaGVzLzAwMDEtQWRkLXN1cHBvcnQtZm9yLWZmbXBlZy02LjAucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2hlZGdld2Fycy9wYXRjaGVzLzAwMDEtQWRkLXN1cHBvcnQtZm9y LWZmbXBlZy02LjAucGF0Y2ggYi9zcmNwa2dzL2hlZGdld2Fycy9wYXRjaGVzLzAwMDEtQWRkLXN1 cHBvcnQtZm9yLWZmbXBlZy02LjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwMDAuLjIyOGYzMjlmYzM4MDJlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9o ZWRnZXdhcnMvcGF0Y2hlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1mZm1wZWctNi4wLnBhdGNoCkBA IC0wLDAgKzEsNDU5IEBACitGcm9tIDcxNjkxZmFkODY1NDAzMTMyOGY0YWYwNzdmYzMyYWFmMjlj ZGI3ZDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZWtrYSBSaXN0b2xhIDxwZWtr YXJyQHByb3Rvbm1haWwuY29tPgorRGF0ZTogVHVlLCA5IE1heSAyMDIzIDIwOjExOjQ3ICswMzAw CitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBmZm1wZWcgNi4wCisKKy0gVXNlIHRo ZSBuZXcgc2VuZF9mcmFtZS9yZWNlaXZlX3BhY2tldCBBUEkgZm9yIGVuY29kaW5nCistIFVzZSB0 aGUgbmV3IGNoYW5uZWwgbGF5b3V0IEFQSSBmb3IgYXVkaW8KKy0gRml4IGF1ZGlvIHJlY29yZGlu ZworICAtIENvcHkgY29kZWMgcGFyYW1ldGVycyB0byB0aGUgc3RyZWFtIHBhcmFtZXRlcnMKKyAg LSBTZXQgY29ycmVjdCBwdHMgZm9yIGF1ZGlvIGZyYW1lcworLSBSZWFkIGF1ZGlvIHNhbXBsZXMg ZnJvbSBmaWxlIGRpcmVjdGx5IHRvIHRoZSByZWZjb3VudGVkIEFWRnJhbWUgYnVmZmVyIGluc3Rl YWQgb2YgdGhlIGBnX3BTYW1wbGVzYCBidWZmZXIKKy0gVXNlIGdsb2JhbCBBVlBhY2tldHMgYWxs b2NhdGVkIHdpdGggYGF2X3BhY2tldF9hbGxvY2AKKy0gU3RvcCB0cnlpbmcgdG8gd3JpdGUgbW9y ZSBhdWRpbyBmcmFtZXMgd2hlbiBgV3JpdGVBdWRpb0ZyYW1lYCBmYWlscyB3aXRoIGEgbmVnYXRp dmUgZXJyb3IgY29kZQorLSBGaXggc2VnZmF1bHQgd2l0aCBgZ19wQ29udGFpbmVyLT51cmxgLiBU aGUgZmllbGQgaGFzIHRvIGJlIGFsbG9jYXRlZCB3aXRoIGBhdl9tYWxsb2NgIGJlZm9yZSB3cml0 aW5nIHRvIGl0LiBJdCdzIHNldCB0byBgTlVMTGAgYnkgZGVmYXVsdC4KKy0gUHJvcGVybHkgZnJl ZSBhbGxvY2F0aW9ucyB3aXRoIGBhdmNvZGVjX2ZyZWVfY29udGV4dGAgYW5kIGBhdmZvcm1hdF9m cmVlX2NvbnRleHRgCistLS0KKyBoZWRnZXdhcnMvYXZ3cmFwcGVyL2F2d3JhcHBlci5jIHwgMjM0 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIwMyBp bnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2hlZGdld2Fycy9h dndyYXBwZXIvYXZ3cmFwcGVyLmMgYi9oZWRnZXdhcnMvYXZ3cmFwcGVyL2F2d3JhcHBlci5jCitp bmRleCA2YzBmZTczOWIuLjNkYWViMDdiNyAxMDA2NDQKKy0tLSBhL2hlZGdld2Fycy9hdndyYXBw ZXIvYXZ3cmFwcGVyLmMKKysrKyBiL2hlZGdld2Fycy9hdndyYXBwZXIvYXZ3cmFwcGVyLmMKK0BA IC00MiwxNSArNDIsMTkgQEAKKyAjZGVmaW5lIFVOVVNFRCh4KSAodm9pZCkoeCkKKyAKKyBzdGF0 aWMgQVZGb3JtYXRDb250ZXh0KiBnX3BDb250YWluZXI7Cistc3RhdGljIEFWT3V0cHV0Rm9ybWF0 KiBnX3BGb3JtYXQ7Cisrc3RhdGljIGNvbnN0IEFWT3V0cHV0Rm9ybWF0KiBnX3BGb3JtYXQ7Cisg c3RhdGljIEFWU3RyZWFtKiBnX3BBU3RyZWFtOworIHN0YXRpYyBBVlN0cmVhbSogZ19wVlN0cmVh bTsKKyBzdGF0aWMgQVZGcmFtZSogZ19wQUZyYW1lOworIHN0YXRpYyBBVkZyYW1lKiBnX3BWRnJh bWU7Cistc3RhdGljIEFWQ29kZWMqIGdfcEFDb2RlYzsKKy1zdGF0aWMgQVZDb2RlYyogZ19wVkNv ZGVjOworK3N0YXRpYyBjb25zdCBBVkNvZGVjKiBnX3BBQ29kZWM7Cisrc3RhdGljIGNvbnN0IEFW Q29kZWMqIGdfcFZDb2RlYzsKKyBzdGF0aWMgQVZDb2RlY0NvbnRleHQqIGdfcEF1ZGlvOworIHN0 YXRpYyBBVkNvZGVjQ29udGV4dCogZ19wVmlkZW87CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9N QUpPUiA+PSA1OAorK3N0YXRpYyBBVlBhY2tldCogZ19wQVBhY2tldDsKKytzdGF0aWMgQVZQYWNr ZXQqIGdfcFZQYWNrZXQ7CisrI2VuZGlmCisgCisgc3RhdGljIGludCBnX1dpZHRoLCBnX0hlaWdo dDsKKyBzdGF0aWMgdWludDMyX3QgZ19GcmVxdWVuY3ksIGdfQ2hhbm5lbHM7CitAQCAtNTgsOCAr NjIsMTMgQEAgc3RhdGljIGludCBnX1ZRdWFsaXR5OworIHN0YXRpYyBBVlJhdGlvbmFsIGdfRnJh bWVyYXRlOworIAorIHN0YXRpYyBGSUxFKiBnX3BTb3VuZEZpbGU7CisrI2lmIExJQkFWVVRJTF9W RVJTSU9OX01BSk9SIDwgNTMKKyBzdGF0aWMgaW50MTZfdCogZ19wU2FtcGxlczsKKysjZW5kaWYK KyBzdGF0aWMgaW50IGdfTnVtU2FtcGxlczsKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9S ID49IDUzCisrc3RhdGljIGludDY0X3QgZ19OZXh0QXVkaW9QdHM7CisrI2VuZGlmCisgCisgCisg Ly8gY29tcGF0aWJpbGl0eSBzZWN0aW9uCitAQCAtOTMsNiArMTAyLDggQEAgc3RhdGljIHZvaWQg cmVzY2FsZV90cyhBVlBhY2tldCAqcGt0LCBBVlJhdGlvbmFsIGN0YiwgQVZSYXRpb25hbCBzdGIp CisgICAgIGlmIChwa3QtPmR1cmF0aW9uID4gMCkKKyAgICAgICAgIHBrdC0+ZHVyYXRpb24gPSBh dl9yZXNjYWxlX3EocGt0LT5kdXJhdGlvbiwgY3RiLCBzdGIpOworIH0KKysKKysjZGVmaW5lIGF2 Y29kZWNfZnJlZV9jb250ZXh0KGN0eCkgICAgICAgICAgIGRvIHsgYXZjb2RlY19jbG9zZSgqY3R4 KTsgYXZfZnJlZXAoY3R4KTsgfSB3aGlsZSAoMCkKKyAjZW5kaWYKKyAKKyAjaWZuZGVmIEFWX0NP REVDX0NBUF9ERUxBWQorQEAgLTE2NSw4ICsxNzYsNDIgQEAgc3RhdGljIHZvaWQgTG9nKGNvbnN0 IGNoYXIqIHBGbXQsIC4uLikKKyAgICAgQWRkRmlsZUxvZ1JhdyhCdWZmZXIpOworIH0KKyAKKysj aWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SID49IDU4Cisrc3RhdGljIGludCBFbmNvZGVBbmRX cml0ZUZyYW1lKAorKyAgICAgICAgY29uc3QgQVZTdHJlYW0qIHBTdHJlYW0sCisrICAgICAgICBB VkNvZGVjQ29udGV4dCogcENvZGVjQ29udGV4dCwKKysgICAgICAgIGNvbnN0IEFWRnJhbWUqIHBG cmFtZSwKKysgICAgICAgIEFWUGFja2V0KiBwUGFja2V0KQorK3sKKysgICAgaW50IHJldDsKKysK KysgICAgcmV0ID0gYXZjb2RlY19zZW5kX2ZyYW1lKHBDb2RlY0NvbnRleHQsIHBGcmFtZSk7Cisr ICAgIGlmIChyZXQgPCAwKQorKyAgICAgICAgcmV0dXJuIEZhdGFsRXJyb3IoImF2Y29kZWNfc2Vu ZF9mcmFtZSBmYWlsZWQ6ICVkIiwgcmV0KTsKKysgICAgd2hpbGUgKDEpCisrICAgIHsKKysgICAg ICAgIHJldCA9IGF2Y29kZWNfcmVjZWl2ZV9wYWNrZXQocENvZGVjQ29udGV4dCwgcFBhY2tldCk7 CisrICAgICAgICBpZiAocmV0ID09IEFWRVJST1IoRUFHQUlOKSkKKysgICAgICAgICAgICByZXR1 cm4gMTsKKysgICAgICAgIGVsc2UgaWYgKHJldCA9PSBBVkVSUk9SX0VPRikKKysgICAgICAgICAg ICByZXR1cm4gMDsKKysgICAgICAgIGVsc2UgaWYgKHJldCA8IDApCisrICAgICAgICAgICAgcmV0 dXJuIEZhdGFsRXJyb3IoImF2Y29kZWNfcmVjZWl2ZV9wYWNrZXQgZmFpbGVkOiAlZCIsIHJldCk7 CisrCisrICAgICAgICBhdl9wYWNrZXRfcmVzY2FsZV90cyhwUGFja2V0LCBwQ29kZWNDb250ZXh0 LT50aW1lX2Jhc2UsIHBTdHJlYW0tPnRpbWVfYmFzZSk7CisrCisrICAgICAgICAvLyBXcml0ZSB0 aGUgY29tcHJlc3NlZCBmcmFtZSB0byB0aGUgbWVkaWEgZmlsZS4KKysgICAgICAgIHBQYWNrZXQt PnN0cmVhbV9pbmRleCA9IHBTdHJlYW0tPmluZGV4OworKyAgICAgICAgcmV0ID0gYXZfaW50ZXJs ZWF2ZWRfd3JpdGVfZnJhbWUoZ19wQ29udGFpbmVyLCBwUGFja2V0KTsKKysgICAgICAgIGlmIChy ZXQgIT0gMCkKKysgICAgICAgICAgICByZXR1cm4gRmF0YWxFcnJvcigiRXJyb3Igd2hpbGUgd3Jp dGluZyBmcmFtZTogJWQiLCByZXQpOworKyAgICB9CisrfQorKyNlbmRpZgorKworIHN0YXRpYyB2 b2lkIEFkZEF1ZGlvU3RyZWFtKCkKKyB7CisrICAgIGludCByZXQ7CisgICAgIGdfcEFTdHJlYW0g PSBhdmZvcm1hdF9uZXdfc3RyZWFtKGdfcENvbnRhaW5lciwgZ19wQUNvZGVjKTsKKyAgICAgaWYo IWdfcEFTdHJlYW0pCisgICAgIHsKK0BAIC0xNzYsMjAgKzIyMSw0NCBAQCBzdGF0aWMgdm9pZCBB ZGRBdWRpb1N0cmVhbSgpCisgICAgIGdfcEFTdHJlYW0tPmlkID0gMTsKKyAKKyAjaWYgTElCQVZD T0RFQ19WRVJTSU9OX01BSk9SID49IDU5CistICAgIGNvbnN0IEFWQ29kZWMgKmF1ZGlvX3N0X2Nv ZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoZ19wQVN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lk KTsKKy0gICAgZ19wQXVkaW8gPSBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKGF1ZGlvX3N0X2NvZGVj KTsKKy0gICAgYXZjb2RlY19wYXJhbWV0ZXJzX3RvX2NvbnRleHQoZ19wQXVkaW8sIGdfcEFTdHJl YW0tPmNvZGVjcGFyKTsKKysgICAgZ19wQXVkaW8gPSBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKGdf cEFDb2RlYyk7CisgI2Vsc2UKKyAgICAgZ19wQXVkaW8gPSBnX3BBU3RyZWFtLT5jb2RlYzsKKy0j ZW5kaWYKKyAKKyAgICAgYXZjb2RlY19nZXRfY29udGV4dF9kZWZhdWx0czMoZ19wQXVkaW8sIGdf cEFDb2RlYyk7CisgICAgIGdfcEF1ZGlvLT5jb2RlY19pZCA9IGdfcEFDb2RlYy0+aWQ7CisrI2Vu ZGlmCisgCisgICAgIC8vIHB1dCBwYXJhbWV0ZXJzCisgICAgIGdfcEF1ZGlvLT5zYW1wbGVfZm10 ID0gQVZfU0FNUExFX0ZNVF9TMTY7CisgICAgIGdfcEF1ZGlvLT5zYW1wbGVfcmF0ZSA9IGdfRnJl cXVlbmN5OworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPj0gNjAKKysgICAgY29uc3Qg QVZDaGFubmVsTGF5b3V0KiBwQ2hMYXlvdXQgPSBnX3BBQ29kZWMtPmNoX2xheW91dHM7CisrICAg IGlmIChwQ2hMYXlvdXQpCisrICAgIHsKKysgICAgICAgIGZvciAoOyBwQ2hMYXlvdXQtPm5iX2No YW5uZWxzOyBwQ2hMYXlvdXQrKykKKysgICAgICAgIHsKKysgICAgICAgICAgICBpZiAocENoTGF5 b3V0LT5uYl9jaGFubmVscyA9PSBnX0NoYW5uZWxzKQorKyAgICAgICAgICAgIHsKKysgICAgICAg ICAgICAgICAgcmV0ID0gYXZfY2hhbm5lbF9sYXlvdXRfY29weSgmZ19wQXVkaW8tPmNoX2xheW91 dCwgcENoTGF5b3V0KTsKKysgICAgICAgICAgICAgICAgaWYgKHJldCAhPSAwKQorKyAgICAgICAg ICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICBMb2coIkNoYW5uZWwgbGF5b3V0IGNvcHkg ZmFpbGVkOiAlZFxuIiwgcmV0KTsKKysgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKysgICAg ICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9Cisr ICAgICAgICB9CisrICAgIH0KKysgICAgaWYgKCFnX3BBdWRpby0+Y2hfbGF5b3V0Lm5iX2NoYW5u ZWxzKQorKyAgICB7CisrICAgICAgICAvLyBubyBzdWl0YWJsZSBsYXlvdXQgZm91bmQKKysgICAg ICAgIGdfcEF1ZGlvLT5jaF9sYXlvdXQub3JkZXIgPSBBVl9DSEFOTkVMX09SREVSX1VOU1BFQzsK KysgICAgICAgIGdfcEF1ZGlvLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgPSBnX0NoYW5uZWxzOwor KyAgICB9CisrI2Vsc2UKKyAgICAgZ19wQXVkaW8tPmNoYW5uZWxzID0gZ19DaGFubmVsczsKKysj ZW5kaWYKKyAKKyAgICAgLy8gc2V0IHRpbWUgYmFzZSBhcyBpbnZlcnMgb2Ygc2FtcGxlIHJhdGUK KyAgICAgZ19wQXVkaW8tPnRpbWVfYmFzZS5kZW4gPSBnX3BBU3RyZWFtLT50aW1lX2Jhc2UuZGVu ID0gZ19GcmVxdWVuY3k7CitAQCAtMjEzLDYgKzI4MiwxNSBAQCBzdGF0aWMgdm9pZCBBZGRBdWRp b1N0cmVhbSgpCisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKysjaWYgTElCQVZDT0RFQ19W RVJTSU9OX01BSk9SID49IDU4CisrICAgIHJldCA9IGF2Y29kZWNfcGFyYW1ldGVyc19mcm9tX2Nv bnRleHQoZ19wQVN0cmVhbS0+Y29kZWNwYXIsIGdfcEF1ZGlvKTsKKysgICAgaWYgKHJldCA8IDAp CisrICAgIHsKKysgICAgICAgIExvZygiQ291bGQgbm90IGNvcHkgcGFyYW1ldGVycyBmcm9tIGNv ZGVjIGNvbnRleHQ6ICVkXG4iLCByZXQpOworKyAgICAgICAgcmV0dXJuOworKyAgICB9CisrI2Vu ZGlmCisrCisgI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA+PSA1NAorICAgICBpZiAoZ19w QUNvZGVjLT5jYXBhYmlsaXRpZXMgJiBBVl9DT0RFQ19DQVBfVkFSSUFCTEVfRlJBTUVfU0laRSkK KyAjZWxzZQorQEAgLTIyMSwxMyArMjk5LDQ2IEBAIHN0YXRpYyB2b2lkIEFkZEF1ZGlvU3RyZWFt KCkKKyAgICAgICAgIGdfTnVtU2FtcGxlcyA9IDQwOTY7CisgICAgIGVsc2UKKyAgICAgICAgIGdf TnVtU2FtcGxlcyA9IGdfcEF1ZGlvLT5mcmFtZV9zaXplOworLSAgICBnX3BTYW1wbGVzID0gKGlu dDE2X3QqKWF2X21hbGxvYyhnX051bVNhbXBsZXMqZ19DaGFubmVscypzaXplb2YoaW50MTZfdCkp OworICAgICBnX3BBRnJhbWUgPSBhdl9mcmFtZV9hbGxvYygpOworICAgICBpZiAoIWdfcEFGcmFt ZSkKKyAgICAgeworICAgICAgICAgTG9nKCJDb3VsZCBub3QgYWxsb2NhdGUgZnJhbWVcbiIpOwor ICAgICAgICAgcmV0dXJuOworICAgICB9CisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX01BSk9SID49 IDUzCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA+PSA2MAorKyAgICByZXQgPSBhdl9j aGFubmVsX2xheW91dF9jb3B5KCZnX3BBRnJhbWUtPmNoX2xheW91dCwgJmdfcEF1ZGlvLT5jaF9s YXlvdXQpOworKyAgICBpZiAocmV0ICE9IDApCisrICAgIHsKKysgICAgICAgIExvZygiQ2hhbm5l bCBsYXlvdXQgY29weSBmb3IgZnJhbWUgZmFpbGVkOiAlZFxuIiwgcmV0KTsKKysgICAgICAgIHJl dHVybjsKKysgICAgfQorKyNlbHNlCisrICAgIGdfcEFGcmFtZS0+Y2hhbm5lbHMgPSBnX3BBdWRp by0+Y2hhbm5lbHM7CisrI2VuZGlmCisrICAgIGdfcEFGcmFtZS0+Zm9ybWF0ID0gZ19wQXVkaW8t PnNhbXBsZV9mbXQ7CisrICAgIGdfcEFGcmFtZS0+c2FtcGxlX3JhdGUgPSBnX3BBdWRpby0+c2Ft cGxlX3JhdGU7CisrICAgIGdfcEFGcmFtZS0+bmJfc2FtcGxlcyA9IGdfTnVtU2FtcGxlczsKKysg ICAgcmV0ID0gYXZfZnJhbWVfZ2V0X2J1ZmZlcihnX3BBRnJhbWUsIDEpOworKyAgICBpZiAocmV0 IDwgMCkKKysgICAgeworKyAgICAgICAgTG9nKCJGYWlsZWQgdG8gYWxsb2NhdGUgZnJhbWUgYnVm ZmVyOiAlZFxuIiwgcmV0KTsKKysgICAgICAgIHJldHVybjsKKysgICAgfQorKyNlbHNlCisrICAg IGdfcFNhbXBsZXMgPSAoaW50MTZfdCopYXZfbWFsbG9jKGdfTnVtU2FtcGxlcypnX0NoYW5uZWxz KnNpemVvZihpbnQxNl90KSk7CisrI2VuZGlmCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpP UiA+PSA1OAorKyAgICBnX3BBUGFja2V0ID0gYXZfcGFja2V0X2FsbG9jKCk7CisrICAgIGlmICgh Z19wQVBhY2tldCkKKysgICAgeworKyAgICAgICAgTG9nKCJDb3VsZCBub3QgYWxsb2NhdGUgYXVk aW8gcGFja2V0XG4iKTsKKysgICAgICAgIHJldHVybjsKKysgICAgfQorKyNlbmRpZgorKyNpZiBM SUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPj0gNTMKKysgICAgZ19OZXh0QXVkaW9QdHMgPSAwOwor KyNlbmRpZgorIH0KKyAKKyAvLyByZXR1cm5zIG5vbi16ZXJvIGlmIHRoZXJlIGlzIG1vcmUgc291 bmQsIC0xIGluIGNhc2Ugb2YgZXJyb3IKK0BAIC0yMzYsMjIgKzM0Nyw0NiBAQCBzdGF0aWMgaW50 IFdyaXRlQXVkaW9GcmFtZSgpCisgICAgIGlmICghZ19wQVN0cmVhbSkKKyAgICAgICAgIHJldHVy biAwOworIAorLSAgICBBVlBhY2tldCBQYWNrZXQ7CistICAgIGF2X2luaXRfcGFja2V0KCZQYWNr ZXQpOworLSAgICBQYWNrZXQuZGF0YSA9IE5VTEw7CistICAgIFBhY2tldC5zaXplID0gMDsKKysg ICAgaW50IHJldDsKKysgICAgaW50MTZfdCogcERhdGE7CisrI2lmIExJQkFWVVRJTF9WRVJTSU9O X01BSk9SID49IDUzCisrICAgIHJldCA9IGF2X2ZyYW1lX21ha2Vfd3JpdGFibGUoZ19wQUZyYW1l KTsKKysgICAgaWYgKHJldCA8IDApCisrICAgICAgICByZXR1cm4gRmF0YWxFcnJvcigiQ291bGQg bm90IG1ha2UgYXVkaW8gZnJhbWUgd3JpdGFibGU6ICVkIiwgcmV0KTsKKysgICAgcERhdGEgPSAo aW50MTZfdCopIGdfcEFGcmFtZS0+ZGF0YVswXTsKKysjZWxzZQorKyAgICBwRGF0YSA9IGdfcFNh bXBsZXM7CisrI2VuZGlmCisgCistICAgIGludCBOdW1TYW1wbGVzID0gZnJlYWQoZ19wU2FtcGxl cywgMipnX0NoYW5uZWxzLCBnX051bVNhbXBsZXMsIGdfcFNvdW5kRmlsZSk7CisrICAgIGludCBO dW1TYW1wbGVzID0gZnJlYWQocERhdGEsIDIqZ19DaGFubmVscywgZ19OdW1TYW1wbGVzLCBnX3BT b3VuZEZpbGUpOworIAorICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPj0gNTMKKyAgICAg QVZGcmFtZSogcEZyYW1lID0gTlVMTDsKKyAgICAgaWYgKE51bVNhbXBsZXMgPiAwKQorICAgICB7 CisgICAgICAgICBnX3BBRnJhbWUtPm5iX3NhbXBsZXMgPSBOdW1TYW1wbGVzOworKyAgICAgICAg Z19wQUZyYW1lLT5wdHMgPSBnX05leHRBdWRpb1B0czsKKysgICAgICAgIGdfTmV4dEF1ZGlvUHRz ICs9IE51bVNhbXBsZXM7CisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX01BSk9SIDwgNTMKKyAgICAg ICAgIGF2Y29kZWNfZmlsbF9hdWRpb19mcmFtZShnX3BBRnJhbWUsIGdfQ2hhbm5lbHMsIEFWX1NB TVBMRV9GTVRfUzE2LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50OF90 KilnX3BTYW1wbGVzLCBOdW1TYW1wbGVzKjIqZ19DaGFubmVscywgMSk7CisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHVpbnQ4X3QqKXBEYXRhLCBOdW1TYW1wbGVzKjIqZ19DaGFu bmVscywgMSk7CisrI2VuZGlmCisgICAgICAgICBwRnJhbWUgPSBnX3BBRnJhbWU7CisgICAgIH0K KysjZW5kaWYKKysKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SID49IDU4CisrICAgIHJl dCA9IEVuY29kZUFuZFdyaXRlRnJhbWUoZ19wQVN0cmVhbSwgZ19wQXVkaW8sIHBGcmFtZSwgZ19w QVBhY2tldCk7CisrICAgIGlmIChyZXQgPCAwKQorKyAgICAgICAgcmV0dXJuIEZhdGFsRXJyb3Io IkF1ZGlvIGZyYW1lIHByb2Nlc3NpbmcgZmFpbGVkIik7CisrICAgIHJldHVybiByZXQ7CisrI2Vs c2UKKysgICAgQVZQYWNrZXQgUGFja2V0OworKyAgICBhdl9pbml0X3BhY2tldCgmUGFja2V0KTsK KysgICAgUGFja2V0LmRhdGEgPSBOVUxMOworKyAgICBQYWNrZXQuc2l6ZSA9IDA7CisrCisrI2lm IExJQkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA+PSA1MworICAgICAvLyB3aGVuIE51bVNhbXBsZXMg PT0gMCB3ZSBzdGlsbCBuZWVkIHRvIGNhbGwgZW5jb2RlX2F1ZGlvMiB0byBmbHVzaAorICAgICBp bnQgZ290X3BhY2tldDsKKyAgICAgaWYgKGF2Y29kZWNfZW5jb2RlX2F1ZGlvMihnX3BBdWRpbywg JlBhY2tldCwgcEZyYW1lLCAmZ290X3BhY2tldCkgIT0gMCkKK0BAIC0yNjYsNyArNDAxLDcgQEAg c3RhdGljIGludCBXcml0ZUF1ZGlvRnJhbWUoKQorICAgICBpbnQgQnVmZmVyU2l6ZSA9IE9VVEJV RkZFUl9TSVpFOworICAgICBpZiAoZ19wQXVkaW8tPmZyYW1lX3NpemUgPT0gMCkKKyAgICAgICAg IEJ1ZmZlclNpemUgPSBOdW1TYW1wbGVzKmdfQ2hhbm5lbHMqMjsKKy0gICAgUGFja2V0LnNpemUg PSBhdmNvZGVjX2VuY29kZV9hdWRpbyhnX3BBdWRpbywgZ19PdXRCdWZmZXIsIEJ1ZmZlclNpemUs IGdfcFNhbXBsZXMpOworKyAgICBQYWNrZXQuc2l6ZSA9IGF2Y29kZWNfZW5jb2RlX2F1ZGlvKGdf cEF1ZGlvLCBnX091dEJ1ZmZlciwgQnVmZmVyU2l6ZSwgcERhdGEpOworICAgICBpZiAoUGFja2V0 LnNpemUgPT0gMCkKKyAgICAgICAgIHJldHVybiAxOworICAgICBpZiAoZ19wQXVkaW8tPmNvZGVk X2ZyYW1lICYmIGdfcEF1ZGlvLT5jb2RlZF9mcmFtZS0+cHRzICE9IEFWX05PUFRTX1ZBTFVFKQor QEAgLTI4MCwyNSArNDE1LDI1IEBAIHN0YXRpYyBpbnQgV3JpdGVBdWRpb0ZyYW1lKCkKKyAgICAg aWYgKGF2X2ludGVybGVhdmVkX3dyaXRlX2ZyYW1lKGdfcENvbnRhaW5lciwgJlBhY2tldCkgIT0g MCkKKyAgICAgICAgIHJldHVybiBGYXRhbEVycm9yKCJFcnJvciB3aGlsZSB3cml0aW5nIGF1ZGlv IGZyYW1lIik7CisgICAgIHJldHVybiAxOworKyNlbmRpZgorIH0KKyAKKyAvLyBhZGQgYSB2aWRl byBvdXRwdXQgc3RyZWFtCisgc3RhdGljIGludCBBZGRWaWRlb1N0cmVhbSgpCisgeworKyAgICBp bnQgcmV0OworICAgICBnX3BWU3RyZWFtID0gYXZmb3JtYXRfbmV3X3N0cmVhbShnX3BDb250YWlu ZXIsIGdfcFZDb2RlYyk7CisgICAgIGlmICghZ19wVlN0cmVhbSkKKyAgICAgICAgIHJldHVybiBG YXRhbEVycm9yKCJDb3VsZCBub3QgYWxsb2NhdGUgdmlkZW8gc3RyZWFtIik7CisgCisgI2lmIExJ QkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA+PSA1OQorLSAgICBjb25zdCBBVkNvZGVjICp2aWRlb19z dF9jb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKGdfcFZTdHJlYW0tPmNvZGVjcGFyLT5jb2Rl Y19pZCk7CistICAgIGdfcFZpZGVvID0gYXZjb2RlY19hbGxvY19jb250ZXh0Myh2aWRlb19zdF9j b2RlYyk7CistICAgIGF2Y29kZWNfcGFyYW1ldGVyc190b19jb250ZXh0KGdfcFZpZGVvLCBnX3BW U3RyZWFtLT5jb2RlY3Bhcik7CisrICAgIGdfcFZpZGVvID0gYXZjb2RlY19hbGxvY19jb250ZXh0 MyhnX3BWQ29kZWMpOworICNlbHNlCisgICAgIGdfcFZpZGVvID0gZ19wVlN0cmVhbS0+Y29kZWM7 CistI2VuZGlmCisgCisgICAgIGF2Y29kZWNfZ2V0X2NvbnRleHRfZGVmYXVsdHMzKGdfcFZpZGVv LCBnX3BWQ29kZWMpOworICAgICBnX3BWaWRlby0+Y29kZWNfaWQgPSBnX3BWQ29kZWMtPmlkOwor KyNlbmRpZgorIAorICAgICAvLyBwdXQgcGFyYW1ldGVycworICAgICAvLyByZXNvbHV0aW9uIG11 c3QgYmUgYSBtdWx0aXBsZSBvZiB0d28KK0BAIC0zNjEsNiArNDk2LDEyIEBAIHN0YXRpYyBpbnQg QWRkVmlkZW9TdHJlYW0oKQorICAgICBpZiAoYXZjb2RlY19vcGVuMihnX3BWaWRlbywgZ19wVkNv ZGVjLCBOVUxMKSA8IDApCisgICAgICAgICByZXR1cm4gRmF0YWxFcnJvcigiQ291bGQgbm90IG9w ZW4gdmlkZW8gY29kZWMgJXMiLCBnX3BWQ29kZWMtPmxvbmdfbmFtZSk7CisgCisrI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9NQUpPUiA+PSA1OAorKyAgICByZXQgPSBhdmNvZGVjX3BhcmFtZXRlcnNf ZnJvbV9jb250ZXh0KGdfcFZTdHJlYW0tPmNvZGVjcGFyLCBnX3BWaWRlbyk7CisrICAgIGlmIChy ZXQgPCAwKQorKyAgICAgICAgcmV0dXJuIEZhdGFsRXJyb3IoIkNvdWxkIG5vdCBjb3B5IHBhcmFt ZXRlcnMgZnJvbSBjb2RlYyBjb250ZXh0OiAlZCIsIHJldCk7CisrI2VuZGlmCisrCisgICAgIGdf cFZGcmFtZSA9IGF2X2ZyYW1lX2FsbG9jKCk7CisgICAgIGlmICghZ19wVkZyYW1lKQorICAgICAg ICAgcmV0dXJuIEZhdGFsRXJyb3IoIkNvdWxkIG5vdCBhbGxvY2F0ZSBmcmFtZSIpOworQEAgLTM3 MCw2ICs1MTEsMTIgQEAgc3RhdGljIGludCBBZGRWaWRlb1N0cmVhbSgpCisgICAgIGdfcFZGcmFt ZS0+aGVpZ2h0ID0gZ19IZWlnaHQ7CisgICAgIGdfcFZGcmFtZS0+Zm9ybWF0ID0gQVZfUElYX0ZN VF9ZVVY0MjBQOworIAorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPj0gNTgKKysgICAg Z19wVlBhY2tldCA9IGF2X3BhY2tldF9hbGxvYygpOworKyAgICBpZiAoIWdfcFZQYWNrZXQpCisr ICAgICAgICByZXR1cm4gRmF0YWxFcnJvcigiQ291bGQgbm90IGFsbG9jYXRlIHBhY2tldCIpOwor KyNlbmRpZgorKworICAgICByZXR1cm4gYXZjb2RlY19kZWZhdWx0X2dldF9idWZmZXIyKGdfcFZp ZGVvLCBnX3BWRnJhbWUsIDApOworIH0KKyAKK0BAIC0zODAsNiArNTI3LDEwIEBAIHN0YXRpYyBp bnQgV3JpdGVGcmFtZShBVkZyYW1lKiBwRnJhbWUpCisgICAgIC8vIHdyaXRlIGludGVybGVhdmVk IGF1ZGlvIGZyYW1lCisgICAgIGlmIChnX3BBU3RyZWFtKQorICAgICB7CisrI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9NQUpPUiA+PSA1OAorKyAgICAgICAgaWYgKCFnX3BBUGFja2V0KQorKyAgICAg ICAgICAgIHJldHVybiBGYXRhbEVycm9yKCJFcnJvciB3aGlsZSB3cml0aW5nIHZpZGVvIGZyYW1l OiBnX3BBUGFja2V0IGRvZXMgbm90IGV4aXN0Iik7CisrI2VuZGlmCisgICAgICAgICBWaWRlb1Rp bWUgPSAoZG91YmxlKWdfcFZGcmFtZS0+cHRzICogZ19wVlN0cmVhbS0+dGltZV9iYXNlLm51bS9n X3BWU3RyZWFtLT50aW1lX2Jhc2UuZGVuOworICAgICAgICAgZG8KKyAgICAgICAgIHsKK0BAIC0z ODgsNyArNTM5LDcgQEAgc3RhdGljIGludCBXcml0ZUZyYW1lKEFWRnJhbWUqIHBGcmFtZSkKKyAg ICAgICAgICAgICBBdWRpb1RpbWUgPSAoZG91YmxlKWdfcEFGcmFtZS0+cHRzICogZ19wQVN0cmVh bS0+dGltZV9iYXNlLm51bS9nX3BBU3RyZWFtLT50aW1lX2Jhc2UuZGVuOworICAgICAgICAgICAg IHJldCA9IFdyaXRlQXVkaW9GcmFtZSgpOworICAgICAgICAgfQorLSAgICAgICAgd2hpbGUgKEF1 ZGlvVGltZSA8IFZpZGVvVGltZSAmJiByZXQpOworKyAgICAgICAgd2hpbGUgKEF1ZGlvVGltZSA8 IFZpZGVvVGltZSAmJiByZXQgPiAwKTsKKyAgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAg ICAgIHJldHVybiByZXQ7CisgICAgIH0KK0BAIC0zOTYsMTMgKzU0NywxOCBAQCBzdGF0aWMgaW50 IFdyaXRlRnJhbWUoQVZGcmFtZSogcEZyYW1lKQorICAgICBpZiAoIWdfcFZTdHJlYW0pCisgICAg ICAgICByZXR1cm4gMDsKKyAKKysgICAgZ19wVkZyYW1lLT5wdHMrKzsKKysjaWYgTElCQVZDT0RF Q19WRVJTSU9OX01BSk9SID49IDU4CisrICAgIHJldCA9IEVuY29kZUFuZFdyaXRlRnJhbWUoZ19w VlN0cmVhbSwgZ19wVmlkZW8sIHBGcmFtZSwgZ19wVlBhY2tldCk7CisrICAgIGlmIChyZXQgPCAw KQorKyAgICAgICAgcmV0dXJuIEZhdGFsRXJyb3IoIlZpZGVvIGZyYW1lIHByb2Nlc3NpbmcgZmFp bGVkIik7CisrICAgIHJldHVybiByZXQ7CisrI2Vsc2UKKyAgICAgQVZQYWNrZXQgUGFja2V0Owor ICAgICBhdl9pbml0X3BhY2tldCgmUGFja2V0KTsKKyAgICAgUGFja2V0LmRhdGEgPSBOVUxMOwor ICAgICBQYWNrZXQuc2l6ZSA9IDA7CisgCistICAgIGdfcFZGcmFtZS0+cHRzKys7CistI2lmIExJ QkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA8IDU4CisgICAgIGlmIChnX3BGb3JtYXQtPmZsYWdzICYg QVZGTVRfUkFXUElDVFVSRSkKKyAgICAgeworICAgICAgICAgLyogcmF3IHZpZGVvIGNhc2UuIFRo ZSBBUEkgd2lsbCBjaGFuZ2Ugc2xpZ2h0bHkgaW4gdGhlIG5lYXIKK0BAIC00MTcsNyArNTczLDYg QEAgc3RhdGljIGludCBXcml0ZUZyYW1lKEFWRnJhbWUqIHBGcmFtZSkKKyAgICAgICAgIHJldHVy biAwOworICAgICB9CisgICAgIGVsc2UKKy0jZW5kaWYKKyAgICAgeworICNpZiBMSUJBVkNPREVD X1ZFUlNJT05fTUFKT1IgPj0gNTQKKyAgICAgICAgIGludCBnb3RfcGFja2V0OworQEAgLTQ0Nyw2 ICs2MDIsNyBAQCBzdGF0aWMgaW50IFdyaXRlRnJhbWUoQVZGcmFtZSogcEZyYW1lKQorIAorICAg ICAgICAgcmV0dXJuIDE7CisgICAgIH0KKysjZW5kaWYKKyB9CisgCisgQVZXUkFQX0RFQ0wgaW50 IEFWV3JhcHBlcl9Xcml0ZUZyYW1lKHVpbnQ4X3QgKmJ1ZikKK0BAIC01MzksOSArNjk1LDEzIEBA IEFWV1JBUF9ERUNMIGludCBBVldyYXBwZXJfSW5pdCgKKyAgICAgY2hhciBleHRbMTZdOworICAg ICBzdHJuY3B5KGV4dCwgZ19wRm9ybWF0LT5leHRlbnNpb25zLCAxNik7CisgICAgIGV4dFsxNV0g PSAwOworLSAgICBleHRbc3RyY3NwbihleHQsIiwiKV0gPSAwOworKyAgICBzaXplX3QgZXh0TGVu ID0gc3RyY3NwbihleHQsICIsIik7CisrICAgIGV4dFtleHRMZW5dID0gMDsKKyAjaWYgTElCQVZD T0RFQ19WRVJTSU9OX01BSk9SID49IDU5CistICAgIHNucHJpbnRmKGdfcENvbnRhaW5lci0+dXJs LCBzaXplb2YoZ19wQ29udGFpbmVyLT51cmwpLCAiJXMuJXMiLCBwRmlsZW5hbWUsIGV4dCk7Cisr ICAgIC8vIHBGaWxlbmFtZSArIGRvdCArIGV4dCArIG51bGwgYnl0ZQorKyAgICBzaXplX3QgdXJs TGVuID0gc3RybGVuKHBGaWxlbmFtZSkgKyAxICsgZXh0TGVuICsgMTsKKysgICAgZ19wQ29udGFp bmVyLT51cmwgPSBhdl9tYWxsb2ModXJsTGVuKTsKKysgICAgc25wcmludGYoZ19wQ29udGFpbmVy LT51cmwsIHVybExlbiwgIiVzLiVzIiwgcEZpbGVuYW1lLCBleHQpOworICNlbHNlCisgICAgIHNu cHJpbnRmKGdfcENvbnRhaW5lci0+ZmlsZW5hbWUsIHNpemVvZihnX3BDb250YWluZXItPmZpbGVu YW1lKSwgIiVzLiVzIiwgcEZpbGVuYW1lLCBleHQpOworICNlbmRpZgorQEAgLTYzNiwyMSArNzk2 LDMzIEBAIEFWV1JBUF9ERUNMIGludCBBVldyYXBwZXJfQ2xvc2UoKQorICAgICAvLyBmcmVlIGV2 ZXJ5dGhpbmcKKyAgICAgaWYgKGdfcFZTdHJlYW0pCisgICAgIHsKKy0gICAgICAgIGF2Y29kZWNf Y2xvc2UoZ19wVmlkZW8pOworLSAgICAgICAgYXZfZnJlZShnX3BWaWRlbyk7CistICAgICAgICBh dl9mcmVlKGdfcFZTdHJlYW0pOworKyAgICAgICAgYXZjb2RlY19mcmVlX2NvbnRleHQoJmdfcFZp ZGVvKTsKKyAgICAgICAgIGF2X2ZyYW1lX2ZyZWUoJmdfcFZGcmFtZSk7CisrI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9NQUpPUiA+PSA1OAorKyAgICAgICAgYXZfcGFja2V0X2ZyZWUoJmdfcFZQYWNr ZXQpOworKyNlbmRpZgorICAgICB9CisgICAgIGlmIChnX3BBU3RyZWFtKQorICAgICB7CistICAg ICAgICBhdmNvZGVjX2Nsb3NlKGdfcEF1ZGlvKTsKKy0gICAgICAgIGF2X2ZyZWUoZ19wQXVkaW8p OworLSAgICAgICAgYXZfZnJlZShnX3BBU3RyZWFtKTsKKysgICAgICAgIGF2Y29kZWNfZnJlZV9j b250ZXh0KCZnX3BBdWRpbyk7CisgICAgICAgICBhdl9mcmFtZV9mcmVlKCZnX3BBRnJhbWUpOwor KyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPj0gNTgKKysgICAgICAgIGF2X3BhY2tldF9m cmVlKCZnX3BBUGFja2V0KTsKKysjZW5kaWYKKysjaWYgTElCQVZVVElMX1ZFUlNJT05fTUFKT1Ig PCA1MworICAgICAgICAgYXZfZnJlZShnX3BTYW1wbGVzKTsKKysjZW5kaWYKKyAgICAgICAgIGZj bG9zZShnX3BTb3VuZEZpbGUpOworICAgICB9CisgCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9N QUpPUiA+PSA1OQorKyAgICBhdmZvcm1hdF9mcmVlX2NvbnRleHQoZ19wQ29udGFpbmVyKTsKKysj ZWxzZQorKyAgICBpZiAoZ19wVlN0cmVhbSkKKysgICAgICAgIGF2X2ZyZWUoZ19wVlN0cmVhbSk7 CisrICAgIGlmIChnX3BBU3RyZWFtKQorKyAgICAgICAgYXZfZnJlZShnX3BBU3RyZWFtKTsKKyAg ICAgYXZfZnJlZShnX3BDb250YWluZXIpOworKyNlbmRpZgorICAgICByZXR1cm4gMDsKKyB9Cist LSAKKzIuNDUuMgorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2hlZGdld2Fycy90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvaGVkZ2V3YXJzL3RlbXBsYXRlCmluZGV4IDhkZDBlNDI1MmNhOGM1Li4zYTI5ZTdiMmIy ODA1ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9oZWRnZXdhcnMvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9oZWRnZXdhcnMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdoZWRnZXdhcnMnCiBwa2duYW1lPWhlZGdld2FycwogdmVyc2lvbj0xLjAuMgotcmV2aXNpb249 MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRE5PU0VS VkVSPTEgLUREQVRBX0lOU1RBTExfRElSPS91c3Ivc2hhcmUvJHtwa2duYW1lfQogIC1EUEhZU0ZT X1NZU1RFTT0xIC1ETUlOSU1BTF9GTEFHUz0xIgoKRnJvbSBiMzgwMTIyNTRjMmU0ZTc5ZTI3MTBl MDAwOWIwYzNjNmI1MmRmNzg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ4IC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAwMzkvMTA4XSBpZGpjOiByZXZidW1wIGZvciBmZm1wZWc0CgotLS0K IHNyY3BrZ3MvaWRqYy90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2lkamMvdGVtcGxh dGUgYi9zcmNwa2dzL2lkamMvdGVtcGxhdGUKaW5kZXggYTljZGUwNjY1ZDU1YjEuLmY0MWUxZTRm YWJiYWU3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2lkamMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9p ZGpjL3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdpZGpj JwogcGtnbmFtZT1pZGpjCiB2ZXJzaW9uPTAuOS4xCi1yZXZpc2lvbj01CityZXZpc2lvbj02CiBi dWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgZ2l0 IHB5dGhvbjMgYXV0b21ha2UgZ2V0dGV4dC1kZXZlbCBsaWJ0b29sIgogbWFrZWRlcGVuZHM9Imxp YnZvcmJpcy1kZXZlbCBsaWJvZ2ctZGV2ZWwgamFjay1kZXZlbCBsaWJzYW1wbGVyYXRlLWRldmVs Ci0gbGliZmxhYy1kZXZlbCBsaWJzbmRmaWxlLWRldmVsIG1wZzEyMy1kZXZlbCBmZm1wZWctZGV2 ZWwgc3BlZXgtZGV2ZWwKKyBsaWJmbGFjLWRldmVsIGxpYnNuZGZpbGUtZGV2ZWwgbXBnMTIzLWRl dmVsIGZmbXBlZzQtZGV2ZWwgc3BlZXgtZGV2ZWwKICBnbGliLWRldmVsIHBpeG1hbi1kZXZlbCBs YW1lLWRldmVsIHB5dGhvbjMtZ29iamVjdC1kZXZlbCBsaWJzaG91dC1pZGpjLWRldmVsCiAgb3B1 cy1kZXZlbCB0d29sYW1lLWRldmVsIHB5dGhvbjMtbXV0YWdlbiBweXRob24zLWRldmVsIgogZGVw ZW5kcz0icHl0aG9uMy1nb2JqZWN0IHB5dGhvbjMtbXV0YWdlbiBkZXNrdG9wLWZpbGUtdXRpbHMg c2hhcmVkLW1pbWUtaW5mbyBweXRob24zLWRidXMgamFjayIKCkZyb20gYmRhODZhMzgwMmVhMjNi OTY4NDMyOTQ4MzQ3ZmVhNDE0YzZkNGNmNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog emxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0 OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQwLzEwOF0ga2lkMzogcmV2YnVtcCBmb3IgZmZtcGVn NgoKLS0tCiBzcmNwa2dzL2tpZDMvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoIHwgMTcgKysrKysrKysr KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9raWQzL3BhdGNoZXMvZmZtcGVnNS5wYXRjaAoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3Mva2lkMy9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggYi9zcmNwa2dzL2tpZDMvcGF0Y2hlcy9m Zm1wZWc1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4x MzVmYzUwZTA3YzliYQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mva2lkMy9wYXRjaGVzL2Zm bXBlZzUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorIyBodHRwczovL2F1ci5hcmNobGludXgub3Jn L2NnaXQvYXVyLmdpdC9kaWZmL2ZmbXBlZzUucGF0Y2g/aD1raWQzLWNsaSZpZD0xMjQxMGE3NDkw NjYxMmU3ZWZjMGVjOGZiY2U3MzliNGEwZmVmN2U3CitkaWZmIC0tZ2l0IGEvc3JjL3BsdWdpbnMv YWNvdXN0aWRpbXBvcnQvZmZtcGVnZmluZ2VycHJpbnRkZWNvZGVyLmNwcCBiL3NyYy9wbHVnaW5z L2Fjb3VzdGlkaW1wb3J0L2ZmbXBlZ2ZpbmdlcnByaW50ZGVjb2Rlci5jcHAKK2luZGV4IGUxNTZk NDI0Li5lMTJiOWFiZCAxMDA2NDQKKy0tLSBhL3NyYy9wbHVnaW5zL2Fjb3VzdGlkaW1wb3J0L2Zm bXBlZ2ZpbmdlcnByaW50ZGVjb2Rlci5jcHAKKysrKyBiL3NyYy9wbHVnaW5zL2Fjb3VzdGlkaW1w b3J0L2ZmbXBlZ2ZpbmdlcnByaW50ZGVjb2Rlci5jcHAKK0BAIC0yMzIsNyArMjMyLDExIEBAIHBy aXZhdGU6CisgICBmcmllbmQgY2xhc3MgRm9ybWF0OworICAgZnJpZW5kIGNsYXNzIENvbnZlcnRl cjsKKyAgIEFWQ29kZWNDb250ZXh0KiBtX3B0cjsKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lO VCA8IEFWX1ZFUlNJT05fSU5UKDU5LCAwLCAwKQorICAgQVZDb2RlYyogbV9pbXBsOworKyNlbHNl CisrICBjb25zdCBBVkNvZGVjKiBtX2ltcGw7CisrI2VuZGlmCisgICBBVkZyYW1lKiBtX2ZyYW1l OworICAgYm9vbCBtX29wZW5lZDsKKyB9OwoKRnJvbSA0YTQ0NjFjZDg2ZmIyMGU2NDY2ZmRiYWYw M2QxMmFjYjRkNGQ5MmVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxp Y2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ4IC0wNDAwClN1 YmplY3Q6IFtQQVRDSCAwNDEvMTA4XSBrb2RpOiByZXZidW1wIGZvciBmZm1wZWc0CgotLS0KIHNy Y3BrZ3Mva29kaS90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2tvZGkvdGVtcGxhdGUg Yi9zcmNwa2dzL2tvZGkvdGVtcGxhdGUKaW5kZXggZDM3YTU5MThjZDY3NTguLmVhNzhlMGFjYTBm ZTNlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2tvZGkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9rb2Rp L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAna29kaScKIHBr Z25hbWU9a29kaQogdmVyc2lvbj0xOS40Ci1yZXZpc2lvbj05CityZXZpc2lvbj0xMAogX2NvZGVu YW1lPSJNYXRyaXgiCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EV0lUSF9G Rk1QRUc9L3VzciAtREVOQUJMRV9MREdPTEQ9T0ZGCkBAIC01NCw3ICs1NCw3IEBAIG1ha2VkZXBl bmRzPSIKICBsaWJtYWQtZGV2ZWwgZm9udGNvbmZpZy1kZXZlbCBsaWJYaW5lcmFtYS1kZXZlbCBs aWJzYW1wbGVyYXRlLWRldmVsIGxpYm1tcy1kZXZlbAogIGVuY2EtZGV2ZWwgYm9vc3QtZGV2ZWwg bGliY3VybC1kZXZlbCBsaWJ2YS1kZXZlbCBsaWJ2ZHBhdS1kZXZlbCBsaWJhc3MtZGV2ZWwKICBs aWJibHVldG9vdGgtZGV2ZWwgeWFqbC1kZXZlbCBsaWJwbGlzdC1kZXZlbCBsaWJydG1wLWRldmVs IHRpbnl4bWwtZGV2ZWwKLSB0YWdsaWItZGV2ZWwgbGliY2FwLWRldmVsIGxhbWUtZGV2ZWwgbGli Ymx1cmF5LWRldmVsIGxpYm5mcy1kZXZlbCBmZm1wZWctZGV2ZWwKKyB0YWdsaWItZGV2ZWwgbGli Y2FwLWRldmVsIGxhbWUtZGV2ZWwgbGliYmx1cmF5LWRldmVsIGxpYm5mcy1kZXZlbCBmZm1wZWc0 LWRldmVsCiAgZ2lmbGliLWRldmVsIGxpYnhzbHQtZGV2ZWwgZ251dGxzLWRldmVsIGxpYnNzaC1k ZXZlbCBsaWJtaWNyb2h0dHBkLWRldmVsCiAgbGliY2VjLWRldmVsIGRjYWRlYy1kZXZlbCBmbGF0 YnVmZmVycy1kZXZlbCBmbXQtZGV2ZWwgbGNtczItZGV2ZWwKICBsaWJmc3RyY21wLWRldmVsIHJh cGlkanNvbiBsaWJjZGlvLXBhcmFub2lhIHNwZGxvZyBsaWJ3YXlsYW5kcHAtZGV2ZWwKCkZyb20g YzE5YWEyMGMxNmNmMWY5MGM1OGM2MWU2ODUwOTRmODliNGIxMGJjMSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBN YXIgMjAyMyAyMDowMTo0OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQyLzEwOF0ga3BpcGV3aXJl OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mva3BpcGV3aXJlL3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9rcGlwZXdpcmUvdGVtcGxhdGUgYi9zcmNwa2dzL2twaXBld2lyZS90 ZW1wbGF0ZQppbmRleCBiYzQxZWZlN2IxZTI1MC4uMTQ0Njc1OTUwY2FmNWUgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3Mva3BpcGV3aXJlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva3BpcGV3aXJlL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAna3BpcGV3aXJlJwogcGtn bmFtZT1rcGlwZXdpcmUKIHZlcnNpb249Ni4wLjUKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1 aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9cWVtdQogY29uZmlndXJlX2FyZ3M9Ii1ES0RF X0lOU1RBTExfUU1MRElSPWxpYi9xdDYvcW1sIgoKRnJvbSA0NzkwNmZhYTFiMGFkYmQ5MTFiNWEx Y2VlZGI5N2U1OGZhMDFkY2E1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ4IC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAwNDMvMTA4XSBsaWJvcGVuYWw6IHJldmJ1bXAgZm9yIGZmbXBlZzYK Ci0tLQogc3JjcGtncy9saWJvcGVuYWwvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYm9w ZW5hbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvbGlib3BlbmFsL3RlbXBsYXRlCmluZGV4IDg4ZDBmMTEz MDdkODFhLi44MzA4ZmNhMDM5M2UzMyAxMDA2NDQKLS0tIGEvc3JjcGtncy9saWJvcGVuYWwvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9saWJvcGVuYWwvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdsaWJvcGVuYWwnCiBwa2duYW1lPWxpYm9wZW5hbAogdmVyc2lv bj0xLjIzLjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25m aWd1cmVfYXJncz0iLURBTFNPRlRfRVhBTVBMRVM9T0ZGIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ct Y29uZmlnIgoKRnJvbSAwYWNkNTdjMTMyZTU1NjFmYTk5ZjRmMjFkZmZkOTc5OWJkNGQwZGM5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpE YXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNDQv MTA4XSBsb3VkZ2FpbjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2xvdWRnYWlu L3BhdGNoZXMvZmZtcGVnNS5wYXRjaCB8IDExICsrKysrKysrKysrCiBzcmNwa2dzL2xvdWRnYWlu L3RlbXBsYXRlICAgICAgICAgICAgICB8ICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xvdWRn YWluL3BhdGNoZXMvZmZtcGVnNS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG91ZGdhaW4v cGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9sb3VkZ2Fpbi9wYXRjaGVzL2ZmbXBlZzUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjE2ZDQ1MTBl ZTk4ZmFhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9sb3VkZ2Fpbi9wYXRjaGVzL2ZmbXBl ZzUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvc3JjL3NjYW4uYwkyMDE5LTA5LTA2IDEx OjMxOjE5LjAwMDAwMDAwMCAtMDQwMAorKysrIGIvc3JjL3NjYW4uYwkyMDIzLTAzLTIzIDExOjE1 OjQwLjg2Nzk2ODUyMSAtMDQwMAorQEAgLTY5LDggKzY5LDYgQEAKKyAJICogSXQgaXMgbm93IHVz ZWxlc3MKKyAJICogaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcvYmxvYi83MGQyNTI2 OGMyMWNiZWU1ZjA4MzA0ZGE5NWJlMWY2NDdjNjMwYzE1L2RvYy9BUEljaGFuZ2VzI0w4NgorIAkg Ki8KKy0gIGlmIChhdmZvcm1hdF92ZXJzaW9uKCkgPCBBVl9WRVJTSU9OX0lOVCg1OCw5LDEwMCkp CistICAgIGF2X3JlZ2lzdGVyX2FsbCgpOworIAorIAlhdl9sb2dfc2V0X2NhbGxiYWNrKHNjYW5f YXZfbG9nKTsKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG91ZGdhaW4vdGVtcGxhdGUgYi9zcmNw a2dzL2xvdWRnYWluL3RlbXBsYXRlCmluZGV4IGRhNGYyZDU2ZTk0YzNkLi40ZDZiZjI5ZWZiNGZk ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9sb3VkZ2Fpbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xv dWRnYWluL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbG91 ZGdhaW4nCiBwa2duYW1lPWxvdWRnYWluCiB2ZXJzaW9uPTAuNi44Ci1yZXZpc2lvbj0yCityZXZp c2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgog bWFrZWRlcGVuZHM9ImxpYmVidXIxMjgtZGV2ZWwgdGFnbGliLWRldmVsIGZmbXBlZy1kZXZlbCIK CkZyb20gMTE1MDVjZmY0OWQxMjhjZTA1N2VkOGI3NWUwMWNhOTFiNTBkMzJlOSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2Vk LCAyMiBNYXIgMjAyMyAyMDowMTo0OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQ1LzEwOF0gbWVk aWFzdHJlYW1lcjogcmV2YnVtcCBmb3IgZmZtcGVnNAoKLS0tCiBzcmNwa2dzL21lZGlhc3RyZWFt ZXIvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tZWRpYXN0cmVhbWVyL3RlbXBsYXRl IGIvc3JjcGtncy9tZWRpYXN0cmVhbWVyL3RlbXBsYXRlCmluZGV4IDBmY2ZmYTc2NTNkMThlLi5l ODg4NjI2Yjk0NWU1NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9tZWRpYXN0cmVhbWVyL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvbWVkaWFzdHJlYW1lci90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbWVkaWFzdHJlYW1lcicKIHBrZ25hbWU9bWVkaWFzdHJlYW1l cgogdmVyc2lvbj01LjIuMTExCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1j bWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX1NUUklDVD0wIC1ERU5BQkxFX1VOSVRfVEVT VFM9MCIKIGhvc3RtYWtlZGVwZW5kcz0icHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJienJ0cC1kZXZl bCBmZm1wZWctZGV2ZWwgZ2xldy1kZXZlbCBsaWJYdi1kZXZlbCBsaWJzcnRwLWRldmVsCittYWtl ZGVwZW5kcz0iYnpydHAtZGV2ZWwgZmZtcGVnNC1kZXZlbCBnbGV3LWRldmVsIGxpYlh2LWRldmVs IGxpYnNydHAtZGV2ZWwKICBsaWJ1cG5wLWRldmVsIGxpYnZweC1kZXZlbCBtYmVkdGxzLWRldmVs IG9wdXMtZGV2ZWwgb3J0cC1kZXZlbCBwdWxzZWF1ZGlvLWRldmVsCiAgbGlidGhlb3JhLWRldmVs IHNwZWV4LWRldmVsIHY0bC11dGlscy1kZXZlbCBiY2c3MjktZGV2ZWwgYmNtYXRyb3NrYTItZGV2 ZWwgbGliZ3NtLWRldmVsCiAgenhpbmctY3BwLWRldmVsIgoKRnJvbSA4ZmNkZTA0NDQwZGQ5M2Iw NDRiNjZhODVjOGYxZjFkNzdjMjI3YTg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6 bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ4 IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNDYvMTA4XSBtZ2JhOiByZXZidW1wIGZvciBmZm1wZWc2 CgotLS0KIHNyY3BrZ3MvbWdiYS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWdiYS90ZW1w bGF0ZSBiL3NyY3BrZ3MvbWdiYS90ZW1wbGF0ZQppbmRleCA2Y2Q2NTY1MDMxMjU0My4uOTM0MDFh ZGI2MThiZDggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbWdiYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L21nYmEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtZ2Jh JwogcGtnbmFtZT1tZ2JhCiB2ZXJzaW9uPTAuMTAuMwotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBxdDUtaG9zdC10 b29scyBxdDUtcW1ha2UgZGVza3RvcC1maWxlLXV0aWxzIgogbWFrZWRlcGVuZHM9IlNETDItZGV2 ZWwgZmZtcGVnLWRldmVsIGxpYmVkaXQtZGV2ZWwgbGliZXBveHktZGV2ZWwgbGlibWFnaWNrLWRl dmVsCgpGcm9tIGU0MGJkYzE4NDhlY2Y0NGNiZmUzNjEwYTY0NTQ5NTU4ZDUxMDBjZGIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDkgLTA0MDAKU3ViamVjdDogW1BBVENIIDA0Ny8xMDhd IG1sdDogcmV2YnVtcCBmb3IgZmZtcGVnNAoKLS0tCiBzcmNwa2dzL21sdC90ZW1wbGF0ZSB8IDQg KystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL21sdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvbWx0L3RlbXBsYXRlCmlu ZGV4IDczZTM5MTVhYWFiOWFjLi5kN2VkNGM0YjMwYTg2OCAxMDA2NDQKLS0tIGEvc3JjcGtncy9t bHQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tbHQvdGVtcGxhdGUKQEAgLTEsMTQgKzEsMTQgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ21sdCcKIHBrZ25hbWU9bWx0CiB2ZXJzaW9uPTYuMjYuMQot cmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9Y29uZmlndXJlCiBjb25maWd1cmVf YXJncz0iLS1wcmVmaXg9L3VzciAtLWxpYmRpcj0vdXNyL2xpYiRYQlBTX1RBUkdFVF9XT1JEU0la RQogIC0tZW5hYmxlLWdwbCAtLWVuYWJsZS1ncGwzIC0tZGlzYWJsZS1zd2ZkZWMgLS13aXRob3V0 LWtkZQogIC0tc3dpZy1sYW5ndWFnZXM9cHl0aG9uIgogaG9zdG1ha2VkZXBlbmRzPSJkb3h5Z2Vu IHBrZy1jb25maWcgbGFkc3BhLXNkayBzd2lnIHB5dGhvbjMgd2hpY2giCiAjIFhYWDogbW92aXQg dmlkLnN0YWIKLW1ha2VkZXBlbmRzPSJhbHNhLWxpYi1kZXZlbCBmZm1wZWctZGV2ZWwgZ3RrKy1k ZXZlbCBqYWNrLWRldmVsIGxhZHNwYS1zZGsKK21ha2VkZXBlbmRzPSJhbHNhLWxpYi1kZXZlbCBm Zm1wZWc0LWRldmVsIGd0aystZGV2ZWwgamFjay1kZXZlbCBsYWRzcGEtc2RrCiAgbGliZXhpZi1k ZXZlbCBsaWJzYW1wbGVyYXRlLWRldmVsIGxpYnhtbDItZGV2ZWwgc294LWRldmVsIFNETF9pbWFn ZS1kZXZlbAogIGZmdHctZGV2ZWwgZnJlaTByLXBsdWdpbnMgcHl0aG9uMy1kZXZlbCBwdWxzZWF1 ZGlvLWRldmVsIG1vdml0LWRldmVsCiAgbGlidmlkc3RhYi1kZXZlbCIKCkZyb20gZDhjM2JiMTgz MDIzMzM0ZmY4NTRhMDZhMTUwNGYzYjM2ZmYzMjhkNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAy MDowMTo0OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQ4LzEwOF0gbW9jOiByZXZidW1wIGZvciBm Zm1wZWc0CgotLS0KIHNyY3BrZ3MvbW9jL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bW9jL3RlbXBsYXRlIGIvc3JjcGtncy9tb2MvdGVtcGxhdGUKaW5kZXggM2EwNDkzMmM4ZjFlNjEu LjgzODc1NWY4OGRiMDllIDEwMDY0NAotLS0gYS9zcmNwa2dzL21vYy90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL21vYy90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbW9jJwogcGtnbmFtZT1tb2MKIHZlcnNpb249Mi41LjIKLXJldmlzaW9uPTcKK3JldmlzaW9u PTgKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZp ZyIKLW1ha2VkZXBlbmRzPSJkYi1kZXZlbCBuY3Vyc2VzLWRldmVsIGxpYmN1cmwtZGV2ZWwgcG9w dC1kZXZlbCBmZm1wZWctZGV2ZWwKK21ha2VkZXBlbmRzPSJkYi1kZXZlbCBuY3Vyc2VzLWRldmVs IGxpYmN1cmwtZGV2ZWwgcG9wdC1kZXZlbCBmZm1wZWc0LWRldmVsCiAgamFjay1kZXZlbCBhbHNh LWxpYi1kZXZlbCBsaWJsdGRsLWRldmVsIGxpYmZsYWMtZGV2ZWwgbGlidm9yYmlzLWRldmVsCiAg bGlibWFkLWRldmVsIGxpYm1wY2RlYy1kZXZlbCBsaWJtb2RwbHVnLWRldmVsIGxpYmlkM3RhZy1k ZXZlbCBmYWFkMi1kZXZlbAogIHRhZ2xpYi1kZXZlbCBsaWJzbmRmaWxlLWRldmVsIHdhdnBhY2st ZGV2ZWwgc3BlZXgtZGV2ZWwgbGlic2FtcGxlcmF0ZS1kZXZlbAoKRnJvbSA0YmNmODhjMDBhNmMy NzNjZmMzZGQyOTU4ZjcwYTI4NWE4NmFiNmU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAx OjQ5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNDkvMTA4XSBtb3Rpb246IHJldmJ1bXAgZm9yIGZm bXBlZzYKCi0tLQogc3JjcGtncy9tb3Rpb24vdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21v dGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvbW90aW9uL3RlbXBsYXRlCmluZGV4IDYwN2ViZWIzYzdi MjQyLi5iZjYzYTkxZDk3NjRmNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9tb3Rpb24vdGVtcGxhdGUK KysrIGIvc3JjcGtncy9tb3Rpb24vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdtb3Rpb24nCiBwa2duYW1lPW1vdGlvbgogdmVyc2lvbj00LjYuMAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBl bmRzPSJhdXRvbWFrZSBwa2ctY29uZmlnIGdldHRleHQtZGV2ZWwgdGFyIgogbWFrZWRlcGVuZHM9 ImZmbXBlZy1kZXZlbCBsaWJtaWNyb2h0dHBkLWRldmVsIHY0bC11dGlscy1kZXZlbCBnZXR0ZXh0 LWRldmVsIgoKRnJvbSA5MmE0MGViYjE2ZDNkMjIxMmYyOGI3MjRiMGU2MWI2NjkwNjJkMDI2IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpE YXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNTAv MTA4XSBvbGl2ZTogcmV2YnVtcCBmb3IgZmZtcGVnNAoKLS0tCiBzcmNwa2dzL29saXZlL3RlbXBs YXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb2xpdmUvdGVtcGxhdGUgYi9zcmNwa2dzL29saXZl L3RlbXBsYXRlCmluZGV4IDEyYTQ2OTM2Yzk5MDAzLi41YzI5MTdiOWM1MTI0NSAxMDA2NDQKLS0t IGEvc3JjcGtncy9vbGl2ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL29saXZlL3RlbXBsYXRlCkBA IC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvbGl2ZScKIHBrZ25hbWU9b2xp dmUKIHZlcnNpb249MC4xLjIKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPXFt YWtlCiBob3N0bWFrZWRlcGVuZHM9InF0NS1xbWFrZSBxdDUtaG9zdC10b29scyBwa2ctY29uZmln IgotbWFrZWRlcGVuZHM9InF0NS1kZXZlbCBxdDUtbXVsdGltZWRpYS1kZXZlbCBxdDUtc3ZnLWRl dmVsIGZmbXBlZy1kZXZlbCBmcmVpMHItcGx1Z2lucyIKK21ha2VkZXBlbmRzPSJxdDUtZGV2ZWwg cXQ1LW11bHRpbWVkaWEtZGV2ZWwgcXQ1LXN2Zy1kZXZlbCBmZm1wZWc0LWRldmVsIGZyZWkwci1w bHVnaW5zIgogc2hvcnRfZGVzYz0iTm9uLWxpbmVhciB2aWRlbyBlZGl0b3IiCiBtYWludGFpbmVy PSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTMuMC1vci1s YXRlciIKCkZyb20gM2Y2MDI3NmYyZGViOGFiNjc2Mzc1MzFiYWFhNjU2YjIxYzEyZjA5YSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo1MCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDUxLzEw OF0gb3BlbnRvb256OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvb3BlbnRvb256 L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVudG9vbnovdGVtcGxhdGUgYi9zcmNwa2dz L29wZW50b29uei90ZW1wbGF0ZQppbmRleCA4MTI0OGE3ZGZmYjFkNy4uYTYxNjkwOTA1YTUzYzQg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbnRvb256L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3Bl bnRvb256L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3Bl bnRvb256JwogcGtnbmFtZT1vcGVudG9vbnoKIHZlcnNpb249MS43LjEKLXJldmlzaW9uPTEKK3Jl dmlzaW9uPTIKIGJ1aWxkX3dya3NyYz0idG9vbnovc291cmNlcyIKIGJ1aWxkX3N0eWxlPWNtYWtl CiBtYWtlX2NtZD1tYWtlCgpGcm9tIDU2MGFjMTlmMDJhM2U4MDNhY2UwNjdlZjBkZGU4M2RmZWEx ZDZiNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTAgLTA0MDAKU3ViamVjdDogW1BB VENIIDA1Mi8xMDhdIHBpYW5vYmFyOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mv cGlhbm9iYXIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BpYW5vYmFyL3RlbXBsYXRlIGIv c3JjcGtncy9waWFub2Jhci90ZW1wbGF0ZQppbmRleCBlM2ZlYmI4MjFhNDUxMC4uMWUzZGMxYmY5 MzA4ZWUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGlhbm9iYXIvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9waWFub2Jhci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J3BpYW5vYmFyJwogcGtnbmFtZT1waWFub2JhcgogdmVyc2lvbj0yMDIyLjA0LjAxCi1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKIG1ha2VfYnVpbGRfYXJn cz0iVj0xIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgoKRnJvbSA4ZDU1OTZmN2Q5NTQ1 ZGZhMzIyODM1NjY1MTFlNDc3YjljYjIzYjA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAx OjUwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNTMvMTA4XSBwcHNzcHA6IHJldmJ1bXAgZm9yIGZm bXBlZzYKCi0tLQogc3JjcGtncy9wcHNzcHAvcGF0Y2hlcy9mZm1wZWc2LnBhdGNoIHwgMTUgKysr KysrKysrKysrKysrCiBzcmNwa2dzL3Bwc3NwcC90ZW1wbGF0ZSAgICAgICAgICAgICAgfCAgMyAr LS0KIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bwc3NwcC9wYXRjaGVzL2ZmbXBlZzYucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3Bwc3NwcC9wYXRjaGVzL2ZmbXBlZzYucGF0Y2ggYi9zcmNwa2dz L3Bwc3NwcC9wYXRjaGVzL2ZmbXBlZzYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwMDAuLjU4MDNjN2JmMjI3MzA5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9wcHNzcHAvcGF0Y2hlcy9mZm1wZWc2LnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKKy0tLSBhL0Nv cmUvSFcvU2ltcGxlQXVkaW9EZWMuY3BwCTIwMjQtMDItMDQgMDg6MDg6MDIuMDAwMDAwMDAwIC0w NTAwCisrKysgYi9Db3JlL0hXL1NpbXBsZUF1ZGlvRGVjLmNwcAkyMDI0LTAyLTE1IDE0OjQ4OjI3 LjExNDM2MjA1MSAtMDUwMAorQEAgLTgxLDcgKzgxLDExIEBACisgCQlyZXR1cm47CisgCX0KKyAJ Ly8gRmluZCBkZWNvZGVyCisrI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UIDwgQVZfVkVSU0lP Tl9JTlQoNTgsIDE4LCAxMDApCisgCWNvZGVjXyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKChBVkNv ZGVjSUQpYXVkaW9Db2RlY0lkKTsKKysjZWxzZSAvLyB0aGlzIGlzIGEgbWFjcm8gdG8gY29uc3Qg aW4gdGhlIGhlYWRlcgorKwljb2RlY18gPSAoQVZDb2RlYyopYXZjb2RlY19maW5kX2RlY29kZXIo KEFWQ29kZWNJRClhdWRpb0NvZGVjSWQpOworKyNlbmRpZgorIAlpZiAoIWNvZGVjXykgeworIAkJ Ly8gRWgsIHdlIHNob3VsZG4ndCBldmVuIGhhdmUgbWFuYWdlZCB0byBjb21waWxlLiBCdXQgbWVo LgorIAkJRVJST1JfTE9HKE1FLCAiVGhpcyB2ZXJzaW9uIG9mIEZGTVBFRyBkb2VzIG5vdCBzdXBw b3J0IEFWX0NPREVDX2N0eCBmb3IgYXVkaW8gKCVzKS4gVXBkYXRlIHlvdXIgc3VibW9kdWxlLiIs IEdldENvZGVjTmFtZShhdWRpb1R5cGUpKTsKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wcHNzcHAv dGVtcGxhdGUgYi9zcmNwa2dzL3Bwc3NwcC90ZW1wbGF0ZQppbmRleCAyMjM4YTc2MDFjMGFmOC4u MWZkYTU1MjY4YTJkMzkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHBzc3BwL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcHBzc3BwL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAncHBzc3BwJwogcGtnbmFtZT1wcHNzcHAKIHZlcnNpb249MS4xNy4xCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBfZ2xzbGFuZ19jb21taXQ9YjM0ZjYxOWUxYzg1ODEwZGNiM2M1NzgxMDdk MmU0OGJhNGVlMmIzNwogX1NQSVJWX0Nyb3NzX2NvbW1pdD00MjEyZWVmNjdlZDBjYTA0OGNiNzI2 YTY3NjcxODU1MDRlNzY5NWU1CiBfYXJtaXBzX2NvbW1pdD1hOGQ3MWYwZjI3OWViMGQzMGVjZjZh ZjUxNDczYjY2YWUwY2Y4ZThkCkBAIC05MSw3ICs5MSw2IEBAIHBvc3RfY29uZmlndXJlKCkgewog fQogCiBkb19pbnN0YWxsKCkgewotCXZsaWNlbnNlIExJQ0VOU0UuVFhUCiAJdmluc3RhbGwgaWNv bnMvaWNvbi5zdmcgNjQ0IHVzci9zaGFyZS9waXhtYXBzIHBwc3NwcC5zdmcKIAl2aW5zdGFsbCBR dC9QUFNTUFAuZGVza3RvcCA2NDQgdXNyL3NoYXJlL2FwcGxpY2F0aW9ucwogCXZiaW4gYnVpbGQv UFBTU1BQSGVhZGxlc3MgcHBzc3BwLWhlYWRsZXNzCgpGcm9tIGY3NWNhMjFkZjAyYjViNjFjMjQ5 N2U2NTU4YzM3OGUwNDA4MTgwNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNl IDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTAgLTA0 MDAKU3ViamVjdDogW1BBVENIIDA1NC8xMDhdIHBxaXY6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0t LQogc3JjcGtncy9wcWl2L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wcWl2L3RlbXBsYXRl IGIvc3JjcGtncy9wcWl2L3RlbXBsYXRlCmluZGV4IGY5Zjc3NTExOTZkNGVlLi4wZDUwNzc3ZTU2 YTJkOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9wcWl2L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHFp di90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BxaXYnCiBw a2duYW1lPXBxaXYKIHZlcnNpb249Mi4xMy4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWls ZF9zdHlsZT1nbnUtbWFrZWZpbGUKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKIG1ha2Vk ZXBlbmRzPSJnbGliLWRldmVsIGd0ayszLWRldmVsICQodm9wdF9pZiBmZm1wZWcgZmZtcGVnLWRl dmVsKQoKRnJvbSAwOTRjMmQ1MTY5ZjY1Zjg1OGUyNGMyYjM2NDZlZGMxYjRmMjYxNTQzIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRl OiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNTUvMTA4 XSBxbW1wOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvcW1tcC90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcW1tcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcW1tcC90ZW1wbGF0ZQpp bmRleCA1Mzc4MWVhM2JjMjhhZC4uMmRhMDdmMWU4N2VhYzAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cW1tcC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3FtbXAvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxbW1wJwogcGtnbmFtZT1xbW1wCiB2ZXJzaW9uPTEuNi4x Ci1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2Fy Z3M9Ii1EVVNFX0hBTDpCT09MPUZBTFNFIC1EUU1NUF9ERUZBVUxUX1VJOlNUUklORz1zaW1wbGUi CiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1LWhvc3QtdG9vbHMgcXQ1LXFtYWtlIgoK RnJvbSA3ZmMyNDFhZDE4MDNlNTJiM2Q3MTg0ZTc2ZTAyY2Y4NWU2NTc4ODA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBUaHUs IDE0IERlYyAyMDIzIDEzOjI4OjEwIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwNTYvMTA4XSBxdDYt cGRmOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvcXQ2LXBkZi90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXBkZi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXBkZi90ZW1w bGF0ZQppbmRleCBhN2Y2MWVhMGIwYWE1ZC4uN2E2NDM5YTc1ODA0NzkgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LXBkZi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1wZGYvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcGRmJwogcGtnbmFtZT1xdDYt cGRmCiB2ZXJzaW9uPTYuNy4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1j bWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfRkVBVFVSRV9xdHBkZl9idWlsZD1PTgogIC1EUVRf RkVBVFVSRV9xdHBkZl93aWRnZXRzX2J1aWxkPU9OCgpGcm9tIDFmZTk4ODUzZDc2ZjQzY2EyMzQ5 YjQyN2Y2MTljNzk4MzUyNjFmOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNl IDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTAgLTA0 MDAKU3ViamVjdDogW1BBVENIIDA1Ny8xMDhdIHF0NS13ZWJlbmdpbmU6IHJldmJ1bXAgZm9yIGZm bXBlZzYKCi0tLQogLi4uL2Nocm9taXVtLW1lZGlhLWZpbHRlcnMtY3BwMTQucGF0Y2ggICAgICAg IHwgIDExICsrCiBzcmNwa2dzL3F0NS13ZWJlbmdpbmUvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoICAg fCAxNzkgKysrKysrKysrKysrKysrKysrCiAuLi4vcXR3ZWJlbmdpbmUtZml4LWZmbXBlZzUtYnVp bGQucGF0Y2ggICAgICAgfCAgMTQgKysKIHNyY3BrZ3MvcXQ1LXdlYmVuZ2luZS90ZW1wbGF0ZSAg ICAgICAgICAgICAgICB8ICAgNCArLQogNCBmaWxlcyBjaGFuZ2VkLCAyMDYgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS13ZWJlbmdp bmUvcGF0Y2hlcy9jaHJvbWl1bS1tZWRpYS1maWx0ZXJzLWNwcDE0LnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvZmZtcGVnNS5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1LXdlYmVuZ2luZS9wYXRjaGVzL3F0d2ViZW5naW5l LWZpeC1mZm1wZWc1LWJ1aWxkLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUtd2ViZW5n aW5lL3BhdGNoZXMvY2hyb21pdW0tbWVkaWEtZmlsdGVycy1jcHAxNC5wYXRjaCBiL3NyY3BrZ3Mv cXQ1LXdlYmVuZ2luZS9wYXRjaGVzL2Nocm9taXVtLW1lZGlhLWZpbHRlcnMtY3BwMTQucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjA0YWRjNTQwZjJjYmMw Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvY2hyb21p dW0tbWVkaWEtZmlsdGVycy1jcHAxNC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9CVUlMRC5nbgkyMDIzLTAyLTI3IDEzOjMy OjU5LjAwMDAwMDAwMCAtMDUwMAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2Zp bHRlcnMvQlVJTEQuZ24JMjAyMy0wNC0wMiAxNzoyMTozOS4yMDQwNjYzODQgLTA0MDAKK0BAIC05 Niw2ICs5Niw4IEBACisgICAgICIvL3VpL2dmeC9nZW9tZXRyeTpnZW9tZXRyeSIsCisgICBdCisg CisrICBjZmxhZ3NfY2MgPSBbICItc3RkPWMrKzE0IiBdCisrCisgICBsaWJzID0gW10KKyAKKyAg IGlmIChwcm9wcmlldGFyeV9jb2RlY3MpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1LXdlYmVu Z2luZS9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggYi9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvcGF0Y2hl cy9mZm1wZWc1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw Li5hYzU1ZTE2MzQ0MjNhOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1LXdlYmVuZ2lu ZS9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKQEAgLTAsMCArMSwxNzkgQEAKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCTIwMjMtMDQtMDIg MTY6NTA6NTcuNzMyNTQ3NDQ2IC0wNDAwCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVk aWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYwkyMDIzLTA0LTAyIDE2OjUwOjA5LjQ4NjQ3ODk5 NSAtMDQwMAorQEAgLTU3LDYgKzU3LDggQEAKKyAKKyBuYW1lc3BhY2UgeworIAorK2NvbnN0ZXhw ciBpbnQ2NF90IGtSZWxhdGl2ZVRzQmFzZSA9IHN0YXRpY19jYXN0PGludDY0X3Q+KDB4N2ZmZWZm ZmZmZmZmZmZmZik7CisrCisgdm9pZCBTZXRBVlN0cmVhbURpc2NhcmQoQVZTdHJlYW0qIHN0cmVh bSwgQVZEaXNjYXJkIGRpc2NhcmQpIHsKKyAgIERDSEVDSyhzdHJlYW0pOworICAgc3RyZWFtLT5k aXNjYXJkID0gZGlzY2FyZDsKK0BAIC05MCwyNCArOTIsMTIgQEAKKyAKKyBzdGF0aWMgYmFzZTo6 VGltZURlbHRhIEV4dHJhY3RTdGFydFRpbWUoQVZTdHJlYW0qIHN0cmVhbSkgeworICAgLy8gVGhl IGRlZmF1bHQgc3RhcnQgdGltZSBpcyB6ZXJvLgorLSAgYmFzZTo6VGltZURlbHRhIHN0YXJ0X3Rp bWU7CisrICBiYXNlOjpUaW1lRGVsdGEgc3RhcnRfdGltZSA9IGtOb1RpbWVzdGFtcDsKKyAKKyAg IC8vIEZpcnN0IHRyeSB0byB1c2UgIHRoZSB8c3RhcnRfdGltZXwgdmFsdWUgYXMgaXMuCisgICBp ZiAoc3RyZWFtLT5zdGFydF90aW1lICE9IGtOb0ZGbXBlZ1RpbWVzdGFtcCkKKyAgICAgc3RhcnRf dGltZSA9IENvbnZlcnRGcm9tVGltZUJhc2Uoc3RyZWFtLT50aW1lX2Jhc2UsIHN0cmVhbS0+c3Rh cnRfdGltZSk7CisgCistICAvLyBOZXh0IHRyeSB0byB1c2UgdGhlIGZpcnN0IERUUyB2YWx1ZSwg Zm9yIGNvZGVjcyB3aGVyZSB3ZSBrbm93IFBUUyA9PSBEVFMKKy0gIC8vIChleGNsdWRlcyBhbGwg SDI2eCBjb2RlY3MpLiBUaGUgc3RhcnQgdGltZSBtdXN0IGJlIHJldHVybmVkIGluIFBUUy4KKy0g IGlmIChzdHJlYW0tPmZpcnN0X2R0cyAhPSBrTm9GRm1wZWdUaW1lc3RhbXAgJiYKKy0gICAgICBz dHJlYW0tPmNvZGVjcGFyLT5jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9IRVZDICYmCistICAgICAg c3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQgIT0gQVZfQ09ERUNfSURfSDI2NCAmJgorLSAgICAg IHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lkICE9IEFWX0NPREVDX0lEX01QRUc0KSB7CistICAg IGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBmaXJzdF9wdHMgPQorLSAgICAgICAgQ29udmVydEZyb21U aW1lQmFzZShzdHJlYW0tPnRpbWVfYmFzZSwgc3RyZWFtLT5maXJzdF9kdHMpOworLSAgICBpZiAo Zmlyc3RfcHRzIDwgc3RhcnRfdGltZSkKKy0gICAgICBzdGFydF90aW1lID0gZmlyc3RfcHRzOwor LSAgfQorLQorICAgcmV0dXJuIHN0YXJ0X3RpbWU7CisgfQorIAorQEAgLTQwOCwxMSArMzk4LDEx IEBACisgICBzY29wZWRfcmVmcHRyPERlY29kZXJCdWZmZXI+IGJ1ZmZlcjsKKyAKKyAgIGlmICh0 eXBlKCkgPT0gRGVtdXhlclN0cmVhbTo6VEVYVCkgeworLSAgICBpbnQgaWRfc2l6ZSA9IDA7Cisr ICAgIHNpemVfdCBpZF9zaXplID0gMDsKKyAgICAgdWludDhfdCogaWRfZGF0YSA9IGF2X3BhY2tl dF9nZXRfc2lkZV9kYXRhKAorICAgICAgICAgcGFja2V0LmdldCgpLCBBVl9QS1RfREFUQV9XRUJW VFRfSURFTlRJRklFUiwgJmlkX3NpemUpOworIAorLSAgICBpbnQgc2V0dGluZ3Nfc2l6ZSA9IDA7 CisrICAgIHNpemVfdCBzZXR0aW5nc19zaXplID0gMDsKKyAgICAgdWludDhfdCogc2V0dGluZ3Nf ZGF0YSA9IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKAorICAgICAgICAgcGFja2V0LmdldCgpLCBB Vl9QS1RfREFUQV9XRUJWVFRfU0VUVElOR1MsICZzZXR0aW5nc19zaXplKTsKKyAKK0BAIC00MjQs NyArNDE0LDcgQEAKKyAgICAgYnVmZmVyID0gRGVjb2RlckJ1ZmZlcjo6Q29weUZyb20ocGFja2V0 LT5kYXRhLCBwYWNrZXQtPnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNpZGVfZGF0YS5kYXRhKCksIHNpZGVfZGF0YS5zaXplKCkpOworICAgfSBlbHNlIHsKKy0g ICAgaW50IHNpZGVfZGF0YV9zaXplID0gMDsKKysgICAgc2l6ZV90IHNpZGVfZGF0YV9zaXplID0g MDsKKyAgICAgdWludDhfdCogc2lkZV9kYXRhID0gYXZfcGFja2V0X2dldF9zaWRlX2RhdGEoCisg ICAgICAgICBwYWNrZXQuZ2V0KCksIEFWX1BLVF9EQVRBX01BVFJPU0tBX0JMT0NLQURESVRJT05B TCwgJnNpZGVfZGF0YV9zaXplKTsKKyAKK0BAIC00ODUsNyArNDc1LDcgQEAKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrZXQtPnNpemUgLSBkYXRhX29mZnNldCk7 CisgICAgIH0KKyAKKy0gICAgaW50IHNraXBfc2FtcGxlc19zaXplID0gMDsKKysgICAgc2l6ZV90 IHNraXBfc2FtcGxlc19zaXplID0gMDsKKyAgICAgY29uc3QgdWludDMyX3QqIHNraXBfc2FtcGxl c19wdHIgPQorICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50MzJfdCo+KGF2X3Bh Y2tldF9nZXRfc2lkZV9kYXRhKAorICAgICAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtUX0RB VEFfU0tJUF9TQU1QTEVTLCAmc2tpcF9zYW1wbGVzX3NpemUpKTsKK0BAIC0xNTg3LDYgKzE1Nzcs OCBAQAorICAgZm9yIChjb25zdCBhdXRvJiBzdHJlYW0gOiBzdHJlYW1zXykgeworICAgICBpZiAo IXN0cmVhbSB8fCBzdHJlYW0tPklzRW5hYmxlZCgpICE9IGVuYWJsZWQpCisgICAgICAgY29udGlu dWU7CisrICAgIGlmIChzdHJlYW0tPmF2X3N0cmVhbSgpLT5zdGFydF90aW1lID09IEFWX05PUFRT X1ZBTFVFKQorKyAgICAgIGNvbnRpbnVlOworICAgICBpZiAoIWxvd2VzdF9zdGFydF90aW1lX3N0 cmVhbSB8fAorICAgICAgICAgc3RyZWFtLT5zdGFydF90aW1lKCkgPCBsb3dlc3Rfc3RhcnRfdGlt ZV9zdHJlYW0tPnN0YXJ0X3RpbWUoKSkgeworICAgICAgIGxvd2VzdF9zdGFydF90aW1lX3N0cmVh bSA9IHN0cmVhbS5nZXQoKTsKK0BAIC0xNjA0LDYgKzE1OTYsOCBAQAorICAgICBpZiAoc3RyZWFt ICYmIHN0cmVhbS0+dHlwZSgpID09IERlbXV4ZXJTdHJlYW06OlZJREVPICYmCisgICAgICAgICBz dHJlYW0tPklzRW5hYmxlZCgpKSB7CisgICAgICAgdmlkZW9fc3RyZWFtID0gc3RyZWFtLmdldCgp OworKyAgICAgIGlmIChzdHJlYW0tPmF2X3N0cmVhbSgpLT5zdGFydF90aW1lID09IEFWX05PUFRT X1ZBTFVFKQorKyAgICAgICAgY29udGludWU7CisgICAgICAgaWYgKHZpZGVvX3N0cmVhbS0+c3Rh cnRfdGltZSgpIDw9IHNlZWtfdGltZSkgeworICAgICAgICAgcmV0dXJuIHZpZGVvX3N0cmVhbTsK KyAgICAgICB9CitkaWZmIC1OYXVycCBxdHdlYmVuZ2luZS01LjE1LjEwLm9yaWcvc3JjLzNyZHBh cnR5L2Nocm9taXVtL21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9uLmggcXR3ZWJlbmdpbmUtNS4x NS4xMC9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmZtcGVnL2ZmbXBlZ19jb21tb24uaAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9uLmgJ MjAyMi0wNS0yMyAwNjozODo0MC4wMDAwMDAwMDAgLTA1MDAKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tZWRpYS9mZm1wZWcvZmZtcGVnX2NvbW1vbi5oCTIwMjItMDctMTEgMjI6MTI6NDcu OTE3MTkyNzg4IC0wNTAwCitAQCAtMjksNiArMjksNyBAQCBleHRlcm4gIkMiIHsKKyAjaW5jbHVk ZSA8bGliYXZmb3JtYXQvYXZmb3JtYXQuaD4KKyAjaW5jbHVkZSA8bGliYXZmb3JtYXQvYXZpby5o PgorICNpbmNsdWRlIDxsaWJhdnV0aWwvYXZ1dGlsLmg+CisrI2luY2x1ZGUgPGxpYmF2dXRpbC9j aGFubmVsX2xheW91dC5oPgorICNpbmNsdWRlIDxsaWJhdnV0aWwvaW1ndXRpbHMuaD4KKyAjaW5j bHVkZSA8bGliYXZ1dGlsL2xvZy5oPgorICNpbmNsdWRlIDxsaWJhdnV0aWwvbWFzdGVyaW5nX2Rp c3BsYXlfbWV0YWRhdGEuaD4KK2RpZmYgLU5hdXJwIHF0d2ViZW5naW5lLTUuMTUuMTAub3JpZy9z cmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYyBx dHdlYmVuZ2luZS01LjE1LjEwL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2F1 ZGlvX2ZpbGVfcmVhZGVyLmNjCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmls dGVycy9hdWRpb19maWxlX3JlYWRlci5jYwkyMDIyLTA1LTIzIDA2OjM4OjQwLjAwMDAwMDAwMCAt MDUwMAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvYXVkaW9fZmls ZV9yZWFkZXIuY2MJMjAyMi0wNy0xMSAyMjoxMjo0Ny45MTcxOTI3ODggLTA1MDAKK0BAIC04NSw3 ICs4NSw3IEBAIGJvb2wgQXVkaW9GaWxlUmVhZGVyOjpPcGVuRGVtdXhlcigpIHsKKyB9CisgCisg Ym9vbCBBdWRpb0ZpbGVSZWFkZXI6Ok9wZW5EZWNvZGVyKCkgeworLSAgQVZDb2RlYyogY29kZWMg PSBhdmNvZGVjX2ZpbmRfZGVjb2Rlcihjb2RlY19jb250ZXh0Xy0+Y29kZWNfaWQpOworKyAgY29u c3QgQVZDb2RlYyogY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2Rlcihjb2RlY19jb250ZXh0Xy0+ Y29kZWNfaWQpOworICAgaWYgKGNvZGVjKSB7CisgICAgIC8vIE1QMyBkZWNvZGVzIHRvIFMxNlAg d2hpY2ggd2UgZG9uJ3Qgc3VwcG9ydCwgdGVsbCBpdCB0byB1c2UgUzE2IGluc3RlYWQuCisgICAg IGlmIChjb2RlY19jb250ZXh0Xy0+c2FtcGxlX2ZtdCA9PSBBVl9TQU1QTEVfRk1UX1MxNlApCitk aWZmIC1OYXVycCBxdHdlYmVuZ2luZS01LjE1LjEwLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL2ZpbHRlcnMvZmZtcGVnX2F1ZGlvX2RlY29kZXIuY2MgcXR3ZWJlbmdpbmUtNS4xNS4x MC9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9mZm1wZWdfYXVkaW9fZGVjb2Rl ci5jYworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2F1 ZGlvX2RlY29kZXIuY2MJMjAyMi0wNS0yMyAwNjozODo0MC4wMDAwMDAwMDAgLTA1MDAKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19hdWRpb19kZWNvZGVy LmNjCTIwMjItMDctMTEgMjI6MTI6NDcuOTE3MTkyNzg4IC0wNTAwCitAQCAtMzI5LDcgKzMyOSw3 IEBAIGJvb2wgRkZtcGVnQXVkaW9EZWNvZGVyOjpDb25maWd1cmVEZWNvZGUKKyAgICAgfQorICAg fQorIAorLSAgQVZDb2RlYyogY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2Rlcihjb2RlY19jb250 ZXh0Xy0+Y29kZWNfaWQpOworKyAgY29uc3QgQVZDb2RlYyogY29kZWMgPSBhdmNvZGVjX2ZpbmRf ZGVjb2Rlcihjb2RlY19jb250ZXh0Xy0+Y29kZWNfaWQpOworICAgaWYgKCFjb2RlYyB8fAorICAg ICAgIGF2Y29kZWNfb3BlbjIoY29kZWNfY29udGV4dF8uZ2V0KCksIGNvZGVjLCAmY29kZWNfb3B0 aW9ucykgPCAwKSB7CisgICAgIERMT0coRVJST1IpIDw8ICJDb3VsZCBub3QgaW5pdGlhbGl6ZSBh dWRpbyBkZWNvZGVyOiAiCitkaWZmIC1OYXVycCBxdHdlYmVuZ2luZS01LjE1LjEwLm9yaWcvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2dsdWUuY2MgcXR3ZWJlbmdp bmUtNS4xNS4xMC9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9mZm1wZWdfZ2x1 ZS5jYworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2ds dWUuY2MJMjAyMi0wNS0yMyAwNjozODo0MC4wMDAwMDAwMDAgLTA1MDAKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19nbHVlLmNjCTIwMjItMDctMTEgMjI6 MTI6NDcuOTE4MTkyNzc5IC0wNTAwCitAQCAtNTksNyArNTksNiBAQCBzdGF0aWMgaW50NjRfdCBB VklPU2Vla09wZXJhdGlvbih2b2lkKiBvCisgfQorIAorIHZvaWQgRkZtcGVnR2x1ZTo6SW5pdGlh bGl6ZUZGbXBlZygpIHsKKy0gIGF2X3JlZ2lzdGVyX2FsbCgpOworIH0KKyAKKyBzdGF0aWMgdm9p ZCBMb2dDb250YWluZXIoYm9vbCBpc19sb2NhbF9maWxlLAorQEAgLTk1LDkgKzk0LDYgQEAgRkZt cGVnR2x1ZTo6RkZtcGVnR2x1ZShGRm1wZWdVUkxQcm90b2NvbAorICAgLy8gRW5hYmxlIGZhc3Qs IGJ1dCBpbmFjY3VyYXRlIHNlZWtzIGZvciBNUDMuCisgICBmb3JtYXRfY29udGV4dF8tPmZsYWdz IHw9IEFWRk1UX0ZMQUdfRkFTVF9TRUVLOworIAorLSAgLy8gRW5zdXJlcyB3ZSBjYW4gcmVhZCBv dXQgdmFyaW91cyBtZXRhZGF0YSBiaXRzIGxpa2UgdnA4IGFscGhhLgorLSAgZm9ybWF0X2NvbnRl eHRfLT5mbGFncyB8PSBBVkZNVF9GTEFHX0tFRVBfU0lERV9EQVRBOworLQorICAgLy8gRW5zdXJl cyBmb3JtYXQgcGFyc2luZyBlcnJvcnMgd2lsbCBiYWlsIG91dC4gRnJvbSBhbiBhdWRpdCBvbiAx MS8yMDE3LCBhbGwKKyAgIC8vIGluc3RhbmNlcyB3ZXJlIHJlYWwgZmFpbHVyZXMuIFNvbHZlcyBi dWdzIGxpa2UgaHR0cDovL2NyYnVnLmNvbS83MTA3OTEuCisgICBmb3JtYXRfY29udGV4dF8tPmVy cm9yX3JlY29nbml0aW9uIHw9IEFWX0VGX0VYUExPREU7CitkaWZmIC1OYXVycCBxdHdlYmVuZ2lu ZS01LjE1LjEwLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVn X3ZpZGVvX2RlY29kZXIuY2MgcXR3ZWJlbmdpbmUtNS4xNS4xMC9zcmMvM3JkcGFydHkvY2hyb21p dW0vbWVkaWEvZmlsdGVycy9mZm1wZWdfdmlkZW9fZGVjb2Rlci5jYworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVnX3ZpZGVvX2RlY29kZXIuY2MJMjAyMi0w NS0yMyAwNjozODo0MC4wMDAwMDAwMDAgLTA1MDAKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ192aWRlb19kZWNvZGVyLmNjCTIwMjItMDctMTEgMjI6MTI6 NDcuOTE4MTkyNzc5IC0wNTAwCitAQCAtMzkxLDcgKzM5MSw3IEBAIGJvb2wgRkZtcGVnVmlkZW9E ZWNvZGVyOjpDb25maWd1cmVEZWNvZGUKKyAgIGlmIChkZWNvZGVfbmFsdXNfKQorICAgICBjb2Rl Y19jb250ZXh0Xy0+ZmxhZ3MyIHw9IEFWX0NPREVDX0ZMQUcyX0NIVU5LUzsKKyAKKy0gIEFWQ29k ZWMqIGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoY29kZWNfY29udGV4dF8tPmNvZGVjX2lk KTsKKysgIGNvbnN0IEFWQ29kZWMqIGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoY29kZWNf Y29udGV4dF8tPmNvZGVjX2lkKTsKKyAgIGlmICghY29kZWMgfHwgYXZjb2RlY19vcGVuMihjb2Rl Y19jb250ZXh0Xy5nZXQoKSwgY29kZWMsIE5VTEwpIDwgMCkgeworICAgICBSZWxlYXNlRkZtcGVn UmVzb3VyY2VzKCk7CisgICAgIHJldHVybiBmYWxzZTsKK2RpZmYgLU5hdXJwIHF0d2ViZW5naW5l LTUuMTUuMTAub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9tZWRpYV9m aWxlX2NoZWNrZXIuY2MgcXR3ZWJlbmdpbmUtNS4xNS4xMC9zcmMvM3JkcGFydHkvY2hyb21pdW0v bWVkaWEvZmlsdGVycy9tZWRpYV9maWxlX2NoZWNrZXIuY2MKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tZWRpYS9maWx0ZXJzL21lZGlhX2ZpbGVfY2hlY2tlci5jYwkyMDIyLTA1LTIzIDA2 OjM4OjQwLjAwMDAwMDAwMCAtMDUwMAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlh L2ZpbHRlcnMvbWVkaWFfZmlsZV9jaGVja2VyLmNjCTIwMjItMDctMTEgMjI6MTI6NDcuOTE4MTky Nzc5IC0wNTAwCitAQCAtNjgsNyArNjgsNyBAQCBib29sIE1lZGlhRmlsZUNoZWNrZXI6OlN0YXJ0 KGJhc2U6OlRpbWVECisgICAgICAgYXV0byBjb250ZXh0ID0gQVZTdHJlYW1Ub0FWQ29kZWNDb250 ZXh0KGZvcm1hdF9jb250ZXh0LT5zdHJlYW1zW2ldKTsKKyAgICAgICBpZiAoIWNvbnRleHQpCisg ICAgICAgICBjb250aW51ZTsKKy0gICAgICBBVkNvZGVjKiBjb2RlYyA9IGF2Y29kZWNfZmluZF9k ZWNvZGVyKGNwLT5jb2RlY19pZCk7CisrICAgICAgY29uc3QgQVZDb2RlYyogY29kZWMgPSBhdmNv ZGVjX2ZpbmRfZGVjb2RlcihjcC0+Y29kZWNfaWQpOworICAgICAgIGlmIChjb2RlYyAmJiBhdmNv ZGVjX29wZW4yKGNvbnRleHQuZ2V0KCksIGNvZGVjLCBudWxscHRyKSA+PSAwKSB7CisgICAgICAg ICBhdXRvIGxvb3AgPSBzdGQ6Om1ha2VfdW5pcXVlPEZGbXBlZ0RlY29kaW5nTG9vcD4oY29udGV4 dC5nZXQoKSk7CisgICAgICAgICBzdHJlYW1fY29udGV4dHNbaV0gPSB7c3RkOjptb3ZlKGNvbnRl eHQpLCBzdGQ6Om1vdmUobG9vcCl9OworZGlmZiAtTmF1cnAgcXR3ZWJlbmdpbmUtNS4xNS4xMC5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRl b19jb2RpbmcvY29kZWNzL2gyNjQvaDI2NF9kZWNvZGVyX2ltcGwuY2MgcXR3ZWJlbmdpbmUtNS4x NS4xMC9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlk ZW9fY29kaW5nL2NvZGVjcy9oMjY0L2gyNjRfZGVjb2Rlcl9pbXBsLmNjCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL2Nv ZGVjcy9oMjY0L2gyNjRfZGVjb2Rlcl9pbXBsLmNjCTIwMjItMDUtMjMgMDY6Mzg6NDAuMDAwMDAw MDAwIC0wNTAwCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRj L21vZHVsZXMvdmlkZW9fY29kaW5nL2NvZGVjcy9oMjY0L2gyNjRfZGVjb2Rlcl9pbXBsLmNjCTIw MjItMDctMTEgMjI6MTI6NDcuOTE4MTkyNzc5IC0wNTAwCitAQCAtMjAzLDcgKzIwMyw3IEBAIGlu dDMyX3QgSDI2NERlY29kZXJJbXBsOjpJbml0RGVjb2RlKGNvbnMKKyAgIC8vIGEgcG9pbnRlciB8 dGhpc3wuCisgICBhdl9jb250ZXh0Xy0+b3BhcXVlID0gdGhpczsKKyAKKy0gIEFWQ29kZWMqIGNv ZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoYXZfY29udGV4dF8tPmNvZGVjX2lkKTsKKysgIGNv bnN0IEFWQ29kZWMqIGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoYXZfY29udGV4dF8tPmNv ZGVjX2lkKTsKKyAgIGlmICghY29kZWMpIHsKKyAgICAgLy8gVGhpcyBpcyBhbiBpbmRpY2F0aW9u IHRoYXQgRkZtcGVnIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCBvciBpdCBoYXMgbm90CisgICAg IC8vIGJlZW4gY29tcGlsZWQvaW5pdGlhbGl6ZWQgd2l0aCB0aGUgY29ycmVjdCBzZXQgb2YgY29k ZWNzLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvcXR3ZWJlbmdp bmUtZml4LWZmbXBlZzUtYnVpbGQucGF0Y2ggYi9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvcGF0Y2hl cy9xdHdlYmVuZ2luZS1maXgtZmZtcGVnNS1idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uYmMyNGQ1YjlhMjljYjUKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvcGF0Y2hlcy9xdHdlYmVuZ2luZS1maXgtZmZtcGVnNS1i dWlsZC5wYXRjaApAQCAtMCwwICsxLDE0IEBACistLS0gYS9zcmMvYnVpbGR0b29scy9jb25maWd1 cmUuanNvbgkyMDIzLTEyLTA5IDExOjA2OjAxLjUwMzA1ODU2OSAtMDUwMAorKysrIGIvc3JjL2J1 aWxkdG9vbHMvY29uZmlndXJlLmpzb24JMjAyMy0xMi0wOSAxMTowNjoxNC45ODIzNjEzNDUgLTA1 MDAKK0BAIC03NzksMTEgKzc3OSw2IEBACisgICAgICAgICAgICAgInR5cGUiOiAid2FybmluZyIs CisgICAgICAgICAgICAgImNvbmRpdGlvbiI6ICJjb25maWcuaW9zICYmIGNvbmZpZy5zaW11bGF0 b3IgJiYgY29uZmlnLmRldmljZSAmJiBmZWF0dXJlcy5idWlsZC1xdHBkZiIsCisgICAgICAgICAg ICAgIm1lc3NhZ2UiOiAiQnVpbGRpbmcgZmF0IGxpYnJheSB3aXRoIGRldmljZSBhbmQgc2ltdWxh dG9yIGFyY2hpdGVjdHVyZXMgd2lsbCBkaXNhYmxlIE5FT04uIgorLSAgICAgICAgfSwKKy0gICAg ICAgIHsKKy0gICAgICAgICAgICAidHlwZSI6ICJmYXRhbCIsCistICAgICAgICAgICAgImNvbmRp dGlvbiI6ICJmZWF0dXJlcy53ZWJlbmdpbmUtc3lzdGVtLWZmbXBlZyAmJiAhbGlicy53ZWJlbmdp bmUtZmZtcGVnLXN1cHBvcnQiLAorLSAgICAgICAgICAgICJtZXNzYWdlIjogIlVubW9kaWZpZWQg ZmZtcGVnID49IDUuMCBpcyBub3Qgc3VwcG9ydGVkLiBQbGVhc2UgY29uZmlndXJlIHdpdGggLXF0 LXdlYmVuZ2luZS1mZm1wZWcuIgorICAgICAgICAgfQorICAgICBdLAorICAgICAic3VtbWFyeSI6 IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1LXdlYmVuZ2luZS90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ1LXdlYmVuZ2luZS90ZW1wbGF0ZQppbmRleCAzYzBmNWJkYTY5YzdlZS4uZGY2ZTQ0MTc0N2Nj NDMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1LXdlYmVuZ2luZS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxhdGUKQEAgLTEsMTQgKzEsMTQgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0NS13ZWJlbmdpbmUnCiBwa2duYW1lPXF0NS13ZWJlbmdpbmUKIHZlcnNpb249 NS4xNS4xNgotcmV2aXNpb249MQorcmV2aXNpb249MgogX3ZlcnNpb249IiR7dmVyc2lvbn0tbHRz IgogX2Nocm9taXVtX2NvbW1pdD0yMDdjMmFjNDVjYTMzODZkMTUzNzcwYzZiMGQyZWEyZWMyMWNh ODgwCiBhcmNocz0ieDg2XzY0KiBpNjg2KiBhcm12WzY3XSogcHBjNjQqIGFhcmNoNjQqIgogY3Jl YXRlX3dya3NyYz15ZXMKIGJ1aWxkX3N0eWxlPXFtYWtlCiBjb25maWd1cmVfYXJncz0iLS0KLSAt d2ViZW5naW5lLWljdSAtd2ViZW5naW5lLWZmbXBlZyAtd2ViZW5naW5lLW9wdXMgLXdlYmVuZ2lu ZS13ZWJwCisgLXdlYmVuZ2luZS1pY3UgLXN5c3RlbS1mZm1wZWcgLXdlYmVuZ2luZS1vcHVzIC13 ZWJlbmdpbmUtd2VicAogIC13ZWJlbmdpbmUtcGVwcGVyLXBsdWdpbnMgLXdlYmVuZ2luZS1wcmlu dGluZy1hbmQtcGRmIC13ZWJlbmdpbmUtcHJvcHJpZXRhcnktY29kZWNzCiAgLXdlYmVuZ2luZS1w dWxzZWF1ZGlvIC13ZWJlbmdpbmUtc3BlbGxjaGVja2VyIC13ZWJlbmdpbmUtd2VicnRjIC13ZWJl bmdpbmUtZ2VvbG9jYXRpb24KICAtd2ViZW5naW5lLWtlcmJlcm9zIC1uby13ZWJlbmdpbmUtZW1i ZWRkZWQtYnVpbGQgJCh2b3B0X2lmIHNuZGlvICcnICctbm8nKS13ZWJlbmdpbmUtc25kaW8KCkZy b20gOGJjOGM4ZWUzYjYwZTZhZGI2MmFjYTI1NTAxMmI0NjgzYjYyNzYwNyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAy MiBNYXIgMjAyMyAyMDowMTo1MSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDU4LzEwOF0gcXQ1OiBy ZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvcXQ1L3RlbXBsYXRlIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0NS90ZW1wbGF0ZQppbmRleCBlNTdlMTU5 MzQ0NTIwNC4uZjUyNDU5YmYzZTVjZGIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ1L3RlbXBsYXRlCkBAIC0zLDcgKzMsNyBAQAogIyByZXZidW1wIGxp YnF0eGRnIGFmdGVyIGJ1bXBpbmcgcGF0Y2ggdmVyc2lvbgogcGtnbmFtZT1xdDUKIHZlcnNpb249 NS4xNS4xMSsyMDIzMTEyNAotcmV2aXNpb249NAorcmV2aXNpb249NQogIyBjb21taXQgNDc2NWZh MWRmN2E4MzdkYjljMWY4OWM0ZGEwZGQ3NmI3NGJiNWZhYgogIyBiYXNlIHJlcG86IGh0dHBzOi8v aW52ZW50LmtkZS5vcmcvcXQvcXQvcXQ1CiBidWlsZF9zdHlsZT1tZXRhCgpGcm9tIGVlYWY1OWRl NjRmZjE4ODc4YTYxMjA4ZjdmYWE2ZWIwY2Y0ZWNjOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMg MjA6MDE6NTEgLTA0MDAKU3ViamVjdDogW1BBVENIIDA1OS8xMDhdIHF0YXY6IHJldmJ1bXAgZm9y IGZmbXBlZzQKCi0tLQogc3JjcGtncy9xdGF2L3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXRhdi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXRhdi90ZW1wbGF0ZQppbmRleCA3NzVkNWExMzlh OWVmYS4uYWE2OWUyMTNjOTg0YjAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXRhdi90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL3F0YXYvdGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0YXYnCiBwa2duYW1lPXF0YXYKIHZlcnNpb249MS4xMy4wCi1yZXZpc2lvbj0y CityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1xbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJxdDUtcW1h a2UgcXQ1LWhvc3QtdG9vbHMiCi1tYWtlZGVwZW5kcz0iZmZtcGVnLWRldmVsIGxpYmFzcy1kZXZl bCBsaWJvcGVuYWwtZGV2ZWwKK21ha2VkZXBlbmRzPSJmZm1wZWc0LWRldmVsIGxpYmFzcy1kZXZl bCBsaWJvcGVuYWwtZGV2ZWwKICBsaWJ2YS1nbHgtZGV2ZWwgbGliWHYtZGV2ZWwgcHVsc2VhdWRp by1kZXZlbAogIHF0NS1kZWNsYXJhdGl2ZS1kZXZlbCBxdDUtc3ZnLWRldmVsCiAgcXQ1LXF1aWNr Y29udHJvbHMiCgpGcm9tIGFkODFlYzNjODhiNTM2MDEwM2YxODc5NjUwOGZkOTk2ZWIxNTVmNjEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTEgLTA0MDAKU3ViamVjdDogW1BBVENIIDA2 MC8xMDhdIHJldHJvYXJjaDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3JldHJv YXJjaC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmV0cm9hcmNoL3RlbXBsYXRlIGIvc3Jj cGtncy9yZXRyb2FyY2gvdGVtcGxhdGUKaW5kZXggNTQyOWQxM2VmM2VlYTQuLjJlMGQ1Y2Q5Njgw YjY3IDEwMDY0NAotLS0gYS9zcmNwa2dzL3JldHJvYXJjaC90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3JldHJvYXJjaC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J3JldHJvYXJjaCcKIHBrZ25hbWU9cmV0cm9hcmNoCiB2ZXJzaW9uPTEuMTYuMC4zCi1yZXZpc2lv bj0zCityZXZpc2lvbj00CiBidWlsZF9zdHlsZT1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSIt LXByZWZpeD0vdXNyIC0tc3lzY29uZmRpcj0vZXRjIC0tZW5hYmxlLW5ldHdvcmtpbmcKICAtLWVu YWJsZS11ZGV2IC0tZGlzYWJsZS1idWlsdGluZmxhYyAtLWRpc2FibGUtYnVpbHRpbmdsc2xhbmcK CkZyb20gNWUwOWIzMWVlZWNjZmVhZjBjNjI4Y2RlNTZhNGM5ODJiN2E3YTM5OSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2Vk LCAyMiBNYXIgMjAyMyAyMDowMTo1MSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDYxLzEwOF0gc2Ny Y3B5OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvc2NyY3B5L3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9zY3JjcHkvdGVtcGxhdGUgYi9zcmNwa2dzL3NjcmNweS90ZW1wbGF0 ZQppbmRleCBkNDA2NTFhZDhkYzgzNS4uM2VjNzEzOWJlNWMwYzUgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3Mvc2NyY3B5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc2NyY3B5L3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc2NyY3B5JwogcGtnbmFtZT1zY3JjcHkKIHZl cnNpb249Mi40Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1tZXNvbgogY29u ZmlndXJlX2FyZ3M9Ii1EY29tcGlsZV9zZXJ2ZXI9ZmFsc2UKICAtRHByZWJ1aWx0X3NlcnZlcj0v dXNyL3NoYXJlL3NjcmNweS9zY3JjcHktc2VydmVyLXYke3ZlcnNpb259IgoKRnJvbSBhYTAwYmFl MDkwOWZkYmIxZTkzODAzYmEzYmMzN2FhNmY5MGU4MTJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBUdWUsIDE3IE9jdCAyMDIz IDA4OjU0OjExIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNjIvMTA4XSBOZXcgcGFja2FnZTogc3Bl eC14IHJlcGxhY2VzIHNwZWstYWx0ZXJuYXRpdmUgZm9yCiBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mv c3Blay1hbHRlcm5hdGl2ZSAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIHNyY3BrZ3Mvc3Bl ay14L3BhdGNoZXMvbXVzbC5wYXRjaCAgICAgICAgICAgICB8ICA3ICsrKysrKwogc3JjcGtncy97 c3Blay1hbHRlcm5hdGl2ZSA9PiBzcGVrLXh9L3RlbXBsYXRlIHwgMjMgKysrKysrKysrKysrLS0t LS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZQogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3Mvc3Blay14L3BhdGNoZXMvbXVzbC5wYXRjaAogcmVuYW1lIHNyY3BrZ3Mv e3NwZWstYWx0ZXJuYXRpdmUgPT4gc3Blay14fS90ZW1wbGF0ZSAoNTAlKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZSBiL3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZQpuZXcg ZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAwMC4uNzY2NDgyMzZkYTcwMTcKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUKQEAgLTAsMCArMSBAQAor c3Blay14ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9z cGVrLXgvcGF0Y2hlcy9tdXNsLnBhdGNoIGIvc3JjcGtncy9zcGVrLXgvcGF0Y2hlcy9tdXNsLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi42NjJmNDU5MzZm ZWJjNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc3Blay14L3BhdGNoZXMvbXVzbC5wYXRj aApAQCAtMCwwICsxLDcgQEAKKy0tLSBhL3Rlc3RzL3BlcmYuY2MJMjAyNC0wMy0wOSAxNzoxMzo0 OS4wODY2MDM0MTggLTA1MDAKKysrKyBiL3Rlc3RzL3BlcmYuY2MJMjAyNC0wMy0wOSAxNzoxMzo1 OS40NTM2MDM3NTMgLTA1MDAKK0BAIC0xLDMgKzEsNCBAQAorKyNpbmNsdWRlIDxjc3RkaW50Pgor ICNpbmNsdWRlIDxjc3RkbGliPgorICNpbmNsdWRlIDxpb3N0cmVhbT4KKyAjaW5jbHVkZSA8ZnN0 cmVhbT4KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZSBiL3Ny Y3BrZ3Mvc3Blay14L3RlbXBsYXRlCnNpbWlsYXJpdHkgaW5kZXggNTAlCnJlbmFtZSBmcm9tIHNy Y3BrZ3Mvc3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZQpyZW5hbWUgdG8gc3JjcGtncy9zcGVrLXgv dGVtcGxhdGUKaW5kZXggZDdiNTVjNzc2YjFkNDMuLjdhM2ZhMzM0Y2I0YmQ3IDEwMDY0NAotLS0g YS9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9zcGVrLXgv dGVtcGxhdGUKQEAgLTEsMTggKzEsMTkgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NwZWstYWx0 ZXJuYXRpdmUnCi1wa2duYW1lPXNwZWstYWx0ZXJuYXRpdmUKLXZlcnNpb249MC44LjIuMwotcmV2 aXNpb249MgorIyBUZW1wbGF0ZSBmaWxlIGZvciAnc3Blay14JworcGtnbmFtZT1zcGVrLXgKK3Zl cnNpb249MC45LjMKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGhvc3Rt YWtlZGVwZW5kcz0iYXV0b21ha2UgZ2V0dGV4dC1kZXZlbCBpbnRsdG9vbCBsaWJ0b29sIHBrZy1j b25maWcKICB3eFdpZGdldHMtY29tbW9uIHd4V2lkZ2V0cy1ndGszLWRldmVsIgogbWFrZWRlcGVu ZHM9ImZmbXBlZy1kZXZlbCB3eFdpZGdldHMtZ3RrMy1kZXZlbCIKIGRlcGVuZHM9ImZmbXBlZyIK IHNob3J0X2Rlc2M9IkFjb3VzdGljIHNwZWN0cnVtIGFuYWx5c2VyIgotbWFpbnRhaW5lcj0iS2Fy dGlrIFNpbmdoIDxrYXJ0aWsueW53YUBnbWFpbC5jb20+IgorbWFpbnRhaW5lcj0iemxpY2UgPHps aWNlNTU1QGdtYWlsLmNvbT4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgotaG9tZXBhZ2U9 Imh0dHBzOi8vZ2l0aHViLmNvbS93aXRobW9ydGVuL3NwZWstYWx0ZXJuYXRpdmUiCi1kaXN0Zmls ZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS93aXRobW9ydGVuL3NwZWstYWx0ZXJuYXRpdmUvYXJjaGl2 ZS8ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPSIwMDdiYTRiODRhMzEwYjA3OGUzNzhhYTg0 YzhlODA3ODNkYjU4MjE0MzdhNzU3YTQ4OGMzZWNlYzM3N2U2YjJhIgoraG9tZXBhZ2U9Imh0dHBz Oi8vZ2l0aHViLmNvbS9NaWtlV2FuZzAwMDAwMC9zcGVrLXgiCitkaXN0ZmlsZXM9Imh0dHBzOi8v Z2l0aHViLmNvbS9NaWtlV2FuZzAwMDAwMC9zcGVrLXgvYXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIu Z3oiCitjaGVja3N1bT0iN2Y0YjEwOTkwMzMzM2NkZDMxMGFiMmI5MTc2ZjBkYzQ5YTU2NTg5MTM3 NmUyODFhMjMzZDM0MmNlZGY5MGVmNyIKK3JlcGxhY2VzPSJzcGVrLWFsdGVybmF0aXZlczw9MC44 LjIuM18yIgogCiBDWFhGTEFHUz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IgogCkBAIC0yMiwzICsyMyw5IEBAIGV4cG9ydCBXWF9DT05GSUdfTkFNRT0id3gtY29u ZmlnLWd0azMiCiBwcmVfY29uZmlndXJlKCkgewogCU5PQ09ORklHVVJFPTEgLi9hdXRvZ2VuLnNo CiB9CisKK3NwZWstYWx0ZXJuYXRpdmVfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSJzcGVrLXgiCisJ c2hvcnRfZGVzYys9IiAtIHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlIgorCWJ1aWxkX3N0eWxl PW1ldGEKK30KCkZyb20gOTljNGY2ZWUzNzg1ODkxODFjMWU0OTFkOTViZjdlNTQ0Y2M5MDAzNyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo1MSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDYz LzEwOF0gc3NyOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIC4uLi8wMDAxLUZpeC1idWlsZC13 aXRoLWZmbXBlZy01LjAucGF0Y2ggICAgICB8IDI0MSArKysrKysrKysrKysrKysrKysKIHNyY3Br Z3Mvc3NyL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogMiBmaWxl cyBjaGFuZ2VkLCAyNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3Mvc3NyL3BhdGNoZXMvMDAwMS1GaXgtYnVpbGQtd2l0aC1mZm1wZWctNS4w LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zc3IvcGF0Y2hlcy8wMDAxLUZpeC1idWlsZC13 aXRoLWZmbXBlZy01LjAucGF0Y2ggYi9zcmNwa2dzL3Nzci9wYXRjaGVzLzAwMDEtRml4LWJ1aWxk LXdpdGgtZmZtcGVnLTUuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwMC4uNGMwNjliNWE5ZmM0NjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3Nzci9w YXRjaGVzLzAwMDEtRml4LWJ1aWxkLXdpdGgtZmZtcGVnLTUuMC5wYXRjaApAQCAtMCwwICsxLDI0 MSBAQAorRnJvbSBmNGNiZGUzODAyMWQ5MzMwZGM3M2QyZTNkZmE4YTcwZGEzZmY1NzIxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0Jlcm5oYXJkPTIwUm9zZW5rcj1D Mz1BNG56ZXI/PSA8YmVyb0BsaW5kZXYuY2g+CitEYXRlOiBTdW4sIDE2IEphbiAyMDIyIDAyOjQw OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIGZmbXBlZyA1LjAKK01J TUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK K0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworQWRhcHQgdG8gZmZtcGVnIDUuMCBy ZXF1aXJpbmcgbW9yZSBjb25zdC1uZXNzIGZvciBBVkNvZGVjLgorCitTaWduZWQtb2ZmLWJ5OiBC ZXJuaGFyZCBSb3Nlbmtyw6RuemVyIDxiZXJvQGxpbmRldi5jaD4KKy0tLQorIHNyYy9BVi9PdXRw dXQvQXVkaW9FbmNvZGVyLmNwcCB8ICA2ICsrKy0tLQorIHNyYy9BVi9PdXRwdXQvQXVkaW9FbmNv ZGVyLmggICB8ICA0ICsrLS0KKyBzcmMvQVYvT3V0cHV0L0Jhc2VFbmNvZGVyLmNwcCAgfCAgNCAr Ky0tCisgc3JjL0FWL091dHB1dC9CYXNlRW5jb2Rlci5oICAgIHwgIDQgKystLQorIHNyYy9BVi9P dXRwdXQvTXV4ZXIuY3BwICAgICAgICB8IDEyICsrKysrKy0tLS0tLQorIHNyYy9BVi9PdXRwdXQv TXV4ZXIuaCAgICAgICAgICB8ICA0ICsrLS0KKyBzcmMvQVYvT3V0cHV0L1ZpZGVvRW5jb2Rlci5j cHAgfCAgNiArKystLS0KKyBzcmMvQVYvT3V0cHV0L1ZpZGVvRW5jb2Rlci5oICAgfCAgNCArKy0t CisgOCBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL3NyYy9BVi9PdXRwdXQvQXVkaW9FbmNvZGVyLmNwcCBiL3NyYy9BVi9PdXRw dXQvQXVkaW9FbmNvZGVyLmNwcAoraW5kZXggMzRkMDE1Yy4uY2VmYzJlMCAxMDA2NDQKKy0tLSBh L3NyYy9BVi9PdXRwdXQvQXVkaW9FbmNvZGVyLmNwcAorKysrIGIvc3JjL0FWL091dHB1dC9BdWRp b0VuY29kZXIuY3BwCitAQCAtMzQsNyArMzQsNyBAQCBjb25zdCBzdGQ6OnZlY3RvcjxBdWRpb0Vu Y29kZXI6OlNhbXBsZUZvcm1hdERhdGE+IEF1ZGlvRW5jb2Rlcjo6U1VQUE9SVEVEX1NBTVBMRQor IAorIGNvbnN0IHVuc2lnbmVkIGludCBBdWRpb0VuY29kZXI6OkRFRkFVTFRfRlJBTUVfU0FNUExF UyA9IDEwMjQ7CisgCistQXVkaW9FbmNvZGVyOjpBdWRpb0VuY29kZXIoTXV4ZXIqIG11eGVyLCBB VlN0cmVhbSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCAqY29kZWNfY29udGV4dCwgQVZDb2RlYyog Y29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMpCisrQXVkaW9FbmNvZGVyOjpBdWRpb0VuY29k ZXIoTXV4ZXIqIG11eGVyLCBBVlN0cmVhbSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCAqY29kZWNf Y29udGV4dCwgY29uc3QgQVZDb2RlYyogY29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMpCisg CTogQmFzZUVuY29kZXIobXV4ZXIsIHN0cmVhbSwgY29kZWNfY29udGV4dCwgY29kZWMsIG9wdGlv bnMpIHsKKyAKKyAjaWYgIVNTUl9VU0VfQVZDT0RFQ19FTkNPREVfQVVESU8yCitAQCAtNzcsNyAr NzcsNyBAQCB1bnNpZ25lZCBpbnQgQXVkaW9FbmNvZGVyOjpHZXRTYW1wbGVSYXRlKCkgeworIH0K KyAKKyBib29sIEF1ZGlvRW5jb2Rlcjo6QVZDb2RlY0lzU3VwcG9ydGVkKGNvbnN0IFFTdHJpbmcm IGNvZGVjX25hbWUpIHsKKy0JQVZDb2RlYyAqY29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2Rlcl9i eV9uYW1lKGNvZGVjX25hbWUudG9VdGY4KCkuY29uc3REYXRhKCkpOworKwljb25zdCBBVkNvZGVj ICpjb2RlYyA9IGF2Y29kZWNfZmluZF9lbmNvZGVyX2J5X25hbWUoY29kZWNfbmFtZS50b1V0Zjgo KS5jb25zdERhdGEoKSk7CisgCWlmKGNvZGVjID09IE5VTEwpCisgCQlyZXR1cm4gZmFsc2U7Cisg CWlmKCFhdl9jb2RlY19pc19lbmNvZGVyKGNvZGVjKSkKK0BAIC05Myw3ICs5Myw3IEBAIGJvb2wg QXVkaW9FbmNvZGVyOjpBVkNvZGVjSXNTdXBwb3J0ZWQoY29uc3QgUVN0cmluZyYgY29kZWNfbmFt ZSkgeworIAlyZXR1cm4gZmFsc2U7CisgfQorIAorLXZvaWQgQXVkaW9FbmNvZGVyOjpQcmVwYXJl U3RyZWFtKEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LCBB VkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucywgY29uc3Qgc3RkOjp2ZWN0b3I8 c3RkOjpwYWlyPFFTdHJpbmcsIFFTdHJpbmc+ID4mIGNvZGVjX29wdGlvbnMsCisrdm9pZCBBdWRp b0VuY29kZXI6OlByZXBhcmVTdHJlYW0oQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRleHQq IGNvZGVjX2NvbnRleHQsIGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRp b25zLCBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8UVN0cmluZywgUVN0cmluZz4gPiYgY29k ZWNfb3B0aW9ucywKKyAJCQkJCQkJCSB1bnNpZ25lZCBpbnQgYml0X3JhdGUsIHVuc2lnbmVkIGlu dCBjaGFubmVscywgdW5zaWduZWQgaW50IHNhbXBsZV9yYXRlKSB7CisgCisgCWlmKGNoYW5uZWxz ID09IDApIHsKK2RpZmYgLS1naXQgYS9zcmMvQVYvT3V0cHV0L0F1ZGlvRW5jb2Rlci5oIGIvc3Jj L0FWL091dHB1dC9BdWRpb0VuY29kZXIuaAoraW5kZXggYzkzMjc4Yy4uYWU5YzgyZSAxMDA2NDQK Ky0tLSBhL3NyYy9BVi9PdXRwdXQvQXVkaW9FbmNvZGVyLmgKKysrKyBiL3NyYy9BVi9PdXRwdXQv QXVkaW9FbmNvZGVyLmgKK0BAIC00MCw3ICs0MCw3IEBAIHByaXZhdGU6CisgI2VuZGlmCisgCisg cHVibGljOgorLQlBdWRpb0VuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0cmVhbSogc3RyZWFtLCBB VkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgQVZDb2RlYyogY29kZWMsIEFWRGljdGlvbmFy eSoqIG9wdGlvbnMpOworKwlBdWRpb0VuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0cmVhbSogc3Ry ZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgY29uc3QgQVZDb2RlYyogY29kZWMs IEFWRGljdGlvbmFyeSoqIG9wdGlvbnMpOworIAl+QXVkaW9FbmNvZGVyKCk7CisgCisgCS8vIFJl dHVybnMgdGhlIHJlcXVpcmVkIGZyYW1lIHNpemUsIGkuZS4gdGhlIG51bWJlciBvZiBzYW1wbGVz IChmb3IgZWFjaCBjaGFubmVsKS4KK0BAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKKyAKKyBwdWJs aWM6CisgCXN0YXRpYyBib29sIEFWQ29kZWNJc1N1cHBvcnRlZChjb25zdCBRU3RyaW5nJiBjb2Rl Y19uYW1lKTsKKy0Jc3RhdGljIHZvaWQgUHJlcGFyZVN0cmVhbShBVlN0cmVhbSogc3RyZWFtLCBB VkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgQVZDb2RlYyogY29kZWMsIEFWRGljdGlvbmFy eSoqIG9wdGlvbnMsIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxRU3RyaW5nLCBRU3RyaW5n PiA+JiBjb2RlY19vcHRpb25zLAorKwlzdGF0aWMgdm9pZCBQcmVwYXJlU3RyZWFtKEFWU3RyZWFt KiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LCBjb25zdCBBVkNvZGVjKiBj b2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucywgY29uc3Qgc3RkOjp2ZWN0b3I8c3RkOjpwYWly PFFTdHJpbmcsIFFTdHJpbmc+ID4mIGNvZGVjX29wdGlvbnMsCisgCQkJCQkJCSAgdW5zaWduZWQg aW50IGJpdF9yYXRlLCB1bnNpZ25lZCBpbnQgY2hhbm5lbHMsIHVuc2lnbmVkIGludCBzYW1wbGVf cmF0ZSk7CisgCisgcHJpdmF0ZToKK2RpZmYgLS1naXQgYS9zcmMvQVYvT3V0cHV0L0Jhc2VFbmNv ZGVyLmNwcCBiL3NyYy9BVi9PdXRwdXQvQmFzZUVuY29kZXIuY3BwCitpbmRleCA3YzAxZWYzLi40 NzgwYWFmIDEwMDY0NAorLS0tIGEvc3JjL0FWL091dHB1dC9CYXNlRW5jb2Rlci5jcHAKKysrKyBi L3NyYy9BVi9PdXRwdXQvQmFzZUVuY29kZXIuY3BwCitAQCAtNDIsNyArNDIsNyBAQCBkb3VibGUg UGFyc2VDb2RlY09wdGlvbkRvdWJsZShjb25zdCBRU3RyaW5nJiBrZXksIGNvbnN0IFFTdHJpbmcm IHZhbHVlLCBkb3VibGUgbQorIAlyZXR1cm4gY2xhbXAodmFsdWVfZG91YmxlLCBtaW4sIG1heCkg KiBtdWx0aXBseTsKKyB9CisgCistQmFzZUVuY29kZXI6OkJhc2VFbmNvZGVyKE11eGVyKiBtdXhl ciwgQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRleHQqIGNvZGVjX2NvbnRleHQsIEFWQ29k ZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25zKSB7CisrQmFzZUVuY29kZXI6OkJhc2VF bmNvZGVyKE11eGVyKiBtdXhlciwgQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRleHQqIGNv ZGVjX2NvbnRleHQsIGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25z KSB7CisgCisgCW1fbXV4ZXIgPSBtdXhlcjsKKyAJbV9zdHJlYW0gPSBzdHJlYW07CitAQCAtMTU3 LDcgKzE1Nyw3IEBAIHZvaWQgQmFzZUVuY29kZXI6OkluY3JlbWVudFBhY2tldENvdW50ZXIoKSB7 CisgCSsrbG9jay0+bV90b3RhbF9wYWNrZXRzOworIH0KKyAKKy12b2lkIEJhc2VFbmNvZGVyOjpJ bml0KEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25zKSB7Cisrdm9pZCBCYXNl RW5jb2Rlcjo6SW5pdChjb25zdCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9u cykgeworIAorIAkvLyBvcGVuIGNvZGVjCisgCWlmKGF2Y29kZWNfb3BlbjIobV9jb2RlY19jb250 ZXh0LCBjb2RlYywgb3B0aW9ucykgPCAwKSB7CitkaWZmIC0tZ2l0IGEvc3JjL0FWL091dHB1dC9C YXNlRW5jb2Rlci5oIGIvc3JjL0FWL091dHB1dC9CYXNlRW5jb2Rlci5oCitpbmRleCAzZDkyZjI5 Li43ZjAyYmJkIDEwMDY0NAorLS0tIGEvc3JjL0FWL091dHB1dC9CYXNlRW5jb2Rlci5oCisrKysg Yi9zcmMvQVYvT3V0cHV0L0Jhc2VFbmNvZGVyLmgKK0BAIC01MSw3ICs1MSw3IEBAIHByaXZhdGU6 CisgCXN0ZDo6YXRvbWljPGJvb2w+IG1fc2hvdWxkX3N0b3AsIG1fc2hvdWxkX2ZpbmlzaCwgbV9p c19kb25lLCBtX2Vycm9yX29jY3VycmVkOworIAorIHByb3RlY3RlZDoKKy0JQmFzZUVuY29kZXIo TXV4ZXIqIG11eGVyLCBBVlN0cmVhbSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29u dGV4dCwgQVZDb2RlYyogY29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMpOworKwlCYXNlRW5j b2RlcihNdXhlciogbXV4ZXIsIEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2Rl Y19jb250ZXh0LCBjb25zdCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucyk7 CisgCisgcHVibGljOgorIAl2aXJ0dWFsIH5CYXNlRW5jb2RlcigpOyAvLyBlbmNvZGVycyB3aWxs IGJlIGRlbGV0ZWQgYnkgTXV4ZXIsIGRvbid0IGRlbGV0ZSB0aGVtIHlvdXJzZWxmIQorQEAgLTEx Nyw3ICsxMTcsNyBAQCBwcm90ZWN0ZWQ6CisgCXZvaWQgSW5jcmVtZW50UGFja2V0Q291bnRlcigp OworIAorIHByaXZhdGU6CistCXZvaWQgSW5pdChBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5 Kiogb3B0aW9ucyk7CisrCXZvaWQgSW5pdChjb25zdCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9u YXJ5Kiogb3B0aW9ucyk7CisgCXZvaWQgRnJlZSgpOworIAorIAl2b2lkIEVuY29kZXJUaHJlYWQo KTsKK2RpZmYgLS1naXQgYS9zcmMvQVYvT3V0cHV0L011eGVyLmNwcCBiL3NyYy9BVi9PdXRwdXQv TXV4ZXIuY3BwCitpbmRleCBhZDU4MzgwLi4xNDY1MGIwIDEwMDY0NAorLS0tIGEvc3JjL0FWL091 dHB1dC9NdXhlci5jcHAKKysrKyBiL3NyYy9BVi9PdXRwdXQvTXV4ZXIuY3BwCitAQCAtODcsNyAr ODcsNyBAQCBNdXhlcjo6fk11eGVyKCkgeworIAorIFZpZGVvRW5jb2RlciogTXV4ZXI6OkFkZFZp ZGVvRW5jb2Rlcihjb25zdCBRU3RyaW5nJiBjb2RlY19uYW1lLCBjb25zdCBzdGQ6OnZlY3Rvcjxz dGQ6OnBhaXI8UVN0cmluZywgUVN0cmluZz4gPiYgY29kZWNfb3B0aW9ucywKKyAJCQkJCQkJCQkg dW5zaWduZWQgaW50IGJpdF9yYXRlLCB1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVkIGludCBo ZWlnaHQsIHVuc2lnbmVkIGludCBmcmFtZV9yYXRlKSB7CistCUFWQ29kZWMgKmNvZGVjID0gRmlu ZENvZGVjKGNvZGVjX25hbWUpOworKwljb25zdCBBVkNvZGVjICpjb2RlYyA9IEZpbmRDb2RlYyhj b2RlY19uYW1lKTsKKyAJQVZDb2RlY0NvbnRleHQgKmNvZGVjX2NvbnRleHQgPSBOVUxMOworIAlB VlN0cmVhbSAqc3RyZWFtID0gQWRkU3RyZWFtKGNvZGVjLCAmY29kZWNfY29udGV4dCk7CisgCVZp ZGVvRW5jb2RlciAqZW5jb2RlcjsKK0BAIC0xMTEsNyArMTExLDcgQEAgVmlkZW9FbmNvZGVyKiBN dXhlcjo6QWRkVmlkZW9FbmNvZGVyKGNvbnN0IFFTdHJpbmcmIGNvZGVjX25hbWUsIGNvbnN0IHN0 ZDo6dmVjdG8KKyAKKyBBdWRpb0VuY29kZXIqIE11eGVyOjpBZGRBdWRpb0VuY29kZXIoY29uc3Qg UVN0cmluZyYgY29kZWNfbmFtZSwgY29uc3Qgc3RkOjp2ZWN0b3I8c3RkOjpwYWlyPFFTdHJpbmcs IFFTdHJpbmc+ID4mIGNvZGVjX29wdGlvbnMsCisgCQkJCQkJCQkJIHVuc2lnbmVkIGludCBiaXRf cmF0ZSwgdW5zaWduZWQgaW50IGNoYW5uZWxzLCB1bnNpZ25lZCBpbnQgc2FtcGxlX3JhdGUpIHsK Ky0JQVZDb2RlYyAqY29kZWMgPSBGaW5kQ29kZWMoY29kZWNfbmFtZSk7CisrCWNvbnN0IEFWQ29k ZWMgKmNvZGVjID0gRmluZENvZGVjKGNvZGVjX25hbWUpOworIAlBVkNvZGVjQ29udGV4dCAqY29k ZWNfY29udGV4dCA9IE5VTEw7CisgCUFWU3RyZWFtICpzdHJlYW0gPSBBZGRTdHJlYW0oY29kZWMs ICZjb2RlY19jb250ZXh0KTsKKyAJQXVkaW9FbmNvZGVyICplbmNvZGVyOworQEAgLTE5NCw3ICsx OTQsNyBAQCB1bnNpZ25lZCBpbnQgTXV4ZXI6OkdldFF1ZXVlZFBhY2tldENvdW50KHVuc2lnbmVk IGludCBzdHJlYW1faW5kZXgpIHsKKyB2b2lkIE11eGVyOjpJbml0KCkgeworIAorIAkvLyBnZXQg dGhlIGZvcm1hdCB3ZSB3YW50ICh0aGlzIGlzIGp1c3QgYSBwb2ludGVyLCB3ZSBkb24ndCBoYXZl IHRvIGZyZWUgdGhpcykKKy0JQVZPdXRwdXRGb3JtYXQgKmZvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1h dChtX2NvbnRhaW5lcl9uYW1lLnRvVXRmOCgpLmNvbnN0RGF0YSgpLCBOVUxMLCBOVUxMKTsKKysJ Y29uc3QgQVZPdXRwdXRGb3JtYXQgKmZvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1hdChtX2NvbnRhaW5l cl9uYW1lLnRvVXRmOCgpLmNvbnN0RGF0YSgpLCBOVUxMLCBOVUxMKTsKKyAJaWYoZm9ybWF0ID09 IE5VTEwpIHsKKyAJCUxvZ2dlcjo6TG9nRXJyb3IoIltNdXhlcjo6SW5pdF0gIiArIExvZ2dlcjo6 dHIoIkVycm9yOiBDYW4ndCBmaW5kIGNob3NlbiBvdXRwdXQgZm9ybWF0ISIpKTsKKyAJCXRocm93 IExpYmF2RXhjZXB0aW9uKCk7CitAQCAtMjYxLDggKzI2MSw4IEBAIHZvaWQgTXV4ZXI6OkZyZWUo KSB7CisgCX0KKyB9CisgCistQVZDb2RlYyogTXV4ZXI6OkZpbmRDb2RlYyhjb25zdCBRU3RyaW5n JiBjb2RlY19uYW1lKSB7CistCUFWQ29kZWMgKmNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXJf YnlfbmFtZShjb2RlY19uYW1lLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKKytjb25zdCBBVkNvZGVj KiBNdXhlcjo6RmluZENvZGVjKGNvbnN0IFFTdHJpbmcmIGNvZGVjX25hbWUpIHsKKysJY29uc3Qg QVZDb2RlYyAqY29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2Rlcl9ieV9uYW1lKGNvZGVjX25hbWUu dG9VdGY4KCkuY29uc3REYXRhKCkpOworIAlpZihjb2RlYyA9PSBOVUxMKSB7CisgCQlMb2dnZXI6 OkxvZ0Vycm9yKCJbTXV4ZXI6OkZpbmRDb2RlY10gIiArIExvZ2dlcjo6dHIoIkVycm9yOiBDYW4n dCBmaW5kIGNvZGVjISIpKTsKKyAJCXRocm93IExpYmF2RXhjZXB0aW9uKCk7CitAQCAtMjcwLDcg KzI3MCw3IEBAIEFWQ29kZWMqIE11eGVyOjpGaW5kQ29kZWMoY29uc3QgUVN0cmluZyYgY29kZWNf bmFtZSkgeworIAlyZXR1cm4gY29kZWM7CisgfQorIAorLUFWU3RyZWFtKiBNdXhlcjo6QWRkU3Ry ZWFtKEFWQ29kZWMqIGNvZGVjLCBBVkNvZGVjQ29udGV4dCoqIGNvZGVjX2NvbnRleHQpIHsKKytB VlN0cmVhbSogTXV4ZXI6OkFkZFN0cmVhbShjb25zdCBBVkNvZGVjKiBjb2RlYywgQVZDb2RlY0Nv bnRleHQqKiBjb2RlY19jb250ZXh0KSB7CisgCWFzc2VydCghbV9zdGFydGVkKTsKKyAJYXNzZXJ0 KG1fZm9ybWF0X2NvbnRleHQtPm5iX3N0cmVhbXMgPCBNVVhFUl9NQVhfU1RSRUFNUyk7CisgCitk aWZmIC0tZ2l0IGEvc3JjL0FWL091dHB1dC9NdXhlci5oIGIvc3JjL0FWL091dHB1dC9NdXhlci5o CitpbmRleCBkNzIzNDdkLi5iMTA0YmNiIDEwMDY0NAorLS0tIGEvc3JjL0FWL091dHB1dC9NdXhl ci5oCisrKysgYi9zcmMvQVYvT3V0cHV0L011eGVyLmgKK0BAIC0xMTQsOCArMTE0LDggQEAgcHJp dmF0ZToKKyAJdm9pZCBJbml0KCk7CisgCXZvaWQgRnJlZSgpOworIAorLQlBVkNvZGVjKiBGaW5k Q29kZWMoY29uc3QgUVN0cmluZyYgY29kZWNfbmFtZSk7CistCUFWU3RyZWFtKiBBZGRTdHJlYW0o QVZDb2RlYyogY29kZWMsIEFWQ29kZWNDb250ZXh0KiogY29kZWNfY29udGV4dCk7CisrCWNvbnN0 IEFWQ29kZWMqIEZpbmRDb2RlYyhjb25zdCBRU3RyaW5nJiBjb2RlY19uYW1lKTsKKysJQVZTdHJl YW0qIEFkZFN0cmVhbShjb25zdCBBVkNvZGVjKiBjb2RlYywgQVZDb2RlY0NvbnRleHQqKiBjb2Rl Y19jb250ZXh0KTsKKyAKKyAJdm9pZCBNdXhlclRocmVhZCgpOworIAorZGlmZiAtLWdpdCBhL3Ny Yy9BVi9PdXRwdXQvVmlkZW9FbmNvZGVyLmNwcCBiL3NyYy9BVi9PdXRwdXQvVmlkZW9FbmNvZGVy LmNwcAoraW5kZXggODA4N2U4ZS4uZmM4YjVkMSAxMDA2NDQKKy0tLSBhL3NyYy9BVi9PdXRwdXQv VmlkZW9FbmNvZGVyLmNwcAorKysrIGIvc3JjL0FWL091dHB1dC9WaWRlb0VuY29kZXIuY3BwCitA QCAtMzQsNyArMzQsNyBAQCBjb25zdCBzdGQ6OnZlY3RvcjxWaWRlb0VuY29kZXI6OlBpeGVsRm9y bWF0RGF0YT4gVmlkZW9FbmNvZGVyOjpTVVBQT1JURURfUElYRUxfRgorIAl7InJnYiIsIEFWX1BJ WF9GTVRfUkdCMjQsIGZhbHNlfSwKKyB9OworIAorLVZpZGVvRW5jb2Rlcjo6VmlkZW9FbmNvZGVy KE11eGVyKiBtdXhlciwgQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRleHQqIGNvZGVjX2Nv bnRleHQsIEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25zKQorK1ZpZGVvRW5j b2Rlcjo6VmlkZW9FbmNvZGVyKE11eGVyKiBtdXhlciwgQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2Rl Y0NvbnRleHQqIGNvZGVjX2NvbnRleHQsIGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25h cnkqKiBvcHRpb25zKQorIAk6IEJhc2VFbmNvZGVyKG11eGVyLCBzdHJlYW0sIGNvZGVjX2NvbnRl eHQsIGNvZGVjLCBvcHRpb25zKSB7CisgCisgI2lmICFTU1JfVVNFX0FWQ09ERUNfRU5DT0RFX1ZJ REVPMgorQEAgLTk1LDcgKzk1LDcgQEAgdW5zaWduZWQgaW50IFZpZGVvRW5jb2Rlcjo6R2V0RnJh bWVSYXRlKCkgeworIH0KKyAKKyBib29sIFZpZGVvRW5jb2Rlcjo6QVZDb2RlY0lzU3VwcG9ydGVk KGNvbnN0IFFTdHJpbmcmIGNvZGVjX25hbWUpIHsKKy0JQVZDb2RlYyAqY29kZWMgPSBhdmNvZGVj X2ZpbmRfZW5jb2Rlcl9ieV9uYW1lKGNvZGVjX25hbWUudG9VdGY4KCkuY29uc3REYXRhKCkpOwor Kwljb25zdCBBVkNvZGVjICpjb2RlYyA9IGF2Y29kZWNfZmluZF9lbmNvZGVyX2J5X25hbWUoY29k ZWNfbmFtZS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CisgCWlmKGNvZGVjID09IE5VTEwpCisgCQly ZXR1cm4gZmFsc2U7CisgCWlmKCFhdl9jb2RlY19pc19lbmNvZGVyKGNvZGVjKSkKK0BAIC0xMTEs NyArMTExLDcgQEAgYm9vbCBWaWRlb0VuY29kZXI6OkFWQ29kZWNJc1N1cHBvcnRlZChjb25zdCBR U3RyaW5nJiBjb2RlY19uYW1lKSB7CisgCXJldHVybiBmYWxzZTsKKyB9CisgCistdm9pZCBWaWRl b0VuY29kZXI6OlByZXBhcmVTdHJlYW0oQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRleHQq IGNvZGVjX2NvbnRleHQsIEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25zLCBj b25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8UVN0cmluZywgUVN0cmluZz4gPiYgY29kZWNfb3B0 aW9ucywKKyt2b2lkIFZpZGVvRW5jb2Rlcjo6UHJlcGFyZVN0cmVhbShBVlN0cmVhbSogc3RyZWFt LCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgY29uc3QgQVZDb2RlYyogY29kZWMsIEFW RGljdGlvbmFyeSoqIG9wdGlvbnMsIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxRU3RyaW5n LCBRU3RyaW5nPiA+JiBjb2RlY19vcHRpb25zLAorIAkJCQkJCQkJIHVuc2lnbmVkIGludCBiaXRf cmF0ZSwgdW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBp bnQgZnJhbWVfcmF0ZSkgeworIAorIAlpZih3aWR0aCA9PSAwIHx8IGhlaWdodCA9PSAwKSB7Citk aWZmIC0tZ2l0IGEvc3JjL0FWL091dHB1dC9WaWRlb0VuY29kZXIuaCBiL3NyYy9BVi9PdXRwdXQv VmlkZW9FbmNvZGVyLmgKK2luZGV4IGNiN2NhMjcuLjY4ZDg3MmUgMTAwNjQ0CistLS0gYS9zcmMv QVYvT3V0cHV0L1ZpZGVvRW5jb2Rlci5oCisrKysgYi9zcmMvQVYvT3V0cHV0L1ZpZGVvRW5jb2Rl ci5oCitAQCAtNDAsNyArNDAsNyBAQCBwcml2YXRlOgorICNlbmRpZgorIAorIHB1YmxpYzoKKy0J VmlkZW9FbmNvZGVyKE11eGVyKiBtdXhlciwgQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRl eHQqIGNvZGVjX2NvbnRleHQsIEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25z KTsKKysJVmlkZW9FbmNvZGVyKE11eGVyKiBtdXhlciwgQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2Rl Y0NvbnRleHQqIGNvZGVjX2NvbnRleHQsIGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25h cnkqKiBvcHRpb25zKTsKKyAJflZpZGVvRW5jb2RlcigpOworIAorIAkvLyBSZXR1cm5zIHRoZSBy ZXF1aXJlZCBwaXhlbCBmb3JtYXQuCitAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CisgCisgcHVi bGljOgorIAlzdGF0aWMgYm9vbCBBVkNvZGVjSXNTdXBwb3J0ZWQoY29uc3QgUVN0cmluZyYgY29k ZWNfbmFtZSk7CistCXN0YXRpYyB2b2lkIFByZXBhcmVTdHJlYW0oQVZTdHJlYW0qIHN0cmVhbSwg QVZDb2RlY0NvbnRleHQqIGNvZGVjX2NvbnRleHQsIEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25h cnkqKiBvcHRpb25zLCBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8UVN0cmluZywgUVN0cmlu Zz4gPiYgY29kZWNfb3B0aW9ucywKKysJc3RhdGljIHZvaWQgUHJlcGFyZVN0cmVhbShBVlN0cmVh bSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgY29uc3QgQVZDb2RlYyog Y29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMsIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6cGFp cjxRU3RyaW5nLCBRU3RyaW5nPiA+JiBjb2RlY19vcHRpb25zLAorIAkJCQkJCQkgIHVuc2lnbmVk IGludCBiaXRfcmF0ZSwgdW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCBpbnQgaGVpZ2h0LCB1 bnNpZ25lZCBpbnQgZnJhbWVfcmF0ZSk7CisgCisgcHJpdmF0ZToKKy0tIAorMi40My4wCisKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvc3NyL3RlbXBsYXRlIGIvc3JjcGtncy9zc3IvdGVtcGxhdGUKaW5k ZXggMzA5Nzc1NGUzY2JlNTQuLmUzYzQyNjFmMWY1YTY0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3Nz ci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Nzci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3NzcicKIHBrZ25hbWU9c3NyCiB2ZXJzaW9uPTAuNC40Ci1yZXZp c2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1E V0lUSF9RVDU9T04iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCgpGcm9tIGRlZDIxZDdm NjU0NmMwMjE3N2ViMjNiZmJkN2VkZDYxOTM3MmVhNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMg MjA6MDE6NTIgLTA0MDAKU3ViamVjdDogW1BBVENIIDA2NC8xMDhdIHN5bmZpZzogcmV2YnVtcCBm b3IgZmZtcGVnNiBhbmQgbWx0NwoKLS0tCiBzcmNwa2dzL3N5bmZpZy9wYXRjaGVzL2ZmbXBlZzYu cGF0Y2ggfCA3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3N5bmZpZy90 ZW1wbGF0ZSAgICAgICAgICAgICAgfCAgNiArLS0KIDIgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3N5bmZp Zy9wYXRjaGVzL2ZmbXBlZzYucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3N5bmZpZy9wYXRj aGVzL2ZmbXBlZzYucGF0Y2ggYi9zcmNwa2dzL3N5bmZpZy9wYXRjaGVzL2ZmbXBlZzYucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjEwNzgwYjQyNzgyZjRi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zeW5maWcvcGF0Y2hlcy9mZm1wZWc2LnBhdGNo CkBAIC0wLDAgKzEsNzEgQEAKKy0tLSBhL3NyYy9tb2R1bGVzL21vZF9saWJhdmNvZGVjL3RyZ3Rf YXYuY3BwCTIwMjItMTAtMjUgMDk6MTQ6MTIuMDAwMDAwMDAwIC0wNDAwCisrKysgYi9zcmMvbW9k dWxlcy9tb2RfbGliYXZjb2RlYy90cmd0X2F2LmNwcAkyMDIzLTA1LTA1IDIxOjM0OjE3Ljg5OTE5 NDU1OSAtMDQwMAorQEAgLTM4LDYgKzQxLDcgQEAKKyBleHRlcm4gIkMiCisgeworICNpZmRlZiBI QVZFX0xJQkFWRk9STUFUX0FWRk9STUFUX0gKKysjCWluY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2Rl Yy5oPgorICMJaW5jbHVkZSA8bGliYXZmb3JtYXQvYXZmb3JtYXQuaD4KKyAjZWxpZiBkZWZpbmVk KEhBVkVfQVZGT1JNQVRfSCkKKyAjCWluY2x1ZGUgPGF2Zm9ybWF0Lmg+CitAQCAtMTU1LDExICsx NTYsMTEgQEAKKyAgICAgfQorIAorIAlib29sIG9wZW5fdmlkZW9fc3RyZWFtKCkgeworLQkJaWYg KGF2Y29kZWNfb3BlbjIodmlkZW9fY29udGV4dCwgTlVMTCwgTlVMTCkgPCAwKSB7CisrCQlpZiAo YXZjb2RlY19vcGVuMih2aWRlb19jb250ZXh0LCBudWxscHRyLCBudWxscHRyKSA8IDApIHsKKyAJ CQlzeW5maWc6OmVycm9yKCJUYXJnZXRfTGliQVZDb2RlYzogY291bGQgbm90IG9wZW4gdmlkZW8g Y29kZWMiKTsKKyAJCQkvLyBzZWVtcyB0aGUgY2FsbGluZyBvZiBhdmNvZGVjX2ZyZWVfY29udGV4 dCBhZnRlciBlcnJvciB3aWxsIGNhdXNlIGNyYXNoCisgCQkJLy8gc28ganVzdCBmb3JnZXQgYWJv dXQgdGhpcyBjb250ZXh0CistCQkJdmlkZW9fY29udGV4dCA9IE5VTEw7CisrCQkJdmlkZW9fY29u dGV4dCA9IG51bGxwdHI7CisgCQkJY2xvc2UoKTsKKyAJCQlyZXR1cm4gZmFsc2U7CisgICAgICAg ICB9CitAQCAtMjM0LDE1ICsyMzUsMjEgQEAKKyAJCWNsb3NlKCk7CisgCisgCQlpZiAoIWF2X3Jl Z2lzdGVyZWQpIHsKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SIDwgNTggLy8gRkZNUEVH IDwgNC4wCisgCQkJYXZfcmVnaXN0ZXJfYWxsKCk7CisrI2VuZGlmCisgCQkJYXZfcmVnaXN0ZXJl ZCA9IHRydWU7CisgCQl9CisgCisgCQkvLyBndWVzcyBmb3JtYXQKKy0JCUFWT3V0cHV0Rm9ybWF0 ICpmb3JtYXQgPSBhdl9ndWVzc19mb3JtYXQoTlVMTCwgZmlsZW5hbWUuY19zdHIoKSwgTlVMTCk7 CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA8IDU5IC8vIEZGTVBFRyA8IDUuMAorKwkJ QVZPdXRwdXRGb3JtYXQqIGZvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1hdChudWxscHRyLCBmaWxlbmFt ZS5jX3N0cigpLCBudWxscHRyKTsKKysjZWxzZQorKwkJY29uc3QgQVZPdXRwdXRGb3JtYXQqIGZv cm1hdCA9IGF2X2d1ZXNzX2Zvcm1hdChudWxscHRyLCBmaWxlbmFtZS5jX3N0cigpLCBudWxscHRy KTsKKysjZW5kaWYKKyAJCWlmICghZm9ybWF0KSB7CisgCQkJc3luZmlnOjp3YXJuaW5nKCJUYXJn ZXRfTGliQVZDb2RlYzogdW5hYmxlIHRvIGd1ZXNzIHRoZSBvdXRwdXQgZm9ybWF0LCBkZWZhdWx0 aW5nIHRvIE1QRUciKTsKKy0JCQlmb3JtYXQgPSBhdl9ndWVzc19mb3JtYXQoIm1wZWciLCBOVUxM LCBOVUxMKTsKKysJCQlmb3JtYXQgPSBhdl9ndWVzc19mb3JtYXQoIm1wZWciLCBudWxscHRyLCBu dWxscHRyKTsKKyAJCX0KKyAJCWlmICghZm9ybWF0KSB7CisgCQkJc3luZmlnOjplcnJvcigiVGFy Z2V0X0xpYkFWQ29kZWM6IHVuYWJsZSB0byBmaW5kICdtcGVnJyBvdXRwdXQgZm9ybWF0Iik7CitA QCAtMjU0LDYgKzI2MSw3IEBACisgCQljb250ZXh0ID0gYXZmb3JtYXRfYWxsb2NfY29udGV4dCgp OworIAkJYXNzZXJ0KGNvbnRleHQpOworIAkJY29udGV4dC0+b2Zvcm1hdCA9IGZvcm1hdDsKKysj aWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SIDwgNTggLy8gRkZNUEVHIDwgNC4wCisgCQlpZiAo ZmlsZW5hbWUuc2l6ZSgpICsgMSA+IHNpemVvZihjb250ZXh0LT5maWxlbmFtZSkpIHsKKyAJCQlz eW5maWc6OmVycm9yKAorIAkJCQkiVGFyZ2V0X0xpYkFWQ29kZWM6IGZpbGVuYW1lIHRvbyBsb25n LCBtYXggbGVuZ3RoIGlzICVkLCBmaWxlbmFtZSBpcyAnJXMnIiwKK0BAIC0yNjMsNiArMjcxLDE0 IEBACisgCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAkJbWVtY3B5KGNvbnRleHQtPmZpbGVuYW1l LCBmaWxlbmFtZS5jX3N0cigpLCBmaWxlbmFtZS5zaXplKCkgKyAxKTsKKysjZWxzZQorKwkJY29u dGV4dC0+dXJsID0gYXZfc3RybmR1cChmaWxlbmFtZS5jX3N0cigpLCBmaWxlbmFtZS5zaXplKCkp OworKwkJaWYgKCFjb250ZXh0LT51cmwpIHsKKysJCQlzeW5maWc6OmVycm9yKCJUYXJnZXRfTGli QVZDb2RlYzogY2Fubm90IGFsbG9jYXRlIHNwYWNlIGZvciBmaWxlbmFtZSIpOworKwkJCWNsb3Nl KCk7CisrCQkJcmV0dXJuIGZhbHNlOworKwkJfQorKyNlbmRpZgorIAorIAkJcGFja2V0ID0gYXZf cGFja2V0X2FsbG9jKCk7CisgCQlhc3NlcnQocGFja2V0KTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv c3luZmlnL3RlbXBsYXRlIGIvc3JjcGtncy9zeW5maWcvdGVtcGxhdGUKaW5kZXggNTEwZWIyYjRk YmYwNWQuLjU0Njk2MDhjZTU4ZDAwIDEwMDY0NAotLS0gYS9zcmNwa2dzL3N5bmZpZy90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3N5bmZpZy90ZW1wbGF0ZQpAQCAtMiwxMSArMiwxMSBAQAogIyBTaG91 bGQgYmUga2VwdCBpbiBzeW5jIHdpdGggJ3N5bmZpZ3N0dWRpbycgYW5kICdFVEwnCiBwa2duYW1l PXN5bmZpZwogdmVyc2lvbj0xLjQuNQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5 bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1ib29zdC1saWJkaXI9JHtY QlBTX0NST1NTX0JBU0V9L3Vzci9saWIiCiBob3N0bWFrZWRlcGVuZHM9ImJvb3N0LWJ1aWxkIElt YWdlTWFnaWNrIHBrZy1jb25maWcgaW50bHRvb2wiCi1tYWtlZGVwZW5kcz0iRVRMIGdldHRleHQt ZGV2ZWwgbGlieG1sKystZGV2ZWwgbWx0LWRldmVsIGxpYm1hZ2ljay1kZXZlbAorbWFrZWRlcGVu ZHM9IkVUTCBnZXR0ZXh0LWRldmVsIGxpYnhtbCsrLWRldmVsIG1sdDctZGV2ZWwgbGlibWFnaWNr LWRldmVsCiAgbGlibW5nLWRldmVsIGJvb3N0LWJ1aWxkIGJvb3N0LWRldmVsIGxpYm9wZW5leHIt ZGV2ZWwgZmZtcGVnLWRldmVsIgogZGVwZW5kcz0iSW1hZ2VNYWdpY2siCiBzaG9ydF9kZXNjPSJD TEkgMkQgdmVjdG9yIGFuZCB0aW1lbGluZS1iYXNlZCBhbmltYXRpb24gc29mdHdhcmUiCkBAIC0y MCw3ICsyMCw3IEBAIENYWEZMQUdTPSItc3RkPWMrKzExIC1ESEFWRV9MT0NBTEVfSD0xIgogCiBz eW5maWctZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0KLQkgbGlib3BlbmV4ci1kZXZlbCBsaWJ4bWwrKy1kZXZlbCBtbHQtZGV2 ZWwiCisJIGxpYm9wZW5leHItZGV2ZWwgbGlieG1sKystZGV2ZWwgbWx0Ny1kZXZlbCIKIAlzaG9y dF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3Zl IHVzci9iaW4vc3luZmlnLWNvbmZpZwoKRnJvbSAyMDA2MmUwYWNhYzYzZGFiZDNjOGI4NmJiOGQ3 MmQxZDMyZGRhNGY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1 NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUyIC0wNDAwClN1Ympl Y3Q6IFtQQVRDSCAwNjUvMTA4XSB0aW1nOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3Br Z3MvdGltZy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGltZy90ZW1wbGF0ZSBiL3NyY3Br Z3MvdGltZy90ZW1wbGF0ZQppbmRleCAyYTJhYjc2M2QyZmRkZi4uOGZiNDMyNzUzNWVmOTMgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvdGltZy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RpbWcvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0aW1nJwogcGtnbmFtZT10 aW1nCiB2ZXJzaW9uPTEuNC41Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1j bWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EV0lUSF9PUEVOU0xJREVfU1VQUE9SVD1vZmYgLVduby1k ZXYiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgZ2l0IgoKRnJvbSA5ZmJhN2FiNmJlOGM1 NmIyODMyOGNhYjViNTlhNTRlOWI3ZDM1MjhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAx OjUyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNjYvMTA4XSB0dmhlYWRlbmQ6IHJldmJ1bXAgZm9y IGZmbXBlZzQKCi0tLQogc3JjcGtncy90dmhlYWRlbmQvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3R2aGVhZGVuZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvdHZoZWFkZW5kL3RlbXBsYXRlCmluZGV4 IDlhZWE3ZGU0ZWM3MDU3Li4wMTJkMzFjNDg3OWZmMSAxMDA2NDQKLS0tIGEvc3JjcGtncy90dmhl YWRlbmQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90dmhlYWRlbmQvdGVtcGxhdGUKQEAgLTgsNyAr OCw3IEBAIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1kdmJzY2FuIC0tZGlzYWJsZS1mZm1wZWdf c3RhdGljCiAtLWRpc2FibGUtbGlieDI2NV9zdGF0aWMgLS1kaXNhYmxlLWxpYnZweF9zdGF0aWMg LS1kaXNhYmxlLWxpYnRoZW9yYV9zdGF0aWMKIC0tZGlzYWJsZS1saWJ2b3JiaXNfc3RhdGljIC0t ZGlzYWJsZS1saWJmZGthYWNfc3RhdGljIgogaG9zdG1ha2VkZXBlbmRzPSJnZXR0ZXh0IHBrZy1j b25maWcgcHl0aG9uMyBnaXQgd2hpY2giCi1tYWtlZGVwZW5kcz0iYXZhaGktbGlicy1kZXZlbCBv cGVuc3NsLWRldmVsIHpsaWItZGV2ZWwgbGliY3VybC1kZXZlbCBmZm1wZWctZGV2ZWwiCittYWtl ZGVwZW5kcz0iYXZhaGktbGlicy1kZXZlbCBvcGVuc3NsLWRldmVsIHpsaWItZGV2ZWwgbGliY3Vy bC1kZXZlbCBmZm1wZWc0LWRldmVsIgogc2hvcnRfZGVzYz0iVFYgc3RyZWFtaW5nIHNlcnZlciIK IG1haW50YWluZXI9ImxlbW1pIDxsZW1taUBuZXJkMm5lcmQub3JnPiIKIGxpY2Vuc2U9IkdQTC0z LjAtb25seSIKCkZyb20gYzU2ZjlkNjQ1NjhlY2E5ZTBmZWQwMjNkNTUzM2FiZmQyMjNkN2E2OCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo1MiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDY3 LzEwOF0gdW5wYXBlcjogdXBkYXRlIHRvIDcuMC4wLgoKLS0tCiBzcmNwa2dzL3VucGFwZXIvdGVt cGxhdGUgfCAxNiArKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25z KCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdW5wYXBlci90ZW1wbGF0 ZSBiL3NyY3BrZ3MvdW5wYXBlci90ZW1wbGF0ZQppbmRleCAzOGVkNDdhNTg0MDE2NS4uMWZmOTEw ZTcyMmFmYzggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdW5wYXBlci90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3VucGFwZXIvdGVtcGxhdGUKQEAgLTEsMTMgKzEsMTMgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3VucGFwZXInCiBwa2duYW1lPXVucGFwZXIKLXZlcnNpb249Ni4xCi1yZXZpc2lvbj0zCi1i dWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCit2ZXJzaW9uPTcuMC4wCityZXZpc2lvbj0xCitidWls ZF9zdHlsZT1tZXNvbgoraG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIG1lc29uIGxpYnhzbHQi CittYWtlZGVwZW5kcz0iZmZtcGVnLWRldmVsIHB5dGhvbjMtU3BoaW54Igorc2hvcnRfZGVzYz0i UG9zdC1wcm9jZXNzaW5nIHRvb2wgZm9yIHNjYW5uZWQgc2hlZXRzIG9mIHBhcGVyIgogbWFpbnRh aW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWhvc3RtYWtlZGVwZW5kcz0i cGtnLWNvbmZpZyBsaWJ4c2x0IgotbWFrZWRlcGVuZHM9ImZmbXBlZy1kZXZlbCIKLWxpY2Vuc2U9 IkdQTC0yIgorbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3 dy5mbGFtZWV5ZXMuZXUvcHJvamVjdHMvdW5wYXBlciIKLXNob3J0X2Rlc2M9IkEgcG9zdC1wcm9j ZXNzaW5nIHRvb2wgZm9yIHNjYW5uZWQgc2hlZXRzIG9mIHBhcGVyIgogZGlzdGZpbGVzPSJodHRw czovL3d3dy5mbGFtZWV5ZXMuZXUvZmlsZXMvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPTIzN2M4NGY1ZGE1NDRiM2Y3NzA5ODI3ZjlmMTJjMzdjMzQ2Y2RmMDI5YjExMjhm YjQ2MzNmOWJhZmE1Y2I5MzAKK2NoZWNrc3VtPTI1NzVmYmJmMjZjMjI3MTlkMWNiODgyYjU5NjAy Yzk5MDBjN2Y3NDcxMThhYzEzMDg4M2Y2MzQxOWJlNDZhODAKCkZyb20gZmFjZmZiYTc3Zjg2NmNh MzdmOGY2NGMzYzRjMWI3NzE2NjEwZWI0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog emxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo1 MiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDY4LzEwOF0gdmljZTogcmV2YnVtcCBmb3IgZmZtcGVn NgoKLS0tCiBzcmNwa2dzL3ZpY2UvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZpY2UvdGVt cGxhdGUgYi9zcmNwa2dzL3ZpY2UvdGVtcGxhdGUKaW5kZXggMWM2NDFkOWFlOWJlMjIuLjRmNDNl ODViNWI4OTcyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3ZpY2UvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy92aWNlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndmlj ZScKIHBrZ25hbWU9dmljZQogdmVyc2lvbj0zLjgKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1 aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1jcHVoaXN0 b3J5IC0tZW5hYmxlLXg2NCAtLWRpc2FibGUtcGRmLWRvY3MKICAtLWxpYmRpcj0vdXNyL2xpYiRY QlBTX1RBUkdFVF9XT1JEU0laRSAkKHZvcHRfZW5hYmxlIHNkbDIgc2RsdWkyKQoKRnJvbSA5ZjZm ZTQ5OWY4ODcxMmJlZjU3MjI5MmYyNTlmN2ZlMjAyMDkyMTFiIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAy MDIzIDIwOjAxOjUyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNjkvMTA4XSB3YXlwaXBlOiByZXZi dW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvd2F5cGlwZS90ZW1wbGF0ZSB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3Mvd2F5cGlwZS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvd2F5cGlwZS90ZW1wbGF0ZQppbmRl eCA2ZGE4OGIyMWJmMmExOS4uNGRhODA1ODQwMGI1ODggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvd2F5 cGlwZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3dheXBpcGUvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd3YXlwaXBlJwogcGtnbmFtZT13YXlwaXBlCiB2ZXJz aW9uPTAuOC42Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1tZXNvbgogIyBs dG8gaXMgb2ZmIGJlY2F1c2UgaXQgY2F1c2VzIGxpbmtpbmcgZXJyb3JzIGluIGFybXY2bCBhbmQg YXJtdjdsIChkdWUgdG8gTkVPTikKIGNvbmZpZ3VyZV9hcmdzPSItRHdlcnJvcj1mYWxzZSAtRHdp dGhfZG1hYnVmPWVuYWJsZWQgLUR3aXRoX2x6ND1lbmFibGVkCgpGcm9tIDFiZjQ1ZjJiMmZlMjAz ODYxYTYxMDdmOTFmN2FiNjA4NWVhMTQyNGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6 NTIgLTA0MDAKU3ViamVjdDogW1BBVENIIDA3MC8xMDhdIHhwcmE6IHJldmJ1bXAgZm9yIGZmbXBl ZzYKCi0tLQogc3JjcGtncy94cHJhL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94cHJhL3Rl bXBsYXRlIGIvc3JjcGtncy94cHJhL3RlbXBsYXRlCmluZGV4IGE1YmQ4NzA0MGQwMWQzLi4xZWVk YTE0NmRkMmU3NCAxMDA2NDQKLS0tIGEvc3JjcGtncy94cHJhL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MveHByYS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hw cmEnCiBwa2duYW1lPXhwcmEKIHZlcnNpb249Ni4wLjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK IGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCiBtYWtlX2J1aWxkX2FyZ3M9Ii0td2l0aG91dC1j dWRhX2tlcm5lbHMgLS13aXRob3V0LWN1ZGFfcmVidWlsZCIKIG1ha2VfaW5zdGFsbF9hcmdzPSIk KHZvcHRfd2l0aCBkb2NzKSAke21ha2VfYnVpbGRfYXJnc30iCgpGcm9tIDViZTE4OGQwYTgzM2E2 N2QwMWRkYTAxYzZkYjNhZDVkMmEzMzJmOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMzEgTWFyIDIwMjMgMDk6MDc6 NDAgLTA0MDAKU3ViamVjdDogW1BBVENIIDA3MS8xMDhdIG52LWNvZGVjLWhlYWRlcnM6IHVwZGF0 ZSB0byAxMi4wLjE2LjAKCi0tLQogc3JjcGtncy9udi1jb2RlYy1oZWFkZXJzL3RlbXBsYXRlIHwg NCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbnYtY29kZWMtaGVhZGVycy90ZW1wbGF0ZSBiL3NyY3BrZ3Mv bnYtY29kZWMtaGVhZGVycy90ZW1wbGF0ZQppbmRleCAzZDQyMmE2MWU0ODkxNy4uMjUxZTA1N2Y4 MjZmYjggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbnYtY29kZWMtaGVhZGVycy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL252LWNvZGVjLWhlYWRlcnMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdudi1jb2RlYy1oZWFkZXJzJwogcGtnbmFtZT1udi1jb2RlYy1oZWFk ZXJzCi12ZXJzaW9uPTExLjEuNS4xCit2ZXJzaW9uPTEyLjAuMTYuMAogcmV2aXNpb249MQogYnVp bGRfc3R5bGU9Z251LW1ha2VmaWxlCiBzaG9ydF9kZXNjPSJGRm1wZWcgdmVyc2lvbiBvZiBoZWFk ZXJzIHJlcXVpcmVkIHRvIGludGVyZmFjZSB3aXRoIE52aWRpYXMgY29kZWMgQVBJcyIKQEAgLTgs NyArOCw3IEBAIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBs aWNlbnNlPSJNSVQiCiBob21lcGFnZT0iaHR0cDovL2dpdC52aWRlb2xhbi5vcmcvP3A9ZmZtcGVn L252LWNvZGVjLWhlYWRlcnMuZ2l0IgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vRkZt cGVnL252LWNvZGVjLWhlYWRlcnMvYXJjaGl2ZS9uJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1 bT1kMDk1ZmJkNTZhYTkzNzcyNDcxYTMyM2JlMGViZTY1NTA0YTBmNDNmMDZjNzZhMzBiNmQyNWRh NzdiMDZhZTljCitjaGVja3N1bT0yYTE1MzNiNjVmNTVmOWRhNTI5NTZmYWYwNjI3ZWQzYjc0ODY4 YWMwYzdmMjY5OTkwZWRkMjEzNjkxMTNiNDhmCiAKIHBvc3RfaW5zdGFsbCgpIHsKIAlzZWQgLW4g JzQsMjVwJyBpbmNsdWRlL2ZmbnZjb2RlYy9udkVuY29kZUFQSS5oID4gTElDRU5TRQoKRnJvbSAw ZWEwZTFkYmRjZDcyNzYwNjBiY2JhOThhODg3MjVhN2RiOWQ1MjVlIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmksIDMxIE1h ciAyMDIzIDA5OjA4OjQwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNzIvMTA4XSBvcGVuaW1hZ2Vk ZW5vaXNlOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvb3BlbmltYWdlZGVub2lz ZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmltYWdlZGVub2lzZS90ZW1wbGF0ZSBi L3NyY3BrZ3Mvb3BlbmltYWdlZGVub2lzZS90ZW1wbGF0ZQppbmRleCAxMDlkZWIxNzFjM2Y3NS4u NDRlZGYzOGZiMjg5ZDggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmltYWdlZGVub2lzZS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL29wZW5pbWFnZWRlbm9pc2UvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuaW1hZ2VkZW5vaXNlJwogcGtnbmFtZT1vcGVu aW1hZ2VkZW5vaXNlCiB2ZXJzaW9uPTEuNC4zCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBhcmNo cz0ieDg2XzY0KiIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9ImlzcGMgcHl0 aG9uMyIKCkZyb20gNDhmODlhNWRjMDZkYzY5MGI5ZWYyZGI4OThkMWI3ZmY3NjNjMmU0NSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCAzIEFwciAyMDIzIDIzOjMxOjQ1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNzMvMTA4 XSBzaG90Y3V0OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvc2hvdGN1dC90ZW1w bGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2hvdGN1dC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2hvdGN1 dC90ZW1wbGF0ZQppbmRleCAxM2U4YTA4NTIyYjY4Zi4uZDUyYjBmZjQ3ZDVkZTcgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3Mvc2hvdGN1dC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Nob3RjdXQvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdzaG90Y3V0JwogcGtnbmFt ZT1zaG90Y3V0CiB2ZXJzaW9uPTIzLjA5LjI5Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWls ZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EU0hPVENVVF9WRVJTSU9OPSR7dmVyc2lv bn0iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ2LWJhc2UgcXQ2LXRvb2xzIgoKRnJv bSA4N2U3M2MwMDg0MGFmMmEyYTdlMjQzMjk3NWNlNjk5YjBjNTI1MjY0IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBNb24sIDMg QXByIDIwMjMgMjM6MzM6MzAgLTA0MDAKU3ViamVjdDogW1BBVENIIDA3NC8xMDhdIHNoaWJva2Vu MjogcmV2YnVtcCBmb3IgcXQ1LTUuMTUuMTEKCi0tLQogc3JjcGtncy9zaGlib2tlbjIvcGF0Y2hl cy9pbXBvcnRsaWItbWFjaGluZXJ5LWJ5cGFzcy5wYXRjaCB8IDEgKwogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9zaGlib2tlbjIvcGF0 Y2hlcy9pbXBvcnRsaWItbWFjaGluZXJ5LWJ5cGFzcy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3Br Z3Mvc2hpYm9rZW4yL3BhdGNoZXMvaW1wb3J0bGliLW1hY2hpbmVyeS1ieXBhc3MucGF0Y2ggYi9z cmNwa2dzL3NoaWJva2VuMi9wYXRjaGVzL2ltcG9ydGxpYi1tYWNoaW5lcnktYnlwYXNzLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMDAwLi5lZmNmMzI0OWJkODg1 NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc2hpYm9rZW4yL3BhdGNoZXMvaW1wb3J0bGli LW1hY2hpbmVyeS1ieXBhc3MucGF0Y2gKQEAgLTAsMCArMSBAQAorLi4vLi4vcHl0aG9uMy1weXNp ZGUyL3BhdGNoZXMvaW1wb3J0bGliLW1hY2hpbmVyeS1ieXBhc3MucGF0Y2gKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCgpGcm9tIGY4NWJhMGFhNWZlZDBiMTlhZDRlOWUyOWM3YTY3NjA3ZWI4 OTQ2NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFp bC5jb20+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAyMzozMzo1MyAtMDQwMApTdWJqZWN0OiBbUEFU Q0ggMDc1LzEwOF0gcHl0aG9uMy1weXNpZGUyOiByZXZidW1wIGZvciBxdDUtNS4xNS4xMQoKLS0t CiAuLi4vcGF0Y2hlcy9pbXBvcnRsaWItbWFjaGluZXJ5LWJ5cGFzcy5wYXRjaCAgICAgIHwgMTUg KysrKysrKysrKysrKysrCiBzcmNwa2dzL3B5dGhvbjMtcHlzaWRlMi90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcHl0aG9uMy1weXNpZGUyL3Bh dGNoZXMvaW1wb3J0bGliLW1hY2hpbmVyeS1ieXBhc3MucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3B5dGhvbjMtcHlzaWRlMi9wYXRjaGVzL2ltcG9ydGxpYi1tYWNoaW5lcnktYnlwYXNzLnBh dGNoIGIvc3JjcGtncy9weXRob24zLXB5c2lkZTIvcGF0Y2hlcy9pbXBvcnRsaWItbWFjaGluZXJ5 LWJ5cGFzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4u NjRjNDI5NTg0Nzc2YjUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMtcHlzaWRl Mi9wYXRjaGVzL2ltcG9ydGxpYi1tYWNoaW5lcnktYnlwYXNzLnBhdGNoCkBAIC0wLDAgKzEsMTUg QEAKK1VzaW5nIHRoaXMgcHJldmVudHMgYW4gZXJyb3IgYXJvdW5kIGxpbmUgMjIwIGJlbG93IGl0 LgorIkF0dHJpYnV0ZUVycm9yOiBtb2R1bGUgJ2ltcG9ydGxpYicgaGFzIG5vIGF0dHJpYnV0ZSAn bWFjaGluZXJ5JyIKK1RoZSBvbGQgYmFja3VwIGxvZ2ljIGlzIGluIHBsYWNlIGFuZCBjb21waWxl cyB3aXRob3V0IGlzc3Vlcy4KKy0tLSBhL3NvdXJjZXMvc2hpYm9rZW4yL2xpYnNoaWJva2VuL2Vt YmVkL3NpZ25hdHVyZV9ib290c3RyYXAucHkJMjAyMy0wNC0wMiAyMzowOTozNC42ODg5MTI0MDIg LTA0MDAKKysrKyBiL3NvdXJjZXMvc2hpYm9rZW4yL2xpYnNoaWJva2VuL2VtYmVkL3NpZ25hdHVy ZV9ib290c3RyYXAucHkJMjAyMy0wNC0wMiAyMzoxMDowMy4zOTU1Mjk1ODIgLTA0MDAKK0BAIC0x NzAsOSArMTcwLDYgQEAKKworICAgICAjICd6aXBzdHJpbmdfc2VxdWVuY2UnIGNvbWVzIGZyb20g c2lnbmF0dXJlLmNwcAorICAgICB6aXBieXRlcyA9IGJhc2U2NC5iNjRkZWNvZGUoJycuam9pbih6 aXBzdHJpbmdfc2VxdWVuY2UpKQorLSAgICBpZiBzeXMudmVyc2lvbl9pbmZvWzBdID49IDM6Cist ICAgICAgICB2emlwID0gemlwZmlsZS5aaXBGaWxlKGlvLkJ5dGVzSU8oemlwYnl0ZXMpKQorLSAg ICAgICAgcmV0dXJuIHN5cy5tZXRhX3BhdGgsIEVtYmVkZGFibGVaaXBJbXBvcnRlcih2emlwKQor CisgICAgICMgT2xkIHZlcnNpb24gZm9yIFB5dGhvbiAyLjcsIG9ubHkuCisgICAgIGltcG9ydCBv cwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXB5c2lkZTIvdGVtcGxhdGUgYi9zcmNwa2dz L3B5dGhvbjMtcHlzaWRlMi90ZW1wbGF0ZQppbmRleCAyNDllZmE5MDk4ODQyNS4uNTI2MjY0MzZj ZTc1ZjIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHl0aG9uMy1weXNpZGUyL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcHl0aG9uMy1weXNpZGUyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAncHl0aG9uMy1weXNpZGUyJwogcGtnbmFtZT1weXRob24zLXB5c2lkZTIK IHZlcnNpb249NS4xNS4xMAotcmV2aXNpb249MQorcmV2aXNpb249MgogX3BrZ25hbWU9InB5c2lk ZS1zZXR1cC1vcGVuc291cmNlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfd3Jrc3JjPSJzb3VyY2Vz L3B5c2lkZTIiCiBidWlsZF9zdHlsZT1jbWFrZQoKRnJvbSA4ZTAwZmNjNjQ4NWNlOGUyMWVkMzQ3 ZDJkNTYxZjIyMmMzM2M3ZDBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBUdWUsIDQgQXByIDIwMjMgMTE6MTQ6MzUgLTA0MDAK U3ViamVjdDogW1BBVENIIDA3Ni8xMDhdIGtvbnF1ZXJvcjogcmV2YnVtcCBmb3IgZmZtcGVnNgoK LS0tCiBzcmNwa2dzL2tvbnF1ZXJvci90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva29ucXVl cm9yL3RlbXBsYXRlIGIvc3JjcGtncy9rb25xdWVyb3IvdGVtcGxhdGUKaW5kZXggODY1NjNhODEx MjY2OGQuLmNjMzNkZDExZDJhZjIwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2tvbnF1ZXJvci90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2tvbnF1ZXJvci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2tvbnF1ZXJvcicKIHBrZ25hbWU9a29ucXVlcm9yCiB2ZXJzaW9u PTI0LjAyLjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25m aWd1cmVfYXJncz0iLURCVUlMRF9XSVRIX1FUNj1PTiAtREJVSUxEX1RFU1RJTkc9T0ZGCiAgLURL RjZfSE9TVF9UT09MSU5HPS91c3IvbGliL2NtYWtlCgpGcm9tIDJlZmE0NDgyYTdmYWJkNGM2NjJl MzAyNjAxNDUxNzJmNjQ4ZDg4YWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNl IDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgNCBBcHIgMjAyMyAxMToxNDo1OCAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMDc3LzEwOF0gcXQ1LXNwZWVjaDogcmV2YnVtcCBmb3IgcXQ1LTUu MTUuMTEKCi0tLQogc3JjcGtncy9xdDUtc3BlZWNoL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDUtc3BlZWNoL3RlbXBsYXRlIGIvc3JjcGtncy9xdDUtc3BlZWNoL3RlbXBsYXRlCmluZGV4 IDEyMjhiYjYwYzQxZGI0Li4yN2E3ZGExZGJkYjkxYiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDUt c3BlZWNoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ1LXNwZWVjaC90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0NS1zcGVlY2gnCiBwa2duYW1lPXF0NS1z cGVlY2gKIHZlcnNpb249NS4xNS4xMQotcmV2aXNpb249MQorcmV2aXNpb249MgogX2NvbW1pdD1k MzJmNGE0NzlkMzhhMTFmNTQ3NTk4MDA0Yjk3NWY0MzU2NDI0YTE2CiBidWlsZF9zdHlsZT1xbWFr ZQogY29uZmlndXJlX2FyZ3M9Ii0tIC1mbGl0ZSAtZmxpdGUtYWxzYSAtc3BlZWNoZCIKCkZyb20g NTJlOGViYjE4YzJmMDcxMDJmZDI4ODU2ZmUxYTQzY2ZmZmJiNWQ5MSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAzIEp1 biAyMDIzIDA4OjIwOjIyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNzgvMTA4XSBndGs0OiByZXZi dW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvZ3RrNC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZ3RrNC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ3RrNC90ZW1wbGF0ZQppbmRleCAxNWQ3OGE4 NDg0NjJhMi4uMmUyZmI2NDM1ZGI2MDcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ3RrNC90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL2d0azQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdndGs0JwogcGtnbmFtZT1ndGs0CiB2ZXJzaW9uPTQuMTQuNAotcmV2aXNpb249 MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9bWVzb24KIGJ1aWxkX2hlbHBlcj0iZ2lyIgogY29u ZmlndXJlX2FyZ3M9Ii1EbWFuLXBhZ2VzPXRydWUgLURkb2N1bWVudGF0aW9uPXRydWUgLURidWls ZC10ZXN0cz1mYWxzZQoKRnJvbSBhY2NiOWU3ODdkMWE0M2QwYzYwZDliYTdkM2E5ZjgyYjc0NGUy MGU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBTdW4sIDQgSnVuIDIwMjMgMTE6Mjg6MjYgLTA0MDAKU3ViamVjdDogW1BBVENI IDA3OS8xMDhdIHNpcmlsOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvc2lyaWwv dGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NpcmlsL3RlbXBsYXRlIGIvc3JjcGtncy9zaXJp bC90ZW1wbGF0ZQppbmRleCA4NDMzMmY3OWQwNjBkMi4uNjI3NTBkZDI0NzU0OGYgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3Mvc2lyaWwvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9zaXJpbC90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NpcmlsJwogcGtnbmFtZT1zaXJp bAogdmVyc2lvbj0wLjkuMTIKLXJldmlzaW9uPTEwCityZXZpc2lvbj0xMQogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGF1dG9j b25mIGF1dG9tYWtlIGdldHRleHQtZGV2ZWwiCiBtYWtlZGVwZW5kcz0iZmZ0dy1kZXZlbCBsaWJj b25maWctZGV2ZWwgbGlib3BlbmN2LWRldmVsIGxpYmZmbXMyLWRldmVsCgpGcm9tIDYzMmZiZjky ZjZkZjhmMWQzYTZkOTI3OGRmNGM4ZTU0YWM2NWM3MDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFNhdCwgOCBKdWwgMjAyMyAy MDoyMDo1OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDgwLzEwOF0gdHJhY2tlci1taW5lcnM6IHJl dmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy90cmFja2VyLW1pbmVycy90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvdHJhY2tlci1taW5lcnMvdGVtcGxhdGUgYi9zcmNwa2dzL3RyYWNr ZXItbWluZXJzL3RlbXBsYXRlCmluZGV4IDE2OWNmYzU4YWZhZTUyLi43NzIxN2JkZjFhYWFlOCAx MDA2NDQKLS0tIGEvc3JjcGtncy90cmFja2VyLW1pbmVycy90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3RyYWNrZXItbWluZXJzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAndHJhY2tlci1taW5lcnMnCiBwa2duYW1lPXRyYWNrZXItbWluZXJzCiB2ZXJzaW9uPTMu Ny4zCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVs cGVyPXFlbXUKICMgbWlzc2luZyBsaWJncnNzIGZvciBtaW5lcl9yc3MKCkZyb20gZTJjODQxOWU4 MjAzOTcxMTM1YzMzMTlhZTc3MTI1MTIxNzhiN2M3ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAzMCBBdWcgMjAyMyAw OToxMDowMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDgxLzEwOF0gdGdfb3d0OiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvdGdfb3d0L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy90Z19vd3QvdGVtcGxhdGUgYi9zcmNwa2dzL3RnX293dC90ZW1wbGF0ZQppbmRleCAzNGU4ZmVm MDU0MDU2OS4uMWE0NmE4YmVkZjM0NzMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGdfb3d0L3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvdGdfb3d0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAndGdfb3d0JwogcGtnbmFtZT10Z19vd3QKIHZlcnNpb249MC4wLjAuMjAy MzEyMjEKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIF9jb21taXQ9YWZkOWQ1ZDMxNzk4ZDNlYWNm OWVkNmMzMDYwMWU5MWQwZjFlNGQ2MAogX2xpYnl1dl9jb21taXQ9MDQ4MjFkMWU3ZDYwODQ1NTI1 ZThkYjU1YzdiY2Q0MWVmNWJlOTQwNgogX2Fic2VpbF9jb21taXQ9OGMwYjk0ZTc5M2E2NjQ5NWUw YjFmMzRhNWViMjZiZDdkYzY3MmRiMAoKRnJvbSBhNTUyNjkwNDE5ZmZmODRjMWNkM2IzZGMxZmI5 NzFjODk4OTE5NjYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1 NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDMwIEF1ZyAyMDIzIDA5OjEwOjQ0IC0wNDAwClN1Ympl Y3Q6IFtQQVRDSCAwODIvMTA4XSB0ZWxlZ3JhbS1kZXNrdG9wOiByZXZidW1wIGZvciBmZm1wZWc2 CgotLS0KIHNyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90 ZW1wbGF0ZQppbmRleCA0ZTRhYTc5NzQ3ZTY0YS4uNTJkOGFhNTRkMDY0MjIgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RlbGVncmFt LWRlc2t0b3AvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0 ZWxlZ3JhbS1kZXNrdG9wJwogcGtnbmFtZT10ZWxlZ3JhbS1kZXNrdG9wCiB2ZXJzaW9uPTUuMS43 Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVy PSJxZW11IGdpciIKIGNvbmZpZ3VyZV9hcmdzPSItRFRERVNLVE9QX0FQSV9JRD0yMDkyMzUKCkZy b20gNTI4NzMwZWZmMWZkNWEwODQxZmU4ZDUxNmZmMTJjMjgzODQ2YjhmNiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAz MCBBdWcgMjAyMyAwOToxMjowOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDgzLzEwOF0gb3Blbm13 OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvb3Blbm13L3RlbXBsYXRlIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9vcGVubXcvdGVtcGxhdGUgYi9zcmNwa2dzL29wZW5tdy90ZW1wbGF0ZQpp bmRleCAwYWJmNWZmN2NkYmVjYy4uYjU3MTgwZjFhNDQ0NmYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv b3Blbm13L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3Blbm13L3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3Blbm13JwogcGtnbmFtZT1vcGVubXcKIHZlcnNp b249MC40OC4wCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1jbWFrZQogX3Jl Y2FzdF9jb21taXQ9ZTc1YWRmODZmOTFlYjMwODIyMjAwODVlNDJkZGE2MjY3OWY5YTNlYQogX2J1 bGxldF90YWc9My4xNwoKRnJvbSA1NDFmZjk1MWI2NmQ1MDcyODU0YjkzMWE1NWE3MTU3NDRjZGJk YzU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBTdW4sIDE1IE9jdCAyMDIzIDIxOjQ3OjE4IC0wNDAwClN1YmplY3Q6IFtQQVRD SCAwODQvMTA4XSBsaWJvcGVuc2hvdDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dz L2xpYm9wZW5zaG90L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJvcGVuc2hvdC90ZW1w bGF0ZSBiL3NyY3BrZ3MvbGlib3BlbnNob3QvdGVtcGxhdGUKaW5kZXggZmM0NWEyNTgwNTcwNzku LjdjMWRlNjk0ZDA2YzAwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYm9wZW5zaG90L3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvbGlib3BlbnNob3QvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdsaWJvcGVuc2hvdCcKIHBrZ25hbWU9bGlib3BlbnNob3QKIHZlcnNp b249MC4zLjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiAjIEJ1 aWxkcyBmYWlsIHdpdGggUnVieS0yLjQuMQogY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX1JVQlk9 T0ZGIC1EVVNFX1NZU1RFTV9KU09OQ1BQPU9OIgoKRnJvbSA0MTY5OGIwYzhlM2I5Zjg2ODczNmVm ZTU1MGZmNTRjZDZiNDE5ZTljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDggTm92IDIwMjMgMTA6MTA6MzAgLTA1MDAK U3ViamVjdDogW1BBVENIIDA4NS8xMDhdIG9wZW5pbWFnZWlvOiByZXZidW1wIGZvciBmZm1wZWc2 CgotLS0KIHNyY3BrZ3Mvb3BlbmltYWdlaW8vdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29w ZW5pbWFnZWlvL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuaW1hZ2Vpby90ZW1wbGF0ZQppbmRleCAy N2QyMTMxYmMwYTYxYS4uNjFmNDRiNDNmOTA4M2UgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3Blbmlt YWdlaW8vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuaW1hZ2Vpby90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5pbWFnZWlvJwogcGtnbmFtZT1vcGVu aW1hZ2VpbwogdmVyc2lvbj0yLjQuOS4wCi1yZXZpc2lvbj04CityZXZpc2lvbj05CiBidWlsZF9z dHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPXFlbXUKIGNvbmZpZ3VyZV9hcmdzPSItRFVTRV9RVD0w IC1EVVNFX1BZVEhPTj0wIC1ET0lJT19CVUlMRF9URVNUUz0wCgpGcm9tIDM2YTA4ZGQwMDYxOWVh NDQ4ODNiOGNiYmUxMmQ4N2YxNGE1ZWQwOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgOCBOb3YgMjAyMyAxMDoxMTo1 NyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDg2LzEwOF0gc3luZmlnc3R1ZGlvOiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvc3luZmlnc3R1ZGlvL3RlbXBsYXRlIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9zeW5maWdzdHVkaW8vdGVtcGxhdGUgYi9zcmNwa2dzL3N5bmZpZ3N0dWRpby90ZW1w bGF0ZQppbmRleCA1Y2RlOTE5YjcwMzM0My4uZGI4NjI1MmM5NWQ2ZmUgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3Mvc3luZmlnc3R1ZGlvL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3luZmlnc3R1ZGlvL3Rl bXBsYXRlCkBAIC0yLDcgKzIsNyBAQAogIyBTaG91bGQgYmUga2VwdCBpbiBzeW5jIHdpdGggJ3N5 bmZpZycgYW5kICdFVEwnCiBwa2duYW1lPXN5bmZpZ3N0dWRpbwogdmVyc2lvbj0xLjQuNQotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJl X2FyZ3M9Ii0tZGlzYWJsZS11cGRhdGUtbWltZWRiIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29u ZmlnIGludGx0b29sIGdldHRleHQgc3luZmlnIgoKRnJvbSBkYjMyOGZkYzY2YWFkNzE5Y2U4MTll ZGUyOWMwODEyYTRiOTQ0MTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmksIDEwIE5vdiAyMDIzIDE0OjUzOjEwIC0wNTAw ClN1YmplY3Q6IFtQQVRDSCAwODcvMTA4XSBtaXh4eDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0t CiBzcmNwa2dzL21peHh4L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9taXh4eC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvbWl4eHgvdGVtcGxhdGUKaW5kZXggNmE3OWIzMjhjMWFiZjAuLjlhNTE0MTg1 Njg2MGI5IDEwMDY0NAotLS0gYS9zcmNwa2dzL21peHh4L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv bWl4eHgvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtaXh4 eCcKIHBrZ25hbWU9bWl4eHgKIHZlcnNpb249Mi4zLjMKLXJldmlzaW9uPTcKK3JldmlzaW9uPTgK IGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURDTUFLRV9CVUlMRF9UWVBFPVJl bGVhc2UiCiBob3N0bWFrZWRlcGVuZHM9ImV4dHJhLWNtYWtlLW1vZHVsZXMgcGtnLWNvbmZpZyBw cm90b2J1ZiBxdDUtaG9zdC10b29scyBxdDUtcW1ha2UiCgpGcm9tIGUyNWRhMWFmYTk5NjQzZDRk MjMyMzE1YTRlODIzMTg2ZTU4YjY3YjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHps aWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMTAgTm92IDIwMjMgMTQ6NTM6Mjgg LTA1MDAKU3ViamVjdDogW1BBVENIIDA4OC8xMDhdIG11c2lrY3ViZTogcmV2YnVtcCBmb3IgZmZt cGVnNgoKLS0tCiBzcmNwa2dzL211c2lrY3ViZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bXVzaWtjdWJlL3RlbXBsYXRlIGIvc3JjcGtncy9tdXNpa2N1YmUvdGVtcGxhdGUKaW5kZXggYWNk ZjUxNDUzYjhjOTQuLjljNGMxYWFhN2Y5ZmY0IDEwMDY0NAotLS0gYS9zcmNwa2dzL211c2lrY3Vi ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211c2lrY3ViZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ211c2lrY3ViZScKIHBrZ25hbWU9bXVzaWtjdWJlCiB2 ZXJzaW9uPTMuMC4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQog bWFrZV9jbWQ9bWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ETk9fTkNVUlNFU1c9MSIKCkZyb20gMDcw MTQ0YjBiZDgxYmRiYzJhM2EwNzExZjM2ODNiYmQ3MzNlYTliMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxMCBOb3Yg MjAyMyAxNDo1Mzo0NSAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDg5LzEwOF0gZWxlY3Ryb24yNDog cmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2VsZWN0cm9uMjQvdGVtcGxhdGUgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uMjQvdGVtcGxhdGUgYi9zcmNwa2dzL2VsZWN0cm9uMjQv dGVtcGxhdGUKaW5kZXggZWFmYjlhMGM2OTYxMzEuLjQyYjU3ZGM1MTJkODIyIDEwMDY0NAotLS0g YS9zcmNwa2dzL2VsZWN0cm9uMjQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9lbGVjdHJvbjI0L3Rl bXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZWxlY3Ryb24yNCcK IHBrZ25hbWU9ZWxlY3Ryb24yNAogdmVyc2lvbj0yNC4zLjAKLXJldmlzaW9uPTMKK3JldmlzaW9u PTQKIF9ub2RldmVyPTE4LjE0LjAKIF9jaHJvbWl1bXZlcj0xMTIuMC41NjE1LjE2NQogYXJjaHM9 Ing4Nl82NCogYWFyY2g2NCoiCgpGcm9tIDBiYTY0MDI2NjQwNmEwYTFlMWYwMzU3MTFhMDc1MzI1 NDkwZGViMTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBn bWFpbC5jb20+CkRhdGU6IEZyaSwgMTAgTm92IDIwMjMgMTQ6NTQ6MDAgLTA1MDAKU3ViamVjdDog W1BBVENIIDA5MC8xMDhdIGVsZWN0cm9uMTk6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3Jj cGtncy9lbGVjdHJvbjE5L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjE5L3Rl bXBsYXRlIGIvc3JjcGtncy9lbGVjdHJvbjE5L3RlbXBsYXRlCmluZGV4IGIxZmRiNjNjYjY3ZDQ2 Li44ODFmMDRkN2Q4MjViNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9lbGVjdHJvbjE5L3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvZWxlY3Ryb24xOS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2VsZWN0cm9uMTknCiBwa2duYW1lPWVsZWN0cm9uMTkKIHZlcnNpb249 MTkuMC44Ci1yZXZpc2lvbj00CityZXZpc2lvbj01CiBfbm9kZXZlcj0xNi4xNC4yCiBfY2hyb21p dW12ZXI9MTAyLjAuNTAwNS4xMjUKIGFyY2hzPSJ4ODZfNjQqIGFhcmNoNjQqIHBwYzY0bGUqIgoK RnJvbSBhOGI3ZDNjYWE2OGRmNjQ1MTBlYWI5YTQzMWE5MjUzYzNkM2Q5ODFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmks IDEwIE5vdiAyMDIzIDE0OjU0OjEzIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwOTEvMTA4XSB3Zi1y ZWNvcmRlcjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3dmLXJlY29yZGVyL3Rl bXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93Zi1yZWNvcmRlci90ZW1wbGF0ZSBiL3NyY3BrZ3Mv d2YtcmVjb3JkZXIvdGVtcGxhdGUKaW5kZXggMDhmOTg2YjAzMTAwNjcuLjYzYzQ1Y2Y0YjgxNGQ3 IDEwMDY0NAotLS0gYS9zcmNwa2dzL3dmLXJlY29yZGVyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv d2YtcmVjb3JkZXIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICd3Zi1yZWNvcmRlcicKIHBrZ25hbWU9d2YtcmVjb3JkZXIKIHZlcnNpb249MC40LjEKLXJldmlz aW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPW1lc29uCiBob3N0bWFrZWRlcGVuZHM9InBr Zy1jb25maWcgc2Nkb2Mgd2F5bGFuZC1kZXZlbCIKIG1ha2VkZXBlbmRzPSJ3YXlsYW5kLXByb3Rv Y29scyB3YXlsYW5kLWRldmVsIGZmbXBlZy1kZXZlbCBsaWJnYm0tZGV2ZWwgeDI2NC1kZXZlbAoK RnJvbSA3MzUxMTNiZTBkNTAxYTdiZDY2OWE0NGU4MWI4NDgzMTdlZDQ4ZmE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmks IDEwIE5vdiAyMDIzIDE0OjU0OjI2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwOTIvMTA4XSBvYnM6 IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9vYnMvdGVtcGxhdGUgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL29icy90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb2JzL3RlbXBsYXRlCmluZGV4IGZlYjk2 NDk5NzdhOGQ0Li4wODg4ZmIzYWFhY2NmZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9vYnMvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9vYnMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdvYnMnCiBwa2duYW1lPW9icwogdmVyc2lvbj0zMC4xLjEKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGFyY2hzPSJpNjg2KiB4ODZfNjQqIHBwYzY0bGUqIGFhcmNoNjQqIHJpc2N2 NjQqIgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRE9CU19WRVJTSU9OX09W RVJSSURFPSR7dmVyc2lvbn0gLURFTkFCTEVfSkFDSz1PTgoKRnJvbSBmN2I3N2I2MWZjMjNiZjZi NGY3ZTU2Mzk1YTJlYzUyZDZhNTc1OGViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6 bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmksIDEwIE5vdiAyMDIzIDE0OjU0OjM2 IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwOTMvMTA4XSBtbHQ3OiByZXZidW1wIGZvciBmZm1wZWc2 CgotLS0KIHNyY3BrZ3MvbWx0Ny90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21sdDcv dGVtcGxhdGUgYi9zcmNwa2dzL21sdDcvdGVtcGxhdGUKaW5kZXggNjVlZWQ5OThkMzk4MzIuLjE5 ZmUzNWQ0N2FmM2Q0IDEwMDY0NAotLS0gYS9zcmNwa2dzL21sdDcvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9tbHQ3L3RlbXBsYXRlCkBAIC0xLDEzICsxLDEzIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdtbHQ3JwogcGtnbmFtZT1tbHQ3CiB2ZXJzaW9uPTcuMjAuMAotcmV2aXNpb249MgorcmV2aXNp b249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFNXSUdfUFlUSE9OPU9O IC1ETU9EX1FUNj1PTiIKIGhvc3RtYWtlZGVwZW5kcz0iZG94eWdlbiBwa2ctY29uZmlnIGxhZHNw YS1zZGsgc3dpZyBweXRob24zIHdoaWNoCiAgcXQ1LWhvc3QtdG9vbHMgcXQ1LXFtYWtlIHF0Ni1i YXNlIHF0Ni10b29scyIKIG1ha2VkZXBlbmRzPSJhbHNhLWxpYi1kZXZlbCBmZm1wZWctZGV2ZWwg Z3RrKy1kZXZlbCBqYWNrLWRldmVsIGxhZHNwYS1zZGsKLSBsaWJleGlmLWRldmVsIGxpYnNhbXBs ZXJhdGUtZGV2ZWwgbGlieG1sMi1kZXZlbCBzb3gtZGV2ZWwgU0RMX2ltYWdlLWRldmVsCisgbGli ZXhpZi1kZXZlbCBsaWJzYW1wbGVyYXRlLWRldmVsIGxpYnhtbDItZGV2ZWwgc294LWRldmVsIFNE TDJfaW1hZ2UtZGV2ZWwKICBmZnR3LWRldmVsIGZyZWkwci1wbHVnaW5zIHB5dGhvbjMtZGV2ZWwg cHVsc2VhdWRpby1kZXZlbCBtb3ZpdC1kZXZlbAogIGxpYnZpZHN0YWItZGV2ZWwgcXQ1LXN2Zy1k ZXZlbCBxdDYtc3ZnLWRldmVsIHF0Ni1xdDVjb21wYXQtZGV2ZWwiCiBkZXBlbmRzPSJtbHQ3LWRh dGE+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gbGFkc3BhLXNkay1leGFtcGxlLXBsdWdpbnMiCgpG cm9tIDk5YjY1ODBiZTE0ZTY4NmYyMGQyNjYwMGI3NzVhOWQyNTdlNDNhNDYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IEZyaSwg MTAgTm92IDIwMjMgMTQ6NTQ6NDggLTA1MDAKU3ViamVjdDogW1BBVENIIDA5NC8xMDhdIHF0Ni1t dWx0aW1lZGlhOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvcXQ2LW11bHRpbWVk aWEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlIGIv c3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQppbmRleCAwNDZjYzBiNDg2Y2NkYy4uM2E3 M2ZlNGVlOTkyY2MgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1tdWx0aW1lZGlhJwogcGtnbmFtZT1xdDYtbXVsdGltZWRp YQogdmVyc2lvbj02LjcuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKIGNvbmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRVUkVfZ3N0cmVhbWVyPU9OIgogaG9zdG1ha2Vk ZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIHBrZy1jb25maWcgcXQ2LXNo YWRlcnRvb2xzIgoKRnJvbSAzYzg5YjZjY2RlNmIxZTM0YTc0OGVhNDkxNDEyZDBlNTljN2RjNjY0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29t PgpEYXRlOiBGcmksIDEwIE5vdiAyMDIzIDE1OjAwOjE1IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAw OTUvMTA4XSBiYXJlc2lwOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvYmFyZXNp cC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYmFyZXNpcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv YmFyZXNpcC90ZW1wbGF0ZQppbmRleCBlNmM4NDU2MzdiYjUwZS4uNzQzYzU2N2FhY2Y1MGUgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvYmFyZXNpcC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2JhcmVzaXAv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdiYXJlc2lwJwog cGtnbmFtZT1iYXJlc2lwCiB2ZXJzaW9uPTMuMTEuMAotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBnbGliLWRldmVs IgogbWFrZWRlcGVuZHM9ImxpYmdzbS1kZXZlbCBsaWJwbmctZGV2ZWwgb3BlbnNzbC1kZXZlbCBs aWJzbmRmaWxlLWRldmVsCgpGcm9tIGJiOGY0ZTE4NGJkZTM1YzI2NGM2NTU3MDlmNzQwZmI2NTEy ZTBlZGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFp bC5jb20+CkRhdGU6IEZyaSwgMTAgTm92IDIwMjMgMTU6MDI6MzAgLTA1MDAKU3ViamVjdDogW1BB VENIIDA5Ni8xMDhdIFFNUGxheTI6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9R TVBsYXkyL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9RTVBsYXkyL3RlbXBsYXRlIGIvc3Jj cGtncy9RTVBsYXkyL3RlbXBsYXRlCmluZGV4IDA1NGI3YmFkMDQ1MmY3Li4wNThkNjg1YWYwODdl ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9RTVBsYXkyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvUU1Q bGF5Mi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ1FNUGxh eTInCiBwa2duYW1lPVFNUGxheTIKIHZlcnNpb249MjQuMDYuMTYKLXJldmlzaW9uPTEKK3Jldmlz aW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1 LXFtYWtlIHF0NS1ob3N0LXRvb2xzIgogbWFrZWRlcGVuZHM9ImFsc2EtbGliLWRldmVsIGZmbXBl Zy1kZXZlbCBsaWJhc3MtZGV2ZWwgbGliY2Rpby1kZXZlbCBsaWJnbWUtZGV2ZWwKCkZyb20gNzA3 ZDQ5NWJjY2M5ZTIwODE2Yzc4MjlhNmNjMmY3YTEzNDk2ZTlhMyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxMCBOb3Yg MjAyMyAxNTowMjozNCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDk3LzEwOF0gYWxzYS1wbHVnaW5z OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvYWxzYS1wbHVnaW5zL3RlbXBsYXRl IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9hbHNhLXBsdWdpbnMvdGVtcGxhdGUgYi9zcmNwa2dzL2Fsc2Et cGx1Z2lucy90ZW1wbGF0ZQppbmRleCA0Yzg5MmVkNzMwZDlhNS4uYWYzNzA4Nzg1ZGJjMjEgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvYWxzYS1wbHVnaW5zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYWxz YS1wbHVnaW5zL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn YWxzYS1wbHVnaW5zJwogcGtnbmFtZT1hbHNhLXBsdWdpbnMKIHZlcnNpb249MS4yLjEyCi1yZXZp c2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVf YXJncz0iLS1kaXNhYmxlLW1hZW1vLXBsdWdpbiIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZp ZyIKCkZyb20gMzM2MzM1N2FkNjBlYzcxN2I5ODMxZTY5NjFjMTJmYmFmYTcyNjViOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTog RnJpLCAxMCBOb3YgMjAyMyAxNTowMjo0MyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDk4LzEwOF0g bWluaWRsbmE6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9taW5pZGxuYS90ZW1w bGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWluaWRsbmEvdGVtcGxhdGUgYi9zcmNwa2dzL21pbmlk bG5hL3RlbXBsYXRlCmluZGV4IDVmYTkyOWYzYTBjMTI0Li43NDI5OTFlY2QwNGFmYyAxMDA2NDQK LS0tIGEvc3JjcGtncy9taW5pZGxuYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21pbmlkbG5hL3Rl bXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbWluaWRsbmEnCiBw a2duYW1lPW1pbmlkbG5hCiB2ZXJzaW9uPTEuMy4zCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBi dWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iCiAgLS1zYmluZGlyPS91 c3IvYmluCgpGcm9tIDkwMjRiNzczMDRmOGEzNTUxNDJkNTExNzY3NGJkYmZlMTJjYWU0MDUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRh dGU6IE1vbiwgMjAgTm92IDIwMjMgMTc6NTc6NDcgLTA1MDAKU3ViamVjdDogW1BBVENIIDA5OS8x MDhdIG1wdjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL21wdi90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbXB2L3RlbXBsYXRlIGIvc3JjcGtncy9tcHYvdGVtcGxhdGUKaW5k ZXggMzJkZDk1NmM2YmY2YjYuLmY4ZTkzZGI1MjNkOTJkIDEwMDY0NAotLS0gYS9zcmNwa2dzL21w di90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21wdi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ21wdicKIHBrZ25hbWU9bXB2CiB2ZXJzaW9uPTAuMzguMAotcmV2 aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZpZ3VyZV9hcmdzPSIt RGNkZGE9ZW5hYmxlZCAtRGR2YmluPWVuYWJsZWQgLURkdmRuYXY9ZW5hYmxlZAogIC1EbGlibXB2 PXRydWUgLURjcGx1Z2lucz1lbmFibGVkCgpGcm9tIDdmYjg2NzNmYmE4NDUyYTM0NTU5MGQ5OTgy ZGE1MmQ4OTE2MmE1MzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGlj ZTU1NUBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMjAgTm92IDIwMjMgMTc6NTk6MjkgLTA1MDAKU3Vi amVjdDogW1BBVENIIDEwMC8xMDhdIHFpbWd2OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNy Y3BrZ3MvcWltZ3YvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3FpbWd2L3RlbXBsYXRlIGIv c3JjcGtncy9xaW1ndi90ZW1wbGF0ZQppbmRleCBkZDM0MWRmZTFiZmNlOC4uOGE3ZTFjMDgxZWYx MmYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcWltZ3YvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xaW1n di90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3FpbWd2Jwog cGtnbmFtZT1xaW1ndgogdmVyc2lvbj0xLjAuMgotcmV2aXNpb249MworcmV2aXNpb249NAogYnVp bGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSIkKHZvcHRfaWYgdmlkZW8gLURWSURFT19T VVBQT1JUPU9OIC1EVklERU9fU1VQUE9SVD1PRkYpCiAgJCh2b3B0X2lmIHNjYWxlIC1ET1BFTkNW X1NVUFBPUlQ9T04gLURPUEVOQ1ZfU1VQUE9SVD1PRkYpCgpGcm9tIDZkNDA4N2U1NjJkNzE5YjE4 OTFhN2JjN2YyZjI5ZWU1NDlhZTRiZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHps aWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMjAgTm92IDIwMjMgMTg6MDA6MzYg LTA1MDAKU3ViamVjdDogW1BBVENIIDEwMS8xMDhdIGtmaWxlbWV0YWRhdGE1OiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mva2ZpbGVtZXRhZGF0YTUvdGVtcGxhdGUgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2tmaWxlbWV0YWRhdGE1L3RlbXBsYXRlIGIvc3JjcGtncy9rZmlsZW1ldGFkYXRh NS90ZW1wbGF0ZQppbmRleCBhMGM0ZDgwOTM5NTMyMy4uYjU4NGY4NWZmMjA1OGIgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3Mva2ZpbGVtZXRhZGF0YTUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9rZmlsZW1l dGFkYXRhNS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tm aWxlbWV0YWRhdGE1JwogcGtnbmFtZT1rZmlsZW1ldGFkYXRhNQogdmVyc2lvbj01LjExNS4wCi1y ZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRz PSJrY29yZWFkZG9ucyBleHRyYS1jbWFrZS1tb2R1bGVzIHBrZy1jb25maWcgcXQ1LWhvc3QtdG9v bHMgcXQ1LXFtYWtlCiAgZ2V0dGV4dCBrY29yZWFkZG9ucyBweXRob24zIgoKRnJvbSAxYjhjZjcz MTI4MDkwMTZkYmNhYjcyNTUyMTgwYWExYWM3MmU3NDFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmksIDggRGVjIDIwMjMg MTE6NDY6MDEgLTA1MDAKU3ViamVjdDogW1BBVENIIDEwMi8xMDhdIHZiYS1tOiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvdmJhLW0vdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3ZiYS1tL3RlbXBsYXRlIGIvc3JjcGtncy92YmEtbS90ZW1wbGF0ZQppbmRleCAzZDEzNWVmYTFk MGI2OS4uM2M1YTIwZGIwZmE5ODQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUK KysrIGIvc3JjcGtncy92YmEtbS90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKIHBrZ25hbWU9dmJh LW0KIHJldmVydHM9MTI5Ml8yCiB2ZXJzaW9uPTIuMS45Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX0dUSz1UUlVFIC1E RU5BQkxFX0ZGTVBFRz1UUlVFIC1ERU5BQkxFX0xJTks9VFJVRSAtRENNQUtFX0JVSUxEX1RZUEU9 UmVsZWFzZSIKIGhvc3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIHVuemlwIHppcCB5 YXNtIHd4V2lkZ2V0cy1ndGszLWRldmVsIgoKRnJvbSBjOGI2YTQ0ZjM2NGEzZjIxM2E0MDdiMzdl OTU1MTc0MTJiZmQzMzcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxp Y2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmksIDggRGVjIDIwMjMgMTE6NDY6MTkgLTA1MDAKU3Vi amVjdDogW1BBVENIIDEwMy8xMDhdIGRvbHBoaW4tZW11OiByZXZidW1wIGZvciBmZm1wZWc2Cgot LS0KIHNyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy9oc2Nyb2xsLnBhdGNoICAgIHwgMjYgKysrKysr KysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvZG9scGhpbi1lbXUvcGF0Y2hlcy9pcHByb3RvLnBh dGNoIHwgMTMgKysrKysrKysrKysrCiBzcmNwa2dzL2RvbHBoaW4tZW11L3RlbXBsYXRlICAgICAg ICAgICAgICB8ICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvaHNj cm9sbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZG9scGhpbi1lbXUvcGF0Y2hl cy9pcHByb3RvLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL2hz Y3JvbGwucGF0Y2ggYi9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvaHNjcm9sbC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uMmUwODM3OTJkOGUxMTQKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvaHNjcm9sbC5wYXRjaApA QCAtMCwwICsxLDI2IEBACistLS0gYS9saWJyYXJpZXMvbGliLXZpZXdwb3J0L1ZpZXdwb3J0LmNw cAkyMDI0LTA2LTAxIDA5OjI1OjU4LjkxNTg1NTA1NyAtMDQwMAorKysrIGIvbGlicmFyaWVzL2xp Yi12aWV3cG9ydC9WaWV3cG9ydC5jcHAJMjAyNC0wNi0wMSAxMTowNjowOC43Nzk3OTk1ODkgLTA0 MDAKK0BAIC0zMjYsMTAgKzMyNiwxMCBAQAorICAgIGJvb2wgbmV3dnN0YXRlID0gcGFuZWxIZWln aHQgPCB0b3RhbEhlaWdodDsKKworICAgIC8vIEhpZGUgc2Nyb2xsYmFyIHRodW1icyBhbmQgYnV0 dG9ucyBpZiBub3Qgc2Nyb2xsYWJsZQorLSAgIGlmIChtcENhbGxiYWNrcykgeworLSAgICAgIG1w Q2FsbGJhY2tzLT5TaG93SG9yaXpvbnRhbFNjcm9sbGJhcihuZXdoc3RhdGUpOworLSAgICAgIG1w Q2FsbGJhY2tzLT5TaG93VmVydGljYWxTY3JvbGxiYXIobmV3dnN0YXRlKTsKKy0gICB9CisrICAg Ly9pZiAobXBDYWxsYmFja3MpIHsKKysgICAvLyAgIG1wQ2FsbGJhY2tzLT5TaG93SG9yaXpvbnRh bFNjcm9sbGJhcihuZXdoc3RhdGUpOworKyAgIC8vICAgbXBDYWxsYmFja3MtPlNob3dWZXJ0aWNh bFNjcm9sbGJhcihuZXd2c3RhdGUpOworKyAgIC8vfQorCisgICAgLy8gV2hlbiBub3Qgc2Nyb2xs YWJsZSBpbiBlaXRoZXIgYXhpcywgYWxpZ24gdmlld3BvcnQgdG8gdG9wIG9yIGxlZnQgYW5kCisg ICAgLy8gcmVwYWludCBpdCBsYXRlcgorQEAgLTM3OCw3ICszNzgsNyBAQAorICAgICAgICAgIHRv dGFsSGVpZ2h0IC8gc2Nyb2xsU3RlcCwKKyAgICAgICAgICBwYW5lbEhlaWdodCAvIHNjcm9sbFN0 ZXAsIHRydWUpOworCistICAgcmVzY3JvbGwgPSAocmVzY3JvbGwgJiYKKysgICByZXNjcm9sbCA9 IChyZXNjcm9sbCB8fAorICAgICAgICAodmlld0luZm8uR2V0U2NyZWVuRW5kVGltZSgpIC0gdmll d0luZm8uaHBvcykgPCB0b3RhbCk7CisgICAgUHVibGlzaCh7IChyZWZyZXNoIHx8IHJlc2Nyb2xs KSwKKyAgICAgICAob2xkaHN0YXRlICE9IG5ld2hzdGF0ZSB8fCBvbGR2c3RhdGUgIT0gbmV3dnN0 YXRlKSwgZmFsc2UgfSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2RvbHBoaW4tZW11L3BhdGNoZXMv aXBwcm90by5wYXRjaCBiL3NyY3BrZ3MvZG9scGhpbi1lbXUvcGF0Y2hlcy9pcHByb3RvLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi42N2MzNzFmMGI2YTkw MAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZG9scGhpbi1lbXUvcGF0Y2hlcy9pcHByb3Rv LnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKKy0tLSBhL1NvdXJjZS9Db3JlL0NvcmUvSFcvRVhJL0JC QS9CdWlsdEluLmgJMjAyMy0wNS0xMSAxNzowMjozMC4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL1Nv dXJjZS9Db3JlL0NvcmUvSFcvRVhJL0JCQS9CdWlsdEluLmgJMjAyNC0wNi0wNCAwOToyNDoxOS40 NzYyNjIzNDUgLTA0MDAKK0BAIC0yMCw5ICsyMCw2IEBACisgY29uc3RleHByIHUxNiBUQ1BfRkxB R19GSU4gPSAweDE7CisgY29uc3RleHByIHUxNiBUQ1BfRkxBR19SU1QgPSAweDQ7CisgCistY29u c3RleHByIHUxNiBJUF9QUk9UT0NPTCA9IDB4ODAwOworLWNvbnN0ZXhwciB1MTYgQVJQX1BST1RP Q09MID0gMHg4MDY7CistCisgY29uc3RleHByIHU4IE1BWF9UQ1BfQlVGRkVSID0gNDsKKyBjb25z dGV4cHIgdTE2IE1BWF9VRFBfTEVOR1RIID0gMTUwMDsKKyBjb25zdGV4cHIgdTE2IE1BWF9UQ1Bf TEVOR1RIID0gNDQwOworCmRpZmYgLS1naXQgYS9zcmNwa2dzL2RvbHBoaW4tZW11L3RlbXBsYXRl IGIvc3JjcGtncy9kb2xwaGluLWVtdS90ZW1wbGF0ZQppbmRleCA4NjJkM2FlOTY0ZWVjNC4uYTdh ZTBlZmI1OGZiNzUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZG9scGhpbi1lbXUvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9kb2xwaGluLWVtdS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ2RvbHBoaW4tZW11JwogcGtnbmFtZT1kb2xwaGluLWVtdQogdmVyc2lvbj01 LjAuMTkzNjgKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIF9kb2xwaGluX2NvbW1pdD1kYWRiZWI0 YmFlN2U3ZmEyM2FmMmI0NmUwYWRkNDE0MzA5NGRjMTA3CiBfbWdiYV9jb21taXQ9NDRlMDc0YTE1 ZTk2NTE0ODFmN2Y2NTJhYzAwNmE3YzlkNThjYmViOQogX2dvb2dsZXRlc3RfY29tbWl0PWJlMDNk MDBmNWYwY2MzYTk5N2QxYTM2OGJlZThhMWZlOTM2NTFmNDgKCkZyb20gY2Q5MTk3YWZlNWI1ODI5 ZDE3ZGE1NzA1NjRlMTY1YzllMjg3ZjI5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog emxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxOSBEZWMgMjAyMyAxNTozODo1 MSAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTA0LzEwOF0gcXRveDogcmV2YnVtcCBmb3IgZmZtcGVn NAoKLS0tCiBzcmNwa2dzL3F0b3gvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdG94 L3RlbXBsYXRlIGIvc3JjcGtncy9xdG94L3RlbXBsYXRlCmluZGV4IGJiNzBlN2Y1MTI0MGE0Li43 NTVlNDQ2MmJjMDEzNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdG94L3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvcXRveC90ZW1wbGF0ZQpAQCAtMSwxMyArMSwxMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAncXRveCcKIHBrZ25hbWU9cXRveAogdmVyc2lvbj0xLjE3LjYKLXJldmlzaW9uPTMKK3Jldmlz aW9uPTQKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURVUERBVEVfQ0hFQ0s9 T0ZGCiAgLURHSVRfREVTQ1JJQkU9JHt2ZXJzaW9ufQogICQodm9wdF9pZiBzbm9yZW5vdGlmeSAt RERFU0tUT1BfTk9USUZJQ0FUSU9OUz1PTikiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcg cXQ1LWhvc3QtdG9vbHMgcXQ1LWRldmVsIgotbWFrZWRlcGVuZHM9ImZmbXBlZy1kZXZlbCBsaWJl eGlmLWRldmVsIGxpYm9wZW5hbC1kZXZlbCBsaWJzb2RpdW0tZGV2ZWwKK21ha2VkZXBlbmRzPSJm Zm1wZWc0LWRldmVsIGxpYmV4aWYtZGV2ZWwgbGlib3BlbmFsLWRldmVsIGxpYnNvZGl1bS1kZXZl bAogIGxpYnZweC1kZXZlbCBvcHVzLWRldmVsIHFyZW5jb2RlLWRldmVsIHF0NS1zdmctZGV2ZWwg c29ubmV0LWRldmVsCiAgc3FsY2lwaGVyLWRldmVsIHRveGNvcmUtZGV2ZWwKICAkKHZvcHRfaWYg c25vcmVub3RpZnkgc25vcmVub3RpZnktZGV2ZWwpIgoKRnJvbSA5NzljNjFlMDFiNDY0NGJiYjMy ZDJiODg0OTBmYzMxOGUzZTE0OTBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGlj ZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBUaHUsIDExIEphbiAyMDI0IDExOjUyOjAwIC0w NTAwClN1YmplY3Q6IFtQQVRDSCAxMDUvMTA4XSBhcmNhbjogcmV2YnVtcCBmb3IgZmZtcGVnNgoK LS0tCiBzcmNwa2dzL2FyY2FuL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hcmNhbi90ZW1w bGF0ZSBiL3NyY3BrZ3MvYXJjYW4vdGVtcGxhdGUKaW5kZXggZmY5MDkxZjkwZWJiMTAuLjAzMDA5 MWE2Y2M5ZDBjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2FyY2FuL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvYXJjYW4vdGVtcGxhdGUKQEAgLTIsNyArMiw3IEBACiAjICEhIGtlZXAgc3luY2VkIHdpdGg6 IGFjZmdmcyBhY2xpcCBhbG9hZGltYWdlCiBwa2duYW1lPWFyY2FuCiB2ZXJzaW9uPTAuNi4yLjEK LXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF93cmtzcmM9 YXJjYW4vc3JjCiBidWlsZF9zdHlsZT1jbWFrZQoKRnJvbSAzMmJiMGU2MWUzNjdmZTRiZTBlMjA5 ODA1ZmRhZWVkYWJlZTg4MzgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBUaHUsIDExIEphbiAyMDI0IDExOjUyOjEwIC0wNTAw ClN1YmplY3Q6IFtQQVRDSCAxMDYvMTA4XSBub3RjdXJzZXM6IHJldmJ1bXAgZm9yIGZmbXBlZzYK Ci0tLQogc3JjcGtncy9ub3RjdXJzZXMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL25vdGN1 cnNlcy90ZW1wbGF0ZSBiL3NyY3BrZ3Mvbm90Y3Vyc2VzL3RlbXBsYXRlCmluZGV4IDQ4YTc0NjNj YjY4ZWI5Li41MTVmMzE2YWI0NTc2YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9ub3RjdXJzZXMvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9ub3RjdXJzZXMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdub3RjdXJzZXMnCiBwa2duYW1lPW5vdGN1cnNlcwogdmVyc2lv bj0zLjAuOQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZp Z3VyZV9hcmdzPSItRFVTRV9TVEFUSUM9T04gLURVU0VfUVJDT0RFR0VOPU9uICQodm9wdF9ib29s IG1hbiBVU0VfUEFORE9DKSIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyAkKHZvcHRfaWYg bWFuIHBhbmRvYykiCgpGcm9tIGY4ODM1ZDU5MThkNmY1NTc5M2YwMjc3OGU5Mzc4MGU2ZGUwMTBl MWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAxOTo0NToyOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTA3LzEwOF0gbXBkOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvbXBkL3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tcGQvdGVtcGxhdGUgYi9zcmNwa2dzL21wZC90ZW1wbGF0 ZQppbmRleCBiOGUyYmQ0YzFiNTljOC4uZGMzNDY5OTdhOTA5N2UgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvbXBkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbXBkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbXBkJwogcGtnbmFtZT1tcGQKIHZlcnNpb249MC4yMy4x NQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZpZ3VyZV9h cmdzPSItRG9wdXM9ZW5hYmxlZCAtRG1pa21vZD1lbmFibGVkIC1EbmVpZ2hib3I9dHJ1ZQogIC1E c291bmRjbG91ZD1lbmFibGVkIC1EcGlwZT10cnVlIC1EdHdvbGFtZT1lbmFibGVkIC1EYnppcDI9 ZW5hYmxlZAoKRnJvbSBhYTE3MjI5NTMzOGM5MzNkMGQ2NGEwMTZkNDFlNmJhZjQyNWZjMjQ0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpE YXRlOiBUdWUsIDQgSnVuIDIwMjQgMDk6MDU6MTggLTA0MDAKU3ViamVjdDogW1BBVENIIDEwOC8x MDhdIGtmNi1rZmlsZW1ldGFkYXRhOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mv a2Y2LWtmaWxlbWV0YWRhdGEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2tmNi1rZmlsZW1l dGFkYXRhL3RlbXBsYXRlIGIvc3JjcGtncy9rZjYta2ZpbGVtZXRhZGF0YS90ZW1wbGF0ZQppbmRl eCBlMTY5MzVhYTUyYjUxYi4uYjJlOWM1YjU5ZGQ1NTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mva2Y2 LWtmaWxlbWV0YWRhdGEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9rZjYta2ZpbGVtZXRhZGF0YS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tmNi1rZmlsZW1l dGFkYXRhJwogcGtnbmFtZT1rZjYta2ZpbGVtZXRhZGF0YQogdmVyc2lvbj02LjMuMAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREtE RV9JTlNUQUxMX1FUUExVR0lORElSPWxpYi9xdDYvcGx1Z2lucyIKIGhvc3RtYWtlZGVwZW5kcz0i ZXh0cmEtY21ha2UtbW9kdWxlcyBxdDYtdG9vbHMgcXQ2LWJhc2UK --===============5052333240951933588==--