<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>babel</name>
	<version>0.3</version>
  <mincmsversion>1.6</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CgkJCQk8cD5UaGlzIG1vZHVsZSBtYW5hZ2VzIG11bHRpcGxlcyBsYW5ndWFnZXMgZm9yIHRoZSBmcm9udGVuZCBhbmQgbmF2aWdhdGlvbiB0aHJvdWdoIHRoZSBsYW5ndWFnZXMuPC9wPgoJCQk8YnIvPjxoMz5Ib3cgRG8gSSBVc2UgSXQ/PC9oMz4KCQkJCTxici8+PGg0PlRyZWUgYnJhbmNoZXM8L2g0PgoJCQkJCTxwPlRoaXMgbW9kdWxlIHVzZXMgYW4gYXBwcm9hY2ggdG8gbXVsdGlsaW5ndWFsIHNpdGVzIGNhbGxlZCAic2VwYXJhdGVkIHRyZWUgYnJhbmNoZXMiLCB3aGljaCBoYXMgYmVlbiBkZXZlbG9wcGVkIGJ5IG90aGVyIGNtc21zIGRldmVsb3BlcnMgKG5hbWVseSBNYXJjb3MgQ3J1eiAtIHNlZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcvaW5kZXgucGhwL3RvcGljLDE5MDk5Lm1zZzk0NzQ5Lmh0bWwjbXNnOTQ3NDkiIHRhcmdldD0iX2JsYW5rIj50aGlzIHRvcGljPC9hPikuPC9wPjxici8+CgkJCQkJPHA+U2hvdWxkIHlvdSBuZWVkIHRvIHVzZSBpdCBpbiB5b3VyIHRlbXBsYXRlcywgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgY29kZSB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgJHBhZ2VfbGFuZyB2YXJpYWJsZS48L3A+CgkJCQk8aDQ+UGFydCAxOiBzZXR0aW5nIHVwIHRoZSBwYWdlczwvaDQ+CQkJCgkJCQkJPHA+VG8gdXNlIHRoaXMsIHlvdSB3aWxsIGhhdmUgdG8gY3JlYXRlIGRpZmZlcmVudCByb290IHBhZ2VzIGZvciBlYWNoIGxhbmd1YWdlLiBGb3IgZXhhbXBsZTo8L3A+CgkJCQkJPHVsPgoJCQkJCQk8bGk+MS4gRW5nbGlzaDx1bD4KCQkJCQkJCTxsaT4xLjEuIDFzdCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjIuIDJuZCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjMuIDNyZCBwYWdlPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCQk8bGk+Mi4gRnJhbiZjY2VkaWw7YWlzPHVsPgoJCQkJCQkJPGxpPjIuMS4gUGFnZSAxPC9saT4KCQkJCQkJCTxsaT4yLjIuIFBhZ2UgMjwvbGk+CgkJCQkJCQk8bGk+Mi4zLiBQYWdlIDM8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJPC91bD4KCQkJCQk8cD5Sb290IGxhbmd1YWdlIHBhZ2VzICgxLiBhbmQgMi4pIHNob3VsZCBiZSBzZWN0aW9uIGhlYWRlcnMuIFlvdSBjYW4gbmFtZSB0aGVtIChhbGlhcyBhbmQgYWxsKSBhbnkgd2F5IHlvdSB3YW50LjwvcD4KCQkJCQk8cD5JbiBvcmRlciB0byBkaXNwbGF5IG1lbnUgY29ycmVjdGx5ICh0aGF0IGlzLCBub3QgdG8gZGlzcGxheSBsYW5ndWFnZSBoZWFkZXIgcGFnZXMgYW5kIHBhZ2VzIGJlbG9uZ2luZyB0byBvdGhlciBsYW5ndWFnZXMpLCBhbGwgeW91IGhhdmUgdG8gZG8gaXMgYWRkIHRoZSBzdGFydF9sZXZlbD0iMiIgdG8geW91ciBtZW51IHRhZ3M6PGJyLz4KCQkJCQl7bWVudSBzdGFydF9sZXZlbD0iMiJ9PC9wPgoJCQkJPGJyLz48aDQ+UGFydCAyOiBzZXR0aW5nIHVwIHRoZSBsYW5ndWFnZXM8L2g0PgoJCQkJCTxwPk5leHQsIGdvIHRvIEV4dGVuc2lvbnMtJmd0O0JhYmVsOiBNdWx0aWxpbmd1YWwgc2l0ZS4gRm9yIGVhY2ggbGFuZ3VhZ2UsIGNsaWNrIEFkZCBMYW5ndWFnZSBhbmQgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9ucy4gVGhlICJSb290IHBhZ2UiIHNob3VsZCBiZSB0aGUgc2VjdGlvbiBoZWFkZXJzIHlvdSd2ZSBjcmVhdGVkIGZvciBlYWNoIGxhbmd1YWdlICgxLkVuZ2xpc2gsIDIuRnJhbiZjY2VkaWw7YWlzKS4gVGhlICJEZWZhdWx0IHBhZ2UiIHNob3VsZCBiZSB0aGUgaG9tZSBwYWdlIGZvciBlYWNoIGxhbmd1YWdlLiBBcyBvZiB0aGUgbGFuZ3VhZ2UgY29kZSwgeW91IGNvdWxkIHVzZSBhbnkgNSBjaGFyYWN0ZXJzIGNvZGUsIGJ1dCBpbiBvcmRlciB0byBwcm92aWRlIGdvb2QgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBtb2R1bGVzLCB5b3Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBhcyB0aGUgY21zICh5b3UgbWF5IHVzZSB0aGUgZHJvcCBkb3duIGxpc3Qgb24gdGhlIHRvcCByaWdodCB0byBwYXJ0aWFsbHkgZmlsbCB0aGUgZm9ybSkuPC9wPgoJCQkJCTxwPiggKldoZW4gcmVhZHksIG1ha2Ugc3VyIHlvdSBhY3RpdmF0ZSBlYWNoIGxhbmd1YWdlLi4uICk8L3A+CgkJCQk8YnIvPjxoND5QYXJ0IDM6IExhbmd1YWdlIG1lbnU8L2g0PgoJCQkJCTxwPlRvIGdldCBhIGxhbmd1YWdlIG1lbnUsIHlvdSBtYXkgdXNlIHRoZSBmb2xsb3dpbmcgdGFnOjxici8+CgkJCQkJe2JhYmVsIGFjdGlvbj0ibWVudSJ9PGJyLz4KCQkJCQlvciwgdG8gdXNlIGEgdGVtcGxhdGUgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBvbmU6PGJyLz4KCQkJCQl7YmFiZWwgYWN0aW9uPSJtZW51IiB0ZW1wbGF0ZT0idGVtcGxhdGVfbmFtZSJ9PC9wPgoJCQkJCTxwPlRoZSAic2hvdyIgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGNob29zZSB3aGljaCBsYW5ndWFnZXMgc2hvdWxkIGJlIGRpc3BsYXllZC48L3A+CgkJCQk8YnIvPjxoND5QYXJ0IDQgKG9wdGlvbmFsKSA6IEN1c3RvbSBsYW5ndWFnZSBlbnRyaWVzPC9oND4KCQkJCQk8cD5JbiBtb2R1bGVzLCBnbG9iYWwgY29udGVudCBibG9ja3Mgb3Igd2hhdHNvZXZlciwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGNvbnRlbnQgZGVwZW5kaW5nIG9uIHRoZSBsYW5ndWFnZS4gVGhlIHRyYWRpdGlvbmFsIHdheSB0byBkbyB0aGlzIHdhcyB0byBjcmVhdGUgY29uZGl0aW9ucyB3aXRoIHRoZSBwYWdlX2xhbmcgdmFyaWFibGU6PGJyLz4KCQkJCQl7aWYgJHBhZ2VfbGFuZyA9PSAiZW5fVVMifUVuZ2xpc2ggdGV4dHtlbHNlaWYgJHBhZ2VfbGFuZyA9PSAiZnJfRlIifVRleHRlIGVuIGZyYW4mY2NlZGlsO2Fpc3svaWZ9PC9wPgoJCQkJCTxwPldpbGwgeW91IGNhbiBzdGlsbCB1c2UgdGhpcyBtZXRob2Qgd2l0aCB0aGUgbW9kdWxlLCBhbm90aGVyIG1vcmUgY2VudHJhbGl6ZWQgd2F5IGlzIHByb3ZpZGVkLiBJbiB0aGUgYWRtaW4gcGFuZWwgb2YgdGhpcyBtb2R1bGUsIHlvdSB3aWxsIGZpbmQgZm9yIGVhY2ggbGFuZ3VhZ2UgYSBsaW5rIHRvIGVkaXQgdGhlIGxhbmd1YWdlIGVudHJpZXMuIExhbmd1YWdlIGVudHJpZXMgYXJlIHN0cmluZ3MgdGhhdCBleGlzdCBmb3IgZWFjaCBsYW5ndWFnZSBidXQgaG9sZCBkaWZmZXJlbnQgdGV4dCAob3IgaHRtbCkuIFdoYXQgeW91IGNhbiBkbyBpcyB0byBjcmVhdGUgYSBuZXcgbGFuZ3VhZ2UgZW50cnkgKGZvciBleGFtcGxlOiAid2VsY29tZSB0ZXh0IiwgZW50ZXIgaXRzIGNvbnRlbnQgZm9yIGFsbCBsYW5ndWFnZXMsIGFuZCBzaW1wbHkgY2FsbCB0aGUgZW50cnkgd2hlcmV2ZXIgeW91IG5lZWQgaXQgdXNpbmcgdGhlIGRlZmF1bHQgYWN0aW9uOjxici8+CgkJCQkJe2JhYmVsIHNob3c9IndlbGNvbWUgdGV4dCJ9PGJyLz4KCQkJCQlTaG91bGQgeW91IGV2ZXIgbmVlZCB0byBlZGl0IHRoZSBzdHJpbmdzIGFuZCBhZGQgbGFuZ3VhZ2VzLCB5b3Ugd2lsbCBmaW5kIHRoaXMgc29sdXRpb24gdG8gYmUgbW9yZSBoYW5keS4gQnV0IGlmIHlvdSBwcmVmZXIgdGhlIG9sZCBvbmUsIGl0IHdpbGwgd29yayBqdXN0IGFzIG11Y2guPC9wPgoJCQk8YnIvPjxoMz5MYW5ndWFnZSByZWRpcmVjdGlvbiBtZXRob2RzPC9oMz4JCgkJCQk8cD5UaGVyZSBhcmUgdHdvIHBvc3NpYmxlIG1ldGhvZHMgdG8gdGVsbCB0aGUgY21zIHdoaWNoIHBhZ2UgaXMgdGhlIGVxdWl2YWxlbnQgaW4gYW5vdGhlciBsYW5ndWFnZSBvZiBhIGdpdmVuIHBhZ2UuIEJ5IGRlZmF1bHQsIHRoZSBoaXJlcmFyY2h5IHNvbHV0aW9uIGlzIGFjdGl2YXRlZCwgYnV0IHlvdSBjYW4gY2hhbmdlIHRoYXQgaW4gdGhlIHNldHRpbmdzIHRhYi48L3A+CgkJCQk8YnIvPjxoND5NYXJjb3MgQ3J1eidzIGRlZmluaXRpb24gc29sdXRpb248L2g0PgoJCQkJCTxwPjxpPlByb3M6PC9pPiBhbGxvd3MgdGhpZ2h0IGN1c3RvbWl6YXRpb24gYW5kIHBhcnRpYWwgdHJhbnNsYXRpb24uPGJyLz4KCQkJCQk8aT5Db25zOjwvaT4gbmVlZCB0byBzcGVjaWZ5IGxhbmd1YWdlIGFsdGVybmF0aXZlcyBmb3IgZWFjaCBwYWdlLCBhbmQgdG8gdXBkYXRlIGl0IGlmIGFuIGFsaWFzIGNoYW5nZXMuPC9wPgoJCQkJCTxwPkFkZCB0aGUgZm9sbG93aW5nIHRhZyBpbiBlYWNoIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgOjxici8+CgkJCQkJe2NvbnRlbnQgYmxvY2s9J090aGVyIGxhbmd1YWdlcycgb25lbGluZT0ndHJ1ZScgYXNzaWduPW90aGVyX2xhbmd1YWdlcyB3eXNpd3lnPSdmYWxzZSd9PGJyLz4KCQkJCQlUaGlzIHdpbGwgYWRkIGEgY29udGVudCBibG9jayB0byBiZSBmaWxsZWQgd2hlbiB5b3UgZWRpdCB0aGUgcGFnZS4gV2Ugd2lsbCB1c2UgdGhpcyBibG9jayB0byBkZWZpbmUgdGhlIGVxdWl2YWxlbnRzIGluIG90aGVyIGxhbmd1YWdlcyBmb3IgdGhpcyBwYWdlLCBieSBmaWxsaW5nIGl0IGluIHRoZSBmb2xsb3dpbmcgd2F5Ojxici8+CgkJCQkJImVuX1VTPXBhZ2UxO2ZyX0ZSPXBhZ2UyO2RlX0RFPXBhZ2UzIiAod2l0aG91dCB0aGUgcXVvdGVzIC0gdGhlIG9yZGVyIGRvZXMgbm90IG1hdHRlciwgYnV0IG5vIHNwYWNlcyBhcmUgYWxsb3dlZCk8YnIvPgoJCQkJCXdoZXJlIHBhZ2UxLCBwYWdlMiBhbmQgcGFnZTMgYXJlIHRoZSBwYWdlIGFsaWFzZXMuPC9wPgoJCQkJCTxwPlRvIG1ha2Ugc3VyZSB0aGUgbW9kdWxlcyB1c2VzIHRoaXMgbWV0aG9kLCBtYWtlIHN1cmUgdG8gdW50aWNrIHRoZSAiVXNlIGhpZXJhcmNoeSBmb3IgcmVkaXJlY3Rpb24iIG9wdGlvbiBpbiB0aGUgc2V0dGluZ3MgdGFiLjwvcD4KCQkJCTxici8+PGg0PlRoZSBoaWVyYXJjaHkgc29sdXRpb248L2g0PgoJCQkJCTxwPjxpPlByb3M6PC9pPiBpdCdzIGF1dG9tYXRpYyAtIHlvdSBkb24ndCBoYXZlIHRvIGRvIGFueXRoaW5nLjxici8+CgkJCQkJPGk+Q29uczo8L2k+IHRoZSBwYWdlIHN0cnVjdHVyZSBtdXN0IGJlIGlkZW50aWNhbCBmb3IgZWFjaCBsYW5ndWFnZS48L3A+CgkJCQkJPHA+VGhpcyBzb2x1dGlvbiB1c2VzIHRoZSBwYWdlIGhpZXJhcmNoeSB0byBrbm93IHdoaWNoIHBhZ2VzIGFyZSBlcXVpdmFsZW50LiBJbiBvdXIgZXhhbXBsZSBhYm92ZSwgIjIuMy4gUGFnZSAzIiB3b3VsZCBiZSB0aGUgZnJlbmNoIGVxdWl2YWxlbnQgb2YgIjEuMy4gM3JkIHBhZ2UiLCBiZWNhdXNlIGl0IG9jY3VwaWVzIHRoZSBlcXVpdmFsZW50IHBvc2l0aW9uIGluIHRoZSBmcmVuY2ggYnJhbmNoLjxici8+CgkJCQkJSW4gb3RoZXIgd29yZHMsIHNob3VsZCB0aGUgcGFnZSBiZSBvcmRlcmVkIGRpZmZlcmVudGx5LCBhbGwgd291bGQgYmUgbWVzc2VkIHVwOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDE8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAzPC9saT4KCQkJCQkJCTxsaT4yLjMuIFBhZ2UgMjwvbGk+CgkJCQkJCTwvdWw+PC9saT4KCQkJCQk8L3VsPgoJCQkJCTxwPkhlcmUsICJQYWdlIDIiIG9jY3VwaWVzIHRoZSB0aGlyZCBwb3NpdGlvbiwgc28gaXQgd291bGQgYmUgZGVlbWVkIGVxdWl2YWxlbnQgdG8gdGhlIDNyZCBwYWdlIGluIGVuZ2xpc2guPGJyLz4KCQkJCQlUaGlzIGFsc28gbWVhbnMgdGhhdCBpZiBhbGwgcGFnZXMgZG8gbm90IGV4aXN0IGluIGFsbCBsYW5ndWFnZXMsIHlvdSBoYXZlIHRvIGJlIGNhcmVmdWwuIEZvciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDI8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAzPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHA+SGVyZSwgIjFzdCBwYWdlIiB3b3VsZCBiZSB0YWtlbiB0byBiZSBlcXVpdmFsZW50IHRvICJQYWdlIDIiIGFuZCAiM3JkIHBhZ2UiIHdvdWxkIGJlIGRlZW1lZCB0byBoYXZlIG5vIHRyYWR1Y3Rpb24sIGFsdGhvdWdoIGl0IGRvZXMuPC9wPgoJCQk8YnIvPjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgoJCQkJPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gY3JlYXRlZCBieSBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKSwgYmFzZWQgb24gYW4gYXBwcm9hY2ggYnkgTWFyY29zIENydXosIGFuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLjwvcD48YnIvPjxici8+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJkZWZhdWx0IiAtIFBvc3NpYmxlIGFjdGlvbnM6ICJkZWZhdWx0IiAoZm9yIHRyYW5zbGF0aW9ucykgb3IgIm1lbnUiLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2hvdz0iIiAtIEZvciB0aGUgbWVudSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBsYW5ndWFnZXMgdG8gc2hvdyBpbiB0aGUgbWVudSAodXNlIGxhbmd1YWdlIGNvZGUgYW5kIHNlcGFyYXRlIHdpdGggYSBjb21tYSkuIEZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgaG9sZHMgdGhlIGtleSB0byB0aGUgc3RyaW5nIHRvIGJlIHRyYW5zbGF0ZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0ZW1wbGF0ZT0iIiAtIFRlbXBsYXRlIHRvIHVzZSBmb3IgdGhlIG1lbnUuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhc3NpZ249IiIgLSBJbnN0ZWFkIG9mIGRpc3BsYXlpbmcgdGhlIHJlc3VsdCBpbW1lZGlhdGVseSwgeW91IGNhbiBhc3NpZ24gaXQgdG8gYSBzbWFydHkgdmFyaWFibGUgc3BlY2lmaWVkIHdpdGggdGhlICJhc3NpZ24iIHBhcmFtZXRlci48L2xpPjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKTxiciAvPjxiciAvPlZlcnNpb246IDAuMzxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjxici8+PHByZT48L3ByZT48YnIgLz4=</about>
	<description>Manage frontend languages and multilingual behaviors.</description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpIHsJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygiUGVybWlzc2lvbiBkZW5pZWQuIik7IHJldHVybiBmYWxzZTsgfQ0KDQokYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCiRhY3RpdmVfdGFiID0gaXNzZXQoJHBhcmFtc1siYWN0aXZlX3RhYiJdKT8kcGFyYW1zWyJhY3RpdmVfdGFiIl06Imxhbmd1YWdlcyI7DQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigibGFuZ3VhZ2VzIiwgJHRoaXMtPkxhbmcoImxhbmd1YWdlcyIpLCAibGFuZ3VhZ2VzIiA9PSAkYWN0aXZlX3RhYiA/IHRydWUgOiBmYWxzZSk7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZXMiLCAkdGhpcy0+TGFuZygidGVtcGxhdGVzIiksICJ0ZW1wbGF0ZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInNldHRpbmdzIiwgJHRoaXMtPkxhbmcoInNldHRpbmdzIiksICJzZXR0aW5ncyIgPT0gJGFjdGl2ZV90YWIgPyB0cnVlIDogZmFsc2UpOw0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOw0KDQplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJsYW5ndWFnZXMiKTsNCg0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkZG5ldyIsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRsYW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfbGFuZ3VhZ2UiKSxhcnJheSgiaXNfbmV3Ij0+MSkpKTsNCgkJDQoJCSRpdGVtbGlzdCA9ICR0aGlzLT5hZG1pbl9yZXRyaWV2ZV9sYW5ndWFnZXMoJGlkLCAkcmV0dXJuaWQpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwgJGl0ZW1saXN0KTsNCg0KCQkkYWRtaW5zaG93ID0gYXJyYXkoDQoJCQlhcnJheSgkdGhpcy0+TGFuZygibGFuZ2NvZGUiKSwiY29kZWxpbmsiKSwNCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJuYW1lIiksIm5hbWVsaW5rIiksDQoJCQlhcnJheSgkdGhpcy0+TGFuZygiYWN0aXZlIiksInRvZ2dsZWFjdGl2ZSIpLA0KCQkJYXJyYXkoJHRoaXMtPkxhbmcoImlzZGVmYXVsdCIpLCJ0b2dnbGVkZWZhdWx0IiksDQoJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiKSwNCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJhY3Rpb25zIiksImFjdGlvbnMiKQkJDQoJCQkpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkbWluc2hvdyIsICRhZG1pbnNob3cpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7DQoNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoInRlbXBsYXRlcyIpOw0KCQ0KCQlpZihpc3NldCgkcGFyYW1zWyJkZWZhdWx0dGVtcGxhdGUiXSkpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkZWZhdWx0dGVtcGxhdGUiLCRwYXJhbXNbImRlZmF1bHR0ZW1wbGF0ZSJdKTsNCgkJZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPjxsZWdlbmQ+PGI+Ii4kdGhpcy0+TGFuZygiZGVmYXVsdHRlbXBsYXRlIikuIjwvYj48L2xlZ2VuZD4iOw0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWN0aXZlX3RhYiIsICJ0ZW1wbGF0ZXMiKTsNCgkJJHRlbXBsYXRlbGlzdCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCR0aGlzLT5HZXROYW1lKCkpOw0KCQkkZGVmdHBsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHR0ZW1wbGF0ZSIpOw0KCQkkdHBsb3B0aW9ucyA9IGFycmF5KCk7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkb25ldHBsKXsNCgkJICAgJHRwbG9wdGlvbnNbJG9uZXRwbF0gPSAkb25ldHBsOw0KCQkgICAkdHBsID0gbmV3IHN0ZENsYXNzKCk7DQoJCSAgICR0cGwtPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImVkaXRUZW1wbGF0ZSIsICRyZXR1cm5pZCwgJG9uZXRwbCwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCQkgICAkdHBsLT5kZWxldGVsaW5rID0gKCRvbmV0cGwgPT0gJGRlZnRwbCk/IiI6JHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImRlbGV0ZXRwbCIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLCAkdGhpcy0+TGFuZygiZGVsZXRlIiksICIiLCAiIiwgInN5c3RlbWljb24iKSwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCQkgICBhcnJheV9wdXNoKCRpdGVtbGlzdCwgJHRwbCk7DQoJCX0NCgkJZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij48cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZGVmYXVsdHRlbXBsYXRlIiwkdHBsb3B0aW9ucywtMSwkZGVmdHBsKS4iPGJyLz4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJzwvcD48L2Rpdj4NCgkJJzsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQllY2hvICI8L2ZpZWxkc2V0Pjxici8+PGJyLz4iOw0KCQkNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsICRpdGVtbGlzdCk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRkbmV3IiwgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdFRlbXBsYXRlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGR0ZW1wbGF0ZSIpKSk7DQoJCSRhZG1pbnNob3cgPSBhcnJheSgJYXJyYXkoJHRoaXMtPkxhbmcoInRlbXBsYXRlIiksICJlZGl0bGluayIpLCBhcnJheSgkdGhpcy0+TGFuZygiYWN0aW9ucyIpLCAiZGVsZXRlbGluayIpCSk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRtaW5zaG93IiwgJGFkbWluc2hvdyk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbC50cGwiKTsNCgkJDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJzZXR0aW5ncyIpOw0KDQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJjaGFuZ2VzZXR0aW5ncyIsICRyZXR1cm5pZCk7DQoNCgkJJG1vZHByZWZzID0gJHRoaXMtPmdldF9tb2RwcmVmcygpOw0KCQlmb3JlYWNoKCRtb2RwcmVmcyBhcyAkb25lcHJlZil7DQoJCQkkdGhlcHJlZiA9ICRvbmVwcmVmWzBdOw0KCQkJZWNobyAnDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJHRoZXByZWYsIHRydWUsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCR0aGVwcmVmLGZhbHNlKSkuIiAiLiR0aGlzLT5MYW5nKCJwcmVmXyIuJHRoZXByZWYpLic8L3A+DQoJPC9kaXY+JzsNCgkJfQ0KCQllY2hvICI8YnIvPjxwPiIuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.editentries.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSB8fCAhaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkgfHwgISR0aGlzLT5pc19sYW5ndWFnZSgkcGFyYW1zWyJsYW5nY29kZSJdKSkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCkpOwoKJHd5c2l3eWcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgid3lzaXd5ZyIsZmFsc2UpOwoKJGxhbmd1YWdlcyA9ICR0aGlzLT5nZXRsYW5ndWFnZXModHJ1ZSk7CiRsYW5ndWFnZSA9ICRsYW5ndWFnZXNbJHBhcmFtc1sibGFuZ2NvZGUiXV07CgokbmV3ZW50cnkgPSAnPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+Jy4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0ZW50cnkiLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfZW50cnkiKSkuJzwvZGl2Pic7CmVjaG8gJG5ld2VudHJ5OwplY2hvICI8aDE+Ii4kbGFuZ3VhZ2VbJ25hbWUnXS4iICgiLiRsYW5ndWFnZVsnbGFuZ2NvZGUnXS4iKTwvaDE+PGJyLz4iOwoKJGRiID0gJHRoaXMtPkdldERiKCk7CiRxdWVyeSA9ICJTRUxFQ1QgbGFuZ2tleXMuc3RyaW5naWQgc3RyaW5naWQsIGxhbmdrZXlzLmNhcHRpb24gY2FwdGlvbiwgbGFuZ2VudHJpZXMudmFsdWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdrZXlzIGxhbmdrZXlzIExFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIGxhbmdlbnRyaWVzIE9OIGxhbmdrZXlzLnN0cmluZ2lkID0gbGFuZ2VudHJpZXMuc3RyaW5naWQgV0hFUkUgbGFuZ2VudHJpZXMubGFuZ2NvZGU9PyI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sibGFuZ2NvZGUiXSkpOwokdmFsdWVzID0gYXJyYXkoKTsKJGNhcHRpb25zID0gYXJyYXkoKTsKd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpewoJJGNhcHRpb25zWyRyb3dbInN0cmluZ2lkIl1dID0gJHJvd1siY2FwdGlvbiJdOwoJJHZhbHVlc1skcm93WyJzdHJpbmdpZCJdXSA9ICRyb3dbInZhbHVlIl07Cn0KCQppZihpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkpCXsKCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIFdIRVJFIGxhbmdjb2RlPT8iOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sibGFuZ2NvZGUiXSkpOwoJJHZhbHVlcyA9IGFycmF5KCk7CgkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyBTRVQgbGFuZ2NvZGU9Pywgc3RyaW5naWQ9PywgdmFsdWU9PyI7Cglmb3JlYWNoKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKXsKCQlpZigkc3Vic3RyKCRrZXksMCw2KSA9PSAiZW50cnlfIiAmJiAkdmFsdWUgIT0gIiIpewoJCQkkdmFsdWVzWyRzdWJzdHIoJGtleSw2KV0gPSAkdmFsdWU7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImxhbmdjb2RlIl0sIHN1YnN0cigka2V5LDYpLCAkdmFsdWUpKTsKCQl9Cgl9CglpZihpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkpewoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpKTsKCX1lbHNlewoJCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpOwoJfQp9CQoKJGJ1dHRvbnMgPSAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPic7CgplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGVudHJpZXMiLCAkcmV0dXJuaWQpOwplY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJsYW5nY29kZSIsICRwYXJhbXNbImxhbmdjb2RlIl0pOwppZighJHd5c2l3eWcpCWVjaG8gJwo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGluc3RhbnRfdGFibGVfc2VhcmNoKHdoYXQpewoJdmFyIGRlc3RpbmF0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhYmVsX2xhbmd1YWdlX2VudHJpZXMiKTsKCWlmKCFkZXN0aW5hdGlvbikgcmV0dXJuOwoJdmFyIHRoZXJvd3MgPSBkZXN0aW5hdGlvbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsKCWZvcihpPTA7aTx0aGVyb3dzLmxlbmd0aDtpKyspewoJCXZhciB0aGVjb2x1bW4gPSB0aGVyb3dzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpWzBdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF07CgkJaWYodGhlY29sdW1uICYmIHRoZWNvbHVtbi5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHdoYXQudG9Mb3dlckNhc2UoKSkgPj0gMCl7CgkJCXRoZXJvd3NbaV0uc3R5bGUuZGlzcGxheSA9ICJ0YWJsZS1yb3ciOwoJCX1lbHNlewoJCQl0aGVyb3dzW2ldLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CgkJfQoJfQp9Cjwvc2NyaXB0PgonOwplY2hvICRidXR0b25zOwplY2hvICc8dGFibGUgaWQ9ImJhYmVsX2xhbmd1YWdlX2VudHJpZXMiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KJzsKaWYoISR3eXNpd3lnKSBlY2hvICcKPHRoZWFkPgoJPHRyPjx0aD4nLiR0aGlzLT5MYW5nKCJzZWFyY2h0aGlzdGFibGUiKS4nPGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9Imluc3RhbnRfdGFibGVfc2VhcmNoKHRoaXMudmFsdWUpOyIvPjwvdGg+PHRoPjwvdGg+PC90cj4KPC90aGVhZD4KJzsKZWNobyAnPHRib2R5PgoJJzsKZm9yZWFjaCgkY2FwdGlvbnMgYXMgJGtleT0+JGxhYmVsKXsKCWVjaG8gJzx0cj4KCQk8dGQ+Jy4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0ZW50cnkiLCAkcmV0dXJuaWQsICRsYWJlbCwgYXJyYXkoImVudHJ5a2V5Ij0+JGtleSkpLic8L3RkPgoJCTx0ZD4nLiR0aGlzLT5DcmVhdGVUZXh0QXJlYSgkd3lzaXd5ZywkaWQsKGlzc2V0KCR2YWx1ZXNbJGtleV0pICYmICR2YWx1ZXNbJGtleV0pPyR2YWx1ZXNbJGtleV06IiIsJ2VudHJ5XycuJGtleSkuJzwvdGQ+Cgk8L3RyPgoJJzsKfQplY2hvICcKPC90Ym9keT4KPC90YWJsZT4KJzsKZWNobyAkYnV0dG9uczsKZWNobyAkbmV3ZW50cnk7CmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.editentry.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCkpOwoKJHd5c2l3eWcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgid3lzaXd5ZyIsZmFsc2UpOwoKJGRiID0gJHRoaXMtPkdldERiKCk7CgokZW50cnkgPSBpc3NldCgkcGFyYW1zWyJlbnRyeWtleSJdKT8kcGFyYW1zWyJlbnRyeWtleSJdOmZhbHNlOwokY2FwdGlvbiA9IGlzc2V0KCRwYXJhbXNbImNhcHRpb24iXSk/JHBhcmFtc1siY2FwdGlvbiJdOiIiOwokdmFsdWVzID0gYXJyYXkoKTsKCmlmKCRjYXB0aW9uICE9ICIiICYmIChpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkpKXsKCSRjYXB0aW9uID0gJHBhcmFtc1siY2FwdGlvbiJdOwoJaWYoJGVudHJ5KXsKCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyBXSEVSRSBzdHJpbmdpZD0/IjsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZW50cnkpKTsKCX1lbHNlewoJCSRlbnRyeSA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXNfc2VxIik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2tleXMgU0VUIHN0cmluZ2lkPT8sIGNhcHRpb249PyI7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5LCAkY2FwdGlvbikpOwoJfQoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXMgU0VUIHN0cmluZ2lkPT8sIGxhbmdjb2RlPT8sIHZhbHVlPT8iOwoJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSl7CgkJaWYoc3Vic3RyKCRrZXksMCw2KSA9PSAiZW50cnlfIiAmJiAkdmFsdWUgIT0gIiIpewoJCQkkdmFsdWVzW3N1YnN0cigka2V5LDYpXSA9ICR2YWx1ZTsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5LCBzdWJzdHIoJGtleSw2KSwgJHZhbHVlKSk7CgkJfQoJfQoJaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pKXsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgnbW9kdWxlX21lc3NhZ2UnPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7Cgl9ZWxzZXsKCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsKCX0KCQp9ZWxzZWlmKCRlbnRyeSl7CgkkcXVlcnkgPSAiU0VMRUNUIHN0cmluZ2lkLCBjYXB0aW9uIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5cyBXSEVSRSBzdHJpbmdpZD0/IExJTUlUIDEiOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5KSk7CglpZigkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7CgkJJGVudHJ5ID0gJHJvd1sic3RyaW5naWQiXTsKCQkkY2FwdGlvbiA9ICRyb3dbImNhcHRpb24iXTsKCQkkcXVlcnkgPSAiU0VMRUNUIGxhbmdjb2RlLCB2YWx1ZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXMgV0hFUkUgc3RyaW5naWQ9PyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5KSk7CgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpewoJCQkkdmFsdWVzWyRyb3dbImxhbmdjb2RlIl1dID0gJHJvd1sidmFsdWUiXTsKCQl9Cgl9Cn0KCiRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKHRydWUpOwoKJGJ1dHRvbnMgPSAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPic7CgplY2hvICI8aDE+Ii4kdGhpcy0+TGFuZygiZW50cnkiKS4iPC9oMT48YnIvPiI7CgplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGVudHJ5IiwgJHJldHVybmlkKTsKCmVjaG8gJGJ1dHRvbnM7CgppZigkZW50cnkpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZW50cnluYW1lIikuJyA6ICcuJGNhcHRpb24uJzwvcD4nOwoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiZW50cnlrZXkiLCAkZW50cnkpOwoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiY2FwdGlvbiIsICRjYXB0aW9uKTsKfWVsc2V7CgllY2hvICc8cD4nLiR0aGlzLT5MYW5nKCJlbnRyeW5hbWUiKS4nKiA6ICcuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICJjYXB0aW9uIiwgJHJldHVybmlkLCAiIiwgNjQsIDY0KS4nPC9wPic7Cn0KZWNobyAnPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4nOwpmb3JlYWNoKCRsYW5ndWFnZXMgYXMgJGtleT0+JG9uZWxhbmcpewoJZWNobyAnCgk8dHI+CgkJPHRkPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGVudHJpZXMiLCAkcmV0dXJuaWQsICRvbmVsYW5nWyJuYW1lIl0uJyAoJy4ka2V5LicpJywgYXJyYXkoImxhbmdjb2RlIj0+JGtleSkpLic8L3RkPgoJCTx0ZD4nLiR0aGlzLT5DcmVhdGVUZXh0QXJlYSgkd3lzaXd5ZywkaWQsKGlzc2V0KCR2YWx1ZXNbJGtleV0pICYmICR2YWx1ZXNbJGtleV0pPyR2YWx1ZXNbJGtleV06IiIsJ2VudHJ5XycuJGtleSkuJzwvdGQ+Cgk8L3RyPic7Cn0KZWNobyAnCjwvdGJvZHk+CjwvdGFibGU+Cic7CmVjaG8gJGJ1dHRvbnM7CmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCj8+CgoK]]></data>
	</file>
	<file>
	  <filename>/action.editlang.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoKSk7CgokYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsKCiRpc19uZXcgPSBpc3NldCgkcGFyYW1zWyJpc19uZXciXSk/JHBhcmFtc1siaXNfbmV3Il06MDsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCgovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOgppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pICkJewoKCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOwoJJGl0ZW0tPmxhbmdjb2RlID0gJHRoaXMtPnBsY3JlYXRlYWxpYXMoKGlzc2V0KCRwYXJhbXNbImxhbmdjb2RlIl0pPyRwYXJhbXNbImxhbmdjb2RlIl06IiIpKTsKCSRpdGVtLT5yb290X2lkID0gaXNzZXQoJHBhcmFtc1sicm9vdF9pZCJdKT8kcGFyYW1zWyJyb290X2lkIl06ZmFsc2U7CgkkaXRlbS0+ZGVmYXVsdF9pZCA9IGlzc2V0KCRwYXJhbXNbImRlZmF1bHRfaWQiXSk/JHBhcmFtc1siZGVmYXVsdF9pZCJdOiIiOwoJJGl0ZW0tPm5hbWUgPSBpc3NldCgkcGFyYW1zWyJuYW1lIl0pPyRwYXJhbXNbIm5hbWUiXToiIjsKCSRpdGVtLT5tZW51X25hbWUgPSBpc3NldCgkcGFyYW1zWyJtZW51X25hbWUiXSk/JHBhcmFtc1sibWVudV9uYW1lIl06IiI7CgkKCWlmKCEkaXRlbS0+cm9vdF9pZCB8fCAkaXRlbS0+bGFuZ2NvZGUgPT0gIiIgfHwgJGl0ZW0tPm5hbWUgPT0gIiIpewoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsKCX1lbHNlewoJCSMjIyMjIyMjIyMjIyBET0lORyBUSEUgVVBEQVRFCgoKCQkvLyBGSUVMRFMgVE8gVVBEQVRFCgkJJHF1ZXJ5ID0gKCRpc19uZXc/IklOU0VSVCBJTlRPICI6IlVQREFURSAiKS5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMgU0VUIAoJCQlyb290X2lkPT8sCgkJCWRlZmF1bHRfaWQ9PywKCQkJbmFtZT0/LAoJCQltZW51X25hbWU9PyI7CgkJCQoJCS8vIFZBTFVFUwoJCSR2YWx1ZXMgPSBhcnJheSgkaXRlbS0+cm9vdF9pZCwgJGl0ZW0tPmRlZmF1bHRfaWQsICRpdGVtLT5uYW1lLCAkaXRlbS0+bWVudV9uYW1lLCAkaXRlbS0+bGFuZ2NvZGUpOwoKCQlpZigkaXNfbmV3KXsKCQkJLy8gTkVXIElURU0KCQkJJG5ld19vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygibGFuZ3VhZ2VzIiwibGFuZ2NvZGUiKSArIDE7CgkJCSRxdWVyeSAuPSAiLCBsYW5nY29kZT0/LCBpdGVtX29yZGVyPT8sIGFjdGl2ZT0wIjsKCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRuZXdfb3JkZXIpOwoJCX1lbHNlewoJCQkvLyBFWElTVElORyBJVEVNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGxhbmdjb2RlPT8gTElNSVQgMSI7CgkJfQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwoKCQlpZihteXNxbF9lcnJvcigpKXsKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsKCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoImVycm9yX2NvdWxkbm90aW5zZXJ0IikpOwoJCX1lbHNlewoJCQkkaXNfbmV3ID0gZmFsc2U7CgkJCWlmKGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pKXsKCQkJCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpOwoJCQl9ZWxzZXsKCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJtb2R1bGVfbWVzc2FnZSIgPT4gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOwkKCQkJfQoJCX0KCX0KCS8vIEVORCBPRiBGT1JNIFNVQk1JU1NJT04KfWVsc2VpZihpc3NldCgkcGFyYW1zWyJsYW5nY29kZSJdKSl7CgkkaXRlbSA9ICR0aGlzLT5nZXRfbGFuZ3VhZ2VfZGV0YWlscygkcGFyYW1zWyJsYW5nY29kZSJdKTsKfQoKLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUyAqLwokaGlkZGVuID0gIiI7CgovLyBwcmVwYXJlIHJvb3QgcGFnZXMgY29tYm8KJGxhbmd1YWdlcyA9ICR0aGlzLT5nZXRsYW5ndWFnZXMoKTsKJGxhbmd1YWdlc19yb290aWRzID0gYXJyYXkoKTsKJGxhbmd1YWdlc19jb2RlcyA9IGFycmF5KCk7CmZvcmVhY2goJGxhbmd1YWdlcyBhcyAkb25lbGFuZyl7CgkkbGFuZ3VhZ2VzX3Jvb3RpZHNbXSA9ICRvbmVsYW5nWyJyb290X2lkIl07CgkkbGFuZ3VhZ2VzX2NvZGVzW10gPSAkb25lbGFuZ1sibGFuZ2NvZGUiXTsKfQokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoIlNFTEVDVCBjb250ZW50X2lkLCBjb250ZW50X25hbWUgRlJPTSBgIi5jbXNfZGJfcHJlZml4KCkuImNvbnRlbnRgIFdIRVJFIHBhcmVudF9pZCA8IDEiKTsKJG9wdGlvbnMgPSBhcnJheSgpOwp3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7CglpZighaW5fYXJyYXkoJHJvd1siY29udGVudF9pZCJdLCAkbGFuZ3VhZ2VzX3Jvb3RpZHMpIHx8IChpc3NldCgkaXRlbS0+cm9vdF9pZCkgJiYgJHJvd1siY29udGVudF9pZCJdID09ICRpdGVtLT5yb290X2lkKSkJJG9wdGlvbnNbJHJvd1siY29udGVudF9uYW1lIl1dID0gJHJvd1siY29udGVudF9pZCJdOwp9CiR0aGlzLT5zbWFydHktPmFzc2lnbigicm9vdF9pZF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwicm9vdF9pZCIsJG9wdGlvbnMsLTEsaXNzZXQoJGl0ZW0pPyRpdGVtLT5yb290X2lkOjApKTsKCi8vIHByZXBhcmUgZGVmYXVsdCBwYWdlcyBjb21ibwokY250b3BlcmF0aW9ucyA9ICRnQ21zLT5nZXRDb250ZW50T3BlcmF0aW9ucygpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlZmF1bHRfaWRfaW5wdXQiLCAkY250b3BlcmF0aW9ucy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oIiIsaXNzZXQoJGl0ZW0tPmRlZmF1bHRfaWQpPyRpdGVtLT5kZWZhdWx0X2lkOiItMSIsJGlkLiJkZWZhdWx0X2lkIikpOwoKaWYoJGlzX25ldyl7CglnbG9iYWwgJG5sczsKCSRwb3NzaWJsZWxhbmdzID0gYXJyYXkoIi0iPT4iLyIpOwoJYXNvcnQoJG5sc1sibGFuZ3VhZ2UiXSk7Cglmb3JlYWNoICgkbmxzWyJsYW5ndWFnZSJdIGFzICRrZXk9PiR2YWwpIHsKCQlpZighaW5fYXJyYXkoJGtleSwkbGFuZ3VhZ2VzX2NvZGVzKSkJJHBvc3NpYmxlbGFuZ3NbJGtleS4iICgiLiR2YWwuKGlzc2V0KCRubHNbImVuZ2xpc2hsYW5nIl1bJGtleV0pPyIgLyAiLiRubHNbImVuZ2xpc2hsYW5nIl1bJGtleV06IiIpLiIpIl0gPSAka2V5LicvJy4kdmFsOwoJfQoJJGxhbmdzZWxlY3QgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImxhbmdzZWxlY3QiLCRwb3NzaWJsZWxhbmdzKTsKCSRsYW5nY29kZV9pbnB1dCA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc19uZXciLCAxKS4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwibGFuZ2NvZGUiLCIiLDE1LDUpOwp9ZWxzZXsKCSRsYW5nY29kZV9pbnB1dCA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc19uZXciLCAwKS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAibGFuZ2NvZGUiLCAkaXRlbS0+bGFuZ2NvZGUpLiRpdGVtLT5sYW5nY29kZTsKCSRsYW5nc2VsZWN0ID0gZmFsc2U7Cn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYW5nc2VsZWN0IiwgJGxhbmdzZWxlY3QpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmdjb2RlX2lucHV0IiwgJGxhbmdjb2RlX2lucHV0KTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJuYW1lIixpc3NldCgkaXRlbSk/JGl0ZW0tPm5hbWU6IiIsNTAsNjQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJtZW51X25hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwibWVudV9uYW1lIixpc3NldCgkaXRlbSk/JGl0ZW0tPm1lbnVfbmFtZToiIiw1MCw2NCkpOwoKLy8gcHJlcGFyaW5nIGxhYmVscwokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibmFtZSIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJtZW51X25hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibWVudV9uYW1lIikpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oInJvb3RfaWRfbGFiZWwiLCAkdGhpcy0+TGFuZygicm9vdF9pZCIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X2lkX2xhYmVsIiwgJHRoaXMtPkxhbmcoImRlZmF1bHRfaWQiKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigibGFuZ2NvZGVfbGFiZWwiLCAkdGhpcy0+TGFuZygibGFuZ2NvZGVfcHJvbXB0IikpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmdzZWxlY3RfbGFiZWwiLCAkdGhpcy0+TGFuZygibGFuZ3NlbGVjdCIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwbGlkIiwgJGlkKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZWRpdHRpdGxlIiwgJGlzX25ldz8kdGhpcy0+TGFuZygiYWRkX2xhbmd1YWdlIik6JHRoaXMtPkxhbmcoImVkaXRfbGFuZ3VhZ2UiKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImFwcGx5IiwgKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKT8kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKToiIik7CiR0aGlzLT5zbWFydHktPmFzc2lnbigiY2FuY2VsIiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKSk7CgoKLy8gRElTUExBWUlORwplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGxhbmciLCAkcmV0dXJuaWQpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRsYW5nLnRwbCIpOwplY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInPT4ndGVtcGxhdGVzJykgKTsKCiR0cGxjb250ZW50ID0gJyc7CmlmKCAoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApICYmIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsKCSR0cGxjb250ZW50ID0gJHBhcmFtc1sndHBsY29udGVudCddOwoJaWYoJHBhcmFtc1sndHBsbmFtZSddICE9ICcnKXsKCQlpZihpc3NldCgkcGFyYW1zWydpc25ldyddKSkJJHBhcmFtc1sndHBsbmFtZSddID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWyd0cGxuYW1lJ10sIGZhbHNlKTsKCQlpZigkdGhpcy0+U2V0VGVtcGxhdGUoJHBhcmFtc1sndHBsbmFtZSddLCRwYXJhbXNbJ3RwbGNvbnRlbnQnXSwkdGhpcy0+R2V0TmFtZSgpKSk7CgkJaWYoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKXsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAnYWN0aXZlX3RhYic9Pid0ZW1wbGF0ZXMnKSApOwoJCX1lbHNlewoJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsKCQl9Cgl9ZWxzZXsKCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPicuJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NnaW52YWx1ZScpLic8L2Rpdj4nOwoJfQp9ZWxzZWlmKCBpc3NldCgkcGFyYW1zWyd0cGxuYW1lJ10pICl7CgkkdHBsY29udGVudCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSggJHBhcmFtc1sndHBsbmFtZSddLCAkdGhpcy0+R2V0TmFtZSgpICk7Cn0KCmVjaG8gJzxoMT4nLiR0aGlzLT5MYW5nKCJlZGl0dGVtcGxhdGUiKS4nPC9oMT4nOwplY2hvICc8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4nLiR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZWhlbHAiKS4nPC9kaXY+JzsKZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRUZW1wbGF0ZSIsICRyZXR1cm5pZCk7CmVjaG8gJwk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+TGFuZygnbmFtZScpLicgOjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4nOwppZihpc3NldCgkcGFyYW1zWyd0cGxuYW1lJ10pICYmICRwYXJhbXNbJ3RwbG5hbWUnXSAhPSAnJyl7CgllY2hvICRwYXJhbXNbJ3RwbG5hbWUnXS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAidHBsbmFtZSIsICRwYXJhbXNbJ3RwbG5hbWUnXSk7Cn1lbHNlewoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwndHBsbmFtZScsJycsMzAsNjQpOwp9CmVjaG8gJzwvcD4KCTwvZGl2PgonOwplY2hvICcJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPkxhbmcoJ3RlbXBsYXRlJykuJyA6PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkdHBsY29udGVudCwndHBsY29udGVudCcpLic8L3A+Cgk8L2Rpdj4KJzsKZWNobyAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPic7CmlmKCFpc3NldCgkcGFyYW1zWyJ0cGxuYW1lIl0pIHx8ICRwYXJhbXNbInRwbG5hbWUiXSA9PSAnJykJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiaXNuZXciLCAxKTsKZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.menu.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmKCEkdGhpcy0+Y3VycmVudF9sYW5nY29kZSkJJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsKaWYoISR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKQlyZXR1cm4gZmFsc2U7CiRjdXJyZW50X2xhbmd1YWdlID0gJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGU7Cgokc2hvd24gPSAoaXNzZXQoJHBhcmFtc1sic2hvdyJdKSAmJiAkcGFyYW1zWyJzaG93Il0gIT0gIiIpP2V4cGxvZGUoIiwiLCRwYXJhbXNbInNob3ciXSk6ZmFsc2U7CgokdXNlX2Nvb2tpZXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY29va2llc19hdXRvcmVkaXJlY3RfYWxsIiwgZmFsc2UpIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb29raWVzX2F1dG9yZWRpcmVjdF9ob21lIixmYWxzZSk7CiRkZWZhdWx0X2hpZGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdF9oaWRlIiwgZmFsc2UpOwokdXNlX3BhZ2VfdGl0bGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX3BhZ2VfdGl0bGUiLGZhbHNlKTsKCiRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKCk7CgokbGlua3MgPSAkdGhpcy0+Z2V0X3VybHMoKTsKCiRpdGVtbGlzdCA9IGFycmF5KCk7CiRzaG93X2N1cnJlbnQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3VycmVudF9saW5rIixmYWxzZSk7Cgpmb3JlYWNoKCRsYW5ndWFnZXMgYXMgJGxhbmd1YWdlKXsKCWlmKCghJHNob3duIHx8IGluX2FycmF5KCRsYW5ndWFnZS0+bGFuZ2NvZGUsICRzaG93bikpICYmICgkc2hvd19jdXJyZW50IHx8ICRsYW5ndWFnZVsnbGFuZ2NvZGUnXSAhPSAkY3VycmVudF9sYW5ndWFnZSkpewoJCSRpdGVtID0gbmV3IFN0ZENsYXNzKCk7CgkJJGl0ZW0tPmNvZGUgPSAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ107CgkJJGl0ZW0tPm5hbWUgPSAkbGFuZ3VhZ2VbJ25hbWUnXTsKCQkkaXRlbS0+bWVudV9uYW1lID0gJGxhbmd1YWdlWydtZW51X25hbWUnXTsKCQkkaXRlbS0+aXNfY3VycmVudCA9ICgkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ10gPT0gJGN1cnJlbnRfbGFuZ3VhZ2UpOwoJCSRpdGVtLT5wYWdlX21lbnVfdGV4dCA9IGlzc2V0KCRsaW5rc1skaXRlbS0+Y29kZV0pPyRsaW5rc1skaXRlbS0+Y29kZV1bJ21lbnVfdGV4dCddOiIiOwoJCSRpdGVtLT5wYWdlX25hbWUgPSBpc3NldCgkbGlua3NbJGl0ZW0tPmNvZGVdKT8kbGlua3NbJGl0ZW0tPmNvZGVdWyduYW1lJ106IiI7CgkJJGl0ZW0tPnVybCA9IChpc3NldCgkbGlua3NbJGl0ZW0tPmNvZGVdKSAmJiAkbGlua3NbJGl0ZW0tPmNvZGVdKT8kbGlua3NbJGl0ZW0tPmNvZGVdWyd1cmwnXTpmYWxzZTsKCQlpZigkaXRlbS0+dXJsICYmICR1c2VfY29va2llcykJCSRpdGVtLT51cmwgPSAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9iYWJlbC9yZWRpcmVjdC5waHA/bmV3bGFuZz0nLiRpdGVtLT5jb2RlLicmbmV3dXJsPScuJGl0ZW0tPnVybDsKCgkJaWYoJGl0ZW0tPnVybCB8fCAhJGRlZmF1bHRfaGlkZSB8fCAkaXRlbS0+aXNfY3VycmVudCkJYXJyYXlfcHVzaCgkaXRlbWxpc3QsICRpdGVtKTsKCX0KfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmd1YWdlcyIsICRpdGVtbGlzdCk7CgppZiAoaXNzZXQoJHBhcmFtc1sidGVtcGxhdGUiXSkgJiYgKCR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJ0ZW1wbGF0ZSJdKSkpewoJZWNobyAkdGhpcy0+c21hcnR5LT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwkKfWVsc2V7CgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdHRlbXBsYXRlIixmYWxzZSk7CglpZigkdGVtcGxhdGUpCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwkKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.movesomething.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1sibGV2ZWxuYW1lIl0pP2FycmF5KCJhY3RpdmVfdGFiIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOmFycmF5KCk7DQoNCmlmICghaXNzZXQoJHBhcmFtc1sibW92ZSJdKSB8fCAhaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImN1cnJlbnRvcmRlciJdKSApDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KJGRidGFibGUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9sYW5ndWFnZXMiOw0KJGN1cnJlbnRvcmRlciA9ICRwYXJhbXNbImN1cnJlbnRvcmRlciJdOw0KJGxhbmdjb2RlID0gJHBhcmFtc1sibGFuZ2NvZGUiXTsNCg0Kc3dpdGNoKCRwYXJhbXNbIm1vdmUiXSl7DQoJDQoJY2FzZSAiZGVsZXRlIjoNCgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbGFuZ2VudHJpZXMgV0hFUkUgbGFuZ2NvZGU9PyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRsYW5nY29kZSkpOw0KCQkkcXVlcnkgPSAiREVMRVRFIEZST00gJGRidGFibGUgV0hFUkUgbGFuZ2NvZGUgPSA/IExJTUlUIDEiOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCg0KCQkvLyBVUERBVEUgVEhFIE9SREVSIE9GIFRIRSBJVEVNUw0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPiA/ICI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXIpKTsNCgkJDQoJCSRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlIl0gPSAkdGhpcy0+bGFuZygibWVzc2FnZV9kZWxldGVkIik7DQoJCWJyZWFrOwkNCg0KCWNhc2UgInVwIjoNCgkJaWYgKCRjdXJyZW50b3JkZXIgIT0gMSl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXItMSkpOw0KCQkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBsYW5nY29kZSA9ID8gTElNSVQgMTsiOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxhbmdjb2RlKSk7DQoJCX0NCgkJYnJlYWs7DQoJCQ0KCWNhc2UgImRvd24iOg0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJaWYoICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXIrMSkpICl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGxhbmdjb2RlID0gPyBMSU1JVCAxOyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCgkJfQ0KCQlicmVhazsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/babel.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQmFiZWw6IE11bHRpbGluZ3VhbCBzaXRlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QicyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIw0KIyBUaGlzIG1vZHVsZSB3YXMgY3JlYXRlZCB3aXRoIENUTE1vZHVsZU1ha2VyIDEuOC44LjINCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCBpcyByZWxlYXNlZCB1bmRlciBHTlUNCiMgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9jdGxtb2R1bGVtYWtlcg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgYmFiZWwgZXh0ZW5kcyBDTVNNb2R1bGUNCnsNCgl2YXIgJGF2YWlsYWJsZV9sYW5ndWFnZXMgPSBmYWxzZTsNCgl2YXIgJGFsbF9sYW5ndWFnZXMgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ3VhZ2UgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ2NvZGUgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ2VudHJpZXMgPSBmYWxzZTsNCg0KCWZ1bmN0aW9uIEdldE5hbWUoKQ0KCXsNCgkJcmV0dXJuICJiYWJlbCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRGcmllbmRseU5hbWUoKQ0KCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbG9jYWxpemVkIG5hbWUNCgkgICBvZiB0aGUgbW9kdWxlLiBUaGlzIGlzIHRoZSBuYW1lIHRoYXQicyBzaG93biBpbiB0aGUNCgkgICBBZG1pbiBNZW51cyBhbmQgc2VjdGlvbiBwYWdlcyAoaWYgdGhlIG1vZHVsZSBoYXMgYW4gYWRtaW4NCgkgICBjb21wb25lbnQpLg0KCSAgIA0KCSAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoImZyaWVuZGx5bmFtZSIpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldFZlcnNpb24oKQ0KCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbnVtYmVyIG9yDQoJICAgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgZm9yIGRlc2lnbmF0aW5nIGEgdmVyc2lvbi4NCgkgICBUaGUgQ01TIHdpbGwgdXNlIHRoaXMgdG8gaWRlbnRpZnkgd2hldGhlciBvciBub3QNCgkgICB0aGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgdGhlIG1vZHVsZSBpcyBjdXJyZW50LCBhbmQNCgkgICB0aGUgbW9kdWxlIHdpbGwgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgaG93IHRvIHVwZ3JhZGUNCgkgICBpdHNlbGYgaWYgcmVxdWVzdGVkLgkgICANCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpDQoJew0KCQlyZXR1cm4gIjAuMyI7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldERlcGVuZGVuY2llcygpDQoJICAgWW91ciBtb2R1bGUgbWF5IG5lZWQgYW5vdGhlciBtb2R1bGUgdG8gYWxyZWFkeSBiZSBpbnN0YWxsZWQNCgkgICBiZWZvcmUgeW91IGNhbiBpbnN0YWxsIGl0Lg0KCSAgIFRoaXMgbWV0aG9kIHJldHVybnMgYSBsaXN0IG9mIHRob3NlIGRlcGVuZGVuY2llcyBhbmQNCgkgICBtaW5pbXVtIHZlcnNpb24gbnVtYmVycyB0aGF0IHRoaXMgbW9kdWxlIHJlcXVpcmVzLg0KCSAgIA0KCSAgIEl0IHNob3VsZCByZXR1cm4gYW4gaGFzaCwgZWcuDQoJICAgcmV0dXJuIGFycmF5KCJzb21lbW9kdWxlIj0+IjEuMCIsICJvdGhlcm1vZHVsZSI9PiIxLjEiKTsNCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkNCgl7DQoJCXJldHVybiBhcnJheSgpOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0SGVscCgpDQoJICAgVGhpcyByZXR1cm5zIEhUTUwgaW5mb3JtYXRpb24gb24gdGhlIG1vZHVsZS4NCgkgICBUeXBpY2FsbHksIHlvdSJsbCB3YW50IHRvIGluY2x1ZGUgaW5mb3JtYXRpb24gb24gaG93IHRvDQoJICAgdXNlIHRoZSBtb2R1bGUuDQoJICAgDQoJICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0SGVscCgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoImhlbHAiKTsNCgl9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEF1dGhvcigpDQoJICAgVGhpcyByZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcHJlc2VudGVkIGluIHRoZSBNb2R1bGUNCgkgICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0QXV0aG9yKCkNCgl7DQoJCXJldHVybiAiUGllcnJlLUx1YyBHZXJtYWluIChwbGdlcikiOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRBdXRob3JFbWFpbCgpDQoJICAgVGhpcyByZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcHJlc2VudGVkIGluIHRoZSBNb2R1bGUNCgkgICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4gSXQgaGVscHMgdXNlcnMNCgkgICBvZiB5b3VyIG1vZHVsZSBnZXQgaW4gdG91Y2ggd2l0aCB5b3UgdG8gc2VuZCBidWcgcmVwb3J0cywNCgkgICBxdWVzdGlvbnMsIGNhc2VzIG9mIGJlZXIsIGFuZC9vciBsYXJnZSBzdW1zIG9mIG1vbmV5Lg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpDQoJew0KCQlyZXR1cm4gIiI7DQoJfQ0KDQogICAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkNCiAgICB7DQoJCSRmaWxlcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuImNoYW5nZWxvZy50eHQiOw0KCQlpZihmaWxlX2V4aXN0cygkZmlsZXBhdGgpKXsNCgkJCSRmaGFuZGxlID0gZm9wZW4oJGZpbGVwYXRoLCAncisnKTsNCgkJCSRjb250ZW50ID0gZnJlYWQoJGZoYW5kbGUsIGZpbGVzaXplKCRmaWxlcGF0aCkpOw0KCQkJcmV0dXJuICc8YnIvPjxwcmU+Jy4kY29udGVudC4nPC9wcmU+JzsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gIiI7DQoJCX0NCiAgICB9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIElzUGx1Z2luTW9kdWxlKCkNCgkgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciBmYWxzZSwgZGVwZW5kaW5nIHVwb24NCgkgICB3aGV0aGVyIHVzZXJzIGNhbiBpbmNsdWRlIHRoZSBtb2R1bGUgaW4gYSBwYWdlIG9yDQoJICAgdGVtcGxhdGUgdXNpbmcgYSBzbWFydHkgdGFnIG9mIHRoZSBmb3JtDQoJICAge2Ntc19tb2R1bGUgbW9kdWxlPSJQcm9kIiBwYXJhbTE9dmFsIHBhcmFtMj12YWwuLi59DQoJICAgDQoJICAgSWYgeW91ciBtb2R1bGUgZG9lcyBub3QgZ2V0IGluY2x1ZGVkIGluIHBhZ2VzIG9yDQoJICAgdGVtcGxhdGVzLCByZXR1cm4gImZhbHNlIiBoZXJlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpDQoJew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSGFzQWRtaW4oKQ0KCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUsIGRlcGVuZGluZyBvbg0KCSAgIHdoZXRoZXIgeW91ciBtb2R1bGUgYWRkcyBhbnl0aGluZyB0byB0aGUgQWRtaW4gYXJlYSBvZg0KCSAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEkibGwgYmUgY2FsbGluZw0KCSAgIHRoZSBhZG1pbiBwYXJ0IG9mIHlvdXIgbW9kdWxlIHRoZSAiQWRtaW4gUGFuZWwiIGZvcg0KCSAgIHdhbnQgb2YgYSBiZXR0ZXIgdGVybS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSGFzQWRtaW4oKSB7CXJldHVybiB0cnVlOwl9DQoJZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkge3JldHVybiAiZXh0ZW5zaW9ucyI7fQ0KCWZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7cmV0dXJuICR0aGlzLT5MYW5nKCJhZG1pbmRlc2NyaXB0aW9uIik7fQ0KDQoJZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCl7DQoJCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJhZG1pbl9iYWJlbCIpOw0KCX0NCgkJDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBTZXRQYXJhbWV0ZXJzKCkNCgkgICBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMgeW91IHRvIGNyZWF0ZSBtYXBwaW5ncyBmb3INCgkgICB5b3VyIG1vZHVsZSB3aGVuIHVzaW5nICJQcmV0dHkgVXJscyIuDQoJICAgDQoJICAgVHlwaWNhbGx5LCBtb2R1bGVzIGNyZWF0ZSBpbnRlcm5hbCBsaW5rcyB0aGF0IGhhdmUNCgkgICBiaWcgdWdseSBzdHJpbmdzIGFsb25nIHRoZSBsaW5lcyBvZjoNCgkgICBpbmRleC5waHA/bWFjdD1Nb2ROYW1lLGNudG50MDEsYWN0aW9uTmFtZSwwJmNudG50MDFwYXJhbTE9MSZjbnRudDAxcGFyYW0yPTImY250bnQwMXJldHVybmlkPTMNCgkgICANCgkgICBZb3UgbWlnaHQgcHJlZmVyIHRoZXNlIHRvIGxvb2sgbGlrZToNCgkgICAvTW9kdWxlRnVuY3Rpb24vMi8zDQoJICAgDQoJICAgVG8gZG8gdGhpcywgeW91IGhhdmUgdG8gcmVnaXN0ZXIgcm91dGVzIGFuZCBtYXANCgkgICB5b3VyIHBhcmFtZXRlcnMgaW4gYSB3YXkgdGhhdCB0aGUgQVBJIHdpbGwgYmUgYWJsZQ0KCSAgIHRvIHVuZGVyc3RhbmQuDQoNCgkgICBBbHNvIG5vdGUgdGhhdCBhbnkgY2FsbHMgdG8gQ3JlYXRlTGluayB3aWxsIG5lZWQgdG8NCgkgICBiZSB1cGRhdGVkIHRvIHBhc3MgdGhlIHByZXR0eSB1cmwgcGFyYW1ldGVyLg0KCSAgIA0KCSAgIFNpbmNlIHRoZSBTa2VsZXRvbiBkb2VzbiJ0IHJlYWxseSBjcmVhdGUgYW55IGxpbmtzLA0KCSAgIHRoZSBzZWN0aW9uIGJlbG93IGlzIGNvbW1lbnRlZCBvdXQsIGJ1dCB5b3UgY2FuDQoJICAgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgcHJldHR5IHVybHMuDQoJICAgDQoJICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkNCgl7DQoJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOw0KCQkkdGhpcy0+UmVnaXN0ZXJFdmVudHMoKTsNCgkJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYWN0aW9uIiwgImRlZmF1bHQiLCAkdGhpcy0+TGFuZygicGhlbHBfYWN0aW9uIikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJzaG93IiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF9zaG93IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgic2hvdyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigidGVtcGxhdGUiLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3RlbXBsYXRlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgidGVtcGxhdGUiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImFzc2lnbiIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfYXNzaWduIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiYXNzaWduIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgibmV3bGFuZyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoIm5ld3VybCIsQ0xFQU5fU1RSSU5HKTsNCgl9DQoJDQoJZnVuY3Rpb24gSGFuZGxlc0V2ZW50cygpew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJZnVuY3Rpb24gUmVnaXN0ZXJFdmVudHMoKXsNCgkJJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudFByZUNvbXBpbGUnLCBmYWxzZSApOw0KCX0NCglmdW5jdGlvbiBEb0V2ZW50KCRvcmlnaW5hdG9yLCAkZXZlbnRuYW1lLCAmJHBhcmFtcyl7DQoJCWlmKCRldmVudG5hbWUgPT0gJ0NvbnRlbnRQcmVDb21waWxlJyl7DQoJCQkkdGhpcy0+YXNzaWduX3BhZ2VfbGFuZygpOw0KCQkJJHRoaXMtPmF1dG9fcmVkaXJlY3QoKTsNCgkJfQ0KCX0NCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5MYW5nKCJwb3N0aW5zdGFsbCIpOw0KCX0NCglmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3R1bmluc3RhbGwiKTsNCgl9DQoJZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInJlYWxseV91bmluc3RhbGwiKTsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSW5zdGFsbCgpDQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lDQoJICAgc2V0dXAuIFR5cGljYWwgdGhpbmdzIHRoYXQgaGFwcGVuIGhlcmUgYXJlIHRoZSBjcmVhdGlvbg0KCSAgIGFuZCBwcmVwb3B1bGF0aW9uIG9mIGRhdGFiYXNlIHRhYmxlcywgZGF0YWJhc2Ugc2VxdWVuY2VzLA0KCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLg0KCSAgIAkgICANCgkgICBGb3IgaW5mb3JtYXRpb24gb24gdGhlIGNyZWF0aW9uIG9mIGRhdGFiYXNlIHRhYmxlcywNCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0DQoJICAgaHR0cDovL3BocGxlbnMuY29tL2xlbnMvYWRvZGIvZG9jcy1kYXRhZGljdC5odG0NCgkgICANCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsDQoJICAgYW5kIENNUyB3aWxsIG5vdCBjb25zaWRlciB0aGUgbW9kdWxlIGluc3RhbGxlZC4NCgkgICBTdWNjZXNzZnVsIGluc3RhbGxzIHNob3VsZCByZXR1cm4gRkFMU0Ugb3Igbm90aGluZyBhdCBhbGwuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEluc3RhbGwoKQ0KCXsNCgkJZ2xvYmFsICRnQ21zOw0KCQlyZXF1aXJlICJtZXRob2QuaW5zdGFsbC5waHAiOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgVW5pbnN0YWxsKCkNCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudA0KCSAgIGFkbWluIHdpbGwgd2lzaCB0byB1bmluc3RhbGwgeW91ciBtb2R1bGUuIFdoaWxlIGl0DQoJICAgd291bGQgYmUgYmVzdCB0byBsYXkgaW50byB0aGVzZSBpZGlvdHMgd2l0aCBhIGNsdWVzdGljaywNCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUNCgkgICBhbmQgY2xlYW4gdXAgdGhlIGRhdGFiYXNlLCBwZXJtaXNzaW9ucywgYW5kIHByZWZlcmVuY2VzDQoJICAgdGhhdCBhcmUgc3BlY2lmaWMgdG8gaXQuDQoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFVuaW5zdGFsbCgpDQoJew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC51bmluc3RhbGwucGhwIjsNCgl9DQoNCg0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpOT1QgUEFSVCBPRiBUSEUgTk9STUFMIE1PRFVMRSBBUEkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQoJZnVuY3Rpb24gZ2V0X21vZHByZWZzKCl7DQoJCS8vIGFycmF5KCdwcmVmZXJlbmNlX25hbWUnLHZhbHVlX29uX2luc3RhbGwpOw0KCQlyZXR1cm4gYXJyYXkoDQoJCQkJYXJyYXkoJ2F1dG9yZWRpcmVjdF9ob21lJyx0cnVlKSwNCgkJCQlhcnJheSgnYXV0b3JlZGlyZWN0X2FsbCcsZmFsc2UpLAkJDQoJCQkJYXJyYXkoJ2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2hvbWUnLHRydWUpLA0KCQkJCWFycmF5KCdjb29raWVzX2F1dG9yZWRpcmVjdF9hbGwnLGZhbHNlKSwNCgkJCQlhcnJheSgnaGllcmFyY2h5X3JlZGlyZWN0Jyx0cnVlKSwNCgkJCQlhcnJheSgnY3VycmVudF9saW5rJyxmYWxzZSksDQoJCQkJYXJyYXkoJ2RlZmF1bHRfaGlkZScsdHJ1ZSksDQoJCQkJYXJyYXkoJ2RlZmF1bHRfdHJhbnNsYXRlJyx0cnVlKSwNCgkJCQlhcnJheSgnaGlkZV9taXNzaW5nZW50cmllcycsZmFsc2UpLA0KCQkJCWFycmF5KCd3eXNpd3lnJyxmYWxzZSkNCgkJCQkpOw0KCX0NCg0KCWZ1bmN0aW9uIHBsY3JlYXRlYWxpYXMoJG5hbWUpew0KCQkvLyBmaWx0ZXIga2V5cyBmb3IgbGFuZ3VhZ2UgZW50cmllcw0KCQkvLyBhcyBhIHN1Z2dlc3Rpb24gZnJvbSBBTVQsIHRoZSBmaXJzdCBwYXJ0IGRlYWxzIHdpdGggc21hcnQgcXVvdGVzDQogCQkkc2VhcmNoID0gYXJyYXkoY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTgpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5OSksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDljKSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OWQpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5MyksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk0KSk7DQogCQkkbmFtZSA9IHN0cl9yZXBsYWNlKCRzZWFyY2gsICIiLCAkbmFtZSk7DQogCQkvLyB0aGUgc2Vjb25kIHBhcnQgdXNlcyB0aGUgY21zIHZlcnNpb24NCiAJCSRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJG5hbWUsIGZhbHNlKTsNCiAJCXJldHVybiAkYWxpYXM7DQoJfSANCg0KCWZ1bmN0aW9uIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkPS0xKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkNCgkJc3dpdGNoKCRhY3Rpb24pew0KCQkJY2FzZSAic2l0ZW1hcCI6DQoJCQkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKSByZXR1cm4gZmFsc2U7DQoJCQkJJGhpZXJNYW5hZ2VyID0gJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsNCgkJCQkkaGllcmFyY2h5ID0gJGhpZXJNYW5hZ2VyLT5nZXROb2RlQnlJZCgkdGhpcy0+Y3VycmVudF9sYW5ndWFnZVsncm9vdF9pZCddKTsNCg0KCQkJCWlmICgkaGllcmFyY2h5ICYmICRoaWVyYXJjaHktPmhhc0NoaWxkcmVuKCkpew0KCQkJCQllY2hvICc8dWwgY2xhc3M9InNpdGVtYXAiPic7DQoJCQkJCSRwYWdlbGlzdCA9IGFycmF5KCk7DQoJCQkJCWZvcmVhY2ggKCRoaWVyYXJjaHktPmdldENoaWxkcmVuKCkgYXMgJG5vZGUpCSR0aGlzLT5lY2hvX2xpbmUoJG5vZGUpOw0KCQkJCQllY2hvICc8L3VsPic7DQoJCQkJfQkNCgkJCQlicmVhazsJCQ0KCQkJY2FzZSAiZGVmYXVsdGFkbWluIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZGVmYXVsdGFkbWluLnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJtZW51IjoNCgkJCQlyZXF1aXJlICJhY3Rpb24ubWVudS5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAibW92ZXNvbWV0aGluZyI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLm1vdmVzb21ldGhpbmcucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImVkaXRsYW5nIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZWRpdGxhbmcucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImVkaXRlbnRyaWVzIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZWRpdGVudHJpZXMucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImVkaXRlbnRyeSI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLmVkaXRlbnRyeS5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZWRpdFRlbXBsYXRlIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZWRpdFRlbXBsYXRlLnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJ0b2dnbGVhY3RpdmUiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImxhbmdjb2RlIl0pKXsNCgkJCQkJJG5ld3ZhbCA9IGlzc2V0KCRwYXJhbXNbIm5ld3ZhbCJdKT8kcGFyYW1zWyJuZXd2YWwiXTowOw0KCQkJCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmd1YWdlcyBTRVQgYWN0aXZlPT8gV0hFUkUgbGFuZ2NvZGU9PyBMSU1JVCAxIjsNCgkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5ld3ZhbCwkcGFyYW1zWyJsYW5nY29kZSJdKSk7DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidG9nZ2xlZGVmYXVsdCI6DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkZWZhdWx0X2xhbmd1YWdlIiwkcGFyYW1zWyJsYW5nY29kZSJdKTsNCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgImNoYW5nZXNldHRpbmdzIjoNCgkJCQkkbW9kcHJlZnMgPSAkdGhpcy0+Z2V0X21vZHByZWZzKCk7DQoJCQkJZm9yZWFjaCgkbW9kcHJlZnMgYXMgJHByZWYpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRwcmVmWzBdLCBpc3NldCgkcGFyYW1zWyRwcmVmWzBdXSkpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+InNldHRpbmdzIiwgIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZGVsZXRldHBsIjoNCgkJCQkkbmV3cGFyYW1zID0gYXJyYXkoImFjdGl2ZV90YWIiPT4idGVtcGxhdGVzIik7DQoJCQkgICAgaWYoaXNzZXQoJHBhcmFtc1sidHBsbmFtZSJdKSAmJiAkdGhpcy0+RGVsZXRlVGVtcGxhdGUoJHBhcmFtc1sidHBsbmFtZSJdKSkJICAgJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2U+Il0gPSAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRuZXdwYXJhbXMpOw0KCQkJCWJyZWFrOw0KDQoJCQljYXNlICJkZWZhdWx0IjoNCgkJCWRlZmF1bHQ6DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1sic2hvdyJdKSl7DQoJCQkJCSRvdXRwdXQgPSAkdGhpcy0+cmV0cmlldmVfdHJhbnNsYXRpb24oJHBhcmFtc1sic2hvdyJdKTsNCgkJCQkJaWYoaXNzZXQoJHBhcmFtc1siYXNzaWduIl0pICYmICRwYXJhbXNbImFzc2lnbiJdICE9ICIiKXsNCgkJCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigkcGFyYW1zWyJhc3NpZ24iXSwkb3V0cHV0KTsNCgkJCQkJfWVsc2V7DQoJCQkJCQllY2hvICRvdXRwdXQ7DQoJCQkJCX0NCgkJCQl9DQoJCQkJYnJlYWs7DQoJCX0NCg0KCX0NCgkNCglmdW5jdGlvbiBnZXRsYW5ndWFnZXMoJGluYWN0aXZlPWZhbHNlKXsNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKQkkdGhpcy0+cmV0cmlldmVfbGFuZ3VhZ2VzKCk7DQoJCXJldHVybgkkaW5hY3RpdmU/JHRoaXMtPmFsbF9sYW5ndWFnZXM6JHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXM7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGNvdW50c29tZXRoaW5nKCR0YWJsZW5hbWUsJHdoYXQ9ImlkIiwkd2hlcmU9YXJyYXkoKSl7DQoJCS8vIHJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBhIHRhYmxlDQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJHdoZXJlc3RyaW5nID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHdoZXJlIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIFdIRVJFICI6IiBBTkQgIikuJGtleS4iPT8iOw0KCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCX0NCgkJJHF1ZXJ5ID0gIlNFTEVDVCBDT1VOVCgkd2hhdCkgb3VyY291bnQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsXyR0YWJsZW5hbWUiLiR3aGVyZXN0cmluZzsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQlpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJcmV0dXJuICRyb3dbIm91cmNvdW50Il07DQoJCX1lbHNlew0KCQkJcmV0dXJuIDA7DQoJCX0NCgl9CQ0KCQ0KCWZ1bmN0aW9uIGdldEZpbGVDb250ZW50KCRmaWxlbmFtZSl7DQoJCSRmaWxlcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGZpbGVuYW1lOw0KCQlpZihmaWxlX2V4aXN0cygkZmlsZXBhdGgpKXsNCgkJCSRmaGFuZGxlID0gZm9wZW4oJGZpbGVwYXRoLCAicisiKTsNCgkJCSRjb250ZW50ID0gZnJlYWQoJGZoYW5kbGUsIGZpbGVzaXplKCRmaWxlcGF0aCkpOw0KCQkJcmV0dXJuICRjb250ZW50Ow0KCQl9ZWxzZXsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCX0NCgkNCglmdW5jdGlvbiByZXRyaWV2ZV9wYWdlX2xhbmcoKXsNCgkJLy8gcmV0cmlldmUgcm9vdCBpZA0KCQlpZighJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMpCSR0aGlzLT5yZXRyaWV2ZV9sYW5ndWFnZXMoKTsNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKQlyZXR1cm4gZmFsc2U7DQoJCWZvcmVhY2goJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMgYXMgJG9uZWxhbmcpew0KCQkJaWYoJG9uZWxhbmdbInJvb3RfaWQiXSA9PSAkcm9vdF9pZCl7DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUgPSAkb25lbGFuZ1sibGFuZ2NvZGUiXTsNCgkJCQkkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSA9ICRvbmVsYW5nOw0KCQkJfQ0KCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZV9sYW5nIiwgJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImN1cnJlbnRfbGFuZ3VhZ2UiLCAkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSk7DQoJfQ0KDQoJZnVuY3Rpb24gcmV0cmlldmVfbGFuZ3VhZ2VzKCl7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmd1YWdlcyBPUkRFUiBCWSBpdGVtX29yZGVyIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQkkYWxsID0gYXJyYXkoKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGFsbFskcm93WyJsYW5nY29kZSJdXSA9ICRyb3c7DQoJCQlpZigkcm93WyJhY3RpdmUiXSkJJG91dHB1dFskcm93WyJsYW5nY29kZSJdXSA9ICRyb3c7DQoJCX0NCgkJJHRoaXMtPmFsbF9sYW5ndWFnZXMgPSAkYWxsOw0KCQkkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcyA9ICRvdXRwdXQ7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGFkbWluX3JldHJpZXZlX2xhbmd1YWdlcygkaWQsICRyZXR1cm5pZCl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkZGVmYXVsdGxhbmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdF9sYW5ndWFnZSIsIGZhbHNlKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMgT1JERVIgQlkgaXRlbV9vcmRlciI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgU3RkQ2xhc3MoKTsNCgkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSRpdGVtLT4ka2V5ID0gJHZhbHVlOw0KCQkJfQ0KCQkJJG1vdmVwYXJhbXMgPSBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUsImN1cnJlbnRvcmRlciI9PiRpdGVtLT5pdGVtX29yZGVyKTsNCgkJCSRpdGVtLT5uYW1lbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRsYW5nIiwgJHJldHVybmlkLCAkaXRlbS0+bmFtZSwgYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlKSk7DQoJCQkkaXRlbS0+Y29kZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0bGFuZyIsICRyZXR1cm5pZCwgJGl0ZW0tPmxhbmdjb2RlLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUpKTsNCgkJCSRpdGVtLT5lZGl0ZW50cmllcyA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRlbnRyaWVzIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygiZWRpdF9lbnRyaWVzIiksIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSkpOw0KCQkJJGl0ZW0tPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZiIsbGFuZygiZGVsZXRlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4iZGVsZXRlIiksJG1vdmVwYXJhbXMpLCAkdGhpcy0+TGFuZygicHJvbXB0X2RlbGV0ZWxhbmd1YWdlIiwgc3RyX3JlcGxhY2UoIiciLCJcJyIsJGl0ZW0tPm5hbWUpKSk7DQoJCQkkaXRlbS0+YWN0aW9ucyA9ICRpdGVtLT5lZGl0ZW50cmllcy4iICIuJGl0ZW0tPmRlbGV0ZWxpbms7DQoJCQkkaXRlbS0+bW92ZXVwbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9hcnJvdy11LmdpZiIsbGFuZygidXAiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgibW92ZSI9PiJ1cCIpLCRtb3ZlcGFyYW1zKSk7DQoJCQkkaXRlbS0+bW92ZWRvd25saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZXNvbWV0aGluZyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2Fycm93LWQuZ2lmIixsYW5nKCJkb3duIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4iZG93biIpLCRtb3ZlcGFyYW1zKSk7DQoJCQkkaXRlbS0+bW92ZWxpbmtzID0gJGl0ZW0tPm1vdmV1cGxpbmsgLiIgIi4gJGl0ZW0tPm1vdmVkb3dubGluazsNCgkJCWlmKCRkZWZhdWx0bGFuZyA9PSAkaXRlbS0+bGFuZ2NvZGUpew0KCQkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3RydWUuZ2lmIiwidHJ1ZSIsIiIsIiIsInN5c3RlbWljb24iKTsNCgkJCX1lbHNlew0KCQkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlZGVmYXVsdCIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsbGFuZygic2V0dHJ1ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSkpOw0KCQkJfQ0KCQkJaWYoJGl0ZW0tPmFjdGl2ZSl7DQoJCQkJJGl0ZW0tPnRvZ2dsZWFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZWFjdGl2ZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3RydWUuZ2lmIixsYW5nKCJzZXRmYWxzZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSwgIm5ld3ZhbCI9PjApKTsNCgkJCX1lbHNlew0KCQkJCSRpdGVtLT50b2dnbGVhY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGVhY3RpdmUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9mYWxzZS5naWYiLGxhbmcoInNldHRydWUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUsICJuZXd2YWwiPT4xKSk7DQoJCQl9DQoJCQlhcnJheV9wdXNoKCRvdXRwdXQsICRpdGVtKTsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoJDQoJZnVuY3Rpb24gZ2V0X2xhbmd1YWdlX2RldGFpbHMoJGxhbmdjb2RlKXsNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ3VhZ2VzIFdIRVJFIGxhbmdjb2RlPT8iOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCgkJaWYoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgU3RkQ2xhc3MoKTsNCgkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSRpdGVtLT4ka2V5ID0gJHZhbHVlOw0KCQkJfQ0KCQl9ZWxzZXsNCgkJCSRpdGVtID0gZmFsc2U7DQoJCX0NCgkJcmV0dXJuICRpdGVtOw0KCX0NCgkNCglmdW5jdGlvbiByZXRyaWV2ZV9sYW5nZW50cmllcygpew0KCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpCSR0aGlzLT5yZXRyaWV2ZV9wYWdlX2xhbmcoKTsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKQlyZXR1cm4gZmFsc2U7DQoJCSRkZWZsYW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHRfbGFuZ3VhZ2UiLGZhbHNlKTsNCgkJJHBhcnRpYWxfaW1wb3J0ID0gZmFsc2U7DQoJCWlmKCRkZWZsYW5nICYmICRkZWZsYW5nICE9ICR0aGlzLT5jdXJyZW50X2xhbmd1YWdlICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0X3RyYW5zbGF0ZSIsZmFsc2UpKXsNCgkJCSRwYXJ0aWFsX2ltcG9ydCA9IHRydWU7DQoJCQkkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllcyA9ICR0aGlzLT5sb2FkX2xhbmdlbnRyaWVzKCRkZWZsYW5nKTsNCgkJfQ0KCQkkY3VycmVudF9lbnRyaWVzID0gJHRoaXMtPmxvYWRfbGFuZ2VudHJpZXMoJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpOw0KCQlpZigkcGFydGlhbF9pbXBvcnQpew0KCQkJZm9yZWFjaCgkY3VycmVudF9lbnRyaWVzIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJaWYoJHZhbHVlICYmICR2YWx1ZSAhPSAiIikJJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXNbJGtleV0gPSAkdmFsdWU7DQoJCQl9DQoJCX1lbHNlew0KCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXMgPSAkY3VycmVudF9lbnRyaWVzOw0KCQl9DQoJfQ0KCQ0KCWZ1bmN0aW9uIGxvYWRfbGFuZ2VudHJpZXMoJGxhbmcpew0KCQlpZighJHRoaXMtPmlzX2xhbmd1YWdlKCRsYW5nKSkJcmV0dXJuIGZhbHNlOw0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCBsYW5na2V5cy5jYXB0aW9uIGNhcHRpb24sIGxhbmdlbnRyaWVzLnZhbHVlIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5cyBsYW5na2V5cyBMRUZUIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyBsYW5nZW50cmllcyBPTiBsYW5na2V5cy5zdHJpbmdpZCA9IGxhbmdlbnRyaWVzLnN0cmluZ2lkIFdIRVJFIGxhbmdlbnRyaWVzLmxhbmdjb2RlPT8iOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRsYW5nKSk7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkb3V0cHV0WyRyb3dbImNhcHRpb24iXV0gPSAkcm93WyJ2YWx1ZSJdPyRyb3dbInZhbHVlIl06IiI7DQoJCX0NCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGlzX2xhbmd1YWdlKCRjb2RlKXsNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKQkkdGhpcy0+cmV0cmlldmVfbGFuZ3VhZ2VzKCk7DQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykJcmV0dXJuIGZhbHNlOw0KCQkkcmVzdWx0ID0gaXNzZXQoJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXNbJGNvZGVdKTsNCgkJaWYoISRyZXN1bHQpIGVjaG8gJGNvZGUuJyBpcyBub3QgYSBsYW5ndWFnZSc7DQoJCXJldHVybiAkcmVzdWx0Ow0KCX0NCgkNCglmdW5jdGlvbiByZXRyaWV2ZV90cmFuc2xhdGlvbigka2V5KXsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzKQkkdGhpcy0+cmV0cmlldmVfbGFuZ2VudHJpZXMoKTsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzKQlyZXR1cm4gZmFsc2U7DQoJCWlmKGlzc2V0KCR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzWyRrZXldKSAmJiAgJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXNbJGtleV0gIT0gIiIpew0KCQkJcmV0dXJuICR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzWyRrZXldOw0KCQl9ZWxzZWlmKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgiaGlkZV9taXNzaW5nZW50cmllcyIsZmFsc2UpKXsNCgkJCXJldHVybiAiQWRkIG1lOiAiLiRrZXkuIiAoIi4kdGhpcy0+Y3VycmVudF9sYW5ndWFnZS4iKSI7DQoJCX1lbHNlew0KCQkJcmV0dXJuICIiOw0KCQl9DQoJfQ0KCQ0KCWZ1bmN0aW9uIGFzc2lnbl9wYWdlX2xhbmcoKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQlnbG9iYWwgJHNtYXJ0eTsNCg0KCQkkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCQkkcm9vdF9pZCA9ICRnQ21zLT52YXJpYWJsZXNbJ2NvbnRlbnRfaWQnXTsNCgkJJGN1cnJlbnROb2RlID0gJiRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHJvb3RfaWQpOw0KCQl3aGlsZSggaXNzZXQoJGN1cnJlbnROb2RlKSAmJiAkY3VycmVudE5vZGUtPmdldExldmVsKCkgPiAwICl7DQoJCQkkY3VycmVudE5vZGUgPSYgJGN1cnJlbnROb2RlLT5nZXRQYXJlbnROb2RlKCk7DQoJCQkkcm9vdF9pZCA9ICRjdXJyZW50Tm9kZS0+Z2V0SWQoKTsJLy8gw4AgVkVSSUZJRVINCgkJfQ0KCQkkbGFuZ3VhZ2VzID0gJHRoaXMtPmdldGxhbmd1YWdlcygpOw0KCQkkcGFnZWxhbmcgPSBmYWxzZTsNCgkJZm9yZWFjaCgkbGFuZ3VhZ2VzIGFzICRsYW5ndWFnZSl7DQoJCQlpZigkbGFuZ3VhZ2VbJ3Jvb3RfaWQnXSA9PSAkcm9vdF9pZCl7DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UgPSAkbGFuZ3VhZ2U7DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUgPSAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ107DQoJCQl9DQoJCX0NCgkJJHNtYXJ0eS0+YXNzaWduKCdwYWdlX2xhbmcnLCR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKTsNCgkJJHNtYXJ0eS0+YXNzaWduKCdwYWdlX2xhbmdfaW5mbycsJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpOw0KCX0NCgkNCglmdW5jdGlvbiBhdXRvX3JlZGlyZWN0KCl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJLy8gcmVkaXJlY3RzIHRvIHRoZSB1c2VyIGxhbmd1YWdlIHdoZW4gYSB1cmwgaXMgcmVxdWVzdGVkDQoJCSRwcmVmX2Jyb3dzZXJfaG9tZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhdXRvcmVkaXJlY3RfaG9tZSIpOw0KCQkkcHJlZl9icm93c2VyX2FsbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhdXRvcmVkaXJlY3RfYWxsIik7DQoJCSRwcmVmX2Nvb2tpZV9ob21lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImNvb2tpZXNfYXV0b3JlZGlyZWN0X2hvbWUiKTsNCgkJJHByZWZfY29va2llX2FsbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb29raWVzX2F1dG9yZWRpcmVjdF9hbGwiKTsNCgkJaWYoISRwcmVmX2Nvb2tpZV9ob21lICYmICEkcHJlZl9jb29raWVfYWxsICYmICEkcHJlZl9icm93c2VyX2hvbWUgJiYgISRwcmVmX2Jyb3dzZXJfYWxsKQlyZXR1cm4gZmFsc2U7DQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSkJJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKQlyZXR1cm4gZmFsc2U7DQoJCSRwYWdlaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWydjb250ZW50X2lkJ107DQoJCSRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKCk7DQoJCSRpc19ob21lcGFnZSA9IGZhbHNlOw0KCQkkbGFuZ2NvZGVzID0gYXJyYXkoKTsNCgkJJHRydW5jYXRlZCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGxhbmd1YWdlcyBhcyAkbGFuZ3VhZ2Upew0KCQkJYXJyYXlfcHVzaCgkbGFuZ2NvZGVzLCRsYW5ndWFnZVsnbGFuZ2NvZGUnXSk7DQoJCQkkdHJ1bmNhdGVkW3N1YnN0cigkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ10sMCwyKV0gPSAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ107DQoJCQlpZigkbGFuZ3VhZ2VbJ2RlZmF1bHRfaWQnXSA9PSAkcGFnZWlkKQkkaXNfaG9tZXBhZ2UgPSB0cnVlOw0KCQl9DQoJCSRjb29raWUgPSAoJGlzX2hvbWVwYWdlICYmICRwcmVmX2Nvb2tpZV9ob21lKSB8fCAkcHJlZl9jb29raWVfYWxsOw0KCQkkYnJvd3NlciA9ICgkaXNfaG9tZXBhZ2UgJiYgJHByZWZfYnJvd3Nlcl9ob21lKSB8fCAkcHJlZl9icm93c2VyX2FsbDsNCgkJaWYoISRjb29raWUgJiYgISRicm93c2VyKQlyZXR1cm4gZmFsc2U7DQoNCgkJLy8gcmV0cmlldmUgdXNlciBsYW5ndWFnZSA6DQoJCSR1c3JsYW5nID0gZmFsc2U7DQoJCWlmKGlzc2V0KCRfQ09PS0lFWyd1c3JsYW5nJ10pICYmICRjb29raWUgJiYgaW5fYXJyYXkoJF9DT09LSUVbJ3VzcmxhbmcnXSwgJGxhbmdjb2Rlcykpew0KCQkJJHVzcmxhbmcgPSAkX0NPT0tJRVsndXNybGFuZyddOw0KCQl9ZWxzZWlmKCRicm93c2VyKXsJCQkNCgkJCSRsYW5ndWFnZXMgPSBzdHJ0b2xvd2VyKCAkX1NFUlZFUlsiSFRUUF9BQ0NFUFRfTEFOR1VBR0UiXSApOw0KCQkJJGxhbmd1YWdlcyA9IHN0cl9yZXBsYWNlKCAnICcsICcnLCAkbGFuZ3VhZ2VzICk7DQoJCQkkbGFuZ3VhZ2VzID0gZXhwbG9kZSggIiwiLCAkbGFuZ3VhZ2VzICk7DQoJCQkkbGFuZ3VhZ2UgPSBzdWJzdHIoICRsYW5ndWFnZXNbMF0sIDAsIDIgKTsNCgkJCWlmKGlzc2V0KCR0cnVuY2F0ZWRbJGxhbmd1YWdlXSkpCSR1c3JsYW5nID0gJHRydW5jYXRlZFskbGFuZ3VhZ2VdOw0KCQl9DQoNCgkJaWYoJHVzcmxhbmcgJiYgKCRwcmVmX2Nvb2tpZV9hbGwgfHwgJHByZWZfY29va2llX2hvbWUpICkJc2V0Y29va2llKCd1c3JsYW5nJywkdXNybGFuZyx0aW1lKCkrODY0MDAqMzY1LCcvJyk7DQoJCXNldGNvb2tpZSgndXNybGFuZycsJHVzcmxhbmcsdGltZSgpKzg2NDAwKjM2NSwnLycpOw0KDQoJCWlmKCR1c3JsYW5nICYmICR1c3JsYW5nICE9ICR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKXsNCgkJCSRkZXN0cGFnZSA9ICR0aGlzLT5nZXRfdXJscygkdXNybGFuZyk7DQoJCQlpZihpc3NldCgkZGVzdHBhZ2VbJHVzcmxhbmddKSkJaGVhZGVyKCJsb2NhdGlvbjogIi4kZGVzdHBhZ2VbJHVzcmxhbmddKTsNCgkJfQkJDQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF91cmxzKCRkZXNpcmVkX2xhbmc9ZmFsc2Upew0KCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGllcmFyY2h5X3JlZGlyZWN0Jyx0cnVlKSl7DQoJCQlyZXR1cm4gJHRoaXMtPmhpZXJhcmNoeV9nZXRfbGlua3MoJGRlc2lyZWRfbGFuZyk7DQoJCX1lbHNlew0KCQkJcmV0dXJuICR0aGlzLT5tYW51YWxfZ2V0X2xpbmtzKCRkZXNpcmVkX2xhbmcpOw0KCQl9DQoJfQ0KCQ0KCWZ1bmN0aW9uIGhpZXJhcmNoeV9nZXRfbGlua3MoJGRlc2lyZWRfbGFuZz1mYWxzZSl7DQoJCS8vIHJldHJpZXZlcyB0aGUgdXJsIHRvIHRoZSBwYWdlIGluIHRoZSBkZXNpcmVkIGxhbmd1YWdlKHMpIGVxdWl2YWxlbnQgdG8gdGhlIGN1cnJlbnQgcGFnZSwNCgkJLy8gYmFzZWQgb24gaGllcmFyY2h5DQoJCS8vIGlmICRkZXNpcmVkX2xhbmcgaXMgZmFsc2UsIGxpbmtzIGZvciBhbGwgYWN0aXZlIGxhbmd1YWdlcyB3aWxsIGJlIHJldHVybmVkDQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcyB8fCBjb3VudCgkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykgPT0gMCkJcmV0dXJuIGZhbHNlOw0KCQlnbG9iYWwgJGdDbXM7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkYmFzZV91cmwgPSAkdGhpcy0+Z2V0X2Jhc2VfdXJsKCk7DQoJCSRkZWZhdWx0X2hpZGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9oaWRlJywgZmFsc2UpOw0KCQlpZigkZGVzaXJlZF9sYW5nICYmIGlzc2V0KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKSl7DQoJCQkkbGFuZ3MgPSBhcnJheSgkZGVzaXJlZF9sYW5nPT4kdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlc1skZGVzaXJlZF9sYW5nXSk7DQoJCX1lbHNlew0KCQkJJGxhbmdzID0gJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXM7DQoJCX0NCgkJJG1vZHVsZV9saW5rcyA9ICR0aGlzLT5tb2R1bGVfZ2V0X3VybCgpOw0KCQlpZihjb3VudCgkbW9kdWxlX2xpbmtzKSA9PSBjb3VudCgkbGFuZ3MpICYmIGlzc2V0KCRtb2R1bGVfbGlua3NbJGxhbmdbMF1bJ2xhbmdjb2RlJ11dKSkJcmV0dXJuICRtb2R1bGVfbGlua3M7DQoJCSRjdXJyZW50X3Bvc2l0aW9uID0gZXhwbG9kZSgnLicsICRnQ21zLT52YXJpYWJsZXNbJ3Bvc2l0aW9uJ10pOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCgkJJHJvb3RpZHMgPSBhcnJheSgpOw0KCQkkaGllcmFyY2hpZXMgPSBhcnJheSgpOw0KCQkkd2hlcmUgPSAiIjsNCgkJJHF1ZXJ5X3ZhbHVlcyA9IGFycmF5KCk7DQoJCSRkZWZhdWx0X3BhdGhzID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkbGFuZ3MgYXMgJG9uZWxhbmcpew0KCQkJJG91dHB1dFskb25lbGFuZ1snbGFuZ2NvZGUnXV0gPSBhcnJheSgnbWVudV90ZXh0Jz0+IiIsICduYW1lJz0+IiIsICd1cmwnPT4iIik7DQoJCQkkcm9vdGlkc1skb25lbGFuZ1sncm9vdF9pZCddXSA9ICRvbmVsYW5nWydsYW5nY29kZSddOw0KCQkJJHdoZXJlIC49ICgkd2hlcmUgPT0gIiI/IiI6IiBPUiAiKS4iY29udGVudF9pZD0/IjsNCgkJCWFycmF5X3B1c2goJHF1ZXJ5X3ZhbHVlcywgJG9uZWxhbmdbJ3Jvb3RfaWQnXSk7DQoJCX0NCgkJJHF1ZXJ5ID0gIlNFTEVDVCBjb250ZW50X25hbWUsIG1lbnVfdGV4dCwgY29udGVudF9pZCwgaGllcmFyY2h5LCBoaWVyYXJjaHlfcGF0aCBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkuImNvbnRlbnQgV0hFUkUgKCIuJHdoZXJlLiIpIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHF1ZXJ5X3ZhbHVlcyk7DQoJCSRxdWVyeV92YWx1ZXMgPSBhcnJheSgpOw0KCQkkd2hlcmUgPSAiIjsNCgkJJG5ld3BhdGhzID0gYXJyYXkoKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJHBvc2l0aW9uID0gZXhwbG9kZSgnLicsJHJvd1snaGllcmFyY2h5J10pOw0KCQkJJG5ld3Bvc2l0aW9uID0gJGN1cnJlbnRfcG9zaXRpb247DQoJCQkkbmV3cG9zaXRpb25bMF0gPSAkcG9zaXRpb25bMF07DQoJCQkkbmV3X2hpZXJhcmNoeSA9IGltcGxvZGUoJy4nLCRuZXdwb3NpdGlvbik7DQoJCQkkaGllcmFyY2hpZXNbJHJvb3RpZHNbJHJvd1snY29udGVudF9pZCddXV0gPSAkbmV3X2hpZXJhcmNoeTsNCgkJCWFycmF5X3B1c2goJHF1ZXJ5X3ZhbHVlcywkbmV3X2hpZXJhcmNoeSk7DQoJCQkkbmV3cGF0aHNbJG5ld19oaWVyYXJjaHldID0gJHJvb3RpZHNbJHJvd1snY29udGVudF9pZCddXTsNCgkJCSRkZWZhdWx0X3BhdGhzWyRyb290aWRzWyRyb3dbJ2NvbnRlbnRfaWQnXV1dID0gYXJyYXkoInVybCI9PiRiYXNlX3VybC4kcm93WyJoaWVyYXJjaHlfcGF0aCJdLCAibmFtZSI9PiRyb3dbImNvbnRlbnRfbmFtZSJdLCAibWVudV90ZXh0Ij0+JHJvd1sibWVudV90ZXh0Il0pOw0KCQkJJHdoZXJlIC49ICgkd2hlcmUgPT0gIiI/IiI6IiBPUiAiKS4iaGllcmFyY2h5PT8iOw0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgY29udGVudF9pZCwgY29udGVudF9uYW1lLCBtZW51X3RleHQsIGhpZXJhcmNoeSwgaGllcmFyY2h5X3BhdGggRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSAoIi4kd2hlcmUuIikiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcXVlcnlfdmFsdWVzKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCSRvdXRwdXRbJG5ld3BhdGhzWyRyb3dbImhpZXJhcmNoeSJdXV0gPSBhcnJheSgidXJsIj0+JGJhc2VfdXJsLiRyb3dbImhpZXJhcmNoeV9wYXRoIl0sICJuYW1lIj0+JHJvd1siY29udGVudF9uYW1lIl0sICJtZW51X3RleHQiPT4kcm93WyJtZW51X3RleHQiXSk7DQoJCSRmaW5hbCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJG91dHB1dCBhcyAkbGFuZz0+JHZhbHVlKXsNCgkJCWlmKGlzc2V0KCRtb2R1bGVfbGlua3NbJGxhbmddKSl7DQoJCQkJJHZhbHVlWyJ1cmwiXSA9ICRtb2R1bGVfbGlua3NbJGxhbmddWyJ1cmwiXTsNCgkJCQkkdmFsdWVbIm5hbWUiXSA9ICRtb2R1bGVfbGlua3NbJGxhbmddWyJuYW1lIl07DQoJCQl9DQoJCQlpZigkdmFsdWVbInVybCJdID09ICIiICYmICRkZWZhdWx0X2hpZGUpew0KCQkJfWVsc2VpZigkdmFsdWVbInVybCJdID09ICIiKXsNCgkJCQkkZmluYWxbJGxhbmddID0gJGRlZmF1bHRfcGF0aHNbJGxhbmddOw0KCQkJfWVsc2V7DQoJCQkJJGZpbmFsWyRsYW5nXSA9ICR2YWx1ZTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGZpbmFsOw0KCX0NCgkNCgkNCglmdW5jdGlvbiBtYW51YWxfZ2V0X2xpbmtzKCRkZXNpcmVkX2xhbmc9ZmFsc2Upew0KCQkvLyByZXRyaWV2ZXMgdGhlIHVybCB0byB0aGUgcGFnZSBpbiB0aGUgZGVzaXJlZCBsYW5ndWFnZShzKSBlcXVpdmFsZW50IHRvIHRoZSBjdXJyZW50IHBhZ2UsDQoJCS8vIGJhc2VkIG9uIE1hcmNvcyBDcnV6IG1hbnVhbCBwcm9jZWR1cmUgKHNlZSBoZWxwKQ0KCQkvLyBpZiAkZGVzaXJlZF9sYW5nIGlzIGZhbHNlLCBsaW5rcyBmb3IgYWxsIGFjdGl2ZSBsYW5ndWFnZXMgd2lsbCBiZSByZXR1cm5lZA0KCQlpZighJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMgfHwgY291bnQoJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMpID09IDApCXJldHVybiBmYWxzZTsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJGJhc2VfdXJsID0gJHRoaXMtPmdldF9iYXNlX3VybCgpOw0KCQlpZigkZGVzaXJlZF9sYW5nICYmIGlzc2V0KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKSl7DQoJCQkkbGFuZ3MgPSBhcnJheSgkZGVzaXJlZF9sYW5nPT4kdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlc1skZGVzaXJlZF9sYW5nXSk7DQoJCX1lbHNlew0KCQkJJGxhbmdzID0gJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXM7DQoJCX0NCgkJJG1vZHVsZV9saW5rcyA9ICR0aGlzLT5tb2R1bGVfZ2V0X3VybCgpOw0KCQlpZihjb3VudCgkbW9kdWxlX2xpbmtzKSA9PSBjb3VudCgkbGFuZ3MpICYmIGlzc2V0KCRtb2R1bGVfbGlua3NbJGxhbmdbMF1bJ2xhbmdjb2RlJ11dKSkJcmV0dXJuICRtb2R1bGVfbGlua3M7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRsYW5ncyBhcyAkb25lbGFuZyl7DQoJCQkkb3V0cHV0WyRvbmVsYW5nWydsYW5nY29kZSddXSA9IGZhbHNlOw0KCQl9DQoJCSRidG5fdGV4dCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ1c2VfcGFnZV90aXRsZSIsZmFsc2UpPyIiOiRuZXdsYW5nWydtZW51X25hbWUnXTsNCg0KCQkvLyB3ZSByZXRyaWV2ZSB0aGUgYWx0ZXJuYXRpdmVzIGZyb20gdGhlIGNvbnRlbnQgYmxvY2sNCgkJJG90aGVyX2xhbmd1YWdlcyA9ICRnQ21zLT5zbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdvdGhlcl9sYW5ndWFnZXMnKTsNCgkJJGFsdGVybmF0aXZlcyA9IGFycmF5KCk7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCSR3aGVyZSA9ICIiOw0KCQlmb3JlYWNoICggZXhwbG9kZSgnOycsICRvdGhlcl9sYW5ndWFnZXMpIGFzICRvbmVsYW5nICl7DQoJCQkkd2hlcmUgLj0gKCR3aGVyZT09IiI/IiI6IiBPUiAiKS4iYWxpYXM9PyI7DQoJCQkkYWx0ZXJuYXRpdmVzW3N1YnN0cigkb25lbGFuZyw2KV0gPSBzdWJzdHIoJG9uZWxhbmcsMCw1KTsNCgkJCWFycmF5X3B1c2goJHdoZXJldmFsdWVzLCBzdWJzdHIoJG9uZWxhbmcsNikpOw0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgbWVudV90ZXh0LCBjb250ZW50X25hbWUsIGFsaWFzLCBoaWVyYXJjaHlfcGF0aCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJjb250ZW50IFdIRVJFICgiLiR3aGVyZS4iKSI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR3aGVyZXZhbHVlcyk7DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRvdXRwdXRbJGFsdGVybmF0aXZlc1skcm93WyJhbGlhcyJdXV0gPSBhcnJheSgidXJsIj0+JGJhc2VfdXJsLiRyb3dbImhpZXJhcmNoeV9wYXRoIl0sICJuYW1lIj0+JHJvd1siY29udGVudF9uYW1lIl0sICJtZW51X3RleHQiPT4kcm93WyJtZW51X3RleHQiXSk7DQoJCX0NCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfaGlkZScsIGZhbHNlKSkJcmV0dXJuICRvdXRwdXQ7DQoJCQ0KCQkvLyB3ZSBjaGVjayBmb3IgZGVmYXVsdCBhbHRlcm5hdGl2ZXMNCgkJJHdoZXJlID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCSRpZHRvbGFuZyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJG91dHB1dCBhcyAkbGFuZz0+JHBhdGgpew0KCQkJaWYoISRwYXRoKXsNCgkJCQkkd2hlcmUgLj0gKCR3aGVyZT09IiI/IiI6IiBPUiAiKS4iY29udGVudF9pZD0/IjsNCgkJCQlhcnJheV9wdXNoKCR3aGVyZXZhbHVlcywgJGxhbmdzWyRsYW5nXVsnZGVmYXVsdF9pZCddKTsNCgkJCQkkaWR0b2xhbmdbJGxhbmdzWyRsYW5nXVsnZGVmYXVsdF9pZCddXSA9ICRsYW5nOw0KCQkJfQ0KCQl9DQoJCWlmKCR3aGVyZSA9PSAiIikJcmV0dXJuICRvdXRwdXQ7DQoJCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIG1lbnVfdGV4dCwgY29udGVudF9uYW1lLCBjb250ZW50X2lkLCBoaWVyYXJjaHksIGhpZXJhcmNoeV9wYXRoIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSAoIi4kd2hlcmUuIikiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkd2hlcmV2YWx1ZXMpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkb3V0cHV0WyRpZHRvbGFuZ1skcm93WyJjb250ZW50X2lkIl1dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfYmFzZV91cmwoKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkcmVkaXJlY3Rpb24gPSBmYWxzZTsNCgkJaWYoaXNzZXQoJGdDbXMtPmNvbmZpZ1sidXJsX3Jld3JpdGluZyJdKSl7DQoJCQkvLyBjb3JlIDEuNiBvciBtb3JlDQoJCQkkcmVkaXJlY3Rpb24gPSAkZ0Ntcy0+Y29uZmlnWyJ1cmxfcmV3cml0aW5nIl07DQoJCX1lbHNlew0KCQkJLy8gY29yZSBiZWxvdyAxLjYNCgkJCWlmKCRnQ21zLT5jb25maWdbImFzc3VtZV9tb2RfcmV3cml0ZSJdKXsNCgkJCQkkcmVkaXJlY3Rpb24gPSAibW9kX3Jld3JpdGUiOw0KCQkJfWVsc2VpZighJGdDbXMtPmNvbmZpZ1siYXNzdW1lX21vZF9yZXdyaXRlIl0gJiYgJGdDbXMtPmNvbmZpZ1siaW50ZXJuYWxfcHJldHR5X3VybHMiXSl7DQoJCQkJJHJlZGlyZWN0aW9uID0gImludGVybmFsIjsNCgkJCX0NCgkJfQ0KCQkkYmFzZXVybCA9ICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ107DQoJCWlmKCRyZWRpcmVjdGlvbiA9PSAibW9kX3Jld3JpdGUiKXsNCgkJCSRiYXNldXJsIC49ICcvJzsNCgkJfWVsc2VpZigkcmVkaXJlY3Rpb24gPT0gImludGVybmFsIil7DQoJCQkkYmFzZXVybCAuPSAnL2luZGV4LnBocC8nOw0KCQl9ZWxzZXsNCgkJCSRiYXNldXJsIC49ICcvaW5kZXgucGhwPycuJGdDbXMtPmNvbmZpZ1sncXVlcnlfdmFyJ10uJz0nOw0KCQl9DQoJCXJldHVybiAkYmFzZXVybDsNCgl9DQoJDQoJZnVuY3Rpb24gbW9kdWxlX2dldF91cmwoKXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJCS8vIGV2ZW50dWFsbHksIHNvbWUgY3VzdG9tIGNvZGUgaGVyZSBjYW4gY2hlY2sgaWYgd2UgYXJlIGluIGEgbW9kdWxlIGFjdGlvbg0KCQkvLyBhbmQgcmV0cmlldmUgbGFuZ3VhZ2UgbGlua3MgZnJvbSB0aGUgbW9kdWxlDQoJfQ0KCQ0KfQ0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/changelog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VkVSU0lPTiAwLjM6CgktIGNoYW5nZWQgdGhlIGNvZGUgdG8gbWluaW1pemUgdGhlIGFtb3VudCBvZiBxdWVyaWVzCgktIHJlcGxhY2VkIGxpbmtzIHdpdGggdXJscwoKVkVSU0lPTiAwLjI6IGZpcnN0IHB1YmxpYyB2ZXJzaW9uCg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhMAAwAOeOAAAAADo6Oj09PT8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL6+vr+/v8DAwMHBwcLCwsTExMXFxcfHx8vLy83NzdDQ0NPT09fX1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAP8ALAAAAAAwADAAAAj+AMeUUXMGipAfPIYI8bFDx44fQGawYOHiRIoTJVKoSFGCxQwZMGTIiDFSBo0ZIUfGiPHiBZcvY+DAkXIEiY4eQIQAyQFRRwsUJz6IIGHiRNETKly4WKG0hYwXNmzQoEGyKkssXp4wUaIFjpksUZLs6IHDhg4WJVSsaNFiRQoUF1ewaKECxYoZO2romCFVxpAjQYL0uDEDTR0zU5pgOYPGCxcvNHncoGEixVuNP1G0gAGD5Yq6NoD88KGjRo0YOYIY+TvEBpoya7I8wWLGzZbbX7hw+WFDhVGkGlFQVEqSBowWNgLzAFKjhw6TPIQMMRKEjBgwYcyQccMmTh07drT+dLnSg4aMGjPotrDM4oVSvT168DDCBYkRJESKEDlShId8IdaBIUYYYaQBhhpirHGHGFlIgQMNN9yQwwwvxDBVDBc5VYMNPgSBBBhdZGHFE07wB0RgQQhRxhcCguFFFliU4cUZdFihxRNA9FBGGVnUQEMLSsFQQw44tPCCDD78MEQXYHyxhRa5ddEFdTmFQUYXXmzxRBJNSFGFFV50wQUWXWChBFdUjNEDDE21wNILGgJBxhhjgGGnnV1YUQUURUyRpRVXNLEEE1TAmEUWW0zBRBNFFMGllizI1QJF7bkQQ4RTkFFGGCyCoYUWV1RBRZdWTLHEEmdylQUXIkZRhBD++qmmnxAuaKaCWm3CMMOHZIThRW5bjBnqFElUEYUTTzSBhH5baWFFE8j+YEQROtjwVA4nwTBXCi5E6gIMPmzhBYFhcKGFF796YYURTSSBxBJHDIEfQjolsYQTSTARAw8s2EXXtyvJkAIJKaywAg1abAqGblisyuoVqFInhH1FKAQrDkKkaoQPQBCMggkUwfCCD5vB4JsKMUgxxoBiZKkFF1hqMQUUXUYhBRVSKLHEFErYMNFEJ4zQkQkZrcBmyd++wOYLLChhRhramdvFF190AUUUV0cxRRVYXIFFGFYUEQNwJhC1UcFszTBDt0bG0MINpgFxRRlkpJGGjHWDQYX+zVBQ8SUVWoz60hRIwCDCCSegcOtGbZmgAgw0AFEEDjIsm5MRSjQBBRhrSPFFGnBkEeKqXWgBYxNKXJ1FE1gD0Z5vIlRAQQUXgIDCByaEUMMNNnwwggtNHFTEfRz7QIQYYnBhZZinMyHFE3s3MYUWWOgAxA0lcMBBBhFAgMEFGGjgwfgggFACGmqYsQUYaGgRxRJDrIEdGGN058UVT1QxBRWFXiGmiPq7QQc0kAHxhcADFpBABCSwgQ6AwARrQAOdvICdMIihC2mggxvg0AYviEEPfOjDH+JwqC10QQxfIBNkoJCEKVxhCDkYgQY2wIENEFADE7BAGLizhjPMaQz+TDKDGt5gBjqFgQ118MMc+mCHJwAGBz7IQQ+E0AQagEAFPGBaBy5gAS5awAIaACMLhMC5NdytDChUwxjO0CQvkMEMb9iDH9jQBynIEAMWoIAEMMCBCTCAARVogAMoQIEHWOABEQDj7CoAAiSg725mWNERkmCF9WlBCVKo5BissIQZETFZOIBABihwgQlAoAIVyGMEurdABuRxAhwgAhrOUIaV1QkISPASFYYQBFRJgUxaIcMbwGAGCirBAwlggAMmgAEMZKCLEnAABCZAgQRKQANDgNpreiUGjhFhNWMBwiShEKInTHALYSjDGUBlgtkpEwIWCAEHLJBKDMiOAhv+2AEZzsAY7aBhNDqAmw50EIQMoOAGRBhLD77ZBCY4IQp7SxZgVBCCD2jgAg6QZiozgIENxGANbFiDG9oA0iAM4QejQcITpBABDHzgBTjIERBukgMg7EcJKEXIckDQQI5awJQRqEAHXLAjH9KtDEA4keT8p4UIcJGPJegBEoYwhB6kSAhCIIIQVDMEIvAgBzXIQAYusAF7SgACIRiDENHwGhR2gUBo7MIYFgABCdCTdhOoQAQ6QIMVaICPz7yAB1AQxSJ9YAJj/WleO2ADJqSBDKwCg3XQwAbukOEBEtCrXmd3AfBNIAKzk0BeG9iBD3BAA9xqQQcakFlCYsADrhH+CBhqeYUvsAEHIxiBAxqgAAc8oAEPMOQG6EnKCTyAlOHjQAc2cAE9MnOPE2jABMAXA+6kYQ1QyNwTrnBRxU7grBJYpGLvCQEINAABDAhucBeISgpM1wIYOC4ItBOGMURBczazwCofkNdUwpeAz3Sm9vjIge9VAAJ/RIABEJBX5GpgdiNwERfEMLMnIKEGFXBA9wDJUdqNtaOdhW/tQhCCBpaVAhB4wAIQgAAFgE+xHciCY8QgBS/BAAQgbq4FmLtjGm5ArATsYgcyUOAZ/rWLFuhABzyAAQcc4AAO2MB9QoUFKjhBBgO8QAXE2sy/dqCGF82Ajy3ggQ58L3wX3XL+R/8qZgwwoAAE+EEQzpSFKQhhBIf1qQXG2tkbfo8CHiiwYD9Q1gsAOXyl1J4N8+jMESTEoVGQXQT+2IAGJEABByBAiysd3MyGIIwZqIAGwpgCD/x41KVdbgFJOUAPuGANS3jCKTfwAQ+EWoHKRGQEHmDeBSjAAinIaEtrqIQLaG+5vgOBCAJt6CFz4ARjmAEQMHsBDSxXezU8rYm/F0YFWIEBCmBAAhzAAC544AMfkOcIQqDsMmughjQUQRU+/eLTvhufHGByR8s8vncfQAczHAEKNqCG0z4gAQugAAfwTGjTlm/JRSjrdy8wZLGmcrofkEAGal1aG1LgDDcQQL/0LjAEEoBgBCT4tAQWkOQll7bWHmCCBMKbQw40F8hlBUFnQ6DkEi95A4hQQBBC0IIlsHvduCtBCTIwyI4KbQQgOAIBFqDAJB971DRkNwk8kNsSlHnJD0DBF9QACMMNcANcD4EIlG5ym5N1AzQggAGe3FsFvn3J5UOBCEZAtBEomQQdSOshFrEDEJi2hiSuqNIdSAJCY6ADsrN5ASBwAAMMQAHhZoBdO/qBxpcAzyU4wQSYYAhFpMEDIBgfrcvHgbXXWu0gICDFXzCCDAihB0XgNhhR/+W86lcBBhCzB06wBTUU4twjWPayP5B6EnCgfCL46wUCAgA7]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWyJmcmllbmRseW5hbWUiXSA9ICJCYWJlbDogTXVsdGlsaW5ndWFsIHNpdGUiOw0KJGxhbmdbIm1vZGRlc2NyaXB0aW9uIl0gPSAiQWxsb3dzIHRoZSBtYW5hZ2VtZW50IG9mIChhbmQgbmF2aWdhdGlvbiB0aHJvdWdoKSBtdWx0aXBsZSBsYW5ndWFnZXMgZm9yIHRoZSBmcm9udGVuZC4iOw0KJGxhbmdbImFkbWluZGVzY3JpcHRpb24iXSA9ICJNYW5hZ2UgZnJvbnRlbmQgbGFuZ3VhZ2VzIGFuZCBtdWx0aWxpbmd1YWwgYmVoYXZpb3JzLiI7DQoNCiRsYW5nWyJhY3RpdmUiXSA9ICJBY3RpdmUiOwoKJGxhbmdbImxhbmd1YWdlIl0gPSAiTGFuZ3VhZ2UiOw0KJGxhbmdbImxhbmd1YWdlcyJdID0gIkxhbmd1YWdlcyI7DQokbGFuZ1siYWRkX2xhbmd1YWdlIl0gPSAiQWRkIGxhbmd1YWdlIjsKJGxhbmdbImFkZF9lbnRyeSJdID0gIkFkZCBhIG5ldyBsYW5ndWFnZSBlbnRyeSI7CiRsYW5nWyJlbnRyeSJdID0gIkxhbmd1YWdlIGVudHJ5IjsNCiRsYW5nWyJlZGl0X2xhbmd1YWdlIl0gPSAiRWRpdCBsYW5ndWFnZSI7CiRsYW5nWyJuYW1lIl0gPSAiTmFtZSI7CiRsYW5nWyJlbnRyeW5hbWUiXSA9ICJFbnRyeSBuYW1lICh1c2VkIHRvIGNhbGwgdGhpcyBsYW5ndWFnZSBlbnRyeSkiOwokbGFuZ1sibWVudV9uYW1lIl0gPSAiTWVudSBuYW1lIjsKJGxhbmdbImxhbmdjb2RlIl0gPSAiTGFuZ3VhZ2UgY29kZSI7CiRsYW5nWyJsYW5nY29kZV9wcm9tcHQiXSA9ICJMYW5ndWFnZSBjb2RlIChlZzogZW5fVVMgKSI7CiRsYW5nWyJyb290X2lkIl0gPSAiUm9vdCBwYWdlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGFuZ3VhZ2UiOwokbGFuZ1siZGVmYXVsdF9pZCJdID0gIkRlZmF1bHQgcGFnZSBmb3IgcmVkaXJlY3Rpb24gdG8gdGhpcyBsYW5ndWFnZSI7CiRsYW5nWyJsYW5nc2VsZWN0Il0gPSAiKG9wdGlvbmFsKSBBdXRvLWZpbGwgZm9yIHRoZSBmb2xsb3dpbmcgbGFuZ3VhZ2U6IjsKJGxhbmdbImlzZGVmYXVsdCJdID0gIkRlZmF1bHQ/IjsKJGxhbmdbImFjdGlvbnMiXSA9ICJBY3Rpb25zIjsKJGxhbmdbImFjdGl2ZSJdID0gIkFjdGl2ZSI7DQokbGFuZ1sicHJvbXB0X2RlbGV0ZWxhbmd1YWdlIl0gPSAiUmVhbGx5IGRlbGV0ZSB0aGlzIGxhbmd1YWdlICglcyk/IjsKCiRsYW5nWyJzdWJtaXQiXSA9ICJTdWJtaXQiOwokbGFuZ1siY2FuY2VsIl0gPSAiQ2FuY2VsIjsKJGxhbmdbImFwcGx5Il0gPSAiQXBwbHkiOw0KCiRsYW5nWyJlZGl0X2VudHJpZXMiXSA9ICJFZGl0IGxhbmd1YWdlIGVudHJpZXMiOwoKCgoNCiRsYW5nWyJ0ZW1wbGF0ZWhlbHAiXSA9ICc8dWw+CjxsaT4kbGFuZ3VhZ2VzIChhcnJheSBvZiAkbGFuZ3VhZ2UpPC9saT4NCjxsaT4kbGFuZ3VhZ2UtJmd0O25hbWU8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7Y29kZTwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDttZW51X25hbWU8L2xpPgo8bGk+JGxhbmd1YWdlLSZndDtwYWdlX25hbWU8L2xpPgo8bGk+JGxhbmd1YWdlLSZndDtwYWdlX21lbnVfdGV4dDwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDt1cmw8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7aXNfY3VycmVudDwvbGk+DQo8L3VsPic7CgkKLy8gR0VORVJBTAokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmF0ZSI7CiRsYW5nWyJ1bmFjdGl2YXRlIl0gPSAiVHVybiBvZmYiOwokbGFuZ1sic2VhcmNodGhpc3RhYmxlIl0gPSAiU2VhcmNoIHRoaXMgdGFibGUgZm9yOiI7CiRsYW5nWyJZZXMiXSA9ICJZZXMiOwokbGFuZ1siTm8iXSA9ICJObyI7CiRsYW5nWyJBY3Rpb25zIl0gPSAiQWN0aW9ucyI7CiRsYW5nWyJyZW9yZGVyIl0gPSAiUmVvcmRlciI7CiRsYW5nWyJsaXN0dGVtcGxhdGUiXSA9ICJMaXN0IHRlbXBsYXRlIGZvciI7CiRsYW5nWyJ0ZW1wbGF0ZXMiXSA9ICJNZW51IHRlbXBsYXRlcyI7CiRsYW5nWyJ0ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIjsKJGxhbmdbImRlZmF1bHR0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgdGVtcGxhdGUiOwokbGFuZ1sidGVtcGxhdGV2YXJzIl0gPSAiVGVtcGxhdGUgdmFyaWFibGVzIjsKJGxhbmdbImVkaXR0ZW1wbGF0ZSJdID0gIkVkaXQgdGVtcGxhdGUiOwokbGFuZ1siZGVmdGVtcGxhdGVmb3IiXSA9ICJEZWZhdWx0IGxpc3QgdGVtcGxhdGUgZm9yIGxldmVsICI7CiRsYW5nWyJkZWZkZXRhaWx0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIjsKJGxhbmdbImRlZnNlYXJjaHJlc3VsdHN0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgdGVtcGxhdGUgZm9yIHNlYXJjaCByZXN1bHRzIjsKJGxhbmdbInVzZWxldmVsbGlzdHRwbCJdID0gIlVzZSB0aGUgbGlzdCB0ZW1wbGF0ZSBvZiB0aGUgYXBwcm9wcmlhdGUgbGV2ZWwiOwokbGFuZ1siYWRkdGVtcGxhdGUiXSA9ICJBZGQgdGVtcGxhdGUiOwokbGFuZ1siZmlsdGVyYnkiXSA9ICJGaWx0ZXIgYnkiOwokbGFuZ1sic2hvd2FsbCJdID0gIlNob3cgYWxsIChubyBmaWx0ZXIpIjsKJGxhbmdbImZpZWxkb3B0aW9ucyJdID0gIkZpZWxkIG9wdGlvbnMiOwokbGFuZ1siYWRkb3B0aW9uIl0gPSAiQWRkIGFuIG9wdGlvbiI7CiRsYW5nWyJtb2RpZnlhbm9wdGlvbiJdID0gIk1vZGlmeSBhbiBvcHRpb24iOwokbGFuZ1sibWVzc2FnZV9kZWxldGVkIl0gPSAiRWxlbWVudCBkZWxldGVkIjsKJGxhbmdbIm1lc3NhZ2VfbW9kaWZpZWQiXSA9ICJNb2RpZmljYXRpb24gc2F2ZWQiOwokbGFuZ1sid2FybmluZ190YWIiXSA9ICJOb3RpY2U6IFNhdmUgY2hhbmdlcyBpbiBvdGhlciB0YWJzIGJlZm9yZSB3b3JraW5nIGluIHRoaXMgb25lLi4uIjsKJGxhbmdbImVycm9yX21pc3NnaW52YWx1ZSJdID0gIk9uZSBvciBtb3JlIG5lY2Vzc2FyeSB2YWx1ZXMgaGF2ZSBub3QgYmVlbiBlbnRlcmVkLiI7CiRsYW5nWyJlcnJvcl9hbHJlYWR5ZXhpc3RzIl0gPSAiVGhlcmUgaXMgYWxyZWFkeSBhbiBlbGVtZW50IGJlYXJpbmcgdGhhdCBuYW1lLiI7CiRsYW5nWyJlcnJvcl9kYXRlIl0gPSAiVGhlIGRhdGUgeW91IGhhdmUgZW50ZXJlZCBpcyBpbnZhbGlkLiI7CiRsYW5nWyJlcnJvcl9ub3BhcmVudCJdID0gIk5vIHBhcmVudCBpcyBkZWZpbmVkISI7CiRsYW5nWyJlcnJvcl9ub3Rmb3VuZCJdID0gIlRoZSBpdGVtIGNvdWxkIG5vdCBiZSBmb3VuZC4iOwokbGFuZ1siZXJyb3Jfbm9pdGVtZm91bmQiXSA9ICJObyBpdGVtIGZvdW5kLiI7CiRsYW5nWyJlcnJvcl9kZW5pZWQiXSA9ICJQZXJtaXNzaW9uIGRlbmllZCI7CiRsYW5nWyJlcnJvcl93cm9uZ3F1ZXJ5Il0gPSAiSW52YWxpZCBxdWVyeS4iOwokbGFuZ1siZXJyb3JfZmVhZGRkZW5pZWQiXSA9ICJZb3UgZG8gbm90IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gY29udGludWUuIjsKJGxhbmdbImVycm9yX3dyb25nZmlsZXR5cGUiXSA9ICJUaGlzIHR5cGUgb2YgZmlsZSBpcyBub3QgYWxsb3dlZCBoZXJlLiI7CiRsYW5nWyJlcnJvcl9jYXB0Y2hhIl0gPSAiVGhlIHRleHQgZ2l2ZW4gZG9lcyBub3QgbWF0Y2ggdGhlIGNhcHRjaGEgaW1hZ2UuIjsKJGxhbmdbImVycm9yX2ZpbGV0b29iaWciXSA9ICJUaGUgZmlsZSBpcyB0byBiaWcgdG8gYmUgdXBsb2FkZWQgaGVyZS4iOwokbGFuZ1siZ2l2ZW5lcnJvciJdID0gIkVycm9yOiAiOwokbGFuZ1siZmluYWx0ZW1wbGF0ZSJdID0gIkRpc3BsYXkgdGVtcGxhdGUgZm9yIGZpbmFsIGxldmVsIChzbGlkZXMpIjsKJGxhbmdbInByb21wdF9kZWxldGVvcHRpb24iXSA9ICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgb3B0aW9uPyI7CiRsYW5nWyJwcm9tcHRfZ2VuZXJhbGRlbGV0ZSJdID0gIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcz8iOwokbGFuZ1sicHJvbXB0X2NhcHRjaGEiXSA9ICJFbnRlciB0aGUgdGV4dCBmcm9tIHRoZSBpbWFnZS4iOwokbGFuZ1sicXVlcmllcyJdID0gIlF1ZXJpZXMiOwokbGFuZ1sicXVlcnkiXSA9ICJRdWVyeSI7CiRsYW5nWyJyZXN1bHRzIl0gPSAiUmVzdWx0cyI7CiRsYW5nWyJjcmVhdGVxdWVyeSJdID0gIkNyZWF0ZSBhIG5ldyBxdWVyeSI7CiRsYW5nWyJwcm9tcHRfcXVlcnkiXSA9ICJDcmVhdGUgYSBxdWVyeSBmb3Igd2hpY2ggbGV2ZWw/IjsKJGxhbmdbIm9yZGVyYnlmaWVsZCJdID0gIk9yZGVyIGJ5IjsKJGxhbmdbImRhdGVfbW9kaWZpZWQiXSA9ICJEYXRlIG1vZGlmaWVkIjsKJGxhbmdbImZyb250ZW5kX3N1Ym1pdCJdID0gIlN1Ym1pdCI7CgoKLy8gTU9EVUxFIElOVEVSQUNUSU9OCiRsYW5nWyJwb3N0aW5zdGFsbCJdID0gIk1vZHVsZSBzdWNjZXNzZnVsbHkgYWRkZWQuIjsKJGxhbmdbInBvc3R1bmluc3RhbGwiXSA9ICJNb2R1bGUgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuIjsKJGxhbmdbInJlYWxseV91bmluc3RhbGwiXSA9ICJBbGwgb2YgdGhpcyBtb2R1bGUncyBjb250ZW50IHdpbGwgYmUgbG9zdC4gQ29udGludWU/IjsKJGxhbmdbInVuaW5zdGFsbGVkIl0gPSAiTW9kdWxlIFVuaW5zdGFsbGVkLiI7CiRsYW5nWyJpbnN0YWxsZWQiXSA9ICJNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuIjsKJGxhbmdbImhlbHAiXSA9ICI8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KCQkJCTxwPlRoaXMgbW9kdWxlIG1hbmFnZXMgbXVsdGlwbGVzIGxhbmd1YWdlcyBmb3IgdGhlIGZyb250ZW5kIGFuZCBuYXZpZ2F0aW9uIHRocm91Z2ggdGhlIGxhbmd1YWdlcy48L3A+CgkJCTxici8+PGgzPkhvdyBEbyBJIFVzZSBJdD88L2gzPgoJCQkJPGJyLz48aDQ+VHJlZSBicmFuY2hlczwvaDQ+CgkJCQkJPHA+VGhpcyBtb2R1bGUgdXNlcyBhbiBhcHByb2FjaCB0byBtdWx0aWxpbmd1YWwgc2l0ZXMgY2FsbGVkIFwic2VwYXJhdGVkIHRyZWUgYnJhbmNoZXNcIiwgd2hpY2ggaGFzIGJlZW4gZGV2ZWxvcHBlZCBieSBvdGhlciBjbXNtcyBkZXZlbG9wZXJzIChuYW1lbHkgTWFyY29zIENydXogLSBzZWUgPGEgaHJlZj1cImh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy9pbmRleC5waHAvdG9waWMsMTkwOTkubXNnOTQ3NDkuaHRtbCNtc2c5NDc0OVwiIHRhcmdldD1cIl9ibGFua1wiPnRoaXMgdG9waWM8L2E+KS48L3A+PGJyLz4KCQkJCQk8cD5TaG91bGQgeW91IG5lZWQgdG8gdXNlIGl0IGluIHlvdXIgdGVtcGxhdGVzLCB0aGUgY3VycmVudCBsYW5ndWFnZSBjb2RlIHdpbGwgYmUgc3RvcmVkIGluIHRoZSAkIi4icGFnZV9sYW5nIHZhcmlhYmxlLjwvcD4KCQkJCTxoND5QYXJ0IDE6IHNldHRpbmcgdXAgdGhlIHBhZ2VzPC9oND4JCQkKCQkJCQk8cD5UbyB1c2UgdGhpcywgeW91IHdpbGwgaGF2ZSB0byBjcmVhdGUgZGlmZmVyZW50IHJvb3QgcGFnZXMgZm9yIGVhY2ggbGFuZ3VhZ2UuIEZvciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDE8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAyPC9saT4KCQkJCQkJCTxsaT4yLjMuIFBhZ2UgMzwvbGk+CgkJCQkJCTwvdWw+PC9saT4KCQkJCQk8L3VsPgoJCQkJCTxwPlJvb3QgbGFuZ3VhZ2UgcGFnZXMgKDEuIGFuZCAyLikgc2hvdWxkIGJlIHNlY3Rpb24gaGVhZGVycy4gWW91IGNhbiBuYW1lIHRoZW0gKGFsaWFzIGFuZCBhbGwpIGFueSB3YXkgeW91IHdhbnQuPC9wPgoJCQkJCTxwPkluIG9yZGVyIHRvIGRpc3BsYXkgbWVudSBjb3JyZWN0bHkgKHRoYXQgaXMsIG5vdCB0byBkaXNwbGF5IGxhbmd1YWdlIGhlYWRlciBwYWdlcyBhbmQgcGFnZXMgYmVsb25naW5nIHRvIG90aGVyIGxhbmd1YWdlcyksIGFsbCB5b3UgaGF2ZSB0byBkbyBpcyBhZGQgdGhlIHN0YXJ0X2xldmVsPVwiMlwiIHRvIHlvdXIgbWVudSB0YWdzOjxici8+CgkJCQkJe21lbnUgc3RhcnRfbGV2ZWw9XCIyXCJ9PC9wPgoJCQkJPGJyLz48aDQ+UGFydCAyOiBzZXR0aW5nIHVwIHRoZSBsYW5ndWFnZXM8L2g0PgoJCQkJCTxwPk5leHQsIGdvIHRvIEV4dGVuc2lvbnMtJmd0O0JhYmVsOiBNdWx0aWxpbmd1YWwgc2l0ZS4gRm9yIGVhY2ggbGFuZ3VhZ2UsIGNsaWNrIEFkZCBMYW5ndWFnZSBhbmQgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9ucy4gVGhlIFwiUm9vdCBwYWdlXCIgc2hvdWxkIGJlIHRoZSBzZWN0aW9uIGhlYWRlcnMgeW91J3ZlIGNyZWF0ZWQgZm9yIGVhY2ggbGFuZ3VhZ2UgKDEuRW5nbGlzaCwgMi5GcmFuJmNjZWRpbDthaXMpLiBUaGUgXCJEZWZhdWx0IHBhZ2VcIiBzaG91bGQgYmUgdGhlIGhvbWUgcGFnZSBmb3IgZWFjaCBsYW5ndWFnZS4gQXMgb2YgdGhlIGxhbmd1YWdlIGNvZGUsIHlvdSBjb3VsZCB1c2UgYW55IDUgY2hhcmFjdGVycyBjb2RlLCBidXQgaW4gb3JkZXIgdG8gcHJvdmlkZSBnb29kIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbW9kdWxlcywgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYXMgdGhlIGNtcyAoeW91IG1heSB1c2UgdGhlIGRyb3AgZG93biBsaXN0IG9uIHRoZSB0b3AgcmlnaHQgdG8gcGFydGlhbGx5IGZpbGwgdGhlIGZvcm0pLjwvcD4KCQkJCQk8cD4oICpXaGVuIHJlYWR5LCBtYWtlIHN1ciB5b3UgYWN0aXZhdGUgZWFjaCBsYW5ndWFnZS4uLiApPC9wPgoJCQkJPGJyLz48aDQ+UGFydCAzOiBMYW5ndWFnZSBtZW51PC9oND4KCQkJCQk8cD5UbyBnZXQgYSBsYW5ndWFnZSBtZW51LCB5b3UgbWF5IHVzZSB0aGUgZm9sbG93aW5nIHRhZzo8YnIvPgoJCQkJCXtiYWJlbCBhY3Rpb249XCJtZW51XCJ9PGJyLz4KCQkJCQlvciwgdG8gdXNlIGEgdGVtcGxhdGUgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBvbmU6PGJyLz4KCQkJCQl7YmFiZWwgYWN0aW9uPVwibWVudVwiIHRlbXBsYXRlPVwidGVtcGxhdGVfbmFtZVwifTwvcD4KCQkJCQk8cD5UaGUgXCJzaG93XCIgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGNob29zZSB3aGljaCBsYW5ndWFnZXMgc2hvdWxkIGJlIGRpc3BsYXllZC48L3A+CgkJCQk8YnIvPjxoND5QYXJ0IDQgKG9wdGlvbmFsKSA6IEN1c3RvbSBsYW5ndWFnZSBlbnRyaWVzPC9oND4KCQkJCQk8cD5JbiBtb2R1bGVzLCBnbG9iYWwgY29udGVudCBibG9ja3Mgb3Igd2hhdHNvZXZlciwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGNvbnRlbnQgZGVwZW5kaW5nIG9uIHRoZSBsYW5ndWFnZS4gVGhlIHRyYWRpdGlvbmFsIHdheSB0byBkbyB0aGlzIHdhcyB0byBjcmVhdGUgY29uZGl0aW9ucyB3aXRoIHRoZSBwYWdlX2xhbmcgdmFyaWFibGU6PGJyLz4KCQkJCQl7aWYgJCIuInBhZ2VfbGFuZyA9PSBcImVuX1VTXCJ9RW5nbGlzaCB0ZXh0e2Vsc2VpZiAkIi4icGFnZV9sYW5nID09IFwiZnJfRlJcIn1UZXh0ZSBlbiBmcmFuJmNjZWRpbDthaXN7L2lmfTwvcD4KCQkJCQk8cD5XaWxsIHlvdSBjYW4gc3RpbGwgdXNlIHRoaXMgbWV0aG9kIHdpdGggdGhlIG1vZHVsZSwgYW5vdGhlciBtb3JlIGNlbnRyYWxpemVkIHdheSBpcyBwcm92aWRlZC4gSW4gdGhlIGFkbWluIHBhbmVsIG9mIHRoaXMgbW9kdWxlLCB5b3Ugd2lsbCBmaW5kIGZvciBlYWNoIGxhbmd1YWdlIGEgbGluayB0byBlZGl0IHRoZSBsYW5ndWFnZSBlbnRyaWVzLiBMYW5ndWFnZSBlbnRyaWVzIGFyZSBzdHJpbmdzIHRoYXQgZXhpc3QgZm9yIGVhY2ggbGFuZ3VhZ2UgYnV0IGhvbGQgZGlmZmVyZW50IHRleHQgKG9yIGh0bWwpLiBXaGF0IHlvdSBjYW4gZG8gaXMgdG8gY3JlYXRlIGEgbmV3IGxhbmd1YWdlIGVudHJ5IChmb3IgZXhhbXBsZTogXCJ3ZWxjb21lIHRleHRcIiwgZW50ZXIgaXRzIGNvbnRlbnQgZm9yIGFsbCBsYW5ndWFnZXMsIGFuZCBzaW1wbHkgY2FsbCB0aGUgZW50cnkgd2hlcmV2ZXIgeW91IG5lZWQgaXQgdXNpbmcgdGhlIGRlZmF1bHQgYWN0aW9uOjxici8+CgkJCQkJe2JhYmVsIHNob3c9XCJ3ZWxjb21lIHRleHRcIn08YnIvPgoJCQkJCVNob3VsZCB5b3UgZXZlciBuZWVkIHRvIGVkaXQgdGhlIHN0cmluZ3MgYW5kIGFkZCBsYW5ndWFnZXMsIHlvdSB3aWxsIGZpbmQgdGhpcyBzb2x1dGlvbiB0byBiZSBtb3JlIGhhbmR5LiBCdXQgaWYgeW91IHByZWZlciB0aGUgb2xkIG9uZSwgaXQgd2lsbCB3b3JrIGp1c3QgYXMgbXVjaC48L3A+CgkJCTxici8+PGgzPkxhbmd1YWdlIHJlZGlyZWN0aW9uIG1ldGhvZHM8L2gzPgkKCQkJCTxwPlRoZXJlIGFyZSB0d28gcG9zc2libGUgbWV0aG9kcyB0byB0ZWxsIHRoZSBjbXMgd2hpY2ggcGFnZSBpcyB0aGUgZXF1aXZhbGVudCBpbiBhbm90aGVyIGxhbmd1YWdlIG9mIGEgZ2l2ZW4gcGFnZS4gQnkgZGVmYXVsdCwgdGhlIGhpcmVyYXJjaHkgc29sdXRpb24gaXMgYWN0aXZhdGVkLCBidXQgeW91IGNhbiBjaGFuZ2UgdGhhdCBpbiB0aGUgc2V0dGluZ3MgdGFiLjwvcD4KCQkJCTxici8+PGg0Pk1hcmNvcyBDcnV6J3MgZGVmaW5pdGlvbiBzb2x1dGlvbjwvaDQ+CgkJCQkJPHA+PGk+UHJvczo8L2k+IGFsbG93cyB0aGlnaHQgY3VzdG9taXphdGlvbiBhbmQgcGFydGlhbCB0cmFuc2xhdGlvbi48YnIvPgoJCQkJCTxpPkNvbnM6PC9pPiBuZWVkIHRvIHNwZWNpZnkgbGFuZ3VhZ2UgYWx0ZXJuYXRpdmVzIGZvciBlYWNoIHBhZ2UsIGFuZCB0byB1cGRhdGUgaXQgaWYgYW4gYWxpYXMgY2hhbmdlcy48L3A+CgkJCQkJPHA+QWRkIHRoZSBmb2xsb3dpbmcgdGFnIGluIGVhY2ggb2YgeW91ciBwYWdlIHRlbXBsYXRlcyA6PGJyLz4KCQkJCQl7Y29udGVudCBibG9jaz0nT3RoZXIgbGFuZ3VhZ2VzJyBvbmVsaW5lPSd0cnVlJyBhc3NpZ249b3RoZXJfbGFuZ3VhZ2VzIHd5c2l3eWc9J2ZhbHNlJ308YnIvPgoJCQkJCVRoaXMgd2lsbCBhZGQgYSBjb250ZW50IGJsb2NrIHRvIGJlIGZpbGxlZCB3aGVuIHlvdSBlZGl0IHRoZSBwYWdlLiBXZSB3aWxsIHVzZSB0aGlzIGJsb2NrIHRvIGRlZmluZSB0aGUgZXF1aXZhbGVudHMgaW4gb3RoZXIgbGFuZ3VhZ2VzIGZvciB0aGlzIHBhZ2UsIGJ5IGZpbGxpbmcgaXQgaW4gdGhlIGZvbGxvd2luZyB3YXk6PGJyLz4KCQkJCQlcImVuX1VTPXBhZ2UxO2ZyX0ZSPXBhZ2UyO2RlX0RFPXBhZ2UzXCIgKHdpdGhvdXQgdGhlIHF1b3RlcyAtIHRoZSBvcmRlciBkb2VzIG5vdCBtYXR0ZXIsIGJ1dCBubyBzcGFjZXMgYXJlIGFsbG93ZWQpPGJyLz4KCQkJCQl3aGVyZSBwYWdlMSwgcGFnZTIgYW5kIHBhZ2UzIGFyZSB0aGUgcGFnZSBhbGlhc2VzLjwvcD4KCQkJCQk8cD5UbyBtYWtlIHN1cmUgdGhlIG1vZHVsZXMgdXNlcyB0aGlzIG1ldGhvZCwgbWFrZSBzdXJlIHRvIHVudGljayB0aGUgXCJVc2UgaGllcmFyY2h5IGZvciByZWRpcmVjdGlvblwiIG9wdGlvbiBpbiB0aGUgc2V0dGluZ3MgdGFiLjwvcD4KCQkJCTxici8+PGg0PlRoZSBoaWVyYXJjaHkgc29sdXRpb248L2g0PgoJCQkJCTxwPjxpPlByb3M6PC9pPiBpdCdzIGF1dG9tYXRpYyAtIHlvdSBkb24ndCBoYXZlIHRvIGRvIGFueXRoaW5nLjxici8+CgkJCQkJPGk+Q29uczo8L2k+IHRoZSBwYWdlIHN0cnVjdHVyZSBtdXN0IGJlIGlkZW50aWNhbCBmb3IgZWFjaCBsYW5ndWFnZS48L3A+CgkJCQkJPHA+VGhpcyBzb2x1dGlvbiB1c2VzIHRoZSBwYWdlIGhpZXJhcmNoeSB0byBrbm93IHdoaWNoIHBhZ2VzIGFyZSBlcXVpdmFsZW50LiBJbiBvdXIgZXhhbXBsZSBhYm92ZSwgXCIyLjMuIFBhZ2UgM1wiIHdvdWxkIGJlIHRoZSBmcmVuY2ggZXF1aXZhbGVudCBvZiBcIjEuMy4gM3JkIHBhZ2VcIiwgYmVjYXVzZSBpdCBvY2N1cGllcyB0aGUgZXF1aXZhbGVudCBwb3NpdGlvbiBpbiB0aGUgZnJlbmNoIGJyYW5jaC48YnIvPgoJCQkJCUluIG90aGVyIHdvcmRzLCBzaG91bGQgdGhlIHBhZ2UgYmUgb3JkZXJlZCBkaWZmZXJlbnRseSwgYWxsIHdvdWxkIGJlIG1lc3NlZCB1cDo8L3A+CgkJCQkJPHVsPgoJCQkJCQk8bGk+MS4gRW5nbGlzaDx1bD4KCQkJCQkJCTxsaT4xLjEuIDFzdCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjIuIDJuZCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjMuIDNyZCBwYWdlPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCQk8bGk+Mi4gRnJhbiZjY2VkaWw7YWlzPHVsPgoJCQkJCQkJPGxpPjIuMS4gUGFnZSAxPC9saT4KCQkJCQkJCTxsaT4yLjIuIFBhZ2UgMzwvbGk+CgkJCQkJCQk8bGk+Mi4zLiBQYWdlIDI8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJPC91bD4KCQkJCQk8cD5IZXJlLCBcIlBhZ2UgMlwiIG9jY3VwaWVzIHRoZSB0aGlyZCBwb3NpdGlvbiwgc28gaXQgd291bGQgYmUgZGVlbWVkIGVxdWl2YWxlbnQgdG8gdGhlIDNyZCBwYWdlIGluIGVuZ2xpc2guPGJyLz4KCQkJCQlUaGlzIGFsc28gbWVhbnMgdGhhdCBpZiBhbGwgcGFnZXMgZG8gbm90IGV4aXN0IGluIGFsbCBsYW5ndWFnZXMsIHlvdSBoYXZlIHRvIGJlIGNhcmVmdWwuIEZvciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDI8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAzPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHA+SGVyZSwgXCIxc3QgcGFnZVwiIHdvdWxkIGJlIHRha2VuIHRvIGJlIGVxdWl2YWxlbnQgdG8gXCJQYWdlIDJcIiBhbmQgXCIzcmQgcGFnZVwiIHdvdWxkIGJlIGRlZW1lZCB0byBoYXZlIG5vIHRyYWR1Y3Rpb24sIGFsdGhvdWdoIGl0IGRvZXMuPC9wPgoJCQk8YnIvPjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgoJCQkJPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gY3JlYXRlZCBieSBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKSwgYmFzZWQgb24gYW4gYXBwcm9hY2ggYnkgTWFyY29zIENydXosIGFuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLjwvcD48YnIvPjxici8+IjsKCgovL1NFVFRJTkdTCiRsYW5nWyJzZXR0aW5ncyJdID0gIlNldHRpbmdzIjsKJGxhbmdbInByZWZfYXV0b3JlZGlyZWN0X2hvbWUiXSA9ICJBdXRvLXJlZGlyZWN0IG9uIGhvbWUgcGFnZSBiYXNlZCBvbiByZXF1ZXN0IChicm93c2VyKSBsYW5ndWFnZT8qPGJyLz5XaGVuIHRoZSB1c2VyIGdldHMgb24gYSBob21lIHBhZ2UgKGEgcGFnZSBkZWZpbmVkIGFzIGRlZmF1bHQgcGFnZSBmb3IgYSBsYW5ndWFnZSksIGlmIGhpcyBicm93c2VyIGxhbmd1YWdlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBwYWdlIGxhbmd1YWdlIGhlIHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgYXBwcm9wcmlhdGUgcGFnZS4iOwokbGFuZ1sicHJlZl9hdXRvcmVkaXJlY3RfYWxsIl0gPSAiQXV0by1yZWRpcmVjdCBvbiBhbGwgcGFnZXMgYmFzZWQgb24gcmVxdWVzdCBsYW5ndWFnZT8qPGJyLz4oc2FtZSBhcyBhYm92ZSwgYnV0IGZvciBhbGwgcGFnZXMpIjsKJGxhbmdbInByZWZfY29va2llc19hdXRvcmVkaXJlY3RfaG9tZSJdID0gIkF1dG8tcmVkaXJlY3Qgb24gaG9tZSBwYWdlIGJhc2VkIG9uIGxhbmd1YWdlIHN0b3JlZCBpbiBjb29raWVzPzxici8+SWYgdGhlIHVzZXIgaGFzIHByZXZpb3VzbHkgbmF2aWdhdGVkIHRoZSBzaXRlIGluIGEgc2VsZWN0ZWQgbGFuZ3VhZ2UgYmVmb3JlLCBoZSB3aWxsIGJlIGZvd2FyZGVkIHRvIHRoaXMgbGFuZ3VhZ2UgdXBvbiB2aXNpdGluZyBhbnkgaG9tZSBwYWdlIChhbnkgcGFnZSB0aGF0IGhhcyBiZWVuIHNldCBhcyBkZWZhdWx0IHBhZ2UgZm9yIGEgbGFuZ3VhZ2UpLiI7CiRsYW5nWyJwcmVmX2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2FsbCJdID0gIkF1dG8tcmVkaXJlY3Qgb24gYWxsIHBhZ2VzIGJhc2VkIG9uIGNvb2tpZXM/PGJyLz4oc2FtZSBhcyBhYm92ZSwgYnV0IGZvciBhbGwgcGFnZXMpIjsKJGxhbmdbInByZWZfaGllcmFyY2h5X3JlZGlyZWN0Il0gPSAiVXNlIGhpZXJhcmNoeSBmb3IgcmVkaXJlY3Rpb24/IChzZWUgaGVscCBmb3IgbW9yZSBpbmZvKTxici8+VGhpcyBtZWFucyB0aGF0IHRoZSBwYWdlIHN0cnVjdHVyZSBtdXN0IGJlIGV4YWN0bHkgdGhlIHNhbWUgZm9yIGFsbCBsYW5ndWFnZXMuIElmIHlvdSBkb24ndCB1c2UgdGhlIGhpZXJhcmNoeSwgeW91IHdpbGwgaGF2ZSB0byBzcGVjaWZ5IHRoZSBwYWdlcyBtYW51YWxseS4iOwokbGFuZ1sicHJlZl9kZWZhdWx0X2hpZGUiXSA9ICJIaWRlIG1lbnUgbGluayB3aGVuIHRoZSBhY2NvcmRpbmcgcGFnZSBkb2VzIG5vdCBleGlzdD88YnIvPklmIHRoZSBsYW5ndWFnZSBsaW5rIHNob3VsZCBsZWFkIHRvIGEgcGFnZSB0aGF0IGRvZXMgbm90IGV4aXN0LCBoaWRlIHRoZSBsaW5rIChvdGhlcndpc2UsIHRoZSBsaW5rIHdpbGwgbGVhZCB0byB0aGUgbGFuZ3VhZ2UncyBkZWZhdWx0IHBhZ2UpLiI7CiRsYW5nWyJwcmVmX2RlZmF1bHRfdHJhbnNsYXRlIl0gPSAiVXNlIGRlZmF1bHQgbGFuZ3VhZ2Ugd2hlcmUgbGFuZ3VhZ2Utc3BlY2lmaWMgZW50cmllcyBoYXZlbid0IGJlZW4gc3VwcGxpZWQuIjsKJGxhbmdbInByZWZfaGlkZV9taXNzaW5nZW50cmllcyJdID0gIkhpZGUgZXJyb3IgbWVzc2FnZSBmb3IgdW5rbm93biBsYW5ndWFnZSBlbnRyaWVzLiI7CiRsYW5nWyJwcmVmX3d5c2l3eWciXSA9ICJFbmFibGUgd3lzaXd5ZyBpbiBsYW5ndWFnZSBlbnRyaWVzLiI7CiRsYW5nWyJwcmVmX3VzZV9wYWdlX3RpdGxlIl0gPSAiVXNlIHBhZ2UgdGl0bGUgaW4gbGFuZ3VhZ2UgbGlua3MgKGluc3RlYWQgb2YgbGFuZ3VhZ2UgbmFtZSkuIjsKJGxhbmdbInByZWZfY3VycmVudF9saW5rIl0gPSAiSW4gdGhlIGxhbmd1YWdlIG1lbnUsIHNob3cgbGluayBmb3IgY3VycmVudCBwYWdlICh0aGF0IGlzLCBjdXJyZW50IGxhbmd1YWdlKSB0b28uIjsKJGxhbmdbImhlbHBfcmVkaXJlY3Rpb24iXSA9ICIqTm90ZTogSWYgeW91IHVzZSByZWRpcmVjdGlvbiBiYXNlZCBvbiByZXF1ZXN0IChicm93c2VyKSBsYW5ndWFnZSwgbWFrZSBzdXJlIHRvIGFjdGl2YXRlIHRoZSBjb3JyZXNwb25kaW5nIGNvb2tpZSByZWRpcmVjdGlvbiwgb3RoZXJ3aXNlIHRoZSB1c2VycyB3aWxsIGJlIDxiPmZvcmNlZDwvYj4gdG8gdmlldyB0aGUgcGFnZSBpbiB0aGVpciBicm93c2VyIGxhbmd1YWdlLiI7CgoKLy9QQVJBTUVURVJTCiRsYW5nWyJwaGVscF9hY3Rpb24iXSA9ICJQb3NzaWJsZSBhY3Rpb25zOiBcImRlZmF1bHRcIiAoZm9yIHRyYW5zbGF0aW9ucykgb3IgXCJtZW51XCIuIjsKJGxhbmdbInBoZWxwX3Nob3ciXSA9ICJGb3IgdGhlIG1lbnUgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2hpY2ggbGFuZ3VhZ2VzIHRvIHNob3cgaW4gdGhlIG1lbnUgKHVzZSBsYW5ndWFnZSBjb2RlIGFuZCBzZXBhcmF0ZSB3aXRoIGEgY29tbWEpLiBGb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIGhvbGRzIHRoZSBrZXkgdG8gdGhlIHN0cmluZyB0byBiZSB0cmFuc2xhdGVkLiI7CiRsYW5nWyJwaGVscF90ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIHRvIHVzZSBmb3IgdGhlIG1lbnUuIjsKJGxhbmdbInBoZWxwX2Fzc2lnbiJdID0gIkluc3RlYWQgb2YgZGlzcGxheWluZyB0aGUgcmVzdWx0IGltbWVkaWF0ZWx5LCB5b3UgY2FuIGFzc2lnbiBpdCB0byBhIHNtYXJ0eSB2YXJpYWJsZSBzcGVjaWZpZWQgd2l0aCB0aGUgXCJhc3NpZ25cIiBwYXJhbWV0ZXIuIjsKCgoNCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCgkJDQovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UNCiR0YWJvcHRhcnJheSA9IGFycmF5KCJteXNxbCIgPT4gIlRZUEU9TXlJU0FNIik7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgbGFuZ3VhZ2VzIHRhYmxlDQokZmxkcyA9ICINCglsYW5nY29kZSBDKDUpIEtFWSwNCglyb290X2lkIEksDQoJZGVmYXVsdF9pZCBJLA0KCW5hbWUgQyg2NCksDQoJbWVudV9uYW1lIEMoNjQpLA0KCWFjdGl2ZSBMLA0KCWl0ZW1fb3JkZXIgSQ0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ3VhZ2VzX3NlcSIpOw0KCQ0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZSBrZXlzIHRhYmxlDQokZmxkcyA9ICINCglzdHJpbmdpZCBJIEtFWSwNCgljYXB0aW9uIEMoMTI4KQ0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5cyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5c19zZXEiKTsNCg0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZSBlbnRyaWVzIHRhYmxlDQokZmxkcyA9ICINCglzdHJpbmdpZCBJLA0KCWxhbmdjb2RlIEMoNSksDQoJdmFsdWUgQygyNTUpDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCJhZG1pbl9iYWJlbCIsICJCYWJlbDogYWRtaW4iKTsNCg0KJG1vZHByZWZzID0gJHRoaXMtPmdldF9tb2RwcmVmcygpOw0KZm9yZWFjaCgkbW9kcHJlZnMgYXMgJG9uZXByZWYpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRvbmVwcmVmWzBdLCRvbmVwcmVmWzFdKTsNCg0KJGRlZnRwbCA9ICc8dWwgaWQ9Imxhbmd1YWdlX21lbnUiPg0Ke2ZvcmVhY2ggZnJvbT0kbGFuZ3VhZ2VzIGl0ZW09Imxhbmd1YWdlIn0NCiAgIHtpZiAkbGFuZ3VhZ2UtPmlzX2N1cnJlbnR9PGxpIGNsYXNzPSJhY3RpdmUiPjxhIHtpZiAkbGFuZ3VhZ2UtPnVybH1ocmVmPSJ7JGxhbmd1YWdlLT51cmx9IiB7L2lmfWNsYXNzPSJhY3RpdmUiPntlbHNlfTxsaT48YSBocmVmPSJ7JGxhbmd1YWdlLT51cmx9Ij57L2lmfXskbGFuZ3VhZ2UtPm1lbnVfbmFtZX08L2E+PC9saT4NCnsvZm9yZWFjaH0NCjwvdWw+JzsNCiR0aGlzLT5TZXRUZW1wbGF0ZSgiZGVmYXVsdCIsJGRlZnRwbCk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgiZGVmYXVsdGVtcGxhdGUiLCJkZWZhdWx0Iik7DQokdGhpcy0+UmVnaXN0ZXJFdmVudHMoKTsNCg0KLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQoJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIiksICR0aGlzLT5MYW5nKCJpbnN0YWxsZWQiLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0KDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmd1YWdlcyIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXNfc2VxIik7DQoJDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdrZXlzIik7DQoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSRkYi0+RHJvcFNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdrZXlzX3NlcSIpOw0KCQ0KDQoJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkNCgkkdGhpcy0+RGVsZXRlVGVtcGxhdGUoIiIsJHRoaXMtPkdldE5hbWUoKSk7DQoNCgkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbigiYWRtaW5fYmFiZWwiKTsNCgkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOw0KDQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCgkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCJmcmllbmRseW5hbWUiKSwgJHRoaXMtPkxhbmcoInVuaW5zdGFsbGVkIikpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/redirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRfR0VUWyJuZXd1cmwiXSkgKXsKCWhlYWRlcigibG9jYXRpb246IGluZGV4LnBocCIpOwp9ZWxzZXsKCWlmKGlzc2V0KCRfR0VUWyJuZXdsYW5nIl0pKQlzZXRjb29raWUoJ3VzcmxhbmcnLCRfR0VUWyJuZXdsYW5nIl0sdGltZSgpKzg2NDAwKjMwKTsKCWhlYWRlcigibG9jYXRpb246ICIuJF9HRVRbIm5ld3VybCJdKTsKfQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRhZGRuZXd9PC9wPgp7aWYgY291bnQoJGl0ZW1saXN0KSA+IDB9CjxkaXY+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cjx0aGVhZD48dHI+Cgl7Zm9yZWFjaCBmcm9tPSRhZG1pbnNob3cgaXRlbT1jb2x1bW59CgkJPHRoPnskY29sdW1uWzBdfTwvdGg+Cgl7L2ZvcmVhY2h9CjwvdHI+PC90aGVhZD4KPHRib2R5Pgp7Y3ljbGUgdmFsdWVzPSJyb3cyLHJvdzEiIGFzc2lnbj1yb3djbGFzcyByZXNldD10cnVlfQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPW9uZWl0ZW19CntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzfQo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJe2ZvcmVhY2ggZnJvbT0kYWRtaW5zaG93IGl0ZW09Y29sdW1ufQoJCXthc3NpZ24gdmFyPW9uZXZhbCB2YWx1ZT0kY29sdW1uWzFdfQoJCTx0ZD57JG9uZWl0ZW0tPiRvbmV2YWx9PC90ZD4KCXsvZm9yZWFjaH0KPC90cj4Key9mb3JlYWNofQo8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4KPHA+eyRhZGRuZXd9PC9wPnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/editlang.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgxPnskZWRpdHRpdGxlfTwvaDE+DQp7aWYgJGxhbmdzZWxlY3R9DQoJPGRpdiBpZD0iYmFiZWxfbGFuZ3NlbGVjdGRpdiIgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDsiPg0KCQk8cD57JGxhbmdzZWxlY3RfbGFiZWx9PGJyLz57JGxhbmdzZWxlY3R9PGJyLz48L3A+DQoJPC9kaXY+DQp7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYW5nY29kZV9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbGFuZ2NvZGVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtZW51X25hbWVfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbWVudV9uYW1lX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcm9vdF9pZF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcm9vdF9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlZmF1bHRfaWRfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdF9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBtb2R1bGVpZCA9ICJ7JHBsaWR9IjsNCntsaXRlcmFsfQ0KZnVuY3Rpb24gbGFuZ3VhZ2VmaWxsKHJhd2RhdGEpew0KCXZhciBuZXdkYXRhID0gcmF3ZGF0YS5zcGxpdCgnLycpOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vZHVsZWlkKydsYW5nY29kZScpLnZhbHVlID0gbmV3ZGF0YVswXTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2R1bGVpZCsnbmFtZScpLnZhbHVlID0gbmV3ZGF0YVsxXTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2R1bGVpZCsnbWVudV9uYW1lJykudmFsdWUgPSBuZXdkYXRhWzFdOw0KCXJldHVybiBmYWxzZTsNCn0NCnZhciBsYW5nc2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhYmVsX2xhbmdzZWxlY3RkaXYnKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7DQppZihsYW5nc2VsZWN0WzBdKSBsYW5nc2VsZWN0WzBdLm9uY2hhbmdlID0gZnVuY3Rpb24oKXsNCglsYW5ndWFnZWZpbGwodGhpcy52YWx1ZSk7DQp9Ow0KbGFuZ3NlbGVjdCA9IG51bGw7DQp7L2xpdGVyYWx9DQo8L3NjcmlwdD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/entriestable.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
</module>
