From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Cortes Subject: Bug: inline latex fragment preview cropping window [9.2.2 (release_9.2.2-290-g300f15 @ /home/joaooneillcortes/.emacs.d/org-mode/lisp/)] Date: Tue, 12 Mar 2019 20:00:34 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from eggs.gnu.org ([209.51.188.92]:41575) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h3nbe-0003ll-Jq for emacs-orgmode@gnu.org; Tue, 12 Mar 2019 16:02:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h3nZp-00016d-5u for emacs-orgmode@gnu.org; Tue, 12 Mar 2019 16:00:54 -0400 Received: from mail-oln040092064054.outbound.protection.outlook.com ([40.92.64.54]:12610 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h3nZo-0000zi-Eb for emacs-orgmode@gnu.org; Tue, 12 Mar 2019 16:00:41 -0400 Content-Language: en-US Content-ID: <1F898A9F95D8C54986E09FCAEF3C546A@eurprd08.prod.outlook.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: "emacs-orgmode@gnu.org" DQpXaGVuIHByZXZpZXdpbmcgYSBMYXRleCBmcmFnbWVudCwgc2F5IFwoYVwpLCB0aGUgY3JvcHBp bmcgd2luZG93IGlzIHRvbw0KdGlnaHQgYW5kIHRoZSByZXN1bHRpbmcgaW1hZ2UgaGFzIHNvbWUg ZWRnZXMgYnJva2VuLg0KDQoNCklzIHRoZXJlIGFueSBvcHRpb24gdG8gY29udHJvbCB0aGUgY3Jv cHBpbmcgd2luZG93Pw0KDQpUaGFuayB5b3UNCg0KDQpFbWFjcyAgOiBHTlUgRW1hY3MgMjYuMSAo YnVpbGQgMSwgeDg2XzY0LXJlZGhhdC1saW51eC1nbnUsIEdUSysgVmVyc2lvbiAzLjIzLjIpDQog b2YgMjAxOC0wOC0xMw0KUGFja2FnZTogT3JnIG1vZGUgdmVyc2lvbiA5LjIuMiAocmVsZWFzZV85 LjIuMi0yOTAtZzMwMGYxNSBAIC5lbWFjcy5kL29yZy1tb2RlL2xpc3AvKQ0KDQpjdXJyZW50IHN0 YXRlOg0KPT09PT09PT09PT09PT0NCihzZXRxDQogb3JnLXNyYy1tb2RlLWhvb2sgJyhvcmctc3Jj LWJhYmVsLWNvbmZpZ3VyZS1lZGl0LWJ1ZmZlciBvcmctc3JjLW1vZGUtY29uZmlndXJlLWVkaXQt YnVmZmVyKQ0KIG9yZy1saW5rLXNoZWxsLWNvbmZpcm0tZnVuY3Rpb24gJ3llcy1vci1uby1wDQog b3JnLWJhYmVsLWFmdGVyLWV4ZWN1dGUtaG9vayAnKG9yZy1kaXNwbGF5LWlubGluZS1pbWFnZXMp DQogb3JnLW1ldGFkb3duLWhvb2sgJyhvcmctYmFiZWwtcG9wLXRvLXNlc3Npb24tbWF5YmUpDQog b3JnLWNsb2NrLW91dC1ob29rICcob3JnLWNsb2NrLXJlbW92ZS1lbXB0eS1jbG9jay1kcmF3ZXIp DQogb3JnLWh0bWwtZm9ybWF0LWlubGluZXRhc2stZnVuY3Rpb24gJ29yZy1odG1sLWZvcm1hdC1p bmxpbmV0YXNrLWRlZmF1bHQtZnVuY3Rpb24NCiBvcmctZW5mb3JjZS10b2RvLWRlcGVuZGVuY2ll cyB0DQogb3JnLXJlZi1jcmVhdGUtbm90ZXMtaG9vayAnKChsYW1iZGEgbmlsIChvcmctbmFycm93 LXRvLXN1YnRyZWUpDQoJCQkgICAgICAoaW5zZXJ0IChmb3JtYXQgImNpdGU6JXNcbiIgKG9yZy1l bnRyeS1nZXQgKHBvaW50KSAiQ3VzdG9tX0lEIikpKSkNCgkJCSAgICAgKQ0KIG9yZy1vZHQtZm9y bWF0LWhlYWRsaW5lLWZ1bmN0aW9uICdvcmctb2R0LWZvcm1hdC1oZWFkbGluZS1kZWZhdWx0LWZ1 bmN0aW9uDQogb3JnLWxhdGV4LXBkZi1wcm9jZXNzICJsYXRleG1rIg0KIG9yZy1hZ2VuZGEtZmls ZXMgJygiT25lRHJpdmUvRG9jdW1lbnRzL2VzY29sYS9kb3V0b3JhbWVudG8vb2ZmaWNlL2xvZ2Jv b2svUGhELm9yZyIgIk9uZURyaXZlL0RvY3VtZW50cy9iaWJsaW90ZWNhLy9vZmZpY2UvYmlibGlv dGhlY2FyeS5vcmciICJPbmVEcml2ZS9Eb2N1bWVudHMvZ2VyYWwub3JnIikNCiBvcmctYXNjaWkt Zm9ybWF0LWlubGluZXRhc2stZnVuY3Rpb24gJ29yZy1hc2NpaS1mb3JtYXQtaW5saW5ldGFzay1k ZWZhdWx0DQogb3JnLXJlZi1wZGYtZGlyZWN0b3J5ICJPbmVEcml2ZS9Eb2N1bWVudHMvYmlibGlv dGVjYS9wYW5kb3JhLyINCiBvcmctYmxvY2tlci1ob29rICcob3JnLWJsb2NrLXRvZG8tZnJvbS1j aGlsZHJlbi1vci1zaWJsaW5ncy1vci1wYXJlbnQpDQogb3JnLW1vZGUtaG9vayAnKG9yZy1jbG9j ay1sb2FkIG9yZy10ZW1wby1zZXR1cCBvcmctcmVmLW9yZy1tZW51IChsYW1iZGEgbmlsIChvcmct YnVsbGV0cy1tb2RlIDEpKQ0KCQkgI1swICJcMzAxXDIxMS5cMjA3IiBbaW1lbnUtY3JlYXRlLWlu ZGV4LWZ1bmN0aW9uIG9yZy1pbWVudS1nZXQtdHJlZV0gMl0NCgkJIHR1cm4tb24tYXV0by1maWxs DQoJCSAjWzAgIlwzMDBcMzAxXDMwMlwzMDNcMzA0JFwyMDciDQoJCSAgIFthZGQtaG9vayBjaGFu Z2UtbWFqb3ItbW9kZS1ob29rIG9yZy1zaG93LWFsbCBhcHBlbmQgbG9jYWxdIDVdDQoJCSAjWzAg IlwzMDBcMzAxXDMwMlwzMDNcMzA0JFwyMDciDQoJCSAgIFthZGQtaG9vayBjaGFuZ2UtbWFqb3It bW9kZS1ob29rIG9yZy1iYWJlbC1zaG93LXJlc3VsdC1hbGwgYXBwZW5kIGxvY2FsXSA1XQ0KCQkg b3JnLWJhYmVsLXJlc3VsdC1oaWRlLXNwZWMgb3JnLWJhYmVsLWhpZGUtYWxsLWhhc2hlcyBvcmct ZWxkb2MtbG9hZCkNCiBvcmctY2xvY2stcGVyc2lzdCAnaGlzdG9yeQ0KIG9yZy1yZWYtaW5zZXJ0 LWNpdGUtZnVuY3Rpb24gJ29yZy1yZWYtaGVsbS1pbnNlcnQtY2l0ZS1saW5rDQogb3JnLXlhbmst YWRqdXN0ZWQtc3VidHJlZXMgdA0KIG9yZy1vZHQtZm9ybWF0LWRyYXdlci1mdW5jdGlvbiAjWzUx NCAiXDIwNyIgW10gMyAiXG5cbihmbiBOQU1FIENPTlRFTlRTKSJdDQogb3JnLWFyY2hpdmUtaG9v ayAnKG9yZy1hdHRhY2gtYXJjaGl2ZS1kZWxldGUtbWF5YmUpDQogb3JnLWNvbmZpcm0tZWxpc3At bGluay1mdW5jdGlvbiAneWVzLW9yLW5vLXANCiBvcmctcmVmLWNsZWFuLWJpYnRleC1rZXktZnVu Y3Rpb24gJyhsYW1iZGEgKGtleSkgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyAiOiIgIiIga2V5 KSkNCiBvcmctYWdlbmRhLWJlZm9yZS13cml0ZS1ob29rICcob3JnLWFnZW5kYS1hZGQtZW50cnkt dGV4dCkNCiBvcmctcHJldmlldy1sYXRleC1kZWZhdWx0LXByb2Nlc3MgJ2R2aXN2Z20NCiBvcmct bWV0YXVwLWhvb2sgJyhvcmctYmFiZWwtbG9hZC1pbi1zZXNzaW9uLW1heWJlKQ0KIG9yZy1iaWJ0 ZXgtaGVhZGxpbmUtZm9ybWF0LWZ1bmN0aW9uICNbMjU3ICJcMzAwLlwyMzZBXDIwNyIgWzp0aXRs ZV0gMyAiXG5cbihmbiBFTlRSWSkiXQ0KIG9yZy1sYXRleC1mb3JtYXQtZHJhd2VyLWZ1bmN0aW9u ICNbNTE0ICJcMjA3IiBbXSAzICJcblxuKGZuIF8gQ09OVEVOVFMpIl0NCiBvcmctYmFiZWwtcHJl LXRhbmdsZS1ob29rICcoc2F2ZS1idWZmZXIpDQogb3JnLWZpbGUtYXBwcyAnKCgiXFwucGRmXFwn IiBsYW1iZGEgKGZpbGUgbGluaykgKG9yZy1wZGZ2aWV3LW9wZW4gbGluaykpIChhdXRvLW1vZGUg LiBlbWFjcykNCgkJICgiXFwubW1cXCciIC4gZGVmYXVsdCkgKCJcXC54P2h0bWw/XFwnIiAuIGRl ZmF1bHQpICgiXFwucGRmXFwnIiAuIGRlZmF1bHQpKQ0KIG9yZy10YWItZmlyc3QtaG9vayAnKG9y Zy1iYWJlbC1oaWRlLXJlc3VsdC10b2dnbGUtbWF5YmUgb3JnLWJhYmVsLWhlYWRlci1hcmctZXhw YW5kKQ0KIG9yZy1yZWYtYmlibGlvZ3JhcGh5LW5vdGVzICJPbmVEcml2ZS9Eb2N1bWVudHMvYmli bGlvdGVjYS8vb2ZmaWNlL2JpYmxpb3RoZWNhcnkub3JnIg0KIG9yZy1iYWJlbC1sb2FkLWxhbmd1 YWdlcyAnKChsYXRleCAuIHQpIChweXRob24gLiB0KSAoc2hlbGwgLiB0KSAoZ251cGxvdCAuIHQp IChDIC4gdCkgKFIgLiB0KQ0KCQkJICAgIChydWJ5IC4gdCkpDQogb3JnLXJlZi1jbGVhbi1iaWJ0 ZXgtZW50cnktaG9vayAnKG9yZy1yZWYtYmlidGV4LWZvcm1hdC11cmwtaWYtZG9pIG9yY2Ita2V5 LWNvbW1hDQoJCQkJICAgb3JnLXJlZi1yZXBsYWNlLW5vbmFzY2lpIG9yY2ItJiBvcmNiLSUgb3Jn LXJlZi10aXRsZS1jYXNlLWFydGljbGUNCgkJCQkgICBvcmNiLWNsZWFuLXllYXIgb3JjYi1rZXkg b3JjYi1jbGVhbi1kb2kgb3JjYi1jbGVhbi1wYWdlcw0KCQkJCSAgIG9yY2ItY2hlY2stam91cm5h bCBvcmctcmVmLXNvcnQtYmlidGV4LWVudHJ5IG9yY2ItZml4LXNwYWNpbmcpDQogb3JnLWxvZy1k b25lICd0aW1lDQogb3JnLXJlZi1pbnNlcnQtbGFiZWwtZnVuY3Rpb24gJ29yZy1yZWYtaGVsbS1p bnNlcnQtbGFiZWwtbGluaw0KIG9yZy1yZWYtb3Blbi1wZGYtZnVuY3Rpb24gJ29yZy1yZWYtb3Bl bi1wZGYtYXQtcG9pbnQNCiBvcmctY29sdW1ucy1zdW1tYXJ5LXR5cGVzICcoKCJYKyIgb3JnLWNv bHVtbnMtLXN1bW1hcnktc3VtIGpvYy9vcmctY29sbGVjdC1lbnJvbGxlZCkpDQogb3JnLWFzY2lp LWZvcm1hdC1kcmF3ZXItZnVuY3Rpb24gI1s3NzEgIi5cMjA3IiBbXSA0ICJcblxuKGZuIE5BTUUg Q09OVEVOVFMgV0lEVEgpIl0NCiBvcmctcmVmLW9wZW4tbm90ZXMtZnVuY3Rpb24gJyhsYW1iZGEg bmlsIChvcmctc2hvdy1lbnRyeSkgKG91dGxpbmUtc2hvdy1icmFuY2hlcykNCgkJCSAgICAgICAo b3V0bGluZS1zaG93LWNoaWxkcmVuKSAob3JnLWN5Y2xlIChxdW90ZSAoNjQpKSkNCgkJCSAgICAg ICAocmVjZW50ZXItdG9wLWJvdHRvbSAwKSkNCiBvcmctc3JjLWxhbmctbW9kZXMgJygoImFyZHVp bm8iIC4gYXJkdWlubykgKCJyZWRpcyIgLiByZWRpcykgKCJwaHAiIC4gcGhwKSAoIkMiIC4gYykg KCJDKysiIC4gYysrKQ0KCQkgICAgICAoImFzeW1wdG90ZSIgLiBhc3kpICgiYmFzaCIgLiBzaCkg KCJiZWFtZXIiIC4gbGF0ZXgpICgiY2FsYyIgLiBmdW5kYW1lbnRhbCkNCgkJICAgICAgKCJjcHAi IC4gYysrKSAoImRpdGFhIiAuIGFydGlzdCkgKCJkb3QiIC4gZnVuZGFtZW50YWwpICgiZWxpc3Ai IC4gZW1hY3MtbGlzcCkNCgkJICAgICAgKCJvY2FtbCIgLiB0dWFyZWcpICgic2NyZWVuIiAuIHNo ZWxsLXNjcmlwdCkgKCJzaGVsbCIgLiBzaCkgKCJzcWxpdGUiIC4gc3FsKSkNCiBvcmctb2NjdXIt aG9vayAnKG9yZy1maXJzdC1oZWFkbGluZS1yZWNlbnRlcikNCiBvcmctbG9nLWludG8tZHJhd2Vy IHQNCiBvcmctcmVmLWJpYnRleC1hc3NvYy1wZGYtd2l0aC1lbnRyeS1tb3ZlLWZ1bmN0aW9uICdy ZW5hbWUtZmlsZQ0KIG9yZy1yZWYtaW5zZXJ0LWxpbmstZnVuY3Rpb24gJ29yZy1yZWYtaGVsbS1p bnNlcnQtY2l0ZS1saW5rDQogb3JnLXJlZi1pbnNlcnQtcmVmLWZ1bmN0aW9uICdvcmctcmVmLWhl bG0taW5zZXJ0LXJlZi1saW5rDQogb3JnLWFnZW5kYS1pbmNsdWRlLWRpYXJ5IHQNCiBvcmctc3Ry dWN0dXJlLXRlbXBsYXRlLWFsaXN0ICcoKCJlbCIgLiAic3JjIGVtYWNzLWxpc3AiKSAoImEiIC4g ImV4cG9ydCBhc2NpaSIpICgiYyIgLiAiY2VudGVyIikNCgkJCQkoIkMiIC4gImNvbW1lbnQiKSAo ImUiIC4gImV4YW1wbGUiKSAoIkUiIC4gImV4cG9ydCIpDQoJCQkJKCJoIiAuICJleHBvcnQgaHRt bCIpICgibCIgLiAiZXhwb3J0IGxhdGV4IikgKCJxIiAuICJxdW90ZSIpDQoJCQkJKCJzIiAuICJz cmMiKSAoInYiIC4gInZlcnNlIikpDQogb3JnLWN5Y2xlLWhvb2sgJyhvcmctY3ljbGUtaGlkZS1h cmNoaXZlZC1zdWJ0cmVlcyBvcmctY3ljbGUtc2hvdy1lbXB0eS1saW5lcw0KCQkgIG9yZy1vcHRp bWl6ZS13aW5kb3ctYWZ0ZXItdmlzaWJpbGl0eS1jaGFuZ2UpDQogb3JnLXNwZWVkLWNvbW1hbmQt aG9vayAnKG9yZy1zcGVlZC1jb21tYW5kLWFjdGl2YXRlIG9yZy1iYWJlbC1zcGVlZC1jb21tYW5k LWFjdGl2YXRlKQ0KIG9yZy1yZWYtZGVmYXVsdC1iaWJsaW9ncmFwaHkgJygifi9PbmVEcml2ZS9E b2N1bWVudHMvYmlibGlvdGVjYS9vZmZpY2UvYmlibGlvdGVjYS5iaWIiKQ0KIG9yZy1vZHQtZm9y bWF0LWlubGluZXRhc2stZnVuY3Rpb24gJ29yZy1vZHQtZm9ybWF0LWlubGluZXRhc2stZGVmYXVs dC1mdW5jdGlvbg0KIG9yZy1hdHRhY2gtbWV0aG9kICdsbg0KIG9yZy1yZWYtY29tcGxldGlvbi1s aWJyYXJ5ICdvcmctcmVmLWl2eS1jaXRlDQogb3JnLWR5bmFtaWMtYmxvY2stYWxpc3QgJygoImNv bHVtbnZpZXciIC4gb3JnLWNvbHVtbnMtaW5zZXJ0LWRibG9jaykNCgkJCSAgICgiY2xvY2t0YWJs ZSIgLiBvcmctY2xvY2stcmVwb3J0KSkNCiBvcmctYmFiZWwtdGFuZ2xlLWxhbmctZXh0cyAnKCgi cnVieSIgLiAicmIiKSAoIkQiIC4gImQiKSAoIkMrKyIgLiAiY3BwIikgKCJweXRob24iIC4gInB5 IikNCgkJCSAgICAgICgibGF0ZXgiIC4gInRleCIpICgiZW1hY3MtbGlzcCIgLiAiZWwiKSAoImVs aXNwIiAuICJlbCIpKQ0KIG9yZy1jb25maXJtLXNoZWxsLWxpbmstZnVuY3Rpb24gJ3llcy1vci1u by1wDQogb3JnLWxpbmstcGFyYW1ldGVycyAnKCgiaWQiIDpmb2xsb3cgb3JnLWlkLW9wZW4pDQoJ CSAgICAgICAoIm1hbiIgOmZvbGxvdyBvcmctbWFuLW9wZW4gOmV4cG9ydCBvcmctbWFuLWV4cG9y dCA6c3RvcmUgb3JnLW1hbi1zdG9yZS1saW5rKQ0KCQkgICAgICAgKCJwcmludGluZGV4IiA6Zm9s bG93IG9yZy1yZWYtaW5kZXggOmV4cG9ydA0KCQkJI1socGF0aCBkZXNjIGZvcm1hdCkgIghcMzAx PVwyMDUJLlwzMDBcMzAyIVwyMDciDQoJCQkgIFtmb3JtYXQgbGF0ZXggIlxccHJpbnRpbmRleCJd IDJdDQoJCQkpDQoJCSAgICAgICAoImluZGV4IiA6Zm9sbG93ICNbKHBhdGgpICJcMzAxCCFcMjA3 IiBbcGF0aCBvY2N1cl0gMl0gOmV4cG9ydA0KCQkJI1socGF0aCBkZXNjIGZvcm1hdCkgIghcMzAy PVwyMDVcbi5cMzAwXDMwMwlcIlwyMDciDQoJCQkgIFtmb3JtYXQgcGF0aCBsYXRleCAiXFxpbmRl eHslc30iXSAzXQ0KCQkJKQ0KCQkgICAgICAgKCJiaWJlbnRyeSIgOmZvbGxvdyAobGFtYmRhIChf KSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9y dCBvcmctcmVmLWZvcm1hdC1iaWJlbnRyeSA6Y29tcGxldGUgb3JnLWJpYmVudHJ5LWNvbXBsZXRl LWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9zaXRpb24p DQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChzYXZlLWV4 Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1yZWYtZm9y bWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkNCgkJCSAg ICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1ZmZlci1z dHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYtY2l0ZS1s aW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVwIC4gb3Jn LXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAoaW50ZXJh Y3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0IGxhbWJk YSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEpKQ0KCQkJ IChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJldmlvdXMt a2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQu IEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iDQoJCQkg IChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtpbGwtcmlu ZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2lu dC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6 cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0ZXgta2V5 LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkg ICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkpKQ0KCQkJ ICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRlcmFjdGl2 ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmctYXQtcG9p bnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkNCgkJCSAo MTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI4IC4g b3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp DQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ctbGluayAu IG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNlKSAobW91 c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgiQXV0b2NpdGVzIiA6 Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9u IG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LUF1dG9jaXRlcyA6Y29tcGxldGUgb3Jn LUF1dG9jaXRlcy1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3aW5k b3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1l bnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAgIChs ZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRl ci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0KCQkJ KGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJpZ2h0 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkp DQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRh dGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxlZnQg LiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJICAi UGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2lsbHJp bmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXktYXQt cG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29weSBh bGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAob3Jn LWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkgKDE2 Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAob3Jn LXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNpdGF0 aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgtZW50 cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xlLXNj aG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5IGF0 IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9p bnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3JnLXJl Zi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0 ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMzMyAu IG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1vcGVu LWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRyYS9i b2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZpbmQt ZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJCSAg ICAgICAoImF1dG9jaXRlcyIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNp dGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1hdXRv Y2l0ZXMgOmNvbXBsZXRlIG9yZy1hdXRvY2l0ZXMtY29tcGxldGUtbGluaw0KCQkJOmhlbHAtZWNo bw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmctcmVm LXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIg cG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1yZWYt Z2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVmZmVy IChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAgKQ0K CQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlzcGxh eSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRpb24t bGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dh cC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmctcmVm LW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3MzM3 IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmlyc3Qg dGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAob3Jn LXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3MzAz IGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZlKQ0K CQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVudC1j b250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAg KGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJCQkg KDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNpb24g KG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAob3JnLXJl Zi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3NzczMTkg LiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0KCQkJ ICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMzAg LiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1yZWYt b3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcgLiBv cmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJCSAo bW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4tYXQt bW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJzdXBlcmNpdGVzIiA6Zm9sbG93IChsYW1iZGEgKF8p IChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0 IG9yZy1yZWYtZm9ybWF0LXN1cGVyY2l0ZXMgOmNvbXBsZXRlIG9yZy1zdXBlcmNpdGVzLWNvbXBs ZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9zaXRp b24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChzYXZl LWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1yZWYt Zm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkNCgkJ CSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1ZmZl ci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYtY2l0 ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVwIC4g b3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0IGxh bWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEpKQ0K CQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJldmlv dXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQgcG9p bnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iDQoJ CQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtpbGwt cmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBw b2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9wZXJ0 eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0ZXgt a2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkN CgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJ CQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkpKQ0K CQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkN CgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRlcmFj dGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYtZW1h aWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmctYXQt cG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI4 IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVy bC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9p bnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNlKSAo bW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgiVGV4dGNpdGVz IiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0 aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LVRleHRjaXRlcyA6Y29tcGxldGUg b3JnLVRleHRjaXRlcy1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3 aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAg IChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11 bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJ CQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0K CQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJp Z2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1j aXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxl ZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJ ICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2ls bHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXkt YXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29w eSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAo b3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkg KDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNp dGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgt ZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xl LXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5 IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3Jn LXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJl bGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMz MyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRy YS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZp bmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJ CSAgICAgICAoInRleHRjaXRlcyIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC10 ZXh0Y2l0ZXMgOmNvbXBsZXRlIG9yZy10ZXh0Y2l0ZXMtY29tcGxldGUtbGluaw0KCQkJOmhlbHAt ZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmct cmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNo YXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1y ZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVm ZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAg KQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlz cGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRp b24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYt c3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmct cmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3 MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmly c3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAo b3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3 MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZl KQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVu dC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJ CSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJ CQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNp b24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3Nzcz MTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1i ZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJl Zi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0K CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3Nzcz MzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1y ZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRm LWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcg LiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJ CSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4t YXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJTbWFydGNpdGVzIiA6Zm9sbG93IChsYW1iZGEg KF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhw b3J0IG9yZy1yZWYtZm9ybWF0LVNtYXJ0Y2l0ZXMgOmNvbXBsZXRlIG9yZy1TbWFydGNpdGVzLWNv bXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9z aXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChz YXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1y ZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkN CgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1 ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYt Y2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVw IC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEp KQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJl dmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQg cG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4i DQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtp bGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBh dCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9w ZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0 ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2 ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp DQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkp KQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2lu dCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRl cmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYt ZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmct YXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkN CgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3 MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVu LXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ct bGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNl KSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgic21hcnRj aXRlcyIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1m dW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1zbWFydGNpdGVzIDpjb21w bGV0ZSBvcmctc21hcnRjaXRlcy1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFt YmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRh dGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikN CgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4 LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBz KSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJ CSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJ IChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9u LWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYt c3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkp IChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0 aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2Vy dC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5p bCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxs LW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkp DQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcg KGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTgg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1i aWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYt Z29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWls IGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1 IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYt d29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVz LWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgx Njc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0 ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4g b3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJ CQkpDQoJCSAgICAgICAoImZvb3RjaXRldGV4dHMiIDpmb2xsb3cNCgkJCShsYW1iZGEgKF8pIChm dW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpIDpleHBvcnQNCgkJCW9y Zy1yZWYtZm9ybWF0LWZvb3RjaXRldGV4dHMgOmNvbXBsZXRlIG9yZy1mb290Y2l0ZXRleHRzLWNv bXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9z aXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChz YXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1y ZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkN CgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1 ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYt Y2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVw IC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEp KQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJl dmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQg cG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4i DQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtp bGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBh dCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9w ZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0 ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2 ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp DQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkp KQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2lu dCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRl cmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYt ZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmct YXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkN CgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3 MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVu LXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ct bGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNl KSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgiZm9vdGNp dGVzIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1 bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWZvb3RjaXRlcyA6Y29tcGxl dGUgb3JnLWZvb3RjaXRlcy1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRh ICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlv bi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJ CSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtl eS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAo ZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSAp DQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1h cA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChT LXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dh cC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChD LWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0K CQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUg a2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1r ZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAi Q29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5l dyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJ CQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNh ciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVu LWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0 ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29v Z2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVu dHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24t YXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4g b3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29z LXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3 NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJl Zi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1o eWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3Jn LWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkp DQoJCSAgICAgICAoIlBhcmVuY2l0ZXMiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3Jn LXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3Jt YXQtUGFyZW5jaXRlcyA6Y29tcGxldGUgb3JnLVBhcmVuY2l0ZXMtY29tcGxldGUtbGluaw0KCQkJ OmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hl biBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChn b3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkg KG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRl bXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0K CQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1m biA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQt Y2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9y Zy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQg LiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkg KDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0 aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0 aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkg KDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVy YWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmct ZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2 ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUp KSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1l eGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5l dyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAo MTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAo b3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50 cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAo MTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAu IG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0K CQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3 NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFj ZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3Jn LW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJwYXJlbmNpdGVzIiA6Zm9sbG93IChs YW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJ CQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LXBhcmVuY2l0ZXMgOmNvbXBsZXRlIG9yZy1wYXJlbmNp dGVzLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmpl Y3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJ CQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMg KG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNv cikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFw aCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9y Zy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFw IChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAo Uy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1y ZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBr ZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBh IGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAo Y2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUg a2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdl dC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1w b2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1h dC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQi IChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9y Zy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1j aXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1w b2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkg KDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJl Zi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0 LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgi Q2l0ZXMiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2st ZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtQ2l0ZXMgOmNvbXBsZXRl IG9yZy1DaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBv YmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVy DQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAo KHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1 cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFn cmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNl IG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5 bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJ CSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9u LWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9y Zy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0 ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBp cyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2lu dCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0 aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxl bWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3Nzcz MzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVm LWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChp bnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24t YXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1h dC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xh ci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9p bnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkg KG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdv cy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1h dC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJ CQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3Jn LXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0 YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkp IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxl LWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAg ICgiY2l0ZXMiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xp Y2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZXMgOmNvbXBs ZXRlIG9yZy1jaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRv dyBvYmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVu dGVyDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxl dCAoKHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVy LWN1cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBh cmFncmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpm YWNlIG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkN CgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAu IG9yZy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQ YXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmlu ZyBpcyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1w b2ludCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFs bCB0aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmct ZWxlbWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3 NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmct cmVmLWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmls IChpbnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRy eS1hdC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2No b2xhci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQg cG9pbnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVm LXdvcy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRl ZC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQp DQoJCQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4g b3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2Jv ZHkpIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1m aWxlLWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAg ICAgICgiZm5vdGVjaXRlIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0 ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWZub3Rl Y2l0ZSA6Y29tcGxldGUgb3JnLWZub3RlY2l0ZS1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hv DQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBw b3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1n ZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIg KGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJ CQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1s aW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0 aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmct cmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMg bGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJ CQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNv bnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAo a2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAo MTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAo b3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVm LWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAu IG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBu aWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkg KDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAu IG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1v cGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQt cG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3 MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9y Zy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJICht b3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1t b3VzZSkpDQoJCQkpDQoJCSAgICAgICAoIlBub3RlY2l0ZSIgOmZvbGxvdyAobGFtYmRhIChfKSAo ZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBv cmctcmVmLWZvcm1hdC1Qbm90ZWNpdGUgOmNvbXBsZXRlIG9yZy1Qbm90ZWNpdGUtY29tcGxldGUt bGluaw0KCQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikN CgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhj dXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3Jt YXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAg ICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0 cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxp bmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmct cmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkg KEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1r ZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4g QXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAg KGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5n KSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50 LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpw YXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChp bnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJ ICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkg ICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJ ICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZl KQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1i aWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBv cmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkN CgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4g bW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3Vz ZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJwbm90ZWNpdGUiIDpm b2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24g bmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtcG5vdGVjaXRlIDpjb21wbGV0ZSBvcmct cG5vdGVjaXRlLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRv dyBvYmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVu dGVyDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxl dCAoKHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVy LWN1cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBh cmFncmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpm YWNlIG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkN CgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAu IG9yZy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQ YXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmlu ZyBpcyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1w b2ludCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFs bCB0aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmct ZWxlbWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3 NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmct cmVmLWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmls IChpbnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRy eS1hdC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2No b2xhci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQg cG9pbnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVm LXdvcy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRl ZC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQp DQoJCQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4g b3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2Jv ZHkpIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1m aWxlLWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAg ICAgICgiTm90ZWNpdGUiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRl LW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtTm90ZWNp dGUgOmNvbXBsZXRlIG9yZy1Ob3RlY2l0ZS1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJ CQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3Np dGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQt YmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGlu c2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkg ICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5r KQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9y Zy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFt YmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGlu ZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVm LWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFt YmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkg IChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRl eHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2ls bC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3 NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZv cm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9y Zy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwg IkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2 Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9y Zy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVu LW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9p bnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0 IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1y ZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3Vz ZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3Vz ZSkpDQoJCQkpDQoJCSAgICAgICAoIm5vdGVjaXRlIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5j YWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1y ZWYtZm9ybWF0LW5vdGVjaXRlIDpjb21wbGV0ZSBvcmctbm90ZWNpdGUtY29tcGxldGUtbGluaw0K CQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAo d2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9u IChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50 cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRo LXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykp KQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFj ZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNv cnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmln aHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJ CQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1l cyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVy YWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJ CQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGlu dGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChv cmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZp bGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2 ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJ CSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJ ICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgt ZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMy NiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAo MTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2Ut ZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4g b3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJmb290ZnVsbGNpdGUiIDpmb2xs b3cNCgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9u IG5pbCkpIDpleHBvcnQNCgkJCW9yZy1yZWYtZm9ybWF0LWZvb3RmdWxsY2l0ZSA6Y29tcGxldGUg b3JnLWZvb3RmdWxsY2l0ZS1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRh ICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlv bi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJ CSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtl eS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAo ZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSAp DQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1h cA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChT LXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dh cC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChD LWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0K CQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUg a2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1r ZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAi Q29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5l dyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJ CQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNh ciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVu LWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0 ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29v Z2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVu dHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24t YXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4g b3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29z LXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3 NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJl Zi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1o eWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3Jn LWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkp DQoJCSAgICAgICAoImZ1bGxjaXRlIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1y ZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0 LWZ1bGxjaXRlIDpjb21wbGV0ZSBvcmctZnVsbGNpdGUtY29tcGxldGUtbGluaw0KCQkJOmhlbHAt ZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmct cmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNo YXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1y ZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVm ZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAg KQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlz cGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRp b24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYt c3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmct cmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3 MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmly c3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAo b3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3 MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZl KQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVu dC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJ CSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJ CQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNp b24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3Nzcz MTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1i ZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJl Zi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0K CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3Nzcz MzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1y ZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRm LWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcg LiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJ CSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4t YXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJjaXRldXJsIiA6Zm9sbG93IChsYW1iZGEgKF8p IChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0 IG9yZy1yZWYtZm9ybWF0LWNpdGV1cmwgOmNvbXBsZXRlIG9yZy1jaXRldXJsLWNvbXBsZXRlLWxp bmsgOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAo d2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9u IChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50 cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRo LXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykp KQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFj ZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNv cnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmln aHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJ CQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1l cyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVy YWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJ CQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGlu dGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChv cmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZp bGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2 ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJ CSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJ ICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgt ZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMy NiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAo MTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2Ut ZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4g b3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJjaXRlZGF0ZSoiIDpmb2xsb3cg KGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkN CgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZWRhdGUqIDpjb21wbGV0ZSBvcmctY2l0ZWRh dGUqLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmpl Y3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJ CQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMg KG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNv cikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFw aCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9y Zy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFw IChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAo Uy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1y ZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBr ZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBh IGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAo Y2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUg a2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdl dC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1w b2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1h dC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQi IChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9y Zy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1j aXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1w b2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkg KDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJl Zi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0 LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgi Y2l0ZWRhdGUiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xp Y2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZWRhdGUgOmNv bXBsZXRlIG9yZy1jaXRlZGF0ZS1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFt YmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRh dGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikN CgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4 LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBz KSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJ CSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJ IChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9u LWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYt c3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkp IChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0 aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2Vy dC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5p bCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxs LW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkp DQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcg KGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTgg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1i aWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYt Z29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWls IGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1 IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYt d29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVz LWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgx Njc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0 ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4g b3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJ CQkpDQoJCSAgICAgICAoImNpdGV0aXRsZSoiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwg b3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1m b3JtYXQtY2l0ZXRpdGxlKiA6Y29tcGxldGUgb3JnLWNpdGV0aXRsZSotY29tcGxldGUtbGluaw0K CQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAo d2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9u IChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50 cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRo LXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykp KQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFj ZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNv cnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmln aHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJ CQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1l cyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVy YWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJ CQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGlu dGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChv cmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZp bGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2 ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJ CSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJ ICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgt ZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMy NiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAo MTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2Ut ZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4g b3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJjaXRldGl0bGUiIDpmb2xsb3cg KGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkN CgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZXRpdGxlIDpjb21wbGV0ZSBvcmctY2l0ZXRp dGxlLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmpl Y3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJ CQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMg KG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNv cikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFw aCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9y Zy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFw IChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAo Uy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1y ZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBr ZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBh IGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAo Y2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUg a2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdl dC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1w b2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1h dC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQi IChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9y Zy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1j aXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1w b2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkg KDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJl Zi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0 LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgi Q2l0ZWF1dGhvcioiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9u Y2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtQ2l0ZWF1dGhv ciogOmNvbXBsZXRlIG9yZy1DaXRlYXV0aG9yKi1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hv DQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBw b3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1n ZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIg KGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJ CQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1s aW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0 aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmct cmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMg bGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJ CQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNv bnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAo a2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAo MTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAo b3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVm LWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAu IG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBu aWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkg KDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAu IG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1v cGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQt cG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3 MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9y Zy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJICht b3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1t b3VzZSkpDQoJCQkpDQoJCSAgICAgICAoIkF1dG9jaXRlKiIgOmZvbGxvdyAobGFtYmRhIChfKSAo ZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBv cmctcmVmLWZvcm1hdC1BdXRvY2l0ZSogOmNvbXBsZXRlIG9yZy1BdXRvY2l0ZSotY29tcGxldGUt bGluaw0KCQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikN CgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhj dXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3Jt YXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAg ICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0 cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxp bmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmct cmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkg KEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1r ZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4g QXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAg KGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5n KSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50 LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpw YXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChp bnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJ ICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkg ICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJ ICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZl KQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1i aWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBv cmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkN CgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4g bW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3Vz ZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJhdXRvY2l0ZSoiIDpm b2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24g bmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtYXV0b2NpdGUqIDpjb21wbGV0ZSBvcmct YXV0b2NpdGUqLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRv dyBvYmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVu dGVyDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxl dCAoKHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVy LWN1cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBh cmFncmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpm YWNlIG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkN CgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAu IG9yZy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQ YXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmlu ZyBpcyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1w b2ludCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFs bCB0aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmct ZWxlbWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3 NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmct cmVmLWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmls IChpbnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRy eS1hdC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2No b2xhci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQg cG9pbnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVm LXdvcy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRl ZC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQp DQoJCQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4g b3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2Jv ZHkpIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1m aWxlLWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAg ICAgICgiQXV0b2NpdGUiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRl LW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtQXV0b2Np dGUgOmNvbXBsZXRlIG9yZy1BdXRvY2l0ZS1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJ CQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3Np dGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQt YmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGlu c2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkg ICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5r KQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9y Zy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFt YmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGlu ZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVm LWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFt YmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkg IChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRl eHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2ls bC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3 NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZv cm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9y Zy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwg IkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2 Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9y Zy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVu LW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9p bnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0 IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1y ZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3Vz ZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3Vz ZSkpDQoJCQkpDQoJCSAgICAgICAoImF1dG9jaXRlIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5j YWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1y ZWYtZm9ybWF0LWF1dG9jaXRlIDpjb21wbGV0ZSBvcmctYXV0b2NpdGUtY29tcGxldGUtbGluaw0K CQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAo d2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9u IChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50 cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRo LXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykp KQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFj ZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNv cnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmln aHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJ CQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1l cyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVy YWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJ CQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGlu dGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChv cmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZp bGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2 ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJ CSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJ ICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgt ZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMy NiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAo MTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2Ut ZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4g b3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJzdXBlcmNpdGUiIDpmb2xsb3cg KGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkN CgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtc3VwZXJjaXRlIDpjb21wbGV0ZSBvcmctc3VwZXJj aXRlLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmpl Y3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJ CQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMg KG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNv cikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFw aCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9y Zy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFw IChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAo Uy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1y ZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBr ZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBh IGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAo Y2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUg a2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdl dC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1w b2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1h dC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQi IChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9y Zy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1j aXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1w b2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkg KDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJl Zi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0 LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgi cGFyZW5jaXRlKiIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25j bGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1wYXJlbmNpdGUq IDpjb21wbGV0ZSBvcmctcGFyZW5jaXRlKi1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJ CQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3Np dGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQt YmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGlu c2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkg ICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5r KQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9y Zy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFt YmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGlu ZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVm LWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFt YmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkg IChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRl eHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2ls bC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3 NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZv cm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9y Zy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwg IkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2 Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9y Zy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVu LW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9p bnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0 IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1y ZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3Vz ZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3Vz ZSkpDQoJCQkpDQoJCSAgICAgICAoImNpdGUqIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxs IG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYt Zm9ybWF0LWNpdGUqIDpjb21wbGV0ZSBvcmctY2l0ZSotY29tcGxldGUtbGluayA6aGVscC1lY2hv DQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBw b3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1n ZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIg KGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJ CQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1s aW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0 aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmct cmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMg bGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJ CQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNv bnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAo a2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAo MTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAo b3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVm LWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAu IG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBu aWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkg KDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAu IG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1v cGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQt cG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3 MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9y Zy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJICht b3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1t b3VzZSkpDQoJCQkpDQoJCSAgICAgICAoIlNtYXJ0Y2l0ZSIgOmZvbGxvdyAobGFtYmRhIChfKSAo ZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBv cmctcmVmLWZvcm1hdC1TbWFydGNpdGUgOmNvbXBsZXRlIG9yZy1TbWFydGNpdGUtY29tcGxldGUt bGluaw0KCQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikN CgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhj dXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3Jt YXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAg ICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0 cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxp bmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmct cmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkg KEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1r ZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4g QXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAg KGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5n KSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50 LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpw YXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChp bnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJ ICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkg ICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJ ICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZl KQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1i aWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBv cmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkN CgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4g bW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3Vz ZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJzbWFydGNpdGUiIDpm b2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24g bmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtc21hcnRjaXRlIDpjb21wbGV0ZSBvcmct c21hcnRjaXRlLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRv dyBvYmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVu dGVyDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxl dCAoKHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVy LWN1cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBh cmFncmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpm YWNlIG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkN CgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAu IG9yZy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQ YXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmlu ZyBpcyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1w b2ludCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFs bCB0aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmct ZWxlbWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3 NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmct cmVmLWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmls IChpbnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRy eS1hdC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2No b2xhci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQg cG9pbnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVm LXdvcy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRl ZC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQp DQoJCQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4g b3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2Jv ZHkpIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1m aWxlLWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAg ICAgICgiVGV4dGNpdGUiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRl LW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtVGV4dGNp dGUgOmNvbXBsZXRlIG9yZy1UZXh0Y2l0ZS1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJ CQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3Np dGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQt YmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGlu c2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkg ICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5r KQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9y Zy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFt YmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGlu ZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVm LWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFt YmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkg IChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRl eHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2ls bC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3 NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZv cm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9y Zy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwg IkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2 Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9y Zy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVu LW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9p bnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0 IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1y ZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3Vz ZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3Vz ZSkpDQoJCQkpDQoJCSAgICAgICAoInRleHRjaXRlIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5j YWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1y ZWYtZm9ybWF0LXRleHRjaXRlIDpjb21wbGV0ZSBvcmctdGV4dGNpdGUtY29tcGxldGUtbGluaw0K CQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAo d2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9u IChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50 cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRo LXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykp KQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFj ZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNv cnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmln aHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJ CQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1l cyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVy YWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJ CQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGlu dGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChv cmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZp bGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2 ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJ CSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJ ICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgt ZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMy NiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAo MTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2Ut ZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4g b3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJmb290Y2l0ZXRleHQiIDpmb2xs b3cNCgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9u IG5pbCkpIDpleHBvcnQNCgkJCW9yZy1yZWYtZm9ybWF0LWZvb3RjaXRldGV4dCA6Y29tcGxldGUg b3JnLWZvb3RjaXRldGV4dC1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRh ICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlv bi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJ CSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtl eS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAo ZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSAp DQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1h cA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChT LXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dh cC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChD LWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0K CQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUg a2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1r ZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAi Q29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5l dyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJ CQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNh ciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVu LWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0 ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29v Z2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVu dHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24t YXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4g b3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29z LXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3 NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJl Zi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1o eWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3Jn LWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkp DQoJCSAgICAgICAoImZvb3RjaXRlIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1y ZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0 LWZvb3RjaXRlIDpjb21wbGV0ZSBvcmctZm9vdGNpdGUtY29tcGxldGUtbGluaw0KCQkJOmhlbHAt ZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmct cmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNo YXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1y ZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVm ZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAg KQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlz cGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRp b24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYt c3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmct cmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3 MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmly c3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAo b3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3 MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZl KQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVu dC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJ CSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJ CQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNp b24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3Nzcz MTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1i ZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJl Zi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0K CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3Nzcz MzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1y ZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRm LWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcg LiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJ CSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4t YXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJQYXJlbmNpdGUiIDpmb2xsb3cgKGxhbWJkYSAo XykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBv cnQgb3JnLXJlZi1mb3JtYXQtUGFyZW5jaXRlIDpjb21wbGV0ZSBvcmctUGFyZW5jaXRlLWNvbXBs ZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9zaXRp b24pDQoJCQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChzYXZl LWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1yZWYt Zm9ybWF0LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkNCgkJ CSAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1ZmZl ci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYtY2l0 ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVwIC4g b3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0IGxh bWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEpKQ0K CQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJldmlv dXMta2V5KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQgcG9p bnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iDQoJ CQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtpbGwt cmluZykpKQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBw b2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9wZXJ0 eSA6cGF0aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0ZXgt a2V5LWFuZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkN CgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJ CQkgICAoa2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkpKQ0K CQkJICApDQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkN CgkJCSAoMTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRlcmFj dGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYtZW1h aWwtYmlidGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmctYXQt cG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI4 IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVy bC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9p bnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNlKSAo bW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgicGFyZW5jaXRl IiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0 aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LXBhcmVuY2l0ZSA6Y29tcGxldGUg b3JnLXBhcmVuY2l0ZS1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3 aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAg IChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11 bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJ CQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0K CQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJp Z2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1j aXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxl ZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJ ICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2ls bHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXkt YXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29w eSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAo b3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkg KDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNp dGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgt ZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xl LXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5 IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3Jn LXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJl bGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMz MyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRy YS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZp bmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJ CSAgICAgICAoIkNpdGUiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRl LW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtQ2l0ZSA6 Y29tcGxldGUgb3JnLUNpdGUtY29tcGxldGUtbGluayA6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3 aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAg IChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11 bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJ CQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0K CQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJp Z2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1j aXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxl ZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJ ICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2ls bHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXkt YXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29w eSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAo b3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkg KDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNp dGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgt ZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xl LXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5 IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3Jn LXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJl bGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMz MyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRy YS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZp bmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJ CSAgICAgICAoIkNpdGVhdXRob3IiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJl Zi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQt Q2l0ZWF1dGhvciA6Y29tcGxldGUgb3JnLUNpdGVhdXRob3ItY29tcGxldGUtbGluaw0KCQkJOmhl bHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBv cmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3Rv LWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9y Zy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAt YnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJ ICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6 ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0 YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1y ZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJh Y3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBv cmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2 Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUg Zmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZl KSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2 Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0 aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxl bWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkN CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp DQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1 cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAo b3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3 NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBs YW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkp KQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3 NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9y Zy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4t cGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJ ICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3Nzcz MjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkN CgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9w ZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJDaXRlYWxwIiA6Zm9sbG93IChsYW1iZGEg KF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhw b3J0IG9yZy1yZWYtZm9ybWF0LUNpdGVhbHAgOmNvbXBsZXRlIG9yZy1DaXRlYWxwLWNvbXBsZXRl LWxpbmsgOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJ CSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQt ZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3 aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmlu ZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmst ZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVm LXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2 ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMt cmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkp DQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNz dW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGlu dGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkp DQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIg KGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRo IChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAo c2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkN CgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0K CQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0 ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkN CgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91 c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0y IC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJDaXRlYWx0IiA6Zm9sbG93 IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkp DQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LUNpdGVhbHQgOmNvbXBsZXRlIG9yZy1DaXRlYWx0 LWNvbXBsZXRlLWxpbmsgOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3Np dGlvbikNCgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3JnLXJl Zi1mb3JtYXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkpKQ0K CQkJICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAoYnVm ZmVyLXN0cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1j aXRlLWxpbmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMtdXAg LiBvcmctcmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChp bnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxlZnQg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkp DQoJCQkgKEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2 aW91cy1rZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBhdCBw b2ludC4gQXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5LiIN CgkJCSAgKGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIga2ls bC1yaW5nKSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0 IHBvaW50LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXByb3Bl cnR5IDpwYXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEg bmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRl eC1rZXktYW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KQ0KCQkJICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkN CgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkp DQoJCQkgICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGludGVy YWN0aXZlKQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJlZi1l bWFpbC1iaWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1h dC1wb2ludCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0K CQkJICgxNjc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3Nzcz MjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9wZW4t dXJsLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1w b2ludCkNCgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxvdy1s aW5rIC4gbW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2Up IChtb3VzZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJDaXRlcCIg OmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlv biBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1DaXRlcCA6Y29tcGxldGUgb3JnLUNp dGVwLWNvbXBsZXRlLWxpbmsgOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBw b3NpdGlvbikNCgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAob3Jn LXJlZi1mb3JtYXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29yKSkp KQ0KCQkJICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBoKSAo YnVmZmVyLXN0cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3JnLXJl Zi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAgKFMt dXAgLiBvcmctcmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEgbmls IChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChTLWxl ZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAt MSkpDQoJCQkgKEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJlZi1w cmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtleSBh dCBwb2ludC4gQXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEga2V5 LiINCgkJCSAgKGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChjYXIg a2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBrZXlz IGF0IHBvaW50LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50LXBy b3BlcnR5IDpwYXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBsYW1i ZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJp YnRleC1rZXktYW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVyYWN0 aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkNCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50 KSkpDQoJCQkgICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIgKGlu dGVyYWN0aXZlKQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3JnLXJl Zi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGlu Zy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAoMTY3 NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVmLW9w ZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1h dC1wb2ludCkNCgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZvbGxv dy1saW5rIC4gbW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91 c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJDaXRl dCIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5j dGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1DaXRldCA6Y29tcGxldGUgb3Jn LUNpdGV0LWNvbXBsZXRlLWxpbmsgOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9iamVj dCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXINCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgocyAo b3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vyc29y KSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdyYXBo KSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ugb3Jn LXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXltYXAg KFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1iZGEg bmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJIChT LWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGlu ayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3JnLXJl Zi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3RlIGtl eSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlzIGEg a2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50IChj YXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRoZSBr ZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVtZW50 LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMzNSBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0 LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGludGVy YWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1w b2ludCkNCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBv aW50KSkpDQoJCQkgICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFyLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIg KGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAob3Jn LXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNp dGluZy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJCSAo MTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmctcmVm LW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlv bi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkgKGZv bGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAgKCJj aXRleWVhcnBhciIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25j bGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRleWVhcnBh ciA6Y29tcGxldGUgb3JnLWNpdGV5ZWFycGFyLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8N CgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJlZi1z aG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVmLWdl dC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZlciAo aW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkNCgkJ CSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3BsYXkg ZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxp bmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAt Y2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAo b3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJlZi1u ZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMzNyBs YW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9yZy1y ZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMwMyBs YW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkNCgkJ CSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQtY29u dGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChr aWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJICgx Njc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1yZWYt Zm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5IC4g b3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRhIG5p bCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYtb3Bl bi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJCSAo MTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMwIC4g b3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9w ZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1hdC1w b2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3Nzcz MTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4gb3Jn LXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkgKG1v dXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1v dXNlKSkNCgkJCSkNCgkJICAgICAgICgiY2l0ZXllYXIqIiA6Zm9sbG93IChsYW1iZGEgKF8pIChm dW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9y Zy1yZWYtZm9ybWF0LWNpdGV5ZWFyKiA6Y29tcGxldGUgb3JnLWNpdGV5ZWFyKi1jb21wbGV0ZS1s aW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0K CQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1 cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1h dC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAg KHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3Ry aW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGlu ay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1y ZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0 aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEg bmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAo Qy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtl eSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBB c3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAo aW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcp KSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQu IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGlu dGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1h bmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkg IChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAg KGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAg KQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkg KDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUp DQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJp YnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50 KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2 Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9y Zy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQt cG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0K CQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBt b3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNl LTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJCSAgICAgICAoImNpdGV5ZWFyIiA6Zm9s bG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5p bCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWNpdGV5ZWFyIDpjb21wbGV0ZSBvcmctY2l0 ZXllYXItY29tcGxldGUtbGluaw0KCQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2luZG93IG9i amVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24tZW50ZXIN CgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAobGV0ICgo cyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5kZXItY3Vy c29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwtcGFyYWdy YXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJOmZhY2Ug b3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJCShrZXlt YXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdodCBsYW1i ZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEpKQ0KCQkJ IChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24t bGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0IC4gb3Jn LXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAgIlBhc3Rl IGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxyaW5nIGlz IGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0LXBvaW50 IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkgYWxsIHRo ZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9yZy1lbGVt ZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgxNjc3NzMz NSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYt Z2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBuaWwgKGlu dGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1h dC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0 LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1zY2hvbGFy LWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2lu dCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KSAo b3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29z LWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxhdGVkLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMgLiBvcmct cmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRh dGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEvYm9keSkg KGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkgICAgICAg KCJjaXRlYXV0aG9yKiIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUt b25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRlYXV0 aG9yKiA6Y29tcGxldGUgb3JnLWNpdGVhdXRob3IqLWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVj aG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4gb3JnLXJl Zi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFy IHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChvcmctcmVm LWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1wLWJ1ZmZl ciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJCSAgICkN CgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4gOmRpc3Bs YXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9u LWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4gb3JnLXJl Zi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgxNjc3NzMz NyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2ZSkgKG9y Zy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFjdGl2ZSkN CgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVsZW1lbnQt Y29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkg IChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkpKQ0KCQkJ ICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhjdXJzaW9u IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcgKG9yZy1y ZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcgbGFtYmRh IG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9yZy1yZWYt b3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkNCgkJ CSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzMw IC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVuLXBkZi1h dC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJCSAoMTY3 NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI3IC4g b3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpDQoJCQkg KG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1vcGVuLWF0 LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgiY2l0ZWF1dGhvciIgOmZvbGxvdyAobGFtYmRhIChf KSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9y dCBvcmctcmVmLWZvcm1hdC1jaXRlYXV0aG9yIDpjb21wbGV0ZSBvcmctY2l0ZWF1dGhvci1jb21w bGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0 aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2 ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVm LWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJ CQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZm ZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNp dGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAu IG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGlu dGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkN CgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZp b3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBv aW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0K CQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxs LXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQg cG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVy dHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBu aWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4 LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp DQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0K CQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkN CgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQp DQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJh Y3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVt YWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0 LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJ CQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMy OCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11 cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxp bmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkg KG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJCSAgICAgICAoImNpdGV0ZXh0 IiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0 aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWNpdGV0ZXh0IDpjb21wbGV0ZSBv cmctY2l0ZXRleHQtY29tcGxldGUtbGluaw0KCQkJOmhlbHAtZWNobw0KCQkJKGxhbWJkYSAod2lu ZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0YXRpb24tb24t ZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24pDQoJCQkgICAo bGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktdW5k ZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQgcykgKGZpbGwt cGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJCQkgKQ0KCQkJ OmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDprZXltYXANCgkJ CShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJCSAoUy1yaWdo dCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIDEp KQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVmLXN3YXAtY2l0 YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5KSAoQy1sZWZ0 IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBuaWwNCgkJCSAg IlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIGtpbGxy aW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNlcnQta2V5LWF0 LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBuaWwgIkNvcHkg YWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKG9y Zy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkpKQ0KCQkJICgx Njc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9y Zy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4IGxhbWJkYSBu aWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYtb3Blbi1jaXRh dGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVu dHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVmLWdvb2dsZS1z Y2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBh dCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBv aW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMxNSAuIG9yZy1y ZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVmLXdvcy1yZWxh dGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rlcy1hdC1wb2lu dCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAoMTY3NzczMzMg LiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Bl bi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNpdGUtaHlkcmEv Ym9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAuIG9yZy1maW5k LWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0KCQkJKQ0KCQkg ICAgICAgKCJjaXRlbnVtIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0 ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWNpdGVu dW0gOmNvbXBsZXRlIG9yZy1jaXRlbnVtLWNvbXBsZXRlLWxpbmsgOmhlbHAtZWNobw0KCQkJKGxh bWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikNCgkJCSAod2hlbiBvcmctcmVmLXNob3ctY2l0 YXRpb24tb24tZW50ZXINCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgcG9zaXRpb24p DQoJCQkgICAobGV0ICgocyAob3JnLXJlZi1mb3JtYXQtZW50cnkgKG9yZy1yZWYtZ2V0LWJpYnRl eC1rZXktdW5kZXItY3Vyc29yKSkpKQ0KCQkJICAgICh3aXRoLXRlbXAtYnVmZmVyIChpbnNlcnQg cykgKGZpbGwtcGFyYWdyYXBoKSAoYnVmZmVyLXN0cmluZykpKQ0KCQkJICAgKQ0KCQkJICApDQoJ CQkgKQ0KCQkJOmZhY2Ugb3JnLXJlZi1jaXRlLWxpbmstZmFjZS1mbiA6ZGlzcGxheSBmdWxsIDpr ZXltYXANCgkJCShrZXltYXAgKFMtdXAgLiBvcmctcmVmLXNvcnQtY2l0YXRpb24tbGluaykNCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlv bi1saW5rIDEpKQ0KCQkJIChTLWxlZnQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmctcmVm LXN3YXAtY2l0YXRpb24tbGluayAtMSkpDQoJCQkgKEMtcmlnaHQgLiBvcmctcmVmLW5leHQta2V5 KSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpDQoJCQkgKDE2Nzc3MzM3IGxhbWJkYSBu aWwNCgkJCSAgIlBhc3RlIGtleSBhdCBwb2ludC4gQXNzdW1lcyB0aGUgZmlyc3QgdGhpbmcgaW4g dGhlIGtpbGxyaW5nIGlzIGEga2V5LiINCgkJCSAgKGludGVyYWN0aXZlKSAob3JnLXJlZi1pbnNl cnQta2V5LWF0LXBvaW50IChjYXIga2lsbC1yaW5nKSkpDQoJCQkgKDE2Nzc3MzAzIGxhbWJkYSBu aWwgIkNvcHkgYWxsIHRoZSBrZXlzIGF0IHBvaW50LiIgKGludGVyYWN0aXZlKQ0KCQkJICAoa2ls bC1uZXcgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpwYXRoIChvcmctZWxlbWVudC1jb250ZXh0KSkp KQ0KCQkJICgxNjc3NzMzNSBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3 IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpDQoJCQkgKDE2Nzc3MzE4 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoc2F2ZS1leGN1cnNpb24gKG9yZy1yZWYt b3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQt YmlidGV4LWVudHJ5LWF0LXBvaW50KSkpDQoJCQkgICkNCgkJCSAoMTY3NzczMTkgLiBvcmctcmVm LWdvb2dsZS1zY2hvbGFyLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFp bCBlbnRyeSBhdCBwb2ludCIgKGludGVyYWN0aXZlKQ0KCQkJICAob3JnLXJlZi1vcGVuLWNpdGF0 aW9uLWF0LXBvaW50KSAob3JnLXJlZi1lbWFpbC1iaWJ0ZXgtZW50cnkpKQ0KCQkJICgxNjc3NzMx NSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMzAgLiBvcmctcmVm LXdvcy1yZWxhdGVkLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNiAuIG9yZy1yZWYtb3Blbi1ub3Rl cy1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KSAo MTY3NzczMzMgLiBvcmctcmVmLW9wZW4tdXJsLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMxNCAuIG9y Zy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjcgLiBvcmctcmVmLWNp dGUtaHlkcmEvYm9keSkgKGZvbGxvdy1saW5rIC4gbW91c2UtZmFjZSkNCgkJCSAobW91c2UtMyAu IG9yZy1maW5kLWZpbGUtYXQtbW91c2UpIChtb3VzZS0yIC4gb3JnLW9wZW4tYXQtbW91c2UpKQ0K CQkJKQ0KCQkgICAgICAgKCJjaXRlYWxwKiIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBv cmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZv cm1hdC1jaXRlYWxwKiA6Y29tcGxldGUgb3JnLWNpdGVhbHAqLWNvbXBsZXRlLWxpbmsNCgkJCTpo ZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9zaXRpb24pDQoJCQkgKHdoZW4g b3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290 by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1yZWYtZm9ybWF0LWVudHJ5IChv cmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkNCgkJCSAgICAod2l0aC10ZW1w LWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1ZmZlci1zdHJpbmcpKSkNCgkJ CSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYtY2l0ZS1saW5rLWZhY2UtZm4g OmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNp dGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpIChvcmct cmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVy YWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEpKQ0KCQkJIChDLXJpZ2h0IC4g b3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJldmlvdXMta2V5KQ0KCQkJICgx Njc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhl IGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iDQoJCQkgIChpbnRlcmFjdGl2 ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtpbGwtcmluZykpKQ0KCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iIChpbnRlcmFj dGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6cGF0aCAob3JnLWVs ZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp DQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LWFuZC1maWxlKSkp KQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAgKHNhdmUtZXhj dXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgICAoa2lsbC1uZXcg KG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkpKQ0KCQkJICApDQoJCQkgKDE2 Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkNCgkJCSAoMTY3NzczMTcg bGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRlcmFjdGl2ZSkNCgkJCSAgKG9y Zy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5 KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmctYXQtcG9pbnQpDQoJCQkgKDE2 Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkNCgkJCSAoMTY3NzczMjYgLiBv cmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI4IC4gb3JnLXJlZi1vcGVu LXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkNCgkJ CSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgKDE2Nzc3 MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2Up DQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNlKSAobW91c2UtMiAuIG9yZy1v cGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgiY2l0ZWFscCIgOmZvbGxvdyAobGFtYmRh IChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4 cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRlYWxwIDpjb21wbGV0ZSBvcmctY2l0ZWFscC1jb21wbGV0 ZS1saW5rIDpoZWxwLWVjaG8NCgkJCShsYW1iZGEgKHdpbmRvdyBvYmplY3QgcG9zaXRpb24pDQoJ CQkgKHdoZW4gb3JnLXJlZi1zaG93LWNpdGF0aW9uLW9uLWVudGVyDQoJCQkgIChzYXZlLWV4Y3Vy c2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQ0KCQkJICAgKGxldCAoKHMgKG9yZy1yZWYtZm9ybWF0 LWVudHJ5IChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LXVuZGVyLWN1cnNvcikpKSkNCgkJCSAgICAo d2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0IHMpIChmaWxsLXBhcmFncmFwaCkgKGJ1ZmZlci1zdHJp bmcpKSkNCgkJCSAgICkNCgkJCSAgKQ0KCQkJICkNCgkJCTpmYWNlIG9yZy1yZWYtY2l0ZS1saW5r LWZhY2UtZm4gOmRpc3BsYXkgZnVsbCA6a2V5bWFwDQoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJl Zi1zb3J0LWNpdGF0aW9uLWxpbmspDQoJCQkgKFMtcmlnaHQgbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAxKSkNCgkJCSAoUy1sZWZ0IGxhbWJkYSBu aWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgLTEpKQ0KCQkJIChD LXJpZ2h0IC4gb3JnLXJlZi1uZXh0LWtleSkgKEMtbGVmdCAuIG9yZy1yZWYtcHJldmlvdXMta2V5 KQ0KCQkJICgxNjc3NzMzNyBsYW1iZGEgbmlsDQoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFz c3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iDQoJCQkgIChp bnRlcmFjdGl2ZSkgKG9yZy1yZWYtaW5zZXJ0LWtleS1hdC1wb2ludCAoY2FyIGtpbGwtcmluZykp KQ0KCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4i IChpbnRlcmFjdGl2ZSkNCgkJCSAgKGtpbGwtbmV3IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6cGF0 aCAob3JnLWVsZW1lbnQtY29udGV4dCkpKSkNCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAoY2FyIChvcmctcmVmLWdldC1iaWJ0ZXgta2V5LWFu ZC1maWxlKSkpKQ0KCQkJICgxNjc3NzMxOCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkNCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJCQkgICAo a2lsbC1uZXcgKG9yZy1yZWYtZm9ybWF0LWJpYnRleC1lbnRyeS1hdC1wb2ludCkpKQ0KCQkJICAp DQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkNCgkJCSAo MTY3NzczMTcgbGFtYmRhIG5pbCAiRW1haWwgZW50cnkgYXQgcG9pbnQiIChpbnRlcmFjdGl2ZSkN CgkJCSAgKG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkNCgkJCSAoMTY3NzczMTUgLiBvcmctcmVmLXdvcy1jaXRpbmctYXQtcG9pbnQp DQoJCQkgKDE2Nzc3MzMwIC4gb3JnLXJlZi13b3MtcmVsYXRlZC1hdC1wb2ludCkNCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI4IC4gb3Jn LXJlZi1vcGVuLXBkZi1hdC1wb2ludCkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkNCgkJCSAoMTY3NzczMTQgLiBvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpDQoJ CQkgKDE2Nzc3MzI3IC4gb3JnLXJlZi1jaXRlLWh5ZHJhL2JvZHkpIChmb2xsb3ctbGluayAuIG1v dXNlLWZhY2UpDQoJCQkgKG1vdXNlLTMgLiBvcmctZmluZC1maWxlLWF0LW1vdXNlKSAobW91c2Ut MiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkNCgkJCSkNCgkJICAgICAgICgiY2l0ZWFsdCoiIDpmb2xs b3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmls KSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZWFsdCogOmNvbXBsZXRlIG9yZy1jaXRl YWx0Ki1jb21wbGV0ZS1saW5rDQoJCQk6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3aW5kb3cgb2Jq ZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0K CQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAgIChsZXQgKChz IChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJz b3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3Jh cGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJCQk6ZmFjZSBv cmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1h cCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJk YSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkg KFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1s aW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxlZnQgLiBvcmct cmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJICAiUGFzdGUg a2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2lsbHJpbmcgaXMg YSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQg KGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29weSBhbGwgdGhl IGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAob3JnLWVsZW1l bnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAob3JnLXJlZi1n ZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0 LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQt cG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXIt YXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50 IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpIChv cmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3JnLXJlZi13b3Mt Y2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQt cG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJ ICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMzMyAuIG9yZy1y ZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0 aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAo Zm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1h dC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJCSAgICAgICAo ImNpdGVhbHQiIDpmb2xsb3cgKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xp Y2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZWFsdCA6Y29t cGxldGUgb3JnLWNpdGVhbHQtY29tcGxldGUtbGluayA6aGVscC1lY2hvDQoJCQkobGFtYmRhICh3 aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikNCgkJCSAg IChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11 bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJCSApDQoJ CQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0K CQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJIChTLXJp Z2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1j aXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpIChDLWxl ZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJ ICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0aGUga2ls bHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2VydC1rZXkt YXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5pbCAiQ29w eSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxsLW5ldyAo b3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkpDQoJCQkg KDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcgKGNhciAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTggbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNp dGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgt ZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xl LXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5 IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3Jn LXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJl bGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBv aW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgxNjc3NzMz MyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRy YS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZp bmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJ CSAgICAgICAoImNpdGVwKiIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNp dGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRl cCogOmNvbXBsZXRlIG9yZy1jaXRlcCotY29tcGxldGUtbGluayA6aGVscC1lY2hvDQoJCQkobGFt YmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRh dGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlvbikN CgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmlidGV4 LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBz KSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkNCgkJ CSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0KCQkJ IChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0aW9u LWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1yZWYt c3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkp IChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBpbiB0 aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWluc2Vy dC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRhIG5p bCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChraWxs LW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkp DQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1uZXcg KGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3NzczMTgg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJlZi1v cGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1hdC1i aWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1yZWYt Z29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVtYWls IGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3MzE1 IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYt d29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5vdGVz LWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQpICgx Njc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4gb3Jn LXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYtY2l0 ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0zIC4g b3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkpDQoJ CQkpDQoJCSAgICAgICAoImNpdGVwIiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1y ZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0 LWNpdGVwIDpjb21wbGV0ZSBvcmctY2l0ZXAtY29tcGxldGUtbGluayA6aGVscC1lY2hvDQoJCQko bGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBwb3NpdGlv bikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1nZXQtYmli dGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2Vy dCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJCQkgICkN CgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1saW5rKQ0K CQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkgKG9yZy1y ZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1r ZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcgbGFtYmRh IG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0aGluZyBp biB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMgbGFtYmRh IG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJCQkgIChr aWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQp KSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAoa2lsbC1u ZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAoMTY3Nzcz MTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAob3JnLXJl Zi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVmLWZvcm1h dC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAuIG9yZy1y ZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBuaWwgIkVt YWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9wZW4tY2l0 YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkgKDE2Nzc3 MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAuIG9yZy1y ZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1vcGVuLW5v dGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQtcG9pbnQp ICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE0IC4g b3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9yZy1yZWYt Y2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJIChtb3VzZS0z IC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1tb3VzZSkp DQoJCQkpDQoJCSAgICAgICAoImNpdGV0KiIgOmZvbGxvdyAobGFtYmRhIChfKSAoZnVuY2FsbCBv cmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBvcmctcmVmLWZv cm1hdC1jaXRldCogOmNvbXBsZXRlIG9yZy1jaXRldCotY29tcGxldGUtbGluayA6aGVscC1lY2hv DQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciBw b3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJlZi1n ZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIg KGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICApDQoJ CQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlvbi1s aW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkg KG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJzdCB0 aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChvcmct cmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3NzczMDMg bGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUpDQoJ CQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNv bnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJICAo a2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJCSAo MTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAo b3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmctcmVm LWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMxOSAu IG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJkYSBu aWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJCQkg KDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMzMCAu IG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJlZi1v cGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYtYXQt cG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3 MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAuIG9y Zy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJICht b3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1hdC1t b3VzZSkpDQoJCQkpDQoJCSAgICAgICAoImNpdGV0IiA6Zm9sbG93IChsYW1iZGEgKF8pIChmdW5j YWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpDQoJCQk6ZXhwb3J0IG9yZy1y ZWYtZm9ybWF0LWNpdGV0IDpjb21wbGV0ZSBvcmctY2l0ZXQtY29tcGxldGUtbGluayA6aGVscC1l Y2hvDQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVuIG9yZy1y ZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hh ciBwb3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAob3JnLXJl Zi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVtcC1idWZm ZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJCQkgICAp DQoJCQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNw bGF5IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1jaXRhdGlv bi1saW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3JnLXJlZi1z d2FwLWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2 ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRoZSBmaXJz dCB0aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAoMTY3Nzcz MDMgbGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJhY3RpdmUp DQoJCQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQ0KCQkJ ICAoa2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkpKSkNCgkJ CSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4Y3Vyc2lv biAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3IChvcmct cmVmLWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgxNjc3NzMx OSAuIG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3IGxhbWJk YSBuaWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChvcmctcmVm LW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRyeSkpDQoJ CQkgKDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4gb3JnLXJl Zi1vcGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Blbi1wZGYt YXQtcG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJCQkgKDE2 Nzc3MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyNyAu IG9yZy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNlKQ0KCQkJ IChtb3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmctb3Blbi1h dC1tb3VzZSkpDQoJCQkpDQoJCSAgICAgICAoIm5vY2l0ZSIgOmZvbGxvdyAobGFtYmRhIChfKSAo ZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQ0KCQkJOmV4cG9ydCBv cmctcmVmLWZvcm1hdC1ub2NpdGUgOmNvbXBsZXRlIG9yZy1ub2NpdGUtY29tcGxldGUtbGluayA6 aGVscC1lY2hvDQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVu IG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdv dG8tY2hhciBwb3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVt cC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJ CQkgICApDQoJCQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZu IDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1j aXRhdGlvbi1saW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3Jn LXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAu IG9yZy1yZWYtbmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAo MTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRo ZSBmaXJzdCB0aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAo MTY3NzczMDMgbGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJh Y3RpdmUpDQoJCQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1l bGVtZW50LWNvbnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KQ0KCQkJICAoa2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkp KSkNCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4 Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3 IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgx Njc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3 IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRy eSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4g b3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Bl bi1wZGYtYXQtcG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJ CQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNl KQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmct b3Blbi1hdC1tb3VzZSkpDQoJCQkpDQoJCSAgICAgICAoImNpdGUiIDpmb2xsb3cgKGxhbWJkYSAo XykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkNCgkJCTpleHBv cnQgb3JnLXJlZi1mb3JtYXQtY2l0ZSA6Y29tcGxldGUgb3JnLWNpdGUtY29tcGxldGUtbGluayA6 aGVscC1lY2hvDQoJCQkobGFtYmRhICh3aW5kb3cgb2JqZWN0IHBvc2l0aW9uKQ0KCQkJICh3aGVu IG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcg0KCQkJICAoc2F2ZS1leGN1cnNpb24gKGdv dG8tY2hhciBwb3NpdGlvbikNCgkJCSAgIChsZXQgKChzIChvcmctcmVmLWZvcm1hdC1lbnRyeSAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKSkpDQoJCQkgICAgKHdpdGgtdGVt cC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpIChidWZmZXItc3RyaW5nKSkpDQoJ CQkgICApDQoJCQkgICkNCgkJCSApDQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZu IDpkaXNwbGF5IGZ1bGwgOmtleW1hcA0KCQkJKGtleW1hcCAoUy11cCAuIG9yZy1yZWYtc29ydC1j aXRhdGlvbi1saW5rKQ0KCQkJIChTLXJpZ2h0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKSAob3Jn LXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpDQoJCQkgKFMtbGVmdCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkgKG9yZy1yZWYtc3dhcC1jaXRhdGlvbi1saW5rIC0xKSkNCgkJCSAoQy1yaWdodCAu IG9yZy1yZWYtbmV4dC1rZXkpIChDLWxlZnQgLiBvcmctcmVmLXByZXZpb3VzLWtleSkNCgkJCSAo MTY3NzczMzcgbGFtYmRhIG5pbA0KCQkJICAiUGFzdGUga2V5IGF0IHBvaW50LiBBc3N1bWVzIHRo ZSBmaXJzdCB0aGluZyBpbiB0aGUga2lsbHJpbmcgaXMgYSBrZXkuIg0KCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkNCgkJCSAo MTY3NzczMDMgbGFtYmRhIG5pbCAiQ29weSBhbGwgdGhlIGtleXMgYXQgcG9pbnQuIiAoaW50ZXJh Y3RpdmUpDQoJCQkgIChraWxsLW5ldyAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1l bGVtZW50LWNvbnRleHQpKSkpDQoJCQkgKDE2Nzc3MzM1IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KQ0KCQkJICAoa2lsbC1uZXcgKGNhciAob3JnLXJlZi1nZXQtYmlidGV4LWtleS1hbmQtZmlsZSkp KSkNCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpDQoJCQkgIChzYXZlLWV4 Y3Vyc2lvbiAob3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICAgKGtpbGwtbmV3 IChvcmctcmVmLWZvcm1hdC1iaWJ0ZXgtZW50cnktYXQtcG9pbnQpKSkNCgkJCSAgKQ0KCQkJICgx Njc3NzMxOSAuIG9yZy1yZWYtZ29vZ2xlLXNjaG9sYXItYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzE3 IGxhbWJkYSBuaWwgIkVtYWlsIGVudHJ5IGF0IHBvaW50IiAoaW50ZXJhY3RpdmUpDQoJCQkgIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpIChvcmctcmVmLWVtYWlsLWJpYnRleC1lbnRy eSkpDQoJCQkgKDE2Nzc3MzE1IC4gb3JnLXJlZi13b3MtY2l0aW5nLWF0LXBvaW50KQ0KCQkJICgx Njc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpDQoJCQkgKDE2Nzc3MzI2IC4g b3JnLXJlZi1vcGVuLW5vdGVzLWF0LXBvaW50KQ0KCQkJICgxNjc3NzMyOCAuIG9yZy1yZWYtb3Bl bi1wZGYtYXQtcG9pbnQpICgxNjc3NzMzMyAuIG9yZy1yZWYtb3Blbi11cmwtYXQtcG9pbnQpDQoJ CQkgKDE2Nzc3MzE0IC4gb3JnLXJlZi1vcGVuLWNpdGF0aW9uLWF0LXBvaW50KQ0KCQkJICgxNjc3 NzMyNyAuIG9yZy1yZWYtY2l0ZS1oeWRyYS9ib2R5KSAoZm9sbG93LWxpbmsgLiBtb3VzZS1mYWNl KQ0KCQkJIChtb3VzZS0zIC4gb3JnLWZpbmQtZmlsZS1hdC1tb3VzZSkgKG1vdXNlLTIgLiBvcmct b3Blbi1hdC1tb3VzZSkpDQoJCQk6c3RvcmUgb3JnLXJlZi1iaWJ0ZXgtc3RvcmUtbGluaykNCgkJ ICAgICAgICgiQ3JlZiIgOmZvbGxvdyBvcmctcmVmLXJlZi1mb2xsb3cgOmV4cG9ydCBvcmctcmVm LUNyZWYtZXhwb3J0IDpjb21wbGV0ZQ0KCQkJb3JnLXJlZi1jb21wbGV0ZS1saW5rIDpmYWNlIG9y Zy1yZWYtcmVmLWZhY2UtZm4gOmhlbHAtZWNobw0KCQkJb3JnLXJlZi1yZWYtaGVscC1lY2hvKQ0K CQkgICAgICAgKCJjcmVmIiA6Zm9sbG93IG9yZy1yZWYtcmVmLWZvbGxvdyA6ZXhwb3J0IG9yZy1y ZWYtY3JlZi1leHBvcnQgOmNvbXBsZXRlDQoJCQlvcmctcmVmLWNvbXBsZXRlLWxpbmsgOmZhY2Ug b3JnLXJlZi1yZWYtZmFjZS1mbiA6aGVscC1lY2hvDQoJCQlvcmctcmVmLXJlZi1oZWxwLWVjaG8p DQoJCSAgICAgICAoImF1dG9yZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9sbG93IDpleHBvcnQg b3JnLXJlZi1hdXRvcmVmLWV4cG9ydCA6Y29tcGxldGUNCgkJCW9yZy1yZWYtY29tcGxldGUtbGlu ayA6ZmFjZSBvcmctcmVmLXJlZi1mYWNlLWZuIDpoZWxwLWVjaG8NCgkJCW9yZy1yZWYtcmVmLWhl bHAtZWNobykNCgkJICAgICAgICgiZXFyZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9sbG93IDpl eHBvcnQgb3JnLXJlZi1lcXJlZi1leHBvcnQgOmNvbXBsZXRlDQoJCQlvcmctcmVmLWNvbXBsZXRl LWxpbmsgOmZhY2Ugb3JnLXJlZi1yZWYtZmFjZS1mbiA6aGVscC1lY2hvDQoJCQlvcmctcmVmLXJl Zi1oZWxwLWVjaG8pDQoJCSAgICAgICAoIm5hbWVyZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9s bG93IDpleHBvcnQgb3JnLXJlZi1leHBvcnQtbmFtZXJlZiA6Y29tcGxldGUNCgkJCW9yZy1yZWYt Y29tcGxldGUtbGluayA6ZmFjZSBvcmctcmVmLXJlZi1mYWNlLWZuIDpoZWxwLWVjaG8NCgkJCW9y Zy1yZWYtcmVmLWhlbHAtZWNobykNCgkJICAgICAgICgicGFnZXJlZiIgOmZvbGxvdyBvcmctcmVm LXJlZi1mb2xsb3cgOmV4cG9ydA0KCQkJI1socGF0aCBkZXNjIGZvcm1hdCkNCgkJCSAgIghcMzAy XDI2N1wyMDIuAFwzMDBcMzAzCVwiXDIwN1wzMDBcMzA0CVwiXDIwN1wzMDVcMjA3Ig0KCQkJICBb Zm9ybWF0IHBhdGggI3MNCgkJCSAgIChoYXNoLXRhYmxlIHNpemUgMiB0ZXN0IGVxIHJlaGFzaC1z aXplIDEuNSByZWhhc2gtdGhyZXNob2xkIDAuODEyNSBwdXJlY29weQ0KCQkJICAgIHQgZGF0YSAo aHRtbCA2IGxhdGV4IDExKSkNCgkJCSAgICIoPHBhZ2VyZWY+JXM8L3BhZ2VyZWY+KSIgIlxccGFn ZXJlZnslc30iIG5pbF0NCgkJCSAgM10NCgkJCTpmYWNlIG9yZy1yZWYtcmVmLWZhY2UtZm4gOmNv bXBsZXRlIG9yZy1wYWdlcmVmLWNvbXBsZXRlLWxpbmsgOmhlbHAtZWNobw0KCQkJb3JnLXJlZi1y ZWYtaGVscC1lY2hvKQ0KCQkgICAgICAgKCJyZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9sbG93 IDpleHBvcnQgb3JnLXJlZi1yZWYtZXhwb3J0IDpjb21wbGV0ZQ0KCQkJb3JnLXJlZi1jb21wbGV0 ZS1saW5rIDpmYWNlIG9yZy1yZWYtcmVmLWZhY2UtZm4gOmhlbHAtZWNobw0KCQkJb3JnLXJlZi1y ZWYtaGVscC1lY2hvKQ0KCQkgICAgICAgKCJsYWJlbCIgOmZvbGxvdw0KCQkJI1sobGFiZWwpDQoJ CQkgICJcMzAyCCEuXDMwM1wzMDRcMzA1CVwyMTFcMzA2VVwyMDQuAAlcMzA3VlwyMDMuAFwzMTBc MjAyLgBcMzExI1wzMDIIIVwiKVwyMDciDQoJCQkgIFtsYWJlbCBjb3VudCBvcmctcmVmLWNvdW50 LWxhYmVscyBtZXNzYWdlIGZvcm1hdCAiJXMgb2NjdXJlbmNlJXMiIDAgMSAicyIgIiJdDQoJCQkg IDYNCgkJCSAgIk9uIGNsaWNraW5nIGNvdW50IHRoZSBudW1iZXIgb2YgbGFiZWwgdGFncyB1c2Vk IGluIHRoZSBidWZmZXIuXG5BIG51bWJlciBncmVhdGVyIHRoYW4gb25lIG1lYW5zIG11bHRpcGxl IGxhYmVscyEiXQ0KCQkJOmV4cG9ydA0KCQkJI1soa2V5d29yZCBkZXNjIGZvcm1hdCkNCgkJCSAg IghcMzAyXDI2N1wyMDIuAFwzMDBcMzAzCVwiXDIwN1wzMDBcMzA0CVwiXDIwN1wzMDBcMzA1CVwi XDIwN1wzMDZcMjA3Ig0KCQkJICBbZm9ybWF0DQoJCQkgICANCgkJCSAgIGtleXdvcmQNCgkJCSAg IA0KCQkJICAgI3MNCgkJCSAgIA0KCQkJICAgKGhhc2gtdGFibGUNCgkJCSAgICANCgkJCQkJCQkJ CQkJCQkgIA0KCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJCQkJCQkJCQkJICAgIA0KCQkJICAgIHNp emUNCgkJCSAgICANCgkJCQkJCQkJCQkJCQkgIA0KCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJCQkJ CQkJCQkJICAgIA0KCQkJICAgIDMNCgkJCSAgICANCgkJCQkJCQkJCQkJCQkgIA0KCQkJCQkJCQkJ CQkJCSAgICANCgkJCQkJCQkJCQkJCQkJICAgIA0KCQkJICAgIHRlc3QNCgkJCSAgICANCgkJCQkJ CQkJCQkJCQkgIA0KCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJCQkJCQkJCQkJICAgIA0KCQkJICAg IGVxDQoJCQkgICAgDQoJCQkJCQkJCQkJCQkJICANCgkJCQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJ CQkJCQkJCSAgICANCgkJCSAgICByZWhhc2gtc2l6ZQ0KCQkJICAgIA0KCQkJCQkJCQkJCQkJCSAg DQoJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkgICAgDQoJCQkgICAgMS41DQoJCQkg ICAgDQoJCQkJCQkJCQkJCQkJICANCgkJCQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJCQkJCSAg ICANCgkJCSAgICByZWhhc2gtdGhyZXNob2xkDQoJCQkgICAgDQoJCQkJCQkJCQkJCQkJICANCgkJ CQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJCQkJCSAgICANCgkJCSAgICAwLjgxMjUNCgkJCSAg ICANCgkJCQkJCQkJCQkJCQkgIA0KCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJCQkJCQkJCQkJICAg IA0KCQkJICAgIHB1cmVjb3B5DQoJCQkgICAgDQoJCQkJCQkJCQkJCQkJICANCgkJCQkJCQkJCQkJ CQkgICAgDQoJCQkJCQkJCQkJCQkJCSAgICANCgkJCSAgICB0DQoJCQkgICAgDQoJCQkJCQkJCQkJ CQkJICANCgkJCQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJCQkJCSAgICANCgkJCSAgICBkYXRh DQoJCQkgICAgDQoJCQkJCQkJCQkJCQkJICANCgkJCQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJ CQkJCSAgICANCgkJCSAgICAoaHRtbCA2IG1kIDExIGxhdGV4IDE2KQ0KCQkJICAgIA0KCQkJCQkJ CQkJCQkJCSAgDQoJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkgICAgDQoJCQkgICAg KQ0KCQkJICAgDQoJCQkgICAiPGRpdiBpZD1cIiVzXCI+PC9kaXY+IiAiPGEgbmFtZT1cIiVzXCI+ PC9hPiIgIlxcbGFiZWx7JXN9IiBuaWxdDQoJCQkgIDNdDQoJCQk6c3RvcmUgb3JnLWxhYmVsLXN0 b3JlLWxpbmsgOmZhY2Ugb3JnLXJlZi1sYWJlbC1mYWNlLWZuIDpoZWxwLWVjaG8NCgkJCSNbKHdp bmRvdyBvYmplY3QgcG9zaXRpb24pDQoJCQkgICJcMjEyCGJcMjEwXDMwMyAuXDMwNFwzMDUhLnJc bnFcMjEwXDMwNlwyMTYJY1wyMTBcMzA3IFwyMTBcMzEwIC1cMjA3Ig0KCQkJICBbcG9zaXRpb24N CgkJCSAgIA0KCQkJICAgcw0KCQkJICAgDQoJCQkgICB0ZW1wLWJ1ZmZlcg0KCQkJICAgDQoJCQkg ICBvcmctcmVmLWxpbmstbWVzc2FnZQ0KCQkJICAgDQoJCQkgICBnZW5lcmF0ZS1uZXctYnVmZmVy DQoJCQkgICANCgkJCSAgICIgKnRlbXAqIg0KCQkJICAgDQoJCQkgICAjW25pbA0KCQkJICAgICAN CgkJCQkJCQkJCQkJCQkgICAgIA0KCQkJCQkJCQkJCQkJCQkgICAgICAgDQoJCQkJCQkJCQkJCQkJ CQkJCSAgIA0KCQkJCQkJCQkJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgICAN CgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgICAgIA0KCQkJICAgICAiXDMwMQghXDIwNQkuXDMwMggh XDIwNyINCgkJCSAgICAgDQoJCQkJCQkJCQkJCQkJICAgICANCgkJCQkJCQkJCQkJCQkJICAgICAg IA0KCQkJCQkJCQkJCQkJCQkJCQkgICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJ CQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJCQkJCQkJCQkJCQkgICAgICANCgkJCSAgICAgW3Rl bXAtYnVmZmVyIGJ1ZmZlci1uYW1lIGtpbGwtYnVmZmVyXQ0KCQkJICAgICANCgkJCSAgICAgDQoJ CQkgICAgIA0KCQkJICAgICANCgkJCSAgICAgDQoJCQkgICAgIA0KCQkJCQkJCQkJCQkJCSAgICAg DQoJCQkJCQkJCQkJCQkJCSAgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgDQoJCQkJCQkJCQkJ CQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCQkJ CQkJICAgICAgDQoJCQkgICAgIDJdDQoJCQkgICANCgkJCSAgIGZpbGwtcGFyYWdyYXBoIGJ1ZmZl ci1zdHJpbmddDQoJCQkgIDJdDQoJCQkpDQoJCSAgICAgICAoImxpc3Qtb2YtdGFibGVzIiA6Zm9s bG93IG9yZy1yZWYtbGlzdC1vZi10YWJsZXMgOmV4cG9ydA0KCQkJI1soa2V5d29yZCBkZXNjIGZv cm1hdCkgIghcMzAxPVwyMDUJLlwzMDBcMzAyIVwyMDciDQoJCQkgIFtmb3JtYXQgbGF0ZXggIlxc bGlzdG9mdGFibGVzIl0gMl0NCgkJCSkNCgkJICAgICAgICgibGlzdC1vZi1maWd1cmVzIiA6Zm9s bG93IG9yZy1yZWYtbGlzdC1vZi1maWd1cmVzIDpleHBvcnQNCgkJCSNbKGtleXdvcmQgZGVzYyBm b3JtYXQpICIIXDMwMT1cMjA1CS5cMzAwXDMwMiFcMjA3Ig0KCQkJICBbZm9ybWF0IGxhdGV4ICJc XGxpc3RvZmZpZ3VyZXMiXSAyXQ0KCQkJKQ0KCQkgICAgICAgKCJhZGRiaWJyZXNvdXJjZSIgOmZv bGxvdyBvcmctcmVmLWZvbGxvdy1hZGRiaWJyZXNvdXJjZSA6ZXhwb3J0DQoJCQkjWyhrZXl3b3Jk IGRlc2MgZm9ybWF0KQ0KCQkJICAiCFwzMDJcMjY3XDIwMi4AXDMwMFwzMDMhXDIwN1wzMDBcMzA0 CVwiXDIwN1wzMDVcMjA3Ig0KCQkJICBbZm9ybWF0IGtleXdvcmQgI3MNCgkJCSAgIChoYXNoLXRh YmxlIHNpemUgMiB0ZXN0IGVxIHJlaGFzaC1zaXplIDEuNSByZWhhc2gtdGhyZXNob2xkIDAuODEy NSBwdXJlY29weQ0KCQkJICAgIHQgZGF0YSAoaHRtbCA2IGxhdGV4IDEwKSkNCgkJCSAgICIiICJc XGFkZGJpYnJlc291cmNleyVzfSIgbmlsXQ0KCQkJICAzXQ0KCQkJKQ0KCQkgICAgICAgKCJiaWJs aW9ncmFwaHlzdHlsZSIgOmV4cG9ydA0KCQkJI1soa2V5d29yZCBkZXNjIGZvcm1hdCkNCgkJCSAg IghcMzAyPVwyMDRcZi4IXDMwMz1cMjAzLgBcMzAwXDMwNAlcIlwyMDdcMzA1XDIwNyINCgkJCSAg W2Zvcm1hdCBrZXl3b3JkIGxhdGV4IGJlYW1lciAiXFxiaWJsaW9ncmFwaHlzdHlsZXslc30iICIi XSAzXQ0KCQkJKQ0KCQkgICAgICAgKCJwcmludGJpYmxpb2dyYXBoeSIgOmZvbGxvdyBvcmctcmVm LW9wZW4tYmlibGlvZ3JhcGh5IDpleHBvcnQNCgkJCSNbKGtleXdvcmQgZGVzYyBmb3JtYXQpICII XDMwMlwyNjdcMjAyLgBcMzAzIFwyMDdcMzA0IFwyMDcJXDIwN1wzMDVcMjA3Ig0KCQkJICBbZm9y bWF0IG9yZy1yZWYtcHJpbnRiaWJsaW9ncmFwaHktY21kICNzDQoJCQkgICAoaGFzaC10YWJsZSBz aXplIDMgdGVzdCBlcSByZWhhc2gtc2l6ZSAxLjUgcmVoYXNoLXRocmVzaG9sZCAwLjgxMjUgcHVy ZWNvcHkNCgkJCSAgICB0IGRhdGEgKG9yZyA2IGh0bWwgOSBsYXRleCAxMikpDQoJCQkgICBvcmct cmVmLWdldC1vcmctYmlibGlvZ3JhcGh5IG9yZy1yZWYtZ2V0LWh0bWwtYmlibGlvZ3JhcGh5IG5p bF0NCgkJCSAgMl0NCgkJCSkNCgkJICAgICAgICgibm9iaWJsaW9ncmFwaHkiIDpmb2xsb3cgb3Jn LXJlZi1vcGVuLWJpYmxpb2dyYXBoeSA6ZXhwb3J0DQoJCQlvcmctcmVmLW5vYmlibGlvZ3JhcGh5 LWZvcm1hdCkNCgkJICAgICAgICgiYmlibGlvZ3JhcGh5IiA6Zm9sbG93IG9yZy1yZWYtb3Blbi1i aWJsaW9ncmFwaHkgOmV4cG9ydA0KCQkJb3JnLXJlZi1iaWJsaW9ncmFwaHktZm9ybWF0IDpjb21w bGV0ZSBvcmctYmlibGlvZ3JhcGh5LWNvbXBsZXRlLWxpbmsNCgkJCTpoZWxwLWVjaG8NCgkJCSNb KHdpbmRvdyBvYmplY3QgcG9zaXRpb24pDQoJCQkgICJcMjEyCGJcMjEwXDMwMyAuXDMwNFwzMDUh LnJcbnFcMjEwXDMwNlwyMTYJY1wyMTBcMzA3IFwyMTBcMzEwIC1cMjA3Ig0KCQkJICBbcG9zaXRp b24NCgkJCSAgIA0KCQkJICAgcw0KCQkJICAgDQoJCQkgICB0ZW1wLWJ1ZmZlcg0KCQkJICAgDQoJ CQkgICBvcmctcmVmLWxpbmstbWVzc2FnZQ0KCQkJICAgDQoJCQkgICBnZW5lcmF0ZS1uZXctYnVm ZmVyDQoJCQkgICANCgkJCSAgICIgKnRlbXAqIg0KCQkJICAgDQoJCQkgICAjW25pbA0KCQkJICAg ICANCgkJCQkJCQkJCQkJCQkgICAgIA0KCQkJCQkJCQkJCQkJCQkgICAgICAgDQoJCQkJCQkJCQkJ CQkJCQkJCSAgIA0KCQkJCQkJCQkJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAg ICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgICAgIA0KCQkJICAgICAiXDMwMQghXDIwNQkuXDMw MgghXDIwNyINCgkJCSAgICAgDQoJCQkJCQkJCQkJCQkJICAgICANCgkJCQkJCQkJCQkJCQkJICAg ICAgIA0KCQkJCQkJCQkJCQkJCQkJCQkgICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJDQoJCQkJCQkJ CQkJCQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJCQkJCQkJCQkJCQkgICAgICANCgkJCSAgICAg W3RlbXAtYnVmZmVyIGJ1ZmZlci1uYW1lIGtpbGwtYnVmZmVyXQ0KCQkJICAgICANCgkJCSAgICAg DQoJCQkgICAgIA0KCQkJICAgICANCgkJCSAgICAgDQoJCQkgICAgIA0KCQkJCQkJCQkJCQkJCSAg ICAgDQoJCQkJCQkJCQkJCQkJCSAgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgDQoJCQkJCQkJ CQkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJ CQkJCQkJICAgICAgDQoJCQkgICAgIDJdDQoJCQkgICANCgkJCSAgIGZpbGwtcGFyYWdyYXBoIGJ1 ZmZlci1zdHJpbmddDQoJCQkgIDJdDQoJCQk6ZmFjZSBvcmctcmVmLWJpYmxpb2dyYXBoeS1mYWNl LWZuKQ0KCQkgICAgICAgKCJBY3AiIDpmb2xsb3cgb3ItZm9sbG93LWFjcm9ueW0gOmZhY2Ugb3Jn LXJlZi1hY3JvbnltLWZhY2UgOmhlbHAtZWNobw0KCQkJb3ItYWNyb255bS10b29sdGlwIDpleHBv cnQNCgkJCSNbNzcxICJcMjExXDMwMVwyNjdcMjAyLgBcMzAyXDMwM1wzMDBBLiNcMjA3XDMwMlwz MDQuXDIyNlwiXDIwNyINCgkJCSAgWygiQWNwIiAuICJHbHNwbCIpICNzDQoJCQkgICAoaGFzaC10 YWJsZSBzaXplIDEgdGVzdCBlcSByZWhhc2gtc2l6ZSAxLjUgcmVoYXNoLXRocmVzaG9sZCAwLjgx MjUgcHVyZWNvcHkNCgkJCSAgICB0IGRhdGEgKGxhdGV4IDYpKQ0KCQkJICAgZm9ybWF0ICJcXCVz eyVzfSIgIiVzIl0NCgkJCSAgNyAiXG5cbihmbiBQQVRIIF8gRk9STUFUKSJdDQoJCQkpDQoJCSAg ICAgICAoImFjcCIgOmZvbGxvdyBvci1mb2xsb3ctYWNyb255bSA6ZmFjZSBvcmctcmVmLWFjcm9u eW0tZmFjZSA6aGVscC1lY2hvDQoJCQlvci1hY3JvbnltLXRvb2x0aXAgOmV4cG9ydA0KCQkJI1s3 NzEgIlwyMTFcMzAxXDI2N1wyMDIuAFwzMDJcMzAzXDMwMEEuI1wyMDdcMzAyXDMwNC5cMjI2XCJc MjA3Ig0KCQkJICBbKCJhY3AiIC4gImdsc3BsIikgI3MNCgkJCSAgIChoYXNoLXRhYmxlIHNpemUg MSB0ZXN0IGVxIHJlaGFzaC1zaXplIDEuNSByZWhhc2gtdGhyZXNob2xkIDAuODEyNSBwdXJlY29w eQ0KCQkJICAgIHQgZGF0YSAobGF0ZXggNikpDQoJCQkgICBmb3JtYXQgIlxcJXN7JXN9IiAiJXMi XQ0KCQkJICA3ICJcblxuKGZuIFBBVEggXyBGT1JNQVQpIl0NCgkJCSkNCgkJICAgICAgICgiQWMi IDpmb2xsb3cgb3ItZm9sbG93LWFjcm9ueW0gOmZhY2Ugb3JnLXJlZi1hY3JvbnltLWZhY2UgOmhl bHAtZWNobw0KCQkJb3ItYWNyb255bS10b29sdGlwIDpleHBvcnQNCgkJCSNbNzcxICJcMjExXDMw MVwyNjdcMjAyLgBcMzAyXDMwM1wzMDBBLiNcMjA3XDMwMlwzMDQuXDIyNlwiXDIwNyINCgkJCSAg WygiQWMiIC4gIkdscyIpICNzDQoJCQkgICAoaGFzaC10YWJsZSBzaXplIDEgdGVzdCBlcSByZWhh c2gtc2l6ZSAxLjUgcmVoYXNoLXRocmVzaG9sZCAwLjgxMjUgcHVyZWNvcHkNCgkJCSAgICB0IGRh dGEgKGxhdGV4IDYpKQ0KCQkJICAgZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0NCgkJCSAgNyAiXG5c bihmbiBQQVRIIF8gRk9STUFUKSJdDQoJCQkpDQoJCSAgICAgICAoImFjIiA6Zm9sbG93IG9yLWZv bGxvdy1hY3JvbnltIDpmYWNlIG9yZy1yZWYtYWNyb255bS1mYWNlIDpoZWxwLWVjaG8NCgkJCW9y LWFjcm9ueW0tdG9vbHRpcCA6ZXhwb3J0DQoJCQkjWzc3MSAiXDIxMVwzMDFcMjY3XDIwMi4AXDMw MlwzMDNcMzAwQS4jXDIwN1wzMDJcMzA0LlwyMjZcIlwyMDciDQoJCQkgIFsoImFjIiAuICJnbHMi KSAjcw0KCQkJICAgKGhhc2gtdGFibGUgc2l6ZSAxIHRlc3QgZXEgcmVoYXNoLXNpemUgMS41IHJl aGFzaC10aHJlc2hvbGQgMC44MTI1IHB1cmVjb3B5DQoJCQkgICAgdCBkYXRhIChsYXRleCA2KSkN CgkJCSAgIGZvcm1hdCAiXFwlc3slc30iICIlcyJdDQoJCQkgIDcgIlxuXG4oZm4gUEFUSCBfIEZP Uk1BVCkiXQ0KCQkJKQ0KCQkgICAgICAgKCJhY3JmdWxsIiA6Zm9sbG93IG9yLWZvbGxvdy1hY3Jv bnltIDpmYWNlIG9yZy1yZWYtYWNyb255bS1mYWNlIDpoZWxwLWVjaG8NCgkJCW9yLWFjcm9ueW0t dG9vbHRpcCA6ZXhwb3J0DQoJCQkjWzc3MSAiXDIxMVwzMDFcMjY3XDIwMi4AXDMwMlwzMDNcMzAw QS4jXDIwN1wzMDJcMzA0LlwyMjZcIlwyMDciDQoJCQkgIFsoImFjcmZ1bGwiIC4gImFjcmZ1bGwi KSAjcw0KCQkJICAgKGhhc2gtdGFibGUgc2l6ZSAxIHRlc3QgZXEgcmVoYXNoLXNpemUgMS41IHJl aGFzaC10aHJlc2hvbGQgMC44MTI1IHB1cmVjb3B5DQoJCQkgICAgdCBkYXRhIChsYXRleCA2KSkN CgkJCSAgIGZvcm1hdCAiXFwlc3slc30iICIlcyJdDQoJCQkgIDcgIlxuXG4oZm4gUEFUSCBfIEZP Uk1BVCkiXQ0KCQkJKQ0KCQkgICAgICAgKCJhY3Jsb25nIiA6Zm9sbG93IG9yLWZvbGxvdy1hY3Jv bnltIDpmYWNlIG9yZy1yZWYtYWNyb255bS1mYWNlIDpoZWxwLWVjaG8NCgkJCW9yLWFjcm9ueW0t dG9vbHRpcCA6ZXhwb3J0DQoJCQkjWzc3MSAiXDIxMVwzMDFcMjY3XDIwMi4AXDMwMlwzMDNcMzAw QS4jXDIwN1wzMDJcMzA0LlwyMjZcIlwyMDciDQoJCQkgIFsoImFjcmxvbmciIC4gImFjcmxvbmci KSAjcw0KCQkJICAgKGhhc2gtdGFibGUgc2l6ZSAxIHRlc3QgZXEgcmVoYXNoLXNpemUgMS41IHJl aGFzaC10aHJlc2hvbGQgMC44MTI1IHB1cmVjb3B5DQoJCQkgICAgdCBkYXRhIChsYXRleCA2KSkN CgkJCSAgIGZvcm1hdCAiXFwlc3slc30iICIlcyJdDQoJCQkgIDcgIlxuXG4oZm4gUEFUSCBfIEZP Uk1BVCkiXQ0KCQkJKQ0KCQkgICAgICAgKCJhY3JzaG9ydCIgOmZvbGxvdyBvci1mb2xsb3ctYWNy b255bSA6ZmFjZSBvcmctcmVmLWFjcm9ueW0tZmFjZSA6aGVscC1lY2hvDQoJCQlvci1hY3Jvbnlt LXRvb2x0aXAgOmV4cG9ydA0KCQkJI1s3NzEgIlwyMTFcMzAxXDI2N1wyMDIuAFwzMDJcMzAzXDMw MEEuI1wyMDdcMzAyXDMwNC5cMjI2XCJcMjA3Ig0KCQkJICBbKCJhY3JzaG9ydCIgLiAiYWNyc2hv cnQiKSAjcw0KCQkJICAgKGhhc2gtdGFibGUgc2l6ZSAxIHRlc3QgZXEgcmVoYXNoLXNpemUgMS41 IHJlaGFzaC10aHJlc2hvbGQgMC44MTI1IHB1cmVjb3B5DQoJCQkgICAgdCBkYXRhIChsYXRleCA2 KSkNCgkJCSAgIGZvcm1hdCAiXFwlc3slc30iICIlcyJdDQoJCQkgIDcgIlxuXG4oZm4gUEFUSCBf IEZPUk1BVCkiXQ0KCQkJKQ0KCQkgICAgICAgKCJnbHNsaW5rIiA6Zm9sbG93IG9yLWZvbGxvdy1n bG9zc2FyeSA6ZmFjZSBvcmctcmVmLWdsb3NzYXJ5LWZhY2UgOmhlbHAtZWNobw0KCQkJb3ItZ2xv c3NhcnktdG9vbHRpcCA6ZXhwb3J0DQoJCQkjWzc3MSAiXDIxMVwzMDBcMjY3XDIwMlxmLlwzMDFc MzAyLgQjXDIwN1wzMDFcMzAzLlwiXDIwNyINCgkJCSAgWyNzDQoJCQkgICAoaGFzaC10YWJsZSBz aXplIDEgdGVzdCBlcSByZWhhc2gtc2l6ZSAxLjUgcmVoYXNoLXRocmVzaG9sZCAwLjgxMjUgcHVy ZWNvcHkNCgkJCSAgICB0IGRhdGEgKGxhdGV4IDYpKQ0KCQkJICAgZm9ybWF0ICJcXGdsc2xpbmt7 JXN9eyVzfSIgIiVzIl0NCgkJCSAgNyAiXG5cbihmbiBQQVRIIERFU0MgRk9STUFUKSJdDQoJCQkp DQoJCSAgICAgICAoImdsc2Rlc2MiIDpmb2xsb3cgb3ItZm9sbG93LWdsb3NzYXJ5IDpmYWNlIG9y Zy1yZWYtZ2xvc3NhcnktZmFjZSA6aGVscC1lY2hvDQoJCQlvci1nbG9zc2FyeS10b29sdGlwIDpl eHBvcnQNCgkJCSNbNzcxICJcMjExXDMwMVwyNjdcMjAyXGYuXDMwMlwzMDNcMzAwLiNcMjA3XDMw MlwzMDQuXCJcMjA3Ig0KCQkJICBbImdsc2Rlc2MiICNzDQoJCQkgICAoaGFzaC10YWJsZSBzaXpl IDEgdGVzdCBlcSByZWhhc2gtc2l6ZSAxLjUgcmVoYXNoLXRocmVzaG9sZCAwLjgxMjUgcHVyZWNv cHkNCgkJCSAgICB0IGRhdGEgKGxhdGV4IDYpKQ0KCQkJICAgZm9ybWF0ICJcXCVzeyVzfSIgIiVz Il0NCgkJCSAgNyAiXG5cbihmbiBQQVRIIF8gRk9STUFUKSJdDQoJCQkpDQoJCSAgICAgICAoImds c3N5bWJvbCIgOmZvbGxvdyBvci1mb2xsb3ctZ2xvc3NhcnkgOmZhY2Ugb3JnLXJlZi1nbG9zc2Fy eS1mYWNlIDpoZWxwLWVjaG8NCgkJCW9yLWdsb3NzYXJ5LXRvb2x0aXAgOmV4cG9ydA0KCQkJI1s3 NzEgIlwyMTFcMzAxXDI2N1wyMDJcZi5cMzAyXDMwM1wzMDAuI1wyMDdcMzAyXDMwNC5cIlwyMDci DQoJCQkgIFsiZ2xzc3ltYm9sIiAjcw0KCQkJICAgKGhhc2gtdGFibGUgc2l6ZSAxIHRlc3QgZXEg cmVoYXNoLXNpemUgMS41IHJlaGFzaC10aHJlc2hvbGQgMC44MTI1IHB1cmVjb3B5DQoJCQkgICAg dCBkYXRhIChsYXRleCA2KSkNCgkJCSAgIGZvcm1hdCAiXFwlc3slc30iICIlcyJdDQoJCQkgIDcg IlxuXG4oZm4gUEFUSCBfIEZPUk1BVCkiXQ0KCQkJKQ0KCQkgICAgICAgKCJHbHNwbCIgOmZvbGxv dyBvci1mb2xsb3ctZ2xvc3NhcnkgOmZhY2Ugb3JnLXJlZi1nbG9zc2FyeS1mYWNlIDpoZWxwLWVj aG8NCgkJCW9yLWdsb3NzYXJ5LXRvb2x0aXAgOmV4cG9ydA0KCQkJI1s3NzEgIlwyMTFcMzAxXDI2 N1wyMDJcZi5cMzAyXDMwM1wzMDAuI1wyMDdcMzAyXDMwNC5cIlwyMDciDQoJCQkgIFsiR2xzcGwi ICNzDQoJCQkgICAoaGFzaC10YWJsZSBzaXplIDEgdGVzdCBlcSByZWhhc2gtc2l6ZSAxLjUgcmVo YXNoLXRocmVzaG9sZCAwLjgxMjUgcHVyZWNvcHkNCgkJCSAgICB0IGRhdGEgKGxhdGV4IDYpKQ0K CQkJICAgZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0NCgkJCSAgNyAiXG5cbihmbiBQQVRIIF8gRk9S TUFUKSJdDQoJCQkpDQoJCSAgICAgICAoIkdscyIgOmZvbGxvdyBvci1mb2xsb3ctZ2xvc3Nhcnkg OmZhY2Ugb3JnLXJlZi1nbG9zc2FyeS1mYWNlIDpoZWxwLWVjaG8NCgkJCW9yLWdsb3NzYXJ5LXRv b2x0aXAgOmV4cG9ydA0KCQkJI1s3NzEgIlwyMTFcMzAxXDI2N1wyMDJcZi5cMzAyXDMwM1wzMDAu I1wyMDdcMzAyXDMwNC5cIlwyMDciDQoJCQkgIFsiR2xzIiAjcw0KCQkJICAgKGhhc2gtdGFibGUg c2l6ZSAxIHRlc3QgZXEgcmVoYXNoLXNpemUgMS41IHJlaGFzaC10aHJlc2hvbGQgMC44MTI1IHB1 cmVjb3B5DQoJCQkgICAgdCBkYXRhIChsYXRleCA2KSkNCgkJCSAgIGZvcm1hdCAiXFwlc3slc30i ICIlcyJdDQoJCQkgIDcgIlxuXG4oZm4gUEFUSCBfIEZPUk1BVCkiXQ0KCQkJKQ0KCQkgICAgICAg KCJnbHNwbCIgOmZvbGxvdyBvci1mb2xsb3ctZ2xvc3NhcnkgOmZhY2Ugb3JnLXJlZi1nbG9zc2Fy eS1mYWNlIDpoZWxwLWVjaG8NCgkJCW9yLWdsb3NzYXJ5LXRvb2x0aXAgOmV4cG9ydA0KCQkJI1s3 NzEgIlwyMTFcMzAxXDI2N1wyMDJcZi5cMzAyXDMwM1wzMDAuI1wyMDdcMzAyXDMwNC5cIlwyMDci DQoJCQkgIFsiZ2xzcGwiICNzDQoJCQkgICAoaGFzaC10YWJsZSBzaXplIDEgdGVzdCBlcSByZWhh c2gtc2l6ZSAxLjUgcmVoYXNoLXRocmVzaG9sZCAwLjgxMjUgcHVyZWNvcHkNCgkJCSAgICB0IGRh dGEgKGxhdGV4IDYpKQ0KCQkJICAgZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0NCgkJCSAgNyAiXG5c bihmbiBQQVRIIF8gRk9STUFUKSJdDQoJCQkpDQoJCSAgICAgICAoImdscyIgOmZvbGxvdyBvci1m b2xsb3ctZ2xvc3NhcnkgOmZhY2Ugb3JnLXJlZi1nbG9zc2FyeS1mYWNlIDpoZWxwLWVjaG8NCgkJ CW9yLWdsb3NzYXJ5LXRvb2x0aXAgOmV4cG9ydA0KCQkJI1s3NzEgIlwyMTFcMzAxXDI2N1wyMDJc Zi5cMzAyXDMwM1wzMDAuI1wyMDdcMzAyXDMwNC5cIlwyMDciDQoJCQkgIFsiZ2xzIiAjcw0KCQkJ ICAgKGhhc2gtdGFibGUgc2l6ZSAxIHRlc3QgZXEgcmVoYXNoLXNpemUgMS41IHJlaGFzaC10aHJl c2hvbGQgMC44MTI1IHB1cmVjb3B5DQoJCQkgICAgdCBkYXRhIChsYXRleCA2KSkNCgkJCSAgIGZv cm1hdCAiXFwlc3slc30iICIlcyJdDQoJCQkgIDcgIlxuXG4oZm4gUEFUSCBfIEZPUk1BVCkiXQ0K CQkJKQ0KCQkgICAgICAgKCJwZGZ2aWV3IiA6Zm9sbG93IG9yZy1wZGZ2aWV3LW9wZW4gOmNvbXBs ZXRlIG9yZy1wZGZ2aWV3LWNvbXBsZXRlLWxpbmsgOnN0b3JlDQoJCQlvcmctcGRmdmlldy1zdG9y ZS1saW5rKQ0KCQkgICAgICAgKCJib29rbWFyay1vdGhlci13aW4iIDpmb2xsb3cgYm9va21hcmst anVtcC1vdGhlci13aW5kb3cgOmV4cG9ydCBuaWwpDQoJCSAgICAgICAoImJvb2ttYXJrIiA6Zm9s bG93IGJvb2ttYXJrLWp1bXAgOmV4cG9ydCBuaWwpDQoJCSAgICAgICAoImV3dyIgOmZvbGxvdyBl d3cgOnN0b3JlIG9yZy1ld3ctc3RvcmUtbGluaykNCgkJICAgICAgICgicm1haWwiIDpmb2xsb3cg b3JnLXJtYWlsLW9wZW4gOnN0b3JlIG9yZy1ybWFpbC1zdG9yZS1saW5rKQ0KCQkgICAgICAgKCJt aGUiIDpmb2xsb3cgb3JnLW1oZS1vcGVuIDpzdG9yZSBvcmctbWhlLXN0b3JlLWxpbmspDQoJCSAg ICAgICAoImlyYyIgOmZvbGxvdyBvcmctaXJjLXZpc2l0IDpzdG9yZSBvcmctaXJjLXN0b3JlLWxp bmsgOmV4cG9ydCBvcmctaXJjLWV4cG9ydCkNCgkJICAgICAgICgiaW5mbyIgOmZvbGxvdyBvcmct aW5mby1vcGVuIDpleHBvcnQgb3JnLWluZm8tZXhwb3J0IDpzdG9yZQ0KCQkJb3JnLWluZm8tc3Rv cmUtbGluaykNCgkJICAgICAgICgiZ251cyIgOmZvbGxvdyBvcmctZ251cy1vcGVuIDpzdG9yZSBv cmctZ251cy1zdG9yZS1saW5rKQ0KCQkgICAgICAgKCJkb2N2aWV3IiA6Zm9sbG93IG9yZy1kb2N2 aWV3LW9wZW4gOmV4cG9ydCBvcmctZG9jdmlldy1leHBvcnQgOnN0b3JlDQoJCQlvcmctZG9jdmll dy1zdG9yZS1saW5rKQ0KCQkgICAgICAgKCJiaWJ0ZXgiIDpmb2xsb3cgb3JnLWJpYnRleC1vcGVu IDpzdG9yZSBvcmctYmlidGV4LXN0b3JlLWxpbmspDQoJCSAgICAgICAoImJiZGIiIDpmb2xsb3cg b3JnLWJiZGItb3BlbiA6ZXhwb3J0IG9yZy1iYmRiLWV4cG9ydCA6Y29tcGxldGUNCgkJCW9yZy1i YmRiLWNvbXBsZXRlLWxpbmsgOnN0b3JlIG9yZy1iYmRiLXN0b3JlLWxpbmspDQoJCSAgICAgICAo InczbSIgOnN0b3JlIG9yZy13M20tc3RvcmUtbGluaykgKCJmaWxlK3N5cyIpICgiZmlsZStlbWFj cyIpDQoJCSAgICAgICAoInNoZWxsIiA6Zm9sbG93IG9yZy1saW5rLS1vcGVuLXNoZWxsKQ0KCQkg ICAgICAgKCJuZXdzIiA6Zm9sbG93DQoJCQkjWzI1NyAiXDMwMVwzMDBcMzAyLlEhXDIwNyIgWyJu ZXdzIiBicm93c2UtdXJsICI6Il0gNSAiXG5cbihmbiBVUkwpIl0pDQoJCSAgICAgICAoIm1haWx0 byIgOmZvbGxvdw0KCQkJI1syNTcgIlwzMDFcMzAwXDMwMi5RIVwyMDciIFsibWFpbHRvIiBicm93 c2UtdXJsICI6Il0gNSAiXG5cbihmbiBVUkwpIl0pDQoJCSAgICAgICAoImh0dHBzIiA6Zm9sbG93 DQoJCQkjWzI1NyAiXDMwMVwzMDBcMzAyLlEhXDIwNyIgWyJodHRwcyIgYnJvd3NlLXVybCAiOiJd IDUgIlxuXG4oZm4gVVJMKSJdKQ0KCQkgICAgICAgKCJodHRwIiA6Zm9sbG93DQoJCQkjWzI1NyAi XDMwMVwzMDBcMzAyLlEhXDIwNyIgWyJodHRwIiBicm93c2UtdXJsICI6Il0gNSAiXG5cbihmbiBV UkwpIl0pDQoJCSAgICAgICAoImZ0cCIgOmZvbGxvdw0KCQkJI1syNTcgIlwzMDFcMzAwXDMwMi5R IVwyMDciIFsiZnRwIiBicm93c2UtdXJsICI6Il0gNSAiXG5cbihmbiBVUkwpIl0pDQoJCSAgICAg ICAoImhlbHAiIDpmb2xsb3cgb3JnLWxpbmstLW9wZW4tZWxpc3ApICgiZmlsZSIgOmNvbXBsZXRl IG9yZy1saW5rLWNvbXBsZXRlLWZpbGUpDQoJCSAgICAgICAoImVsaXNwIiA6Zm9sbG93IG9yZy1s aW5rLS1vcGVuLWVsaXNwKQ0KCQkgICAgICAgKCJkb2kiIDpmb2xsb3cgZG9pLWxpbmstbWVudSA6 ZXhwb3J0DQoJCQkjWyhkb2kgZGVzYyBmb3JtYXQpDQoJCQkgICIIXDMwNFwyNjdcMjAyIC5cMzAw XDMwNQlcbgtcMjA2LgBcMzA2XG5QJFwyMDdcMzAwXDMwNwlcbgtcMjA2LgBcMzA2XG5QJFwyMDdc MzEwXDIwNyINCgkJCSAgW2Zvcm1hdA0KCQkJICAgDQoJCQkgICBkb2ktdXRpbHMtZHgtZG9pLW9y Zy11cmwNCgkJCSAgIA0KCQkJICAgZG9pDQoJCQkgICANCgkJCSAgIGRlc2MNCgkJCSAgIA0KCQkJ ICAgI3MNCgkJCSAgIA0KCQkJICAgKGhhc2gtdGFibGUNCgkJCSAgICANCgkJCQkJCQkJCQkJCQkJ CQkgICAgDQoJCQkJCQkJCQkJCQkJCQkJICAgICAgDQoJCQkJCQkJCQkJCQkJCQkJCSAgIA0KCQkJ CQkJCQkJCQkJCQkJCQkgICAgICAgDQoJCQkJCQkJCQkJCQkJCQkJCQkJCQkNCgkJCSAgICBzaXpl DQoJCQkgICAgDQoJCQkJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICAgIA0K CQkJCQkJCQkJCQkJCQkJCQkgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgICAgIA0KCQkJCQkJCQkJ CQkJCQkJCQkJCQkJDQoJCQkgICAgMg0KCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICANCgkJ CQkJCQkJCQkJCQkJCQkgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgDQoJCQkJCQkJCQkJCQkJ CQkJCSAgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQ0KCQkJICAgIHRlc3QNCgkJCSAgICAN CgkJCQkJCQkJCQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJCQkJCQkJICAgICAgDQoJCQkJCQkJCQkJ CQkJCQkJCSAgIA0KCQkJCQkJCQkJCQkJCQkJCQkgICAgICAgDQoJCQkJCQkJCQkJCQkJCQkJCQkJ CQkNCgkJCSAgICBlcQ0KCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJCQkJCQkJ CQkJCQkgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgDQoJCQkJCQkJCQkJCQkJCQkJCSAgICAg ICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQ0KCQkJICAgIHJlaGFzaC1zaXplDQoJCQkgICAgDQoJ CQkJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICAgIA0KCQkJCQkJCQkJCQkJ CQkJCQkgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgICAgIA0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJ DQoJCQkgICAgMS41DQoJCQkgICAgDQoJCQkJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJ CQkJCSAgICAgIA0KCQkJCQkJCQkJCQkJCQkJCQkgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgICAg IA0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJDQoJCQkgICAgcmVoYXNoLXRocmVzaG9sZA0KCQkJICAg IA0KCQkJCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJCQkJCQkJCQkJCQkgICAgICANCgkJCQkJCQkJ CQkJCQkJCQkJICAgDQoJCQkJCQkJCQkJCQkJCQkJCSAgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJ CQkJCQ0KCQkJICAgIDAuODEyNQ0KCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJ CQkJCQkJCQkJCQkgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgDQoJCQkJCQkJCQkJCQkJCQkJ CSAgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQ0KCQkJICAgIHB1cmVjb3B5DQoJCQkgICAg DQoJCQkJCQkJCQkJCQkJCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICAgIA0KCQkJCQkJCQkJ CQkJCQkJCQkgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgICAgIA0KCQkJCQkJCQkJCQkJCQkJCQkJ CQkJDQoJCQkgICAgdA0KCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJCQkJCQkJ CQkJCQkgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgDQoJCQkJCQkJCQkJCQkJCQkJCSAgICAg ICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQ0KCQkJICAgIGRhdGENCgkJCSAgICANCgkJCQkJCQkJ CQkJCQkJCQkgICAgDQoJCQkJCQkJCQkJCQkJCQkJICAgICAgDQoJCQkJCQkJCQkJCQkJCQkJCSAg IA0KCQkJCQkJCQkJCQkJCQkJCQkgICAgICAgDQoJCQkJCQkJCQkJCQkJCQkJCQkJCQkNCgkJCSAg ICAoaHRtbCA2IGxhdGV4IDE5KQ0KCQkJICAgIA0KCQkJCQkJCQkJCQkJCQkJCSAgICANCgkJCQkJ CQkJCQkJCQkJCQkgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJICAgDQoJCQkJCQkJCQkJCQkJCQkJ CSAgICAgICANCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQ0KCQkJICAgICkNCgkJCSAgIA0KCQkJICAg IjxhIGhyZWY9XCIlcyVzXCI+JXM8L2E+IiAiZG9pOiIgIlxcaHJlZnslcyVzfXslc30iIG5pbF0N CgkJCSAgNl0NCgkJCSkNCgkJICAgICAgICkNCiBvcmctYnVsbGV0cy1idWxsZXQtbGlzdCAnKCLi l4kiICLil4siICLinLgiICLinL8iICLimaAiICLimaMiKQ0KIG9yZy1sYXRleC1mb3JtYXQtaGVh ZGxpbmUtZnVuY3Rpb24gJ29yZy1sYXRleC1mb3JtYXQtaGVhZGxpbmUtZGVmYXVsdC1mdW5jdGlv bg0KIG9yZy1saW5rLWVsaXNwLWNvbmZpcm0tZnVuY3Rpb24gJ3llcy1vci1uby1wDQogb3JnLWxh dGV4LWZvcm1hdC1pbmxpbmV0YXNrLWZ1bmN0aW9uICdvcmctbGF0ZXgtZm9ybWF0LWlubGluZXRh c2stZGVmYXVsdC1mdW5jdGlvbg0KIG9yZy10YWItYmVmb3JlLXRhYi1lbXVsYXRpb24taG9vayAn KG9yZy10ZW1wby1jb21wbGV0ZS10YWcpDQogb3JnLWh0bWwtZm9ybWF0LWRyYXdlci1mdW5jdGlv biAjWzUxNCAiXDIwNyIgW10gMyAiXG5cbihmbiBOQU1FIENPTlRFTlRTKSJdDQogb3JnLXJlZi1n ZXQtcGRmLWZpbGVuYW1lLWZ1bmN0aW9uICdvcmctcmVmLWdldC1wZGYtZmlsZW5hbWUNCiBvcmct aHRtbC1mb3JtYXQtaGVhZGxpbmUtZnVuY3Rpb24gJ29yZy1odG1sLWZvcm1hdC1oZWFkbGluZS1k ZWZhdWx0LWZ1bmN0aW9uDQogb3JnLXNyYy13aW5kb3ctc2V0dXAgJ3NwbGl0LXdpbmRvdy1iZWxv dw0KIG9yZy1jb25maXJtLWJhYmVsLWV2YWx1YXRlIG5pbA0KIG9yZy1yZWYtY2l0ZS1vbmNsaWNr LWZ1bmN0aW9uICdvcmctcmVmLWNpdGUtY2xpY2staGVsbQ0KIG9yZy1yZWYtbm90ZXMtZnVuY3Rp b24gJ29yZy1yZWYtbm90ZXMtZnVuY3Rpb24tb25lLWZpbGUNCiBvcmctdXNlLXNwZWVkLWNvbW1h bmRzIHQNCiBvcmctdGFncy1leGNsdWRlLWZyb20taW5oZXJpdGFuY2UgJygiU1QiKQ0KIG9yZy1s YXRleC1iaWItY29tcGlsZXIgImJpYmxhdGV4Ig0KICkNCg==