<?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.4</version>
  <mincmsversion>1.6.5</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CgkJCQk8cD5UaGlzIG1vZHVsZSBtYW5hZ2VzIG11bHRpcGxlcyBsYW5ndWFnZXMgZm9yIHRoZSBmcm9udGVuZCBhbmQgbmF2aWdhdGlvbiB0aHJvdWdoIHRoZSBsYW5ndWFnZXMuPC9wPgoJCQk8YnIvPjxoMz5Ib3cgRG8gSSBVc2UgSXQ/PC9oMz4KCQkJCTxici8+PGg0PlRyZWUgYnJhbmNoZXM8L2g0PgoJCQkJCTxwPlRoaXMgbW9kdWxlIHVzZXMgYW4gYXBwcm9hY2ggdG8gbXVsdGlsaW5ndWFsIHNpdGVzIGNhbGxlZCAic2VwYXJhdGVkIHRyZWUgYnJhbmNoZXMiLCB3aGljaCBoYXMgYmVlbiBkZXZlbG9wcGVkIGJ5IG90aGVyIGNtc21zIGRldmVsb3BlcnMgKG5hbWVseSBNYXJjb3MgQ3J1eiAtIHNlZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcvaW5kZXgucGhwL3RvcGljLDE5MDk5Lm1zZzk0NzQ5Lmh0bWwjbXNnOTQ3NDkiIHRhcmdldD0iX2JsYW5rIj50aGlzIHRvcGljPC9hPikuPC9wPjxici8+CgkJCQkJPHA+U2hvdWxkIHlvdSBuZWVkIHRvIHVzZSBpdCBpbiB5b3VyIHRlbXBsYXRlcywgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgY29kZSB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgJHBhZ2VfbGFuZyB2YXJpYWJsZS4gTW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgbGFuZ3VhZ2UgY2FuIGFsc28gYmUgcmV0cmlldmVkIHVzaW5nIHRoZSAkcGFnZV9sYW5nX2luZm8gb2JqZWN0ICh3aXRoIHRoZSBzYW1lIGF0dHJpYnV0ZXMgYXMgaW4gdGhlIG1lbnUgdGVtcGxhdGVzKS48L3A+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+SGVyZSwgIjFzdCBwYWdlIiB3b3VsZCBiZSB0YWtlbiB0byBiZSBlcXVpdmFsZW50IHRvICJQYWdlIDIiIGFuZCAiM3JkIHBhZ2UiIHdvdWxkIGJlIGRlZW1lZCB0byBoYXZlIG5vIHRyYWR1Y3Rpb24sIGFsdGhvdWdoIGl0IGRvZXMuPC9wPgoJCQk8YnIvPjxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJCQkJPHA+UGFnZSBsYW5ndWFnZSBzaG91bGQgYmUgZGV0ZWN0ZWQgYW5kIGFzc2lnbmVkIHRvIHRoZSBzbWFydHkgdmFyaWFibGVzIGJlZm9yZSB0aGUgdGVtcGxhdGUgaXMgcHJvY2Vzc2VkIGJ5IGFuIGV2ZW50IGhhbmRsZXIuIEhvd2V2ZXIsIGl0IGlzIHBvc3NpYmxlIHRoYXQgYXQgc29tZSBwb2ludCBpbiB0aGUgcGFnZSB0ZW1wbGF0ZSB0aGUgcGFnZSBsYW5ndWFnZSBpcyBsb3N0IChlc3BlY2lhbGx5IHNpbmNlIHRoZSBwYWdlIGhlYWQgaXMgcHJvY2Vzc2VkIHNlcGFyYXRseSBmcm9tIHRoZSBwYWdlIGJvZHkpLiBTaG91bGQgaXQgaGFwcGVuZCwgeW91IGNhbiB1c2UgdGhlIHRhZyB7YmFiZWwgYWN0aW9uPSJhc3NpZ24ifSB0byByZWFzc2lnbiBpdC48YnIvPgoJCQkJTm90ZSB0aGF0IHlvdSBtYXkgYWxzbyB1c2Uge2JhYmVsIGFjdGlvbj0iYXV0b19yZWRpcmVjdCIgYXQgdGhlIGJlZ2lubmluZyBvZiB5b3VyIHRlbXBsYXRlIGlmLCBmb3Igc29tZSByZWFzb24sIHJlZGlyZWN0aW9uIGRvZXMgbm90IG9jY3VyIChJIGRvbid0IHNlZSB3aHkgdGhpcyBzaG91bGQgaGFwcGVuIHRob3VnaCkuPC9wPgoJCQk8YnIvPjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgoJCQkJPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gY3JlYXRlZCBieSBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKSwgYmFzZWQgb24gYW4gYXBwcm9hY2ggYnkgTWFyY29zIENydXosIGFuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLjwvcD48YnIvPjxici8+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJkZWZhdWx0IiAtIFBvc3NpYmxlIGFjdGlvbnM6ICJkZWZhdWx0IiAoZm9yIHRyYW5zbGF0aW9ucykgb3IgIm1lbnUiLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2hvdz0iIiAtIEZvciB0aGUgbWVudSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBsYW5ndWFnZXMgdG8gc2hvdyBpbiB0aGUgbWVudSAodXNlIGxhbmd1YWdlIGNvZGUgYW5kIHNlcGFyYXRlIHdpdGggYSBjb21tYSkuIEZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgaG9sZHMgdGhlIGtleSB0byB0aGUgc3RyaW5nIHRvIGJlIHRyYW5zbGF0ZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0ZW1wbGF0ZT0iIiAtIFRlbXBsYXRlIHRvIHVzZSBmb3IgdGhlIG1lbnUuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhc3NpZ249IiIgLSBJbnN0ZWFkIG9mIGRpc3BsYXlpbmcgdGhlIHJlc3VsdCBpbW1lZGlhdGVseSwgeW91IGNhbiBhc3NpZ24gaXQgdG8gYSBzbWFydHkgdmFyaWFibGUgc3BlY2lmaWVkIHdpdGggdGhlICJhc3NpZ24iIHBhcmFtZXRlci48L2xpPjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKTxiciAvPjxiciAvPlZlcnNpb246IDAuMy40PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGJyLz48cHJlPlZFUlNJT04gMC4zLjQKLSBzb2x2ZWQgYnVncyAjNDE3MCwjNDE4NywjNDE4OCwjNDE4OSwjNDIwNgoKVkVSU0lPTiAwLjMuMzoKLSBzb2x2ZWQgdGhlIGJsYW5rIHBhZ2UgcHJvYmxlbSBpbiByZWRpcmVjdC5waHAKClZFUlNJT04gMC4zLjI6Ci0gc29sdmVkIGJ1Z3MgIzM5OTMgYW5kICMzOTk0IChUaGFua3MgdG8gSmFuIFdhbGRlY2spCi0gYWRkZWQgZnJlbmNoIGxhbmd1YWdlIGZpbGVzCgpWRVJTSU9OIDAuMy4xOgotIHNvbHZlZCBidWcgIzM5NTkgKGh0dHAgNDA0IGVycm9yIG9uIHJlZGlyZWN0aW9uKSAtIFRoYW5rcyB0byBZdW5nCgpWRVJTSU9OIDAuMzoKLSBjaGFuZ2VkIHRoZSBjb2RlIHRvIG1pbmltaXplIHRoZSBhbW91bnQgb2YgcXVlcmllcwotIHJlcGxhY2VkIGxpbmtzIHdpdGggdXJscwoKVkVSU0lPTiAwLjI6IGZpcnN0IHB1YmxpYyB2ZXJzaW9uCjwvcHJlPjxiciAvPg==</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+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSB8fCAhaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkgfHwgISR0aGlzLT5pc19sYW5ndWFnZSgkcGFyYW1zWyJsYW5nY29kZSJdLCBmYWxzZSkpCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgpKTsKCiR3eXNpd3lnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoInd5c2l3eWciLGZhbHNlKTsKCiRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKHRydWUpOwokbGFuZ3VhZ2UgPSAkbGFuZ3VhZ2VzWyRwYXJhbXNbImxhbmdjb2RlIl1dOwoKJG5ld2VudHJ5ID0gJzxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsiPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGVudHJ5IiwgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl0tPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygiYWRkX2VudHJ5IikpLic8L2Rpdj4nOwplY2hvICRuZXdlbnRyeTsKZWNobyAiPGgxPiIuJGxhbmd1YWdlWyduYW1lJ10uIiAoIi4kbGFuZ3VhZ2VbJ2xhbmdjb2RlJ10uIik8L2gxPjxici8+IjsKCiRkYiA9ICR0aGlzLT5HZXREYigpOwokcXVlcnkgPSAiU0VMRUNUIGxhbmdrZXlzLnN0cmluZ2lkIHN0cmluZ2lkLCBsYW5na2V5cy5jYXB0aW9uIGNhcHRpb24sIGxhbmdlbnRyaWVzLnZhbHVlIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5cyBsYW5na2V5cyBMRUZUIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyBsYW5nZW50cmllcyBPTiBsYW5na2V5cy5zdHJpbmdpZCA9IGxhbmdlbnRyaWVzLnN0cmluZ2lkIFdIRVJFIGxhbmdlbnRyaWVzLmxhbmdjb2RlPT8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbImxhbmdjb2RlIl0pKTsKJHZhbHVlcyA9IGFycmF5KCk7CiRjYXB0aW9ucyA9IGFycmF5KCk7CndoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsKCSRjYXB0aW9uc1skcm93WyJzdHJpbmdpZCJdXSA9ICRyb3dbImNhcHRpb24iXTsKCSR2YWx1ZXNbJHJvd1sic3RyaW5naWQiXV0gPSAkcm93WyJ2YWx1ZSJdOwp9CgkKaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pKQl7CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyBXSEVSRSBsYW5nY29kZT0/IjsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImxhbmdjb2RlIl0pKTsKCSR2YWx1ZXMgPSBhcnJheSgpOwoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXMgU0VUIGxhbmdjb2RlPT8sIHN0cmluZ2lkPT8sIHZhbHVlPT8iOwoJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSl7CgkJaWYoc3Vic3RyKCRrZXksMCw2KSA9PSAiZW50cnlfIiAmJiAkdmFsdWUgIT0gIiIpewoJCQkkdmFsdWVzW3N1YnN0cigka2V5LDYpXSA9ICR2YWx1ZTsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sibGFuZ2NvZGUiXSwgc3Vic3RyKCRrZXksNiksICR2YWx1ZSkpOwoJCX0KCX0KCWlmKGlzc2V0KCRwYXJhbXNbInN1Ym1pdCJdKSl7CgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoJ21vZHVsZV9tZXNzYWdlJz0+JHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOwoJfWVsc2V7CgkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7Cgl9Cn0JCgokYnV0dG9ucyA9ICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJhcHBseSIsIGxhbmcoImFwcGx5IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpLic8L3A+JzsKCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0ZW50cmllcyIsICRyZXR1cm5pZCk7CmVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImxhbmdjb2RlIiwgJHBhcmFtc1sibGFuZ2NvZGUiXSk7CmlmKCEkd3lzaXd5ZykJZWNobyAnCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gaW5zdGFudF90YWJsZV9zZWFyY2god2hhdCl7Cgl2YXIgZGVzdGluYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmFiZWxfbGFuZ3VhZ2VfZW50cmllcyIpOwoJaWYoIWRlc3RpbmF0aW9uKSByZXR1cm47Cgl2YXIgdGhlcm93cyA9IGRlc3RpbmF0aW9uLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ciIpOwoJZm9yKGk9MDtpPHRoZXJvd3MubGVuZ3RoO2krKyl7CgkJdmFyIHRoZWNvbHVtbiA9IHRoZXJvd3NbaV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIilbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTsKCQlpZih0aGVjb2x1bW4gJiYgdGhlY29sdW1uLmlubmVySFRNTC50b0xvd2VyQ2FzZSgpLmluZGV4T2Yod2hhdC50b0xvd2VyQ2FzZSgpKSA+PSAwKXsKCQkJdGhlcm93c1tpXS5zdHlsZS5kaXNwbGF5ID0gInRhYmxlLXJvdyI7CgkJfWVsc2V7CgkJCXRoZXJvd3NbaV0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKCQl9Cgl9Cn0KPC9zY3JpcHQ+Cic7CmVjaG8gJGJ1dHRvbnM7CmVjaG8gJzx0YWJsZSBpZD0iYmFiZWxfbGFuZ3VhZ2VfZW50cmllcyIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgonOwppZighJHd5c2l3eWcpIGVjaG8gJwo8dGhlYWQ+Cgk8dHI+PHRoPicuJHRoaXMtPkxhbmcoInNlYXJjaHRoaXN0YWJsZSIpLic8aW5wdXQgdHlwZT0idGV4dCIgb25rZXl1cD0iaW5zdGFudF90YWJsZV9zZWFyY2godGhpcy52YWx1ZSk7Ii8+PC90aD48dGg+PC90aD48L3RyPgo8L3RoZWFkPgonOwplY2hvICc8dGJvZHk+CgknOwpmb3JlYWNoKCRjYXB0aW9ucyBhcyAka2V5PT4kbGFiZWwpewoJZWNobyAnPHRyPgoJCTx0ZD4nLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRlbnRyeSIsICRyZXR1cm5pZCwgJGxhYmVsLCBhcnJheSgiZW50cnlrZXkiPT4ka2V5KSkuJzwvdGQ+CgkJPHRkPicuJHRoaXMtPkNyZWF0ZVRleHRBcmVhKCR3eXNpd3lnLCRpZCwoaXNzZXQoJHZhbHVlc1ska2V5XSkgJiYgJHZhbHVlc1ska2V5XSk/JHZhbHVlc1ska2V5XToiIiwnZW50cnlfJy4ka2V5KS4nPC90ZD4KCTwvdHI+CgknOwp9CmVjaG8gJwo8L3Rib2R5Pgo8L3RhYmxlPgonOwplY2hvICRidXR0b25zOwplY2hvICRuZXdlbnRyeTsKZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.editentry.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCkpOwoKZWNobyAnPHByZT4nOwpwcmludF9yKCRwYXJhbXMpOwplY2hvICc8L3ByZT4nOwoKJHd5c2l3eWcgPSAkdGhpcy0+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+Q3JlYXRlSW5wdXRUZXh0KCRpZCwibGFuZ2NvZGUiLCIiLDE1LDgpOwp9ZWxzZXsKCSRsYW5nY29kZV9pbnB1dCA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc19uZXciLCAwKS4kdGhpcy0+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+Y3VycmVudF9sYW5nY29kZSkJJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsKaWYoISR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKQlyZXR1cm4gZmFsc2U7CS8vIG5vIHBhZ2UgbGFuZyBhc3NpZ25lZC4uLiBtYXliZSB3ZSBhcmVuJ3QgaW4gYSBwYWdlIHRoYXQgaGFzIGEgcGFydGljdWxhciBsYW5ndWFnZT8KJGN1cnJlbnRfbGFuZ3VhZ2UgPSAkdGhpcy0+Y3VycmVudF9sYW5nY29kZTsKCiRzaG93biA9IChpc3NldCgkcGFyYW1zWyJzaG93Il0pICYmICRwYXJhbXNbInNob3ciXSAhPSAiIik/ZXhwbG9kZSgiLCIsJHBhcmFtc1sic2hvdyJdKTpmYWxzZTsKCiR1c2VfY29va2llcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb29raWVzX2F1dG9yZWRpcmVjdF9hbGwiLCBmYWxzZSkgfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoImNvb2tpZXNfYXV0b3JlZGlyZWN0X2hvbWUiLGZhbHNlKTsKJGRlZmF1bHRfaGlkZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0X2hpZGUiLCBmYWxzZSk7CiR1c2VfcGFnZV90aXRsZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ1c2VfcGFnZV90aXRsZSIsZmFsc2UpOwoKJGxhbmd1YWdlcyA9ICR0aGlzLT5nZXRsYW5ndWFnZXMoKTsKCiRsaW5rcyA9ICR0aGlzLT5nZXRfdXJscygpOwoKJGl0ZW1saXN0ID0gYXJyYXkoKTsKJHNob3dfY3VycmVudCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjdXJyZW50X2xpbmsiLGZhbHNlKTsKCmZvcmVhY2goJGxhbmd1YWdlcyBhcyAkbGFuZ3VhZ2UpewoJaWYoKCEkc2hvd24gfHwgaW5fYXJyYXkoJGxhbmd1YWdlLT5sYW5nY29kZSwgJHNob3duKSkgJiYgKCRzaG93X2N1cnJlbnQgfHwgJGxhbmd1YWdlWydsYW5nY29kZSddICE9ICRjdXJyZW50X2xhbmd1YWdlKSl7CgkJJGl0ZW0gPSBuZXcgU3RkQ2xhc3MoKTsKCQkkaXRlbS0+Y29kZSA9ICRsYW5ndWFnZVsnbGFuZ2NvZGUnXTsKCQkkaXRlbS0+bmFtZSA9ICRsYW5ndWFnZVsnbmFtZSddOwoJCSRpdGVtLT5tZW51X25hbWUgPSAkbGFuZ3VhZ2VbJ21lbnVfbmFtZSddOwoJCSRpdGVtLT5pc19jdXJyZW50ID0gKCRsYW5ndWFnZVsnbGFuZ2NvZGUnXSA9PSAkY3VycmVudF9sYW5ndWFnZSk7CgkJJGl0ZW0tPnBhZ2VfbWVudV90ZXh0ID0gaXNzZXQoJGxpbmtzWyRpdGVtLT5jb2RlXSk/JGxpbmtzWyRpdGVtLT5jb2RlXVsnbWVudV90ZXh0J106IiI7CgkJJGl0ZW0tPnBhZ2VfbmFtZSA9IGlzc2V0KCRsaW5rc1skaXRlbS0+Y29kZV0pPyRsaW5rc1skaXRlbS0+Y29kZV1bJ25hbWUnXToiIjsKCQkkaXRlbS0+dXJsID0gKGlzc2V0KCRsaW5rc1skaXRlbS0+Y29kZV0pICYmICRsaW5rc1skaXRlbS0+Y29kZV0pPyRsaW5rc1skaXRlbS0+Y29kZV1bJ3VybCddLiRnQ21zLT5jb25maWdbJ3BhZ2VfZXh0ZW5zaW9uJ106ZmFsc2U7CgkJaWYoJGl0ZW0tPnVybCAmJiAkdXNlX2Nvb2tpZXMpCQkkaXRlbS0+dXJsID0gJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvYmFiZWwvcmVkaXJlY3QucGhwP25ld2xhbmc9Jy4kaXRlbS0+Y29kZS4nJmFtcDtuZXd1cmw9Jy4kaXRlbS0+dXJsOwoKCQlpZigkaXRlbS0+dXJsIHx8ICEkZGVmYXVsdF9oaWRlIHx8ICRpdGVtLT5pc19jdXJyZW50KQlhcnJheV9wdXNoKCRpdGVtbGlzdCwgJGl0ZW0pOwoJfQp9CiR0aGlzLT5zbWFydHktPmFzc2lnbigibGFuZ3VhZ2VzIiwgJGl0ZW1saXN0KTsKCmlmIChpc3NldCgkcGFyYW1zWyJ0ZW1wbGF0ZSJdKSAmJiAoJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbInRlbXBsYXRlIl0pKSl7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwp9ZWxzZXsKCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0dGVtcGxhdGUiLCJkZWZhdWx0Iik7CglpZigkdGVtcGxhdGUpCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwkKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.movesomething.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1sibGV2ZWxuYW1lIl0pP2FycmF5KCJhY3RpdmVfdGFiIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOmFycmF5KCk7DQoNCmlmICghaXNzZXQoJHBhcmFtc1sibW92ZSJdKSB8fCAhaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImN1cnJlbnRvcmRlciJdKSApDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KJGRidGFibGUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMiOw0KJGN1cnJlbnRvcmRlciA9ICRwYXJhbXNbImN1cnJlbnRvcmRlciJdOw0KJGxhbmdjb2RlID0gJHBhcmFtc1sibGFuZ2NvZGUiXTsNCg0Kc3dpdGNoKCRwYXJhbXNbIm1vdmUiXSl7DQoJDQoJY2FzZSAiZGVsZXRlIjoNCgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbGFuZ2VudHJpZXMgV0hFUkUgbGFuZ2NvZGU9PyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRsYW5nY29kZSkpOw0KCQkkcXVlcnkgPSAiREVMRVRFIEZST00gJGRidGFibGUgV0hFUkUgbGFuZ2NvZGUgPSA/IExJTUlUIDEiOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCg0KCQkvLyBVUERBVEUgVEhFIE9SREVSIE9GIFRIRSBJVEVNUw0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPiA/ICI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXIpKTsNCgkJDQoJCSRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlIl0gPSAkdGhpcy0+bGFuZygibWVzc2FnZV9kZWxldGVkIik7DQoJCWJyZWFrOwkNCg0KCWNhc2UgInVwIjoNCgkJaWYgKCRjdXJyZW50b3JkZXIgIT0gMSl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXItMSkpOw0KCQkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBsYW5nY29kZSA9ID8gTElNSVQgMTsiOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxhbmdjb2RlKSk7DQoJCX0NCgkJYnJlYWs7DQoJCQ0KCWNhc2UgImRvd24iOg0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJaWYoICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXIrMSkpICl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGxhbmdjb2RlID0gPyBMSU1JVCAxOyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCgkJfQ0KCQlicmVhazsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/babel.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQmFiZWw6IE11bHRpbGluZ3VhbCBzaXRlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QicyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIw0KIyBUaGlzIG1vZHVsZSB3YXMgY3JlYXRlZCB3aXRoIENUTE1vZHVsZU1ha2VyIDEuOC44LjINCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCBpcyByZWxlYXNlZCB1bmRlciBHTlUNCiMgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9jdGxtb2R1bGVtYWtlcg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgYmFiZWwgZXh0ZW5kcyBDTVNNb2R1bGUNCnsNCgl2YXIgJGF2YWlsYWJsZV9sYW5ndWFnZXMgPSBmYWxzZTsNCgl2YXIgJGFsbF9sYW5ndWFnZXMgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ3VhZ2UgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ2NvZGUgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ2VudHJpZXMgPSBmYWxzZTsNCg0KCWZ1bmN0aW9uIEdldE5hbWUoKQ0KCXsNCgkJcmV0dXJuICJiYWJlbCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRGcmllbmRseU5hbWUoKQ0KCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbG9jYWxpemVkIG5hbWUNCgkgICBvZiB0aGUgbW9kdWxlLiBUaGlzIGlzIHRoZSBuYW1lIHRoYXQicyBzaG93biBpbiB0aGUNCgkgICBBZG1pbiBNZW51cyBhbmQgc2VjdGlvbiBwYWdlcyAoaWYgdGhlIG1vZHVsZSBoYXMgYW4gYWRtaW4NCgkgICBjb21wb25lbnQpLg0KCSAgIA0KCSAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoImZyaWVuZGx5bmFtZSIpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldFZlcnNpb24oKQ0KCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbnVtYmVyIG9yDQoJICAgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgZm9yIGRlc2lnbmF0aW5nIGEgdmVyc2lvbi4NCgkgICBUaGUgQ01TIHdpbGwgdXNlIHRoaXMgdG8gaWRlbnRpZnkgd2hldGhlciBvciBub3QNCgkgICB0aGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgdGhlIG1vZHVsZSBpcyBjdXJyZW50LCBhbmQNCgkgICB0aGUgbW9kdWxlIHdpbGwgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgaG93IHRvIHVwZ3JhZGUNCgkgICBpdHNlbGYgaWYgcmVxdWVzdGVkLgkgICANCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpDQoJew0KCQlyZXR1cm4gIjAuMy40IjsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0RGVwZW5kZW5jaWVzKCkNCgkgICBZb3VyIG1vZHVsZSBtYXkgbmVlZCBhbm90aGVyIG1vZHVsZSB0byBhbHJlYWR5IGJlIGluc3RhbGxlZA0KCSAgIGJlZm9yZSB5b3UgY2FuIGluc3RhbGwgaXQuDQoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgdGhvc2UgZGVwZW5kZW5jaWVzIGFuZA0KCSAgIG1pbmltdW0gdmVyc2lvbiBudW1iZXJzIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuDQoJICAgDQoJICAgSXQgc2hvdWxkIHJldHVybiBhbiBoYXNoLCBlZy4NCgkgICByZXR1cm4gYXJyYXkoInNvbWVtb2R1bGUiPT4iMS4wIiwgIm90aGVybW9kdWxlIj0+IjEuMSIpOw0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQ0KCXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRIZWxwKCkNCgkgICBUaGlzIHJldHVybnMgSFRNTCBpbmZvcm1hdGlvbiBvbiB0aGUgbW9kdWxlLg0KCSAgIFR5cGljYWxseSwgeW91ImxsIHdhbnQgdG8gaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8NCgkgICB1c2UgdGhlIG1vZHVsZS4NCgkgICANCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRIZWxwKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygiaGVscCIpOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRBdXRob3IoKQ0KCXsNCgkJcmV0dXJuICJQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKSI7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEF1dGhvckVtYWlsKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2Vycw0KCSAgIG9mIHlvdXIgbW9kdWxlIGdldCBpbiB0b3VjaCB3aXRoIHlvdSB0byBzZW5kIGJ1ZyByZXBvcnRzLA0KCSAgIHF1ZXN0aW9ucywgY2FzZXMgb2YgYmVlciwgYW5kL29yIGxhcmdlIHN1bXMgb2YgbW9uZXkuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkNCgl7DQoJCXJldHVybiAiIjsNCgl9DQoNCiAgICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQ0KICAgIHsNCgkJJGZpbGVwYXRoID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4iY2hhbmdlbG9nLnR4dCI7DQoJCWlmKGZpbGVfZXhpc3RzKCRmaWxlcGF0aCkpew0KCQkJJGZoYW5kbGUgPSBmb3BlbigkZmlsZXBhdGgsICdyKycpOw0KCQkJJGNvbnRlbnQgPSBmcmVhZCgkZmhhbmRsZSwgZmlsZXNpemUoJGZpbGVwYXRoKSk7DQoJCQlyZXR1cm4gJzxici8+PHByZT4nLiRjb250ZW50Lic8L3ByZT4nOw0KCQl9ZWxzZXsNCgkJCXJldHVybiAiIjsNCgkJfQ0KICAgIH0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSXNQbHVnaW5Nb2R1bGUoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlLCBkZXBlbmRpbmcgdXBvbg0KCSAgIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3INCgkgICB0ZW1wbGF0ZSB1c2luZyBhIHNtYXJ0eSB0YWcgb2YgdGhlIGZvcm0NCgkgICB7Y21zX21vZHVsZSBtb2R1bGU9IlByb2QiIHBhcmFtMT12YWwgcGFyYW0yPXZhbC4uLn0NCgkgICANCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3INCgkgICB0ZW1wbGF0ZXMsIHJldHVybiAiZmFsc2UiIGhlcmUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkNCgl7DQoJCXJldHVybiB0cnVlOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBIYXNBZG1pbigpDQoJICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSwgZGVwZW5kaW5nIG9uDQoJICAgd2hldGhlciB5b3VyIG1vZHVsZSBhZGRzIGFueXRoaW5nIHRvIHRoZSBBZG1pbiBhcmVhIG9mDQoJICAgdGhlIHNpdGUuIEZvciB0aGUgcmVzdCBvZiB0aGVzZSBjb21tZW50cywgSSJsbCBiZSBjYWxsaW5nDQoJICAgdGhlIGFkbWluIHBhcnQgb2YgeW91ciBtb2R1bGUgdGhlICJBZG1pbiBQYW5lbCIgZm9yDQoJICAgd2FudCBvZiBhIGJldHRlciB0ZXJtLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBIYXNBZG1pbigpIHsJcmV0dXJuIHRydWU7CX0NCglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7cmV0dXJuICJleHRlbnNpb25zIjt9DQoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHtyZXR1cm4gJHRoaXMtPkxhbmcoImFkbWluZGVzY3JpcHRpb24iKTt9DQoNCglmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKXsNCgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIik7DQoJfQ0KCQkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIFNldFBhcmFtZXRlcnMoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB5b3UgdG8gY3JlYXRlIG1hcHBpbmdzIGZvcg0KCSAgIHlvdXIgbW9kdWxlIHdoZW4gdXNpbmcgIlByZXR0eSBVcmxzIi4NCgkgICANCgkgICBUeXBpY2FsbHksIG1vZHVsZXMgY3JlYXRlIGludGVybmFsIGxpbmtzIHRoYXQgaGF2ZQ0KCSAgIGJpZyB1Z2x5IHN0cmluZ3MgYWxvbmcgdGhlIGxpbmVzIG9mOg0KCSAgIGluZGV4LnBocD9tYWN0PU1vZE5hbWUsY250bnQwMSxhY3Rpb25OYW1lLDAmY250bnQwMXBhcmFtMT0xJmNudG50MDFwYXJhbTI9MiZjbnRudDAxcmV0dXJuaWQ9Mw0KCSAgIA0KCSAgIFlvdSBtaWdodCBwcmVmZXIgdGhlc2UgdG8gbG9vayBsaWtlOg0KCSAgIC9Nb2R1bGVGdW5jdGlvbi8yLzMNCgkgICANCgkgICBUbyBkbyB0aGlzLCB5b3UgaGF2ZSB0byByZWdpc3RlciByb3V0ZXMgYW5kIG1hcA0KCSAgIHlvdXIgcGFyYW1ldGVycyBpbiBhIHdheSB0aGF0IHRoZSBBUEkgd2lsbCBiZSBhYmxlDQoJICAgdG8gdW5kZXJzdGFuZC4NCg0KCSAgIEFsc28gbm90ZSB0aGF0IGFueSBjYWxscyB0byBDcmVhdGVMaW5rIHdpbGwgbmVlZCB0bw0KCSAgIGJlIHVwZGF0ZWQgdG8gcGFzcyB0aGUgcHJldHR5IHVybCBwYXJhbWV0ZXIuDQoJICAgDQoJICAgU2luY2UgdGhlIFNrZWxldG9uIGRvZXNuInQgcmVhbGx5IGNyZWF0ZSBhbnkgbGlua3MsDQoJICAgdGhlIHNlY3Rpb24gYmVsb3cgaXMgY29tbWVudGVkIG91dCwgYnV0IHlvdSBjYW4NCgkgICB1c2UgaXQgdG8gZmlndXJlIG91dCBwcmV0dHkgdXJscy4NCgkgICANCgkgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQ0KCXsNCgkJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7DQoJCSR0aGlzLT5SZWdpc3RlckV2ZW50cygpOw0KCQkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7DQoJCQ0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJhY3Rpb24iLCAiZGVmYXVsdCIsICR0aGlzLT5MYW5nKCJwaGVscF9hY3Rpb24iKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInNob3ciLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3Nob3ciKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzaG93IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJ0ZW1wbGF0ZSIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfdGVtcGxhdGUiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJ0ZW1wbGF0ZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYXNzaWduIiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF9hc3NpZ24iKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJhc3NpZ24iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJuZXdsYW5nIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgibmV3dXJsIixDTEVBTl9TVFJJTkcpOw0KCX0NCgkNCglmdW5jdGlvbiBIYW5kbGVzRXZlbnRzKCl7DQoJCXJldHVybiB0cnVlOw0KCX0NCglmdW5jdGlvbiBSZWdpc3RlckV2ZW50cygpew0KCQkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50UHJlQ29tcGlsZScsIGZhbHNlICk7DQoJfQ0KCWZ1bmN0aW9uIERvRXZlbnQoJG9yaWdpbmF0b3IsICRldmVudG5hbWUsICYkcGFyYW1zKXsNCgkJaWYoJGV2ZW50bmFtZSA9PSAnQ29udGVudFByZUNvbXBpbGUnKXsNCgkJCSR0aGlzLT5hc3NpZ25fcGFnZV9sYW5nKCk7DQoJCQkkdGhpcy0+YXV0b19yZWRpcmVjdCgpOw0KCQl9DQoJfQ0KCWZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3RpbnN0YWxsIik7DQoJfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicG9zdHVuaW5zdGFsbCIpOw0KCX0NCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicmVhbGx5X3VuaW5zdGFsbCIpOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBJbnN0YWxsKCkNCgkgICBXaGVuIHlvdXIgbW9kdWxlIGlzIGluc3RhbGxlZCwgeW91IG1heSBuZWVkIHRvIGRvIHNvbWUNCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uDQoJICAgYW5kIHByZXBvcHVsYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLCBkYXRhYmFzZSBzZXF1ZW5jZXMsDQoJICAgcGVybWlzc2lvbnMsIHByZWZlcmVuY2VzLCBldGMuDQoJICAgCSAgIA0KCSAgIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY3JlYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLA0KCSAgIGNoZWNrIG91dCB0aGUgQURPREIgRGF0YSBEaWN0aW9uYXJ5IHBhZ2UgYXQNCgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQ0KCSAgIA0KCSAgIFRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBhIHN0cmluZyBpbiBjYXNlIG9mIGFueSBlcnJvciwNCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLg0KCSAgIFN1Y2Nlc3NmdWwgaW5zdGFsbHMgc2hvdWxkIHJldHVybiBGQUxTRSBvciBub3RoaW5nIGF0IGFsbC4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSW5zdGFsbCgpDQoJew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC5pbnN0YWxsLnBocCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBVbmluc3RhbGwoKQ0KCSAgIFNvbWV0aW1lcywgYW4gZXhjZXB0aW9uYWxseSB1bmVubGlnaHRlbmVkIG9yIGlnbm9yYW50DQoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQNCgkgICB3b3VsZCBiZSBiZXN0IHRvIGxheSBpbnRvIHRoZXNlIGlkaW90cyB3aXRoIGEgY2x1ZXN0aWNrLA0KCSAgIHdlIHdpbGwgZG8gdGhlIG1hZ25hbmltb3VzIHRoaW5nIGFuZCByZW1vdmUgdGhlIG1vZHVsZQ0KCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMNCgkgICB0aGF0IGFyZSBzcGVjaWZpYyB0byBpdC4NCgkgICBUaGlzIGlzIHRoZSBtZXRob2Qgd2hlcmUgd2UgZG8gdGhpcy4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gVW5pbnN0YWxsKCkNCgl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJcmVxdWlyZSAibWV0aG9kLnVuaW5zdGFsbC5waHAiOw0KCX0NCg0KDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk5PVCBQQVJUIE9GIFRIRSBOT1JNQUwgTU9EVUxFIEFQSQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCglmdW5jdGlvbiBnZXRfbW9kcHJlZnMoKXsNCgkJLy8gYXJyYXkoJ3ByZWZlcmVuY2VfbmFtZScsdmFsdWVfb25faW5zdGFsbCk7DQoJCXJldHVybiBhcnJheSgNCgkJCQlhcnJheSgnYXV0b3JlZGlyZWN0X2hvbWUnLHRydWUpLA0KCQkJCWFycmF5KCdhdXRvcmVkaXJlY3RfYWxsJyxmYWxzZSksCQkNCgkJCQlhcnJheSgnY29va2llc19hdXRvcmVkaXJlY3RfaG9tZScsdHJ1ZSksDQoJCQkJYXJyYXkoJ2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2FsbCcsZmFsc2UpLA0KCQkJCWFycmF5KCdoaWVyYXJjaHlfcmVkaXJlY3QnLHRydWUpLA0KCQkJCWFycmF5KCdjdXJyZW50X2xpbmsnLGZhbHNlKSwNCgkJCQlhcnJheSgnZGVmYXVsdF9oaWRlJyx0cnVlKSwNCgkJCQlhcnJheSgnZGVmYXVsdF90cmFuc2xhdGUnLHRydWUpLA0KCQkJCWFycmF5KCdoaWRlX21pc3NpbmdlbnRyaWVzJyxmYWxzZSksDQoJCQkJYXJyYXkoJ3d5c2l3eWcnLGZhbHNlKQ0KCQkJCSk7DQoJfQ0KDQoJZnVuY3Rpb24gcGxjcmVhdGVhbGlhcygkbmFtZSl7DQoJCS8vIGZpbHRlciBrZXlzIGZvciBsYW5ndWFnZSBlbnRyaWVzDQoJCS8vIGFzIGEgc3VnZ2VzdGlvbiBmcm9tIEFNVCwgdGhlIGZpcnN0IHBhcnQgZGVhbHMgd2l0aCBzbWFydCBxdW90ZXMNCiAJCSRzZWFyY2ggPSBhcnJheShjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5OCksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk5KSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OWMpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5ZCksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDkzKSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTQpKTsNCiAJCSRuYW1lID0gc3RyX3JlcGxhY2UoJHNlYXJjaCwgIiIsICRuYW1lKTsNCiAJCS8vIHRoZSBzZWNvbmQgcGFydCB1c2VzIHRoZSBjbXMgdmVyc2lvbg0KIAkJJGFsaWFzID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbmFtZSwgZmFsc2UpOw0KIAkJcmV0dXJuICRhbGlhczsNCgl9IA0KDQoJZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpew0KCQlnbG9iYWwgJGdDbXM7DQoJCQ0KCQlzd2l0Y2goJGFjdGlvbil7DQoJCQljYXNlICJhdXRvX3JlZGlyZWN0IjoNCgkJCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpCSR0aGlzLT5hc3NpZ25fcGFnZV9sYW5nKCk7DQoJCQkJJHRoaXMtPmF1dG9fcmVkaXJlY3QoKTsNCgkJCWNhc2UgImFzc2lnbiI6DQoJCQkJaWYoJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpew0KCQkJCQlnbG9iYWwgJHNtYXJ0eTsNCgkJCQkJJHNtYXJ0eS0+YXNzaWduKCdwYWdlX2xhbmcnLCR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKTsNCgkJCQkJJHNtYXJ0eS0+YXNzaWduKCdwYWdlX2xhbmdfaW5mbycsJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpOw0KCQkJCX1lbHNlew0KCQkJCQkkdGhpcy0+YXNzaWduX3BhZ2VfbGFuZygpOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgInNpdGVtYXAiOg0KCQkJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSkgcmV0dXJuIGZhbHNlOw0KCQkJCSRoaWVyTWFuYWdlciA9ICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7DQoJCQkJJGhpZXJhcmNoeSA9ICRoaWVyTWFuYWdlci0+Z2V0Tm9kZUJ5SWQoJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2VbJ3Jvb3RfaWQnXSk7DQoNCgkJCQlpZiAoJGhpZXJhcmNoeSAmJiAkaGllcmFyY2h5LT5oYXNDaGlsZHJlbigpKXsNCgkJCQkJZWNobyAnPHVsIGNsYXNzPSJzaXRlbWFwIj4nOw0KCQkJCQkkcGFnZWxpc3QgPSBhcnJheSgpOw0KCQkJCQlmb3JlYWNoICgkaGllcmFyY2h5LT5nZXRDaGlsZHJlbigpIGFzICRub2RlKQkkdGhpcy0+ZWNob19saW5lKCRub2RlKTsNCgkJCQkJZWNobyAnPC91bD4nOw0KCQkJCX0JDQoJCQkJYnJlYWs7CQkNCgkJCWNhc2UgImRlZmF1bHRhZG1pbiI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLmRlZmF1bHRhZG1pbi5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAibWVudSI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLm1lbnUucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgIm1vdmVzb21ldGhpbmciOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5tb3Zlc29tZXRoaW5nLnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJlZGl0bGFuZyI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLmVkaXRsYW5nLnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJlZGl0ZW50cmllcyI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLmVkaXRlbnRyaWVzLnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJlZGl0ZW50cnkiOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5lZGl0ZW50cnkucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImVkaXRUZW1wbGF0ZSI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLmVkaXRUZW1wbGF0ZS5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidG9nZ2xlYWN0aXZlIjoNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJsYW5nY29kZSJdKSl7DQoJCQkJCSRuZXd2YWwgPSBpc3NldCgkcGFyYW1zWyJuZXd2YWwiXSk/JHBhcmFtc1sibmV3dmFsIl06MDsNCgkJCQkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCQkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMgU0VUIGFjdGl2ZT0/IFdIRVJFIGxhbmdjb2RlPT8gTElNSVQgMSI7DQoJCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuZXd2YWwsJHBhcmFtc1sibGFuZ2NvZGUiXSkpOw0KCQkJCX0NCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgInRvZ2dsZWRlZmF1bHQiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImxhbmdjb2RlIl0pKQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZGVmYXVsdF9sYW5ndWFnZSIsJHBhcmFtc1sibGFuZ2NvZGUiXSk7DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJjaGFuZ2VzZXR0aW5ncyI6DQoJCQkJJG1vZHByZWZzID0gJHRoaXMtPmdldF9tb2RwcmVmcygpOw0KCQkJCWZvcmVhY2goJG1vZHByZWZzIGFzICRwcmVmKQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkcHJlZlswXSwgaXNzZXQoJHBhcmFtc1skcHJlZlswXV0pKTsNCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJzZXR0aW5ncyIsICJtb2R1bGVfbWVzc2FnZSI9PiR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgImRlbGV0ZXRwbCI6DQoJCQkJJG5ld3BhcmFtcyA9IGFycmF5KCJhY3RpdmVfdGFiIj0+InRlbXBsYXRlcyIpOw0KCQkJICAgIGlmKGlzc2V0KCRwYXJhbXNbInRwbG5hbWUiXSkgJiYgJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCRwYXJhbXNbInRwbG5hbWUiXSkpCSAgICRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlPiJdID0gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKTsNCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCgkJCQlicmVhazsNCg0KCQkJY2FzZSAiZGVmYXVsdCI6DQoJCQlkZWZhdWx0Og0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbInNob3ciXSkpew0KCQkJCQkkb3V0cHV0ID0gJHRoaXMtPnJldHJpZXZlX3RyYW5zbGF0aW9uKCRwYXJhbXNbInNob3ciXSk7DQoJCQkJCWlmKGlzc2V0KCRwYXJhbXNbImFzc2lnbiJdKSAmJiAkcGFyYW1zWyJhc3NpZ24iXSAhPSAiIil7DQoJCQkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJHBhcmFtc1siYXNzaWduIl0sJG91dHB1dCk7DQoJCQkJCX1lbHNlew0KCQkJCQkJZWNobyAkb3V0cHV0Ow0KCQkJCQl9DQoJCQkJfQ0KCQkJCWJyZWFrOw0KCQl9DQoNCgl9DQoJDQoJZnVuY3Rpb24gZ2V0bGFuZ3VhZ2VzKCRpbmFjdGl2ZT1mYWxzZSl7DQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykJJHRoaXMtPnJldHJpZXZlX2xhbmd1YWdlcygpOw0KCQlyZXR1cm4JJGluYWN0aXZlPyR0aGlzLT5hbGxfbGFuZ3VhZ2VzOiR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzOw0KCX0NCgkNCglmdW5jdGlvbiBjb3VudHNvbWV0aGluZygkdGFibGVuYW1lLCR3aGF0PSJpZCIsJHdoZXJlPWFycmF5KCkpew0KCQkvLyByZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gYSB0YWJsZQ0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiBXSEVSRSAiOiIgQU5EICIpLiRrZXkuIj0/IjsNCgkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgQ09VTlQoJHdoYXQpIG91cmNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF8kdGFibGVuYW1lIi4kd2hlcmVzdHJpbmc7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsNCgkJaWYgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCXJldHVybiAkcm93WyJvdXJjb3VudCJdOw0KCQl9ZWxzZXsNCgkJCXJldHVybiAwOw0KCQl9DQoJfQkNCgkNCglmdW5jdGlvbiBnZXRGaWxlQ29udGVudCgkZmlsZW5hbWUpew0KCQkkZmlsZXBhdGggPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlbmFtZTsNCgkJaWYoZmlsZV9leGlzdHMoJGZpbGVwYXRoKSl7DQoJCQkkZmhhbmRsZSA9IGZvcGVuKCRmaWxlcGF0aCwgInIrIik7DQoJCQkkY29udGVudCA9IGZyZWFkKCRmaGFuZGxlLCBmaWxlc2l6ZSgkZmlsZXBhdGgpKTsNCgkJCXJldHVybiAkY29udGVudDsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gcmV0cmlldmVfcGFnZV9sYW5nKCl7DQoJCS8vIHJldHJpZXZlIHJvb3QgaWQNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKQkkdGhpcy0+cmV0cmlldmVfbGFuZ3VhZ2VzKCk7DQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykJcmV0dXJuIGZhbHNlOw0KCQlmb3JlYWNoKCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzIGFzICRvbmVsYW5nKXsNCgkJCWlmKCRvbmVsYW5nWyJyb290X2lkIl0gPT0gJHJvb3RfaWQpew0KCQkJCSR0aGlzLT5jdXJyZW50X2xhbmdjb2RlID0gJG9uZWxhbmdbImxhbmdjb2RlIl07DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UgPSAkb25lbGFuZzsNCgkJCX0NCgkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VfbGFuZyIsICR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJjdXJyZW50X2xhbmd1YWdlIiwgJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpOw0KCX0NCg0KCWZ1bmN0aW9uIHJldHJpZXZlX2xhbmd1YWdlcygpew0KCQkvLyByZXRyaWV2ZXMgbGFuZ3VhZ2VzIGZyb20gdGhlIGRhdGFiYXNlIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBtb2R1bGUgb2JqZWN0DQoJCS8vIHRvIGF2b2lkIG11bHRpcGxlIHJldHJpZXZhbCwgdXNlIGdldGxhbmd1YWdlcygpOw0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMgT1JERVIgQlkgaXRlbV9vcmRlciI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCgkJJGFsbCA9IGFycmF5KCk7DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRhbGxbJHJvd1sibGFuZ2NvZGUiXV0gPSAkcm93Ow0KCQkJaWYoJHJvd1siYWN0aXZlIl0pCSRvdXRwdXRbJHJvd1sibGFuZ2NvZGUiXV0gPSAkcm93Ow0KCQl9DQoJCSR0aGlzLT5hbGxfbGFuZ3VhZ2VzID0gJGFsbDsNCgkJJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMgPSAkb3V0cHV0Ow0KCX0NCgkNCglmdW5jdGlvbiBhZG1pbl9yZXRyaWV2ZV9sYW5ndWFnZXMoJGlkLCAkcmV0dXJuaWQpew0KCQlnbG9iYWwgJGdDbXM7DQoJCSRhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJGRlZmF1bHRsYW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHRfbGFuZ3VhZ2UiLCBmYWxzZSk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ3VhZ2VzIE9SREVSIEJZIGl0ZW1fb3JkZXIiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJJG91dHB1dCA9IGFycmF5KCk7DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRpdGVtID0gbmV3IFN0ZENsYXNzKCk7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsNCgkJCX0NCgkJCSRtb3ZlcGFyYW1zID0gYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlLCJjdXJyZW50b3JkZXIiPT4kaXRlbS0+aXRlbV9vcmRlcik7DQoJCQkkaXRlbS0+bmFtZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0bGFuZyIsICRyZXR1cm5pZCwgJGl0ZW0tPm5hbWUsIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSkpOw0KCQkJJGl0ZW0tPmNvZGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGxhbmciLCAkcmV0dXJuaWQsICRpdGVtLT5sYW5nY29kZSwgYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlKSk7DQoJCQkkaXRlbS0+ZWRpdGVudHJpZXMgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0ZW50cmllcyIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoImVkaXRfZW50cmllcyIpLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUpKTsNCgkJCSRpdGVtLT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZXNvbWV0aGluZyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLGxhbmcoImRlbGV0ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJtb3ZlIj0+ImRlbGV0ZSIpLCRtb3ZlcGFyYW1zKSwgJHRoaXMtPkxhbmcoInByb21wdF9kZWxldGVsYW5ndWFnZSIsIHN0cl9yZXBsYWNlKCInIiwiXCciLCRpdGVtLT5uYW1lKSkpOw0KCQkJJGl0ZW0tPmFjdGlvbnMgPSAkaXRlbS0+ZWRpdGVudHJpZXMuIiAiLiRpdGVtLT5kZWxldGVsaW5rOw0KCQkJJGl0ZW0tPm1vdmV1cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYiLGxhbmcoInVwIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4idXAiKSwkbW92ZXBhcmFtcykpOw0KCQkJJGl0ZW0tPm1vdmVkb3dubGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9hcnJvdy1kLmdpZiIsbGFuZygiZG93biIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJtb3ZlIj0+ImRvd24iKSwkbW92ZXBhcmFtcykpOw0KCQkJJGl0ZW0tPm1vdmVsaW5rcyA9ICRpdGVtLT5tb3ZldXBsaW5rIC4iICIuICRpdGVtLT5tb3ZlZG93bmxpbms7DQoJCQlpZigkZGVmYXVsdGxhbmcgPT0gJGl0ZW0tPmxhbmdjb2RlKXsNCgkJCQkkaXRlbS0+dG9nZ2xlZGVmYXVsdCA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS90cnVlLmdpZiIsInRydWUiLCIiLCIiLCJzeXN0ZW1pY29uIik7DQoJCQl9ZWxzZXsNCgkJCQkkaXRlbS0+dG9nZ2xlZGVmYXVsdCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZWRlZmF1bHQiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9mYWxzZS5naWYiLGxhbmcoInNldHRydWUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUpKTsNCgkJCX0NCgkJCWlmKCRpdGVtLT5hY3RpdmUpew0KCQkJCSRpdGVtLT50b2dnbGVhY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGVhY3RpdmUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS90cnVlLmdpZiIsbGFuZygic2V0ZmFsc2UiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUsICJuZXd2YWwiPT4wKSk7DQoJCQl9ZWxzZXsNCgkJCQkkaXRlbS0+dG9nZ2xlYWN0aXZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlYWN0aXZlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmIixsYW5nKCJzZXR0cnVlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlLCAibmV3dmFsIj0+MSkpOw0KCQkJfQ0KCQkJYXJyYXlfcHVzaCgkb3V0cHV0LCAkaXRlbSk7DQoJCX0NCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF9sYW5ndWFnZV9kZXRhaWxzKCRsYW5nY29kZSl7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmd1YWdlcyBXSEVSRSBsYW5nY29kZT0/IjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxhbmdjb2RlKSk7DQoJCWlmKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRpdGVtID0gbmV3IFN0ZENsYXNzKCk7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsNCgkJCX0NCgkJfWVsc2V7DQoJCQkkaXRlbSA9IGZhbHNlOw0KCQl9DQoJCXJldHVybiAkaXRlbTsNCgl9DQoJDQoJZnVuY3Rpb24gcmV0cmlldmVfbGFuZ2VudHJpZXMoKXsNCgkJLy8gcmV0cmlldmVzIHRoZSBsYW5ndWFnZSBlbnRyaWVzIGZvciB0aGUgY3VycmVudCBsYW5ndWFnZQ0KCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpCSR0aGlzLT5yZXRyaWV2ZV9wYWdlX2xhbmcoKTsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKQlyZXR1cm4gZmFsc2U7DQoJCSRkZWZsYW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHRfbGFuZ3VhZ2UiLGZhbHNlKTsNCgkJJHBhcnRpYWxfaW1wb3J0ID0gZmFsc2U7DQoJCWlmKCRkZWZsYW5nICYmICRkZWZsYW5nICE9ICR0aGlzLT5jdXJyZW50X2xhbmd1YWdlICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0X3RyYW5zbGF0ZSIsZmFsc2UpKXsNCgkJCS8vIHdoZW4gdGhlIGVudHJ5IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsIHdlIHVzZSB0aGUgb25lIGZyb20gdGhlIGRlZmF1bHQgbGFuZ3VhZ2UsDQoJCQkvLyBzbyB3ZSBsb2FkIHRoaXMgb25lIGZpcnN0DQoJCQkkcGFydGlhbF9pbXBvcnQgPSB0cnVlOw0KCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXMgPSAkdGhpcy0+bG9hZF9sYW5nZW50cmllcygkZGVmbGFuZyk7DQoJCX0NCgkJJGN1cnJlbnRfZW50cmllcyA9ICR0aGlzLT5sb2FkX2xhbmdlbnRyaWVzKCR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKTsNCgkJaWYoJHBhcnRpYWxfaW1wb3J0KXsNCgkJCS8vIHdlJ3ZlIGFscmVhZHkgbG9hZGVkIHRoZSBkZWZhdWx0IGVudHJpZXMsIHNvIHdlIGFkZC9yZXBsYWNlIHRoZSBvbmVzIGZvciB0aGUgY3VycmVudCBsYW5ndWFnZQ0KCQkJZm9yZWFjaCgkY3VycmVudF9lbnRyaWVzIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJaWYoJHZhbHVlICYmICR2YWx1ZSAhPSAiIikJJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXNbJGtleV0gPSAkdmFsdWU7DQoJCQl9DQoJCX1lbHNlew0KCQkJLy8gbm8gbmVlZCBmb3IgZGVmYXVsdCBlbnRyaWVzDQoJCQkkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllcyA9ICRjdXJyZW50X2VudHJpZXM7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gbG9hZF9sYW5nZW50cmllcygkbGFuZyl7DQoJCS8vIHJldHJpZXZlcyBsYW5ndWFnZSBlbnRyaWVzIGZvciBhbnkgbGFuZ3VhZ2UNCgkJaWYoISR0aGlzLT5pc19sYW5ndWFnZSgkbGFuZykpCXJldHVybiBmYWxzZTsNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgbGFuZ2tleXMuY2FwdGlvbiBjYXB0aW9uLCBsYW5nZW50cmllcy52YWx1ZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2tleXMgbGFuZ2tleXMgTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXMgbGFuZ2VudHJpZXMgT04gbGFuZ2tleXMuc3RyaW5naWQgPSBsYW5nZW50cmllcy5zdHJpbmdpZCBXSEVSRSBsYW5nZW50cmllcy5sYW5nY29kZT0/IjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkbGFuZykpOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJG91dHB1dFskcm93WyJjYXB0aW9uIl1dID0gJHJvd1sidmFsdWUiXT8kcm93WyJ2YWx1ZSJdOiIiOw0KCQl9DQoJCXJldHVybiAkb3V0cHV0Ow0KCX0NCgkNCglmdW5jdGlvbiBpc19sYW5ndWFnZSgkY29kZSl7DQoJCS8vIHJldHVybnMgdHJ1ZSBpZiAkY29kZSBpcyBhbiBhY3RpdmUgbGFuZ3VhZ2UNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKQkkdGhpcy0+cmV0cmlldmVfbGFuZ3VhZ2VzKCk7DQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykJcmV0dXJuIGZhbHNlOw0KCQkkcmVzdWx0ID0gaXNzZXQoJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXNbJGNvZGVdKTsNCgkJaWYoISRyZXN1bHQpIGVjaG8gJGNvZGUuJyBpcyBub3QgYSBsYW5ndWFnZSc7DQoJCXJldHVybiAkcmVzdWx0Ow0KCX0NCgkNCglmdW5jdGlvbiByZXRyaWV2ZV90cmFuc2xhdGlvbigka2V5KXsNCgkJLy8gcmV0dXJucyBzdHJpbmcgY29ycmVzcG9uZGluZyB0byAka2V5IGluIHRoZSBjdXJyZW50IGxhbmd1YWdlDQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllcykJJHRoaXMtPnJldHJpZXZlX2xhbmdlbnRyaWVzKCk7DQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllcykJcmV0dXJuIGZhbHNlOw0KCQlpZihpc3NldCgkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllc1ska2V5XSkgJiYgICR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzWyRrZXldICE9ICIiKXsNCgkJCXJldHVybiAkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllc1ska2V5XTsNCgkJfWVsc2VpZighJHRoaXMtPkdldFByZWZlcmVuY2UoImhpZGVfbWlzc2luZ2VudHJpZXMiLGZhbHNlKSl7DQoJCQlyZXR1cm4gIkFkZCBtZTogIi4ka2V5LiIgKCIuJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UuIikiOw0KCQl9ZWxzZXsNCgkJCXJldHVybiAiIjsNCgkJfQ0KCX0NCgkNCglmdW5jdGlvbiBhc3NpZ25fcGFnZV9sYW5nKCl7DQoJCS8vIGRldGVjdHMgY3VycmVudCBsYW5ndWFnZSBiYXNlZCBvbiBoaWVyYXJjaHkgYW5kIGFzc2lnbiBpdCB0byBzbWFydHkNCgkJZ2xvYmFsICRnQ21zOw0KCQlnbG9iYWwgJHNtYXJ0eTsNCg0KCQkkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCQkkcm9vdF9pZCA9ICRnQ21zLT52YXJpYWJsZXNbJ2NvbnRlbnRfaWQnXTsNCgkJJGN1cnJlbnROb2RlID0gJiRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHJvb3RfaWQpOw0KCQl3aGlsZSggaXNzZXQoJGN1cnJlbnROb2RlKSAmJiAkY3VycmVudE5vZGUtPmdldExldmVsKCkgPiAwICl7DQoJCQkkY3VycmVudE5vZGUgPSYgJGN1cnJlbnROb2RlLT5nZXRQYXJlbnROb2RlKCk7DQoJCQkkcm9vdF9pZCA9ICRjdXJyZW50Tm9kZS0+Z2V0SWQoKTsJLy8gw4AgVkVSSUZJRVINCgkJfQ0KCQkkbGFuZ3VhZ2VzID0gJHRoaXMtPmdldGxhbmd1YWdlcygpOw0KCQlmb3JlYWNoKCRsYW5ndWFnZXMgYXMgJGxhbmd1YWdlKXsNCgkJCWlmKCRsYW5ndWFnZVsncm9vdF9pZCddID09ICRyb290X2lkKXsNCgkJCQkkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSA9ICRsYW5ndWFnZTsNCgkJCQkkdGhpcy0+Y3VycmVudF9sYW5nY29kZSA9ICRsYW5ndWFnZVsnbGFuZ2NvZGUnXTsNCgkJCX0NCgkJfQ0KCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpew0KCQkJLy8gdGhhbmtzIG5pbm8gZm9yIHRoaXMgYWRkDQoJCQkkZGVmbGFuZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0X2xhbmd1YWdlIiwgZmFsc2UpOw0KCQkJaWYoJGRlZmxhbmcgJiYgYXJyYXlfa2V5X2V4aXN0cyggJGRlZmxhbmcsICRsYW5ndWFnZXMgKSApIHsNCgkJCQkkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSA9ICRsYW5ndWFnZXNbICRkZWZsYW5nIF07DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUgPSAkZGVmbGFuZzsNCgkJCX0NCgkJfQ0KCQkkc21hcnR5LT5hc3NpZ24oJ3BhZ2VfbGFuZycsJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpOw0KCQkkc21hcnR5LT5hc3NpZ24oJ3BhZ2VfbGFuZ19pbmZvJywkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSk7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGF1dG9fcmVkaXJlY3QoKXsNCgkJLy8gcmVkaXJlY3RzIHRvIHRoZSB1c2VyIGxhbmd1YWdlIHdoZW4gYSB1cmwgaXMgcmVxdWVzdGVkDQoJCWdsb2JhbCAkZ0NtczsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKQlyZXR1cm4gZmFsc2U7DQoJCSRwcmVmX2Jyb3dzZXJfaG9tZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhdXRvcmVkaXJlY3RfaG9tZSIpOw0KCQkkcHJlZl9icm93c2VyX2FsbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhdXRvcmVkaXJlY3RfYWxsIik7DQoJCSRwcmVmX2Nvb2tpZV9ob21lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImNvb2tpZXNfYXV0b3JlZGlyZWN0X2hvbWUiKTsNCgkJJHByZWZfY29va2llX2FsbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb29raWVzX2F1dG9yZWRpcmVjdF9hbGwiKTsNCgkJaWYoISRwcmVmX2Nvb2tpZV9ob21lICYmICEkcHJlZl9jb29raWVfYWxsICYmICEkcHJlZl9icm93c2VyX2hvbWUgJiYgISRwcmVmX2Jyb3dzZXJfYWxsKQlyZXR1cm4gZmFsc2U7DQoJCSRwYWdlaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWydjb250ZW50X2lkJ107DQoJCSRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKCk7DQoJCSRpc19ob21lcGFnZSA9IGZhbHNlOw0KCQkkbGFuZ2NvZGVzID0gYXJyYXkoKTsNCgkJJHRydW5jYXRlZCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGxhbmd1YWdlcyBhcyAkbGFuZ3VhZ2Upew0KCQkJYXJyYXlfcHVzaCgkbGFuZ2NvZGVzLCRsYW5ndWFnZVsnbGFuZ2NvZGUnXSk7DQoJCQkkdHJ1bmNhdGVkW3N1YnN0cigkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ10sMCwyKV0gPSAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ107DQoJCQlpZigkbGFuZ3VhZ2VbJ2RlZmF1bHRfaWQnXSA9PSAkcGFnZWlkKQkkaXNfaG9tZXBhZ2UgPSB0cnVlOw0KCQl9DQoJCSRjb29raWUgPSAoJGlzX2hvbWVwYWdlICYmICRwcmVmX2Nvb2tpZV9ob21lKSB8fCAkcHJlZl9jb29raWVfYWxsOw0KCQkkYnJvd3NlciA9ICgkaXNfaG9tZXBhZ2UgJiYgJHByZWZfYnJvd3Nlcl9ob21lKSB8fCAkcHJlZl9icm93c2VyX2FsbDsNCgkJaWYoISRjb29raWUgJiYgISRicm93c2VyKQlyZXR1cm4gZmFsc2U7DQoNCgkJLy8gcmV0cmlldmUgdXNlciBsYW5ndWFnZSA6DQoJCSR1c3JsYW5nID0gZmFsc2U7DQoJCWlmKGlzc2V0KCRfQ09PS0lFWyd1c3JsYW5nJ10pICYmICRjb29raWUgJiYgaW5fYXJyYXkoJF9DT09LSUVbJ3VzcmxhbmcnXSwgJGxhbmdjb2Rlcykpew0KCQkJJHVzcmxhbmcgPSAkX0NPT0tJRVsndXNybGFuZyddOw0KCQl9ZWxzZWlmKCRicm93c2VyKXsJCQkNCgkJCSRsYW5ndWFnZXMgPSBzdHJ0b2xvd2VyKCAkX1NFUlZFUlsiSFRUUF9BQ0NFUFRfTEFOR1VBR0UiXSApOw0KCQkJJGxhbmd1YWdlcyA9IHN0cl9yZXBsYWNlKCAnICcsICcnLCAkbGFuZ3VhZ2VzICk7DQoJCQkkbGFuZ3VhZ2VzID0gZXhwbG9kZSggIiwiLCAkbGFuZ3VhZ2VzICk7DQoJCQkkbGFuZ3VhZ2UgPSBzdWJzdHIoICRsYW5ndWFnZXNbMF0sIDAsIDIgKTsNCgkJCWlmKGlzc2V0KCR0cnVuY2F0ZWRbJGxhbmd1YWdlXSkpCSR1c3JsYW5nID0gJHRydW5jYXRlZFskbGFuZ3VhZ2VdOw0KCQl9DQoNCgkJaWYoJHVzcmxhbmcgJiYgKCRwcmVmX2Nvb2tpZV9hbGwgfHwgJHByZWZfY29va2llX2hvbWUpICkJc2V0Y29va2llKCd1c3JsYW5nJywkdXNybGFuZyx0aW1lKCkrODY0MDAqMzY1LCcvJyk7DQoNCgkJaWYoJHVzcmxhbmcgJiYgJHVzcmxhbmcgIT0gJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpew0KCQkJJGRlc3RwYWdlID0gJHRoaXMtPmdldF91cmxzKCR1c3JsYW5nKTsNCgkJCWlmKGlzc2V0KCRkZXN0cGFnZVskdXNybGFuZ10pKQloZWFkZXIoImxvY2F0aW9uOiAiLiRkZXN0cGFnZVskdXNybGFuZ11bJ3VybCddLiRnQ21zLT5jb25maWdbJ3BhZ2VfZXh0ZW5zaW9uJ10pOw0KCQl9CQkNCgl9DQoJDQoJZnVuY3Rpb24gZ2V0X3VybHMoJGRlc2lyZWRfbGFuZz1mYWxzZSl7DQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdoaWVyYXJjaHlfcmVkaXJlY3QnLHRydWUpKXsNCgkJCXJldHVybiAkdGhpcy0+aGllcmFyY2h5X2dldF9saW5rcygkZGVzaXJlZF9sYW5nKTsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gJHRoaXMtPm1hbnVhbF9nZXRfbGlua3MoJGRlc2lyZWRfbGFuZyk7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gaGllcmFyY2h5X2dldF9saW5rcygkZGVzaXJlZF9sYW5nPWZhbHNlKXsNCgkJLy8gcmV0cmlldmVzIHRoZSB1cmwgdG8gdGhlIHBhZ2UgaW4gdGhlIGRlc2lyZWQgbGFuZ3VhZ2UocykgZXF1aXZhbGVudCB0byB0aGUgY3VycmVudCBwYWdlLA0KCQkvLyBiYXNlZCBvbiBoaWVyYXJjaHkNCgkJLy8gaWYgJGRlc2lyZWRfbGFuZyBpcyBmYWxzZSwgbGlua3MgZm9yIGFsbCBhY3RpdmUgbGFuZ3VhZ2VzIHdpbGwgYmUgcmV0dXJuZWQNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzIHx8IGNvdW50KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKSA9PSAwKQlyZXR1cm4gZmFsc2U7DQoJCWdsb2JhbCAkZ0NtczsNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRiYXNlX3VybCA9ICR0aGlzLT5nZXRfYmFzZV91cmwoKTsNCgkJJGRlZmF1bHRfaGlkZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2hpZGUnLCBmYWxzZSk7DQoJCWlmKCRkZXNpcmVkX2xhbmcgJiYgaXNzZXQoJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXNbJGRlc2lyZWRfbGFuZ10pKXsNCgkJCSRsYW5ncyA9IGFycmF5KCRkZXNpcmVkX2xhbmc9PiR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKTsNCgkJfWVsc2V7DQoJCQkkbGFuZ3MgPSAkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlczsNCgkJfQ0KCQkkbW9kdWxlX2xpbmtzID0gJHRoaXMtPm1vZHVsZV9nZXRfdXJsKCk7DQoJCWlmKGNvdW50KCRtb2R1bGVfbGlua3MpID09IGNvdW50KCRsYW5ncykgJiYgaXNzZXQoJG1vZHVsZV9saW5rc1skbGFuZ1swXVsnbGFuZ2NvZGUnXV0pKQlyZXR1cm4gJG1vZHVsZV9saW5rczsNCgkJJGN1cnJlbnRfcG9zaXRpb24gPSBleHBsb2RlKCcuJywgJGdDbXMtPnZhcmlhYmxlc1sncG9zaXRpb24nXSk7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQkkcm9vdGlkcyA9IGFycmF5KCk7DQoJCSRoaWVyYXJjaGllcyA9IGFycmF5KCk7DQoJCSR3aGVyZSA9ICIiOw0KCQkkcXVlcnlfdmFsdWVzID0gYXJyYXkoKTsNCgkJJGRlZmF1bHRfcGF0aHMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRsYW5ncyBhcyAkb25lbGFuZyl7DQoJCQkkb3V0cHV0WyRvbmVsYW5nWydsYW5nY29kZSddXSA9IGFycmF5KCdtZW51X3RleHQnPT4iIiwgJ25hbWUnPT4iIiwgJ3VybCc9PiIiKTsNCgkJCSRyb290aWRzWyRvbmVsYW5nWydyb290X2lkJ11dID0gJG9uZWxhbmdbJ2xhbmdjb2RlJ107DQoJCQkkd2hlcmUgLj0gKCR3aGVyZSA9PSAiIj8iIjoiIE9SICIpLiJjb250ZW50X2lkPT8iOw0KCQkJYXJyYXlfcHVzaCgkcXVlcnlfdmFsdWVzLCAkb25lbGFuZ1sncm9vdF9pZCddKTsNCgkJfQ0KCQkkcXVlcnkgPSAiU0VMRUNUIGNvbnRlbnRfbmFtZSwgbWVudV90ZXh0LCBjb250ZW50X2lkLCBoaWVyYXJjaHksIGhpZXJhcmNoeV9wYXRoIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSAoIi4kd2hlcmUuIikiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcXVlcnlfdmFsdWVzKTsNCgkJJHF1ZXJ5X3ZhbHVlcyA9IGFycmF5KCk7DQoJCSR3aGVyZSA9ICIiOw0KCQkkbmV3cGF0aHMgPSBhcnJheSgpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkcG9zaXRpb24gPSBleHBsb2RlKCcuJywkcm93WydoaWVyYXJjaHknXSk7DQoJCQkkbmV3cG9zaXRpb24gPSAkY3VycmVudF9wb3NpdGlvbjsNCgkJCSRuZXdwb3NpdGlvblswXSA9ICRwb3NpdGlvblswXTsNCgkJCSRuZXdfaGllcmFyY2h5ID0gaW1wbG9kZSgnLicsJG5ld3Bvc2l0aW9uKTsNCgkJCSRoaWVyYXJjaGllc1skcm9vdGlkc1skcm93Wydjb250ZW50X2lkJ11dXSA9ICRuZXdfaGllcmFyY2h5Ow0KCQkJYXJyYXlfcHVzaCgkcXVlcnlfdmFsdWVzLCRuZXdfaGllcmFyY2h5KTsNCgkJCSRuZXdwYXRoc1skbmV3X2hpZXJhcmNoeV0gPSAkcm9vdGlkc1skcm93Wydjb250ZW50X2lkJ11dOw0KCQkJJGRlZmF1bHRfcGF0aHNbJHJvb3RpZHNbJHJvd1snY29udGVudF9pZCddXV0gPSBhcnJheSgidXJsIj0+JGJhc2VfdXJsLiRyb3dbImhpZXJhcmNoeV9wYXRoIl0sICJuYW1lIj0+JHJvd1siY29udGVudF9uYW1lIl0sICJtZW51X3RleHQiPT4kcm93WyJtZW51X3RleHQiXSk7DQoJCQkkd2hlcmUgLj0gKCR3aGVyZSA9PSAiIj8iIjoiIE9SICIpLiJoaWVyYXJjaHk9PyI7DQoJCX0NCgkJJHF1ZXJ5ID0gIlNFTEVDVCBjb250ZW50X2lkLCBjb250ZW50X25hbWUsIG1lbnVfdGV4dCwgaGllcmFyY2h5LCBoaWVyYXJjaHlfcGF0aCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJjb250ZW50IFdIRVJFICgiLiR3aGVyZS4iKSI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICRxdWVyeV92YWx1ZXMpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkJJG91dHB1dFskbmV3cGF0aHNbJHJvd1siaGllcmFyY2h5Il1dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJJGZpbmFsID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkb3V0cHV0IGFzICRsYW5nPT4kdmFsdWUpew0KCQkJaWYoaXNzZXQoJG1vZHVsZV9saW5rc1skbGFuZ10pKXsNCgkJCQkkdmFsdWVbInVybCJdID0gJG1vZHVsZV9saW5rc1skbGFuZ11bInVybCJdOw0KCQkJCSR2YWx1ZVsibmFtZSJdID0gJG1vZHVsZV9saW5rc1skbGFuZ11bIm5hbWUiXTsNCgkJCX0NCgkJCWlmKCR2YWx1ZVsidXJsIl0gPT0gIiIgJiYgJGRlZmF1bHRfaGlkZSl7DQoJCQl9ZWxzZWlmKCR2YWx1ZVsidXJsIl0gPT0gIiIpew0KCQkJCSRmaW5hbFskbGFuZ10gPSAkZGVmYXVsdF9wYXRoc1skbGFuZ107DQoJCQl9ZWxzZXsNCgkJCQkkZmluYWxbJGxhbmddID0gJHZhbHVlOw0KCQkJfQ0KCQl9DQoJCXJldHVybiAkZmluYWw7DQoJfQ0KCQ0KCQ0KCWZ1bmN0aW9uIG1hbnVhbF9nZXRfbGlua3MoJGRlc2lyZWRfbGFuZz1mYWxzZSl7DQoJCS8vIHJldHJpZXZlcyB0aGUgdXJsIHRvIHRoZSBwYWdlIGluIHRoZSBkZXNpcmVkIGxhbmd1YWdlKHMpIGVxdWl2YWxlbnQgdG8gdGhlIGN1cnJlbnQgcGFnZSwNCgkJLy8gYmFzZWQgb24gTWFyY29zIENydXogbWFudWFsIHByb2NlZHVyZSAoc2VlIGhlbHApDQoJCS8vIGlmICRkZXNpcmVkX2xhbmcgaXMgZmFsc2UsIGxpbmtzIGZvciBhbGwgYWN0aXZlIGxhbmd1YWdlcyB3aWxsIGJlIHJldHVybmVkDQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcyB8fCBjb3VudCgkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykgPT0gMCkJcmV0dXJuIGZhbHNlOw0KCQlnbG9iYWwgJGdDbXM7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkYmFzZV91cmwgPSAkdGhpcy0+Z2V0X2Jhc2VfdXJsKCk7DQoJCWlmKCRkZXNpcmVkX2xhbmcgJiYgaXNzZXQoJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXNbJGRlc2lyZWRfbGFuZ10pKXsNCgkJCSRsYW5ncyA9IGFycmF5KCRkZXNpcmVkX2xhbmc9PiR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKTsNCgkJfWVsc2V7DQoJCQkkbGFuZ3MgPSAkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlczsNCgkJfQ0KCQkkbW9kdWxlX2xpbmtzID0gJHRoaXMtPm1vZHVsZV9nZXRfdXJsKCk7DQoJCWlmKGNvdW50KCRtb2R1bGVfbGlua3MpID09IGNvdW50KCRsYW5ncykgJiYgaXNzZXQoJG1vZHVsZV9saW5rc1skbGFuZ1swXVsnbGFuZ2NvZGUnXV0pKQlyZXR1cm4gJG1vZHVsZV9saW5rczsNCgkJJG91dHB1dCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGxhbmdzIGFzICRvbmVsYW5nKXsNCgkJCSRvdXRwdXRbJG9uZWxhbmdbJ2xhbmdjb2RlJ11dID0gZmFsc2U7DQoJCX0NCgkJJGJ0bl90ZXh0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoInVzZV9wYWdlX3RpdGxlIixmYWxzZSk/IiI6JG5ld2xhbmdbJ21lbnVfbmFtZSddOw0KDQoJCS8vIHdlIHJldHJpZXZlIHRoZSBhbHRlcm5hdGl2ZXMgZnJvbSB0aGUgY29udGVudCBibG9jaw0KCQkkb3RoZXJfbGFuZ3VhZ2VzID0gJGdDbXMtPnNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ290aGVyX2xhbmd1YWdlcycpOw0KCQkkYWx0ZXJuYXRpdmVzID0gYXJyYXkoKTsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJJHdoZXJlID0gIiI7DQoJCWZvcmVhY2ggKCBleHBsb2RlKCc7JywgJG90aGVyX2xhbmd1YWdlcykgYXMgJG9uZWxhbmcgKXsNCgkJCSRwYXJ0cyA9IGV4cGxvZGUoJz0nLCRvbmVsYW5nKTsNCgkJCWlmKGNvdW50KCRwYXJ0cyk9PTIpew0KCQkJCSR3aGVyZSAuPSAoJHdoZXJlPT0iIj8iIjoiIE9SICIpLiJjb250ZW50X2FsaWFzPT8iOw0KCQkJCSRhbHRlcm5hdGl2ZXNbJHBhcnRzWzFdXSA9ICRwYXJ0c1swXTsNCgkJCQlhcnJheV9wdXNoKCR3aGVyZXZhbHVlcywgJHBhcnRzWzFdKTsNCgkJCX0NCgkJfQ0KCQkkcXVlcnkgPSAiU0VMRUNUIG1lbnVfdGV4dCwgY29udGVudF9uYW1lLCBjb250ZW50X2FsaWFzLCBoaWVyYXJjaHlfcGF0aCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJjb250ZW50IFdIRVJFICgiLiR3aGVyZS4iKSI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR3aGVyZXZhbHVlcyk7DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRvdXRwdXRbJGFsdGVybmF0aXZlc1skcm93WyJjb250ZW50X2FsaWFzIl1dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJfQ0KCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9oaWRlJywgZmFsc2UpKQlyZXR1cm4gJG91dHB1dDsNCg0KCQkvLyB3ZSBjaGVjayBmb3IgZGVmYXVsdCBhbHRlcm5hdGl2ZXMNCgkJJHdoZXJlID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCSRpZHRvbGFuZyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJG91dHB1dCBhcyAkbGFuZz0+JHBhdGgpew0KCQkJaWYoISRwYXRoKXsNCgkJCQkkd2hlcmUgLj0gKCR3aGVyZT09IiI/IiI6IiBPUiAiKS4iY29udGVudF9pZD0/IjsNCgkJCQlhcnJheV9wdXNoKCR3aGVyZXZhbHVlcywgJGxhbmdzWyRsYW5nXVsnZGVmYXVsdF9pZCddKTsNCgkJCQkkaWR0b2xhbmdbJGxhbmdzWyRsYW5nXVsnZGVmYXVsdF9pZCddXSA9ICRsYW5nOw0KCQkJfQ0KCQl9DQoJCWlmKCR3aGVyZSA9PSAiIikJcmV0dXJuICRvdXRwdXQ7DQoJCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIG1lbnVfdGV4dCwgY29udGVudF9uYW1lLCBjb250ZW50X2lkLCBoaWVyYXJjaHksIGhpZXJhcmNoeV9wYXRoIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSAoIi4kd2hlcmUuIikiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkd2hlcmV2YWx1ZXMpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkb3V0cHV0WyRpZHRvbGFuZ1skcm93WyJjb250ZW50X2lkIl1dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfYmFzZV91cmwoKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkcmVkaXJlY3Rpb24gPSBmYWxzZTsNCgkJaWYoaXNzZXQoJGdDbXMtPmNvbmZpZ1sidXJsX3Jld3JpdGluZyJdKSl7DQoJCQkvLyBjb3JlIDEuNiBvciBtb3JlDQoJCQkkcmVkaXJlY3Rpb24gPSAkZ0Ntcy0+Y29uZmlnWyJ1cmxfcmV3cml0aW5nIl07DQoJCX1lbHNlew0KCQkJLy8gY29yZSBiZWxvdyAxLjYNCgkJCWlmKCRnQ21zLT5jb25maWdbImFzc3VtZV9tb2RfcmV3cml0ZSJdKXsNCgkJCQkkcmVkaXJlY3Rpb24gPSAibW9kX3Jld3JpdGUiOw0KCQkJfWVsc2VpZighJGdDbXMtPmNvbmZpZ1siYXNzdW1lX21vZF9yZXdyaXRlIl0gJiYgJGdDbXMtPmNvbmZpZ1siaW50ZXJuYWxfcHJldHR5X3VybHMiXSl7DQoJCQkJJHJlZGlyZWN0aW9uID0gImludGVybmFsIjsNCgkJCX0NCgkJfQ0KCQkkYmFzZXVybCA9ICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ107DQoJCWlmKCRyZWRpcmVjdGlvbiA9PSAibW9kX3Jld3JpdGUiKXsNCgkJCSRiYXNldXJsIC49ICcvJzsNCgkJfWVsc2VpZigkcmVkaXJlY3Rpb24gPT0gImludGVybmFsIil7DQoJCQkkYmFzZXVybCAuPSAnL2luZGV4LnBocC8nOw0KCQl9ZWxzZXsNCgkJCSRiYXNldXJsIC49ICcvaW5kZXgucGhwPycuJGdDbXMtPmNvbmZpZ1sncXVlcnlfdmFyJ10uJz0nOw0KCQl9DQoJCXJldHVybiAkYmFzZXVybDsNCgl9DQoJDQoJZnVuY3Rpb24gbW9kdWxlX2dldF91cmwoKXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJCS8vIGV2ZW50dWFsbHksIHNvbWUgY3VzdG9tIGNvZGUgaGVyZSBjYW4gY2hlY2sgaWYgd2UgYXJlIGluIGEgbW9kdWxlIGFjdGlvbg0KCQkvLyBhbmQgcmV0cmlldmUgbGFuZ3VhZ2UgbGlua3MgZnJvbSB0aGUgbW9kdWxlDQoJfQ0KCQ0KfQ0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/changelog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VkVSU0lPTiAwLjMuNAotIHNvbHZlZCBidWdzICM0MTcwLCM0MTg3LCM0MTg4LCM0MTg5LCM0MjA2CgpWRVJTSU9OIDAuMy4zOgotIHNvbHZlZCB0aGUgYmxhbmsgcGFnZSBwcm9ibGVtIGluIHJlZGlyZWN0LnBocAoKVkVSU0lPTiAwLjMuMjoKLSBzb2x2ZWQgYnVncyAjMzk5MyBhbmQgIzM5OTQgKFRoYW5rcyB0byBKYW4gV2FsZGVjaykKLSBhZGRlZCBmcmVuY2ggbGFuZ3VhZ2UgZmlsZXMKClZFUlNJT04gMC4zLjE6Ci0gc29sdmVkIGJ1ZyAjMzk1OSAoaHR0cCA0MDQgZXJyb3Igb24gcmVkaXJlY3Rpb24pIC0gVGhhbmtzIHRvIFl1bmcKClZFUlNJT04gMC4zOgotIGNoYW5nZWQgdGhlIGNvZGUgdG8gbWluaW1pemUgdGhlIGFtb3VudCBvZiBxdWVyaWVzCi0gcmVwbGFjZWQgbGlua3Mgd2l0aCB1cmxzCgpWRVJTSU9OIDAuMjogZmlyc3QgcHVibGljIHZlcnNpb24K]]></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+DQo8L3VsPic7CgkKLy8gR0VORVJBTAokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmF0ZSI7CiRsYW5nWyJ1bmFjdGl2YXRlIl0gPSAiVHVybiBvZmYiOwokbGFuZ1sic2VhcmNodGhpc3RhYmxlIl0gPSAiU2VhcmNoIHRoaXMgdGFibGUgZm9yOiI7CiRsYW5nWyJZZXMiXSA9ICJZZXMiOwokbGFuZ1siTm8iXSA9ICJObyI7CiRsYW5nWyJBY3Rpb25zIl0gPSAiQWN0aW9ucyI7CiRsYW5nWyJyZW9yZGVyIl0gPSAiUmVvcmRlciI7CiRsYW5nWyJsaXN0dGVtcGxhdGUiXSA9ICJMaXN0IHRlbXBsYXRlIGZvciI7CiRsYW5nWyJ0ZW1wbGF0ZXMiXSA9ICJNZW51IHRlbXBsYXRlcyI7CiRsYW5nWyJ0ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIjsKJGxhbmdbImRlZmF1bHR0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgdGVtcGxhdGUiOwokbGFuZ1sidGVtcGxhdGV2YXJzIl0gPSAiVGVtcGxhdGUgdmFyaWFibGVzIjsKJGxhbmdbImVkaXR0ZW1wbGF0ZSJdID0gIkVkaXQgdGVtcGxhdGUiOwokbGFuZ1siYWRkdGVtcGxhdGUiXSA9ICJBZGQgdGVtcGxhdGUiOwokbGFuZ1siZmlsdGVyYnkiXSA9ICJGaWx0ZXIgYnkiOwokbGFuZ1sic2hvd2FsbCJdID0gIlNob3cgYWxsIChubyBmaWx0ZXIpIjsKJGxhbmdbIm1lc3NhZ2VfZGVsZXRlZCJdID0gIkVsZW1lbnQgZGVsZXRlZCI7CiRsYW5nWyJtZXNzYWdlX21vZGlmaWVkIl0gPSAiTW9kaWZpY2F0aW9uIHNhdmVkIjsKJGxhbmdbImVycm9yX21pc3NnaW52YWx1ZSJdID0gIk9uZSBvciBtb3JlIG5lY2Vzc2FyeSB2YWx1ZXMgaGF2ZSBub3QgYmVlbiBlbnRlcmVkLiI7CiRsYW5nWyJlcnJvcl9hbHJlYWR5ZXhpc3RzIl0gPSAiVGhlcmUgaXMgYWxyZWFkeSBhbiBlbGVtZW50IGJlYXJpbmcgdGhhdCBuYW1lLiI7CiRsYW5nWyJlcnJvcl9ub3BhcmVudCJdID0gIk5vIHBhcmVudCBpcyBkZWZpbmVkISI7CiRsYW5nWyJlcnJvcl9ub3Rmb3VuZCJdID0gIlRoZSBpdGVtIGNvdWxkIG5vdCBiZSBmb3VuZC4iOwokbGFuZ1siZXJyb3Jfbm9pdGVtZm91bmQiXSA9ICJObyBpdGVtIGZvdW5kLiI7CiRsYW5nWyJlcnJvcl9kZW5pZWQiXSA9ICJQZXJtaXNzaW9uIGRlbmllZCI7CiRsYW5nWyJnaXZlbmVycm9yIl0gPSAiRXJyb3I6ICI7CiRsYW5nWyJwcm9tcHRfZ2VuZXJhbGRlbGV0ZSJdID0gIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcz8iOwokbGFuZ1sicmVzdWx0cyJdID0gIlJlc3VsdHMiOwoKLy8gTU9EVUxFIElOVEVSQUNUSU9OCiRsYW5nWyJwb3N0aW5zdGFsbCJdID0gIk1vZHVsZSBzdWNjZXNzZnVsbHkgYWRkZWQuIjsKJGxhbmdbInBvc3R1bmluc3RhbGwiXSA9ICJNb2R1bGUgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuIjsKJGxhbmdbInJlYWxseV91bmluc3RhbGwiXSA9ICJBbGwgb2YgdGhpcyBtb2R1bGUncyBjb250ZW50IHdpbGwgYmUgbG9zdC4gQ29udGludWU/IjsKJGxhbmdbInVuaW5zdGFsbGVkIl0gPSAiTW9kdWxlIFVuaW5zdGFsbGVkLiI7CiRsYW5nWyJpbnN0YWxsZWQiXSA9ICJNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuIjsKJGxhbmdbImhlbHAiXSA9ICI8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KCQkJCTxwPlRoaXMgbW9kdWxlIG1hbmFnZXMgbXVsdGlwbGVzIGxhbmd1YWdlcyBmb3IgdGhlIGZyb250ZW5kIGFuZCBuYXZpZ2F0aW9uIHRocm91Z2ggdGhlIGxhbmd1YWdlcy48L3A+CgkJCTxici8+PGgzPkhvdyBEbyBJIFVzZSBJdD88L2gzPgoJCQkJPGJyLz48aDQ+VHJlZSBicmFuY2hlczwvaDQ+CgkJCQkJPHA+VGhpcyBtb2R1bGUgdXNlcyBhbiBhcHByb2FjaCB0byBtdWx0aWxpbmd1YWwgc2l0ZXMgY2FsbGVkIFwic2VwYXJhdGVkIHRyZWUgYnJhbmNoZXNcIiwgd2hpY2ggaGFzIGJlZW4gZGV2ZWxvcHBlZCBieSBvdGhlciBjbXNtcyBkZXZlbG9wZXJzIChuYW1lbHkgTWFyY29zIENydXogLSBzZWUgPGEgaHJlZj1cImh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy9pbmRleC5waHAvdG9waWMsMTkwOTkubXNnOTQ3NDkuaHRtbCNtc2c5NDc0OVwiIHRhcmdldD1cIl9ibGFua1wiPnRoaXMgdG9waWM8L2E+KS48L3A+PGJyLz4KCQkJCQk8cD5TaG91bGQgeW91IG5lZWQgdG8gdXNlIGl0IGluIHlvdXIgdGVtcGxhdGVzLCB0aGUgY3VycmVudCBsYW5ndWFnZSBjb2RlIHdpbGwgYmUgc3RvcmVkIGluIHRoZSAkIi4icGFnZV9sYW5nIHZhcmlhYmxlLiBNb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBsYW5ndWFnZSBjYW4gYWxzbyBiZSByZXRyaWV2ZWQgdXNpbmcgdGhlICQiLiJwYWdlX2xhbmdfaW5mbyBvYmplY3QgKHdpdGggdGhlIHNhbWUgYXR0cmlidXRlcyBhcyBpbiB0aGUgbWVudSB0ZW1wbGF0ZXMpLjwvcD4KCQkJCTxoND5QYXJ0IDE6IHNldHRpbmcgdXAgdGhlIHBhZ2VzPC9oND4JCQkKCQkJCQk8cD5UbyB1c2UgdGhpcywgeW91IHdpbGwgaGF2ZSB0byBjcmVhdGUgZGlmZmVyZW50IHJvb3QgcGFnZXMgZm9yIGVhY2ggbGFuZ3VhZ2UuIEZvciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+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+SGVyZSwgXCIxc3QgcGFnZVwiIHdvdWxkIGJlIHRha2VuIHRvIGJlIGVxdWl2YWxlbnQgdG8gXCJQYWdlIDJcIiBhbmQgXCIzcmQgcGFnZVwiIHdvdWxkIGJlIGRlZW1lZCB0byBoYXZlIG5vIHRyYWR1Y3Rpb24sIGFsdGhvdWdoIGl0IGRvZXMuPC9wPgoJCQk8YnIvPjxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJCQkJPHA+UGFnZSBsYW5ndWFnZSBzaG91bGQgYmUgZGV0ZWN0ZWQgYW5kIGFzc2lnbmVkIHRvIHRoZSBzbWFydHkgdmFyaWFibGVzIGJlZm9yZSB0aGUgdGVtcGxhdGUgaXMgcHJvY2Vzc2VkIGJ5IGFuIGV2ZW50IGhhbmRsZXIuIEhvd2V2ZXIsIGl0IGlzIHBvc3NpYmxlIHRoYXQgYXQgc29tZSBwb2ludCBpbiB0aGUgcGFnZSB0ZW1wbGF0ZSB0aGUgcGFnZSBsYW5ndWFnZSBpcyBsb3N0IChlc3BlY2lhbGx5IHNpbmNlIHRoZSBwYWdlIGhlYWQgaXMgcHJvY2Vzc2VkIHNlcGFyYXRseSBmcm9tIHRoZSBwYWdlIGJvZHkpLiBTaG91bGQgaXQgaGFwcGVuZCwgeW91IGNhbiB1c2UgdGhlIHRhZyB7YmFiZWwgYWN0aW9uPVwiYXNzaWduXCJ9IHRvIHJlYXNzaWduIGl0Ljxici8+CgkJCQlOb3RlIHRoYXQgeW91IG1heSBhbHNvIHVzZSB7YmFiZWwgYWN0aW9uPVwiYXV0b19yZWRpcmVjdFwiIGF0IHRoZSBiZWdpbm5pbmcgb2YgeW91ciB0ZW1wbGF0ZSBpZiwgZm9yIHNvbWUgcmVhc29uLCByZWRpcmVjdGlvbiBkb2VzIG5vdCBvY2N1ciAoSSBkb24ndCBzZWUgd2h5IHRoaXMgc2hvdWxkIGhhcHBlbiB0aG91Z2gpLjwvcD4KCQkJPGJyLz48aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KCQkJCTxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIChwbGdlciksIGJhc2VkIG9uIGFuIGFwcHJvYWNoIGJ5IE1hcmNvcyBDcnV6LCBhbmQgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS48L3A+PGJyLz48YnIvPiI7CgoKLy9TRVRUSU5HUwokbGFuZ1sic2V0dGluZ3MiXSA9ICJTZXR0aW5ncyI7CiRsYW5nWyJwcmVmX2F1dG9yZWRpcmVjdF9ob21lIl0gPSAiQXV0by1yZWRpcmVjdCBvbiBob21lIHBhZ2UgYmFzZWQgb24gcmVxdWVzdCAoYnJvd3NlcikgbGFuZ3VhZ2U/Kjxici8+V2hlbiB0aGUgdXNlciBnZXRzIG9uIGEgaG9tZSBwYWdlIChhIHBhZ2UgZGVmaW5lZCBhcyBkZWZhdWx0IHBhZ2UgZm9yIGEgbGFuZ3VhZ2UpLCBpZiBoaXMgYnJvd3NlciBsYW5ndWFnZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcGFnZSBsYW5ndWFnZSBoZSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIHBhZ2UuIjsKJGxhbmdbInByZWZfYXV0b3JlZGlyZWN0X2FsbCJdID0gIkF1dG8tcmVkaXJlY3Qgb24gYWxsIHBhZ2VzIGJhc2VkIG9uIHJlcXVlc3QgbGFuZ3VhZ2U/Kjxici8+KHNhbWUgYXMgYWJvdmUsIGJ1dCBmb3IgYWxsIHBhZ2VzKSI7CiRsYW5nWyJwcmVmX2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2hvbWUiXSA9ICJBdXRvLXJlZGlyZWN0IG9uIGhvbWUgcGFnZSBiYXNlZCBvbiBsYW5ndWFnZSBzdG9yZWQgaW4gY29va2llcz88YnIvPklmIHRoZSB1c2VyIGhhcyBwcmV2aW91c2x5IG5hdmlnYXRlZCB0aGUgc2l0ZSBpbiBhIHNlbGVjdGVkIGxhbmd1YWdlIGJlZm9yZSwgaGUgd2lsbCBiZSBmb3dhcmRlZCB0byB0aGlzIGxhbmd1YWdlIHVwb24gdmlzaXRpbmcgYW55IGhvbWUgcGFnZSAoYW55IHBhZ2UgdGhhdCBoYXMgYmVlbiBzZXQgYXMgZGVmYXVsdCBwYWdlIGZvciBhIGxhbmd1YWdlKS4iOwokbGFuZ1sicHJlZl9jb29raWVzX2F1dG9yZWRpcmVjdF9hbGwiXSA9ICJBdXRvLXJlZGlyZWN0IG9uIGFsbCBwYWdlcyBiYXNlZCBvbiBjb29raWVzPzxici8+KHNhbWUgYXMgYWJvdmUsIGJ1dCBmb3IgYWxsIHBhZ2VzKSI7CiRsYW5nWyJwcmVmX2hpZXJhcmNoeV9yZWRpcmVjdCJdID0gIlVzZSBoaWVyYXJjaHkgZm9yIHJlZGlyZWN0aW9uPyAoc2VlIGhlbHAgZm9yIG1vcmUgaW5mbyk8YnIvPlRoaXMgbWVhbnMgdGhhdCB0aGUgcGFnZSBzdHJ1Y3R1cmUgbXVzdCBiZSBleGFjdGx5IHRoZSBzYW1lIGZvciBhbGwgbGFuZ3VhZ2VzLiBJZiB5b3UgZG9uJ3QgdXNlIHRoZSBoaWVyYXJjaHksIHlvdSB3aWxsIGhhdmUgdG8gc3BlY2lmeSB0aGUgcGFnZXMgbWFudWFsbHkuIjsKJGxhbmdbInByZWZfZGVmYXVsdF9oaWRlIl0gPSAiSGlkZSBtZW51IGxpbmsgd2hlbiB0aGUgYWNjb3JkaW5nIHBhZ2UgZG9lcyBub3QgZXhpc3Q/PGJyLz5JZiB0aGUgbGFuZ3VhZ2UgbGluayBzaG91bGQgbGVhZCB0byBhIHBhZ2UgdGhhdCBkb2VzIG5vdCBleGlzdCwgaGlkZSB0aGUgbGluayAob3RoZXJ3aXNlLCB0aGUgbGluayB3aWxsIGxlYWQgdG8gdGhlIGxhbmd1YWdlJ3MgZGVmYXVsdCBwYWdlKS4iOwokbGFuZ1sicHJlZl9kZWZhdWx0X3RyYW5zbGF0ZSJdID0gIlVzZSBkZWZhdWx0IGxhbmd1YWdlIHdoZXJlIGxhbmd1YWdlLXNwZWNpZmljIGVudHJpZXMgaGF2ZW4ndCBiZWVuIHN1cHBsaWVkLiI7CiRsYW5nWyJwcmVmX2hpZGVfbWlzc2luZ2VudHJpZXMiXSA9ICJIaWRlIGVycm9yIG1lc3NhZ2UgZm9yIHVua25vd24gbGFuZ3VhZ2UgZW50cmllcy4iOwokbGFuZ1sicHJlZl93eXNpd3lnIl0gPSAiRW5hYmxlIHd5c2l3eWcgaW4gbGFuZ3VhZ2UgZW50cmllcy4iOwokbGFuZ1sicHJlZl91c2VfcGFnZV90aXRsZSJdID0gIlVzZSBwYWdlIHRpdGxlIGluIGxhbmd1YWdlIGxpbmtzIChpbnN0ZWFkIG9mIGxhbmd1YWdlIG5hbWUpLiI7CiRsYW5nWyJwcmVmX2N1cnJlbnRfbGluayJdID0gIkluIHRoZSBsYW5ndWFnZSBtZW51LCBzaG93IGxpbmsgZm9yIGN1cnJlbnQgcGFnZSAodGhhdCBpcywgY3VycmVudCBsYW5ndWFnZSkgdG9vLiI7CiRsYW5nWyJoZWxwX3JlZGlyZWN0aW9uIl0gPSAiKk5vdGU6IElmIHlvdSB1c2UgcmVkaXJlY3Rpb24gYmFzZWQgb24gcmVxdWVzdCAoYnJvd3NlcikgbGFuZ3VhZ2UsIG1ha2Ugc3VyZSB0byBhY3RpdmF0ZSB0aGUgY29ycmVzcG9uZGluZyBjb29raWUgcmVkaXJlY3Rpb24sIG90aGVyd2lzZSB0aGUgdXNlcnMgd2lsbCBiZSA8Yj5mb3JjZWQ8L2I+IHRvIHZpZXcgdGhlIHBhZ2UgaW4gdGhlaXIgYnJvd3NlciBsYW5ndWFnZS4iOwoKCi8vUEFSQU1FVEVSUwokbGFuZ1sicGhlbHBfYWN0aW9uIl0gPSAiUG9zc2libGUgYWN0aW9uczogXCJkZWZhdWx0XCIgKGZvciB0cmFuc2xhdGlvbnMpIG9yIFwibWVudVwiLiI7CiRsYW5nWyJwaGVscF9zaG93Il0gPSAiRm9yIHRoZSBtZW51IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdoaWNoIGxhbmd1YWdlcyB0byBzaG93IGluIHRoZSBtZW51ICh1c2UgbGFuZ3VhZ2UgY29kZSBhbmQgc2VwYXJhdGUgd2l0aCBhIGNvbW1hKS4gRm9yIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBob2xkcyB0aGUga2V5IHRvIHRoZSBzdHJpbmcgdG8gYmUgdHJhbnNsYXRlZC4iOwokbGFuZ1sicGhlbHBfdGVtcGxhdGUiXSA9ICJUZW1wbGF0ZSB0byB1c2UgZm9yIHRoZSBtZW51LiI7CiRsYW5nWyJwaGVscF9hc3NpZ24iXSA9ICJJbnN0ZWFkIG9mIGRpc3BsYXlpbmcgdGhlIHJlc3VsdCBpbW1lZGlhdGVseSwgeW91IGNhbiBhc3NpZ24gaXQgdG8gYSBzbWFydHkgdmFyaWFibGUgc3BlY2lmaWVkIHdpdGggdGhlIFwiYXNzaWduXCIgcGFyYW1ldGVyLiI7CgoKDQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWyJmcmllbmRseW5hbWUiXSA9ICJCYWJlbDogU2l0ZSBtdWx0aWxpbmd1ZSI7DQokbGFuZ1sibW9kZGVzY3JpcHRpb24iXSA9ICJQZXJtZXQgbGEgZ2VzdGlvbiBkZSBwbHVzaWV1cnMgbGFuZ3VlcyBwb3VyIGxlIGZyb250ZW5kIGV0IGxhIG5hdmlnYXRpb24gw6AgdHJhdmVycyBjZWxsZXMtY2kuIjsNCiRsYW5nWyJhZG1pbmRlc2NyaXB0aW9uIl0gPSAiR2VzdGlvbiBkZXMgbGFuZ3VlcyBkZSBjb250ZW51IGV0IGRlcyBwYXJhbSZlZ3JhdmU7dHJlcyBkZSBsYW5ndWUuIjsKCiRsYW5nWyJsYW5ndWFnZSJdID0gIkxhbmd1ZSI7DQokbGFuZ1sibGFuZ3VhZ2VzIl0gPSAiTGFuZ3VlcyI7DQokbGFuZ1siYWRkX2xhbmd1YWdlIl0gPSAiQWpvdXRlciB1bmUgbGFuZ3VlIjsKJGxhbmdbImFkZF9lbnRyeSJdID0gIkFqb3V0ZXIgdW5lIGVudHImZWFjdXRlO2UgbGluZ3Vpc3RpcXVlIjsKJGxhbmdbImVudHJ5Il0gPSAiRW50ciZlYWN1dGU7ZSBsaW5ndWlzdGlxdWUiOw0KJGxhbmdbImVkaXRfbGFuZ3VhZ2UiXSA9ICJNb2RpZmllciBsYSBsYW5ndWUiOwokbGFuZ1sibmFtZSJdID0gIk5vbSI7CiRsYW5nWyJlbnRyeW5hbWUiXSA9ICJOb20gZGUgbCdlbnRyJmVhY3V0ZTsgKHNlcmEgdXRpbGlzJmVhY3V0ZTsgcG91ciBsJ2FwcGVsZXIpIjsKJGxhbmdbIm1lbnVfbmFtZSJdID0gIk5vbSBkYW5zIGxlIG1lbnUiOwokbGFuZ1sibGFuZ2NvZGUiXSA9ICJDb2RlIGRlIGxhbmd1ZSI7CiRsYW5nWyJsYW5nY29kZV9wcm9tcHQiXSA9ICJDb2RlIGRlIGxhbmdlIChleDogZW5fVVMgKSI7CiRsYW5nWyJyb290X2lkIl0gPSAiUGFnZSByYWNpbmUgYXNzb2NpJmVhY3V0ZTtlICZhZ3JhdmU7IGxhIGxhbmd1ZSI7CiRsYW5nWyJkZWZhdWx0X2lkIl0gPSAiUGFnZSBwYXIgZCZlYWN1dGU7ZmF1dCBwb3VyIGxhIHJlZGlyZWN0aW9uICZhZ3JhdmU7IGNldHRlIGxhbmd1ZSI7CiRsYW5nWyJsYW5nc2VsZWN0Il0gPSAiKGZhY3VsdGF0aWYpIFJlbXBsaXIgYXV0b21hdGlxdWVtZW50IHBvdXIgbGEgbGFuZ3VlIHN1aXZhbnRlOiI7CiRsYW5nWyJpc2RlZmF1bHQiXSA9ICJQYXIgZCZlYWN1dGU7ZmF1dD8iOwokbGFuZ1siYWN0aW9ucyJdID0gIkFjdGlvbnMiOwokbGFuZ1siYWN0aXZlIl0gPSAiQWN0aXZlIjsNCiRsYW5nWyJwcm9tcHRfZGVsZXRlbGFuZ3VhZ2UiXSA9ICJWcmFpbWVudCBzdXBwcmltZXIgY2V0dGUgbGFuZ3VlICglcyk/IjsKCiRsYW5nWyJzdWJtaXQiXSA9ICJFbnZveWVyIjsKJGxhbmdbImNhbmNlbCJdID0gIkFubnVsZXIiOwokbGFuZ1siYXBwbHkiXSA9ICJBcHBsaXF1ZXIiOw0KCiRsYW5nWyJlZGl0X2VudHJpZXMiXSA9ICJNb2RpZmllciBsZXMgZW50ciZlYWN1dGU7ZXMgbGluZ3Vpc3RpcXVlcyI7CgoKCg0KJGxhbmdbInRlbXBsYXRlaGVscCJdID0gJzx1bD4KPGxpPiRsYW5ndWFnZXMgKGFycmF5IG9mICRsYW5ndWFnZSk8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7bmFtZTwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDtjb2RlPC9saT4NCjxsaT4kbGFuZ3VhZ2UtJmd0O21lbnVfbmFtZTwvbGk+CjxsaT4kbGFuZ3VhZ2UtJmd0O3BhZ2VfbmFtZTwvbGk+CjxsaT4kbGFuZ3VhZ2UtJmd0O3BhZ2VfbWVudV90ZXh0PC9saT4NCjxsaT4kbGFuZ3VhZ2UtJmd0O3VybDwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDtpc19jdXJyZW50PC9saT4NCjwvdWw+JzsKCQovLyBHRU5FUkFMCiRsYW5nWyJhY3RpdmF0ZSJdID0gIkFjdGl2ZXIiOwokbGFuZ1sidW5hY3RpdmF0ZSJdID0gIkQmZWFjdXRlO3NhY3RpdmVyIjsKJGxhbmdbInNlYXJjaHRoaXN0YWJsZSJdID0gIkNoZXJjaGVyIGRhbnMgY2UgdGFibGVhdToiOwokbGFuZ1siWWVzIl0gPSAiT3VpIjsKJGxhbmdbIk5vIl0gPSAiTm9uIjsKJGxhbmdbIkFjdGlvbnMiXSA9ICJBY3Rpb25zIjsKJGxhbmdbInJlb3JkZXIiXSA9ICJSJmVhY3V0ZTtvcmRvbm5lciI7CiRsYW5nWyJ0ZW1wbGF0ZXMiXSA9ICJHYWJhcml0cyBkZSBtZW51IjsKJGxhbmdbInRlbXBsYXRlIl0gPSAiR2FiYXJpdCI7CiRsYW5nWyJkZWZhdWx0dGVtcGxhdGUiXSA9ICJHYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IjsKJGxhbmdbInRlbXBsYXRldmFycyJdID0gIlZhcmlhYmxlcyBzbWFydHkiOwokbGFuZ1siZWRpdHRlbXBsYXRlIl0gPSAiTW9kaWZpZXIgbGUgZ2FiYXJpdCI7CiRsYW5nWyJhZGR0ZW1wbGF0ZSJdID0gIkFqb3V0ZXIgdW4gZ2FiYXJpdCI7CiRsYW5nWyJmaWx0ZXJieSJdID0gIkZpbHRyZXIgcGFyIjsKJGxhbmdbInNob3dhbGwiXSA9ICJUb3V0IGFmZmljaGVyIChhdWN1biBmaWx0cmUpIjsKJGxhbmdbIm1lc3NhZ2VfZGVsZXRlZCJdID0gIlN1cHByaW0mZWFjdXRlOyI7CiRsYW5nWyJtZXNzYWdlX21vZGlmaWVkIl0gPSAiTW9kaWZpY2F0aW9uIHNhdXZlZ2FyZCZlYWN1dGU7ZSI7CiRsYW5nWyJlcnJvcl9taXNzZ2ludmFsdWUiXSA9ICJEZXMgdmFsZXVycyBvYmxpZ2F0b2lyZXMgc29udCBtYW5xdWFudGVzLiI7CiRsYW5nWyJlcnJvcl9hbHJlYWR5ZXhpc3RzIl0gPSAiSWwgeSBhIGQmZWFjdXRlO2omYWdyYXZlOyB1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgcG9ydGFudCBjZSBub20uIjsKJGxhbmdbImVycm9yX25vdGZvdW5kIl0gPSAiQXVjdW4gciZlYWN1dGU7c3VsdGF0LiI7CiRsYW5nWyJlcnJvcl9ub2l0ZW1mb3VuZCJdID0gIkF1Y3VuIHImZWFjdXRlO3N1bHRhdC4iOwokbGFuZ1siZ2l2ZW5lcnJvciJdID0gIkVycmV1cjogIjsKJGxhbmdbInByb21wdF9nZW5lcmFsZGVsZXRlIl0gPSAiU3VwcHJpbWVyPyI7CgoKLy8gTU9EVUxFIElOVEVSQUNUSU9OCiRsYW5nWyJwb3N0aW5zdGFsbCJdID0gIk1vZHVsZSBham91dCZlYWN1dGU7LiI7CiRsYW5nWyJwb3N0dW5pbnN0YWxsIl0gPSAiTW9kdWxlIGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsuIjsKJGxhbmdbInJlYWxseV91bmluc3RhbGwiXSA9ICJWcmFpbWVudCBkJmVhY3V0ZTtzaW5zdGFsbGVyIGJhYmVsPyI7CiRsYW5nWyJ1bmluc3RhbGxlZCJdID0gIk1vZHVsZSBkJmVhY3V0ZTtzaW5zdGFsbCZlYWN1dGU7LiI7CiRsYW5nWyJpbnN0YWxsZWQiXSA9ICJNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsJmVhY3V0ZTsuIjsKCiRsYW5nWyJoZWxwIl0gPSAiPGgzPiZxdW90O1RyZWUgYnJhbmNoZXMmcXVvdDs8L2gzPgoJCQkJCTxwPkNlIG1vZHVsZSB1dGlsaXNlIHVuZSBhcHByb2NoZSBkZSAmcXVvdDticmFuY2hlcyBzJmVhY3V0ZTtwYXImZWFjdXRlO2VzJnF1b3Q7IChcInNlcGFyYXRlZCB0cmVlIGJyYW5jaGVzXCIpIGRlcyBzaXRlcyBtdWx0aWxpbmd1ZSBkJmVhY3V0ZTt2ZWxvcHAmZWFjdXRlO2UgcGFyIGQnYXV0cmVzIGQmZWFjdXRlO3ZlbG9wcGV1cnMgZGUgY21zbXMgKHByaW5jaXBhbGVtZW50IE1hcmNvcyBDcnV6IC0gdm9pciA8YSBocmVmPVwiaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnL2luZGV4LnBocC90b3BpYywxOTA5OS5tc2c5NDc0OS5odG1sI21zZzk0NzQ5XCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y2V0dGUgY29udmVyc2F0aW9uPC9hPikuPC9wPjxici8+CgkJCQkJPHA+RGFucyB2b3MgZ2FiYXJpdHMsIHZvdXMgcG91cnJleiByJmVhY3V0ZTtjdXAmZWFjdXRlO3JlciBsZSBjb2RlIGRlIGxhIGxhbmd1ZSBhY3R1ZWxsZSAmYWdyYXZlOyBsJ2FpZGUgZGUgeyIuJyRwYWdlX2xhbmcnLiJ9LCBldCBwbHVzIGQnaW5mb3JtYXRpb25zIHN1ciBsYSBsYW5ndWUgJmFncmF2ZTsgbCdhaWRlIGRlIGwnb2JqZXQgeyIuJyRwYWdlX2xhbmdfaW5mbycuIn0gKGF2ZWMgbGVzIG0mZWNpcmM7bWVzIGF0dHJpYnV0cyBxdWUgZGFucyBsZXMgZ2FiYXJpdHMgZGUgbWVudSkuPC9wPgoJCQkJPGJyLz48aDM+JkVhY3V0ZTt0YXBlIDE6IHByJmVhY3V0ZTtwYXJhdGlvbiBkZXMgcGFnZXM8L2gzPgkJCQoJCQkJCTxwPlZvdXMgZGV2ZXogZCdhYm9yZCBjciZlYWN1dGU7ZXIgZGlmZiZlYWN1dGU7cmVudGVzIHBhZ2VzIHJhY2luZSBwb3VyIGNoYXF1ZSBsYW5ndWUuIFBhciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDE8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAyPC9saT4KCQkJCQkJCTxsaT4yLjMuIFBhZ2UgMzwvbGk+CgkJCQkJCTwvdWw+PC9saT4KCQkJCQk8L3VsPgoJCQkJCTxwPkxlcyBwYWdlcyByYWNpbmUgKDEuIGFuZCAyLikgZGV2cmFpdCAmZWNpcmM7dHJlIGRlcyBlbi10JmVjaXJjO3RlcyBkZSBzZWN0aW9uLiBWb3VzIHBvdXZleiBsZXVyIGRvbm5lciBuJ2ltcG9ydGUgcXVlbCBub20gb3UgYWxpYXMuPC9wPgoJCQkJCTxwPlBvdXIgYWZmaWNoZXIgdm9zIG1lbnVzIGNvcnJlY3RlbWVudCAoYydlc3QtJmFncmF2ZTstZGlyZSwgcG91ciBuZSBwYXMgYWZmaWNoZXIgbGVzIHBhZ2VzIHJhY2luZXMgZXQgbGVzIHBhZ2VzIGQndW5lIGF1dHJlIGxhbmd1ZSksIGlsIHZvdXMgc3VmZmlyYSBkJ2Fqb3V0ZXIgc3RhcnRfbGV2ZWw9XCIyXCIgJmFncmF2ZTsgdm9zIGJhbGlzZXMgZGUgbWVudTo8YnIvPgoJCQkJCXttZW51IHN0YXJ0X2xldmVsPVwiMlwifTwvcD4KCQkJCTxici8+PGgzPiZFYWN1dGU7dGFwZSAyOiBjciZlYWN1dGU7YXRpb24gZGVzIGxhbmd1ZXM8L2gzPgoJCQkJCTxwPkVuc3VpdGUsIHJlbmRlei12b3VzIGRhbnMgRXh0ZW5zaW9ucy0mZ3Q7QmFiZWw6IFNpdGUgbXVsdGlsaW5ndWUuIFBvdXIgY2hhcXVlIGxhbmd1ZSwgY2xpcXVleiBBam91dGVyIHVuZSBsYW5ndWUgZXQgZW50cmV6IGxlcyBpbmZvcm1hdGlvbnMgYXBwcm9wcmkmZWFjdXRlO2VzLiBMYSBcIlBhZ2UgcmFjaW5lXCIgZGV2cmFpdCAmZWNpcmM7dHJlIGwnZW4tdCZlY2lyYzt0ZSBkZSBzZWN0aW9uIHF1ZSB2b3VzIGF2ZXogY3ImZWFjdXRlOyZlYWN1dGU7IHBvdXIgY2hhcXVlIGxhbmd1ZSAoMS5FbmdsaXNoLCAyLkZyYW4mY2NlZGlsO2FpcykuIExhIFwiUGFnZSBwYXIgZCZlYWN1dGU7ZmF1dFwiIGRldnJhaXQgw6p0cmUgbGEgcGFnZSBkJ2FjY3VlaWwgcG91ciBjaGFxdWUgbGFuZ3VlLiBFbiBjZSBxdWkgY29uY2VybmUgbGUgY29kZSBkZSBsYW5ndWUsIHZvdXMgcG91cnJpZXogdXRpbGlzZXIgbidpbXBvcnRlIHF1ZWwgY29kZSBkZSA1IGNhcmFjdCZlZ3JhdmU7cmVzLCBtYWlzIHBvdXIgdW5lIGJvbm5lIGNvbXBhdGliaWxpdCZlYWN1dGU7IGF2ZWMgbGVzIGF1dHJlcyBtb2R1bGVzLCBpbCBlc3QgcHImZWFjdXRlO2YmZWFjdXRlO3JhYmxlIGQndXRpbGlzZXIgbGVzIG0mZWNpcmM7bWVzIHF1ZSBsZSBjbXMgKHZvdXMgcG91dmV6IHV0aWxpc2VyIGxhIGxpc3RlIGQmZWFjdXRlO3JvdWxhbnRlIGVuIGhhdXQgJmFncmF2ZTsgZHJvaXRlIHBvdXIgcmVtcGxpciBwYXJ0aWVsbGVtZW50IGxlIGZvcm11bGFpcmUpLjwvcD4KCQkJCQk8cD4oICpMb3JzcXVlIGxlcyBsYW5ndWVzIHNvbnQgcHImZWNpcmM7dGVzICZhZ3JhdmU7IGwndXRpbGlzYXRpb24sIG4nb3VibGlleiBwYXMgZGUgbGVzIGFjdGl2ZXIuLi4pPC9wPgoJCQkJPGJyLz48aDM+JkVhY3V0ZTt0YXBlIDM6IG1lbnUgZGUgbGFuZ3VlczwvaDM+CgkJCQkJPHA+UG91ciBhZmZpY2hlciBsZSBtZW51IGRlcyBsYW5ndWVzLCB1dGlsaXNleiBsYSBiYWxpc2Ugc3VpdmFudGU6PGJyLz4KCQkJCQl7YmFiZWwgYWN0aW9uPVwibWVudVwifTxici8+CgkJCQkJb3UsIHBvdXIgc3AmZWFjdXRlO2NpZmllciB1biBhdXRyZSBnYWJhcml0IHF1ZSBjZWx1aSBwYXIgZCZlYWN1dGU7ZmF1dDo8YnIvPgoJCQkJCXtiYWJlbCBhY3Rpb249XCJtZW51XCIgdGVtcGxhdGU9XCJ0ZW1wbGF0ZV9uYW1lXCJ9PC9wPgoJCQkJCTxwPkxlIHBhcmFtJmVncmF2ZTt0cmUgXCJzaG93XCIgcGV1dCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7IHBvdXIgY2hvaXNpciBxdWVsbGVzIGxhbmd1ZXMgYWZmaWNoZXIuPC9wPgoJCQkJPGJyLz48aDM+JkVhY3V0ZTt0YXBlIDQgKGZhY3VsdGF0aXZlKSA6IEVudHImZWFjdXRlO2VzIGxpbmd1aXN0aXF1ZXM8L2gzPgoJCQkJCTxwPkRhbnMgbGVzIG1vZHVsZXMsIGxlcyBibG9jcyBkZSBjb250ZW51IGdsb2JhdXggb3UgbidpbXBvcnRlIG8mdWdyYXZlOywgdm91cyBhdXJleiBiZXNvaW4gZCdhZmZpY2hlciBkdSBjb250ZW51IGQmZWFjdXRlO3BlbmRhbnQgZGUgbGEgbGFuZ3VlLiBUcmFkaXRpb25uZWxsZW1lbnQsIGNlbGEgZXN0IGFjY29tcGxpIGVuIHV0aWxpc2FudCBkZXMgY29uZGl0aW9ucyBhdmVjIGxhIHZhcmlhYmxlIHBhZ2VfbGFuZzo8YnIvPgoJCQkJCXtpZiAkIi4icGFnZV9sYW5nID09IFwiZW5fVVNcIn1FbmdsaXNoIHRleHR7ZWxzZWlmICQiLiJwYWdlX2xhbmcgPT0gXCJmcl9GUlwifVRleHRlIGVuIGZyYW4mY2NlZGlsO2Fpc3svaWZ9PC9wPgoJCQkJCTxwPkNldHRlIG0mZWFjdXRlO3Rob2RlIGZvbmN0aW9ubmUgdG91am91cnMgYXZlYyBjZSBtb2R1bGUsIG1haXMgdW5lIGF1dHJlIG0mZWFjdXRlO3Rob2RlLCBwbHVzIGNlbnRyYWxpcyZlYWN1dGU7ZSwgdm91cyBlc3Qgb2ZmZXJ0ZS4gRGFucyBsZSBwYW5uZWF1IGQnYWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlLCB2b3VzIHRyb3V2ZXJleiBwb3VyIGNoYXF1ZSBsYW5ndWUgdW4gbGllbiBwb3VyIG1vZGlmaWVyIHNlcyBlbnRyJmVhY3V0ZTtlcyBsaW5ndWlzdGlxdWVzLiBMZXMgZW50ciZlYWN1dGU7ZXMgbGluZ3Vpc3RpcXVlcyBzb250IGRlcyBib3V0cyBkZSB0ZXh0ZSAob3UgaHRtbCkgYXlhbnQgdW4gY29udGVudSBkaWZmJmVhY3V0ZTtyZW50IHBvdXIgY2hhcXVlIGxhbmd1ZS4gVm91cyBjciZlYWN1dGU7ZXogdW5lIGVudHImZWFjdXRlO2UgbGluZ3Vpc2l0cXVlIChwYXIgZXhhbXBsZTogXCJ3ZWxjb21lIHRleHRcIiksIGVudHJleiBzb24gY29udGVudSBwb3VyIGNoYXF1ZSBsYW5ndWUsIGV0IGFwcGVsZXogbCdlbnRyJmVhY3V0ZTtlIGxhIG/DuSB2b3VzIGVuIGF2ZXogYmVzb2luIGRhbnMgbGVzIGdhYmFyaXRzIGVuIHV0aWxpc2FudCBsJ2FjdGlvbiBwYXIgZCZlYWN1dGU7ZmF1dCBldCBsZSBwYXJhbSZlZ3JhdmU7dHJlIFwic2hvd1wiOjxici8+CgkJCQkJe2JhYmVsIHNob3c9XCJ3ZWxjb21lIHRleHRcIn08YnIvPgoJCQkJCVNpIHZvdXMgYXZleiBwbHVzaWV1cnMgbGFuZ3Vlcywgb3Ugc2kgdm91cyBhdmV6IHBsdXMgdGFyZCAmYWdyYXZlOyBtb2RpZmllciBsZXMgZW50ciZlYWN1dGU7ZXMgb3UgYWpvdXRlciBkZXMgbGFuZ3Vlcywgdm91cyB0cm91dmV6IGNldHRlIHNvbHV0aW9uIGJlYXVjb3VwIHBsdXMgcHJhdGlxdWUuIE1haXMgc2kgdm91cyBwciZlYWN1dGU7ZiZlYWN1dGU7cmV6IGxhIHByZW1pJmVncmF2ZTtyZSwgZWxsZSBuZSBmb25jdGlvbm5lIHBhcyBtb2lucy48L3A+CgkJCTxici8+PGgzPk0mZWFjdXRlO3Rob2RlcyBkZSByZWRpcmVjdGlvbjwvaDM+CQoJCQkJPHA+SWwgeSBhIGRldXggbSZlYWN1dGU7dGhvZGVzIHBvc3NpYmxlcyBwb3VyIGRpcmUgYXUgY21zIHF1ZWxsZSBwYWdlIGVzdCAmZWFjdXRlO3F1aXZhbGVudGUgJmFncmF2ZTsgbGEgcGFnZSBhY3R1ZWxsZS4gUGFyIGQmZWFjdXRlO2ZhdXQsIGxhIG0mZWFjdXRlO3Rob2RlIGhpJmVhY3V0ZTtyYXJjaGlxdWUgZXN0IGFjdGl2JmVhY3V0ZTtlLCBtYWlzIHZvdXMgcG91dmV6IGNoYW5nZXIgZGUgbSZlYWN1dGU7dGhvZGUgZGFucyBsJ29uZ2xldCBwYXJhbSZlZ3JhdmU7dHJlcyBkdSBtb2R1bGUuPC9wPgoJCQkJPGJyLz48aDQ+TGEgbSZlYWN1dGU7dGhvZGUgcGFyIGQmZWFjdXRlO2Zpbml0aW9uIGRlIE1hcmNvcyBDcnV6PC9oND4KCQkJCQk8cD48aT5BdmFudGFnZXM6PC9pPiBQZXJtZXQgbGEgcGVyc29ubmFsaXNhdGlvbiBldCBsZXMgdHJhZHVjdGlvbnMgcGFydGllbGxlcy48YnIvPgoJCQkJCTxpPkluY29udiZlYWN1dGU7bmllbnRzOjwvaT4gVm91cyBkZXZleiBzcCZlYWN1dGU7Y2lmaWVyIGxlcyBhbHRlcm5hdGl2ZXMgbGluZ3Vpc3RpcXVlcyBwb3VyIGNoYXF1ZSBwYWdlLCBldCBsZXMgbWV0dHJlICZhZ3JhdmU7IGpvdXIgc2lyIGwnYWxpYXMgY2hhbmdlLjwvcD4KCQkJCQk8cD5Bam91dGVyIGxhIGJhbGlzZSBzdWl2YW50ZSBkYW5zIGNoYWN1biBkZSB2b3MgZ2FiYXJpdCBkZSBwYWdlIDo8YnIvPgoJCQkJCXtjb250ZW50IGJsb2NrPSdBdXRyZXMgbGFuZ3Vlcycgb25lbGluZT0ndHJ1ZScgYXNzaWduPW90aGVyX2xhbmd1YWdlcyB3eXNpd3lnPSdmYWxzZSd9PGJyLz4KCQkJCQlVbiBub3V2ZWF1IGJsb2MgZGUgY29udGVudSAmYWdyYXZlOyByZW1wbGlyIHNlcmEgYWpvdXQmZWFjdXRlOyBsb3JzcXVlIHZvdXMgbW9kaWZpZXIgbGEgcGFnZS4gQ2UgYmxvYyBzZXJhIHV0aWxpcyZlYWN1dGU7IHBvdXIgZCZlYWN1dGU7ZmluaXIgbGVzICZlYWN1dGU7cXVpdmFsZW50cyBsaW5ndWlzaXRpcXVlcyBkYW5zIGxlcyBhdXRyZXMgbGFuZ3VlcyBwb3VyIGNldHRlIHBhZ2UsIGRlIGxhIG1hbmkmZWdyYXZlO3JlIHN1aXZhbnRlOjxici8+CgkJCQkJXCJlbl9VUz1wYWdlMTtmcl9GUj1wYWdlMjtkZV9ERT1wYWdlM1wiIChzYW5zIGxlcyBndWlsbGVtZXRzIC0gbCdvcmRyZSBlc3Qgc2FucyBpbXBvcnRhbmNlLCBtYWlzIGlsIG5lIGRvaXQgcGFzIHkgYXZvaXIgZCdlc3BhY2UpPGJyLz4KCQkJCQlvJnVncmF2ZTsgcGFnZTEsIHBhZ2UyIGV0IHBhZ2UzIHNvbnQgcmVzcGVjdGl2ZW1lbnQgbGVzIGFsaWFzIGRlcyBwYWdlcy48L3A+CgkJCQkJPHA+UG91ciBxdWUgbGUgbW9kdWxlIHV0aWxpc2UgY2V0dGUgbSZlYWN1dGU7dGhvZGUsIGFzc3VyZXotdm91cyBxdWUgbCdvcHRpb24gXCJVdGlsaXNlciBsYSBoaWVyYXJjaGllIHBvdXIgbGEgcmVkaXJlY3Rpb25cIiBlc3QgZCZlYWN1dGU7Y29jaCZlYWN1dGU7ZSBkYW5zIGwnb25nbGV0IHBhcmFtJmVncmF2ZTt0cmVzLjwvcD4KCQkJCTxici8+PGg0PkxhIG0mZWFjdXRlO3Rob2RlIGhpJmVhY3V0ZTtyYXJjaGlxdWU8L2g0PgoJCQkJCTxwPjxpPkF2YW50YWdlczo8L2k+IGMnZXN0IGF1dG9tYXRpcXVlIC0gdm91cyBuJ2F2ZXogcmllbiAmYWdyYXZlOyBmYWlyZS48YnIvPgoJCQkJCTxpPkluY29udiZlYWN1dGU7bmllbnRzOjwvaT4gbGEgc3RydWN0dXJlIGRlcyBwYWdlcyBkb2l0ICZlY2lyYzt0cmUgaWRlbnRpcXVlIHBvdXIgY2hhcXVlIGxhbmd1ZS48L3A+CgkJCQkJPHA+Q2V0dGUgc29sdXRpb24gdXRpbGlzZSBsYSBoaSZlYWN1dGU7cmFyY2hpZSBkZXMgcGFnZXMgcG91ciBzYXZvaXIgcXVlbGxlcyBwYWdlcyBzb250ICZlYWN1dGU7cXVpdmFsZW50ZXMuIERhbnMgbCdleGVtcGxlIGNpLWhhdXQsIFwiMi4zLiBQYWdlIDNcIiBzZXJhaXQgbCcmZWFjdXRlO3F1aXZhbGVudCBmcmFuJmNjZWRpbDthaXMgZGUgXCIxLjMuIDNyZCBwYWdlXCIsIHBhcmNlIHF1J2VsbGUgb2NjdXBlIGxhIG0mZWNpcmM7bWUgcG9zaXRpb24gcmVsYXRpdmUgZGFucyBsYSBicmFuY2hlIGZyYW4mY2NlZGlsO2Fpc2UuPGJyLz4KCQkJCQlFbiBkJ2F1dHJlcyBtb3RzLCBzaSBsZXMgcGFnZXMgJmVhY3V0ZTt0YWllbnQgb3Jkb25uJmVhY3V0ZTtlcyBkaWZmJmVhY3V0ZTtyZW1tZW50LCB0b3V0IHNlcmFpdCBtJmVhY3V0ZTtsYW5nJmVhY3V0ZTs6PC9wPgoJCQkJCTx1bD4KCQkJCQkJPGxpPjEuIEVuZ2xpc2g8dWw+CgkJCQkJCQk8bGk+MS4xLiAxc3QgcGFnZTwvbGk+CgkJCQkJCQk8bGk+MS4yLiAybmQgcGFnZTwvbGk+CgkJCQkJCQk8bGk+MS4zLiAzcmQgcGFnZTwvbGk+CgkJCQkJCTwvdWw+PC9saT4KCQkJCQkJPGxpPjIuIEZyYW4mY2NlZGlsO2Fpczx1bD4KCQkJCQkJCTxsaT4yLjEuIFBhZ2UgMTwvbGk+CgkJCQkJCQk8bGk+Mi4yLiBQYWdlIDM8L2xpPgoJCQkJCQkJPGxpPjIuMy4gUGFnZSAyPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHA+SWNpLCBcIlBhZ2UgMlwiIG9jY3VwZSBsYSB0cm9pc2kmZWdyYXZlO21lIHBvc2l0aW9uLCBhaW5zaSBlbGxlIHNlcmFpdCBwcmlzZSBwb3VyICZlYWN1dGU7cXVpdmFsZW50ICZhZ3JhdmU7IGxhIHRyb2lzaSZlZ3JhdmU7bWUgcGFnZSAoMS4zLiAzcmQgcGFnZSkgZW4gYW5nbGFpcy48YnIvPgoJCQkJCUNlbGEgc2lnbmlmaWUgYXVzc2kgcXVlIHNpIHRvdXRlcyBsZXMgcGFnZXMgbidleGlzdGVudCBwYXMgZGFucyB0b3V0ZXMgbGVzIGxhbmd1ZXMsIHZvdXMgZGV2ZXogZmFpcmUgYXR0ZW50aW9uLiBQYXIgZXhhbXBsZTo8L3A+CgkJCQkJPHVsPgoJCQkJCQk8bGk+MS4gRW5nbGlzaDx1bD4KCQkJCQkJCTxsaT4xLjEuIDFzdCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjIuIDJuZCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjMuIDNyZCBwYWdlPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCQk8bGk+Mi4gRnJhbiZjY2VkaWw7YWlzPHVsPgoJCQkJCQkJPGxpPjIuMS4gUGFnZSAyPC9saT4KCQkJCQkJCTxsaT4yLjIuIFBhZ2UgMzwvbGk+CgkJCQkJCTwvdWw+PC9saT4KCQkJCQk8L3VsPgoJCQkJCTxwPkljaSwgXCIxc3QgcGFnZVwiIHNlcmFpdCBsJyZlYWN1dGU7cXVpdmFsZW50IGRlIFwiUGFnZSAyXCIgZXQgbGUgc3lzdCZlZ3JhdmU7bWUgY3JvaXJhaXQgcXVlIFwiM3JkIHBhZ2VcIiBuJ2EgcGFzIGRlIHRyYWR1Y3Rpb24sIGFsb3JzIHF1J2VsbGUgZW4gYSBiaWVuIHVuZS48L3A+CgkJCTxici8+PGgzPlByb2JsJmVncmF2ZTttZXM8L2gzPgoJCQkJPHA+TGEgbGFuZ3VlIGRlIGxhIHBhZ2UgZGV2cmFpdCAmZWNpcmM7dHJlIGQmZWFjdXRlO3RlY3QmZWFjdXRlO2UgYXV0b21hdGlxdWVtZW50IChzdXIgbGEgYmFzZSBkJ3VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50KSBldCBhc3NpZ24mZWFjdXRlO2UgYXV4IHZhcmlhYmxlcyBzbWFydHkgYXZhaXQgcXVlIGxlIGdhYmFyaXQgbmUgc29pdCB0cmFpdCZlYWN1dGU7LiBJbCBlc3QgdG91dGVmb2lzIHBvc3NpYmxlIHF1JyZhZ3JhdmU7IGNlcnRhaW5zIGVuZHJvaXRzIGRhbnMgbGUgZ2FiYXJpdCBkZSBwYWdlIChjb25zaWQmZWFjdXRlO3JhbnQgcXUnaWwgZXN0IHRyYWl0JmVhY3V0ZTsgcGFyIG1vcmNlYXV4KSBsYSB2YXJpYWJsZSBjb250ZW51IGxhIGxhbmd1ZSBzb2l0IHBlcmR1ZS4gU2kgdm91cyByZW5jb250cmV6IGRlcyBwcm9ibCZlZ3JhdmU7bWVzIGRlIGNlIGdlbnJlLCB2b3VzIHBvdXZleiB1dGlsaXNlciBsYSBiYWxpc2Uge2JhYmVsIGFjdGlvbj1cImFzc2lnblwifSBwb3VyIGxhIHImZWFjdXRlO2Fzc2lnbmVyLjxici8+CgkJCQlOb3RleiBxdWUgdm91cyBwb3V2ZXogYXVzc2kgdXRpbGlzZXIge2JhYmVsIGFjdGlvbj1cImF1dG9fcmVkaXJlY3RcIn0gYXUgZCZlYWN1dGU7YnV0IGRlIHZvcyBnYWJhcml0IHNpIChqZSBuZSB2b2lzIHBhcyBkZSByYWlzb24pIGxhIHJlZGlyZWN0aW9uIG5lIHMnZWZmZWN0dWUgcGFzIGF1dG9tYXRpcXVlbWVudC48L3A+CgkJCTxici8+PGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CgkJCQk8cD5DZSBtb2R1bGUgYSAmZWFjdXRlO3QmZWFjdXRlOyBjciZlYWN1dGU7JmVhY3V0ZTsgcGFyIFBpZXJyZS1MdWMgR2VybWFpbiAocGxnZXIpLCBiYXMmZWFjdXRlOyBzdXIgdW5lIGFwcHJvY2hlIHBhciBNYXJjb3MgQ3J1eiwgZXQgZXN0IHJlbmR1IHB1YmxpcXVlIHNvdXMgbGEgR05VIFB1YmxpYyBMaWNlbnNlLjwvcD48YnIvPjxici8+IjsKCgovL1NFVFRJTkdTCiRsYW5nWyJzZXR0aW5ncyJdID0gIlBhcmFtJmVncmF2ZTt0cmVzIjsKJGxhbmdbInByZWZfYXV0b3JlZGlyZWN0X2hvbWUiXSA9ICJSZWRpcmVjdGlvbiBhdXRvbWF0aXF1ZSBzdXIgbGVzIHBhZ2VzIHNlbG9uIGxhIGxhbmd1ZSBkdSBuYXZpZ2F0ZXVyPyo8YnIvPkxvcnNxdWUgbCd1dGlsaXNhdGV1ciBhcnJpdmUgc3VyIHVuZSBkZXMgcGFnZXMgZCdhY2N1ZWlsLCBzaSBsYSBsYW5ndWUgZGUgc29uIG5hdmlnYXRldXIgY29ycmVzcG9uZCAmYWdyYXZlOyBsJ3VuZSBkZXMgbGFuZ3VlcyBkaXNwb25pYmxlcyBpbCBzZXJhIHJlZGlyaWcmZWFjdXRlOyB2ZXJzIGNldHRlIGxhbmd1ZS4iOwokbGFuZ1sicHJlZl9hdXRvcmVkaXJlY3RfYWxsIl0gPSAiUmVkaXJlY3Rpb24gYXV0b21hdGlxdWUgcG91ciB0b3V0ZXMgbGVzIHBhZ2VzIHNlbG9uIGxhIGxhbmd1ZSBkdSBuYXZpZ2F0ZXVyPyo8YnIvPihjb21tZSBsJ29wdGlvbiBwciZlYWN1dGU7YyZlYWN1dGU7ZGVudGUsIG1haXMgcG91ciB0b3V0ZXMgbGVzIHBhZ2VzKSI7CiRsYW5nWyJwcmVmX2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2hvbWUiXSA9ICJSZWRpcmVjdGlvbiBhdXRvbWF0aXF1ZSBzZWxvbiBsYSBsYW5ndWUgZW5yZWdpc3RyJmVhY3V0ZTtlIGRhbnMgbGVzIGNvb2tpZXMgcG91ciBsZXMgcGFnZXMgZCdhY2N1ZWlsPzxici8+U2kgbCd1dGlsaXNhdGV1ciBhcnJpdmUgc3VyIHVuZSBkZXMgcGFnZXMgZCdhY2N1ZWlsIGV0IGEgYXVwYXJhdmFudCBuYXZpZ3UmZWFjdXRlOyBsZSBzaXRlIGRhbnMgdW5lIGF1dHJlIGxhbmd1ZSwgaWwgc2VyYSByZWRpcmlnJmVhY3V0ZTsgdmVycyBjZXR0ZSBsYW5ndWUuIjsKJGxhbmdbInByZWZfY29va2llc19hdXRvcmVkaXJlY3RfYWxsIl0gPSAiUmVkaXJlY3Rpb24gYXV0b21hdGlxdWUgc2Vsb24gbGEgbGFuZ3VlIGVucmVnaXN0ciZlYWN1dGU7ZSBkYW5zIGxlcyBjb29raWVzIHBvdXIgdG91dGVzIGxlcyBwYWdlcz88YnIvPihjb21tZSBsJ29wdGlvbiBwciZlYWN1dGU7YyZlYWN1dGU7ZGVudGUsIG1haXMgcG91ciB0b3V0ZXMgbGVzIHBhZ2VzKSI7CiRsYW5nWyJwcmVmX2hpZXJhcmNoeV9yZWRpcmVjdCJdID0gIlV0aWxpc2VyIGxhIGhpJmVhY3V0ZTtyYXJjaGllIHBvdXIgbGEgcmVkaXJlY3Rpb24/ICh2b2lyIGwnYWlkZSBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbik8YnIvPkNlbGEgaW1wbGlxdWUgcXVlIGxhIHN0cnVjdHVyZSBkZXMgcGFnZXMgZG9pdCAmZWNpcmM7dHJlIGxhIG0mZWNpcmM7bWUgcG91ciBjaGFxdWUgbGFuZ3VlLiBTaSB2b3VzIG4ndXRpbGlzZXogcGFzIGNldHRlIG9wdGlvbiwgaWwgdm91cyBmYXVkcmEgZCZlYWN1dGU7ZmluaXIgbGVzIGFsdGVybmF0aXZlcyBsaW5ndWlzdGlxdWVzIG1hbnVlbGxlbWVudC4iOwokbGFuZ1sicHJlZl9kZWZhdWx0X2hpZGUiXSA9ICJDYWNoZXIgbGUgbGllbiBkYW5zIGxlIG1lbnUgZGUgbGFuZ3VlcyBsb3JzcXVlIGxhIHBhZ2UgbidleGlzdGUgcGFzLjxici8+U2kgbGUgbGllbiBkZSBsYW5ndWUgcG9pbnRlIHZlcnMgdW5lIHBhZ2UgcXVpIG4nZXhpc3RlIHBhcywgY2FjaGVyIGxlIGxpZW4gKHNpbm9uLCBsZSBsaWVuIHBvaW50ZXJhIHZlcnMgbGEgcGFnZSBwYXIgZCZlYWN1dGU7ZmF1dCBkZSBsYSBsYW5ndWUpLiI7CiRsYW5nWyJwcmVmX2RlZmF1bHRfdHJhbnNsYXRlIl0gPSAiVXRpbGlzZXIgbGEgbGFuZ3VlIHBhciBkJmVhY3V0ZTtmYXV0IGxvcnNxdWUgbGVzIGVudHImZWFjdXRlO2VzIGxpbmd1aXN0aXF1ZXMgc29udCB2aWRlcyBwb3VyIGxhIGxhbmd1ZSBhY3R1ZWxsZS4iOwokbGFuZ1sicHJlZl9oaWRlX21pc3NpbmdlbnRyaWVzIl0gPSAiQ2FjaGVyIGxlcyBtZXNzYWdlcyBkJ2VycmV1ciBwb3VyIGxlcyBlbnRyJmVhY3V0ZTtlcyBsaW5ndWlzdGlxdWVzIGluY29ubnVlcy4iOwokbGFuZ1sicHJlZl93eXNpd3lnIl0gPSAiQWN0aXZlciBsZSB3eXNpd3lnIGRhbnMgbGVzIGVudHImZWFjdXRlO2VzIGxpbmd1aXN0aXF1ZXMuIjsKJGxhbmdbInByZWZfdXNlX3BhZ2VfdGl0bGUiXSA9ICJVdGlsaXNlciBsZSB0aXRyZSBkZXMgcGFnZXMgZGFucyBsZXMgbGllbnMgZHUgbWVudSBkZSBsYW5ndWVzIChwbHV0Jm9jaXJjO3QgcXVlIGxlIG5vbSBkZSBsYSBsYW5ndWUpLiI7CiRsYW5nWyJwcmVmX2N1cnJlbnRfbGluayJdID0gIkRhbnMgbGUgbWVudSBkZSBsYW5ndWVzLCBhZmZpY2hlciBhdXNzaSBsZSBsaWVuIHZlcnMgbGEgcGFnZSAobGEgbGFuZ3VlKSBhY3R1ZWxsZS4iOwokbGFuZ1siaGVscF9yZWRpcmVjdGlvbiJdID0gIipOb3RlOiBTaSB2b3VzIHV0aWxpc2V6IGxhIHJlZGlyZWN0aW9uIHNlbG9uIGxhIGxhbmd1ZSBkdSBuYXZpZ2F0ZXVyLCBhc3N1cmV6LXZvdXMgZCd1dGlsaXNlciBhdXNzaSBsYSByZWRpcmVjdGlvbiBwYXIgY29va2llcyBjb3JyZXNwb25kYW50ZSwgc2lub24gdm9zIHV0aWxpc2F0ZXVycyBzZXJvbnQgPGI+Zm9yYyZlYWN1dGU7czwvYj4gZGUgdm9pciBsYSBwYWdlIGRhbnMgbGEgbGFuZ3VlIGRlIGxldXIgbmF2aWdhdGV1ci4iOwoKCi8vUEFSQU1FVEVSUwokbGFuZ1sicGhlbHBfYWN0aW9uIl0gPSAiQWN0aW9ucyBkaXNwb25pYmxlczogXCJkZWZhdWx0XCIgKHBvdXIgbGVzIHRyYWR1Y3Rpb25zKSBvdSBcIm1lbnVcIi4iOwokbGFuZ1sicGhlbHBfc2hvdyJdID0gIlBvdXIgbCdhY3Rpb24gbWVudSwgc3AmZWFjdXRlO2NpZmllIGxlcyBsYW5ndWVzICZhZ3JhdmU7IGFmZmljaGVyICh1dGlsaXNlciBsZXMgY29kZXMgZGUgbGFuZ3VlIGV0IHMmZWFjdXRlO3BhcmVyIHBhciBkZXMgdmlyZ3VsZXMpLiBQb3VyIGwnYWN0aW9uIHBhciBkJmVhY3V0ZTtmYXV0LCBzcCZlYWN1dGU7Y2lmaWUgbGUgbm9tIGRlIGwnZW50ciZlYWN1dGU7ZSBsaW5ndWlzdGlxdWUgJmFncmF2ZTsgYWZmaWNoZXIuIjsKJGxhbmdbInBoZWxwX3RlbXBsYXRlIl0gPSAiR2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBwb3VyIGxlIG1lbnUuIjsKJGxhbmdbInBoZWxwX2Fzc2lnbiJdID0gIlBsdXQmb2NpcmM7dCBxdWUgZCdhZmZpY2hlciBsZSByJmVhY3V0ZTtzdWx0YXQgaW1tJmVhY3V0ZTtkaWF0ZW1lbnQsIHZvdXMgcG91dmV6IGwnYXNzaWduZXIgJmFncmF2ZTsgbGEgdmFyaWFibGUgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UgcGFyIGNlIHBhcmFtJmVncmF2ZTt0cmUuIjsKCgoNCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCgkJDQovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UNCiR0YWJvcHRhcnJheSA9IGFycmF5KCJteXNxbCIgPT4gIlRZUEU9TXlJU0FNIik7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgbGFuZ3VhZ2VzIHRhYmxlDQokZmxkcyA9ICINCglsYW5nY29kZSBDKDgpIEtFWSwNCglyb290X2lkIEksDQoJZGVmYXVsdF9pZCBJLA0KCW5hbWUgQyg2NCksDQoJbWVudV9uYW1lIEMoNjQpLA0KCWFjdGl2ZSBMLA0KCWl0ZW1fb3JkZXIgSQ0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ3VhZ2VzX3NlcSIpOw0KCQ0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZSBrZXlzIHRhYmxlDQokZmxkcyA9ICINCglzdHJpbmdpZCBJIEtFWSwNCgljYXB0aW9uIEMoMTI4KQ0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5cyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5c19zZXEiKTsNCg0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZSBlbnRyaWVzIHRhYmxlDQokZmxkcyA9ICINCglzdHJpbmdpZCBJLA0KCWxhbmdjb2RlIEMoNSksDQoJdmFsdWUgQygyNTUpDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCJhZG1pbl9iYWJlbCIsICJCYWJlbDogYWRtaW4iKTsNCg0KJG1vZHByZWZzID0gJHRoaXMtPmdldF9tb2RwcmVmcygpOw0KZm9yZWFjaCgkbW9kcHJlZnMgYXMgJG9uZXByZWYpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRvbmVwcmVmWzBdLCRvbmVwcmVmWzFdKTsNCg0KJGRlZnRwbCA9ICc8dWwgaWQ9Imxhbmd1YWdlX21lbnUiPg0Ke2ZvcmVhY2ggZnJvbT0kbGFuZ3VhZ2VzIGl0ZW09Imxhbmd1YWdlIn0NCiAgIHtpZiAkbGFuZ3VhZ2UtPmlzX2N1cnJlbnR9PGxpIGNsYXNzPSJhY3RpdmUiPjxhIHtpZiAkbGFuZ3VhZ2UtPnVybH1ocmVmPSJ7JGxhbmd1YWdlLT51cmx9IiB7L2lmfWNsYXNzPSJhY3RpdmUiPntlbHNlfTxsaT48YSBocmVmPSJ7JGxhbmd1YWdlLT51cmx9Ij57L2lmfXskbGFuZ3VhZ2UtPm1lbnVfbmFtZX08L2E+PC9saT4NCnsvZm9yZWFjaH0NCjwvdWw+JzsNCiR0aGlzLT5TZXRUZW1wbGF0ZSgiZGVmYXVsdCIsJGRlZnRwbCk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgiZGVmYXVsdHRlbXBsYXRlIiwiZGVmYXVsdCIpOw0KJHRoaXMtPlJlZ2lzdGVyRXZlbnRzKCk7DQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoImZyaWVuZGx5bmFtZSIpLCAkdGhpcy0+TGFuZygiaW5zdGFsbGVkIiwkdGhpcy0+R2V0VmVyc2lvbigpKSk7DQoNCj8+DQo=]]></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[PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwppZighaXNzZXQoJF9HRVRbIm5ld3VybCJdKSApewoJaGVhZGVyKCJsb2NhdGlvbjogaW5kZXgucGhwIik7Cn1lbHNlewoJaWYoaXNzZXQoJF9HRVRbIm5ld2xhbmciXSkpCXNldGNvb2tpZSgndXNybGFuZycsJF9HRVRbIm5ld2xhbmciXSx0aW1lKCkrODY0MDAqMzAsJy8nKTsKCWhlYWRlcigibG9jYXRpb246ICIuJF9HRVRbIm5ld3VybCJdKTsKfQo/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>
