# Name: rah_external_output v0.5 # Type: Admin/Client side plugin # Output external content-type snippets # Author: Jukka Svahn # URL: http://rahforum.biz # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjE5OiJyYWhfZXh0ZXJuYWxfb3V0cHV0IjtzOjY6ImF1dGhv ciI7czoxMToiSnVra2EgU3ZhaG4iO3M6MTA6ImF1dGhvcl91cmkiO3M6MTk6Imh0dHA6Ly9y YWhmb3J1bS5iaXoiO3M6NzoidmVyc2lvbiI7czozOiIwLjUiO3M6MTE6ImRlc2NyaXB0aW9u IjtzOjM3OiJPdXRwdXQgZXh0ZXJuYWwgY29udGVudC10eXBlIHNuaXBwZXRzIjtzOjQ6Imhl bHAiO3M6Mjk5MDoiCTxoMT5yYWhfZXh0ZXJuYWxfb3V0cHV0PC9oMT4KCgk8cD5PdXRwdXQg ZXh0ZXJuYWwgY29udGVudC10eXBlIHNuaXBwZXRzLiBUaGUgcGx1Z2luLCByYWhfZXh0ZXJu YWxfb3V0cHV0LCBpcyB1c2VkIHRvIG91dHB1dCBleHRlcm5hbCBzY3JpcHRzIHdpdGggY3Vz dG9tIGNvbnRlbnQgdHlwZXMuIEJ5IGV4dGVybmFsIHdlIG1lYW4gdGhhdCB5b3UgZG9uJiM4 MjE3O3QgaGF2ZSB0byB3YXN0ZSBzZWN0aW9ucywgZm9ybXMgbm9yIHBhZ2UgdGVtcGxhdGVz IGZvciB0aGUgc2NyaXB0cywgYW5kIHNjcmlwdHMgKGFrYSA8ZW0+Z2xvYmFsIG91dHB1dCBm b3JtczwvZW0+KSBjYW4gYmUgZWFzaWx5IHVzZWQgZm9yIG90aGVyIGFwcGxpY2F0aW9ucywg Zm9yIGV4YW1wbGUgQWpheCBjYWxscyBvciBhIGN1c3RvbSA8c3BhbiBjbGFzcz0iY2FwcyI+ WE1MPC9zcGFuPiBwYWdlLjwvcD4KCgk8dWw+CgkJPGxpPlZlcnNpb246IDAuNTwvbGk+CgkJ PGxpPlVwZGF0ZWQ6IDIwMTAvMDQvMTEgNToyMCBQTSA8c3BhbiBjbGFzcz0iY2FwcyI+VVRD PC9zcGFuPjwvbGk+Cgk8L3VsPgoKCTxoMz5UYWJsZSBvZiBDb250ZW50czwvaDM+CgoJPHVs PgoJCTxsaT48YSBocmVmPSIjbGlzdC1vZi1mZWF0dXJlcyI+TGlzdCBvZiBmZWF0dXJlczwv YT48L2xpPgoJCTxsaT48YSBocmVmPSIjcmVxdWlyZW1lbnRzIj5SZXF1aXJlbWVudHM8L2E+ PC9saT4KCQk8bGk+PGEgaHJlZj0iI2luc3RhbGxhdGlvbi1hbmQtdXNhZ2UiPkluc3RhbGxh dGlvbiBhbmQgdXNhZ2U8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0iI2F0dHJpYnV0ZXMiPkF0 dHJpYnV0ZXM8L2E+PC9saT4KCQk8bGk+PGEgaHJlZj0iI2NoYW5nZWxvZyI+Q2hhbmdlbG9n PC9hPjwvbGk+Cgk8L3VsPgoKCTxoMyBpZD0ibGlzdC1vZi1mZWF0dXJlcyI+TGlzdCBvZiBm ZWF0dXJlczwvaDM+CgoJPHVsPgoJCTxsaT5DbGVhbiBpbnRlcmZhY2UgdG8gd3JpdGUgYW5k IGFkanVzdCBjb2RlIHNuaXBwZXRzLjwvbGk+CgkJPGxpPkNyZWF0ZSBhbmQgc2V0IGNvbnRl bnQtdHlwZXMgZm9yIHRoZSBjb2RlIHNuaXBwZXRzLjwvbGk+CgkJPGxpPlR3byB3YXlzIHRv IGRpc3BsYXkgdGhlIHNjcmlwdHM6IEFuIGF1dG9tYXRpYyA8c3BhbiBjbGFzcz0iY2FwcyI+ VVJMPC9zcGFuPiBjYWxsLCBhbmQgYW4gYWx0ZXJuYXRpdmUgdGFnIGZ1bmN0aW9uIHRvIGRp c3BsYXkgdGhlIGVuZCByZXN1bHRzLjwvbGk+Cgk8L3VsPgoKCTxoMyBpZD0icmVxdWlyZW1l bnRzIj5SZXF1aXJlbWVudHM8L2gzPgoKCTxwPlJhaF9leHRlcm5hbF9vdXRwdXQmIzgyMTc7 cyBtaW5pbXVtIHJlcXVpcmVtZW50czo8L3A+CgoJPHVsPgoJCTxsaT48c3BhbiBjbGFzcz0i Y2FwcyI+UEhQPC9zcGFuPiA0LjMuMDwvbGk+CgkJPGxpPlRleHRwYXR0ZXJuIDQueC54Kzwv bGk+Cgk8L3VsPgoKCTxwPlJlY29tbWVuZGVkOjwvcD4KCgk8dWw+CgkJPGxpPjxzcGFuIGNs YXNzPSJjYXBzIj5QSFA8L3NwYW4+IDUuMS4yKzwvbGk+CgkJPGxpPlRleHRwYXR0ZXJuIDQu MC44KzwvbGk+Cgk8L3VsPgoKCTxoMyBpZD0iaW5zdGFsbGF0aW9uLWFuZC11c2FnZSI+SW5z dGFsbGF0aW9uIGFuZCB1c2FnZTwvaDM+CgoJPHA+VGhlIGdlbmVyYWwgYmVoYXZpb3Igc3Rh bmRzOiBwYXN0ZSBwbHVnaW4gY29kZSB0byB0aGUgcGx1Z2luIGluc3RhbGxlciB0ZXh0YXJl YSBhbmQgcnVuIHRoZSBhdXRvbWF0aWMgc2V0dXAuIFRoZW4ganVzdCBhY3RpdmF0ZSB0aGUg cGx1Z2luIGFuZCB5b3UgYXJlIHJlYWR5IHRvIHVzZSB0aGUgbmV3IGludGVyZmFjZSB1bmRl ciA8ZW0+PHNwYW4gY2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4gLyBFeHRlbnNpb25zIC8gRXh0 ZXJuYWwgb3V0cHV0PC9lbT4uPC9wPgoKCTxoMyBpZD0iYXR0cmlidXRlcyI+QXR0cmlidXRl czwvaDM+CgoJPHA+VGhlIHRhZyBpcyA8Y29kZT4mbHQ7dHhwOnJhaF9leHRlcm5hbF9vdXRw dXQgLyZndDs8L2NvZGU+IGFuZCBhdHRyaWJ1dGVzIGZvciBpdCBmb2xsb3cuIFRoZSB0YWcg aXMgYSBzZWNvbmRhcnkgZmVhdHVyZSwgYW5kIHRoZSBhdXRvbWF0aWMgPHNwYW4gY2xhc3M9 ImNhcHMiPlVSTDwvc3Bhbj4gY2FsbCBtZXRob2Qgc2hvdWxkIGJlIHByZWZlcnJlZCBvdmVy IHRoZSB0YWcuPC9wPgoKCTxwPjxzdHJvbmc+bmFtZTwvc3Ryb25nPjxiciAvPgpOYW1lIG9m IHRoZSBleHRlcm5hbCBvdXRwdXQgeW91IHdhbnQgdG8gZGlzcGxheS48YnIgLz4KRGVmYXVs dCA8Y29kZT5uYW1lPSZxdW90OyZxdW90OzwvY29kZT4gRXhhbXBsZTogPGNvZGU+JnF1b3Q7 TG9naW5TaG93VG9FeHRTaXRlU2NyaXB0JnF1b3Q7PC9jb2RlPjwvcD4KCgk8aDMgaWQ9ImNo YW5nZWxvZyI+Q2hhbmdlbG9nPC9oMz4KCgk8cD48c3Ryb25nPlZlcnNpb24gMC41PC9zdHJv bmc+PC9wPgoKCTx1bD4KCQk8bGk+QWRkZWQgPGVtPmRpc2FibGU8L2VtPiBhbmQgPGVtPmFj dGl2YXRlPC9lbT4gYWN0aW9ucyB0byBtdWx0aWVkaXQgZmVhdHVyZS48L2xpPgoJPC91bD4K Cgk8cD48c3Ryb25nPlZlcnNpb24gMC40PC9zdHJvbmc+PC9wPgoKCTx1bD4KCQk8bGk+Rml4 ZWQgZm9yZ290dGVuIGluc2VydCBxdWVyeSBlc2NhcGluZy48L2xpPgoJPC91bD4KCgk8cD48 c3Ryb25nPlZlcnNpb24gMC4zPC9zdHJvbmc+PC9wPgoKCTx1bD4KCQk8bGk+Rml4ZWQgZXJy b3IgY2F1c2VkIGJ5IG5vbi1zZXQgPGNvZGU+JHByZXRleHQ8L2NvZGU+IChub3RlOiA8c3Bh biBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBsb2FkIG9yZGVyKS48L2xpPgoJCTxsaT5TZXQg PGNvZGU+JHByZXRleHQ8L2NvZGU+IGluZGV4ZXMgdG8gZW1wdHk6IHdlIGFyZSBub3Qgb24g cGFnZSB0ZW1wbGF0ZS48L2xpPgoJPC91bD4KCgk8cD48c3Ryb25nPlZlcnNpb24gMC4yPC9z dHJvbmc+PC9wPgoKCTx1bD4KCQk8bGk+Rml4ZWQgZm9yZ290dGVuIHBhcnNlIGNhbGwuPC9s aT4KCTwvdWw+CgoJPHA+PHN0cm9uZz5WZXJzaW9uIDAuMTwvc3Ryb25nPjwvcD4KCgk8dWw+ CgkJPGxpPkZpcnN0IHJlbGVhc2U8L2xpPgoJPC91bD4iO3M6NDoiY29kZSI7czoxMjUzOToi CSMjIyMjIyMjIyMjIyMjIyMjIw0KCSMNCgkjCXJhaF9leHRlcm5hbF9vdXRwdXQtcGx1Z2lu IGZvciBUZXh0cGF0dGVybg0KCSMJdmVyc2lvbiAwLjUNCgkjCWJ5IEp1a2thIFN2YWhuDQoJ IwlodHRwOi8vcmFoZm9ydW0uYml6DQoJIw0KCSMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KCWlm IChAdHhwaW50ZXJmYWNlID09ICdhZG1pbicpIHsNCgkJYWRkX3ByaXZzKCdyYWhfZXh0ZXJu YWxfb3V0cHV0X3BhZ2UnLCcxLDInKTsNCgkJcmVnaXN0ZXJfdGFiKCdleHRlbnNpb25zJywn cmFoX2V4dGVybmFsX291dHB1dF9wYWdlJywnRXh0ZXJuYWwgb3V0cHV0Jyk7DQoJCXJlZ2lz dGVyX2NhbGxiYWNrKCdyYWhfZXh0ZXJuYWxfb3V0cHV0X3BhZ2UnLCdyYWhfZXh0ZXJuYWxf b3V0cHV0X3BhZ2UnKTsNCgl9IGVsc2UgaWYoZ3BzKCdyYWhfZXh0ZXJuYWxfb3V0cHV0Jykp IHJhaF9leHRlcm5hbF9vdXRwdXRfZG8oKTsNCg0KCWZ1bmN0aW9uIHJhaF9leHRlcm5hbF9v dXRwdXRfaW5zdGFsbCgpIHsNCgkJc2FmZV9xdWVyeSgNCgkJCSJDUkVBVEUgVEFCTEUgSUYg Tk9UIEVYSVNUUyAiLnNhZmVfcGZ4KCdyYWhfZXh0ZXJuYWxfb3V0cHV0JykuIiAoDQoJCQkJ YG5hbWVgIHZhcmNoYXIoMjU1KSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KCQkJCWBjb250ZW50 X3R5cGVgIHZhcmNoYXIoMjU1KSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KCQkJCWBjb2RlYCBM T05HVEVYVCBOT1QgTlVMTCwNCgkJCQlgcG9zdGVkYCBkYXRldGltZSBOT1QgTlVMTCBkZWZh dWx0ICcwMDAwLTAwLTAwIDAwOjAwOjAwJywNCgkJCQlgYWxsb3dgIHZhcmNoYXIoMykgTk9U IE5VTEwgZGVmYXVsdCAnWWVzJywNCgkJCQlQUklNQVJZIEtFWShgbmFtZWApDQoJCQkpIg0K CQkpOw0KCQlzYWZlX3F1ZXJ5KA0KCQkJIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICIu c2FmZV9wZngoJ3JhaF9leHRlcm5hbF9vdXRwdXRfbWltZScpLiIgKA0KCQkJCWBjb250ZW50 X3R5cGVgIHZhcmNoYXIoMjU1KSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KCQkJCVBSSU1BUlkg S0VZKGBjb250ZW50X3R5cGVgKQ0KCQkJKSINCgkJKTsNCgl9DQoNCglmdW5jdGlvbiByYWhf ZXh0ZXJuYWxfb3V0cHV0KCRhdHRzKSB7DQoJCWV4dHJhY3QobEF0dHMoYXJyYXkoDQoJCQkn bmFtZScgPT4gJycNCgkJKSwkYXR0cykpOw0KCQkkY29kZSA9IGZldGNoKCdjb2RlJywncmFo X2V4dGVybmFsX291dHB1dCcsJ25hbWUnLCRuYW1lKTsNCgkJaWYoJGNvZGUpIHJldHVybiBw YXJzZSgkY29kZSk7DQoJfQ0KDQoJZnVuY3Rpb24gcmFoX2V4dGVybmFsX291dHB1dF9kbygp IHsNCgkJJG5hbWUgPSBncHMoJ3JhaF9leHRlcm5hbF9vdXRwdXQnKTsNCgkJJHJzID0gDQoJ CQlzYWZlX3JvdygNCgkJCQknY29udGVudF90eXBlLGNvZGUnLA0KCQkJCSdyYWhfZXh0ZXJu YWxfb3V0cHV0JywNCgkJCQkibmFtZT0nIi5kb1NsYXNoKCRuYW1lKS4iJyBhbmQgYWxsb3c9 J1llcyciDQoJCQkpDQoJCTsNCgkJaWYoJHJzKSB7DQoJCQlleHRyYWN0KCRycyk7DQoJCQlv Yl9zdGFydCgpOw0KCQkJb2JfZW5kX2NsZWFuKCk7DQoJCQlnbG9iYWwgJHByZXRleHQ7DQoJ CQkkcHJldGV4dCA9IGFycmF5KA0KCQkJCSdpZCcgPT4gJycsDQoJCQkJJ3MnID0+ICcnLA0K CQkJCSdjJyA9PiAnJywNCgkJCQkncScgPT4gJycsDQoJCQkJJ3BnJyA9PiAnJywNCgkJCQkn cCcgPT4gJycsDQoJCQkJJ21vbnRoJyA9PiAnJywNCgkJCQknYXV0aG9yJyA9PiAnJywNCgkJ CQkncmVxdWVzdF91cmknID0+ICcnLA0KCQkJCSdxcycgPT4gJycsDQoJCQkJJ3N1YnBhdGgn ID0+ICcnLA0KCQkJCSdyZXEnID0+ICcnLA0KCQkJCSdzdGF0dXMnID0+IDIwMCwNCgkJCQkn cGFnZScgPT4gJycsDQoJCQkJJ2NzcycgPT4gJycsDQoJCQkJJ3BhdGhfZnJvbV9yb290JyA9 PiAnJywNCgkJCQkncGZyJyA9PiAnJywNCgkJCQkncGF0aF90b19zaXRlJyA9PiAnJywNCgkJ CQkncGVybWxpbmtfbW9kZScgPT4gJycsDQoJCQkJJ3NpdGVuYW1lJyA9PiAnJywNCgkJCQkn c2Vjb25kcGFzcycgPT4gJycNCgkJCSk7DQoJCQlpZigkY29udGVudF90eXBlKSBoZWFkZXIo J0NvbnRlbnQtdHlwZTogJy4kY29udGVudF90eXBlKTsNCgkJCWVjaG8gQHBhcnNlKCRjb2Rl KTsNCgkJCWV4aXQoKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIHJhaF9leHRlcm5hbF9vdXRw dXRfcGFnZSgpIHsNCgkJcmVxdWlyZV9wcml2cygncmFoX2V4dGVybmFsX291dHB1dF9wYWdl Jyk7DQoJCXJhaF9leHRlcm5hbF9vdXRwdXRfaW5zdGFsbCgpOw0KCQlnbG9iYWwgJHN0ZXA7 DQoJCWlmKGluX2FycmF5KCRzdGVwLGFycmF5KA0KCQkJJ3JhaF9leHRlcm5hbF9vdXRwdXRf cGFnZV9mb3JtJywNCgkJCSdyYWhfZXh0ZXJuYWxfb3V0cHV0X3BhZ2Vfc2F2ZScsDQoJCQkn cmFoX2V4dGVybmFsX291dHB1dF9wYWdlX2FjdGl2YXRlJywNCgkJCSdyYWhfZXh0ZXJuYWxf b3V0cHV0X3BhZ2VfZGlzYWJsZScsDQoJCQkncmFoX2V4dGVybmFsX291dHB1dF9wYWdlX2Rl bGV0ZScsDQoJCQkncmFoX2V4dGVybmFsX291dHB1dF9jb250ZW50X3R5cGVzJywNCgkJCSdy YWhfZXh0ZXJuYWxfb3V0cHV0X2NvbnRlbnRfdHlwZXNfc2F2ZScsDQoJCQkncmFoX2V4dGVy bmFsX291dHB1dF9jb250ZW50X3R5cGVzX2RlbGV0ZScNCgkJKSkpICRzdGVwKCk7DQoJCWVs c2UgcmFoX2V4dGVybmFsX291dHB1dF9wYWdlX2xpc3QoKTsNCgl9DQoNCglmdW5jdGlvbiBy YWhfZXh0ZXJuYWxfb3V0cHV0X3BhZ2VfZGVsZXRlKCkgew0KCQkkc2VsZWN0ZWQgPSBwcygn c2VsZWN0ZWQnKTsNCgkJaWYoIWlzX2FycmF5KCRzZWxlY3RlZCkpICRzZWxlY3RlZCA9IGFy cmF5KCk7DQoJCWZvcmVhY2goJHNlbGVjdGVkIGFzICRuYW1lKSB7DQoJCQlzYWZlX2RlbGV0 ZSgNCgkJCQkncmFoX2V4dGVybmFsX291dHB1dCcsDQoJCQkJIm5hbWU9JyIuZG9TbGFzaCgk bmFtZSkuIiciDQoJCQkpOw0KCQl9DQoJCXJhaF9leHRlcm5hbF9vdXRwdXRfcGFnZV9saXN0 KCdTZWxlY3Rpb24gZGVsZXRlZC4nKTsNCgl9DQoNCglmdW5jdGlvbiByYWhfZXh0ZXJuYWxf b3V0cHV0X3BhZ2VfYWN0aXZhdGUoJHN0YXRlPSdZZXMnKSB7DQoJCSRzZWxlY3RlZCA9IHBz KCdzZWxlY3RlZCcpOw0KCQlpZighaXNfYXJyYXkoJHNlbGVjdGVkKSkNCgkJCSRzZWxlY3Rl ZCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHNlbGVjdGVkIGFzICRuYW1lKSB7DQoJCQlzYWZl X3VwZGF0ZSgNCgkJCQkncmFoX2V4dGVybmFsX291dHB1dCcsDQoJCQkJImFsbG93PSciLmRv U2xhc2goJHN0YXRlKS4iJyIsDQoJCQkJIm5hbWU9JyIuZG9TbGFzaCgkbmFtZSkuIiciDQoJ CQkpOw0KCQl9DQoJCXJhaF9leHRlcm5hbF9vdXRwdXRfcGFnZV9saXN0KCdTdGF0ZSBjaGFu Z2VkLicpOw0KCX0NCgkNCglmdW5jdGlvbiByYWhfZXh0ZXJuYWxfb3V0cHV0X3BhZ2VfZGlz YWJsZSgpIHsNCgkJcmFoX2V4dGVybmFsX291dHB1dF9wYWdlX2FjdGl2YXRlKCdObycpOw0K CX0NCg0KCWZ1bmN0aW9uIHJhaF9leHRlcm5hbF9vdXRwdXRfY29udGVudF90eXBlc19kZWxl dGUoKSB7DQoJCSRzZWxlY3RlZCA9IHBzKCdzZWxlY3RlZCcpOw0KCQlpZighaXNfYXJyYXko JHNlbGVjdGVkKSkgJHNlbGVjdGVkID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkc2VsZWN0ZWQg YXMgJG5hbWUpIHsNCgkJCXNhZmVfZGVsZXRlKA0KCQkJCSdyYWhfZXh0ZXJuYWxfb3V0cHV0 X21pbWUnLA0KCQkJCSJjb250ZW50X3R5cGU9JyIuZG9TbGFzaCgkbmFtZSkuIiciDQoJCQkp Ow0KCQl9DQoJCXJhaF9leHRlcm5hbF9vdXRwdXRfY29udGVudF90eXBlcygnU2VsZWN0aW9u IGRlbGV0ZWQuJyk7DQoJfQ0KDQoJZnVuY3Rpb24gcmFoX2V4dGVybmFsX291dHB1dF9jb250 ZW50X3R5cGVzKCRtZXNzYWdlPScnKSB7DQoJCWdsb2JhbCAkZXZlbnQ7DQoJCXBhZ2V0b3Ao J0V4dGVybmFsIG91dHB1dCcsJG1lc3NhZ2UpOw0KCQllY2hvIA0KCQkJbi4NCgkJCQ0KCQkJ Jwk8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iaW5kZXgucGhwIiBzdHlsZT0id2lkdGg6 OTQwcHg7bWFyZ2luOjAgYXV0byAxNXB4IGF1dG87cGFkZGluZzo1cHg7Ij4nLm4uDQoJCQkn CQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJldmVudCIgdmFsdWU9IicuJGV2ZW50Lici IC8+Jy5uLg0KCQkJJwkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic3RlcCIgdmFsdWU9 InJhaF9leHRlcm5hbF9vdXRwdXRfY29udGVudF90eXBlc19zYXZlIiAvPicubi4NCgkJCScJ CTxsYWJlbD5BIG5ldyBjb250ZW50LXR5cGU6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJj b250ZW50X3R5cGUiIGNsYXNzPSJlZGl0IiB2YWx1ZT0iIiAvPjwvbGFiZWw+Jy5uLg0KCQkJ JwkJPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InNtYWxsZXJib3giIHZhbHVlPSJTYXZl IiAvPicubi4NCgkJCScJPC9mb3JtPicubi4NCgkJCScJPGZvcm0gbWV0aG9kPSJwb3N0IiBh Y3Rpb249ImluZGV4LnBocCIgc3R5bGU9IndpZHRoOjk1MHB4O21hcmdpbjowIGF1dG87Ij4n Lm4uDQoJCQknCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJldmVudCIgdmFsdWU9Iicu JGV2ZW50LiciIC8+Jy5uLg0KCQkJJwkJPHRhYmxlIGlkPSJsaXN0IiBjbGFzcz0ibGlzdCIg c3R5bGU9IndpZHRoOjEwMCU7IiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicu bi4NCgkJCScJCQk8dHI+Jy5uLg0KCQkJJwkJCQk8dGg+Q29udGVudC10eXBlPC90aD4nLm4u DQoJCQknCQkJCTx0aD5Vc2VkIGJ5PC90aD4nLm4uDQoJCQknCQkJCTx0aD4mIzE2MDs8L3Ro Picubi4NCgkJCScJCQk8L3RyPicubg0KCQk7DQoJCQ0KCQkkcnMgPQ0KCQkJc2FmZV9yb3dz X3N0YXJ0KA0KCQkJCSdjb250ZW50X3R5cGUnLA0KCQkJCSdyYWhfZXh0ZXJuYWxfb3V0cHV0 X21pbWUnLA0KCQkJCScxPTEgb3JkZXIgYnkgY29udGVudF90eXBlJw0KCQkJKQ0KCQk7DQoJ CWlmKG51bVJvd3MoJHJzKSA+IDApew0KCQkJd2hpbGUgKCRhID0gbmV4dFJvdygkcnMpKXsN CgkJCQlleHRyYWN0KCRhKTsNCgkJCQkkY291bnQgPSANCgkJCQkJc2FmZV9jb3VudCgNCgkJ CQkJCSdyYWhfZXh0ZXJuYWxfb3V0cHV0JywNCgkJCQkJCSJjb250ZW50X3R5cGU9JyIuZG9T bGFzaCgkY29udGVudF90eXBlKS4iJyINCgkJCQkJKTsNCgkJCQllY2hvIA0KCQkJCQknCQkJ PHRyPicubi4NCgkJCQkJJwkJCQk8dGQ+Jy4kY29udGVudF90eXBlLic8L3RkPicubi4NCgkJ CQkJJwkJCQk8dGQ+Jy4kY291bnQuJzwvdGQ+Jy5uLg0KCQkJCQknCQkJCTx0ZD48aW5wdXQg dHlwZT0iY2hlY2tib3giIG5hbWU9InNlbGVjdGVkW10iIHZhbHVlPSInLmh0bWxzcGVjaWFs Y2hhcnMoJGNvbnRlbnRfdHlwZSkuJyIgLz48L3RkPicubi4NCgkJCQkJJwkJCTwvdHI+Jy5u Ow0KCQkJfQ0KCQl9IGVsc2UgDQoJCQllY2hvIA0KCQkJCQknCQkJPHRyPicubi4NCgkJCQkJ JwkJCQk8dGQgY29sc3Bhbj0iMyI+Tm8gY29udGVudC10eXBlcyBkZWZpbmVkIHlldC48L3Rk Picubi4NCgkJCQkJJwkJCTwvdHI+Jy5uOw0KCQllY2hvIA0KCQkJJwkJPC90YWJsZT4nLm4u DQoJCQknCQk8cCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQiPicubi4NCgkJCScJCQk8c2Vs ZWN0IG5hbWU9InN0ZXAiPicubi4NCgkJCScJCQkJPG9wdGlvbiB2YWx1ZT0iIj5XaXRoIHNl bGVjdGVkLi4uPC9vcHRpb24+Jy5uLg0KCQkJJwkJCQk8b3B0aW9uIHZhbHVlPSJyYWhfZXh0 ZXJuYWxfb3V0cHV0X2NvbnRlbnRfdHlwZXNfZGVsZXRlIj5EZWxldGU8L29wdGlvbj4nLm4u DQoJCQknCQkJPC9zZWxlY3Q+Jy5uLg0KCQkJJwkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIGNs YXNzPSJzbWFsbGVyYm94IiB2YWx1ZT0iR28iIC8+Jy5uLg0KCQkJJwkJPC9wPicubi4NCgkJ CScJPC9mb3JtPicubjsNCgl9DQoNCglmdW5jdGlvbiByYWhfZXh0ZXJuYWxfb3V0cHV0X2Nv bnRlbnRfdHlwZXNfc2F2ZSgpIHsNCgkJaWYocHMoJ2NvbnRlbnRfdHlwZScpKQ0KCQkJc2Fm ZV9pbnNlcnQoDQoJCQkJJ3JhaF9leHRlcm5hbF9vdXRwdXRfbWltZScsDQoJCQkJImNvbnRl bnRfdHlwZT0nIi5kb1NsYXNoKHBzKCdjb250ZW50X3R5cGUnKSkuIiciDQoJCQkpOw0KCQly YWhfZXh0ZXJuYWxfb3V0cHV0X2NvbnRlbnRfdHlwZXMoKTsNCgl9DQoNCglmdW5jdGlvbiBy YWhfZXh0ZXJuYWxfb3V0cHV0X3BhZ2VfbGlzdCgkbWVzc2FnZT0nJykgew0KCQlnbG9iYWwg JGV2ZW50Ow0KCQlwYWdldG9wKCdFeHRlcm5hbCBvdXRwdXQnLCRtZXNzYWdlKTsNCgkJJHJz ID0gc2FmZV9yb3dzX3N0YXJ0KCduYW1lLHBvc3RlZCxjb250ZW50X3R5cGUsYWxsb3cnLCdy YWhfZXh0ZXJuYWxfb3V0cHV0JywgJzE9MSBvcmRlciBieSBuYW1lJyk7DQoJCWVjaG8gDQoJ CQluLicJPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249ImluZGV4LnBocCIgc3R5bGU9Indp ZHRoOjk1MHB4O21hcmdpbjowIGF1dG87Ij4nLm4uDQoJCQknCQk8aW5wdXQgdHlwZT0iaGlk ZGVuIiBuYW1lPSJldmVudCIgdmFsdWU9IicuJGV2ZW50LiciIC8+Jy5uLg0KCQkJJwkJPGgx PjxzdHJvbmc+cmFoX2V4dGVybmFsX291dHB1dDwvc3Ryb25nPiB8IEV4dGVybmFsIG91dHB1 dDwvaDE+Jy5uLg0KCQkJJwkJPHA+Jy4NCgkJCQkJCScgJiMxODc7IDxhIGhyZWY9Ij9ldmVu dD0nLiRldmVudC4nJmFtcDtzdGVwPXJhaF9leHRlcm5hbF9vdXRwdXRfcGFnZV9mb3JtIj5D cmVhdGUgYSBuZXcgb3V0cHV0PC9hPicuDQoJCQkJCQknICYjMTg3OyA8YSBocmVmPSI/ZXZl bnQ9Jy4kZXZlbnQuJyZhbXA7c3RlcD1yYWhfZXh0ZXJuYWxfb3V0cHV0X2NvbnRlbnRfdHlw ZXMiPkFycmFuZ2UgY29udGVudCB0eXBlczwvYT4nLg0KCQkJJzwvcD4nLm4uDQoJCQknCQk8 dGFibGUgaWQ9Imxpc3QiIGNsYXNzPSJsaXN0IiBzdHlsZT0id2lkdGg6MTAwJTsiIGNlbGxz cGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+Jy5uLg0KCQkJJwkJCTx0cj4nLm4uDQoJCQkn CQkJCTx0aD5OYW1lPC90aD4nLm4uDQoJCQknCQkJCTx0aD5Db250ZW50LXR5cGU8L3RoPicu bi4NCgkJCScJCQkJPHRoPlVwZGF0ZWQ8L3RoPicubi4NCgkJCScJCQkJPHRoPkFjdGl2ZTwv dGg+Jy5uLg0KCQkJJwkJCQk8dGg+VmlldzwvdGg+Jy5uLg0KCQkJJwkJCQk8dGg+JiMxNjA7 PC90aD4nLm4uDQoJCQknCQkJPC90cj4nLm47DQoJCWlmKG51bVJvd3MoJHJzKSA+IDApew0K CQkJd2hpbGUgKCRhID0gbmV4dFJvdygkcnMpKXsNCgkJCQlleHRyYWN0KCRhKTsNCgkJCQll Y2hvIA0KCQkJCQknCQkJPHRyPicubi4NCgkJCQkJJwkJCQk8dGQ+PGEgaHJlZj0iP2V2ZW50 PScuJGV2ZW50LicmYW1wO3N0ZXA9cmFoX2V4dGVybmFsX291dHB1dF9wYWdlX2Zvcm0mYW1w O25hbWU9Jy5odG1sc3BlY2lhbGNoYXJzKCRuYW1lKS4nIj4nLmh0bWxzcGVjaWFsY2hhcnMo JG5hbWUpLic8L2E+PC90ZD4nLm4uDQoJCQkJCScJCQkJPHRkPicuaHRtbHNwZWNpYWxjaGFy cygkY29udGVudF90eXBlKS4nPC90ZD4nLm4uDQoJCQkJCScJCQkJPHRkPicuc2FmZV9zdHJm dGltZSgnJWIgJWQgJVkgJUg6JU06JVMnLHN0cnRvdGltZSgkcG9zdGVkKSkuJzwvdGQ+Jy5u Lg0KCQkJCQknCQkJCTx0ZD4nLiRhbGxvdy4nPC90ZD4nLm4uDQoJCQkJCScJCQkJPHRkPicu KCgkYWxsb3cgPT0gJ1llcycpID8gJzxhIGhyZWY9IicuaHUuJz9yYWhfZXh0ZXJuYWxfb3V0 cHV0PScuaHRtbHNwZWNpYWxjaGFycygkbmFtZSkuJyI+VmlldzwvYT4nIDogJyYjMTYwOycp Lic8L3RkPicubi4NCgkJCQkJJwkJCQk8dGQ+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1l PSJzZWxlY3RlZFtdIiB2YWx1ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRuYW1lKS4nIiAvPjwv dGQ+Jy5uLg0KCQkJCQknCQkJPC90cj4nLm47DQoJCQl9DQoJCX0gZWxzZSANCgkJCWVjaG8g DQoJCQkJJwkJCTx0cj4nLm4uDQoJCQkJJwkJCQk8dGQgY29sc3Bhbj0iNiI+Tm8gZXh0ZXJu YWwgb3V0cHV0cyBjcmVhdGVkLjwvdGQ+Jy5uLg0KCQkJCScJCQk8L3RyPicubjsNCgkJZWNo byANCgkJCScJCTwvdGFibGU+Jy5uLg0KCQkJJwkJPHAgc3R5bGU9InRleHQtYWxpZ246IHJp Z2h0Ij4nLm4uDQoJCQknCQkJPHNlbGVjdCBuYW1lPSJzdGVwIj4nLm4uDQoJCQknCQkJCTxv cHRpb24gdmFsdWU9IiI+V2l0aCBzZWxlY3RlZC4uLjwvb3B0aW9uPicubi4NCgkJCScJCQkJ PG9wdGlvbiB2YWx1ZT0icmFoX2V4dGVybmFsX291dHB1dF9wYWdlX2FjdGl2YXRlIj5BY3Rp dmF0ZTwvb3B0aW9uPicubi4NCgkJCScJCQkJPG9wdGlvbiB2YWx1ZT0icmFoX2V4dGVybmFs X291dHB1dF9wYWdlX2Rpc2FibGUiPkRpc2FibGU8L29wdGlvbj4nLm4uDQoJCQknCQkJCTxv cHRpb24gdmFsdWU9InJhaF9leHRlcm5hbF9vdXRwdXRfcGFnZV9kZWxldGUiPkRlbGV0ZTwv b3B0aW9uPicubi4NCgkJCScJCQk8L3NlbGVjdD4nLm4uDQoJCQknCQkJPGlucHV0IHR5cGU9 InN1Ym1pdCIgY2xhc3M9InNtYWxsZXJib3giIHZhbHVlPSJHbyIgLz4nLm4uDQoJCQknCQk8 L3A+Jy5uLg0KCQkJJwk8L2Zvcm0+Jy5uOw0KCX0NCg0KCWZ1bmN0aW9uIHJhaF9leHRlcm5h bF9vdXRwdXRfcGFnZV9mb3JtKCRtZXNzYWdlPScnKSB7DQoJCXBhZ2V0b3AoJ0V4dGVybmFs IG91dHB1dCcsJG1lc3NhZ2UpOw0KCQkkbmFtZSA9ICcnOw0KCQlleHRyYWN0KGdwc2EoYXJy YXkoJ2NvbnRlbnRfdHlwZScsJ2NvZGUnLCdhbGxvdycsJ25ld25hbWUnKSkpOw0KCQlpZihn cHMoJ25hbWUnKSkgew0KCQkJJHJzID0gc2FmZV9yb3coJ25hbWUsY29udGVudF90eXBlLGNv ZGUsYWxsb3cnLCdyYWhfZXh0ZXJuYWxfb3V0cHV0JywibmFtZT0nIi5kb1NsYXNoKGdwcygn bmFtZScpKS4iJyIpOw0KCQkJaWYoJHJzKSBleHRyYWN0KCRycyk7DQoJCX0NCgkJZWNobyAN CgkJCW4uJwk8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iaW5kZXgucGhwIiBzdHlsZT0i d2lkdGg6OTUwcHg7bWFyZ2luOjAgYXV0bzsiPicubi4NCgkJCScJCTxpbnB1dCB0eXBlPSJo aWRkZW4iIG5hbWU9ImV2ZW50IiB2YWx1ZT0icmFoX2V4dGVybmFsX291dHB1dF9wYWdlIiAv Picubi4NCgkJCScJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InN0ZXAiIHZhbHVlPSJy YWhfZXh0ZXJuYWxfb3V0cHV0X3BhZ2Vfc2F2ZSIgLz4nLm4uDQoJCQkoKCRuYW1lKSA/IA0K CQkJCQknCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJuZXduYW1lIiB2YWx1ZT0iJy5o dG1sc3BlY2lhbGNoYXJzKCRuYW1lKS4nIiAvPicubg0KCQkJCToNCgkJCQkJJycNCgkJCSku DQoJCQknCQk8cD4nLm4uDQoJCQknCQkJPGxhYmVsIGZvcj0icmFoX25hbWUiPk5hbWU8L2xh YmVsPjxiciAvPicubi4NCgkJCScJCQk8aW5wdXQgc3R5bGU9IndpZHRoOjcwJTsiIHR5cGU9 InRleHQiIG5hbWU9Im5hbWUiIGNsYXNzPSJlZGl0IiBpZD0icmFoX25hbWUiIHZhbHVlPSIn Lmh0bWxzcGVjaWFsY2hhcnMoJG5hbWUpLiciIC8+Jy5uLg0KCQkJJwkJPC9wPicubi4NCgkJ CScJCTxwPicubi4NCgkJCScJCQk8bGFiZWwgZm9yPSJyYWhfY29kZSI+Q29kZTwvbGFiZWw+ PGJyIC8+Jy5uLg0KCQkJJwkJCTx0ZXh0YXJlYSBuYW1lPSJjb2RlIiBjbGFzcz0iY29kZSIg aWQ9InJhaF9jb2RlIiByb3dzPSIyMCIgY29scz0iNDAiIHN0eWxlPSJ3aWR0aDo5NSU7Ij4n Lmh0bWxzcGVjaWFsY2hhcnMoJGNvZGUpLic8L3RleHRhcmVhPicubi4NCgkJCScJCTwvcD4n Lm4uDQoJCQknCQk8cD4nLm4uDQoJCQknCQkJPGxhYmVsIGZvcj0icmFoX2NvbnRlbnRfdHlw ZSI+Q29udGVudC1UeXBlOjwvbGFiZWw+Jy5uLg0KCQkJcmFoX2V4dGVybmFsX291dHB1dF9j b250ZW50X29wdGlvbigkY29udGVudF90eXBlKS5uLg0KCQkJJwkJCTxsYWJlbCBmb3I9InJh aF9zdGF0dXMiPlN0YXR1czo8L2xhYmVsPicubi4NCgkJCScJCQk8c2VsZWN0IG5hbWU9ImFs bG93IiBpZD0icmFoX3N0YXR1cyI+Jy5uLg0KCQkJJwkJCQk8b3B0aW9uIHZhbHVlPSJZZXMi Jy4oKCRhbGxvdyA9PSAnWWVzJykgPyAnIHNlbGVjdGVkPSJzZWxlY3RlZCInIDogJycpLic+ QWN0aXZlPC9vcHRpb24+Jy5uLg0KCQkJJwkJCQk8b3B0aW9uIHZhbHVlPSJObyInLigoJGFs bG93ID09ICdObycpID8gJyBzZWxlY3RlZD0ic2VsZWN0ZWQiJyA6ICcnKS4nPkRpc2FibGVk PC9vcHRpb24+Jy5uLg0KCQkJJwkJCTwvc2VsZWN0Picubi4NCgkJCScJCTwvcD4nLm4uDQoJ CQknCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2F2ZSIgY2xhc3M9InB1Ymxpc2gi IC8+Jy5uLg0KCQkJJwk8L2Zvcm0+Jy5uOw0KCX0NCg0KCWZ1bmN0aW9uIHJhaF9leHRlcm5h bF9vdXRwdXRfY29udGVudF9vcHRpb24oJGFjdGl2ZT0nJykgew0KCQkkcnMgPQ0KCQkJc2Fm ZV9yb3dzX3N0YXJ0KA0KCQkJCSdjb250ZW50X3R5cGUnLA0KCQkJCSdyYWhfZXh0ZXJuYWxf b3V0cHV0X21pbWUnLA0KCQkJCScxPTEgb3JkZXIgYnkgY29udGVudF90eXBlJw0KCQkJKQ0K CQk7DQoJCSRvdXQgPSBhcnJheSgpOw0KCQkkY291bnQgPSBudW1Sb3dzKCRycyk7DQoJCSRt aXNzaW5nID0gKCRhY3RpdmUpID8gMSA6IDA7DQoJCWlmKCRjb3VudCA+IDApew0KCQkJd2hp bGUgKCRhID0gbmV4dFJvdygkcnMpKXsNCgkJCQlleHRyYWN0KCRhKTsNCgkJCQkkb3V0W10g PSANCgkJCQkJJwkJCQk8b3B0aW9uIHZhbHVlPSInLmh0bWxzcGVjaWFsY2hhcnMoJGNvbnRl bnRfdHlwZSkuJyInLigoJGFjdGl2ZSA9PSAkY29udGVudF90eXBlKSA/ICcgc2VsZWN0ZWQ9 InNlbGVjdGVkIicgOiAnJykuJz4nLmh0bWxzcGVjaWFsY2hhcnMoJGNvbnRlbnRfdHlwZSku Jzwvb3B0aW9uPicubjsNCgkJCQlpZigkYWN0aXZlID09ICRjb250ZW50X3R5cGUpICRtaXNz aW5nID0gMDsNCgkJCX0NCgkJCWlmKCRtaXNzaW5nID09IDEpIA0KCQkJCSRvdXRbXSA9IA0K CQkJCQknCQkJCTxvcHRpb24gdmFsdWU9IicuaHRtbHNwZWNpYWxjaGFycygkYWN0aXZlKS4n IiBzZWxlY3RlZD0ic2VsZWN0ZWQiPicuaHRtbHNwZWNpYWxjaGFycygkYWN0aXZlKS4nPC9v cHRpb24+Jy5uOw0KCQl9DQoJCWlmKCRjb3VudCA9PSAwKSByZXR1cm4gJwkJCTxpbnB1dCBz dHlsZT0id2lkdGg6MjAlOyIgdHlwZT0idGV4dCIgbmFtZT0iY29udGVudF90eXBlIiBjbGFz cz0iZWRpdCIgaWQ9InJhaF9jb250ZW50X3R5cGUiIHZhbHVlPSInLmh0bWxzcGVjaWFsY2hh cnMoJGFjdGl2ZSkuJyIgLz4nLm47DQoJCWVsc2UgcmV0dXJuIA0KCQkJJwkJCTxzZWxlY3Qg bmFtZT0iY29udGVudF90eXBlIiBpZD0icmFoX2NvbnRlbnRfdHlwZSI+Jy5uLmltcGxvZGUo JycsJG91dCkuJwkJCTwvc2VsZWN0Pic7DQoJfQ0KDQoJZnVuY3Rpb24gcmFoX2V4dGVybmFs X291dHB1dF9wYWdlX3NhdmUoKSB7DQoJCWV4dHJhY3QoZG9TbGFzaChncHNhKGFycmF5KCdu YW1lJywnY29udGVudF90eXBlJywnY29kZScsJ2FsbG93JywnbmV3bmFtZScpKSkpOw0KCQkk bWVzc2FnZSA9ICcnOw0KCQlpZigkbmFtZSkgew0KCQkJaWYoJG5ld25hbWUpIHsNCgkJCQlp ZigkbmFtZSAhPSAkbmV3bmFtZSkgew0KCQkJCQlpZihzYWZlX2NvdW50KCdyYWhfZXh0ZXJu YWxfb3V0cHV0JywibmFtZT0nJG5ld25hbWUnIikgPT0gMSAmJiBzYWZlX2NvdW50KCdyYWhf ZXh0ZXJuYWxfb3V0cHV0JywibmFtZT0nJG5hbWUnIikgPT0gMCkgew0KCQkJCQkJc2FmZV91 cGRhdGUoDQoJCQkJCQkJJ3JhaF9leHRlcm5hbF9vdXRwdXQnLA0KCQkJCQkJCSJuYW1lPSck bmFtZScsDQoJCQkJCQkJY29udGVudF90eXBlPSckY29udGVudF90eXBlJywNCgkJCQkJCQlj b2RlPSckY29kZScsDQoJCQkJCQkJcG9zdGVkPW5vdygpLA0KCQkJCQkJCWFsbG93PSckYWxs b3cnIiwNCgkJCQkJCQkibmFtZT0nJG5ld25hbWUnIg0KCQkJCQkJKTsNCgkJCQkJCSRtZXNz YWdlID0gJ0NvZGUgdXBkYXRlZCBhbmQgbmFtZSBjaGFuZ2VkLic7DQoJCQkJCX0NCgkJCQl9 IGVsc2Ugew0KCQkJCQlpZihzYWZlX2NvdW50KCdyYWhfZXh0ZXJuYWxfb3V0cHV0JywibmFt ZT0nJG5hbWUnIikgPT0gMSkgew0KCQkJCQkJc2FmZV91cGRhdGUoDQoJCQkJCQkJJ3JhaF9l eHRlcm5hbF9vdXRwdXQnLA0KCQkJCQkJCSJjb250ZW50X3R5cGU9JyRjb250ZW50X3R5cGUn LA0KCQkJCQkJCWNvZGU9JyRjb2RlJywNCgkJCQkJCQlwb3N0ZWQ9bm93KCksDQoJCQkJCQkJ YWxsb3c9JyRhbGxvdyciLA0KCQkJCQkJCSJuYW1lPSckbmV3bmFtZSciDQoJCQkJCQkpOw0K CQkJCQkJJG1lc3NhZ2UgPSAnQ29kZSB1cGRhdGVkLic7DQoJCQkJCX0NCgkJCQl9DQoJCQl9 IGVsc2Ugew0KCQkJCWlmKHNhZmVfY291bnQoJ3JhaF9leHRlcm5hbF9vdXRwdXQnLCJuYW1l PSckbmFtZSciKSA9PSAwKSB7DQoJCQkJCXNhZmVfaW5zZXJ0KA0KCQkJCQkJJ3JhaF9leHRl cm5hbF9vdXRwdXQnLA0KCQkJCQkJIm5hbWU9JyRuYW1lJywNCgkJCQkJCWNvbnRlbnRfdHlw ZT0nJGNvbnRlbnRfdHlwZScsDQoJCQkJCQljb2RlPSckY29kZScsDQoJCQkJCQlwb3N0ZWQ9 bm93KCksDQoJCQkJCQlhbGxvdz0nJGFsbG93JyINCgkJCQkJKTsNCgkJCQkJJG1lc3NhZ2Ug PSAnQ29kZSBjcmVhdGVkLic7DQoJCQkJfQ0KCQkJfQ0KCQl9IGVsc2UgJG1lc3NhZ2UgPSAn TmFtZSB1bmRlZmluZWQhJzsNCgkJcmFoX2V4dGVybmFsX291dHB1dF9wYWdlX2Zvcm0oJG1l c3NhZ2UpOw0KCX0iO3M6NDoidHlwZSI7czoxOiIxIjtzOjU6ImZsYWdzIjtzOjE6IjAiO3M6 NToib3JkZXIiO3M6MToiNSI7czozOiJtZDUiO3M6MzI6ImE4M2FlNDA4NTFlNmM3NDI3MTQy YWFhYTYxMmZmZjU5Ijt9