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.3 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, NO_DNS_FOR_FROM,T_SCC_BODY_TEXT_LINE,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 5CA4A22900 for ; Tue, 4 Jun 2024 16:10:39 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============4104239843250707914==" 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: Tue, 04 Jun 2024 16:10:39 +0200 List-Id: Message-Id: <20240604141039.5CA4A22900@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============4104239843250707914== 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+IHR5IHlvc2gNCi0ga29kaQ0KLSBtbHQgKG9ubHkgZGVwIGxlZnQgaXMgZmxv d2JsYWRlIC0gZmxvd2JsYWRlIDIuMTIuMC4yIHdpdGggbWx0Ny1weXRob24zIGNhbiAncmVuZGVy JyB2aWRlb3Mgd2l0aCBjcHUgYW5kIGdwdSAtIH5+aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ3MTk1fn4gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzUwMzg1KQ0KLSB+fnN5bmZpZyAobWx0KX5+ICh3b3JrIHdp dGggbWx0NywgYnVtcCBzeW5maWdzdHVkaW8pDQotIHR2aGVhZGVuZCAoZG93bmxvYWQgcGFnZSBy ZWNvbW1lbmRzIHVzaW5nIDQuMyB3aGljaCBjb21waWxlcyBmaW5lLCA0LjQgZXRhIGlzIFExIDIw MjQpDQotIH5+c3Nyfn4gKHBhdGNoZXMpDQotIH5+c3Blay1hbHRlcm5hdGl2ZX5+IChyZXBsYWNl IHdpdGggc3Blay14KQ0KLSB+fnBwc3NwcH5+IH5+KDEuMTcuMSBpcyBvdXQsIGJ1dCB0aGVyZSdz IDUrIGRpc3RmaWxlcyB0aGF0IGFyZSBhbGwgZ2l0IGNvbW1pdHMpfn4gKG1pbm9yIHBhdGNoKQ0K LSBvbGl2ZSAoaGFzIGJlZW4gaW4gYWxwaGEgc2luY2UgMjAyMCwgc2VlbXMgdGhleSBkbyBuaWdo dGx5IGJ1aWxkcyBhbmQgYXBwaW1hZ2VzKQ0KLSBtb2MNCi0gbWVkaWFzdHJlYW1lciAobGlucGhv bmUgbGlua3MgYXJlIGRlYWQsIGNoYW5nZWQgdG8gZ2l0aHViIGJlbGxhZG9ubmUuIHRoZWlyIHN0 dWZmIG5ldmVyIHdvcmtlZCBmb3IgbWUgYnV0IHRoZXJlIGFyZSB1cGRhdGVzIGlmIHNvbWVvbmUg d2FudHMgdG8gZ2l2ZSBpdCBhIHRyeSkNCi0gfn5saWJleHRyYWN0b3IgKDEuMTMgY29tcGlsZXMs IHJlbW92ZSBleGl2MiBwYXRjaCl+fiAoYXMgeW9zaCBwb2ludGVkIG91dCwgMS4xMyBqdXN0IHJl bW92ZXMgZmZtcGVnIGJpdHMpDQotIGlkamMgKDAuOS44IGNvbXBpbGVzLCByZW1vdmUgcHl0aG9u My4xMCBwYXRjaCwgbmVlZHMgbWFrZWRlcGVuZHMgbGliZWJ1cjEyOC1kZXZlbCBhbmQgbGlic2hv dXQtaWRqYyAyLjQuNiB3aXRoICctcjEnIGZvciBkaXN0ZmlsZSAtIGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80ODk0NCkNCi0gaGVkZ2V3YXJzDQotIH5+ ZmZtcGVndGh1bWJuYWlsZXJ+fiAocGF0Y2hlcyBmb3IgbW92aWVkZWNvZGVyLnh4eCBmaWxlcykN Ci0gfn5mZm1wZWd0aHVtYnN+fiAobGF0ZXN0IGNvbXBpbGVzKQ0KLSBkZWFkYmVlZiAoMS45LjYg bWF5IHdvcmsgYnV0IHJlcXVpcmVzIGxpYmRpc3BhdGNoIGZyb20gYXBwbGUpDQotIH5+b214cGxh eWVyfn4gKHBhY2thZ2UgcmVtb3ZlZCwgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB2bGMpDQotIHF0 YXYgKGZvcmsgaGFzIGZmbXBlZyA1IHBhdGNoIC0gaHR0cHM6Ly9naXRodWIuY29tL2NtZ3VvL1F0 QVYpDQotIGB2bGNgICh2bGM0IHdpbGwgc3VwcG9ydCBmZm1wZWc1LCB0aGVyZSdzIGEgcGF0Y2gg dG8gYnVpbGQgMy54IHdpdGggZmZtcGVnNSBidXQgaXQgd2lsbCBsYWNrIHZhYXBpKQ0KLSBgb3Nn YCAoT3BlblNjZW5lR3JhcGggcGx1cyBgeGluZS1saWJgKSAocGF0Y2hlcyBmcm9tIG9zZyBpc3N1 ZSBidWlsZCB3aXRoIGZmbXBlZzYsIFtmZm1wZWc1LnBhdGNoLnR4dF0oaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9maWxlcy8xNDc0MzI0Ni9mZm1wZWc1LnBhdGNo LnR4dCkpDQoNCg0KDQojIyMjIyBIQVZFIE5PVCBCVUlMVCBZRVQNCg0KLSB+fm9teHBsYXllciAo cnBpIG9ubHk/IGZmbXBlZzQpfn4gKHJlbW92ZWQpDQotIGtvZGkgKGJpZywgYnV0IGZmbXBlZzQp DQoNCg0KIyMjIyMgVVBEQVRFRCAoZm9yIGZmbXBlZzYpDQoNCi0gfn5ibGVuZGVyOiB1cGRhdGUg dG8gMy41LjF+fiB+fndpbGwgYmUgcmV2YnVtcCB3aXRofn4gaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQzOTkyDQotIHVucGFwZXI6IHVwZGF0ZSB0byA3 LjAuMC4NCi0gZ3V2Y3ZpZXc6IHVwZGF0ZSB0byAyLjAuOC4NCi0gfn5xdDU6IHVwZGF0ZSB0byA1 LjE1Ljh+fiB1cGRhdGVkIGJ5IGFub3RoZXIgUFIgdG8gNS4xNS4xMQ0KLSB+fnF0NS13ZWJlbmdp bmU6IHVwZGF0ZSB0byA1LjE4LjE1fn4gdXBkYXRlZCBieSBhbm90aGVyIFBSIHRvIDUuMTUuMTYg KHNvbWUgcGF0Y2hpbmcgZm9yIGZmbXBlZyBidWlsZCkNCi0gfn5zaGlib2tlbjI6IHJldmJ1bXAg Zm9yIHF0NS4xNS44IChwYXRjaCl+fiB1cGRhdGVkIGJ5IGFub3RoZXIgUFIgdG8gNS4xNS4xMA0K LSB+fnB5dGhvbjMtcHlzaWRlMjogdXBkYXRlIHRvIDUuMTUuOCAocGF0Y2gpfn4gdXBkYXRlZCBi eSBhbm90aGVyIFBSIHRvIDUuMTUuMTANCi0gTmV3IHBhY2thZ2U6IHNwZXgteCByZXBsYWNlcyBz cGVrLWFsdGVybmF0aXZlIGZvciBmZm1wZWctNi4wDQoNCg0KIyMjIyMgUmVxdWlyZW1lbnRzDQoN Ci0gfn5bZ3N0cmVhbWVyIDEuMjIuMl0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzQyODYxKX5+IC0gYSBmZXcgcGFja2FnZXMgdXNlIGZmbXBlZy1kZXZl bCBhbmQgcmVxdWlyZSBhIHJldmJ1bXANCg0KLSB+fltJbnRlbCBQYWNrYWdlc10oaHR0cHM6Ly9n aXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQxMTMyKSBbSW50ZWwgUGFj a2FnZXMgdjJdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVs bC80NzMzMCkgLSBmZm1wZWc0IHVzZXMgZGlmZmVyZW50IGxpYnJhcmllcyB0aGFuIDYgKGxpYm1m eCAvIEludGVsLU1lZGlhU0RLIHZzIG9ubHkgb25lVlBMIHRoYXQgSW50ZWwgaXMgbW92aW5nIHRv KSwgYm90aCBhcmUgaW5jbHVkZWQgaGVyZX5+LiBVc2luZyByZXBsYWNlbWVudCBvbmVWUEwgZnJv bSBPQlMgdXBkYXRlLg0KDQotIH5+W3Nob3RjdXQgMjMuMDUuMTRdKGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NDI2MCl+fg0KDQotIGh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NDc4MSB3aWxsIHJlbW92ZSBm cm9tIHRoaXMgUFIKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80Mzc2MS5wYXRjaCBpcyBhdHRhY2hlZA== --===============4104239843250707914== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-ffmpeg6-split-43761.patch" RnJvbSA3N2IxM2E2NjE3ZTBkZThlMzBmZTdkNTg2ODlmNzhjMWJmMGRlZTc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBTdW4s IDE1IE9jdCAyMDIzIDIxOjE2OjU2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMDEvMTA5XSBmZm1w ZWc6IHVwZGF0ZSB0byA2LjAuMS4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMjYgKysrKy0tLQogc3JjcGtncy9mZm1wZWcvZmlsZXMvYWx0aXZl Yy5wYXRjaCAgICAgICAgICAgIHwgNjAgLS0tLS0tLS0tLS0tLS0tCiAuLi4vcGF0Y2hlcy9hcm12 NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaCAgICAgfCAxOCAtLS0tLQogc3JjcGtncy9mZm1wZWcv cGF0Y2hlcy9iaW51dGlscy0yLjQxLnBhdGNoICAgIHwgNzMgLS0tLS0tLS0tLS0tLS0tLS0tLQog Li4uaC1saWJhdmNvZGVjLWxpYnN2dGF2MS10ZW5fYml0X2Zvcm1hdC5kaWZmIHwgNDAgLS0tLS0t LS0tLQogc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9xc3YucGF0Y2ggICAgICAgICAgICAgIHwgMTUg KysrKwogc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9xdDYtd2ViZW5naW5lLnBhdGNoICAgIHwgMzYg KysrKysrKysrCiAuLi4vd29ya2Fyb3VuZC1tZXNhLXJlYWRlb24tdmFhcGktYnVnLnBhdGNoICAg fCAyOCAtLS0tLS0tCiBzcmNwa2dzL2ZmbXBlZy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAg ICAgfCAzOCArKysrKy0tLS0tCiA5IGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDI0 NyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ZmbXBlZy9maWxlcy9h bHRpdmVjLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9h cm12NXRlbC1mbG9hdGluZy1wb2ludC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv ZmZtcGVnL3BhdGNoZXMvYmludXRpbHMtMi40MS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvZmZtcGVnL3BhdGNoZXMvcGF0Y2gtbGliYXZjb2RlYy1saWJzdnRhdjEtdGVuX2JpdF9m b3JtYXQuZGlmZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmZtcGVnL3BhdGNoZXMvcXN2 LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy9xdDYtd2Vi ZW5naW5lLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mZm1wZWcvcGF0Y2hlcy93 b3JrYXJvdW5kLW1lc2EtcmVhZGVvbi12YWFwaS1idWcucGF0Y2gKCmRpZmYgLS1naXQgYS9jb21t b24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCAyNzliZjEwZDc3ZDI2ZS4uMWFlOGRhNmU4 YjM3MjYgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAt MzkxLDE1ICszOTEsMjMgQEAgbGliaWQzdGFnLnNvLjAgbGliaWQzdGFnLTAuMTUuMWJfMQogbGli 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 CiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCgpGcm9tIDE5YjUwZjNhNmRjMGNlY2QyOWM0ZGYz MTE0MjYzZGUwYTZjYmIwNWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6 bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTUgT2N0IDIwMjMgMjE6MTg6MTQgLTA0MDAK U3ViamVjdDogW1BBVENIIDAwMi8xMDldIG9wZW5zaG90OiByZXZidW1wIGZvciBmZm1wZWc2Cgot LS0KIHNyY3BrZ3Mvb3BlbnNob3QvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5zaG90 L3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZQppbmRleCAzODQ5ODU4ZmU5NjNi NS4uMTI3ODliYzk4Njc0OTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbnNob3QvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ29wZW5zaG90JwogcGtnbmFtZT1vcGVuc2hvdAogdmVyc2lvbj0zLjEuMQot cmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3Rt YWtlZGVwZW5kcz0icHl0aG9uMyBweXRob24zLXNldHVwdG9vbHMiCiBtYWtlZGVwZW5kcz0iZmZt cGVnLWRldmVsIHB5dGhvbjMtUHlRdDUiCgpGcm9tIDdkZDY2MTQ1NmEzMDkxN2ZlODFjN2Q4OGEz NTIyYjVlZTRkMzM0NGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGlj ZTU1NUBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTUgT2N0IDIwMjMgMjE6MTg6MzYgLTA0MDAKU3Vi amVjdDogW1BBVENIIDAwMy8xMDldIHN1bW86IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3Jj cGtncy9zdW1vL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zdW1vL3RlbXBsYXRlIGIvc3Jj cGtncy9zdW1vL3RlbXBsYXRlCmluZGV4IGE3MzBhZmE5ZmFmYTkyLi5lMmRlZjA2ZmE0YmQ3ZCAx MDA2NDQKLS0tIGEvc3JjcGtncy9zdW1vL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3Vtby90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3N1bW8nCiBwa2duYW1l PXN1bW8KIHZlcnNpb249MS4xMi4wCi1yZXZpc2lvbj03CityZXZpc2lvbj04CiBidWlsZF9zdHls ZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJsaWJnZGFsLXRvb2xzIHBrZy1jb25maWcgc3dpZyBw eXRob24zLXNldHVwdG9vbHMiCiBtYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCBmZm1wZWctZGV2 ZWwgZm94LWRldmVsIGdsMnBzLWRldmVsIGxpYmdkYWwtZGV2ZWwKCkZyb20gOTJlZjM4ODllNWQ4 ZjU1Yjc2MGE0NjQ0OTlmMzY3NGQ3ZTQyNmE3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAxOTo1 NjoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDA0LzEwOV0gTmV3IHBhY2thZ2U6IGZmbXBlZzQt 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 CitmZm1wZWc0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKRnJvbSBmMDZmN2FhOGJkOTAz ZTNhYmNkNWI5ZTMyOTMxNTYyNzFmNWM5NTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDE5OjU5 OjA0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMDUvMTA5XSBvcGVuY3Y6IHVwZGF0ZSB0byA0Ljcu MC4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgfCAxMDQgKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9vcGVuY3YvdGVtcGxhdGUgfCAgIDggKyst LQogMiBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCAxYWU4ZGE2ZThi MzcyNi4uMWZlMjgxY2I2ZmVhNWQgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29t bW9uL3NobGlicwpAQCAtMjE4MCw1OCArMjE4MCw1OCBAQCBsaWJjYXBzdG9uZS5zby41IGNhcHN0 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 aGVjaz1ubwoKRnJvbSAyNTBjNGVlODg5ZTQxZDVjZWU2ZDgxZTQ3OTg1YWQ0MWZjOTUwOTI5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpE YXRlOiBXZWQsIDIyIE1hciAyMDIzIDE5OjU5OjQ1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMDYv MTA5XSBhY3Rpb25hOiByZXZidW1wIGZvciBvcGVuY3YtNC43LjAKCi0tLQogc3JjcGtncy9hY3Rp b25hL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hY3Rpb25hL3RlbXBsYXRlIGIvc3JjcGtn cy9hY3Rpb25hL3RlbXBsYXRlCmluZGV4IGNmNWYwYjdhMmFlNjEwLi4wZDg5OTMxMWU2ZGY3NSAx MDA2NDQKLS0tIGEvc3JjcGtncy9hY3Rpb25hL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYWN0aW9u YS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2FjdGlvbmEn CiBwa2duYW1lPWFjdGlvbmEKIHZlcnNpb249My4xMC4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0z CiBidWlsZF9zdHlsZT1xbWFrZQogY29uZmlndXJlX2FyZ3M9IlBLR0NPTkZJR19PUEVOQ1Y9b3Bl bmN2NCIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBxdDUtcGx1Z2luLW15c3FsIHF0NS1x bWFrZSBxdDUtaG9zdC10b29scyIKCkZyb20gOGYxYTlmOWMyOWE3NDZhM2Q0ZWU1MDRhODgzN2Vh OGE5ZTI0NDU2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1 QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAxOTo1OTo0NiAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMDA3LzEwOV0gcmV0cm9zaGFyZTogcmV2YnVtcCBmb3Igb3BlbmN2LTQuNy4wCgot LS0KIHNyY3BrZ3MvcmV0cm9zaGFyZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmV0cm9z aGFyZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmV0cm9zaGFyZS90ZW1wbGF0ZQppbmRleCAzNWEyNzMy Yzc3ZjYzNC4uMzFhNDBhNmFjNmQ0YTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcmV0cm9zaGFyZS90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3JldHJvc2hhcmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdyZXRyb3NoYXJlJwogcGtnbmFtZT1yZXRyb3NoYXJlCiB2 ZXJzaW9uPTAuNi42Ci1yZXZpc2lvbj00CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1xbWFrZQog I1hYWCBicm9hZGNhc3QgZmVhdHVyZSByZXF1aXJlcyBhbiBhbmNpZW50IHVkcC1kaXNjb3Zlcnkt Y3BwIHdoaWNoIGVpdGhlciBuZWVkcwogIyB0byBiZSBmZXRjaGVkK3BhdGNoZWQgKEZUQkZTKSBo ZXJlIG9yIHBhY2thZ2VkIDovCgpGcm9tIDYxZjBmZWM1NTY1ZWY3OGU2ZmRkN2UzMjNmNDUzOTVl OWY4YWRlODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBn bWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMTk6NTk6NDYgLTA0MDAKU3ViamVjdDog W1BBVENIIDAwOC8xMDldIHdhaWZ1MngtY29udmVydGVyLWNwcDogcmV2YnVtcCBmb3Igb3BlbmN2 LTQuNy4wCgotLS0KIHNyY3BrZ3Mvd2FpZnUyeC1jb252ZXJ0ZXItY3BwL3RlbXBsYXRlIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy93YWlmdTJ4LWNvbnZlcnRlci1jcHAvdGVtcGxhdGUgYi9zcmNwa2dzL3dh aWZ1MngtY29udmVydGVyLWNwcC90ZW1wbGF0ZQppbmRleCAzNjFiOGEyM2I5NDk3Ny4uYzVhYzE3 ZWI1NGVhNGMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvd2FpZnUyeC1jb252ZXJ0ZXItY3BwL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3Mvd2FpZnUyeC1jb252ZXJ0ZXItY3BwL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnd2FpZnUyeC1jb252ZXJ0ZXItY3BwJwogcGtn bmFtZT13YWlmdTJ4LWNvbnZlcnRlci1jcHAKIHZlcnNpb249NS4yLjQKLXJldmlzaW9uPTIKK3Jl dmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURJTlNUQUxMX01P REVMUz1PTiIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gYWZmZmZiNjBkYjBh NTdhNDllMjM1MDU5YjI5NGJiMzY3ZTc1OWUyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDow MDozOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDA5LzEwOV0gdmxjOiByZXZidW1wIGZvciBmZm1w ZWc0CgotLS0KIHNyY3BrZ3MvdmxjL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvdmxj L3RlbXBsYXRlIGIvc3JjcGtncy92bGMvdGVtcGxhdGUKaW5kZXggNTU5YjFjNGZmZjMzOWYuLmZj Mzk5ZjFhNmU5YmZjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3ZsYy90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3ZsYy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Zs YycKIHBrZ25hbWU9dmxjCiB2ZXJzaW9uPTMuMC4yMAotcmV2aXNpb249NAorcmV2aXNpb249NQog YnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1nbWUg LS1kaXNhYmxlLWxpYnRhciAtLWVuYWJsZS1qYWNrCiAgLS1lbmFibGUtbGl2ZTU1NSAtLWRpc2Fi bGUtZmx1aWRzeW50aCAtLWVuYWJsZS1kdmRyZWFkCkBAIC0yNSw3ICsyNSw3IEBAIGxpYjMyZGlz YWJsZWQ9eWVzCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGxpYnRvb2wgcGtnLWNvbmZpZyBm bGV4IGdldHRleHQgbGliZ2NyeXB0LWRldmVsCiAgbGl2ZTU1NS1kZXZlbCBnZXR0ZXh0LWRldmVs ICQodm9wdF9pZiBsdWEgbHVhNTIpICQodm9wdF9pZiBjaHJvbWVjYXN0IHByb3RvYnVmKSIKIG1h a2VkZXBlbmRzPSIKLSBhdmFoaS1saWJzLWRldmVsIGRidXMtZ2xpYi1kZXZlbCBmYWFkMi1kZXZl bCBmZm1wZWctZGV2ZWwgZnJlZWZvbnQtdHRmCisgYXZhaGktbGlicy1kZXZlbCBkYnVzLWdsaWIt ZGV2ZWwgZmFhZDItZGV2ZWwgZmZtcGVnNC1kZXZlbCBmcmVlZm9udC10dGYKICBnbnV0bHMtZGV2 ZWwgamFjay1kZXZlbCBsaWJhNTItZGV2ZWwgbGliYXNzLWRldmVsIGxpYmJsdXJheS1kZXZlbAog IGxpYmNkaW8tZGV2ZWwgbGliZGNhLWRldmVsIGxpYmR2YnBzaS1kZXZlbCBsaWJkdmRuYXYtZGV2 ZWwgbGlibWFkLWRldmVsCiAgbGlibWF0cm9za2EtZGV2ZWwgbGlibW9kcGx1Zy1kZXZlbCBsaWJt cGNkZWMtZGV2ZWwgbGlibXBlZzItZGV2ZWwKCkZyb20gYWIwOTVmNjc1MTg3OWI4MTFkMGUwZDc5 MGZkYTUwNTUzNTQ4YTE4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHps aWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMDo1NSAtMDQwMApT dWJqZWN0OiBbUEFUQ0ggMDEwLzEwOV0gb3NnOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNy 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 aWYKKyAKKyAgICAgICAgIGF2Zm9ybWF0X25ldHdvcmtfaW5pdCgpOworICAgICB9CgpGcm9tIDU1 NWZlZjMwNmFlNTdkODk4YmQ2YWE5ZmRiMDMzZjBhOWY4N2YxZGMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFy IDIwMjMgMjA6MDE6MTMgLTA0MDAKU3ViamVjdDogW1BBVENIIDAxMS8xMDldIHhpbmUtbGliOiBy ZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MveGluZS1saWIvdGVtcGxhdGUgfCA2ICsr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3hpbmUtbGliL3RlbXBsYXRlIGIvc3JjcGtncy94aW5lLWxpYi90 ZW1wbGF0ZQppbmRleCAzYmU0ZDA4ZWFjNzdhMy4uMjU2ZmQyYmM4YjU4ZGIgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MveGluZS1saWIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy94aW5lLWxpYi90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hpbmUtbGliJwogcGtnbmFt ZT14aW5lLWxpYgotdmVyc2lvbj0xLjIuMTIKLXJldmlzaW9uPTMKK3ZlcnNpb249MS4yLjEzCity ZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1k aXNhYmxlLXZjZCAtLWRpc2FibGUtZ25vbWV2ZnMgLS13aXRob3V0LWVzb3VuZCAtLWRpc2FibGUt ZHhyMwogIC0tZGlzYWJsZS1vc3MiCkBAIC0xOSw3ICsxOSw3IEBAIGxpY2Vuc2U9IkdQTC0yLjAt b3ItbGF0ZXIsIExHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHA6Ly93d3cueGluZS1w cm9qZWN0Lm9yZyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMv eGluZS9maWxlcy94aW5lLWxpYi8ke3ZlcnNpb259L1JFQURNRS50eHQvdmlldyIKIGRpc3RmaWxl cz0iJHtTT1VSQ0VGT1JHRV9TSVRFfS94aW5lLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1kNjA2MjcwNDY4ZTE1NDBjMmE4OWMwZDdmNWZkZjExZTE3ZWNjMGMyNjk4Y2Mw YmNiMTA2NWZmMjZhYmVlMDk4CitjaGVja3N1bT01ZjEwZDZkNzE4YTRhNTFjMTdlZDFiMzJiMDMx ZDRmOWI4MGIwNjFlODI3NjUzNWIyYmUzMWU1YWM0Yjc1ZTZmCiAKIGNhc2UgIiRYQlBTX1RBUkdF VF9NQUNISU5FIiBpbgogCWk2ODYtbXVzbCkKCkZyb20gODY3ZDFiNjJmNzJkMjNlMWFkNmRjODlk NzYyYzBmY2Q5MWMxOTJmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHps aWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NSAtMDQwMApT dWJqZWN0OiBbUEFUQ0ggMDEyLzEwOV0gYXR0cmFjdDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0t CiBzcmNwa2dzL2F0dHJhY3QvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F0dHJhY3QvdGVt cGxhdGUgYi9zcmNwa2dzL2F0dHJhY3QvdGVtcGxhdGUKaW5kZXggNzc2Y2JlNGViZDJjOTMuLmY5 NjYzNGY0NDFhZTgwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2F0dHJhY3QvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9hdHRyYWN0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnYXR0cmFjdCcKIHBrZ25hbWU9YXR0cmFjdAogdmVyc2lvbj0yLjcuMAotcmV2aXNpb249 MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCiBtYWtlX2J1aWxkX2FyZ3M9 IlZFUkJPU0U9MSIKIG1ha2VfdXNlX2Vudj15ZXMKCkZyb20gNmY0ZDI2Mjc5ZTNmNjNiMjlkMjk3 Y2ViMjdlNDJmN2ZlNGJkNTUzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2Ug PHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NSAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMDEzLzEwOV0gYXViaW86IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0t 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 PSJwa2ctY29uZmlnIHR4dDJtYW4iCgpGcm9tIGMxNTU5ZDkzYTkxMDk1MDJkMDI4NWU1YTliYTZl NDE3MWE4ZjlhZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1 NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDUgLTA0MDAKU3ViamVj dDogW1BBVENIIDAxNC8xMDldIGF1ZGFjaW91cy1wbHVnaW5zOiByZXZidW1wIGZvciBmZm1wZWc2 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 ICB7CgpGcm9tIDg5ZWM5YWRiNzQ1ZWZiMTUzNzEwY2Y2OGI5YmY2ZGEzMjljNGE4NGQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDAxNS8xMDld IGF1ZGFjaXR5OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvYXVkYWNpdHkvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRlIGIvc3JjcGtncy9hdWRh Y2l0eS90ZW1wbGF0ZQppbmRleCA3YjgzODExOWFiMjYxMS4uODRiNDkzMDVlZGNlZjEgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvYXVkYWNpdHkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hdWRhY2l0eS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2F1ZGFjaXR5Jwog cGtnbmFtZT1hdWRhY2l0eQogdmVyc2lvbj0zLjQuMgotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj0iY21ha2Utd3hXaWRnZXRzLWd0azMgcWVt dSIKIGNvbmZpZ3VyZV9hcmdzPSItRGF1ZGFjaXR5X3VzZV9mZm1wZWc9bG9hZGVkIC1EYXVkYWNp dHlfbGliX3ByZWZlcmVuY2U9c3lzdGVtCgpGcm9tIDZkMjZmYWJiZTExMDI5MWNjN2UwN2VhZDEw MDYxYzE5NGE1MjljMzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGlj ZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDUgLTA0MDAKU3Vi amVjdDogW1BBVENIIDAxNi8xMDldIGF2aWRlbXV4OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0K 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 b20gYWVhZDViZTE4ZjM5MTI0MTczYzMxODVhMTg1ZmM4NGM2NWU0MDA5MSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAy MiBNYXIgMjAyMyAyMDowMTo0NiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDE3LzEwOV0gYmxlbmRl cjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2JsZW5kZXIvdGVtcGxhdGUgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2JsZW5kZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2JsZW5kZXIvdGVtcGxh dGUKaW5kZXggNjg3ODdiNzZhMjZjMTguLmUyZTA5MGU2ZGZhNDFjIDEwMDY0NAotLS0gYS9zcmNw a2dzL2JsZW5kZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9ibGVuZGVyL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYmxlbmRlcicKIHBrZ25hbWU9YmxlbmRl cgogdmVyc2lvbj00LjAuMgotcmV2aXNpb249MgorcmV2aXNpb249MwogYXJjaHM9Ing4Nl82NCog cHBjNjQqIgogYnVpbGRfc3R5bGU9ImNtYWtlIgogcHljb21waWxlX2RpcnM9InVzci9zaGFyZS9i bGVuZGVyLyR7dmVyc2lvbiUuKn0vc2NyaXB0cyIKCkZyb20gYTI0YzA2MzczNGVjMzFhNTUzYjJi NDZhNThjMGYwMDdjODIxZGY3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2Ug PHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NiAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMDE4LzEwOV0gY2FudGF0YTogcmV2YnVtcCBmb3IgZmZtcGVnNgoK LS0tCiBzcmNwa2dzL2NhbnRhdGEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbnRhdGEv dGVtcGxhdGUgYi9zcmNwa2dzL2NhbnRhdGEvdGVtcGxhdGUKaW5kZXggNGI0MTdkODBkNWMyZGEu LjhhOTBhYWE0YzA3YTJhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2NhbnRhdGEvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9jYW50YXRhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnY2FudGF0YScKIHBrZ25hbWU9Y2FudGF0YQogdmVyc2lvbj0yLjUuMAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtn LWNvbmZpZyBxdDUtcW1ha2UgcXQ1LWhvc3QtdG9vbHMgcXQ1LXRvb2xzIgogbWFrZWRlcGVuZHM9 InF0NS1kZXZlbCBxdDUtdG9vbHMtZGV2ZWwgcXQ1LXN2Zy1kZXZlbCBxdDUteG1scGF0dGVybnMt ZGV2ZWwKCkZyb20gNDFjNThiY2NiMmU0OGQ1ZmI1NzJhMDg1YzRlOWMxMWVmMWE5OTVhOCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDE5LzEw OV0gY2NleHRyYWN0b3I6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogLi4uNS1hbmQtdGVzc2Vy 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 dGUKaW5kZXggODQwNTlmZmQwMjM5OGEuLmE2NzA3NThiY2JlNDFiIDEwMDY0NAotLS0gYS9zcmNw a2dzL2NjZXh0cmFjdG9yL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2NleHRyYWN0b3IvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjY2V4dHJhY3RvcicKIHBr Z25hbWU9Y2NleHRyYWN0b3IKIHZlcnNpb249MC45MwotcmV2aXNpb249MgorcmV2aXNpb249Mwog YnVpbGRfd3Jrc3JjPSJsaW51eCIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3Vy ZV9hcmdzPSItLWVuYWJsZS1vY3IgLS1lbmFibGUtaGFyZHN1YngiCgpGcm9tIGM2MTg4MThmODQy ZDlmZTJkYzNmZjRjOGQxOGY0MDQ4Mzk3YzhmN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6 MDE6NDYgLTA0MDAKU3ViamVjdDogW1BBVENIIDAyMC8xMDldIGNocm9tYXByaW50OiByZXZidW1w 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 IDVkOTRlMGQ3YjEyOWVlMmYyOTBlZjUwNjg5YmVjMDE2MDU2MGZhZWUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIg TWFyIDIwMjMgMjA6MDE6NDYgLTA0MDAKU3ViamVjdDogW1BBVENIIDAyMS8xMDldIGNocm9taXVt 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 c3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQppbmRleCBmM2FkODgyMmRhMzQzNS4uN2UwYTk5MDFk NTg3YzcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9jaHJvbWl1bS90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKIHBrZ25hbWU9Y2hyb21pdW0KICMg U2VlIGh0dHBzOi8vY2hyb21pdW1kYXNoLmFwcHNwb3QuY29tL3JlbGVhc2VzP3BsYXRmb3JtPUxp bnV4IGZvciB0aGUgbGF0ZXN0IHZlcnNpb24KIHZlcnNpb249MTI1LjAuNjQyMi42MAotcmV2aXNp b249MQorcmV2aXNpb249MgogYXJjaHM9Imk2ODYqIHg4Nl82NCogYWFyY2g2NCogYXJtdjdsKiIK IGhvc3RtYWtlZGVwZW5kcz0iCiAgJCh2b3B0X2lmIGNsYW5nICJjbGFuZzE3IGxsZDE3IGxsdm0x NyBjb21waWxlci1ydCIpCgpGcm9tIDYyMzc2Yzg5NjJhOWExYTdhNzEyZmZlM2I2MThhNTFhZmI2 ZGQ0M2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFp bC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDYgLTA0MDAKU3ViamVjdDogW1BB VENIIDAyMi8xMDldIGNtdXM6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9jaHJv 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 ZWZpeD0vdXNyIExEPSRDQyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gMjYz NDZmNGU0OWNlYWUwOTA2YTQwMjQwNWE1ZTFhNTE3M2Q4MjM3YyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIg MjAyMyAyMDowMTo0NiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDIzLzEwOV0gY3lhbnJpcDogcmV2 YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2N5YW5yaXAvdGVtcGxhdGUgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2N5YW5yaXAvdGVtcGxhdGUgYi9zcmNwa2dzL2N5YW5yaXAvdGVtcGxhdGUKaW5k ZXggOTc5NmUzNDYxNjAxYTcuLjVkYjMwZTAyMGQxN2VlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2N5 YW5yaXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jeWFucmlwL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3lhbnJpcCcKIHBrZ25hbWU9Y3lhbnJpcAogdmVy c2lvbj0wLjkuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24KIGhv c3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJmZm1wZWctZGV2ZWwgbGli Y2Rpby1kZXZlbCBsaWJjZGlvLXBhcmFub2lhLWRldmVsIGxpYmN1cmwtZGV2ZWwgbGlibXVzaWNi cmFpbno1LWRldmVsIgoKRnJvbSA4NTM1NWI4NDI4OTMxZTcwZDlhYWY5YzkwMGM4Mzc5MjFkYWM4 NjVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRD SCAwMjQvMTA5XSBkZWFkYmVlZjogcmV2YnVtcCBmb3IgZmZtcGVnNAoKLS0tCiBzcmNwa2dzL2Rl YWRiZWVmL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGVhZGJlZWYvdGVtcGxhdGUg Yi9zcmNwa2dzL2RlYWRiZWVmL3RlbXBsYXRlCmluZGV4IGY1ZjRiZjI0YjhjYjZkLi43YjQ3ZTYx NWNkNDhlZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9kZWFkYmVlZi90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2RlYWRiZWVmL3RlbXBsYXRlCkBAIC0xLDE0ICsxLDE0IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdkZWFkYmVlZicKIHBrZ25hbWU9ZGVhZGJlZWYKIHZlcnNpb249MS44LjgKLXJldmlzaW9u PTMKK3JldmlzaW9uPTQKIGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF9zdHlsZT1nbnUtY29uZmln dXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLW9zcyAtLWRpc2FibGUtbGZtIC0tZGlzYWJs ZS1ub3RpZnkgLS1kaXNhYmxlLWd0azIiCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGxpYnRv b2wgZ2V0dGV4dCBnZXR0ZXh0LWRldmVsIGludGx0b29sIHBrZy1jb25maWcKICB5YXNtIGNsYW5n IGdsaWItZGV2ZWwiCiBtYWtlZGVwZW5kcz0iCi0gYWxzYS1saWItZGV2ZWwgZGJ1cy1kZXZlbCBm YWFkMi1kZXZlbCBmZm1wZWctZGV2ZWwgZ3RrKzMtZGV2ZWwgaW1saWIyLWRldmVsCisgYWxzYS1s aWItZGV2ZWwgZGJ1cy1kZXZlbCBmYWFkMi1kZXZlbCBmZm1wZWc0LWRldmVsIGd0ayszLWRldmVs IGltbGliMi1kZXZlbAogIGphbnNzb24tZGV2ZWwgbGliY2RkYi1kZXZlbCBsaWJjZGlvLWRldmVs IGxpYmN1cmwtZGV2ZWwgbGliZmxhYy1kZXZlbAogIGxpYm1hZC1kZXZlbCBsaWJwbmctZGV2ZWwg bGlic2FtcGxlcmF0ZS1kZXZlbCBsaWJzbmRmaWxlLWRldmVsIGxpYnZvcmJpcy1kZXZlbAogIGxp YnppcC1kZXZlbCBtcGcxMjMtZGV2ZWwgb3B1c2ZpbGUtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbCB3 YXZwYWNrLWRldmVsIgoKRnJvbSAyZTVlOTU4ZjMzMjAyMGE1NDlmM2IzMjE4MTBhYWQzY2I5ODcw MGRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRD SCAwMjUvMTA5XSBkcm9pZGNhbS1vYnMtcGx1Z2luOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0K IHNyY3BrZ3MvZHJvaWRjYW0tb2JzLXBsdWdpbi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv ZHJvaWRjYW0tb2JzLXBsdWdpbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvZHJvaWRjYW0tb2JzLXBsdWdp bi90ZW1wbGF0ZQppbmRleCA5ZGM2NjQ4ZWZlOTRhZC4uOTNhNzJhZGYzZDNjMzAgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZHJvaWRjYW0tb2JzLXBsdWdpbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Ry b2lkY2FtLW9icy1wbHVnaW4vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdkcm9pZGNhbS1vYnMtcGx1Z2luJwogcGtnbmFtZT1kcm9pZGNhbS1vYnMtcGx1Z2lu CiB2ZXJzaW9uPTIuMy4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUt bWFrZWZpbGUKIG1ha2VfdXNlX2Vudj15ZXMKIG1ha2VfYnVpbGRfYXJncz0iQUxMT1dfU1RBVElD PW5vIgoKRnJvbSBhNWFmNGE4ZjI2MjkyMWUwYWIxYjk0NTU0YTJlNjkyNjgwMWNhZGEwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRl OiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMjYvMTA5 XSBkcm9pZGNhbTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2Ryb2lkY2FtL3Rl bXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9kcm9pZGNhbS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZHJv aWRjYW0vdGVtcGxhdGUKaW5kZXggMWMzZjFiOGIxZmM2NzYuLjMyYTkyMjBiNzlhNGQxIDEwMDY0 NAotLS0gYS9zcmNwa2dzL2Ryb2lkY2FtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZHJvaWRjYW0v dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdkcm9pZGNhbScK IHBrZ25hbWU9ZHJvaWRjYW0KIHZlcnNpb249MS44LjIKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMK IGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogbWFrZV9idWlsZF9hcmdzPSJVU0JNVVhEPS1sdXNi bXV4ZC0yLjAgSlBFRz0tbHR1cmJvanBlZyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIK CkZyb20gY2U2ODEzZTYxY2Y1YzRiOWQ5M2VkODI1Y2QwMmY1ODc1OTYxZmFmZCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2Vk LCAyMiBNYXIgMjAyMyAyMDowMTo0NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDI3LzEwOV0gZmZt cGVndGh1bWJuYWlsZXI6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogLi4uL2ZmbXBlZ3RodW1i bmFpbGVyL3BhdGNoZXMvZmZtcGVnNi5wYXRjaCAgIHwgMjAyICsrKysrKysrKysrKysrKysrKwog c3JjcGtncy9mZm1wZWd0aHVtYm5haWxlci90ZW1wbGF0ZSAgICAgICAgICAgIHwgICA2ICstCiAy IGZpbGVzIGNoYW5nZWQsIDIwNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmZtcGVndGh1bWJuYWlsZXIvcGF0Y2hlcy9mZm1wZWc2LnBh dGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1wZWd0aHVtYm5haWxlci9wYXRjaGVzL2ZmbXBl ZzYucGF0Y2ggYi9zcmNwa2dzL2ZmbXBlZ3RodW1ibmFpbGVyL3BhdGNoZXMvZmZtcGVnNi5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uMzYzZmYzNWEyODQx OWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZmbXBlZ3RodW1ibmFpbGVyL3BhdGNoZXMv ZmZtcGVnNi5wYXRjaApAQCAtMCwwICsxLDIwMiBAQAorLS0tIGEvbGliZmZtcGVndGh1bWJuYWls ZXIvbW92aWVkZWNvZGVyLmNwcAkyMDE3LTExLTIxIDE0OjA2OjU3LjAwMDAwMDAwMCAtMDUwMAor KysrIGIvbGliZmZtcGVndGh1bWJuYWlsZXIvbW92aWVkZWNvZGVyLmNwcAkyMDIzLTA1LTA1IDEz OjE0OjQ3Ljk0NjU2MDY2OCAtMDQwMAorQEAgLTQxLDExICs0MSw2IEBACisgbmFtZXNwYWNlIGZm bXBlZ3RodW1ibmFpbGVyCisgeworIAorLXN0cnVjdCBTaWxlbmNlTG9nTGV2ZWwKKy17CistICAg IFNpbGVuY2VMb2dMZXZlbCgpIHsgYXZfbG9nX3NldF9sZXZlbChBVl9MT0dfUVVJRVQpOyB9Cist fTsKKy0KKyBNb3ZpZURlY29kZXI6Ok1vdmllRGVjb2RlcihBVkZvcm1hdENvbnRleHQqIHBhdkNv bnRleHQpCisgOiBtX1ZpZGVvU3RyZWFtKC0xKQorICwgbV9wRm9ybWF0Q29udGV4dChwYXZDb250 ZXh0KQorQEAgLTcwLDggKzY1LDYgQEAKKyAKKyB2b2lkIE1vdmllRGVjb2Rlcjo6aW5pdGlhbGl6 ZShjb25zdCBzdHJpbmcmIGZpbGVuYW1lLCBib29sIHByZWZlckVtYmVkZGVkTWV0YWRhdGEpCisg eworLSAgICBhdl9yZWdpc3Rlcl9hbGwoKTsKKy0gICAgYXZjb2RlY19yZWdpc3Rlcl9hbGwoKTsK KyAgICAgYXZmb3JtYXRfbmV0d29ya19pbml0KCk7CisgCisgICAgIHN0cmluZyBpbnB1dEZpbGUg PSBmaWxlbmFtZSA9PSAiLSIgPyAicGlwZToiIDogZmlsZW5hbWU7CitAQCAtOTcsOCArOTAsNyBA QAorIHsKKyAgICAgaWYgKG1fcFZpZGVvQ29kZWNDb250ZXh0KQorICAgICB7CistICAgICAgICBh dmNvZGVjX2Nsb3NlKG1fcFZpZGVvQ29kZWNDb250ZXh0KTsKKy0gICAgICAgIG1fcFZpZGVvQ29k ZWNDb250ZXh0ID0gbnVsbHB0cjsKKysgICAgICAgIGF2Y29kZWNfZnJlZV9jb250ZXh0KCZtX3BW aWRlb0NvZGVjQ29udGV4dCk7CisgICAgIH0KKyAKKyAgICAgaWYgKCghbV9Gb3JtYXRDb250ZXh0 V2FzR2l2ZW4pICYmIG1fcEZvcm1hdENvbnRleHQpCitAQCAtMTUyLDEwICsxNDQsMTAgQEAKKyAg ICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBtX3BGb3JtYXRDb250ZXh0LT5uYl9zdHJl YW1zOyArK2kpCisgICAgIHsKKyAgICAgICAgIEFWU3RyZWFtICpzdHJlYW0gPSBtX3BGb3JtYXRD b250ZXh0LT5zdHJlYW1zW2ldOworLSAgICAgICAgYXV0byBjdHggPSBtX3BGb3JtYXRDb250ZXh0 LT5zdHJlYW1zW2ldLT5jb2RlYzsKKy0gICAgICAgIGlmIChjdHgtPmNvZGVjX3R5cGUgPT0gQVZN RURJQV9UWVBFX1ZJREVPKQorKyAgICAgICAgYXV0byBwYXIgPSBtX3BGb3JtYXRDb250ZXh0LT5z dHJlYW1zW2ldLT5jb2RlY3BhcjsKKysgICAgICAgIGlmIChwYXItPmNvZGVjX3R5cGUgPT0gQVZN RURJQV9UWVBFX1ZJREVPKQorICAgICAgICAgeworLSAgICAgICAgICAgIGlmICghcHJlZmVyRW1i ZWRkZWRNZXRhZGF0YSB8fCAhaXNTdGlsbEltYWdlQ29kZWMoY3R4LT5jb2RlY19pZCkpCisrICAg ICAgICAgICAgaWYgKCFwcmVmZXJFbWJlZGRlZE1ldGFkYXRhIHx8ICFpc1N0aWxsSW1hZ2VDb2Rl YyhwYXItPmNvZGVjX2lkKSkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIHZpZGVv U3RyZWFtcy5wdXNoX2JhY2soaSk7CisgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworQEAgLTIw Myw4ICsxOTUsNyBAQAorICAgICB9CisgCisgICAgIG1fcFZpZGVvU3RyZWFtID0gbV9wRm9ybWF0 Q29udGV4dC0+c3RyZWFtc1ttX1ZpZGVvU3RyZWFtXTsKKy0gICAgbV9wVmlkZW9Db2RlY0NvbnRl eHQgPSBtX3BWaWRlb1N0cmVhbS0+Y29kZWM7CistICAgIG1fcFZpZGVvQ29kZWMgPSBhdmNvZGVj X2ZpbmRfZGVjb2RlcihtX3BWaWRlb0NvZGVjQ29udGV4dC0+Y29kZWNfaWQpOworKyAgICBtX3BW aWRlb0NvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIobV9wVmlkZW9TdHJlYW0tPmNvZGVjcGFy LT5jb2RlY19pZCk7CisgCisgICAgIGlmIChtX3BWaWRlb0NvZGVjID09IG51bGxwdHIpCisgICAg IHsKK0BAIC0yMTQsNiArMjA1LDIwIEBACisgICAgICAgICB0aHJvdyBsb2dpY19lcnJvcigiVmlk ZW8gQ29kZWMgbm90IGZvdW5kIik7CisgICAgIH0KKyAKKysgICAgbV9wVmlkZW9Db2RlY0NvbnRl eHQgPSBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKG1fcFZpZGVvQ29kZWMpOworKworKyAgICBpZiAo bV9wVmlkZW9Db2RlY0NvbnRleHQgPT0gbnVsbHB0cikKKysgICAgeworKyAgICAgICAgZGVzdHJv eSgpOworKyAgICAgICAgdGhyb3cgbG9naWNfZXJyb3IoIkNvdWxkIG5vdCBhbGxvY2F0ZSB2aWRl byBjb2RlYyBjb250ZXh0Iik7CisrICAgIH0KKysKKysgICAgaWYgKGF2Y29kZWNfcGFyYW1ldGVy c190b19jb250ZXh0KG1fcFZpZGVvQ29kZWNDb250ZXh0LCBtX3BWaWRlb1N0cmVhbS0+Y29kZWNw YXIpIDwgMCkKKysgICAgeworKyAgICAgICAgZGVzdHJveSgpOworKyAgICAgICAgdGhyb3cgbG9n aWNfZXJyb3IoIkNvdWxkIG5vdCBjb25maWd1cmUgdmlkZW8gY29kZWMgY29udGV4dCIpOworKyAg ICB9CisrCisgICAgIG1fcFZpZGVvQ29kZWNDb250ZXh0LT53b3JrYXJvdW5kX2J1Z3MgPSAxOwor IAorICAgICBpZiAoYXZjb2RlY19vcGVuMihtX3BWaWRlb0NvZGVjQ29udGV4dCwgbV9wVmlkZW9D b2RlYywgbnVsbHB0cikgPCAwKQorQEAgLTM4NiwxMyArMzkxLDYgQEAKKyAKKyB2b2lkIE1vdmll RGVjb2Rlcjo6aW5pdGlhbGl6ZUZpbHRlckdyYXBoKGNvbnN0IEFWUmF0aW9uYWwmIHRpbWVCYXNl LCBjb25zdCBzdGQ6OnN0cmluZyYgc2l6ZSwgYm9vbCBtYWludGFpbkFzcGVjdFJhdGlvKQorIHsK Ky0gICAgc3RhdGljIGNvbnN0IEFWUGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXRzW10gPSB7IEFWX1BJ WF9GTVRfUkdCMjQsIEFWX1BJWF9GTVRfTk9ORSB9OworLQorLSAgICBhdXRvIGRlbCA9IFtdIChB VkJ1ZmZlclNpbmtQYXJhbXMqIHApIHsgYXZfZnJlZXAocCk7IH07CistICAgIHN0ZDo6dW5pcXVl X3B0cjxBVkJ1ZmZlclNpbmtQYXJhbXMsIGRlY2x0eXBlKGRlbCk+IGJ1ZmZlcnNpbmtQYXJhbXMo YXZfYnVmZmVyc2lua19wYXJhbXNfYWxsb2MoKSwgZGVsKTsKKy0KKy0gICAgYXZmaWx0ZXJfcmVn aXN0ZXJfYWxsKCk7CistCisgICAgIG1fcEZpbHRlckdyYXBoID0gYXZmaWx0ZXJfZ3JhcGhfYWxs b2MoKTsKKyAgICAgYXNzZXJ0KG1fcEZpbHRlckdyYXBoKTsKKyAKK0BAIC00MDQsMTAgKzQwMiw4 IEBACisgCisgICAgIGNoZWNrUmMoYXZmaWx0ZXJfZ3JhcGhfY3JlYXRlX2ZpbHRlcigmbV9wRmls dGVyU291cmNlLCBhdmZpbHRlcl9nZXRfYnlfbmFtZSgiYnVmZmVyIiksICJ0aHVtYl9idWZmZXIi LCBzcy5zdHIoKS5jX3N0cigpLCBudWxscHRyLCBtX3BGaWx0ZXJHcmFwaCksCisgICAgICAgICAg ICAgIkZhaWxlZCB0byBjcmVhdGUgZmlsdGVyIHNvdXJjZSIpOworLSAgICBidWZmZXJzaW5rUGFy YW1zLT5waXhlbF9mbXRzID0gcGl4ZWxGb3JtYXRzOworLSAgICBjaGVja1JjKGF2ZmlsdGVyX2dy YXBoX2NyZWF0ZV9maWx0ZXIoJm1fcEZpbHRlclNpbmssIGF2ZmlsdGVyX2dldF9ieV9uYW1lKCJi dWZmZXJzaW5rIiksICJ0aHVtYl9idWZmZXJzaW5rIiwgbnVsbHB0ciwgYnVmZmVyc2lua1BhcmFt cy5nZXQoKSwgbV9wRmlsdGVyR3JhcGgpLAorKyAgICBjaGVja1JjKGF2ZmlsdGVyX2dyYXBoX2Ny ZWF0ZV9maWx0ZXIoJm1fcEZpbHRlclNpbmssIGF2ZmlsdGVyX2dldF9ieV9uYW1lKCJidWZmZXJz aW5rIiksICJ0aHVtYl9idWZmZXJzaW5rIiwgbnVsbHB0ciwgbnVsbHB0ciwgbV9wRmlsdGVyR3Jh cGgpLAorICAgICAgICAgICAgICJGYWlsZWQgdG8gY3JlYXRlIGZpbHRlciBzaW5rIik7CistICAg IGJ1ZmZlcnNpbmtQYXJhbXMucmVsZWFzZSgpOworIAorICAgICBBVkZpbHRlckNvbnRleHQqIHlh ZGlmRmlsdGVyID0gbnVsbHB0cjsKKyAgICAgaWYgKG1fcEZyYW1lLT5pbnRlcmxhY2VkX2ZyYW1l ICE9IDApCitAQCAtNTAwLDE1ICs0OTYsMTUgQEAKKyAgICAgfQorIAorICAgICBjaGVja1JjKGF2 X3NlZWtfZnJhbWUobV9wRm9ybWF0Q29udGV4dCwgLTEsIHRpbWVzdGFtcCwgMCksICJTZWVraW5n IGluIHZpZGVvIGZhaWxlZCIpOworLSAgICBhdmNvZGVjX2ZsdXNoX2J1ZmZlcnMobV9wRm9ybWF0 Q29udGV4dC0+c3RyZWFtc1ttX1ZpZGVvU3RyZWFtXS0+Y29kZWMpOworKyAgICBhdmNvZGVjX2Zs dXNoX2J1ZmZlcnMobV9wVmlkZW9Db2RlY0NvbnRleHQpOworIAorICAgICBpbnQga2V5RnJhbWVB dHRlbXB0cyA9IDA7CistICAgIGJvb2wgZ290RnJhbWUgPSAwOworKyAgICBib29sIGdvdEZyYW1l OworIAorICAgICBkbworICAgICB7CisgICAgICAgICBpbnQgY291bnQgPSAwOworLSAgICAgICAg Z290RnJhbWUgPSAwOworKyAgICAgICAgZ290RnJhbWUgPSBmYWxzZTsKKyAKKyAgICAgICAgIHdo aWxlICghZ290RnJhbWUgJiYgY291bnQgPCAyMCkKKyAgICAgICAgIHsKK0BAIC01NTIsMTcgKzU0 OCwzMyBAQAorICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICB9CisgCistICAgIGF2X2ZyYW1l X3VucmVmKG1fcEZyYW1lKTsKKy0KKy0gICAgaW50IGZyYW1lRmluaXNoZWQ7CisrICAgIGludCBy YyA9IGF2Y29kZWNfc2VuZF9wYWNrZXQobV9wVmlkZW9Db2RlY0NvbnRleHQsIG1fcFBhY2tldCk7 CisrICAgIGlmKHJjID09IEFWRVJST1IoRUFHQUlOKSkKKysgICAgeworKyAgICAgICAgcmMgPSAw OworKyAgICB9CisgCistICAgIGludCBieXRlc0RlY29kZWQgPSBhdmNvZGVjX2RlY29kZV92aWRl bzIobV9wVmlkZW9Db2RlY0NvbnRleHQsIG1fcEZyYW1lLCAmZnJhbWVGaW5pc2hlZCwgbV9wUGFj a2V0KTsKKy0gICAgaWYgKGJ5dGVzRGVjb2RlZCA8IDApCisrICAgIGlmKHJjID09IEFWRVJST1Jf RU9GKQorKyAgICB7CisrICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgIH0KKysgICAgZWxzZSBp ZihyYyA8IDApCisgICAgIHsKKy0gICAgICAgIHRocm93IGxvZ2ljX2Vycm9yKCJGYWlsZWQgdG8g ZGVjb2RlIHZpZGVvIGZyYW1lOiBieXRlc0RlY29kZWQgPCAwIik7CisrICAgICAgICB0aHJvdyBs b2dpY19lcnJvcigiRmFpbGVkIHRvIGRlY29kZSB2aWRlbyBmcmFtZTogYXZjb2RlY19zZW5kX3Bh Y2tldCgpIDwgMCIpOworICAgICB9CisgCistICAgIHJldHVybiBmcmFtZUZpbmlzaGVkID4gMDsK KysgICAgcmMgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUobV9wVmlkZW9Db2RlY0NvbnRleHQsIG1f cEZyYW1lKTsKKysgICAgc3dpdGNoKHJjKQorKyAgICB7CisrICAgICAgICBjYXNlIDA6CisrICAg ICAgICAgICAgcmV0dXJuIHRydWU7CisrCisrICAgICAgICBjYXNlIEFWRVJST1IoRUFHQUlOKToK KysgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisrCisrICAgICAgICBkZWZhdWx0OgorKyAgICAg ICAgICAgIHRocm93IGxvZ2ljX2Vycm9yKCJGYWlsZWQgdG8gZGVjb2RlIHZpZGVvIGZyYW1lOiBh dmNvZGVjX3JlY2VpdmVfZnJhbWUoKSA8IDAiKTsKKysgICAgfQorIH0KKyAKKyBib29sIE1vdmll RGVjb2Rlcjo6Z2V0VmlkZW9QYWNrZXQoKQorQEAgLTU3MCw4ICs1ODIsNiBAQAorICAgICBib29s IGZyYW1lc0F2YWlsYWJsZSA9IHRydWU7CisgICAgIGJvb2wgZnJhbWVEZWNvZGVkID0gZmFsc2U7 CisgCistICAgIGludCBhdHRlbXB0cyA9IDA7CistCisgICAgIGlmIChtX3BQYWNrZXQpCisgICAg IHsKKyAgICAgICAgIGF2X3BhY2tldF91bnJlZihtX3BQYWNrZXQpOworQEAgLTU4MCw2ICs1OTAs NyBAQAorIAorICAgICBtX3BQYWNrZXQgPSBuZXcgQVZQYWNrZXQoKTsKKyAKKysKKyAgICAgd2hp bGUgKGZyYW1lc0F2YWlsYWJsZSAmJiAhZnJhbWVEZWNvZGVkKQorICAgICB7CisgICAgICAgICBm cmFtZXNBdmFpbGFibGUgPSBhdl9yZWFkX2ZyYW1lKG1fcEZvcm1hdENvbnRleHQsIG1fcFBhY2tl dCkgPj0gMDsKK0BAIC02NDQsNyArNjU1LDcgQEAKKyAKKyBpbnQzMl90IE1vdmllRGVjb2Rlcjo6 Z2V0U3RyZWFtUm90YXRpb24oKQorIHsKKy0gICAgaW50MzJfdCogbWF0cml4ID0gcmVpbnRlcnBy ZXRfY2FzdDxpbnQzMl90Kj4oYXZfc3RyZWFtX2dldF9zaWRlX2RhdGEobV9wVmlkZW9TdHJlYW0s IEFWX1BLVF9EQVRBX0RJU1BMQVlNQVRSSVgsIG51bGxwdHIpKTsKKysgICAgYXV0byBtYXRyaXgg PSByZWludGVycHJldF9jYXN0PGludDMyX3QqPihhdl9zdHJlYW1fZ2V0X3NpZGVfZGF0YShtX3BW aWRlb1N0cmVhbSwgQVZfUEtUX0RBVEFfRElTUExBWU1BVFJJWCwgbnVsbHB0cikpOworICAgICBp ZiAobWF0cml4KQorICAgICB7CisgICAgICAgICBhdXRvIGFuZ2xlID0gbHJvdW5kKGF2X2Rpc3Bs YXlfcm90YXRpb25fZ2V0KG1hdHJpeCkpOworCistLS0gYS9saWJmZm1wZWd0aHVtYm5haWxlci9t b3ZpZWRlY29kZXIuaAkyMDE3LTExLTEyIDA0OjIzOjM4LjAwMDAwMDAwMCAtMDUwMAorKysrIGIv bGliZmZtcGVndGh1bWJuYWlsZXIvbW92aWVkZWNvZGVyLmgJMjAyMy0wNS0wNSAxMzoyNjowNy4w OTU1Mjk5MTEgLTA0MDAKK0BAIC03OCw3ICs3OCw3IEBACisgICAgIGludCAgICAgICAgICAgICAg ICAgICAgIG1fVmlkZW9TdHJlYW07DQorICAgICBBVkZvcm1hdENvbnRleHQqICAgICAgICBtX3BG b3JtYXRDb250ZXh0Ow0KKyAgICAgQVZDb2RlY0NvbnRleHQqICAgICAgICAgbV9wVmlkZW9Db2Rl Y0NvbnRleHQ7DQorLSAgICBBVkNvZGVjKiAgICAgICAgICAgICAgICBtX3BWaWRlb0NvZGVjOw0K KysgICAgY29uc3QgQVZDb2RlYyogICAgICAgICAgbV9wVmlkZW9Db2RlYzsNCisgICAgIEFWRmls dGVyR3JhcGgqICAgICAgICAgIG1fcEZpbHRlckdyYXBoOw0KKyAgICAgQVZGaWx0ZXJDb250ZXh0 KiAgICAgICAgbV9wRmlsdGVyU291cmNlOw0KKyAgICAgQVZGaWx0ZXJDb250ZXh0KiAgICAgICAg bV9wRmlsdGVyU2luazsNCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZ3RodW1ibmFpbGVyL3Rl bXBsYXRlIGIvc3JjcGtncy9mZm1wZWd0aHVtYm5haWxlci90ZW1wbGF0ZQppbmRleCAwMzllZWE3 NjIyYjM5MS4uMzVkNTQ2MDE4ZDEyYWYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmZtcGVndGh1bWJu YWlsZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9mZm1wZWd0aHVtYm5haWxlci90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZmbXBlZ3RodW1ibmFpbGVyJwog cGtnbmFtZT1mZm1wZWd0aHVtYm5haWxlcgogdmVyc2lvbj0yLjIuMgotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIK IG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbCBmZm1wZWctZGV2 ZWwiCkBAIC05LDggKzksOCBAQCBkZXBlbmRzPSJmZm1wZWciCiBzaG9ydF9kZXNjPSJMaWdodHdl aWdodCB2aWRlbyB0aHVtYm5haWxlciIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9p ZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgotaG9tZXBhZ2U9Imh0dHBz Oi8vZ2l0aHViLmNvbS9kaXJrdmRiLyR7cGtnbmFtZX0iCi1kaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9 L3JlbGVhc2VzL2Rvd25sb2FkLyR7dmVyc2lvbn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci5i ejIiCitob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2Rpcmt2ZGIiCitkaXN0ZmlsZXM9IiR7 aG9tZXBhZ2V9LyR7cGtnbmFtZX0vcmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJzaW9ufS8ke3BrZ25h bWV9LSR7dmVyc2lvbn0udGFyLmJ6MiIKIGNoZWNrc3VtPTFjYjI0MDU5YzM4MjIzZjY1N2IzMDBj ODRkZDgwNDkxYjcwNDBkNGI2OTQ3MWM0ZmVhNjliZTg2MmJjOTliNWIKIAogcG9zdF9pbnN0YWxs KCkgewoKRnJvbSBlMGUxNTI4MjVmMjBkNzIwNjc3ODQ5ODc2Mzc1MjhjNjU4Nzg5ZmMxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRl OiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMjgvMTA5 XSBmZm1wZWd0aHVtYnM6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9mZm1wZWd0 aHVtYnMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZmbXBlZ3RodW1icy90ZW1wbGF0ZSBi L3NyY3BrZ3MvZmZtcGVndGh1bWJzL3RlbXBsYXRlCmluZGV4IGMyNmIyNjI3YjVhMGUzLi43YjNm ZDI2MjM3MWRiYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9mZm1wZWd0aHVtYnMvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9mZm1wZWd0aHVtYnMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdmZm1wZWd0aHVtYnMnCiBwa2duYW1lPWZmbXBlZ3RodW1icwogdmVyc2lv bj0yNC4wMi4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29u ZmlndXJlX2FyZ3M9Ii1EUVRfTUFKT1JfVkVSU0lPTj02IC1ES0Y2X0hPU1RfVE9PTElORz0vdXNy L2xpYi9jbWFrZQogIC1ES0RFX0lOU1RBTExfUVRQTFVHSU5ESVI9bGliL3F0Ni9wbHVnaW5zIgoK RnJvbSA0YTI0NTk2OWVhYjc5MmMzMTc5MzQzOTdkZDA3MTlmYWFmM2VlY2ViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQs IDIyIE1hciAyMDIzIDIwOjAxOjQ3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMjkvMTA5XSBmZm1z MjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2ZmbXMyL3BhdGNoZXMvZmZtcGVn NS5wYXRjaCB8IDQyNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2ZmbXMy L3RlbXBsYXRlICAgICAgICAgICAgICB8ICAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCA0MjUgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmZt czIvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mZm1zMi9wYXRj aGVzL2ZmbXBlZzUucGF0Y2ggYi9zcmNwa2dzL2ZmbXMyL3BhdGNoZXMvZmZtcGVnNS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uMTQ3OWZhYmNhZmNiNGUK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZmbXMyL3BhdGNoZXMvZmZtcGVnNS5wYXRjaApA QCAtMCwwICsxLDQyNCBAQAorRnJvbSA0NTY3MzE0OWU5YTJmNTU4Njg1NWFkNDcyZTMwNTkwODRl YWEzNmIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGVyZWsgQnVpdGVuaHVpcyA8 ZGVyZWsuYnVpdGVuaHVpc0BnbWFpbC5jb20+CitEYXRlOiBUdWUsIDQgTWF5IDIwMjEgMTQ6NDE6 MjEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIGF1dG8gZm9yIEFWQ29kZWMKKworVGhlIGdl bml1c2VzIG92ZXIgYXQgRkZtcGVnIGRlY2lkZWQgdG8gY29uc3RpZnkgdGhpcyBBUEksIHNvIG9s ZAordmVyc2lvbnMgb2YgdGhlIGxpYnJhcnkgd2lsbCByZXR1cm4gQVZDb2RlYyAqLCB3aGlsZSBu ZXcgdmVyc2lvbnMKK29mIHRoZSBsaWJhcnkgd2lsbCByZXR1cm4gY29uc3QgQVZDb2RlYyAqLCB3 aGljaCwgaW4gQysrLCBhcmUgbm90CitPSyB0byBjb252ZXJ0IGJldHdlZW4uCisKK1JhdGhlciB0 aGFuIHVzZSBzb21lIG1hY3JvIGhlbGwgaW4gZmZtc2NvbXBhdC5oLCB3ZSBjYW4gd29yayBhcm91 bmQKK3RoaXMgYnkgdXNpbmcgYXV0by4KKworR3Jvc3MuCisKK1NpZ25lZC1vZmYtYnk6IERlcmVr IEJ1aXRlbmh1aXMgPGRlcmVrLmJ1aXRlbmh1aXNAZ21haWwuY29tPgorLS0tCisgc3JjL2NvcmUv YXVkaW9zb3VyY2UuY3BwIHwgMiArLQorIHNyYy9jb3JlL2luZGV4aW5nLmNwcCAgICB8IDYgKysr LS0tCisgc3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwg NSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUv YXVkaW9zb3VyY2UuY3BwIGIvc3JjL2NvcmUvYXVkaW9zb3VyY2UuY3BwCitpbmRleCBlNGNlOTdj Li5hYzA5NjY2IDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvYXVkaW9zb3VyY2UuY3BwCisrKysgYi9z cmMvY29yZS9hdWRpb3NvdXJjZS5jcHAKK0BAIC00NjksNyArNDY5LDcgQEAgdm9pZCBGRk1TX0F1 ZGlvU291cmNlOjpPcGVuRmlsZSgpIHsKKyAKKyAgICAgTEFWRk9wZW5GaWxlKFNvdXJjZUZpbGUu Y19zdHIoKSwgRm9ybWF0Q29udGV4dCwgVHJhY2tOdW1iZXIpOworIAorLSAgICBBVkNvZGVjICpD b2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbVHJhY2tO dW1iZXJdLT5jb2RlY3Bhci0+Y29kZWNfaWQpOworKyAgICBhdXRvICpDb2RlYyA9IGF2Y29kZWNf ZmluZF9kZWNvZGVyKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbVHJhY2tOdW1iZXJdLT5jb2RlY3Bh ci0+Y29kZWNfaWQpOworICAgICBpZiAoQ29kZWMgPT0gbnVsbHB0cikKKyAgICAgICAgIHRocm93 IEZGTVNfRXhjZXB0aW9uKEZGTVNfRVJST1JfREVDT0RJTkcsIEZGTVNfRVJST1JfQ09ERUMsCisg ICAgICAgICAgICAgIkF1ZGlvIGNvZGVjIG5vdCBmb3VuZCIpOworZGlmZiAtLWdpdCBhL3NyYy9j b3JlL2luZGV4aW5nLmNwcCBiL3NyYy9jb3JlL2luZGV4aW5nLmNwcAoraW5kZXggZTU0N2M1YS4u NTlmYjRlOCAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL2luZGV4aW5nLmNwcAorKysrIGIvc3JjL2Nv cmUvaW5kZXhpbmcuY3BwCitAQCAtMzg0LDcgKzM4NCw3IEBAIEZGTVNfVHJhY2tUeXBlIEZGTVNf SW5kZXhlcjo6R2V0VHJhY2tUeXBlKGludCBUcmFjaykgeworIH0KKyAKKyBjb25zdCBjaGFyICpG Rk1TX0luZGV4ZXI6OkdldFRyYWNrQ29kZWMoaW50IFRyYWNrKSB7CistICAgIEFWQ29kZWMgKmNv ZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tUcmFja10t PmNvZGVjcGFyLT5jb2RlY19pZCk7CisrICAgIGF1dG8gKmNvZGVjID0gYXZjb2RlY19maW5kX2Rl Y29kZXIoRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tUcmFja10tPmNvZGVjcGFyLT5jb2RlY19pZCk7 CisgICAgIHJldHVybiBjb2RlYyA/IGNvZGVjLT5uYW1lIDogbnVsbHB0cjsKKyB9CisgCitAQCAt NDAyLDcgKzQwMiw3IEBAIEZGTVNfSW5kZXggKkZGTVNfSW5kZXhlcjo6RG9JbmRleGluZygpIHsK KyAgICAgICAgICAgICBVc2VEVFMpOworIAorICAgICAgICAgaWYgKEluZGV4TWFzay5jb3VudChp KSAmJiBGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ldLT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9PSBB Vk1FRElBX1RZUEVfVklERU8pIHsKKy0gICAgICAgICAgICBBVkNvZGVjICpWaWRlb0NvZGVjID0g YXZjb2RlY19maW5kX2RlY29kZXIoRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tpXS0+Y29kZWNwYXIt PmNvZGVjX2lkKTsKKysgICAgICAgICAgICBhdXRvICpWaWRlb0NvZGVjID0gYXZjb2RlY19maW5k X2RlY29kZXIoRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tpXS0+Y29kZWNwYXItPmNvZGVjX2lkKTsK KyAgICAgICAgICAgICBpZiAoIVZpZGVvQ29kZWMpIHsKKyAgICAgICAgICAgICAgICAgRm9ybWF0 Q29udGV4dC0+c3RyZWFtc1tpXS0+ZGlzY2FyZCA9IEFWRElTQ0FSRF9BTEw7CisgICAgICAgICAg ICAgICAgIEluZGV4TWFzay5lcmFzZShpKTsKK0BAIC00MzMsNyArNDMzLDcgQEAgRkZNU19JbmRl eCAqRkZNU19JbmRleGVyOjpEb0luZGV4aW5nKCkgeworICAgICAgICAgICAgICAgICBJbmRleE1h c2suaW5zZXJ0KGkpOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0gZWxzZSBpZiAoSW5kZXhN YXNrLmNvdW50KGkpICYmIEZvcm1hdENvbnRleHQtPnN0cmVhbXNbaV0tPmNvZGVjcGFyLT5jb2Rl Y190eXBlID09IEFWTUVESUFfVFlQRV9BVURJTykgeworLSAgICAgICAgICAgIEFWQ29kZWMgKkF1 ZGlvQ29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ld LT5jb2RlY3Bhci0+Y29kZWNfaWQpOworKyAgICAgICAgICAgIGF1dG8gKkF1ZGlvQ29kZWMgPSBh dmNvZGVjX2ZpbmRfZGVjb2RlcihGb3JtYXRDb250ZXh0LT5zdHJlYW1zW2ldLT5jb2RlY3Bhci0+ Y29kZWNfaWQpOworICAgICAgICAgICAgIGlmIChBdWRpb0NvZGVjID09IG51bGxwdHIpCisgICAg ICAgICAgICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZGTVNfRVJST1JfQ09ERUMsIEZGTVNf RVJST1JfVU5TVVBQT1JURUQsCisgICAgICAgICAgICAgICAgICAgICAiQXVkaW8gY29kZWMgbm90 IGZvdW5kIik7CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwIGIvc3JjL2Nv cmUvdmlkZW9zb3VyY2UuY3BwCitpbmRleCBiODg5OTcwLi44OTU2YzIyIDEwMDY0NAorLS0tIGEv c3JjL2NvcmUvdmlkZW9zb3VyY2UuY3BwCisrKysgYi9zcmMvY29yZS92aWRlb3NvdXJjZS5jcHAK K0BAIC0xNzEsNyArMTcxLDcgQEAgRkZNU19WaWRlb1NvdXJjZTo6RkZNU19WaWRlb1NvdXJjZShj b25zdCBjaGFyICpTb3VyY2VGaWxlLCBGRk1TX0luZGV4ICZJbmRleCwgaW4KKyAKKyAgICAgICAg IExBVkZPcGVuRmlsZShTb3VyY2VGaWxlLCBGb3JtYXRDb250ZXh0LCBWaWRlb1RyYWNrKTsKKyAK Ky0gICAgICAgIEFWQ29kZWMgKkNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoRm9ybWF0Q29u dGV4dC0+c3RyZWFtc1tWaWRlb1RyYWNrXS0+Y29kZWNwYXItPmNvZGVjX2lkKTsKKysgICAgICAg IGF1dG8gKkNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoRm9ybWF0Q29udGV4dC0+c3RyZWFt c1tWaWRlb1RyYWNrXS0+Y29kZWNwYXItPmNvZGVjX2lkKTsKKyAgICAgICAgIGlmIChDb2RlYyA9 PSBudWxscHRyKQorICAgICAgICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZGTVNfRVJST1Jf REVDT0RJTkcsIEZGTVNfRVJST1JfQ09ERUMsCisgICAgICAgICAgICAgICAgICJWaWRlbyBjb2Rl YyBub3QgZm91bmQiKTsKKy0tIAorMi40MC4wCisKK0Zyb20gOTZjYmYzOGVhOTM4MTgyOWExMzE0 ZjQzMmEyYzYwNDk1ZGNlZmFhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERlcmVr IEJ1aXRlbmh1aXMgPGRlcmVrLmJ1aXRlbmh1aXNAZ21haWwuY29tPgorRGF0ZTogVHVlLCA0IE1h eSAyMDIxIDE0OjEyOjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsbDogVXBkYXRlIEFWUGFj a2V0IEFQSSB1c2FnZQorCitBVlBhY2tldHMgbXVzdCBhbGwgYmUgb24gdGhlIGhlYXAgbm93LCBz aW5jZSBpdCBpcyBubyBsb25nZXIKK3BhcnQgb2YgdGhlIGxpYmF2KiBBQkkuCisKK1NpZ25lZC1v ZmYtYnk6IERlcmVrIEJ1aXRlbmh1aXMgPGRlcmVrLmJ1aXRlbmh1aXNAZ21haWwuY29tPgorLS0t Cisgc3JjL2NvcmUvYXVkaW9zb3VyY2UuY3BwIHwgMTYgKysrKysrLS0tLQorIHNyYy9jb3JlL2lu ZGV4aW5nLmNwcCAgICB8IDYzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0KKyBzcmMvY29yZS9pbmRleGluZy5oICAgICAgfCAgNCArLS0KKyBzcmMvY29yZS91dGlscy5j cHAgICAgICAgfCAgNiAtLS0tCisgc3JjL2NvcmUvdXRpbHMuaCAgICAgICAgIHwgIDEgLQorIHNy Yy9jb3JlL3ZpZGVvc291cmNlLmNwcCB8IDMwICsrKysrKysrKystLS0tLS0tLS0KKyA2IGZpbGVz IGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvc3JjL2NvcmUvYXVkaW9zb3VyY2UuY3BwIGIvc3JjL2NvcmUvYXVkaW9zb3VyY2UuY3BwCitp bmRleCAzN2NmOWFlLi5lNGNlOTdjIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvYXVkaW9zb3VyY2Uu Y3BwCisrKysgYi9zcmMvY29yZS9hdWRpb3NvdXJjZS5jcHAKK0BAIC0yODUsMTAgKzI4NSwxNSBA QCBGRk1TX0F1ZGlvU291cmNlOjpBdWRpb0Jsb2NrICpGRk1TX0F1ZGlvU291cmNlOjpDYWNoZUJs b2NrKENhY2hlSXRlcmF0b3IgJnBvcykgeworIGludCBGRk1TX0F1ZGlvU291cmNlOjpEZWNvZGVO ZXh0QmxvY2soQ2FjaGVJdGVyYXRvciAqcG9zKSB7CisgICAgIEN1cnJlbnRGcmFtZSA9ICZGcmFt ZXNbUGFja2V0TnVtYmVyXTsKKyAKKy0gICAgQVZQYWNrZXQgUGFja2V0OworLSAgICBpZiAoIVJl YWRQYWNrZXQoJlBhY2tldCkpCisrICAgIEFWUGFja2V0ICpQYWNrZXQgPSBhdl9wYWNrZXRfYWxs b2MoKTsKKysgICAgaWYgKCFQYWNrZXQpCisrICAgICAgICB0aHJvdyBGRk1TX0V4Y2VwdGlvbihG Rk1TX0VSUk9SX1BBUlNFUiwgRkZNU19FUlJPUl9BTExPQ0FUSU9OX0ZBSUxFRCwKKysgICAgICAg ICAgICAiQ291bGQgbm90IGFsbG9jYXRlIHBhY2tldC4iKTsKKysgICAgaWYgKCFSZWFkUGFja2V0 KFBhY2tldCkpIHsKKysgICAgICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQpOworICAgICAgICAg dGhyb3cgRkZNU19FeGNlcHRpb24oRkZNU19FUlJPUl9QQVJTRVIsIEZGTVNfRVJST1JfVU5LTk9X TiwKKyAgICAgICAgICAgICAiUmVhZFBhY2tldCB1bmV4cGVjdGVkbHkgZmFpbGVkIHRvIHJlYWQg YSBwYWNrZXQiKTsKKysgICAgfQorIAorICAgICAvLyBSZWFkUGFja2V0IG1heSBoYXZlIGNoYW5n ZWQgdGhlIHBhY2tldCBudW1iZXIKKyAgICAgQ3VycmVudEZyYW1lID0gJkZyYW1lc1tQYWNrZXRO dW1iZXJdOworQEAgLTI5Nyw4ICszMDIsOSBAQCBpbnQgRkZNU19BdWRpb1NvdXJjZTo6RGVjb2Rl TmV4dEJsb2NrKENhY2hlSXRlcmF0b3IgKnBvcykgeworICAgICBpbnQgTnVtYmVyT2ZTYW1wbGVz ID0gMDsKKyAgICAgQXVkaW9CbG9jayAqQ2FjaGVkQmxvY2sgPSBudWxscHRyOworICAgICAKKy0g ICAgaW50IFJldCA9IGF2Y29kZWNfc2VuZF9wYWNrZXQoQ29kZWNDb250ZXh0LCAmUGFja2V0KTsK Ky0gICAgYXZfcGFja2V0X3VucmVmKCZQYWNrZXQpOworKyAgICBpbnQgUmV0ID0gYXZjb2RlY19z ZW5kX3BhY2tldChDb2RlY0NvbnRleHQsIFBhY2tldCk7CisrICAgIGF2X3BhY2tldF91bnJlZihQ YWNrZXQpOworKyAgICBhdl9wYWNrZXRfZnJlZSgmUGFja2V0KTsKKyAKKyAgICAgYXZfZnJhbWVf dW5yZWYoRGVjb2RlRnJhbWUpOworICAgICBSZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUoQ29k ZWNDb250ZXh0LCBEZWNvZGVGcmFtZSk7CitAQCAtNTEzLDggKzUxOSw2IEBAIHZvaWQgRkZNU19B dWRpb1NvdXJjZTo6U2VlaygpIHsKKyB9CisgCisgYm9vbCBGRk1TX0F1ZGlvU291cmNlOjpSZWFk UGFja2V0KEFWUGFja2V0ICpQYWNrZXQpIHsKKy0gICAgSW5pdE51bGxQYWNrZXQoKlBhY2tldCk7 CistCisgICAgIHdoaWxlIChhdl9yZWFkX2ZyYW1lKEZvcm1hdENvbnRleHQsIFBhY2tldCkgPj0g MCkgeworICAgICAgICAgaWYgKFBhY2tldC0+c3RyZWFtX2luZGV4ID09IFRyYWNrTnVtYmVyKSB7 CisgICAgICAgICAgICAgLy8gUmVxdWlyZWQgYmVjYXVzZSBub3QgYWxsIGF1ZGlvIHBhY2tldHMs IGVzcGVjaWFsbHkgaW4gb2dnLCBoYXZlIGEgcHRzLiBVc2UgdGhlIHByZXZpb3VzIHZhbGlkIHBh Y2tldCdzIHB0cyBpbnN0ZWFkLgorZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2luZGV4aW5nLmNwcCBi L3NyYy9jb3JlL2luZGV4aW5nLmNwcAoraW5kZXggMjNmYjk1Yi4uZTU0N2M1YSAxMDA2NDQKKy0t LSBhL3NyYy9jb3JlL2luZGV4aW5nLmNwcAorKysrIGIvc3JjL2NvcmUvaW5kZXhpbmcuY3BwCitA QCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgRkZNU19JbmRleGVyOjpDaGVja0F1ZGlvUHJvcGVydGll cyhpbnQgVHJhY2ssIEFWQ29kZWNDb250ZXh0ICpDb250ZXh0KSB7CisgICAgIH0KKyB9CisgCist dm9pZCBGRk1TX0luZGV4ZXI6OlBhcnNlVmlkZW9QYWNrZXQoU2hhcmVkQVZDb250ZXh0ICZWaWRl b0NvbnRleHQsIEFWUGFja2V0ICZwa3QsIGludCAqUmVwZWF0UGljdCwKKyt2b2lkIEZGTVNfSW5k ZXhlcjo6UGFyc2VWaWRlb1BhY2tldChTaGFyZWRBVkNvbnRleHQgJlZpZGVvQ29udGV4dCwgQVZQ YWNrZXQgKnBrdCwgaW50ICpSZXBlYXRQaWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCAqRnJhbWVUeXBlLCBib29sICpJbnZpc2libGUsIGVudW0gQVZQaWN0dXJl U3RydWN0dXJlICpMYXN0UGljU3RydWN0KSB7CisgICAgIGlmIChWaWRlb0NvbnRleHQuUGFyc2Vy KSB7CisgICAgICAgICB1aW50OF90ICpPQjsKK0BAIC0zMzAsOCArMzMwLDggQEAgdm9pZCBGRk1T X0luZGV4ZXI6OlBhcnNlVmlkZW9QYWNrZXQoU2hhcmVkQVZDb250ZXh0ICZWaWRlb0NvbnRleHQs IEFWUGFja2V0ICZwa3QKKyAgICAgICAgIGF2X3BhcnNlcl9wYXJzZTIoVmlkZW9Db250ZXh0LlBh cnNlciwKKyAgICAgICAgICAgICBWaWRlb0NvbnRleHQuQ29kZWNDb250ZXh0LAorICAgICAgICAg ICAgICZPQiwgJk9CU2l6ZSwKKy0gICAgICAgICAgICBwa3QuZGF0YSwgcGt0LnNpemUsCistICAg ICAgICAgICAgcGt0LnB0cywgcGt0LmR0cywgcGt0LnBvcyk7CisrICAgICAgICAgICAgcGt0LT5k YXRhLCBwa3QtPnNpemUsCisrICAgICAgICAgICAgcGt0LT5wdHMsIHBrdC0+ZHRzLCBwa3QtPnBv cyk7CisgCisgICAgICAgICAvLyBILjI2NCAoUEFGRikgYW5kIEhFVkMgbWF5IGhhdmUgb25lIGZp ZWxkIHBlciBwYWNrZXQsIHNvIHdlIG5lZWQgdG8gdHJhY2sKKyAgICAgICAgIC8vIHdoZW4gd2Ug aGF2ZSBhIGZ1bGwgb3IgaGFsZiBmcmFtZSBhdmFpbGFibGUsIGFuZCBtYXJrIG9uZSBvZiB0aGVt IGFzCitAQCAtMzUxLDE1ICszNTEsMTUgQEAgdm9pZCBGRk1TX0luZGV4ZXI6OlBhcnNlVmlkZW9Q YWNrZXQoU2hhcmVkQVZDb250ZXh0ICZWaWRlb0NvbnRleHQsIEFWUGFja2V0ICZwa3QKKyAKKyAg ICAgICAgICpSZXBlYXRQaWN0ID0gVmlkZW9Db250ZXh0LlBhcnNlci0+cmVwZWF0X3BpY3Q7Cisg ICAgICAgICAqRnJhbWVUeXBlID0gVmlkZW9Db250ZXh0LlBhcnNlci0+cGljdF90eXBlOworLSAg ICAgICAgKkludmlzaWJsZSA9IChJbmNvbXBsZXRlRnJhbWUgfHwgVmlkZW9Db250ZXh0LlBhcnNl ci0+cmVwZWF0X3BpY3QgPCAwIHx8IChwa3QuZmxhZ3MgJiBBVl9QS1RfRkxBR19ESVNDQVJEKSk7 CisrICAgICAgICAqSW52aXNpYmxlID0gKEluY29tcGxldGVGcmFtZSB8fCBWaWRlb0NvbnRleHQu UGFyc2VyLT5yZXBlYXRfcGljdCA8IDAgfHwgKHBrdC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19ESVND QVJEKSk7CisgICAgIH0gZWxzZSB7CistICAgICAgICAqSW52aXNpYmxlID0gISEocGt0LmZsYWdz ICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCk7CisrICAgICAgICAqSW52aXNpYmxlID0gISEocGt0LT5m bGFncyAmIEFWX1BLVF9GTEFHX0RJU0NBUkQpOworICAgICB9CisgCisgICAgIGlmIChWaWRlb0Nv bnRleHQuQ29kZWNDb250ZXh0LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDgpCistICAgICAg ICBQYXJzZVZQOChwa3QuZGF0YVswXSwgSW52aXNpYmxlLCBGcmFtZVR5cGUpOworKyAgICAgICAg UGFyc2VWUDgocGt0LT5kYXRhWzBdLCBJbnZpc2libGUsIEZyYW1lVHlwZSk7CisgICAgIGVsc2Ug aWYgKFZpZGVvQ29udGV4dC5Db2RlY0NvbnRleHQtPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQ OSkKKy0gICAgICAgIFBhcnNlVlA5KHBrdC5kYXRhWzBdLCBJbnZpc2libGUsIEZyYW1lVHlwZSk7 CisrICAgICAgICBQYXJzZVZQOShwa3QtPmRhdGFbMF0sIEludmlzaWJsZSwgRnJhbWVUeXBlKTsK KyB9CisgCisgdm9pZCBGRk1TX0luZGV4ZXI6OkZyZWUoKSB7CitAQCAtNDU4LDMyICs0NTgsMzYg QEAgRkZNU19JbmRleCAqRkZNU19JbmRleGVyOjpEb0luZGV4aW5nKCkgeworICAgICAgICAgfQor ICAgICB9CisgCistICAgIEFWUGFja2V0IFBhY2tldDsKKy0gICAgSW5pdE51bGxQYWNrZXQoUGFj a2V0KTsKKysgICAgQVZQYWNrZXQgKlBhY2tldCA9IGF2X3BhY2tldF9hbGxvYygpOworKyAgICBp ZiAoIVBhY2tldCkKKysgICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZGTVNfRVJST1JfQ09E RUMsIEZGTVNfRVJST1JfQUxMT0NBVElPTl9GQUlMRUQsCisrICAgICAgICAgICAgIkNvdWxkIG5v dCBhbGxvY2F0ZSBwYWNrZXQuIik7CisgICAgIHN0ZDo6dmVjdG9yPGludDY0X3Q+IExhc3RWYWxp ZFRTKEZvcm1hdENvbnRleHQtPm5iX3N0cmVhbXMsIEFWX05PUFRTX1ZBTFVFKTsKKyAKKyAgICAg aW50NjRfdCBmaWxlc2l6ZSA9IGF2aW9fc2l6ZShGb3JtYXRDb250ZXh0LT5wYik7CisgICAgIGVu dW0gQVZQaWN0dXJlU3RydWN0dXJlIExhc3RQaWNTdHJ1Y3QgPSBBVl9QSUNUVVJFX1NUUlVDVFVS RV9VTktOT1dOOworLSAgICB3aGlsZSAoYXZfcmVhZF9mcmFtZShGb3JtYXRDb250ZXh0LCAmUGFj a2V0KSA+PSAwKSB7CisrICAgIHdoaWxlIChhdl9yZWFkX2ZyYW1lKEZvcm1hdENvbnRleHQsIFBh Y2tldCkgPj0gMCkgeworICAgICAgICAgLy8gVXBkYXRlIHByb2dyZXNzCisgICAgICAgICAvLyBG b3JtYXRDb250ZXh0LT5wYiBjYW4gYXBwYXJlbnRseSBiZSBOVUxMIHdoZW4gb3BlbmluZyBpbWFn ZXMuCisgICAgICAgICBpZiAoSUMgJiYgRm9ybWF0Q29udGV4dC0+cGIpIHsKKy0gICAgICAgICAg ICBpZiAoKCpJQykoRm9ybWF0Q29udGV4dC0+cGItPnBvcywgZmlsZXNpemUsIElDUHJpdmF0ZSkp CisrICAgICAgICAgICAgaWYgKCgqSUMpKEZvcm1hdENvbnRleHQtPnBiLT5wb3MsIGZpbGVzaXpl LCBJQ1ByaXZhdGUpKSB7CisrICAgICAgICAgICAgICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQp OworICAgICAgICAgICAgICAgICB0aHJvdyBGRk1TX0V4Y2VwdGlvbihGRk1TX0VSUk9SX0NBTkNF TExFRCwgRkZNU19FUlJPUl9VU0VSLAorICAgICAgICAgICAgICAgICAgICAgIkNhbmNlbGxlZCBi eSB1c2VyIik7CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorLSAgICAgICAgaWYgKCFJbmRl eE1hc2suY291bnQoUGFja2V0LnN0cmVhbV9pbmRleCkpIHsKKy0gICAgICAgICAgICBhdl9wYWNr ZXRfdW5yZWYoJlBhY2tldCk7CisrICAgICAgICBpZiAoIUluZGV4TWFzay5jb3VudChQYWNrZXQt PnN0cmVhbV9pbmRleCkpIHsKKysgICAgICAgICAgICBhdl9wYWNrZXRfdW5yZWYoUGFja2V0KTsK KyAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGludCBUcmFj ayA9IFBhY2tldC5zdHJlYW1faW5kZXg7CisrICAgICAgICBpbnQgVHJhY2sgPSBQYWNrZXQtPnN0 cmVhbV9pbmRleDsKKyAgICAgICAgIEZGTVNfVHJhY2sgJlRyYWNrSW5mbyA9ICgqVHJhY2tJbmRp Y2VzKVtUcmFja107CistICAgICAgICBib29sIEtleUZyYW1lID0gISEoUGFja2V0LmZsYWdzICYg QVZfUEtUX0ZMQUdfS0VZKTsKKysgICAgICAgIGJvb2wgS2V5RnJhbWUgPSAhIShQYWNrZXQtPmZs YWdzICYgQVZfUEtUX0ZMQUdfS0VZKTsKKyAgICAgICAgIFJlYWRUUyhQYWNrZXQsIExhc3RWYWxp ZFRTW1RyYWNrXSwgKCpUcmFja0luZGljZXMpW1RyYWNrXS5Vc2VEVFMpOworIAorICAgICAgICAg aWYgKEZvcm1hdENvbnRleHQtPnN0cmVhbXNbVHJhY2tdLT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9 PSBBVk1FRElBX1RZUEVfVklERU8pIHsKKy0gICAgICAgICAgICBpbnQ2NF90IFBUUyA9IFRyYWNr SW5mby5Vc2VEVFMgPyBQYWNrZXQuZHRzIDogUGFja2V0LnB0czsKKysgICAgICAgICAgICBpbnQ2 NF90IFBUUyA9IFRyYWNrSW5mby5Vc2VEVFMgPyBQYWNrZXQtPmR0cyA6IFBhY2tldC0+cHRzOwor ICAgICAgICAgICAgIGlmIChQVFMgPT0gQVZfTk9QVFNfVkFMVUUpIHsKKyAgICAgICAgICAgICAg ICAgLy8gVlB4IGFsdC1yZWZzIGFyZSBvdXRwdXQgYXMgcGFja2V0cyB3aGljaCBsYWNrIHRpbWVz dG1wcyBvciBkdXJhdGlvbnMsIHNpbmNlCisgICAgICAgICAgICAgICAgIC8vIHRoZXkgYXJlIGlu dmlzaWJsZS4gQ3VycmVudGx5LCB0aGUgdGltZXN0YW1wIG1hbmdsaW5nIGNvZGUgaW4gbGliYXZm b3JtYXQKK0BAIC00OTUsOSArNDk5LDExIEBAIEZGTVNfSW5kZXggKkZGTVNfSW5kZXhlcjo6RG9J bmRleGluZygpIHsKKyAgICAgICAgICAgICAgICAgLy8gRkZNUzIgY3VycmVudGx5IHNvcnRzIHBh Y2tldHMgYnkgUFRTLCB3aGljaCB3aWxsIGJyZWFrIGRlY29kaW5nLCBvdGhlcndpc2UuCisgICAg ICAgICAgICAgICAgIGJvb2wgSGFzQWx0UmVmcyA9IChGb3JtYXRDb250ZXh0LT5zdHJlYW1zW1Ry YWNrXS0+Y29kZWNwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQOCB8fAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tUcmFja10t PmNvZGVjcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDkpOworLSAgICAgICAgICAgICAg ICBpZiAoUGFja2V0LmR1cmF0aW9uID09IDAgJiYgIUhhc0FsdFJlZnMpCisrICAgICAgICAgICAg ICAgIGlmIChQYWNrZXQtPmR1cmF0aW9uID09IDAgJiYgIUhhc0FsdFJlZnMpIHsKKysgICAgICAg ICAgICAgICAgICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQpOworICAgICAgICAgICAgICAgICAg ICAgdGhyb3cgRkZNU19FeGNlcHRpb24oRkZNU19FUlJPUl9JTkRFWElORywgRkZNU19FUlJPUl9Q QVJTRVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgcGFja2V0IHB0cywgZHRz LCBhbmQgZHVyYXRpb24iKTsKKysgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgICAg ICBpZiAoVHJhY2tJbmZvLmVtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgICBQVFMgPSAwOwor QEAgLTUxMyw3ICs1MTksNyBAQCBGRk1TX0luZGV4ICpGRk1TX0luZGV4ZXI6OkRvSW5kZXhpbmco KSB7CisgICAgICAgICAgICAgUGFyc2VWaWRlb1BhY2tldChBVkNvbnRleHRzW1RyYWNrXSwgUGFj a2V0LCAmUmVwZWF0UGljdCwgJkZyYW1lVHlwZSwgJkludmlzaWJsZSwgJkxhc3RQaWNTdHJ1Y3Qp OworIAorICAgICAgICAgICAgIFRyYWNrSW5mby5BZGRWaWRlb0ZyYW1lKFBUUywgUmVwZWF0UGlj dCwgS2V5RnJhbWUsCistICAgICAgICAgICAgICAgIEZyYW1lVHlwZSwgUGFja2V0LnBvcywgSW52 aXNpYmxlKTsKKysgICAgICAgICAgICAgICAgRnJhbWVUeXBlLCBQYWNrZXQtPnBvcywgSW52aXNp YmxlKTsKKyAgICAgICAgIH0gZWxzZSBpZiAoRm9ybWF0Q29udGV4dC0+c3RyZWFtc1tUcmFja10t PmNvZGVjcGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9BVURJTykgeworICAgICAgICAg ICAgIC8vIEZvciB2aWRlbyBzZWVraW5nIHRpbWVzdGFtcHMgYXJlIHVzZWQgb25seSBpZiBhbGwg cGFja2V0cyBoYXZlCisgICAgICAgICAgICAgLy8gdGltZXN0YW1wcywgd2hpbGUgZm9yIGF1ZGlv IHRoZXkncmUgdXNlZCBpZiBhbnkgaGF2ZSB0aW1lc3RhbXBzLAorQEAgLTUyMiwyOCArNTI4LDI5 IEBAIEZGTVNfSW5kZXggKkZGTVNfSW5kZXhlcjo6RG9JbmRleGluZygpIHsKKyAgICAgICAgICAg ICAgICAgVHJhY2tJbmZvLkhhc1RTID0gdHJ1ZTsKKyAKKyAgICAgICAgICAgICBpbnQ2NF90IFN0 YXJ0U2FtcGxlID0gQVZDb250ZXh0c1tUcmFja10uQ3VycmVudFNhbXBsZTsKKy0gICAgICAgICAg ICB1aW50MzJfdCBTYW1wbGVDb3VudCA9IEluZGV4QXVkaW9QYWNrZXQoVHJhY2ssICZQYWNrZXQs IEFWQ29udGV4dHNbVHJhY2tdLCAqVHJhY2tJbmRpY2VzKTsKKysgICAgICAgICAgICB1aW50MzJf dCBTYW1wbGVDb3VudCA9IEluZGV4QXVkaW9QYWNrZXQoVHJhY2ssIFBhY2tldCwgQVZDb250ZXh0 c1tUcmFja10sICpUcmFja0luZGljZXMpOworICAgICAgICAgICAgIFRyYWNrSW5mby5TYW1wbGVS YXRlID0gQVZDb250ZXh0c1tUcmFja10uQ29kZWNDb250ZXh0LT5zYW1wbGVfcmF0ZTsKKyAKKyAg ICAgICAgICAgICBUcmFja0luZm8uQWRkQXVkaW9GcmFtZShMYXN0VmFsaWRUU1tUcmFja10sCist ICAgICAgICAgICAgICAgIFN0YXJ0U2FtcGxlLCBTYW1wbGVDb3VudCwgS2V5RnJhbWUsIFBhY2tl dC5wb3MsIFBhY2tldC5mbGFncyAmIEFWX1BLVF9GTEFHX0RJU0NBUkQpOworKyAgICAgICAgICAg ICAgICBTdGFydFNhbXBsZSwgU2FtcGxlQ291bnQsIEtleUZyYW1lLCBQYWNrZXQtPnBvcywgUGFj a2V0LT5mbGFncyAmIEFWX1BLVF9GTEFHX0RJU0NBUkQpOworICAgICAgICAgfQorIAorLSAgICAg ICAgaWYgKCEoUGFja2V0LmZsYWdzICYgQVZfUEtUX0ZMQUdfRElTQ0FSRCkpCistICAgICAgICAg ICAgVHJhY2tJbmZvLkxhc3REdXJhdGlvbiA9IFBhY2tldC5kdXJhdGlvbjsKKysgICAgICAgIGlm ICghKFBhY2tldC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19ESVNDQVJEKSkKKysgICAgICAgICAgICBU cmFja0luZm8uTGFzdER1cmF0aW9uID0gUGFja2V0LT5kdXJhdGlvbjsKKyAKKy0gICAgICAgIGF2 X3BhY2tldF91bnJlZigmUGFja2V0KTsKKysgICAgICAgIGF2X3BhY2tldF91bnJlZihQYWNrZXQp OworICAgICB9CisrICAgIGF2X3BhY2tldF9mcmVlKCZQYWNrZXQpOworIAorICAgICBUcmFja0lu ZGljZXMtPkZpbmFsaXplKEFWQ29udGV4dHMsIEZvcm1hdENvbnRleHQtPmlmb3JtYXQtPm5hbWUp OworICAgICByZXR1cm4gVHJhY2tJbmRpY2VzLnJlbGVhc2UoKTsKKyB9CisgCistdm9pZCBGRk1T X0luZGV4ZXI6OlJlYWRUUyhjb25zdCBBVlBhY2tldCAmUGFja2V0LCBpbnQ2NF90ICZUUywgYm9v bCAmVXNlRFRTKSB7CistICAgIGlmICghVXNlRFRTICYmIFBhY2tldC5wdHMgIT0gQVZfTk9QVFNf VkFMVUUpCistICAgICAgICBUUyA9IFBhY2tldC5wdHM7Cisrdm9pZCBGRk1TX0luZGV4ZXI6OlJl YWRUUyhjb25zdCBBVlBhY2tldCAqUGFja2V0LCBpbnQ2NF90ICZUUywgYm9vbCAmVXNlRFRTKSB7 CisrICAgIGlmICghVXNlRFRTICYmIFBhY2tldC0+cHRzICE9IEFWX05PUFRTX1ZBTFVFKQorKyAg ICAgICAgVFMgPSBQYWNrZXQtPnB0czsKKyAgICAgaWYgKFRTID09IEFWX05PUFRTX1ZBTFVFKQor ICAgICAgICAgVXNlRFRTID0gdHJ1ZTsKKy0gICAgaWYgKFVzZURUUyAmJiBQYWNrZXQuZHRzICE9 IEFWX05PUFRTX1ZBTFVFKQorLSAgICAgICAgVFMgPSBQYWNrZXQuZHRzOworKyAgICBpZiAoVXNl RFRTICYmIFBhY2tldC0+ZHRzICE9IEFWX05PUFRTX1ZBTFVFKQorKyAgICAgICAgVFMgPSBQYWNr ZXQtPmR0czsKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW5kZXhpbmcuaCBiL3NyYy9jb3Jl L2luZGV4aW5nLmgKK2luZGV4IDNjZmMzYzMuLjVjMDY4NjggMTAwNjQ0CistLS0gYS9zcmMvY29y ZS9pbmRleGluZy5oCisrKysgYi9zcmMvY29yZS9pbmRleGluZy5oCitAQCAtODAsMTAgKzgwLDEw IEBAIHByaXZhdGU6CisgICAgIGludDY0X3QgRmlsZXNpemU7CisgICAgIHVpbnQ4X3QgRGlnZXN0 WzIwXTsKKyAKKy0gICAgdm9pZCBSZWFkVFMoY29uc3QgQVZQYWNrZXQgJlBhY2tldCwgaW50NjRf dCAmVFMsIGJvb2wgJlVzZURUUyk7CisrICAgIHZvaWQgUmVhZFRTKGNvbnN0IEFWUGFja2V0ICpQ YWNrZXQsIGludDY0X3QgJlRTLCBib29sICZVc2VEVFMpOworICAgICB2b2lkIENoZWNrQXVkaW9Q cm9wZXJ0aWVzKGludCBUcmFjaywgQVZDb2RlY0NvbnRleHQgKkNvbnRleHQpOworICAgICB1aW50 MzJfdCBJbmRleEF1ZGlvUGFja2V0KGludCBUcmFjaywgQVZQYWNrZXQgKlBhY2tldCwgU2hhcmVk QVZDb250ZXh0ICZDb250ZXh0LCBGRk1TX0luZGV4ICZUcmFja0luZGljZXMpOworLSAgICB2b2lk IFBhcnNlVmlkZW9QYWNrZXQoU2hhcmVkQVZDb250ZXh0ICZWaWRlb0NvbnRleHQsIEFWUGFja2V0 ICZwa3QsIGludCAqUmVwZWF0UGljdCwgaW50ICpGcmFtZVR5cGUsIGJvb2wgKkludmlzaWJsZSwg ZW51bSBBVlBpY3R1cmVTdHJ1Y3R1cmUgKkxhc3RQaWNTdHJ1Y3QpOworKyAgICB2b2lkIFBhcnNl VmlkZW9QYWNrZXQoU2hhcmVkQVZDb250ZXh0ICZWaWRlb0NvbnRleHQsIEFWUGFja2V0ICpwa3Qs IGludCAqUmVwZWF0UGljdCwgaW50ICpGcmFtZVR5cGUsIGJvb2wgKkludmlzaWJsZSwgZW51bSBB VlBpY3R1cmVTdHJ1Y3R1cmUgKkxhc3RQaWNTdHJ1Y3QpOworICAgICB2b2lkIEZyZWUoKTsKKyBw dWJsaWM6CisgICAgIEZGTVNfSW5kZXhlcihjb25zdCBjaGFyICpGaWxlbmFtZSk7CitkaWZmIC0t Z2l0IGEvc3JjL2NvcmUvdXRpbHMuY3BwIGIvc3JjL2NvcmUvdXRpbHMuY3BwCitpbmRleCBjZTY3 NTMzLi44YTJlOTk3IDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvdXRpbHMuY3BwCisrKysgYi9zcmMv Y29yZS91dGlscy5jcHAKK0BAIC02MiwxMiArNjIsNiBAQCB2b2lkIENsZWFyRXJyb3JJbmZvKEZG TVNfRXJyb3JJbmZvICpFcnJvckluZm8pIHsKKyAgICAgfQorIH0KKyAKKy12b2lkIEluaXROdWxs UGFja2V0KEFWUGFja2V0ICZwa3QpIHsKKy0gICAgYXZfaW5pdF9wYWNrZXQoJnBrdCk7CistICAg IHBrdC5kYXRhID0gbnVsbHB0cjsKKy0gICAgcGt0LnNpemUgPSAwOworLX0KKy0KKyB2b2lkIEZp bGxBUChGRk1TX0F1ZGlvUHJvcGVydGllcyAmQVAsIEFWQ29kZWNDb250ZXh0ICpDVFgsIEZGTVNf VHJhY2sgJkZyYW1lcykgeworICAgICBBUC5TYW1wbGVGb3JtYXQgPSBzdGF0aWNfY2FzdDxGRk1T X1NhbXBsZUZvcm1hdD4oYXZfZ2V0X3BhY2tlZF9zYW1wbGVfZm10KENUWC0+c2FtcGxlX2ZtdCkp OworICAgICBBUC5CaXRzUGVyU2FtcGxlID0gYXZfZ2V0X2J5dGVzX3Blcl9zYW1wbGUoQ1RYLT5z YW1wbGVfZm10KSAqIDg7CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdXRpbHMuaCBiL3NyYy9jb3Jl L3V0aWxzLmgKK2luZGV4IDk4MTlkYzcuLjAwM2FiNzkgMTAwNjQ0CistLS0gYS9zcmMvY29yZS91 dGlscy5oCisrKysgYi9zcmMvY29yZS91dGlscy5oCitAQCAtNTgsNyArNTgsNiBAQCBzdGQ6OnVu aXF1ZV9wdHI8VD4gbWFrZV91bmlxdWUoQXJncyYmLi4uIGFyZ3MpIHsKKyB9CisgCisgdm9pZCBD bGVhckVycm9ySW5mbyhGRk1TX0Vycm9ySW5mbyAqRXJyb3JJbmZvKTsKKy12b2lkIEluaXROdWxs UGFja2V0KEFWUGFja2V0ICZwa3QpOworIHZvaWQgRmlsbEFQKEZGTVNfQXVkaW9Qcm9wZXJ0aWVz ICZBUCwgQVZDb2RlY0NvbnRleHQgKkNUWCwgRkZNU19UcmFjayAmRnJhbWVzKTsKKyAKKyB2b2lk IExBVkZPcGVuRmlsZShjb25zdCBjaGFyICpTb3VyY2VGaWxlLCBBVkZvcm1hdENvbnRleHQgKiZG b3JtYXRDb250ZXh0LCBpbnQgVHJhY2spOworZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3ZpZGVvc291 cmNlLmNwcCBiL3NyYy9jb3JlL3ZpZGVvc291cmNlLmNwcAoraW5kZXggMDZiZDE2MS4uYjg4OTk3 MCAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL3ZpZGVvc291cmNlLmNwcAorKysrIGIvc3JjL2NvcmUv dmlkZW9zb3VyY2UuY3BwCitAQCAtNjczLDMwICs2NzMsMzQgQEAgdm9pZCBGRk1TX1ZpZGVvU291 cmNlOjpEZWNvZGVOZXh0RnJhbWUoaW50NjRfdCAmQVN0YXJ0VGltZSwgaW50NjRfdCAmUG9zKSB7 CisgICAgIGlmIChIYXNQZW5kaW5nRGVsYXllZEZyYW1lcygpKQorICAgICAgICAgcmV0dXJuOwor IAorLSAgICBBVlBhY2tldCBQYWNrZXQ7CistICAgIEluaXROdWxsUGFja2V0KFBhY2tldCk7Cist CistICAgIHdoaWxlIChSZWFkRnJhbWUoJlBhY2tldCkgPj0gMCkgeworLSAgICAgICAgaWYgKFBh Y2tldC5zdHJlYW1faW5kZXggIT0gVmlkZW9UcmFjaykgeworLSAgICAgICAgICAgIGF2X3BhY2tl dF91bnJlZigmUGFja2V0KTsKKysgICAgQVZQYWNrZXQgKlBhY2tldCA9IGF2X3BhY2tldF9hbGxv YygpOworKyAgICBpZiAoIVBhY2tldCkKKysgICAgICAgIHRocm93IEZGTVNfRXhjZXB0aW9uKEZG TVNfRVJST1JfREVDT0RJTkcsIEZGTVNfRVJST1JfQUxMT0NBVElPTl9GQUlMRUQsCisrICAgICAg ICAgICAgIkNvdWxkIG5vdCBhbGxvY2F0ZSBwYWNrZXQuIik7CisrCisrICAgIHdoaWxlIChSZWFk RnJhbWUoUGFja2V0KSA+PSAwKSB7CisrICAgICAgICBpZiAoUGFja2V0LT5zdHJlYW1faW5kZXgg IT0gVmlkZW9UcmFjaykgeworKyAgICAgICAgICAgIGF2X3BhY2tldF91bnJlZihQYWNrZXQpOwor ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorIAorICAgICAgICAgaWYgKEFTdGFy dFRpbWUgPCAwKQorLSAgICAgICAgICAgIEFTdGFydFRpbWUgPSBGcmFtZXMuVXNlRFRTID8gUGFj a2V0LmR0cyA6IFBhY2tldC5wdHM7CisrICAgICAgICAgICAgQVN0YXJ0VGltZSA9IEZyYW1lcy5V c2VEVFMgPyBQYWNrZXQtPmR0cyA6IFBhY2tldC0+cHRzOworIAorICAgICAgICAgaWYgKFBvcyA8 IDApCistICAgICAgICAgICAgUG9zID0gUGFja2V0LnBvczsKKysgICAgICAgICAgICBQb3MgPSBQ YWNrZXQtPnBvczsKKyAKKy0gICAgICAgIGJvb2wgRnJhbWVGaW5pc2hlZCA9IERlY29kZVBhY2tl dCgmUGFja2V0KTsKKy0gICAgICAgIGF2X3BhY2tldF91bnJlZigmUGFja2V0KTsKKy0gICAgICAg IGlmIChGcmFtZUZpbmlzaGVkKQorKyAgICAgICAgYm9vbCBGcmFtZUZpbmlzaGVkID0gRGVjb2Rl UGFja2V0KFBhY2tldCk7CisrICAgICAgICBhdl9wYWNrZXRfdW5yZWYoUGFja2V0KTsKKysgICAg ICAgIGlmIChGcmFtZUZpbmlzaGVkKSB7CisrICAgICAgICAgICAgYXZfcGFja2V0X2ZyZWUoJlBh Y2tldCk7CisgICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgfQorICAgICB9CisgCisgICAg IC8vIEZsdXNoIGZpbmFsIGZyYW1lcworLSAgICBJbml0TnVsbFBhY2tldChQYWNrZXQpOworLSAg ICBEZWNvZGVQYWNrZXQoJlBhY2tldCk7CisrICAgIERlY29kZVBhY2tldChQYWNrZXQpOworKyAg ICBhdl9wYWNrZXRfZnJlZSgmUGFja2V0KTsKKyB9CisgCisgYm9vbCBGRk1TX1ZpZGVvU291cmNl OjpTZWVrVG8oaW50IG4sIGludCBTZWVrT2Zmc2V0KSB7CistLSAKKzIuNDAuMAorCitGcm9tIGJm OWUwM2U5ZTA4NTM0YzAyNGU1YTc0NGE2NDM3YzRhYWMxNjAyMDEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBEZXJlayBCdWl0ZW5odWlzIDxkZXJlay5idWl0ZW5odWlzQGdtYWlsLmNv bT4KK0RhdGU6IFR1ZSwgNCBNYXkgMjAyMSAxNDoyMDo0NyArMDEwMAorU3ViamVjdDogW1BBVENI IDIvM10gY29uZmlndXJlOiBSZW1vdmUgZGVwcmVjYXRlZCBBUEkgdXNlCisKK1NpZ25lZC1vZmYt Ynk6IERlcmVrIEJ1aXRlbmh1aXMgPGRlcmVrLmJ1aXRlbmh1aXNAZ21haWwuY29tPgorLS0tCisg Y29uZmlndXJlLmFjIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5h YworaW5kZXggYjM1ZWY4MGJjLi5kMTk3MTRkMGYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMK KysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEwMiwxMCArMTAyLDEwIEBAIENGTEFHUz0iJF9DRkxB R1MgJEZGTVBFR19DRkxBR1MiCisKKyBBQ19ERUZVTihbVEVTVF9GRk1QRUddLAorICAgICAgICAg IFtBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCistICAgICAgICAgICAgI2luY2x1 ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorKyAgICAgICAgICAgICNpbmNsdWRlIDxsaWJhdmZv cm1hdC9hdmZvcm1hdC5oPgorICAgICAgICAgICAgICNpbmNsdWRlIDxsaWJzd3NjYWxlL3N3c2Nh bGUuaD4KKyAgICAgICAgICAgICBdXSxbWworLSAgICAgICAgICAgICAgICBhdmNvZGVjX3JlZ2lz dGVyX2FsbCgpOworKyAgICAgICAgICAgICAgICBhdmZvcm1hdF9uZXR3b3JrX2luaXQoKTsKKyAg ICAgICAgICAgICAgICAgc3dzY2FsZV92ZXJzaW9uKCk7CisgICAgICAgICAgICAgXV0pXSwgW2V2 YWwgJDE9eWVzXSwgW2V2YWwgJDE9bm9dKQorICAgICAgICAgXSkKKwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9mZm1zMi90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmZtczIvdGVtcGxhdGUKaW5kZXggMzY1ZjY0 ZDEwY2JhYmYuLjE2NDFlY2Y0M2JlNWJiIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZmbXMyL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvZmZtczIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdmZm1zMicKIHBrZ25hbWU9ZmZtczIKIHZlcnNpb249Mi40MAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2Fy Z3M9Ii0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIgogaG9zdG1ha2VkZXBlbmRzPSJw a2ctY29uZmlnIGF1dG9jb25mIGF1dG9tYWtlIGxpYnRvb2wiCgpGcm9tIDgwOTliM2VmNmViMTcz ZjBhOGRkYmI0NTllMzAzMGUzZjViZWJmMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6 NDcgLTA0MDAKU3ViamVjdDogW1BBVENIIDAzMC8xMDldIGZyZWVyZHA6IHJldmJ1bXAgZm9yIGZm bXBlZzYKCi0tLQogc3JjcGtncy9mcmVlcmRwL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9m cmVlcmRwL3RlbXBsYXRlIGIvc3JjcGtncy9mcmVlcmRwL3RlbXBsYXRlCmluZGV4IDE2ZmRkZmJl OGY1Mjg3Li5iZjNhNGQyZTJiM2FlNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9mcmVlcmRwL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvZnJlZXJkcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2ZyZWVyZHAnCiBwa2duYW1lPWZyZWVyZHAKIHZlcnNpb249Mi4xMS40 Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2Fy Z3M9Ii1EV0lUSF9BTFNBPU9OIC1EV0lUSF9DVVBTPU9GRiAtRFdJVEhfRkZNUEVHPU9OCiAgLURX SVRIX0dTVFJFQU1FUl8wXzEwPU9GRiAtRFdJVEhfR1NUUkVBTUVSXzFfMD1PRkYgLURXSVRIX0pQ RUc9T04KCkZyb20gZmZhYmE3M2IzNTQ5NjRhMTM4NjE4ZTgxYTkyNDYwY2EzNGI4Y2MwOSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDMxLzEw OV0gZ2VyYmVyYTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2dlcmJlcmEvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dlcmJlcmEvdGVtcGxhdGUgYi9zcmNwa2dzL2dlcmJl cmEvdGVtcGxhdGUKaW5kZXggYWUxNGYzNWM3NjdjMDMuLjJkYzBhYzBjZTAzYjU1IDEwMDY0NAot LS0gYS9zcmNwa2dzL2dlcmJlcmEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nZXJiZXJhL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ2VyYmVyYScKIHBrZ25h bWU9Z2VyYmVyYQogdmVyc2lvbj0xLjEyLjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxk X3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURXSVRIX1NZU1RFTUQ9MCAtRFdJVEhfQVZD T0RFQz0xIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgoKRnJvbSA0NjE4MDhmN2MzZDhi M2QwMmMwM2E5OTQ3ZWVkNjYxODkzYmM2ODBjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAx OjQ3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMzIvMTA5XSBnb2xkZW5kaWN0OiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvZ29sZGVuZGljdC90ZW1wbGF0ZSB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2dvbGRlbmRpY3QvdGVtcGxhdGUgYi9zcmNwa2dzL2dvbGRlbmRpY3QvdGVtcGxh dGUKaW5kZXggZjRhMDU3NTlmNjkzZDMuLjk3ZjQ0MzQ3YjAzYTZhIDEwMDY0NAotLS0gYS9zcmNw a2dzL2dvbGRlbmRpY3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nb2xkZW5kaWN0L3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ29sZGVuZGljdCcKIHBrZ25h bWU9Z29sZGVuZGljdAogdmVyc2lvbj0xLjUuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVp bGRfc3R5bGU9cW1ha2UKIGNvbmZpZ3VyZV9hcmdzPSJDT05GSUcrPXppbV9zdXBwb3J0IGdvbGRl bmRpY3QucHJvIgogaG9zdG1ha2VkZXBlbmRzPSJxdDUtcW1ha2UgcGtnLWNvbmZpZyBxdDUtaG9z dC10b29scyIKQEAgLTEwLDcgKzEwLDcgQEAgbWFrZWRlcGVuZHM9InRpZmYtZGV2ZWwgcXQ1LWRl dmVsIGxpYnZvcmJpcy1kZXZlbCB6bGliLWRldmVsCiAgcXQ1LXdlYmtpdC1kZXZlbCBsem8tZGV2 ZWwgYnppcDItZGV2ZWwgbGliYW8tZGV2ZWwgcXQ1LXN2Zy1kZXZlbAogIGxpYmViLWRldmVsIHF0 NS14MTFleHRyYXMtZGV2ZWwgZmZtcGVnLWRldmVsIGxpYmx6bWEtZGV2ZWwKICBxdDUtbXVsdGlt ZWRpYS1kZXZlbCIKLXNob3J0X2Rlc2M9IkEgZmVhdHVyZS1yaWNoIGRpY3Rpb25hcnkgbG9va3Vw IHByb2dyYW0iCitzaG9ydF9kZXNjPSJGZWF0dXJlLXJpY2ggZGljdGlvbmFyeSBsb29rdXAgcHJv Z3JhbSIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHA6Ly9nb2xkZW5kaWN0Lm9yZy8iCgpGcm9t IDZjMDFmMGI3YjgwOTcyZTQyNGJlMjBlMTFlZGNhNTM3ZWQ2ZGEzYjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIg TWFyIDIwMjMgMjA6MDE6NDcgLTA0MDAKU3ViamVjdDogW1BBVENIIDAzMy8xMDldIGdzdC1saWJh djogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2dzdC1saWJhdi90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvZ3N0LWxpYmF2L3RlbXBsYXRlIGIvc3JjcGtncy9nc3QtbGliYXYv dGVtcGxhdGUKaW5kZXggYmIwODQyOTFhNmIwYmEuLmU5OGQ4N2Q3YzA2ODM4IDEwMDY0NAotLS0g YS9zcmNwa2dzL2dzdC1saWJhdi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dzdC1saWJhdi90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dzdC1saWJhdicKIHBr Z25hbWU9Z3N0LWxpYmF2CiB2ZXJzaW9uPTEuMjQuMgotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9bWVzb24KIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyB5YXNtIgogbWFr ZWRlcGVuZHM9Im9yYy1kZXZlbCBnc3QtcGx1Z2lucy1iYXNlMS1kZXZlbCBmZm1wZWctZGV2ZWwi CgpGcm9tIGYxYjBlYmM2MGE1Yzg5Yzc5ZDMzZWViMTk1OTJhZmZkM2Q4Y2ZiNjAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFNh dCwgMyBGZWIgMjAyNCAwMTo1Mjo0NiAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDM0LzEwOV0gZ3N0 LXBsdWdpbnMtYmFkMTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2dzdC1wbHVn aW5zLWJhZDEvdGVtcGxhdGUgfCA5ICsrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dzdC1wbHVnaW5z LWJhZDEvdGVtcGxhdGUgYi9zcmNwa2dzL2dzdC1wbHVnaW5zLWJhZDEvdGVtcGxhdGUKaW5kZXgg OWNmODQ1NGQyMzJjZjYuLjhiODAzNzNkMmZmZWNhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dzdC1w bHVnaW5zLWJhZDEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9nc3QtcGx1Z2lucy1iYWQxL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZ3N0LXBsdWdpbnMtYmFk MScKIHBrZ25hbWU9Z3N0LXBsdWdpbnMtYmFkMQogdmVyc2lvbj0xLjI0LjIKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX2hlbHBlcj0iZ2lyIgogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZp Z3VyZV9hcmdzPSItRHBhY2thZ2Utb3JpZ2luPWh0dHBzOi8vdm9pZGxpbnV4Lm9yZyAtRGRvYz1k aXNhYmxlZApAQCAtMjYsOCArMjYsOCBAQCBtYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2ZWwgY2Vs dC1kZXZlbCBvcGVuc3NsLWRldmVsIGV4ZW1waS1kZXZlbAogIGxpYmd1ZGV2LWRldmVsIGxpYnVz Yi1kZXZlbCBsaWJhb20tZGV2ZWwgbGliYnMyYi1kZXZlbCBjaHJvbWFwcmludC1kZXZlbAogIGZk ay1hYWMtZGV2ZWwgZmxpdGUtZGV2ZWwgZmx1aWRzeW50aC1kZXZlbCBsaWJscmRmLWRldmVsIGxh ZHNwYS1zZGsKICBsaWx2LWRldmVsIGx2MiBsaWJvcGVuanBlZzItZGV2ZWwgc2JjLWRldmVsIHNw YW5kc3AtZGV2ZWwgdnVsa2FuLWxvYWRlci1kZXZlbAotIHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5n LWRldmVsIGxpYnpiYXItZGV2ZWwgZmZtcGVnLWRldmVsIHNydC1kZXZlbCBsaWJ2YS1kZXZlbAot ICQodm9wdF9pZiBnbWUgbGliZ21lLWRldmVsKSIKKyB3ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy1k ZXZlbCBsaWJ6YmFyLWRldmVsIGZmbXBlZy1kZXZlbAorIHNydC1kZXZlbCBsaWJ2YS1kZXZlbCAk KHZvcHRfaWYgb25ldnBsIG9uZVZQTC1kZXZlbCkgJCh2b3B0X2lmIGdtZSBsaWJnbWUtZGV2ZWwp IgogZGVwZW5kcz0iZ3N0LXBsdWdpbnMtYmFzZTE+PSR7dmVyc2lvbn0iCiBzaG9ydF9kZXNjPSJH U3RyZWFtZXIgcGx1Z2lucyBmcm9tIHRoZSBiYWQgc2V0ICh2MS54KSIKIG1haW50YWluZXI9Ik9y cGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCkBAIC0zNyw3ICszNyw3IEBAIGNoYW5nZWxv Zz0iaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLyR7dmVyc2lvbiUu Kn0vIyR7dmVyc2lvbn0iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9w Lm9yZy9zcmMvZ3N0LXBsdWdpbnMtYmFkL2dzdC1wbHVnaW5zLWJhZC0ke3ZlcnNpb259LnRhci54 eiIKIGNoZWNrc3VtPTQ0OGUzMjc4N2JjODJiNTg2YzZjYjJmODFjOWE4ZWY0MDRmZWE0Zjc3ZjI1 NTY2ZmUwNmU1OTdhM2Y1OTEzNmIKIAotYnVpbGRfb3B0aW9ucz0iZ2lyIGdtZSB3YXlsYW5kIgor YnVpbGRfb3B0aW9ucz0iZ2lyIGdtZSBvbmV2cGwgd2F5bGFuZCIKIGJ1aWxkX29wdGlvbnNfZGVm YXVsdD0iZ2lyIHdheWxhbmQiCiBkZXNjX29wdGlvbl9nbWU9IkJ1aWxkIHdpdGggR2FtZSBNdXNp YyBFbXVsYXRvciBzdXBwb3J0IgogCkBAIC00NSw2ICs0NSw3IEBAIENGTEFHUz0iLWZjb21tb24i CiAKIGNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgogCW1pcHMqKSA7OyAjIGxpYmdtZSBj YW5ub3QgYmUgYnVpbHQgZm9yIG1pcHMqCisJeDg2XzY0KikgYnVpbGRfb3B0aW9uc19kZWZhdWx0 Kz0iIGdtZSBvbmV2cGwiIDs7ICMgb25ldnBsIG9ubHkgc3VwcG9ydHMgNjRiaXQKIAkqKSBidWls ZF9vcHRpb25zX2RlZmF1bHQrPSIgZ21lIiA7OwogZXNhYwogCgpGcm9tIDYwOTk1NTYyZjMwZmI1 ZjA1MWZhNTk2NjliMmZiYTE4NTAxMGU0Y2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6 NDcgLTA0MDAKU3ViamVjdDogW1BBVENIIDAzNS8xMDldIGdzdC1ydHNwLXNlcnZlcjogcmV2YnVt cCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2dzdC1ydHNwLXNlcnZlci90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvZ3N0LXJ0c3Atc2VydmVyL3RlbXBsYXRlIGIvc3JjcGtncy9nc3QtcnRz cC1zZXJ2ZXIvdGVtcGxhdGUKaW5kZXggYWIwYmFmMWU3ZDM1YWUuLmRkZTgyNWZjZjdmZTEyIDEw MDY0NAotLS0gYS9zcmNwa2dzL2dzdC1ydHNwLXNlcnZlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L2dzdC1ydHNwLXNlcnZlci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2dzdC1ydHNwLXNlcnZlcicKIHBrZ25hbWU9Z3N0LXJ0c3Atc2VydmVyCiB2ZXJzaW9u PTEuMjQuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24KIGJ1aWxk X2hlbHBlcj1naXIKIGNvbmZpZ3VyZV9hcmdzPSItRGludHJvc3BlY3Rpb249ZW5hYmxlZCIKCkZy b20gZmUwNGU0MTcyNzg5YzYzZmVjNmJmOTEwZGVmNDU2YzBlNjI1ZjRhMSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAy MiBNYXIgMjAyMyAyMDowMTo0NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDM2LzEwOV0gZ3V2Y3Zp ZXc6IHVwZGF0ZSB0byAyLjAuOC4KCi0tLQogc3JjcGtncy9ndXZjdmlldy9wYXRjaGVzL2ZpeC1p bmNsdWRlLnBhdGNoIHwgMTAgKysrKysrKysrKwogc3JjcGtncy9ndXZjdmlldy90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgIHwgIDcgKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZ3V2Y3Zp ZXcvcGF0Y2hlcy9maXgtaW5jbHVkZS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3V2Y3Zp ZXcvcGF0Y2hlcy9maXgtaW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvZ3V2Y3ZpZXcvcGF0Y2hlcy9m aXgtaW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw MC4uNTAzYzJhZjNiNzhjMWEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2d1dmN2aWV3L3Bh dGNoZXMvZml4LWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGEvZ3V2Y3ZpZXcv Z3V2Y3ZpZXcuYworKysrIGIvZ3V2Y3ZpZXcvZ3V2Y3ZpZXcuYworQEAgLTI4LDYgKzI4LDcgQEAK KyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisgI2lu Y2x1ZGUgPGVycm5vLmg+CisrI2luY2x1ZGUgPGxvY2FsZS5oPgorIAorICNpbmNsdWRlICJndmll dy5oIgorICNpbmNsdWRlICJndmlld3Y0bDJjb3JlLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2d1 dmN2aWV3L3RlbXBsYXRlIGIvc3JjcGtncy9ndXZjdmlldy90ZW1wbGF0ZQppbmRleCBkNDJmZDM4 ZmE0YWQxMi4uODZhN2ZkNjE5NjEyYzggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ3V2Y3ZpZXcvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9ndXZjdmlldy90ZW1wbGF0ZQpAQCAtMSw4ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2d1dmN2aWV3JwogcGtnbmFtZT1ndXZjdmlldwotdmVyc2lvbj0y LjAuNwotcmV2aXNpb249MgotY3JlYXRlX3dya3NyYz15ZXMKK3ZlcnNpb249Mi4wLjgKK3Jldmlz aW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWRpc2Fi bGUtc3RhdGljIC0tZGlzYWJsZS1kZWJpYW4tbWVudSIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNv bmZpZyBpbnRsdG9vbCBhdXRvY29uZiBhdXRvbWFrZSBsaWJ0b29sIGdsaWItZGV2ZWwiCkBAIC0x NCw3ICsxMyw3IEBAIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4i CiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHA6Ly9ndXZjdmlldy5z b3VyY2Vmb3JnZS5uZXQvIgogZGlzdGZpbGVzPSIke1NPVVJDRUZPUkdFX1NJVEV9LyR7cGtnbmFt ZX0vJHtwa2duYW1lfS1zcmMtJHt2ZXJzaW9ufS50YXIuYnoyIgotY2hlY2tzdW09ZjQ3ZDUxZmJk MDZlNDRlZWFhMWE4MmY0YTE1M2M5Mjc1MjdjOTBkOTQ1MTQxOTdhNzBiMjk1NjAyOGNjOGFkNAor Y2hlY2tzdW09YTIxZjRlNDQ4Mjg2NjY2Y2YyN2JhZmVmNTI5MGNjOTUzYTBhMTc5NmI3NTJlNWJi ZTUyMTI2NmRjMTIzMGM4MQogCiBwb3N0X3BhdGNoKCkgewogCXNlZCAnMzFhI2luY2x1ZGUgPGxv Y2FsZS5oPicgLWkgIGd1dmN2aWV3L2d1dmN2aWV3LmMKCkZyb20gZTA0NzA3YWYzMzg1ZjhiZjc5 MzllZDg0ZDA4MjNjNTY4NDYzMWYzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxp Y2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0OCAt MDQwMApTdWJqZWN0OiBbUEFUQ0ggMDM3LzEwOV0gaGFuZGJyYWtlOiB1cGRhdGUgdG8gMS42LjEK Ci0tLQogLi4uL3BhdGNoZXMvZml4LW1pc3NpbmcteDI2NS1saW5rLWZsYWcucGF0Y2ggICAgfCAx MSArKysrKystLS0tLQogLi4uL2hhbmRicmFrZS9wYXRjaGVzL2xpYmhiLXZwbC1pbmNsdWRlLnBh dGNoICAgfCAxNSArKysrKysrKysrKysrKysKIHNyY3BrZ3MvaGFuZGJyYWtlL3RlbXBsYXRlICAg ICAgICAgICAgICAgICAgICAgIHwgMTcgKysrKysrKysrKy0tLS0tLS0KIDMgZmlsZXMgY2hhbmdl ZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9oYW5kYnJha2UvcGF0Y2hlcy9saWJoYi12cGwtaW5jbHVkZS5wYXRjaAoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvaGFuZGJyYWtlL3BhdGNoZXMvZml4LW1pc3NpbmcteDI2NS1saW5rLWZs YWcucGF0Y2ggYi9zcmNwa2dzL2hhbmRicmFrZS9wYXRjaGVzL2ZpeC1taXNzaW5nLXgyNjUtbGlu ay1mbGFnLnBhdGNoCmluZGV4IDI2ZGIwMzg2N2EwYzgzLi5kNmJiMmVkYTYyN2EzNiAxMDA2NDQK LS0tIGEvc3JjcGtncy9oYW5kYnJha2UvcGF0Y2hlcy9maXgtbWlzc2luZy14MjY1LWxpbmstZmxh Zy5wYXRjaAorKysgYi9zcmNwa2dzL2hhbmRicmFrZS9wYXRjaGVzL2ZpeC1taXNzaW5nLXgyNjUt bGluay1mbGFnLnBhdGNoCkBAIC0xLDE0ICsxLDE1IEBACiAtLS0gYS9ndGsvY29uZmlndXJlLmFj CiArKysgYi9ndGsvY29uZmlndXJlLmFjCiBAQCAtMjAzLDcgKzIwMyw3IEBACi0gCisKICBBTV9D T05ESVRJT05BTChbTUlOR1ddLCBbdGVzdCAieCRtaW5nd19mbGFnIiA9ICJ4eWVzIl0pCi0gCi0t SEJfTElCUz0iJEhCX0xJQlMgLWxoYW5kYnJha2UgLWxhdmZvcm1hdCAtbGF2ZmlsdGVyIC1sYXZj b2RlYyAtbGF2dXRpbCAtbGRhdjFkIC1sc3dyZXNhbXBsZSAtbHBvc3Rwcm9jIC1sZHZkbmF2IC1s ZHZkcmVhZCAtbG1wM2xhbWUgLWx2b3JiaXMgLWx2b3JiaXNlbmMgLWxvZ2cgLWxzd3NjYWxlIC1s dGhlb3JhZW5jIC1sdGhlb3JhZGVjIC1sdnB4IC1seiAtbGJ6MiAtbGJsdXJheSAtbGFzcyAtbGZv bnRjb25maWcgLWxmcmVldHlwZSAtbHhtbDIgLWxqYW5zc29uIC1sb3B1cyAtbHNwZWV4IC1sdHVy Ym9qcGVnIC1sbHptYSAtbHppbWciCi0rSEJfTElCUz0iJEhCX0xJQlMgLWxoYW5kYnJha2UgLWxh dmZvcm1hdCAtbGF2ZmlsdGVyIC1sYXZjb2RlYyAtbGF2dXRpbCAtbGRhdjFkIC1sc3dyZXNhbXBs ZSAtbHBvc3Rwcm9jIC1sZHZkbmF2IC1sZHZkcmVhZCAtbG1wM2xhbWUgLWx2b3JiaXMgLWx2b3Ji aXNlbmMgLWxvZ2cgLWxzd3NjYWxlIC1sdGhlb3JhZW5jIC1sdGhlb3JhZGVjIC1sdnB4IC1seiAt bGJ6MiAtbGJsdXJheSAtbGFzcyAtbGZvbnRjb25maWcgLWxmcmVldHlwZSAtbHhtbDIgLWxqYW5z c29uIC1sb3B1cyAtbHNwZWV4IC1sdHVyYm9qcGVnIC1sbHptYSAtbHppbWcgLWxkbCIKKworLUhC X0xJQlM9IiRIQl9MSUJTIC1saGFuZGJyYWtlIC1sYXZmb3JtYXQgLWxhdmZpbHRlciAtbGF2Y29k ZWMgLWxhdnV0aWwgLWxkYXYxZCAtbHN3cmVzYW1wbGUgLWxwb3N0cHJvYyAtbGR2ZG5hdiAtbGR2 ZHJlYWQgLWxtcDNsYW1lIC1sdm9yYmlzIC1sdm9yYmlzZW5jIC1sb2dnIC1sc3dzY2FsZSAtbHRo ZW9yYWVuYyAtbHRoZW9yYWRlYyAtbHZweCAtbHogLWxiejIgLWxibHVyYXkgLWxhc3MgLWxmb250 Y29uZmlnIC1sZnJlZXR5cGUgLWx4bWwyIC1samFuc3NvbiAtbG9wdXMgLWxzcGVleCAtbHR1cmJv anBlZyAtbGx6bWEgLWx6aW1nIC1sU3Z0QXYxRW5jIgorK0hCX0xJQlM9IiRIQl9MSUJTIC1saGFu ZGJyYWtlIC1sYXZmb3JtYXQgLWxhdmZpbHRlciAtbGF2Y29kZWMgLWxhdnV0aWwgLWxkYXYxZCAt bHN3cmVzYW1wbGUgLWxwb3N0cHJvYyAtbGR2ZG5hdiAtbGR2ZHJlYWQgLWxtcDNsYW1lIC1sdm9y YmlzIC1sdm9yYmlzZW5jIC1sb2dnIC1sc3dzY2FsZSAtbHRoZW9yYWVuYyAtbHRoZW9yYWRlYyAt bHZweCAtbHogLWxiejIgLWxibHVyYXkgLWxhc3MgLWxmb250Y29uZmlnIC1sZnJlZXR5cGUgLWx4 bWwyIC1samFuc3NvbiAtbG9wdXMgLWxzcGVleCAtbHR1cmJvanBlZyAtbGx6bWEgLWx6aW1nIC1s U3Z0QXYxRW5jIC1sZGwiCiAgSEJfQ1BQRkxBR1M9IiRIQl9DUFBGTEFHUyAkSEJJTkMiCi0gCisK ICBQS0dfQ0hFQ0tfTU9EVUxFUyhbeDI2NF0sIFt4MjY0XSwgc3lzX3gyNjQ9eWVzLCBzeXNfeDI2 ND1ubykKKwogLS0tIGEvdGVzdC9tb2R1bGUuZGVmcwogKysrIGIvdGVzdC9tb2R1bGUuZGVmcwog QEAgLTY5LDYgKzY5LDkgQEAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaGFuZGJyYWtlL3BhdGNoZXMv bGliaGItdnBsLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2hhbmRicmFrZS9wYXRjaGVzL2xpYmhi LXZwbC1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MDAwLi4yOThmOWY0YWIyOGYyYQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvaGFuZGJyYWtl L3BhdGNoZXMvbGliaGItdnBsLWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorLS0tIGEv bGliaGIvbW9kdWxlLmRlZnMJMjAyMy0wMS0yMiAxMTozNjo0OS4wMDAwMDAwMDAgLTA1MDAKKysr KyBiL2xpYmhiL21vZHVsZS5kZWZzCTIwMjMtMDQtMDMgMjI6Mzc6NTIuMzk1NDY3MDEwIC0wNDAw CitAQCAtNDYsMTEgKzQ2LDcgQEAKKyBMSUJIQi5HQ0MuSSArPSAkKExJQkhCLmJ1aWxkLykgJChD T05UUklCLmJ1aWxkLylpbmNsdWRlCisgCisgaWZlcSAoMSwkKEZFQVRVUkUucXN2KSkKKy0gICAg aWZlcSAoJChIT1NULnN5c3RlbSksZnJlZWJzZCkpCistICAgICAgICBMSUJIQi5HQ0MuSSArPSAk KExPQ0FMQkFTRSkvaW5jbHVkZS92cGwKKy0gICAgZWxzZQorLSAgICAgICAgTElCSEIuR0NDLkkg Kz0gJChDT05UUklCLmJ1aWxkLylpbmNsdWRlL3ZwbAorLSAgICBlbmRpZgorKyAgICBMSUJIQi5H Q0MuSSArPSAvdXNyL2luY2x1ZGUvdnBsCisgZW5kaWYKKyAKKyBpZm5lcSAoLCQoZmlsdGVyICQo SE9TVC5zeXN0ZW0pLGZyZWVic2QgbmV0YnNkIG9wZW5ic2QpKQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9oYW5kYnJha2UvdGVtcGxhdGUgYi9zcmNwa2dzL2hhbmRicmFrZS90ZW1wbGF0ZQppbmRleCBj YTVlNDU3MWU0OWMzNy4uNmFjMjAwZjA5Y2Y1ZDAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvaGFuZGJy YWtlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvaGFuZGJyYWtlL3RlbXBsYXRlCkBAIC0xLDEwICsx LDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdoYW5kYnJha2UnCiBwa2duYW1lPWhhbmRicmFr ZQotdmVyc2lvbj0xLjUuMQordmVyc2lvbj0xLjYuMQogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZm9yY2UgLS1kaXNhYmxlLWd0ay11cGRh dGUtY2hlY2tzIC0tZGlzYWJsZS1kZi1mZXRjaCAtLWhhcmRlbgotICQodm9wdF9lbmFibGUgZmRr X2FhYyBmZGstYWFjKSAkKHZvcHRfZW5hYmxlIG52ZW5jKSIKKyAkKHZvcHRfZW5hYmxlIGZka19h YWMgZmRrLWFhYykgJCh2b3B0X2VuYWJsZSBudmVuYykgJCh2b3B0X2VuYWJsZSBxc3YpIgogbWFr ZV9idWlsZF9hcmdzPSItQyAke1hCUFNfVFJJUExFVH0iCiBtYWtlX2luc3RhbGxfYXJncz0iLUMg JHtYQlBTX1RSSVBMRVR9IgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBjbWFrZSBnZXR0ZXh0 LWRldmVsIGdsaWItZGV2ZWwgaW50bHRvb2wgbGlidG9vbCBtNCBtZXNvbiBuYXNtIHBrZy1jb25m aWcgcHl0aG9uMyIKQEAgLTEyLDggKzEyLDExIEBAIG1ha2VkZXBlbmRzPSJiemlwMi1kZXZlbCBm Zm1wZWctZGV2ZWwgZ3N0LXBsdWdpbnMtYmFzZTEtZGV2ZWwgZ3RrKzMtZGV2ZWwKICBqYW5zc29u LWRldmVsIGxhbWUtZGV2ZWwgbGliYXNzLWRldmVsIGxpYmJsdXJheS1kZXZlbCBsaWJkYXYxZC1k ZXZlbAogIGxpYmR2ZG5hdi1kZXZlbCBsaWJkdmRyZWFkLWRldmVsIGxpYmd1ZGV2LWRldmVsIGxp Ym51bWEtZGV2ZWwKICBsaWJzYW1wbGVyYXRlLWRldmVsIGxpYnRoZW9yYS1kZXZlbCBsaWJ2b3Ji aXMtZGV2ZWwgbGlidnB4LWRldmVsIGxpYnhtbDItZGV2ZWwKLSBvcHVzLWRldmVsIHNwZWV4LWRl dmVsIHgyNjQtZGV2ZWwgeDI2NS1kZXZlbCB6aW1nLWRldmVsCisgb3B1cy1kZXZlbCBzcGVleC1k ZXZlbCB4MjY0LWRldmVsIHgyNjUtZGV2ZWwgemltZy1kZXZlbCBsaWJzdnQtYXYxLWRldmVsCiAg JCh2b3B0X2lmIGZka19hYWMgZmRrLWFhYy1kZXZlbCkKKyAkKHZvcHRfaWYgcXN2IGxpYnZhLWRl dmVsKQorICQodm9wdF9pZiBxc3YgbGliZHJtLWRldmVsKQorICQodm9wdF9pZiBxc3Ygb25lVlBM LWRldmVsKQogICQodm9wdF9pZiBudmVuYyBudi1jb2RlYy1oZWFkZXJzKSIKIGRlcGVuZHM9ImRl c2t0b3AtZmlsZS11dGlscyBnc3QtcGx1Z2lucy1nb29kMSBoaWNvbG9yLWljb24tdGhlbWUiCiBz aG9ydF9kZXNjPSJNdWx0aXRocmVhZGVkIHZpZGVvIHRyYW5zY29kZXIiCkBAIC0yMSwxNSArMjQs MTUgQEAgbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxp Y2Vuc2U9IkdQTC0yLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL2hhbmRicmFrZS5mci8iCiBk aXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9IYW5kQnJha2UvSGFuZEJyYWtlL3JlbGVhc2Vz L2Rvd25sb2FkLyR7dmVyc2lvbn0vSGFuZEJyYWtlLSR7dmVyc2lvbn0tc291cmNlLnRhci5iejIi Ci1jaGVja3N1bT0zOTk5ZmUwNmQ1MzA5YzgxOTc5OWE3M2E5NjhhOGVjMzg0MGU3ODQwYzJiNjRh ZjhmNWNkYjdmZDhjOTQzMGYwCitjaGVja3N1bT05NGNjZmUwM2RiOTE3YTkxNjUwMDAwYzUxMGY3 ZmQ1M2Y4NDRkYTE5ZjE5YWQ0YjRiZTFiOGY2YmMzMWE4ZDRjCiBub2Nyb3NzPXllcwogCi1idWls ZF9vcHRpb25zPSJmZGtfYWFjIG52ZW5jIgorYnVpbGRfb3B0aW9ucz0iZmRrX2FhYyBudmVuYyBx c3YiCiAKIGNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgogCXg4Nl82NCp8aTY4NiopCiAJ CUNGTEFHUz0iLW1zc2UiCi0JCWJ1aWxkX29wdGlvbnNfZGVmYXVsdD0ibnZlbmMiCisJCWJ1aWxk X29wdGlvbnNfZGVmYXVsdD0ibnZlbmMgcXN2IgogCQk7OwogZXNhYwogCkBAIC0zNyw3ICs0MCw3 IEBAIHByZV9jb25maWd1cmUoKSB7CiAJIyB1c2Ugc3lzdGVtIGxpYnJhcmllcywgZG9uJ3QgZG93 bmxvYWQgdGhlbQogCXJtIC1yZiBjb250cmliLwogCWZvciBtb2R1bGUgaW4gZmRrLWFhYyBmZm1w ZWcgbGliYmx1cmF5IGxpYmRhdjFkIGxpYmR2ZG5hdiBsaWJkdmRyZWFkIG52ZW5jIFwKLQkJeDI2 NSB6aW1nOyBkbworCQl4MjY1IHppbWcgc3Z0LWF2MSBsaWJ2cGw7IGRvCiAJICAgIHZzZWQgLWkg Ii9NT0RVTEVTICs9IGNvbnRyaWJcLyR7bW9kdWxlfS9kIiBtYWtlL2luY2x1ZGUvbWFpbi5kZWZz CiAJZG9uZQogfQoKRnJvbSA4MGQ5OGIyOWI3MmU2NjQ2ZGFiMWEwZGI1YzE1NGMzZjYwMTUyZGNm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29t PgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAw MzgvMTA5XSBoZWRnZXdhcnM6IHJldmJ1bXAgZm9yIGZmbXBlZzQKCi0tLQogc3JjcGtncy9oZWRn ZXdhcnMvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9oZWRnZXdhcnMvdGVtcGxhdGUg Yi9zcmNwa2dzL2hlZGdld2Fycy90ZW1wbGF0ZQppbmRleCA5NGI2ZGI2NzNiMGMzYS4uNDAyY2Nm YWFlY2JjMmQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvaGVkZ2V3YXJzL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvaGVkZ2V3YXJzL3RlbXBsYXRlCkBAIC0xLDEzICsxLDEzIEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdoZWRnZXdhcnMnCiBwa2duYW1lPWhlZGdld2FycwogdmVyc2lvbj0xLjAuMgotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSIt RE5PU0VSVkVSPTEgLUREQVRBX0lOU1RBTExfRElSPS91c3Ivc2hhcmUvJHtwa2duYW1lfQogIC1E UEhZU0ZTX1NZU1RFTT0xIC1ETUlOSU1BTF9GTEFHUz0xIgogbWFrZV9jbWQ9bWFrZQogaG9zdG1h a2VkZXBlbmRzPSJsdWE1MSBwa2ctY29uZmlnIHF0NS1xbWFrZSBxdDUtaG9zdC10b29scyIKLW1h a2VkZXBlbmRzPSJmZm1wZWctZGV2ZWwgbHVhNTEtZGV2ZWwgcGh5c2ZzLWRldmVsIHF0NS10b29s cy1kZXZlbCBTREwyX2ltYWdlLWRldmVsCittYWtlZGVwZW5kcz0iZmZtcGVnNC1kZXZlbCBsdWE1 MS1kZXZlbCBwaHlzZnMtZGV2ZWwgcXQ1LXRvb2xzLWRldmVsIFNETDJfaW1hZ2UtZGV2ZWwKICBT REwyX21peGVyLWRldmVsIFNETDJfbmV0LWRldmVsIFNETDJfdHRmLWRldmVsIgogZGVwZW5kcz0i bGliZnJlZWdsdXQiCiBzaG9ydF9kZXNjPSJGdW5ueSB0dXJuLWJhc2VkIGFydGlsbGVyeSBnYW1l LCBmZWF0dXJpbmcgZmlnaHRpbmcgSGVkZ2Vob2dzISIKCkZyb20gMWQ3ZTUwMTBlZGQ4YjEyYzBl NjRlOTVkNWM1YjVmNjJiZTg0NzM1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxp Y2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0OCAt MDQwMApTdWJqZWN0OiBbUEFUQ0ggMDM5LzEwOV0gaWRqYzogcmV2YnVtcCBmb3IgZmZtcGVnNAoK LS0tCiBzcmNwa2dzL2lkamMvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9pZGpjL3Rl bXBsYXRlIGIvc3JjcGtncy9pZGpjL3RlbXBsYXRlCmluZGV4IGE5Y2RlMDY2NWQ1NWIxLi5mNDFl MWU0ZmFiYmFlNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9pZGpjL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvaWRqYy90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn aWRqYycKIHBrZ25hbWU9aWRqYwogdmVyc2lvbj0wLjkuMQotcmV2aXNpb249NQorcmV2aXNpb249 NgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IGdpdCBweXRob24zIGF1dG9tYWtlIGdldHRleHQtZGV2ZWwgbGlidG9vbCIKIG1ha2VkZXBlbmRz PSJsaWJ2b3JiaXMtZGV2ZWwgbGlib2dnLWRldmVsIGphY2stZGV2ZWwgbGlic2FtcGxlcmF0ZS1k ZXZlbAotIGxpYmZsYWMtZGV2ZWwgbGlic25kZmlsZS1kZXZlbCBtcGcxMjMtZGV2ZWwgZmZtcGVn LWRldmVsIHNwZWV4LWRldmVsCisgbGliZmxhYy1kZXZlbCBsaWJzbmRmaWxlLWRldmVsIG1wZzEy My1kZXZlbCBmZm1wZWc0LWRldmVsIHNwZWV4LWRldmVsCiAgZ2xpYi1kZXZlbCBwaXhtYW4tZGV2 ZWwgbGFtZS1kZXZlbCBweXRob24zLWdvYmplY3QtZGV2ZWwgbGlic2hvdXQtaWRqYy1kZXZlbAog IG9wdXMtZGV2ZWwgdHdvbGFtZS1kZXZlbCBweXRob24zLW11dGFnZW4gcHl0aG9uMy1kZXZlbCIK IGRlcGVuZHM9InB5dGhvbjMtZ29iamVjdCBweXRob24zLW11dGFnZW4gZGVza3RvcC1maWxlLXV0 aWxzIHNoYXJlZC1taW1lLWluZm8gcHl0aG9uMy1kYnVzIGphY2siCgpGcm9tIDc2YTFjOTRhODIy NzI4M2FhMWFmZDM1Y2M2MDNlMmRiYTBkZjQ0ZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6 MDE6NDggLTA0MDAKU3ViamVjdDogW1BBVENIIDA0MC8xMDldIGtpZDM6IHJldmJ1bXAgZm9yIGZm bXBlZzYKCi0tLQogc3JjcGtncy9raWQzL3BhdGNoZXMvZmZtcGVnNS5wYXRjaCB8IDE3ICsrKysr KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3Mva2lkMy9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2tpZDMvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9raWQzL3BhdGNo ZXMvZmZtcGVnNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw MC4uMTM1ZmM1MGUwN2M5YmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2tpZDMvcGF0Y2hl cy9mZm1wZWc1LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKKyMgaHR0cHM6Ly9hdXIuYXJjaGxpbnV4 Lm9yZy9jZ2l0L2F1ci5naXQvZGlmZi9mZm1wZWc1LnBhdGNoP2g9a2lkMy1jbGkmaWQ9MTI0MTBh NzQ5MDY2MTJlN2VmYzBlYzhmYmNlNzM5YjRhMGZlZjdlNworZGlmZiAtLWdpdCBhL3NyYy9wbHVn aW5zL2Fjb3VzdGlkaW1wb3J0L2ZmbXBlZ2ZpbmdlcnByaW50ZGVjb2Rlci5jcHAgYi9zcmMvcGx1 Z2lucy9hY291c3RpZGltcG9ydC9mZm1wZWdmaW5nZXJwcmludGRlY29kZXIuY3BwCitpbmRleCBl MTU2ZDQyNC4uZTEyYjlhYmQgMTAwNjQ0CistLS0gYS9zcmMvcGx1Z2lucy9hY291c3RpZGltcG9y dC9mZm1wZWdmaW5nZXJwcmludGRlY29kZXIuY3BwCisrKysgYi9zcmMvcGx1Z2lucy9hY291c3Rp ZGltcG9ydC9mZm1wZWdmaW5nZXJwcmludGRlY29kZXIuY3BwCitAQCAtMjMyLDcgKzIzMiwxMSBA QCBwcml2YXRlOgorICAgZnJpZW5kIGNsYXNzIEZvcm1hdDsKKyAgIGZyaWVuZCBjbGFzcyBDb252 ZXJ0ZXI7CisgICBBVkNvZGVjQ29udGV4dCogbV9wdHI7CisrI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9JTlQgPCBBVl9WRVJTSU9OX0lOVCg1OSwgMCwgMCkKKyAgIEFWQ29kZWMqIG1faW1wbDsKKysj ZWxzZQorKyAgY29uc3QgQVZDb2RlYyogbV9pbXBsOworKyNlbmRpZgorICAgQVZGcmFtZSogbV9m cmFtZTsKKyAgIGJvb2wgbV9vcGVuZWQ7CisgfTsKCkZyb20gMjMyMTI1MzhlNjY4ZGVhMGY0MTNl Yjc4MTUzNWI3MDlkZjAwN2UxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2Ug PHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0OCAtMDQw MApTdWJqZWN0OiBbUEFUQ0ggMDQxLzEwOV0ga29kaTogcmV2YnVtcCBmb3IgZmZtcGVnNAoKLS0t CiBzcmNwa2dzL2tvZGkvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9rb2RpL3RlbXBs YXRlIGIvc3JjcGtncy9rb2RpL3RlbXBsYXRlCmluZGV4IGQzN2E1OTE4Y2Q2NzU4Li5lYTc4ZTBh Y2EwZmUzZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9rb2RpL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv a29kaS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tvZGkn CiBwa2duYW1lPWtvZGkKIHZlcnNpb249MTkuNAotcmV2aXNpb249OQorcmV2aXNpb249MTAKIF9j b2RlbmFtZT0iTWF0cml4IgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFdJ VEhfRkZNUEVHPS91c3IgLURFTkFCTEVfTERHT0xEPU9GRgpAQCAtNTQsNyArNTQsNyBAQCBtYWtl ZGVwZW5kcz0iCiAgbGlibWFkLWRldmVsIGZvbnRjb25maWctZGV2ZWwgbGliWGluZXJhbWEtZGV2 ZWwgbGlic2FtcGxlcmF0ZS1kZXZlbCBsaWJtbXMtZGV2ZWwKICBlbmNhLWRldmVsIGJvb3N0LWRl dmVsIGxpYmN1cmwtZGV2ZWwgbGlidmEtZGV2ZWwgbGlidmRwYXUtZGV2ZWwgbGliYXNzLWRldmVs CiAgbGliYmx1ZXRvb3RoLWRldmVsIHlhamwtZGV2ZWwgbGlicGxpc3QtZGV2ZWwgbGlicnRtcC1k ZXZlbCB0aW55eG1sLWRldmVsCi0gdGFnbGliLWRldmVsIGxpYmNhcC1kZXZlbCBsYW1lLWRldmVs IGxpYmJsdXJheS1kZXZlbCBsaWJuZnMtZGV2ZWwgZmZtcGVnLWRldmVsCisgdGFnbGliLWRldmVs IGxpYmNhcC1kZXZlbCBsYW1lLWRldmVsIGxpYmJsdXJheS1kZXZlbCBsaWJuZnMtZGV2ZWwgZmZt cGVnNC1kZXZlbAogIGdpZmxpYi1kZXZlbCBsaWJ4c2x0LWRldmVsIGdudXRscy1kZXZlbCBsaWJz c2gtZGV2ZWwgbGlibWljcm9odHRwZC1kZXZlbAogIGxpYmNlYy1kZXZlbCBkY2FkZWMtZGV2ZWwg ZmxhdGJ1ZmZlcnMtZGV2ZWwgZm10LWRldmVsIGxjbXMyLWRldmVsCiAgbGliZnN0cmNtcC1kZXZl bCByYXBpZGpzb24gbGliY2Rpby1wYXJhbm9pYSBzcGRsb2cgbGlid2F5bGFuZHBwLWRldmVsCgpG cm9tIGNmZTU4N2Q0YzExZDg5MGY0NGI5NGQyNTc3MWYzYTA3MDlhNzg4NDYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwg MjIgTWFyIDIwMjMgMjA6MDE6NDggLTA0MDAKU3ViamVjdDogW1BBVENIIDA0Mi8xMDldIGtwaXBl d2lyZTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2twaXBld2lyZS90ZW1wbGF0 ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva3BpcGV3aXJlL3RlbXBsYXRlIGIvc3JjcGtncy9rcGlwZXdp cmUvdGVtcGxhdGUKaW5kZXggYTFkNWM4N2IwZTgwNmEuLjk5MWMyYjAxNTQ1MDAxIDEwMDY0NAot LS0gYS9zcmNwa2dzL2twaXBld2lyZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2twaXBld2lyZS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2twaXBld2lyZScK IHBrZ25hbWU9a3BpcGV3aXJlCiB2ZXJzaW9uPTYuMC40Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0z CiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPXFlbXUKIGNvbmZpZ3VyZV9hcmdzPSIt REtERV9JTlNUQUxMX1FNTERJUj1saWIvcXQ2L3FtbCIKCkZyb20gNGEyMjZjYmIzMmVjMjMwNjAx MTFkODc3Yjg0NmQxYmM0ZTg4OWNkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxp Y2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0OCAt MDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQzLzEwOV0gbGlib3BlbmFsOiByZXZidW1wIGZvciBmZm1w ZWc2CgotLS0KIHNyY3BrZ3MvbGlib3BlbmFsL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aWJvcGVuYWwvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYm9wZW5hbC90ZW1wbGF0ZQppbmRleCA4OGQw ZjExMzA3ZDgxYS4uODMwOGZjYTAzOTNlMzMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGlib3BlbmFs L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbGlib3BlbmFsL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlib3BlbmFsJwogcGtnbmFtZT1saWJvcGVuYWwKIHZl cnNpb249MS4yMy4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQog Y29uZmlndXJlX2FyZ3M9Ii1EQUxTT0ZUX0VYQU1QTEVTPU9GRiIKIGhvc3RtYWtlZGVwZW5kcz0i cGtnLWNvbmZpZyIKCkZyb20gMWYzNTI0NDdhNDUwOTQ2ZTBhN2I0OGUyNTBiZTE4ZjVjNGQwOGVl YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MDQ0LzEwOV0gbG91ZGdhaW46IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9sb3Vk Z2Fpbi9wYXRjaGVzL2ZmbXBlZzUucGF0Y2ggfCAxMSArKysrKysrKysrKwogc3JjcGtncy9sb3Vk Z2Fpbi90ZW1wbGF0ZSAgICAgICAgICAgICAgfCAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAxMiBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9s b3VkZ2Fpbi9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xvdWRn YWluL3BhdGNoZXMvZmZtcGVnNS5wYXRjaCBiL3NyY3BrZ3MvbG91ZGdhaW4vcGF0Y2hlcy9mZm1w ZWc1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4xNmQ0 NTEwZWU5OGZhYQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbG91ZGdhaW4vcGF0Y2hlcy9m Zm1wZWc1LnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL3NyYy9zY2FuLmMJMjAxOS0wOS0w NiAxMTozMToxOS4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3NyYy9zY2FuLmMJMjAyMy0wMy0yMyAx MToxNTo0MC44Njc5Njg1MjEgLTA0MDAKK0BAIC02OSw4ICs2OSw2IEBACisgCSAqIEl0IGlzIG5v dyB1c2VsZXNzCisgCSAqIGh0dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcvRkZtcGVnL2Jsb2IvNzBk MjUyNjhjMjFjYmVlNWYwODMwNGRhOTViZTFmNjQ3YzYzMGMxNS9kb2MvQVBJY2hhbmdlcyNMODYK KyAJICovCistICBpZiAoYXZmb3JtYXRfdmVyc2lvbigpIDwgQVZfVkVSU0lPTl9JTlQoNTgsOSwx MDApKQorLSAgICBhdl9yZWdpc3Rlcl9hbGwoKTsKKyAKKyAJYXZfbG9nX3NldF9jYWxsYmFjayhz Y2FuX2F2X2xvZyk7CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xvdWRnYWluL3RlbXBsYXRlIGIv c3JjcGtncy9sb3VkZ2Fpbi90ZW1wbGF0ZQppbmRleCBkYTRmMmQ1NmU5NGMzZC4uNGQ2YmYyOWVm YjRmZGQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbG91ZGdhaW4vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9sb3VkZ2Fpbi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J2xvdWRnYWluJwogcGtnbmFtZT1sb3VkZ2FpbgogdmVyc2lvbj0wLjYuOAotcmV2aXNpb249Mgor cmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZp ZyIKIG1ha2VkZXBlbmRzPSJsaWJlYnVyMTI4LWRldmVsIHRhZ2xpYi1kZXZlbCBmZm1wZWctZGV2 ZWwiCgpGcm9tIDhkNmZiMjE4MTAzNGQwM2YzZGFlMjk2ZGI0ZmM3ZTM1ODllN2M4ZjAgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NDggLTA0MDAKU3ViamVjdDogW1BBVENIIDA0NS8xMDld IG1lZGlhc3RyZWFtZXI6IHJldmJ1bXAgZm9yIGZmbXBlZzQKCi0tLQogc3JjcGtncy9tZWRpYXN0 cmVhbWVyL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWVkaWFzdHJlYW1lci90ZW1w bGF0ZSBiL3NyY3BrZ3MvbWVkaWFzdHJlYW1lci90ZW1wbGF0ZQppbmRleCAwZmNmZmE3NjUzZDE4 ZS4uZTg4ODYyNmI5NDVlNTUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbWVkaWFzdHJlYW1lci90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL21lZGlhc3RyZWFtZXIvdGVtcGxhdGUKQEAgLTEsMTEgKzEsMTEg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ21lZGlhc3RyZWFtZXInCiBwa2duYW1lPW1lZGlhc3Ry ZWFtZXIKIHZlcnNpb249NS4yLjExMQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5 bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREVOQUJMRV9TVFJJQ1Q9MCAtREVOQUJMRV9VTklU X1RFU1RTPTAiCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMiCi1tYWtlZGVwZW5kcz0iYnpydHAt ZGV2ZWwgZmZtcGVnLWRldmVsIGdsZXctZGV2ZWwgbGliWHYtZGV2ZWwgbGlic3J0cC1kZXZlbAor bWFrZWRlcGVuZHM9ImJ6cnRwLWRldmVsIGZmbXBlZzQtZGV2ZWwgZ2xldy1kZXZlbCBsaWJYdi1k ZXZlbCBsaWJzcnRwLWRldmVsCiAgbGlidXBucC1kZXZlbCBsaWJ2cHgtZGV2ZWwgbWJlZHRscy1k ZXZlbCBvcHVzLWRldmVsIG9ydHAtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbAogIGxpYnRoZW9yYS1k ZXZlbCBzcGVleC1kZXZlbCB2NGwtdXRpbHMtZGV2ZWwgYmNnNzI5LWRldmVsIGJjbWF0cm9za2Ey LWRldmVsIGxpYmdzbS1kZXZlbAogIHp4aW5nLWNwcC1kZXZlbCIKCkZyb20gNWQxYjUxMGE2OTkw OTJlYzRiZDNlMmNlNjAwNzlkM2QwMWEyZmI2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDow MTo0OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQ2LzEwOV0gbWdiYTogcmV2YnVtcCBmb3IgZmZt cGVnNgoKLS0tCiBzcmNwa2dzL21nYmEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21nYmEv dGVtcGxhdGUgYi9zcmNwa2dzL21nYmEvdGVtcGxhdGUKaW5kZXggNmNkNjU2NTAzMTI1NDMuLjkz NDAxYWRiNjE4YmQ4IDEwMDY0NAotLS0gYS9zcmNwa2dzL21nYmEvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9tZ2JhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn bWdiYScKIHBrZ25hbWU9bWdiYQogdmVyc2lvbj0wLjEwLjMKLXJldmlzaW9uPTEKK3JldmlzaW9u PTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1LWhv c3QtdG9vbHMgcXQ1LXFtYWtlIGRlc2t0b3AtZmlsZS11dGlscyIKIG1ha2VkZXBlbmRzPSJTREwy LWRldmVsIGZmbXBlZy1kZXZlbCBsaWJlZGl0LWRldmVsIGxpYmVwb3h5LWRldmVsIGxpYm1hZ2lj ay1kZXZlbAoKRnJvbSA3ZTE5N2I0YWI5ZTRhNWMyZDVjMjZhNGYyNjdhNzViNjM3ZGVlYjFlIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpE YXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjQ5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNDcv MTA5XSBtbHQ6IHJldmJ1bXAgZm9yIGZmbXBlZzQKCi0tLQogc3JjcGtncy9tbHQvdGVtcGxhdGUg fCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tbHQvdGVtcGxhdGUgYi9zcmNwa2dzL21sdC90ZW1wbGF0 ZQppbmRleCA3M2UzOTE1YWFhYjlhYy4uZDdlZDRjNGIzMGE4NjggMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvbWx0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbWx0L3RlbXBsYXRlCkBAIC0xLDE0ICsxLDE0 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtbHQnCiBwa2duYW1lPW1sdAogdmVyc2lvbj02LjI2 LjEKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPWNvbmZpZ3VyZQogY29uZmln dXJlX2FyZ3M9Ii0tcHJlZml4PS91c3IgLS1saWJkaXI9L3Vzci9saWIkWEJQU19UQVJHRVRfV09S RFNJWkUKICAtLWVuYWJsZS1ncGwgLS1lbmFibGUtZ3BsMyAtLWRpc2FibGUtc3dmZGVjIC0td2l0 aG91dC1rZGUKICAtLXN3aWctbGFuZ3VhZ2VzPXB5dGhvbiIKIGhvc3RtYWtlZGVwZW5kcz0iZG94 eWdlbiBwa2ctY29uZmlnIGxhZHNwYS1zZGsgc3dpZyBweXRob24zIHdoaWNoIgogIyBYWFg6IG1v dml0IHZpZC5zdGFiCi1tYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2ZWwgZmZtcGVnLWRldmVsIGd0 aystZGV2ZWwgamFjay1kZXZlbCBsYWRzcGEtc2RrCittYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2 ZWwgZmZtcGVnNC1kZXZlbCBndGsrLWRldmVsIGphY2stZGV2ZWwgbGFkc3BhLXNkawogIGxpYmV4 aWYtZGV2ZWwgbGlic2FtcGxlcmF0ZS1kZXZlbCBsaWJ4bWwyLWRldmVsIHNveC1kZXZlbCBTRExf aW1hZ2UtZGV2ZWwKICBmZnR3LWRldmVsIGZyZWkwci1wbHVnaW5zIHB5dGhvbjMtZGV2ZWwgcHVs c2VhdWRpby1kZXZlbCBtb3ZpdC1kZXZlbAogIGxpYnZpZHN0YWItZGV2ZWwiCgpGcm9tIDBiNmYw MzNjZmI3OTk3ZDg3Yjk2MDgyNWYxOWI5MzRmN2Q0OTRjMDUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIw MjMgMjA6MDE6NDkgLTA0MDAKU3ViamVjdDogW1BBVENIIDA0OC8xMDldIG1vYzogcmV2YnVtcCBm b3IgZmZtcGVnNAoKLS0tCiBzcmNwa2dzL21vYy90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL21vYy90ZW1wbGF0ZSBiL3NyY3BrZ3MvbW9jL3RlbXBsYXRlCmluZGV4IDNhMDQ5MzJjOGYx ZTYxLi44Mzg3NTVmODhkYjA5ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9tb2MvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9tb2MvdGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ21vYycKIHBrZ25hbWU9bW9jCiB2ZXJzaW9uPTIuNS4yCi1yZXZpc2lvbj03CityZXZp c2lvbj04CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWciCi1tYWtlZGVwZW5kcz0iZGItZGV2ZWwgbmN1cnNlcy1kZXZlbCBsaWJjdXJsLWRldmVs IHBvcHQtZGV2ZWwgZmZtcGVnLWRldmVsCittYWtlZGVwZW5kcz0iZGItZGV2ZWwgbmN1cnNlcy1k ZXZlbCBsaWJjdXJsLWRldmVsIHBvcHQtZGV2ZWwgZmZtcGVnNC1kZXZlbAogIGphY2stZGV2ZWwg YWxzYS1saWItZGV2ZWwgbGlibHRkbC1kZXZlbCBsaWJmbGFjLWRldmVsIGxpYnZvcmJpcy1kZXZl bAogIGxpYm1hZC1kZXZlbCBsaWJtcGNkZWMtZGV2ZWwgbGlibW9kcGx1Zy1kZXZlbCBsaWJpZDN0 YWctZGV2ZWwgZmFhZDItZGV2ZWwKICB0YWdsaWItZGV2ZWwgbGlic25kZmlsZS1kZXZlbCB3YXZw YWNrLWRldmVsIHNwZWV4LWRldmVsIGxpYnNhbXBsZXJhdGUtZGV2ZWwKCkZyb20gZjZlNDA0NWVm YTA0ODI5Mjk1NDJjNzU2MDQyMGE4YjA3YTZmNzJlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAy MDowMTo0OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQ5LzEwOV0gbW90aW9uOiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvbW90aW9uL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9tb3Rpb24vdGVtcGxhdGUgYi9zcmNwa2dzL21vdGlvbi90ZW1wbGF0ZQppbmRleCA2MDdlYmVi M2M3YjI0Mi4uYmY2M2E5MWQ5NzY0ZjYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbW90aW9uL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvbW90aW9uL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnbW90aW9uJwogcGtnbmFtZT1tb3Rpb24KIHZlcnNpb249NC42LjAKLXJl dmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGhvc3RtYWtl ZGVwZW5kcz0iYXV0b21ha2UgcGtnLWNvbmZpZyBnZXR0ZXh0LWRldmVsIHRhciIKIG1ha2VkZXBl bmRzPSJmZm1wZWctZGV2ZWwgbGlibWljcm9odHRwZC1kZXZlbCB2NGwtdXRpbHMtZGV2ZWwgZ2V0 dGV4dC1kZXZlbCIKCkZyb20gZjgyNzgzOTc0YzBmYzBlN2NjMDJhNGNjNWNlMTEyNDRiYmM0ODRl NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo0OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MDUwLzEwOV0gb2xpdmU6IHJldmJ1bXAgZm9yIGZmbXBlZzQKCi0tLQogc3JjcGtncy9vbGl2ZS90 ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29saXZlL3RlbXBsYXRlIGIvc3JjcGtncy9v bGl2ZS90ZW1wbGF0ZQppbmRleCAxMmE0NjkzNmM5OTAwMy4uNWMyOTE3YjljNTEyNDUgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3Mvb2xpdmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vbGl2ZS90ZW1wbGF0 ZQpAQCAtMSwxMCArMSwxMCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb2xpdmUnCiBwa2duYW1l PW9saXZlCiB2ZXJzaW9uPTAuMS4yCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHls ZT1xbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJxdDUtcW1ha2UgcXQ1LWhvc3QtdG9vbHMgcGtnLWNv bmZpZyIKLW1ha2VkZXBlbmRzPSJxdDUtZGV2ZWwgcXQ1LW11bHRpbWVkaWEtZGV2ZWwgcXQ1LXN2 Zy1kZXZlbCBmZm1wZWctZGV2ZWwgZnJlaTByLXBsdWdpbnMiCittYWtlZGVwZW5kcz0icXQ1LWRl dmVsIHF0NS1tdWx0aW1lZGlhLWRldmVsIHF0NS1zdmctZGV2ZWwgZmZtcGVnNC1kZXZlbCBmcmVp MHItcGx1Z2lucyIKIHNob3J0X2Rlc2M9Ik5vbi1saW5lYXIgdmlkZW8gZWRpdG9yIgogbWFpbnRh aW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0zLjAt b3ItbGF0ZXIiCgpGcm9tIGIwZjdiMjIxY2I4MTEyNTI3YjJlOTRmMmZlYmM3MTFiN2U4YTRkMmUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTAgLTA0MDAKU3ViamVjdDogW1BBVENIIDA1 MS8xMDldIG9wZW50b29uejogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL29wZW50 b29uei90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbnRvb256L3RlbXBsYXRlIGIvc3Jj cGtncy9vcGVudG9vbnovdGVtcGxhdGUKaW5kZXggODEyNDhhN2RmZmIxZDcuLmE2MTY5MDkwNWE1 M2M0IDEwMDY0NAotLS0gYS9zcmNwa2dzL29wZW50b29uei90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L29wZW50b29uei90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J29wZW50b29ueicKIHBrZ25hbWU9b3BlbnRvb256CiB2ZXJzaW9uPTEuNy4xCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBidWlsZF93cmtzcmM9InRvb256L3NvdXJjZXMiCiBidWlsZF9zdHlsZT1j bWFrZQogbWFrZV9jbWQ9bWFrZQoKRnJvbSAyNWM1Y2M3NThkMmUzZjAzNmMyMDBkNDVkZjc3OTEz N2ZiNDU5YzE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVA Z21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUwIC0wNDAwClN1YmplY3Q6 IFtQQVRDSCAwNTIvMTA5XSBwaWFub2JhcjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNw a2dzL3BpYW5vYmFyL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waWFub2Jhci90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcGlhbm9iYXIvdGVtcGxhdGUKaW5kZXggZTNmZWJiODIxYTQ1MTAuLjFlM2Rj MWJmOTMwOGVlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BpYW5vYmFyL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvcGlhbm9iYXIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdwaWFub2JhcicKIHBrZ25hbWU9cGlhbm9iYXIKIHZlcnNpb249MjAyMi4wNC4wMQotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCiBtYWtlX2J1aWxk X2FyZ3M9IlY9MSIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gODRmODRlMjEz NzRlOGQyNjEyNmE2NGNkZTFhOGU0ZTRkZTc4OGE3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAy MDowMTo1MCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDUzLzEwOV0gcHBzc3BwOiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvcHBzc3BwL3BhdGNoZXMvZmZtcGVnNi5wYXRjaCB8IDE1 ICsrKysrKysrKysrKysrKwogc3JjcGtncy9wcHNzcHAvdGVtcGxhdGUgICAgICAgICAgICAgIHwg IDMgKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wcHNzcHAvcGF0Y2hlcy9mZm1wZWc2LnBhdGNo CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wcHNzcHAvcGF0Y2hlcy9mZm1wZWc2LnBhdGNoIGIvc3Jj cGtncy9wcHNzcHAvcGF0Y2hlcy9mZm1wZWc2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAwLi41ODAzYzdiZjIyNzMwOQotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcHBzc3BwL3BhdGNoZXMvZmZtcGVnNi5wYXRjaApAQCAtMCwwICsxLDE1IEBACistLS0g YS9Db3JlL0hXL1NpbXBsZUF1ZGlvRGVjLmNwcAkyMDI0LTAyLTA0IDA4OjA4OjAyLjAwMDAwMDAw MCAtMDUwMAorKysrIGIvQ29yZS9IVy9TaW1wbGVBdWRpb0RlYy5jcHAJMjAyNC0wMi0xNSAxNDo0 ODoyNy4xMTQzNjIwNTEgLTA1MDAKK0BAIC04MSw3ICs4MSwxMSBAQAorIAkJcmV0dXJuOworIAl9 CisgCS8vIEZpbmQgZGVjb2RlcgorKyNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA8IEFWX1ZF UlNJT05fSU5UKDU4LCAxOCwgMTAwKQorIAljb2RlY18gPSBhdmNvZGVjX2ZpbmRfZGVjb2Rlcigo QVZDb2RlY0lEKWF1ZGlvQ29kZWNJZCk7CisrI2Vsc2UgLy8gdGhpcyBpcyBhIG1hY3JvIHRvIGNv bnN0IGluIHRoZSBoZWFkZXIKKysJY29kZWNfID0gKEFWQ29kZWMqKWF2Y29kZWNfZmluZF9kZWNv ZGVyKChBVkNvZGVjSUQpYXVkaW9Db2RlY0lkKTsKKysjZW5kaWYKKyAJaWYgKCFjb2RlY18pIHsK KyAJCS8vIEVoLCB3ZSBzaG91bGRuJ3QgZXZlbiBoYXZlIG1hbmFnZWQgdG8gY29tcGlsZS4gQnV0 IG1laC4KKyAJCUVSUk9SX0xPRyhNRSwgIlRoaXMgdmVyc2lvbiBvZiBGRk1QRUcgZG9lcyBub3Qg c3VwcG9ydCBBVl9DT0RFQ19jdHggZm9yIGF1ZGlvICglcykuIFVwZGF0ZSB5b3VyIHN1Ym1vZHVs ZS4iLCBHZXRDb2RlY05hbWUoYXVkaW9UeXBlKSk7CisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHBz c3BwL3RlbXBsYXRlIGIvc3JjcGtncy9wcHNzcHAvdGVtcGxhdGUKaW5kZXggMjIzOGE3NjAxYzBh ZjguLjFmZGE1NTI2OGEyZDM5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3Bwc3NwcC90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL3Bwc3NwcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3Bwc3NwcCcKIHBrZ25hbWU9cHBzc3BwCiB2ZXJzaW9uPTEuMTcuMQotcmV2aXNp b249MQorcmV2aXNpb249MgogX2dsc2xhbmdfY29tbWl0PWIzNGY2MTllMWM4NTgxMGRjYjNjNTc4 MTA3ZDJlNDhiYTRlZTJiMzcKIF9TUElSVl9Dcm9zc19jb21taXQ9NDIxMmVlZjY3ZWQwY2EwNDhj YjcyNmE2NzY3MTg1NTA0ZTc2OTVlNQogX2FybWlwc19jb21taXQ9YThkNzFmMGYyNzllYjBkMzBl Y2Y2YWY1MTQ3M2I2NmFlMGNmOGU4ZApAQCAtOTEsNyArOTEsNiBAQCBwb3N0X2NvbmZpZ3VyZSgp IHsKIH0KIAogZG9faW5zdGFsbCgpIHsKLQl2bGljZW5zZSBMSUNFTlNFLlRYVAogCXZpbnN0YWxs IGljb25zL2ljb24uc3ZnIDY0NCB1c3Ivc2hhcmUvcGl4bWFwcyBwcHNzcHAuc3ZnCiAJdmluc3Rh bGwgUXQvUFBTU1BQLmRlc2t0b3AgNjQ0IHVzci9zaGFyZS9hcHBsaWNhdGlvbnMKIAl2YmluIGJ1 aWxkL1BQU1NQUEhlYWRsZXNzIHBwc3NwcC1oZWFkbGVzcwoKRnJvbSBmNWUwYWRmN2QzNWVjYzM1 YmRiODU1ZWJjMzVmYTgyYWM1YThkN2Q2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6 bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUw IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNTQvMTA5XSBwcWl2OiByZXZidW1wIGZvciBmZm1wZWc2 CgotLS0KIHNyY3BrZ3MvcHFpdi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHFpdi90ZW1w bGF0ZSBiL3NyY3BrZ3MvcHFpdi90ZW1wbGF0ZQppbmRleCBmOWY3NzUxMTk2ZDRlZS4uMGQ1MDc3 N2U1NmEyZDggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHFpdi90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3BxaXYvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwcWl2 JwogcGtnbmFtZT1wcWl2CiB2ZXJzaW9uPTIuMTMuMQotcmV2aXNpb249MQorcmV2aXNpb249Mgog YnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCiBt YWtlZGVwZW5kcz0iZ2xpYi1kZXZlbCBndGsrMy1kZXZlbCAkKHZvcHRfaWYgZmZtcGVnIGZmbXBl Zy1kZXZlbCkKCkZyb20gZTZmMmIwZDliZWM5YzI3MDkxZTkxYWM2MjUwOTkxYWE3ODNjNDM0MyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo1MCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDU1 LzEwOV0gcW1tcDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3FtbXAvdGVtcGxh dGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3FtbXAvdGVtcGxhdGUgYi9zcmNwa2dzL3FtbXAvdGVtcGxh dGUKaW5kZXggNTM3ODFlYTNiYzI4YWQuLjJkYTA3ZjFlODdlYWMwIDEwMDY0NAotLS0gYS9zcmNw a2dzL3FtbXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xbW1wL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncW1tcCcKIHBrZ25hbWU9cW1tcAogdmVyc2lvbj0x LjYuMQotcmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3Vy ZV9hcmdzPSItRFVTRV9IQUw6Qk9PTD1GQUxTRSAtRFFNTVBfREVGQVVMVF9VSTpTVFJJTkc9c2lt cGxlIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHF0NS1ob3N0LXRvb2xzIHF0NS1xbWFr ZSIKCkZyb20gMjQ3NjYxYWJhNjdlOGVjZWQ4NzgxOTE5MTU2MWEyZjFkZWE5ZGIwMSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTog VGh1LCAxNCBEZWMgMjAyMyAxMzoyODoxMCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDU2LzEwOV0g cXQ2LXBkZjogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3F0Ni1wZGYvdGVtcGxh dGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1wZGYvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1wZGYv dGVtcGxhdGUKaW5kZXggZWNkYTg0YWZhYzEzMTAuLjUzMWI0ZTFkNGZlODRkIDEwMDY0NAotLS0g YS9zcmNwa2dzL3F0Ni1wZGYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtcGRmL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXBkZicKIHBrZ25hbWU9 cXQ2LXBkZgogdmVyc2lvbj02LjYuMAotcmV2aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5 bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRVUkVfcXRwZGZfYnVpbGQ9T04KICAt RFFUX0ZFQVRVUkVfcXRwZGZfd2lkZ2V0c19idWlsZD1PTgoKRnJvbSA0YjZhZGVhOTEzMWI2ODUy MmQxMmQyYTg0MjdhYjAyZTE4NTNjY2YwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6 bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUw IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNTcvMTA5XSBxdDUtd2ViZW5naW5lOiByZXZidW1wIGZv ciBmZm1wZWc2CgotLS0KIC4uLi9jaHJvbWl1bS1tZWRpYS1maWx0ZXJzLWNwcDE0LnBhdGNoICAg ICAgICB8ICAxMSArKwogc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvZmZtcGVnNS5wYXRj aCAgIHwgMTc5ICsrKysrKysrKysrKysrKysrKwogLi4uL3F0d2ViZW5naW5lLWZpeC1mZm1wZWc1 LWJ1aWxkLnBhdGNoICAgICAgIHwgIDE0ICsrCiBzcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxh dGUgICAgICAgICAgICAgICAgfCAgIDQgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMjA2IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUtd2Vi ZW5naW5lL3BhdGNoZXMvY2hyb21pdW0tbWVkaWEtZmlsdGVycy1jcHAxNC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1LXdlYmVuZ2luZS9wYXRjaGVzL2ZmbXBlZzUucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS13ZWJlbmdpbmUvcGF0Y2hlcy9xdHdlYmVu Z2luZS1maXgtZmZtcGVnNS1idWlsZC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1LXdl YmVuZ2luZS9wYXRjaGVzL2Nocm9taXVtLW1lZGlhLWZpbHRlcnMtY3BwMTQucGF0Y2ggYi9zcmNw a2dzL3F0NS13ZWJlbmdpbmUvcGF0Y2hlcy9jaHJvbWl1bS1tZWRpYS1maWx0ZXJzLWNwcDE0LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wNGFkYzU0MGYy Y2JjMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1LXdlYmVuZ2luZS9wYXRjaGVzL2No cm9taXVtLW1lZGlhLWZpbHRlcnMtY3BwMTQucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvQlVJTEQuZ24JMjAyMy0wMi0yNyAx MzozMjo1OS4wMDAwMDAwMDAgLTA1MDAKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRp YS9maWx0ZXJzL0JVSUxELmduCTIwMjMtMDQtMDIgMTc6MjE6MzkuMjA0MDY2Mzg0IC0wNDAwCitA QCAtOTYsNiArOTYsOCBAQAorICAgICAiLy91aS9nZngvZ2VvbWV0cnk6Z2VvbWV0cnkiLAorICAg XQorIAorKyAgY2ZsYWdzX2NjID0gWyAiLXN0ZD1jKysxNCIgXQorKworICAgbGlicyA9IFtdCisg CisgICBpZiAocHJvcHJpZXRhcnlfY29kZWNzKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS13 ZWJlbmdpbmUvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3Bh dGNoZXMvZmZtcGVnNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAwMC4uYWM1NWUxNjM0NDIzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0NS13ZWJl bmdpbmUvcGF0Y2hlcy9mZm1wZWc1LnBhdGNoCkBAIC0wLDAgKzEsMTc5IEBACistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYwkyMDIzLTA0 LTAyIDE2OjUwOjU3LjczMjU0NzQ0NiAtMDQwMAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MJMjAyMy0wNC0wMiAxNjo1MDowOS40ODY0 Nzg5OTUgLTA0MDAKK0BAIC01Nyw2ICs1Nyw4IEBACisgCisgbmFtZXNwYWNlIHsKKyAKKytjb25z dGV4cHIgaW50NjRfdCBrUmVsYXRpdmVUc0Jhc2UgPSBzdGF0aWNfY2FzdDxpbnQ2NF90PigweDdm ZmVmZmZmZmZmZmZmZmYpOworKworIHZvaWQgU2V0QVZTdHJlYW1EaXNjYXJkKEFWU3RyZWFtKiBz dHJlYW0sIEFWRGlzY2FyZCBkaXNjYXJkKSB7CisgICBEQ0hFQ0soc3RyZWFtKTsKKyAgIHN0cmVh bS0+ZGlzY2FyZCA9IGRpc2NhcmQ7CitAQCAtOTAsMjQgKzkyLDEyIEBACisgCisgc3RhdGljIGJh c2U6OlRpbWVEZWx0YSBFeHRyYWN0U3RhcnRUaW1lKEFWU3RyZWFtKiBzdHJlYW0pIHsKKyAgIC8v IFRoZSBkZWZhdWx0IHN0YXJ0IHRpbWUgaXMgemVyby4KKy0gIGJhc2U6OlRpbWVEZWx0YSBzdGFy dF90aW1lOworKyAgYmFzZTo6VGltZURlbHRhIHN0YXJ0X3RpbWUgPSBrTm9UaW1lc3RhbXA7Cisg CisgICAvLyBGaXJzdCB0cnkgdG8gdXNlICB0aGUgfHN0YXJ0X3RpbWV8IHZhbHVlIGFzIGlzLgor ICAgaWYgKHN0cmVhbS0+c3RhcnRfdGltZSAhPSBrTm9GRm1wZWdUaW1lc3RhbXApCisgICAgIHN0 YXJ0X3RpbWUgPSBDb252ZXJ0RnJvbVRpbWVCYXNlKHN0cmVhbS0+dGltZV9iYXNlLCBzdHJlYW0t PnN0YXJ0X3RpbWUpOworIAorLSAgLy8gTmV4dCB0cnkgdG8gdXNlIHRoZSBmaXJzdCBEVFMgdmFs dWUsIGZvciBjb2RlY3Mgd2hlcmUgd2Uga25vdyBQVFMgPT0gRFRTCistICAvLyAoZXhjbHVkZXMg YWxsIEgyNnggY29kZWNzKS4gVGhlIHN0YXJ0IHRpbWUgbXVzdCBiZSByZXR1cm5lZCBpbiBQVFMu CistICBpZiAoc3RyZWFtLT5maXJzdF9kdHMgIT0ga05vRkZtcGVnVGltZXN0YW1wICYmCistICAg ICAgc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQgIT0gQVZfQ09ERUNfSURfSEVWQyAmJgorLSAg ICAgIHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lkICE9IEFWX0NPREVDX0lEX0gyNjQgJiYKKy0g ICAgICBzdHJlYW0tPmNvZGVjcGFyLT5jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9NUEVHNCkgewor LSAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEgZmlyc3RfcHRzID0KKy0gICAgICAgIENvbnZlcnRG cm9tVGltZUJhc2Uoc3RyZWFtLT50aW1lX2Jhc2UsIHN0cmVhbS0+Zmlyc3RfZHRzKTsKKy0gICAg aWYgKGZpcnN0X3B0cyA8IHN0YXJ0X3RpbWUpCistICAgICAgc3RhcnRfdGltZSA9IGZpcnN0X3B0 czsKKy0gIH0KKy0KKyAgIHJldHVybiBzdGFydF90aW1lOworIH0KKyAKK0BAIC00MDgsMTEgKzM5 OCwxMSBAQAorICAgc2NvcGVkX3JlZnB0cjxEZWNvZGVyQnVmZmVyPiBidWZmZXI7CisgCisgICBp ZiAodHlwZSgpID09IERlbXV4ZXJTdHJlYW06OlRFWFQpIHsKKy0gICAgaW50IGlkX3NpemUgPSAw OworKyAgICBzaXplX3QgaWRfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIGlkX2RhdGEgPSBhdl9w YWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtUX0RBVEFf V0VCVlRUX0lERU5USUZJRVIsICZpZF9zaXplKTsKKyAKKy0gICAgaW50IHNldHRpbmdzX3NpemUg PSAwOworKyAgICBzaXplX3Qgc2V0dGluZ3Nfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIHNldHRp bmdzX2RhdGEgPSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5nZXQo KSwgQVZfUEtUX0RBVEFfV0VCVlRUX1NFVFRJTkdTLCAmc2V0dGluZ3Nfc2l6ZSk7CisgCitAQCAt NDI0LDcgKzQxNCw3IEBACisgICAgIGJ1ZmZlciA9IERlY29kZXJCdWZmZXI6OkNvcHlGcm9tKHBh Y2tldC0+ZGF0YSwgcGFja2V0LT5zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzaWRlX2RhdGEuZGF0YSgpLCBzaWRlX2RhdGEuc2l6ZSgpKTsKKyAgIH0gZWxzZSB7 CistICAgIGludCBzaWRlX2RhdGFfc2l6ZSA9IDA7CisrICAgIHNpemVfdCBzaWRlX2RhdGFfc2l6 ZSA9IDA7CisgICAgIHVpbnQ4X3QqIHNpZGVfZGF0YSA9IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRh KAorICAgICAgICAgcGFja2V0LmdldCgpLCBBVl9QS1RfREFUQV9NQVRST1NLQV9CTE9DS0FERElU SU9OQUwsICZzaWRlX2RhdGFfc2l6ZSk7CisgCitAQCAtNDg1LDcgKzQ3NSw3IEBACisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFja2V0LT5zaXplIC0gZGF0YV9vZmZz ZXQpOworICAgICB9CisgCistICAgIGludCBza2lwX3NhbXBsZXNfc2l6ZSA9IDA7CisrICAgIHNp emVfdCBza2lwX3NhbXBsZXNfc2l6ZSA9IDA7CisgICAgIGNvbnN0IHVpbnQzMl90KiBza2lwX3Nh bXBsZXNfcHRyID0KKyAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDMyX3QqPihh dl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgICAgICBwYWNrZXQuZ2V0KCksIEFWX1BL VF9EQVRBX1NLSVBfU0FNUExFUywgJnNraXBfc2FtcGxlc19zaXplKSk7CitAQCAtMTU4Nyw2ICsx NTc3LDggQEAKKyAgIGZvciAoY29uc3QgYXV0byYgc3RyZWFtIDogc3RyZWFtc18pIHsKKyAgICAg aWYgKCFzdHJlYW0gfHwgc3RyZWFtLT5Jc0VuYWJsZWQoKSAhPSBlbmFibGVkKQorICAgICAgIGNv bnRpbnVlOworKyAgICBpZiAoc3RyZWFtLT5hdl9zdHJlYW0oKS0+c3RhcnRfdGltZSA9PSBBVl9O T1BUU19WQUxVRSkKKysgICAgICBjb250aW51ZTsKKyAgICAgaWYgKCFsb3dlc3Rfc3RhcnRfdGlt ZV9zdHJlYW0gfHwKKyAgICAgICAgIHN0cmVhbS0+c3RhcnRfdGltZSgpIDwgbG93ZXN0X3N0YXJ0 X3RpbWVfc3RyZWFtLT5zdGFydF90aW1lKCkpIHsKKyAgICAgICBsb3dlc3Rfc3RhcnRfdGltZV9z dHJlYW0gPSBzdHJlYW0uZ2V0KCk7CitAQCAtMTYwNCw2ICsxNTk2LDggQEAKKyAgICAgaWYgKHN0 cmVhbSAmJiBzdHJlYW0tPnR5cGUoKSA9PSBEZW11eGVyU3RyZWFtOjpWSURFTyAmJgorICAgICAg ICAgc3RyZWFtLT5Jc0VuYWJsZWQoKSkgeworICAgICAgIHZpZGVvX3N0cmVhbSA9IHN0cmVhbS5n ZXQoKTsKKysgICAgICBpZiAoc3RyZWFtLT5hdl9zdHJlYW0oKS0+c3RhcnRfdGltZSA9PSBBVl9O T1BUU19WQUxVRSkKKysgICAgICAgIGNvbnRpbnVlOworICAgICAgIGlmICh2aWRlb19zdHJlYW0t PnN0YXJ0X3RpbWUoKSA8PSBzZWVrX3RpbWUpIHsKKyAgICAgICAgIHJldHVybiB2aWRlb19zdHJl YW07CisgICAgICAgfQorZGlmZiAtTmF1cnAgcXR3ZWJlbmdpbmUtNS4xNS4xMC5vcmlnL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9mZm1wZWcvZmZtcGVnX2NvbW1vbi5oIHF0d2ViZW5naW5l LTUuMTUuMTAvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9u LmgKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9mZm1wZWcvZmZtcGVnX2NvbW1v bi5oCTIwMjItMDUtMjMgMDY6Mzg6NDAuMDAwMDAwMDAwIC0wNTAwCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vbWVkaWEvZmZtcGVnL2ZmbXBlZ19jb21tb24uaAkyMDIyLTA3LTExIDIyOjEy OjQ3LjkxNzE5Mjc4OCAtMDUwMAorQEAgLTI5LDYgKzI5LDcgQEAgZXh0ZXJuICJDIiB7CisgI2lu Y2x1ZGUgPGxpYmF2Zm9ybWF0L2F2Zm9ybWF0Lmg+CisgI2luY2x1ZGUgPGxpYmF2Zm9ybWF0L2F2 aW8uaD4KKyAjaW5jbHVkZSA8bGliYXZ1dGlsL2F2dXRpbC5oPgorKyNpbmNsdWRlIDxsaWJhdnV0 aWwvY2hhbm5lbF9sYXlvdXQuaD4KKyAjaW5jbHVkZSA8bGliYXZ1dGlsL2ltZ3V0aWxzLmg+Cisg I2luY2x1ZGUgPGxpYmF2dXRpbC9sb2cuaD4KKyAjaW5jbHVkZSA8bGliYXZ1dGlsL21hc3Rlcmlu Z19kaXNwbGF5X21ldGFkYXRhLmg+CitkaWZmIC1OYXVycCBxdHdlYmVuZ2luZS01LjE1LjEwLm9y aWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIu Y2MgcXR3ZWJlbmdpbmUtNS4xNS4xMC9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVy cy9hdWRpb19maWxlX3JlYWRlci5jYworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlh L2ZpbHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIuY2MJMjAyMi0wNS0yMyAwNjozODo0MC4wMDAwMDAw MDAgLTA1MDAKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2F1ZGlv X2ZpbGVfcmVhZGVyLmNjCTIwMjItMDctMTEgMjI6MTI6NDcuOTE3MTkyNzg4IC0wNTAwCitAQCAt ODUsNyArODUsNyBAQCBib29sIEF1ZGlvRmlsZVJlYWRlcjo6T3BlbkRlbXV4ZXIoKSB7CisgfQor IAorIGJvb2wgQXVkaW9GaWxlUmVhZGVyOjpPcGVuRGVjb2RlcigpIHsKKy0gIEFWQ29kZWMqIGNv ZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoY29kZWNfY29udGV4dF8tPmNvZGVjX2lkKTsKKysg IGNvbnN0IEFWQ29kZWMqIGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoY29kZWNfY29udGV4 dF8tPmNvZGVjX2lkKTsKKyAgIGlmIChjb2RlYykgeworICAgICAvLyBNUDMgZGVjb2RlcyB0byBT MTZQIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQsIHRlbGwgaXQgdG8gdXNlIFMxNiBpbnN0ZWFkLgor ICAgICBpZiAoY29kZWNfY29udGV4dF8tPnNhbXBsZV9mbXQgPT0gQVZfU0FNUExFX0ZNVF9TMTZQ KQorZGlmZiAtTmF1cnAgcXR3ZWJlbmdpbmUtNS4xNS4xMC5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19hdWRpb19kZWNvZGVyLmNjIHF0d2ViZW5naW5lLTUu MTUuMTAvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2F1ZGlvX2Rl Y29kZXIuY2MKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBl Z19hdWRpb19kZWNvZGVyLmNjCTIwMjItMDUtMjMgMDY6Mzg6NDAuMDAwMDAwMDAwIC0wNTAwCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9mZm1wZWdfYXVkaW9fZGVj b2Rlci5jYwkyMDIyLTA3LTExIDIyOjEyOjQ3LjkxNzE5Mjc4OCAtMDUwMAorQEAgLTMyOSw3ICsz MjksNyBAQCBib29sIEZGbXBlZ0F1ZGlvRGVjb2Rlcjo6Q29uZmlndXJlRGVjb2RlCisgICAgIH0K KyAgIH0KKyAKKy0gIEFWQ29kZWMqIGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIoY29kZWNf Y29udGV4dF8tPmNvZGVjX2lkKTsKKysgIGNvbnN0IEFWQ29kZWMqIGNvZGVjID0gYXZjb2RlY19m aW5kX2RlY29kZXIoY29kZWNfY29udGV4dF8tPmNvZGVjX2lkKTsKKyAgIGlmICghY29kZWMgfHwK KyAgICAgICBhdmNvZGVjX29wZW4yKGNvZGVjX2NvbnRleHRfLmdldCgpLCBjb2RlYywgJmNvZGVj X29wdGlvbnMpIDwgMCkgeworICAgICBETE9HKEVSUk9SKSA8PCAiQ291bGQgbm90IGluaXRpYWxp emUgYXVkaW8gZGVjb2RlcjogIgorZGlmZiAtTmF1cnAgcXR3ZWJlbmdpbmUtNS4xNS4xMC5vcmln L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19nbHVlLmNjIHF0d2Vi ZW5naW5lLTUuMTUuMTAvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVn X2dsdWUuY2MKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBl Z19nbHVlLmNjCTIwMjItMDUtMjMgMDY6Mzg6NDAuMDAwMDAwMDAwIC0wNTAwCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9mZm1wZWdfZ2x1ZS5jYwkyMDIyLTA3LTEx IDIyOjEyOjQ3LjkxODE5Mjc3OSAtMDUwMAorQEAgLTU5LDcgKzU5LDYgQEAgc3RhdGljIGludDY0 X3QgQVZJT1NlZWtPcGVyYXRpb24odm9pZCogbworIH0KKyAKKyB2b2lkIEZGbXBlZ0dsdWU6Oklu aXRpYWxpemVGRm1wZWcoKSB7CistICBhdl9yZWdpc3Rlcl9hbGwoKTsKKyB9CisgCisgc3RhdGlj IHZvaWQgTG9nQ29udGFpbmVyKGJvb2wgaXNfbG9jYWxfZmlsZSwKK0BAIC05NSw5ICs5NCw2IEBA IEZGbXBlZ0dsdWU6OkZGbXBlZ0dsdWUoRkZtcGVnVVJMUHJvdG9jb2wKKyAgIC8vIEVuYWJsZSBm YXN0LCBidXQgaW5hY2N1cmF0ZSBzZWVrcyBmb3IgTVAzLgorICAgZm9ybWF0X2NvbnRleHRfLT5m bGFncyB8PSBBVkZNVF9GTEFHX0ZBU1RfU0VFSzsKKyAKKy0gIC8vIEVuc3VyZXMgd2UgY2FuIHJl YWQgb3V0IHZhcmlvdXMgbWV0YWRhdGEgYml0cyBsaWtlIHZwOCBhbHBoYS4KKy0gIGZvcm1hdF9j b250ZXh0Xy0+ZmxhZ3MgfD0gQVZGTVRfRkxBR19LRUVQX1NJREVfREFUQTsKKy0KKyAgIC8vIEVu c3VyZXMgZm9ybWF0IHBhcnNpbmcgZXJyb3JzIHdpbGwgYmFpbCBvdXQuIEZyb20gYW4gYXVkaXQg b24gMTEvMjAxNywgYWxsCisgICAvLyBpbnN0YW5jZXMgd2VyZSByZWFsIGZhaWx1cmVzLiBTb2x2 ZXMgYnVncyBsaWtlIGh0dHA6Ly9jcmJ1Zy5jb20vNzEwNzkxLgorICAgZm9ybWF0X2NvbnRleHRf LT5lcnJvcl9yZWNvZ25pdGlvbiB8PSBBVl9FRl9FWFBMT0RFOworZGlmZiAtTmF1cnAgcXR3ZWJl bmdpbmUtNS4xNS4xMC5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2Zm bXBlZ192aWRlb19kZWNvZGVyLmNjIHF0d2ViZW5naW5lLTUuMTUuMTAvc3JjLzNyZHBhcnR5L2No cm9taXVtL21lZGlhL2ZpbHRlcnMvZmZtcGVnX3ZpZGVvX2RlY29kZXIuY2MKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ192aWRlb19kZWNvZGVyLmNjCTIw MjItMDUtMjMgMDY6Mzg6NDAuMDAwMDAwMDAwIC0wNTAwCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vbWVkaWEvZmlsdGVycy9mZm1wZWdfdmlkZW9fZGVjb2Rlci5jYwkyMDIyLTA3LTExIDIy OjEyOjQ3LjkxODE5Mjc3OSAtMDUwMAorQEAgLTM5MSw3ICszOTEsNyBAQCBib29sIEZGbXBlZ1Zp ZGVvRGVjb2Rlcjo6Q29uZmlndXJlRGVjb2RlCisgICBpZiAoZGVjb2RlX25hbHVzXykKKyAgICAg Y29kZWNfY29udGV4dF8tPmZsYWdzMiB8PSBBVl9DT0RFQ19GTEFHMl9DSFVOS1M7CisgCistICBB VkNvZGVjKiBjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKGNvZGVjX2NvbnRleHRfLT5jb2Rl Y19pZCk7CisrICBjb25zdCBBVkNvZGVjKiBjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKGNv ZGVjX2NvbnRleHRfLT5jb2RlY19pZCk7CisgICBpZiAoIWNvZGVjIHx8IGF2Y29kZWNfb3BlbjIo Y29kZWNfY29udGV4dF8uZ2V0KCksIGNvZGVjLCBOVUxMKSA8IDApIHsKKyAgICAgUmVsZWFzZUZG bXBlZ1Jlc291cmNlcygpOworICAgICByZXR1cm4gZmFsc2U7CitkaWZmIC1OYXVycCBxdHdlYmVu Z2luZS01LjE1LjEwLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2ZpbHRlcnMvbWVk aWFfZmlsZV9jaGVja2VyLmNjIHF0d2ViZW5naW5lLTUuMTUuMTAvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL21lZGlhL2ZpbHRlcnMvbWVkaWFfZmlsZV9jaGVja2VyLmNjCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vbWVkaWEvZmlsdGVycy9tZWRpYV9maWxlX2NoZWNrZXIuY2MJMjAyMi0wNS0y MyAwNjozODo0MC4wMDAwMDAwMDAgLTA1MDAKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9t ZWRpYS9maWx0ZXJzL21lZGlhX2ZpbGVfY2hlY2tlci5jYwkyMDIyLTA3LTExIDIyOjEyOjQ3Ljkx ODE5Mjc3OSAtMDUwMAorQEAgLTY4LDcgKzY4LDcgQEAgYm9vbCBNZWRpYUZpbGVDaGVja2VyOjpT dGFydChiYXNlOjpUaW1lRAorICAgICAgIGF1dG8gY29udGV4dCA9IEFWU3RyZWFtVG9BVkNvZGVj Q29udGV4dChmb3JtYXRfY29udGV4dC0+c3RyZWFtc1tpXSk7CisgICAgICAgaWYgKCFjb250ZXh0 KQorICAgICAgICAgY29udGludWU7CistICAgICAgQVZDb2RlYyogY29kZWMgPSBhdmNvZGVjX2Zp bmRfZGVjb2RlcihjcC0+Y29kZWNfaWQpOworKyAgICAgIGNvbnN0IEFWQ29kZWMqIGNvZGVjID0g YXZjb2RlY19maW5kX2RlY29kZXIoY3AtPmNvZGVjX2lkKTsKKyAgICAgICBpZiAoY29kZWMgJiYg YXZjb2RlY19vcGVuMihjb250ZXh0LmdldCgpLCBjb2RlYywgbnVsbHB0cikgPj0gMCkgeworICAg ICAgICAgYXV0byBsb29wID0gc3RkOjptYWtlX3VuaXF1ZTxGRm1wZWdEZWNvZGluZ0xvb3A+KGNv bnRleHQuZ2V0KCkpOworICAgICAgICAgc3RyZWFtX2NvbnRleHRzW2ldID0ge3N0ZDo6bW92ZShj b250ZXh0KSwgc3RkOjptb3ZlKGxvb3ApfTsKK2RpZmYgLU5hdXJwIHF0d2ViZW5naW5lLTUuMTUu MTAub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMv dmlkZW9fY29kaW5nL2NvZGVjcy9oMjY0L2gyNjRfZGVjb2Rlcl9pbXBsLmNjIHF0d2ViZW5naW5l LTUuMTUuMTAvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVz L3ZpZGVvX2NvZGluZy9jb2RlY3MvaDI2NC9oMjY0X2RlY29kZXJfaW1wbC5jYworLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGlu Zy9jb2RlY3MvaDI2NC9oMjY0X2RlY29kZXJfaW1wbC5jYwkyMDIyLTA1LTIzIDA2OjM4OjQwLjAw MDAwMDAwMCAtMDUwMAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dl YnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvaDI2NC9oMjY0X2RlY29kZXJfaW1wbC5j YwkyMDIyLTA3LTExIDIyOjEyOjQ3LjkxODE5Mjc3OSAtMDUwMAorQEAgLTIwMyw3ICsyMDMsNyBA QCBpbnQzMl90IEgyNjREZWNvZGVySW1wbDo6SW5pdERlY29kZShjb25zCisgICAvLyBhIHBvaW50 ZXIgfHRoaXN8LgorICAgYXZfY29udGV4dF8tPm9wYXF1ZSA9IHRoaXM7CisgCistICBBVkNvZGVj KiBjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKGF2X2NvbnRleHRfLT5jb2RlY19pZCk7Cisr ICBjb25zdCBBVkNvZGVjKiBjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyKGF2X2NvbnRleHRf LT5jb2RlY19pZCk7CisgICBpZiAoIWNvZGVjKSB7CisgICAgIC8vIFRoaXMgaXMgYW4gaW5kaWNh dGlvbiB0aGF0IEZGbXBlZyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgb3IgaXQgaGFzIG5vdAor ICAgICAvLyBiZWVuIGNvbXBpbGVkL2luaXRpYWxpemVkIHdpdGggdGhlIGNvcnJlY3Qgc2V0IG9m IGNvZGVjcy4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1LXdlYmVuZ2luZS9wYXRjaGVzL3F0d2Vi ZW5naW5lLWZpeC1mZm1wZWc1LWJ1aWxkLnBhdGNoIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3Bh dGNoZXMvcXR3ZWJlbmdpbmUtZml4LWZmbXBlZzUtYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmJjMjRkNWI5YTI5Y2I1Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvcXR3ZWJlbmdpbmUtZml4LWZmbXBl ZzUtYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0tIGEvc3JjL2J1aWxkdG9vbHMvY29u ZmlndXJlLmpzb24JMjAyMy0xMi0wOSAxMTowNjowMS41MDMwNTg1NjkgLTA1MDAKKysrKyBiL3Ny Yy9idWlsZHRvb2xzL2NvbmZpZ3VyZS5qc29uCTIwMjMtMTItMDkgMTE6MDY6MTQuOTgyMzYxMzQ1 IC0wNTAwCitAQCAtNzc5LDExICs3NzksNiBAQAorICAgICAgICAgICAgICJ0eXBlIjogIndhcm5p bmciLAorICAgICAgICAgICAgICJjb25kaXRpb24iOiAiY29uZmlnLmlvcyAmJiBjb25maWcuc2lt dWxhdG9yICYmIGNvbmZpZy5kZXZpY2UgJiYgZmVhdHVyZXMuYnVpbGQtcXRwZGYiLAorICAgICAg ICAgICAgICJtZXNzYWdlIjogIkJ1aWxkaW5nIGZhdCBsaWJyYXkgd2l0aCBkZXZpY2UgYW5kIHNp bXVsYXRvciBhcmNoaXRlY3R1cmVzIHdpbGwgZGlzYWJsZSBORU9OLiIKKy0gICAgICAgIH0sCist ICAgICAgICB7CistICAgICAgICAgICAgInR5cGUiOiAiZmF0YWwiLAorLSAgICAgICAgICAgICJj b25kaXRpb24iOiAiZmVhdHVyZXMud2ViZW5naW5lLXN5c3RlbS1mZm1wZWcgJiYgIWxpYnMud2Vi ZW5naW5lLWZmbXBlZy1zdXBwb3J0IiwKKy0gICAgICAgICAgICAibWVzc2FnZSI6ICJVbm1vZGlm aWVkIGZmbXBlZyA+PSA1LjAgaXMgbm90IHN1cHBvcnRlZC4gUGxlYXNlIGNvbmZpZ3VyZSB3aXRo IC1xdC13ZWJlbmdpbmUtZmZtcGVnLiIKKyAgICAgICAgIH0KKyAgICAgXSwKKyAgICAgInN1bW1h cnkiOiBbCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxhdGUgYi9zcmNw a2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxhdGUKaW5kZXggM2MwZjViZGE2OWM3ZWUuLmRmNmU0NDE3 NDdjYzQzIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9xdDUtd2ViZW5naW5lL3RlbXBsYXRlCkBAIC0xLDE0ICsxLDE0IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDUtd2ViZW5naW5lJwogcGtnbmFtZT1xdDUtd2ViZW5naW5lCiB2ZXJz aW9uPTUuMTUuMTYKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIF92ZXJzaW9uPSIke3ZlcnNpb259 LWx0cyIKIF9jaHJvbWl1bV9jb21taXQ9MjA3YzJhYzQ1Y2EzMzg2ZDE1Mzc3MGM2YjBkMmVhMmVj MjFjYTg4MAogYXJjaHM9Ing4Nl82NCogaTY4NiogYXJtdls2N10qIHBwYzY0KiBhYXJjaDY0KiIK IGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF9zdHlsZT1xbWFrZQogY29uZmlndXJlX2FyZ3M9Ii0t Ci0gLXdlYmVuZ2luZS1pY3UgLXdlYmVuZ2luZS1mZm1wZWcgLXdlYmVuZ2luZS1vcHVzIC13ZWJl bmdpbmUtd2VicAorIC13ZWJlbmdpbmUtaWN1IC1zeXN0ZW0tZmZtcGVnIC13ZWJlbmdpbmUtb3B1 cyAtd2ViZW5naW5lLXdlYnAKICAtd2ViZW5naW5lLXBlcHBlci1wbHVnaW5zIC13ZWJlbmdpbmUt cHJpbnRpbmctYW5kLXBkZiAtd2ViZW5naW5lLXByb3ByaWV0YXJ5LWNvZGVjcwogIC13ZWJlbmdp bmUtcHVsc2VhdWRpbyAtd2ViZW5naW5lLXNwZWxsY2hlY2tlciAtd2ViZW5naW5lLXdlYnJ0YyAt d2ViZW5naW5lLWdlb2xvY2F0aW9uCiAgLXdlYmVuZ2luZS1rZXJiZXJvcyAtbm8td2ViZW5naW5l LWVtYmVkZGVkLWJ1aWxkICQodm9wdF9pZiBzbmRpbyAnJyAnLW5vJyktd2ViZW5naW5lLXNuZGlv CgpGcm9tIDUzMWJmNTUzZDY5ZTZiMGY5YjM0ZjMzMGZiMzhhMzM5MGNjNmZkZjMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTEgLTA0MDAKU3ViamVjdDogW1BBVENIIDA1OC8xMDldIHF0 NTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3F0NS90ZW1wbGF0ZSB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ1L3RlbXBsYXRlIGIvc3JjcGtncy9xdDUvdGVtcGxhdGUKaW5kZXggMGY4 MjAzZTg5OWM2M2YuLmU1N2UxNTkzNDQ1MjA0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0NS90ZW1wbGF0ZQpAQCAtMyw3ICszLDcgQEAKICMgcmV2YnVt cCBsaWJxdHhkZyBhZnRlciBidW1waW5nIHBhdGNoIHZlcnNpb24KIHBrZ25hbWU9cXQ1CiB2ZXJz aW9uPTUuMTUuMTErMjAyMzExMjQKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKICMgY29tbWl0IDQ3 NjVmYTFkZjdhODM3ZGI5YzFmODljNGRhMGRkNzZiNzRiYjVmYWIKICMgYmFzZSByZXBvOiBodHRw czovL2ludmVudC5rZGUub3JnL3F0L3F0L3F0NQogYnVpbGRfc3R5bGU9bWV0YQoKRnJvbSA2OTU1 NGJjNzJhYWM5NTMyMGMxYmJmMWU3MTFjZDEyMzI4NTYyOGJlIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAy MDIzIDIwOjAxOjUxIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNTkvMTA5XSBxdGF2OiByZXZidW1w IGZvciBmZm1wZWc0CgotLS0KIHNyY3BrZ3MvcXRhdi90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0YXYvdGVtcGxhdGUgYi9zcmNwa2dzL3F0YXYvdGVtcGxhdGUKaW5kZXggNzc1ZDVh MTM5YTllZmEuLmFhNjllMjEzYzk4NGIwIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0YXYvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9xdGF2L3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdGF2JwogcGtnbmFtZT1xdGF2CiB2ZXJzaW9uPTEuMTMuMAotcmV2aXNp b249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9cW1ha2UKIGhvc3RtYWtlZGVwZW5kcz0icXQ1 LXFtYWtlIHF0NS1ob3N0LXRvb2xzIgotbWFrZWRlcGVuZHM9ImZmbXBlZy1kZXZlbCBsaWJhc3Mt ZGV2ZWwgbGlib3BlbmFsLWRldmVsCittYWtlZGVwZW5kcz0iZmZtcGVnNC1kZXZlbCBsaWJhc3Mt ZGV2ZWwgbGlib3BlbmFsLWRldmVsCiAgbGlidmEtZ2x4LWRldmVsIGxpYlh2LWRldmVsIHB1bHNl YXVkaW8tZGV2ZWwKICBxdDUtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ1LXN2Zy1kZXZlbAogIHF0NS1x dWlja2NvbnRyb2xzIgoKRnJvbSA3NjBiYzg4OWRjMDEyMTE2MmE3M2RiNTU3NGViOTVkZWU2MWNl MjE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUxIC0wNDAwClN1YmplY3Q6IFtQQVRD SCAwNjAvMTA5XSByZXRyb2FyY2g6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9y ZXRyb2FyY2gvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JldHJvYXJjaC90ZW1wbGF0ZSBi L3NyY3BrZ3MvcmV0cm9hcmNoL3RlbXBsYXRlCmluZGV4IDU0MjlkMTNlZjNlZWE0Li4yZTBkNWNk OTY4MGI2NyAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZXRyb2FyY2gvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9yZXRyb2FyY2gvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdyZXRyb2FyY2gnCiBwa2duYW1lPXJldHJvYXJjaAogdmVyc2lvbj0xLjE2LjAuMwotcmV2 aXNpb249MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9Y29uZmlndXJlCiBjb25maWd1cmVfYXJn cz0iLS1wcmVmaXg9L3VzciAtLXN5c2NvbmZkaXI9L2V0YyAtLWVuYWJsZS1uZXR3b3JraW5nCiAg LS1lbmFibGUtdWRldiAtLWRpc2FibGUtYnVpbHRpbmZsYWMgLS1kaXNhYmxlLWJ1aWx0aW5nbHNs YW5nCgpGcm9tIGNhZDRhZDU5YWQyYTEwNzZmYzQwNDAzMDczY2NjMzUxNWZjNWMzMjEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTEgLTA0MDAKU3ViamVjdDogW1BBVENIIDA2MS8xMDld IHNjcmNweTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3NjcmNweS90ZW1wbGF0 ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2NyY3B5L3RlbXBsYXRlIGIvc3JjcGtncy9zY3JjcHkvdGVt cGxhdGUKaW5kZXggZDQwNjUxYWQ4ZGM4MzUuLjNlYzcxMzliZTVjMGM1IDEwMDY0NAotLS0gYS9z cmNwa2dzL3NjcmNweS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NjcmNweS90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NjcmNweScKIHBrZ25hbWU9c2NyY3B5 CiB2ZXJzaW9uPTIuNAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24K IGNvbmZpZ3VyZV9hcmdzPSItRGNvbXBpbGVfc2VydmVyPWZhbHNlCiAgLURwcmVidWlsdF9zZXJ2 ZXI9L3Vzci9zaGFyZS9zY3JjcHkvc2NyY3B5LXNlcnZlci12JHt2ZXJzaW9ufSIKCkZyb20gMzRh YzEzNzlhYzZjZjUzYjU4MWIwMGJiNzQ5OGY4OTU5ZGMwODg3ZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBPY3Qg MjAyMyAwODo1NDoxMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDYyLzEwOV0gTmV3IHBhY2thZ2U6 IHNwZXgteCByZXBsYWNlcyBzcGVrLWFsdGVybmF0aXZlIGZvcgogZmZtcGVnNgoKLS0tCiBzcmNw a2dzL3NwZWstYWx0ZXJuYXRpdmUgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dz L3NwZWsteC9wYXRjaGVzL211c2wucGF0Y2ggICAgICAgICAgICAgfCAgNyArKysrKysKIHNyY3Br Z3Mve3NwZWstYWx0ZXJuYXRpdmUgPT4gc3Blay14fS90ZW1wbGF0ZSB8IDIyICsrKysrKysrKysr Ky0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3NwZWsteC9wYXRjaGVzL211c2wucGF0Y2gKIHJlbmFtZSBzcmNw a2dzL3tzcGVrLWFsdGVybmF0aXZlID0+IHNwZWsteH0vdGVtcGxhdGUgKDUyJSkKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUgYi9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUK bmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjc2NjQ4MjM2ZGE3MDE3 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zcGVrLWFsdGVybmF0aXZlCkBAIC0wLDAgKzEg QEAKK3NwZWsteApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3Br Z3Mvc3Blay14L3BhdGNoZXMvbXVzbC5wYXRjaCBiL3NyY3BrZ3Mvc3Blay14L3BhdGNoZXMvbXVz bC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uNjYyZjQ1 OTM2ZmViYzYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NwZWsteC9wYXRjaGVzL211c2wu cGF0Y2gKQEAgLTAsMCArMSw3IEBACistLS0gYS90ZXN0cy9wZXJmLmNjCTIwMjQtMDMtMDkgMTc6 MTM6NDkuMDg2NjAzNDE4IC0wNTAwCisrKysgYi90ZXN0cy9wZXJmLmNjCTIwMjQtMDMtMDkgMTc6 MTM6NTkuNDUzNjAzNzUzIC0wNTAwCitAQCAtMSwzICsxLDQgQEAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8Y3N0ZGxpYj4KKyAjaW5jbHVkZSA8aW9zdHJlYW0+CisgI2luY2x1ZGUg PGZzdHJlYW0+CmRpZmYgLS1naXQgYS9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUvdGVtcGxhdGUg Yi9zcmNwa2dzL3NwZWsteC90ZW1wbGF0ZQpzaW1pbGFyaXR5IGluZGV4IDUyJQpyZW5hbWUgZnJv bSBzcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUvdGVtcGxhdGUKcmVuYW1lIHRvIHNyY3BrZ3Mvc3Bl ay14L3RlbXBsYXRlCmluZGV4IGQ3YjU1Yzc3NmIxZDQzLi4zZGVkNmMyYzMyM2U0ZiAxMDA2NDQK LS0tIGEvc3JjcGtncy9zcGVrLWFsdGVybmF0aXZlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3Bl ay14L3RlbXBsYXRlCkBAIC0xLDE4ICsxLDE4IEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICdzcGVr LWFsdGVybmF0aXZlJwotcGtnbmFtZT1zcGVrLWFsdGVybmF0aXZlCi12ZXJzaW9uPTAuOC4yLjMK LXJldmlzaW9uPTIKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NwZWsteCcKK3BrZ25hbWU9c3Blay14 Cit2ZXJzaW9uPTAuOS4zCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBo b3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGdldHRleHQtZGV2ZWwgaW50bHRvb2wgbGlidG9vbCBw a2ctY29uZmlnCiAgd3hXaWRnZXRzLWNvbW1vbiB3eFdpZGdldHMtZ3RrMy1kZXZlbCIKIG1ha2Vk ZXBlbmRzPSJmZm1wZWctZGV2ZWwgd3hXaWRnZXRzLWd0azMtZGV2ZWwiCiBkZXBlbmRzPSJmZm1w ZWciCiBzaG9ydF9kZXNjPSJBY291c3RpYyBzcGVjdHJ1bSBhbmFseXNlciIKLW1haW50YWluZXI9 IkthcnRpayBTaW5naCA8a2FydGlrLnlud2FAZ21haWwuY29tPiIKK21haW50YWluZXI9InpsaWNl IDx6bGljZTU1NUBnbWFpbC5jb20+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKLWhvbWVw YWdlPSJodHRwczovL2dpdGh1Yi5jb20vd2l0aG1vcnRlbi9zcGVrLWFsdGVybmF0aXZlIgotZGlz dGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vd2l0aG1vcnRlbi9zcGVrLWFsdGVybmF0aXZlL2Fy Y2hpdmUvJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT0iMDA3YmE0Yjg0YTMxMGIwNzhlMzc4 YWE4NGM4ZTgwNzgzZGI1ODIxNDM3YTc1N2E0ODhjM2VjZWMzNzdlNmIyYSIKK2hvbWVwYWdlPSJo dHRwczovL2dpdGh1Yi5jb20vTWlrZVdhbmcwMDAwMDAvc3Blay14IgorZGlzdGZpbGVzPSJodHRw czovL2dpdGh1Yi5jb20vTWlrZVdhbmcwMDAwMDAvc3Blay14L2FyY2hpdmUvdiR7dmVyc2lvbn0u dGFyLmd6IgorY2hlY2tzdW09IjdmNGIxMDk5MDMzMzNjZGQzMTBhYjJiOTE3NmYwZGM0OWE1NjU4 OTEzNzZlMjgxYTIzM2QzNDJjZWRmOTBlZjciCiAKIENYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09V UkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCiAKQEAgLTIyLDMgKzIyLDkgQEAgZXhwb3J0IFdY X0NPTkZJR19OQU1FPSJ3eC1jb25maWctZ3RrMyIKIHByZV9jb25maWd1cmUoKSB7CiAJTk9DT05G SUdVUkU9MSAuL2F1dG9nZW4uc2gKIH0KKworc3Blay1hbHRlcm5hdGl2ZV9wYWNrYWdlKCkgewor CWRlcGVuZHM9InNwZWsteCIKKwlzaG9ydF9kZXNjKz0iIC0gdHJhbnNpdGlvbmFsIGR1bW15IHBh Y2thZ2UiCisJYnVpbGRfc3R5bGU9bWV0YQorfQoKRnJvbSBiOTcwZjVjYWYzNGUwNzJlYzRlYWQy MmFjOTcwMWEzYzgzNTM2NDYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUxIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAwNjMvMTA5XSBzc3I6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQog Li4uLzAwMDEtRml4LWJ1aWxkLXdpdGgtZmZtcGVnLTUuMC5wYXRjaCAgICAgIHwgMjQxICsrKysr KysrKysrKysrKysrKwogc3JjcGtncy9zc3IvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDI0MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zc3IvcGF0Y2hlcy8wMDAxLUZpeC1i dWlsZC13aXRoLWZmbXBlZy01LjAucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Nzci9wYXRj aGVzLzAwMDEtRml4LWJ1aWxkLXdpdGgtZmZtcGVnLTUuMC5wYXRjaCBiL3NyY3BrZ3Mvc3NyL3Bh dGNoZXMvMDAwMS1GaXgtYnVpbGQtd2l0aC1mZm1wZWctNS4wLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi40YzA2OWI1YTlmYzQ2NAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3Mvc3NyL3BhdGNoZXMvMDAwMS1GaXgtYnVpbGQtd2l0aC1mZm1wZWctNS4w LnBhdGNoCkBAIC0wLDAgKzEsMjQxIEBACitGcm9tIGY0Y2JkZTM4MDIxZDkzMzBkYzczZDJlM2Rm YThhNzBkYTNmZjU3MjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/ QmVybmhhcmQ9MjBSb3NlbmtyPUMzPUE0bnplcj89IDxiZXJvQGxpbmRldi5jaD4KK0RhdGU6IFN1 biwgMTYgSmFuIDIwMjIgMDI6NDA6MDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxk IHdpdGggZmZtcGVnIDUuMAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitB ZGFwdCB0byBmZm1wZWcgNS4wIHJlcXVpcmluZyBtb3JlIGNvbnN0LW5lc3MgZm9yIEFWQ29kZWMu CisKK1NpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIFJvc2Vua3LDpG56ZXIgPGJlcm9AbGluZGV2LmNo PgorLS0tCisgc3JjL0FWL091dHB1dC9BdWRpb0VuY29kZXIuY3BwIHwgIDYgKysrLS0tCisgc3Jj L0FWL091dHB1dC9BdWRpb0VuY29kZXIuaCAgIHwgIDQgKystLQorIHNyYy9BVi9PdXRwdXQvQmFz ZUVuY29kZXIuY3BwICB8ICA0ICsrLS0KKyBzcmMvQVYvT3V0cHV0L0Jhc2VFbmNvZGVyLmggICAg fCAgNCArKy0tCisgc3JjL0FWL091dHB1dC9NdXhlci5jcHAgICAgICAgIHwgMTIgKysrKysrLS0t LS0tCisgc3JjL0FWL091dHB1dC9NdXhlci5oICAgICAgICAgIHwgIDQgKystLQorIHNyYy9BVi9P dXRwdXQvVmlkZW9FbmNvZGVyLmNwcCB8ICA2ICsrKy0tLQorIHNyYy9BVi9PdXRwdXQvVmlkZW9F bmNvZGVyLmggICB8ICA0ICsrLS0KKyA4IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyks IDIyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL0FWL091dHB1dC9BdWRpb0VuY29k ZXIuY3BwIGIvc3JjL0FWL091dHB1dC9BdWRpb0VuY29kZXIuY3BwCitpbmRleCAzNGQwMTVjLi5j ZWZjMmUwIDEwMDY0NAorLS0tIGEvc3JjL0FWL091dHB1dC9BdWRpb0VuY29kZXIuY3BwCisrKysg Yi9zcmMvQVYvT3V0cHV0L0F1ZGlvRW5jb2Rlci5jcHAKK0BAIC0zNCw3ICszNCw3IEBAIGNvbnN0 IHN0ZDo6dmVjdG9yPEF1ZGlvRW5jb2Rlcjo6U2FtcGxlRm9ybWF0RGF0YT4gQXVkaW9FbmNvZGVy OjpTVVBQT1JURURfU0FNUExFCisgCisgY29uc3QgdW5zaWduZWQgaW50IEF1ZGlvRW5jb2Rlcjo6 REVGQVVMVF9GUkFNRV9TQU1QTEVTID0gMTAyNDsKKyAKKy1BdWRpb0VuY29kZXI6OkF1ZGlvRW5j b2RlcihNdXhlciogbXV4ZXIsIEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0ICpjb2Rl Y19jb250ZXh0LCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucykKKytBdWRp b0VuY29kZXI6OkF1ZGlvRW5jb2RlcihNdXhlciogbXV4ZXIsIEFWU3RyZWFtKiBzdHJlYW0sIEFW Q29kZWNDb250ZXh0ICpjb2RlY19jb250ZXh0LCBjb25zdCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0 aW9uYXJ5Kiogb3B0aW9ucykKKyAJOiBCYXNlRW5jb2RlcihtdXhlciwgc3RyZWFtLCBjb2RlY19j b250ZXh0LCBjb2RlYywgb3B0aW9ucykgeworIAorICNpZiAhU1NSX1VTRV9BVkNPREVDX0VOQ09E RV9BVURJTzIKK0BAIC03Nyw3ICs3Nyw3IEBAIHVuc2lnbmVkIGludCBBdWRpb0VuY29kZXI6Okdl dFNhbXBsZVJhdGUoKSB7CisgfQorIAorIGJvb2wgQXVkaW9FbmNvZGVyOjpBVkNvZGVjSXNTdXBw b3J0ZWQoY29uc3QgUVN0cmluZyYgY29kZWNfbmFtZSkgeworLQlBVkNvZGVjICpjb2RlYyA9IGF2 Y29kZWNfZmluZF9lbmNvZGVyX2J5X25hbWUoY29kZWNfbmFtZS50b1V0ZjgoKS5jb25zdERhdGEo KSk7CisrCWNvbnN0IEFWQ29kZWMgKmNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXJfYnlfbmFt ZShjb2RlY19uYW1lLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKKyAJaWYoY29kZWMgPT0gTlVMTCkK KyAJCXJldHVybiBmYWxzZTsKKyAJaWYoIWF2X2NvZGVjX2lzX2VuY29kZXIoY29kZWMpKQorQEAg LTkzLDcgKzkzLDcgQEAgYm9vbCBBdWRpb0VuY29kZXI6OkFWQ29kZWNJc1N1cHBvcnRlZChjb25z dCBRU3RyaW5nJiBjb2RlY19uYW1lKSB7CisgCXJldHVybiBmYWxzZTsKKyB9CisgCistdm9pZCBB dWRpb0VuY29kZXI6OlByZXBhcmVTdHJlYW0oQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRl eHQqIGNvZGVjX2NvbnRleHQsIEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25z LCBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8UVN0cmluZywgUVN0cmluZz4gPiYgY29kZWNf b3B0aW9ucywKKyt2b2lkIEF1ZGlvRW5jb2Rlcjo6UHJlcGFyZVN0cmVhbShBVlN0cmVhbSogc3Ry ZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgY29uc3QgQVZDb2RlYyogY29kZWMs IEFWRGljdGlvbmFyeSoqIG9wdGlvbnMsIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxRU3Ry aW5nLCBRU3RyaW5nPiA+JiBjb2RlY19vcHRpb25zLAorIAkJCQkJCQkJIHVuc2lnbmVkIGludCBi aXRfcmF0ZSwgdW5zaWduZWQgaW50IGNoYW5uZWxzLCB1bnNpZ25lZCBpbnQgc2FtcGxlX3JhdGUp IHsKKyAKKyAJaWYoY2hhbm5lbHMgPT0gMCkgeworZGlmZiAtLWdpdCBhL3NyYy9BVi9PdXRwdXQv QXVkaW9FbmNvZGVyLmggYi9zcmMvQVYvT3V0cHV0L0F1ZGlvRW5jb2Rlci5oCitpbmRleCBjOTMy NzhjLi5hZTljODJlIDEwMDY0NAorLS0tIGEvc3JjL0FWL091dHB1dC9BdWRpb0VuY29kZXIuaAor KysrIGIvc3JjL0FWL091dHB1dC9BdWRpb0VuY29kZXIuaAorQEAgLTQwLDcgKzQwLDcgQEAgcHJp dmF0ZToKKyAjZW5kaWYKKyAKKyBwdWJsaWM6CistCUF1ZGlvRW5jb2RlcihNdXhlciogbXV4ZXIs IEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LCBBVkNvZGVj KiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucyk7CisrCUF1ZGlvRW5jb2RlcihNdXhlciog bXV4ZXIsIEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LCBj b25zdCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucyk7CisgCX5BdWRpb0Vu Y29kZXIoKTsKKyAKKyAJLy8gUmV0dXJucyB0aGUgcmVxdWlyZWQgZnJhbWUgc2l6ZSwgaS5lLiB0 aGUgbnVtYmVyIG9mIHNhbXBsZXMgKGZvciBlYWNoIGNoYW5uZWwpLgorQEAgLTU3LDcgKzU3LDcg QEAgcHVibGljOgorIAorIHB1YmxpYzoKKyAJc3RhdGljIGJvb2wgQVZDb2RlY0lzU3VwcG9ydGVk KGNvbnN0IFFTdHJpbmcmIGNvZGVjX25hbWUpOworLQlzdGF0aWMgdm9pZCBQcmVwYXJlU3RyZWFt KEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LCBBVkNvZGVj KiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucywgY29uc3Qgc3RkOjp2ZWN0b3I8c3RkOjpw YWlyPFFTdHJpbmcsIFFTdHJpbmc+ID4mIGNvZGVjX29wdGlvbnMsCisrCXN0YXRpYyB2b2lkIFBy ZXBhcmVTdHJlYW0oQVZTdHJlYW0qIHN0cmVhbSwgQVZDb2RlY0NvbnRleHQqIGNvZGVjX2NvbnRl eHQsIGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25zLCBjb25zdCBz dGQ6OnZlY3RvcjxzdGQ6OnBhaXI8UVN0cmluZywgUVN0cmluZz4gPiYgY29kZWNfb3B0aW9ucywK KyAJCQkJCQkJICB1bnNpZ25lZCBpbnQgYml0X3JhdGUsIHVuc2lnbmVkIGludCBjaGFubmVscywg dW5zaWduZWQgaW50IHNhbXBsZV9yYXRlKTsKKyAKKyBwcml2YXRlOgorZGlmZiAtLWdpdCBhL3Ny Yy9BVi9PdXRwdXQvQmFzZUVuY29kZXIuY3BwIGIvc3JjL0FWL091dHB1dC9CYXNlRW5jb2Rlci5j cHAKK2luZGV4IDdjMDFlZjMuLjQ3ODBhYWYgMTAwNjQ0CistLS0gYS9zcmMvQVYvT3V0cHV0L0Jh c2VFbmNvZGVyLmNwcAorKysrIGIvc3JjL0FWL091dHB1dC9CYXNlRW5jb2Rlci5jcHAKK0BAIC00 Miw3ICs0Miw3IEBAIGRvdWJsZSBQYXJzZUNvZGVjT3B0aW9uRG91YmxlKGNvbnN0IFFTdHJpbmcm IGtleSwgY29uc3QgUVN0cmluZyYgdmFsdWUsIGRvdWJsZSBtCisgCXJldHVybiBjbGFtcCh2YWx1 ZV9kb3VibGUsIG1pbiwgbWF4KSAqIG11bHRpcGx5OworIH0KKyAKKy1CYXNlRW5jb2Rlcjo6QmFz ZUVuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0cmVhbSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCog Y29kZWNfY29udGV4dCwgQVZDb2RlYyogY29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMpIHsK KytCYXNlRW5jb2Rlcjo6QmFzZUVuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0cmVhbSogc3RyZWFt LCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgY29uc3QgQVZDb2RlYyogY29kZWMsIEFW RGljdGlvbmFyeSoqIG9wdGlvbnMpIHsKKyAKKyAJbV9tdXhlciA9IG11eGVyOworIAltX3N0cmVh bSA9IHN0cmVhbTsKK0BAIC0xNTcsNyArMTU3LDcgQEAgdm9pZCBCYXNlRW5jb2Rlcjo6SW5jcmVt ZW50UGFja2V0Q291bnRlcigpIHsKKyAJKytsb2NrLT5tX3RvdGFsX3BhY2tldHM7CisgfQorIAor LXZvaWQgQmFzZUVuY29kZXI6OkluaXQoQVZDb2RlYyogY29kZWMsIEFWRGljdGlvbmFyeSoqIG9w dGlvbnMpIHsKKyt2b2lkIEJhc2VFbmNvZGVyOjpJbml0KGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBB VkRpY3Rpb25hcnkqKiBvcHRpb25zKSB7CisgCisgCS8vIG9wZW4gY29kZWMKKyAJaWYoYXZjb2Rl Y19vcGVuMihtX2NvZGVjX2NvbnRleHQsIGNvZGVjLCBvcHRpb25zKSA8IDApIHsKK2RpZmYgLS1n aXQgYS9zcmMvQVYvT3V0cHV0L0Jhc2VFbmNvZGVyLmggYi9zcmMvQVYvT3V0cHV0L0Jhc2VFbmNv ZGVyLmgKK2luZGV4IDNkOTJmMjkuLjdmMDJiYmQgMTAwNjQ0CistLS0gYS9zcmMvQVYvT3V0cHV0 L0Jhc2VFbmNvZGVyLmgKKysrKyBiL3NyYy9BVi9PdXRwdXQvQmFzZUVuY29kZXIuaAorQEAgLTUx LDcgKzUxLDcgQEAgcHJpdmF0ZToKKyAJc3RkOjphdG9taWM8Ym9vbD4gbV9zaG91bGRfc3RvcCwg bV9zaG91bGRfZmluaXNoLCBtX2lzX2RvbmUsIG1fZXJyb3Jfb2NjdXJyZWQ7CisgCisgcHJvdGVj dGVkOgorLQlCYXNlRW5jb2RlcihNdXhlciogbXV4ZXIsIEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29k ZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiog b3B0aW9ucyk7CisrCUJhc2VFbmNvZGVyKE11eGVyKiBtdXhlciwgQVZTdHJlYW0qIHN0cmVhbSwg QVZDb2RlY0NvbnRleHQqIGNvZGVjX2NvbnRleHQsIGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBBVkRp Y3Rpb25hcnkqKiBvcHRpb25zKTsKKyAKKyBwdWJsaWM6CisgCXZpcnR1YWwgfkJhc2VFbmNvZGVy KCk7IC8vIGVuY29kZXJzIHdpbGwgYmUgZGVsZXRlZCBieSBNdXhlciwgZG9uJ3QgZGVsZXRlIHRo ZW0geW91cnNlbGYhCitAQCAtMTE3LDcgKzExNyw3IEBAIHByb3RlY3RlZDoKKyAJdm9pZCBJbmNy ZW1lbnRQYWNrZXRDb3VudGVyKCk7CisgCisgcHJpdmF0ZToKKy0Jdm9pZCBJbml0KEFWQ29kZWMq IGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25zKTsKKysJdm9pZCBJbml0KGNvbnN0IEFWQ29k ZWMqIGNvZGVjLCBBVkRpY3Rpb25hcnkqKiBvcHRpb25zKTsKKyAJdm9pZCBGcmVlKCk7CisgCisg CXZvaWQgRW5jb2RlclRocmVhZCgpOworZGlmZiAtLWdpdCBhL3NyYy9BVi9PdXRwdXQvTXV4ZXIu Y3BwIGIvc3JjL0FWL091dHB1dC9NdXhlci5jcHAKK2luZGV4IGFkNTgzODAuLjE0NjUwYjAgMTAw NjQ0CistLS0gYS9zcmMvQVYvT3V0cHV0L011eGVyLmNwcAorKysrIGIvc3JjL0FWL091dHB1dC9N dXhlci5jcHAKK0BAIC04Nyw3ICs4Nyw3IEBAIE11eGVyOjp+TXV4ZXIoKSB7CisgCisgVmlkZW9F bmNvZGVyKiBNdXhlcjo6QWRkVmlkZW9FbmNvZGVyKGNvbnN0IFFTdHJpbmcmIGNvZGVjX25hbWUs IGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxRU3RyaW5nLCBRU3RyaW5nPiA+JiBjb2RlY19v cHRpb25zLAorIAkJCQkJCQkJCSB1bnNpZ25lZCBpbnQgYml0X3JhdGUsIHVuc2lnbmVkIGludCB3 aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCwgdW5zaWduZWQgaW50IGZyYW1lX3JhdGUpIHsKKy0J QVZDb2RlYyAqY29kZWMgPSBGaW5kQ29kZWMoY29kZWNfbmFtZSk7CisrCWNvbnN0IEFWQ29kZWMg KmNvZGVjID0gRmluZENvZGVjKGNvZGVjX25hbWUpOworIAlBVkNvZGVjQ29udGV4dCAqY29kZWNf Y29udGV4dCA9IE5VTEw7CisgCUFWU3RyZWFtICpzdHJlYW0gPSBBZGRTdHJlYW0oY29kZWMsICZj b2RlY19jb250ZXh0KTsKKyAJVmlkZW9FbmNvZGVyICplbmNvZGVyOworQEAgLTExMSw3ICsxMTEs NyBAQCBWaWRlb0VuY29kZXIqIE11eGVyOjpBZGRWaWRlb0VuY29kZXIoY29uc3QgUVN0cmluZyYg Y29kZWNfbmFtZSwgY29uc3Qgc3RkOjp2ZWN0bworIAorIEF1ZGlvRW5jb2RlciogTXV4ZXI6OkFk ZEF1ZGlvRW5jb2Rlcihjb25zdCBRU3RyaW5nJiBjb2RlY19uYW1lLCBjb25zdCBzdGQ6OnZlY3Rv cjxzdGQ6OnBhaXI8UVN0cmluZywgUVN0cmluZz4gPiYgY29kZWNfb3B0aW9ucywKKyAJCQkJCQkJ CQkgdW5zaWduZWQgaW50IGJpdF9yYXRlLCB1bnNpZ25lZCBpbnQgY2hhbm5lbHMsIHVuc2lnbmVk IGludCBzYW1wbGVfcmF0ZSkgeworLQlBVkNvZGVjICpjb2RlYyA9IEZpbmRDb2RlYyhjb2RlY19u YW1lKTsKKysJY29uc3QgQVZDb2RlYyAqY29kZWMgPSBGaW5kQ29kZWMoY29kZWNfbmFtZSk7Cisg CUFWQ29kZWNDb250ZXh0ICpjb2RlY19jb250ZXh0ID0gTlVMTDsKKyAJQVZTdHJlYW0gKnN0cmVh bSA9IEFkZFN0cmVhbShjb2RlYywgJmNvZGVjX2NvbnRleHQpOworIAlBdWRpb0VuY29kZXIgKmVu Y29kZXI7CitAQCAtMTk0LDcgKzE5NCw3IEBAIHVuc2lnbmVkIGludCBNdXhlcjo6R2V0UXVldWVk UGFja2V0Q291bnQodW5zaWduZWQgaW50IHN0cmVhbV9pbmRleCkgeworIHZvaWQgTXV4ZXI6Oklu aXQoKSB7CisgCisgCS8vIGdldCB0aGUgZm9ybWF0IHdlIHdhbnQgKHRoaXMgaXMganVzdCBhIHBv aW50ZXIsIHdlIGRvbid0IGhhdmUgdG8gZnJlZSB0aGlzKQorLQlBVk91dHB1dEZvcm1hdCAqZm9y bWF0ID0gYXZfZ3Vlc3NfZm9ybWF0KG1fY29udGFpbmVyX25hbWUudG9VdGY4KCkuY29uc3REYXRh KCksIE5VTEwsIE5VTEwpOworKwljb25zdCBBVk91dHB1dEZvcm1hdCAqZm9ybWF0ID0gYXZfZ3Vl c3NfZm9ybWF0KG1fY29udGFpbmVyX25hbWUudG9VdGY4KCkuY29uc3REYXRhKCksIE5VTEwsIE5V TEwpOworIAlpZihmb3JtYXQgPT0gTlVMTCkgeworIAkJTG9nZ2VyOjpMb2dFcnJvcigiW011eGVy OjpJbml0XSAiICsgTG9nZ2VyOjp0cigiRXJyb3I6IENhbid0IGZpbmQgY2hvc2VuIG91dHB1dCBm b3JtYXQhIikpOworIAkJdGhyb3cgTGliYXZFeGNlcHRpb24oKTsKK0BAIC0yNjEsOCArMjYxLDgg QEAgdm9pZCBNdXhlcjo6RnJlZSgpIHsKKyAJfQorIH0KKyAKKy1BVkNvZGVjKiBNdXhlcjo6Rmlu ZENvZGVjKGNvbnN0IFFTdHJpbmcmIGNvZGVjX25hbWUpIHsKKy0JQVZDb2RlYyAqY29kZWMgPSBh dmNvZGVjX2ZpbmRfZW5jb2Rlcl9ieV9uYW1lKGNvZGVjX25hbWUudG9VdGY4KCkuY29uc3REYXRh KCkpOworK2NvbnN0IEFWQ29kZWMqIE11eGVyOjpGaW5kQ29kZWMoY29uc3QgUVN0cmluZyYgY29k ZWNfbmFtZSkgeworKwljb25zdCBBVkNvZGVjICpjb2RlYyA9IGF2Y29kZWNfZmluZF9lbmNvZGVy X2J5X25hbWUoY29kZWNfbmFtZS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CisgCWlmKGNvZGVjID09 IE5VTEwpIHsKKyAJCUxvZ2dlcjo6TG9nRXJyb3IoIltNdXhlcjo6RmluZENvZGVjXSAiICsgTG9n Z2VyOjp0cigiRXJyb3I6IENhbid0IGZpbmQgY29kZWMhIikpOworIAkJdGhyb3cgTGliYXZFeGNl cHRpb24oKTsKK0BAIC0yNzAsNyArMjcwLDcgQEAgQVZDb2RlYyogTXV4ZXI6OkZpbmRDb2RlYyhj b25zdCBRU3RyaW5nJiBjb2RlY19uYW1lKSB7CisgCXJldHVybiBjb2RlYzsKKyB9CisgCistQVZT dHJlYW0qIE11eGVyOjpBZGRTdHJlYW0oQVZDb2RlYyogY29kZWMsIEFWQ29kZWNDb250ZXh0Kiog Y29kZWNfY29udGV4dCkgeworK0FWU3RyZWFtKiBNdXhlcjo6QWRkU3RyZWFtKGNvbnN0IEFWQ29k ZWMqIGNvZGVjLCBBVkNvZGVjQ29udGV4dCoqIGNvZGVjX2NvbnRleHQpIHsKKyAJYXNzZXJ0KCFt X3N0YXJ0ZWQpOworIAlhc3NlcnQobV9mb3JtYXRfY29udGV4dC0+bmJfc3RyZWFtcyA8IE1VWEVS X01BWF9TVFJFQU1TKTsKKyAKK2RpZmYgLS1naXQgYS9zcmMvQVYvT3V0cHV0L011eGVyLmggYi9z cmMvQVYvT3V0cHV0L011eGVyLmgKK2luZGV4IGQ3MjM0N2QuLmIxMDRiY2IgMTAwNjQ0CistLS0g YS9zcmMvQVYvT3V0cHV0L011eGVyLmgKKysrKyBiL3NyYy9BVi9PdXRwdXQvTXV4ZXIuaAorQEAg LTExNCw4ICsxMTQsOCBAQCBwcml2YXRlOgorIAl2b2lkIEluaXQoKTsKKyAJdm9pZCBGcmVlKCk7 CisgCistCUFWQ29kZWMqIEZpbmRDb2RlYyhjb25zdCBRU3RyaW5nJiBjb2RlY19uYW1lKTsKKy0J QVZTdHJlYW0qIEFkZFN0cmVhbShBVkNvZGVjKiBjb2RlYywgQVZDb2RlY0NvbnRleHQqKiBjb2Rl Y19jb250ZXh0KTsKKysJY29uc3QgQVZDb2RlYyogRmluZENvZGVjKGNvbnN0IFFTdHJpbmcmIGNv ZGVjX25hbWUpOworKwlBVlN0cmVhbSogQWRkU3RyZWFtKGNvbnN0IEFWQ29kZWMqIGNvZGVjLCBB VkNvZGVjQ29udGV4dCoqIGNvZGVjX2NvbnRleHQpOworIAorIAl2b2lkIE11eGVyVGhyZWFkKCk7 CisgCitkaWZmIC0tZ2l0IGEvc3JjL0FWL091dHB1dC9WaWRlb0VuY29kZXIuY3BwIGIvc3JjL0FW L091dHB1dC9WaWRlb0VuY29kZXIuY3BwCitpbmRleCA4MDg3ZThlLi5mYzhiNWQxIDEwMDY0NAor LS0tIGEvc3JjL0FWL091dHB1dC9WaWRlb0VuY29kZXIuY3BwCisrKysgYi9zcmMvQVYvT3V0cHV0 L1ZpZGVvRW5jb2Rlci5jcHAKK0BAIC0zNCw3ICszNCw3IEBAIGNvbnN0IHN0ZDo6dmVjdG9yPFZp ZGVvRW5jb2Rlcjo6UGl4ZWxGb3JtYXREYXRhPiBWaWRlb0VuY29kZXI6OlNVUFBPUlRFRF9QSVhF TF9GCisgCXsicmdiIiwgQVZfUElYX0ZNVF9SR0IyNCwgZmFsc2V9LAorIH07CisgCistVmlkZW9F bmNvZGVyOjpWaWRlb0VuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0cmVhbSogc3RyZWFtLCBBVkNv ZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgQVZDb2RlYyogY29kZWMsIEFWRGljdGlvbmFyeSoq IG9wdGlvbnMpCisrVmlkZW9FbmNvZGVyOjpWaWRlb0VuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0 cmVhbSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgY29uc3QgQVZDb2Rl YyogY29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMpCisgCTogQmFzZUVuY29kZXIobXV4ZXIs IHN0cmVhbSwgY29kZWNfY29udGV4dCwgY29kZWMsIG9wdGlvbnMpIHsKKyAKKyAjaWYgIVNTUl9V U0VfQVZDT0RFQ19FTkNPREVfVklERU8yCitAQCAtOTUsNyArOTUsNyBAQCB1bnNpZ25lZCBpbnQg VmlkZW9FbmNvZGVyOjpHZXRGcmFtZVJhdGUoKSB7CisgfQorIAorIGJvb2wgVmlkZW9FbmNvZGVy OjpBVkNvZGVjSXNTdXBwb3J0ZWQoY29uc3QgUVN0cmluZyYgY29kZWNfbmFtZSkgeworLQlBVkNv ZGVjICpjb2RlYyA9IGF2Y29kZWNfZmluZF9lbmNvZGVyX2J5X25hbWUoY29kZWNfbmFtZS50b1V0 ZjgoKS5jb25zdERhdGEoKSk7CisrCWNvbnN0IEFWQ29kZWMgKmNvZGVjID0gYXZjb2RlY19maW5k X2VuY29kZXJfYnlfbmFtZShjb2RlY19uYW1lLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKKyAJaWYo Y29kZWMgPT0gTlVMTCkKKyAJCXJldHVybiBmYWxzZTsKKyAJaWYoIWF2X2NvZGVjX2lzX2VuY29k ZXIoY29kZWMpKQorQEAgLTExMSw3ICsxMTEsNyBAQCBib29sIFZpZGVvRW5jb2Rlcjo6QVZDb2Rl Y0lzU3VwcG9ydGVkKGNvbnN0IFFTdHJpbmcmIGNvZGVjX25hbWUpIHsKKyAJcmV0dXJuIGZhbHNl OworIH0KKyAKKy12b2lkIFZpZGVvRW5jb2Rlcjo6UHJlcGFyZVN0cmVhbShBVlN0cmVhbSogc3Ry ZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgQVZDb2RlYyogY29kZWMsIEFWRGlj dGlvbmFyeSoqIG9wdGlvbnMsIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxRU3RyaW5nLCBR U3RyaW5nPiA+JiBjb2RlY19vcHRpb25zLAorK3ZvaWQgVmlkZW9FbmNvZGVyOjpQcmVwYXJlU3Ry ZWFtKEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LCBjb25z dCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucywgY29uc3Qgc3RkOjp2ZWN0 b3I8c3RkOjpwYWlyPFFTdHJpbmcsIFFTdHJpbmc+ID4mIGNvZGVjX29wdGlvbnMsCisgCQkJCQkJ CQkgdW5zaWduZWQgaW50IGJpdF9yYXRlLCB1bnNpZ25lZCBpbnQgd2lkdGgsIHVuc2lnbmVkIGlu dCBoZWlnaHQsIHVuc2lnbmVkIGludCBmcmFtZV9yYXRlKSB7CisgCisgCWlmKHdpZHRoID09IDAg fHwgaGVpZ2h0ID09IDApIHsKK2RpZmYgLS1naXQgYS9zcmMvQVYvT3V0cHV0L1ZpZGVvRW5jb2Rl ci5oIGIvc3JjL0FWL091dHB1dC9WaWRlb0VuY29kZXIuaAoraW5kZXggY2I3Y2EyNy4uNjhkODcy ZSAxMDA2NDQKKy0tLSBhL3NyYy9BVi9PdXRwdXQvVmlkZW9FbmNvZGVyLmgKKysrKyBiL3NyYy9B Vi9PdXRwdXQvVmlkZW9FbmNvZGVyLmgKK0BAIC00MCw3ICs0MCw3IEBAIHByaXZhdGU6CisgI2Vu ZGlmCisgCisgcHVibGljOgorLQlWaWRlb0VuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0cmVhbSog c3RyZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgQVZDb2RlYyogY29kZWMsIEFW RGljdGlvbmFyeSoqIG9wdGlvbnMpOworKwlWaWRlb0VuY29kZXIoTXV4ZXIqIG11eGVyLCBBVlN0 cmVhbSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgY29uc3QgQVZDb2Rl YyogY29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMpOworIAl+VmlkZW9FbmNvZGVyKCk7Cisg CisgCS8vIFJldHVybnMgdGhlIHJlcXVpcmVkIHBpeGVsIGZvcm1hdC4KK0BAIC01NSw3ICs1NSw3 IEBAIHB1YmxpYzoKKyAKKyBwdWJsaWM6CisgCXN0YXRpYyBib29sIEFWQ29kZWNJc1N1cHBvcnRl ZChjb25zdCBRU3RyaW5nJiBjb2RlY19uYW1lKTsKKy0Jc3RhdGljIHZvaWQgUHJlcGFyZVN0cmVh bShBVlN0cmVhbSogc3RyZWFtLCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwgQVZDb2Rl YyogY29kZWMsIEFWRGljdGlvbmFyeSoqIG9wdGlvbnMsIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6 cGFpcjxRU3RyaW5nLCBRU3RyaW5nPiA+JiBjb2RlY19vcHRpb25zLAorKwlzdGF0aWMgdm9pZCBQ cmVwYXJlU3RyZWFtKEFWU3RyZWFtKiBzdHJlYW0sIEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250 ZXh0LCBjb25zdCBBVkNvZGVjKiBjb2RlYywgQVZEaWN0aW9uYXJ5Kiogb3B0aW9ucywgY29uc3Qg c3RkOjp2ZWN0b3I8c3RkOjpwYWlyPFFTdHJpbmcsIFFTdHJpbmc+ID4mIGNvZGVjX29wdGlvbnMs CisgCQkJCQkJCSAgdW5zaWduZWQgaW50IGJpdF9yYXRlLCB1bnNpZ25lZCBpbnQgd2lkdGgsIHVu c2lnbmVkIGludCBoZWlnaHQsIHVuc2lnbmVkIGludCBmcmFtZV9yYXRlKTsKKyAKKyBwcml2YXRl OgorLS0gCisyLjQzLjAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zc3IvdGVtcGxhdGUgYi9zcmNw a2dzL3Nzci90ZW1wbGF0ZQppbmRleCAzMDk3NzU0ZTNjYmU1NC4uZTNjNDI2MWYxZjVhNjQgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3Mvc3NyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3NyL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc3NyJwogcGtnbmFtZT1zc3IK IHZlcnNpb249MC40LjQKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtl CiBjb25maWd1cmVfYXJncz0iLURXSVRIX1FUNT1PTiIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNv bmZpZyIKCkZyb20gMzZlMzhkNzg2NTM2ZGY5NDNlNGQ5YzA2YjhiN2YxMmJiNGNjNTgwMyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAyMiBNYXIgMjAyMyAyMDowMTo1MiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDY0LzEw OV0gc3luZmlnOiByZXZidW1wIGZvciBmZm1wZWc2IGFuZCBtbHQ3CgotLS0KIHNyY3BrZ3Mvc3lu ZmlnL3BhdGNoZXMvZmZtcGVnNi5wYXRjaCB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrKysr KysKIHNyY3BrZ3Mvc3luZmlnL3RlbXBsYXRlICAgICAgICAgICAgICB8ICA2ICstLQogMiBmaWxl cyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3Mvc3luZmlnL3BhdGNoZXMvZmZtcGVnNi5wYXRjaAoKZGlmZiAtLWdpdCBh L3NyY3BrZ3Mvc3luZmlnL3BhdGNoZXMvZmZtcGVnNi5wYXRjaCBiL3NyY3BrZ3Mvc3luZmlnL3Bh dGNoZXMvZmZtcGVnNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAwMC4uMTA3ODBiNDI3ODJmNGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3N5bmZpZy9w YXRjaGVzL2ZmbXBlZzYucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorLS0tIGEvc3JjL21vZHVsZXMv bW9kX2xpYmF2Y29kZWMvdHJndF9hdi5jcHAJMjAyMi0xMC0yNSAwOToxNDoxMi4wMDAwMDAwMDAg LTA0MDAKKysrKyBiL3NyYy9tb2R1bGVzL21vZF9saWJhdmNvZGVjL3RyZ3RfYXYuY3BwCTIwMjMt MDUtMDUgMjE6MzQ6MTcuODk5MTk0NTU5IC0wNDAwCitAQCAtMzgsNiArNDEsNyBAQAorIGV4dGVy biAiQyIKKyB7CisgI2lmZGVmIEhBVkVfTElCQVZGT1JNQVRfQVZGT1JNQVRfSAorKyMJaW5jbHVk ZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisgIwlpbmNsdWRlIDxsaWJhdmZvcm1hdC9hdmZvcm1h dC5oPgorICNlbGlmIGRlZmluZWQoSEFWRV9BVkZPUk1BVF9IKQorICMJaW5jbHVkZSA8YXZmb3Jt YXQuaD4KK0BAIC0xNTUsMTEgKzE1NiwxMSBAQAorICAgICB9CisgCisgCWJvb2wgb3Blbl92aWRl b19zdHJlYW0oKSB7CistCQlpZiAoYXZjb2RlY19vcGVuMih2aWRlb19jb250ZXh0LCBOVUxMLCBO VUxMKSA8IDApIHsKKysJCWlmIChhdmNvZGVjX29wZW4yKHZpZGVvX2NvbnRleHQsIG51bGxwdHIs IG51bGxwdHIpIDwgMCkgeworIAkJCXN5bmZpZzo6ZXJyb3IoIlRhcmdldF9MaWJBVkNvZGVjOiBj b3VsZCBub3Qgb3BlbiB2aWRlbyBjb2RlYyIpOworIAkJCS8vIHNlZW1zIHRoZSBjYWxsaW5nIG9m IGF2Y29kZWNfZnJlZV9jb250ZXh0IGFmdGVyIGVycm9yIHdpbGwgY2F1c2UgY3Jhc2gKKyAJCQkv LyBzbyBqdXN0IGZvcmdldCBhYm91dCB0aGlzIGNvbnRleHQKKy0JCQl2aWRlb19jb250ZXh0ID0g TlVMTDsKKysJCQl2aWRlb19jb250ZXh0ID0gbnVsbHB0cjsKKyAJCQljbG9zZSgpOworIAkJCXJl dHVybiBmYWxzZTsKKyAgICAgICAgIH0KK0BAIC0yMzQsMTUgKzIzNSwyMSBAQAorIAkJY2xvc2Uo KTsKKyAKKyAJCWlmICghYXZfcmVnaXN0ZXJlZCkgeworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05f TUFKT1IgPCA1OCAvLyBGRk1QRUcgPCA0LjAKKyAJCQlhdl9yZWdpc3Rlcl9hbGwoKTsKKysjZW5k aWYKKyAJCQlhdl9yZWdpc3RlcmVkID0gdHJ1ZTsKKyAJCX0KKyAKKyAJCS8vIGd1ZXNzIGZvcm1h dAorLQkJQVZPdXRwdXRGb3JtYXQgKmZvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1hdChOVUxMLCBmaWxl bmFtZS5jX3N0cigpLCBOVUxMKTsKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SIDwgNTkg Ly8gRkZNUEVHIDwgNS4wCisrCQlBVk91dHB1dEZvcm1hdCogZm9ybWF0ID0gYXZfZ3Vlc3NfZm9y bWF0KG51bGxwdHIsIGZpbGVuYW1lLmNfc3RyKCksIG51bGxwdHIpOworKyNlbHNlCisrCQljb25z dCBBVk91dHB1dEZvcm1hdCogZm9ybWF0ID0gYXZfZ3Vlc3NfZm9ybWF0KG51bGxwdHIsIGZpbGVu YW1lLmNfc3RyKCksIG51bGxwdHIpOworKyNlbmRpZgorIAkJaWYgKCFmb3JtYXQpIHsKKyAJCQlz eW5maWc6Ondhcm5pbmcoIlRhcmdldF9MaWJBVkNvZGVjOiB1bmFibGUgdG8gZ3Vlc3MgdGhlIG91 dHB1dCBmb3JtYXQsIGRlZmF1bHRpbmcgdG8gTVBFRyIpOworLQkJCWZvcm1hdCA9IGF2X2d1ZXNz X2Zvcm1hdCgibXBlZyIsIE5VTEwsIE5VTEwpOworKwkJCWZvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1h dCgibXBlZyIsIG51bGxwdHIsIG51bGxwdHIpOworIAkJfQorIAkJaWYgKCFmb3JtYXQpIHsKKyAJ CQlzeW5maWc6OmVycm9yKCJUYXJnZXRfTGliQVZDb2RlYzogdW5hYmxlIHRvIGZpbmQgJ21wZWcn IG91dHB1dCBmb3JtYXQiKTsKK0BAIC0yNTQsNiArMjYxLDcgQEAKKyAJCWNvbnRleHQgPSBhdmZv cm1hdF9hbGxvY19jb250ZXh0KCk7CisgCQlhc3NlcnQoY29udGV4dCk7CisgCQljb250ZXh0LT5v Zm9ybWF0ID0gZm9ybWF0OworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPCA1OCAvLyBG Rk1QRUcgPCA0LjAKKyAJCWlmIChmaWxlbmFtZS5zaXplKCkgKyAxID4gc2l6ZW9mKGNvbnRleHQt PmZpbGVuYW1lKSkgeworIAkJCXN5bmZpZzo6ZXJyb3IoCisgCQkJCSJUYXJnZXRfTGliQVZDb2Rl YzogZmlsZW5hbWUgdG9vIGxvbmcsIG1heCBsZW5ndGggaXMgJWQsIGZpbGVuYW1lIGlzICclcyci LAorQEAgLTI2Myw2ICsyNzEsMTQgQEAKKyAJCQlyZXR1cm4gZmFsc2U7CisgCQl9CisgCQltZW1j cHkoY29udGV4dC0+ZmlsZW5hbWUsIGZpbGVuYW1lLmNfc3RyKCksIGZpbGVuYW1lLnNpemUoKSAr IDEpOworKyNlbHNlCisrCQljb250ZXh0LT51cmwgPSBhdl9zdHJuZHVwKGZpbGVuYW1lLmNfc3Ry KCksIGZpbGVuYW1lLnNpemUoKSk7CisrCQlpZiAoIWNvbnRleHQtPnVybCkgeworKwkJCXN5bmZp Zzo6ZXJyb3IoIlRhcmdldF9MaWJBVkNvZGVjOiBjYW5ub3QgYWxsb2NhdGUgc3BhY2UgZm9yIGZp bGVuYW1lIik7CisrCQkJY2xvc2UoKTsKKysJCQlyZXR1cm4gZmFsc2U7CisrCQl9CisrI2VuZGlm CisgCisgCQlwYWNrZXQgPSBhdl9wYWNrZXRfYWxsb2MoKTsKKyAJCWFzc2VydChwYWNrZXQpOwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9zeW5maWcvdGVtcGxhdGUgYi9zcmNwa2dzL3N5bmZpZy90ZW1w bGF0ZQppbmRleCBkNGQzZTM0MWEyMGJmOC4uODI4YjVjYjMyOTU2ZWUgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3Mvc3luZmlnL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3luZmlnL3RlbXBsYXRlCkBAIC0y LDExICsyLDExIEBACiAjIFNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCAnc3luZmlnc3R1ZGlv JyBhbmQgJ0VUTCcKIHBrZ25hbWU9c3luZmlnCiB2ZXJzaW9uPTEuNC40Ci1yZXZpc2lvbj00City ZXZpc2lvbj01CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13 aXRoLWJvb3N0LWxpYmRpcj0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2xpYiIKIGhvc3RtYWtlZGVw ZW5kcz0iYm9vc3QtYnVpbGQgSW1hZ2VNYWdpY2sgcGtnLWNvbmZpZyBpbnRsdG9vbCIKLW1ha2Vk ZXBlbmRzPSJFVEwgZ2V0dGV4dC1kZXZlbCBsaWJ4bWwrKy1kZXZlbCBtbHQtZGV2ZWwgbGlibWFn aWNrLWRldmVsCittYWtlZGVwZW5kcz0iRVRMIGdldHRleHQtZGV2ZWwgbGlieG1sKystZGV2ZWwg bWx0Ny1kZXZlbCBsaWJtYWdpY2stZGV2ZWwKICBsaWJtbmctZGV2ZWwgYm9vc3QtYnVpbGQgYm9v c3QtZGV2ZWwgbGlib3BlbmV4ci1kZXZlbCBmZm1wZWctZGV2ZWwiCiBkZXBlbmRzPSJJbWFnZU1h Z2ljayIKIHNob3J0X2Rlc2M9IkNMSSAyRCB2ZWN0b3IgYW5kIHRpbWVsaW5lLWJhc2VkIGFuaW1h dGlvbiBzb2Z0d2FyZSIKQEAgLTIwLDcgKzIwLDcgQEAgQ1hYRkxBR1M9Ii1zdGQ9YysrMTEgLURI QVZFX0xPQ0FMRV9IPTEiCiAKIHN5bmZpZy1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7 c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQotCSBsaWJvcGVuZXhyLWRldmVsIGxp YnhtbCsrLWRldmVsIG1sdC1kZXZlbCIKKwkgbGlib3BlbmV4ci1kZXZlbCBsaWJ4bWwrKy1kZXZl bCBtbHQ3LWRldmVsIgogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKIAlwa2df aW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2Jpbi9zeW5maWctY29uZmlnCgpGcm9tIDYxMjcyMTE2 ODc2ODkyODc3NTQzNTE4M2U4Y2I0MzkxNzdkMmU2YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMg MjA6MDE6NTIgLTA0MDAKU3ViamVjdDogW1BBVENIIDA2NS8xMDldIHRpbWc6IHJldmJ1bXAgZm9y IGZmbXBlZzYKCi0tLQogc3JjcGtncy90aW1nL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90 aW1nL3RlbXBsYXRlIGIvc3JjcGtncy90aW1nL3RlbXBsYXRlCmluZGV4IDJhMmFiNzYzZDJmZGRm Li44ZmI0MzI3NTM1ZWY5MyAxMDA2NDQKLS0tIGEvc3JjcGtncy90aW1nL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvdGltZy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3RpbWcnCiBwa2duYW1lPXRpbWcKIHZlcnNpb249MS40LjUKLXJldmlzaW9uPTEKK3Jldmlz aW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURXSVRIX09QRU5TTElE RV9TVVBQT1JUPW9mZiAtV25vLWRldiIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBnaXQi CgpGcm9tIDNiNmYzZWEzMzQ4ZDA2NDQ2MzFlMDg4Nzc3NmFiNjI5NzRhMGU2NGYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTIgLTA0MDAKU3ViamVjdDogW1BBVENIIDA2Ni8xMDldIHR2 aGVhZGVuZDogcmV2YnVtcCBmb3IgZmZtcGVnNAoKLS0tCiBzcmNwa2dzL3R2aGVhZGVuZC90ZW1w bGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdHZoZWFkZW5kL3RlbXBsYXRlIGIvc3JjcGtncy90dmhl YWRlbmQvdGVtcGxhdGUKaW5kZXggOWFlYTdkZTRlYzcwNTcuLjAxMmQzMWM0ODc5ZmYxIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3R2aGVhZGVuZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3R2aGVhZGVu ZC90ZW1wbGF0ZQpAQCAtOCw3ICs4LDcgQEAgY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLWR2YnNj YW4gLS1kaXNhYmxlLWZmbXBlZ19zdGF0aWMKIC0tZGlzYWJsZS1saWJ4MjY1X3N0YXRpYyAtLWRp c2FibGUtbGlidnB4X3N0YXRpYyAtLWRpc2FibGUtbGlidGhlb3JhX3N0YXRpYwogLS1kaXNhYmxl LWxpYnZvcmJpc19zdGF0aWMgLS1kaXNhYmxlLWxpYmZka2FhY19zdGF0aWMiCiBob3N0bWFrZWRl cGVuZHM9ImdldHRleHQgcGtnLWNvbmZpZyBweXRob24zIGdpdCB3aGljaCIKLW1ha2VkZXBlbmRz PSJhdmFoaS1saWJzLWRldmVsIG9wZW5zc2wtZGV2ZWwgemxpYi1kZXZlbCBsaWJjdXJsLWRldmVs IGZmbXBlZy1kZXZlbCIKK21ha2VkZXBlbmRzPSJhdmFoaS1saWJzLWRldmVsIG9wZW5zc2wtZGV2 ZWwgemxpYi1kZXZlbCBsaWJjdXJsLWRldmVsIGZmbXBlZzQtZGV2ZWwiCiBzaG9ydF9kZXNjPSJU ViBzdHJlYW1pbmcgc2VydmVyIgogbWFpbnRhaW5lcj0ibGVtbWkgPGxlbW1pQG5lcmQybmVyZC5v cmc+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IgoKRnJvbSA1ZGE3YTBmZmQ0ODFhYjFiODZkOWZj NjhlM2I5NDNlYmFhYjVlZTEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8 emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDIzIDIwOjAxOjUyIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAwNjcvMTA5XSB1bnBhcGVyOiB1cGRhdGUgdG8gNy4wLjAuCgotLS0K IHNyY3BrZ3MvdW5wYXBlci90ZW1wbGF0ZSB8IDE2ICsrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy91bnBhcGVyL3RlbXBsYXRlIGIvc3JjcGtncy91bnBhcGVyL3RlbXBsYXRlCmluZGV4IDM4 ZWQ0N2E1ODQwMTY1Li4xZmY5MTBlNzIyYWZjOCAxMDA2NDQKLS0tIGEvc3JjcGtncy91bnBhcGVy L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdW5wYXBlci90ZW1wbGF0ZQpAQCAtMSwxMyArMSwxMyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndW5wYXBlcicKIHBrZ25hbWU9dW5wYXBlcgotdmVyc2lv bj02LjEKLXJldmlzaW9uPTMKLWJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKK3ZlcnNpb249Ny4w LjAKK3JldmlzaW9uPTEKK2J1aWxkX3N0eWxlPW1lc29uCitob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWcgbWVzb24gbGlieHNsdCIKK21ha2VkZXBlbmRzPSJmZm1wZWctZGV2ZWwgcHl0aG9uMy1T cGhpbngiCitzaG9ydF9kZXNjPSJQb3N0LXByb2Nlc3NpbmcgdG9vbCBmb3Igc2Nhbm5lZCBzaGVl dHMgb2YgcGFwZXIiCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+ IgotaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGxpYnhzbHQiCi1tYWtlZGVwZW5kcz0iZmZt cGVnLWRldmVsIgotbGljZW5zZT0iR1BMLTIiCitsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgog aG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmZsYW1lZXllcy5ldS9wcm9qZWN0cy91bnBhcGVyIgotc2hv cnRfZGVzYz0iQSBwb3N0LXByb2Nlc3NpbmcgdG9vbCBmb3Igc2Nhbm5lZCBzaGVldHMgb2YgcGFw ZXIiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3LmZsYW1lZXllcy5ldS9maWxlcy8ke3BrZ25hbWV9 LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09MjM3Yzg0ZjVkYTU0NGIzZjc3MDk4MjdmOWYx MmMzN2MzNDZjZGYwMjliMTEyOGZiNDYzM2Y5YmFmYTVjYjkzMAorY2hlY2tzdW09MjU3NWZiYmYy NmMyMjcxOWQxY2I4ODJiNTk2MDJjOTkwMGM3Zjc0NzExOGFjMTMwODgzZjYzNDE5YmU0NmE4MAoK RnJvbSA1Y2YyOWM5ZmQwYzFhMTc4NTRmYmIyZjZiMjhlZGY2YTAwYmFjYmJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQs IDIyIE1hciAyMDIzIDIwOjAxOjUyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNjgvMTA5XSB2aWNl OiByZXZidW1wIGZvciBmZm1wZWc0CgotLS0KIHNyY3BrZ3MvdmljZS90ZW1wbGF0ZSB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvdmljZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvdmljZS90ZW1wbGF0ZQppbmRleCAx YzY0MWQ5YWU5YmUyMi4uNGY0M2U4NWI1Yjg5NzIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdmljZS90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3ZpY2UvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICd2aWNlJwogcGtnbmFtZT12aWNlCiB2ZXJzaW9uPTMuOAotcmV2aXNp b249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2Fy Z3M9Ii0tZW5hYmxlLWNwdWhpc3RvcnkgLS1lbmFibGUteDY0IC0tZGlzYWJsZS1wZGYtZG9jcwog IC0tbGliZGlyPS91c3IvbGliJFhCUFNfVEFSR0VUX1dPUkRTSVpFICQodm9wdF9lbmFibGUgc2Rs MiBzZGx1aTIpCgpGcm9tIGMwNzY1Y2VhMDZhNmU3ZWFjM2YwZWViZmY1YWUwNTlmOGQ5ZWEzNzYg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjIgTWFyIDIwMjMgMjA6MDE6NTIgLTA0MDAKU3ViamVjdDogW1BBVENIIDA2 OS8xMDldIHdheXBpcGU6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy93YXlwaXBl L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93YXlwaXBlL3RlbXBsYXRlIGIvc3JjcGtncy93 YXlwaXBlL3RlbXBsYXRlCmluZGV4IDZkYTg4YjIxYmYyYTE5Li40ZGE4MDU4NDAwYjU4OCAxMDA2 NDQKLS0tIGEvc3JjcGtncy93YXlwaXBlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvd2F5cGlwZS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3dheXBpcGUnCiBw a2duYW1lPXdheXBpcGUKIHZlcnNpb249MC44LjYKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1 aWxkX3N0eWxlPW1lc29uCiAjIGx0byBpcyBvZmYgYmVjYXVzZSBpdCBjYXVzZXMgbGlua2luZyBl cnJvcnMgaW4gYXJtdjZsIGFuZCBhcm12N2wgKGR1ZSB0byBORU9OKQogY29uZmlndXJlX2FyZ3M9 Ii1Ed2Vycm9yPWZhbHNlIC1Ed2l0aF9kbWFidWY9ZW5hYmxlZCAtRHdpdGhfbHo0PWVuYWJsZWQK CkZyb20gYzdhMmEzOGQ4N2FkY2Q3NDkyZTBhODQ3NTIzMDdhYzM5ZmQwMjJjMyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2Vk LCAyMiBNYXIgMjAyMyAyMDowMTo1MiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDcwLzEwOV0geHBy YTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3hwcmEvdGVtcGxhdGUgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3hwcmEvdGVtcGxhdGUgYi9zcmNwa2dzL3hwcmEvdGVtcGxhdGUKaW5kZXgg YTViZDg3MDQwZDAxZDMuLjFlZWRhMTQ2ZGQyZTc0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3hwcmEv dGVtcGxhdGUKKysrIGIvc3JjcGtncy94cHJhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAneHByYScKIHBrZ25hbWU9eHByYQogdmVyc2lvbj02LjAuMQotcmV2 aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIG1ha2VfYnVp bGRfYXJncz0iLS13aXRob3V0LWN1ZGFfa2VybmVscyAtLXdpdGhvdXQtY3VkYV9yZWJ1aWxkIgog bWFrZV9pbnN0YWxsX2FyZ3M9IiQodm9wdF93aXRoIGRvY3MpICR7bWFrZV9idWlsZF9hcmdzfSIK CkZyb20gM2QwZjY0YjMzNmI0NmUxYWQyMmYzZTI5OGNjMjI3MTFmMzc2M2MxMCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJp LCAzMSBNYXIgMjAyMyAwOTowNzo0MCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDcxLzEwOV0gbnYt Y29kZWMtaGVhZGVyczogdXBkYXRlIHRvIDEyLjAuMTYuMAoKLS0tCiBzcmNwa2dzL252LWNvZGVj LWhlYWRlcnMvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9udi1jb2RlYy1oZWFkZXJz L3RlbXBsYXRlIGIvc3JjcGtncy9udi1jb2RlYy1oZWFkZXJzL3RlbXBsYXRlCmluZGV4IDNkNDIy YTYxZTQ4OTE3Li4yNTFlMDU3ZjgyNmZiOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9udi1jb2RlYy1o ZWFkZXJzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbnYtY29kZWMtaGVhZGVycy90ZW1wbGF0ZQpA QCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ252LWNvZGVjLWhlYWRlcnMnCiBw a2duYW1lPW52LWNvZGVjLWhlYWRlcnMKLXZlcnNpb249MTEuMS41LjEKK3ZlcnNpb249MTIuMC4x Ni4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKIHNob3J0X2Rlc2M9IkZG bXBlZyB2ZXJzaW9uIG9mIGhlYWRlcnMgcmVxdWlyZWQgdG8gaW50ZXJmYWNlIHdpdGggTnZpZGlh cyBjb2RlYyBBUElzIgpAQCAtOCw3ICs4LDcgQEAgbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhh bkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9Ik1JVCIKIGhvbWVwYWdlPSJodHRwOi8vZ2l0LnZp ZGVvbGFuLm9yZy8/cD1mZm1wZWcvbnYtY29kZWMtaGVhZGVycy5naXQiCiBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcvbnYtY29kZWMtaGVhZGVycy9hcmNoaXZlL24ke3ZlcnNp b259LnRhci5neiIKLWNoZWNrc3VtPWQwOTVmYmQ1NmFhOTM3NzI0NzFhMzIzYmUwZWJlNjU1MDRh MGY0M2YwNmM3NmEzMGI2ZDI1ZGE3N2IwNmFlOWMKK2NoZWNrc3VtPTJhMTUzM2I2NWY1NWY5ZGE1 Mjk1NmZhZjA2MjdlZDNiNzQ4NjhhYzBjN2YyNjk5OTBlZGQyMTM2OTExM2I0OGYKIAogcG9zdF9p bnN0YWxsKCkgewogCXNlZCAtbiAnNCwyNXAnIGluY2x1ZGUvZmZudmNvZGVjL252RW5jb2RlQVBJ LmggPiBMSUNFTlNFCgpGcm9tIDc4M2FiMDc0MGIzZGZmMGYwZWUyNjUxNDhjNDI0OTZhYjU5MmVi MzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5j b20+CkRhdGU6IEZyaSwgMzEgTWFyIDIwMjMgMDk6MDg6NDAgLTA0MDAKU3ViamVjdDogW1BBVENI IDA3Mi8xMDldIG9wZW5pbWFnZWRlbm9pc2U6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3Jj cGtncy9vcGVuaW1hZ2VkZW5vaXNlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuaW1h Z2VkZW5vaXNlL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuaW1hZ2VkZW5vaXNlL3RlbXBsYXRlCmlu ZGV4IDEwOWRlYjE3MWMzZjc1Li40NGVkZjM4ZmIyODlkOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9v cGVuaW1hZ2VkZW5vaXNlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3BlbmltYWdlZGVub2lzZS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5pbWFnZWRl bm9pc2UnCiBwa2duYW1lPW9wZW5pbWFnZWRlbm9pc2UKIHZlcnNpb249MS40LjMKLXJldmlzaW9u PTIKK3JldmlzaW9uPTMKIGFyY2hzPSJ4ODZfNjQqIgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3Rt YWtlZGVwZW5kcz0iaXNwYyBweXRob24zIgoKRnJvbSBlZTk2MTE2ZmFkOWE3NmFlY2IwMmY3N2E5 M2YxNDM2YmNiYTUwM2M4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxp Y2U1NTVAZ21haWwuY29tPgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMjM6MzE6NDUgLTA0MDAKU3Vi amVjdDogW1BBVENIIDA3My8xMDldIHNob3RjdXQ6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQog c3JjcGtncy9zaG90Y3V0L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zaG90Y3V0L3RlbXBs YXRlIGIvc3JjcGtncy9zaG90Y3V0L3RlbXBsYXRlCmluZGV4IGIwZGM5Mzc3NTU4OTQxLi4xM2U4 YTA4NTIyYjY4ZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9zaG90Y3V0L3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3Mvc2hvdGN1dC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3Nob3RjdXQnCiBwa2duYW1lPXNob3RjdXQKIHZlcnNpb249MjMuMDkuMjkKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURTSE9U Q1VUX1ZFUlNJT049JHt2ZXJzaW9ufSIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBxdDYt YmFzZSBxdDYtdG9vbHMiCgpGcm9tIDRkOGQzZjUzNmVkYjcyYTdmOTk0MjhjM2VlNjEwNTY5OGRj YzE2ZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFp bC5jb20+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAyMzozMzozMCAtMDQwMApTdWJqZWN0OiBbUEFU Q0ggMDc0LzEwOV0gc2hpYm9rZW4yOiByZXZidW1wIGZvciBxdDUtNS4xNS4xMQoKLS0tCiBzcmNw a2dzL3NoaWJva2VuMi9wYXRjaGVzL2ltcG9ydGxpYi1tYWNoaW5lcnktYnlwYXNzLnBhdGNoIHwg MSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBz cmNwa2dzL3NoaWJva2VuMi9wYXRjaGVzL2ltcG9ydGxpYi1tYWNoaW5lcnktYnlwYXNzLnBhdGNo CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zaGlib2tlbjIvcGF0Y2hlcy9pbXBvcnRsaWItbWFjaGlu ZXJ5LWJ5cGFzcy5wYXRjaCBiL3NyY3BrZ3Mvc2hpYm9rZW4yL3BhdGNoZXMvaW1wb3J0bGliLW1h Y2hpbmVyeS1ieXBhc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAw MDAwMDAuLmVmY2YzMjQ5YmQ4ODU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zaGlib2tl bjIvcGF0Y2hlcy9pbXBvcnRsaWItbWFjaGluZXJ5LWJ5cGFzcy5wYXRjaApAQCAtMCwwICsxIEBA CisuLi8uLi9weXRob24zLXB5c2lkZTIvcGF0Y2hlcy9pbXBvcnRsaWItbWFjaGluZXJ5LWJ5cGFz cy5wYXRjaApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCkZyb20gZGViNmQ1NTc3MWEzNzBh ODNkZjA1Zjg1ZmYxMmZiZTBhMjBlNWQ1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog emxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDIzOjMzOjUz IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNzUvMTA5XSBweXRob24zLXB5c2lkZTI6IHJldmJ1bXAg Zm9yIHF0NS01LjE1LjExCgotLS0KIC4uLi9wYXRjaGVzL2ltcG9ydGxpYi1tYWNoaW5lcnktYnlw YXNzLnBhdGNoICAgICAgfCAxNSArKysrKysrKysrKysrKysKIHNyY3BrZ3MvcHl0aG9uMy1weXNp ZGUyL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgfCAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAx NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9weXRob24zLXB5c2lkZTIvcGF0Y2hlcy9pbXBvcnRsaWItbWFjaGluZXJ5LWJ5cGFzcy5wYXRj aAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXNpZGUyL3BhdGNoZXMvaW1wb3J0bGli LW1hY2hpbmVyeS1ieXBhc3MucGF0Y2ggYi9zcmNwa2dzL3B5dGhvbjMtcHlzaWRlMi9wYXRjaGVz L2ltcG9ydGxpYi1tYWNoaW5lcnktYnlwYXNzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAwLi42NGM0Mjk1ODQ3NzZiNQotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcHl0aG9uMy1weXNpZGUyL3BhdGNoZXMvaW1wb3J0bGliLW1hY2hpbmVyeS1ieXBhc3Mu cGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorVXNpbmcgdGhpcyBwcmV2ZW50cyBhbiBlcnJvciBhcm91 bmQgbGluZSAyMjAgYmVsb3cgaXQuCisiQXR0cmlidXRlRXJyb3I6IG1vZHVsZSAnaW1wb3J0bGli JyBoYXMgbm8gYXR0cmlidXRlICdtYWNoaW5lcnknIgorVGhlIG9sZCBiYWNrdXAgbG9naWMgaXMg aW4gcGxhY2UgYW5kIGNvbXBpbGVzIHdpdGhvdXQgaXNzdWVzLgorLS0tIGEvc291cmNlcy9zaGli b2tlbjIvbGlic2hpYm9rZW4vZW1iZWQvc2lnbmF0dXJlX2Jvb3RzdHJhcC5weQkyMDIzLTA0LTAy IDIzOjA5OjM0LjY4ODkxMjQwMiAtMDQwMAorKysrIGIvc291cmNlcy9zaGlib2tlbjIvbGlic2hp Ym9rZW4vZW1iZWQvc2lnbmF0dXJlX2Jvb3RzdHJhcC5weQkyMDIzLTA0LTAyIDIzOjEwOjAzLjM5 NTUyOTU4MiAtMDQwMAorQEAgLTE3MCw5ICsxNzAsNiBAQAorCisgICAgICMgJ3ppcHN0cmluZ19z ZXF1ZW5jZScgY29tZXMgZnJvbSBzaWduYXR1cmUuY3BwCisgICAgIHppcGJ5dGVzID0gYmFzZTY0 LmI2NGRlY29kZSgnJy5qb2luKHppcHN0cmluZ19zZXF1ZW5jZSkpCistICAgIGlmIHN5cy52ZXJz aW9uX2luZm9bMF0gPj0gMzoKKy0gICAgICAgIHZ6aXAgPSB6aXBmaWxlLlppcEZpbGUoaW8uQnl0 ZXNJTyh6aXBieXRlcykpCistICAgICAgICByZXR1cm4gc3lzLm1ldGFfcGF0aCwgRW1iZWRkYWJs ZVppcEltcG9ydGVyKHZ6aXApCisKKyAgICAgIyBPbGQgdmVyc2lvbiBmb3IgUHl0aG9uIDIuNywg b25seS4KKyAgICAgaW1wb3J0IG9zCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtcHlzaWRl Mi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1weXNpZGUyL3RlbXBsYXRlCmluZGV4IDI0OWVm YTkwOTg4NDI1Li41MjYyNjQzNmNlNzVmMiAxMDA2NDQKLS0tIGEvc3JjcGtncy9weXRob24zLXB5 c2lkZTIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9weXRob24zLXB5c2lkZTIvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdweXRob24zLXB5c2lkZTInCiBwa2du YW1lPXB5dGhvbjMtcHlzaWRlMgogdmVyc2lvbj01LjE1LjEwCi1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBfcGtnbmFtZT0icHlzaWRlLXNldHVwLW9wZW5zb3VyY2Utc3JjLSR7dmVyc2lvbn0iCiBi dWlsZF93cmtzcmM9InNvdXJjZXMvcHlzaWRlMiIKIGJ1aWxkX3N0eWxlPWNtYWtlCgpGcm9tIDM3 ZWNmNTljZDRmMTM5MDZhMmRhOTY4NDlkOGZhYTM3YjE0YTk3ZjcgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgNCBBcHIg MjAyMyAxMToxNDozNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDc2LzEwOV0ga29ucXVlcm9yOiBy ZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mva29ucXVlcm9yL3RlbXBsYXRlIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9rb25xdWVyb3IvdGVtcGxhdGUgYi9zcmNwa2dzL2tvbnF1ZXJvci90ZW1w bGF0ZQppbmRleCA4NjU2M2E4MTEyNjY4ZC4uY2MzM2RkMTFkMmFmMjAgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3Mva29ucXVlcm9yL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva29ucXVlcm9yL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAna29ucXVlcm9yJwogcGtnbmFt ZT1rb25xdWVyb3IKIHZlcnNpb249MjQuMDIuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVp bGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREJVSUxEX1dJVEhfUVQ2PU9OIC1EQlVJ TERfVEVTVElORz1PRkYKICAtREtGNl9IT1NUX1RPT0xJTkc9L3Vzci9saWIvY21ha2UKCkZyb20g YzdmYTUyMTI4M2Q5NjMzMmYzZWRkZDJmYzZiMmExMzA5YTJkOTIxZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCA0IEFw ciAyMDIzIDExOjE0OjU4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNzcvMTA5XSBxdDUtc3BlZWNo OiByZXZidW1wIGZvciBxdDUtNS4xNS4xMQoKLS0tCiBzcmNwa2dzL3F0NS1zcGVlY2gvdGVtcGxh dGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS1zcGVlY2gvdGVtcGxhdGUgYi9zcmNwa2dzL3F0NS1z cGVlY2gvdGVtcGxhdGUKaW5kZXggMTIyOGJiNjBjNDFkYjQuLjI3YTdkYTFkYmRiOTFiIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3F0NS1zcGVlY2gvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDUtc3Bl ZWNoL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ1LXNw ZWVjaCcKIHBrZ25hbWU9cXQ1LXNwZWVjaAogdmVyc2lvbj01LjE1LjExCi1yZXZpc2lvbj0xCity ZXZpc2lvbj0yCiBfY29tbWl0PWQzMmY0YTQ3OWQzOGExMWY1NDc1OTgwMDRiOTc1ZjQzNTY0MjRh MTYKIGJ1aWxkX3N0eWxlPXFtYWtlCiBjb25maWd1cmVfYXJncz0iLS0gLWZsaXRlIC1mbGl0ZS1h bHNhIC1zcGVlY2hkIgoKRnJvbSAyYWJiMjA2N2JhN2UwMzNjYTIxZGM4MTE3ZWQyYzU1NDJlZDMy M2MzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBTYXQsIDMgSnVuIDIwMjMgMDg6MjA6MjIgLTA0MDAKU3ViamVjdDogW1BBVENI IDA3OC8xMDldIGd0azQ6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9ndGs0L3Rl bXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9ndGs0L3RlbXBsYXRlIGIvc3JjcGtncy9ndGs0L3Rl bXBsYXRlCmluZGV4IDE1ZDc4YTg0ODQ2MmEyLi4yZTJmYjY0MzVkYjYwNyAxMDA2NDQKLS0tIGEv c3JjcGtncy9ndGs0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ3RrNC90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2d0azQnCiBwa2duYW1lPWd0azQKIHZlcnNp b249NC4xNC40Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1tZXNvbgogYnVp bGRfaGVscGVyPSJnaXIiCiBjb25maWd1cmVfYXJncz0iLURtYW4tcGFnZXM9dHJ1ZSAtRGRvY3Vt ZW50YXRpb249dHJ1ZSAtRGJ1aWxkLXRlc3RzPWZhbHNlCgpGcm9tIDY4MGI0MzEwYWE2YzNiMDlm ZDgzNDFlODg3Mzg0ODVjMzljMGM0YzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHps aWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFN1biwgNCBKdW4gMjAyMyAxMToyODoyNiAt MDQwMApTdWJqZWN0OiBbUEFUQ0ggMDc5LzEwOV0gc2lyaWw6IHJldmJ1bXAgZm9yIGZmbXBlZzYK Ci0tLQogc3JjcGtncy9zaXJpbC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2lyaWwvdGVt cGxhdGUgYi9zcmNwa2dzL3NpcmlsL3RlbXBsYXRlCmluZGV4IDg0MzMyZjc5ZDA2MGQyLi42Mjc1 MGRkMjQ3NTQ4ZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9zaXJpbC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3NpcmlsL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn c2lyaWwnCiBwa2duYW1lPXNpcmlsCiB2ZXJzaW9uPTAuOS4xMgotcmV2aXNpb249MTAKK3Jldmlz aW9uPTExCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWcgaW50bHRvb2wgYXV0b2NvbmYgYXV0b21ha2UgZ2V0dGV4dC1kZXZlbCIKIG1ha2VkZXBl bmRzPSJmZnR3LWRldmVsIGxpYmNvbmZpZy1kZXZlbCBsaWJvcGVuY3YtZGV2ZWwgbGliZmZtczIt ZGV2ZWwKCkZyb20gYTZkMmFjNjljODBkNzliODFjNjdhN2Y1OGZhMDFlZDcyODliOTlmOSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogU2F0LCA4IEp1bCAyMDIzIDIwOjIwOjU5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwODAvMTA5 XSB0cmFja2VyLW1pbmVyczogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3RyYWNr ZXItbWluZXJzL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90cmFja2VyLW1pbmVycy90ZW1w bGF0ZSBiL3NyY3BrZ3MvdHJhY2tlci1taW5lcnMvdGVtcGxhdGUKaW5kZXggOTJiMzg2M2VmZDM0 MmMuLmY5MWM1MDU5OGU5MGJhIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RyYWNrZXItbWluZXJzL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvdHJhY2tlci1taW5lcnMvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0cmFja2VyLW1pbmVycycKIHBrZ25hbWU9dHJhY2tl ci1taW5lcnMKIHZlcnNpb249My43LjEKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0 eWxlPW1lc29uCiBidWlsZF9oZWxwZXI9cWVtdQogIyBtaXNzaW5nIGxpYmdyc3MgZm9yIG1pbmVy X3JzcwoKRnJvbSBiYTVlZWFiZWFiOWMyMTJhYTA0YjE2YWQwYWE4N2VmODcyNDYyZWYzIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRl OiBXZWQsIDMwIEF1ZyAyMDIzIDA5OjEwOjAyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwODEvMTA5 XSB0Z19vd3Q6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy90Z19vd3QvdGVtcGxh dGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3RnX293dC90ZW1wbGF0ZSBiL3NyY3BrZ3MvdGdfb3d0L3Rl bXBsYXRlCmluZGV4IDM0ZThmZWYwNTQwNTY5Li4xYTQ2YThiZWRmMzQ3MyAxMDA2NDQKLS0tIGEv c3JjcGtncy90Z19vd3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90Z19vd3QvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0Z19vd3QnCiBwa2duYW1lPXRnX293 dAogdmVyc2lvbj0wLjAuMC4yMDIzMTIyMQotcmV2aXNpb249MgorcmV2aXNpb249MwogX2NvbW1p dD1hZmQ5ZDVkMzE3OThkM2VhY2Y5ZWQ2YzMwNjAxZTkxZDBmMWU0ZDYwCiBfbGlieXV2X2NvbW1p dD0wNDgyMWQxZTdkNjA4NDU1MjVlOGRiNTVjN2JjZDQxZWY1YmU5NDA2CiBfYWJzZWlsX2NvbW1p dD04YzBiOTRlNzkzYTY2NDk1ZTBiMWYzNGE1ZWIyNmJkN2RjNjcyZGIwCgpGcm9tIGI1OTMxMjk1 YmYwZmNmYWRiMzk3YmQ5YTE2NWY0ZDM2MTZkNTVmNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMzAgQXVnIDIwMjMg MDk6MTA6NDQgLTA0MDAKU3ViamVjdDogW1BBVENIIDA4Mi8xMDldIHRlbGVncmFtLWRlc2t0b3A6 IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlIGIvc3JjcGtn cy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlCmluZGV4IGQ5ZmM4ZTU2MWE3M2EyLi41YTEzNjU4 MDI5MjJiMiAxMDA2NDQKLS0tIGEvc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3RlbGVncmFtLWRlc2t0b3AnCiBwa2duYW1lPXRlbGVncmFtLWRl c2t0b3AKIHZlcnNpb249NC4xNi44Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHls ZT1jbWFrZQogYnVpbGRfaGVscGVyPSJxZW11IGdpciIKIGNvbmZpZ3VyZV9hcmdzPSItRFRERVNL VE9QX0FQSV9JRD0yMDkyMzUKCkZyb20gMTE2MTgyN2ZjOGNmODAyMWI4YjRkMGRiZTU0ZGZjZTQ3 YmM5ZDg2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAzMCBBdWcgMjAyMyAwOToxMjowOSAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMDgzLzEwOV0gb3Blbm13OiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mv b3Blbm13L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVubXcvdGVtcGxhdGUgYi9zcmNw a2dzL29wZW5tdy90ZW1wbGF0ZQppbmRleCAwYWJmNWZmN2NkYmVjYy4uYjU3MTgwZjFhNDQ0NmYg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3Blbm13L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3Blbm13 L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3Blbm13Jwog cGtnbmFtZT1vcGVubXcKIHZlcnNpb249MC40OC4wCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBi dWlsZF9zdHlsZT1jbWFrZQogX3JlY2FzdF9jb21taXQ9ZTc1YWRmODZmOTFlYjMwODIyMjAwODVl NDJkZGE2MjY3OWY5YTNlYQogX2J1bGxldF90YWc9My4xNwoKRnJvbSAzM2Y1ZWViNDBmMmQzMGM2 NjdmMjdmNjUwODFjZWEzMjY4OWQ4YmI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6 bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDMwIEF1ZyAyMDIzIDA5OjE4OjE4 IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwODQvMTA5XSBmcmVlY2FkOiBERUxFVEUKCi0tLQogc3Jj cGtncy9mcmVlY2FkL3BhdGNoZXMvMDAxLWluY2x1ZGUucGF0Y2ggICAgIHwgMTEyIC0tLS0tLS0t LS0tLS0tLS0tLQogLi4uLzE1NC1yZXZlcnQtZ3VpLXRtcC1yZWRpcmVjdC1zdGRlcnIucGF0Y2gg IHwgIDY4IC0tLS0tLS0tLS0tCiAuLi5kNjNjOGM5YjEyODA5NzhiZTg0MWQwNGU2OGEwYTU1Y2Nl YjkucGF0Y2ggfCAgMzAgLS0tLS0KIHNyY3BrZ3MvZnJlZWNhZC90ZW1wbGF0ZSAgICAgICAgICAg ICAgICAgICAgICB8ICAxMiArLQogNCBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIx NSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ZyZWVjYWQvcGF0Y2hl cy8wMDEtaW5jbHVkZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZnJlZWNhZC9w YXRjaGVzLzE1NC1yZXZlcnQtZ3VpLXRtcC1yZWRpcmVjdC1zdGRlcnIucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy9mZTAyZDYzYzhjOWIxMjgwOTc4YmU4 NDFkMDRlNjhhMGE1NWNjZWI5LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mcmVlY2FkL3Bh dGNoZXMvMDAxLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8wMDEtaW5j bHVkZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhiNWFmNTQ5OTliOTYu LjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZnJlZWNhZC9wYXRjaGVzLzAwMS1pbmNsdWRl LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLUZyb20gOWE0MTg0NWE0MTcx ODk3NzY3NDEyOTdjNTBhMzgyN2NlMjkyYmM0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IFV3ZSA8ZG9ub3ZhbHlAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgotRGF0ZTogU3VuLCAz IEp1bCAyMDIyIDIyOjUxOjE2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIFtQYXJ0XSBPQ0NFcnJv ci5oOiByZW1vdmUgdW5uZWVkZWQgaW5jbHVkZXMKLQotLSBhbHNvIHNvcnQgaW5jbHVkZXMKLS0t LQotIHNyYy9Nb2QvUGFydC9BcHAvT0NDRXJyb3IuaCAgICAgICAgICAgICB8IDM2ICsrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvTW9kL1BhcnQvQXBwL09mZnNldEN1cnZlUHlJbXAuY3Bw ICAgfCAxMiArKysrLS0tLS0KLSBzcmMvTW9kL1BhcnQvQXBwL09mZnNldFN1cmZhY2VQeUltcC5j cHAgfCAxMCArKystLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA0NiBk ZWxldGlvbnMoLSkKLQotLS0tIGEvc3JjL01vZC9QYXJ0L0FwcC9PQ0NFcnJvci5oCi0rKysgYi9z cmMvTW9kL1BhcnQvQXBwL09DQ0Vycm9yLmgKLUBAIC0yMywzNiArMjMsOCBAQAotICNpZm5kZWYg X09DQ0Vycm9yX2hfDQotICNkZWZpbmUgX09DQ0Vycm9yX2hfDQotIA0KLS0jIGluY2x1ZGUgPFN0 YW5kYXJkX1ZlcnNpb24uaHh4Pg0KLSAjIGluY2x1ZGUgPFN0YW5kYXJkX0ZhaWx1cmUuaHh4Pg0K LS0jIGluY2x1ZGUgPFN0YW5kYXJkX0Fib3J0aXZlVHJhbnNhY3Rpb24uaHh4Pg0KLS0jIGluY2x1 ZGUgPFN0YW5kYXJkX0NvbnN0cnVjdGlvbkVycm9yLmh4eD4NCi0tIyBpZiBPQ0NfVkVSU0lPTl9I RVggPj0gMHgwNjA1MDANCi0tIyBpbmNsdWRlIDxTdGFuZGFyZF9EZWZpbmVFeGNlcHRpb24uaHh4 Pg0KLS0jIGVuZGlmDQotLSMgaW5jbHVkZSA8U3RhbmRhcmRfRGltZW5zaW9uRXJyb3IuaHh4Pg0K LS0jIGluY2x1ZGUgPFN0YW5kYXJkX0RpbWVuc2lvbk1pc21hdGNoLmh4eD4NCi0tIyBpbmNsdWRl IDxTdGFuZGFyZF9EaXZpZGVCeVplcm8uaHh4Pg0KLS0jIGluY2x1ZGUgPFN0YW5kYXJkX0RvbWFp bkVycm9yLmh4eD4NCi0tIyBpbmNsdWRlIDxTdGFuZGFyZF9JbW11dGFibGVPYmplY3QuaHh4Pg0K LS0jIGluY2x1ZGUgPFN0YW5kYXJkX0xpY2Vuc2VFcnJvci5oeHg+DQotLSMgaW5jbHVkZSA8U3Rh bmRhcmRfTGljZW5zZU5vdEZvdW5kLmh4eD4NCi0tIyBpbmNsdWRlIDxTdGFuZGFyZF9NdWx0aXBs eURlZmluZWQuaHh4Pg0KLS0jIGluY2x1ZGUgPFN0YW5kYXJkX05lZ2F0aXZlVmFsdWUuaHh4Pg0K LS0jIGluY2x1ZGUgPFN0YW5kYXJkX05vTW9yZU9iamVjdC5oeHg+DQotLSMgaW5jbHVkZSA8U3Rh bmRhcmRfTm9TdWNoT2JqZWN0Lmh4eD4NCi0tIyBpbmNsdWRlIDxTdGFuZGFyZF9Ob3RJbXBsZW1l bnRlZC5oeHg+DQotLSMgaW5jbHVkZSA8U3RhbmRhcmRfTnVsbE9iamVjdC5oeHg+DQotLSMgaW5j bHVkZSA8U3RhbmRhcmRfTnVsbFZhbHVlLmh4eD4NCi0tIyBpbmNsdWRlIDxTdGFuZGFyZF9OdW1l cmljRXJyb3IuaHh4Pg0KLS0jIGluY2x1ZGUgPFN0YW5kYXJkX091dE9mTWVtb3J5Lmh4eD4NCi0t IyBpbmNsdWRlIDxTdGFuZGFyZF9PdXRPZlJhbmdlLmh4eD4NCi0tIyBpbmNsdWRlIDxTdGFuZGFy ZF9PdmVyZmxvdy5oeHg+DQotLSMgaW5jbHVkZSA8U3RhbmRhcmRfUHJvZ3JhbUVycm9yLmh4eD4N Ci0tIyBpbmNsdWRlIDxTdGFuZGFyZF9SYW5nZUVycm9yLmh4eD4NCi0tIyBpbmNsdWRlIDxTdGFu ZGFyZF9Ub29NYW55VXNlcnMuaHh4Pg0KLS0jIGluY2x1ZGUgPFN0YW5kYXJkX1R5cGVNaXNtYXRj aC5oeHg+DQotLSMgaW5jbHVkZSA8U3RhbmRhcmRfVW5kZXJmbG93Lmh4eD4NCi0rIyBpbmNsdWRl IDxTdGFuZGFyZF9WZXJzaW9uLmh4eD4NCi0gDQotICNpbmNsdWRlIDxNb2QvUGFydC9QYXJ0R2xv YmFsLmg+DQotICNpbmNsdWRlIDxCYXNlL0NvbnNvbGUuaD4NCi1AQCAtODgsNCArNjAsMyBAQCBQ YXJ0RXhwb3J0IGV4dGVybiBQeU9iamVjdCogUGFydEV4Y2VwdGlvCi0gDQotICNkZWZpbmUgUFlf Q0FUQ0hfT0NDIF9QWV9DQVRDSF9PQ0MocmV0dXJuKE5VTEwpKQ0KLSAjZW5kaWYgIC8vIF9PQ0NF cnJvcl9oXw0KLS0NCi0tLS0gYS9zcmMvTW9kL1BhcnQvQXBwL09mZnNldEN1cnZlUHlJbXAuY3Bw Ci0rKysgYi9zcmMvTW9kL1BhcnQvQXBwL09mZnNldEN1cnZlUHlJbXAuY3BwCi1AQCAtMjAsMjAg KzIwLDIwIEBACi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKg0KLSAgKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0K LSANCi0tDQotICNpbmNsdWRlICJQcmVDb21waWxlZC5oIg0KLSAjaWZuZGVmIF9QcmVDb21wXw0K LSAjIGluY2x1ZGUgPEdlb21fT2Zmc2V0Q3VydmUuaHh4Pg0KLSAjZW5kaWYNCi0gDQotLSNpbmNs dWRlICJPQ0NFcnJvci5oIg0KLS0jaW5jbHVkZSAiR2VvbWV0cnkuaCINCi0rI2luY2x1ZGUgPEJh c2UvR2VvbWV0cnlQeUNYWC5oPg0KLSsjaW5jbHVkZSA8QmFzZS9WZWN0b3IzRC5oPg0KLSsjaW5j bHVkZSA8QmFzZS9WZWN0b3JQeS5oPg0KLSsNCi0gI2luY2x1ZGUgIk9mZnNldEN1cnZlUHkuaCIN Ci0gI2luY2x1ZGUgIk9mZnNldEN1cnZlUHkuY3BwIg0KLSsjaW5jbHVkZSAiR2VvbWV0cnkuaCIN Ci0rI2luY2x1ZGUgIk9DQ0Vycm9yLmgiDQotIA0KLS0jaW5jbHVkZSA8QmFzZS9HZW9tZXRyeVB5 Q1hYLmg+DQotLSNpbmNsdWRlIDxCYXNlL1ZlY3RvclB5Lmg+DQotLSNpbmNsdWRlIDxCYXNlL1Zl Y3RvcjNELmg+DQotIA0KLSB1c2luZyBuYW1lc3BhY2UgUGFydDsNCi0gDQotLS0tIGEvc3JjL01v ZC9QYXJ0L0FwcC9PZmZzZXRTdXJmYWNlUHlJbXAuY3BwCi0rKysgYi9zcmMvTW9kL1BhcnQvQXBw L09mZnNldFN1cmZhY2VQeUltcC5jcHAKLUBAIC0yMCwyMCArMjAsMTYgQEAKLSAgKiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotIA0KLS0NCi0gI2luY2x1ZGUgIlBy ZUNvbXBpbGVkLmgiDQotICNpZm5kZWYgX1ByZUNvbXBfDQotICMgaW5jbHVkZSA8R2VvbV9PZmZz ZXRTdXJmYWNlLmh4eD4NCi0gIyBpbmNsdWRlIDxtZW1vcnk+DQotICNlbmRpZg0KLSANCi0tI2lu Y2x1ZGUgPEJhc2UvVmVjdG9yUHkuaD4NCi0tI2luY2x1ZGUgPEJhc2UvVmVjdG9yM0QuaD4NCi0t DQotICNpbmNsdWRlICJPQ0NFcnJvci5oIg0KLS0jaW5jbHVkZSAiR2VvbWV0cnkuaCINCi0tI2lu Y2x1ZGUgPE1vZC9QYXJ0L0FwcC9PZmZzZXRTdXJmYWNlUHkuaD4NCi0tI2luY2x1ZGUgPE1vZC9Q YXJ0L0FwcC9PZmZzZXRTdXJmYWNlUHkuY3BwPg0KLSsjaW5jbHVkZSAiT2Zmc2V0U3VyZmFjZVB5 LmgiDQotKyNpbmNsdWRlICJPZmZzZXRTdXJmYWNlUHkuY3BwIg0KLSsNCi0gDQotIHVzaW5nIG5h bWVzcGFjZSBQYXJ0Ow0KLSANCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8x NTQtcmV2ZXJ0LWd1aS10bXAtcmVkaXJlY3Qtc3RkZXJyLnBhdGNoIGIvc3JjcGtncy9mcmVlY2Fk L3BhdGNoZXMvMTU0LXJldmVydC1ndWktdG1wLXJlZGlyZWN0LXN0ZGVyci5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZhOWFkYWJkZWM4MzAuLjAwMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvZnJlZWNhZC9wYXRjaGVzLzE1NC1yZXZlcnQtZ3VpLXRtcC1yZWRpcmVjdC1z dGRlcnIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1zZWUgaHR0cHM6Ly9n aXRodWIuY29tL0ZyZWVDQUQvRnJlZUNBRC9jb21taXQvY2ZlOTRiMDBkMzQzNGYzZTJjOGI1MTE0 ZDI5MDlmNjI4YzMzMGZhOCNjb21taXRjb21tZW50LTcxNDEzNDA3Ci0KLXVwc3RyZWFtOiB5ZXMK LQotRnJvbSA3YjM3N2EyMTZiOTE4NTk2MGU0Y2VlOTgwYTY1MDRkYzFhNzU1ZjUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogd21heWVyIDx3bWF5ZXJAdXNlcnMuc291cmNlZm9yZ2Uu bmV0PgotRGF0ZTogV2VkLCAyOSBKdW4gMjAyMiAxNToxOToxOCArMDIwMAotU3ViamVjdDogW1BB VENIXSBHdWk6IHJlbW92ZSB3b3JrYXJvdW5kIGZvciBzcG5hdiAwLjIzIGR1ZSB0byBidWlsZCBm YWlsdXJlCi0gd2l0aCBtdXNsIGxpYmMKLQotLS0tCi0gc3JjL0d1aS8zRGNvbm5leGlvbi9HdWlO YXRpdmVFdmVudExpbnV4LmNwcCB8IDI3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBj aGFuZ2VkLCAyNyBkZWxldGlvbnMoLSkKLQotLS0tIGEvc3JjL0d1aS8zRGNvbm5leGlvbi9HdWlO YXRpdmVFdmVudExpbnV4LmNwcAotKysrIGIvc3JjL0d1aS8zRGNvbm5leGlvbi9HdWlOYXRpdmVF dmVudExpbnV4LmNwcAotQEAgLTIxLDQyICsyMSwxNyBAQAotICAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov Ci0gCi0gI2luY2x1ZGUgPEZDQ29uZmlnLmg+Ci0tI2luY2x1ZGUgPGNzdGRpbz4KLSAKLSAjaW5j bHVkZSAiR3VpTmF0aXZlRXZlbnRMaW51eC5oIgotIAotICNpbmNsdWRlICJHdWlBcHBsaWNhdGlv bk5hdGl2ZUV2ZW50QXdhcmUuaCIKLSAjaW5jbHVkZSA8QmFzZS9Db25zb2xlLmg+Ci0tI2luY2x1 ZGUgPEJhc2UvRmlsZUluZm8uaD4KLSAjaW5jbHVkZSA8UU1haW5XaW5kb3c+Ci0gCi0gI2luY2x1 ZGUgPFFTb2NrZXROb3RpZmllcj4KLSAKLSAjaW5jbHVkZSA8c3BuYXYuaD4KLSAKLS1uYW1lc3Bh Y2UgewotLWNsYXNzIFJlZGlyZWN0U3RkRXJyCi0tewotLXB1YmxpYzoKLS0gICAgUmVkaXJlY3RT dGRFcnIoKQotLSAgICAgICAgOiBmaShCYXNlOjpGaWxlSW5mbzo6Z2V0VGVtcEZpbGVOYW1lKCkp Ci0tICAgICAgICAsIGZpbGUoc3RkZXJyKQotLSAgICB7Ci0tICAgICAgICBzdGRlcnIgPSBmb3Bl bihmaS5maWxlUGF0aCgpLmNfc3RyKCksICJ3Iik7Ci0tICAgIH0KLS0gICAgflJlZGlyZWN0U3Rk RXJyKCkKLS0gICAgewotLSAgICAgICAgZmNsb3NlKHN0ZGVycik7Ci0tICAgICAgICBmaS5kZWxl dGVGaWxlKCk7Ci0tICAgICAgICBzdGRlcnIgPSBmaWxlOwotLSAgICB9Ci0tCi0tcHJpdmF0ZToK LS0gICAgQmFzZTo6RmlsZUluZm8gZmk7Ci0tICAgIEZJTEUqIGZpbGU7Ci0tfTsKLS19Ci0tCi0g R3VpOjpHdWlOYXRpdmVFdmVudDo6R3VpTmF0aXZlRXZlbnQoR3VpOjpHVUlBcHBsaWNhdGlvbk5h dGl2ZUV2ZW50QXdhcmUgKmFwcCkKLSA6IEd1aUFic3RyYWN0TmF0aXZlRXZlbnQoYXBwKQotIHsK LUBAIC03Miw4ICs0Nyw2IEBAIEd1aTo6R3VpTmF0aXZlRXZlbnQ6On5HdWlOYXRpdmVFdmVudCgp Ci0gCi0gdm9pZCBHdWk6Okd1aU5hdGl2ZUV2ZW50Ojppbml0U3BhY2ViYWxsKFFNYWluV2luZG93 ICp3aW5kb3cpCi0gewotLSAgICAvLyB0bXAuIHJlZGlyZWN0IHN0ZGVyciB0byBhIGZpbGUgdG8g c3VwcHJlc3MgYW4gZXJyb3IgbWVzc2FnZSBmcm9tIHNwbmF2X29wZW4oKQotLSAgICBSZWRpcmVj dFN0ZEVyciBlcnI7Ci0gICAgIFFfVU5VU0VEKHdpbmRvdykKLSAgICAgaWYgKHNwbmF2X29wZW4o KSA9PSAtMSkgewotICAgICAgICAgQmFzZTo6Q29uc29sZSgpLkxvZygiQ291bGRuJ3QgY29ubmVj dCB0byBzcGFjZW5hdiBkYWVtb24uIFBsZWFzZSBpZ25vcmUgaWYgeW91IGRvbid0IGhhdmUgYSBz cGFjZW1vdXNlLlxuIik7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy9mZTAy ZDYzYzhjOWIxMjgwOTc4YmU4NDFkMDRlNjhhMGE1NWNjZWI5LnBhdGNoIGIvc3JjcGtncy9mcmVl Y2FkL3BhdGNoZXMvZmUwMmQ2M2M4YzliMTI4MDk3OGJlODQxZDA0ZTY4YTBhNTVjY2ViOS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRhY2YzNzBjYTBhNDIuLjAwMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvZnJlZWNhZC9wYXRjaGVzL2ZlMDJkNjNjOGM5YjEyODA5Nzhi ZTg0MWQwNGU2OGEwYTU1Y2NlYjkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBA Ci1Gcm9tIGZlMDJkNjNjOGM5YjEyODA5NzhiZTg0MWQwNGU2OGEwYTU1Y2NlYjkgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3ktMDQzIDw3MDUyMDYzMytSb3ktMDQzQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IFRodSwgMjkgRGVjIDIwMjIgMjM6MjA6MzggKzAxMDAK LVN1YmplY3Q6IFtQQVRDSF0gRHJhZnQ6IHVwZGF0ZSBpbnNwZWN0LmdldGFyZ3NwZWMgdG8gaW5z cGVjdC5nZXRmdWxsYXJnc3BlYwotICgjODEwMSkKLQotLS0tCi0gc3JjL01vZC9EcmFmdC9kcmFm dGd1aXRvb2xzL2d1aV9zbmFwcGVyLnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotLS0tIGEvc3JjL01vZC9EcmFmdC9kcmFmdGd1 aXRvb2xzL2d1aV9zbmFwcGVyLnB5Ci0rKysgYi9zcmMvTW9kL0RyYWZ0L2RyYWZ0Z3VpdG9vbHMv Z3VpX3NuYXBwZXIucHkKLUBAIC0xNDI2LDcgKzE0MjYsNyBAQCBjbGFzcyBTbmFwcGVyOgotICAg ICAgICAgICAgIEd1aS5TbmFwcGVyLm9mZigpCi0gICAgICAgICAgICAgc2VsZi51aS5vZmZVaSgp Ci0gICAgICAgICAgICAgaWYgY2FsbGJhY2s6Ci0tICAgICAgICAgICAgICAgIGlmIGxlbihpbnNw ZWN0LmdldGFyZ3NwZWMoY2FsbGJhY2spLmFyZ3MpID4gMToKLSsgICAgICAgICAgICAgICAgaWYg bGVuKGluc3BlY3QuZ2V0ZnVsbGFyZ3NwZWMoY2FsbGJhY2spLmFyZ3MpID4gMToKLSAgICAgICAg ICAgICAgICAgICAgIG9iaiA9IE5vbmUKLSAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc25h cEluZm8gYW5kICgiT2JqZWN0IiBpbiBzZWxmLnNuYXBJbmZvKSBhbmQgc2VsZi5zbmFwSW5mb1si T2JqZWN0Il06Ci0gICAgICAgICAgICAgICAgICAgICAgICAgb2JqID0gQXBwLkFjdGl2ZURvY3Vt ZW50LmdldE9iamVjdChzZWxmLnNuYXBJbmZvWyJPYmplY3QiXSkKLUBAIC0xNDQ1LDcgKzE0NDUs NyBAQCBjbGFzcyBTbmFwcGVyOgotICAgICAgICAgICAgIEd1aS5TbmFwcGVyLm9mZigpCi0gICAg ICAgICAgICAgc2VsZi51aS5vZmZVaSgpCi0gICAgICAgICAgICAgaWYgY2FsbGJhY2s6Ci0tICAg ICAgICAgICAgICAgIGlmIGxlbihpbnNwZWN0LmdldGFyZ3NwZWMoY2FsbGJhY2spLmFyZ3MpID4g MToKLSsgICAgICAgICAgICAgICAgaWYgbGVuKGluc3BlY3QuZ2V0ZnVsbGFyZ3NwZWMoY2FsbGJh Y2spLmFyZ3MpID4gMToKLSAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKE5vbmUsIE5vbmUp Ci0gICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhO b25lKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mcmVlY2FkL3RlbXBsYXRlIGIvc3JjcGtncy9mcmVl Y2FkL3RlbXBsYXRlCmluZGV4IGMxMzU3MDFlMzhiOWFkLi43ZDUxNjVmNzYwYmFiOSAxMDA2NDQK LS0tIGEvc3JjcGtncy9mcmVlY2FkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZnJlZWNhZC90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZyZWVjYWQnCiBwa2du YW1lPWZyZWVjYWQKLXZlcnNpb249MC4yMC4yCi1yZXZpc2lvbj03Cit2ZXJzaW9uPTAuMjEuMQor cmV2aXNpb249MgogYnVpbGRfd3Jrc3JjPSJGcmVlQ0FELSR7dmVyc2lvbn0iCiBidWlsZF9zdHls ZT1jbWFrZQogcHljb21waWxlX2RpcnM9InVzci9saWIvJHtwa2duYW1lfS9Nb2QiCkBAIC0yNCw4 ICsyNCwxMCBAQCBtYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCBib29zdC1kZXZlbCBsaWJ4ZXJj ZXMtYy1kZXZlbCB6bGliLWRldmVsIG9jY3QtZGV2ZWwKICBjb2luMy1kZXZlbCBsaWJzaGlib2tl bjItZGV2ZWwgbGlic3BuYXYtZGV2ZWwgcHlzaWRlMi10b29scwogIGxpYmx6NC1kZXZlbCBsaWJw eXNpZGUyLXB5dGhvbjMtZGV2ZWwgcHl0aG9uMy1tYXRwbG90bGliIG5ldGNkZi1kZXZlbAogIGpz b25jcHAtZGV2ZWwgcXQ1LWRldmVsIHF0NS1zdmctZGV2ZWwgcXQ1LXRvb2xzLWRldmVsIHF0NS13 ZWJraXQtZGV2ZWwKLSBxdDUteG1scGF0dGVybnMtZGV2ZWwgY29pbjMtZG9jIGdsZXctZGV2ZWwg cHl0aG9uMy1waXZ5IgotZGVwZW5kcz0icHl0aG9uMy1tYXRwbG90bGliIHB5dGhvbjMtcHlzaWRl Mi13ZWJlbmdpbmUgcHl0aG9uMy1waXZ5IgorIHF0NS14bWxwYXR0ZXJucy1kZXZlbCBjb2luMy1k b2MgZ2xldy1kZXZlbCBweXRob24zLXBpdnkgcXQ1LXdlYmVuZ2luZS1kZXZlbAorIHF0NS1kZWNs YXJhdGl2ZS1kZXZlbCBxdDUtd2ViY2hhbm5lbC1kZXZlbCBxdDUtbG9jYXRpb24tZGV2ZWwiCitk ZXBlbmRzPSJweXRob24zLW1hdHBsb3RsaWIgcHl0aG9uMy1weXNpZGUyLXdlYmVuZ2luZSBweXRo b24zLXBpdnkKKyBweXRob24zLUdpdFB5dGhvbiBweXRob24zLU1hcmtkb3duIgogc2hvcnRfZGVz Yz0iR2VuZXJhbCBwdXJwb3NlIDNEIENBRCBtb2RlbGVyIgogbWFpbnRhaW5lcj0ieW9waXRvIDxw aWVycmUuYm91cmdpbkBmcmVlLmZyPiIKIGxpY2Vuc2U9IkxHUEwtMi4wLW9yLWxhdGVyIgpAQCAt MzUsNyArMzcsNyBAQCBkaXN0ZmlsZXM9IgogIGh0dHBzOi8vZ2l0aHViLmNvbS9GcmVlQ0FEL0Zy ZWVDQUQvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5negogICR7U09VUkNFRk9SR0VfU0lURX0vY3h4 L3B5Y3h4LSR7X3B5Y3h4dmVyfS50YXIuZ3oKICIKLWNoZWNrc3VtPSI0NjkyMmYzYTQ3N2U3NDJl MWE4OWNkNTM0NjY5MmQ2M2FlYmIyYjY3YWY4ODdiM2U0NjNlMDk0YTRhZTA1NWRhCitjaGVja3N1 bT0iZTliMWZkMDMyM2YxMDEyNjhjN2YzYmU1MmRiNDJlNGEyOTIyMmYyZTMwNmFlNmM0YTZmYzMw OWNiNDE4ZDM1YQogIDRiOTFlMWUxMTQxYzIzZmJkNTAzOWRmNjM1YzRiYjZlNzU2MzIxNjg1NDhm NTZiODNjZTE3NzE5M2MwYzk4YzYiCiBweXRob25fdmVyc2lvbj0zCiBwYXRjaF9hcmdzPSItTnAx IC1kICR7YnVpbGRfd3Jrc3JjfSIKCkZyb20gYjFlNWU5ZThkZGNmYTAxMDRiM2M1ZGIwMzAyMjc0 ZTM0Mjg3OWM4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1 QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAxNSBPY3QgMjAyMyAyMTo0NzoxOCAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMDg1LzEwOV0gbGlib3BlbnNob3Q6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQog c3JjcGtncy9saWJvcGVuc2hvdC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlib3BlbnNo b3QvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYm9wZW5zaG90L3RlbXBsYXRlCmluZGV4IGZjNDVhMjU4 MDU3MDc5Li43YzFkZTY5NGQwNmMwMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9saWJvcGVuc2hvdC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpYm9wZW5zaG90L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlib3BlbnNob3QnCiBwa2duYW1lPWxpYm9wZW5zaG90 CiB2ZXJzaW9uPTAuMy4yCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFr ZQogIyBCdWlsZHMgZmFpbCB3aXRoIFJ1YnktMi40LjEKIGNvbmZpZ3VyZV9hcmdzPSItREVOQUJM RV9SVUJZPU9GRiAtRFVTRV9TWVNURU1fSlNPTkNQUD1PTiIKCkZyb20gNDIzNTIwZWIzNTAwMzM0 NzY0MWFhMjk2ZTAyMzYzM2I5MDdhMzQxNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog emxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA4IE5vdiAyMDIzIDEwOjEwOjMw IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwODYvMTA5XSBvcGVuaW1hZ2VpbzogcmV2YnVtcCBmb3Ig ZmZtcGVnNgoKLS0tCiBzcmNwa2dzL29wZW5pbWFnZWlvL3RlbXBsYXRlIHwgMiArLQogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9vcGVuaW1hZ2Vpby90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbmltYWdlaW8vdGVtcGxhdGUK aW5kZXggMjdkMjEzMWJjMGE2MWEuLjYxZjQ0YjQzZjkwODNlIDEwMDY0NAotLS0gYS9zcmNwa2dz L29wZW5pbWFnZWlvL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3BlbmltYWdlaW8vdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuaW1hZ2VpbycKIHBrZ25h bWU9b3BlbmltYWdlaW8KIHZlcnNpb249Mi40LjkuMAotcmV2aXNpb249OAorcmV2aXNpb249OQog YnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1xZW11CiBjb25maWd1cmVfYXJncz0iLURV U0VfUVQ9MCAtRFVTRV9QWVRIT049MCAtRE9JSU9fQlVJTERfVEVTVFM9MAoKRnJvbSBmOWNhMDMz ZGYzOGQxZTA3ZmU5ZjA1ZThmOTM1NzdlMDRmYjM4ZDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBXZWQsIDggTm92IDIwMjMg MTA6MTE6NTcgLTA1MDAKU3ViamVjdDogW1BBVENIIDA4Ny8xMDldIHN5bmZpZ3N0dWRpbzogcmV2 YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3N5bmZpZ3N0dWRpby90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvc3luZmlnc3R1ZGlvL3RlbXBsYXRlIGIvc3JjcGtncy9zeW5maWdzdHVk aW8vdGVtcGxhdGUKaW5kZXggMDllNDQyZGE5YTY4MDUuLjJiYzAxN2NlZGNhNmI4IDEwMDY0NAot LS0gYS9zcmNwa2dzL3N5bmZpZ3N0dWRpby90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3N5bmZpZ3N0 dWRpby90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKICMgU2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3 aXRoICdzeW5maWcnIGFuZCAnRVRMJwogcGtnbmFtZT1zeW5maWdzdHVkaW8KIHZlcnNpb249MS40 LjQKLXJldmlzaW9uPTQKK3JldmlzaW9uPTUKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNv bmZpZ3VyZV9hcmdzPSItLWRpc2FibGUtdXBkYXRlLW1pbWVkYiIKIGhvc3RtYWtlZGVwZW5kcz0i cGtnLWNvbmZpZyBpbnRsdG9vbCBnZXR0ZXh0IHN5bmZpZyIKCkZyb20gMDRmMzk2NjQ3ZTQ0YzM3 NjkwZDg3ODIxYjNhYjQwYTBlYTY3ODJiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog emxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxMCBOb3YgMjAyMyAxNDo1Mzox MCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDg4LzEwOV0gbWl4eHg6IHJldmJ1bXAgZm9yIGZmbXBl ZzYKCi0tLQogc3JjcGtncy9taXh4eC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbWl4eHgv dGVtcGxhdGUgYi9zcmNwa2dzL21peHh4L3RlbXBsYXRlCmluZGV4IDZhNzliMzI4YzFhYmYwLi45 YTUxNDE4NTY4NjBiOSAxMDA2NDQKLS0tIGEvc3JjcGtncy9taXh4eC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL21peHh4L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbWl4eHgnCiBwa2duYW1lPW1peHh4CiB2ZXJzaW9uPTIuMy4zCi1yZXZpc2lvbj03CityZXZp c2lvbj04CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EQ01BS0VfQlVJTERf VFlQRT1SZWxlYXNlIgogaG9zdG1ha2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1bGVzIHBrZy1j b25maWcgcHJvdG9idWYgcXQ1LWhvc3QtdG9vbHMgcXQ1LXFtYWtlIgoKRnJvbSA4NTc0YzAxZmE5 MTUxNzI5NGFiZDE1MjAyNzBmMDZmNjllNTZiY2UzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmksIDEwIE5vdiAyMDIzIDE0 OjUzOjI4IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwODkvMTA5XSBtdXNpa2N1YmU6IHJldmJ1bXAg Zm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9tdXNpa2N1YmUvdGVtcGxhdGUgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL211c2lrY3ViZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvbXVzaWtjdWJlL3RlbXBsYXRlCmlu ZGV4IGFjZGY1MTQ1M2I4Yzk0Li45YzRjMWFhYTdmOWZmNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9t dXNpa2N1YmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tdXNpa2N1YmUvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtdXNpa2N1YmUnCiBwa2duYW1lPW11c2lr Y3ViZQogdmVyc2lvbj0zLjAuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9 Y21ha2UKIG1ha2VfY21kPW1ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRE5PX05DVVJTRVNXPTEiCgpG cm9tIGE4MjVhNTQzNzJmMTA5YzA0MTE1NTZhMmEyODkyNzcyNDdjNGU2YzAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IEZyaSwg MTAgTm92IDIwMjMgMTQ6NTM6NDUgLTA1MDAKU3ViamVjdDogW1BBVENIIDA5MC8xMDldIGVsZWN0 cm9uMjQ6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9lbGVjdHJvbjI0L3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjI0L3RlbXBsYXRlIGIvc3JjcGtncy9lbGVj dHJvbjI0L3RlbXBsYXRlCmluZGV4IGVhZmI5YTBjNjk2MTMxLi40MmI1N2RjNTEyZDgyMiAxMDA2 NDQKLS0tIGEvc3JjcGtncy9lbGVjdHJvbjI0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZWxlY3Ry b24yNC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2VsZWN0 cm9uMjQnCiBwa2duYW1lPWVsZWN0cm9uMjQKIHZlcnNpb249MjQuMy4wCi1yZXZpc2lvbj0zCity ZXZpc2lvbj00CiBfbm9kZXZlcj0xOC4xNC4wCiBfY2hyb21pdW12ZXI9MTEyLjAuNTYxNS4xNjUK IGFyY2hzPSJ4ODZfNjQqIGFhcmNoNjQqIgoKRnJvbSAwOTIwMDMwYWM0NTUyZDc3NmI5YzA4NGE2 MDFmZWFkMWUxMGExY2FkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxp Y2U1NTVAZ21haWwuY29tPgpEYXRlOiBGcmksIDEwIE5vdiAyMDIzIDE0OjU0OjAwIC0wNTAwClN1 YmplY3Q6IFtQQVRDSCAwOTEvMTA5XSBlbGVjdHJvbjE5OiByZXZidW1wIGZvciBmZm1wZWc2Cgot LS0KIHNyY3BrZ3MvZWxlY3Ryb24xOS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ry b24xOS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZWxlY3Ryb24xOS90ZW1wbGF0ZQppbmRleCBiMWZkYjYz Y2I2N2Q0Ni4uODgxZjA0ZDdkODI1YjcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZWxlY3Ryb24xOS90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2VsZWN0cm9uMTkvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdlbGVjdHJvbjE5JwogcGtnbmFtZT1lbGVjdHJvbjE5CiB2 ZXJzaW9uPTE5LjAuOAotcmV2aXNpb249NAorcmV2aXNpb249NQogX25vZGV2ZXI9MTYuMTQuMgog X2Nocm9taXVtdmVyPTEwMi4wLjUwMDUuMTI1CiBhcmNocz0ieDg2XzY0KiBhYXJjaDY0KiBwcGM2 NGxlKiIKCkZyb20gN2UzMTRhYjZlNDU4ZDM2NTY3NTgyZDdhMDEwYzliMTBjNTVmM2UyNCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAxMCBOb3YgMjAyMyAxNDo1NDoxMyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDkyLzEw OV0gd2YtcmVjb3JkZXI6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy93Zi1yZWNv cmRlci90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd2YtcmVjb3JkZXIvdGVtcGxhdGUgYi9z cmNwa2dzL3dmLXJlY29yZGVyL3RlbXBsYXRlCmluZGV4IDA4Zjk4NmIwMzEwMDY3Li42M2M0NWNm NGI4MTRkNyAxMDA2NDQKLS0tIGEvc3JjcGtncy93Zi1yZWNvcmRlci90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3dmLXJlY29yZGVyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnd2YtcmVjb3JkZXInCiBwa2duYW1lPXdmLXJlY29yZGVyCiB2ZXJzaW9uPTAuNC4x Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1tZXNvbgogaG9zdG1ha2VkZXBl bmRzPSJwa2ctY29uZmlnIHNjZG9jIHdheWxhbmQtZGV2ZWwiCiBtYWtlZGVwZW5kcz0id2F5bGFu ZC1wcm90b2NvbHMgd2F5bGFuZC1kZXZlbCBmZm1wZWctZGV2ZWwgbGliZ2JtLWRldmVsIHgyNjQt ZGV2ZWwKCkZyb20gMGU5N2JhZDQ1MThiNmU0NTllY2IzYzYyZjBiYjgzNGE2MjljNmVhYSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAxMCBOb3YgMjAyMyAxNDo1NDoyNiAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDkzLzEw OV0gb2JzOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3Mvb2JzL3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9vYnMvdGVtcGxhdGUgYi9zcmNwa2dzL29icy90ZW1wbGF0ZQppbmRl eCBmZWI5NjQ5OTc3YThkNC4uMDg4OGZiM2FhYWNjZmUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb2Jz L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb2JzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnb2JzJwogcGtnbmFtZT1vYnMKIHZlcnNpb249MzAuMS4xCi1yZXZp c2lvbj0xCityZXZpc2lvbj0yCiBhcmNocz0iaTY4NiogeDg2XzY0KiBwcGM2NGxlKiBhYXJjaDY0 KiByaXNjdjY0KiIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURPQlNfVkVS U0lPTl9PVkVSUklERT0ke3ZlcnNpb259IC1ERU5BQkxFX0pBQ0s9T04KCkZyb20gZGQwYTNjMzUx MjAzYzg5NGY5MmRhZjM1YTBhZDllZjg5ODE1YzA0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxMCBOb3YgMjAyMyAx NDo1NDozNiAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDk0LzEwOV0gbWx0NzogcmV2YnVtcCBmb3Ig ZmZtcGVnNgoKLS0tCiBzcmNwa2dzL21sdDcvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9tbHQ3L3RlbXBsYXRlIGIvc3JjcGtncy9tbHQ3L3RlbXBsYXRlCmluZGV4IDY1ZWVkOTk4ZDM5 ODMyLi4xOWZlMzVkNDdhZjNkNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9tbHQ3L3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvbWx0Ny90ZW1wbGF0ZQpAQCAtMSwxMyArMSwxMyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnbWx0NycKIHBrZ25hbWU9bWx0NwogdmVyc2lvbj03LjIwLjAKLXJldmlzaW9uPTIK K3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURTV0lHX1BZ VEhPTj1PTiAtRE1PRF9RVDY9T04iCiBob3N0bWFrZWRlcGVuZHM9ImRveHlnZW4gcGtnLWNvbmZp ZyBsYWRzcGEtc2RrIHN3aWcgcHl0aG9uMyB3aGljaAogIHF0NS1ob3N0LXRvb2xzIHF0NS1xbWFr ZSBxdDYtYmFzZSBxdDYtdG9vbHMiCiBtYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2ZWwgZmZtcGVn LWRldmVsIGd0aystZGV2ZWwgamFjay1kZXZlbCBsYWRzcGEtc2RrCi0gbGliZXhpZi1kZXZlbCBs aWJzYW1wbGVyYXRlLWRldmVsIGxpYnhtbDItZGV2ZWwgc294LWRldmVsIFNETF9pbWFnZS1kZXZl bAorIGxpYmV4aWYtZGV2ZWwgbGlic2FtcGxlcmF0ZS1kZXZlbCBsaWJ4bWwyLWRldmVsIHNveC1k ZXZlbCBTREwyX2ltYWdlLWRldmVsCiAgZmZ0dy1kZXZlbCBmcmVpMHItcGx1Z2lucyBweXRob24z LWRldmVsIHB1bHNlYXVkaW8tZGV2ZWwgbW92aXQtZGV2ZWwKICBsaWJ2aWRzdGFiLWRldmVsIHF0 NS1zdmctZGV2ZWwgcXQ2LXN2Zy1kZXZlbCBxdDYtcXQ1Y29tcGF0LWRldmVsIgogZGVwZW5kcz0i bWx0Ny1kYXRhPj0ke3ZlcnNpb259XyR7cmV2aXNpb259IGxhZHNwYS1zZGstZXhhbXBsZS1wbHVn aW5zIgoKRnJvbSA5OGY5OWZhNDE3OGIzNWMyZTY0M2E1MTQxMGY0N2VmM2QwMjg2NTI4IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRl OiBGcmksIDEwIE5vdiAyMDIzIDE0OjU0OjQ4IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwOTUvMTA5 XSBxdDYtbXVsdGltZWRpYTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3F0Ni1t dWx0aW1lZGlhL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1w bGF0ZSBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKaW5kZXggNjdhNTc3ZTEzMDBm ZWEuLjFkYTYyNmVjZjUxNWE4IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtbXVsdGltZWRpYScKIHBrZ25hbWU9cXQ2LW11 bHRpbWVkaWEKIHZlcnNpb249Ni42LjAKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0 eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9GRUFUVVJFX2dzdHJlYW1lcj1PTiIKIGhv c3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyBwa2ctY29uZmln IHF0Ni1zaGFkZXJ0b29scyIKCkZyb20gMGU4N2U4ZWExYjk0MTAyNjdkYzFjMjg3ZDEwZWM1MDAy NjMxYTJlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdt YWlsLmNvbT4KRGF0ZTogRnJpLCAxMCBOb3YgMjAyMyAxNTowMDoxNSAtMDUwMApTdWJqZWN0OiBb UEFUQ0ggMDk2LzEwOV0gYmFyZXNpcDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dz L2JhcmVzaXAvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JhcmVzaXAvdGVtcGxhdGUgYi9z cmNwa2dzL2JhcmVzaXAvdGVtcGxhdGUKaW5kZXggYjE2YjY3YmVhYjhkMmIuLmZlMjFlYmY0MGMw M2MxIDEwMDY0NAotLS0gYS9zcmNwa2dzL2JhcmVzaXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9i YXJlc2lwL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYmFy ZXNpcCcKIHBrZ25hbWU9YmFyZXNpcAogdmVyc2lvbj0zLjYuMAotcmV2aXNpb249MworcmV2aXNp b249NAogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBnbGli LWRldmVsIgogbWFrZWRlcGVuZHM9ImxpYmdzbS1kZXZlbCBsaWJwbmctZGV2ZWwgb3BlbnNzbC1k ZXZlbCBsaWJzbmRmaWxlLWRldmVsCgpGcm9tIGM1OThkMjY3ZWZlNjViYzFiMmFkZTQwNTgxOWQ1 OGM2YjZiZDRlNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1 NUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMTAgTm92IDIwMjMgMTU6MDI6MzAgLTA1MDAKU3ViamVj dDogW1BBVENIIDA5Ny8xMDldIFFNUGxheTI6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3Jj cGtncy9RTVBsYXkyL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9RTVBsYXkyL3RlbXBsYXRl IGIvc3JjcGtncy9RTVBsYXkyL3RlbXBsYXRlCmluZGV4IGFmNGNmNTA3NzIxNGVhLi5hNWUxOWUx ODQ0Yzc2MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9RTVBsYXkyL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvUU1QbGF5Mi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J1FNUGxheTInCiBwa2duYW1lPVFNUGxheTIKIHZlcnNpb249MjQuMDUuMjMKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25m aWcgcXQ1LXFtYWtlIHF0NS1ob3N0LXRvb2xzIgogbWFrZWRlcGVuZHM9ImFsc2EtbGliLWRldmVs IGZmbXBlZy1kZXZlbCBsaWJhc3MtZGV2ZWwgbGliY2Rpby1kZXZlbCBsaWJnbWUtZGV2ZWwKCkZy b20gMDEzNzFjYmUxZTUxYjlkNjU4ZjViMjIxZDhmOGZjY2I2YTJjMTg0NSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAx MCBOb3YgMjAyMyAxNTowMjozNCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDk4LzEwOV0gYWxzYS1w bHVnaW5zOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvYWxzYS1wbHVnaW5zL3Rl bXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hbHNhLXBsdWdpbnMvdGVtcGxhdGUgYi9zcmNwa2dz L2Fsc2EtcGx1Z2lucy90ZW1wbGF0ZQppbmRleCBhNTcwOGE3ZDgyYThmMC4uN2JmZGFkMDQ2YzQ4 MzAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYWxzYS1wbHVnaW5zL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvYWxzYS1wbHVnaW5zL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnYWxzYS1wbHVnaW5zJwogcGtnbmFtZT1hbHNhLXBsdWdpbnMKIHZlcnNpb249MS4yLjcu MQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29u ZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1tYWVtby1wbHVnaW4iCiBob3N0bWFrZWRlcGVuZHM9InBr Zy1jb25maWciCgpGcm9tIGJlM2I0MTEwMzU1ODgxNjdiYjMyNjM5OGYyOGI2MjVhM2U5ZjczNmIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTAgTm92IDIwMjMgMTU6MDI6NDMgLTA1MDAKU3ViamVjdDogW1BBVENIIDA5 OS8xMDldIG1pbmlkbG5hOiByZXZidW1wIGZvciBmZm1wZWc2CgotLS0KIHNyY3BrZ3MvbWluaWRs bmEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21pbmlkbG5hL3RlbXBsYXRlIGIvc3JjcGtn cy9taW5pZGxuYS90ZW1wbGF0ZQppbmRleCA1ZmE5MjlmM2EwYzEyNC4uNzQyOTkxZWNkMDRhZmMg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbWluaWRsbmEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9taW5p ZGxuYS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ21pbmlk bG5hJwogcGtnbmFtZT1taW5pZGxuYQogdmVyc2lvbj0xLjMuMwotcmV2aXNpb249MgorcmV2aXNp b249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9IgogIC0tc2Jp bmRpcj0vdXNyL2JpbgoKRnJvbSBjNDI2YjA3ZDgzZmNlMjQwYTRjZTA2MDU2MDM3MTE2ZmI1NTU0 ZTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwu Y29tPgpEYXRlOiBNb24sIDIwIE5vdiAyMDIzIDE3OjU3OjQ3IC0wNTAwClN1YmplY3Q6IFtQQVRD SCAxMDAvMTA5XSBtcHY6IHJldmJ1bXAgZm9yIGZmbXBlZzYKCi0tLQogc3JjcGtncy9tcHYvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21wdi90ZW1wbGF0ZSBiL3NyY3BrZ3MvbXB2L3RlbXBs YXRlCmluZGV4IDMyZGQ5NTZjNmJmNmI2Li5mOGU5M2RiNTIzZDkyZCAxMDA2NDQKLS0tIGEvc3Jj cGtncy9tcHYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tcHYvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtcHYnCiBwa2duYW1lPW1wdgogdmVyc2lvbj0wLjM4 LjAKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPW1lc29uCiBjb25maWd1cmVf YXJncz0iLURjZGRhPWVuYWJsZWQgLURkdmJpbj1lbmFibGVkIC1EZHZkbmF2PWVuYWJsZWQKICAt RGxpYm1wdj10cnVlIC1EY3BsdWdpbnM9ZW5hYmxlZAoKRnJvbSBlNjE5NWQ5MjA4NzQ3ZTdiMzMz Yjg1NmMwOGYzNTZiNWM5MDY0YmExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGlj ZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBNb24sIDIwIE5vdiAyMDIzIDE3OjU5OjI5IC0w NTAwClN1YmplY3Q6IFtQQVRDSCAxMDEvMTA5XSBxaW1ndjogcmV2YnVtcCBmb3IgZmZtcGVnNgoK LS0tCiBzcmNwa2dzL3FpbWd2L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xaW1ndi90ZW1w bGF0ZSBiL3NyY3BrZ3MvcWltZ3YvdGVtcGxhdGUKaW5kZXggZGQzNDFkZmUxYmZjZTguLjhhN2Ux YzA4MWVmMTJmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3FpbWd2L3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcWltZ3YvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx aW1ndicKIHBrZ25hbWU9cWltZ3YKIHZlcnNpb249MS4wLjIKLXJldmlzaW9uPTMKK3JldmlzaW9u PTQKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iJCh2b3B0X2lmIHZpZGVvIC1E VklERU9fU1VQUE9SVD1PTiAtRFZJREVPX1NVUFBPUlQ9T0ZGKQogICQodm9wdF9pZiBzY2FsZSAt RE9QRU5DVl9TVVBQT1JUPU9OIC1ET1BFTkNWX1NVUFBPUlQ9T0ZGKQoKRnJvbSA3YzdkYzcwOGQ3 NjFmOGE3NjI3ODhjZjIwYzcxNWExZGIwODFiMjE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBNb24sIDIwIE5vdiAyMDIzIDE4 OjAwOjM2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxMDIvMTA5XSBrZmlsZW1ldGFkYXRhNTogcmV2 YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL2tmaWxlbWV0YWRhdGE1L3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9rZmlsZW1ldGFkYXRhNS90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2ZpbGVt ZXRhZGF0YTUvdGVtcGxhdGUKaW5kZXggYTBjNGQ4MDkzOTUzMjMuLmI1ODRmODVmZjIwNThiIDEw MDY0NAotLS0gYS9zcmNwa2dzL2tmaWxlbWV0YWRhdGE1L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv a2ZpbGVtZXRhZGF0YTUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdrZmlsZW1ldGFkYXRhNScKIHBrZ25hbWU9a2ZpbGVtZXRhZGF0YTUKIHZlcnNpb249NS4x MTUuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtl ZGVwZW5kcz0ia2NvcmVhZGRvbnMgZXh0cmEtY21ha2UtbW9kdWxlcyBwa2ctY29uZmlnIHF0NS1o b3N0LXRvb2xzIHF0NS1xbWFrZQogIGdldHRleHQga2NvcmVhZGRvbnMgcHl0aG9uMyIKCkZyb20g MDllMGIyZjI4NzhhZTNkZWMyNjA1YzYzMDExYjM1N2IzNzFjNmQzMSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCA4IERl YyAyMDIzIDExOjQ2OjAxIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxMDMvMTA5XSB2YmEtbTogcmV2 YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL3ZiYS1tL3RlbXBsYXRlIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy92YmEtbS90ZW1wbGF0ZSBiL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKaW5kZXggM2Qx MzVlZmExZDBiNjkuLjNjNWEyMGRiMGZhOTg0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3ZiYS1tL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKQEAgLTIsNyArMiw3IEBACiBwa2du YW1lPXZiYS1tCiByZXZlcnRzPTEyOTJfMgogdmVyc2lvbj0yLjEuOQotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREVOQUJMRV9HVEs9 VFJVRSAtREVOQUJMRV9GRk1QRUc9VFJVRSAtREVOQUJMRV9MSU5LPVRSVUUgLURDTUFLRV9CVUlM RF9UWVBFPVJlbGVhc2UiCiBob3N0bWFrZWRlcGVuZHM9ImdldHRleHQgcGtnLWNvbmZpZyB1bnpp cCB6aXAgeWFzbSB3eFdpZGdldHMtZ3RrMy1kZXZlbCIKCkZyb20gNjBmNmU3MTRhYTc0NzZhYmI0 NmRkMzE2MWY1MzM3MTY5ZDdmMWU2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxp Y2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCA4IERlYyAyMDIzIDExOjQ2OjE5IC0w NTAwClN1YmplY3Q6IFtQQVRDSCAxMDQvMTA5XSBkb2xwaGluLWVtdTogcmV2YnVtcCBmb3IgZmZt cGVnNgoKLS0tCiBzcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvaHNjcm9sbC5wYXRjaCAgICB8IDI2 ICsrKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2RvbHBoaW4tZW11L3BhdGNoZXMvaXBw cm90by5wYXRjaCB8IDEzICsrKysrKysrKysrKwogc3JjcGtncy9kb2xwaGluLWVtdS90ZW1wbGF0 ZSAgICAgICAgICAgICAgfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdWRhY2l0eS9wYXRj aGVzL2hzY3JvbGwucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2RvbHBoaW4tZW11 L3BhdGNoZXMvaXBwcm90by5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkYWNpdHkvcGF0 Y2hlcy9oc2Nyb2xsLnBhdGNoIGIvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL2hzY3JvbGwucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjJlMDgzNzkyZDhl MTE0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL2hzY3JvbGwu cGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorLS0tIGEvbGlicmFyaWVzL2xpYi12aWV3cG9ydC9WaWV3 cG9ydC5jcHAJMjAyNC0wNi0wMSAwOToyNTo1OC45MTU4NTUwNTcgLTA0MDAKKysrKyBiL2xpYnJh cmllcy9saWItdmlld3BvcnQvVmlld3BvcnQuY3BwCTIwMjQtMDYtMDEgMTE6MDY6MDguNzc5Nzk5 NTg5IC0wNDAwCitAQCAtMzI2LDEwICszMjYsMTAgQEAKKyAgICBib29sIG5ld3ZzdGF0ZSA9IHBh bmVsSGVpZ2h0IDwgdG90YWxIZWlnaHQ7CisKKyAgICAvLyBIaWRlIHNjcm9sbGJhciB0aHVtYnMg YW5kIGJ1dHRvbnMgaWYgbm90IHNjcm9sbGFibGUKKy0gICBpZiAobXBDYWxsYmFja3MpIHsKKy0g ICAgICBtcENhbGxiYWNrcy0+U2hvd0hvcml6b250YWxTY3JvbGxiYXIobmV3aHN0YXRlKTsKKy0g ICAgICBtcENhbGxiYWNrcy0+U2hvd1ZlcnRpY2FsU2Nyb2xsYmFyKG5ld3ZzdGF0ZSk7CistICAg fQorKyAgIC8vaWYgKG1wQ2FsbGJhY2tzKSB7CisrICAgLy8gICBtcENhbGxiYWNrcy0+U2hvd0hv cml6b250YWxTY3JvbGxiYXIobmV3aHN0YXRlKTsKKysgICAvLyAgIG1wQ2FsbGJhY2tzLT5TaG93 VmVydGljYWxTY3JvbGxiYXIobmV3dnN0YXRlKTsKKysgICAvL30KKworICAgIC8vIFdoZW4gbm90 IHNjcm9sbGFibGUgaW4gZWl0aGVyIGF4aXMsIGFsaWduIHZpZXdwb3J0IHRvIHRvcCBvciBsZWZ0 IGFuZAorICAgIC8vIHJlcGFpbnQgaXQgbGF0ZXIKK0BAIC0zNzgsNyArMzc4LDcgQEAKKyAgICAg ICAgICB0b3RhbEhlaWdodCAvIHNjcm9sbFN0ZXAsCisgICAgICAgICAgcGFuZWxIZWlnaHQgLyBz Y3JvbGxTdGVwLCB0cnVlKTsKKworLSAgIHJlc2Nyb2xsID0gKHJlc2Nyb2xsICYmCisrICAgcmVz Y3JvbGwgPSAocmVzY3JvbGwgfHwKKyAgICAgICAgKHZpZXdJbmZvLkdldFNjcmVlbkVuZFRpbWUo KSAtIHZpZXdJbmZvLmhwb3MpIDwgdG90YWwpOworICAgIFB1Ymxpc2goeyAocmVmcmVzaCB8fCBy ZXNjcm9sbCksCisgICAgICAgKG9sZGhzdGF0ZSAhPSBuZXdoc3RhdGUgfHwgb2xkdnN0YXRlICE9 IG5ld3ZzdGF0ZSksIGZhbHNlIH0pOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9kb2xwaGluLWVtdS9w YXRjaGVzL2lwcHJvdG8ucGF0Y2ggYi9zcmNwa2dzL2RvbHBoaW4tZW11L3BhdGNoZXMvaXBwcm90 by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uNjdjMzcx ZjBiNmE5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2RvbHBoaW4tZW11L3BhdGNoZXMv aXBwcm90by5wYXRjaApAQCAtMCwwICsxLDEzIEBACistLS0gYS9Tb3VyY2UvQ29yZS9Db3JlL0hX L0VYSS9CQkEvQnVpbHRJbi5oCTIwMjMtMDUtMTEgMTc6MDI6MzAuMDAwMDAwMDAwIC0wNDAwCisr KysgYi9Tb3VyY2UvQ29yZS9Db3JlL0hXL0VYSS9CQkEvQnVpbHRJbi5oCTIwMjQtMDYtMDQgMDk6 MjQ6MTkuNDc2MjYyMzQ1IC0wNDAwCitAQCAtMjAsOSArMjAsNiBAQAorIGNvbnN0ZXhwciB1MTYg VENQX0ZMQUdfRklOID0gMHgxOworIGNvbnN0ZXhwciB1MTYgVENQX0ZMQUdfUlNUID0gMHg0Owor IAorLWNvbnN0ZXhwciB1MTYgSVBfUFJPVE9DT0wgPSAweDgwMDsKKy1jb25zdGV4cHIgdTE2IEFS UF9QUk9UT0NPTCA9IDB4ODA2OworLQorIGNvbnN0ZXhwciB1OCBNQVhfVENQX0JVRkZFUiA9IDQ7 CisgY29uc3RleHByIHUxNiBNQVhfVURQX0xFTkdUSCA9IDE1MDA7CisgY29uc3RleHByIHUxNiBN QVhfVENQX0xFTkdUSCA9IDQ0MDsKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9kb2xwaGluLWVtdS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZG9scGhpbi1lbXUvdGVtcGxhdGUKaW5kZXggODYyZDNhZTk2NGVl YzQuLmE3YWUwZWZiNThmYjc1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2RvbHBoaW4tZW11L3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvZG9scGhpbi1lbXUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdkb2xwaGluLWVtdScKIHBrZ25hbWU9ZG9scGhpbi1lbXUKIHZl cnNpb249NS4wLjE5MzY4Ci1yZXZpc2lvbj0zCityZXZpc2lvbj00CiBfZG9scGhpbl9jb21taXQ9 ZGFkYmViNGJhZTdlN2ZhMjNhZjJiNDZlMGFkZDQxNDMwOTRkYzEwNwogX21nYmFfY29tbWl0PTQ0 ZTA3NGExNWU5NjUxNDgxZjdmNjUyYWMwMDZhN2M5ZDU4Y2JlYjkKIF9nb29nbGV0ZXN0X2NvbW1p dD1iZTAzZDAwZjVmMGNjM2E5OTdkMWEzNjhiZWU4YTFmZTkzNjUxZjQ4CgpGcm9tIDkzNDcwNjZm MDc2NTY2ODM0NWYzNTY2NmE5ODgzZGY3MTJhZjJiYzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHpsaWNlIDx6bGljZTU1NUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTkgRGVjIDIwMjMg MTU6Mzg6NTEgLTA1MDAKU3ViamVjdDogW1BBVENIIDEwNS8xMDldIHF0b3g6IHJldmJ1bXAgZm9y IGZmbXBlZzQKCi0tLQogc3JjcGtncy9xdG94L3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXRveC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXRveC90ZW1wbGF0ZQppbmRleCBiYjcwZTdmNTEy NDBhNC4uNzU1ZTQ0NjJiYzAxMzcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXRveC90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL3F0b3gvdGVtcGxhdGUKQEAgLTEsMTMgKzEsMTMgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0b3gnCiBwa2duYW1lPXF0b3gKIHZlcnNpb249MS4xNy42Ci1yZXZpc2lvbj0z CityZXZpc2lvbj00CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EVVBEQVRF X0NIRUNLPU9GRgogIC1ER0lUX0RFU0NSSUJFPSR7dmVyc2lvbn0KICAkKHZvcHRfaWYgc25vcmVu b3RpZnkgLURERVNLVE9QX05PVElGSUNBVElPTlM9T04pIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ct Y29uZmlnIHF0NS1ob3N0LXRvb2xzIHF0NS1kZXZlbCIKLW1ha2VkZXBlbmRzPSJmZm1wZWctZGV2 ZWwgbGliZXhpZi1kZXZlbCBsaWJvcGVuYWwtZGV2ZWwgbGlic29kaXVtLWRldmVsCittYWtlZGVw ZW5kcz0iZmZtcGVnNC1kZXZlbCBsaWJleGlmLWRldmVsIGxpYm9wZW5hbC1kZXZlbCBsaWJzb2Rp dW0tZGV2ZWwKICBsaWJ2cHgtZGV2ZWwgb3B1cy1kZXZlbCBxcmVuY29kZS1kZXZlbCBxdDUtc3Zn LWRldmVsIHNvbm5ldC1kZXZlbAogIHNxbGNpcGhlci1kZXZlbCB0b3hjb3JlLWRldmVsCiAgJCh2 b3B0X2lmIHNub3Jlbm90aWZ5IHNub3Jlbm90aWZ5LWRldmVsKSIKCkZyb20gMThiZDgzYmNmMDQx ZjE0MmQxNjRjN2VmNjQ0MTNjMDc0ZmM4ODZlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogemxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAxMSBKYW4gMjAyNCAxMTo1 MjowMCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTA2LzEwOV0gYXJjYW46IHJldmJ1bXAgZm9yIGZm bXBlZzYKCi0tLQogc3JjcGtncy9hcmNhbi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXJj YW4vdGVtcGxhdGUgYi9zcmNwa2dzL2FyY2FuL3RlbXBsYXRlCmluZGV4IGZmOTA5MWY5MGViYjEw Li4wMzAwOTFhNmNjOWQwYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9hcmNhbi90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2FyY2FuL3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBAQAogIyAhISBrZWVwIHN5bmNl ZCB3aXRoOiBhY2ZnZnMgYWNsaXAgYWxvYWRpbWFnZQogcGtnbmFtZT1hcmNhbgogdmVyc2lvbj0w LjYuMi4xCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBjcmVhdGVfd3Jrc3JjPXllcwogYnVpbGRf d3Jrc3JjPWFyY2FuL3NyYwogYnVpbGRfc3R5bGU9Y21ha2UKCkZyb20gZDlhNjViN2I0OTliNGY4 NjZkM2JmYTQ5MzQ3YjM3Zjg5NzA3ZTVlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog emxpY2UgPHpsaWNlNTU1QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAxMSBKYW4gMjAyNCAxMTo1Mjox MCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTA3LzEwOV0gbm90Y3Vyc2VzOiByZXZidW1wIGZvciBm Zm1wZWc2CgotLS0KIHNyY3BrZ3Mvbm90Y3Vyc2VzL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9ub3RjdXJzZXMvdGVtcGxhdGUgYi9zcmNwa2dzL25vdGN1cnNlcy90ZW1wbGF0ZQppbmRleCA0 OGE3NDYzY2I2OGViOS4uNTE1ZjMxNmFiNDU3NmMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvbm90Y3Vy c2VzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvbm90Y3Vyc2VzL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbm90Y3Vyc2VzJwogcGtnbmFtZT1ub3RjdXJzZXMK IHZlcnNpb249My4wLjkKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtl CiBjb25maWd1cmVfYXJncz0iLURVU0VfU1RBVElDPU9OIC1EVVNFX1FSQ09ERUdFTj1PbiAkKHZv cHRfYm9vbCBtYW4gVVNFX1BBTkRPQykiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgJCh2 b3B0X2lmIG1hbiBwYW5kb2MpIgoKRnJvbSAyNjRlNDdhZGQyZTRjNjk3Yjk4YzAyMWJkNDk2NjMz NzA4NGYyMWUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVA Z21haWwuY29tPgpEYXRlOiBNb24sIDMgSnVuIDIwMjQgMTk6NDU6MjkgLTA0MDAKU3ViamVjdDog W1BBVENIIDEwOC8xMDldIG1wZDogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBzcmNwa2dzL21w ZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXBkL3RlbXBsYXRlIGIvc3JjcGtncy9tcGQv dGVtcGxhdGUKaW5kZXggYjhlMmJkNGMxYjU5YzguLmRjMzQ2OTk3YTkwOTdlIDEwMDY0NAotLS0g YS9zcmNwa2dzL21wZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21wZC90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ21wZCcKIHBrZ25hbWU9bXBkCiB2ZXJzaW9u PTAuMjMuMTUKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPW1lc29uCiBjb25m aWd1cmVfYXJncz0iLURvcHVzPWVuYWJsZWQgLURtaWttb2Q9ZW5hYmxlZCAtRG5laWdoYm9yPXRy dWUKICAtRHNvdW5kY2xvdWQ9ZW5hYmxlZCAtRHBpcGU9dHJ1ZSAtRHR3b2xhbWU9ZW5hYmxlZCAt RGJ6aXAyPWVuYWJsZWQKCkZyb20gZjk2YjE1ZWMyYmFmMTJiMjY2MGRiOTRlNzlkMjRlZGRhNDY1 YzQ4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogemxpY2UgPHpsaWNlNTU1QGdtYWls LmNvbT4KRGF0ZTogVHVlLCA0IEp1biAyMDI0IDA5OjA1OjE4IC0wNDAwClN1YmplY3Q6IFtQQVRD SCAxMDkvMTA5XSBrZjYta2ZpbGVtZXRhZGF0YTogcmV2YnVtcCBmb3IgZmZtcGVnNgoKLS0tCiBz cmNwa2dzL2tmNi1rZmlsZW1ldGFkYXRhL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9rZjYt a2ZpbGVtZXRhZGF0YS90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2Y2LWtmaWxlbWV0YWRhdGEvdGVtcGxh dGUKaW5kZXggOWViYzJjMmYyODMwNWIuLjc3ZGUxOTQwYWUyNTk1IDEwMDY0NAotLS0gYS9zcmNw a2dzL2tmNi1rZmlsZW1ldGFkYXRhL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva2Y2LWtmaWxlbWV0 YWRhdGEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdrZjYt a2ZpbGVtZXRhZGF0YScKIHBrZ25hbWU9a2Y2LWtmaWxlbWV0YWRhdGEKIHZlcnNpb249Ni4yLjAK LXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJn cz0iLURLREVfSU5TVEFMTF9RVFBMVUdJTkRJUj1saWIvcXQ2L3BsdWdpbnMiCiBob3N0bWFrZWRl cGVuZHM9ImV4dHJhLWNtYWtlLW1vZHVsZXMgcXQ2LXRvb2xzIHF0Ni1iYXNlCg== --===============4104239843250707914==--