RE: [picocontainer-dev] JSON Pico container
Serban Iordache <[email protected]> Sat, 14 Dec 2013 03:50:39 +0100
| Newsgroups | gmane.comp.java.picocontainer.devel |
|---|---|
| Message-ID | <[email protected]> |
--_24a6fc76-7365-4295-b763-95af1c0d3635_ Content-Type: multipart/alternative; boundary="_2c76a827-96c8-43c4-954d-830f48770a95_" --_2c76a827-96c8-43c4-954d-830f48770a95_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I've just sent the pull request for PicoContainer 3.0. Attached is the patch for PicoContainer 2.x. Serban Date: Fri=2C 13 Dec 2013 14:10:01 -0500 From: [email protected] To: dev-qxt/[email protected] Subject: Re: [picocontainer-dev] JSON Pico container If you've got JUnit tests that shows it in use=2C feel free to donate it - = we're more than happy to facilitate other people's use-cases. As it happens we're on the cusp of releasing PicoContainer 3=2C but you may= have a strong preference for doing this for PicoContainer 2.0=2C and we're= happy with cooperating with that agenda too. Patch-files for Pico2 (imper= fect Subversion world). A Github fork (and pull request) for PicoContainer= 3=2C if your happy with an implicit delay on release.=0A= - Paul = --_2c76a827-96c8-43c4-954d-830f48770a95_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <html> <head> <style><!-- .hmmessage P { margin:0px=3B padding:0px } body.hmmessage { font-size: 12pt=3B font-family:Calibri } --></style></head> <body class=3D'hmmessage'><div dir=3D'ltr'><pre><pre><font face=3D"Calibri= =2C sans-serif"><span style=3D"line-height: 21px=3B white-space: normal=3B"= >I've just sent the pull request for PicoContainer 3.0.</span></font></pre>= <pre><font face=3D"Calibri=2C sans-serif"><span style=3D"line-height: 21px= =3B white-space: normal=3B"><br></span></font></pre><pre><font face=3D"Cali= bri=2C sans-serif"><span style=3D"line-height: 21px=3B white-space: normal= =3B">Attached is the patch for PicoContainer 2.x.</span></font></pre><pre s= tyle=3D"color: rgb(68=2C 68=2C 68)=3B font-family: Calibri=2C sans-serif=3B= font-size: 15px=3B line-height: 21px=3B white-space: normal=3B"><br></pre>= </pre><pre style=3D"line-height: 21px=3B white-space: normal=3B color: rgb(= 68=2C 68=2C 68)=3B font-size: 15px=3B"><span style=3D"color: rgb(0=2C 0=2C = 0)=3B font-family: Calibri=2C sans-serif=3B font-size: 12pt=3B">Serban</spa= n></pre><pre style=3D"line-height: 21px=3B white-space: normal=3B color: rg= b(68=2C 68=2C 68)=3B font-size: 15px=3B"><span style=3D"color: rgb(0=2C 0= =2C 0)=3B font-family: Calibri=2C sans-serif=3B font-size: 12pt=3B"><br></s= pan></pre><div><div><hr id=3D"stopSpelling">Date: Fri=2C 13 Dec 2013 14:10:= 01 -0500<br>From: [email protected]<br>To: dev-qxt/[email protected]<br= >Subject: Re: [picocontainer-dev] JSON Pico container<br><br><div dir=3D"lt= r">If you've got JUnit tests that shows it in use=2C feel free to donate it= - we're more than happy to facilitate other people's use-cases.<div><br></= div><div>As it happens we're on the cusp of releasing PicoContainer 3=2C bu= t you may have a strong preference for doing this for PicoContainer 2.0=2C = and we're happy with cooperating with that agenda too.  =3BPatch-files = for Pico2 (imperfect Subversion world).  =3BA Github fork (and pull req= uest) for PicoContainer 3=2C if your happy with an implicit delay on releas= e.</div>=0A= <div><br></div><div>- Paul</div></div><div class=3D"ecxgmail_extra"><br></d= iv></div></div> </div></body> </html>= --_2c76a827-96c8-43c4-954d-830f48770a95_-- --_24a6fc76-7365-4295-b763-95af1c0d3635_ Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="jsonpico.patch" SW5kZXg6IHBpY28vZ2Vtcy9wb20ueG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gcGljby9nZW1zL3BvbS54 bWwJKHJldmlzaW9uIDU4MzQpDQorKysgcGljby9nZW1zL3BvbS54bWwJKHdvcmtpbmcgY29weSkN CkBAIC02NCw2ICs2NCwxMSBAQA0KICAgICAgIDx2ZXJzaW9uPjIuMS4xPC92ZXJzaW9uPgogICAg ICAgPG9wdGlvbmFsPnRydWU8L29wdGlvbmFsPgogICAgIDwvZGVwZW5kZW5jeT4KKyAgICA8IS0t IEZvciBKc29uUGljb0NvbnRhaW5lciAtLT4KKyAgICA8ZGVwZW5kZW5jeT4KKyAgICAgIDxncm91 cElkPmNvbS5nb29nbGUuY29kZS5nc29uPC9ncm91cElkPjxhcnRpZmFjdElkPmdzb248L2FydGlm YWN0SWQ+PHZlcnNpb24+Mi4yLjQ8L3ZlcnNpb24+CisgICAgICA8b3B0aW9uYWw+dHJ1ZTwvb3B0 aW9uYWw+CisgICAgPC9kZXBlbmRlbmN5PgogICAgIDwhLS0gRm9yIHRlc3QgLS0+CiAgICAgPGRl cGVuZGVuY3k+CiAgICAgICA8Z3JvdXBJZD4ke3BvbS5ncm91cElkfTwvZ3JvdXBJZD4KSW5kZXg6 IHBpY28vZ2Vtcy9zcmMvamF2YS9vcmcvcGljb2NvbnRhaW5lci9nZW1zL2NvbnRhaW5lcnMvSnNv blBpY29Db250YWluZXIuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHBpY28vZ2Vtcy9zcmMvamF2YS9v cmcvcGljb2NvbnRhaW5lci9nZW1zL2NvbnRhaW5lcnMvSnNvblBpY29Db250YWluZXIuamF2YQko cmV2aXNpb24gMCkNCisrKyBwaWNvL2dlbXMvc3JjL2phdmEvb3JnL3BpY29jb250YWluZXIvZ2Vt cy9jb250YWluZXJzL0pzb25QaWNvQ29udGFpbmVyLmphdmEJKHdvcmtpbmcgY29weSkNCkBAIC0w LDAgKzEsMjE3IEBADQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorICogQ29weXJpZ2h0IChDKSAy MDAzLTIwMTEgUGljb0NvbnRhaW5lciBDb21taXR0ZXJzLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAg ICAqDQorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqDQorICogVGhlIHNvZnR3YXJlIGluIHRoaXMgcGFj a2FnZSBpcyBwdWJsaXNoZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBCU0QgICAgICAqDQorICog c3R5bGUgbGljZW5zZSBhIGNvcHkgb2Ygd2hpY2ggaGFzIGJlZW4gaW5jbHVkZWQgd2l0aCB0aGlz IGRpc3RyaWJ1dGlvbiBpbiAqDQorICogdGhlIExJQ0VOU0UudHh0IGZpbGUuICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQorICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KK3BhY2thZ2Ugb3JnLnBpY29jb250 YWluZXIuZ2Vtcy5jb250YWluZXJzOw0KKw0KK2ltcG9ydCBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4 Y2VwdGlvbjsNCitpbXBvcnQgamF2YS5pby5GaWxlUmVhZGVyOw0KK2ltcG9ydCBqYXZhLmlvLlJl YWRlcjsNCitpbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsNCitpbXBvcnQgamF2YS51dGlsLkxp c3Q7DQorDQoraW1wb3J0IGNvbS5nb29nbGUuZ3Nvbi5Hc29uOw0KK2ltcG9ydCBvcmcucGljb2Nv bnRhaW5lci5EZWZhdWx0UGljb0NvbnRhaW5lcjsNCitpbXBvcnQgb3JnLnBpY29jb250YWluZXIu TXV0YWJsZVBpY29Db250YWluZXI7DQoraW1wb3J0IG9yZy5waWNvY29udGFpbmVyLlBhcmFtZXRl cjsNCitpbXBvcnQgb3JnLnBpY29jb250YWluZXIuUGljb0V4Y2VwdGlvbjsNCitpbXBvcnQgb3Jn LnBpY29jb250YWluZXIuY29udGFpbmVycy5BYnN0cmFjdERlbGVnYXRpbmdNdXRhYmxlUGljb0Nv bnRhaW5lcjsNCitpbXBvcnQgb3JnLnBpY29jb250YWluZXIucGFyYW1ldGVycy5Db21wb25lbnRQ YXJhbWV0ZXI7DQoraW1wb3J0IG9yZy5waWNvY29udGFpbmVyLnBhcmFtZXRlcnMuQ29uc3RhbnRQ YXJhbWV0ZXI7DQoraW1wb3J0IG9yZy5waWNvY29udGFpbmVyLnBhcmFtZXRlcnMuRGVmYXVsdENv bnN0cnVjdG9yUGFyYW1ldGVyOw0KK2ltcG9ydCBvcmcucGljb2NvbnRhaW5lci5wYXJhbWV0ZXJz Lk51bGxQYXJhbWV0ZXI7DQorDQorLyoqDQorICogQSBtdXRhYmxlIGNvbnRhaW5lciB0aGF0IHBv cHVsYXRlcyBpdHNlbGYgYnkgbWVhbnMgb2YgYSBjb25maWd1cmF0aW9uIGZpbGUgaW4gSlNPTiBm b3JtYXQuDQorICoNCisgKiA8cC8+PGI+VXNhZ2UgZXhhbXBsZTwvYj4NCisgKiA8YnIvPkNvbnNp ZGVyIHRoZSBmb2xsb3dpbmcgY29kZSBmcmFnbWVudDoNCisgKiA8cHJlPg0KKyAqIHB1YmxpYyBj bGFzcyBCYW5uZXIgZXh0ZW5kcyBKRnJhbWUgew0KKyAqICAgcHVibGljIEJhbm5lcihKVGV4dENv bXBvbmVudCB0ZXh0Q29tcCwgU3RyaW5nIHRleHQsIGludCBzaXplLCBib29sZWFuIGJvbGQpIHsN CisgKiAgICAgdGV4dENvbXAuc2V0VGV4dCh0ZXh0KTsNCisgKiAgICAgdGV4dENvbXAuc2V0Rm9u dChuZXcgRm9udCgiQXJpYWwiLCAoYm9sZCA/IEZvbnQuQk9MRCA6IEZvbnQuUExBSU4pLCBzaXpl KSk7DQorICogICAgIGFkZCh0ZXh0Q29tcCk7DQorICogICAgIHNldERlZmF1bHRDbG9zZU9wZXJh dGlvbihXaW5kb3dDb25zdGFudHMuRElTUE9TRV9PTl9DTE9TRSk7DQorICogICAgIHBhY2soKTsN CisgKiAgIH0NCisgKg0KKyAqICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJn cykgew0KKyAqICAgICBNdXRhYmxlUGljb0NvbnRhaW5lciBwaWNvID0gbmV3IERlZmF1bHRQaWNv Q29udGFpbmVyKCk7DQorICogICAgIHBpY28uYWRkQ29tcG9uZW50KCJ0ZXh0Q29tcCIsIEpUZXh0 QXJlYS5jbGFzcywgRGVmYXVsdENvbnN0cnVjdG9yUGFyYW1ldGVyLklOU1RBTkNFKTsNCisgKiAg ICAgcGljby5hZGRDb21wb25lbnQoImJhbm5lciIsIEJhbm5lci5jbGFzcywNCisgKiAgICAgICAg IG5ldyBDb21wb25lbnRQYXJhbWV0ZXIoInRleHRDb21wIiksDQorICogICAgICAgICBuZXcgQ29u c3RhbnRQYXJhbWV0ZXIoIkhlbGxvLCB3b3JsZCEiKSwNCisgKiAgICAgICAgIG5ldyBDb21wb25l bnRQYXJhbWV0ZXIoInNpemUiKSwNCisgKiAgICAgICAgIG5ldyBDb21wb25lbnRQYXJhbWV0ZXIo ImJvbGQiKSk7DQorICogICAgIHBpY28uYWRkQ29uZmlnKCJzaXplIiwgMzYpOw0KKyAqICAgICBw aWNvLmFkZENvbmZpZygiYm9sZCIsIHRydWUpOw0KKyAqDQorICogICAgIEJhbm5lciBiYW5uZXIg PSAoQmFubmVyKXBpY28uZ2V0Q29tcG9uZW50KCJiYW5uZXIiKTsNCisgKiAgICAgYmFubmVyLnNl dFZpc2libGUodHJ1ZSk7DQorICogICB9DQorICogfQ0KKyAqIDwvcHJlPg0KKyAqDQorICogSW4g dGhlIG1haW4gbWV0aG9kIGFib3ZlLCB0aGUgcGljbyBjb250YWluZXIgaXMgcG9wdWxhdGVkIHBy b2dyYW1tYXRpY2FsbHkuIFVzaW5nIHtAbGluayBKc29uUGljb0NvbnRhaW5lcn0sIHRoaXMgY2Fu IGJlIGRvbmUgYnkgbWVhbnMgb2YgYSBKU09OIGNvbmZpZ3VyYXRpb24gZmlsZS4NCisgKiA8YnI+ Q29udGVudCBvZiB0aGUgZmlsZSA8Yj5iYW5uZXIuanNvbjwvYj46PHByZT4NCisgKiBbDQorICog ICB7a2V5OiB0ZXh0Q29tcCwgaW1wbDogamF2YXguc3dpbmcuSlRleHRBcmVhLCBwYXJhbWV0ZXJz OiBbe31dfSwNCisgKiAgIHtrZXk6IGJhbm5lciwgaW1wbDogY29tLnBpY29jb250YWluZXIuZ2Vt cy5jb250YWluZXJzLkJhbm5lciwgcGFyYW1ldGVyczogW3trZXk6IHRleHRDb21wfSwge3ZhbHVl OiAiSGVsbG8sIHdvcmxkIn0sIHtrZXk6IHNpemV9LCB7a2V5OiBib2xkfV19LA0KKyAqICAge2tl eTogc2l6ZSwgdmFsdWU6IDM2LCB0eXBlOiBpbnR9LA0KKyAqICAge2tleTogYm9sZCwgdmFsdWU6 IHRydWUsIHR5cGU6IGJvb2xlYW59DQorICogXQ0KKyAqIDwvcHJlPg0KKyAqDQorICogTm93LCB0 aGUgbWFpbiBtZXRob2QgY2FuIGJlIHJld3JpdHRlbiBhczoNCisgKg0KKyAqIDxwcmU+DQorICog ICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7DQorICogICAgIE11dGFi bGVQaWNvQ29udGFpbmVyIHBpY28gPSBuZXcgSnNvblBpY29Db250YWluZXIoImJhbm5lci5qc29u Iik7DQorICoNCisgKiAgICAgQmFubmVyIGJhbm5lciA9IChCYW5uZXIpcGljby5nZXRDb21wb25l bnQoImJhbm5lciIpOw0KKyAqICAgICBiYW5uZXIuc2V0VmlzaWJsZSh0cnVlKTsNCisgKiAgIH0N CisgKiA8L3ByZT4NCisgKg0KKyAqIEBhdXRob3IgU2VyYmFuIElvcmRhY2hlDQorICovDQorcHVi bGljIGNsYXNzIEpzb25QaWNvQ29udGFpbmVyIGV4dGVuZHMgQWJzdHJhY3REZWxlZ2F0aW5nTXV0 YWJsZVBpY29Db250YWluZXIgew0KKwlwcml2YXRlIHN0YXRpYyBmaW5hbCBsb25nIHNlcmlhbFZl cnNpb25VSUQgPSAxTDsNCisNCisJcHJpdmF0ZSBzdGF0aWMgY2xhc3MgS2V5T3JWYWx1ZSB7DQor CQlTdHJpbmcga2V5Ow0KKwkJU3RyaW5nIHZhbHVlOw0KKwkJU3RyaW5nIHR5cGU7DQorDQorCQlA T3ZlcnJpZGUNCisJCXB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7DQorCQkJcmV0dXJuICIoa2V5 OiAiICsga2V5ICsgIiwgdmFsdWU6ICIgKyB2YWx1ZSArICIsIHR5cGU6ICIgKyB0eXBlICsgIiki Ow0KKwkJfQ0KKwl9DQorDQorCXByaXZhdGUgc3RhdGljIGNsYXNzIENvbXBvbmVudCB7DQorCQlT dHJpbmcga2V5Ow0KKwkJU3RyaW5nIHZhbHVlOw0KKwkJU3RyaW5nIHR5cGU7DQorCQlTdHJpbmcg aW1wbDsNCisJCUxpc3Q8S2V5T3JWYWx1ZT4gcGFyYW1ldGVyczsNCisNCisJCUBPdmVycmlkZQ0K KwkJcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsNCisJCQlyZXR1cm4gIntrZXk6ICIgKyBrZXkg KyAiLCB2YWx1ZTogIiArIHZhbHVlICsgIiwgdHlwZTogIiArIHR5cGUgKyAiLCBpbXBsOiAiICsg aW1wbCArICIsIHBhcmFtZXRlcnM6ICIgKyBwYXJhbWV0ZXJzICsgIn0iOw0KKwkJfQ0KKwl9DQor DQorCXByaXZhdGUgc3RhdGljIGNsYXNzIENvbmZpZyBleHRlbmRzIEFycmF5TGlzdDxDb21wb25l bnQ+IHsNCisJCXByaXZhdGUgc3RhdGljIGZpbmFsIGxvbmcgc2VyaWFsVmVyc2lvblVJRCA9IDFM Ow0KKwl9DQorDQorCS8qKg0KKwkgKiBDb252ZW5pZW5jZSBjb25zdHJ1Y3RvciB0aGF0IGNyZWF0 ZXMgYSBKU09OIGNvbnRhaW5lciB3aXRoIG5vIHBhcmVudCBhbmQgcG9wdWxhdGVzIGl0IHdpdGgg ZGF0YSBmcm9tIGEgZmlsZQ0KKwkgKg0KKwkgKiBAcGFyYW0ganNvbkZpbGVOYW1lIC0gdGhlIHBh dGggdG8gdGhlIGZpbGUgY29udGFpbmluZyB0aGUganNvbiBjb25maWd1cmF0aW9uDQorCSAqIEB0 aHJvd3MgRmlsZU5vdEZvdW5kRXhjZXB0aW9uDQorCSAqLw0KKwlwdWJsaWMgSnNvblBpY29Db250 YWluZXIoU3RyaW5nIGpzb25GaWxlTmFtZSkgdGhyb3dzIEZpbGVOb3RGb3VuZEV4Y2VwdGlvbiB7 DQorCQl0aGlzKG5ldyBGaWxlUmVhZGVyKGpzb25GaWxlTmFtZSksIG51bGwpOw0KKwl9DQorDQor CS8qKg0KKwkgKiBDcmVhdGVzIGEgSlNPTiBjb250YWluZXIgd2l0aCBubyBwYXJlbnQgYW5kIHBv cHVsYXRlcyBpdCB3aXRoIGRhdGEgZnJvbSBhIGZpbGUNCisJICoNCisJICogQHBhcmFtIGpzb25S ZWFkZXINCisJICogQHBhcmFtIHBhcmVudA0KKwkgKi8NCisJcHVibGljIEpzb25QaWNvQ29udGFp bmVyKFJlYWRlciBqc29uUmVhZGVyLCBNdXRhYmxlUGljb0NvbnRhaW5lciBwYXJlbnQpIHsNCisJ CXN1cGVyKG5ldyBEZWZhdWx0UGljb0NvbnRhaW5lcihwYXJlbnQpKTsNCisNCisJCU11dGFibGVQ aWNvQ29udGFpbmVyIHBpY28gPSBnZXREZWxlZ2F0ZSgpOw0KKwkJR3NvbiBnc29uID0gbmV3IEdz b24oKTsNCisJCUNvbmZpZyBjb25maWc7DQorCQl0cnkgew0KKwkJCWNvbmZpZyA9IGdzb24uZnJv bUpzb24oanNvblJlYWRlciwgQ29uZmlnLmNsYXNzKTsNCisJCQlmb3IoQ29tcG9uZW50IGNvbXAg OiBjb25maWcpIHsNCisJCQkJaWYoY29tcCA9PSBudWxsKSBjb250aW51ZTsNCisJCQkJaWYoY29t cC52YWx1ZSA9PSBudWxsKSB7DQorCQkJCQlpZihjb21wLmltcGwgPT0gbnVsbCkgdGhyb3cgbmV3 IFBpY29Kc29uRXhjZXB0aW9uKCJFaXRoZXIgdmFsdWUgb3IgaW1wbCBtdXN0IGJlIHNldCBpbjog IiArIGNvbXApOw0KKwkJCQkJQ2xhc3M8Pz4gaW1wbENsYXNzID0gQ2xhc3MuZm9yTmFtZShjb21w LmltcGwpOw0KKwkJCQkJUGFyYW1ldGVyW10gcGFyYW1ldGVycyA9IG51bGw7DQorCQkJCQlpZihj b21wLnBhcmFtZXRlcnMgIT0gbnVsbCAmJiAhY29tcC5wYXJhbWV0ZXJzLmlzRW1wdHkoKSkgew0K KwkJCQkJCWludCBzaXplID0gY29tcC5wYXJhbWV0ZXJzLnNpemUoKTsNCisJCQkJCQlwYXJhbWV0 ZXJzID0gbmV3IFBhcmFtZXRlcltzaXplXTsNCisJCQkJCQlmb3IoaW50IGk9MDsgaTxzaXplOyBp KyspIHsNCisJCQkJCQkJcGFyYW1ldGVyc1tpXSA9IGdldFBhcmFtZXRlcihjb21wLnBhcmFtZXRl cnMuZ2V0KGkpKTsNCisJCQkJCQl9DQorCQkJCQl9DQorCQkJCQlpZihjb21wLmtleSA9PSBudWxs KSB7DQorCQkJCQkJaWYocGFyYW1ldGVycyAhPSBudWxsKSB0aHJvdyBuZXcgUGljb0pzb25FeGNl cHRpb24oIk5vIHBhcmFtZXRlcnMgYXJlIGFsbG93ZWQgd2hlbiBrZXk9bnVsbCBpbjogIiArIGNv bXApOw0KKwkJCQkJCXBpY28uYWRkQ29tcG9uZW50KGltcGxDbGFzcyk7DQorCQkJCQl9IGVsc2Ug ew0KKwkJCQkJCXBpY28uYWRkQ29tcG9uZW50KGNvbXAua2V5LCBpbXBsQ2xhc3MsIHBhcmFtZXRl cnMpOw0KKwkJCQkJfQ0KKwkJCQl9IGVsc2Ugew0KKwkJCQkJaWYoY29tcC5pbXBsICE9IG51bGwp IHRocm93IG5ldyBQaWNvSnNvbkV4Y2VwdGlvbigiSXQgaXMgbm90IGFsbG93ZWQgdG8gc2V0IGJv dGggdmFsdWUgYW5kIGltcGwgaW46ICIgKyBjb21wKTsNCisJCQkJCWlmKGNvbXAua2V5ID09IG51 bGwpIHRocm93IG5ldyBQaWNvSnNvbkV4Y2VwdGlvbigia2V5IG11c3QgYmUgc2V0IGluOiAiICsg Y29tcCk7DQorCQkJCQlPYmplY3QgdmFsdWUgPSBnZXRWYWx1ZShjb21wLnZhbHVlLCBjb21wLnR5 cGUpOw0KKwkJCQkJcGljby5hZGRDb25maWcoY29tcC5rZXksIHZhbHVlKTsNCisJCQkJfQ0KKwkJ CX0NCisJCX0gY2F0Y2goRXhjZXB0aW9uIGUpIHsNCisJCQlpZihlIGluc3RhbmNlb2YgUGljb0V4 Y2VwdGlvbikgdGhyb3cgKFBpY29FeGNlcHRpb24pZTsNCisJCQllbHNlIHRocm93IG5ldyBQaWNv SnNvbkV4Y2VwdGlvbihlKTsNCisJCX0NCisJfQ0KKw0KKwlwdWJsaWMgSnNvblBpY29Db250YWlu ZXIoUmVhZGVyIGpzb25SZWFkZXIpIHsNCisJCXRoaXMoanNvblJlYWRlciwgbnVsbCk7DQorCX0N CisNCisJQE92ZXJyaWRlDQorICAgIHB1YmxpYyB2b2lkIHNldE5hbWUoU3RyaW5nIHMpIHsNCisg ICAgICAgICgoRGVmYXVsdFBpY29Db250YWluZXIpZ2V0RGVsZWdhdGUoKSkuc2V0TmFtZShzKTsN CisgICAgfQ0KKw0KKwlwcml2YXRlIHN0YXRpYyBQYXJhbWV0ZXIgZ2V0UGFyYW1ldGVyKEtleU9y VmFsdWUga2V5T3JWYWx1ZSkgew0KKwkJaWYoa2V5T3JWYWx1ZSA9PSBudWxsKSByZXR1cm4gTnVs bFBhcmFtZXRlci5JTlNUQU5DRTsNCisJCWlmKGtleU9yVmFsdWUua2V5ID09IG51bGwgJiYga2V5 T3JWYWx1ZS52YWx1ZSA9PSBudWxsICYmIGtleU9yVmFsdWUudHlwZSA9PSBudWxsKSByZXR1cm4g RGVmYXVsdENvbnN0cnVjdG9yUGFyYW1ldGVyLklOU1RBTkNFOw0KKwkJaWYoa2V5T3JWYWx1ZS5r ZXkgPT0gbnVsbCkgew0KKwkJCWlmKGtleU9yVmFsdWUudmFsdWUgPT0gbnVsbCkgdGhyb3cgbmV3 IFBpY29Kc29uRXhjZXB0aW9uKCJFaXRoZXIgdmFsdWUgb3Iga2V5IG11c3QgYmUgc2V0IGluOiAi ICsga2V5T3JWYWx1ZSk7DQorCQkJT2JqZWN0IHZhbHVlID0gZ2V0VmFsdWUoa2V5T3JWYWx1ZS52 YWx1ZSwga2V5T3JWYWx1ZS50eXBlKTsNCisJCQlpZigiY2xhc3MiLmVxdWFscyhrZXlPclZhbHVl LnR5cGUpKSByZXR1cm4gbmV3IENvbXBvbmVudFBhcmFtZXRlcih2YWx1ZSk7DQorCQkJZWxzZSBy ZXR1cm4gbmV3IENvbnN0YW50UGFyYW1ldGVyKHZhbHVlKTsNCisNCisJCX0gZWxzZSB7DQorCQkJ aWYoa2V5T3JWYWx1ZS52YWx1ZSAhPSBudWxsKSB0aHJvdyBuZXcgUGljb0pzb25FeGNlcHRpb24o Ikl0IGlzIG5vdCBhbGxvd2VkIHRvIHNldCBib3RoIHZhbHVlIGFuZCBrZXkgaW46ICIgKyBrZXlP clZhbHVlKTsNCisJCQlyZXR1cm4gbmV3IENvbXBvbmVudFBhcmFtZXRlcihrZXlPclZhbHVlLmtl eSk7DQorCQl9DQorCX0NCisNCisJcHJpdmF0ZSBzdGF0aWMgT2JqZWN0IGdldFZhbHVlKFN0cmlu ZyB2YWx1ZUFzU3RyaW5nLCBTdHJpbmcgdHlwZSkgew0KKwkJaWYodHlwZSA9PSBudWxsKSB0eXBl ID0gInN0cmluZyI7DQorCQlpZigic3RyaW5nIi5lcXVhbHModHlwZSkpIHJldHVybiB2YWx1ZUFz U3RyaW5nOw0KKwkJaWYoImludCIuZXF1YWxzKHR5cGUpKSByZXR1cm4gSW50ZWdlci52YWx1ZU9m KHZhbHVlQXNTdHJpbmcpOw0KKwkJaWYoImxvbmciLmVxdWFscyh0eXBlKSkgcmV0dXJuIExvbmcu dmFsdWVPZih2YWx1ZUFzU3RyaW5nKTsNCisJCWlmKCJmbG9hdCIuZXF1YWxzKHR5cGUpKSByZXR1 cm4gRmxvYXQudmFsdWVPZih2YWx1ZUFzU3RyaW5nKTsNCisJCWlmKCJkb3VibGUiLmVxdWFscyh0 eXBlKSkgcmV0dXJuIERvdWJsZS52YWx1ZU9mKHZhbHVlQXNTdHJpbmcpOw0KKwkJaWYoImJvb2xl YW4iLmVxdWFscyh0eXBlKSkgcmV0dXJuIEJvb2xlYW4udmFsdWVPZih2YWx1ZUFzU3RyaW5nKTsN CisJCWlmKCJjbGFzcyIuZXF1YWxzKHR5cGUpKSB7DQorCQkJdHJ5IHsNCisJCQkJcmV0dXJuIENs YXNzLmZvck5hbWUodmFsdWVBc1N0cmluZyk7DQorCQkJfSBjYXRjaChDbGFzc05vdEZvdW5kRXhj ZXB0aW9uIGUpIHsNCisJCQkJdGhyb3cgbmV3IFBpY29Kc29uRXhjZXB0aW9uKGUpOw0KKwkJCX0N CisJCX0NCisJCXRocm93IG5ldyBQaWNvSnNvbkV4Y2VwdGlvbigiVW5zdXBwb3J0ZWQgdHlwZTog IiArIHR5cGUgKyAiIGZvciB2YWx1ZTogIiArIHZhbHVlQXNTdHJpbmcpOw0KKwl9DQorDQorDQor ICAgIEBPdmVycmlkZQ0KKyAgICBwdWJsaWMgU3RyaW5nIHRvU3RyaW5nKCkgew0KKyAgICAgICAg cmV0dXJuICJbSnNvbl06IiArIGdldERlbGVnYXRlKCkudG9TdHJpbmcoKTsNCisgICAgfQ0KK30N CkluZGV4OiBwaWNvL2dlbXMvc3JjL2phdmEvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250YWlu ZXJzL1BpY29Kc29uRXhjZXB0aW9uLmphdmENCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBwaWNvL2dlbXMvc3Jj L2phdmEvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250YWluZXJzL1BpY29Kc29uRXhjZXB0aW9u LmphdmEJKHJldmlzaW9uIDApDQorKysgcGljby9nZW1zL3NyYy9qYXZhL29yZy9waWNvY29udGFp bmVyL2dlbXMvY29udGFpbmVycy9QaWNvSnNvbkV4Y2VwdGlvbi5qYXZhCSh3b3JraW5nIGNvcHkp DQpAQCAtMCwwICsxLDIzIEBADQorcGFja2FnZSBvcmcucGljb2NvbnRhaW5lci5nZW1zLmNvbnRh aW5lcnM7DQorDQoraW1wb3J0IG9yZy5waWNvY29udGFpbmVyLlBpY29FeGNlcHRpb247DQorDQor cHVibGljIGNsYXNzIFBpY29Kc29uRXhjZXB0aW9uIGV4dGVuZHMgUGljb0V4Y2VwdGlvbiB7DQor CXByaXZhdGUgc3RhdGljIGZpbmFsIGxvbmcgc2VyaWFsVmVyc2lvblVJRCA9IDFMOw0KKw0KKwlw dWJsaWMgUGljb0pzb25FeGNlcHRpb24oKSB7DQorCQlzdXBlcigpOw0KKwl9DQorDQorCXB1Ymxp YyBQaWNvSnNvbkV4Y2VwdGlvbihTdHJpbmcgbWVzc2FnZSwgVGhyb3dhYmxlIGNhdXNlKSB7DQor CQlzdXBlcihtZXNzYWdlLCBjYXVzZSk7DQorCX0NCisNCisJcHVibGljIFBpY29Kc29uRXhjZXB0 aW9uKFN0cmluZyBtZXNzYWdlKSB7DQorCQlzdXBlcihtZXNzYWdlKTsNCisJfQ0KKw0KKwlwdWJs aWMgUGljb0pzb25FeGNlcHRpb24oVGhyb3dhYmxlIGNhdXNlKSB7DQorCQlzdXBlcihjYXVzZSk7 DQorCX0NCit9DQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCkluZGV4OiBwaWNvL2dlbXMv c3JjL3Rlc3Qvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250YWluZXJzL0Fic1Byb2Nlc3Nvci5q YXZhDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQotLS0gcGljby9nZW1zL3NyYy90ZXN0L29yZy9waWNvY29udGFpbmVy L2dlbXMvY29udGFpbmVycy9BYnNQcm9jZXNzb3IuamF2YQkocmV2aXNpb24gMCkNCisrKyBwaWNv L2dlbXMvc3JjL3Rlc3Qvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250YWluZXJzL0Fic1Byb2Nl c3Nvci5qYXZhCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDI2IEBADQorcGFja2FnZSBvcmcu cGljb2NvbnRhaW5lci5nZW1zLmNvbnRhaW5lcnM7DQorDQorcHVibGljIGNsYXNzIEFic1Byb2Nl c3NvciBpbXBsZW1lbnRzIFByb2Nlc3NvciB7DQorCXByaXZhdGUgZmluYWwgUHJvY2Vzc29yIGRl bGVnYXRlOw0KKw0KKwlwdWJsaWMgQWJzUHJvY2Vzc29yKFByb2Nlc3NvciBkZWxlZ2F0ZSkgew0K KwkJdGhpcy5kZWxlZ2F0ZSA9IGRlbGVnYXRlOw0KKwl9DQorDQorCXB1YmxpYyB2b2lkIHN0YXJ0 UHJvY2Vzc2luZygpIHsNCisJCWRlbGVnYXRlLnN0YXJ0UHJvY2Vzc2luZygpOw0KKwl9DQorDQor CXB1YmxpYyB2b2lkIHByb2Nlc3NFbGVtZW50KGludCBlbGVtZW50KSB7DQorCQlkZWxlZ2F0ZS5w cm9jZXNzRWxlbWVudChNYXRoLmFicyhlbGVtZW50KSk7DQorCX0NCisNCisJcHVibGljIHZvaWQg dGVybWluYXRlUHJvY2Vzc2luZygpIHsNCisJCWRlbGVnYXRlLnRlcm1pbmF0ZVByb2Nlc3Npbmco KTsNCisJfQ0KKw0KKwlwdWJsaWMgaW50IGdldFJlc3VsdCgpIHsNCisJCXJldHVybiBkZWxlZ2F0 ZS5nZXRSZXN1bHQoKTsNCisJfQ0KKw0KK30NCkluZGV4OiBwaWNvL2dlbXMvc3JjL3Rlc3Qvb3Jn L3BpY29jb250YWluZXIvZ2Vtcy9jb250YWluZXJzL2NmZzEuanNvbg0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t IHBpY28vZ2Vtcy9zcmMvdGVzdC9vcmcvcGljb2NvbnRhaW5lci9nZW1zL2NvbnRhaW5lcnMvY2Zn MS5qc29uCShyZXZpc2lvbiAwKQ0KKysrIHBpY28vZ2Vtcy9zcmMvdGVzdC9vcmcvcGljb2NvbnRh aW5lci9nZW1zL2NvbnRhaW5lcnMvY2ZnMS5qc29uCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsx LDQgQEANCitbDQorCXtpbXBsOiBvcmcucGljb2NvbnRhaW5lci5nZW1zLmNvbnRhaW5lcnMuU3Vt UHJvY2Vzc29yfSwNCisJe2tleTogaGFuZGxlciwgaW1wbDogb3JnLnBpY29jb250YWluZXIuZ2Vt cy5jb250YWluZXJzLlNlcmllc0hhbmRsZXJ9LA0KK10NCkluZGV4OiBwaWNvL2dlbXMvc3JjL3Rl c3Qvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250YWluZXJzL2NmZzIuanNvbg0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KLS0tIHBpY28vZ2Vtcy9zcmMvdGVzdC9vcmcvcGljb2NvbnRhaW5lci9nZW1zL2NvbnRhaW5l cnMvY2ZnMi5qc29uCShyZXZpc2lvbiAwKQ0KKysrIHBpY28vZ2Vtcy9zcmMvdGVzdC9vcmcvcGlj b2NvbnRhaW5lci9nZW1zL2NvbnRhaW5lcnMvY2ZnMi5qc29uCSh3b3JraW5nIGNvcHkpDQpAQCAt MCwwICsxLDQgQEANCitbDQorCXtrZXk6IHByb2Nlc3NvciwgaW1wbDogb3JnLnBpY29jb250YWlu ZXIuZ2Vtcy5jb250YWluZXJzLlN1bVByb2Nlc3Nvcn0sDQorCXtrZXk6IGhhbmRsZXIsIGltcGw6 IG9yZy5waWNvY29udGFpbmVyLmdlbXMuY29udGFpbmVycy5TZXJpZXNIYW5kbGVyLCBwYXJhbWV0 ZXJzOiBbe2tleTogcHJvY2Vzc29yfSwge3ZhbHVlOiAyLCB0eXBlOiBpbnR9XX0sDQorXQ0KSW5k ZXg6IHBpY28vZ2Vtcy9zcmMvdGVzdC9vcmcvcGljb2NvbnRhaW5lci9nZW1zL2NvbnRhaW5lcnMv Y2ZnMy5qc29uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQotLS0gcGljby9nZW1zL3NyYy90ZXN0L29yZy9waWNvY29u dGFpbmVyL2dlbXMvY29udGFpbmVycy9jZmczLmpzb24JKHJldmlzaW9uIDApDQorKysgcGljby9n ZW1zL3NyYy90ZXN0L29yZy9waWNvY29udGFpbmVyL2dlbXMvY29udGFpbmVycy9jZmczLmpzb24J KHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsNSBAQA0KK1sNCisJe2ltcGw6IG9yZy5waWNvY29u dGFpbmVyLmdlbXMuY29udGFpbmVycy5TdW1Qcm9jZXNzb3J9LA0KKwl7a2V5OiBoYW5kbGVyLCBp bXBsOiBvcmcucGljb2NvbnRhaW5lci5nZW1zLmNvbnRhaW5lcnMuU2VyaWVzSGFuZGxlciwgcGFy YW1ldGVyczogW3t2YWx1ZTogb3JnLnBpY29jb250YWluZXIuZ2Vtcy5jb250YWluZXJzLlN1bVBy b2Nlc3NvciwgdHlwZTogY2xhc3N9LCB7a2V5OiBtdWx0aXBsaWVyfV19LA0KKwl7a2V5OiBtdWx0 aXBsaWVyLCB2YWx1ZTogMywgdHlwZTogaW50fSwNCitdDQpJbmRleDogcGljby9nZW1zL3NyYy90 ZXN0L29yZy9waWNvY29udGFpbmVyL2dlbXMvY29udGFpbmVycy9jZmc0Lmpzb24NCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCi0tLSBwaWNvL2dlbXMvc3JjL3Rlc3Qvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250YWlu ZXJzL2NmZzQuanNvbgkocmV2aXNpb24gMCkNCisrKyBwaWNvL2dlbXMvc3JjL3Rlc3Qvb3JnL3Bp Y29jb250YWluZXIvZ2Vtcy9jb250YWluZXJzL2NmZzQuanNvbgkod29ya2luZyBjb3B5KQ0KQEAg LTAsMCArMSw2IEBADQorWw0KKwl7a2V5OiBiYXNlUHJvY2Vzc29yLCBpbXBsOiBvcmcucGljb2Nv bnRhaW5lci5nZW1zLmNvbnRhaW5lcnMuU3VtUHJvY2Vzc29yfSwNCisJe2tleTogcHJvY2Vzc29y LCBpbXBsOiBvcmcucGljb2NvbnRhaW5lci5nZW1zLmNvbnRhaW5lcnMuQWJzUHJvY2Vzc29yLCBw YXJhbWV0ZXJzOiBbe2tleTogYmFzZVByb2Nlc3Nvcn1dfSwNCisJe2tleTogaGFuZGxlciwgaW1w bDogb3JnLnBpY29jb250YWluZXIuZ2Vtcy5jb250YWluZXJzLlNlcmllc0hhbmRsZXIsIHBhcmFt ZXRlcnM6IFt7a2V5OiBwcm9jZXNzb3J9LCB7a2V5OiBtdWx0aXBsaWVyfV19LA0KKwl7a2V5OiBt dWx0aXBsaWVyLCB2YWx1ZTogNCwgdHlwZTogaW50fSwNCitdDQpJbmRleDogcGljby9nZW1zL3Ny Yy90ZXN0L29yZy9waWNvY29udGFpbmVyL2dlbXMvY29udGFpbmVycy9Kc29uUGljb0NvbnRhaW5l clRlc3QuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHBpY28vZ2Vtcy9zcmMvdGVzdC9vcmcvcGljb2Nv bnRhaW5lci9nZW1zL2NvbnRhaW5lcnMvSnNvblBpY29Db250YWluZXJUZXN0LmphdmEJKHJldmlz aW9uIDApDQorKysgcGljby9nZW1zL3NyYy90ZXN0L29yZy9waWNvY29udGFpbmVyL2dlbXMvY29u dGFpbmVycy9Kc29uUGljb0NvbnRhaW5lclRlc3QuamF2YQkod29ya2luZyBjb3B5KQ0KQEAgLTAs MCArMSwyOCBAQA0KK3BhY2thZ2Ugb3JnLnBpY29jb250YWluZXIuZ2Vtcy5jb250YWluZXJzOw0K Kw0KK2ltcG9ydCBzdGF0aWMgb3JnLmp1bml0LkFzc2VydC5hc3NlcnRFcXVhbHM7DQorDQoraW1w b3J0IGphdmEuaW8uSW5wdXRTdHJlYW1SZWFkZXI7DQorDQoraW1wb3J0IG9yZy5qdW5pdC5UZXN0 Ow0KKw0KK2ltcG9ydCBvcmcucGljb2NvbnRhaW5lci5NdXRhYmxlUGljb0NvbnRhaW5lcjsNCisN CitwdWJsaWMgY2xhc3MgSnNvblBpY29Db250YWluZXJUZXN0IHsNCisJcHVibGljIGludCBnZXRS ZXN1bHQoU3RyaW5nIGpzb25GaWxlTmFtZSkgew0KKwkJSW5wdXRTdHJlYW1SZWFkZXIgcmVhZGVy ID0gbmV3IElucHV0U3RyZWFtUmVhZGVyKEpzb25QaWNvQ29udGFpbmVyVGVzdC5jbGFzcy5nZXRS ZXNvdXJjZUFzU3RyZWFtKGpzb25GaWxlTmFtZSkpOw0KKwkJTXV0YWJsZVBpY29Db250YWluZXIg cGljbyA9IG5ldyBKc29uUGljb0NvbnRhaW5lcihyZWFkZXIpOw0KKwkJU2VyaWVzSGFuZGxlciBo YW5kbGVyID0gKFNlcmllc0hhbmRsZXIpcGljby5nZXRDb21wb25lbnQoImhhbmRsZXIiKTsNCisJ CWlmKGhhbmRsZXIgPT0gbnVsbCkgdGhyb3cgbmV3IFBpY29Kc29uRXhjZXB0aW9uKCJoYW5kbGVy IGlzIG51bGwuIik7DQorCQloYW5kbGVyLmhhbmRsZVNlcmllcygxLCAtMiwgMywgLTQsIDUpOw0K KwkJcmV0dXJuIGhhbmRsZXIuZ2V0UmVzdWx0KCk7DQorCX0NCisNCisJQFRlc3QgcHVibGljIHZv aWQgdGVzdDEoKSB7IGFzc2VydEVxdWFscygzLCBnZXRSZXN1bHQoImNmZzEuanNvbiIpKTsgfQ0K Kw0KKwlAVGVzdCBwdWJsaWMgdm9pZCB0ZXN0MigpIHsgYXNzZXJ0RXF1YWxzKDYsIGdldFJlc3Vs dCgiY2ZnMi5qc29uIikpOyB9DQorDQorCUBUZXN0IHB1YmxpYyB2b2lkIHRlc3QzKCkgeyBhc3Nl cnRFcXVhbHMoOSwgZ2V0UmVzdWx0KCJjZmczLmpzb24iKSk7IH0NCisNCisJQFRlc3QgcHVibGlj IHZvaWQgdGVzdDQoKSB7IGFzc2VydEVxdWFscyg2MCwgZ2V0UmVzdWx0KCJjZmc0Lmpzb24iKSk7 IH0NCit9DQpJbmRleDogcGljby9nZW1zL3NyYy90ZXN0L29yZy9waWNvY29udGFpbmVyL2dlbXMv Y29udGFpbmVycy9Qcm9jZXNzb3IuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHBpY28vZ2Vtcy9zcmMv dGVzdC9vcmcvcGljb2NvbnRhaW5lci9nZW1zL2NvbnRhaW5lcnMvUHJvY2Vzc29yLmphdmEJKHJl dmlzaW9uIDApDQorKysgcGljby9nZW1zL3NyYy90ZXN0L29yZy9waWNvY29udGFpbmVyL2dlbXMv Y29udGFpbmVycy9Qcm9jZXNzb3IuamF2YQkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSw4IEBA DQorcGFja2FnZSBvcmcucGljb2NvbnRhaW5lci5nZW1zLmNvbnRhaW5lcnM7DQorDQorcHVibGlj IGludGVyZmFjZSBQcm9jZXNzb3Igew0KKwl2b2lkIHN0YXJ0UHJvY2Vzc2luZygpOw0KKwl2b2lk IHByb2Nlc3NFbGVtZW50KGludCBlbGVtZW50KTsNCisJdm9pZCB0ZXJtaW5hdGVQcm9jZXNzaW5n KCk7DQorCWludCBnZXRSZXN1bHQoKTsNCit9DQpJbmRleDogcGljby9nZW1zL3NyYy90ZXN0L29y Zy9waWNvY29udGFpbmVyL2dlbXMvY29udGFpbmVycy9TZXJpZXNIYW5kbGVyLmphdmENCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBwaWNvL2dlbXMvc3JjL3Rlc3Qvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250 YWluZXJzL1Nlcmllc0hhbmRsZXIuamF2YQkocmV2aXNpb24gMCkNCisrKyBwaWNvL2dlbXMvc3Jj L3Rlc3Qvb3JnL3BpY29jb250YWluZXIvZ2Vtcy9jb250YWluZXJzL1Nlcmllc0hhbmRsZXIuamF2 YQkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSwyNyBAQA0KK3BhY2thZ2Ugb3JnLnBpY29jb250 YWluZXIuZ2Vtcy5jb250YWluZXJzOw0KKw0KK3B1YmxpYyBjbGFzcyBTZXJpZXNIYW5kbGVyIHsN CisJcHJpdmF0ZSBmaW5hbCBQcm9jZXNzb3IgcHJvY2Vzc29yOw0KKwlwcml2YXRlIGZpbmFsIGlu dCBtdWx0aXBsaWVyOw0KKw0KKwlwdWJsaWMgU2VyaWVzSGFuZGxlcihQcm9jZXNzb3IgcHJvY2Vz c29yKSB7DQorCQl0aGlzKHByb2Nlc3NvciwgMSk7DQorCX0NCisNCisJcHVibGljIFNlcmllc0hh bmRsZXIoUHJvY2Vzc29yIHByb2Nlc3NvciwgaW50IG11bHRpcGxpZXIpIHsNCisJCXRoaXMucHJv Y2Vzc29yID0gcHJvY2Vzc29yOw0KKwkJdGhpcy5tdWx0aXBsaWVyID0gbXVsdGlwbGllcjsNCisJ fQ0KKw0KKwlwdWJsaWMgdm9pZCBoYW5kbGVTZXJpZXMoaW50Li4uIGVsZW1lbnRzKSB7DQorCQlw cm9jZXNzb3Iuc3RhcnRQcm9jZXNzaW5nKCk7DQorCQlmb3IoaW50IGVsZW1lbnQgOiBlbGVtZW50 cykgew0KKwkJCXByb2Nlc3Nvci5wcm9jZXNzRWxlbWVudChlbGVtZW50KTsNCisJCX0NCisJCXBy b2Nlc3Nvci50ZXJtaW5hdGVQcm9jZXNzaW5nKCk7DQorCX0NCisNCisJcHVibGljIGludCBnZXRS ZXN1bHQoKSB7DQorCQlyZXR1cm4gbXVsdGlwbGllciAqIHByb2Nlc3Nvci5nZXRSZXN1bHQoKTsN CisJfQ0KK30NCkluZGV4OiBwaWNvL2dlbXMvc3JjL3Rlc3Qvb3JnL3BpY29jb250YWluZXIvZ2Vt cy9jb250YWluZXJzL1N1bVByb2Nlc3Nvci5qYXZhDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gcGljby9nZW1z L3NyYy90ZXN0L29yZy9waWNvY29udGFpbmVyL2dlbXMvY29udGFpbmVycy9TdW1Qcm9jZXNzb3Iu amF2YQkocmV2aXNpb24gMCkNCisrKyBwaWNvL2dlbXMvc3JjL3Rlc3Qvb3JnL3BpY29jb250YWlu ZXIvZ2Vtcy9jb250YWluZXJzL1N1bVByb2Nlc3Nvci5qYXZhCSh3b3JraW5nIGNvcHkpDQpAQCAt MCwwICsxLDIyIEBADQorcGFja2FnZSBvcmcucGljb2NvbnRhaW5lci5nZW1zLmNvbnRhaW5lcnM7 DQorDQorcHVibGljIGNsYXNzIFN1bVByb2Nlc3NvciBpbXBsZW1lbnRzIFByb2Nlc3NvciB7DQor CXByaXZhdGUgaW50IHJlc3VsdDsNCisNCisJcHVibGljIHZvaWQgc3RhcnRQcm9jZXNzaW5nKCkg ew0KKwkJcmVzdWx0ID0gMDsNCisJfQ0KKw0KKwlwdWJsaWMgdm9pZCBwcm9jZXNzRWxlbWVudChp bnQgZWxlbWVudCkgew0KKwkJcmVzdWx0ICs9IGVsZW1lbnQ7DQorCX0NCisNCisJcHVibGljIGlu dCBnZXRSZXN1bHQoKSB7DQorCQlyZXR1cm4gcmVzdWx0Ow0KKwl9DQorDQorCXB1YmxpYyB2b2lk IHRlcm1pbmF0ZVByb2Nlc3NpbmcoKSB7DQorCQkvLyBFbXB0eSBpbXBsZW1lbnRhdGlvbg0KKwl9 DQorDQorfQ0K --_24a6fc76-7365-4295-b763-95af1c0d3635_ Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email --_24a6fc76-7365-4295-b763-95af1c0d3635_--