<?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>ModuleGenerator</name>
	<version>2.2.3</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[DQoNCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+TW9kdWxlIGdlbmVyYXRvciBsZXRzIHlvdSBjcmVhdGUgYSBsaXN0IHRoZSBtb2R1bGVzIGFzIE5ld3MsIFByb2R1Y3RzIGF0Yy4gSW5kaXZpZHVhbCBtb2R1bGVzLCB5b3UgY2FuIGxpbmsgYmV0d2VlbiB0aGVtLiAgWW91IGNhbiBjcmVhdGUgYSBtb2R1bGUgUGVvcGxlLCBHZW5kZXIgYW5kIFR5cGUgb2YgZW1wbG95bWVudCBhbmQgbGluayBiZXR3ZW4gdGhlbS48L3A+DQo8cD5FYWNoIG1vZHVsZSBpbmNsdWRlcyB0aGUgYWJpbGl0eSB0byBjcmVhdGVkIGNhdGVnb3JpZXMsIGN1c3RvbSBmaWVsZHMgIGFuZCBlZGl0ZWQgYSBudW1iZXIgb2Ygc2V0dGluZ3MuPC9wPg0KPHA+WW91IGNhbiB1c2UgdGhlIGxpc3QgdGVtcGxhdGVzLCBjYXRlZ29yaWVzIHRlbXBsYXRlcyAsIGZpbHRlciB0ZW1wbGF0ZXMsIG9yIGRldGFpbCB0ZW1wbGF0ZXMgYXMgaXQgYWxyZWFkeSBrbm93biBtb2R1bGVzIGZyb20gTmV3cywgUHJvZHVjdHMgZXRjLjwvcD48aDM+QWJvdXQgQXV0aG9yPC9oMz4KPHA+WmRlbm8gS3V6bWFueTxiciAvPiA8YnIgLz4KICAgIDxzdHJvbmc+UGVyc29uYWw6PC9zdHJvbmc+PGJyPgogICAgPGEgaHJlZj0iaHR0cDovL2t1em1hbnkuYml6Lz91dG1fc291cmNlPWNtc21zJTJCbW9kdWxlJnV0bV9tZWRpdW09bGluayZ1dG1fY2FtcGFpZ249dXJsd2F0Y2hkb2ciPmt1em1hbnkuYml6PC9hPjxicj4KICAgIDxhIGhyZWY9Imh0dHA6Ly9tYWRlc2ltcGxlLnNrLz91dG1fc291cmNlPWNtc21zJTJCbW9kdWxlJnV0bV9tZWRpdW09bGluayZ1dG1fY2FtcGFpZ249dXJsd2F0Y2hkb2ciPm1hZGVzaW1wbGUuc2s8L2E+PGJyPgogICAgPGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL2t1em1hbnkiPnR3aXR0ZXI8L2E+PGJyPgogICAgPGEgaHJlZj0iaHR0cDovL2Fib3V0Lm1lL2t1em1hbnkiPmFib3V0Lm1lPC9hPjxicj48YnIgLz4KICAgIDxzdHJvbmc+RG8gbmljZSB0aGluZyB3aXRoIG1lPC9zdHJvbmc+PGJyIC8+CiAgICA8YSBocmVmPSJodHRwOi8vY21zbWFkZXNpbXBsZS5zay9vdXRzb3VyY2luZy8/dXRtX3NvdXJjZT1jbXNtcyUyQm1vZHVsZSZ1dG1fbWVkaXVtPWxpbmsmdXRtX2NhbXBhaWduPXVybHdhdGNoZG9nIj5DTVMgTWFkZSBTaW1wbGUgb3V0c291cmNpbmc8L2E+PGJyPjxicj4KPC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMjk8L2xpPjxsaT5FeHRlbmRlZFRvb2xzID0mZ3Q7IDEuMy4zPC9saT48bGk+Q0dTbWFydEltYWdlID0mZ3Q7IDEuOS4zPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBAa3V6bWFueSAmbHQ7emRlbm9Aa3V6bWFueS5iaXomZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMi4yLjM8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CjxsaT4KVmVyc2lvbiAyLjIuMiAgYXVndXN0IDIwMTIgPGJyIC8+Ck9wdGlvbnMgdGFiIG1vdmVkIG91dHNpZGUgZGVmYXVsdCBhZG1pbiBsYW5kaW5nIHBhZ2UKU29tZSBtaW5vciBmaXhlcwo8L2xpPiAKPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[This module give solution for creating custom modules.]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.29</requiredversion>
	</requires>
	<requires>
	  <requiredname>ExtendedTools</requiredname>
	  <requiredversion>1.3.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSmartImage</requiredname>
	  <requiredversion>1.9.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_deletemodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIyBNb2R1bGU6IE11bHRpbGFuZ3VhZ2UgQ01TDQojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpeg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCFpc3NldCgkZ0NtcykpDQogICAgZXhpdDsNCg0KJG5hbWUgPSAnJzsNCmlmIChpc3NldCgkcGFyYW1zWyJuYW1lIl0pKSB7DQogICAgJG5hbWUgPSAkcGFyYW1zWyJuYW1lIl07DQp9DQoNCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoNCg0KaWYgKCEkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkgew0KICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsNCiAgICByZXR1cm47DQp9DQoNCmlmIChlbXB0eSgkbmFtZSkpDQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQppZiAoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRuYW1lKSkgew0KICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfdW5paW5zdGFsX21vZHVsZScpKTsNCiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICJnZW5lcmF0b3IiKTsNCn0NCg0KZ2VuZXJhdG9yX29wdHM6OmRlbGV0ZSgkbmFtZSk7DQpjZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAkbmFtZSkpOw0KDQokdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnaW5mb19zdWNjZXNzJykpOw0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQo/Pg0KDQo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_editmodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIyBNb2R1bGU6IE11bHRpbGFuZ3VhZ2UgQ01TDQojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpeg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCFpc3NldCgkZ0NtcykpDQogICAgZXhpdDsNCg0KJG5hbWUgPSAnJzsNCiRhdHRhY2ggPSAnJzsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbIm5hbWUiXSkpIHsNCiAgICAkbmFtZSA9ICRwYXJhbXNbIm5hbWUiXTsNCn0NCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KDQppZiAoISR0aGlzLT5DaGVja0FjY2VzcygpKSB7DQogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOw0KICAgIHJldHVybjsNCn0NCg0KDQoNCmlmIChlbXB0eSgkbmFtZSkpIHsNCiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICJnZW5lcmF0b3IiKTsNCn0NCg0KJG1vZHVsZSA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlKCRuYW1lKTsNCmlmICghJG1vZHVsZSkgew0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgImdlbmVyYXRvciIpOw0KfQ0KDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pKSB7DQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1siYXR0YWNoIl0pICYmIGlzX2FycmF5KCRwYXJhbXNbImF0dGFjaCJdKSkgew0KICAgICAgICAkYXR0YWNoID0gaW1wbG9kZSgnLCcsICRwYXJhbXNbImF0dGFjaCJdKTsNCiAgICB9DQogICAgDQogICAgJHVwZGF0ZSA9IGdlbmVyYXRvcl9vcHRzOjp1cGRhdGVhdHRhY2goJG5hbWUsICRhdHRhY2gpOw0KDQogICAgaWYgKCR1cGRhdGUpIHsNCiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2luZm9fc3VjY2VzcycpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2luZm9fZXJyb3InKSk7DQogICAgfQ0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgImdlbmVyYXRvciIpOw0KfQ0KDQoNCg0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdG1vZHVsZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAxLCAnJywgJycsYXJyYXkoJ25hbWUnID0+ICRtb2R1bGVbIm1vZHVsZV9uYW1lIl0pKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZW5hbWUnLCAkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhdHRhY2gnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJ2F0dGFjaFtdJywgZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGVzX2xpc3QoKSwgKGVtcHR5KCRtb2R1bGVbImF0dGFjaCJdKSA/IGFycmF5KCkgOiBleHBsb2RlKCcsJywgJG1vZHVsZVsiYXR0YWNoIl0pKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdG1vZHVsZS50cGwnKTsNCj8+DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yCiMgWmRlbm8gS3V6bWFueSAoemRlbm9Aa3V6bWFueS5iaXopIGt1em1hbnkuYml6CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaWYgKCFpc3NldCgkZ0NtcykpCiAgICBleGl0OwoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoKaWYoIWlzX3dyaXRhYmxlKCAkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLidtb2R1bGVzJykpewogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbW9kdWxlX2Rpcl9wZXJtaXNzaW9uJykpOwp9CgojIyBUQUIgSEVBREVSUyBmcm9tIENHRQplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYgKCR0aGlzLT5DaGVja0FjY2VzcygpKSB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2dlbmVyYXRvcicsICR0aGlzLT5MYW5nKCdnZW5lcmF0b3InKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NyZWF0ZV9uZXcnLCAkdGhpcy0+TGFuZygnY3JlYXRlX25ldycpKTsKfQoKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKIwojVGhlIGNvbnRlbnQgb2YgdGhlIHRhYnMKIwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCmlmICgkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2dlbmVyYXRvcicpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fZ2VuZXJhdG9yLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY3JlYXRlX25ldycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fY3JlYXRlX25ldy5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_admin_generator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIyBNb2R1bGU6IE11bHRpbGFuZ3VhZ2UgQ01TDQojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpeg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCFpc3NldCgkZ0NtcykpDQogICAgZXhpdDsNCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KDQppZiAoISR0aGlzLT5DaGVja0FjY2VzcygpKSB7DQogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOw0KICAgIHJldHVybjsNCn0NCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgew0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgImdlbmVyYXRvciIpOw0KfQ0KDQokbmFtZSA9ICcnOw0KaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpIHsNCiAgICAkbmFtZSA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1snbmFtZSddKTsNCn0NCg0KJGF0dGFjaCA9ICcnOw0KaWYgKGlzc2V0KCRwYXJhbXNbJ2F0dGFjaCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydhdHRhY2gnXSkpIHsNCiAgICAkYXR0YWNoID0gaW1wbG9kZSgnLCcsICRwYXJhbXNbJ2F0dGFjaCddKTsNCn0NCg0KaWYgKGVtcHR5KCRuYW1lKSA9PSB0cnVlKSB7DQogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdtaXNzaW5ncmVxdWlyZWQnKSk7DQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQp9DQoNCi8vY3JlYXRlIGNvcHkgZGlyDQppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKSB7DQogICAgLyoqDQogICAgICogVXNhZ2Ugb2YgdGhlIGNvcHkgZGlyZWN0b3J5IGNsYXNzDQogICAgICovDQogICAgJHNvdXJjZV9kaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICR0aGlzLT5HZXROYW1lKCksICdNb2R1bGVMaWInLCAnc291cmNlJywgJ01vZHVsZUV4YW1wbGUnKTsNCiAgICAkZGVzdF9kaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRuYW1lKTsNCg0KICAgIGlmICghaXNzZXQoJHBhcmFtc1sib3dlcndyaXRlIl0pICYmIGlzX2RpcigkZGVzdF9kaXIpKSB7DQogICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbW9kdWxlX2V4aXN0cycpKTsNCiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQogICAgfQ0KDQogICAgJGNwID0gbmV3IGNvcHlfZGlyKCk7DQoNCi8vIHNldCB0aGUgZGlyZWN0b3J5IHRvIGNvcHkNCiAgICBpZiAoISRjcC0+c2V0Q29weUZyb21EaXIoJHNvdXJjZV9kaXIpKSB7DQogICAgICAgIGRpZSgkY3AtPnZpZXdFcnJvcigpKTsNCiAgICB9DQoNCi8vIHNldCB0aGUgZGlyZWN0b3J5IHRvIGNvcHkgdG8NCg0KICAgIGlmICghJGNwLT5zZXRDb3B5VG9EaXIoJGRlc3RfZGlyKSkgew0KICAgICAgICBkaWUoJGNwLT52aWV3RXJyb3IoKSk7DQogICAgfQ0KDQogICAgJGNwLT5jb3B5U3ViRm9sZGVycyh0cnVlKTsgLy8gaW5jbHVkZSBzdWIgZm9sZGVycyB3aGVuIGNvcHlpbmcNCiAgICAkY3AtPm92ZXJXcml0ZUZpbGVzKHRydWUpOyAvLyBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMNCg0KICAgICRjcC0+c2V0Q29weUNhbGxiYWNrKCd1cGRhdGVDb3B5UHJvZ3Jlc3MnKTsNCg0KICAgIGlmICghJGNwLT5jcmVhdGVDb3B5KHRydWUpKSB7IC8vIGNyZWF0ZSBhIGNvcHkgYW5kIHJlY3Vyc2UgdGhyb3VnaCBzdWIgZm9sZGVycw0KICAgICAgICBkaWUoJGNwLT52aWV3RXJyb3IoKSk7DQogICAgfQ0KDQogICAgLy9yZW5tYWUgZmlsZSBjbGFzcw0KICAgICRmaW5hbF9jbGFzcyA9IGNtc19qb2luX3BhdGgoJGRlc3RfZGlyLCAkbmFtZSAuICcubW9kdWxlLnBocCcpOw0KICAgIGlmIChpc19maWxlKCRmaW5hbF9jbGFzcykpDQogICAgICAgIHVubGluaygkZmluYWxfY2xhc3MpOw0KICAgICRyZW5hbWUgPSByZW5hbWUoY21zX2pvaW5fcGF0aCgkZGVzdF9kaXIsICdNb2R1bGVFeGFtcGxlLm1vZHVsZS5waHAnKSwgJGZpbmFsX2NsYXNzKTsNCg0KICAgIGlmICghJHJlbmFtZSkgew0KICAgICAgICBkaWUoJHRoaXMtPkxhbmcoJ2Vycm9yX3JlbmFtZV9kaXInKSk7DQogICAgfQ0KDQogICAgLy8gIHJld3JpdGUgbW9kdWxlIGNvbnRlbnQNCiAgICAkZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkZmluYWxfY2xhc3MpOw0KICAgIGlmICgkZGF0YSkgew0KICAgICAgICAkZGF0YSA9IHN0cl9yZXBsYWNlKCdNb2R1bGVFeGFtcGxlJywgJG5hbWUsICRkYXRhKTsNCiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbmFsX2NsYXNzLCAkZGF0YSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgZGllKCR0aGlzLT5MYW5nKCdlcnJvcl9yZXBsYWNlX3N0cmluZycpKTsNCiAgICB9DQogICAgDQogICAgLy8gY3JlYXRlIGRpcg0KICAgIGNnZV9kaXI6Om1rZGlycihjbXNfam9pbl9wYXRoKCRjb25maWdbInVwbG9hZHNfcGF0aCJdLCBzdHJ0b2xvd2VyKCRuYW1lKSkpOw0KICAgIGlmICghaXNzZXQoJHBhcmFtc1sib3dlcndyaXRlIl0pKQ0KICAgICAgICBnZW5lcmF0b3Jfb3B0czo6aW5zZXJ0KCRuYW1lLCAkYXR0YWNoKTsNCiAgICBlbHNlDQogICAgICAgIGdlbmVyYXRvcl9vcHRzOjp1cGRhdGVkYXRlKCRuYW1lKTsNCg0KICAgIC8vQCR0aGlzLT5TZW5kRXZlbnQoJ0xhbmdFZGl0ZWQnLCBhcnJheSgnY29tcGlkJyA9PiAkY2lkKSk7DQogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2luZm9fc3VjY2VzcycpKTsNCiAgICAvL3JlZGlyZWN0DQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQp9DQo/Pg0KDQo=]]></data>
	</file>
	<file>
	  <filename>/author.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkFib3V0IEF1dGhvcjwvaDM+CjxwPlpkZW5vIEt1em1hbnk8YnIgLz4gPGJyIC8+CiAgICA8c3Ryb25nPlBlcnNvbmFsOjwvc3Ryb25nPjxicj4KICAgIDxhIGhyZWY9Imh0dHA6Ly9rdXptYW55LmJpei8/dXRtX3NvdXJjZT1jbXNtcyUyQm1vZHVsZSZ1dG1fbWVkaXVtPWxpbmsmdXRtX2NhbXBhaWduPXVybHdhdGNoZG9nIj5rdXptYW55LmJpejwvYT48YnI+CiAgICA8YSBocmVmPSJodHRwOi8vbWFkZXNpbXBsZS5zay8/dXRtX3NvdXJjZT1jbXNtcyUyQm1vZHVsZSZ1dG1fbWVkaXVtPWxpbmsmdXRtX2NhbXBhaWduPXVybHdhdGNoZG9nIj5tYWRlc2ltcGxlLnNrPC9hPjxicj4KICAgIDxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9rdXptYW55Ij50d2l0dGVyPC9hPjxicj4KICAgIDxhIGhyZWY9Imh0dHA6Ly9hYm91dC5tZS9rdXptYW55Ij5hYm91dC5tZTwvYT48YnI+PGJyIC8+CiAgICA8c3Ryb25nPkRvIG5pY2UgdGhpbmcgd2l0aCBtZTwvc3Ryb25nPjxiciAvPgogICAgPGEgaHJlZj0iaHR0cDovL2Ntc21hZGVzaW1wbGUuc2svb3V0c291cmNpbmcvP3V0bV9zb3VyY2U9Y21zbXMlMkJtb2R1bGUmdXRtX21lZGl1bT1saW5rJnV0bV9jYW1wYWlnbj11cmx3YXRjaGRvZyI+Q01TIE1hZGUgU2ltcGxlIG91dHNvdXJjaW5nPC9hPjxicj48YnI+CjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+ClZlcnNpb24gMi4yLjIgIGF1Z3VzdCAyMDEyIDxiciAvPgpPcHRpb25zIHRhYiBtb3ZlZCBvdXRzaWRlIGRlZmF1bHQgYWRtaW4gbGFuZGluZyBwYWdlClNvbWUgbWlub3IgZml4ZXMKPC9saT4gCjwvdWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_create_new.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBNdWx0aWxhbmd1YWdlIENNUwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpegojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RvX2FkbWluX2dlbmVyYXRvcicsICRyZXR1cm5pZCwgJ3Bvc3QnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICcnLCA1MCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYXR0YWNoJywgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICdhdHRhY2hbXScsIGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlc19saXN0KCkpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZ2VuZXJhdG9yX25ldy50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_generator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBNdWx0aWxhbmd1YWdlIENNUwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpegojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgokYWRtaW50aGVtZSA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOwoKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOwoKJHVybGV4dCA9ICc/JyAuIENNU19TRUNVUkVfUEFSQU1fTkFNRSAuICc9JyAuICRfU0VTU0lPTltDTVNfVVNFUl9LRVldOwoKZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgewogICAgJG9uZXJvdyA9IGNnZV9hcnJheTo6dG9fb2JqZWN0KCRtb2R1bGUpOwogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsKICAgIGlmICgkbW9kKSB7CiAgICAgICAgJG9uZXJvdy0+bW9kdWxlbGluayA9ICRtb2QtPkNyZWF0ZUltYWdlTGluaygkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRtb2QtPkdldE5hbWUoKSwgJ2ljb25zL3N5c3RlbS9leHBhbmQuZ2lmJywgYXJyYXkoKSwgJycsICcnLCBmYWxzZSk7CiAgICAgICAgJG9uZXJvdy0+dW5pbnN0YWxsbGluayA9ICc8YSBvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycuJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKS4nXCcpOyIgaHJlZj0iJy4kY29uZmlnWydhZG1pbl91cmwnXSAuICcvbGlzdG1vZHVsZXMucGhwJyAuICR1cmxleHQgLicmYWN0aW9uPXVuaW5zdGFsbCZtb2R1bGU9Jy4kbW9kLT5HZXROYW1lKCkuJyI+Jy4kdGhpcy0+TGFuZygndW5pbnN0YWxsJykuJzwvYT4nOwogICAgfWVsc2V7CiAgICAgICAgJG9uZXJvdy0+aW5zdGFsbGxpbmsgPSAnPGEgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKTsiIGhyZWY9IicuJGNvbmZpZ1snYWRtaW5fdXJsJ10gLiAnL2xpc3Rtb2R1bGVzLnBocCcgLiAkdXJsZXh0IC4nJmFjdGlvbj1pbnN0YWxsJm1vZHVsZT0nLiRtb2R1bGVbIm1vZHVsZV9uYW1lIl0uJyI+Jy4kdGhpcy0+TGFuZygnaW5zdGFsbCcpLic8L2E+JzsKICAgIH0KCiAgICAkb25lcm93LT5hdHRhY2htb2R1bGVzID0gZ2VuZXJhdG9yX29wdHM6OmdldF9hdHRhY2hfbW9kdWxlcygkbW9kdWxlWyJhdHRhY2giXSk7CiAgICAkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRtb2R1bGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJG1vZHVsZVsnbW9kdWxlX25hbWUnXSkpOwogICAgJG9uZXJvdy0+cmVnZW5lcmF0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19hZG1pbl9nZW5lcmF0b3InLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9leHBvcnQuZ2lmJywgJHRoaXMtPkxhbmcoJ3JlZ2VuZXJhdGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJG1vZHVsZVsnbW9kdWxlX25hbWUnXSwgJ293ZXJ3cml0ZScgPT4gMSwgJ3N1Ym1pdCcgPT4gMSkpOwogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZW1vZHVsZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJG1vZHVsZVsnbW9kdWxlX25hbWUnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCgokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwoKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZ2VuZXJhdG9yLnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/color.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMOSURBVDjLVZNNaBxlAIafb+ab2Z3N7Oxv/nYTEyv2LzQJpKBgrQqNUKmY4kUIXqUHT70p9iB48CKIiN5E0It6KFiwiv9FpAVpKUggNc3mZ7vpJpv9n93ZnZ35PNRI+8B7e9/n9gqlFAeIVUfPeN3zh0R0eVpYM1OanhvTCEY0f3tU79+ctnpfHM73fuQhxIHAWHnmkOGXPjgZyS09l5hnNv4YOdMhoQmigzqGt4nhfeub1fpnVsl/e+hMv/q/QKy+Me0EO5dfso/OvzB8grgV4HGXJC7jwAQ2oxxDuC36xZ+Rhe+v6iutZf2iqklReNe0tPSHZ2Nz84ujR7ht3iJKjcexiOIQI8SiixxcR7QtRORFlK7O9t0rlyy4KBEj5+YisVeez85wy9zGIUeGDDYhDhYOITYuoh2BvTJ68y7B0GnCym8XGq+KL2U0MrE8Z2SRVhqdPmlCsvgk8RlCkgAivRbUNKj1YPMeeu4wcnjRql7/+jVpyvxsPjbK3whi5LEAB0WWgBRgqwAaFah04X4V7puwdwddz+FXjJMSbXI8aSTYCgU2oKMwEdgCEoDhug/G5SjsmFDUoV+DXJ7BnpiUVCNBaJqEXfDVfwG6CjoKnF4crZGCVvNBug0IPXzPZOCnAunfk8W6ro7H2gK3A02gGoDeA1MDGx2nkYG6C24bvDaMSzq7ZfxBsiC7O+aNDaWOn0oLfl0HMwDlQRCAHYUkEGvFkLsp2G9Bo0n41AiNG6sMBvY1yZr6/JsV//XZZ3WZaEp2t6DvgWFA1QRHQbwjSDeTUGvCiSPU1ovU/typQPIrTV0yrrl3vE+/+8XlaCIgq8H+BtSLUN2C2ibsl8ArR+HYGE0rwvbvRTr96HsL6od1CUDDf+enK92JwT+982cWEswvRmiug6qAr0E4AV4uoFXosnV1g8bN5kcp7E8eOZOYKtmUqm/ZiDdfPhV3Zp6IM5k0SIUBstwmXKvCX5UdM6y9n2b34wV1IXxEcEBU3J4dprU0zODpjFBTIyoIxgjXxlB/PIl1eUmdLjzc/xceOVXddrB6BQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/grid.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFAAUAJEAAAAAAP///+zp2P///yH5BAEAAAMALAAAAAAUABQAAAIojI+iy+jBonhJLnrsxVBP7n1YyHVaSYKhh7Lq+VotPLo1TaW3HEtlAQA7]]></data>
	</file>
	<file>
	  <filename>/images/meta100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAAAAACMIRMSAAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAAaAAAAGgAHsmYvAAACLklEQVQoz0VSW0hUURRd9zVvBcmhyKEMhCghMCT6KIwoiIgIIwZ6CNXHEEUf1cd81Jc9fiKjQoL6kLDQiqISmZgypCdoQUSIg2YoFNhrpgxm5px7V3uuA204j73X2efss/YCxTytlPbom+cqpdyKAxnarcRc/X/2lOdDisWRTGa0RC0hl+OPM8O/WNYCaWZbDMBsfUKt+Kk9DCBxxSt5UOwzYQeDFqx75GQjTCdgGzhGBc7E4VSyHDR84TYETMCwbAzIhRcQRENPVwwBXM/BhHXybrPsdwiUlLWHPCUnDt+SaS85BAuNeXANUDNNPoeNLWmEcJPFP8uA2BjyS4Gm8WnmpLLWpOC3f2iuk7QhzC4GaheFB7/XAM1bYTm10X5uliOD+LkEpmHhUCEGtOyEbVro4CaBnqK0AkZkQeL954CB9SnYVjTxTN43nVFwA4zY6zyzcNB+Vio877KQAOqmwH3iXiWPy3LigVS4S73otm0s/wvekFi8rzsk3+v/KrxEm4REB/vly3MrERJyrDBW/eZBhFF/5+OZoDlCaL6KwzANAwvfUhfagGvvkhOPuir0aub2xB2jvmOi0tO59OpvKdSNsey30uXs6FSequjqkjiXAmEcmYc8XebudInSc4/um+1C3NHT1L42RAIDds2B3uGXD8+12cDaD9SiIsyriDOpCHyLbOwtijK8KiRCcpnPXu7svHh/0pUUP1aFPFWu6pCuqu6qkK/Asti8On37BwKNc9D2ur7jAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEwLTA4LTE1VDEyOjUwOjE3LTA0OjAwUhXmOgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMC0wOC0xNVQxMjo1MDoxNy0wNDowMCNIXoYAAAARdEVYdGpwZWc6Y29sb3JzcGFjZQAyLHVVnwAAACB0RVh0anBlZzpzYW1wbGluZy1mYWN0b3IAMngyLDF4MSwxeDFJ+qa0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/picker.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/jquery.tablednd_0_5.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIFRhYmxlRG5EIHBsdWctaW4gZm9yIEpRdWVyeSwgYWxsb3dzIHlvdSB0byBkcmFnIGFuZCBkcm9wIHRhYmxlIHJvd3MKICogWW91IGNhbiBzZXQgdXAgdmFyaW91cyBvcHRpb25zIHRvIGNvbnRyb2wgaG93IHRoZSBzeXN0ZW0gd2lsbCB3b3JrCiAqIENvcHlyaWdodCAoYykgRGVuaXMgSG93bGV0dCA8ZGVuaXNoQGlzb2NyYS5jb20+CiAqIExpY2Vuc2VkIGxpa2UgalF1ZXJ5LCBzZWUgaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9MaWNlbnNlLgogKgogKiBDb25maWd1cmF0aW9uIG9wdGlvbnM6CiAqIAogKiBvbkRyYWdTdHlsZQogKiAgICAgVGhpcyBpcyB0aGUgc3R5bGUgdGhhdCBpcyBhc3NpZ25lZCB0byB0aGUgcm93IGR1cmluZyBkcmFnLiBUaGVyZSBhcmUgbGltaXRhdGlvbnMgdG8gdGhlIHN0eWxlcyB0aGF0IGNhbiBiZQogKiAgICAgYXNzb2NpYXRlZCB3aXRoIGEgcm93IChzdWNoIGFzIHlvdSBjYW4ndCBhc3NpZ24gYSBib3JkZXItLXdlbGwgeW91IGNhbiwgYnV0IGl0IHdvbid0IGJlCiAqICAgICBkaXNwbGF5ZWQpLiAoU28gaW5zdGVhZCBjb25zaWRlciB1c2luZyBvbkRyYWdDbGFzcy4pIFRoZSBDU1Mgc3R5bGUgdG8gYXBwbHkgaXMgc3BlY2lmaWVkIGFzCiAqICAgICBhIG1hcCAoYXMgdXNlZCBpbiB0aGUgalF1ZXJ5IGNzcyguLi4pIGZ1bmN0aW9uKS4KICogb25Ecm9wU3R5bGUKICogICAgIFRoaXMgaXMgdGhlIHN0eWxlIHRoYXQgaXMgYXNzaWduZWQgdG8gdGhlIHJvdyB3aGVuIGl0IGlzIGRyb3BwZWQuIEFzIGZvciBvbkRyYWdTdHlsZSwgdGhlcmUgYXJlIGxpbWl0YXRpb25zCiAqICAgICB0byB3aGF0IHlvdSBjYW4gZG8uIEFsc28gdGhpcyByZXBsYWNlcyB0aGUgb3JpZ2luYWwgc3R5bGUsIHNvIGFnYWluIGNvbnNpZGVyIHVzaW5nIG9uRHJhZ0NsYXNzIHdoaWNoCiAqICAgICBpcyBzaW1wbHkgYWRkZWQgYW5kIHRoZW4gcmVtb3ZlZCBvbiBkcm9wLgogKiBvbkRyYWdDbGFzcwogKiAgICAgVGhpcyBjbGFzcyBpcyBhZGRlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBkcmFnIGFuZCB0aGVuIHJlbW92ZWQgd2hlbiB0aGUgcm93IGlzIGRyb3BwZWQuIEl0IGlzIG1vcmUKICogICAgIGZsZXhpYmxlIHRoYW4gdXNpbmcgb25EcmFnU3R5bGUgc2luY2UgaXQgY2FuIGJlIGluaGVyaXRlZCBieSB0aGUgcm93IGNlbGxzIGFuZCBvdGhlciBjb250ZW50LiBUaGUgZGVmYXVsdAogKiAgICAgaXMgY2xhc3MgaXMgdERuRF93aGlsZURyYWcuIFNvIHRvIHVzZSB0aGUgZGVmYXVsdCwgc2ltcGx5IGN1c3RvbWlzZSB0aGlzIENTUyBjbGFzcyBpbiB5b3VyCiAqICAgICBzdHlsZXNoZWV0LgogKiBvbkRyb3AKICogICAgIFBhc3MgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIHJvdyBpcyBkcm9wcGVkLiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUgdGFibGUKICogICAgIGFuZCB0aGUgcm93IHRoYXQgd2FzIGRyb3BwZWQuIFlvdSBjYW4gd29yayBvdXQgdGhlIG5ldyBvcmRlciBvZiB0aGUgcm93cyBieSB1c2luZwogKiAgICAgdGFibGUucm93cy4KICogb25EcmFnU3RhcnQKICogICAgIFBhc3MgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgc3RhcnRzIGRyYWdnaW5nLiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUKICogICAgIHRhYmxlIGFuZCB0aGUgcm93IHdoaWNoIHRoZSB1c2VyIGhhcyBzdGFydGVkIHRvIGRyYWcuCiAqIG9uQWxsb3dEcm9wCiAqICAgICBQYXNzIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBhcyBhIHJvdyBpcyBvdmVyIGFub3RoZXIgcm93LiBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyB0cnVlLCBhbGxvdyAKICogICAgIGRyb3BwaW5nIG9uIHRoYXQgcm93LCBvdGhlcndpc2Ugbm90LiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUgZHJhZ2dlZCByb3cgYW5kIHRoZSByb3cgdW5kZXIKICogICAgIHRoZSBjdXJzb3IuIEl0IHJldHVybnMgYSBib29sZWFuOiB0cnVlIGFsbG93cyB0aGUgZHJvcCwgZmFsc2UgZG9lc24ndCBhbGxvdyBpdC4KICogc2Nyb2xsQW1vdW50CiAqICAgICBUaGlzIGlzIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHRvIHNjcm9sbCBpZiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2UgY3Vyc29yIHRvIHRoZSB0b3Agb3IgYm90dG9tIG9mIHRoZQogKiAgICAgd2luZG93LiBUaGUgcGFnZSBzaG91bGQgYXV0b21hdGljYWxseSBzY3JvbGwgdXAgb3IgZG93biBhcyBhcHByb3ByaWF0ZSAodGVzdGVkIGluIElFNiwgSUU3LCBTYWZhcmksIEZGMiwKICogICAgIEZGMyBiZXRhCiAqIGRyYWdIYW5kbGUKICogICAgIFRoaXMgaXMgdGhlIG5hbWUgb2YgYSBjbGFzcyB0aGF0IHlvdSBhc3NpZ24gdG8gb25lIG9yIG1vcmUgY2VsbHMgaW4gZWFjaCByb3cgdGhhdCBpcyBkcmFnZ2FibGUuIElmIHlvdQogKiAgICAgc3BlY2lmeSB0aGlzIGNsYXNzLCB0aGVuIHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgY3Vyc29yOiBtb3ZlIGluIHRoZSBDU1MgYW5kIG9ubHkgdGhlc2UgY2VsbHMKICogICAgIHdpbGwgaGF2ZSB0aGUgZHJhZyBiZWhhdmlvdXIuIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIGRyYWdIYW5kbGUsIHRoZW4geW91IGdldCB0aGUgb2xkIGJlaGF2aW91ciB3aGVyZQogKiAgICAgdGhlIHdob2xlIHJvdyBpcyBkcmFnZ2FibGUuCiAqIAogKiBPdGhlciB3YXlzIHRvIGNvbnRyb2wgYmVoYXZpb3VyOgogKgogKiBBZGQgY2xhc3M9Im5vZHJvcCIgdG8gYW55IHJvd3MgZm9yIHdoaWNoIHlvdSBkb24ndCB3YW50IHRvIGFsbG93IGRyb3BwaW5nLCBhbmQgY2xhc3M9Im5vZHJhZyIgdG8gYW55IHJvd3MKICogdGhhdCB5b3UgZG9uJ3Qgd2FudCB0byBiZSBkcmFnZ2FibGUuCiAqCiAqIEluc2lkZSB0aGUgb25Ecm9wIG1ldGhvZCB5b3UgY2FuIGFsc28gY2FsbCAkLnRhYmxlRG5ELnNlcmlhbGl6ZSgpIHRoaXMgcmV0dXJucyBhIHN0cmluZyBvZiB0aGUgZm9ybQogKiA8dGFibGVJRD5bXT08cm93SUQxPiY8dGFibGVJRD5bXT08cm93SUQyPiBzbyB0aGF0IHlvdSBjYW4gc2VuZCB0aGlzIGJhY2sgdG8gdGhlIHNlcnZlci4gVGhlIHRhYmxlIG11c3QgaGF2ZQogKiBhbiBJRCBhcyBtdXN0IGFsbCB0aGUgcm93cy4KICoKICogT3RoZXIgbWV0aG9kczoKICoKICogJCgiLi4uIikudGFibGVEbkRVcGRhdGUoKSAKICogV2lsbCB1cGRhdGUgYWxsIHRoZSBtYXRjaGluZyB0YWJsZXMsIHRoYXQgaXMgaXQgd2lsbCByZWFwcGx5IHRoZSBtb3VzZWRvd24gbWV0aG9kIHRvIHRoZSByb3dzIChvciBoYW5kbGUgY2VsbHMpLgogKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3UgaGF2ZSB1cGRhdGVkIHRoZSB0YWJsZSByb3dzIHVzaW5nIEFqYXggYW5kIHlvdSB3YW50IHRvIG1ha2UgdGhlIHRhYmxlIGRyYWdnYWJsZSBhZ2Fpbi4KICogVGhlIHRhYmxlIG1haW50YWlucyB0aGUgb3JpZ2luYWwgY29uZmlndXJhdGlvbiAoc28geW91IGRvbid0IGhhdmUgdG8gc3BlY2lmeSBpdCBhZ2FpbikuCiAqCiAqICQoIi4uLiIpLnRhYmxlRG5EU2VyaWFsaXplKCkKICogV2lsbCBzZXJpYWxpemUgYW5kIHJldHVybiB0aGUgc2VyaWFsaXplZCBzdHJpbmcgYXMgYWJvdmUsIGJ1dCBmb3IgZWFjaCBvZiB0aGUgbWF0Y2hpbmcgdGFibGVzLS1zbyBpdCBjYW4gYmUKICogY2FsbGVkIGZyb20gYW55d2hlcmUgYW5kIGlzbid0IGRlcGVuZGVudCBvbiB0aGUgY3VycmVudFRhYmxlIGJlaW5nIHNldCB1cCBjb3JyZWN0bHkgYmVmb3JlIGNhbGxpbmcKICoKICogS25vd24gcHJvYmxlbXM6CiAqIC0gQXV0by1zY29sbCBoYXMgc29tZSBwcm9ibGVtcyB3aXRoIElFNyAgKGl0IHNjcm9sbHMgZXZlbiB3aGVuIGl0IHNob3VsZG4ndCksIHdvcmstYXJvdW5kOiBzZXQgc2Nyb2xsQW1vdW50IHRvIDAKICogCiAqIFZlcnNpb24gMC4yOiAyMDA4LTAyLTIwIEZpcnN0IHB1YmxpYyB2ZXJzaW9uCiAqIFZlcnNpb24gMC4zOiAyMDA4LTAyLTA3IEFkZGVkIG9uRHJhZ1N0YXJ0IG9wdGlvbgogKiAgICAgICAgICAgICAgICAgICAgICAgICBNYWRlIHRoZSBzY3JvbGwgYW1vdW50IGNvbmZpZ3VyYWJsZSAoZGVmYXVsdCBpcyA1IGFzIGJlZm9yZSkKICogVmVyc2lvbiAwLjQ6IDIwMDgtMDMtMTUgQ2hhbmdlZCB0aGUgbm9EcmFnL25vRHJvcCBhdHRyaWJ1dGVzIHRvIG5vZHJhZy9ub2Ryb3AgY2xhc3NlcwogKiAgICAgICAgICAgICAgICAgICAgICAgICBBZGRlZCBvbkFsbG93RHJvcCB0byBjb250cm9sIGRyb3BwaW5nCiAqICAgICAgICAgICAgICAgICAgICAgICAgIEZpeGVkIGEgYnVnIHdoaWNoIG1lYW50IHRoYXQgeW91IGNvdWxkbid0IHNldCB0aGUgc2Nyb2xsIGFtb3VudCBpbiBib3RoIGRpcmVjdGlvbnMKICogICAgICAgICAgICAgICAgICAgICAgICAgQWRkZWQgc2VyaWFsaXplIG1ldGhvZAogKiBWZXJzaW9uIDAuNTogMjAwOC0wNS0xNiBDaGFuZ2VkIHNvIHRoYXQgaWYgeW91IHNwZWNpZnkgYSBkcmFnSGFuZGxlIGNsYXNzIGl0IGRvZXNuJ3QgbWFrZSB0aGUgd2hvbGUgcm93CiAqICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZQogKiAgICAgICAgICAgICAgICAgICAgICAgICBJbXByb3ZlZCB0aGUgc2VyaWFsaXplIG1ldGhvZCB0byB1c2UgYSBkZWZhdWx0IChhbmQgc2V0dGFibGUpIHJlZ3VsYXIgZXhwcmVzc2lvbi4KICogICAgICAgICAgICAgICAgICAgICAgICAgQWRkZWQgdGFibGVEbkR1cGF0ZSgpIGFuZCB0YWJsZURuRFNlcmlhbGl6ZSgpIHRvIGJlIGNhbGxlZCB3aGVuIHlvdSBhcmUgb3V0c2lkZSB0aGUgdGFibGUKICovCmpRdWVyeS50YWJsZURuRCA9IHsKICAgIC8qKiBLZWVwIGhvbGQgb2YgdGhlIGN1cnJlbnQgdGFibGUgYmVpbmcgZHJhZ2dlZCAqLwogICAgY3VycmVudFRhYmxlIDogbnVsbCwKICAgIC8qKiBLZWVwIGhvbGQgb2YgdGhlIGN1cnJlbnQgZHJhZyBvYmplY3QgaWYgYW55ICovCiAgICBkcmFnT2JqZWN0OiBudWxsLAogICAgLyoqIFRoZSBjdXJyZW50IG1vdXNlIG9mZnNldCAqLwogICAgbW91c2VPZmZzZXQ6IG51bGwsCiAgICAvKiogUmVtZW1iZXIgdGhlIG9sZCB2YWx1ZSBvZiBZIHNvIHRoYXQgd2UgZG9uJ3QgZG8gdG9vIG11Y2ggcHJvY2Vzc2luZyAqLwogICAgb2xkWTogMCwKCiAgICAvKiogQWN0dWFsbHkgYnVpbGQgdGhlIHN0cnVjdHVyZSAqLwogICAgYnVpbGQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgICAvLyBTZXQgdXAgdGhlIGRlZmF1bHRzIGlmIGFueQoKICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIC8vIFRoaXMgaXMgYm91bmQgdG8gZWFjaCBtYXRjaGluZyB0YWJsZSwgc2V0IHVwIHRoZSBkZWZhdWx0cyBhbmQgb3ZlcnJpZGUgd2l0aCB1c2VyIG9wdGlvbnMKICAgICAgICAgICAgdGhpcy50YWJsZURuRENvbmZpZyA9IGpRdWVyeS5leHRlbmQoewogICAgICAgICAgICAgICAgb25EcmFnU3R5bGU6IG51bGwsCiAgICAgICAgICAgICAgICBvbkRyb3BTdHlsZTogbnVsbCwKCQkJCS8vIEFkZCBpbiB0aGUgZGVmYXVsdCBjbGFzcyBmb3Igd2hpbGVEcmFnZ2luZwoJCQkJb25EcmFnQ2xhc3M6ICJ0RG5EX3doaWxlRHJhZyIsCiAgICAgICAgICAgICAgICBvbkRyb3A6IG51bGwsCiAgICAgICAgICAgICAgICBvbkRyYWdTdGFydDogbnVsbCwKICAgICAgICAgICAgICAgIHNjcm9sbEFtb3VudDogNSwKCQkJCXNlcmlhbGl6ZVJlZ2V4cDogL1teXC1dKiQvLCAvLyBUaGUgcmVndWxhciBleHByZXNzaW9uIHRvIHVzZSB0byB0cmltIHJvdyBJRHMKCQkJCXNlcmlhbGl6ZVBhcmFtTmFtZTogbnVsbCwgLy8gSWYgeW91IHdhbnQgdG8gc3BlY2lmeSBhbm90aGVyIHBhcmFtZXRlciBuYW1lIGluc3RlYWQgb2YgdGhlIHRhYmxlIElECiAgICAgICAgICAgICAgICBkcmFnSGFuZGxlOiBudWxsIC8vIElmIHlvdSBnaXZlIHRoZSBuYW1lIG9mIGEgY2xhc3MgaGVyZSwgdGhlbiBvbmx5IENlbGxzIHdpdGggdGhpcyBjbGFzcyB3aWxsIGJlIGRyYWdnYWJsZQogICAgICAgICAgICB9LCBvcHRpb25zIHx8IHt9KTsKICAgICAgICAgICAgLy8gTm93IG1ha2UgdGhlIHJvd3MgZHJhZ2dhYmxlCiAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tYWtlRHJhZ2dhYmxlKHRoaXMpOwogICAgICAgIH0pOwoKICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBjYXB0dXJlIHRoZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudAogICAgICAgIC8vIFdlIGNhbiB1c2UgYmluZCBzbyB0aGF0IHdlIGRvbid0IGludGVyZmVyZSB3aXRoIG90aGVyIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgalF1ZXJ5KGRvY3VtZW50KQogICAgICAgICAgICAuYmluZCgnbW91c2Vtb3ZlJywgalF1ZXJ5LnRhYmxlRG5ELm1vdXNlbW92ZSkKICAgICAgICAgICAgLmJpbmQoJ21vdXNldXAnLCBqUXVlcnkudGFibGVEbkQubW91c2V1cCk7CgogICAgICAgIC8vIERvbid0IGJyZWFrIHRoZSBjaGFpbgogICAgICAgIHJldHVybiB0aGlzOwogICAgfSwKCiAgICAvKiogVGhpcyBmdW5jdGlvbiBtYWtlcyBhbGwgdGhlIHJvd3Mgb24gdGhlIHRhYmxlIGRyYWdnYWJsZSBhcGFydCBmcm9tIHRob3NlIG1hcmtlZCBhcyAiTm9EcmFnIiAqLwogICAgbWFrZURyYWdnYWJsZTogZnVuY3Rpb24odGFibGUpIHsKICAgICAgICB2YXIgY29uZmlnID0gdGFibGUudGFibGVEbkRDb25maWc7CgkJaWYgKHRhYmxlLnRhYmxlRG5EQ29uZmlnLmRyYWdIYW5kbGUpIHsKCQkJLy8gV2Ugb25seSBuZWVkIHRvIGFkZCB0aGUgZXZlbnQgdG8gdGhlIHNwZWNpZmllZCBjZWxscwoJCQl2YXIgY2VsbHMgPSBqUXVlcnkoInRkLiIrdGFibGUudGFibGVEbkRDb25maWcuZHJhZ0hhbmRsZSwgdGFibGUpOwoJCQljZWxscy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJLy8gVGhlIGNlbGwgaXMgYm91bmQgdG8gInRoaXMiCiAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykubW91c2Vkb3duKGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgPSB0aGlzLnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSA9IHRhYmxlOwogICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tb3VzZU9mZnNldCA9IGpRdWVyeS50YWJsZURuRC5nZXRNb3VzZU9mZnNldCh0aGlzLCBldik7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5vbkRyYWdTdGFydCkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxsIHRoZSBvbkRyb3AgbWV0aG9kIGlmIHRoZXJlIGlzIG9uZQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25EcmFnU3RhcnQodGFibGUsIHRoaXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKCQkJfSkKCQl9IGVsc2UgewoJCQkvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHdlIGFkZCB0aGUgZXZlbnQgdG8gdGhlIHdob2xlIHJvdwoJICAgICAgICB2YXIgcm93cyA9IGpRdWVyeSgidHIiLCB0YWJsZSk7IC8vIGdldCBhbGwgdGhlIHJvd3MgYXMgYSB3cmFwcGVkIHNldAoJICAgICAgICByb3dzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQkvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCByb3csIHRoZSByb3cgaXMgYm91bmQgdG8gInRoaXMiCgkJCQl2YXIgcm93ID0galF1ZXJ5KHRoaXMpOwoJCQkJaWYgKCEgcm93Lmhhc0NsYXNzKCJub2RyYWciKSkgewoJICAgICAgICAgICAgICAgIHJvdy5tb3VzZWRvd24oZnVuY3Rpb24oZXYpIHsKCSAgICAgICAgICAgICAgICAgICAgaWYgKGV2LnRhcmdldC50YWdOYW1lID09ICJURCIpIHsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0ID0gdGhpczsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUgPSB0YWJsZTsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tb3VzZU9mZnNldCA9IGpRdWVyeS50YWJsZURuRC5nZXRNb3VzZU9mZnNldCh0aGlzLCBldik7CgkgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLm9uRHJhZ1N0YXJ0KSB7CgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgb25Ecm9wIG1ldGhvZCBpZiB0aGVyZSBpcyBvbmUKCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25EcmFnU3RhcnQodGFibGUsIHRoaXMpOwoJICAgICAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgfSkuY3NzKCJjdXJzb3IiLCAibW92ZSIpOyAvLyBTdG9yZSB0aGUgdGFibGVEbkQgb2JqZWN0CgkJCQl9CgkJCX0pOwoJCX0KCX0sCgoJdXBkYXRlVGFibGVzOiBmdW5jdGlvbigpIHsKCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCS8vIHRoaXMgaXMgbm93IGJvdW5kIHRvIGVhY2ggbWF0Y2hpbmcgdGFibGUKCQkJaWYgKHRoaXMudGFibGVEbkRDb25maWcpIHsKCQkJCWpRdWVyeS50YWJsZURuRC5tYWtlRHJhZ2dhYmxlKHRoaXMpOwoJCQl9CgkJfSkKCX0sCgogICAgLyoqIEdldCB0aGUgbW91c2UgY29vcmRpbmF0ZXMgZnJvbSB0aGUgZXZlbnQgKGFsbG93aW5nIGZvciBicm93c2VyIGRpZmZlcmVuY2VzKSAqLwogICAgbW91c2VDb29yZHM6IGZ1bmN0aW9uKGV2KXsKICAgICAgICBpZihldi5wYWdlWCB8fCBldi5wYWdlWSl7CiAgICAgICAgICAgIHJldHVybiB7eDpldi5wYWdlWCwgeTpldi5wYWdlWX07CiAgICAgICAgfQogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHg6ZXYuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCAtIGRvY3VtZW50LmJvZHkuY2xpZW50TGVmdCwKICAgICAgICAgICAgeTpldi5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgIC0gZG9jdW1lbnQuYm9keS5jbGllbnRUb3AKICAgICAgICB9OwogICAgfSwKCiAgICAvKiogR2l2ZW4gYSB0YXJnZXQgZWxlbWVudCBhbmQgYSBtb3VzZSBldmVudCwgZ2V0IHRoZSBtb3VzZSBvZmZzZXQgZnJvbSB0aGF0IGVsZW1lbnQuCiAgICAgICAgVG8gZG8gdGhpcyB3ZSBuZWVkIHRoZSBlbGVtZW50J3MgcG9zaXRpb24gYW5kIHRoZSBtb3VzZSBwb3NpdGlvbiAqLwogICAgZ2V0TW91c2VPZmZzZXQ6IGZ1bmN0aW9uKHRhcmdldCwgZXYpIHsKICAgICAgICBldiA9IGV2IHx8IHdpbmRvdy5ldmVudDsKCiAgICAgICAgdmFyIGRvY1BvcyAgICA9IHRoaXMuZ2V0UG9zaXRpb24odGFyZ2V0KTsKICAgICAgICB2YXIgbW91c2VQb3MgID0gdGhpcy5tb3VzZUNvb3Jkcyhldik7CiAgICAgICAgcmV0dXJuIHt4Om1vdXNlUG9zLnggLSBkb2NQb3MueCwgeTptb3VzZVBvcy55IC0gZG9jUG9zLnl9OwogICAgfSwKCiAgICAvKiogR2V0IHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IGJ5IGdvaW5nIHVwIHRoZSBET00gdHJlZSBhbmQgYWRkaW5nIHVwIGFsbCB0aGUgb2Zmc2V0cyAqLwogICAgZ2V0UG9zaXRpb246IGZ1bmN0aW9uKGUpewogICAgICAgIHZhciBsZWZ0ID0gMDsKICAgICAgICB2YXIgdG9wICA9IDA7CiAgICAgICAgLyoqIFNhZmFyaSBmaXggLS0gdGhhbmtzIHRvIEx1aXMgQ2hhdG8gZm9yIHRoaXMhICovCiAgICAgICAgaWYgKGUub2Zmc2V0SGVpZ2h0ID09IDApIHsKICAgICAgICAgICAgLyoqIFNhZmFyaSAyIGRvZXNuJ3QgY29ycmVjdGx5IGdyYWIgdGhlIG9mZnNldFRvcCBvZiBhIHRhYmxlIHJvdwogICAgICAgICAgICB0aGlzIGlzIGRldGFpbGVkIGhlcmU6CiAgICAgICAgICAgIGh0dHA6Ly9qYWNvYi5wZWFyZ3JvdmUuY29tL2Jsb2cvMjAwNi90ZWNobmljYWwvdGFibGUtcm93LW9mZnNldHRvcC1idWctaW4tc2FmYXJpLwogICAgICAgICAgICB0aGUgc29sdXRpb24gaXMgbGlrZXdpc2Ugbm90ZWQgdGhlcmUsIGdyYWIgdGhlIG9mZnNldCBvZiBhIHRhYmxlIGNlbGwgaW4gdGhlIHJvdyAtIHRoZSBmaXJzdENoaWxkLgogICAgICAgICAgICBub3RlIHRoYXQgZmlyZWZveCB3aWxsIHJldHVybiBhIHRleHQgbm9kZSBhcyBhIGZpcnN0IGNoaWxkLCBzbyBkZXNpZ25pbmcgYSBtb3JlIHRob3JvdWdoCiAgICAgICAgICAgIHNvbHV0aW9uIG1heSBuZWVkIHRvIHRha2UgdGhhdCBpbnRvIGFjY291bnQsIGZvciBub3cgdGhpcyBzZWVtcyB0byB3b3JrIGluIGZpcmVmb3gsIHNhZmFyaSwgaWUgKi8KICAgICAgICAgICAgZSA9IGUuZmlyc3RDaGlsZDsgLy8gYSB0YWJsZSBjZWxsCiAgICAgICAgfQoKICAgICAgICB3aGlsZSAoZS5vZmZzZXRQYXJlbnQpewogICAgICAgICAgICBsZWZ0ICs9IGUub2Zmc2V0TGVmdDsKICAgICAgICAgICAgdG9wICArPSBlLm9mZnNldFRvcDsKICAgICAgICAgICAgZSAgICAgPSBlLm9mZnNldFBhcmVudDsKICAgICAgICB9CgogICAgICAgIGxlZnQgKz0gZS5vZmZzZXRMZWZ0OwogICAgICAgIHRvcCAgKz0gZS5vZmZzZXRUb3A7CgogICAgICAgIHJldHVybiB7eDpsZWZ0LCB5OnRvcH07CiAgICB9LAoKICAgIG1vdXNlbW92ZTogZnVuY3Rpb24oZXYpIHsKICAgICAgICBpZiAoalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgPT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgZHJhZ09iaiA9IGpRdWVyeShqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdCk7CiAgICAgICAgdmFyIGNvbmZpZyA9IGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUudGFibGVEbkRDb25maWc7CiAgICAgICAgdmFyIG1vdXNlUG9zID0galF1ZXJ5LnRhYmxlRG5ELm1vdXNlQ29vcmRzKGV2KTsKICAgICAgICB2YXIgeSA9IG1vdXNlUG9zLnkgLSBqUXVlcnkudGFibGVEbkQubW91c2VPZmZzZXQueTsKICAgICAgICAvL2F1dG8gc2Nyb2xsIHRoZSB3aW5kb3cKCSAgICB2YXIgeU9mZnNldCA9IHdpbmRvdy5wYWdlWU9mZnNldDsKCSAJaWYgKGRvY3VtZW50LmFsbCkgewoJICAgICAgICAvLyBXaW5kb3dzIHZlcnNpb24KCSAgICAgICAgLy95T2Zmc2V0PWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwoJICAgICAgICBpZiAodHlwZW9mIGRvY3VtZW50LmNvbXBhdE1vZGUgIT0gJ3VuZGVmaW5lZCcgJiYKCSAgICAgICAgICAgICBkb2N1bWVudC5jb21wYXRNb2RlICE9ICdCYWNrQ29tcGF0JykgewoJICAgICAgICAgICB5T2Zmc2V0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsKCSAgICAgICAgfQoJICAgICAgICBlbHNlIGlmICh0eXBlb2YgZG9jdW1lbnQuYm9keSAhPSAndW5kZWZpbmVkJykgewoJICAgICAgICAgICB5T2Zmc2V0PWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwoJICAgICAgICB9CgoJICAgIH0KCQkgICAgCgkJaWYgKG1vdXNlUG9zLnkteU9mZnNldCA8IGNvbmZpZy5zY3JvbGxBbW91bnQpIHsKCSAgICAJd2luZG93LnNjcm9sbEJ5KDAsIC1jb25maWcuc2Nyb2xsQW1vdW50KTsKCSAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0ID8gd2luZG93LmlubmVySGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA6IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OwogICAgICAgICAgICBpZiAod2luZG93SGVpZ2h0LShtb3VzZVBvcy55LXlPZmZzZXQpIDwgY29uZmlnLnNjcm9sbEFtb3VudCkgewogICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIGNvbmZpZy5zY3JvbGxBbW91bnQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgaWYgKHkgIT0galF1ZXJ5LnRhYmxlRG5ELm9sZFkpIHsKICAgICAgICAgICAgLy8gd29yayBvdXQgaWYgd2UncmUgZ29pbmcgdXAgb3IgZG93bi4uLgogICAgICAgICAgICB2YXIgbW92aW5nRG93biA9IHkgPiBqUXVlcnkudGFibGVEbkQub2xkWTsKICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBvbGQgdmFsdWUKICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELm9sZFkgPSB5OwogICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHN0eWxlIHRvIHNob3cgd2UncmUgZHJhZ2dpbmcKCQkJaWYgKGNvbmZpZy5vbkRyYWdDbGFzcykgewoJCQkJZHJhZ09iai5hZGRDbGFzcyhjb25maWcub25EcmFnQ2xhc3MpOwoJCQl9IGVsc2UgewoJICAgICAgICAgICAgZHJhZ09iai5jc3MoY29uZmlnLm9uRHJhZ1N0eWxlKTsKCQkJfQogICAgICAgICAgICAvLyBJZiB3ZSdyZSBvdmVyIGEgcm93IHRoZW4gbW92ZSB0aGUgZHJhZ2dlZCByb3cgdG8gdGhlcmUgc28gdGhhdCB0aGUgdXNlciBzZWVzIHRoZQogICAgICAgICAgICAvLyBlZmZlY3QgZHluYW1pY2FsbHkKICAgICAgICAgICAgdmFyIGN1cnJlbnRSb3cgPSBqUXVlcnkudGFibGVEbkQuZmluZERyb3BUYXJnZXRSb3coZHJhZ09iaiwgeSk7CiAgICAgICAgICAgIGlmIChjdXJyZW50Um93KSB7CiAgICAgICAgICAgICAgICAvLyBUT0RPIHdvcnJ5IGFib3V0IHdoYXQgaGFwcGVucyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBUQk9ESUVTCiAgICAgICAgICAgICAgICBpZiAobW92aW5nRG93biAmJiBqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdCAhPSBjdXJyZW50Um93KSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QsIGN1cnJlbnRSb3cubmV4dFNpYmxpbmcpOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICghIG1vdmluZ0Rvd24gJiYgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgIT0gY3VycmVudFJvdykgewogICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0LCBjdXJyZW50Um93KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCiAgICAvKiogV2UncmUgb25seSB3b3JyaWVkIGFib3V0IHRoZSB5IHBvc2l0aW9uIHJlYWxseSwgYmVjYXVzZSB3ZSBjYW4gb25seSBtb3ZlIHJvd3MgdXAgYW5kIGRvd24gKi8KICAgIGZpbmREcm9wVGFyZ2V0Um93OiBmdW5jdGlvbihkcmFnZ2VkUm93LCB5KSB7CiAgICAgICAgdmFyIHJvd3MgPSBqUXVlcnkudGFibGVEbkQuY3VycmVudFRhYmxlLnJvd3M7CiAgICAgICAgZm9yICh2YXIgaT0wOyBpPHJvd3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHJvdyA9IHJvd3NbaV07CiAgICAgICAgICAgIHZhciByb3dZICAgID0gdGhpcy5nZXRQb3NpdGlvbihyb3cpLnk7CiAgICAgICAgICAgIHZhciByb3dIZWlnaHQgPSBwYXJzZUludChyb3cub2Zmc2V0SGVpZ2h0KS8yOwogICAgICAgICAgICBpZiAocm93Lm9mZnNldEhlaWdodCA9PSAwKSB7CiAgICAgICAgICAgICAgICByb3dZID0gdGhpcy5nZXRQb3NpdGlvbihyb3cuZmlyc3RDaGlsZCkueTsKICAgICAgICAgICAgICAgIHJvd0hlaWdodCA9IHBhcnNlSW50KHJvdy5maXJzdENoaWxkLm9mZnNldEhlaWdodCkvMjsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBCZWNhdXNlIHdlIGFsd2F5cyBoYXZlIHRvIGluc2VydCBiZWZvcmUsIHdlIG5lZWQgdG8gb2Zmc2V0IHRoZSBoZWlnaHQgYSBiaXQKICAgICAgICAgICAgaWYgKCh5ID4gcm93WSAtIHJvd0hlaWdodCkgJiYgKHkgPCAocm93WSArIHJvd0hlaWdodCkpKSB7CiAgICAgICAgICAgICAgICAvLyB0aGF0J3MgdGhlIHJvdyB3ZSdyZSBvdmVyCgkJCQkvLyBJZiBpdCdzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHJvdywgaWdub3JlIGl0CgkJCQlpZiAocm93ID09IGRyYWdnZWRSb3cpIHtyZXR1cm4gbnVsbDt9CiAgICAgICAgICAgICAgICB2YXIgY29uZmlnID0galF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZS50YWJsZURuRENvbmZpZzsKICAgICAgICAgICAgICAgIGlmIChjb25maWcub25BbGxvd0Ryb3ApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLm9uQWxsb3dEcm9wKGRyYWdnZWRSb3csIHJvdykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewoJCQkJCS8vIElmIGEgcm93IGhhcyBub2Ryb3AgY2xhc3MsIHRoZW4gZG9uJ3QgYWxsb3cgZHJvcHBpbmcgKGluc3BpcmVkIGJ5IEpvaG4gVGFyciBhbmQgRmFtaWMpCiAgICAgICAgICAgICAgICAgICAgdmFyIG5vZHJvcCA9IGpRdWVyeShyb3cpLmhhc0NsYXNzKCJub2Ryb3AiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoISBub2Ryb3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gcm93OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfSwKCiAgICBtb3VzZXVwOiBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUgJiYgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QpIHsKICAgICAgICAgICAgdmFyIGRyb3BwZWRSb3cgPSBqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdDsKICAgICAgICAgICAgdmFyIGNvbmZpZyA9IGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUudGFibGVEbkRDb25maWc7CiAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBkcmFnT2JqZWN0LCB0aGVuIHdlIG5lZWQgdG8gcmVsZWFzZSBpdCwKICAgICAgICAgICAgLy8gVGhlIHJvdyB3aWxsIGFscmVhZHkgaGF2ZSBiZWVuIG1vdmVkIHRvIHRoZSByaWdodCBwbGFjZSBzbyB3ZSBqdXN0IHJlc2V0IHN0dWZmCgkJCWlmIChjb25maWcub25EcmFnQ2xhc3MpIHsKCSAgICAgICAgICAgIGpRdWVyeShkcm9wcGVkUm93KS5yZW1vdmVDbGFzcyhjb25maWcub25EcmFnQ2xhc3MpOwoJCQl9IGVsc2UgewoJICAgICAgICAgICAgalF1ZXJ5KGRyb3BwZWRSb3cpLmNzcyhjb25maWcub25Ecm9wU3R5bGUpOwoJCQl9CiAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0ICAgPSBudWxsOwogICAgICAgICAgICBpZiAoY29uZmlnLm9uRHJvcCkgewogICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgb25Ecm9wIG1ldGhvZCBpZiB0aGVyZSBpcyBvbmUKICAgICAgICAgICAgICAgIGNvbmZpZy5vbkRyb3AoalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSwgZHJvcHBlZFJvdyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSA9IG51bGw7IC8vIGxldCBnbyBvZiB0aGUgdGFibGUgdG9vCiAgICAgICAgfQogICAgfSwKCiAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKCkgewogICAgICAgIGlmIChqUXVlcnkudGFibGVEbkQuY3VycmVudFRhYmxlKSB7CiAgICAgICAgICAgIHJldHVybiBqUXVlcnkudGFibGVEbkQuc2VyaWFsaXplVGFibGUoalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICJFcnJvcjogTm8gVGFibGUgaWQgc2V0LCB5b3UgbmVlZCB0byBzZXQgYW4gaWQgb24geW91ciB0YWJsZSBhbmQgZXZlcnkgcm93IjsKICAgICAgICB9CiAgICB9LAoKCXNlcmlhbGl6ZVRhYmxlOiBmdW5jdGlvbih0YWJsZSkgewogICAgICAgIHZhciByZXN1bHQgPSAiIjsKICAgICAgICB2YXIgdGFibGVJZCA9IHRhYmxlLmlkOwogICAgICAgIHZhciByb3dzID0gdGFibGUucm93czsKICAgICAgICBmb3IgKHZhciBpPTA7IGk8cm93cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIHJlc3VsdCArPSAiJiI7CiAgICAgICAgICAgIHZhciByb3dJZCA9IHJvd3NbaV0uaWQ7CiAgICAgICAgICAgIGlmIChyb3dJZCAmJiByb3dJZCAmJiB0YWJsZS50YWJsZURuRENvbmZpZyAmJiB0YWJsZS50YWJsZURuRENvbmZpZy5zZXJpYWxpemVSZWdleHApIHsKICAgICAgICAgICAgICAgIHJvd0lkID0gcm93SWQubWF0Y2godGFibGUudGFibGVEbkRDb25maWcuc2VyaWFsaXplUmVnZXhwKVswXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmVzdWx0ICs9IHRhYmxlSWQgKyAnW109JyArIHJvd0lkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzdWx0OwoJfSwKCglzZXJpYWxpemVUYWJsZXM6IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciByZXN1bHQgPSAiIjsKICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCS8vIHRoaXMgaXMgbm93IGJvdW5kIHRvIGVhY2ggbWF0Y2hpbmcgdGFibGUKCQkJcmVzdWx0ICs9IGpRdWVyeS50YWJsZURuRC5zZXJpYWxpemVUYWJsZSh0aGlzKTsKCQl9KTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQoKfQoKalF1ZXJ5LmZuLmV4dGVuZCgKCXsKCQl0YWJsZURuRCA6IGpRdWVyeS50YWJsZURuRC5idWlsZCwKCQl0YWJsZURuRFVwZGF0ZSA6IGpRdWVyeS50YWJsZURuRC51cGRhdGVUYWJsZXMsCgkJdGFibGVEbkRTZXJpYWxpemU6IGpRdWVyeS50YWJsZURuRC5zZXJpYWxpemVUYWJsZXMKCX0KKTs=]]></data>
	</file>
	<file>
	  <filename>/js/mColorPicker.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICBtQ29sb3JQaWNrZXIKICBWZXJzaW9uOiAxLjAgcjM5CiAgCiAgQ29weXJpZ2h0IChjKSAyMDEwIE1ldGExMDAgTExDLgogIGh0dHA6Ly93d3cubWV0YTEwMC5jb20vCiAgCiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIAogIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwIAoqLwoKLy8gQWZ0ZXIgdGhpcyBzY3JpcHQgbG9hZHMgc2V0OgovLyAkLmZuLm1Db2xvclBpY2tlci5pbml0LnJlcGxhY2UgPSAnLm15Y2xhc3MnCi8vIHRvIGhhdmUgdGhpcyBzY3JpcHQgYXBwbHkgdG8gaW5wdXQubXljbGFzcywKLy8gaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBpbnB1dFt0eXBlPWNvbG9yXQovLyBUbyB0dXJuIG9mIGF1dG9tYXRpYyBvcGVyYXRpb24gYW5kIHJ1biBtYW51YWxseSBzZXQ6Ci8vICQuZm4ubUNvbG9yUGlja2VyLmluaXQucmVwbGFjZSA9IGZhbHNlCi8vIFRvIHVzZSBtYW51YWxseSBjYWxsIGxpa2UgYW55IG90aGVyIGpRdWVyeSBwbHVnaW4KLy8gJCgnaW5wdXQuZm9vJykubUNvbG9yUGlja2VyKHtvcHRpb25zfSkKLy8gb3B0aW9uczoKLy8gaW1hZ2VGb2xkZXIgLSBDaGFuZ2UgdG8gbW92ZSBpbWFnZSBsb2NhdGlvbi4KLy8gc3dhdGNoZXMgLSBJbml0aWFsIGNvbG9ycyBpbiB0aGUgc3dhdGNoLCBtdXN0IGFuIGFycmF5IG9mIDEwIGNvbG9ycy4KLy8gaW5pdDoKLy8gJC5mbi5tQ29sb3JQaWNrZXIuaW5pdC5lbmhhbmNlZFN3YXRjaGVzIC0gVHVybiBvZiBzYXZpbmcgYW5kIGxvYWRpbmcgb2Ygc3dhdGNoIHRvIGNvb2tpZXMuCi8vICQuZm4ubUNvbG9yUGlja2VyLmluaXQuYWxsb3dUcmFuc3BhcmVuY3kgLSBUdXJuIG9mZiB0cmFuc3BlcmFuY3kgYXMgYSBjb2xvciBvcHRpb24uCi8vICQuZm4ubUNvbG9yUGlja2VyLmluaXQuc2hvd0xvZ28gLSBUdXJuIG9uL29mZiB0aGUgbWV0YTEwMCBsb2dvIChZb3UgZG9uJ3QgcmVhbGx5IHdhbnQgdG8gdHVybiBpdCBvZmYsIGRvIHlvdT8pLgoKKGZ1bmN0aW9uKCQpewoKICB2YXIgJG8sICRpLCBpLCAkYiwKICAgICAgZGl2ID0gJzxkaXY+JywKICAgICAgaW1nID0gJzxpbWc+JywKICAgICAgc3BhbiA9ICc8c3Bhbj4nLAogICAgICAkZG9jdW1lbnQgPSAkKGRvY3VtZW50KSwKICAgICAgJG1Db2xvclBpY2tlciA9ICQoZGl2KSwKICAgICAgJG1Db2xvclBpY2tlckJnID0gJChkaXYpLAogICAgICAkbUNvbG9yUGlja2VyVGVzdCA9ICQoZGl2KSwKICAgICAgJG1Db2xvclBpY2tlcklucHV0ID0gJCgnPGlucHV0PicpLAogICAgICByUkdCID0gL15yZ2JbYV0/XCgoXGQrKSxccyooXGQrKSxccyooXGQrKSgsXHMqKFxkK1wuXGQrKSopP1wpLywKICAgICAgckhFWCA9IC8oW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkvLAogICAgICBySEVYMyA9IC8jW2EtZjAtOV17M30vLAogICAgICBySEVYNiA9IC8jW2EtZjAtOV17Nn0vOwoKICAkLmZuLm1Db2xvclBpY2tlciA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCiAgICB2YXIgc3dhdGNoZXMgPSAkLmZuLm1Db2xvclBpY2tlci5nZXRDb29raWUoJ3N3YXRjaGVzJyk7CgogICAgJG8gPSAkLmV4dGVuZCgkLmZuLm1Db2xvclBpY2tlci5kZWZhdWx0cywgb3B0aW9ucyk7CiAgICAkLmZuLm1Db2xvclBpY2tlci5kZWZhdWx0cy5zd2F0Y2hlcy5jb25jYXQoJG8uc3dhdGNoZXMpLnNsaWNlKC0xMCk7CgogICAgaWYgKCRpLmVuaGFuY2VkU3dhdGNoZXMgJiYgc3dhdGNoZXMpICRvLnN3YXRjaGVzID0gc3dhdGNoZXMuc3BsaXQoJ3x8JykuY29uY2F0KCRvLnN3YXRjaGVzKS5zbGljZSgwLCAxMCkgfHwgJG8uc3dhdGNoZXM7CgogICAgaWYgKCEkKCJkaXYjbUNvbG9yUGlja2VyIikubGVuZ3RoKSAkLmZuLm1Db2xvclBpY2tlci5kcmF3UGlja2VyKCk7CiAgICBpZiAoISQoJyNjc3NfZGlzYWJsZWRfY29sb3JfcGlja2VyJykubGVuZ3RoKSAkKCdoZWFkJykucHJlcGVuZCgnPG1ldGEgZGF0YS1yZW1vdmUtbWU9InRydWUiLz48c3R5bGUgaWQ9ImNzc19kaXNhYmxlZF9jb2xvcl9waWNrZXIiIHR5cGU9InRleHQvY3NzIj4ubUNvbG9yUGlja2VyW2Rpc2FibGVkXSArIHNwYW4sIC5tQ29sb3JQaWNrZXJbZGlzYWJsZWQ9ImRpc2FibGVkIl0gKyBzcGFuLCAubUNvbG9yUGlja2VyW2Rpc2FibGVkPSJ0cnVlIl0gKyBzcGFuIHtmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7LW1vei1vcGFjaXR5OjAuNTstd2Via2l0LW9wYWNpdHk6MC41Oy1raHRtbC1vcGFjaXR5OiAwLjU7b3BhY2l0eTogMC41O2N1cnNvcjpkZWZhdWx0O308L3N0eWxlPicpOwoKICAgICQoJ21ldGFbZGF0YS1yZW1vdmUtbWU9dHJ1ZV0nKS5yZW1vdmUoKTsKCiAgICB0aGlzLmVhY2goJC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzKTsKCiAgICByZXR1cm4gdGhpczsKICB9OwoKICAkLmZuLm1Db2xvclBpY2tlci5pbml0ID0gewogICAgcmVwbGFjZTogJ1t0eXBlPWNvbG9yXScsCiAgICBpbmRleDogMCwKICAgIGVuaGFuY2VkU3dhdGNoZXM6IHRydWUsCiAgICBhbGxvd1RyYW5zcGFyZW5jeTogdHJ1ZSwKICAgIHNsb2dhbjogJ01ldGExMDAgLSBEZXNpZ25pbmcgRnVuJywKICAgIHNob3dMb2dvOiB0cnVlCiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuZGVmYXVsdHMgPSB7CiAgICBjdXJyZW50SWQ6IGZhbHNlLAogICAgY3VycmVudElucHV0OiBmYWxzZSwKICAgIGN1cnJlbnRDb2xvcjogZmFsc2UsCiAgICBjaGFuZ2VDb2xvcjogZmFsc2UsCiAgICBjb2xvcjogZmFsc2UsCiAgICBpbWFnZUZvbGRlcjogJ2ltYWdlcy8nLAogICAgc3dhdGNoZXM6IFsKICAgICAgIiNmZmZmZmYiLAogICAgICAiI2ZmZmYwMCIsCiAgICAgICIjMDBmZjAwIiwKICAgICAgIiMwMGZmZmYiLAogICAgICAiIzAwMDBmZiIsCiAgICAgICIjZmYwMGZmIiwKICAgICAgIiNmZjAwMDAiLAogICAgICAiIzRjMmIxMSIsCiAgICAgICIjM2IzYjNiIiwKICAgICAgIiMwMDAwMDAiCiAgICBdCiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQgPSBmdW5jdGlvbigpIHsKCiAgICAkKCdpbnB1dFtkYXRhLW1jb2xvcnBpY2tlciE9InRydWUiXScpLmZpbHRlcihmdW5jdGlvbigpIHsKICAKICAgICAgcmV0dXJuICgkaS5yZXBsYWNlID09ICdbdHlwZT1jb2xvcl0nKT8gdGhpcy5nZXRBdHRyaWJ1dGUoInR5cGUiKSA9PSAnY29sb3InOiAkKHRoaXMpLmlzKCRpLnJlcGxhY2UpOwogICAgfSkubUNvbG9yUGlja2VyKCk7CiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuZXZlbnRzID0gZnVuY3Rpb24oKSB7CgogICAgJCgiI21Db2xvclBpY2tlckJnIikubGl2ZSgnY2xpY2snLCAkLmZuLm1Db2xvclBpY2tlci5jbG9zZVBpY2tlcik7CgogICAgJCgnLm1Db2xvclBpY2tlcicpLmxpdmUoJ2tleXVwJywgZnVuY3Rpb24gKCkgewoKICAgICAgdHJ5IHsKICAKICAgICAgICAkKHRoaXMpLmNzcyh7CiAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICQodGhpcykudmFsKCkKICAgICAgICB9KS5jc3MoewogICAgICAgICAgJ2NvbG9yJzogJC5mbi5tQ29sb3JQaWNrZXIudGV4dENvbG9yKCQodGhpcykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJykpCiAgICAgICAgfSkudHJpZ2dlcignY2hhbmdlJyk7CiAgICAgIH0gY2F0Y2ggKHIpIHt9CiAgICB9KTsKCiAgICAkKCcubUNvbG9yUGlja2VyVHJpZ2dlcicpLmxpdmUoJ2NsaWNrJywgJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JTaG93KTsKICAKICAgICQoJy5tQ29sb3IsIC5tUGFzdENvbG9yJykubGl2ZSgnbW91c2Vtb3ZlJywgZnVuY3Rpb24oZSkgewoKICAgICAgaWYgKCEkby5jaGFuZ2VDb2xvcikgcmV0dXJuIGZhbHNlOwogIAogICAgICB2YXIgJHQgPSAkKHRoaXMpLAogICAgICAgICAgb2Zmc2V0ID0gJHQub2Zmc2V0KCksCiAgICAgICAgICAkZSA9ICRvLmN1cnJlbnRJbnB1dCwKICAgICAgICAgIGhleCA9ICRlLmF0dHIoJ2RhdGEtaGV4JykgfHwgJGUuYXR0cignaGV4Jyk7CgogICAgICAkby5jb2xvciA9ICR0LmNzcygiYmFja2dyb3VuZC1jb2xvciIpOwoKICAgICAgaWYgKCR0Lmhhc0NsYXNzKCdtUGFzdENvbG9yJykpICRvLmNvbG9yID0gJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoJG8uY29sb3IsIGhleCk7CiAgICAgIGVsc2UgaWYgKCR0Lmhhc0NsYXNzKCdtQ29sb3JUcmFuc3BhcmVudCcpKSAkby5jb2xvciA9ICd0cmFuc3BhcmVudCc7CiAgICAgIGVsc2UgaWYgKCEkdC5oYXNDbGFzcygnbVBhc3RDb2xvcicpKSAkby5jb2xvciA9ICQuZm4ubUNvbG9yUGlja2VyLndoaWNoQ29sb3IoZS5wYWdlWCAtIG9mZnNldC5sZWZ0LCBlLnBhZ2VZIC0gb2Zmc2V0LnRvcCwgaGV4KTsKCiAgICAgICRvLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcigkby5jb2xvcik7CiAgICB9KS5saXZlKCdjbGljaycsICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yUGlja2VkKTsKICAKICAgICQoJyNtQ29sb3JQaWNrZXJJbnB1dCcpLmxpdmUoJ2tleXVwJywgZnVuY3Rpb24gKGUpIHsKICAKICAgICAgdHJ5IHsKICAKICAgICAgICAkby5jb2xvciA9ICQodGhpcykudmFsKCk7CiAgICAgICAgJG8uY3VycmVudElucHV0Lm1TZXRJbnB1dENvbG9yKCRvLmNvbG9yKTsKICAgIAogICAgICAgIGlmIChlLndoaWNoID09IDEzKSAkLmZuLm1Db2xvclBpY2tlci5jb2xvclBpY2tlZCgpOwogICAgICB9IGNhdGNoIChyKSB7fQoKICAgIH0pLmxpdmUoJ2JsdXInLCBmdW5jdGlvbiAoKSB7CiAgCiAgICAgICRvLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcigkby5jb2xvcik7CiAgICB9KTsKICAKICAgICQoJyNtQ29sb3JQaWNrZXJXcmFwcGVyJykubGl2ZSgnbW91c2VsZWF2ZScsIGZ1bmN0aW9uICgpIHsKICAKICAgICAgaWYgKCEkby5jaGFuZ2VDb2xvcikgcmV0dXJuIGZhbHNlOwoKICAgICAgdmFyICRlID0gJG8uY3VycmVudElucHV0OyAKCiAgICAgICRvLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcigkLmZuLm1Db2xvclBpY2tlci5zZXRDb2xvcigkby5jdXJyZW50Q29sb3IsICgkZS5hdHRyKCdkYXRhLWhleCcpIHx8ICRlLmF0dHIoJ2hleCcpKSkpOwogICAgfSk7CiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzID0gZnVuY3Rpb24gKCkgewoKICAgIHZhciAkdCA9ICQodGhpcyksCiAgICAgICAgaWQgPSAkdC5hdHRyKCdpZCcpIHx8ICdjb2xvcl8nICsgJGkuaW5kZXgrKywKICAgICAgICBoaWRkZW4gPSAkdC5hdHRyKCd0ZXh0JykgPT0gJ2hpZGRlbicgfHwgJHQuYXR0cignZGF0YS10ZXh0JykgPT0gJ2hpZGRlbic/IHRydWU6IGZhbHNlLAogICAgICAgIGNvbG9yID0gJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoJHQudmFsKCksICgkdC5hdHRyKCdkYXRhLWhleCcpIHx8ICR0LmF0dHIoJ2hleCcpKSksCiAgICAgICAgd2lkdGggPSAkdC53aWR0aCgpLAogICAgICAgIGhlaWdodCA9ICR0LmhlaWdodCgpLAogICAgICAgIGZsdCA9ICR0LmNzcygnZmxvYXQnKSwKICAgICAgICAkYyA9ICQoc3BhbiksCiAgICAgICAgJHRyaWdnZXIgPSAkKHNwYW4pLAogICAgICAgIGNvbG9yUGlja2VyID0gJycsCiAgICAgICAgJGU7CgogICAgJGMuYXR0cih7CiAgICAgICdpZCc6ICdjb2xvcl93b3JrX2FyZWEnLAogICAgICAnY2xhc3MnOiAnbUNvbG9yUGlja2VySW5wdXQnCiAgICB9KS5hcHBlbmRUbygkYikKCiAgICAkdHJpZ2dlci5hdHRyKHsKICAgICAgJ2lkJzogJ21jcF8nICsgaWQsCiAgICAgICdjbGFzcyc6ICdtQ29sb3JQaWNrZXJUcmlnZ2VyJwogICAgfSkuY3NzKHsKICAgICAgJ2Rpc3BsYXknOiAnaW5saW5lLWJsb2NrJywKICAgICAgJ2N1cnNvcic6ICdwb2ludGVyJwogICAgfSkuaW5zZXJ0QWZ0ZXIoJHQpCiAgICAKICAgICQoaW1nKS5hdHRyKHsKICAgICAgJ3NyYyc6ICRvLmltYWdlRm9sZGVyICsgJ2NvbG9yLnBuZycKICAgIH0pLmNzcyh7CiAgICAgICdib3JkZXInOiAwLAogICAgICAnbWFyZ2luJzogJzAgMCAwIDNweCcsCiAgICAgICd2ZXJ0aWNhbC1hbGlnbic6ICd0ZXh0LWJvdHRvbScKICAgIH0pLmFwcGVuZFRvKCR0cmlnZ2VyKTsKCiAgICAkYy5hcHBlbmQoJHQpOwogICAgY29sb3JQaWNrZXIgPSAkYy5odG1sKCkucmVwbGFjZSgvdHlwZT1bXmEteiBdKmNvbG9yW15hLXogLy8+XSovZ2ksICd0eXBlPSInICsgKGhpZGRlbj8gJ2hpZGRlbic6ICd0ZXh0JykgKyAnIicpOwogICAgJGMuaHRtbCgnJykucmVtb3ZlKCk7CiAgICAkZSA9ICQoY29sb3JQaWNrZXIpLmF0dHIoJ2lkJywgaWQpLmFkZENsYXNzKCdtQ29sb3JQaWNrZXInKS52YWwoY29sb3IpLmluc2VydEJlZm9yZSgkdHJpZ2dlcik7CgogICAgaWYgKGhpZGRlbikgJHRyaWdnZXIuY3NzKHsKICAgICAgJ2JvcmRlcic6ICcxcHggc29saWQgYmxhY2snLAogICAgICAnZmxvYXQnOiBmbHQsCiAgICAgICd3aWR0aCc6IHdpZHRoLAogICAgICAnaGVpZ2h0JzogaGVpZ2h0CiAgICB9KS5hZGRDbGFzcygkZS5hdHRyKCdjbGFzcycpKS5odG1sKCcmbmJzcDsnKTsKCiAgICAkZS5tU2V0SW5wdXRDb2xvcihjb2xvcik7CgogICAgcmV0dXJuICRlOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmRyYXdQaWNrZXIgPSBmdW5jdGlvbiAoKSB7CiAgCiAgICB2YXIgJHMgPSAkKGRpdiksCiAgICAgICAgJGwgPSAkKCc8YT4nKSwKICAgICAgICAkZiA9ICQoZGl2KSwKICAgICAgICAkdyA9ICQoZGl2KTsKCiAgICAkbUNvbG9yUGlja2VyQmcuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJCZycKICAgIH0pLmNzcyh7CiAgICAgICdkaXNwbGF5JzogJ25vbmUnLAogICAgICAnYmFja2dyb3VuZCc6J2JsYWNrJywKICAgICAgJ29wYWNpdHknOiAuMDEsCiAgICAgICdwb3NpdGlvbic6J2Fic29sdXRlJywKICAgICAgJ3RvcCc6MCwKICAgICAgJ3JpZ2h0JzowLAogICAgICAnYm90dG9tJzowLAogICAgICAnbGVmdCc6MAogICAgfSkuYXBwZW5kVG8oJGIpOwoKICAgICRtQ29sb3JQaWNrZXIuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXInLAogICAgICAnZGF0YS1tY29sb3JwaWNrZXInOiB0cnVlCiAgICB9KS5jc3MoewogICAgICAncG9zaXRpb24nOidhYnNvbHV0ZScsCiAgICAgICdib3JkZXInOicxcHggc29saWQgI2NjYycsCiAgICAgICdjb2xvcic6JyNmZmYnLAogICAgICAnd2lkdGgnOicxOTRweCcsCiAgICAgICdoZWlnaHQnOicxODRweCcsCiAgICAgICdmb250LXNpemUnOicxMnB4JywKICAgICAgJ2ZvbnQtZmFtaWx5JzondGltZXMnLAogICAgICAnZGlzcGxheSc6ICdub25lJwogICAgfSkuYXBwZW5kVG8oJGIpOwoKICAgICRtQ29sb3JQaWNrZXJUZXN0LmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VyVGVzdCcKICAgIH0pLmNzcyh7CiAgICAgICdkaXNwbGF5JzogJ25vbmUnCiAgICB9KS5hcHBlbmRUbygkYik7CgogICAgJHcuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJXcmFwcGVyJwogICAgfSkuY3NzKHsKICAgICAgJ3Bvc2l0aW9uJzoncmVsYXRpdmUnLAogICAgICAnYm9yZGVyJzonc29saWQgMXB4IGdyYXknCiAgICB9KS5hcHBlbmRUbygkbUNvbG9yUGlja2VyKTsKCiAgICAkKGRpdikuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJJbWcnLAogICAgICAnY2xhc3MnOiAnbUNvbG9yJwogICAgfSkuY3NzKHsKICAgICAgJ2hlaWdodCc6ICcxMzZweCcsCiAgICAgICd3aWR0aCc6ICcxOTJweCcsCiAgICAgICdib3JkZXInOiAwLAogICAgICAnY3Vyc29yJzogJ2Nyb3NzaGFpcicsCiAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgJG8uaW1hZ2VGb2xkZXIgKyAncGlja2VyLnBuZyknCiAgICB9KS5hcHBlbmRUbygkdyk7CgogICAgJHMuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJTd2F0Y2hlcycKICAgIH0pLmNzcyh7CiAgICAgICdib3JkZXItcmlnaHQnOicxcHggc29saWQgIzAwMCcKICAgIH0pLmFwcGVuZFRvKCR3KTsKCiAgICAkKGRpdikuYWRkQ2xhc3MoCiAgICAgICdtQ2xlYXInCiAgICApLmNzcyh7CiAgICAgICdjbGVhcic6ICdib3RoJwogICAgfSkuYXBwZW5kVG8oJHMpOwoKICAgIGZvciAoaSA9IDk7IGkgPiAtMTsgaS0tKSB7CgogICAgICAkKGRpdikuYXR0cih7CiAgICAgICAgJ2lkJzogJ2NlbGwnICsgaSwKICAgICAgICAnY2xhc3MnOiAibVBhc3RDb2xvciIgKyAoKGkgPiAwKT8gJyBtTm9MZWZ0Qm9yZGVyJzogJycpCiAgICAgIH0pLmNzcyh7CiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAkby5zd2F0Y2hlc1tpXS50b0xvd2VyQ2FzZSgpLAogICAgICAgICdoZWlnaHQnOicxOHB4JywKICAgICAgICAnd2lkdGgnOicxOHB4JywKICAgICAgICAnYm9yZGVyJzonMXB4IHNvbGlkICMwMDAnLAogICAgICAgICdmbG9hdCc6J2xlZnQnCiAgICAgIH0pLmh0bWwoCiAgICAgICAgJyZuYnNwOycKICAgICAgKS5wcmVwZW5kVG8oJHMpOwogICAgfQoKICAgICRmLmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VyRm9vdGVyJwogICAgfSkuY3NzKHsKICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyAkby5pbWFnZUZvbGRlciArICdncmlkLmdpZiknLAogICAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLAogICAgICAnaGVpZ2h0JzogJzI2cHgnCiAgICB9KS5hcHBlbmRUbygkdyk7CgogICAgJG1Db2xvclBpY2tlcklucHV0LmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VySW5wdXQnLAogICAgICAndHlwZSc6ICd0ZXh0JwogICAgfSkuY3NzKHsKICAgICAgJ2JvcmRlcic6ICdzb2xpZCAxcHggZ3JheScsCiAgICAgICdmb250LXNpemUnOiAnMTBwdCcsCiAgICAgICdtYXJnaW4nOiAnM3B4JywKICAgICAgJ3dpZHRoJzogJzgwcHgnCiAgICB9KS5hcHBlbmRUbygkZik7CgogICAgaWYgKCRpLmFsbG93VHJhbnNwYXJlbmN5KSAkKHNwYW4pLmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VyVHJhbnNwYXJlbnQnLAogICAgICAnY2xhc3MnOiAnbUNvbG9yIG1Db2xvclRyYW5zcGFyZW50JwogICAgfSkuY3NzKHsKICAgICAgJ2ZvbnQtc2l6ZSc6ICcxNnB4JywKICAgICAgJ2NvbG9yJzogJyMwMDAnLAogICAgICAncGFkZGluZy1yaWdodCc6ICczMHB4JywKICAgICAgJ3BhZGRpbmctdG9wJzogJzNweCcsCiAgICAgICdjdXJzb3InOiAncG9pbnRlcicsCiAgICAgICdvdmVyZmxvdyc6ICdoaWRkZW4nLAogICAgICAnZmxvYXQnOiAncmlnaHQnCiAgICB9KS50ZXh0KAogICAgICAndHJhbnNwYXJlbnQnCiAgICApLmFwcGVuZFRvKCRmKTsKCiAgICBpZiAoJGkuc2hvd0xvZ28pICRsLmF0dHIoewogICAgICAnaHJlZic6ICdodHRwOi8vbWV0YTEwMC5jb20vJywKICAgICAgJ3RpdGxlJzogJGkuc2xvZ2FuLAogICAgICAnYWx0JzogJGkuc2xvZ2FuLAogICAgICAndGFyZ2V0JzogJ19ibGFuaycKICAgIH0pLmNzcyh7CiAgICAgICdmbG9hdCc6ICdyaWdodCcKICAgIH0pLmFwcGVuZFRvKCRmKTsKICAgIAogICAgJChpbWcpLmF0dHIoewogICAgICAnc3JjJzogJG8uaW1hZ2VGb2xkZXIgKyAnbWV0YTEwMC5wbmcnLAogICAgICAndGl0bGUnOiAkaS5zbG9nYW4sCiAgICAgICdhbHQnOiAkaS5zbG9nYW4KICAgIH0pLmNzcyh7CiAgICAgICdib3JkZXInOiAwLAogICAgICAnYm9yZGVyLWxlZnQnOiAnMXB4IHNvbGlkICNhYWEnLAogICAgICAncmlnaHQnOiAwLAogICAgICAncG9zaXRpb24nOiAnYWJzb2x1dGUnCiAgICB9KS5hcHBlbmRUbygkbCk7CgogICAgJCgnLm1Ob0xlZnRCb3JkZXInKS5jc3MoewogICAgICAnYm9yZGVyLWxlZnQnOjAKICAgIH0pOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmNsb3NlUGlja2VyID0gZnVuY3Rpb24gKCkgewoKICAgICRtQ29sb3JQaWNrZXJCZy5oaWRlKCk7CiAgICAkbUNvbG9yUGlja2VyLmZhZGVPdXQoKQogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yU2hvdyA9IGZ1bmN0aW9uICgpIHsKCiAgICB2YXIgJHQgPSAkKHRoaXMpLAogICAgICAgIGlkID0gJHQuYXR0cignaWQnKS5yZXBsYWNlKCdtY3BfJywgJycpLAogICAgICAgIHBvcyA9ICR0Lm9mZnNldCgpLAogICAgICAgICRpID0gJCgiIyIgKyBpZCksCiAgICAgICAgcGlja2VyVG9wID0gcG9zLnRvcCArICR0Lm91dGVySGVpZ2h0KCksCiAgICAgICAgcGlja2VyTGVmdCA9IHBvcy5sZWZ0OwoKICAgIGlmICgkaS5hdHRyKCdkaXNhYmxlZCcpKSByZXR1cm4gZmFsc2U7CgogICAgJG8uY3VycmVudENvbG9yID0gJGkuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJykKICAgICRvLmNoYW5nZUNvbG9yID0gdHJ1ZTsKICAgICRvLmN1cnJlbnRJbnB1dCA9ICRpOwogICAgJG8uY3VycmVudElkID0gaWQ7CgogICAgLy8gS0VFUCBDT0xPUiBQSUNLRVIgSU4gVklFV1BPUlQKICAgIGlmIChwaWNrZXJUb3AgKyAkbUNvbG9yUGlja2VyLmhlaWdodCgpID4gJGRvY3VtZW50LmhlaWdodCgpKSBwaWNrZXJUb3AgPSBwb3MudG9wIC0gJG1Db2xvclBpY2tlci5oZWlnaHQoKTsKICAgIGlmIChwaWNrZXJMZWZ0ICsgJG1Db2xvclBpY2tlci53aWR0aCgpID4gJGRvY3VtZW50LndpZHRoKCkpIHBpY2tlckxlZnQgPSBwb3MubGVmdCAtICRtQ29sb3JQaWNrZXIud2lkdGgoKSArICR0Lm91dGVyV2lkdGgoKTsKICAKICAgICRtQ29sb3JQaWNrZXIuY3NzKHsKICAgICAgJ3RvcCc6KHBpY2tlclRvcCkgKyAicHgiLAogICAgICAnbGVmdCc6KHBpY2tlckxlZnQpICsgInB4IgogICAgfSkuZmFkZUluKCJmYXN0Iik7CiAgCiAgICAkbUNvbG9yUGlja2VyQmcuc2hvdygpOwogIAogICAgaWYgKCQoJyMnICsgaWQpLmF0dHIoJ2RhdGEtdGV4dCcpKSAkby5jb2xvciA9ICR0LmNzcygnYmFja2dyb3VuZC1jb2xvcicpOwogICAgZWxzZSAkby5jb2xvciA9ICRpLmNzcygnYmFja2dyb3VuZC1jb2xvcicpOwoKICAgICRvLmNvbG9yID0gJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoJG8uY29sb3IsICRpLmF0dHIoJ2RhdGEtaGV4JykgfHwgJGkuYXR0cignaGV4JykpOwoKICAgICRtQ29sb3JQaWNrZXJJbnB1dC52YWwoJG8uY29sb3IpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLnNldElucHV0Q29sb3IgPSBmdW5jdGlvbiAoaWQsIGNvbG9yKSB7CgogICAgJCgnIycgKyBpZCkubVNldElucHV0Q29sb3IoY29sb3IpOwogIH07CgogICQuZm4ubVNldElucHV0Q29sb3IgPSBmdW5jdGlvbiAoY29sb3IpIHsKICAKICAgIHZhciAkdCA9ICQodGhpcyksCiAgICAgICAgY3NzID0gewogICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBjb2xvciwKICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogKGNvbG9yID09ICd0cmFuc3BhcmVudCcpPyAidXJsKCciICsgJG8uaW1hZ2VGb2xkZXIgKyAiZ3JpZC5naWYnKSI6ICcnLAogICAgICAgICAgJ2NvbG9yJzogJC5mbi5tQ29sb3JQaWNrZXIudGV4dENvbG9yKGNvbG9yKQogICAgICAgIH07CiAgCiAgICBpZiAoJHQuYXR0cignZGF0YS10ZXh0JykgfHwgJHQuYXR0cigndGV4dCcpKSAkdC5uZXh0KCkuY3NzKGNzcyk7CgogICAgJHQudmFsKGNvbG9yKS5jc3MoY3NzKS50cmlnZ2VyKCdjaGFuZ2UnKTsKCiAgICAkbUNvbG9yUGlja2VySW5wdXQudmFsKGNvbG9yKTsKICB9OwoKICAkLmZuLm1Db2xvclBpY2tlci50ZXh0Q29sb3IgPSBmdW5jdGlvbiAodmFsKSB7CgogICAgdmFsID0gJC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgodmFsKTsKCiAgICBpZiAodHlwZW9mIHZhbCA9PSAndW5kZWZpbmVkJyB8fCB2YWwgPT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuICJibGFjayI7CgogICAgcmV0dXJuIChwYXJzZUludCh2YWwuc3Vic3RyKDEsIDIpLCAxNikgKyBwYXJzZUludCh2YWwuc3Vic3RyKDMsIDIpLCAxNikgKyBwYXJzZUludCh2YWwuc3Vic3RyKDUsIDIpLCAxNikgPCA0MDApPyAnd2hpdGUnOiAnYmxhY2snOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLnNldENvb2tpZSA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSwgZGF5cykgewogIAogICAgdmFyIGNvb2tpZV9zdHJpbmcgPSBuYW1lICsgIj0iICsgZXNjYXBlKHZhbHVlKSwKICAgICAgZXhwaXJlcyA9IG5ldyBEYXRlKCk7CiAgICAgIGV4cGlyZXMuc2V0RGF0ZShleHBpcmVzLmdldERhdGUoKSArIGRheXMpOwogICAgY29va2llX3N0cmluZyArPSAiOyBleHBpcmVzPSIgKyBleHBpcmVzLnRvR01UU3RyaW5nKCk7CiAgIAogICAgZG9jdW1lbnQuY29va2llID0gY29va2llX3N0cmluZzsKICB9OwoKICAkLmZuLm1Db2xvclBpY2tlci5nZXRDb29raWUgPSBmdW5jdGlvbiAobmFtZSkgewogIAogICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5jb29raWUubWF0Y2ggKCAnKF58OykgPycgKyBuYW1lICsgJz0oW147XSopKDt8JCknICk7CiAgCiAgICBpZiAocmVzdWx0cykgcmV0dXJuICh1bmVzY2FwZShyZXN1bHRzWzJdKSk7CiAgICBlbHNlIHJldHVybiBudWxsOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yUGlja2VkID0gZnVuY3Rpb24gKCkgewoKICAgICRvLmNoYW5nZUNvbG9yID0gZmFsc2U7CiAgCiAgICAkLmZuLm1Db2xvclBpY2tlci5jbG9zZVBpY2tlcigpOwogICAgJC5mbi5tQ29sb3JQaWNrZXIuYWRkVG9Td2F0Y2goKTsKICAKICAgICRvLmN1cnJlbnRJbnB1dC50cmlnZ2VyKCdjb2xvcnBpY2tlZCcpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmFkZFRvU3dhdGNoID0gZnVuY3Rpb24gKGNvbG9yKSB7CiAgCiAgICBpZiAoISRpLmVuaGFuY2VkU3dhdGNoZXMpIHJldHVybiBmYWxzZTsKCiAgICB2YXIgc3dhdGNoID0gW10KICAgICAgICBpID0gMDsKIAogICAgaWYgKHR5cGVvZiBjb2xvciA9PSAnc3RyaW5nJykgJG8uY29sb3IgPSBjb2xvcjsKICAgIGlmICgkby5jb2xvciAhPSAndHJhbnNwYXJlbnQnKSBzd2F0Y2hbMF0gPSAkLmZuLm1Db2xvclBpY2tlci5oZXhUb1JHQigkby5jb2xvcik7CiAgCiAgICAkKCcubVBhc3RDb2xvcicpLmVhY2goZnVuY3Rpb24oKSB7CiAgCiAgICAgIHZhciAkdCA9ICQodGhpcyk7CgogICAgICAkby5jb2xvciA9ICQuZm4ubUNvbG9yUGlja2VyLmhleFRvUkdCKCR0LmNzcygnYmFja2dyb3VuZC1jb2xvcicpKTsKCiAgICAgIGlmICgkby5jb2xvciAhPSBzd2F0Y2hbMF0gJiYgc3dhdGNoLmxlbmd0aCA8IDEwKSBzd2F0Y2hbc3dhdGNoLmxlbmd0aF0gPSAkby5jb2xvcjsKICAKICAgICAgJHQuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgc3dhdGNoW2krK10pCiAgICB9KTsKCiAgICBpZiAoJGkuZW5oYW5jZWRTd2F0Y2hlcykgJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29va2llKCdzd2F0Y2hlcycsIHN3YXRjaC5qb2luKCd8fCcpLCAzNjUpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLndoaWNoQ29sb3IgPSBmdW5jdGlvbiAoeCwgeSwgaGV4KSB7CgogICAgdmFyIGNvbG9yID0gWzI1NSwgMjU1LCAyNTVdOwoKICAgIGlmICh4IDwgMzIpIHsKICAKICAgICAgY29sb3JbMV0gPSB4ICogODsKICAgICAgY29sb3JbMl0gPSAwOwogICAgfSBlbHNlIGlmICh4IDwgNjQpIHsKICAKICAgICAgY29sb3JbMF0gPSAyNTYgLSAoeCAtIDMyICkgKiA4OwogICAgICBjb2xvclsyXSA9IDA7CiAgICB9IGVsc2UgaWYgKHggPCA5NikgewogIAogICAgICBjb2xvclswXSA9IDA7CiAgICAgIGNvbG9yWzJdID0gKHggLSA2NCkgKiA4OwogICAgfSBlbHNlIGlmICh4IDwgMTI4KSB7CiAgCiAgICAgIGNvbG9yWzBdID0gMDsKICAgICAgY29sb3JbMV0gPSAyNTYgLSAoeCAtIDk2KSAqIDg7CiAgICB9IGVsc2UgaWYgKHggPCAxNjApIHsKICAKICAgICAgY29sb3JbMF0gPSAoeCAtIDEyOCkgKiA4OwogICAgICBjb2xvclsxXSA9IDA7CiAgICB9IGVsc2UgewogIAogICAgICBjb2xvclsxXSA9IDA7CiAgICAgIGNvbG9yWzJdID0gMjU2IC0gKHggLSAxNjApICogODsKICAgIH0KCiAgICBmb3IgKHZhciBuID0gMDsgbiA8IDM7IG4rKykgewoKICAgICAgaWYgKHkgPCA2NCkgY29sb3Jbbl0gKz0gKDI1NiAtIGNvbG9yW25dKSAqICg2NCAtIHkpIC8gNjQ7CiAgICAgIGVsc2UgaWYgKHkgPD0gMTI4KSBjb2xvcltuXSAtPSBjb2xvcltuXSAqICh5IC0gNjQpIC8gNjQ7CiAgICAgIGVsc2UgaWYgKHkgPiAxMjgpIGNvbG9yW25dID0gMjU2IC0gKCB4IC8gMTkyICogMjU2ICk7CiAgCiAgICAgIGNvbG9yW25dID0gTWF0aC5yb3VuZChNYXRoLm1pbihjb2xvcltuXSwgMjU1KSk7CgogICAgICBpZiAoaGV4ID09ICd0cnVlJykgY29sb3Jbbl0gPSAkLmZuLm1Db2xvclBpY2tlci5kZWNUb0hleChjb2xvcltuXSk7CiAgICB9CgogICAgaWYgKGhleCA9PSAndHJ1ZScpIHJldHVybiAiIyIgKyBjb2xvci5qb2luKCcnKTsKICAgIAogICAgcmV0dXJuICJyZ2IoIiArIGNvbG9yLmpvaW4oJywgJykgKyAnKSc7CiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IgPSBmdW5jdGlvbiAoY29sb3IsIGhleCkgewoKICAgIGlmIChoZXggPT0gJ3RydWUnKSByZXR1cm4gJC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgoY29sb3IpOwoKICAgIHJldHVybiAkLmZuLm1Db2xvclBpY2tlci5oZXhUb1JHQihjb2xvcik7CiAgfQoKICAkLmZuLm1Db2xvclBpY2tlci5jb2xvclRlc3QgPSBmdW5jdGlvbiAoY29sb3IpIHsKCiAgICAkbUNvbG9yUGlja2VyVGVzdC5jc3MoJ2JhY2tncm91bmQtY29sb3InLCBjb2xvcik7CgogICAgcmV0dXJuICRtQ29sb3JQaWNrZXJUZXN0LmNzcygnYmFja2dyb3VuZC1jb2xvcicpOwogIH0KCiAgJC5mbi5tQ29sb3JQaWNrZXIuZGVjVG9IZXggPSBmdW5jdGlvbiAoY29sb3IpIHsKCiAgICB2YXIgaGV4X2NoYXIgPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7CgogICAgY29sb3IgPSBwYXJzZUludChjb2xvcik7CgogICAgcmV0dXJuIFN0cmluZyhoZXhfY2hhci5jaGFyQXQoTWF0aC5mbG9vcihjb2xvciAvIDE2KSkpICsgU3RyaW5nKGhleF9jaGFyLmNoYXJBdChjb2xvciAtIChNYXRoLmZsb29yKGNvbG9yIC8gMTYpICogMTYpKSk7CiAgfQoKICAkLmZuLm1Db2xvclBpY2tlci5SR0J0b0hleCA9IGZ1bmN0aW9uIChjb2xvcikgewoKICAgIHZhciBkZWNUb0hleCA9ICIjIiwKICAgICAgICByZ2I7CgogICAgY29sb3IgPSBjb2xvcj8gY29sb3IudG9Mb3dlckNhc2UoKTogZmFsc2U7CgogICAgaWYgKCFjb2xvcikgcmV0dXJuICcnOwogICAgaWYgKHJIRVg2LnRlc3QoY29sb3IpKSByZXR1cm4gY29sb3Iuc3Vic3RyKDAsIDcpOwogICAgaWYgKHJIRVgzLnRlc3QoY29sb3IpKSByZXR1cm4gY29sb3IucmVwbGFjZShySEVYLCAiJDEkMSQyJDIkMyQzIikuc3Vic3RyKDAsIDcpOwoKICAgIGlmIChyZ2IgPSBjb2xvci5tYXRjaChyUkdCKSkgewoKICAgICAgZm9yICh2YXIgbiA9IDE7IG4gPCA0OyBuKyspIGRlY1RvSGV4ICs9ICQuZm4ubUNvbG9yUGlja2VyLmRlY1RvSGV4KHJnYltuXSk7CiAgICAKICAgICAgcmV0dXJuIGRlY1RvSGV4OwogICAgfQoKICAgIHJldHVybiAkLmZuLm1Db2xvclBpY2tlci5jb2xvclRlc3QoY29sb3IpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmhleFRvUkdCID0gZnVuY3Rpb24gKGNvbG9yKSB7CgogICAgY29sb3IgPSBjb2xvcj8gY29sb3IudG9Mb3dlckNhc2UoKTogZmFsc2U7CgogICAgaWYgKCFjb2xvcikgcmV0dXJuICcnOwogICAgaWYgKHJSR0IudGVzdChjb2xvcikpIHJldHVybiBjb2xvcjsKCiAgICBpZiAockhFWDMudGVzdChjb2xvcikpIHsKCiAgICAgIGlmICghckhFWDYudGVzdChjb2xvcikpIGNvbG9yID0gY29sb3IucmVwbGFjZShySEVYLCAiJDEkMSQyJDIkMyQzIik7CiAgCiAgICAgIHJldHVybiAncmdiKCcgKyBwYXJzZUludChjb2xvci5zdWJzdHIoMSwgMiksIDE2KSArICcsICcgKyBwYXJzZUludChjb2xvci5zdWJzdHIoMywgMiksIDE2KSArICcsICcgKyBwYXJzZUludChjb2xvci5zdWJzdHIoNSwgMiksIDE2KSArICcpJzsKICAgIH0KCiAgICByZXR1cm4gJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JUZXN0KGNvbG9yKTsKICB9OwoKICAkaSA9ICQuZm4ubUNvbG9yUGlja2VyLmluaXQ7CgogICRkb2N1bWVudC5yZWFkeShmdW5jdGlvbiAoKSB7CgogICAgJGIgPSAkKCdib2R5Jyk7CgogICAgJC5mbi5tQ29sb3JQaWNrZXIuZXZlbnRzKCk7CgogICAgaWYgKCRpLnJlcGxhY2UpIHsKCiAgICAgIGlmICh0eXBlb2YgJC5mbi5tRE9NdXBkYXRlID09ICJmdW5jdGlvbiIpIHsKICAKICAgICAgICAkKCdpbnB1dCcpLm1ET011cGRhdGUoJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQpOwogICAgICB9IGVsc2UgaWYgKHR5cGVvZiAkLmZuLmxpdmVxdWVyeSA9PSAiZnVuY3Rpb24iKSB7CiAgCiAgICAgICAgJCgnaW5wdXQnKS5saXZlcXVlcnkoJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQpOwogICAgICB9IGVsc2UgewogIAogICAgICAgICQuZm4ubUNvbG9yUGlja2VyLnN0YXJ0KCk7CiAgICAgICAgJGRvY3VtZW50LmxpdmUoJ2FqYXhTdWNjZXNzLm1Db2xvclBpY2tlcicsICQuZm4ubUNvbG9yUGlja2VyLnN0YXJ0KTsKICAgICAgfQogICAgfQogIH0pOwp9KShqUXVlcnkpOwo=]]></data>
	</file>
	<file>
	  <filename>/js/mColorPicker.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/LyoNCiAgbUNvbG9yUGlja2VyDQogIFZlcnNpb246IDEuMCByMzgNCiAgDQogIENvcHlyaWdodCAoYykgMjAxMCBNZXRhMTAwIExMQy4NCiAgaHR0cDovL3d3dy5tZXRhMTAwLmNvbS8NCiAgDQogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSANCiAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAgDQoqLw0KDQooZnVuY3Rpb24oJCl7dmFyIGIsZSxnLGosaT0kKGRvY3VtZW50KSxoPSQoIjxkaXY+Iiksbj0kKCI8ZGl2PiIpLG89JCgiPGRpdj4iKSxwPSQoIjxpbnB1dD4iKSxxPS9ecmdiW2FdP1woKFxkKyksXHMqKFxkKyksXHMqKFxkKykoLFxzKihcZCtcLlxkKykqKT9cKS8scj0vKFthLWYwLTldKShbYS1mMC05XSkoW2EtZjAtOV0pLyxzPS8jW2EtZjAtOV17M30vLHQ9LyNbYS1mMC05XXs2fS87JC5mbi5tQ29sb3JQaWNrZXI9ZnVuY3Rpb24oYSl7dmFyIGM9JC5mbi5tQ29sb3JQaWNrZXIuZ2V0Q29va2llKCJzd2F0Y2hlcyIpO2I9JC5leHRlbmQoJC5mbi5tQ29sb3JQaWNrZXIuZGVmYXVsdHMsYSk7JC5mbi5tQ29sb3JQaWNrZXIuZGVmYXVsdHMuc3dhdGNoZXMuY29uY2F0KGIuc3dhdGNoZXMpLnNsaWNlKC0xMCk7aWYoZS5lbmhhbmNlZFN3YXRjaGVzJiZjKWIuc3dhdGNoZXM9Yy5zcGxpdCgifHwiKS5jb25jYXQoYi5zd2F0Y2hlcykuc2xpY2UoMCwxMCl8fGIuc3dhdGNoZXM7JCgiZGl2I21Db2xvclBpY2tlciIpLmxlbmd0aHx8JC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlcigpOyQoIiNjc3NfZGlzYWJsZWRfY29sb3JfcGlja2VyIikubGVuZ3RofHwkKCJoZWFkIikucHJlcGVuZCgnPG1ldGEgZGF0YS1yZW1vdmUtbWU9InRydWUiLz48c3R5bGUgaWQ9ImNzc19kaXNhYmxlZF9jb2xvcl9waWNrZXIiIHR5cGU9InRleHQvY3NzIj4ubUNvbG9yUGlja2VyW2Rpc2FibGVkXSArIHNwYW4sIC5tQ29sb3JQaWNrZXJbZGlzYWJsZWQ9ImRpc2FibGVkIl0gKyBzcGFuLCAubUNvbG9yUGlja2VyW2Rpc2FibGVkPSJ0cnVlIl0gKyBzcGFuIHtmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7LW1vei1vcGFjaXR5OjAuNTstd2Via2l0LW9wYWNpdHk6MC41Oy1raHRtbC1vcGFjaXR5OiAwLjU7b3BhY2l0eTogMC41O2N1cnNvcjpkZWZhdWx0O308L3N0eWxlPicpOyQoIm1ldGFbZGF0YS1yZW1vdmUtbWU9dHJ1ZV0iKS5yZW1vdmUoKTt0aGlzLmVhY2goJC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzKTtyZXR1cm4gdGhpc307JC5mbi5tQ29sb3JQaWNrZXIuaW5pdD17cmVwbGFjZToiW3R5cGU9Y29sb3JdIixpbmRleDowLGVuaGFuY2VkU3dhdGNoZXM6dHJ1ZSxhbGxvd1RyYW5zcGFyZW5jeTp0cnVlLHNsb2dhbjoiTWV0YTEwMCAtIERlc2lnbmluZyBGdW4iLHNob3dMb2dvOnRydWV9OyQuZm4ubUNvbG9yUGlja2VyLmRlZmF1bHRzPXtjdXJyZW50SWQ6ZmFsc2UsY3VycmVudElucHV0OmZhbHNlLGN1cnJlbnRDb2xvcjpmYWxzZSxjaGFuZ2VDb2xvcjpmYWxzZSxjb2xvcjpmYWxzZSxpbWFnZUZvbGRlcjoiaW1hZ2VzLyIsc3dhdGNoZXM6IiNmZmZmZmYsI2ZmZmYwMCwjMDBmZjAwLCMwMGZmZmYsIzAwMDBmZiwjZmYwMGZmLCNmZjAwMDAsIzRjMmIxMSwjM2IzYjNiLCMwMDAwMDAiLnNwbGl0KCIsIil9OyQuZm4ubUNvbG9yUGlja2VyLnN0YXJ0PWZ1bmN0aW9uKCl7JCgnaW5wdXRbZGF0YS1tY29sb3JwaWNrZXIhPSJ0cnVlIl0nKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gZS5yZXBsYWNlPT0iW3R5cGU9Y29sb3JdIj90aGlzLmdldEF0dHJpYnV0ZSgidHlwZSIpPT0iY29sb3IiOiQodGhpcykuaXMoZS5yZXBsYWNlKX0pLm1Db2xvclBpY2tlcigpfTskLmZuLm1Db2xvclBpY2tlci5ldmVudHM9ZnVuY3Rpb24oKXskKCIjbUNvbG9yUGlja2VyQmciKS5saXZlKCJjbGljayIsJC5mbi5tQ29sb3JQaWNrZXIuY2xvc2VQaWNrZXIpOyQoIi5tQ29sb3JQaWNrZXIiKS5saXZlKCJrZXl1cCIsZnVuY3Rpb24oKXt0cnl7JCh0aGlzKS5jc3MoeyJiYWNrZ3JvdW5kLWNvbG9yIjokKHRoaXMpLnZhbCgpfSkuY3NzKHtjb2xvcjokLmZuLm1Db2xvclBpY2tlci50ZXh0Q29sb3IoJCh0aGlzKS5jc3MoImJhY2tncm91bmQtY29sb3IiKSl9KS50cmlnZ2VyKCJjaGFuZ2UiKX1jYXRjaChhKXt9fSk7JCgiLm1Db2xvclBpY2tlclRyaWdnZXIiKS5saXZlKCJjbGljayIsJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JTaG93KTskKCIubUNvbG9yLCAubVBhc3RDb2xvciIpLmxpdmUoIm1vdXNlbW92ZSIsZnVuY3Rpb24oYSl7aWYoIWIuY2hhbmdlQ29sb3IpcmV0dXJuIGZhbHNlO3ZhciBjPSQodGhpcyksZj1jLm9mZnNldCgpLGQ9Yi5jdXJyZW50SW5wdXQsZD1kLmF0dHIoImRhdGEtaGV4Iil8fGQuYXR0cigiaGV4Iik7Yi5jb2xvcj1jLmNzcygiYmFja2dyb3VuZC1jb2xvciIpO2lmKGMuaGFzQ2xhc3MoIm1QYXN0Q29sb3IiKSliLmNvbG9yPSQuZm4ubUNvbG9yUGlja2VyLnNldENvbG9yKGIuY29sb3IsZCk7ZWxzZSBpZihjLmhhc0NsYXNzKCJtQ29sb3JUcmFuc3BhcmVudCIpKWIuY29sb3I9InRyYW5zcGFyZW50IjtlbHNlIGlmKCFjLmhhc0NsYXNzKCJtUGFzdENvbG9yIikpYi5jb2xvcj0kLmZuLm1Db2xvclBpY2tlci53aGljaENvbG9yKGEucGFnZVgtZi5sZWZ0LGEucGFnZVktZi50b3AsZCk7Yi5jdXJyZW50SW5wdXQubVNldElucHV0Q29sb3IoYi5jb2xvcil9KS5saXZlKCJjbGljayIsJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JQaWNrZWQpOyQoIiNtQ29sb3JQaWNrZXJJbnB1dCIpLmxpdmUoImtleXVwIixmdW5jdGlvbihhKXt0cnl7Yi5jb2xvcj0kKHRoaXMpLnZhbCgpLGIuY3VycmVudElucHV0Lm1TZXRJbnB1dENvbG9yKGIuY29sb3IpLGEud2hpY2g9PTEzJiYkLmZuLm1Db2xvclBpY2tlci5jb2xvclBpY2tlZCgpfWNhdGNoKGMpe319KS5saXZlKCJibHVyIixmdW5jdGlvbigpe2IuY3VycmVudElucHV0Lm1TZXRJbnB1dENvbG9yKGIuY29sb3IpfSk7JCgiI21Db2xvclBpY2tlcldyYXBwZXIiKS5saXZlKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe2lmKCFiLmNoYW5nZUNvbG9yKXJldHVybiBmYWxzZTtiLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcihiLmN1cnJlbnRDb2xvcil9KX07JC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzPWZ1bmN0aW9uKCl7dmFyIGE9JCh0aGlzKSxjPWEuYXR0cigiaWQiKXx8ImNvbG9yXyIrZS5pbmRleCsrLGY9YS5hdHRyKCJ0ZXh0Iik9PSJoaWRkZW4ifHxhLmF0dHIoImRhdGEtdGV4dCIpPT0iaGlkZGVuIj90cnVlOmZhbHNlLGQ9JC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoYS52YWwoKSxhLmF0dHIoImRhdGEtaGV4Iil8fGEuYXR0cigiaGV4IikpLGs9YS53aWR0aCgpLGc9YS5oZWlnaHQoKSxoPWEuY3NzKCJmbG9hdCIpLGw9JCgiPHNwYW4+IiksbT0kKCI8c3Bhbj4iKSxpPSIiO2wuYXR0cih7aWQ6ImNvbG9yX3dvcmtfYXJlYSIsImNsYXNzIjoibUNvbG9yUGlja2VySW5wdXQifSkuYXBwZW5kVG8oaik7bS5hdHRyKHtpZDoibWNwXyIrYywiY2xhc3MiOiJtQ29sb3JQaWNrZXJUcmlnZ2VyIn0pLmNzcyh7ZGlzcGxheToiaW5saW5lLWJsb2NrIixjdXJzb3I6InBvaW50ZXIifSkuaW5zZXJ0QWZ0ZXIoYSk7JCgiPGltZz4iKS5hdHRyKHtzcmM6Yi5pbWFnZUZvbGRlcisiY29sb3IucG5nIn0pLmNzcyh7Ym9yZGVyOjAsbWFyZ2luOiIwIDAgMCAzcHgiLCJ2ZXJ0aWNhbC1hbGlnbiI6InRleHQtYm90dG9tIn0pLmFwcGVuZFRvKG0pO2wuYXBwZW5kKGEpO2k9bC5odG1sKCkucmVwbGFjZSgvdHlwZT0iY29sb3IiL2dpLCd0eXBlPSInKyhmPyJoaWRkZW4iOiJ0ZXh0IikrJyInKTtsLmh0bWwoIiIpLnJlbW92ZSgpO2E9JChpKS5hdHRyKCJpZCIsYykuYWRkQ2xhc3MoIm1Db2xvclBpY2tlciIpLnZhbChkKS5pbnNlcnRCZWZvcmUobSk7ZiYmbS5jc3Moe2JvcmRlcjoiMXB4IHNvbGlkIGJsYWNrIiwiZmxvYXQiOmgsd2lkdGg6ayxoZWlnaHQ6Z30pLmFkZENsYXNzKGEuYXR0cigiY2xhc3MiKSkuaHRtbCgiJm5ic3A7Iik7YS5tU2V0SW5wdXRDb2xvcihkKTtyZXR1cm4gYX07JC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlcj1mdW5jdGlvbigpe3ZhciBhPSQoIjxkaXY+IiksYz0kKCI8YT4iKSxmPSQoIjxkaXY+IiksZD0kKCI8ZGl2PiIpO24uYXR0cih7aWQ6Im1Db2xvclBpY2tlckJnIn0pLmNzcyh7ZGlzcGxheToibm9uZSIsYmFja2dyb3VuZDoiYmxhY2siLG9wYWNpdHk6MC4wMSxwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDowfSkuYXBwZW5kVG8oaik7aC5hdHRyKHtpZDoibUNvbG9yUGlja2VyIiwiZGF0YS1tY29sb3JwaWNrZXIiOnRydWV9KS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYm9yZGVyOiIxcHggc29saWQgI2NjYyIsY29sb3I6IiNmZmYiLHdpZHRoOiIxOTRweCIsaGVpZ2h0OiIxODRweCIsImZvbnQtc2l6ZSI6IjEycHgiLCJmb250LWZhbWlseSI6InRpbWVzIixkaXNwbGF5OiJub25lIn0pLmFwcGVuZFRvKGopO28uYXR0cih7aWQ6Im1Db2xvclBpY2tlclRlc3QifSkuY3NzKHtkaXNwbGF5OiJub25lIn0pLmFwcGVuZFRvKGopO2QuYXR0cih7aWQ6Im1Db2xvclBpY2tlcldyYXBwZXIifSkuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGJvcmRlcjoic29saWQgMXB4IGdyYXkifSkuYXBwZW5kVG8oaCk7JCgiPGRpdj4iKS5hdHRyKHtpZDoibUNvbG9yUGlja2VySW1nIiwiY2xhc3MiOiJtQ29sb3IifSkuY3NzKHtoZWlnaHQ6IjEzNnB4Iix3aWR0aDoiMTkycHgiLGJvcmRlcjowLGN1cnNvcjoiY3Jvc3NoYWlyIiwiYmFja2dyb3VuZC1pbWFnZSI6InVybCgiK2IuaW1hZ2VGb2xkZXIrInBpY2tlci5wbmcpIn0pLmFwcGVuZFRvKGQpO2EuYXR0cih7aWQ6Im1Db2xvclBpY2tlclN3YXRjaGVzIn0pLmNzcyh7ImJvcmRlci1yaWdodCI6IjFweCBzb2xpZCAjMDAwIn0pLmFwcGVuZFRvKGQpOyQoIjxkaXY+IikuYWRkQ2xhc3MoIm1DbGVhciIpLmNzcyh7Y2xlYXI6ImJvdGgifSkuYXBwZW5kVG8oYSk7Zm9yKGc9OTtnPi0xO2ctLSkkKCI8ZGl2PiIpLmF0dHIoe2lkOiJjZWxsIitnLCJjbGFzcyI6Im1QYXN0Q29sb3IiKyhnPjA/IiBtTm9MZWZ0Qm9yZGVyIjoiIil9KS5jc3MoeyJiYWNrZ3JvdW5kLWNvbG9yIjpiLnN3YXRjaGVzW2ddLnRvTG93ZXJDYXNlKCksaGVpZ2h0OiIxOHB4Iix3aWR0aDoiMThweCIsYm9yZGVyOiIxcHggc29saWQgIzAwMCIsImZsb2F0IjoibGVmdCJ9KS5odG1sKCImbmJzcDsiKS5wcmVwZW5kVG8oYSk7Zi5hdHRyKHtpZDoibUNvbG9yUGlja2VyRm9vdGVyIn0pLmNzcyh7ImJhY2tncm91bmQtaW1hZ2UiOiJ1cmwoIitiLmltYWdlRm9sZGVyKyJncmlkLmdpZikiLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OiIyNnB4In0pLmFwcGVuZFRvKGQpO3AuYXR0cih7aWQ6Im1Db2xvclBpY2tlcklucHV0Iix0eXBlOiJ0ZXh0In0pLmNzcyh7Ym9yZGVyOiJzb2xpZCAxcHggZ3JheSIsImZvbnQtc2l6ZSI6IjEwcHQiLG1hcmdpbjoiM3B4Iix3aWR0aDoiODBweCJ9KS5hcHBlbmRUbyhmKTtlLmFsbG93VHJhbnNwYXJlbmN5JiYkKCI8c3Bhbj4iKS5hdHRyKHtpZDoibUNvbG9yUGlja2VyVHJhbnNwYXJlbnQiLCJjbGFzcyI6Im1Db2xvciBtQ29sb3JUcmFuc3BhcmVudCJ9KS5jc3MoeyJmb250LXNpemUiOiIxNnB4Iixjb2xvcjoiIzAwMCIsInBhZGRpbmctcmlnaHQiOiIzMHB4IiwicGFkZGluZy10b3AiOiIzcHgiLGN1cnNvcjoicG9pbnRlciIsb3ZlcmZsb3c6ImhpZGRlbiIsImZsb2F0IjoicmlnaHQifSkudGV4dCgidHJhbnNwYXJlbnQiKS5hcHBlbmRUbyhmKTtlLnNob3dMb2dvJiZjLmF0dHIoe2hyZWY6Imh0dHA6Ly9tZXRhMTAwLmNvbS8iLHRpdGxlOmUuc2xvZ2FuLGFsdDplLnNsb2dhbix0YXJnZXQ6Il9ibGFuayJ9KS5jc3MoeyJmbG9hdCI6InJpZ2h0In0pLmFwcGVuZFRvKGYpOyQoIjxpbWc+IikuYXR0cih7c3JjOmIuaW1hZ2VGb2xkZXIrIm1ldGExMDAucG5nIix0aXRsZTplLnNsb2dhbixhbHQ6ZS5zbG9nYW59KS5jc3Moe2JvcmRlcjowLCJib3JkZXItbGVmdCI6IjFweCBzb2xpZCAjYWFhIixyaWdodDowLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KS5hcHBlbmRUbyhjKTskKCIubU5vTGVmdEJvcmRlciIpLmNzcyh7ImJvcmRlci1sZWZ0IjowfSl9OyQuZm4ubUNvbG9yUGlja2VyLmNsb3NlUGlja2VyPWZ1bmN0aW9uKCl7bi5oaWRlKCk7aC5mYWRlT3V0KCl9OyQuZm4ubUNvbG9yUGlja2VyLmNvbG9yU2hvdz1mdW5jdGlvbigpe3ZhciBhPSQodGhpcyksYz1hLmF0dHIoImlkIikucmVwbGFjZSgibWNwXyIsIiIpLGY9YS5vZmZzZXQoKSxkPSQoIiMiK2MpLGs9Zi50b3ArYS5vdXRlckhlaWdodCgpLGU9Zi5sZWZ0O2lmKGQuYXR0cigiZGlzYWJsZWQiKSlyZXR1cm4gZmFsc2U7Yi5jdXJyZW50Q29sb3I9ZC5jc3MoImJhY2tncm91bmQtY29sb3IiKTtiLmNoYW5nZUNvbG9yPXRydWU7Yi5jdXJyZW50SW5wdXQ9ZDtiLmN1cnJlbnRJZD1jO2sraC5oZWlnaHQoKT5pLmhlaWdodCgpJiYoaz1mLnRvcC1oLmhlaWdodCgpKTtlK2gud2lkdGgoKT5pLndpZHRoKCkmJihlPWYubGVmdC1oLndpZHRoKCkrYS5vdXRlcldpZHRoKCkpO2guY3NzKHt0b3A6aysicHgiLGxlZnQ6ZSsicHgifSkuZmFkZUluKCJmYXN0Iik7bi5zaG93KCk7Yi5jb2xvcj0kKCIjIitjKS5hdHRyKCJkYXRhLXRleHQiKT9hLmNzcygiYmFja2dyb3VuZC1jb2xvciIpOmQuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIik7Yi5jb2xvcj0kLmZuLm1Db2xvclBpY2tlci5zZXRDb2xvcihiLmNvbG9yLGQuYXR0cigiZGF0YS1oZXgiKXx8ZC5hdHRyKCJoZXgiKSk7cC52YWwoYi5jb2xvcil9OyQuZm4ubUNvbG9yUGlja2VyLnNldElucHV0Q29sb3I9ZnVuY3Rpb24oYSxjKXskKCIjIithKS5tU2V0SW5wdXRDb2xvcihjKX07JC5mbi5tU2V0SW5wdXRDb2xvcj1mdW5jdGlvbihhKXt2YXIgYz0kKHRoaXMpLGY9eyJiYWNrZ3JvdW5kLWNvbG9yIjphLCJiYWNrZ3JvdW5kLWltYWdlIjphPT0idHJhbnNwYXJlbnQiPyJ1cmwoJyIrYi5pbWFnZUZvbGRlcisiZ3JpZC5naWYnKSI6IiIsY29sb3I6JC5mbi5tQ29sb3JQaWNrZXIudGV4dENvbG9yKGEpfTsoYy5hdHRyKCJkYXRhLXRleHQiKXx8Yy5hdHRyKCJ0ZXh0IikpJiZjLm5leHQoKS5jc3MoZik7Yy52YWwoYSkuY3NzKGYpLnRyaWdnZXIoImNoYW5nZSIpO3AudmFsKGEpfTskLmZuLm1Db2xvclBpY2tlci50ZXh0Q29sb3I9ZnVuY3Rpb24oYSl7YT0kLmZuLm1Db2xvclBpY2tlci5SR0J0b0hleChhKTtyZXR1cm4gdHlwZW9mIGE9PSJ1bmRlZmluZWQifHxhPT0idHJhbnNwYXJlbnQiPyJibGFjayI6cGFyc2VJbnQoYS5zdWJzdHIoMSwyKSwxNikrcGFyc2VJbnQoYS5zdWJzdHIoMywyKSwxNikrcGFyc2VJbnQoYS5zdWJzdHIoNSwyKSwxNik8NDAwPyJ3aGl0ZSI6ImJsYWNrIn07JC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29va2llPWZ1bmN0aW9uKGEsYyxiKXthPWErIj0iK2VzY2FwZShjKTtjPW5ldyBEYXRlO2Muc2V0RGF0ZShjLmdldERhdGUoKStiKTthKz0iOyBleHBpcmVzPSIrYy50b0dNVFN0cmluZygpO2RvY3VtZW50LmNvb2tpZT1hfTskLmZuLm1Db2xvclBpY2tlci5nZXRDb29raWU9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKCIoXnw7KSA/IithKyI9KFteO10qKSg7fCQpIikpP3VuZXNjYXBlKGFbMl0pOm51bGx9OyQuZm4ubUNvbG9yUGlja2VyLmNvbG9yUGlja2VkPWZ1bmN0aW9uKCl7Yi5jaGFuZ2VDb2xvcj1mYWxzZTskLmZuLm1Db2xvclBpY2tlci5jbG9zZVBpY2tlcigpOyQuZm4ubUNvbG9yUGlja2VyLmFkZFRvU3dhdGNoKCk7Yi5jdXJyZW50SW5wdXQudHJpZ2dlcigiY29sb3JwaWNrZWQiKX07JC5mbi5tQ29sb3JQaWNrZXIuYWRkVG9Td2F0Y2g9ZnVuY3Rpb24oYSl7aWYoIWUuZW5oYW5jZWRTd2F0Y2hlcylyZXR1cm4gZmFsc2U7dmFyIGM9W107Zz0wO2lmKHR5cGVvZiBhPT0ic3RyaW5nIiliLmNvbG9yPWEudG9Mb3dlckNhc2UoKTtiLmNvbG9yIT0idHJhbnNwYXJlbnQiJiYoY1swXT1iLmNvbG9yLnRvTG93ZXJDYXNlKCkpOyQoIi5tUGFzdENvbG9yIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPSQodGhpcyk7Yi5jb2xvcj1hLmNzcygiYmFja2dyb3VuZC1jb2xvciIpLnRvTG93ZXJDYXNlKCk7aWYoYi5jb2xvciE9Y1swXSYmJC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgoYi5jb2xvcikhPWNbMF0mJiQuZm4ubUNvbG9yUGlja2VyLmhleFRvUkdCKGIuY29sb3IpIT1jWzBdJiZjLmxlbmd0aDwxMCljW2MubGVuZ3RoXT1iLmNvbG9yOyQodGhpcykuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIixjW2crK10pfSk7ZS5lbmhhbmNlZFN3YXRjaGVzJiYkLmZuLm1Db2xvclBpY2tlci5zZXRDb29raWUoInN3YXRjaGVzIixjLmpvaW4oInx8IiksMzY1KX07JC5mbi5tQ29sb3JQaWNrZXIud2hpY2hDb2xvcj1mdW5jdGlvbihhLGMsYil7dmFyIGQ9WzI1NSwyNTUsMjU1XTthPDMyPyhkWzFdPWEqOCxkWzJdPTApOmE8NjQ/KGRbMF09MjU2LShhLTMyKSo4LGRbMl09MCk6YTw5Nj8oZFswXT0wLGRbMl09KGEtNjQpKjgpOmE8MTI4PyhkWzBdPTAsZFsxXT0yNTYtKGEtOTYpKjgpOmE8MTYwPyhkWzBdPShhLTEyOCkqOCxkWzFdPTApOihkWzFdPTAsZFsyXT0yNTYtKGEtMTYwKSo4KTtmb3IodmFyIGU9MDtlPDM7ZSsrKWM8NjQ/ZFtlXSs9KDI1Ni1kW2VdKSooNjQtYykvNjQ6Yzw9MTI4P2RbZV0tPWRbZV0qKGMtNjQpLzY0OmM+MTI4JiYoZFtlXT0yNTYtYS8xOTIqMjU2KSxkW2VdPU1hdGgucm91bmQoTWF0aC5taW4oZFtlXSwyNTUpKSxiPT0idHJ1ZSImJihkW2VdPSQuZm4ubUNvbG9yUGlja2VyLmRlY1RvSGV4KGRbZV0pKTtyZXR1cm4gYj09InRydWUiPyIjIitkLmpvaW4oIiIpOiJyZ2IoIitkLmpvaW4oIiwgIikrIikifTskLmZuLm1Db2xvclBpY2tlci5zZXRDb2xvcj1mdW5jdGlvbihhLGMpe3JldHVybiBjPT0idHJ1ZSI/JC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgoYSk6JC5mbi5tQ29sb3JQaWNrZXIuaGV4VG9SR0IoYSl9OyQuZm4ubUNvbG9yUGlja2VyLmNvbG9yVGVzdD1mdW5jdGlvbihhKXtvLmNzcygiYmFja2dyb3VuZC1jb2xvciIsYSk7cmV0dXJuIG8uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIil9OyQuZm4ubUNvbG9yUGlja2VyLmRlY1RvSGV4PWZ1bmN0aW9uKGEpe2E9cGFyc2VJbnQoYSk7cmV0dXJuIFN0cmluZygiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KE1hdGguZmxvb3IoYS8xNikpKStTdHJpbmcoIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChhLU1hdGguZmxvb3IoYS8xNikqMTYpKX07JC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXg9ZnVuY3Rpb24oYSl7dmFyIGM9IiMiLGIsYT1hP2EudG9Mb3dlckNhc2UoKTpmYWxzZTtpZighYSlyZXR1cm4iIjtpZih0LnRlc3QoYSkpcmV0dXJuIGEuc3Vic3RyKDAsNyk7aWYocy50ZXN0KGEpKXJldHVybiBhLnJlcGxhY2UociwiJDEkMSQyJDIkMyQzIikuc3Vic3RyKDAsNyk7aWYoYj1hLm1hdGNoKHEpKXtmb3IoYT0xO2E8NDthKyspYys9JC5mbi5tQ29sb3JQaWNrZXIuZGVjVG9IZXgoYlthXSk7cmV0dXJuIGN9cmV0dXJuICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yVGVzdChhKX07JC5mbi5tQ29sb3JQaWNrZXIuaGV4VG9SR0I9ZnVuY3Rpb24oYSl7YT1hP2EudG9Mb3dlckNhc2UoKTpmYWxzZTtpZighYSlyZXR1cm4iIjtpZihxLnRlc3QoYSkpcmV0dXJuIGE7cmV0dXJuIHMudGVzdChhKT8odC50ZXN0KGEpfHwoYT1hLnJlcGxhY2UociwiJDEkMSQyJDIkMyQzIikpLCJyZ2IoIitwYXJzZUludChhLnN1YnN0cigxLDIpLDE2KSsiLCAiK3BhcnNlSW50KGEuc3Vic3RyKDMsMiksMTYpKyIsICIrcGFyc2VJbnQoYS5zdWJzdHIoNSwyKSwxNikrIikiKTokLmZuLm1Db2xvclBpY2tlci5jb2xvclRlc3QoYSl9O2U9JC5mbi5tQ29sb3JQaWNrZXIuaW5pdDtpLnJlYWR5KGZ1bmN0aW9uKCl7aj0kKCJib2R5Iik7JC5mbi5tQ29sb3JQaWNrZXIuZXZlbnRzKCk7ZS5yZXBsYWNlJiYoJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQoKSx0eXBlb2YgJC5mbi5saXZlcXVlcnk9PSJmdW5jdGlvbiI/JChlLnJlcGxhY2UpLmxpdmVxdWVyeSgkLmZuLm1Db2xvclBpY2tlci5zdGFydCk6JChkb2N1bWVudCkubGl2ZSgiYWpheFN1Y2Nlc3MubUNvbG9yUGlja2VyIiwkLmZuLm1Db2xvclBpY2tlci5zdGFydCkpfSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/i18n/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/i18n/cs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLnBvIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCgknU2VsZWN0IGZpbGVzJyA6ICdWeWJlcnRlIHNvdWJvcnknLA0KCSdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ1DFmWlkZWp0ZSBzb3Vib3J5IGRvIGZyb250eSBhIHBhayBzcHVzxaV0ZSBuYWhyw6F2w6Fuw60uJywNCgknRmlsZW5hbWUnIDogJ07DoXpldiBzb3Vib3J1JywNCgknU3RhdHVzJyA6ICdTdGF0dXMnLA0KCSdTaXplJyA6ICdWZWxpa29zdCcsDQoJJ0FkZCBGaWxlcycgOiAnUMWZaWRhdCBzb3Vib3J5JywNCgknU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnWmFzdGF2aXQgbmFocsOhdsOhbsOtJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdTcHVzdGl0IGZyb250dSBuYWhyw6F2w6Fuw60nLA0KCSdEcmFnIGZpbGVzIGhlcmUuJyA6ICdTZW0gcMWZZXTDoWhuxJt0ZSBzb3Vib3J5LicsDQoJJ1N0YXJ0IFVwbG9hZCc6ICdTcHVzdGl0IG5haHLDoXbDoW7DrScsDQoJJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJ05haHLDoW5vICVkLyVkIHNvdWJvcsWvJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/da.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLnBvIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrCnBsdXBsb2FkLmFkZEkxOG4oewoJJ1NlbGVjdCBmaWxlcycgOiAnVsOmbGcgZmlsZXInLAoJJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnVGlsZsO4aiBmaWxlciB0aWwga8O4ZW4sIG9nIHRyeWsgcMOlIHN0YXJ0LicsCgknRmlsZW5hbWUnIDogJ0ZpbG5hdm4nLAoJJ1N0YXR1cycgOiAnU3RhdHVzJywKCSdTaXplJyA6ICdTdMO4cnJlbHNlJywKCSdBZGQgZmlsZXMnIDogJ1RpbGbDuGogZmlsZXInLAoJJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ1N0b3AgdXBsb2FkJywKCSdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ1N0YXJ0IHVwbG9hZCcsCgknRHJhZyBmaWxlcyBoZXJlLicgOiAnVHLDpmsgZmlsZXIgaGVyLicKfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/de.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gR2VybWFuDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdEYXRlaWVuIGhvY2hsYWRlbicsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnRGF0ZWllbiBoaW56dWYmdXVtbDtnZW4gdW5kIGF1ZiBcJ0hvY2hsYWRlblwnIGtsaWNrZW4uJywNCiAgICAnRmlsZW5hbWUnIDogJ0RhdGVpbmFtZScsDQogICAgJ1N0YXR1cycgOiAnU3RhdHVzJywNCiAgICAnU2l6ZScgOiAnR3Imb3VtbDsmc3psaWc7ZScsDQogICAgJ0FkZCBmaWxlcycgOiAnRGF0ZWllbicsIC8vIGhpbnp1ZiZ1dW1sO2dlbicsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ0FrdHVlbGxlcyBIb2NobGFkZW4gc3RvcHBlbicsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZScgOiAnSG9jaGxhZGVuIHN0YXJ0ZW4nLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICclZC8lZCBEYXRlaWVuIHNpbmQgaG9jaGdlbGFkZW4nLA0KICAgICdOL0EnIDogJ05pY2h0IHZlcmYmdXVtbDtnYmFyJywNCiAgICAnRHJhZyBmaWxlcyBoZXJlLicgOiAnWmllaGVuIFNpZSBkaWUgRGF0ZWllbiBoaWVyIGhpbicsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdGZWhsZXIgYmVpIERhdGVpZW5kdW5nJywNCiAgICAnRmlsZSBzaXplIGVycm9yLic6ICdGZWhsZXIgYmVpIERhdGVpZ3Imb3VtbDvDn2UnLA0KICAgICdJbml0IGVycm9yLic6ICdJbml0aWFsaXNpZXJ1bmdzZmVobGVyJywNCiAgICAnSFRUUCBFcnJvci4nOiAnSFRUUC1GZWhsZXInLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnU2ljaGVyaGVpdHNmZWhsZXInLA0KICAgICdHZW5lcmljIGVycm9yLic6ICdUeXBpc2NoZXIgRmVobGVyJywNCiAgICAnSU8gZXJyb3IuJzogJ0Vpbi9BdXNnYWJlLUZlaGxlcicsDQogICAgJ1N0b3AgVXBsb2FkJzogJ0hvY2hsYWRlbiBzdG9wcGVuJywNCiAgICAnU3RhcnQgdXBsb2FkJzogJ0hvY2hsYWRlbicsDQogICAgJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBEYXRlaWVuIGluIGRlciBXYXJ0ZXNjaGxhbmdlJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/es.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gU3BhbmlzaA0KcGx1cGxvYWQuYWRkSTE4bih7DQoJJ1NlbGVjdCBmaWxlcycgOiAnRWxpamEgYXJjaGl2b3M6JywNCgknQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdBZ3JlZ3VlIGFyY2hpdm9zIGEgbGEgY29sYSBkZSBzdWJpZGEgeSBoYWdhIGNsaWNrIGVuIGVsIGJvdG9uIGRlIGluaWNpYXIuJywNCgknRmlsZW5hbWUnIDogJ05vbWJyZSBkZSBhcmNoaXZvJywNCgknU3RhdHVzJyA6ICdFc3RhZG8nLA0KCSdTaXplJyA6ICdUYW1hJm50aWxkZTtvJywNCgknQWRkIGZpbGVzJyA6ICdBZ3JlZ3VlIGFyY2hpdm9zJywNCgknU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnRGV0ZW5lciBzdWJpZGEgYWN0dWFsJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdJbmljaWFyIHN1YmlkYSBkZSBjb2xhJywNCgknVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnU3ViaWRvcyAlZC8lZCBhcmNoaXZvcycsDQoJJ04vQScgOiAnTm8gZGlzcG9uaWJsZScsDQoJJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ0FycmFzdHJlIGFyY2hpdm9zIGFxdSZpYWN1dGU7JywNCgknRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0Vycm9yIGRlIGV4dGVuc2kmb2FjdXRlO24gZGUgYXJjaGl2by4nLA0KCSdGaWxlIHNpemUgZXJyb3IuJzogJ0Vycm9yIGRlIHRhbWEmbnRpbGRlO28gZGUgYXJjaGl2by4nLA0KCSdJbml0IGVycm9yLic6ICdFcnJvciBkZSBpbmljaWFsaXphY2kmb2FjdXRlO24uJywNCgknSFRUUCBFcnJvci4nOiAnRXJyb3IgZGUgSFRUUC4nLA0KCSdTZWN1cml0eSBlcnJvci4nOiAnRXJyb3IgZGUgc2VndXJpZGFkLicsDQoJJ0dlbmVyaWMgZXJyb3IuJzogJ0Vycm9yIGdlbiZlYWN1dGU7cmljby4nLA0KCSdJTyBlcnJvci4nOiAnRXJyb3IgZGUgZW50cmFkYS9zYWxpZGEuJywNCgknU3RvcCBVcGxvYWQnOiAnRGV0ZW5lciBTdWJpZGEuJywNCgknQWRkIEZpbGVzJzogJ0FncmVnYXIgQXJjaGl2b3MnLA0KCSdTdGFydCBVcGxvYWQnOiAnQ29tZW56YXIgU3ViaWRhLicsDQoJJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBhcmNoaXZvcyBlbiBjb2xhLicNCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/fi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLmZpIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCgknU2VsZWN0IGZpbGVzJyA6ICdWYWxpdHNlIHRpZWRvc3RvamEnLA0KCSdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ0xpc8Okw6QgdGllZG9zdG9qYSBsYXRhdXNqb25vb24gamEga2xpa2thYSBhbG9pdGEtbmFwcGlhLicsDQoJJ0ZpbGVuYW1lJyA6ICdUaWVkb3N0b25pbWknLA0KCSdTdGF0dXMnIDogJ1RpbGEnLA0KCSdTaXplJyA6ICdLb2tvJywNCgknQWRkIGZpbGVzJyA6ICdMaXPDpMOkIHRpZWRvc3RvamEnLA0KCSdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdQeXPDpHl0w6QgbnlreWluZW4gbGF0YXVzJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdBbG9pdGEgam9ub24gbGF0YXVzJywNCgknRHJhZyBmaWxlcyBoZXJlLicgOiAnUmFhaGFhIHRpZWRvc3RvdCB0w6RubmUuJywNCgknU3RhcnQgdXBsb2FkJyA6ICdBbG9pdGEgbGF0YXVzJywNCgknVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnTGFkYXR0dSAlZC8lZCB0aWVkb3N0b2EnLA0KCSdTdG9wIHVwbG9hZCc6ICdQeXPDpHl0w6QgbGF0YXVzJywNCgknU3RhcnQgdXBsb2FkJzogJ0Fsb2l0YSBsYXRhdXMnLA0KCSclZCBmaWxlcyBxdWV1ZWQnOiAnJWQgdGllZG9zdG9hIGpvbm9zc2EnLA0KCSdGaWxlOiAlcyc6ICdUaWVkb3N0bzogJXMnLA0KCSdDbG9zZSc6ICdTdWxqZScsDQoJJ1VzaW5nIHJ1bnRpbWU6ICc6ICdLw6R5dGV0w6TDpG4gYWpvbmFpa2Fpc3RhOiAnLA0KCSdGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtJzogJ1RpZWRvc3RvOiAlZiwga29rbzogJXMsIG1ha3NpbWkgdGllZG9zdG9rb2tvOiAlbScsDQoJJ1VwbG9hZCBlbGVtZW50IGFjY2VwdHMgb25seSAlZCBmaWxlKHMpIGF0IGEgdGltZS4gRXh0cmEgZmlsZXMgd2VyZSBzdHJpcHBlZC4nOiAnTGF0YXVzZWxlbWVudHRpIHNhbGxpaSBsYWRhdGEgdmFpbiAlZCB0aWVkb3N0byhhKSBrZXJyYWxsYWFuLiBZbGltw6TDpHLDpGlzZXQgdGllZG9zdG90IG9oaXRldHRpaW4uJywNCgknVXBsb2FkIFVSTCBtaWdodCBiZSB3cm9uZyBvciBkb2VzblwndCBleGlzdCc6ICdMYXRhdXMgVVJMIHNhYXR0YWEgb2xsYSB2w6TDpHJpbiB0YWkgZWkgb2xlIG9sZW1hc3NhJywNCgknRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAnVmlyaGU6IFRpZWRvc3RvIGxpaWFuIHN1dXJpOiAnLA0KCSdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ1ZpcmhlOiBLZWxwYWFtYXRvbiB0aWVkb3N0b3DDpMOkdGU6ICcsDQoJJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdUaWVkb3N0b3DDpMOkdGV2aXJoZS4nLA0KCSdGaWxlIHNpemUgZXJyb3IuJzogJ1RpZWRvc3Rva29rb3ZpcmhlLicsDQoJJ0ZpbGUgY291bnQgZXJyb3IuJzogJ1RpZWRvc3RvbGFza2VudGF2aXJoZS4nLA0KCSdJbml0IGVycm9yLic6ICdJbml0IHZpcmhlLicsDQoJJ0hUVFAgRXJyb3IuJzogJ0hUVFAgdmlyaGUuJywNCgknU2VjdXJpdHkgZXJyb3IuJzogJ1RpZXRvdHVydmF2aXJoZS4nLA0KCSdHZW5lcmljIGVycm9yLic6ICdZbGVpbmVuIHZpcmhlLicsDQoJJ0lPIGVycm9yLic6ICdJL08gdmlyaGUuJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/fr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gRnJlbmNoDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdTw6lsZWN0aW9ubmV6IGxlcyBmaWNoaWVycycsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnQWpvdXRleiBkZXMgZmljaGllcnMgw6AgbGEgZmlsZSBldCBhcHB1eWV6IHN1ciBsZSBib3V0b24gZMOpbWFycmVyLicsDQogICAgJ0ZpbGVuYW1lJyA6ICdOb20gZGUgZmljaGllcicsDQogICAgJ1N0YXR1cycgOiAnU3RhdHVzJywNCiAgICAnU2l6ZScgOiAnVGFpbGxlJywNCiAgICAnQWRkIGZpbGVzJyA6ICdBam91dGVyIEZpY2hpZXJzJywNCiAgICAnU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnQXJyw6p0ZXIgbFwnZW52b2kgZW4gY291cnMnLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ0TDqW1hcnJlciBsXCdlbnZvaScsDQogICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJyVkLyVkIGZpY2hpZXJzIGVudm95w6lzJywNCiAgICAnTi9BJyA6ICdOb24gYXBwbGljYWJsZScsDQogICAgJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ0TDqXBvc2VyIGxlcyBmaWNoaWVycyBpY2kuJywNCiAgICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0VycmV1ciBleHRlbnNpb24gZmljaGllcicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnRXJyZXVyIHRhaWxsZSBmaWNoaWVyLicsDQogICAgJ0luaXQgZXJyb3IuJzogJ0VycmV1ciBkXCdpbml0aWFsaXNhdGlvbi4nLA0KICAgICdIVFRQIEVycm9yLic6ICdFcnJldXIgSFRUUC4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnRXJyZXVyIGRlIHPDqWN1cml0w6kuJywNCiAgICAnR2VuZXJpYyBlcnJvci4nOiAnRXJyZXVyIGfDqW7DqXJpcXVlLicsDQogICAgJ0lPIGVycm9yLic6ICdFcnJldXIgRS9TLicsDQogICAgJ1N0b3AgVXBsb2FkJzogJ0FycsOqdGVyIGxlcyBlbnZvaXMuJywNCiAgICAnQWRkIEZpbGVzJzogJ0Fqb3V0ZXIgZGVzIGZpY2hpZXJzJywNCiAgICAnU3RhcnQgVXBsb2FkJzogJ0TDqW1hcnJlciBsZXMgZW52b2lzLicsDQogICAgJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBmaWNoaWVycyBlbiBhdHRlbnRlLicNCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/hr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQ3JvYXRpYW4NCnBsdXBsb2FkLmFkZEkxOG4oew0KICAgICdTZWxlY3QgZmlsZXMnOiAnSXphYmVyaXRlIGRhdG90ZWtlOicsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLic6ICdEb2RhanRlIGRhdG90ZWtlIHUgbGlzdHUgaSBrbGlrbml0ZSBVcGxvYWQuJywNCiAgICAnRmlsZW5hbWUnOiAnSW1lIGRhdG90ZWtlJywNCiAgICAnU3RhdHVzJzogJ1N0YXR1cycsDQogICAgJ1NpemUnOiAnVmVsacSNaW5hJywNCiAgICAnQWRkIGZpbGVzJzogJ0RvZGFqdGUgZGF0b3Rla2UnLA0KICAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJzogJ1phdXN0YXZpIHRyZW51dGFuIHVwbG9hZCcsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZSc6ICdQb2tyZW5pIFVwbG9hZCcsDQogICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJ1VwbG9hZGFubyAlZC8lZCBkYXRvdGVrYScsDQogICAgJ04vQSc6ICdOL0EnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJzogJ0RvdnVjaXRlIGRhdG90ZWtlIG92ZGplJywNCiAgICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0dyZcWha2EgZWtzdGVuemlqZSBkYXRvdGVrZS4nLA0KICAgICdGaWxlIHNpemUgZXJyb3IuJzogJ0dyZcWha2EgdmVsacSNaW5lIGRhdG90ZWtlLicsDQogICAgJ0luaXQgZXJyb3IuJzogJ0dyZcWha2EgaW5pY2lqYWxpemFjaWplLicsDQogICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAgZ3JlxaFrYS4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnU2lndXJub3NuYSBncmXFoWthLicsDQogICAgJ0dlbmVyaWMgZXJyb3IuJzogJ0dlbmVyacSNa2EgZ3JlxaFrYS4nLA0KICAgICdJTyBlcnJvci4nOiAnSS9PIGdyZcWha2EuJywNCiAgICAnU3RvcCBVcGxvYWQnOiAnWmF1c3RhdmkgdXBsb2FkLicsDQogICAgJ0FkZCBGaWxlcyc6ICdEb2RhaiBkYXRvdGVrZScsDQogICAgJ1N0YXJ0IFVwbG9hZCc6ICdQb2tyZW5pIHVwbG9hZC4nLA0KICAgICclZCBmaWxlcyBxdWV1ZWQnOiAnJWQgZGF0b3Rla2EgbmEgxI1la2FuanUuJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/hu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gSHVuZ2FyaWFuDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdGw6FqbG9rIGtpdsOhbGFzenTDoXNhJywNCiAgICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdWw6FsYXN6ZCBraSBhIGbDoWpsb2thdCwgbWFqZCBrYXR0aW50cyBheiBJbmTDrXTDoXMgZ29tYnJhLicsDQogICAgJ0ZpbGVuYW1lJyA6ICdGw6FqbG7DqXYnLA0KICAgICdTdGF0dXMnIDogJ8OBbGxhcG90JywNCiAgICAnU2l6ZScgOiAnTcOpcmV0JywNCiAgICAnQWRkIGZpbGVzJyA6ICdIb3p6w6FhZMOhcycsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ0plbGVubGVnaSBmZWx0w7ZsdMOpcyBtZWdzemFrw610w6FzYScsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZScgOiAnVsOhcmFrb3rDoXNpIHNvciBmZWx0w7ZsdMOpc8OpbmVrIGluZMOtdMOhc2EnLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICdGZWx0w7ZsdMO2dHQgZsOhamxvazogJWQvJWQnLA0KICAgICdOL0EnOiAnTmVtIGVsw6lyaGV0xZEnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdIw7p6ZCBpZGUgYSBmw6FqbG9rYXQuJywNCiAgICAnU3RvcCB1cGxvYWQnOiAnRmVsdMO2bHTDqXMgbWVnc3pha8OtdMOhc2EnLA0KICAgICdTdGFydCB1cGxvYWQnOiAnSW5kw610w6FzJywNCiAgICAnJWQgZmlsZXMgcXVldWVkJzogJyVkIGbDoWpsIHNvcmJhw6FsbMOtdHZhJywNCiAgICAnRmlsZTogJXMnOiAnRsOhamw6ICVzJywNCiAgICAnQ2xvc2UnOiAnQmV6w6Fyw6FzJywNCiAgICAnVXNpbmcgcnVudGltZTogJzogJ0hhc3puw6FsdCBydW50aW1lOiAnLA0KICAgICdGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtJzogJ0bDoWpsOiAlZiwgbcOpcmV0OiAlcywgbWF4aW3DoWxpcyBmw6FqbG3DqXJldDogJW0nLA0KICAgICdVcGxvYWQgZWxlbWVudCBhY2NlcHRzIG9ubHkgJWQgZmlsZShzKSBhdCBhIHRpbWUuIEV4dHJhIGZpbGVzIHdlcmUgc3RyaXBwZWQuJzogJ0EgZmVsdMO2bHTDqXMgZWd5c3plcnJlIGNzYWsgJWQgZsOhamx0IGZvZ2FkIGVsLCBhIHTDtmJiaSBmw6FqbCBuZW0gbGVzeiBmZWx0w7ZsdHZlLicsDQogICAgJ1VwbG9hZCBVUkwgbWlnaHQgYmUgd3Jvbmcgb3IgZG9lc25cJ3QgZXhpc3QnOiAnQSBtZWdhZG90dCBVUkwgaGliw6FzIHZhZ3kgbmVtIGzDqXRlemlrJywNCiAgICAnRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAnSGliYTogQSBmw6FqbCB0w7psIG5hZ3k6ICcsDQogICAgJ0Vycm9yOiBJbnZhbGlkIGZpbGUgZXh0ZW5zaW9uOiAnOiAnSGliYTogw4lydsOpbnl0ZWxlbiBmw6FqbGtpdGVyamVzenTDqXM6ICcsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdIaWLDoXMgZsOhamxraXRlcmplc3p0w6lzLicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnSGliw6FzIGbDoWpsbcOpcmV0LicsDQogICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ0EgZsOhamxvayBzesOhbcOhdmFsIGthcGNzb2xhdG9zIGhpYmEuJywNCiAgICAnSW5pdCBlcnJvci4nOiAnSW5pdCBoaWJhLicsDQogICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAgaGliYS4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnQml6dG9uc8OhZ2kgaGliYS4nLA0KICAgICdHZW5lcmljIGVycm9yLic6ICfDgWx0YWzDoW5vcyBoaWJhLicsDQogICAgJ0lPIGVycm9yLic6ICdJL08gaGliYS4nDQp9KTsNCg==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/it.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gSXRhbGlhbg0KcGx1cGxvYWQuYWRkSTE4bih7DQogICAgJ1NlbGVjdCBmaWxlcycgOiAnU2VsZXppb25hIGkgZmlsZXMnLA0KICAgICdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ0FnZ2l1bmdpIGkgZmlsZSBhbGxhIGNvZGEgZGkgY2FyaWNhbWVudG8gZSBjbGljY2EgaWwgcHVsc2FudGUgZGkgYXZ2aW8uJywNCiAgICAnRmlsZW5hbWUnIDogJ05vbWUgZmlsZScsDQogICAgJ1N0YXR1cycgOiAnU3RhdG8nLA0KICAgICdTaXplJyA6ICdEaW1lbnNpb25lJywNCiAgICAnQWRkIEZpbGVzJyA6ICdBZ2dpdW5naSBmaWxlJywNCiAgICAnU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnSW50ZXJyb21waSBpbCBjYXJpY2FtZW50bycsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZScgOiAnQXZ2aWEgaWwgY2FyaWNhbWVudG8nLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICdDYXJpY2F0aSAlZC8lZCBmaWxlJywNCiAgICAnTi9BJyA6ICdOL0QnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdUcmFzY2luYSBpIGZpbGUgcXVpLicsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdFcnJvcmUgZXN0ZW5zaW9uZSBmaWxlLicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnRXJyb3JlIGRpbWVuc2lvbmUgZmlsZS4nLA0KICAgICdJbml0IGVycm9yLic6ICdFcnJvcmUgaW5pemlhbGl6emF6aW9uZS4nLA0KICAgICdIVFRQIEVycm9yLic6ICdFcnJvcmUgSFRUUC4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnRXJyb3JlIHNpY3VyZXp6YS4nLA0KICAgICdHZW5lcmljIGVycm9yLic6ICdFcnJvcmUgZ2VuZXJpY28uJywNCiAgICAnSU8gZXJyb3IuJzogJ0Vycm9yZSBJTy4nLA0KCSdTdG9wIFVwbG9hZCc6ICdGZXJtYSBVcGxvYWQnLA0KCSdTdGFydCBVcGxvYWQnOiAnSW5pemlhIFVwbG9hZCcsDQoJJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBmaWxlIGluIGxpc3RhJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/ja.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gSmFwYW5lc2UKcGx1cGxvYWQuYWRkSTE4bih7CiAgICdTZWxlY3QgZmlsZXMnIDogJ+ODleOCoeOCpOODq+mBuOaKnicsCiAgICdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ+ODleOCoeOCpOODq+OCkuOCouODg+ODl+ODreODvOODieOCreODpeODvOOBq+i/veWKoOOBl+OBpuOCueOCv+ODvOODiOODnOOCv+ODs+OCkuOCr+ODquODg+OCr+OBl+OBpuOBj+OBoOOBleOBhCcsCiAgICdGaWxlbmFtZScgOiAn44OV44Kh44Kk44Or5ZCNJywKICAgJ1N0YXR1cycgOiAn44K544OG44O844K/44K5JywKICAgJ1NpemUnIDogJ+OCteOCpOOCuicsCiAgICdBZGQgRmlsZXMnIDogJ+ODleOCoeOCpOODq+OCkui/veWKoCcsCiAgICdTdG9wIFVwbG9hZCcgOiAn44Ki44OD44OX44Ot44O844OJ5YGc5q2iJywKICAgJ1N0YXJ0IFVwbG9hZCcgOiAn44Ki44OD44OX44Ot44O844OJJywKICAgJ0FkZCBmaWxlcycgOiAn44OV44Kh44Kk44Or44KS6L+95YqgJywKICAgJ0FkZCBmaWxlcy4nIDogJ+ODleOCoeOCpOODq+OCkui/veWKoCcsCiAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICfnj77lnKjjga7jgqLjg4Pjg5fjg63jg7zjg4njgpLlgZzmraInLAogICAnU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICfjgqLjg4Pjg5fjg63jg7zjg4knLAogICAnU3RvcCB1cGxvYWQnIDogJ+OCouODg+ODl+ODreODvOODieWBnOatoicsCiAgICdTdGFydCB1cGxvYWQnIDogJ+OCouODg+ODl+ODreODvOODiScsCiAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICfjgqLjg4Pjg5fjg63jg7zjg4nkuK0gJWQvJWQg44OV44Kh44Kk44OrJywKICAgJ04vQScgOiAnTi9BJywKICAgJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ+OBk+OBk+OBq+ODleOCoeOCpOODq+OCkuODieODqeODg+OCsCcsCiAgICdGaWxlIGV4dGVuc2lvbiBlcnJvci4nOiAn44OV44Kh44Kk44Or5ouh5by15a2Q44Ko44Op44O8JywKICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAn44OV44Kh44Kk44Or44K144Kk44K644Ko44Op44O8JywKICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ+ODleOCoeOCpOODq+aVsOOCqOODqeODvCcsCiAgICdJbml0IGVycm9yLic6ICfjgqTjg4vjgrfjg6Pjg6njgqTjgrrjgqjjg6njg7wnLAogICAnSFRUUCBFcnJvci4nOiAnSFRUUCDjgqjjg6njg7wnLAogICAnU2VjdXJpdHkgZXJyb3IuJzogJ+OCu+OCreODpeODquODhuOCo+OCqOODqeODvCcsCiAgICdHZW5lcmljIGVycm9yLic6ICfjgqjjg6njg7wnLAogICAnSU8gZXJyb3IuJzogJ0lPIOOCqOODqeODvCcsCiAgICdGaWxlOiAlcyc6ICfjg5XjgqHjgqTjg6s6ICVzJywKICAgJ0Nsb3NlJzogJ+mWieOBmOOCiycsCiAgICclZCBmaWxlcyBxdWV1ZWQnOiAnJWQg44OV44Kh44Kk44Or44GM6L+95Yqg44GV44KM44G+44GX44GfJywKICAgJ1VzaW5nIHJ1bnRpbWU6ICc6ICfjg6Ljg7zjg4k6ICcsCiAgICdGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtJzogJ+ODleOCoeOCpOODqzogJWYsIOOCteOCpOOCujogJXMsIOacgOWkp+ODleOCoeOCpOODq+OCteOCpOOCujogJW0nLAogICAnVXBsb2FkIGVsZW1lbnQgYWNjZXB0cyBvbmx5ICVkIGZpbGUocykgYXQgYSB0aW1lLiBFeHRyYSBmaWxlcyB3ZXJlIHN0cmlwcGVkLic6ICfjgqLjg4Pjg5fjg63jg7zjg4nlj6/og73jgarjg5XjgqHjgqTjg6vmlbDjga8gJWQg44Gn44GZ44CC5L2Z5YiG44Gq44OV44Kh44Kk44Or44Gv5YmK6Zmk44GV44KM44G+44GX44GfJywKICAgJ1VwbG9hZCBVUkwgbWlnaHQgYmUgd3Jvbmcgb3IgZG9lc25cJ3QgZXhpc3QnOiAn44Ki44OD44OX44Ot44O844OJ5YWI44GuIFVSTCDjgYzlrZjlnKjjgZfjgb7jgZvjgpMnLAogICAnRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAn44Ko44Op44O8OiDjgrXjgqTjgrrjgYzlpKfjgY3jgZnjgY7jgb7jgZk6ICcsCiAgICdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ+OCqOODqeODvDog5ouh5by15a2Q44GM6Kix5Y+v44GV44KM44Gm44GE44G+44Gb44KTOiAnCn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/lv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLmx2IGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdJenbEk2xpZXRpZXMgZmFpbHVzJywNCiAgICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdQaWV2ZWlub2ppZXQgZmFpbHVzIHJpbmRhaSB1biBrbGlrxaHEt2luaWV0IHV6ICJTxIFrdCBhdWfFoXVwaWVsxIFkaSIgcG9nYXMuJywNCiAgICAnRmlsZW5hbWUnIDogJ0ZhaWxhIG5vc2F1a3VtcycsDQogICAgJ1N0YXR1cycgOiAnU3RhdHVzcycsDQogICAgJ1NpemUnIDogJ0l6bcSTcnMnLA0KICAgICdBZGQgZmlsZXMnIDogJ1BpZXZpZW5vdCBmYWlsdXMnLA0KICAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdBcHR1csSTdCBwYcWhcmVpesSTam8gYXVnxaF1cGllbMSBZGknLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ1PEgWt0IGF1Z8WhdXBpZWzEgWRpJywNCiAgICAnRHJhZyBmaWxlcyBoZXJlLicgOiAnSWV2ZWxjaWV0IGZhaWx1cyDFoWVpdCcsDQogICAgJ1N0YXJ0IHVwbG9hZCcgOiAnU8SBa3QgYXVnxaF1cGllbMSBZGknLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICdBdWfFoXVwaWVsxIFkxJN0aSAlZC8lZCBmYWlsaScsDQogICAgJ1N0b3AgdXBsb2FkJzogJ1DEgXJ0cmF1a3QgYXVnxaF1cGllbMSBZGknLA0KICAgICdTdGFydCB1cGxvYWQnOiAnU8SBa3QgYXVnxaF1cGllbMSBZGknLA0KICAgICclZCBmaWxlcyBxdWV1ZWQnOiAnJWQgZmFpbGkgcGlldmllbm90aSByaW5kYWknLA0KICAgICdGaWxlOiAlcyc6ICdGYWlsczogJXMnLA0KICAgICdDbG9zZSc6ICdBaXp2xJNydCcsDQogICAgJ1VzaW5nIHJ1bnRpbWU6ICc6ICdMaWV0byBzYXNrYXJuaTogJywNCiAgICAnRmlsZTogJWYsIHNpemU6ICVzLCBtYXggZmlsZSBzaXplOiAlbSc6ICdGYWlsczogJWYsIGl6bcSTcnM6ICVzLCBtYWtzaW3EgWxhaXMgZmFpbGEgaXptxJNyczogJW0nLA0KICAgICdVcGxvYWQgZWxlbWVudCBhY2NlcHRzIG9ubHkgJWQgZmlsZShzKSBhdCBhIHRpbWUuIEV4dHJhIGZpbGVzIHdlcmUgc3RyaXBwZWQuJzogJ0llc3DEk2phbXMgaWVsxIFkxJN0IHRpa2FpICVkIGZhaWx1cyB2aWVuxIEgcmVpesSTLiBBdGxpa3XFoWllIGZhaWxpIG5ldGlrYSBwaWV2aWVub3RpJywNCiAgICAnVXBsb2FkIFVSTCBtaWdodCBiZSB3cm9uZyBvciBkb2VzblwndCBleGlzdCc6ICdBdWfFoXVwaWVsxIFkZXMgVVJMIHZhcsSTdHUgYsWrdCBuZXBhcmVpenMgdmFpIG5lZWtzaXN0xJMnLA0KICAgICdFcnJvcjogRmlsZSB0b28gbGFyZ2U6ICc6ICdLxLzFq2RhOiBGYWlscyBwxIFyxIFrIGxpZWxzOiAnLA0KICAgICdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ0vEvMWrZGE6IE5la29yZWt0cyBmYWlsYSBwYXBsYcWhaW7EgWp1bXM6JywNCiAgICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0ZhaWxhIHBhcGxhxaFpbsSBanVtYSBrxLzFq2RhLicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnRmFpbGEgaXptxJNyYSBrxLzFq2RhLicsDQogICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ0ZhaWx1IHNrYWl0YSBrxLzFq2RhJywNCiAgICAnSW5pdCBlcnJvci4nOiAnSW5pY2lhbGl6xIFjaWphcyBrxLzFq2RhLicsDQogICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAga8S8xatkYS4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnRHJvxaHEq2JhcyBrxLzFq2RhLicsDQogICAgJ0dlbmVyaWMgZXJyb3IuJzogJ1Zpc3DEgXLEk2phIHJha3N0dXJhIGvEvMWrZGEuJywNCiAgICAnSU8gZXJyb3IuJzogJ0lldmFkZXMvSXp2YWRlcyBrxLzFq2RhLicNCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/nl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gRHV0Y2gNCnBsdXBsb2FkLmFkZEkxOG4oew0KICAgJ1NlbGVjdCBmaWxlcycgOiAnU2VsZWN0ZWVyIGJlc3RhbmQoZW4pOicsDQogICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdWb2VnIGJlc3RhbmRlbiB0b2UgYWFuIGRlIHdhY2h0cmlqIGVuIGRydWsgb3AgXCdTdGFydFwnLicsDQogICAnRmlsZW5hbWUnIDogJ0Jlc3RhbmRzbmFhbScsDQogICAnU3RhdHVzJyA6ICdTdGF0dXMnLA0KICAgJ1NpemUnIDogJ0dyb290dGUnLA0KICAgJ0FkZCBmaWxlcycgOiAnVm9lZyBiZXN0YW5kZW4gdG9lJywNCiAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdTdG9wIHVwbG9hZCcsDQogICAnU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdTdGFydCB1cGxvYWQnLA0KICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJyVkLyVkIGJlc3RhbmRlbiBnZS11cGxvYWQnLA0KICAgJ04vQScgOiAnTmlldCBiZXNjaGlrYmFhcicsDQogICAnRHJhZyBmaWxlcyBoZXJlLicgOiAnU2xlZXAgYmVzdGFuZGVuIGhpZXJoZWVuLicsDQogICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ09uZ2VsZGlnIGJlc3RhbmRzdHlwZS4nLA0KICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnQmVzdGFuZHNncm9vdHRlIEVycm9yLicsDQogICAnSW5pdCBlcnJvci4nOiAnSW5pdGlhbGlzYXRpZSBlcnJvci4nLA0KICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAgRXJyb3IuJywNCiAgICdTZWN1cml0eSBlcnJvci4nOiAnQmV2ZWlsaWdpbmcgZXJyb3IuJywNCiAgICdHZW5lcmljIGVycm9yLic6ICdPbmJla2VuZGUgZXJyb3IuJywNCiAgICdJTyBlcnJvci4nOiAnSU8gZXJyb3IuJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/pt-br.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQnJhemlsaWFuIFBvcnR1Z3Vlc2UKcGx1cGxvYWQuYWRkSTE4bih7CiAgICdTZWxlY3QgZmlsZXMnIDogJ0VzY29saGEgb3MgYXJxdWl2b3MnLAogICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdBZGljaW9uZSBvcyBhcnF1aXZvcyBhYmFpeG8gZSBjbGlxdWUgbm8gYm90w6NvICJJbmljaWFyIG8gZW52aW8iLicsCiAgICdGaWxlbmFtZScgOiAnTm9tZSBkbyBhcnF1aXZvJywKICAgJ1N0YXR1cycgOiAnU3RhdHVzJywKICAgJ1NpemUnIDogJ1RhbWFuaG8nLAogICAnQWRkIEZpbGVzJyA6ICdBZGljaW9uYXIgYXJxdWl2byhzKScsCiAgICdTdG9wIFVwbG9hZCcgOiAnUGFyYXIgbyBlbnZpbycsCiAgICdTdGFydCBVcGxvYWQnIDogJ0luaWNpYXIgbyBlbnZpbycsCiAgICdBZGQgZmlsZXMnIDogJ0FkaWNpb25hciBhcnF1aXZvKHMpJywKICAgJ0FkZCBmaWxlcy4nIDogJ0FkaWNpb25hciBhcnF1aXZvKHMpJywKICAgJ1N0b3AgdXBsb2FkJyA6ICdQYXJhciBvIGVudmlvJywKICAgJ1N0YXJ0IHVwbG9hZCcgOiAnSW5pY2lhciBvIGVudmlvJywKICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJ0VudmlhZG8ocykgJWQvJWQgYXJxdWl2byhzKScsCiAgICdOL0EnIDogJ04vRCcsCiAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdBcnJhc3RlIG9zIGFycXVpdm9zIHByYSBjw6EnLAogICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ1RpcG8gZGUgYXJxdWl2byBuw6NvIHBlcm1pdGlkby4nLAogICAnRmlsZSBzaXplIGVycm9yLic6ICdUYW1hbmhvIGRlIGFycXVpdm8gbsOjbyBwZXJtaXRpZG8uJywKICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ0Vycm8gbmEgY29udGFnZW0gZG9zIGFycXVpdm9zJywKICAgJ0luaXQgZXJyb3IuJzogJ0Vycm8gaW5pY2lhbGl6YW5kby4nLAogICAnSFRUUCBFcnJvci4nOiAnRXJybyBIVFRQLicsCiAgICdTZWN1cml0eSBlcnJvci4nOiAnRXJybyBkZSBzZWd1cmFuw6dhLicsCiAgICdHZW5lcmljIGVycm9yLic6ICdFcnJvIGdlbsOpcmljby4nLAogICAnSU8gZXJyb3IuJzogJ0Vycm8gZGUgRS9TLicsCiAgICdGaWxlOiAlcyc6ICdBcnF1aXZvOiAlcycsCiAgICdDbG9zZSc6ICdGZWNoYXInLAogICAnJWQgZmlsZXMgcXVldWVkJzogJyVkIGFycXVpdm8ocyknLAogICAnVXNpbmcgcnVudGltZTogJzogJ1VzYW5kbzogJywKICAgJ0ZpbGU6ICVmLCBzaXplOiAlcywgbWF4IGZpbGUgc2l6ZTogJW0nOiAnQXJxdWl2bzogJWYsIHRhbWFuaG86ICVzLCBtw6F4aW1vOiAlbScsCiAgICdVcGxvYWQgZWxlbWVudCBhY2NlcHRzIG9ubHkgJWQgZmlsZShzKSBhdCBhIHRpbWUuIEV4dHJhIGZpbGVzIHdlcmUgc3RyaXBwZWQuJzogJ1PDsyBzw6NvIGFjZWl0b3MgJWQgYXJxdWl2b3MgcG9yIHZlei4gTyBxdWUgcGFzc291IGRpc3NvIGZvaSBkZXNjYXJ0YWRvLicsCiAgICdVcGxvYWQgVVJMIG1pZ2h0IGJlIHdyb25nIG9yIGRvZXNuXCd0IGV4aXN0JzogJ1VSTCBkZSBlbnZpbyBlc3TDoSBlcnJhZGEgb3UgbsOjbyBleGlzdGUnLAogICAnRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAnRXJybzogQXJxdWl2byBtdWl0byBncmFuZGU6ICcsCiAgICdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ0Vycm86IFRpcG8gZGUgYXJxdWl2byBuw6NvIHBlcm1pdGlkbzogJwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/ro.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gUm9tYW5pYW4NCnBsdXBsb2FkLmFkZEkxOG4oew0KICAgICdTZWxlY3QgZmlsZXMnIDogJ1NlbGVjdGFyZSBmacWfaWVyZScsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnQWRhdWfEgyBmacWfaWVyZSDDrm4gbGlzdGEgYXBvaSBhcGFzxIMgYnV0b251bCBcJ8OObmNlcGUgw65uY8SDcmNhcmVcJy4nLA0KICAgICdGaWxlbmFtZScgOiAnTnVtZSBmacWfaWVyJywNCiAgICAnU3RhdHVzJyA6ICdTdGFyZScsDQogICAgJ1NpemUnIDogJ03Eg3JpbWUnLA0KICAgICdBZGQgZmlsZXMnIDogJ0FkxIN1Z2FyZSBmacWfaWVyZScsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ8OObnRyZXJ1cGUgw65uY8SDcmNhcmVhIGN1cmVudMSDJywNCiAgICAnU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICfDjm5jZXBlIGluY8SDcmNhcmVhJywNCiAgICAnVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnRmnFn2llcmUgw65uY8SDcmNhdGUgJWQvJWQnLA0KICAgICdOL0EnIDogJ04vQScsDQogICAgJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ1RyYWdlIGFpY2kgZmnFn2llcmVsZScsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdFeHRlbnNpZSBmacWfaWVyIGVyb25hdMSDJywNCiAgICAnRmlsZSBzaXplIGVycm9yLic6ICdFcm9hcmUgZGltZW5zaXVuZSBmacWfaWVyJywNCiAgICAnSW5pdCBlcnJvci4nOiAnRXJvYXJlIGluacWjaWFsaXphcmUnLA0KICAgICdIVFRQIEVycm9yLic6ICdFcm9hcmUgSFRUUCcsDQogICAgJ1NlY3VyaXR5IGVycm9yLic6ICdFcm9hcmUgc2VjdXJpdGF0ZScsDQogICAgJ0dlbmVyaWMgZXJyb3IuJzogJ0Vyb2FyZSBnZW5lcmljxIMnLA0KICAgICdJTyBlcnJvci4nOiAnRXJvYXJlIEludHJhcmUvSWXFn2lyZScsDQogICAgJ1N0b3AgVXBsb2FkJzogJ09wcmlyZSDDrm5jxINyY2FyZScsDQogICAgJ1N0YXJ0IHVwbG9hZCc6ICfDjm5jZXBlIMOubmPEg3JjYXJlJywNCiAgICAnJWQgZmlsZXMgcXVldWVkJzogJyVkIGZpxZ9pZXJlIGxpc3RhdGUnDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/ru.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gUnVzc2lhbg0KcGx1cGxvYWQuYWRkSTE4bih7DQogICAgJ1NlbGVjdCBmaWxlcycgOiAn0JLRi9Cx0LXRgNC40YLQtSDRhNCw0LnQu9GLJywNCiAgICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICfQlNC+0LHQsNCy0YzRgtC1INGE0LDQudC70Ysg0LIg0L7Rh9C10YDQtdC00Ywg0Lgg0L3QsNC20LzQuNGC0LUg0LrQvdC+0L/QutGDICLQl9Cw0LPRgNGD0LfQuNGC0Ywg0YTQsNC50LvRiyIuJywNCiAgICAnRmlsZW5hbWUnIDogJ9CY0LzRjyDRhNCw0LnQu9CwJywNCiAgICAnU3RhdHVzJyA6ICfQodGC0LDRgtGD0YEnLA0KICAgICdTaXplJyA6ICfQoNCw0LfQvNC10YAnLA0KICAgICdBZGQgZmlsZXMnIDogJ9CU0L7QsdCw0LLQuNGC0Ywg0YTQsNC50LvRiycsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ9Ce0YHRgtCw0L3QvtCy0LjRgtGMINC30LDQs9GA0YPQt9C60YMnLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ9CX0LDQs9GA0YPQt9C40YLRjCDRhNCw0LnQu9GLJywNCiAgICAnVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAn0JfQsNCz0YDRg9C20LXQvdC+ICVkINC40LcgJWQg0YTQsNC50LvQvtCyJywNCiAgICAnTi9BJyA6ICdOL0QnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICfQn9C10YDQtdGC0LDRidC40YLQtSDRhNCw0LnQu9GLINGB0Y7QtNCwLicsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICfQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0YDQsNGB0YjQuNGA0LXQvdC40LUg0YTQsNC50LvQsC4nLA0KICAgICdGaWxlIHNpemUgZXJyb3IuJzogJ9Cd0LXQv9GA0LDQstC40LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsC4nLA0KICAgICdJbml0IGVycm9yLic6ICfQntGI0LjQsdC60LAg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguJywNCiAgICAnSFRUUCBFcnJvci4nOiAn0J7RiNC40LHQutCwIEhUVFAuJywNCiAgICAnU2VjdXJpdHkgZXJyb3IuJzogJ9Ce0YjQuNCx0LrQsCDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LguJywNCiAgICAnR2VuZXJpYyBlcnJvci4nOiAn0J7QsdGJ0LDRjyDQvtGI0LjQsdC60LAuJywNCiAgICAnSU8gZXJyb3IuJzogJ9Ce0YjQuNCx0LrQsCDQstCy0L7QtNCwLdCy0YvQstC+0LTQsC4nDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/sr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/Ly8gU2VyYmlhbg0KcGx1cGxvYWQuYWRkSTE4bih7DQogICAgJ1NlbGVjdCBmaWxlcycgOiAnSXphYmVyaXRlIGZhamxvdmUnLA0KICAgICdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ0RvZGFqdGUgZmFqbG92ZSB1IGxpc3R1IGkga2xpa25pdGUgbmEgZHVnbWUgU3RhcnQuJywNCiAgICAnRmlsZW5hbWUnIDogJ05heml2IGZhamxhJywNCiAgICAnU3RhdHVzJyA6ICdTdGF0dXMnLA0KICAgICdTaXplJyA6ICdWZWxpxI1pbmEnLA0KICAgICdBZGQgRmlsZXMnIDogJ0RvZGFqIGZhamxvdmUnLA0KICAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdaYXVzdGF2aSB1cGxvYWQnLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ1BvxI1uaSB1cGxvYWQnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdQcmV2dWNpdGUgZmFqbG92ZSBvdmRlLicsDQogICAgJ1N0YXJ0IFVwbG9hZCc6ICdQb8SNbmkgdXBsb2FkJywNCiAgICAnVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnU25pbWxqZW5vICVkLyVkIGZhamxvdmEnDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/sv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/Ly8gLnBvIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCgknU2VsZWN0IGZpbGVzJyA6ICdWw6RsaiBmaWxlcicsDQoJJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnTMOkZ2cgdGlsbCBmaWxlciB0aWxsIGvDtm4gb2NoIHRyeWNrIHDDpSBzdGFydC4nLA0KCSdGaWxlbmFtZScgOiAnRmlsbmFtbicsDQoJJ1N0YXR1cycgOiAnU3RhdHVzJywNCgknU2l6ZScgOiAnU3RvcmxlaycsDQoJJ0FkZCBmaWxlcycgOiAnTMOkZ2cgdGlsbCBmaWxlcicsDQoJJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ1N0b3BwYSB1cHBsYWRkbmluZ2VuJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdTdGFydGEgdXBwbGFkZG5pbmdlbicsDQoJJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ0RyYSBmaWxlciBoaXQnDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogDQogICBQbHVwbG9hZA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQoucGx1cGxvYWRfYnV0dG9uIHsNCglkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7IC8qIEZGIDwgMyovDQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCWZvbnQ6IG5vcm1hbCAxMnB4IHNhbnMtc2VyaWY7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGNvbG9yOiAjNDI0NTRhOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYWJhYmE7DQogICAgcGFkZGluZzogMnB4IDhweCAzcHggMjBweDsNCgltYXJnaW4tcmlnaHQ6IDRweDsNCiAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzIHVybCgnLi4vaW1nL2J1dHRvbnMucG5nJykgbm8tcmVwZWF0IDAgY2VudGVyOw0KCW91dGxpbmU6IDA7DQoNCiAgICAvKiBPcHRpb25hbCByb3VuZGVkIGNvcm5lcnMgZm9yIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdCAqLw0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KfQ0KDQoucGx1cGxvYWRfYnV0dG9uOmhvdmVyIHsNCgljb2xvcjogIzAwMDsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi5wbHVwbG9hZF9kaXNhYmxlZCwgYS5wbHVwbG9hZF9kaXNhYmxlZDpob3ZlciB7DQogICAgY29sb3I6ICM3MzczNzM7DQogICAgYm9yZGVyLWNvbG9yOiAjYzVjNWM1Ow0KICAgIGJhY2tncm91bmQ6ICNlZGVkZWQgdXJsKCcuLi9pbWcvYnV0dG9ucy1kaXNhYmxlZC5wbmcnKSBuby1yZXBlYXQgMCBjZW50ZXI7DQoJY3Vyc29yOiBkZWZhdWx0Ow0KfQ0KDQoucGx1cGxvYWRfYWRkIHsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgxcHggY2VudGVyOw0KfQ0KDQoucGx1cGxvYWRfd3JhcHBlciB7DQoJZm9udDogbm9ybWFsIDExcHggVmVyZGFuYSxzYW5zLXNlcmlmOw0KCXdpZHRoOiAxMDAlOw0KfQ0KDQoucGx1cGxvYWRfY29udGFpbmVyIHsNCglwYWRkaW5nOiA4cHg7DQoJYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvdHJhbnNwNTAucG5nJyk7DQoJLyotbW96LWJvcmRlci1yYWRpdXM6IDVweDsqLw0KfQ0KDQoucGx1cGxvYWRfY29udGFpbmVyIGlucHV0IHsNCglib3JkZXI6IDFweCBzb2xpZCAjREREOw0KCWZvbnQ6IG5vcm1hbCAxMXB4IFZlcmRhbmEsc2Fucy1zZXJpZjsNCgl3aWR0aDogOTglOw0KfQ0KDQoucGx1cGxvYWRfaGVhZGVyIHtiYWNrZ3JvdW5kOiAjMkEyQzJFIHVybCgnLi4vaW1nL2JhY2tncm91bmRzLmdpZicpIHJlcGVhdC14O30NCi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCB7DQoJYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYmFja2dyb3VuZHMuZ2lmJykgbm8tcmVwZWF0IDAgLTMxN3B4Ow0KCW1pbi1oZWlnaHQ6IDU2cHg7DQoJcGFkZGluZy1sZWZ0OiA2MHB4Ow0KCWNvbG9yOiAjRkZGOw0KfQ0KLnBsdXBsb2FkX2hlYWRlcl90aXRsZSB7DQoJZm9udDogbm9ybWFsIDE4cHggc2Fucy1zZXJpZjsNCglwYWRkaW5nOiA2cHggMCAzcHg7DQp9DQoucGx1cGxvYWRfaGVhZGVyX3RleHQgew0KCWZvbnQ6IG5vcm1hbCAxMnB4IHNhbnMtc2VyaWY7DQp9DQoNCi5wbHVwbG9hZF9maWxlbGlzdCB7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQoJbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLnBsdXBsb2FkX3Njcm9sbCAucGx1cGxvYWRfZmlsZWxpc3Qgew0KCWhlaWdodDogMTg1cHg7DQoJYmFja2dyb3VuZDogI0Y1RjVGNTsNCglvdmVyZmxvdy15OiBzY3JvbGw7DQp9DQoNCi5wbHVwbG9hZF9maWxlbGlzdCBsaSB7DQoJcGFkZGluZzogMTBweCA4cHg7DQoJYmFja2dyb3VuZDogI0Y1RjVGNSB1cmwoJy4uL2ltZy9iYWNrZ3JvdW5kcy5naWYnKSByZXBlYXQteCAwIC0xNTZweDsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERDsNCn0NCg0KLnBsdXBsb2FkX2ZpbGVsaXN0X2hlYWRlciwgLnBsdXBsb2FkX2ZpbGVsaXN0X2Zvb3RlciB7DQoJYmFja2dyb3VuZDogI0RGREZERjsNCglwYWRkaW5nOiA4cHggOHB4Ow0KCWNvbG9yOiAjNDI0NTRBOw0KfQ0KLnBsdXBsb2FkX2ZpbGVsaXN0X2hlYWRlciB7CQ0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjRUVFOw0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0RDRENEOw0KfQ0KDQoucGx1cGxvYWRfZmlsZWxpc3RfZm9vdGVyIHtib3JkZXItdG9wOiAxcHggc29saWQgI0ZGRjsgaGVpZ2h0OiAyMnB4OyBsaW5lLWhlaWdodDogMjBweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTt9DQoucGx1cGxvYWRfZmlsZV9uYW1lIHtmbG9hdDogbGVmdDsgb3ZlcmZsb3c6IGhpZGRlbn0NCi5wbHVwbG9hZF9maWxlX3N0YXR1cyB7Y29sb3I6ICM3Nzc7fQ0KLnBsdXBsb2FkX2ZpbGVfc3RhdHVzIHNwYW4ge2NvbG9yOiAjNDI0NTRBO30NCi5wbHVwbG9hZF9maWxlX3NpemUsIC5wbHVwbG9hZF9maWxlX3N0YXR1cywgLnBsdXBsb2FkX3Byb2dyZXNzIHsNCglmbG9hdDogcmlnaHQ7DQoJd2lkdGg6IDgwcHg7DQp9DQoucGx1cGxvYWRfZmlsZV9zaXplLCAucGx1cGxvYWRfZmlsZV9zdGF0dXMsIC5wbHVwbG9hZF9maWxlX2FjdGlvbiB7dGV4dC1hbGlnbjogcmlnaHQ7fQ0KDQoucGx1cGxvYWRfZmlsZWxpc3QgLnBsdXBsb2FkX2ZpbGVfbmFtZSB7d2lkdGg6IDIwNXB4fQ0KDQoucGx1cGxvYWRfZmlsZV9hY3Rpb24gew0KCWZsb2F0OiByaWdodDsNCgl3aWR0aDogMTZweDsNCgloZWlnaHQ6IDE2cHg7DQoJbWFyZ2luLWxlZnQ6IDE1cHg7DQp9DQoNCi5wbHVwbG9hZF9maWxlX2FjdGlvbiAqIHsNCglkaXNwbGF5OiBub25lOw0KCXdpZHRoOiAxNnB4Ow0KCWhlaWdodDogMTZweDsNCn0NCg0KbGkucGx1cGxvYWRfdXBsb2FkaW5nIHtiYWNrZ3JvdW5kOiAjRUNGM0RDIHVybCgnLi4vaW1nL2JhY2tncm91bmRzLmdpZicpIHJlcGVhdC14IDAgLTIzOHB4O30NCmxpLnBsdXBsb2FkX2RvbmUge2NvbG9yOiNBQUF9DQoNCmxpLnBsdXBsb2FkX2RlbGV0ZSBhIHsNCgliYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9kZWxldGUuZ2lmJyk7DQp9DQoNCmxpLnBsdXBsb2FkX2ZhaWxlZCBhIHsNCgliYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9lcnJvci5naWYnKTsNCgljdXJzb3I6IGRlZmF1bHQ7DQp9DQoNCmxpLnBsdXBsb2FkX2RvbmUgYSB7DQoJYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvZG9uZS5naWYnKTsNCgljdXJzb3I6IGRlZmF1bHQ7DQp9DQoNCi5wbHVwbG9hZF9wcm9ncmVzcywgLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMgew0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCi5wbHVwbG9hZF9wcm9ncmVzc19jb250YWluZXIgew0KCW1hcmdpbi10b3A6IDNweDsNCglib3JkZXI6IDFweCBzb2xpZCAjQ0NDOw0KCWJhY2tncm91bmQ6ICNGRkY7DQoJcGFkZGluZzogMXB4Ow0KfQ0KLnBsdXBsb2FkX3Byb2dyZXNzX2JhciB7DQoJd2lkdGg6IDBweDsNCgloZWlnaHQ6IDdweDsNCgliYWNrZ3JvdW5kOiAjQ0RFQjhCOw0KfQ0KDQoucGx1cGxvYWRfc2Nyb2xsIC5wbHVwbG9hZF9maWxlbGlzdF9oZWFkZXIgLnBsdXBsb2FkX2ZpbGVfYWN0aW9uLCAucGx1cGxvYWRfc2Nyb2xsIC5wbHVwbG9hZF9maWxlbGlzdF9mb290ZXIgLnBsdXBsb2FkX2ZpbGVfYWN0aW9uIHsNCgltYXJnaW4tcmlnaHQ6IDE3cHg7DQp9DQoNCi8qIEZsb2F0cyAqLw0KDQoucGx1cGxvYWRfY2xlYXIsLnBsdXBsb2FkX2NsZWFyZXIge2NsZWFyOiBib3RoO30NCi5wbHVwbG9hZF9jbGVhcmVyLCAucGx1cGxvYWRfcHJvZ3Jlc3NfYmFyIHsNCglkaXNwbGF5OiBibG9jazsNCglmb250LXNpemU6IDA7DQoJbGluZS1oZWlnaHQ6IDA7CQ0KfQ0KDQpsaS5wbHVwbG9hZF9kcm9wdGV4dCB7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQoJYm9yZGVyOiAwOw0KCWxpbmUtaGVpZ2h0OiAxNjVweDsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/backgrounds.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhUABtAffCAGFkaP7+/vb29v///+zz3O713vz8/Pj4+P39/fn5+fX19fv7+/f+5/X85fD34Pr6+u303ff39/H44e/23zQ3OjY4Ozc6PTg7Pjo8QDs+QT1ARDw/Qz5BRT9CRkFESEJFSkFFSSosLvT75PL64/b95kRHS/j/6Pb+5y4xM/j+6fT85fP75DM1OPL54vP64/X95jAyNSstMDE0Ny0vMkVITENGS/f/6F5hZV9iZtPU1WFjZ2BiZl1hZF1gY1xeYllcX1tdYVhbXVpcYFdZXFZYW1VXWtLT1FRWWEZKTtjY2Y6Qk3h7flhbX9PT1OLi41VZXW9xdfPz811gZGdqbuvs7I+RlJaXmpyen4KFiKOkpYmLjjs9QFRXW7i5u9bX2IOGid7f4OTl5uHi4+jo6EhMUNLT09TV1klNUdHS09LS009TV+7u7tna29vc3evr66KjpVteYvHx8amqq5qcn1tfY8zNzqeoq7O1tmBjZ8DBwkxPUVxgY1JWWktOUlNWWlRWWVNVWEhLT2JlaTs9QVlbX1BTVkdKTUxQVNXW10ZISmRna05QVFNVWURHTFBTVVFUWFJVWE5RUzU4O0xPU0JFSU9SVE9RU0NGST1AQ0JFSElLTldaXktNUIGDh6qsrWNmaujp6XZ4fKChpLS1tsfIyaeoqbu7vZianausrenq6nd6fWVobF9jZ5KUl2Zpbe/v73p8f3h7f7/Awd7f36SmqHt9gbq7vV1hZVxfY1VYXPT09Obm54yOkcPExkdKTm5wdIWHikVJTUVJTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMIALAAAAABQAG0BAAj/AIMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjBGkoXcq0qdOnUKNKnUpVaYmrWLNq3cq1q9evYMNerUG2rNmzaNOqXcu2rVuyH+LKnUu3rt27ePPq3RsXhN+/gAMLHky4sOHDiP16WMy4sePHkCNLnky58uIOmDNr3sy5s+fPoEOLxsyhtOnTqFOrXs26tevXpTXInk27tu3buHPr3s1b9obfwIMLH068uPHjyJP/zsC8ufPn0KNLn069unXmGLJr3869u/fv4MOL/x+f/YL58+jTq1/Pvr379/DNW5hPv779+/jz69/Pv//8CgAGKOCABBZo4IEIJqgggBQ06OCDEEYo4YQUVmjhhQ2yoOGGHHbo4YcghijiiCRqKMOJKKao4oostujiizDGeCIMNNZo44045qjjjjz26CONKAQp5JBEFmnkkUgmqeSSQc7g5JNQRinllFRWaeWVWDoZw5Zcdunll2CGKeaYZJa5ZQhopqnmmmy26eabcMYpJ5rC1GnnnXjmqeeefPbp55+ABirooIQWauihiCaq6KKMNuroo5BGKumklFZq6aWYZqrpppx26umnoIYq6qiklmrqqaimquqqrLbq6quwxv8q66y01mrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7LLMNuvss9BGK+201FZr7bXYZqvtttx26+234IYr7rjklmvuueimq+667Lbr7rvwwjvAvPTWa++9+Oar77789uvvvwAHLPDABBdssL4BJKzwwgw37PDDEEcs8cQUV2zxxRhnrPHGHHfs8ccbIyDyyCSXbPLJKKes8sost+zyyzDHLPPMNNecsgE456zzzjz37PPPQAct9NBEF2300UgnrfTSPy/g9NNQRy311FRXbfXVWGet9dZcd+3112CHXfUDZJdt9tlop6322my37fbbcMct99xpJ2D33XjnrffefPf/7fffgAcu+OCEF2744Ygn3vcBjDfu+OOQRy755JRXbvnlmGeu+eacd+7555NHIPropJdu+umop6766qy37vrrsMd+ugC012777bjnrvvuvPfu++/ABy/88MQXb/zxuyug/PLMN+/889BHL/301Fdv/fXYZ6/99tx3H3284Icv/vjkl2/++einr/767Lfv/vvwxy///PTXb//9+Oevf7Qp9O///wAMoAAHSMACGvCA/TOBAhfIwAY68IEQjKAEJ0hBBdrgghjMoAY3yMEOevCDIAzhBRlAwhKa8IQoTKEKV8jCFrrwhTCMoQxnmMIT2PCGOMyhDnfIwx768IdAtCEJ/4ZIxCIa8YhITKISl8jEJg7xBVCMohSnSMUqWvGKWMyiFqHYgC568YtgDKMYx0jGMprxjGhMoxrXyEYxquCNcIyjHOdIxzra8Y54zOMbRcDHPvrxj4AMpCAHSchCGpKPK0ikIhfJyEY68pGQjKQkJ5lIF1jykpjMpCY3yclOevKToLTkCEZJylKa8pSoTKUqV8nKVo6yBbCMpSxnScta2vKWuMylLmEpgV768pfADKYwh0nMYhrzmMhMpjKXyUxhOuCZ0IymNKdJzWpa85rYzKY2t8nNbnqTmhMIpzjHSc5ymvOc6EynOtfJzna6853wNGcB5knPetrznvjMpz73yf/PfvrznwANqEAHStCCGlSfEEioQhfK0IY69KEQjahEJ0rRilr0ohh1KAE2ytGOevSjIA2pSEdK0pKa9KQoTalKV8rSlrpUpPuLqUxnStOa2vSmOM2pTnfK05769KdADapQh0rUohr1qEhNqlLZ1xAkTIIPm4CDFHCAAynAYRN8mAQSGrKphZyBC1IAgFjHSlaxSoELZ1hIVxFChlywoqxwLSsenkCGhKzVIGq4QVz3WtYbqAEhdx0IEp7A18KW9QlbLUhgg+ELJhj2sWNlQmIHElgkOBaymJUsQQJL2Mcq4bNKgOwTNqupgagBs2ZIrRmmwNrWrkIQcP2rQNZKBr3/QtYLuPUCFHbLWyj8QhF9rWsw1tpZyLLhuGxYgnKXq1xVAJesox1uac+AB8wCoA3YbcMXtvsFLHjXu7GQa1q7ygXrAgAM6AWDFta7Xl6AVgmuKCsXpJspJITVumLIrxiqwN/+nmIOAA5FWaWAhE0dwrwACIOCw2CFBjtYFHaIcCfgeohN+QHBY8jwGK7A4Q574g4gBgZc/bCpy1rXDSh2QxZWvOJSyCIPMIYFXJmwKTogeA04XoMcdoyKUZCiDkDuBWzLSodN3YKvXciBkpecg1fE4clJiLKUpdyKuN5gUzhAMpOXvIsoeNkJYA4zmE2xVxxgWctbzgEi4kA7Krj5/82goMUnyrwp28Y1yWlWcyp04WUvz8IWtSjslTVlY/MyGcG4KDGCD21eGmuKETqItKQnTelIN+HSTai0pifNiE31YQegDrWoRw1qTDeB1KgWdR821Qg4UPXVsI41VY1AayPI+tavhkMjNvWBR9zg18AOtrBvUGsjDPvYwH7EBzYFgmDsgQfQjra0p13saVtb2nsIBgg2tRhI9ODb4A63uMtA7jKI+9zhhsRiNoUZShDCB/COt7zlnYZ6p2He+I43ISiBmU2ZJhBACLjABz5wNBgcDQRPuMADYZpN0WYRQoi4xCcu8TdY/A0Uz3jEF0GbTQVHA4X4gchHTvKSm/zkhX7QQHA29RxMVCIIMI+5zGdO85lXAhPP2VR3BsGJIfj850APutB/zolBdGdT7LkEIIjA9KY7/elPB8Ql2LMp/WxBE38ogta3zvWuF+EPmtiCfjaVoC0kwhJHSLva1552SyRiCwnaFIYkkYFMGEIPkXCEIyKhB0NkIgOSwNCkAgIAOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/buttons-disabled.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAWkAAAAUCAMAAAB4bjzXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAklQTFRF9fX17u7u8/Pz8fHx7e3t9PT07+/v8PDw8vLy////cLhZoqKih4eHd7xgvb29nZ2doaGhxsbGsrKyxNO8c7pcoKCgx8fHi7GHr6+vnp6epsCknJycxcXFR40+mMyHjo6Ol5eXb7VYcqlks9mll9WLfMNrWphRzunJltSLjMuBSI4+t9qqx9LGV55FtduobKpakLx739/fkLt9ib54fsFpiIiIj8J9pdubrKyssbGxlNOKfLpki7p1hLNzhc15tra24+Pjl8eFis99ich/s7OzioqKzNXKtd+ss92py9TJtt2seb1ulbiQ0NfN1OvPcb5fmMyKhsl84PLcZaFWiYmJfsdvesZr3d3dycnJ3PHYaKtTt+CvuLi4mdGLxejAz9fNRYs+y+bDpKSko6OjgbNtfblrr9+ltMyomMuGfb5nbrVYtsqx09rQdatl1NrRfbxmveS2kbx+jsyEfblqtNqmpM6Uu9yvZJ9XlriQaqxbZatVT5FIb7VZjb57q9SchrV1hLVwcrlbgcx1r9+mtMypisJ5Q4s6goKCtN2qqsahRIs6kJCQ1+7StMmvdLdcdLdbQo02ptCWs8iuqKiowcHBps+Wj4+PfHx8wsLCjtKDltOJO4U0wMDAYZ1UUJlBuN2voNmVgICAhsl6yNLHQ484tNmlstuovLy8lZWVmZmZf7ltqtSdvuK2w8PD4ODgoNmWcMFjqMSfkLx8a6pYUJJJksWAeLRkecFkt8uyXJlTndiSldSKRYo+gbRtY59Tl8yFfrFpk82I////2fGzsgAAAMN0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ajk4gvwAAAYpJREFUeNrs0GNzA1EYhuFNt027QdOktm3btm3btm3btu3zy7pN2v6DtvPO7D3znvP1mQvDAIYwKkqakv7/RACGBF9RV3lbVmt/KozRgKUlL6rTQ3RXD4rvYEgLfbceKwQl9PlIOtVElNme5qR0Rw5DGP0jzeKwzCFJl5gZxj+8V+g9zidm1/oAkp5hijOtTwBJ57oPrTl4EoSLdrSvcR0EaTF+apNz9uLSUW5iIELkWQR06ocHEkQ9Wyr5+h7AaAz/TF6OmyTH25WfxUGEyHs+0tog+DGsDg0AjBZIZ0jYKfGWFFm9cKTf/Dw6vqTzW3rASOO4ItdryhvH4Ug7hy3EnDWQzoz21+YrCNKigqRlXI9VRYGEyDtP6LsNZZPSBSNVW7IARmN0Qcw4GaVBOpAQecEalTtsKUaT+qimadomgNHf0pkSnP09SNL0wpcbE5VSx7zty0UFCKMxGsAQ/51YXrEZn7Yce1IAMRqwNM0/SEd5oFHWiEZJ/7I0rDBhgCGIoynpv+pDgAEAbYqvesQxV1EAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/buttons.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAWkAAAAUCAMAAAB4bjzXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAApdQTFRF8/Pz9fX19PT07u7u8fHx/v7+/f397e3t9vb2+/v7+fn57+/v/////Pz89/f3+Pj4+vr68PDw8vLycLhZd7xgxNO8qsuR9ffzpsCki7GHc7pcrc2UkLx8M4gLfbxmXJlTdLdcs9mldKtPoNmV09rQfsFpKYIKfMNruN2v8fTwecFk2OfVaqxbgbNafsdvkLt9cMFjZJ9Xy+bDtMypibhrj8J9NogaoceKhrV1gcx1RI8WhLNzqMuQhbZqisJ5NIkYhLVwgbNtpdubpciNb6U93Onar9+lbqQ4l8yFhc15r9+my9TJgLNh1OvPq9Scqsahl9WLaaM5V55FptCWRIs6Q484crlb8vbwV5goesZrpM6UUJJJtd+smMKDY58xt+CvX6FDkLx0SI4+zunJndiSdatl4PLcqMSfZZ8xs92pib54caY/x9LG0uPN1NrRaKtTmMuGT5FIlbiQoNmW1+7SRYs+tNqmqtSdbrVYtsqxl8KClsGAN4gJb7VYmMyHk82Is8iucqlktN2qSpEcjMuBhsl6eLRkKIADa6pYtduoaKVGfLpkY59Tcb5fhbZm3PHYgbRthsl8mMyKlriQf7ltzNXKR40+UpcinsWIfK9VM4cVXKA8eb1uksWAZqVItt2sjtKDQo02b7VZstuoO4U0yNLHveS2ZaFWdLdbocaKlNOKvuK2Yp4xWphRt9qqUJlBbKpaps+Wjrpvu9yvltOJkLx7frFpldSKich/jsyEz9fNgrVnt8uyQ4s6xejA8PXttMyoXp86RYo+1ubSHnsDfblql8eFYqNGjb570NfNfb5nsM6WW5spYZ1Ukbx+a6M3i7p1mdGLqcqQaKI1tMmvPIsQltSLZatVRpAZtNmlfblris99////6IUpKwAAAN10Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD5NwmvAAABtUlEQVR42mLgGYLgDuMQBAysQxCMhvRoSOMLabYhCO4wgYGK8TkHRwv/XUxDAgzhkBaViTLyTdaYkrpnaIQ0LxTsb8/lHSrgDgMQiF7YnLbMqdhtn93yKwxDAXBCQHjN7FmHOYcIAIV03tZ1/Sn1O69tXxB/y3Dq0Alp8RtdsfPstYdQSB84VqK8agcPj6e6XkzQ5KEQ0gIgIB6hZL676riZq8CQAHeEhIT053u1TJzDw6MjInVxrrzQ4AcMXCCQoSuW6GNbnXBEk2sogDssLCwTVge0QvoxwqrlSSyDH0BCOjtwpk3fjIOyalxDJqS3Zd62hIb0Kb+9QyGk+SFgjZjJyqv8QwSAQtp60pZIg+vAcBYO8zgRPRRCmg8CLktvcrbiGyLgjqCgYHp+k1avCDCkKxTKQiUFBz9g4IAA99PSl5o5hgi4w83NfbLx6GIRKeFFtSsUN5Qu5R78ABbSLufjzkwfSiHNXdnT1lkn111ws2OJBPdQCOmhOFhzhxkEGs6uNw3emLXwkATzUAAMTEMQQEKa2bto7bSQQskc5tGQpnFIDy3AMBTBHfYhCEZDml4AIMAAyDYZyvin1kIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/delete.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMIAP/////MzP/Mmf+Zmf+ZZv9mZsxmZsxmM////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAAQABAAAARhEMlJawXBaCOARdkQjIIWVGEgDGxQGKcEGOJA3HdpeCAR2LhbYXAYSGi2gnI5fB0FN4B0qiQegVPq8HAlMJkEAxdBHHyXZZnG/B2IeaC1t0BwH2KTzGFov38AfUV4H4QSEQA7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/done.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPefAK7cpZ3YkpDOf3LIaIPOd/z9+7fhr7XhrnrMbW7EYkKhM0mwJz+NO0ShM2y2VprHh5jLhrbRtZbLhrTapn28Zq3fm3+4aZrKh1zAO3DHZZC8jq/cpuf14eb046PXlpG5j6vTm53Oi7bQtYfCcqHXlVG3LnnJa9ns1D+LO3/KcPT68ny6ZODr4DuhJ3nBZJrUjXG5W3e8YH7Hb5bNiL7jtrrbtf3+/SaEI6HWlZvXkSZ/I3C/V2nISm/GZGq5ULTdqpjMh7/juIfJeeTy4YXFdYDKc3O6XHTDZH2+Z3TIaLXbqOn45WSwTD+FO7LbqDWPMcDkuW/CYXXIaJ/SkLfZtW/DYW+1WW23V7TZpW61WG+1WHPHZmzFS7XfrFzDPTV/MeHs4X23ZrfhsJnNij+ZPHbJaYvIeO3362bFSZTIj3LLVSl3Jcvsv7Hdp7PZparcl4nEdoDMcsvtwE6bQUyXPXDBY1q+N6/XoHS3W6vSm5nRi3TCWW7FY27EYWrDSXC4Wdbu0iqPJZ/SkXbKail6Jen35bTfrIO+bV6pSJfMhTR8MHHEY7Djn121P3S3XK7Xob7ftZHAjydyJFKgQuPx4XG+X1WzNZbHg5nQjH7BacHjtnK5W/H58ODu4P///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJ8ALAAAAAAQABAAAAjdAD8JHEiwYMEljNRgsOPnDQeDn+Tw2OMBAAAcPixpKsjGiwADAQgQCHDATAtIAwuhEXAAwaABSaSYMARHASWBFXYYQDAgA58Ei2jI6IIojUAuJHKU6dGnShQonjroCUFGYIk2cbaIAVQniKcCmDI9uiFwwYYURTh5OvN1Bgwkd3QIbCToxREhKjzZkHBlU6IHKAROYfLDRSUiJ8Y4yOJowhwNAoc0GOEkhpE/VrTgcWPhC5iBNQIdUgKEwgoIWMJIilCQypNJF0DkuURHkQiInSIxILSmyQcWEIMXDAgAOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/error.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPeAANWhPf777f777v7879ajPvXaWP776v789PTaXNWiPv/+/fv04/7778NsBufAffnu1/XbXPnplPLWVfDTj/DSjPTaXf777P369fTXTv767PHUhfTZV/PYjcl3DeGqMfvyw/z22OvLV/LWVPbbWvTaW/LWWPfluf768e3IcfrvtfjnlNmYI+i4OvXYUs+FFv/++ezDWv765+rAXuW/iO/OhvTfqevOq8p/KujDh/PYV+CnLdaTIPLXWPTjwPfow/357frv1fLXVvLXV/z11P365v789vXjvvbcXP343v355/XZVNKTRN+kK+i6Rfvy2u3Je8ZxCeq+ROi/YvHXnea5Xf358e3UttyeJ/HXovLYlNmgVfjt3vbaYsx+Ed2kO/fqyPDRgtadXfzzx/TcXvjmlMFoA/TZXP/9+fbfZNOMG/XYUei3Q+/OdPLcsvTWUN2xR/jli+7Mef788/788u/KaP7789qbJf368e7HXd2hKfXhrdGKHOW7aOWyN/rrnua2SP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIAALAAAAAAQABAAAAi/AAEJHEiwoEFACvDQUXCwIAcNYPQ0HHgiyh0ga6pMBMQmi5wYE2hMdMLiTAQ/GTw8aAijxg8CBIZgoXLQBIoXYxIkMBOAT5uCRZp8IVIBAAAhYnp4uUAwDgUDZBC8ARAEAhIHOAYu6FPnwxEEaEJIUKJiwZ4tAmVMSQJnBAmjIlq4ATFDCyAfUg6kKFAgB48SG9Rg4GJgiZU/Rg4wECBgwIDFAQJYmGPjxhMdTPJcsbNiRxoXXTpAaVAmzEaDAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/throbber.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/transp50.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAYAAAA8AXHiAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEhSURBVHja7NKxEQAwCMSwkMnZ/FmAklIawedK0g+OfQkwFsbCWGAsjIWxwFgYC2OBsTAWxgJjYSyMBcbCWBgLjIWxMBYYC2NhLDAWxsJYYCyMhbHAWBgLY4GxMBbGAmNhLIwFxsJYGAuMhbEwFhgLY2EsMBbGwlhgLIyFscBYGAtjgbEwFsYCY2EsjAXGwlgYC4yFsTAWGAtjYSwwFsbCWGAsjIWxwFgYC2OBsTAWxgJjYSyMhbHAWBgLY4GxMBbGAmNhLIwFxsJYGAuMhbEwFhgLY2EsMBbGwlhgLIyFscBYGAtjgbEwFsYCY2EsjAXGwlgYC4yFsTAWGAtjYSwwFsbCWGAsjIWxwFgYC2OBsTAWxgJjYSyMBcbCWBgLdiPAAGciBKl/QyaCAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGMpe3ZhciBkPXt9O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHBsdXBsb2FkLnRyYW5zbGF0ZShlKXx8ZX1mdW5jdGlvbiBiKGYsZSl7ZS5jb250ZW50cygpLmVhY2goZnVuY3Rpb24oZyxoKXtoPWMoaCk7aWYoIWguaXMoIi5wbHVwbG9hZCIpKXtoLnJlbW92ZSgpfX0pO2UucHJlcGVuZCgnPGRpdiBjbGFzcz0icGx1cGxvYWRfd3JhcHBlciBwbHVwbG9hZF9zY3JvbGwiPjxkaXYgaWQ9IicrZisnX2NvbnRhaW5lciIgY2xhc3M9InBsdXBsb2FkX2NvbnRhaW5lciI+PGRpdiBjbGFzcz0icGx1cGxvYWQiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlciI+PGRpdiBjbGFzcz0icGx1cGxvYWRfaGVhZGVyX2NvbnRlbnQiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlcl90aXRsZSI+JythKCJTZWxlY3QgZmlsZXMiKSsnPC9kaXY+PGRpdiBjbGFzcz0icGx1cGxvYWRfaGVhZGVyX3RleHQiPicrYSgiQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uIikrJzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NvbnRlbnQiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVsaXN0X2hlYWRlciI+PGRpdiBjbGFzcz0icGx1cGxvYWRfZmlsZV9uYW1lIj4nK2EoIkZpbGVuYW1lIikrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfYWN0aW9uIj4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlX3N0YXR1cyI+PHNwYW4+JythKCJTdGF0dXMiKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+JythKCJTaXplIikrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NsZWFyZXIiPiZuYnNwOzwvZGl2PjwvZGl2Pjx1bCBpZD0iJytmKydfZmlsZWxpc3QiIGNsYXNzPSJwbHVwbG9hZF9maWxlbGlzdCI+PC91bD48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlbGlzdF9mb290ZXIiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfbmFtZSI+PGRpdiBjbGFzcz0icGx1cGxvYWRfYnV0dG9ucyI+PGEgaHJlZj0iIyIgY2xhc3M9InBsdXBsb2FkX2J1dHRvbiBwbHVwbG9hZF9hZGQiPicrYSgiQWRkIGZpbGVzIikrJzwvYT48YSBocmVmPSIjIiBjbGFzcz0icGx1cGxvYWRfYnV0dG9uIHBsdXBsb2FkX3N0YXJ0Ij4nK2EoIlN0YXJ0IHVwbG9hZCIpKyc8L2E+PC9kaXY+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlX2FjdGlvbiI+PC9kaXY+PGRpdiBjbGFzcz0icGx1cGxvYWRfZmlsZV9zdGF0dXMiPjxzcGFuIGNsYXNzPSJwbHVwbG9hZF90b3RhbF9zdGF0dXMiPjAlPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSI+MCBiPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX3Byb2dyZXNzIj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9wcm9ncmVzc19jb250YWluZXIiPjxkaXYgY2xhc3M9InBsdXBsb2FkX3Byb2dyZXNzX2JhciI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icGx1cGxvYWRfY2xlYXJlciI+Jm5ic3A7PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9IicrZisnX2NvdW50IiBuYW1lPSInK2YrJ19jb3VudCIgdmFsdWU9IjAiIC8+PC9kaXY+Jyl9Yy5mbi5wbHVwbG9hZFF1ZXVlPWZ1bmN0aW9uKGUpe2lmKGUpe3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBqLGksaztpPWModGhpcyk7az1pLmF0dHIoImlkIik7aWYoIWspe2s9cGx1cGxvYWQuZ3VpZCgpO2kuYXR0cigiaWQiLGspfWo9bmV3IHBsdXBsb2FkLlVwbG9hZGVyKGMuZXh0ZW5kKHtkcmFnZHJvcDp0cnVlLGNvbnRhaW5lcjprfSxlKSk7ZFtrXT1qO2Z1bmN0aW9uIGgobCl7dmFyIG47aWYobC5zdGF0dXM9PXBsdXBsb2FkLkRPTkUpe249InBsdXBsb2FkX2RvbmUifWlmKGwuc3RhdHVzPT1wbHVwbG9hZC5GQUlMRUQpe249InBsdXBsb2FkX2ZhaWxlZCJ9aWYobC5zdGF0dXM9PXBsdXBsb2FkLlFVRVVFRCl7bj0icGx1cGxvYWRfZGVsZXRlIn1pZihsLnN0YXR1cz09cGx1cGxvYWQuVVBMT0FESU5HKXtuPSJwbHVwbG9hZF91cGxvYWRpbmcifXZhciBtPWMoIiMiK2wuaWQpLmF0dHIoImNsYXNzIixuKS5maW5kKCJhIikuY3NzKCJkaXNwbGF5IiwiYmxvY2siKTtpZihsLmhpbnQpe20uYXR0cigidGl0bGUiLGwuaGludCl9fWZ1bmN0aW9uIGYoKXtjKCJzcGFuLnBsdXBsb2FkX3RvdGFsX3N0YXR1cyIsaSkuaHRtbChqLnRvdGFsLnBlcmNlbnQrIiUiKTtjKCJkaXYucGx1cGxvYWRfcHJvZ3Jlc3NfYmFyIixpKS5jc3MoIndpZHRoIixqLnRvdGFsLnBlcmNlbnQrIiUiKTtjKCJzcGFuLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiLGkpLnRleHQoYSgiVXBsb2FkZWQgJWQvJWQgZmlsZXMiKS5yZXBsYWNlKC8lZFwvJWQvLGoudG90YWwudXBsb2FkZWQrIi8iK2ouZmlsZXMubGVuZ3RoKSl9ZnVuY3Rpb24gZygpe3ZhciBtPWMoInVsLnBsdXBsb2FkX2ZpbGVsaXN0IixpKS5odG1sKCIiKSxuPTAsbDtjLmVhY2goai5maWxlcyxmdW5jdGlvbihwLG8pe2w9IiI7aWYoby5zdGF0dXM9PXBsdXBsb2FkLkRPTkUpe2lmKG8udGFyZ2V0X25hbWUpe2wrPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK2srIl8iK24rJ190bXBuYW1lIiB2YWx1ZT0iJytwbHVwbG9hZC54bWxFbmNvZGUoby50YXJnZXRfbmFtZSkrJyIgLz4nfWwrPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK2srIl8iK24rJ19uYW1lIiB2YWx1ZT0iJytwbHVwbG9hZC54bWxFbmNvZGUoby5uYW1lKSsnIiAvPic7bCs9JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicraysiXyIrbisnX3N0YXR1cyIgdmFsdWU9IicrKG8uc3RhdHVzPT1wbHVwbG9hZC5ET05FPyJkb25lIjoiZmFpbGVkIikrJyIgLz4nO24rKztjKCIjIitrKyJfY291bnQiKS52YWwobil9bS5hcHBlbmQoJzxsaSBpZD0iJytvLmlkKyciPjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfbmFtZSI+PHNwYW4+JytvLm5hbWUrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlX2FjdGlvbiI+PGEgaHJlZj0iIyI+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc3RhdHVzIj4nK28ucGVyY2VudCsnJTwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+JytwbHVwbG9hZC5mb3JtYXRTaXplKG8uc2l6ZSkrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NsZWFyZXIiPiZuYnNwOzwvZGl2PicrbCsiPC9saT4iKTtoKG8pO2MoIiMiK28uaWQrIi5wbHVwbG9hZF9kZWxldGUgYSIpLmNsaWNrKGZ1bmN0aW9uKHEpe2MoIiMiK28uaWQpLnJlbW92ZSgpO2oucmVtb3ZlRmlsZShvKTtxLnByZXZlbnREZWZhdWx0KCl9KX0pO2MoInNwYW4ucGx1cGxvYWRfdG90YWxfZmlsZV9zaXplIixpKS5odG1sKHBsdXBsb2FkLmZvcm1hdFNpemUoai50b3RhbC5zaXplKSk7aWYoai50b3RhbC5xdWV1ZWQ9PT0wKXtjKCJzcGFuLnBsdXBsb2FkX2FkZF90ZXh0IixpKS50ZXh0KGEoIkFkZCBmaWxlcy4iKSl9ZWxzZXtjKCJzcGFuLnBsdXBsb2FkX2FkZF90ZXh0IixpKS50ZXh0KGoudG90YWwucXVldWVkKyIgZmlsZXMgcXVldWVkLiIpfWMoImEucGx1cGxvYWRfc3RhcnQiLGkpLnRvZ2dsZUNsYXNzKCJwbHVwbG9hZF9kaXNhYmxlZCIsai5maWxlcy5sZW5ndGg9PShqLnRvdGFsLnVwbG9hZGVkK2oudG90YWwuZmFpbGVkKSk7bVswXS5zY3JvbGxUb3A9bVswXS5zY3JvbGxIZWlnaHQ7ZigpO2lmKCFqLmZpbGVzLmxlbmd0aCYmai5mZWF0dXJlcy5kcmFnZHJvcCYmai5zZXR0aW5ncy5kcmFnZHJvcCl7YygiIyIraysiX2ZpbGVsaXN0IikuYXBwZW5kKCc8bGkgY2xhc3M9InBsdXBsb2FkX2Ryb3B0ZXh0Ij4nK2EoIkRyYWcgZmlsZXMgaGVyZS4iKSsiPC9saT4iKX19ai5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihsLG0pe2MoIiMiK20uaWQpLmFkZENsYXNzKCJwbHVwbG9hZF9jdXJyZW50X2ZpbGUiKX0pO2ouYmluZCgiSW5pdCIsZnVuY3Rpb24obCxtKXtiKGssaSk7aWYoIWUudW5pcXVlX25hbWVzJiZlLnJlbmFtZSl7YygiIyIraysiX2ZpbGVsaXN0IGRpdi5wbHVwbG9hZF9maWxlX25hbWUgc3BhbiIsaSkubGl2ZSgiY2xpY2siLGZ1bmN0aW9uKHMpe3ZhciBxPWMocy50YXJnZXQpLG8scixuLHA9IiI7bz1sLmdldEZpbGUocS5wYXJlbnRzKCJsaSIpWzBdLmlkKTtuPW8ubmFtZTtyPS9eKC4rKShcLlteLl0rKSQvLmV4ZWMobik7aWYocil7bj1yWzFdO3A9clsyXX1xLmhpZGUoKS5hZnRlcignPGlucHV0IHR5cGU9InRleHQiIC8+Jyk7cS5uZXh0KCkudmFsKG4pLmZvY3VzKCkuYmx1cihmdW5jdGlvbigpe3Euc2hvdygpLm5leHQoKS5yZW1vdmUoKX0pLmtleWRvd24oZnVuY3Rpb24odSl7dmFyIHQ9Yyh0aGlzKTtpZih1LmtleUNvZGU9PTEzKXt1LnByZXZlbnREZWZhdWx0KCk7by5uYW1lPXQudmFsKCkrcDtxLnRleHQoby5uYW1lKTt0LmJsdXIoKX19KX0pfWMoImEucGx1cGxvYWRfYWRkIixpKS5hdHRyKCJpZCIsaysiX2Jyb3dzZSIpO2wuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbj1rKyJfYnJvd3NlIjtpZihsLmZlYXR1cmVzLmRyYWdkcm9wJiZsLnNldHRpbmdzLmRyYWdkcm9wKXtsLnNldHRpbmdzLmRyb3BfZWxlbWVudD1rKyJfZmlsZWxpc3QiO2MoIiMiK2srIl9maWxlbGlzdCIpLmFwcGVuZCgnPGxpIGNsYXNzPSJwbHVwbG9hZF9kcm9wdGV4dCI+JythKCJEcmFnIGZpbGVzIGhlcmUuIikrIjwvbGk+Iil9YygiIyIraysiX2NvbnRhaW5lciIpLmF0dHIoInRpdGxlIiwiVXNpbmcgcnVudGltZTogIittLnJ1bnRpbWUpO2MoImEucGx1cGxvYWRfc3RhcnQiLGkpLmNsaWNrKGZ1bmN0aW9uKG4pe2lmKCFjKHRoaXMpLmhhc0NsYXNzKCJwbHVwbG9hZF9kaXNhYmxlZCIpKXtqLnN0YXJ0KCl9bi5wcmV2ZW50RGVmYXVsdCgpfSk7YygiYS5wbHVwbG9hZF9zdG9wIixpKS5jbGljayhmdW5jdGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCk7ai5zdG9wKCl9KTtjKCJhLnBsdXBsb2FkX3N0YXJ0IixpKS5hZGRDbGFzcygicGx1cGxvYWRfZGlzYWJsZWQiKX0pO2ouaW5pdCgpO2ouYmluZCgiRXJyb3IiLGZ1bmN0aW9uKGwsbyl7dmFyIG09by5maWxlLG47aWYobSl7bj1vLm1lc3NhZ2U7aWYoby5kZXRhaWxzKXtuKz0iICgiK28uZGV0YWlscysiKSJ9aWYoby5jb2RlPT1wbHVwbG9hZC5GSUxFX1NJWkVfRVJST1Ipe2FsZXJ0KGEoIkVycm9yOiBGaWxlIHRvbyBsYXJnZTogIikrbS5uYW1lKX1pZihvLmNvZGU9PXBsdXBsb2FkLkZJTEVfRVhURU5TSU9OX0VSUk9SKXthbGVydChhKCJFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogIikrbS5uYW1lKX1tLmhpbnQ9bjtjKCIjIittLmlkKS5hdHRyKCJjbGFzcyIsInBsdXBsb2FkX2ZhaWxlZCIpLmZpbmQoImEiKS5jc3MoImRpc3BsYXkiLCJibG9jayIpLmF0dHIoInRpdGxlIixuKX19KTtqLmJpbmQoIlN0YXRlQ2hhbmdlZCIsZnVuY3Rpb24oKXtpZihqLnN0YXRlPT09cGx1cGxvYWQuU1RBUlRFRCl7YygibGkucGx1cGxvYWRfZGVsZXRlIGEsZGl2LnBsdXBsb2FkX2J1dHRvbnMiLGkpLmhpZGUoKTtjKCJzcGFuLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMsZGl2LnBsdXBsb2FkX3Byb2dyZXNzLGEucGx1cGxvYWRfc3RvcCIsaSkuY3NzKCJkaXNwbGF5IiwiYmxvY2siKTtjKCJzcGFuLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiLGkpLnRleHQoIlVwbG9hZGVkICIrai50b3RhbC51cGxvYWRlZCsiLyIrai5maWxlcy5sZW5ndGgrIiBmaWxlcyIpO2lmKGUubXVsdGlwbGVfcXVldWVzKXtjKCJzcGFuLnBsdXBsb2FkX3RvdGFsX3N0YXR1cyxzcGFuLnBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSIsaSkuc2hvdygpfX1lbHNle2coKTtjKCJhLnBsdXBsb2FkX3N0b3AsZGl2LnBsdXBsb2FkX3Byb2dyZXNzIixpKS5oaWRlKCk7YygiYS5wbHVwbG9hZF9kZWxldGUiLGkpLmNzcygiZGlzcGxheSIsImJsb2NrIil9fSk7ai5iaW5kKCJRdWV1ZUNoYW5nZWQiLGcpO2ouYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihsLG0pe2gobSl9KTtqLmJpbmQoIlVwbG9hZFByb2dyZXNzIixmdW5jdGlvbihsLG0pe2MoIiMiK20uaWQrIiBkaXYucGx1cGxvYWRfZmlsZV9zdGF0dXMiLGkpLmh0bWwobS5wZXJjZW50KyIlIik7aChtKTtmKCk7aWYoZS5tdWx0aXBsZV9xdWV1ZXMmJmoudG90YWwudXBsb2FkZWQrai50b3RhbC5mYWlsZWQ9PWouZmlsZXMubGVuZ3RoKXtjKCIucGx1cGxvYWRfYnV0dG9ucywucGx1cGxvYWRfdXBsb2FkX3N0YXR1cyIsaSkuY3NzKCJkaXNwbGF5IiwiaW5saW5lIik7YygiLnBsdXBsb2FkX3N0YXJ0IixpKS5hZGRDbGFzcygicGx1cGxvYWRfZGlzYWJsZWQiKTtjKCJzcGFuLnBsdXBsb2FkX3RvdGFsX3N0YXR1cyxzcGFuLnBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSIsaSkuaGlkZSgpfX0pO2lmKGUuc2V0dXApe2Uuc2V0dXAoail9fSk7cmV0dXJuIHRoaXN9ZWxzZXtyZXR1cm4gZFtjKHRoaXNbMF0pLmF0dHIoImlkIildfX19KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAgIFBsdXBsb2FkDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCi5wbHVwbG9hZF9idXR0b24ge2N1cnNvcjogcG9pbnRlcjt9DQoNCi5wbHVwbG9hZF93cmFwcGVyIHsNCglmb250OiBub3JtYWwgMTFweCBWZXJkYW5hLHNhbnMtc2VyaWY7DQoJd2lkdGg6IDEwMCU7DQp9DQoNCi5wbHVwbG9hZCAucGx1cGxvYWRfY29udGFpbmVyIGlucHV0IHt3aWR0aDogOTglO30NCi5wbHVwbG9hZCAucGx1cGxvYWRfZmlsZWxpc3RfZm9vdGVyIHtib3JkZXItd2lkdGg6IDFweCAwIDAgMH0NCi5wbHVwbG9hZCAucGx1cGxvYWRfZmlsZWxpc3RfaGVhZGVyIHtib3JkZXItd2lkdGg6IDAgMCAxcHggMH0NCmRpdi5wbHVwbG9hZCAucGx1cGxvYWRfZmlsZSB7Ym9yZGVyLXdpZHRoOiAwIDAgMXB4IDB9DQpkaXYucGx1cGxvYWQgZGl2LnBsdXBsb2FkX2hlYWRlciB7Ym9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTt9DQoNCi5wbHVwbG9hZF9maWxlIC51aS1pY29uIHsNCgljdXJzb3I6cG9pbnRlcjsJDQp9DQoNCi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGx1cGxvYWQucG5nJyk7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggY2VudGVyOw0KCW1pbi1oZWlnaHQ6IDU2cHg7DQoJcGFkZGluZy1sZWZ0OiA2MHB4Ow0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KLnBsdXBsb2FkX2hlYWRlcl9jb250ZW50X2J3IHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wbHVwbG9hZC1idy5wbmcnKTt9DQoucGx1cGxvYWRfaGVhZGVyX3RpdGxlIHsNCglmb250OiBub3JtYWwgMThweCBzYW5zLXNlcmlmOw0KCXBhZGRpbmc6IDZweCAwIDNweDsNCn0NCi5wbHVwbG9hZF9oZWFkZXJfdGV4dCB7Zm9udDogbm9ybWFsIDEycHggc2Fucy1zZXJpZjt9DQoNCi5wbHVwbG9hZF9maWxlbGlzdCwNCi5wbHVwbG9hZF9maWxlbGlzdF9jb250ZW50IHsNCglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KCXdpZHRoOiAxMDAlOw0KCS1tb3otdXNlci1zZWxlY3Q6bm9uZTsNCgktd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7DQoJdXNlci1zZWxlY3Q6bm9uZTsNCn0NCg0KLnBsdXBsb2FkX2NlbGwge3BhZGRpbmc6IDhweCA2cHg7fQ0KDQoucGx1cGxvYWRfZmlsZSB7DQoJYm9yZGVyLWxlZnQ6IG5vbmU7DQoJYm9yZGVyLXJpZ2h0OiBub25lOw0KfQ0KDQoucGx1cGxvYWQgLnVpLXNvcnRhYmxlLWhlbHBlciwNCi5wbHVwbG9hZCAudWktc29ydGFibGUgLnBsdXBsb2FkX2ZpbGUgew0KCWN1cnNvcjptb3ZlOwkNCn0NCg0KLnBsdXBsb2FkX3Njcm9sbCB7DQoJbWF4LWhlaWdodDogMTgwcHg7DQoJbWluLWhlaWdodDogMTY4cHg7DQoJX2hlaWdodDogMTY4cHg7DQoJb3ZlcmZsb3cteTogYXV0bzsNCn0NCg0KLnBsdXBsb2FkX2ZpbGVfc2l6ZSwgLnBsdXBsb2FkX2ZpbGVfc3RhdHVzIHt0ZXh0LWFsaWduOiByaWdodDt9DQoucGx1cGxvYWRfZmlsZV9zaXplLCAucGx1cGxvYWRfZmlsZV9zdGF0dXMge3dpZHRoOiA1MnB4O30NCi5wbHVwbG9hZF9maWxlX2FjdGlvbiB7d2lkdGg6IDE2cHg7fQ0KLnBsdXBsb2FkX2ZpbGVfbmFtZSB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglwYWRkaW5nLWxlZnQ6IDEwcHg7DQp9DQoNCi5wbHVwbG9hZF9maWxlX3JlbmFtZSB7DQoJd2lkdGg6OTUlOwkNCn0NCg0KLnBsdXBsb2FkX3Byb2dyZXNzIHt3aWR0aDogNjBweDt9DQoucGx1cGxvYWRfcHJvZ3Jlc3NfY29udGFpbmVyIHtwYWRkaW5nOiAxcHg7fQ0KDQoNCi8qIEZsb2F0cyAqLw0KDQoucGx1cGxvYWRfcmlnaHQge2Zsb2F0OiByaWdodDt9DQoucGx1cGxvYWRfbGVmdCB7ZmxvYXQ6IGxlZnQ7fQ0KLnBsdXBsb2FkX2NsZWFyLC5wbHVwbG9hZF9jbGVhcmVyIHtjbGVhcjogYm90aDt9DQoucGx1cGxvYWRfY2xlYXJlciwgLnBsdXBsb2FkX3Byb2dyZXNzX2JhciB7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC1zaXplOiAwOw0KCWxpbmUtaGVpZ2h0OiAwOw0KfQ0KLnBsdXBsb2FkX2NsZWFyZXIge2hlaWdodDogMDt9DQoNCi8qIE1pc2MgKi8NCi5wbHVwbG9hZF9oaWRkZW4ge2Rpc3BsYXk6IG5vbmU7fQ0KLnBsdXBsb2FkX2Ryb3B0ZXh0IHsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCglib3JkZXI6IDA7DQoJbGluZS1oZWlnaHQ6IDE2NXB4Ow0KfQ0KDQoucGx1cGxvYWRfYnV0dG9ucywgLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMge2Zsb2F0OiBsZWZ0fQ0KDQoucGx1cGxvYWRfbWVzc2FnZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMHB4Ow0KCWxlZnQ6IDBweDsJDQoJaGVpZ2h0OiAxMDAlOw0KCXdpZHRoOiAxMDAlOw0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZSBwIHsNCglwYWRkaW5nOjAuN2VtOw0KCW1hcmdpbjowOw0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZSBzdHJvbmcgew0KCWZvbnQtd2VpZ2h0OiBib2xkOwkNCn0NCg0KcGx1cGxvYWRfbWVzc2FnZSBpIHsNCglmb250LXN0eWxlOiBpdGFsaWM7CQ0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZSBwIHNwYW4udWktaWNvbiB7DQoJZmxvYXQ6IGxlZnQ7DQoJbWFyZ2luLXJpZ2h0OiAwLjNlbTsJDQp9DQoNCi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCAudWktc3RhdGUtZXJyb3IsDQoucGx1cGxvYWRfaGVhZGVyX2NvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCB7DQoJYm9yZGVyOm5vbmU7CQ0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZV9jbG9zZSB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjVweDsNCglyaWdodDo1cHg7DQoJY3Vyc29yOnBvaW50ZXI7CQ0KfQ0KDQoucGx1cGxvYWQgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHsNCgloZWlnaHQ6MzVweDsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/img/plupload-bw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/img/plupload.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/jquery.ui.plupload.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGYsYSxjLGcsZSl7dmFyIGg9e307ZnVuY3Rpb24gYihpKXtyZXR1cm4gYy50cmFuc2xhdGUoaSl8fGl9ZnVuY3Rpb24gZChpKXtpLmh0bWwoJzxkaXYgY2xhc3M9InBsdXBsb2FkX3dyYXBwZXIiPjxkaXYgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHBsdXBsb2FkX2NvbnRhaW5lciI+PGRpdiBjbGFzcz0icGx1cGxvYWQiPjxkaXYgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgdWktd2lkZ2V0LWhlYWRlciBwbHVwbG9hZF9oZWFkZXIiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlcl9jb250ZW50Ij48ZGl2IGNsYXNzPSJwbHVwbG9hZF9oZWFkZXJfdGl0bGUiPicrYigiU2VsZWN0IGZpbGVzIikrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlcl90ZXh0Ij4nK2IoIkFkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLiIpKyc8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9jb250ZW50Ij48dGFibGUgY2xhc3M9InBsdXBsb2FkX2ZpbGVsaXN0Ij48dHIgY2xhc3M9InVpLXdpZGdldC1oZWFkZXIgcGx1cGxvYWRfZmlsZWxpc3RfaGVhZGVyIj48dGQgY2xhc3M9InBsdXBsb2FkX2NlbGwgcGx1cGxvYWRfZmlsZV9uYW1lIj4nK2IoIkZpbGVuYW1lIikrJzwvdGQ+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfc3RhdHVzIj4nK2IoIlN0YXR1cyIpKyc8L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX3NpemUiPicrYigiU2l6ZSIpKyc8L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX2FjdGlvbiI+Jm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PGRpdiBjbGFzcz0icGx1cGxvYWRfc2Nyb2xsIj48dGFibGUgY2xhc3M9InBsdXBsb2FkX2ZpbGVsaXN0X2NvbnRlbnQiPjwvdGFibGU+PC9kaXY+PHRhYmxlIGNsYXNzPSJwbHVwbG9hZF9maWxlbGlzdCI+PHRyIGNsYXNzPSJ1aS13aWRnZXQtaGVhZGVyIHVpLXdpZGdldC1jb250ZW50IHBsdXBsb2FkX2ZpbGVsaXN0X2Zvb3RlciI+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfbmFtZSI+PGRpdiBjbGFzcz0icGx1cGxvYWRfYnV0dG9ucyI+PCEtLSBWaXNpYmxlIC0tPjxhIGNsYXNzPSJwbHVwbG9hZF9idXR0b24gcGx1cGxvYWRfYWRkIj4nK2IoIkFkZCBGaWxlcyIpKyc8L2E+Jm5ic3A7PGEgY2xhc3M9InBsdXBsb2FkX2J1dHRvbiBwbHVwbG9hZF9zdGFydCI+JytiKCJTdGFydCBVcGxvYWQiKSsnPC9hPiZuYnNwOzxhIGNsYXNzPSJwbHVwbG9hZF9idXR0b24gcGx1cGxvYWRfc3RvcCBwbHVwbG9hZF9oaWRkZW4iPicrYigiU3RvcCBVcGxvYWQiKSsnPC9hPiZuYnNwOzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX3N0YXJ0ZWQgcGx1cGxvYWRfaGlkZGVuIj48IS0tIEhpZGRlbiAtLT48ZGl2IGNsYXNzPSJwbHVwbG9hZF9wcm9ncmVzcyBwbHVwbG9hZF9yaWdodCI+PGRpdiBjbGFzcz0icGx1cGxvYWRfcHJvZ3Jlc3NfY29udGFpbmVyIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NsZWFyZXIiPiZuYnNwOzwvZGl2PjwvZGl2PjwvdGQ+PHRkIGNsYXNzPSJwbHVwbG9hZF9maWxlX3N0YXR1cyI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3RvdGFsX3N0YXR1cyI+MCU8L3NwYW4+PC90ZD48dGQgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSI+MCBrYjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfZmlsZV9hY3Rpb24iPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjxpbnB1dCBjbGFzcz0icGx1cGxvYWRfY291bnQiIHZhbHVlPSIwIiB0eXBlPSJoaWRkZW4iPjwvZGl2PicpfWcud2lkZ2V0KCJ1aS5wbHVwbG9hZCIse2NvbnRlbnRzX2JhazoiIixydW50aW1lOm51bGwsb3B0aW9uczp7YnJvd3NlX2J1dHRvbl9ob3ZlcjoidWktc3RhdGUtaG92ZXIiLGJyb3dzZV9idXR0b25fYWN0aXZlOiJ1aS1zdGF0ZS1hY3RpdmUiLGRyYWdkcm9wOnRydWUsbXVsdGlwbGVfcXVldWVzOnRydWUsYnV0dG9uczp7YnJvd3NlOnRydWUsc3RhcnQ6dHJ1ZSxzdG9wOnRydWV9LGF1dG9zdGFydDpmYWxzZSxzb3J0YWJsZTpmYWxzZSxyZW5hbWU6ZmFsc2UsbWF4X2ZpbGVfY291bnQ6MH0sRklMRV9DT1VOVF9FUlJPUjotOTAwMSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGk9dGhpcyxrLGo7az10aGlzLmVsZW1lbnQuYXR0cigiaWQiKTtpZighayl7az1jLmd1aWQoKTt0aGlzLmVsZW1lbnQuYXR0cigiaWQiLGspfXRoaXMuaWQ9azt0aGlzLmNvbnRlbnRzX2Jhaz10aGlzLmVsZW1lbnQuaHRtbCgpO2QodGhpcy5lbGVtZW50KTt0aGlzLmNvbnRhaW5lcj1nKCIucGx1cGxvYWRfY29udGFpbmVyIix0aGlzLmVsZW1lbnQpLmF0dHIoImlkIixrKyJfY29udGFpbmVyIik7dGhpcy5maWxlbGlzdD1nKCIucGx1cGxvYWRfZmlsZWxpc3RfY29udGVudCIsdGhpcy5jb250YWluZXIpLmF0dHIoe2lkOmsrIl9maWxlbGlzdCIsdW5zZWxlY3RhYmxlOiJvbiJ9KTt0aGlzLmJyb3dzZV9idXR0b249ZygiLnBsdXBsb2FkX2FkZCIsdGhpcy5jb250YWluZXIpLmF0dHIoImlkIixrKyJfYnJvd3NlIik7dGhpcy5zdGFydF9idXR0b249ZygiLnBsdXBsb2FkX3N0YXJ0Iix0aGlzLmNvbnRhaW5lcikuYXR0cigiaWQiLGsrIl9zdGFydCIpO3RoaXMuc3RvcF9idXR0b249ZygiLnBsdXBsb2FkX3N0b3AiLHRoaXMuY29udGFpbmVyKS5hdHRyKCJpZCIsaysiX3N0b3AiKTtpZihnLnVpLmJ1dHRvbil7dGhpcy5icm93c2VfYnV0dG9uLmJ1dHRvbih7aWNvbnM6e3ByaW1hcnk6InVpLWljb24tY2lyY2xlLXBsdXMifX0pO3RoaXMuc3RhcnRfYnV0dG9uLmJ1dHRvbih7aWNvbnM6e3ByaW1hcnk6InVpLWljb24tY2lyY2xlLWFycm93LWUifSxkaXNhYmxlZDp0cnVlfSk7dGhpcy5zdG9wX2J1dHRvbi5idXR0b24oe2ljb25zOntwcmltYXJ5OiJ1aS1pY29uLWNpcmNsZS1jbG9zZSJ9fSl9dGhpcy5wcm9ncmVzc2Jhcj1nKCIucGx1cGxvYWRfcHJvZ3Jlc3NfY29udGFpbmVyIix0aGlzLmNvbnRhaW5lcik7aWYoZy51aS5wcm9ncmVzc2Jhcil7dGhpcy5wcm9ncmVzc2Jhci5wcm9ncmVzc2JhcigpfXRoaXMuY291bnRlcj1nKCIucGx1cGxvYWRfY291bnQiLHRoaXMuZWxlbWVudCkuYXR0cih7aWQ6aysiX2NvdW50IixuYW1lOmsrIl9jb3VudCJ9KTtqPXRoaXMudXBsb2FkZXI9aFtrXT1uZXcgYy5VcGxvYWRlcihnLmV4dGVuZCh7Y29udGFpbmVyOmssYnJvd3NlX2J1dHRvbjprKyJfYnJvd3NlIn0sdGhpcy5vcHRpb25zKSk7ai5iaW5kKCJFcnJvciIsZnVuY3Rpb24obCxtKXtpZihtLmNvZGU9PT1jLklOSVRfRVJST1Ipe2kuZGVzdHJveSgpfX0pO2ouYmluZCgiSW5pdCIsZnVuY3Rpb24obCxtKXtpZighaS5vcHRpb25zLmJ1dHRvbnMuYnJvd3NlKXtpLmJyb3dzZV9idXR0b24uYnV0dG9uKCJkaXNhYmxlIikuaGlkZSgpO2wuZGlzYWJsZUJyb3dzZSh0cnVlKX1pZighaS5vcHRpb25zLmJ1dHRvbnMuc3RhcnQpe2kuc3RhcnRfYnV0dG9uLmJ1dHRvbigiZGlzYWJsZSIpLmhpZGUoKX1pZighaS5vcHRpb25zLmJ1dHRvbnMuc3RvcCl7aS5zdG9wX2J1dHRvbi5idXR0b24oImRpc2FibGUiKS5oaWRlKCl9aWYoIWkub3B0aW9ucy51bmlxdWVfbmFtZXMmJmkub3B0aW9ucy5yZW5hbWUpe2kuX2VuYWJsZVJlbmFtaW5nKCl9aWYoai5mZWF0dXJlcy5kcmFnZHJvcCYmaS5vcHRpb25zLmRyYWdkcm9wKXtpLl9lbmFibGVEcmFnQW5kRHJvcCgpfWkuY29udGFpbmVyLmF0dHIoInRpdGxlIixiKCJVc2luZyBydW50aW1lOiAiKSsoaS5ydW50aW1lPW0ucnVudGltZSkpO2kuc3RhcnRfYnV0dG9uLmNsaWNrKGZ1bmN0aW9uKG4pe2lmKCFnKHRoaXMpLmJ1dHRvbigib3B0aW9uIiwiZGlzYWJsZWQiKSl7aS5zdGFydCgpfW4ucHJldmVudERlZmF1bHQoKX0pO2kuc3RvcF9idXR0b24uY2xpY2soZnVuY3Rpb24obil7aS5zdG9wKCk7bi5wcmV2ZW50RGVmYXVsdCgpfSl9KTtpZihpLm9wdGlvbnMubWF4X2ZpbGVfY291bnQpe2ouYmluZCgiRmlsZXNBZGRlZCIsZnVuY3Rpb24obCxuKXt2YXIgbz1bXSxtPW4ubGVuZ3RoO3ZhciBwPWwuZmlsZXMubGVuZ3RoK20taS5vcHRpb25zLm1heF9maWxlX2NvdW50O2lmKHA+MCl7bz1uLnNwbGljZShtLXAscCk7bC50cmlnZ2VyKCJFcnJvciIse2NvZGU6aS5GSUxFX0NPVU5UX0VSUk9SLG1lc3NhZ2U6YigiRmlsZSBjb3VudCBlcnJvci4iKSxmaWxlOm99KX19KX1qLmluaXQoKTtqLmJpbmQoIkZpbGVzQWRkZWQiLGZ1bmN0aW9uKGwsbSl7aS5fdHJpZ2dlcigic2VsZWN0ZWQiLG51bGwse3VwOmwsZmlsZXM6bX0pO2lmKGkub3B0aW9ucy5hdXRvc3RhcnQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtpLnN0YXJ0KCl9LDEwKX19KTtqLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24obCxtKXtpLl90cmlnZ2VyKCJyZW1vdmVkIixudWxsLHt1cDpsLGZpbGVzOm19KX0pO2ouYmluZCgiUXVldWVDaGFuZ2VkIixmdW5jdGlvbigpe2kuX3VwZGF0ZUZpbGVMaXN0KCl9KTtqLmJpbmQoIlN0YXRlQ2hhbmdlZCIsZnVuY3Rpb24oKXtpLl9oYW5kbGVTdGF0ZSgpfSk7ai5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihsLG0pe2kuX2hhbmRsZUZpbGVTdGF0dXMobSl9KTtqLmJpbmQoIkZpbGVVcGxvYWRlZCIsZnVuY3Rpb24obCxtKXtpLl9oYW5kbGVGaWxlU3RhdHVzKG0pO2kuX3RyaWdnZXIoInVwbG9hZGVkIixudWxsLHt1cDpsLGZpbGU6bX0pfSk7ai5iaW5kKCJVcGxvYWRQcm9ncmVzcyIsZnVuY3Rpb24obCxtKXtnKCIjIittLmlkKS5maW5kKCIucGx1cGxvYWRfZmlsZV9zdGF0dXMiKS5odG1sKG0ucGVyY2VudCsiJSIpLmVuZCgpLmZpbmQoIi5wbHVwbG9hZF9maWxlX3NpemUiKS5odG1sKGMuZm9ybWF0U2l6ZShtLnNpemUpKTtpLl9oYW5kbGVGaWxlU3RhdHVzKG0pO2kuX3VwZGF0ZVRvdGFsUHJvZ3Jlc3MoKTtpLl90cmlnZ2VyKCJwcm9ncmVzcyIsbnVsbCx7dXA6bCxmaWxlOm19KX0pO2ouYmluZCgiVXBsb2FkQ29tcGxldGUiLGZ1bmN0aW9uKGwsbSl7aS5fdHJpZ2dlcigiY29tcGxldGUiLG51bGwse3VwOmwsZmlsZXM6bX0pfSk7ai5iaW5kKCJFcnJvciIsZnVuY3Rpb24obCxwKXt2YXIgbj1wLmZpbGUsbyxtO2lmKG4pe289IjxzdHJvbmc+IitwLm1lc3NhZ2UrIjwvc3Ryb25nPiI7bT1wLmRldGFpbHM7aWYobSl7bys9IiA8YnIgLz48aT4iK3AuZGV0YWlscysiPC9pPiJ9ZWxzZXtzd2l0Y2gocC5jb2RlKXtjYXNlIGMuRklMRV9FWFRFTlNJT05fRVJST1I6bT1iKCJGaWxlOiAlcyIpLnJlcGxhY2UoIiVzIixuLm5hbWUpO2JyZWFrO2Nhc2UgYy5GSUxFX1NJWkVfRVJST1I6bT1iKCJGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtIikucmVwbGFjZSgvJShbZnNtXSkvZyxmdW5jdGlvbihyLHEpe3N3aXRjaChxKXtjYXNlImYiOnJldHVybiBuLm5hbWU7Y2FzZSJzIjpyZXR1cm4gbi5zaXplO2Nhc2UibSI6cmV0dXJuIGMucGFyc2VTaXplKGkub3B0aW9ucy5tYXhfZmlsZV9zaXplKX19KTticmVhaztjYXNlIGkuRklMRV9DT1VOVF9FUlJPUjptPWIoIlVwbG9hZCBlbGVtZW50IGFjY2VwdHMgb25seSAlZCBmaWxlKHMpIGF0IGEgdGltZS4gRXh0cmEgZmlsZXMgd2VyZSBzdHJpcHBlZC4iKS5yZXBsYWNlKCIlZCIsaS5vcHRpb25zLm1heF9maWxlX2NvdW50KTticmVhaztjYXNlIGMuSU1BR0VfRk9STUFUX0VSUk9SOm09Yy50cmFuc2xhdGUoIkltYWdlIGZvcm1hdCBlaXRoZXIgd3Jvbmcgb3Igbm90IHN1cHBvcnRlZC4iKTticmVhaztjYXNlIGMuSU1BR0VfTUVNT1JZX0VSUk9SOm09Yy50cmFuc2xhdGUoIlJ1bnRpbWUgcmFuIG91dCBvZiBhdmFpbGFibGUgbWVtb3J5LiIpO2JyZWFrO2Nhc2UgYy5JTUFHRV9ESU1FTlNJT05TX0VSUk9SOm09Yy50cmFuc2xhdGUoIlJlc291bHRpb24gb3V0IG9mIGJvdW5kYXJpZXMhIDxiPiVzPC9iPiBydW50aW1lIHN1cHBvcnRzIGltYWdlcyBvbmx5IHVwIHRvICV3eCVocHguIikucmVwbGFjZSgvJShbc3doXSkvZyxmdW5jdGlvbihyLHEpe3N3aXRjaChxKXtjYXNlInMiOnJldHVybiBsLnJ1bnRpbWU7Y2FzZSJ3IjpyZXR1cm4gbC5mZWF0dXJlcy5tYXhXaWR0aDtjYXNlImgiOnJldHVybiBsLmZlYXR1cmVzLm1heEhlaWdodH19KTticmVhaztjYXNlIGMuSFRUUF9FUlJPUjptPWIoIlVwbG9hZCBVUkwgbWlnaHQgYmUgd3Jvbmcgb3IgZG9lc24ndCBleGlzdCIpO2JyZWFrfW8rPSIgPGJyIC8+PGk+IittKyI8L2k+In1pLm5vdGlmeSgiZXJyb3IiLG8pO2kuX3RyaWdnZXIoImVycm9yIixudWxsLHt1cDpsLGZpbGU6bixlcnJvcjpvfSl9fSl9LF9zZXRPcHRpb246ZnVuY3Rpb24oaixrKXt2YXIgaT10aGlzO2lmKGo9PSJidXR0b25zIiYmdHlwZW9mKGspPT0ib2JqZWN0Iil7az1nLmV4dGVuZChpLm9wdGlvbnMuYnV0dG9ucyxrKTtpZighay5icm93c2Upe2kuYnJvd3NlX2J1dHRvbi5idXR0b24oImRpc2FibGUiKS5oaWRlKCk7dXAuZGlzYWJsZUJyb3dzZSh0cnVlKX1lbHNle2kuYnJvd3NlX2J1dHRvbi5idXR0b24oImVuYWJsZSIpLnNob3coKTt1cC5kaXNhYmxlQnJvd3NlKGZhbHNlKX1pZighay5zdGFydCl7aS5zdGFydF9idXR0b24uYnV0dG9uKCJkaXNhYmxlIikuaGlkZSgpfWVsc2V7aS5zdGFydF9idXR0b24uYnV0dG9uKCJlbmFibGUiKS5zaG93KCl9aWYoIWsuc3RvcCl7aS5zdG9wX2J1dHRvbi5idXR0b24oImRpc2FibGUiKS5oaWRlKCl9ZWxzZXtpLnN0YXJ0X2J1dHRvbi5idXR0b24oImVuYWJsZSIpLnNob3coKX19aS51cGxvYWRlci5zZXR0aW5nc1tqXT1rfSxzdGFydDpmdW5jdGlvbigpe3RoaXMudXBsb2FkZXIuc3RhcnQoKTt0aGlzLl90cmlnZ2VyKCJzdGFydCIsbnVsbCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLnVwbG9hZGVyLnN0b3AoKTt0aGlzLl90cmlnZ2VyKCJzdG9wIixudWxsKX0sZ2V0RmlsZTpmdW5jdGlvbihqKXt2YXIgaTtpZih0eXBlb2Ygaj09PSJudW1iZXIiKXtpPXRoaXMudXBsb2FkZXIuZmlsZXNbal19ZWxzZXtpPXRoaXMudXBsb2FkZXIuZ2V0RmlsZShqKX1yZXR1cm4gaX0scmVtb3ZlRmlsZTpmdW5jdGlvbihqKXt2YXIgaT10aGlzLmdldEZpbGUoaik7aWYoaSl7dGhpcy51cGxvYWRlci5yZW1vdmVGaWxlKGkpfX0sY2xlYXJRdWV1ZTpmdW5jdGlvbigpe3RoaXMudXBsb2FkZXIuc3BsaWNlKCl9LGdldFVwbG9hZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudXBsb2FkZXJ9LHJlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLnVwbG9hZGVyLnJlZnJlc2goKX0sX2hhbmRsZVN0YXRlOmZ1bmN0aW9uKCl7dmFyIGo9dGhpcyxpPXRoaXMudXBsb2FkZXI7aWYoaS5zdGF0ZT09PWMuU1RBUlRFRCl7ZyhqLnN0YXJ0X2J1dHRvbikuYnV0dG9uKCJkaXNhYmxlIik7ZyhbXSkuYWRkKGouc3RvcF9idXR0b24pLmFkZCgiLnBsdXBsb2FkX3N0YXJ0ZWQiKS5yZW1vdmVDbGFzcygicGx1cGxvYWRfaGlkZGVuIik7ZygiLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiLGouZWxlbWVudCkudGV4dChiKCJVcGxvYWRlZCAlZC8lZCBmaWxlcyIpLnJlcGxhY2UoIiVkLyVkIixpLnRvdGFsLnVwbG9hZGVkKyIvIitpLmZpbGVzLmxlbmd0aCkpO2coIi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCIsai5lbGVtZW50KS5hZGRDbGFzcygicGx1cGxvYWRfaGVhZGVyX2NvbnRlbnRfYnciKX1lbHNle2coW10pLmFkZChqLnN0b3BfYnV0dG9uKS5hZGQoIi5wbHVwbG9hZF9zdGFydGVkIikuYWRkQ2xhc3MoInBsdXBsb2FkX2hpZGRlbiIpO2lmKGoub3B0aW9ucy5tdWx0aXBsZV9xdWV1ZXMpe2coai5zdGFydF9idXR0b24pLmJ1dHRvbigiZW5hYmxlIik7ZygiLnBsdXBsb2FkX2hlYWRlcl9jb250ZW50IixqLmVsZW1lbnQpLnJlbW92ZUNsYXNzKCJwbHVwbG9hZF9oZWFkZXJfY29udGVudF9idyIpfWouX3VwZGF0ZUZpbGVMaXN0KCl9fSxfaGFuZGxlRmlsZVN0YXR1czpmdW5jdGlvbihsKXt2YXIgbixqO2lmKCFnKCIjIitsLmlkKS5sZW5ndGgpe3JldHVybn1zd2l0Y2gobC5zdGF0dXMpe2Nhc2UgYy5ET05FOm49InBsdXBsb2FkX2RvbmUiO2o9InVpLWljb24gdWktaWNvbi1jaXJjbGUtY2hlY2siO2JyZWFrO2Nhc2UgYy5GQUlMRUQ6bj0idWktc3RhdGUtZXJyb3IgcGx1cGxvYWRfZmFpbGVkIjtqPSJ1aS1pY29uIHVpLWljb24tYWxlcnQiO2JyZWFrO2Nhc2UgYy5RVUVVRUQ6bj0icGx1cGxvYWRfZGVsZXRlIjtqPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLW1pbnVzIjticmVhaztjYXNlIGMuVVBMT0FESU5HOm49InVpLXN0YXRlLWhpZ2hsaWdodCBwbHVwbG9hZF91cGxvYWRpbmciO2o9InVpLWljb24gdWktaWNvbi1jaXJjbGUtYXJyb3ctdyI7dmFyIGk9ZygiLnBsdXBsb2FkX3Njcm9sbCIsdGhpcy5jb250YWluZXIpLG09aS5zY3JvbGxUb3AoKSxvPWkuaGVpZ2h0KCksaz1nKCIjIitsLmlkKS5wb3NpdGlvbigpLnRvcCtnKCIjIitsLmlkKS5oZWlnaHQoKTtpZihvPGspe2kuc2Nyb2xsVG9wKG0ray1vKX1icmVha31uKz0iIHVpLXN0YXRlLWRlZmF1bHQgcGx1cGxvYWRfZmlsZSI7ZygiIyIrbC5pZCkuYXR0cigiY2xhc3MiLG4pLmZpbmQoIi51aS1pY29uIikuYXR0cigiY2xhc3MiLGopfSxfdXBkYXRlVG90YWxQcm9ncmVzczpmdW5jdGlvbigpe3ZhciBpPXRoaXMudXBsb2FkZXI7dGhpcy5wcm9ncmVzc2Jhci5wcm9ncmVzc2JhcigidmFsdWUiLGkudG90YWwucGVyY2VudCk7dGhpcy5lbGVtZW50LmZpbmQoIi5wbHVwbG9hZF90b3RhbF9zdGF0dXMiKS5odG1sKGkudG90YWwucGVyY2VudCsiJSIpLmVuZCgpLmZpbmQoIi5wbHVwbG9hZF90b3RhbF9maWxlX3NpemUiKS5odG1sKGMuZm9ybWF0U2l6ZShpLnRvdGFsLnNpemUpKS5lbmQoKS5maW5kKCIucGx1cGxvYWRfdXBsb2FkX3N0YXR1cyIpLnRleHQoYigiVXBsb2FkZWQgJWQvJWQgZmlsZXMiKS5yZXBsYWNlKCIlZC8lZCIsaS50b3RhbC51cGxvYWRlZCsiLyIraS5maWxlcy5sZW5ndGgpKX0sX3VwZGF0ZUZpbGVMaXN0OmZ1bmN0aW9uKCl7dmFyIGs9dGhpcyxqPXRoaXMudXBsb2FkZXIsbT10aGlzLmZpbGVsaXN0LGw9MCxvLG49dGhpcy5pZCsiXyIsaTtpZihnLnVpLnNvcnRhYmxlJiZ0aGlzLm9wdGlvbnMuc29ydGFibGUpe2coInRib2R5IixtKS5zb3J0YWJsZSgiZGVzdHJveSIpfW0uZW1wdHkoKTtnLmVhY2goai5maWxlcyxmdW5jdGlvbihxLHApe2k9IiI7bz1uK2w7aWYocC5zdGF0dXM9PT1jLkRPTkUpe2lmKHAudGFyZ2V0X25hbWUpe2krPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK28rJ190bXBuYW1lIiB2YWx1ZT0iJytjLnhtbEVuY29kZShwLnRhcmdldF9uYW1lKSsnIiAvPid9aSs9JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicrbysnX25hbWUiIHZhbHVlPSInK2MueG1sRW5jb2RlKHAubmFtZSkrJyIgLz4nO2krPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK28rJ19zdGF0dXMiIHZhbHVlPSInKyhwLnN0YXR1cz09PWMuRE9ORT8iZG9uZSI6ImZhaWxlZCIpKyciIC8+JztsKys7ay5jb3VudGVyLnZhbChsKX1tLmFwcGVuZCgnPHRyIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IHBsdXBsb2FkX2ZpbGUiIGlkPSInK3AuaWQrJyI+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfbmFtZSI+PHNwYW4+JytwLm5hbWUrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX3N0YXR1cyI+JytwLnBlcmNlbnQrJyU8L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX3NpemUiPicrYy5mb3JtYXRTaXplKHAuc2l6ZSkrJzwvdGQ+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfYWN0aW9uIj48ZGl2IGNsYXNzPSJ1aS1pY29uIj48L2Rpdj4nK2krIjwvdGQ+PC90cj4iKTtrLl9oYW5kbGVGaWxlU3RhdHVzKHApO2coIiMiK3AuaWQrIi5wbHVwbG9hZF9kZWxldGUgLnVpLWljb24sICMiK3AuaWQrIi5wbHVwbG9hZF9kb25lIC51aS1pY29uIikuY2xpY2soZnVuY3Rpb24ocil7ZygiIyIrcC5pZCkucmVtb3ZlKCk7ai5yZW1vdmVGaWxlKHApO3IucHJldmVudERlZmF1bHQoKX0pO2suX3RyaWdnZXIoInVwZGF0ZWxpc3QiLG51bGwsbSl9KTtpZihqLnRvdGFsLnF1ZXVlZD09PTApe2coIi51aS1idXR0b24tdGV4dCIsay5icm93c2VfYnV0dG9uKS50ZXh0KGIoIkFkZCBGaWxlcyIpKX1lbHNle2coIi51aS1idXR0b24tdGV4dCIsay5icm93c2VfYnV0dG9uKS50ZXh0KGIoIiVkIGZpbGVzIHF1ZXVlZCIpLnJlcGxhY2UoIiVkIixqLnRvdGFsLnF1ZXVlZCkpfWlmKGouZmlsZXMubGVuZ3RoPT09KGoudG90YWwudXBsb2FkZWQrai50b3RhbC5mYWlsZWQpKXtrLnN0YXJ0X2J1dHRvbi5idXR0b24oImRpc2FibGUiKX1lbHNle2suc3RhcnRfYnV0dG9uLmJ1dHRvbigiZW5hYmxlIil9bVswXS5zY3JvbGxUb3A9bVswXS5zY3JvbGxIZWlnaHQ7ay5fdXBkYXRlVG90YWxQcm9ncmVzcygpO2lmKCFqLmZpbGVzLmxlbmd0aCYmai5mZWF0dXJlcy5kcmFnZHJvcCYmai5zZXR0aW5ncy5kcmFnZHJvcCl7ZygiIyIrbysiX2ZpbGVsaXN0IikuYXBwZW5kKCc8dHI+PHRkIGNsYXNzPSJwbHVwbG9hZF9kcm9wdGV4dCI+JytiKCJEcmFnIGZpbGVzIGhlcmUuIikrIjwvdGQ+PC90cj4iKX1lbHNle2lmKGsub3B0aW9ucy5zb3J0YWJsZSYmZy51aS5zb3J0YWJsZSl7ay5fZW5hYmxlU29ydGluZ0xpc3QoKX19fSxfZW5hYmxlUmVuYW1pbmc6ZnVuY3Rpb24oKXt2YXIgaT10aGlzO2coIi5wbHVwbG9hZF9kZWxldGUgLnBsdXBsb2FkX2ZpbGVfbmFtZSBzcGFuIix0aGlzLmZpbGVsaXN0KS5saXZlKCJjbGljayIsZnVuY3Rpb24obyl7dmFyIG09ZyhvLnRhcmdldCksayxuLGosbD0iIjtrPWkudXBsb2FkZXIuZ2V0RmlsZShtLnBhcmVudHMoInRyIilbMF0uaWQpO2o9ay5uYW1lO249L14oLispKFwuW14uXSspJC8uZXhlYyhqKTtpZihuKXtqPW5bMV07bD1uWzJdfW0uaGlkZSgpLmFmdGVyKCc8aW5wdXQgY2xhc3M9InBsdXBsb2FkX2ZpbGVfcmVuYW1lIiB0eXBlPSJ0ZXh0IiAvPicpO20ubmV4dCgpLnZhbChqKS5mb2N1cygpLmJsdXIoZnVuY3Rpb24oKXttLnNob3coKS5uZXh0KCkucmVtb3ZlKCl9KS5rZXlkb3duKGZ1bmN0aW9uKHEpe3ZhciBwPWcodGhpcyk7aWYoZy5pbkFycmF5KHEua2V5Q29kZSxbMTMsMjddKSE9PS0xKXtxLnByZXZlbnREZWZhdWx0KCk7aWYocS5rZXlDb2RlPT09MTMpe2submFtZT1wLnZhbCgpK2w7bS50ZXh0KGsubmFtZSl9cC5ibHVyKCl9fSl9KX0sX2VuYWJsZURyYWdBbmREcm9wOmZ1bmN0aW9uKCl7dGhpcy5maWxlbGlzdC5hcHBlbmQoJzx0cj48dGQgY2xhc3M9InBsdXBsb2FkX2Ryb3B0ZXh0Ij4nK2IoIkRyYWcgZmlsZXMgaGVyZS4iKSsiPC90ZD48L3RyPiIpO3RoaXMuZmlsZWxpc3QucGFyZW50KCkuYXR0cigiaWQiLHRoaXMuaWQrIl9kcm9wYm94Iik7dGhpcy51cGxvYWRlci5zZXR0aW5ncy5kcm9wX2VsZW1lbnQ9dGhpcy5vcHRpb25zLmRyb3BfZWxlbWVudD10aGlzLmlkKyJfZHJvcGJveCJ9LF9lbmFibGVTb3J0aW5nTGlzdDpmdW5jdGlvbigpe3ZhciBqLGk9dGhpcztpZihnKCJ0Ym9keSB0ciIsdGhpcy5maWxlbGlzdCkubGVuZ3RoPDIpe3JldHVybn1nKCJ0Ym9keSIsdGhpcy5maWxlbGlzdCkuc29ydGFibGUoe2NvbnRhaW5tZW50OiJwYXJlbnQiLGl0ZW1zOiIucGx1cGxvYWRfZGVsZXRlIixoZWxwZXI6ZnVuY3Rpb24obCxrKXtyZXR1cm4gay5jbG9uZSh0cnVlKS5maW5kKCJ0ZDpub3QoLnBsdXBsb2FkX2ZpbGVfbmFtZSkiKS5yZW1vdmUoKS5lbmQoKS5jc3MoIndpZHRoIiwiMTAwJSIpfSxzdG9wOmZ1bmN0aW9uKHAsbyl7dmFyIGwsbixrLG09W107Zy5lYWNoKGcodGhpcykuc29ydGFibGUoInRvQXJyYXkiKSxmdW5jdGlvbihxLHIpe21bbS5sZW5ndGhdPWkudXBsb2FkZXIuZ2V0RmlsZShyKX0pO20udW5zaGlmdChtLmxlbmd0aCk7bS51bnNoaWZ0KDApO0FycmF5LnByb3RvdHlwZS5zcGxpY2UuYXBwbHkoaS51cGxvYWRlci5maWxlcyxtKX19KX0sbm90aWZ5OmZ1bmN0aW9uKGosayl7dmFyIGk9ZygnPGRpdiBjbGFzcz0icGx1cGxvYWRfbWVzc2FnZSI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX21lc3NhZ2VfY2xvc2UgdWktaWNvbiB1aS1pY29uLWNpcmNsZS1jbG9zZSIgdGl0bGU9IicrYigiQ2xvc2UiKSsnIj48L3NwYW4+PHA+PHNwYW4gY2xhc3M9InVpLWljb24iPjwvc3Bhbj4nK2srIjwvcD48L2Rpdj4iKTtpLmFkZENsYXNzKCJ1aS1zdGF0ZS0iKyhqPT09ImVycm9yIj8iZXJyb3IiOiJoaWdobGlnaHQiKSkuZmluZCgicCAudWktaWNvbiIpLmFkZENsYXNzKCJ1aS1pY29uLSIrKGo9PT0iZXJyb3IiPyJhbGVydCI6ImluZm8iKSkuZW5kKCkuZmluZCgiLnBsdXBsb2FkX21lc3NhZ2VfY2xvc2UiKS5jbGljayhmdW5jdGlvbigpe2kucmVtb3ZlKCl9KS5lbmQoKTtnKCIucGx1cGxvYWRfaGVhZGVyX2NvbnRlbnQiLHRoaXMuY29udGFpbmVyKS5hcHBlbmQoaSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtnKCIucGx1cGxvYWRfYnV0dG9uIix0aGlzLmVsZW1lbnQpLnVuYmluZCgpO2lmKGcudWkuYnV0dG9uKXtnKCIucGx1cGxvYWRfYWRkLCAucGx1cGxvYWRfc3RhcnQsIC5wbHVwbG9hZF9zdG9wIix0aGlzLmNvbnRhaW5lcikuYnV0dG9uKCJkZXN0cm95Iil9aWYoZy51aS5wcm9ncmVzc2Jhcil7dGhpcy5wcm9ncmVzc2Jhci5wcm9ncmVzc2JhcigiZGVzdHJveSIpfWlmKGcudWkuc29ydGFibGUmJnRoaXMub3B0aW9ucy5zb3J0YWJsZSl7ZygidGJvZHkiLHRoaXMuZmlsZWxpc3QpLnNvcnRhYmxlKCJkZXN0cm95Iil9dGhpcy51cGxvYWRlci5kZXN0cm95KCk7dGhpcy5lbGVtZW50LmVtcHR5KCkuaHRtbCh0aGlzLmNvbnRlbnRzX2Jhayk7dGhpcy5jb250ZW50c19iYWs9IiI7Zy5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcyl9fSl9KHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCxqUXVlcnkpKTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.browserplus.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGEpe2EucnVudGltZXMuQnJvd3NlclBsdXM9YS5hZGRSdW50aW1lKCJicm93c2VycGx1cyIse2dldEZlYXR1cmVzOmZ1bmN0aW9uKCl7cmV0dXJue2RyYWdkcm9wOnRydWUsanBncmVzaXplOnRydWUscG5ncmVzaXplOnRydWUsY2h1bmtzOnRydWUscHJvZ3Jlc3M6dHJ1ZSxtdWx0aXBhcnQ6dHJ1ZSxtdWx0aV9zZWxlY3Rpb246dHJ1ZX19LGluaXQ6ZnVuY3Rpb24oZyxpKXt2YXIgZT13aW5kb3cuQnJvd3NlclBsdXMsaD17fSxkPWcuc2V0dGluZ3MsYz1kLnJlc2l6ZTtmdW5jdGlvbiBmKG4pe3ZhciBtLGwsaj1bXSxrLG87Zm9yKGw9MDtsPG4ubGVuZ3RoO2wrKyl7az1uW2xdO289YS5ndWlkKCk7aFtvXT1rO2oucHVzaChuZXcgYS5GaWxlKG8say5uYW1lLGsuc2l6ZSkpfWlmKGwpe2cudHJpZ2dlcigiRmlsZXNBZGRlZCIsail9fWZ1bmN0aW9uIGIoKXt2YXIgaj1mYWxzZTtnLmJpbmQoIlBvc3RJbml0IixmdW5jdGlvbigpe3ZhciBuLGw9ZC5kcm9wX2VsZW1lbnQscD1nLmlkKyJfZHJvcHRhcmdldCIsaz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChsKSxtO2Z1bmN0aW9uIHEocyxyKXtlLkRyYWdBbmREcm9wLkFkZERyb3BUYXJnZXQoe2lkOnN9LGZ1bmN0aW9uKHQpe2UuRHJhZ0FuZERyb3AuQXR0YWNoQ2FsbGJhY2tzKHtpZDpzLGhvdmVyOmZ1bmN0aW9uKHUpe2lmKCF1JiZyKXtyKCl9fSxkcm9wOmZ1bmN0aW9uKHUpe2lmKHIpe3IoKX1mKHUpfX0sZnVuY3Rpb24oKXt9KX0pfWZ1bmN0aW9uIG8oKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwKS5zdHlsZS50b3A9Ii0xMDAwcHgifWlmKGspe2lmKGRvY3VtZW50LmF0dGFjaEV2ZW50JiYoL01TSUUvZ2kpLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpe249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5zZXRBdHRyaWJ1dGUoImlkIixwKTthLmV4dGVuZChuLnN0eWxlLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiLTEwMDBweCIsYmFja2dyb3VuZDoicmVkIixmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MCkiLG9wYWNpdHk6MH0pO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobik7YS5hZGRFdmVudChrLCJkcmFnZW50ZXIiLGZ1bmN0aW9uKHMpe3ZhciByLHQ7cj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChsKTt0PWEuZ2V0UG9zKHIpO2EuZXh0ZW5kKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHApLnN0eWxlLHt0b3A6dC55KyJweCIsbGVmdDp0LngrInB4Iix3aWR0aDpyLm9mZnNldFdpZHRoKyJweCIsaGVpZ2h0OnIub2Zmc2V0SGVpZ2h0KyJweCJ9KX0pO3EocCxvKX1lbHNle3EobCl9fWEuYWRkRXZlbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZC5icm93c2VfYnV0dG9uKSwiY2xpY2siLGZ1bmN0aW9uKHgpe3ZhciByPVtdLHQscyx3PWQuZmlsdGVycyx2LHU7eC5wcmV2ZW50RGVmYXVsdCgpO2lmKGope3JldHVybn1ub190eXBlX3Jlc3RyaWN0aW9uOmZvcih0PTA7dDx3Lmxlbmd0aDt0Kyspe3Y9d1t0XS5leHRlbnNpb25zLnNwbGl0KCIsIik7Zm9yKHM9MDtzPHYubGVuZ3RoO3MrKyl7aWYodltzXT09PSIqIil7cj1bXTticmVhayBub190eXBlX3Jlc3RyaWN0aW9ufXU9YS5taW1lVHlwZXNbdltzXV07aWYodSYmYS5pbkFycmF5KHUscik9PT0tMSl7ci5wdXNoKGEubWltZXNbdltzXV0pfX19ZS5GaWxlQnJvd3NlLk9wZW5Ccm93c2VEaWFsb2coe21pbWVUeXBlczpyfSxmdW5jdGlvbih5KXtpZih5LnN1Y2Nlc3Mpe2YoeS52YWx1ZSl9fSl9KTtrPW49bnVsbH0pO2cuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2UuVXBsb2FkZXIuY2FuY2VsKCl9KTtnLmJpbmQoIkRpc2FibGVCcm93c2UiLGZ1bmN0aW9uKGssbCl7aj1sfSk7Zy5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihuLGspe3ZhciBtPWhbay5pZF0scz17fSxsPW4uc2V0dGluZ3MuY2h1bmtfc2l6ZSxvLHA9W107ZnVuY3Rpb24gcih0LHYpe3ZhciB1O2lmKGsuc3RhdHVzPT1hLkZBSUxFRCl7cmV0dXJufXMubmFtZT1rLnRhcmdldF9uYW1lfHxrLm5hbWU7aWYobCl7cy5jaHVuaz0iIit0O3MuY2h1bmtzPSIiK3Z9dT1wLnNoaWZ0KCk7ZS5VcGxvYWRlci51cGxvYWQoe3VybDpuLnNldHRpbmdzLnVybCxmaWxlczp7ZmlsZTp1fSxjb29raWVzOmRvY3VtZW50LmNvb2tpZXMscG9zdHZhcnM6YS5leHRlbmQocyxuLnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpLHByb2dyZXNzQ2FsbGJhY2s6ZnVuY3Rpb24oeSl7dmFyIHgsdz0wO29bdF09cGFyc2VJbnQoeS5maWxlUGVyY2VudCp1LnNpemUvMTAwLDEwKTtmb3IoeD0wO3g8by5sZW5ndGg7eCsrKXt3Kz1vW3hdfWsubG9hZGVkPXc7bi50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsayl9fSxmdW5jdGlvbih4KXt2YXIgdyx5O2lmKHguc3VjY2Vzcyl7dz14LnZhbHVlLnN0YXR1c0NvZGU7aWYobCl7bi50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIixrLHtjaHVuazp0LGNodW5rczp2LHJlc3BvbnNlOngudmFsdWUuYm9keSxzdGF0dXM6d30pfWlmKHAubGVuZ3RoPjApe3IoKyt0LHYpfWVsc2V7ay5zdGF0dXM9YS5ET05FO24udHJpZ2dlcigiRmlsZVVwbG9hZGVkIixrLHtyZXNwb25zZTp4LnZhbHVlLmJvZHksc3RhdHVzOnd9KTtpZih3Pj00MDApe24udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmEuSFRUUF9FUlJPUixtZXNzYWdlOmEudHJhbnNsYXRlKCJIVFRQIEVycm9yLiIpLGZpbGU6ayxzdGF0dXM6d30pfX19ZWxzZXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTphLkdFTkVSSUNfRVJST1IsbWVzc2FnZTphLnRyYW5zbGF0ZSgiR2VuZXJpYyBFcnJvci4iKSxmaWxlOmssZGV0YWlsczp4LmVycm9yfSl9fSl9ZnVuY3Rpb24gcSh0KXtrLnNpemU9dC5zaXplO2lmKGwpe2UuRmlsZUFjY2Vzcy5jaHVuayh7ZmlsZTp0LGNodW5rU2l6ZTpsfSxmdW5jdGlvbih3KXtpZih3LnN1Y2Nlc3Mpe3ZhciB4PXcudmFsdWUsdT14Lmxlbmd0aDtvPUFycmF5KHUpO2Zvcih2YXIgdj0wO3Y8dTt2Kyspe29bdl09MDtwLnB1c2goeFt2XSl9cigwLHUpfX0pfWVsc2V7bz1BcnJheSgxKTtwLnB1c2godCk7cigwLDEpfX1pZihjJiYvXC4ocG5nfGpwZ3xqcGVnKSQvaS50ZXN0KGsubmFtZSkpe0Jyb3dzZXJQbHVzLkltYWdlQWx0ZXIudHJhbnNmb3JtKHtmaWxlOm0scXVhbGl0eTpjLnF1YWxpdHl8fDkwLGFjdGlvbnM6W3tzY2FsZTp7bWF4d2lkdGg6Yy53aWR0aCxtYXhoZWlnaHQ6Yy5oZWlnaHR9fV19LGZ1bmN0aW9uKHQpe2lmKHQuc3VjY2Vzcyl7cSh0LnZhbHVlLmZpbGUpfX0pfWVsc2V7cShtKX19KTtpKHtzdWNjZXNzOnRydWV9KX1pZihlKXtlLmluaXQoZnVuY3Rpb24oayl7dmFyIGo9W3tzZXJ2aWNlOiJVcGxvYWRlciIsdmVyc2lvbjoiMyJ9LHtzZXJ2aWNlOiJEcmFnQW5kRHJvcCIsdmVyc2lvbjoiMSJ9LHtzZXJ2aWNlOiJGaWxlQnJvd3NlIix2ZXJzaW9uOiIxIn0se3NlcnZpY2U6IkZpbGVBY2Nlc3MiLHZlcnNpb246IjIifV07aWYoYyl7ai5wdXNoKHtzZXJ2aWNlOiJJbWFnZUFsdGVyIix2ZXJzaW9uOiI0In0pfWlmKGsuc3VjY2Vzcyl7ZS5yZXF1aXJlKHtzZXJ2aWNlczpqfSxmdW5jdGlvbihsKXtpZihsLnN1Y2Nlc3Mpe2IoKX1lbHNle2koKX19KX1lbHNle2koKX19KX1lbHNle2koKX19fSl9KShwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.flash.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGYsYixkLGUpe3ZhciBhPXt9LGc9e307ZnVuY3Rpb24gYygpe3ZhciBoO3RyeXtoPW5hdmlnYXRvci5wbHVnaW5zWyJTaG9ja3dhdmUgRmxhc2giXTtoPWguZGVzY3JpcHRpb259Y2F0Y2goail7dHJ5e2g9bmV3IEFjdGl2ZVhPYmplY3QoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoIikuR2V0VmFyaWFibGUoIiR2ZXJzaW9uIil9Y2F0Y2goaSl7aD0iMC4wIn19aD1oLm1hdGNoKC9cZCsvZyk7cmV0dXJuIHBhcnNlRmxvYXQoaFswXSsiLiIraFsxXSl9ZC5mbGFzaD17dHJpZ2dlcjpmdW5jdGlvbihqLGgsaSl7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBtPWFbal0sbCxrO2lmKG0pe20udHJpZ2dlcigiRmxhc2g6IitoLGkpfX0sMCl9fTtkLnJ1bnRpbWVzLkZsYXNoPWQuYWRkUnVudGltZSgiZmxhc2giLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxtYXhXaWR0aDo4MDkxLG1heEhlaWdodDo4MDkxLGNodW5rczp0cnVlLHByb2dyZXNzOnRydWUsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWV9fSxpbml0OmZ1bmN0aW9uKG0sbyl7dmFyIGssbCxoPTAsaT1iLmJvZHk7aWYoYygpPDEwKXtvKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWdbbS5pZF09ZmFsc2U7YVttLmlkXT1tO2s9Yi5nZXRFbGVtZW50QnlJZChtLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2w9Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLmlkPW0uaWQrIl9mbGFzaF9jb250YWluZXIiO2QuZXh0ZW5kKGwuc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6bS5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSk7bC5jbGFzc05hbWU9InBsdXBsb2FkIGZsYXNoIjtpZihtLnNldHRpbmdzLmNvbnRhaW5lcil7aT1iLmdldEVsZW1lbnRCeUlkKG0uc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGksInBvc2l0aW9uIik9PT0ic3RhdGljIil7aS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1pLmFwcGVuZENoaWxkKGwpOyhmdW5jdGlvbigpe3ZhciBwLHE7cD0nPG9iamVjdCBpZD0iJyttLmlkKydfZmxhc2giIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBkYXRhPSInK20uc2V0dGluZ3MuZmxhc2hfc3dmX3VybCsnIiAnO2lmKGQudWEuaWUpe3ArPSdjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiICd9cCs9J3dpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvdXRsaW5lOjAiPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicrbS5zZXR0aW5ncy5mbGFzaF9zd2ZfdXJsKyciIC8+PHBhcmFtIG5hbWU9ImZsYXNodmFycyIgdmFsdWU9ImlkPScrZXNjYXBlKG0uaWQpKyciIC8+PHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0idHJhbnNwYXJlbnQiIC8+PHBhcmFtIG5hbWU9ImFsbG93c2NyaXB0YWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPjwvb2JqZWN0Pic7aWYoZC51YS5pZSl7cT1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuYXBwZW5kQ2hpbGQocSk7cS5vdXRlckhUTUw9cDtxPW51bGx9ZWxzZXtsLmlubmVySFRNTD1wfX0oKSk7ZnVuY3Rpb24gbigpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKG0uaWQrIl9mbGFzaCIpfWZ1bmN0aW9uIGooKXtpZihoKys+NTAwMCl7byh7c3VjY2VzczpmYWxzZX0pO3JldHVybn1pZighZ1ttLmlkXSl7c2V0VGltZW91dChqLDEpfX1qKCk7az1sPW51bGw7bS5iaW5kKCJGbGFzaDpJbml0IixmdW5jdGlvbigpe3ZhciBxPXt9LHA7bigpLnNldEZpbGVGaWx0ZXJzKG0uc2V0dGluZ3MuZmlsdGVycyxtLnNldHRpbmdzLm11bHRpX3NlbGVjdGlvbik7aWYoZ1ttLmlkXSl7cmV0dXJufWdbbS5pZF09dHJ1ZTttLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHIsdCl7dmFyIHU9ci5zZXR0aW5ncyxzPW0uc2V0dGluZ3MucmVzaXplfHx7fTtuKCkudXBsb2FkRmlsZShxW3QuaWRdLHUudXJsLHtuYW1lOnQudGFyZ2V0X25hbWV8fHQubmFtZSxtaW1lOmQubWltZVR5cGVzW3QubmFtZS5yZXBsYWNlKC9eLitcLihbXi5dKykvLCIkMSIpLnRvTG93ZXJDYXNlKCldfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIixjaHVua19zaXplOnUuY2h1bmtfc2l6ZSx3aWR0aDpzLndpZHRoLGhlaWdodDpzLmhlaWdodCxxdWFsaXR5OnMucXVhbGl0eSxtdWx0aXBhcnQ6dS5tdWx0aXBhcnQsbXVsdGlwYXJ0X3BhcmFtczp1Lm11bHRpcGFydF9wYXJhbXN8fHt9LGZpbGVfZGF0YV9uYW1lOnUuZmlsZV9kYXRhX25hbWUsZm9ybWF0Oi9cLihqcGd8anBlZykkL2kudGVzdCh0Lm5hbWUpPyJqcGciOiJwbmciLGhlYWRlcnM6dS5oZWFkZXJzLHVybHN0cmVhbV91cGxvYWQ6dS51cmxzdHJlYW1fdXBsb2FkfSl9KTttLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtuKCkuY2FuY2VsVXBsb2FkKCl9KTttLmJpbmQoIkZsYXNoOlVwbG9hZFByb2Nlc3MiLGZ1bmN0aW9uKHMscil7dmFyIHQ9cy5nZXRGaWxlKHFbci5pZF0pO2lmKHQuc3RhdHVzIT1kLkZBSUxFRCl7dC5sb2FkZWQ9ci5sb2FkZWQ7dC5zaXplPXIuc2l6ZTtzLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix0KX19KTttLmJpbmQoIkZsYXNoOlVwbG9hZENodW5rQ29tcGxldGUiLGZ1bmN0aW9uKHIsdCl7dmFyIHUscz1yLmdldEZpbGUocVt0LmlkXSk7dT17Y2h1bms6dC5jaHVuayxjaHVua3M6dC5jaHVua3MscmVzcG9uc2U6dC50ZXh0fTtyLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHMsdSk7aWYocy5zdGF0dXMhPT1kLkZBSUxFRCYmci5zdGF0ZSE9PWQuU1RPUFBFRCl7bigpLnVwbG9hZE5leHRDaHVuaygpfWlmKHQuY2h1bms9PXQuY2h1bmtzLTEpe3Muc3RhdHVzPWQuRE9ORTtyLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIscyx7cmVzcG9uc2U6dC50ZXh0fSl9fSk7bS5iaW5kKCJGbGFzaDpTZWxlY3RGaWxlcyIsZnVuY3Rpb24ocix1KXt2YXIgdCxzLHY9W10sdztmb3Iocz0wO3M8dS5sZW5ndGg7cysrKXt0PXVbc107dz1kLmd1aWQoKTtxW3ddPXQuaWQ7cVt0LmlkXT13O3YucHVzaChuZXcgZC5GaWxlKHcsdC5uYW1lLHQuc2l6ZSkpfWlmKHYubGVuZ3RoKXttLnRyaWdnZXIoIkZpbGVzQWRkZWQiLHYpfX0pO20uYmluZCgiRmxhc2g6U2VjdXJpdHlFcnJvciIsZnVuY3Rpb24ocixzKXttLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLlNFQ1VSSVRZX0VSUk9SLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIlNlY3VyaXR5IGVycm9yLiIpLGRldGFpbHM6cy5tZXNzYWdlLGZpbGU6bS5nZXRGaWxlKHFbcy5pZF0pfSl9KTttLmJpbmQoIkZsYXNoOkdlbmVyaWNFcnJvciIsZnVuY3Rpb24ocixzKXttLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLkdFTkVSSUNfRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiR2VuZXJpYyBlcnJvci4iKSxkZXRhaWxzOnMubWVzc2FnZSxmaWxlOm0uZ2V0RmlsZShxW3MuaWRdKX0pfSk7bS5iaW5kKCJGbGFzaDpJT0Vycm9yIixmdW5jdGlvbihyLHMpe20udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmQuSU9fRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiSU8gZXJyb3IuIiksZGV0YWlsczpzLm1lc3NhZ2UsZmlsZTptLmdldEZpbGUocVtzLmlkXSl9KX0pO20uYmluZCgiRmxhc2g6SW1hZ2VFcnJvciIsZnVuY3Rpb24ocixzKXttLnRyaWdnZXIoIkVycm9yIix7Y29kZTpwYXJzZUludChzLmNvZGUsMTApLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIkltYWdlIGVycm9yLiIpLGZpbGU6bS5nZXRGaWxlKHFbcy5pZF0pfSl9KTttLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6cm9sbE92ZXIiLGZ1bmN0aW9uKHIpe3ZhciBzLHQ7cz1iLmdldEVsZW1lbnRCeUlkKG0uc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dD1yLnNldHRpbmdzLmJyb3dzZV9idXR0b25faG92ZXI7aWYocyYmdCl7ZC5hZGRDbGFzcyhzLHQpfX0pO20uYmluZCgiRmxhc2g6U3RhZ2VFdmVudDpyb2xsT3V0IixmdW5jdGlvbihyKXt2YXIgcyx0O3M9Yi5nZXRFbGVtZW50QnlJZChtLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3Q9ci5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHMmJnQpe2QucmVtb3ZlQ2xhc3Mocyx0KX19KTttLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VEb3duIixmdW5jdGlvbihyKXt2YXIgcyx0O3M9Yi5nZXRFbGVtZW50QnlJZChtLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3Q9ci5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2FjdGl2ZTtpZihzJiZ0KXtkLmFkZENsYXNzKHMsdCk7ZC5hZGRFdmVudChiLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7ZC5yZW1vdmVDbGFzcyhzLHQpfSxyLmlkKX19KTttLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VVcCIsZnVuY3Rpb24ocil7dmFyIHMsdDtzPWIuZ2V0RWxlbWVudEJ5SWQobS5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt0PXIuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmU7aWYocyYmdCl7ZC5yZW1vdmVDbGFzcyhzLHQpfX0pO20uYmluZCgiRmxhc2g6RXhpZkRhdGEiLGZ1bmN0aW9uKHIscyl7bS50cmlnZ2VyKCJFeGlmRGF0YSIsbS5nZXRGaWxlKHFbcy5pZF0pLHMuZGF0YSl9KTttLmJpbmQoIkZsYXNoOkdwc0RhdGEiLGZ1bmN0aW9uKHIscyl7bS50cmlnZ2VyKCJHcHNEYXRhIixtLmdldEZpbGUocVtzLmlkXSkscy5kYXRhKX0pO20uYmluZCgiUXVldWVDaGFuZ2VkIixmdW5jdGlvbihyKXttLnJlZnJlc2goKX0pO20uYmluZCgiRmlsZXNSZW1vdmVkIixmdW5jdGlvbihyLHQpe3ZhciBzO2ZvcihzPTA7czx0Lmxlbmd0aDtzKyspe24oKS5yZW1vdmVGaWxlKHFbdFtzXS5pZF0pfX0pO20uYmluZCgiU3RhdGVDaGFuZ2VkIixmdW5jdGlvbihyKXttLnJlZnJlc2goKX0pO20uYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24ocil7dmFyIHMsdCx1O24oKS5zZXRGaWxlRmlsdGVycyhtLnNldHRpbmdzLmZpbHRlcnMsbS5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24pO3M9Yi5nZXRFbGVtZW50QnlJZChyLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHMpe3Q9ZC5nZXRQb3MocyxiLmdldEVsZW1lbnRCeUlkKHIuc2V0dGluZ3MuY29udGFpbmVyKSk7dT1kLmdldFNpemUocyk7ZC5leHRlbmQoYi5nZXRFbGVtZW50QnlJZChyLmlkKyJfZmxhc2hfY29udGFpbmVyIikuc3R5bGUse3RvcDp0LnkrInB4IixsZWZ0OnQueCsicHgiLHdpZHRoOnUudysicHgiLGhlaWdodDp1LmgrInB4In0pfX0pO20uYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24ocixzKXtuKCkuZGlzYWJsZUJyb3dzZShzKX0pO20uYmluZCgiRGVzdHJveSIsZnVuY3Rpb24ocil7dmFyIHM7ZC5yZW1vdmVBbGxFdmVudHMoYi5ib2R5LHIuaWQpO2RlbGV0ZSBnW3IuaWRdO2RlbGV0ZSBhW3IuaWRdO3M9Yi5nZXRFbGVtZW50QnlJZChyLmlkKyJfZmxhc2hfY29udGFpbmVyIik7aWYocyl7aS5yZW1vdmVDaGlsZChzKX19KTtvKHtzdWNjZXNzOnRydWV9KX0pfX0pfSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.flash.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q1dTCg6FAAB42s19CXxTVfb/u/e95GVrmrS0IIgWfQGsKS24owKlC7QCQdoCOlPaJM1rqm0Tm5TF2RDBfUPcx6WAOyg67ruijss4mrRSXGbc930ddWa0/++57yVNAZ3f/D+//+fzrz13Offcc889995zz7lJcaWkpiRpdFyS9mFStXcvSZL+UPgsk6Sjetr06Yuqa0tWdnV2J6ajdvSkaDIZn15evmLFiikrDpoS62kvn3rEEUeUV0wrnzatDBRliVXdyeDKsu7E/pNmCAbVkUS4pyOe7Ih1l1A9GIr1Jo+eNMnk2hbOMo339nQKlm3h8khnpCvSnUyUT50yFYzawtP1WE9XMDkjGI93doSDxK58ZVkiGgufuCK4PFKmdwYT0aPKhwmpT7Ij2RmZUdkWC0VKajsjK0sOLqkc7i+oDRIibhsWdEbONIPUe0o41lUe74m19YYhkw5WonNuF2IR7w11diSikZ4Zvd0ndsdWGEMMY4km3BMJJmMjKTI4au8Mdrf3BtsjM2oWiLZsXcgYTEZm1Ae7Sw71l0yrmDrNkIKQR5XvomwTg/WbIVV7PpCPkqr40NDQ8Q4ZC2wFKOy5GZL4mfDkIXcejAUfdGCaLfHO3nhnLNjWstAsSI+MeniNJIFA0nuCXZGpkkeagv/ATVWHZvbt++aQ/NKQ/OF5/LoL+Oo+fsqjfM2j/FT89vEr1vGr1vEbLuCnXMvXXMtPv5afcS0/E+Wn+alP89Oe5muf5mc8zc98mp/1NH9rSP50SH50SH58SE4NyTuH5FeG5JeH5DeG5LPuvDHaf8bGZ5UX16x/VnniyoufVYaG5FeH5CeGZKnYmEbdLEl6A0J9XolKm+eeT5G/8bS99M1Kyfz5PDj39oVT/zHz2dj89be+/83Mm72dn4dSX8088pEbHu3QPpz5QMlTvzn52DdnNm/pea3pxvTMMytb303tNzAz5Fl6xJ1PvzXzmeUPXzO2/KGZruWP311z+ZOP/LP6aq35oB0zDe5vzNRC9Vr6L6/MjK8Y7H4gdefMGZdF9Kv73pt5RHnzDW/97qWZay2SsjzW0WZtSPZ0dLe7xKadEllOO91SQ1newp5Ye08kkRA1V12gpqcn1iMqBQ2RcG9PR3LVMGoU1mtK18qOKR1d2CEmo/yalR36wmBPImIQOeqoURTt1cFk0OBMPTMr7WkSWVUUe1K0KrUdnRF1dizWGQl2WwOhEyLhpKWypye4yrqgtysU6bEbkndHknlEuiiiR3oi3eGI3NGdtNX2dodpBzoNot5kR2fCPntVMiI4CJmNM9oZS5gyj5ndkewKxkm8pu7Ojq6OZKTN0IfBo60jEe8MrnIMkym9GCq/zkT0BFcEQ50Rh0HdHol1WecHoeOV7qpYZ6ynsSfYnaAx7YswExyozogdPY1VsGX2ubUhDvVGinJVMz3TaA/DbJxYiYNqnx9b3hGp6uyIO3Vj7vM6EknvCD0QxkKtCUd1h1BGsGeVvaOtKtbbnYz0OLGQoEtSH97RJvigjJZEXldvZ7IjLuqRhMscQWhONSv2FqiDptumdHR3JEdT0tBBkxohgzMcRNop1OhMwKCGk8Z+SCQz+yFfFKtoZoa2Tcaze2IrEhGHMXNimm8UF0RWJsUucfREumLLxXguYxhjCznC2DE9QnR3IiLmZ87Lrnf0mIOKtBorGkyGYRW9I/RNXWwt5kwdLbgSsEqRYJe9adE8o+RoMUbE/NEuejX1dDrN4sJgMmpv6eroijSuikfklo42u+C2AIbL0pLoODniaBGnhTaRo8XQdrAnmSeoCEmU9pYwTRNKtRol1cgSDiNvAB97SzyWSC7HQbO1RCPBNppkCyadRK+ELTOmQkNaDdkKIHhTItLQ0YX1NRTmSuRU3MG25TS1NqO6755O9/Th06yEY20RS7gz1h0ZP0KHux5ni5DZasxA2yPXXWyGgjslqJqUo6rIDOyyanubjdP31Gg1uHqCbcYppuMQ6Y70jDa2TWVn5wh0Im+ETBYxxcIROGPaaksi1tsTxkJ2dOsxa8uKjrZkVIX2O9qjSVvLSb3BTthHtYWmDynmGZmx3vbsqlsS4WBnJK+lPZIUXOvAyxvrHrYti7Caq+SFC+Z4R8oAjNwS6nHN7qDjvEisuUKSOImX0Hdl0jGsyjEjuw83qDFdx05JKDh+CRsSurcTSs3Sulp5zsIGFW1EbAdXYyxrR6J+Yc2cPBK5tjpg9HbiNPYEw8lGMLECgbxsT8Z1+s8a1xHUhXsgmzCCYk+MlJb2Dl2e04Gzii3fKcytqyVJBhfHikxPSyjbyzFctAqfJ6K0wXR7Yt3GUlXF6DAkI542cytlEArNvmCkOglla+kK9pyIHeQ2dTHXOIgOKCpTTGSLeR3dUH6mZoG/2R7xdq2c0t4TjEc7wokpdKDCeXXGEeumWs++u7VPH9HuDMdg0buTZG2sEYHLN7LsjefAvjGp996d23CjLdwTbiTzW0AWvQN7+eRI1aIqgXJ30L3RHew0aB0r6KYSO25v0oPJYUowoR1yyNTp2btN7ox0y8uDnc4covG7y5DTOiaRbGtpC7d09nZh58EYtXT3UENi9G4N4NsbSYw18eFoT2yXLnvtocnoJEYJ/twowZ8ZJfjzowT3NIr1+I7244Pt1uOqq1rmNqpNi0VuPa7SrIrchmAg0h7rWaVicxJD63FC42g3cr0tGepsOc5m5E2L1RAWFjGMyLsjK0SOq4BXN8nHAZoAi6ub3LSIc3t1vSvY3RjqJFMS701GhjFilavMwQ23Kp9Qx/YGsZ1o6IS6aM7sacc1LbYj9AjDKaxusuvVVY2Cwi62AFY6YZYghVFaEutpM0qVCxdW2ESp+thGA9UQqM2gMHcT1ZBxJKfnmjZeV6c21MyZX7OgUZl9XGONpWFuYFGjMi+wYI6lgVJrQ+OiOtNKDhsJ2AJnS1i4XTSJ/JwyXZveXONQ190WWemAhaBR0dFCukw4hve/U0honNi9RXlerB3xW2cD7EekOxPvxHryjRORHWqCqM8x9nkVzmhPrLNmJRYsAWdsdifCRqOHOMui7hJ1uIq4uXuMA9YQjfUkLW2RUG+7rSowf+G8msaaPGF9wqZhstQsWhRY5BC4CPnlriWLoJmW2sCi+ZWNStlhFRV5gabGlkBty/ya+YFFxxFqqtdEVddBuQ11gQUNhJ42tmnhvEBldUvV3KYFx7RkBmyprmysdBpXu7jC7XRPCKwtgluCrmobbg2BUdvjCULY51cubVlSV90410GluTV1c+Y2KtBtsmDYBmesa/4wSsQWjupFlUta5tXNr2ss3WMkPK2i4lARBZd3rSzPWCZ1cc0imovz4ClTp1RMmXpoxWGHuqoCCxqxf1oaj1tYY9zA5fHudkNf5SfEI+0qrFE41hNxdq1syXBym3HRSqPqrTELddSuB8m1jXUnEJxM6Yy1K9gMnRbhyLorq6trqlsaAy0NjZVzagoNb2OEq2GGXIlVqHbZMhEVK3WCSWxFdawr2NHtMNwHcgsc2KZw4siBnWBqYlgLlQ0HGZoI9cLH7egeNSJWmW5EE9pIZLWRGyEVbUuMh0tmJJGYJy6zjuURg3DcLzDZOzeInL6rI1ZVuaCqZp61oWZeTVWjo4G0VNnZ0d5tawwsbJlXU9toCVLVLVoayC+aDxNoWwAVVlXOq7EnsqjMlWEPRdo7uuGmd9ro7qaAiq1kqyzCF7Marpga6aawodMR6k0mY93UP683EZkb7G6r6u1JxHps8Ayroh2dbY75MTQYwemiwLx5LQHsIptRamq0VM2rqzrGMT/Q1IBjEFiywGYUmxY6amPhXiNIttUGqpoaWuoW2I0C+jmJPVY0FAyfaIQkx/ZGeiNKHeyKq0pEDw0iILImg/ABknmGx7zQsLJWsf5tTmGLhGPS5hDlxlgS29yMydUukEJpOFQrk9ZFkfaalXH+61+zdrUngtUJR/JGxOs2cujohKlz4gnhCxleBLW5TYfdPI6FOf57BmdbuCgwZ1FNQ4OtLtAibI67oaaqaVFd43FGdVTGduRajTwj7IuIGC6hdFM8Eu9NRBWKTkR82iICFTodVrgK7cmo01CM6MAiTvPioSrrcDZkI8fpShIOj2M4wLOIhzReOsURyVjZBPPLR5ZOsXfhcibqhDUk4kpzCDH1zBMIlRNFdQjq2oOdgTi2PwXNgkSOrJyaV9nT3ksPghnMNAqG6VgWZ6KeKQYnuD3t7ZGevBFnxLvbiSre80G0GqGlHfalWyiOwqtExJ4NE1UzxnAISyziSe+vp0wmS/bbE+Ltv4VxO0DzIGpNiFjVDEpVMz50xLoz7zvweUeuuj3Wbe6sUbHu3Z96CrKh03DUlPGSjbAeAfKiyElwe5IuFBcHezqED+HJyt4ijFnCRotGW8Ez3GN+JBmNtSkLAw2N1i5RljEHt9ghdJ20EL0tE9xih4teNgqAaS+7cmNn+cTIKkw0u3MzkbQyn0LzbPishCMdnbZMCG0RNwJVO8TTEex5T9JQUOFuM8dWpgBfEY82ZP4jEbc4oJXLcXnTrF1QfltTYy05RUYsTtIZg4sQUBgFO1EJEjZT7SBXJKCziRaa69EFhhOPE0YTQYjdnVQniv5H24w8cbTb1IMZUOTo08CMKsNPZn+GYr3dbfByFIwfUWF0GjEFXlbG8xyuKiOGKKMgYp/sepWTT1VG6j+yJNP76IkZWtrApraml+RQCun3Y/vlCQ8mo4O8/Y4s0c11P3o/d+6A00scWQcyMSb3fT2GE5AsM3ayjLk6jG1Mi2zLCGRrw6kjUMI9nXpeVni4VCF7I2yBYaPDpjWW4aF7zZBpXvaatZOCxPhFUMyxdMT0jkhbFU50QjzcLJtSOn16nuGmVBmP5Va44HCo1Tahh0heHGYXPqURoroM0gbxWuA0KMXtppDHlL+wY2Wkc2k1FkAYKqN+XLZuMbygyHC8bkps6aFZK3VzqxdZxA6VEZ85kh26biy4MxlrisN4VQUTEZW6I1h3kuFfjO0Bxu5oMBFYQTYARMlVLh0RS1U0iLgXYQc8N5DLyFzw5sweddVsinJCrKNbQVuFQkO5awzGC2PCX/KCmHQ4jLHGhFGDMPNiKwxhZBIk0NOBOYildQhHuSGOa8pD+5H2IppxsQc7XbjIYoneHoFUa83IpA5RQjwSaVsUFCbA2xDF1R7pEbjFFG3lVdKc0E3UXPPJaQIl3f3OeeQUGIthqSUznR2Dml1LorT9gp1kez0NYRzxqmCcWNH29FRDLNy7x8diXTR4zCa8+WAi6WgIgkjMx94ALca7YVfdUMc84JK9bfSC6Myp5lM51t2eaXPl1pUEYi1XUzc2SUcITCNtapPxCY1auRx3R3ukqCpC2l0iPJxIm4lVGuKxpH0+bXsqqQuDpJZu5D0UwlgCSbhhturgqk7q5qzt7ICzmwjTmWjshSKxrVy1uHpKVmBXg9Rd1RnrbVuVqVowsbaIL9O/RO/szfQvmVxdcgjii5KyksOmVlQccwBRlawgXY4kW1By8KFEdsjBRDWpKhbr3BPZkpKDjhDcDj6E6PZfsgcS0EwTNAcdRjQeOARkBdpKDOkqd0XM3hVRJVcfcohcfSjgMMAhFYXYWCUJrEBHrCRpKqRQ7JGSto62ku4Y5tzRE5niMnBUbpsyoQHhXChS0hPBBug2WRNpG3YdXdtTxu+JItu6Xw4zf4mIzDvhla4qET5ESRc25dH/mcT/8+Mf8V/3zvQ8YPe5/wyD8XuiDPYmY6K1eIQEWfTUPaN/YSpl/6MeGWrvgpgpom5+CrT/iP5IyiKraF3oo1T6TJiYzfgf0PyCiNP/++577vqzC7Unjk3/911/YS7H/q9xze72n1/APXGp+693yM9xqvmvds7PccmrpI4R877Inx/shnuQrbtEKwx2+MRIskBUDNMWMq6TUSb9CKQtY5Ts85AjxI0jvor14FLpSDoXCKnI4EWsC+hRq1NpiOlJZS7o3bhQSxLZWyd/Lmhz6myBGz2S0ZJO88ZhDW7cermIGncNbq6Szsy1w5a4l0RyEWqoN0Ruu8OIRMiZtYjoyCoC7BbViLBbXDmvaC2O7NN7i9IDbYoPDshVSVh6iNoaiiEO72JB1mYX/SBPhNziTgrfLcJvcIRj8VXCEUpYDSfKIt4UeOxEGU6hUrlw4VR7oqO9m6YbUcgJkeuqqgg/zYlCCyLU2rp5NUrdwsYqC1EflLcwGkvGEtFYvOSgKRVyNLJSTUTau8QH293LcdG2ldDLszNnKh7Da+2mgSJtCNuMJ0oqYE5CvHzh2w9TODINB02z0XkR0VUuDTmWFr0zBh1Guts6gt3WGpE5ZtfNaalZUF1XuSBvXl1j47was1aU88H19OwzvjeXp3gZVAkDCaxz6moPPyLYVMyKlWJ7cV7xqOIxxWOL9y4usUhjJgFqAK1jwkj14uiYE4q7x8RR/j1gLUNyAStez8ZsoOI1rPh6ZruRjbmFan9iY+6m/A025gPktnN58QZefDEvvpJbpNF5tk187KSxm/nYa/nY6/jY6/nYG/hYb/E3aByLIUESHXsC0u6xGG4shhu7lo1ez6hl7DXIRl/Pxt7Cxt5tYN5gY1dbkH/ACtgEt4uVKxVTndMOOviQQw873OFm01HNO/Kww5niOGrUVHZ04YyZqBQ6R7PiWUWVU2dTrci+F6tCZUz14Y5xbGpNUeXY2sMOt89ldUCW1B9u19gxE+ZN3X/+4XbmmITSxAWHM4cjwBYWzpg6+dhFh9tLWcP4OVMPaDycjf+3rDKuMlnlFpVbVa6q3KbKDlV2qtylKm5VyVeZR2VelRWorFC1FKmsWGWjVeteqjpOtY1X2T6qbV/VPkG176fa91cdmqr4VNtE1TVZtR2gukpVy4Gqy69ay1TXFNVVrroqVNdU1TVNdR2kug5WXYeorkNV12Gq63DVdYTqmq66jlRdR6muo1XXDNU1U3XNUl2Vqmu26qpSebXqrlXdc1TLXNVdp7rrVfcxqnue6p6vuheo7oDqXqi6j1Xdi1R3g+puVN1Nqnux6l6iupeq7uNUVqGy41X2K5XNUtmvVdassmUqa1HZDJUFVRZSvY2qt0llbSqLqKxdLexQR52osk6VdalFMXX0SeroHnV0Qh2dVEf3qqOXq7YV6uiVKlulspPV4t+oxb9Vi36njvmDWriaqewUpu61hqlFpzJ1XLs6bh2y0wCno+lQlZ2B7EzAWYCzgT4HcC7gPMD5TB1/IVP3Xa7uexGKF6N4CeBSwGUgvxxwBeCPqF8JuAqDXM3Ukj7AUrXkDyrbiNZNgM2AawHXMXXCDUzd7ybAzYAtqG9l9hsYU7Vb0Q48A54Br20D3Aa4HfU7AHeC9i6mTroHcC/gPsD9gAcADwIeAjwMeATwKOAxwHbA44AnAE8C/gx4CvA04BnAs4C/AJ4D/BXwPOAFQAqQBvQDBgAvAiDLpB2AQcBOwEuAlwGvAF4F/A3wd8BrgNch75uAtwBvA94BvAt4D/A+U0sTamlSLf0QpY8A0GfpxwDotvQTUHyK/DPA54AvAF8CvgJ8DfgG8C1o/gH4DvAD4F+AHwFDtNg4RKcC1gFOB5wBOJOr+57D1QPP46p2AVcnAfwXcbXsErRdBrgccAXgj1ydchXyawB9gI18HNIbATdx1XYz8i2ArSjfgvxWwDbAbYDbAX8C3AG4E3AX4G7APYB7AfcB7ucqfwD5g4CHAA8DHgE8CvxjyLcDHgc8AXga8BfAc4AXACmuTh1A/grgVcDfAH/naoVfrXgNTW+g+CZQbwPeQfk9wPuAD1D/iKuWj7n9E87tnwEGAF9y4L8CPM/tVVw94lsU/wH4DvA9uv2AGf4L8G/Aj8C9DvgJMARYLY+T1alncvs6WbafJstqxemAMwBnAs4CnA1Ldo6sWs4FnAdYj/qFgA2Ai9BOcAngUsBlgMsBVwD+CLgSgBN/FbKrQX4N8lMAbWpFH7KNQG1CvhlwrWw/BxJcBwnY9ahD4xXQeMUa2X4D4W4E3AT8zYAtKG8F3ALJtyH/E+AuSHY38nuBuw/5o4DHQfsk4M+ApwBPA54BPAt4ndvzFbtbUflf5HEW+0fcYn9Ottg7rHaMbMfIKvurDDTy58HqBdkOs6NaU/I4Va18TlYr+wEgrQRp5QAoXkR9B2AQsFO2w1LYYSnssBR2WAosM2iwjpUwMpWngeZvsv3vMvCvoUz4k+0x2zg7RrTb35Dt9t/Z1Klvy+Mc9pdwaUx9T7a/S/n7sv0d7rB/KDvsHwE+AbwF+AzwOeALovlKtp/KbCrrV1Q2AHhRUefsAAwCdgJeAu5lwCuAVwF/A/wd8BrgdcAbimp/E/lbimp7m9pkdc476PeuMs5p/0BxQgKn/T3kb8tO++sof4ny1TTi18o4l8q+QZ9vaQw61ci/A3wP+AHwT8W+lbFxefY7WZ79DpaHs67Y72LMrrlV9m9Ftf4Iop8AQ8o43I+nWFS2xmJfzazjPPaLmfch+hanxBiXxBc6GZMlG3O5MmUkCiUWSqyUqNnERomdEgclTolTD252EyUXmDmdMuM8D/xdOQMRcOZ2UYpGMWbmhxtg0OZTmXsyPYgRc+VlpLWPFE4xSXhmCFNK20jJM1IatFRkxIURFwYx+bAknBuyydLwj9cAq8RdLu71SjmCi3nm0FoYL3B5oQbZ4WAAIVfOD5MKQS+QNtklfiSaIRtlJjLLzy8gGYtI3Px8o2hoOsvEVWhyEn3zinP4u0wsAXeJLoXGUhDwPC/wsotLu/zINDfJxh34GTH3IvqesNfrKpYc3OnkspWNHrMXHwtai8v8wUyFdLtOdYSUkhsVt6FcLhaaFxa6s3svdy+wQhq0sNDrNbbTrrLukYZRNS9TlVlhceFu/UCUj2Ys+s9w4G63O7OPvCMYWlkRKGntLfludz6RGcQ4iia1SIa3ujenlh2fGUIp0IrCiqmTSLC7oGQsI+fFxbvIXEjkYgFodbg1y3MPYIiQ+SnYe7wdh3SvfSRpX6lEkiZI+0nS/pKGzcxknyQ5pYmky0m0NpNpexxApVJJ8kgHoupw+JkklzFJmcIkSzl0V8Ekz1QIO41JBQdhZQ9m0qhDmFR0KJOKD2PS6MOZNOYIJu3lnG7Pk0rGH0mcjpKko6UZxH0mDTaLkkpKZlNSRUk1Hfoammkt0c0h3Fwq1dGxq6fkGErm0UaaT8kCSgJc2nshl8YvlKV9juXSvouYNKGBSfs1Mmn/JiYdsJhJ05Yw6VCbbM+XjuBLie1xE6TpDrvdI81UjieWv6Lk11w6uplLM1TZXiDN5suIOQirWqbbR0lz5VbSSnCCVBti0pxwi71YOsbZRtJGQOhy6SR9OyVRSjok6QTpRFJ/J9F0MWleN5Pmx5jUGM+zj5GWyidJUo+UYNJxSSYd3zvdPlbS85YTbgUNvJKSVZSczKTm3zBp2W+Z1PI7JrX+nknBPzAptJoxKXwKkrY1SCKjZPveUgeDwCecyqbb95F6HGsZCbEO6WlMOh1ZsXQGI4WeyehAn4Xj13U2+nafgyR2LpL4eUhOOh83Som03H4Bo/HXM5r4hcwUd8UGkKy8CMmqi5GcfAmS31yK5LeXYXtIa5h8Ofj+4QpgVsP9Z9Ip7Erw259dxRBeXC2YXQOK01gfI6k2Ij0DkQCDVJuRnoVogEln083mk85j/Dom9un1RnYDWE0EqwtY2Y04v27pJpHeLNItIt0q0ltEeqtIt4n0NpHeLgT4k0jvEOmdIr1LpHeL9B6R3ivS+0R6v0gfYLSUDxqS0AXqleWHRcsjIn1UpI9lp7heTPFCMcUNbDvSi9jjSC9mTyC9hD2J9FL2Z6SXsaeQXs6eRnoFewbpH9mzSK9kf0F6FXsO6dXsr0ivYc8j7WMvIN3IUkg3sTTSzayn0D4ZE7Zhv1zP+oG6gQ0gvZG9iPQmtgPpzWwQ6Ra2E+lW9hLSW9hp0OgBUIj3ZZqQ9IpIXxUz/Zsxxb+LPfOaMe3XxTZ6Q7S/iTnejkCGQZNvI70TwQyDJt9FejcCGgZNvo/0XvYB0vvYh0ihSfYR88owl4dbPmZWxr9n7BNm5fyfDNGNVeb/ZuwzZlX4T4x9zqwWvpqzo9gXRLmGs0r+JZXWcvYV9TmNsxqpnn8NXLEifwMUssXsWwyw5NdSlIsBzuLGAGdz1ongCKQWOSloen8vrWX8OyI6n7PviWg9Z+cy6fxh7A+EvZAjPsUOkgrGsr0VJh3GnIrEjmQ2hfFZzKFIcjVTFabUsRZFsjSxsCJZf8XiiqS2s15Fsp3IRinMnmCnMoU5fsfOh8PiPJWxy5C7cPiuRJ53LeM3IM8fp0jubYz1KJLnAYblgdV/kLF/kqNzoA3bEV6NXU5VwDwymdvs7lRF67+Y/1KeDvybcTKaMrM7JqUqUoul6AGpOqn1R1YAPygV8EseXMDNwVZZ/4mldH8gSOSyhdsdN4Fh8xDLtgwx3rqa+6/mgVM4S6X0H5m+huuncn+FvpYHJ6aaJ9RPkIIlKb0EXdbxlD4FzIzaacjLqRYok1LN+9fvLwX3Iwatp3P9DB48k4vKWVw/mwfP4anmfev3lYL7pPR99HO5JpUGzuM8W/GttuE3cD5XgNKk4AXcyNdTjpbghZnCBrNT4CIuoTQxeDEX2SW8+VIqBS7FPPR9Wi/j+uWoVwhxRfWKkdU/ojB1uHrlyNarcqpXc/2akdU+s0rrcVRKnxbYyEX56JR+UKY8M6UfkinPSumHZspPou9hmcrslH54pjwjpR9M5ZT/zzxwBMOKKbTA07DAemkBHN9USbA01eyp90jI9dIRC1KasyDoaUGE63Cgp/8pk5fVJjudk9L6Jt7qPH21c7D5CP8zWOV+PeB/lqf1zdz/q7R+LW+SA0cQA9UO8oNGkP/VJH8e5Nfx1uu5P839/Xw25bU3cN7Eja623bu++D/sarei674juu4wu7an9WUZMsfuZIN7IHPuTrbTJAum9aUZMtfu8r5kkr3wH+TNc6Dr0SO6vvwfuvrb0vqv/ZG03tykGEzcGN91O1tSOlgRkdJdLCJ1slZFv5HPsmIxRc2i38RnqZmaVb+Zz7Jlaqr+JZtlH659xWY5MjWb/gmb5czU7PoWPsuVqTn0L9isPNrEWwVCD1AaXMtbb8EUDIz/daNpof9XIj8We0WTIPitHHuKbUMI4JTyVYvD9QpLVYgZsJLV7i5O2f5dcoRN7rJEGE2KzXKvLuhSImyxZBCk9P2IJKVPLvi1JEWYJvV2WTzwHu0R1qm0NTv9b/FU6U5dK300rAyElKBmU2xyH2yPfhu6d1pgoOqdvJIdQJX1vRF2II3VaTEo9Nt50R1DQ56Difcv8is1uKR0/JbSzIRB879LgxjrbPkTJipLtyD6g9fBJXl/6Q4uKQXSnRzRgeSRcdjy6bB9iEW/i/cZJ85rUxze23hGL5pE+hCqMFSQ0g8swO06J6VPKimMGSrokj1LDA3w5rtBMQklGRPV7+H+T3Pr94qt9bm5tb7gtfdx3pfTfj+vv5vLNBvCPErKkakEEtLMH4eGSPGThHJIV5rkRhwO1YlJP8CZRxVVFCXP/ruRlY4kKxVkcPBTFf0Vx0ulO0srDuxiKf/XPMKxbR7kgYc4H2+TPfuaJOxnSebwy+A+fMoe5o+I0gX8Uf4Yl40V2C5WAFqXvVIBmTgVWk8HD4S2C2WL3bEf2cr90lCAOI+lYaUAMXAKi+0LKf0DgQY6b6MYrGoBUfoKhPS+2iXS3EkIQIqI5egsj5JCuk1RPmEtPwAdi6mjx+hoFR0Diyh4Gc2BdwJvXoJAjeGygUoHJ6X6g5OB2ssii2HJ1P8TSzkx3Y97XEHLWAT7tokpnLnWvIrW6RWtj/OK1icATwLG43epNF78RPcG9TjGFIvhFuzNmMVqJYFmQ/rx2VoVavtwbrEa6qkC6b7Zxmo0lnDZYh2HWp2USkdnp/qjR6b69WOj1Uj/zKPUYQJHh1KQpPQFtY2swEkTPjLwFNbZS8Wj9Ke5ob6jAs9wUsN+MpiWoEd/cEGqn/o40IxZNnGP1SgtJv3vL1ss1nWwF82utP8UWX+W17vY8sG0/y6O8vJSr12SDkj77x5RW0N0y5fvTPtPpZImbQsrdALWyv4PcAIw59q/cHZJqVcG+cAlpQWU9y8X9+YBIQUIK/HRn+PZ4l/5JVCFJjOrtaZ1G9ePFEa39XkunCKBIIvZ+kIOggxxayoHQba4NS0QmJpPtVqtJzb383n9XDqgWREcJ00i0mqR1CuW1cpg8wDvDwxw1uwQVngSruVl1FxHSX29w7rasRNFbF+97tGwJaSELME6m8WmoOOA6DgAJ3CAbLA0kXOr1Zsdcrhh0s81TKYGew7iAMVqtW2RyVDtFAbcSbaiZPWLnOx1yeodnAxrybouK9UKulQjsxmZ3cgcgsJlWrh+YeENRrM0NDvJ+JDR8J9P6xecR3U4eHUiZ8H6CGvewet3cMkcDmZsHl0/1OV12gpBWvWwYrSsCVs8U4ShDEE9+4iBO13+C+TCMcJWEQOXQUolo/s0i+L9y9AQKRKjvcjrX8RoxiQ7ldZBru/kwZdoREKw4MuZoiW4DPSGKBeL/cqZUMYsn6EGDGPsFRTFvcxmTTQ0I1po06BoN1omGcoSLbR7UHQYLZMN3YoW2jgoijtfYExZrJMCDfIcyfUK7CGXXhXvkbiGZaf0N9xImNDfcSVBi69xycql57mkFkgvcMlWIKW4ZC+Q0lxyFEjYEc4C6XUuubhUSgdgf2M3y/rHrPWNPe93bJQDFaaqW1nrm7ygQZKWvcVb3+bG3n6Hb659l7MgUG9xTbmltAAByAGiDU67VrJpW8F49Hgn20NTjA7v8GXUAR09hQYBtZpowW8bb32PB2spf40H51D+Jg/Opfx9HqQjgyGD9ZS/w4PHUP4B9hfywBIyS37OVfWI1g95ICQh1TsLJkgSUVE5KE5+DTbiRzyDwzUXrG7+mM/7GOcGDMqIQb7JYFv21EwhtD0HUb4rosIiq7a3TMeuZHUYh4H8u+ZP+LxPwDoizToQK85zzBgJIwwZDNeBpMBXedYqOs363bvUDctYEMe+l5rDYtn0ZfVhZozXKcMJ/JjN8htun2y4hGWZmnAepwzX4DyWZ2qZsbODZkcLwE2x0XidvK2SdGRez1AYL5A+xHYMS1PJyuRn5ppKBz4VOpmmKFbblXwXWwPHRxGpRaQ4WpPoJEwSNmYdHSRgHSJ1itRFXfO68gzb4zay/D0Zn1I0eFLiQM9MTQrOSAlP5q88ON8ofcaDlTjdLnG6s7cRjb7biYcYAiNuoATJQLYFVxGJOWzbDLkMgWdVkHgp82iBxm0c9akkbmrYNuSLIO7IwOd0k3p2P9xf4HB7pS9xtr3SVzjaXuk9HG2X9CaOtosOu51L7+Noe6W3cLS90js42l7pAy7l5UlvcMktjn9+gYS18BRIB6k2q3UDo71ylBCsX/86e+iPEon+Da/9FpPemb2jBna5oXD/0hVlpStKDVlDKq4o8MW9ElLEHZW9/f7B9Y/48PUXthCNhWjEUOQ+tH7HA98LL+JgWbZaxxmCkHIyouXcV4fkkJAF3QPJoVZss3NV2mY7Ksy7jFFeaMQmheKGW2fcb86c622duN3WDW88ojXuNqexqRBf1KX0+vwxwiHSlxXYzQJNACF6zaS52DuF9YUSjZLSa0oK8+hOQolG9ziNCjoYwnRy4yoUu/Ej7IJj+kxne1vBqKzjbbZuTHroIUA/Jhn4gdN9amk+uv5oKXiUCIiMxZx1kHFpWEwNzjp4uC5Cx0NEPaXPxPxTeq33RCNE8t8q1/6TM21olIcQJqqvS/G4svXbqG6Wb5eb/wVxFxjXc+2/OOvrExznFuyV7XAHNFDX57+TAq160S6uXmrD9cvMdUE4mrl+U/r8gllwy6RBlNbs9BwgbvmB/n3E+iBS+Ddv/pH6W9FOGZ3OHzmnUGeazL0pXPCyDWxqC45nkMJ/j9z8E6//iUu1Q1zqE+vrv1+mBfY/INMKZ9bKMcze/6Dsf4jUq/ZleKeEO5KdLtwJmmgxLcY8fxsmKTDz/BHMU7gqkH8e5K8dlp98IBrEJhiTR9Dnf1imgrPP/4hsYESSEm6LE+MY9cBqWUzuDmNye+aT0uf0+R+jvGqYnX87ISpzeBMvk4Gx62Rsr8ApsmwiyWux9WVY20Z0Eh2Dyzz7iR2To6wn5IyeTCqZfCbaclSHWWMT50rONbLE4KL8A4atUPoOhq1QgqlTOBk5i1M6VSafZa0sqVxaJ0s2Lp0mk2E7XZYchdIZsuTk0mGIlZRRiB3OlM1gafpShsjIiUN/OEdkVJGqWPYx83/Poh+zZZ8g1GLRT9iyT5n/3yz6KVv2GfP/xKKfsWWfM/9qHv2cjMURCgKXPApcoktT6UmT6uBgSdNlxD9uDGRrvQsLu7TexhEtHEnDF2ZCNRm/SzlGt6HDUZxZVRdG/4L51/DoF8T5aMZgEinqOh6dZ2Rrv0JtpkVVbUUUoPUPhJQ6JRWyRI9PhazRX6HjLIxjHY/Rz5LNgc4G2PG7VBaRoANElTRfcFj2JfOv5dEv2bKvmP80Hv2Khp5NIZ5TTGpZKl1HqKrMlFQxpWX1Kk2pevcpKRhARYea4VCz1mK1WMeS7K3+j3ja/5zc32Sci3T/AvHkOIe0OCNVoUk7QIQ9lRhE0bMP9n/zEI5Pa1o/R9bPlTOl82Sy2dtZur/ob0ND9IbdCi5zKex0Gm/arQhPgarLLPn5w0tugYQtaKsnclLB18w3NDP6NVv2jSh8Q/M9Bi6ISo+g6WibwWoeIh31LHgfcB7CyuSwJVXbLa3OQ6DlHS1JuD+w2uQgIfmUYcXFbRJS9Avk1rD+NdtW6nWJcFJfT4hv2LaCXbt9nu2WSveWelWD/AK5N6qn+ocR64FoTw0AQfGpdnxvNArPOKXrgnhzSm8XRJtrL5R5b2nYotHYxdQXxS2lFI0Tmw2y/2q29ZKCgmEpPoYAzBCg+YT6E6RoR0rv0C+SxdWQ0mPC0QCuLXCxTEqab4GS1iIaL1mHdYuId2Y9Mrf1fBC31X7LWAGF+82iWn8+Y9ETPbj5WuOZVnoXaKZafRxtKf3EgmnAIK+9RJaiEWI5QbDEtmm+VKaGS2Um3kXl2czP6E00eJlMY0rSAs5ttvzmy+XWK2T9LDbvcpmRBx5QgB49Qs+fZfUsSQsVi82+dAlWUfjZpzJcMsZDKnmC0gD5wc2nsvpTmWQ2ItwbRTflAsPXpRq84oBZo6dO8m0nBs5mMAXKH2G28qUrZYnnS5fLklwgXSFLCrgdqyo22/zJgyWrx+ykwOaPcutVsn4h39x6pSht4MYCDjaPqR8jgWigvz/QxdNoGygpKZkYOIdZUQ5cLUvLrpLTwavI8CxSFJt9gnCPs5NovkbOCDXr2HnXyDK0wnPFaoAkzvd5JtSgB1ZkvWbEAebibfcqkqq1Ty7JDO4ZR6dzoym2BsGF1CjM2yjzA4bR+ujBoSEi1FvbjaaIsflG/RVRW2fzDaw1Wn8DY+hR24dN0tl6YmCTjAih9UT/S3LtZpkZMglfpuBiEav01vdKhoidBLgy9cvk2pNZwXIRWsj+lzFc4HciGPG/Ire2o0x7QBVRC2FrfyPBhpkPIgL/lYH/bQYvhheo30uBa2W+DIK1dtZeJ0NEj1uScl4r6XmyQEzmSlZ/JZOyU9n9ZLGN/BZ+O79evkGWb8QqFEk3yfQweTM2R6/UiLDP/nTOe/how+csMt7DFfNRfDL5M1icXY4nbKJwnZi+ietb5NbRpxv9cUDIjFB3KsKAEBPDaJA3RTaDblxjx3VZU2jKvBlsqt2KCesmyjKMQo9ZC41Xh1mLzLcMtS3z7DGroZI2mu0WmYK7PkxxtHQVplgkYespYutZ8qVbcWvnS9fI9NKwUaaXhiYYbMsYGOxtGYPdgt+lVrq3wtjhixmTFeNaWWJTZGVWqsJ3JtMWagu0OVqe5tDGao7FttXuwX5slg2JnR64wfb0gH6b3E9JIZekSXMHHts5oElj3h0agmchLeVcXIX0oNncU98jRU9K6SelAyeTfTjOqiiWOmH0d2hScjCl2WqTDJW0frvsf10eBR8zrf9JTg766V48qb92kDH/3aKoKX2lO5ODAzaZkE18bglGO96mKpZ2uuqSgyXrdiILK5RYaEyiwxgoUd+wNbkjZLVZNaX2JcbX7RyBRDei6+8TfcIW/zu8H2ZywP+GHFL8b8ohS5OC4X5FXwbzQJ93CH3mLVXHR+OY16+Hr+dmmVusi+kjiLdkzdHEoivSl5R6jXfO2/klBUJlKX05aQSZJtXuYKzMurW0oBA0hFFKScDaO2XJfwbbKt63a1cz4118GfRnvYgNaxCTTukr/O/I+l3yJcalmK2XbKXRSuamspiUvlK/W649hXHSuf9dufYemV44bEK8e+VW9x0FB5HLjwVgOz24Uu0DrZxa+tG79j6Z9a3b2b8+OdhPOP1+uejvQ0PpgeC9chrCtdDUf2XIRkN+sItQH+4m1AcZoR4YFuojIVRBPnZCWodD+7Fc+5DMgg+KIVrJtfGlKtIwSVsvKaVn7wPSMElbM4qFkUn3165hMoiD9NJOXoe+vHaA0feaQuSk5AuMqXh1C9BhK7T6CMtKrj8s075Zjt9+ovI9cyHbEuhntGD9Gs/uQzRppXuZK7rC/6ls9N2FCjuqL4hpGiTmhB/JTNhYG//ncvrOAg9dz8QhrT8q963xkKLWUFehKv8Xu9A8lktDZ69NzbdY31TFcTDPQcm6sJUKKiU2SuyUOCasCTtpF9IckjvpY7CwqwkOWDhP9PVcAH8/rblCyqY+mkrYjY4htw2Zox/9Qg7qiLmswxEiz8lznCwJfIbaQdSCe1jdQ4M4ZjZglT6gjPE947hkD9k0xV0oGcyIzJgtUYkJecZiU4ZcIYsgCFn6al9kDPMPWdajNWQJ2YpeGxry9Pwyq1BeyGowsG2g0wYGnkuNLvwXRx8/cnSNb+qjSY4U4FUI8CUT3Nh/xQ3aJrLduW0Gt5/lUrFnLjlVaJkwm0cyfhqM63+J8Z7E27kn8ZT/Vrydu4m3c4/ibUFfz0/YXptweNWwW2Mh91grWShPN1LVrDFPK1Ju1rhnEX2aZNZkTzVSxawpnkORWsyaxTMZqd2sWWlvaQ6zptJjC31cptnokGk2m3tcL6L+8I9D+L31x6E3fxwq/2nodz8NDf40tPfQENpovbfQ55whF1you+Q1HpnKa8RZWxWymtaWPkcLOS/2fylvuaQALryxGdGOLiEnEtqNdgMfcpJSFChFCSkDRR3/Hgrl4aRH5DyL9R1YLJxj46BTYkXNRgGV0Lza38rvKKim7bcyXbtdJomMtrAz5FiD82aur3OfNXQUQzYQ9I/FXRCyrRmkj5OnuZxeRIQ2lw3yrxA8/F/LfTQzuPglYzN3WUgxDroQwu4pJ7YKjIddGA/IRTRWoukfRdqxajZgVXL7Qvb1ZFnsIUvRM1Cg6s3yVAcCg4yTWdMPhtV+0UIf6wqHYvnw3Zryfyb7LuRx/zdymS0OK1pmj8NONsm4B8occdxwZc64/1u5zBXHjVGWF8ddUeaO+/8hl+XH/d/JZZ64/3u5zBv3/yCXFcT9/5TLCuP+f8llo+L+f8tlRXH/j3JZcdz/k1w2Ou4fksvGxP2rlbK94v5TlLKxcf8apWxc3H+qUrZ33L9WKRsf969TmkbhptOkOG4yjcX9pyka5Dtd0eS4/wxFU+L+M5UmS5McXZmCYERxlkLUZytNHGNS8RyF0OeKjueJjueLjhcomiXuX69o1rj/QsU3BKINSpMNMhL9RYL+YkF/iaD/SdagjksVDZq4TNGgicuxLHH/FYoGTfxR0aCJKxUNmrhK0aCDqxUNOrhG0aCDPkWDDjYqGnSwSdGgg82KBh1cq2jQwXXZ0UfRKJD5eiHzDULCGxVNjftvUmj0m8VYW8QoWxUN+r5FcLhV0aDFbYoGnd2maPvG/bcrWknc/ydFq4z771C0mrj/TkWbE/ffpWh1cf/dijY/7r9H0QJx/72Kdlzcf5+iNcf99ytaS9z/gNJUjOUhQR4UgjwklPGwgp2wWqj3EYF+lJR8ikA8JhDbBd3jQmlPKE0K1pIanxSNfxaNTxGTtTnopwX6GUKv2zP1aYr/WcX/F8X/nOL/Kw15huJ/XvG/oPhTij8NRJMrusp4CGnPvKk8PvymYoN73ou2aOZZ6WPmP4ubz2hn8+gn5Et3kCtoN16txDvZCQqOiRecRrXexVufkFuflOtHkR904u7vSnaMMAp9OmkEeir7B/P17Rv9BzHuIreJvq+gn8nQu9uqWp3PiSAqbKnI/WCHwnkWUrqUVHOR+djIzQ+XlfoiJXomSwXOY5LnXPqqSchCAV7YKiI8otakW0u95HhSN1TILNIXUGTP8fBzzxBPl9Ez2LLTxfN19HS2bB1rPo3tNtBpTImuY8vWMuORZS1rXcsyYVzruYy+VgXcOqa/yeihZbzNOoftPX3Go/zPsvIU4imv9DTiKa/0DOIpl9P5LAKqYi7HVK/F+qhCLuFYcp7IdyLXyTCfAFj4cF7J6jFhN+LJcD6RedKtRXfQCxDy0/W/yLXHSdSZQvt06+PcbHqcny6S2ucQiqM5pBYMMilkoe9ohCz6BTwhrhspAZucQa4fRtqzyL/KCY/4WsyZTL+QJxLwajJNz+c0baAmJwLOkIouuKIRlSbCLgPxPC4cA5HXPLZ+LMnr6acPO0Kufv0FeRMIQ3n9eopKeZ4iXPOef9FDhfGKEnb305xCbqINviBTISUHUyiEbBeE7BcE0jIPeXDF2Da2/oPlQyRkvXSpClxv8EJqzgvZd2smXG9wA8eVKm0xvicSgvq3GO/8Z7J0yD0QUtDZKl5PmtEl3+s02kjvWJIQ/sMqpPQzmFd8MnQ6S9KFjEsq0A+58kfyoJ5ml+YBOWQL2esHZE7PMy/K1pAdkvUlxE2VV/TjT7jqDYTYFiB2Fb0NZD49woXy6RlJ7AqcprisWJ0XZd8gxOmZ2MVTzTsgGXbqIMIImelnkdR0YkjaQmMeYvloAqczEtgzcZdvddHHsuIdZpR4NasfJd5ExtsMxtmXDJyBIcZTJTgadHAKLPTFZJzLOcxTNYeOAd8pnhVeoj9Ekk6ip2myRybfjzN8MZeezFeXhOVKmJYr+2Wp6UsdMCunEmVy+GGhFwXlkFQFLgzfS2wx3/014WV6TXh5j68Jy11csUQxYhmuvPcUBMT+17n/fcX/geL/EJa2bB+B/kgh9McC/Qmh9xXoTwX6M4H+HGhcuhcwes9ez4afJy6Eii5k5gPFCqtFsVzCjAcFAL0o7PAsl8i9BZGIYZTkjpBiM1yewf6ykttKSaUH9JdNuLWgDCdcs/Qld4hHC/QgKvGWsYfeTXzunrnuTA9ofCO4pKkdyir+/dAQPXeszIfR/5ch3o6siBwivpgRMSPWflmx9r+VrAKNArqtktRfpm0t9Rptvq30zEzedUYSEdSCdGdKv4D1Y1ngsE4SATy1K30ZtP6KrL8qU+yUg9laMIc4rWf+L5R+rEC26W9y7d/hPL4+TPyagXlDTvvf4QP+LxUxwAACdd5kpY8z0gO5Ciihr0mup/tolYxovYcMs3uQ4sadhKe3TIcx9Gq3+CZk7QaGRtCkyaXsnyvCWtp4FJJgQvb+kGJIlqanlrHwRQdM1Ovi25oZpxueaXpoaAAjnyyriuViaF8M299aeAeNOdBP1PRhcD+wuS9QQix4v+KLpFQdOWKZIa9ADsBovywHX5d3wUDFwVezQdEA+OXTepHjnBHPWrRxaAhq/40F0j1m7I2dwyGB2OSrezB38xmqXzxDqRllDYYU2vvw180Hkb1gwpqvl/1fKfXXy0wm8oIQjadxQTBxC71BIKCCi0mIPsOo8qQ5ar856YkiCsBZ7jdmAq0OMHmgPzMvbLFssGct6ofzr5ivNL+l1zT65Alrb34X4Xf08Ea+zRvmw5tzfPR8OrC/h+USn56cykDC4co0X8VKlrqilxFyLZCyQh7Ud8x/Po9+x5Z9z/zrefR7al3HMgPBGAQ2MRroNIGDjWv9njbb6cxiPmem07hk07hN0/qbcu1mRs+BZzALzEVe5pNDE3sms+CU9g7bELI4VzNhSRrJ4hlY+j60vV9jNxbsDYUXNxeXy7XFrLkYqBtQuBmQHKTvKGRRycGB9UlYR1vRk3Qarmbp/uBbcno9jolvNS+6VmyDs5glT7F8xml4clSSYRe5I7iNLOnWwtNXF8IHo9VHEEZftTI/ci8Nq+VK4G2ZhdSySZRn8bb+wDtA2waMTLMF3hW51cylPeUpsJkcsgWuZbLJyPCdPDfRprCbxIp3Pt3GYadnOqEt9PkWNgOC09r3ZOwhlwiCrbXvyzSLkL25OOQq4zdqtutwl9wEhZCg250hZ3/RI0NDnmNMZkftyuyDX2aGYH3MDSPZPTQ0tN0RcgwULcS2tAc+lCWaETwQmhEVS0uoFFKFDkMqVv1sZrErlhuY+fg2QDoeEEdBSYeEatP6R2R80v1UGSCXJj0QOCWDt6ZDFvAqR1ENWZJhm2caOVrFtM4hNV37kSzd3FyMiUPQG/W3ZMivarbsTkEn23p6UbPhMP15aIiasaX4cHs6ZAX/dEil4bFRzmGZM/WxeabyxkevpJZz2fDtfV7mPBh3/vm7H6gfmP9CHv2BOl7ANqPVsp3eXDWpVGOaRWOlpQKkDCz2Rm9kaEYr12QNAaNm1TAVza45NOdiV/QmJjrL2a7D3dH35l/su8Xoy0EgU4a4TrOUakqpIc7vwGArSIzuMGKaFywKtAnaVK0SrAq1Y7UgGO6nnaSN0qb5TmG+9cy3kWGE/bXZvtuZ7zGmFWmLfGnm+4JpmnaQFtJ6fGuYEKBYG62N0fbSxmo+baI2SZusHaCVagdrh2iHaodph2tHaNO1Kq1aq9FqtTnaXK1Oq9catEatSVusLdGWasdpx2thrU2LaLrWrkW1Du0ELaEltV5tubZCW6mt0k72ncp8a5lvHfOdxnynM98ZzHcm853FfBcy3wbmu4j5Lma+S5jvUua7jPkuZ74rmG8T821mvmuZ7zrmu575bmC+G5nvJua7mfn+xHx3MN+dzHcX893NfPcw373Mdx/z3c9825nvceZ7gvmeZL4/M99TzPc08z3DfM8yXz/zDTDfi8y3g/kGmW8n+XW+l5nvFeZ7k/neYr63me8d5nuX+d5jvveZ7wPm+5D5PmK+L5nvK+b7mvm+Yb5vmQ8x53fM9z3z/cB8/2SLN7HoLcPLx2nRaIlVrBCtn8CtwALemrMDvGIP0PJZsYyVWD4VC3gSFnI/sXxYuFFYOLGI5vLZsZQHYQm/oJWk1UszsXaadjDE13yQMruOw6v4v7mGa9j/78v4C2v4ywu4zVwbOpduLV8bp+0tTqGq5WkeKHS8Rotq01xYub20faDaA7EgTqzdGG1fqNoPRTuweqO1Eqi+DIfnUCxgMVZ4ojYFy3aYdhRWbT8csHJtGpbjSO1oLKemVWAH0NLM0GYunhW9jaWa3WUH1rtZ9K7h4t1U1GZR8Z7h4r3DxfuGi/cPFx8eLj4yXHx0uPgYBRPpcly79BLduyOttbmp2NYLF30wrU1zwV9q9vrOmJTeXOtliUFPvqg/Tf72po0ClQpsZ/BBnkDSH3iSkTFdn/VEfiBP5MKf8UT+LHyODbt4Igb2IqaAxRz605GUDqOr38RqH2c8ejsjBCypvsVA/EkgYBn1WwzEHQKBk6ZvMxB3kkgXM9mmWFYJ1wJX3076KwDx0Q3MPDy+BlxYKKj0xI4bmLzpT+TmcfXjpOAncqaO34Hgp7lV3EufyduV7fJ2NUS3FFDFD8PjhnISO7db4ah4iq/DPWzBjC5hMua5U9yyOzQ2qPGdGFHxPEC+VGKHZ47wtHEMhoZYui+kYOCUfrdZzYgyjKHRFYw+ApOGeNsRftAfrQ1suABc6/8XuA5sSPcZjPsvKN42NASf7rrBASQ7t5MrnV98tHDfLmWz4Ebcr6QqJu80Xp0GcXCcOBQeHJHJOAJHa65SnK1CnKbpOA2HoZxnNh4Bs3Q46l6cmPEgXaItxIkoQM0HfLXWBZM0H5T7o9cs2MooLOWvcXJmaQtA2w7jtBKGay5wLbCMcZixdi28eBYWGNHBoPgCJT0bIYyCljZp0/q0ts21n8usF04pc9nE9t9Jf/A8AD/FjQgTWS/iMxw3/TbWL5b+E3k779dmkXIhJ537ci2Myz2MchHmNNusjUH5cKNcChIT/V+BkNySK7nlv5X83p+RnJVby9VyG3J7uaPcSd+RoM9ZB+lgeHroHGDtPC1i39zHsNa5ShB7PqQi24TcRrlm27RZ7KH7DeJ7/wfE2/l2GznkRZfDW1XJGyw6Teyhy5iKEOABMwQoWT1u1xAgbE0Jtzz6AJnr6INI1ehDLFWmBp5jLBX4K9mi58kWDQReQIAfSBEizeBf99LB76V92Ru253YW7v3vjZk7PTrNnAI7csDB5SlmhT2B/YQ2QmpKhwXS72C1TzMLGKIF5hRTD9lSOkyRfqfZYkPLY0aLfWSLPeTUbH2JsPDWN8A4OERV+Oy/oeCIBMo/EHaWTufqcaVhl8CxvuB1DA4/M2vXbQhej2jFFXgW8y7zienrD5C9vZxZPIqlz1BizsMvgofJ4bzJYffkcL5hBrHQn4tYNwQRSiGaNZ9eMK0bEmbQ8xR9jSLkoEZnyCIaLWh0pimQTkND9kyIMlqS+hFZw3huCjn7NsFf7zcDluZ8SO25Htvyxtp81hvOEwjbMMJNiGwtn5QdUstdobxN5Xkh96a+cncof1OfbzXbKPbZo9SaT60etG4s91KraHmMWrzUUiBaCtFCfbarFBJhk03FdjM2nl1styuYmq9Y7pGFpmyZp3GAO4TDhw2LDWgNWeBwGWUVd1TtM4zjyBjHZKw4Jg+LLS92OBRAGQ1KA82iT/SJQHAb2Ih1ztZ6d0Imib4nn6InDGBoKT0HinrGZkP3xkkSy5wxywaWUNpMbFkrraHzMdpSmrTN+LMpGibkBJUmbfG+jm2GplH0lhyyUr+Bubh8bPR6BoETWD8Zpe020ctm9DKfrm0h563et+gT4pBrI/YBLHZ+KVmdsNvjEGdFJYbb3SF3CG2biz9GCIdF0PJvJP8gnEeHCQ2bMlPKjtFnwoipjWgVjCkwdBYvFlOYWajmTEGS/sisYxTLzeJ7I+K7uJPD1slhdXLYNjlsnxx2TA47J+fs+slhz+Swd3K4YHK4cHJ41ORw0eRw8eTwaNMh8JzL6FVXk8RdOqCpQsJe2J5dcBt7EfTC/Jo4q0mn7ooDnY0eRE2cxaSz74oDnQNl2cQpJp1zVxzoXPQygLY8ylF3h9SQHfV8ylH3CFlDeaF8OhOiI1XoGIRwXvrKR23qDXuFAFgwr0lkFRVB5MLmIvYO2ARii6gcOX3U4dlYXoTOBeUOHLFQAbCF5WrIYxRHhfIF6yIYziLUiymHPKPFHEOjQ4XmULKobDQqrC9UHBpltqiiQi0DZBIN78JWdOJPQ5n1OXPk+hy+h/U5PGd9bCauImd9RuDM9fGYuMk56zMCZ67PGBNXkrM+I3D/N+tT8jPr48ldn4r/p+szOXd9xuSujy13fQ7Prg8cXmNtYrQ2WBj6OkY6pMBRSQvf2PCQxfdDiZyIZ9HXbeiLcFcyi9V4jE7r1yOASOvXMfpI5WRyhJuLNTZwHT0UFRSJr4A/yAhFdx5hb8KlPfDYzhT9VfND7DHzz5ofYvTnuMbN6TqInocfhC1ho+jDKOSBvzByFiijlzTB1MAJ10F4AvTBzR/EnXAVo6+BuugN9wGWptc+IK9mMpD0pwtp8+YSDNKZEkiuYfSBdIQ+8JkoLmPNY2T1xli1RlY3oiYZGRuRZZHP5WRSThtG6xMCtRh/KVHmFzSIy3No6e8mPGSfyX9LkzEFEj48FuJD3EnGYDlE9+5OhHE2Mi4rlhNoViUGc6+R2YQ8/aKSNlDyiFl4R0yGj0CaJPLuSAy5iSmY2jZuzq3MmNsmeZe5FRpi3whhhc3NSO4peg9e7vC8bhoxL2exmLxnFy5b/xOXW3K5+Day4g9G6NBkc/N/YrNlT8J4d+Fy63/ism0PwkBxm8UOXEJrpRnKcu1pYfa4IvKeFm3myD13rXh23SdV0fyF+eyaPz56A2v+0qy5x0fHgew6NvyV4usZ/QsS1OV78beZy76SW7+W9W/k6Fdy8ylymh6RQXYDo+/f1pNFuJ17x0lSq0H3rbyFnJCJ4ruik9bM9WgSsUjDW/qHPHELfWRtkK2jD84MzuvAGixvZIi2rV/RvxBhPOMPei6F9pZ9xI3e0Y948w8IiqTAD5wLP3f3JiwDqvRHkp7rcwkMfJ9Jh3Y2oi/mpXHqiMmh0k+5J2IwgLHJcG+9nQvWx9AXx2+n14AB8/uBE+lDqQHz64F70RcBB8xvB2a+1yeL71TINnnc1qEhuXxoqH5o6MShIVT6YWFvElr3pipILBrvI5ke4dFy864t38m134mWLYz+5Y1J2Rb6LIy+49L8vkx+/Nzmt+V+MUPzDX7rrpy+l2u/F5xuYfRXYwXDLd8iFPiWU2RyKxvxMfw2lvkG0Q9iCxXid6ln/PhoDxpvy3nKv11sKfHFnjeIz58Yx+qWZP7tkZdhiKKvsNRA9O+IiJTo6wgE3xKfid0hjgT9CyRG1PgGWt6miPAdSt6l5D1K3qfkA9HlTtHFbYzlP9VCf7UI9F1MBnqm+LdMXmaBD4XL+opRACGiEy1+kybdlNL/xm4SHyQBa36klC2Bz91MgUGlv5UyRXoV7a+iPaW/zswwKfhPWeCYwNlG4Djhsog3sp1fZeZfYNLrkuxbzTeZuI2JQXodsA9LIf5c7lNhMu7BqiuWhPEmRX9tCpoJGZl9P7Cs+IpR+rv491g0tkPjg2Ijim79Gr/O6Cv1kw7ShgIwmqmdlP4a200T9wpFH2YoWvPndjGzPWo62/8+0T/P7H+kib1fXIwlBta4n82Bsze3QfhA9kOkf5n2yzs+ehq1PIjdhj0sdt7YQvpHUnP/N+lTFpoF+ldJpf8DMFJcew==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.full.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoxLjUuMiovCihmdW5jdGlvbigpe3ZhciBmPTAsbD1bXSxuPXt9LGo9e30sYT17IjwiOiJsdCIsIj4iOiJndCIsIiYiOiJhbXAiLCciJzoicXVvdCIsIiciOiIjMzkifSxtPS9bPD4mXCJcJ10vZyxiLGM9d2luZG93LnNldFRpbWVvdXQsZD17fSxlO2Z1bmN0aW9uIGgoKXt0aGlzLnJldHVyblZhbHVlPWZhbHNlfWZ1bmN0aW9uIGsoKXt0aGlzLmNhbmNlbEJ1YmJsZT10cnVlfShmdW5jdGlvbihvKXt2YXIgcD1vLnNwbGl0KC8sLykscSxzLHI7Zm9yKHE9MDtxPHAubGVuZ3RoO3ErPTIpe3I9cFtxKzFdLnNwbGl0KC8gLyk7Zm9yKHM9MDtzPHIubGVuZ3RoO3MrKyl7altyW3NdXT1wW3FdfX19KSgiYXBwbGljYXRpb24vbXN3b3JkLGRvYyBkb3QsYXBwbGljYXRpb24vcGRmLHBkZixhcHBsaWNhdGlvbi9wZ3Atc2lnbmF0dXJlLHBncCxhcHBsaWNhdGlvbi9wb3N0c2NyaXB0LHBzIGFpIGVwcyxhcHBsaWNhdGlvbi9ydGYscnRmLGFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCx4bHMgeGxiLGFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LHBwdCBwcHMgcG90LGFwcGxpY2F0aW9uL3ppcCx6aXAsYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gsc3dmIHN3ZmwsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQsZG9jeCxhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC50ZW1wbGF0ZSxkb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0LHhsc3gsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbixwcHR4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50ZW1wbGF0ZSxwb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXNob3cscHBzeCxhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQsanMsYXBwbGljYXRpb24vanNvbixqc29uLGF1ZGlvL21wZWcsbXBnYSBtcGVnYSBtcDIgbXAzLGF1ZGlvL3gtd2F2LHdhdixhdWRpby9tcDQsbTRhLGltYWdlL2JtcCxibXAsaW1hZ2UvZ2lmLGdpZixpbWFnZS9qcGVnLGpwZWcganBnIGpwZSxpbWFnZS9waG90b3Nob3AscHNkLGltYWdlL3BuZyxwbmcsaW1hZ2Uvc3ZnK3htbCxzdmcgc3ZneixpbWFnZS90aWZmLHRpZmYgdGlmLHRleHQvcGxhaW4sYXNjIHR4dCB0ZXh0IGRpZmYgbG9nLHRleHQvaHRtbCxodG0gaHRtbCB4aHRtbCx0ZXh0L2Nzcyxjc3MsdGV4dC9jc3YsY3N2LHRleHQvcnRmLHJ0Zix2aWRlby9tcGVnLG1wZWcgbXBnIG1wZSx2aWRlby9xdWlja3RpbWUscXQgbW92LHZpZGVvL21wNCxtcDQsdmlkZW8veC1tNHYsbTR2LHZpZGVvL3gtZmx2LGZsdix2aWRlby94LW1zLXdtdix3bXYsdmlkZW8vYXZpLGF2aSx2aWRlby93ZWJtLHdlYm0sdmlkZW8vdm5kLnJuLXJlYWx2aWRlbyxydixhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGEtdGVtcGxhdGUsb3RmLGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSxleGUiKTt2YXIgZz17VkVSU0lPTjoiMS41LjIiLFNUT1BQRUQ6MSxTVEFSVEVEOjIsUVVFVUVEOjEsVVBMT0FESU5HOjIsRkFJTEVEOjQsRE9ORTo1LEdFTkVSSUNfRVJST1I6LTEwMCxIVFRQX0VSUk9SOi0yMDAsSU9fRVJST1I6LTMwMCxTRUNVUklUWV9FUlJPUjotNDAwLElOSVRfRVJST1I6LTUwMCxGSUxFX1NJWkVfRVJST1I6LTYwMCxGSUxFX0VYVEVOU0lPTl9FUlJPUjotNjAxLElNQUdFX0ZPUk1BVF9FUlJPUjotNzAwLElNQUdFX01FTU9SWV9FUlJPUjotNzAxLElNQUdFX0RJTUVOU0lPTlNfRVJST1I6LTcwMixtaW1lVHlwZXM6aix1YTooZnVuY3Rpb24oKXt2YXIgcz1uYXZpZ2F0b3Iscj1zLnVzZXJBZ2VudCx0PXMudmVuZG9yLHAsbyxxO3A9L1dlYktpdC8udGVzdChyKTtxPXAmJnQuaW5kZXhPZigiQXBwbGUiKSE9PS0xO289d2luZG93Lm9wZXJhJiZ3aW5kb3cub3BlcmEuYnVpbGROdW1iZXI7cmV0dXJue3dpbmRvd3M6bmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIldpbiIpIT09LTEsaWU6IXAmJiFvJiYoL01TSUUvZ2kpLnRlc3QocikmJigvRXhwbG9yZXIvZ2kpLnRlc3Qocy5hcHBOYW1lKSx3ZWJraXQ6cCxnZWNrbzohcCYmL0dlY2tvLy50ZXN0KHIpLHNhZmFyaTpxLG9wZXJhOiEhb319KCkpLHR5cGVPZjpmdW5jdGlvbihwKXtyZXR1cm4oe30pLnRvU3RyaW5nLmNhbGwocCkubWF0Y2goL1xzKFthLXp8QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKX0sZXh0ZW5kOmZ1bmN0aW9uKG8pe2cuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24ocCxxKXtpZihxPjApe2cuZWFjaChwLGZ1bmN0aW9uKHMscil7b1tyXT1zfSl9fSk7cmV0dXJuIG99LGNsZWFuTmFtZTpmdW5jdGlvbihvKXt2YXIgcCxxO3E9Wy9bXDMwMC1cMzA2XS9nLCJBIiwvW1wzNDAtXDM0Nl0vZywiYSIsL1wzMDcvZywiQyIsL1wzNDcvZywiYyIsL1tcMzEwLVwzMTNdL2csIkUiLC9bXDM1MC1cMzUzXS9nLCJlIiwvW1wzMTQtXDMxN10vZywiSSIsL1tcMzU0LVwzNTddL2csImkiLC9cMzIxL2csIk4iLC9cMzYxL2csIm4iLC9bXDMyMi1cMzMwXS9nLCJPIiwvW1wzNjItXDM3MF0vZywibyIsL1tcMzMxLVwzMzRdL2csIlUiLC9bXDM3MS1cMzc0XS9nLCJ1Il07Zm9yKHA9MDtwPHEubGVuZ3RoO3ArPTIpe289by5yZXBsYWNlKHFbcF0scVtwKzFdKX1vPW8ucmVwbGFjZSgvXHMrL2csIl8iKTtvPW8ucmVwbGFjZSgvW15hLXowLTlfXC1cLl0rL2dpLCIiKTtyZXR1cm4gb30sYWRkUnVudGltZTpmdW5jdGlvbihvLHApe3AubmFtZT1vO2xbb109cDtsLnB1c2gocCk7cmV0dXJuIHB9LGd1aWQ6ZnVuY3Rpb24oKXt2YXIgbz1uZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygzMikscDtmb3IocD0wO3A8NTtwKyspe28rPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo2NTUzNSkudG9TdHJpbmcoMzIpfXJldHVybihnLmd1aWRQcmVmaXh8fCJwIikrbysoZisrKS50b1N0cmluZygzMil9LGJ1aWxkVXJsOmZ1bmN0aW9uKHAsbyl7dmFyIHE9IiI7Zy5lYWNoKG8sZnVuY3Rpb24ocyxyKXtxKz0ocT8iJiI6IiIpK2VuY29kZVVSSUNvbXBvbmVudChyKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHMpfSk7aWYocSl7cCs9KHAuaW5kZXhPZigiPyIpPjA/IiYiOiI/IikrcX1yZXR1cm4gcH0sZWFjaDpmdW5jdGlvbihyLHMpe3ZhciBxLHAsbztpZihyKXtxPXIubGVuZ3RoO2lmKHE9PT1iKXtmb3IocCBpbiByKXtpZihyLmhhc093blByb3BlcnR5KHApKXtpZihzKHJbcF0scCk9PT1mYWxzZSl7cmV0dXJufX19fWVsc2V7Zm9yKG89MDtvPHE7bysrKXtpZihzKHJbb10sbyk9PT1mYWxzZSl7cmV0dXJufX19fX0sZm9ybWF0U2l6ZTpmdW5jdGlvbihvKXtpZihvPT09Ynx8L1xELy50ZXN0KG8pKXtyZXR1cm4gZy50cmFuc2xhdGUoIk4vQSIpfWlmKG8+MTA3Mzc0MTgyNCl7cmV0dXJuIE1hdGgucm91bmQoby8xMDczNzQxODI0LDEpKyIgR0IifWlmKG8+MTA0ODU3Nil7cmV0dXJuIE1hdGgucm91bmQoby8xMDQ4NTc2LDEpKyIgTUIifWlmKG8+MTAyNCl7cmV0dXJuIE1hdGgucm91bmQoby8xMDI0LDEpKyIgS0IifXJldHVybiBvKyIgYiJ9LGdldFBvczpmdW5jdGlvbihwLHQpe3ZhciB1PTAscz0wLHcsdj1kb2N1bWVudCxxLHI7cD1wO3Q9dHx8di5ib2R5O2Z1bmN0aW9uIG8oQyl7dmFyIEEsQix6PTAsRD0wO2lmKEMpe0I9Qy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtBPXYuY29tcGF0TW9kZT09PSJDU1MxQ29tcGF0Ij92LmRvY3VtZW50RWxlbWVudDp2LmJvZHk7ej1CLmxlZnQrQS5zY3JvbGxMZWZ0O0Q9Qi50b3ArQS5zY3JvbGxUb3B9cmV0dXJue3g6eix5OkR9fWlmKHAmJnAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiYobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIik+MCYmdi5kb2N1bWVudE1vZGUhPT04KSl7cT1vKHApO3I9byh0KTtyZXR1cm57eDpxLngtci54LHk6cS55LXIueX19dz1wO3doaWxlKHcmJnchPXQmJncubm9kZVR5cGUpe3UrPXcub2Zmc2V0TGVmdHx8MDtzKz13Lm9mZnNldFRvcHx8MDt3PXcub2Zmc2V0UGFyZW50fXc9cC5wYXJlbnROb2RlO3doaWxlKHcmJnchPXQmJncubm9kZVR5cGUpe3UtPXcuc2Nyb2xsTGVmdHx8MDtzLT13LnNjcm9sbFRvcHx8MDt3PXcucGFyZW50Tm9kZX1yZXR1cm57eDp1LHk6c319LGdldFNpemU6ZnVuY3Rpb24obyl7cmV0dXJue3c6by5vZmZzZXRXaWR0aHx8by5jbGllbnRXaWR0aCxoOm8ub2Zmc2V0SGVpZ2h0fHxvLmNsaWVudEhlaWdodH19LHBhcnNlU2l6ZTpmdW5jdGlvbihvKXt2YXIgcDtpZih0eXBlb2Yobyk9PSJzdHJpbmciKXtvPS9eKFswLTldKykoW21na10/KSQvLmV4ZWMoby50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teMC05bWtnXS9nLCIiKSk7cD1vWzJdO289K29bMV07aWYocD09ImciKXtvKj0xMDczNzQxODI0fWlmKHA9PSJtIil7byo9MTA0ODU3Nn1pZihwPT0iayIpe28qPTEwMjR9fXJldHVybiBvfSx4bWxFbmNvZGU6ZnVuY3Rpb24obyl7cmV0dXJuIG8/KCIiK28pLnJlcGxhY2UobSxmdW5jdGlvbihwKXtyZXR1cm4gYVtwXT8iJiIrYVtwXSsiOyI6cH0pOm99LHRvQXJyYXk6ZnVuY3Rpb24ocSl7dmFyIHAsbz1bXTtmb3IocD0wO3A8cS5sZW5ndGg7cCsrKXtvW3BdPXFbcF19cmV0dXJuIG99LGluQXJyYXk6ZnVuY3Rpb24ocSxyKXtpZihyKXtpZihBcnJheS5wcm90b3R5cGUuaW5kZXhPZil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwocixxKX1mb3IodmFyIG89MCxwPXIubGVuZ3RoO288cDtvKyspe2lmKHJbb109PT1xKXtyZXR1cm4gb319fXJldHVybiAtMX0sYWRkSTE4bjpmdW5jdGlvbihvKXtyZXR1cm4gZy5leHRlbmQobixvKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKG8pe3JldHVybiBuW29dfHxvfSxpc0VtcHR5T2JqOmZ1bmN0aW9uKG8pe2lmKG89PT1iKXtyZXR1cm4gdHJ1ZX1mb3IodmFyIHAgaW4gbyl7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfSxoYXNDbGFzczpmdW5jdGlvbihxLHApe3ZhciBvO2lmKHEuY2xhc3NOYW1lPT0iIil7cmV0dXJuIGZhbHNlfW89bmV3IFJlZ0V4cCgiKF58XFxzKykiK3ArIihcXHMrfCQpIik7cmV0dXJuIG8udGVzdChxLmNsYXNzTmFtZSl9LGFkZENsYXNzOmZ1bmN0aW9uKHAsbyl7aWYoIWcuaGFzQ2xhc3MocCxvKSl7cC5jbGFzc05hbWU9cC5jbGFzc05hbWU9PSIiP286cC5jbGFzc05hbWUucmVwbGFjZSgvXHMrJC8sIiIpKyIgIitvfX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24ocSxwKXt2YXIgbz1uZXcgUmVnRXhwKCIoXnxcXHMrKSIrcCsiKFxccyt8JCkiKTtxLmNsYXNzTmFtZT1xLmNsYXNzTmFtZS5yZXBsYWNlKG8sZnVuY3Rpb24ocyxyLHQpe3JldHVybiByPT09IiAiJiZ0PT09IiAiPyIgIjoiIn0pfSxnZXRTdHlsZTpmdW5jdGlvbihwLG8pe2lmKHAuY3VycmVudFN0eWxlKXtyZXR1cm4gcC5jdXJyZW50U3R5bGVbb119ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHAsbnVsbClbb119fX0sYWRkRXZlbnQ6ZnVuY3Rpb24odCxvLHUpe3ZhciBzLHIscSxwO3A9YXJndW1lbnRzWzNdO289by50b0xvd2VyQ2FzZSgpO2lmKGU9PT1iKXtlPSJQbHVwbG9hZF8iK2cuZ3VpZCgpfWlmKHQuYWRkRXZlbnRMaXN0ZW5lcil7cz11O3QuYWRkRXZlbnRMaXN0ZW5lcihvLHMsZmFsc2UpfWVsc2V7aWYodC5hdHRhY2hFdmVudCl7cz1mdW5jdGlvbigpe3ZhciB2PXdpbmRvdy5ldmVudDtpZighdi50YXJnZXQpe3YudGFyZ2V0PXYuc3JjRWxlbWVudH12LnByZXZlbnREZWZhdWx0PWg7di5zdG9wUHJvcGFnYXRpb249azt1KHYpfTt0LmF0dGFjaEV2ZW50KCJvbiIrbyxzKX19aWYodFtlXT09PWIpe3RbZV09Zy5ndWlkKCl9aWYoIWQuaGFzT3duUHJvcGVydHkodFtlXSkpe2RbdFtlXV09e319cj1kW3RbZV1dO2lmKCFyLmhhc093blByb3BlcnR5KG8pKXtyW29dPVtdfXJbb10ucHVzaCh7ZnVuYzpzLG9yaWc6dSxrZXk6cH0pfSxyZW1vdmVFdmVudDpmdW5jdGlvbih0LG8pe3ZhciByLHUscTtpZih0eXBlb2YoYXJndW1lbnRzWzJdKT09ImZ1bmN0aW9uIil7dT1hcmd1bWVudHNbMl19ZWxzZXtxPWFyZ3VtZW50c1syXX1vPW8udG9Mb3dlckNhc2UoKTtpZih0W2VdJiZkW3RbZV1dJiZkW3RbZV1dW29dKXtyPWRbdFtlXV1bb119ZWxzZXtyZXR1cm59Zm9yKHZhciBwPXIubGVuZ3RoLTE7cD49MDtwLS0pe2lmKHJbcF0ua2V5PT09cXx8cltwXS5vcmlnPT09dSl7aWYodC5kZXRhY2hFdmVudCl7dC5kZXRhY2hFdmVudCgib24iK28scltwXS5mdW5jKX1lbHNle2lmKHQucmVtb3ZlRXZlbnRMaXN0ZW5lcil7dC5yZW1vdmVFdmVudExpc3RlbmVyKG8scltwXS5mdW5jLGZhbHNlKX19cltwXS5vcmlnPW51bGw7cltwXS5mdW5jPW51bGw7ci5zcGxpY2UocCwxKTtpZih1IT09Yil7YnJlYWt9fX1pZighci5sZW5ndGgpe2RlbGV0ZSBkW3RbZV1dW29dfWlmKGcuaXNFbXB0eU9iaihkW3RbZV1dKSl7ZGVsZXRlIGRbdFtlXV07dHJ5e2RlbGV0ZSB0W2VdfWNhdGNoKHMpe3RbZV09Yn19fSxyZW1vdmVBbGxFdmVudHM6ZnVuY3Rpb24ocCl7dmFyIG89YXJndW1lbnRzWzFdO2lmKHBbZV09PT1ifHwhcFtlXSl7cmV0dXJufWcuZWFjaChkW3BbZV1dLGZ1bmN0aW9uKHIscSl7Zy5yZW1vdmVFdmVudChwLHEsbyl9KX19O2cuVXBsb2FkZXI9ZnVuY3Rpb24ocyl7dmFyIHA9e30sdix1PVtdLHIscT1mYWxzZTt2PW5ldyBnLlF1ZXVlUHJvZ3Jlc3MoKTtzPWcuZXh0ZW5kKHtjaHVua19zaXplOjAsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWUsZmlsZV9kYXRhX25hbWU6ImZpbGUiLGZpbHRlcnM6W119LHMpO2Z1bmN0aW9uIHQoKXt2YXIgeCx5PTAsdztpZih0aGlzLnN0YXRlPT1nLlNUQVJURUQpe2Zvcih3PTA7dzx1Lmxlbmd0aDt3Kyspe2lmKCF4JiZ1W3ddLnN0YXR1cz09Zy5RVUVVRUQpe3g9dVt3XTt4LnN0YXR1cz1nLlVQTE9BRElORztpZih0aGlzLnRyaWdnZXIoIkJlZm9yZVVwbG9hZCIseCkpe3RoaXMudHJpZ2dlcigiVXBsb2FkRmlsZSIseCl9fWVsc2V7eSsrfX1pZih5PT11Lmxlbmd0aCl7dGhpcy5zdG9wKCk7dGhpcy50cmlnZ2VyKCJVcGxvYWRDb21wbGV0ZSIsdSl9fX1mdW5jdGlvbiBvKCl7dmFyIHgsdzt2LnJlc2V0KCk7Zm9yKHg9MDt4PHUubGVuZ3RoO3grKyl7dz11W3hdO2lmKHcuc2l6ZSE9PWIpe3Yuc2l6ZSs9dy5zaXplO3YubG9hZGVkKz13LmxvYWRlZH1lbHNle3Yuc2l6ZT1ifWlmKHcuc3RhdHVzPT1nLkRPTkUpe3YudXBsb2FkZWQrK31lbHNle2lmKHcuc3RhdHVzPT1nLkZBSUxFRCl7di5mYWlsZWQrK31lbHNle3YucXVldWVkKyt9fX1pZih2LnNpemU9PT1iKXt2LnBlcmNlbnQ9dS5sZW5ndGg+MD9NYXRoLmNlaWwodi51cGxvYWRlZC91Lmxlbmd0aCoxMDApOjB9ZWxzZXt2LmJ5dGVzUGVyU2VjPU1hdGguY2VpbCh2LmxvYWRlZC8oKCtuZXcgRGF0ZSgpLXJ8fDEpLzEwMDApKTt2LnBlcmNlbnQ9di5zaXplPjA/TWF0aC5jZWlsKHYubG9hZGVkL3Yuc2l6ZSoxMDApOjB9fWcuZXh0ZW5kKHRoaXMse3N0YXRlOmcuU1RPUFBFRCxydW50aW1lOiIiLGZlYXR1cmVzOnt9LGZpbGVzOnUsc2V0dGluZ3M6cyx0b3RhbDp2LGlkOmcuZ3VpZCgpLGluaXQ6ZnVuY3Rpb24oKXt2YXIgQj10aGlzLEMseSx4LEE9MCx6O2lmKHR5cGVvZihzLnByZWluaXQpPT0iZnVuY3Rpb24iKXtzLnByZWluaXQoQil9ZWxzZXtnLmVhY2gocy5wcmVpbml0LGZ1bmN0aW9uKEUsRCl7Qi5iaW5kKEQsRSl9KX1zLnBhZ2VfdXJsPXMucGFnZV91cmx8fGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvW15cL10rJC9nLCIvIik7aWYoIS9eKFx3KzpcL1wvfFwvKS8udGVzdChzLnVybCkpe3MudXJsPXMucGFnZV91cmwrcy51cmx9cy5jaHVua19zaXplPWcucGFyc2VTaXplKHMuY2h1bmtfc2l6ZSk7cy5tYXhfZmlsZV9zaXplPWcucGFyc2VTaXplKHMubWF4X2ZpbGVfc2l6ZSk7Qi5iaW5kKCJGaWxlc0FkZGVkIixmdW5jdGlvbihELEcpe3ZhciBGLEUsST0wLEosSD1zLmZpbHRlcnM7aWYoSCYmSC5sZW5ndGgpe0o9W107Zy5lYWNoKEgsZnVuY3Rpb24oSyl7Zy5lYWNoKEsuZXh0ZW5zaW9ucy5zcGxpdCgvLC8pLGZ1bmN0aW9uKEwpe2lmKC9eXHMqXCpccyokLy50ZXN0KEwpKXtKLnB1c2goIlxcLioiKX1lbHNle0oucHVzaCgiXFwuIitMLnJlcGxhY2UobmV3IFJlZ0V4cCgiWyIrKCIvXiQuKis/fCgpW117fVxcIi5yZXBsYWNlKC8uL2csIlxcJCYiKSkrIl0iLCJnIiksIlxcJCYiKSl9fSl9KTtKPW5ldyBSZWdFeHAoSi5qb2luKCJ8IikrIiQiLCJpIil9Zm9yKEY9MDtGPEcubGVuZ3RoO0YrKyl7RT1HW0ZdO0UubG9hZGVkPTA7RS5wZXJjZW50PTA7RS5zdGF0dXM9Zy5RVUVVRUQ7aWYoSiYmIUoudGVzdChFLm5hbWUpKXtELnRyaWdnZXIoIkVycm9yIix7Y29kZTpnLkZJTEVfRVhURU5TSU9OX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgZXh0ZW5zaW9uIGVycm9yLiIpLGZpbGU6RX0pO2NvbnRpbnVlfWlmKEUuc2l6ZSE9PWImJkUuc2l6ZT5zLm1heF9maWxlX3NpemUpe0QudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuRklMRV9TSVpFX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgc2l6ZSBlcnJvci4iKSxmaWxlOkV9KTtjb250aW51ZX11LnB1c2goRSk7SSsrfWlmKEkpe2MoZnVuY3Rpb24oKXtCLnRyaWdnZXIoIlF1ZXVlQ2hhbmdlZCIpO0IucmVmcmVzaCgpfSwxKX1lbHNle3JldHVybiBmYWxzZX19KTtpZihzLnVuaXF1ZV9uYW1lcyl7Qi5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihELEUpe3ZhciBHPUUubmFtZS5tYXRjaCgvXC4oW14uXSspJC8pLEY9InRtcCI7aWYoRyl7Rj1HWzFdfUUudGFyZ2V0X25hbWU9RS5pZCsiLiIrRn0pfUIuYmluZCgiVXBsb2FkUHJvZ3Jlc3MiLGZ1bmN0aW9uKEQsRSl7RS5wZXJjZW50PUUuc2l6ZT4wP01hdGguY2VpbChFLmxvYWRlZC9FLnNpemUqMTAwKToxMDA7bygpfSk7Qi5iaW5kKCJTdGF0ZUNoYW5nZWQiLGZ1bmN0aW9uKEQpe2lmKEQuc3RhdGU9PWcuU1RBUlRFRCl7cj0oK25ldyBEYXRlKCkpfWVsc2V7aWYoRC5zdGF0ZT09Zy5TVE9QUEVEKXtmb3IoQz1ELmZpbGVzLmxlbmd0aC0xO0M+PTA7Qy0tKXtpZihELmZpbGVzW0NdLnN0YXR1cz09Zy5VUExPQURJTkcpe0QuZmlsZXNbQ10uc3RhdHVzPWcuUVVFVUVEO28oKX19fX19KTtCLmJpbmQoIlF1ZXVlQ2hhbmdlZCIsbyk7Qi5iaW5kKCJFcnJvciIsZnVuY3Rpb24oRCxFKXtpZihFLmZpbGUpe0UuZmlsZS5zdGF0dXM9Zy5GQUlMRUQ7bygpO2lmKEQuc3RhdGU9PWcuU1RBUlRFRCl7YyhmdW5jdGlvbigpe3QuY2FsbChCKX0sMSl9fX0pO0IuYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihELEUpe0Uuc3RhdHVzPWcuRE9ORTtFLmxvYWRlZD1FLnNpemU7RC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsRSk7YyhmdW5jdGlvbigpe3QuY2FsbChCKX0sMSl9KTtpZihzLnJ1bnRpbWVzKXt5PVtdO3o9cy5ydW50aW1lcy5zcGxpdCgvXHM/LFxzPy8pO2ZvcihDPTA7Qzx6Lmxlbmd0aDtDKyspe2lmKGxbeltDXV0pe3kucHVzaChsW3pbQ11dKX19fWVsc2V7eT1sfWZ1bmN0aW9uIHcoKXt2YXIgRz15W0ErK10sRixELEU7aWYoRyl7Rj1HLmdldEZlYXR1cmVzKCk7RD1CLnNldHRpbmdzLnJlcXVpcmVkX2ZlYXR1cmVzO2lmKEQpe0Q9RC5zcGxpdCgiLCIpO2ZvcihFPTA7RTxELmxlbmd0aDtFKyspe2lmKCFGW0RbRV1dKXt3KCk7cmV0dXJufX19Ry5pbml0KEIsZnVuY3Rpb24oSCl7aWYoSCYmSC5zdWNjZXNzKXtCLmZlYXR1cmVzPUY7Qi5ydW50aW1lPUcubmFtZTtCLnRyaWdnZXIoIkluaXQiLHtydW50aW1lOkcubmFtZX0pO0IudHJpZ2dlcigiUG9zdEluaXQiKTtCLnJlZnJlc2goKX1lbHNle3coKX19KX1lbHNle0IudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuSU5JVF9FUlJPUixtZXNzYWdlOmcudHJhbnNsYXRlKCJJbml0IGVycm9yLiIpfSl9fXcoKTtpZih0eXBlb2Yocy5pbml0KT09ImZ1bmN0aW9uIil7cy5pbml0KEIpfWVsc2V7Zy5lYWNoKHMuaW5pdCxmdW5jdGlvbihFLEQpe0IuYmluZChELEUpfSl9fSxyZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy50cmlnZ2VyKCJSZWZyZXNoIil9LHN0YXJ0OmZ1bmN0aW9uKCl7aWYodGhpcy5zdGF0ZSE9Zy5TVEFSVEVEKXt0aGlzLnN0YXRlPWcuU1RBUlRFRDt0aGlzLnRyaWdnZXIoIlN0YXRlQ2hhbmdlZCIpO3QuY2FsbCh0aGlzKX19LHN0b3A6ZnVuY3Rpb24oKXtpZih0aGlzLnN0YXRlIT1nLlNUT1BQRUQpe3RoaXMuc3RhdGU9Zy5TVE9QUEVEO3RoaXMudHJpZ2dlcigiQ2FuY2VsVXBsb2FkIik7dGhpcy50cmlnZ2VyKCJTdGF0ZUNoYW5nZWQiKX19LGRpc2FibGVCcm93c2U6ZnVuY3Rpb24oKXtxPWFyZ3VtZW50c1swXSE9PWI/YXJndW1lbnRzWzBdOnRydWU7dGhpcy50cmlnZ2VyKCJEaXNhYmxlQnJvd3NlIixxKX0sZ2V0RmlsZTpmdW5jdGlvbih4KXt2YXIgdztmb3Iodz11Lmxlbmd0aC0xO3c+PTA7dy0tKXtpZih1W3ddLmlkPT09eCl7cmV0dXJuIHVbd119fX0scmVtb3ZlRmlsZTpmdW5jdGlvbih4KXt2YXIgdztmb3Iodz11Lmxlbmd0aC0xO3c+PTA7dy0tKXtpZih1W3ddLmlkPT09eC5pZCl7cmV0dXJuIHRoaXMuc3BsaWNlKHcsMSlbMF19fX0sc3BsaWNlOmZ1bmN0aW9uKHksdyl7dmFyIHg7eD11LnNwbGljZSh5PT09Yj8wOnksdz09PWI/dS5sZW5ndGg6dyk7dGhpcy50cmlnZ2VyKCJGaWxlc1JlbW92ZWQiLHgpO3RoaXMudHJpZ2dlcigiUXVldWVDaGFuZ2VkIik7cmV0dXJuIHh9LHRyaWdnZXI6ZnVuY3Rpb24oeCl7dmFyIHo9cFt4LnRvTG93ZXJDYXNlKCldLHksdztpZih6KXt3PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7d1swXT10aGlzO2Zvcih5PTA7eTx6Lmxlbmd0aDt5Kyspe2lmKHpbeV0uZnVuYy5hcHBseSh6W3ldLnNjb3BlLHcpPT09ZmFsc2Upe3JldHVybiBmYWxzZX19fXJldHVybiB0cnVlfSxoYXNFdmVudExpc3RlbmVyOmZ1bmN0aW9uKHcpe3JldHVybiAhIXBbdy50b0xvd2VyQ2FzZSgpXX0sYmluZDpmdW5jdGlvbih3LHkseCl7dmFyIHo7dz13LnRvTG93ZXJDYXNlKCk7ej1wW3ddfHxbXTt6LnB1c2goe2Z1bmM6eSxzY29wZTp4fHx0aGlzfSk7cFt3XT16fSx1bmJpbmQ6ZnVuY3Rpb24odyl7dz13LnRvTG93ZXJDYXNlKCk7dmFyIHo9cFt3XSx4LHk9YXJndW1lbnRzWzFdO2lmKHope2lmKHkhPT1iKXtmb3IoeD16Lmxlbmd0aC0xO3g+PTA7eC0tKXtpZih6W3hdLmZ1bmM9PT15KXt6LnNwbGljZSh4LDEpO2JyZWFrfX19ZWxzZXt6PVtdfWlmKCF6Lmxlbmd0aCl7ZGVsZXRlIHBbd119fX0sdW5iaW5kQWxsOmZ1bmN0aW9uKCl7dmFyIHc9dGhpcztnLmVhY2gocCxmdW5jdGlvbih5LHgpe3cudW5iaW5kKHgpfSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLnRyaWdnZXIoIkRlc3Ryb3kiKTt0aGlzLnVuYmluZEFsbCgpfX0pfTtnLkZpbGU9ZnVuY3Rpb24ocixwLHEpe3ZhciBvPXRoaXM7by5pZD1yO28ubmFtZT1wO28uc2l6ZT1xO28ubG9hZGVkPTA7by5wZXJjZW50PTA7by5zdGF0dXM9MH07Zy5SdW50aW1lPWZ1bmN0aW9uKCl7dGhpcy5nZXRGZWF0dXJlcz1mdW5jdGlvbigpe307dGhpcy5pbml0PWZ1bmN0aW9uKG8scCl7fX07Zy5RdWV1ZVByb2dyZXNzPWZ1bmN0aW9uKCl7dmFyIG89dGhpcztvLnNpemU9MDtvLmxvYWRlZD0wO28udXBsb2FkZWQ9MDtvLmZhaWxlZD0wO28ucXVldWVkPTA7by5wZXJjZW50PTA7by5ieXRlc1BlclNlYz0wO28ucmVzZXQ9ZnVuY3Rpb24oKXtvLnNpemU9by5sb2FkZWQ9by51cGxvYWRlZD1vLmZhaWxlZD1vLnF1ZXVlZD1vLnBlcmNlbnQ9by5ieXRlc1BlclNlYz0wfX07Zy5ydW50aW1lcz17fTt3aW5kb3cucGx1cGxvYWQ9Z30pKCk7KGZ1bmN0aW9uKCl7aWYod2luZG93Lmdvb2dsZSYmZ29vZ2xlLmdlYXJzKXtyZXR1cm59dmFyIGE9bnVsbDtpZih0eXBlb2YgR2VhcnNGYWN0b3J5IT0idW5kZWZpbmVkIil7YT1uZXcgR2VhcnNGYWN0b3J5KCl9ZWxzZXt0cnl7YT1uZXcgQWN0aXZlWE9iamVjdCgiR2VhcnMuRmFjdG9yeSIpO2lmKGEuZ2V0QnVpbGRJbmZvKCkuaW5kZXhPZigiaWVfbW9iaWxlIikhPS0xKXthLnByaXZhdGVTZXRHbG9iYWxPYmplY3QodGhpcyl9fWNhdGNoKGIpe2lmKCh0eXBlb2YgbmF2aWdhdG9yLm1pbWVUeXBlcyE9InVuZGVmaW5lZCIpJiZuYXZpZ2F0b3IubWltZVR5cGVzWyJhcHBsaWNhdGlvbi94LWdvb2dsZWdlYXJzIl0pe2E9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0Iik7YS5zdHlsZS5kaXNwbGF5PSJub25lIjthLndpZHRoPTA7YS5oZWlnaHQ9MDthLnR5cGU9ImFwcGxpY2F0aW9uL3gtZ29vZ2xlZ2VhcnMiO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChhKX19fWlmKCFhKXtyZXR1cm59aWYoIXdpbmRvdy5nb29nbGUpe3dpbmRvdy5nb29nbGU9e319aWYoIWdvb2dsZS5nZWFycyl7Z29vZ2xlLmdlYXJzPXtmYWN0b3J5OmF9fX0pKCk7KGZ1bmN0aW9uKGUsYixjLGQpe3ZhciBmPXt9O2Z1bmN0aW9uIGEoaCxrLG0pe3ZhciBnLGosbCxvO2o9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmNhbnZhcyIpO3RyeXtqLmRlY29kZShoKTtpZighay53aWR0aCl7ay53aWR0aD1qLndpZHRofWlmKCFrLmhlaWdodCl7ay5oZWlnaHQ9ai5oZWlnaHR9bz1NYXRoLm1pbih3aWR0aC9qLndpZHRoLGhlaWdodC9qLmhlaWdodCk7aWYobzwxfHwobz09PTEmJm09PT0iaW1hZ2UvanBlZyIpKXtqLnJlc2l6ZShNYXRoLnJvdW5kKGoud2lkdGgqbyksTWF0aC5yb3VuZChqLmhlaWdodCpvKSk7aWYoay5xdWFsaXR5KXtyZXR1cm4gai5lbmNvZGUobSx7cXVhbGl0eTprLnF1YWxpdHkvMTAwfSl9cmV0dXJuIGouZW5jb2RlKG0pfX1jYXRjaChuKXt9cmV0dXJuIGh9Yy5ydW50aW1lcy5HZWFycz1jLmFkZFJ1bnRpbWUoImdlYXJzIix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57ZHJhZ2Ryb3A6dHJ1ZSxqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihsLG4pe3ZhciBtLGgsZz1mYWxzZTtpZighZS5nb29nbGV8fCFnb29nbGUuZ2VhcnMpe3JldHVybiBuKHtzdWNjZXNzOmZhbHNlfSl9dHJ5e209Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmRlc2t0b3AiKX1jYXRjaChrKXtyZXR1cm4gbih7c3VjY2VzczpmYWxzZX0pfWZ1bmN0aW9uIGoocSl7dmFyIHAsbyxyPVtdLHM7Zm9yKG89MDtvPHEubGVuZ3RoO28rKyl7cD1xW29dO3M9Yy5ndWlkKCk7ZltzXT1wLmJsb2I7ci5wdXNoKG5ldyBjLkZpbGUocyxwLm5hbWUscC5ibG9iLmxlbmd0aCkpfWwudHJpZ2dlcigiRmlsZXNBZGRlZCIscil9bC5iaW5kKCJQb3N0SW5pdCIsZnVuY3Rpb24oKXt2YXIgcD1sLnNldHRpbmdzLG89Yi5nZXRFbGVtZW50QnlJZChwLmRyb3BfZWxlbWVudCk7aWYobyl7Yy5hZGRFdmVudChvLCJkcmFnb3ZlciIsZnVuY3Rpb24ocSl7bS5zZXREcm9wRWZmZWN0KHEsImNvcHkiKTtxLnByZXZlbnREZWZhdWx0KCl9LGwuaWQpO2MuYWRkRXZlbnQobywiZHJvcCIsZnVuY3Rpb24ocil7dmFyIHE9bS5nZXREcmFnRGF0YShyLCJhcHBsaWNhdGlvbi94LWdlYXJzLWZpbGVzIik7aWYocSl7aihxLmZpbGVzKX1yLnByZXZlbnREZWZhdWx0KCl9LGwuaWQpO289MH1jLmFkZEV2ZW50KGIuZ2V0RWxlbWVudEJ5SWQocC5icm93c2VfYnV0dG9uKSwiY2xpY2siLGZ1bmN0aW9uKHUpe3ZhciB0PVtdLHIscSxzO3UucHJldmVudERlZmF1bHQoKTtpZihnKXtyZXR1cm59bm9fdHlwZV9yZXN0cmljdGlvbjpmb3Iocj0wO3I8cC5maWx0ZXJzLmxlbmd0aDtyKyspe3M9cC5maWx0ZXJzW3JdLmV4dGVuc2lvbnMuc3BsaXQoIiwiKTtmb3IocT0wO3E8cy5sZW5ndGg7cSsrKXtpZihzW3FdPT09IioiKXt0PVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259dC5wdXNoKCIuIitzW3FdKX19bS5vcGVuRmlsZXMoaix7c2luZ2xlRmlsZTohcC5tdWx0aV9zZWxlY3Rpb24sZmlsdGVyOnR9KX0sbC5pZCl9KTtsLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtpZihoLmFib3J0KXtoLmFib3J0KCl9fSk7bC5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbih1LHIpe3ZhciB3PTAsdixzLHQ9MCxxPXUuc2V0dGluZ3MucmVzaXplLG87aWYocSYmL1wuKHBuZ3xqcGd8anBlZykkL2kudGVzdChyLm5hbWUpKXtmW3IuaWRdPWEoZltyLmlkXSxxLC9cLnBuZyQvaS50ZXN0KHIubmFtZSk/ImltYWdlL3BuZyI6ImltYWdlL2pwZWciKX1yLnNpemU9ZltyLmlkXS5sZW5ndGg7cz11LnNldHRpbmdzLmNodW5rX3NpemU7bz1zPjA7dj1NYXRoLmNlaWwoci5zaXplL3MpO2lmKCFvKXtzPXIuc2l6ZTt2PTF9ZnVuY3Rpb24gcCgpe3ZhciBDLHk9dS5zZXR0aW5ncy5tdWx0aXBhcnQseD0wLEI9e25hbWU6ci50YXJnZXRfbmFtZXx8ci5uYW1lfSx6PXUuc2V0dGluZ3MudXJsO2Z1bmN0aW9uIEEoRSl7dmFyIEQsSj0iLS0tLXBsdXBsb2FkYm91bmRhcnkiK2MuZ3VpZCgpLEc9Ii0tIixJPSJcclxuIixGLEg7aWYoeSl7aC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iK0opO0Q9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmJsb2JidWlsZGVyIik7Yy5lYWNoKGMuZXh0ZW5kKEIsdS5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihMLEspe0QuYXBwZW5kKEcrSitJKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IicrSysnIicrSStJKTtELmFwcGVuZChMK0kpfSk7SD1jLm1pbWVUeXBlc1tyLm5hbWUucmVwbGFjZSgvXi4rXC4oW14uXSspLywiJDEiKS50b0xvd2VyQ2FzZSgpXXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7RC5hcHBlbmQoRytKK0krJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJyt1LnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKyciOyBmaWxlbmFtZT0iJytyLm5hbWUrJyInK0krIkNvbnRlbnQtVHlwZTogIitIK0krSSk7RC5hcHBlbmQoRSk7RC5hcHBlbmQoSStHK0orRytJKTtGPUQuZ2V0QXNCbG9iKCk7eD1GLmxlbmd0aC1FLmxlbmd0aDtFPUZ9aC5zZW5kKEUpfWlmKHIuc3RhdHVzPT1jLkRPTkV8fHIuc3RhdHVzPT1jLkZBSUxFRHx8dS5zdGF0ZT09Yy5TVE9QUEVEKXtyZXR1cm59aWYobyl7Qi5jaHVuaz13O0IuY2h1bmtzPXZ9Qz1NYXRoLm1pbihzLHIuc2l6ZS0odypzKSk7aWYoIXkpe3o9Yy5idWlsZFVybCh1LnNldHRpbmdzLnVybCxCKX1oPWdvb2dsZS5nZWFycy5mYWN0b3J5LmNyZWF0ZSgiYmV0YS5odHRwcmVxdWVzdCIpO2gub3BlbigiUE9TVCIseik7aWYoIXkpe2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbiIsJ2F0dGFjaG1lbnQ7IGZpbGVuYW1lPSInK3IubmFtZSsnIicpO2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIil9Yy5lYWNoKHUuc2V0dGluZ3MuaGVhZGVycyxmdW5jdGlvbihFLEQpe2guc2V0UmVxdWVzdEhlYWRlcihELEUpfSk7aC51cGxvYWQub25wcm9ncmVzcz1mdW5jdGlvbihEKXtyLmxvYWRlZD10K0QubG9hZGVkLXg7dS50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIscil9O2gub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dmFyIEQ7aWYoaC5yZWFkeVN0YXRlPT00JiZ1LnN0YXRlIT09Yy5TVE9QUEVEKXtpZihoLnN0YXR1cz09MjAwKXtEPXtjaHVuazp3LGNodW5rczp2LHJlc3BvbnNlOmgucmVzcG9uc2VUZXh0LHN0YXR1czpoLnN0YXR1c307dS50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIixyLEQpO2lmKEQuY2FuY2VsbGVkKXtyLnN0YXR1cz1jLkZBSUxFRDtyZXR1cm59dCs9QztpZigrK3c+PXYpe3Iuc3RhdHVzPWMuRE9ORTt1LnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIscix7cmVzcG9uc2U6aC5yZXNwb25zZVRleHQsc3RhdHVzOmguc3RhdHVzfSl9ZWxzZXtwKCl9fWVsc2V7dS50cmlnZ2VyKCJFcnJvciIse2NvZGU6Yy5IVFRQX0VSUk9SLG1lc3NhZ2U6Yy50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTpyLGNodW5rOncsY2h1bmtzOnYsc3RhdHVzOmguc3RhdHVzfSl9fX07aWYodzx2KXtBKGZbci5pZF0uc2xpY2UodypzLEMpKX19cCgpfSk7bC5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbihvLHApe2c9cH0pO2wuYmluZCgiRGVzdHJveSIsZnVuY3Rpb24obyl7dmFyIHAscSxyPXticm93c2VCdXR0b246by5zZXR0aW5ncy5icm93c2VfYnV0dG9uLGRyb3BFbG06by5zZXR0aW5ncy5kcm9wX2VsZW1lbnR9O2ZvcihwIGluIHIpe3E9Yi5nZXRFbGVtZW50QnlJZChyW3BdKTtpZihxKXtjLnJlbW92ZUFsbEV2ZW50cyhxLG8uaWQpfX19KTtuKHtzdWNjZXNzOnRydWV9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7KGZ1bmN0aW9uKGcsYixkLGUpe3ZhciBhPXt9LGg9e307ZnVuY3Rpb24gYyhvKXt2YXIgbixtPXR5cGVvZiBvLGosbCxrO2lmKG89PT1lfHxvPT09bnVsbCl7cmV0dXJuIm51bGwifWlmKG09PT0ic3RyaW5nIil7bj0iXGJiXHR0XG5uXGZmXHJyXCJcIicnXFxcXCI7cmV0dXJuJyInK28ucmVwbGFjZSgvKFtcdTAwODAtXHVGRkZGXHgwMC1ceDFmXCJdKS9nLGZ1bmN0aW9uKHIscSl7dmFyIHA9bi5pbmRleE9mKHEpO2lmKHArMSl7cmV0dXJuIlxcIituLmNoYXJBdChwKzEpfXI9cS5jaGFyQ29kZUF0KCkudG9TdHJpbmcoMTYpO3JldHVybiJcXHUiKyIwMDAwIi5zdWJzdHJpbmcoci5sZW5ndGgpK3J9KSsnIid9aWYobT09Im9iamVjdCIpe2o9by5sZW5ndGghPT1lO249IiI7aWYoail7Zm9yKGw9MDtsPG8ubGVuZ3RoO2wrKyl7aWYobil7bis9IiwifW4rPWMob1tsXSl9bj0iWyIrbisiXSJ9ZWxzZXtmb3IoayBpbiBvKXtpZihvLmhhc093blByb3BlcnR5KGspKXtpZihuKXtuKz0iLCJ9bis9YyhrKSsiOiIrYyhvW2tdKX19bj0ieyIrbisifSJ9cmV0dXJuIG59cmV0dXJuIiIrb31mdW5jdGlvbiBmKHMpe3ZhciB2PWZhbHNlLGo9bnVsbCxvPW51bGwsayxsLG0sdSxuLHE9MDt0cnl7dHJ5e289bmV3IEFjdGl2ZVhPYmplY3QoIkFnQ29udHJvbC5BZ0NvbnRyb2wiKTtpZihvLklzVmVyc2lvblN1cHBvcnRlZChzKSl7dj10cnVlfW89bnVsbH1jYXRjaChyKXt2YXIgcD1uYXZpZ2F0b3IucGx1Z2luc1siU2lsdmVybGlnaHQgUGx1Zy1JbiJdO2lmKHApe2s9cC5kZXNjcmlwdGlvbjtpZihrPT09IjEuMC4zMDIyNi4yIil7az0iMi4wLjMwMjI2LjIifWw9ay5zcGxpdCgiLiIpO3doaWxlKGwubGVuZ3RoPjMpe2wucG9wKCl9d2hpbGUobC5sZW5ndGg8NCl7bC5wdXNoKDApfW09cy5zcGxpdCgiLiIpO3doaWxlKG0ubGVuZ3RoPjQpe20ucG9wKCl9ZG97dT1wYXJzZUludChtW3FdLDEwKTtuPXBhcnNlSW50KGxbcV0sMTApO3ErK313aGlsZShxPG0ubGVuZ3RoJiZ1PT09bik7aWYodTw9biYmIWlzTmFOKHUpKXt2PXRydWV9fX19Y2F0Y2godCl7dj1mYWxzZX1yZXR1cm4gdn1kLnNpbHZlcmxpZ2h0PXt0cmlnZ2VyOmZ1bmN0aW9uKG4sayl7dmFyIG09YVtuXSxsLGo7aWYobSl7aj1kLnRvQXJyYXkoYXJndW1lbnRzKS5zbGljZSgxKTtqWzBdPSJTaWx2ZXJsaWdodDoiK2s7c2V0VGltZW91dChmdW5jdGlvbigpe20udHJpZ2dlci5hcHBseShtLGopfSwwKX19fTtkLnJ1bnRpbWVzLlNpbHZlcmxpZ2h0PWQuYWRkUnVudGltZSgic2lsdmVybGlnaHQiLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihwLHEpe3ZhciBvLG09IiIsbj1wLnNldHRpbmdzLmZpbHRlcnMsbCxrPWIuYm9keTtpZighZigiMi4wLjMxMDA1LjAiKXx8KGcub3BlcmEmJmcub3BlcmEuYnVpbGROdW1iZXIpKXtxKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWhbcC5pZF09ZmFsc2U7YVtwLmlkXT1wO289Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLmlkPXAuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiO2QuZXh0ZW5kKG8uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6cC5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDBweCIsaGVpZ2h0OiIxMDBweCIsb3ZlcmZsb3c6ImhpZGRlbiIsb3BhY2l0eTpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcnx8Yi5kb2N1bWVudE1vZGU+OD8iIjowLjAxfSk7by5jbGFzc05hbWU9InBsdXBsb2FkIHNpbHZlcmxpZ2h0IjtpZihwLnNldHRpbmdzLmNvbnRhaW5lcil7az1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGssInBvc2l0aW9uIik9PT0ic3RhdGljIil7ay5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1rLmFwcGVuZENoaWxkKG8pO2ZvcihsPTA7bDxuLmxlbmd0aDtsKyspe20rPShtIT0iIj8ifCI6IiIpK25bbF0udGl0bGUrIiB8ICouIituW2xdLmV4dGVuc2lvbnMucmVwbGFjZSgvLC9nLCI7Ki4iKX1vLmlubmVySFRNTD0nPG9iamVjdCBpZD0iJytwLmlkKydfc2lsdmVybGlnaHQiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodCwiIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2lsdmVybGlnaHQtMiIgc3R5bGU9Im91dGxpbmU6bm9uZTsiIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiPjxwYXJhbSBuYW1lPSJzb3VyY2UiIHZhbHVlPSInK3Auc2V0dGluZ3Muc2lsdmVybGlnaHRfeGFwX3VybCsnIi8+PHBhcmFtIG5hbWU9ImJhY2tncm91bmQiIHZhbHVlPSJUcmFuc3BhcmVudCIvPjxwYXJhbSBuYW1lPSJ3aW5kb3dsZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJlbmFibGVodG1sYWNjZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJpbml0UGFyYW1zIiB2YWx1ZT0iaWQ9JytwLmlkKyIsZmlsdGVyPSIrbSsiLG11bHRpc2VsZWN0PSIrcC5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24rJyIvPjwvb2JqZWN0Pic7ZnVuY3Rpb24gaigpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9zaWx2ZXJsaWdodCIpLmNvbnRlbnQuVXBsb2FkfXAuYmluZCgiU2lsdmVybGlnaHQ6SW5pdCIsZnVuY3Rpb24oKXt2YXIgcixzPXt9O2lmKGhbcC5pZF0pe3JldHVybn1oW3AuaWRdPXRydWU7cC5iaW5kKCJTaWx2ZXJsaWdodDpTdGFydFNlbGVjdEZpbGVzIixmdW5jdGlvbih0KXtyPVtdfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpTZWxlY3RGaWxlIixmdW5jdGlvbih0LHcsdSx2KXt2YXIgeDt4PWQuZ3VpZCgpO3NbeF09dztzW3ddPXg7ci5wdXNoKG5ldyBkLkZpbGUoeCx1LHYpKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6U2VsZWN0U3VjY2Vzc2Z1bCIsZnVuY3Rpb24oKXtpZihyLmxlbmd0aCl7cC50cmlnZ2VyKCJGaWxlc0FkZGVkIixyKX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZENodW5rRXJyb3IiLGZ1bmN0aW9uKHQsdyx1LHgsdil7cC50cmlnZ2VyKCJFcnJvciIse2NvZGU6ZC5JT19FUlJPUixtZXNzYWdlOiJJTyBFcnJvci4iLGRldGFpbHM6dixmaWxlOnQuZ2V0RmlsZShzW3ddKX0pfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRGaWxlUHJvZ3Jlc3MiLGZ1bmN0aW9uKHQseCx1LHcpe3ZhciB2PXQuZ2V0RmlsZShzW3hdKTtpZih2LnN0YXR1cyE9ZC5GQUlMRUQpe3Yuc2l6ZT13O3YubG9hZGVkPXU7dC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdil9fSk7cC5iaW5kKCJSZWZyZXNoIixmdW5jdGlvbih0KXt2YXIgdSx2LHc7dT1iLmdldEVsZW1lbnRCeUlkKHQuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7aWYodSl7dj1kLmdldFBvcyh1LGIuZ2V0RWxlbWVudEJ5SWQodC5zZXR0aW5ncy5jb250YWluZXIpKTt3PWQuZ2V0U2l6ZSh1KTtkLmV4dGVuZChiLmdldEVsZW1lbnRCeUlkKHQuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiKS5zdHlsZSx7dG9wOnYueSsicHgiLGxlZnQ6di54KyJweCIsd2lkdGg6dy53KyJweCIsaGVpZ2h0OncuaCsicHgifSl9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRDaHVua1N1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHQsdyx1LHoseSl7dmFyIHgsdj10LmdldEZpbGUoc1t3XSk7eD17Y2h1bms6dSxjaHVua3M6eixyZXNwb25zZTp5fTt0LnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHYseCk7aWYodi5zdGF0dXMhPWQuRkFJTEVEJiZ0LnN0YXRlIT09ZC5TVE9QUEVEKXtqKCkuVXBsb2FkTmV4dENodW5rKCl9aWYodT09ei0xKXt2LnN0YXR1cz1kLkRPTkU7dC50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLHYse3Jlc3BvbnNlOnl9KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZFN1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHQsdyx1KXt2YXIgdj10LmdldEZpbGUoc1t3XSk7di5zdGF0dXM9ZC5ET05FO3QudHJpZ2dlcigiRmlsZVVwbG9hZGVkIix2LHtyZXNwb25zZTp1fSl9KTtwLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24odCx2KXt2YXIgdTtmb3IodT0wO3U8di5sZW5ndGg7dSsrKXtqKCkuUmVtb3ZlRmlsZShzW3ZbdV0uaWRdKX19KTtwLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHQsdil7dmFyIHc9dC5zZXR0aW5ncyx1PXcucmVzaXplfHx7fTtqKCkuVXBsb2FkRmlsZShzW3YuaWRdLHQuc2V0dGluZ3MudXJsLGMoe25hbWU6di50YXJnZXRfbmFtZXx8di5uYW1lLG1pbWU6ZC5taW1lVHlwZXNbdi5uYW1lLnJlcGxhY2UoL14uK1wuKFteLl0rKS8sIiQxIikudG9Mb3dlckNhc2UoKV18fCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGNodW5rX3NpemU6dy5jaHVua19zaXplLGltYWdlX3dpZHRoOnUud2lkdGgsaW1hZ2VfaGVpZ2h0OnUuaGVpZ2h0LGltYWdlX3F1YWxpdHk6dS5xdWFsaXR5fHw5MCxtdWx0aXBhcnQ6ISF3Lm11bHRpcGFydCxtdWx0aXBhcnRfcGFyYW1zOncubXVsdGlwYXJ0X3BhcmFtc3x8e30sZmlsZV9kYXRhX25hbWU6dy5maWxlX2RhdGFfbmFtZSxoZWFkZXJzOncuaGVhZGVyc30pKX0pO3AuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2ooKS5DYW5jZWxVcGxvYWQoKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6TW91c2VFbnRlciIsZnVuY3Rpb24odCl7dmFyIHUsdjt1PWIuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt2PXQuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcjtpZih1JiZ2KXtkLmFkZENsYXNzKHUsdil9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpNb3VzZUxlYXZlIixmdW5jdGlvbih0KXt2YXIgdSx2O3U9Yi5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3Y9dC5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHUmJnYpe2QucmVtb3ZlQ2xhc3ModSx2KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0Ok1vdXNlTGVmdEJ1dHRvbkRvd24iLGZ1bmN0aW9uKHQpe3ZhciB1LHY7dT1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dj10LnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHUmJnYpe2QuYWRkQ2xhc3ModSx2KTtkLmFkZEV2ZW50KGIuYm9keSwibW91c2V1cCIsZnVuY3Rpb24oKXtkLnJlbW92ZUNsYXNzKHUsdil9KX19KTtwLmJpbmQoIlNsaXZlcmxpZ2h0OlN0YXJ0U2VsZWN0RmlsZXMiLGZ1bmN0aW9uKHQpe3ZhciB1LHY7dT1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dj10LnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHUmJnYpe2QucmVtb3ZlQ2xhc3ModSx2KX19KTtwLmJpbmQoIkRpc2FibGVCcm93c2UiLGZ1bmN0aW9uKHQsdSl7aigpLkRpc2FibGVCcm93c2UodSl9KTtwLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKHQpe3ZhciB1O2QucmVtb3ZlQWxsRXZlbnRzKGIuYm9keSx0LmlkKTtkZWxldGUgaFt0LmlkXTtkZWxldGUgYVt0LmlkXTt1PWIuZ2V0RWxlbWVudEJ5SWQodC5pZCsiX3NpbHZlcmxpZ2h0X2NvbnRhaW5lciIpO2lmKHUpe2sucmVtb3ZlQ2hpbGQodSl9fSk7cSh7c3VjY2Vzczp0cnVlfSl9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7KGZ1bmN0aW9uKGYsYixkLGUpe3ZhciBhPXt9LGc9e307ZnVuY3Rpb24gYygpe3ZhciBoO3RyeXtoPW5hdmlnYXRvci5wbHVnaW5zWyJTaG9ja3dhdmUgRmxhc2giXTtoPWguZGVzY3JpcHRpb259Y2F0Y2goayl7dHJ5e2g9bmV3IEFjdGl2ZVhPYmplY3QoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoIikuR2V0VmFyaWFibGUoIiR2ZXJzaW9uIil9Y2F0Y2goail7aD0iMC4wIn19aD1oLm1hdGNoKC9cZCsvZyk7cmV0dXJuIHBhcnNlRmxvYXQoaFswXSsiLiIraFsxXSl9ZC5mbGFzaD17dHJpZ2dlcjpmdW5jdGlvbihrLGgsail7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBuPWFba10sbSxsO2lmKG4pe24udHJpZ2dlcigiRmxhc2g6IitoLGopfX0sMCl9fTtkLnJ1bnRpbWVzLkZsYXNoPWQuYWRkUnVudGltZSgiZmxhc2giLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxtYXhXaWR0aDo4MDkxLG1heEhlaWdodDo4MDkxLGNodW5rczp0cnVlLHByb2dyZXNzOnRydWUsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWV9fSxpbml0OmZ1bmN0aW9uKG4scCl7dmFyIGwsbSxoPTAsaj1iLmJvZHk7aWYoYygpPDEwKXtwKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWdbbi5pZF09ZmFsc2U7YVtuLmlkXT1uO2w9Yi5nZXRFbGVtZW50QnlJZChuLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO209Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTttLmlkPW4uaWQrIl9mbGFzaF9jb250YWluZXIiO2QuZXh0ZW5kKG0uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6bi5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSk7bS5jbGFzc05hbWU9InBsdXBsb2FkIGZsYXNoIjtpZihuLnNldHRpbmdzLmNvbnRhaW5lcil7aj1iLmdldEVsZW1lbnRCeUlkKG4uc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGosInBvc2l0aW9uIik9PT0ic3RhdGljIil7ai5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1qLmFwcGVuZENoaWxkKG0pOyhmdW5jdGlvbigpe3ZhciBxLHI7cT0nPG9iamVjdCBpZD0iJytuLmlkKydfZmxhc2giIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBkYXRhPSInK24uc2V0dGluZ3MuZmxhc2hfc3dmX3VybCsnIiAnO2lmKGQudWEuaWUpe3ErPSdjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiICd9cSs9J3dpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvdXRsaW5lOjAiPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9Iicrbi5zZXR0aW5ncy5mbGFzaF9zd2ZfdXJsKyciIC8+PHBhcmFtIG5hbWU9ImZsYXNodmFycyIgdmFsdWU9ImlkPScrZXNjYXBlKG4uaWQpKyciIC8+PHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0idHJhbnNwYXJlbnQiIC8+PHBhcmFtIG5hbWU9ImFsbG93c2NyaXB0YWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPjwvb2JqZWN0Pic7aWYoZC51YS5pZSl7cj1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO20uYXBwZW5kQ2hpbGQocik7ci5vdXRlckhUTUw9cTtyPW51bGx9ZWxzZXttLmlubmVySFRNTD1xfX0oKSk7ZnVuY3Rpb24gbygpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKG4uaWQrIl9mbGFzaCIpfWZ1bmN0aW9uIGsoKXtpZihoKys+NTAwMCl7cCh7c3VjY2VzczpmYWxzZX0pO3JldHVybn1pZighZ1tuLmlkXSl7c2V0VGltZW91dChrLDEpfX1rKCk7bD1tPW51bGw7bi5iaW5kKCJGbGFzaDpJbml0IixmdW5jdGlvbigpe3ZhciByPXt9LHE7bygpLnNldEZpbGVGaWx0ZXJzKG4uc2V0dGluZ3MuZmlsdGVycyxuLnNldHRpbmdzLm11bHRpX3NlbGVjdGlvbik7aWYoZ1tuLmlkXSl7cmV0dXJufWdbbi5pZF09dHJ1ZTtuLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHY9cy5zZXR0aW5ncyx0PW4uc2V0dGluZ3MucmVzaXplfHx7fTtvKCkudXBsb2FkRmlsZShyW3UuaWRdLHYudXJsLHtuYW1lOnUudGFyZ2V0X25hbWV8fHUubmFtZSxtaW1lOmQubWltZVR5cGVzW3UubmFtZS5yZXBsYWNlKC9eLitcLihbXi5dKykvLCIkMSIpLnRvTG93ZXJDYXNlKCldfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIixjaHVua19zaXplOnYuY2h1bmtfc2l6ZSx3aWR0aDp0LndpZHRoLGhlaWdodDp0LmhlaWdodCxxdWFsaXR5OnQucXVhbGl0eSxtdWx0aXBhcnQ6di5tdWx0aXBhcnQsbXVsdGlwYXJ0X3BhcmFtczp2Lm11bHRpcGFydF9wYXJhbXN8fHt9LGZpbGVfZGF0YV9uYW1lOnYuZmlsZV9kYXRhX25hbWUsZm9ybWF0Oi9cLihqcGd8anBlZykkL2kudGVzdCh1Lm5hbWUpPyJqcGciOiJwbmciLGhlYWRlcnM6di5oZWFkZXJzLHVybHN0cmVhbV91cGxvYWQ6di51cmxzdHJlYW1fdXBsb2FkfSl9KTtuLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtvKCkuY2FuY2VsVXBsb2FkKCl9KTtuLmJpbmQoIkZsYXNoOlVwbG9hZFByb2Nlc3MiLGZ1bmN0aW9uKHQscyl7dmFyIHU9dC5nZXRGaWxlKHJbcy5pZF0pO2lmKHUuc3RhdHVzIT1kLkZBSUxFRCl7dS5sb2FkZWQ9cy5sb2FkZWQ7dS5zaXplPXMuc2l6ZTt0LnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix1KX19KTtuLmJpbmQoIkZsYXNoOlVwbG9hZENodW5rQ29tcGxldGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHYsdD1zLmdldEZpbGUoclt1LmlkXSk7dj17Y2h1bms6dS5jaHVuayxjaHVua3M6dS5jaHVua3MscmVzcG9uc2U6dS50ZXh0fTtzLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHQsdik7aWYodC5zdGF0dXMhPT1kLkZBSUxFRCYmcy5zdGF0ZSE9PWQuU1RPUFBFRCl7bygpLnVwbG9hZE5leHRDaHVuaygpfWlmKHUuY2h1bms9PXUuY2h1bmtzLTEpe3Quc3RhdHVzPWQuRE9ORTtzLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIsdCx7cmVzcG9uc2U6dS50ZXh0fSl9fSk7bi5iaW5kKCJGbGFzaDpTZWxlY3RGaWxlcyIsZnVuY3Rpb24ocyx2KXt2YXIgdSx0LHc9W10seDtmb3IodD0wO3Q8di5sZW5ndGg7dCsrKXt1PXZbdF07eD1kLmd1aWQoKTtyW3hdPXUuaWQ7clt1LmlkXT14O3cucHVzaChuZXcgZC5GaWxlKHgsdS5uYW1lLHUuc2l6ZSkpfWlmKHcubGVuZ3RoKXtuLnRyaWdnZXIoIkZpbGVzQWRkZWQiLHcpfX0pO24uYmluZCgiRmxhc2g6U2VjdXJpdHlFcnJvciIsZnVuY3Rpb24ocyx0KXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLlNFQ1VSSVRZX0VSUk9SLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIlNlY3VyaXR5IGVycm9yLiIpLGRldGFpbHM6dC5tZXNzYWdlLGZpbGU6bi5nZXRGaWxlKHJbdC5pZF0pfSl9KTtuLmJpbmQoIkZsYXNoOkdlbmVyaWNFcnJvciIsZnVuY3Rpb24ocyx0KXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLkdFTkVSSUNfRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiR2VuZXJpYyBlcnJvci4iKSxkZXRhaWxzOnQubWVzc2FnZSxmaWxlOm4uZ2V0RmlsZShyW3QuaWRdKX0pfSk7bi5iaW5kKCJGbGFzaDpJT0Vycm9yIixmdW5jdGlvbihzLHQpe24udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmQuSU9fRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiSU8gZXJyb3IuIiksZGV0YWlsczp0Lm1lc3NhZ2UsZmlsZTpuLmdldEZpbGUoclt0LmlkXSl9KX0pO24uYmluZCgiRmxhc2g6SW1hZ2VFcnJvciIsZnVuY3Rpb24ocyx0KXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTpwYXJzZUludCh0LmNvZGUsMTApLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIkltYWdlIGVycm9yLiIpLGZpbGU6bi5nZXRGaWxlKHJbdC5pZF0pfSl9KTtuLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6cm9sbE92ZXIiLGZ1bmN0aW9uKHMpe3ZhciB0LHU7dD1iLmdldEVsZW1lbnRCeUlkKG4uc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dT1zLnNldHRpbmdzLmJyb3dzZV9idXR0b25faG92ZXI7aWYodCYmdSl7ZC5hZGRDbGFzcyh0LHUpfX0pO24uYmluZCgiRmxhc2g6U3RhZ2VFdmVudDpyb2xsT3V0IixmdW5jdGlvbihzKXt2YXIgdCx1O3Q9Yi5nZXRFbGVtZW50QnlJZChuLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3U9cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHQmJnUpe2QucmVtb3ZlQ2xhc3ModCx1KX19KTtuLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VEb3duIixmdW5jdGlvbihzKXt2YXIgdCx1O3Q9Yi5nZXRFbGVtZW50QnlJZChuLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3U9cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2FjdGl2ZTtpZih0JiZ1KXtkLmFkZENsYXNzKHQsdSk7ZC5hZGRFdmVudChiLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7ZC5yZW1vdmVDbGFzcyh0LHUpfSxzLmlkKX19KTtuLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VVcCIsZnVuY3Rpb24ocyl7dmFyIHQsdTt0PWIuZ2V0RWxlbWVudEJ5SWQobi5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt1PXMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmU7aWYodCYmdSl7ZC5yZW1vdmVDbGFzcyh0LHUpfX0pO24uYmluZCgiRmxhc2g6RXhpZkRhdGEiLGZ1bmN0aW9uKHMsdCl7bi50cmlnZ2VyKCJFeGlmRGF0YSIsbi5nZXRGaWxlKHJbdC5pZF0pLHQuZGF0YSl9KTtuLmJpbmQoIkZsYXNoOkdwc0RhdGEiLGZ1bmN0aW9uKHMsdCl7bi50cmlnZ2VyKCJHcHNEYXRhIixuLmdldEZpbGUoclt0LmlkXSksdC5kYXRhKX0pO24uYmluZCgiUXVldWVDaGFuZ2VkIixmdW5jdGlvbihzKXtuLnJlZnJlc2goKX0pO24uYmluZCgiRmlsZXNSZW1vdmVkIixmdW5jdGlvbihzLHUpe3ZhciB0O2Zvcih0PTA7dDx1Lmxlbmd0aDt0Kyspe28oKS5yZW1vdmVGaWxlKHJbdVt0XS5pZF0pfX0pO24uYmluZCgiU3RhdGVDaGFuZ2VkIixmdW5jdGlvbihzKXtuLnJlZnJlc2goKX0pO24uYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24ocyl7dmFyIHQsdSx2O28oKS5zZXRGaWxlRmlsdGVycyhuLnNldHRpbmdzLmZpbHRlcnMsbi5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24pO3Q9Yi5nZXRFbGVtZW50QnlJZChzLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHQpe3U9ZC5nZXRQb3ModCxiLmdldEVsZW1lbnRCeUlkKHMuc2V0dGluZ3MuY29udGFpbmVyKSk7dj1kLmdldFNpemUodCk7ZC5leHRlbmQoYi5nZXRFbGVtZW50QnlJZChzLmlkKyJfZmxhc2hfY29udGFpbmVyIikuc3R5bGUse3RvcDp1LnkrInB4IixsZWZ0OnUueCsicHgiLHdpZHRoOnYudysicHgiLGhlaWdodDp2LmgrInB4In0pfX0pO24uYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24ocyx0KXtvKCkuZGlzYWJsZUJyb3dzZSh0KX0pO24uYmluZCgiRGVzdHJveSIsZnVuY3Rpb24ocyl7dmFyIHQ7ZC5yZW1vdmVBbGxFdmVudHMoYi5ib2R5LHMuaWQpO2RlbGV0ZSBnW3MuaWRdO2RlbGV0ZSBhW3MuaWRdO3Q9Yi5nZXRFbGVtZW50QnlJZChzLmlkKyJfZmxhc2hfY29udGFpbmVyIik7aWYodCl7ai5yZW1vdmVDaGlsZCh0KX19KTtwKHtzdWNjZXNzOnRydWV9KX0pfX0pfSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTsoZnVuY3Rpb24oYSl7YS5ydW50aW1lcy5Ccm93c2VyUGx1cz1hLmFkZFJ1bnRpbWUoImJyb3dzZXJwbHVzIix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57ZHJhZ2Ryb3A6dHJ1ZSxqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihnLGope3ZhciBlPXdpbmRvdy5Ccm93c2VyUGx1cyxoPXt9LGQ9Zy5zZXR0aW5ncyxjPWQucmVzaXplO2Z1bmN0aW9uIGYobyl7dmFyIG4sbSxrPVtdLGwscDtmb3IobT0wO208by5sZW5ndGg7bSsrKXtsPW9bbV07cD1hLmd1aWQoKTtoW3BdPWw7ay5wdXNoKG5ldyBhLkZpbGUocCxsLm5hbWUsbC5zaXplKSl9aWYobSl7Zy50cmlnZ2VyKCJGaWxlc0FkZGVkIixrKX19ZnVuY3Rpb24gYigpe3ZhciBrPWZhbHNlO2cuYmluZCgiUG9zdEluaXQiLGZ1bmN0aW9uKCl7dmFyIG8sbT1kLmRyb3BfZWxlbWVudCxxPWcuaWQrIl9kcm9wdGFyZ2V0IixsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG0pLG47ZnVuY3Rpb24gcih0LHMpe2UuRHJhZ0FuZERyb3AuQWRkRHJvcFRhcmdldCh7aWQ6dH0sZnVuY3Rpb24odSl7ZS5EcmFnQW5kRHJvcC5BdHRhY2hDYWxsYmFja3Moe2lkOnQsaG92ZXI6ZnVuY3Rpb24odil7aWYoIXYmJnMpe3MoKX19LGRyb3A6ZnVuY3Rpb24odil7aWYocyl7cygpfWYodil9fSxmdW5jdGlvbigpe30pfSl9ZnVuY3Rpb24gcCgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKHEpLnN0eWxlLnRvcD0iLTEwMDBweCJ9aWYobCl7aWYoZG9jdW1lbnQuYXR0YWNoRXZlbnQmJigvTVNJRS9naSkudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7bz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLnNldEF0dHJpYnV0ZSgiaWQiLHEpO2EuZXh0ZW5kKG8uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiItMTAwMHB4IixiYWNrZ3JvdW5kOiJyZWQiLGZpbHRlcjoiYWxwaGEob3BhY2l0eT0wKSIsb3BhY2l0eTowfSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvKTthLmFkZEV2ZW50KGwsImRyYWdlbnRlciIsZnVuY3Rpb24odCl7dmFyIHMsdTtzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG0pO3U9YS5nZXRQb3Mocyk7YS5leHRlbmQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocSkuc3R5bGUse3RvcDp1LnkrInB4IixsZWZ0OnUueCsicHgiLHdpZHRoOnMub2Zmc2V0V2lkdGgrInB4IixoZWlnaHQ6cy5vZmZzZXRIZWlnaHQrInB4In0pfSk7cihxLHApfWVsc2V7cihtKX19YS5hZGRFdmVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkLmJyb3dzZV9idXR0b24pLCJjbGljayIsZnVuY3Rpb24oeSl7dmFyIHM9W10sdSx0LHg9ZC5maWx0ZXJzLHcsdjt5LnByZXZlbnREZWZhdWx0KCk7aWYoayl7cmV0dXJufW5vX3R5cGVfcmVzdHJpY3Rpb246Zm9yKHU9MDt1PHgubGVuZ3RoO3UrKyl7dz14W3VdLmV4dGVuc2lvbnMuc3BsaXQoIiwiKTtmb3IodD0wO3Q8dy5sZW5ndGg7dCsrKXtpZih3W3RdPT09IioiKXtzPVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259dj1hLm1pbWVUeXBlc1t3W3RdXTtpZih2JiZhLmluQXJyYXkodixzKT09PS0xKXtzLnB1c2goYS5taW1lc1t3W3RdXSl9fX1lLkZpbGVCcm93c2UuT3BlbkJyb3dzZURpYWxvZyh7bWltZVR5cGVzOnN9LGZ1bmN0aW9uKHope2lmKHouc3VjY2Vzcyl7Zih6LnZhbHVlKX19KX0pO2w9bz1udWxsfSk7Zy5iaW5kKCJDYW5jZWxVcGxvYWQiLGZ1bmN0aW9uKCl7ZS5VcGxvYWRlci5jYW5jZWwoKX0pO2cuYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24obCxtKXtrPW19KTtnLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKG8sbCl7dmFyIG49aFtsLmlkXSx0PXt9LG09by5zZXR0aW5ncy5jaHVua19zaXplLHAscT1bXTtmdW5jdGlvbiBzKHUsdyl7dmFyIHY7aWYobC5zdGF0dXM9PWEuRkFJTEVEKXtyZXR1cm59dC5uYW1lPWwudGFyZ2V0X25hbWV8fGwubmFtZTtpZihtKXt0LmNodW5rPSIiK3U7dC5jaHVua3M9IiIrd312PXEuc2hpZnQoKTtlLlVwbG9hZGVyLnVwbG9hZCh7dXJsOm8uc2V0dGluZ3MudXJsLGZpbGVzOntmaWxlOnZ9LGNvb2tpZXM6ZG9jdW1lbnQuY29va2llcyxwb3N0dmFyczphLmV4dGVuZCh0LG8uc2V0dGluZ3MubXVsdGlwYXJ0X3BhcmFtcykscHJvZ3Jlc3NDYWxsYmFjazpmdW5jdGlvbih6KXt2YXIgeSx4PTA7cFt1XT1wYXJzZUludCh6LmZpbGVQZXJjZW50KnYuc2l6ZS8xMDAsMTApO2Zvcih5PTA7eTxwLmxlbmd0aDt5Kyspe3grPXBbeV19bC5sb2FkZWQ9eDtvLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIixsKX19LGZ1bmN0aW9uKHkpe3ZhciB4LHo7aWYoeS5zdWNjZXNzKXt4PXkudmFsdWUuc3RhdHVzQ29kZTtpZihtKXtvLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLGwse2NodW5rOnUsY2h1bmtzOncscmVzcG9uc2U6eS52YWx1ZS5ib2R5LHN0YXR1czp4fSl9aWYocS5sZW5ndGg+MCl7cygrK3Usdyl9ZWxzZXtsLnN0YXR1cz1hLkRPTkU7by50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLGwse3Jlc3BvbnNlOnkudmFsdWUuYm9keSxzdGF0dXM6eH0pO2lmKHg+PTQwMCl7by50cmlnZ2VyKCJFcnJvciIse2NvZGU6YS5IVFRQX0VSUk9SLG1lc3NhZ2U6YS50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTpsLHN0YXR1czp4fSl9fX1lbHNle28udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmEuR0VORVJJQ19FUlJPUixtZXNzYWdlOmEudHJhbnNsYXRlKCJHZW5lcmljIEVycm9yLiIpLGZpbGU6bCxkZXRhaWxzOnkuZXJyb3J9KX19KX1mdW5jdGlvbiByKHUpe2wuc2l6ZT11LnNpemU7aWYobSl7ZS5GaWxlQWNjZXNzLmNodW5rKHtmaWxlOnUsY2h1bmtTaXplOm19LGZ1bmN0aW9uKHgpe2lmKHguc3VjY2Vzcyl7dmFyIHk9eC52YWx1ZSx2PXkubGVuZ3RoO3A9QXJyYXkodik7Zm9yKHZhciB3PTA7dzx2O3crKyl7cFt3XT0wO3EucHVzaCh5W3ddKX1zKDAsdil9fSl9ZWxzZXtwPUFycmF5KDEpO3EucHVzaCh1KTtzKDAsMSl9fWlmKGMmJi9cLihwbmd8anBnfGpwZWcpJC9pLnRlc3QobC5uYW1lKSl7QnJvd3NlclBsdXMuSW1hZ2VBbHRlci50cmFuc2Zvcm0oe2ZpbGU6bixxdWFsaXR5OmMucXVhbGl0eXx8OTAsYWN0aW9uczpbe3NjYWxlOnttYXh3aWR0aDpjLndpZHRoLG1heGhlaWdodDpjLmhlaWdodH19XX0sZnVuY3Rpb24odSl7aWYodS5zdWNjZXNzKXtyKHUudmFsdWUuZmlsZSl9fSl9ZWxzZXtyKG4pfX0pO2ooe3N1Y2Nlc3M6dHJ1ZX0pfWlmKGUpe2UuaW5pdChmdW5jdGlvbihsKXt2YXIgaz1be3NlcnZpY2U6IlVwbG9hZGVyIix2ZXJzaW9uOiIzIn0se3NlcnZpY2U6IkRyYWdBbmREcm9wIix2ZXJzaW9uOiIxIn0se3NlcnZpY2U6IkZpbGVCcm93c2UiLHZlcnNpb246IjEifSx7c2VydmljZToiRmlsZUFjY2VzcyIsdmVyc2lvbjoiMiJ9XTtpZihjKXtrLnB1c2goe3NlcnZpY2U6IkltYWdlQWx0ZXIiLHZlcnNpb246IjQifSl9aWYobC5zdWNjZXNzKXtlLnJlcXVpcmUoe3NlcnZpY2VzOmt9LGZ1bmN0aW9uKG0pe2lmKG0uc3VjY2Vzcyl7YigpfWVsc2V7aigpfX0pfWVsc2V7aigpfX0pfWVsc2V7aigpfX19KX0pKHBsdXBsb2FkKTsoZnVuY3Rpb24oaCxrLGosZSl7dmFyIGM9e30sZztmdW5jdGlvbiBtKG8scCl7dmFyIG47aWYoIkZpbGVSZWFkZXIiIGluIGgpe249bmV3IEZpbGVSZWFkZXIoKTtuLnJlYWRBc0RhdGFVUkwobyk7bi5vbmxvYWQ9ZnVuY3Rpb24oKXtwKG4ucmVzdWx0KX19ZWxzZXtyZXR1cm4gcChvLmdldEFzRGF0YVVSTCgpKX19ZnVuY3Rpb24gbChvLHApe3ZhciBuO2lmKCJGaWxlUmVhZGVyIiBpbiBoKXtuPW5ldyBGaWxlUmVhZGVyKCk7bi5yZWFkQXNCaW5hcnlTdHJpbmcobyk7bi5vbmxvYWQ9ZnVuY3Rpb24oKXtwKG4ucmVzdWx0KX19ZWxzZXtyZXR1cm4gcChvLmdldEFzQmluYXJ5KCkpfX1mdW5jdGlvbiBkKHIscCxuLHYpe3ZhciBxLG8sdSxzLHQ9dGhpczttKGNbci5pZF0sZnVuY3Rpb24odyl7cT1rLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3Euc3R5bGUuZGlzcGxheT0ibm9uZSI7ay5ib2R5LmFwcGVuZENoaWxkKHEpO289cS5nZXRDb250ZXh0KCIyZCIpO3U9bmV3IEltYWdlKCk7dS5vbmVycm9yPXUub25hYm9ydD1mdW5jdGlvbigpe3Yoe3N1Y2Nlc3M6ZmFsc2V9KX07dS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgQix4LHoseSxBO2lmKCFwLndpZHRoKXtwLndpZHRoPXUud2lkdGh9aWYoIXAuaGVpZ2h0KXtwLmhlaWdodD11LmhlaWdodH1zPU1hdGgubWluKHAud2lkdGgvdS53aWR0aCxwLmhlaWdodC91LmhlaWdodCk7aWYoczwxfHwocz09PTEmJm49PT0iaW1hZ2UvanBlZyIpKXtCPU1hdGgucm91bmQodS53aWR0aCpzKTt4PU1hdGgucm91bmQodS5oZWlnaHQqcyk7cS53aWR0aD1CO3EuaGVpZ2h0PXg7by5kcmF3SW1hZ2UodSwwLDAsQix4KTtpZihuPT09ImltYWdlL2pwZWciKXt5PW5ldyBmKGF0b2Iody5zdWJzdHJpbmcody5pbmRleE9mKCJiYXNlNjQsIikrNykpKTtpZih5LmhlYWRlcnMmJnkuaGVhZGVycy5sZW5ndGgpe0E9bmV3IGEoKTtpZihBLmluaXQoeS5nZXQoImV4aWYiKVswXSkpe0Euc2V0RXhpZigiUGl4ZWxYRGltZW5zaW9uIixCKTtBLnNldEV4aWYoIlBpeGVsWURpbWVuc2lvbiIseCk7eS5zZXQoImV4aWYiLEEuZ2V0QmluYXJ5KCkpO2lmKHQuaGFzRXZlbnRMaXN0ZW5lcigiRXhpZkRhdGEiKSl7dC50cmlnZ2VyKCJFeGlmRGF0YSIscixBLkVYSUYoKSl9aWYodC5oYXNFdmVudExpc3RlbmVyKCJHcHNEYXRhIikpe3QudHJpZ2dlcigiR3BzRGF0YSIscixBLkdQUygpKX19fWlmKHAucXVhbGl0eSl7dHJ5e3c9cS50b0RhdGFVUkwobixwLnF1YWxpdHkvMTAwKX1jYXRjaChDKXt3PXEudG9EYXRhVVJMKG4pfX19ZWxzZXt3PXEudG9EYXRhVVJMKG4pfXc9dy5zdWJzdHJpbmcody5pbmRleE9mKCJiYXNlNjQsIikrNyk7dz1hdG9iKHcpO2lmKHkmJnkuaGVhZGVycyYmeS5oZWFkZXJzLmxlbmd0aCl7dz15LnJlc3RvcmUodyk7eS5wdXJnZSgpfXEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChxKTt2KHtzdWNjZXNzOnRydWUsZGF0YTp3fSl9ZWxzZXt2KHtzdWNjZXNzOmZhbHNlfSl9fTt1LnNyYz13fSl9ai5ydW50aW1lcy5IdG1sNT1qLmFkZFJ1bnRpbWUoImh0bWw1Iix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXt2YXIgcyxvLHIscSxwLG47bz1yPXA9bj1mYWxzZTtpZihoLlhNTEh0dHBSZXF1ZXN0KXtzPW5ldyBYTUxIdHRwUmVxdWVzdCgpO3I9ISFzLnVwbG9hZDtvPSEhKHMuc2VuZEFzQmluYXJ5fHxzLnVwbG9hZCl9aWYobyl7cT0hIShzLnNlbmRBc0JpbmFyeXx8KGguVWludDhBcnJheSYmaC5BcnJheUJ1ZmZlcikpO3A9ISEoRmlsZSYmKEZpbGUucHJvdG90eXBlLmdldEFzRGF0YVVSTHx8aC5GaWxlUmVhZGVyKSYmcSk7bj0hIShGaWxlJiYoRmlsZS5wcm90b3R5cGUubW96U2xpY2V8fEZpbGUucHJvdG90eXBlLndlYmtpdFNsaWNlfHxGaWxlLnByb3RvdHlwZS5zbGljZSkpfWc9ai51YS5zYWZhcmkmJmoudWEud2luZG93cztyZXR1cm57aHRtbDU6byxkcmFnZHJvcDooZnVuY3Rpb24oKXt2YXIgdD1rLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybigiZHJhZ2dhYmxlIiBpbiB0KXx8KCJvbmRyYWdzdGFydCIgaW4gdCYmIm9uZHJvcCIgaW4gdCl9KCkpLGpwZ3Jlc2l6ZTpwLHBuZ3Jlc2l6ZTpwLG11bHRpcGFydDpwfHwhIWguRmlsZVJlYWRlcnx8ISFoLkZvcm1EYXRhLGNhblNlbmRCaW5hcnk6cSxjYW50U2VuZEJsb2JJbkZvcm1EYXRhOiEhKGoudWEuZ2Vja28mJmguRm9ybURhdGEmJmguRmlsZVJlYWRlciYmIUZpbGVSZWFkZXIucHJvdG90eXBlLnJlYWRBc0FycmF5QnVmZmVyKSxwcm9ncmVzczpyLGNodW5rczpuLG11bHRpX3NlbGVjdGlvbjohKGoudWEuc2FmYXJpJiZqLnVhLndpbmRvd3MpLHRyaWdnZXJEaWFsb2c6KGoudWEuZ2Vja28mJmguRm9ybURhdGF8fGoudWEud2Via2l0KX19LGluaXQ6ZnVuY3Rpb24ocCxyKXt2YXIgbixxO2Z1bmN0aW9uIG8odyl7dmFyIHUsdCx2PVtdLHgscz17fTtmb3IodD0wO3Q8dy5sZW5ndGg7dCsrKXt1PXdbdF07aWYoc1t1Lm5hbWVdKXtjb250aW51ZX1zW3UubmFtZV09dHJ1ZTt4PWouZ3VpZCgpO2NbeF09dTt2LnB1c2gobmV3IGouRmlsZSh4LHUuZmlsZU5hbWV8fHUubmFtZSx1LmZpbGVTaXplfHx1LnNpemUpKX1pZih2Lmxlbmd0aCl7cC50cmlnZ2VyKCJGaWxlc0FkZGVkIix2KX19bj10aGlzLmdldEZlYXR1cmVzKCk7aWYoIW4uaHRtbDUpe3Ioe3N1Y2Nlc3M6ZmFsc2V9KTtyZXR1cm59cC5iaW5kKCJJbml0IixmdW5jdGlvbih3KXt2YXIgRyxGLEM9W10sdixELHQ9dy5zZXR0aW5ncy5maWx0ZXJzLHUsQixzPWsuYm9keSxFO0c9ay5jcmVhdGVFbGVtZW50KCJkaXYiKTtHLmlkPXcuaWQrIl9odG1sNV9jb250YWluZXIiO2ouZXh0ZW5kKEcuc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYmFja2dyb3VuZDpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcnx8InRyYW5zcGFyZW50Iix3aWR0aDoiMTAwcHgiLGhlaWdodDoiMTAwcHgiLG92ZXJmbG93OiJoaWRkZW4iLHpJbmRleDo5OTk5OSxvcGFjaXR5OnAuc2V0dGluZ3Muc2hpbV9iZ2NvbG9yPyIiOjB9KTtHLmNsYXNzTmFtZT0icGx1cGxvYWQgaHRtbDUiO2lmKHAuc2V0dGluZ3MuY29udGFpbmVyKXtzPWsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5jb250YWluZXIpO2lmKGouZ2V0U3R5bGUocywicG9zaXRpb24iKT09PSJzdGF0aWMiKXtzLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSJ9fXMuYXBwZW5kQ2hpbGQoRyk7bm9fdHlwZV9yZXN0cmljdGlvbjpmb3Iodj0wO3Y8dC5sZW5ndGg7disrKXt1PXRbdl0uZXh0ZW5zaW9ucy5zcGxpdCgvLC8pO2ZvcihEPTA7RDx1Lmxlbmd0aDtEKyspe2lmKHVbRF09PT0iKiIpe0M9W107YnJlYWsgbm9fdHlwZV9yZXN0cmljdGlvbn1CPWoubWltZVR5cGVzW3VbRF1dO2lmKEImJmouaW5BcnJheShCLEMpPT09LTEpe0MucHVzaChCKX19fUcuaW5uZXJIVE1MPSc8aW5wdXQgaWQ9IicrcC5pZCsnX2h0bWw1IiAgc3R5bGU9ImZvbnQtc2l6ZTo5OTlweCIgdHlwZT0iZmlsZSIgYWNjZXB0PSInK0Muam9pbigiLCIpKyciICcrKHAuc2V0dGluZ3MubXVsdGlfc2VsZWN0aW9uJiZwLmZlYXR1cmVzLm11bHRpX3NlbGVjdGlvbj8nbXVsdGlwbGU9Im11bHRpcGxlIic6IiIpKyIgLz4iO0cuc2Nyb2xsVG9wPTEwMDtFPWsuZ2V0RWxlbWVudEJ5SWQocC5pZCsiX2h0bWw1Iik7aWYody5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtqLmV4dGVuZChFLnN0eWxlLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSl9ZWxzZXtqLmV4dGVuZChFLnN0eWxlLHtjc3NGbG9hdDoicmlnaHQiLHN0eWxlRmxvYXQ6InJpZ2h0In0pfUUub25jaGFuZ2U9ZnVuY3Rpb24oKXtvKHRoaXMuZmlsZXMpO3RoaXMudmFsdWU9IiJ9O0Y9ay5nZXRFbGVtZW50QnlJZCh3LnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKEYpe3ZhciB6PXcuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcixBPXcuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmUseD13LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2c/RjpHO2lmKHope2ouYWRkRXZlbnQoeCwibW91c2VvdmVyIixmdW5jdGlvbigpe2ouYWRkQ2xhc3MoRix6KX0sdy5pZCk7ai5hZGRFdmVudCh4LCJtb3VzZW91dCIsZnVuY3Rpb24oKXtqLnJlbW92ZUNsYXNzKEYseil9LHcuaWQpfWlmKEEpe2ouYWRkRXZlbnQoeCwibW91c2Vkb3duIixmdW5jdGlvbigpe2ouYWRkQ2xhc3MoRixBKX0sdy5pZCk7ai5hZGRFdmVudChrLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7ai5yZW1vdmVDbGFzcyhGLEEpfSx3LmlkKX1pZih3LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2ouYWRkRXZlbnQoRiwiY2xpY2siLGZ1bmN0aW9uKEgpe3ZhciB5PWsuZ2V0RWxlbWVudEJ5SWQody5pZCsiX2h0bWw1Iik7aWYoeSYmIXkuZGlzYWJsZWQpe3kuY2xpY2soKX1ILnByZXZlbnREZWZhdWx0KCl9LHcuaWQpfX19KTtwLmJpbmQoIlBvc3RJbml0IixmdW5jdGlvbigpe3ZhciBzPWsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5kcm9wX2VsZW1lbnQpO2lmKHMpe2lmKGcpe2ouYWRkRXZlbnQocywiZHJhZ2VudGVyIixmdW5jdGlvbih3KXt2YXIgdix0LHU7dj1rLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9kcm9wIik7aWYoIXYpe3Y9ay5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3Yuc2V0QXR0cmlidXRlKCJ0eXBlIiwiZmlsZSIpO3Yuc2V0QXR0cmlidXRlKCJpZCIscC5pZCsiX2Ryb3AiKTt2LnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCJtdWx0aXBsZSIpO2ouYWRkRXZlbnQodiwiY2hhbmdlIixmdW5jdGlvbigpe28odGhpcy5maWxlcyk7ai5yZW1vdmVFdmVudCh2LCJjaGFuZ2UiLHAuaWQpO3YucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh2KX0scC5pZCk7cy5hcHBlbmRDaGlsZCh2KX10PWouZ2V0UG9zKHMsay5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmNvbnRhaW5lcikpO3U9ai5nZXRTaXplKHMpO2lmKGouZ2V0U3R5bGUocywicG9zaXRpb24iKT09PSJzdGF0aWMiKXtqLmV4dGVuZChzLnN0eWxlLHtwb3NpdGlvbjoicmVsYXRpdmUifSl9ai5leHRlbmQodi5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJibG9jayIsdG9wOjAsbGVmdDowLHdpZHRoOnUudysicHgiLGhlaWdodDp1LmgrInB4IixvcGFjaXR5OjB9KX0scC5pZCk7cmV0dXJufWouYWRkRXZlbnQocywiZHJhZ292ZXIiLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX0scC5pZCk7ai5hZGRFdmVudChzLCJkcm9wIixmdW5jdGlvbih1KXt2YXIgdD11LmRhdGFUcmFuc2ZlcjtpZih0JiZ0LmZpbGVzKXtvKHQuZmlsZXMpfXUucHJldmVudERlZmF1bHQoKX0scC5pZCl9fSk7cC5iaW5kKCJSZWZyZXNoIixmdW5jdGlvbihzKXt2YXIgdCx1LHYseCx3O3Q9ay5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHQpe3U9ai5nZXRQb3ModCxrLmdldEVsZW1lbnRCeUlkKHMuc2V0dGluZ3MuY29udGFpbmVyKSk7dj1qLmdldFNpemUodCk7eD1rLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9odG1sNV9jb250YWluZXIiKTtqLmV4dGVuZCh4LnN0eWxlLHt0b3A6dS55KyJweCIsbGVmdDp1LngrInB4Iix3aWR0aDp2LncrInB4IixoZWlnaHQ6di5oKyJweCJ9KTtpZihwLmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2lmKGouZ2V0U3R5bGUodCwicG9zaXRpb24iKT09PSJzdGF0aWMiKXtqLmV4dGVuZCh0LnN0eWxlLHtwb3NpdGlvbjoicmVsYXRpdmUifSl9dz1wYXJzZUludChqLmdldFN0eWxlKHQsInotaW5kZXgiKSwxMCk7aWYoaXNOYU4odykpe3c9MH1qLmV4dGVuZCh0LnN0eWxlLHt6SW5kZXg6d30pO2ouZXh0ZW5kKHguc3R5bGUse3pJbmRleDp3LTF9KX19fSk7cC5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbihzLHUpe3ZhciB0PWsuZ2V0RWxlbWVudEJ5SWQocy5pZCsiX2h0bWw1Iik7aWYodCl7dC5kaXNhYmxlZD11fX0pO3AuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2lmKHEuYWJvcnQpe3EuYWJvcnQoKX19KTtwLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHY9cy5zZXR0aW5ncyx5LHQ7ZnVuY3Rpb24geChBLEQseil7dmFyIEI7aWYoRmlsZS5wcm90b3R5cGUuc2xpY2Upe3RyeXtBLnNsaWNlKCk7cmV0dXJuIEEuc2xpY2UoRCx6KX1jYXRjaChDKXtyZXR1cm4gQS5zbGljZShELHotRCl9fWVsc2V7aWYoQj1GaWxlLnByb3RvdHlwZS53ZWJraXRTbGljZXx8RmlsZS5wcm90b3R5cGUubW96U2xpY2Upe3JldHVybiBCLmNhbGwoQSxELHopfWVsc2V7cmV0dXJuIG51bGx9fX1mdW5jdGlvbiB3KEEpe3ZhciBEPTAsQz0wLHo9KCJGaWxlUmVhZGVyIiBpbiBoKT9uZXcgRmlsZVJlYWRlcjpudWxsO2Z1bmN0aW9uIEIoKXt2YXIgSSxNLEssTCxILEosRixFPXMuc2V0dGluZ3MudXJsO2Z1bmN0aW9uIEcoVil7dmFyIFQ9MCxOPSItLS0tcGx1cGxvYWRib3VuZGFyeSIrai5ndWlkKCksTyxQPSItLSIsVT0iXHJcbiIsUj0iIjtxPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihxLnVwbG9hZCl7cS51cGxvYWQub25wcm9ncmVzcz1mdW5jdGlvbihXKXt1LmxvYWRlZD1NYXRoLm1pbih1LnNpemUsQytXLmxvYWRlZC1UKTtzLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix1KX19cS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXt2YXIgVyxZO2lmKHEucmVhZHlTdGF0ZT09NCYmcy5zdGF0ZSE9PWouU1RPUFBFRCl7dHJ5e1c9cS5zdGF0dXN9Y2F0Y2goWCl7Vz0wfWlmKFc+PTQwMCl7cy50cmlnZ2VyKCJFcnJvciIse2NvZGU6ai5IVFRQX0VSUk9SLG1lc3NhZ2U6ai50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTp1LHN0YXR1czpXfSl9ZWxzZXtpZihLKXtZPXtjaHVuazpELGNodW5rczpLLHJlc3BvbnNlOnEucmVzcG9uc2VUZXh0LHN0YXR1czpXfTtzLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHUsWSk7Qys9SjtpZihZLmNhbmNlbGxlZCl7dS5zdGF0dXM9ai5GQUlMRUQ7cmV0dXJufXUubG9hZGVkPU1hdGgubWluKHUuc2l6ZSwoRCsxKSpIKX1lbHNle3UubG9hZGVkPXUuc2l6ZX1zLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix1KTtWPUk9Tz1SPW51bGw7aWYoIUt8fCsrRD49Syl7dS5zdGF0dXM9ai5ET05FO3MudHJpZ2dlcigiRmlsZVVwbG9hZGVkIix1LHtyZXNwb25zZTpxLnJlc3BvbnNlVGV4dCxzdGF0dXM6V30pfWVsc2V7QigpfX19fTtpZihzLnNldHRpbmdzLm11bHRpcGFydCYmbi5tdWx0aXBhcnQpe0wubmFtZT11LnRhcmdldF9uYW1lfHx1Lm5hbWU7cS5vcGVuKCJwb3N0IixFLHRydWUpO2ouZWFjaChzLnNldHRpbmdzLmhlYWRlcnMsZnVuY3Rpb24oWCxXKXtxLnNldFJlcXVlc3RIZWFkZXIoVyxYKX0pO2lmKHR5cGVvZihWKSE9PSJzdHJpbmciJiYhIWguRm9ybURhdGEpe089bmV3IEZvcm1EYXRhKCk7ai5lYWNoKGouZXh0ZW5kKEwscy5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihYLFcpe08uYXBwZW5kKFcsWCl9KTtPLmFwcGVuZChzLnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lLFYpO3Euc2VuZChPKTtyZXR1cm59aWYodHlwZW9mKFYpPT09InN0cmluZyIpe3Euc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9IitOKTtqLmVhY2goai5leHRlbmQoTCxzLnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpLGZ1bmN0aW9uKFgsVyl7Uis9UCtOK1UrJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJytXKyciJytVK1U7Uis9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KFgpKStVfSk7Rj1qLm1pbWVUeXBlc1t1Lm5hbWUucmVwbGFjZSgvXi4rXC4oW14uXSspLywiJDEiKS50b0xvd2VyQ2FzZSgpXXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7Uis9UCtOK1UrJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJytzLnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKyciOyBmaWxlbmFtZT0iJyt1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodS5uYW1lKSkrJyInK1UrIkNvbnRlbnQtVHlwZTogIitGK1UrVStWK1UrUCtOK1ArVTtUPVIubGVuZ3RoLVYubGVuZ3RoO1Y9UjtpZihxLnNlbmRBc0JpbmFyeSl7cS5zZW5kQXNCaW5hcnkoVil9ZWxzZXtpZihuLmNhblNlbmRCaW5hcnkpe3ZhciBTPW5ldyBVaW50OEFycmF5KFYubGVuZ3RoKTtmb3IodmFyIFE9MDtRPFYubGVuZ3RoO1ErKyl7U1tRXT0oVi5jaGFyQ29kZUF0KFEpJjI1NSl9cS5zZW5kKFMuYnVmZmVyKX19cmV0dXJufX1FPWouYnVpbGRVcmwocy5zZXR0aW5ncy51cmwsai5leHRlbmQoTCxzLnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpKTtxLm9wZW4oInBvc3QiLEUsdHJ1ZSk7cS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTtqLmVhY2gocy5zZXR0aW5ncy5oZWFkZXJzLGZ1bmN0aW9uKFgsVyl7cS5zZXRSZXF1ZXN0SGVhZGVyKFcsWCl9KTtxLnNlbmQoVil9aWYodS5zdGF0dXM9PWouRE9ORXx8dS5zdGF0dXM9PWouRkFJTEVEfHxzLnN0YXRlPT1qLlNUT1BQRUQpe3JldHVybn1MPXtuYW1lOnUudGFyZ2V0X25hbWV8fHUubmFtZX07aWYodi5jaHVua19zaXplJiZ1LnNpemU+di5jaHVua19zaXplJiYobi5jaHVua3N8fHR5cGVvZihBKT09InN0cmluZyIpKXtIPXYuY2h1bmtfc2l6ZTtLPU1hdGguY2VpbCh1LnNpemUvSCk7Sj1NYXRoLm1pbihILHUuc2l6ZS0oRCpIKSk7aWYodHlwZW9mKEEpPT0ic3RyaW5nIil7ST1BLnN1YnN0cmluZyhEKkgsRCpIK0opfWVsc2V7ST14KEEsRCpILEQqSCtKKX1MLmNodW5rPUQ7TC5jaHVua3M9S31lbHNle0o9dS5zaXplO0k9QX1pZihzLnNldHRpbmdzLm11bHRpcGFydCYmbi5tdWx0aXBhcnQmJnR5cGVvZihJKSE9PSJzdHJpbmciJiZ6JiZuLmNhbnRTZW5kQmxvYkluRm9ybURhdGEmJm4uY2h1bmtzJiZzLnNldHRpbmdzLmNodW5rX3NpemUpe3oub25sb2FkPWZ1bmN0aW9uKCl7Ryh6LnJlc3VsdCl9O3oucmVhZEFzQmluYXJ5U3RyaW5nKEkpfWVsc2V7RyhJKX19QigpfXk9Y1t1LmlkXTtpZihuLmpwZ3Jlc2l6ZSYmcy5zZXR0aW5ncy5yZXNpemUmJi9cLihwbmd8anBnfGpwZWcpJC9pLnRlc3QodS5uYW1lKSl7ZC5jYWxsKHMsdSxzLnNldHRpbmdzLnJlc2l6ZSwvXC5wbmckL2kudGVzdCh1Lm5hbWUpPyJpbWFnZS9wbmciOiJpbWFnZS9qcGVnIixmdW5jdGlvbih6KXtpZih6LnN1Y2Nlc3Mpe3Uuc2l6ZT16LmRhdGEubGVuZ3RoO3coei5kYXRhKX1lbHNle2lmKG4uY2h1bmtzKXt3KHkpfWVsc2V7bCh5LHcpfX19KX1lbHNle2lmKCFuLmNodW5rcyYmbi5qcGdyZXNpemUpe2woeSx3KX1lbHNle3coeSl9fX0pO3AuYmluZCgiRGVzdHJveSIsZnVuY3Rpb24ocyl7dmFyIHUsdix0PWsuYm9keSx3PXtpbnB1dENvbnRhaW5lcjpzLmlkKyJfaHRtbDVfY29udGFpbmVyIixpbnB1dEZpbGU6cy5pZCsiX2h0bWw1Iixicm93c2VCdXR0b246cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uLGRyb3BFbG06cy5zZXR0aW5ncy5kcm9wX2VsZW1lbnR9O2Zvcih1IGluIHcpe3Y9ay5nZXRFbGVtZW50QnlJZCh3W3VdKTtpZih2KXtqLnJlbW92ZUFsbEV2ZW50cyh2LHMuaWQpfX1qLnJlbW92ZUFsbEV2ZW50cyhrLmJvZHkscy5pZCk7aWYocy5zZXR0aW5ncy5jb250YWluZXIpe3Q9ay5nZXRFbGVtZW50QnlJZChzLnNldHRpbmdzLmNvbnRhaW5lcil9dC5yZW1vdmVDaGlsZChrLmdldEVsZW1lbnRCeUlkKHcuaW5wdXRDb250YWluZXIpKX0pO3Ioe3N1Y2Nlc3M6dHJ1ZX0pfX0pO2Z1bmN0aW9uIGIoKXt2YXIgcT1mYWxzZSxvO2Z1bmN0aW9uIHIodCx2KXt2YXIgcz1xPzA6LTgqKHYtMSksdz0wLHU7Zm9yKHU9MDt1PHY7dSsrKXt3fD0oby5jaGFyQ29kZUF0KHQrdSk8PE1hdGguYWJzKHMrdSo4KSl9cmV0dXJuIHd9ZnVuY3Rpb24gbih1LHMsdCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD09PTM/dDpvLmxlbmd0aC1zLTE7bz1vLnN1YnN0cigwLHMpK3Urby5zdWJzdHIodCtzKX1mdW5jdGlvbiBwKHQsdSx3KXt2YXIgeD0iIixzPXE/MDotOCoody0xKSx2O2Zvcih2PTA7djx3O3YrKyl7eCs9U3RyaW5nLmZyb21DaGFyQ29kZSgodT4+TWF0aC5hYnMocyt2KjgpKSYyNTUpfW4oeCx0LHcpfXJldHVybntJSTpmdW5jdGlvbihzKXtpZihzPT09ZSl7cmV0dXJuIHF9ZWxzZXtxPXN9fSxpbml0OmZ1bmN0aW9uKHMpe3E9ZmFsc2U7bz1zfSxTRUdNRU5UOmZ1bmN0aW9uKHMsdSx0KXtzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOnJldHVybiBvLnN1YnN0cihzLG8ubGVuZ3RoLXMtMSk7Y2FzZSAyOnJldHVybiBvLnN1YnN0cihzLHUpO2Nhc2UgMzpuKHQscyx1KTticmVhaztkZWZhdWx0OnJldHVybiBvfX0sQllURTpmdW5jdGlvbihzKXtyZXR1cm4gcihzLDEpfSxTSE9SVDpmdW5jdGlvbihzKXtyZXR1cm4gcihzLDIpfSxMT05HOmZ1bmN0aW9uKHMsdCl7aWYodD09PWUpe3JldHVybiByKHMsNCl9ZWxzZXtwKHMsdCw0KX19LFNMT05HOmZ1bmN0aW9uKHMpe3ZhciB0PXIocyw0KTtyZXR1cm4odD4yMTQ3NDgzNjQ3P3QtNDI5NDk2NzI5Njp0KX0sU1RSSU5HOmZ1bmN0aW9uKHMsdCl7dmFyIHU9IiI7Zm9yKHQrPXM7czx0O3MrKyl7dSs9U3RyaW5nLmZyb21DaGFyQ29kZShyKHMsMSkpfXJldHVybiB1fX19ZnVuY3Rpb24gZihzKXt2YXIgdT17NjU1MDU6e2FwcDoiRVhJRiIsbmFtZToiQVBQMSIsc2lnbmF0dXJlOiJFeGlmXDAifSw2NTUwNjp7YXBwOiJJQ0MiLG5hbWU6IkFQUDIiLHNpZ25hdHVyZToiSUNDX1BST0ZJTEVcMCJ9LDY1NTE3OnthcHA6IklQVEMiLG5hbWU6IkFQUDEzIixzaWduYXR1cmU6IlBob3Rvc2hvcCAzLjBcMCJ9fSx0PVtdLHIsbixwPWUscT0wLG87cj1uZXcgYigpO3IuaW5pdChzKTtpZihyLlNIT1JUKDApIT09NjU0OTYpe3JldHVybn1uPTI7bz1NYXRoLm1pbigxMDQ4NTc2LHMubGVuZ3RoKTt3aGlsZShuPD1vKXtwPXIuU0hPUlQobik7aWYocD49NjU0ODgmJnA8PTY1NDk1KXtuKz0yO2NvbnRpbnVlfWlmKHA9PT02NTQ5OHx8cD09PTY1NDk3KXticmVha31xPXIuU0hPUlQobisyKSsyO2lmKHVbcF0mJnIuU1RSSU5HKG4rNCx1W3BdLnNpZ25hdHVyZS5sZW5ndGgpPT09dVtwXS5zaWduYXR1cmUpe3QucHVzaCh7aGV4OnAsYXBwOnVbcF0uYXBwLnRvVXBwZXJDYXNlKCksbmFtZTp1W3BdLm5hbWUudG9VcHBlckNhc2UoKSxzdGFydDpuLGxlbmd0aDpxLHNlZ21lbnQ6ci5TRUdNRU5UKG4scSl9KX1uKz1xfXIuaW5pdChudWxsKTtyZXR1cm57aGVhZGVyczp0LHJlc3RvcmU6ZnVuY3Rpb24oeSl7ci5pbml0KHkpO3ZhciB3PW5ldyBmKHkpO2lmKCF3LmhlYWRlcnMpe3JldHVybiBmYWxzZX1mb3IodmFyIHg9dy5oZWFkZXJzLmxlbmd0aDt4PjA7eC0tKXt2YXIgej13LmhlYWRlcnNbeC0xXTtyLlNFR01FTlQoei5zdGFydCx6Lmxlbmd0aCwiIil9dy5wdXJnZSgpO249ci5TSE9SVCgyKT09NjU1MDQ/NCtyLlNIT1JUKDQpOjI7Zm9yKHZhciB4PTAsdj10Lmxlbmd0aDt4PHY7eCsrKXtyLlNFR01FTlQobiwwLHRbeF0uc2VnbWVudCk7bis9dFt4XS5sZW5ndGh9cmV0dXJuIHIuU0VHTUVOVCgpfSxnZXQ6ZnVuY3Rpb24oeCl7dmFyIHk9W107Zm9yKHZhciB3PTAsdj10Lmxlbmd0aDt3PHY7dysrKXtpZih0W3ddLmFwcD09PXgudG9VcHBlckNhc2UoKSl7eS5wdXNoKHRbd10uc2VnbWVudCl9fXJldHVybiB5fSxzZXQ6ZnVuY3Rpb24oeSx4KXt2YXIgej1bXTtpZih0eXBlb2YoeCk9PT0ic3RyaW5nIil7ei5wdXNoKHgpfWVsc2V7ej14fWZvcih2YXIgdz1paT0wLHY9dC5sZW5ndGg7dzx2O3crKyl7aWYodFt3XS5hcHA9PT15LnRvVXBwZXJDYXNlKCkpe3Rbd10uc2VnbWVudD16W2lpXTt0W3ddLmxlbmd0aD16W2lpXS5sZW5ndGg7aWkrK31pZihpaT49ei5sZW5ndGgpe2JyZWFrfX19LHB1cmdlOmZ1bmN0aW9uKCl7dD1bXTtyLmluaXQobnVsbCl9fX1mdW5jdGlvbiBhKCl7dmFyIHEsbixvPXt9LHQ7cT1uZXcgYigpO249e3RpZmY6ezI3NDoiT3JpZW50YXRpb24iLDM0NjY1OiJFeGlmSUZEUG9pbnRlciIsMzQ4NTM6IkdQU0luZm9JRkRQb2ludGVyIn0sZXhpZjp7MzY4NjQ6IkV4aWZWZXJzaW9uIiw0MDk2MToiQ29sb3JTcGFjZSIsNDA5NjI6IlBpeGVsWERpbWVuc2lvbiIsNDA5NjM6IlBpeGVsWURpbWVuc2lvbiIsMzY4Njc6IkRhdGVUaW1lT3JpZ2luYWwiLDMzNDM0OiJFeHBvc3VyZVRpbWUiLDMzNDM3OiJGTnVtYmVyIiwzNDg1NToiSVNPU3BlZWRSYXRpbmdzIiwzNzM3NzoiU2h1dHRlclNwZWVkVmFsdWUiLDM3Mzc4OiJBcGVydHVyZVZhbHVlIiwzNzM4MzoiTWV0ZXJpbmdNb2RlIiwzNzM4NDoiTGlnaHRTb3VyY2UiLDM3Mzg1OiJGbGFzaCIsNDE5ODY6IkV4cG9zdXJlTW9kZSIsNDE5ODc6IldoaXRlQmFsYW5jZSIsNDE5OTA6IlNjZW5lQ2FwdHVyZVR5cGUiLDQxOTg4OiJEaWdpdGFsWm9vbVJhdGlvIiw0MTk5MjoiQ29udHJhc3QiLDQxOTkzOiJTYXR1cmF0aW9uIiw0MTk5NDoiU2hhcnBuZXNzIn0sZ3BzOnswOiJHUFNWZXJzaW9uSUQiLDE6IkdQU0xhdGl0dWRlUmVmIiwyOiJHUFNMYXRpdHVkZSIsMzoiR1BTTG9uZ2l0dWRlUmVmIiw0OiJHUFNMb25naXR1ZGUifX07dD17Q29sb3JTcGFjZTp7MToic1JHQiIsMDoiVW5jYWxpYnJhdGVkIn0sTWV0ZXJpbmdNb2RlOnswOiJVbmtub3duIiwxOiJBdmVyYWdlIiwyOiJDZW50ZXJXZWlnaHRlZEF2ZXJhZ2UiLDM6IlNwb3QiLDQ6Ik11bHRpU3BvdCIsNToiUGF0dGVybiIsNjoiUGFydGlhbCIsMjU1OiJPdGhlciJ9LExpZ2h0U291cmNlOnsxOiJEYXlsaWdodCIsMjoiRmxpb3Jlc2NlbnQiLDM6IlR1bmdzdGVuIiw0OiJGbGFzaCIsOToiRmluZSB3ZWF0aGVyIiwxMDoiQ2xvdWR5IHdlYXRoZXIiLDExOiJTaGFkZSIsMTI6IkRheWxpZ2h0IGZsdW9yZXNjZW50IChEIDU3MDAgLSA3MTAwSykiLDEzOiJEYXkgd2hpdGUgZmx1b3Jlc2NlbnQgKE4gNDYwMCAtNTQwMEspIiwxNDoiQ29vbCB3aGl0ZSBmbHVvcmVzY2VudCAoVyAzOTAwIC0gNDUwMEspIiwxNToiV2hpdGUgZmx1b3Jlc2NlbnQgKFdXIDMyMDAgLSAzNzAwSykiLDE3OiJTdGFuZGFyZCBsaWdodCBBIiwxODoiU3RhbmRhcmQgbGlnaHQgQiIsMTk6IlN0YW5kYXJkIGxpZ2h0IEMiLDIwOiJENTUiLDIxOiJENjUiLDIyOiJENzUiLDIzOiJENTAiLDI0OiJJU08gc3R1ZGlvIHR1bmdzdGVuIiwyNTU6Ik90aGVyIn0sRmxhc2g6ezA6IkZsYXNoIGRpZCBub3QgZmlyZS4iLDE6IkZsYXNoIGZpcmVkLiIsNToiU3Ryb2JlIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQuIiw3OiJTdHJvYmUgcmV0dXJuIGxpZ2h0IGRldGVjdGVkLiIsOToiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSIsMTM6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDE1OiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQiLDE2OiJGbGFzaCBkaWQgbm90IGZpcmUsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSIsMjQ6IkZsYXNoIGRpZCBub3QgZmlyZSwgYXV0byBtb2RlIiwyNToiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSIsMjk6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDMxOiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQiLDMyOiJObyBmbGFzaCBmdW5jdGlvbiIsNjU6IkZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlIiw2OToiRmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDcxOiJGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiw3MzoiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsNzc6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDc5OiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQiLDg5OiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlIiw5MzoiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsOTU6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSJ9LEV4cG9zdXJlTW9kZTp7MDoiQXV0byBleHBvc3VyZSIsMToiTWFudWFsIGV4cG9zdXJlIiwyOiJBdXRvIGJyYWNrZXQifSxXaGl0ZUJhbGFuY2U6ezA6IkF1dG8gd2hpdGUgYmFsYW5jZSIsMToiTWFudWFsIHdoaXRlIGJhbGFuY2UifSxTY2VuZUNhcHR1cmVUeXBlOnswOiJTdGFuZGFyZCIsMToiTGFuZHNjYXBlIiwyOiJQb3J0cmFpdCIsMzoiTmlnaHQgc2NlbmUifSxDb250cmFzdDp7MDoiTm9ybWFsIiwxOiJTb2Z0IiwyOiJIYXJkIn0sU2F0dXJhdGlvbjp7MDoiTm9ybWFsIiwxOiJMb3cgc2F0dXJhdGlvbiIsMjoiSGlnaCBzYXR1cmF0aW9uIn0sU2hhcnBuZXNzOnswOiJOb3JtYWwiLDE6IlNvZnQiLDI6IkhhcmQifSxHUFNMYXRpdHVkZVJlZjp7TjoiTm9ydGggbGF0aXR1ZGUiLFM6IlNvdXRoIGxhdGl0dWRlIn0sR1BTTG9uZ2l0dWRlUmVmOntFOiJFYXN0IGxvbmdpdHVkZSIsVzoiV2VzdCBsb25naXR1ZGUifX07ZnVuY3Rpb24gcCh1LEMpe3ZhciB3PXEuU0hPUlQodSkseixGLEcsQixBLHYseCxELEU9W10seT17fTtmb3Ioej0wO3o8dzt6Kyspe3g9dj11KzEyKnorMjtHPUNbcS5TSE9SVCh4KV07aWYoRz09PWUpe2NvbnRpbnVlfUI9cS5TSE9SVCh4Kz0yKTtBPXEuTE9ORyh4Kz0yKTt4Kz00O0U9W107c3dpdGNoKEIpe2Nhc2UgMTpjYXNlIDc6aWYoQT40KXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuQllURSh4K0YpfWJyZWFrO2Nhc2UgMjppZihBPjQpe3g9cS5MT05HKHgpK28udGlmZkhlYWRlcn15W0ddPXEuU1RSSU5HKHgsQS0xKTtjb250aW51ZTtjYXNlIDM6aWYoQT4yKXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuU0hPUlQoeCtGKjIpfWJyZWFrO2Nhc2UgNDppZihBPjEpe3g9cS5MT05HKHgpK28udGlmZkhlYWRlcn1mb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5MT05HKHgrRio0KX1icmVhaztjYXNlIDU6eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyO2ZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLkxPTkcoeCtGKjQpL3EuTE9ORyh4K0YqNCs0KX1icmVhaztjYXNlIDk6eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyO2ZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLlNMT05HKHgrRio0KX1icmVhaztjYXNlIDEwOng9cS5MT05HKHgpK28udGlmZkhlYWRlcjtmb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5TTE9ORyh4K0YqNCkvcS5TTE9ORyh4K0YqNCs0KX1icmVhaztkZWZhdWx0OmNvbnRpbnVlfUQ9KEE9PTE/RVswXTpFKTtpZih0Lmhhc093blByb3BlcnR5KEcpJiZ0eXBlb2YgRCE9Im9iamVjdCIpe3lbR109dFtHXVtEXX1lbHNle3lbR109RH19cmV0dXJuIHl9ZnVuY3Rpb24gcygpe3ZhciB2PWUsdT1vLnRpZmZIZWFkZXI7cS5JSShxLlNIT1JUKHUpPT0xODc2MSk7aWYocS5TSE9SVCh1Kz0yKSE9PTQyKXtyZXR1cm4gZmFsc2V9by5JRkQwPW8udGlmZkhlYWRlcitxLkxPTkcodSs9Mik7dj1wKG8uSUZEMCxuLnRpZmYpO28uZXhpZklGRD0oIkV4aWZJRkRQb2ludGVyIiBpbiB2P28udGlmZkhlYWRlcit2LkV4aWZJRkRQb2ludGVyOmUpO28uZ3BzSUZEPSgiR1BTSW5mb0lGRFBvaW50ZXIiIGluIHY/by50aWZmSGVhZGVyK3YuR1BTSW5mb0lGRFBvaW50ZXI6ZSk7cmV0dXJuIHRydWV9ZnVuY3Rpb24gcih3LHUseil7dmFyIEIseSx4LEE9MDtpZih0eXBlb2YodSk9PT0ic3RyaW5nIil7dmFyIHY9blt3LnRvTG93ZXJDYXNlKCldO2ZvcihoZXggaW4gdil7aWYodltoZXhdPT09dSl7dT1oZXg7YnJlYWt9fX1CPW9bdy50b0xvd2VyQ2FzZSgpKyJJRkQiXTt5PXEuU0hPUlQoQik7Zm9yKGk9MDtpPHk7aSsrKXt4PUIrMTIqaSsyO2lmKHEuU0hPUlQoeCk9PXUpe0E9eCs4O2JyZWFrfX1pZighQSl7cmV0dXJuIGZhbHNlfXEuTE9ORyhBLHopO3JldHVybiB0cnVlfXJldHVybntpbml0OmZ1bmN0aW9uKHUpe289e3RpZmZIZWFkZXI6MTB9O2lmKHU9PT1lfHwhdS5sZW5ndGgpe3JldHVybiBmYWxzZX1xLmluaXQodSk7aWYocS5TSE9SVCgwKT09PTY1NTA1JiZxLlNUUklORyg0LDUpLnRvVXBwZXJDYXNlKCk9PT0iRVhJRlwwIil7cmV0dXJuIHMoKX1yZXR1cm4gZmFsc2V9LEVYSUY6ZnVuY3Rpb24oKXt2YXIgdjt2PXAoby5leGlmSUZELG4uZXhpZik7aWYodi5FeGlmVmVyc2lvbiYmai50eXBlT2Yodi5FeGlmVmVyc2lvbik9PT0iYXJyYXkiKXtmb3IodmFyIHc9MCx1PSIiO3c8di5FeGlmVmVyc2lvbi5sZW5ndGg7dysrKXt1Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKHYuRXhpZlZlcnNpb25bd10pfXYuRXhpZlZlcnNpb249dX1yZXR1cm4gdn0sR1BTOmZ1bmN0aW9uKCl7dmFyIHU7dT1wKG8uZ3BzSUZELG4uZ3BzKTtpZih1LkdQU1ZlcnNpb25JRCl7dS5HUFNWZXJzaW9uSUQ9dS5HUFNWZXJzaW9uSUQuam9pbigiLiIpfXJldHVybiB1fSxzZXRFeGlmOmZ1bmN0aW9uKHUsdil7aWYodSE9PSJQaXhlbFhEaW1lbnNpb24iJiZ1IT09IlBpeGVsWURpbWVuc2lvbiIpe3JldHVybiBmYWxzZX1yZXR1cm4gcigiZXhpZiIsdSx2KX0sZ2V0QmluYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHEuU0VHTUVOVCgpfX19fSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTsoZnVuY3Rpb24oZCxhLGIsYyl7ZnVuY3Rpb24gZShmKXtyZXR1cm4gYS5nZXRFbGVtZW50QnlJZChmKX1iLnJ1bnRpbWVzLkh0bWw0PWIuYWRkUnVudGltZSgiaHRtbDQiLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybnttdWx0aXBhcnQ6dHJ1ZSx0cmlnZ2VyRGlhbG9nOihiLnVhLmdlY2tvJiZkLkZvcm1EYXRhfHxiLnVhLndlYmtpdCl9fSxpbml0OmZ1bmN0aW9uKGYsZyl7Zi5iaW5kKCJJbml0IixmdW5jdGlvbihwKXt2YXIgaj1hLmJvZHksbixoPSJqYXZhc2NyaXB0IixrLHgscSx6PVtdLHI9L01TSUUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdD1bXSxtPXAuc2V0dGluZ3MuZmlsdGVycyxvLGwscyx3O25vX3R5cGVfcmVzdHJpY3Rpb246Zm9yKG89MDtvPG0ubGVuZ3RoO28rKyl7bD1tW29dLmV4dGVuc2lvbnMuc3BsaXQoLywvKTtmb3Iodz0wO3c8bC5sZW5ndGg7dysrKXtpZihsW3ddPT09IioiKXt0PVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259cz1iLm1pbWVUeXBlc1tsW3ddXTtpZihzJiZiLmluQXJyYXkocyx0KT09PS0xKXt0LnB1c2gocyl9fX10PXQuam9pbigiLCIpO2Z1bmN0aW9uIHYoKXt2YXIgQyxBLHksQjtxPWIuZ3VpZCgpO3oucHVzaChxKTtDPWEuY3JlYXRlRWxlbWVudCgiZm9ybSIpO0Muc2V0QXR0cmlidXRlKCJpZCIsImZvcm1fIitxKTtDLnNldEF0dHJpYnV0ZSgibWV0aG9kIiwicG9zdCIpO0Muc2V0QXR0cmlidXRlKCJlbmN0eXBlIiwibXVsdGlwYXJ0L2Zvcm0tZGF0YSIpO0Muc2V0QXR0cmlidXRlKCJlbmNvZGluZyIsIm11bHRpcGFydC9mb3JtLWRhdGEiKTtDLnNldEF0dHJpYnV0ZSgidGFyZ2V0IixwLmlkKyJfaWZyYW1lIik7Qy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO0E9YS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO0Euc2V0QXR0cmlidXRlKCJpZCIsImlucHV0XyIrcSk7QS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJmaWxlIik7QS5zZXRBdHRyaWJ1dGUoImFjY2VwdCIsdCk7QS5zZXRBdHRyaWJ1dGUoInNpemUiLDEpO0I9ZShwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHAuZmVhdHVyZXMudHJpZ2dlckRpYWxvZyYmQil7Yi5hZGRFdmVudChlKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbiksImNsaWNrIixmdW5jdGlvbihEKXtpZighQS5kaXNhYmxlZCl7QS5jbGljaygpfUQucHJldmVudERlZmF1bHQoKX0scC5pZCl9Yi5leHRlbmQoQS5zdHlsZSx7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3BhY2l0eTowLGZvbnRTaXplOiI5OXB4In0pO2IuZXh0ZW5kKEMuc3R5bGUse292ZXJmbG93OiJoaWRkZW4ifSk7eT1wLnNldHRpbmdzLnNoaW1fYmdjb2xvcjtpZih5KXtDLnN0eWxlLmJhY2tncm91bmQ9eX1pZihyKXtiLmV4dGVuZChBLnN0eWxlLHtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MCkifSl9Yi5hZGRFdmVudChBLCJjaGFuZ2UiLGZ1bmN0aW9uKEcpe3ZhciBFPUcudGFyZ2V0LEQsRj1bXSxIO2lmKEUudmFsdWUpe2UoImZvcm1fIitxKS5zdHlsZS50b3A9LTEwNDg1NzUrInB4IjtEPUUudmFsdWUucmVwbGFjZSgvXFwvZywiLyIpO0Q9RC5zdWJzdHJpbmcoRC5sZW5ndGgsRC5sYXN0SW5kZXhPZigiLyIpKzEpO0YucHVzaChuZXcgYi5GaWxlKHEsRCkpO2lmKCFwLmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2IucmVtb3ZlQWxsRXZlbnRzKEMscC5pZCl9ZWxzZXtiLnJlbW92ZUV2ZW50KEIsImNsaWNrIixwLmlkKX1iLnJlbW92ZUV2ZW50KEEsImNoYW5nZSIscC5pZCk7digpO2lmKEYubGVuZ3RoKXtmLnRyaWdnZXIoIkZpbGVzQWRkZWQiLEYpfX19LHAuaWQpO0MuYXBwZW5kQ2hpbGQoQSk7ai5hcHBlbmRDaGlsZChDKTtwLnJlZnJlc2goKX1mdW5jdGlvbiB1KCl7dmFyIHk9YS5jcmVhdGVFbGVtZW50KCJkaXYiKTt5LmlubmVySFRNTD0nPGlmcmFtZSBpZD0iJytwLmlkKydfaWZyYW1lIiBuYW1lPSInK3AuaWQrJ19pZnJhbWUiIHNyYz0iJytoKyc6JnF1b3Q7JnF1b3Q7IiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4nO249eS5maXJzdENoaWxkO2ouYXBwZW5kQ2hpbGQobik7Yi5hZGRFdmVudChuLCJsb2FkIixmdW5jdGlvbihEKXt2YXIgRT1ELnRhcmdldCxDLEE7aWYoIWspe3JldHVybn10cnl7Qz1FLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnR8fEUuY29udGVudERvY3VtZW50fHxkLmZyYW1lc1tFLmlkXS5kb2N1bWVudH1jYXRjaChCKXtwLnRyaWdnZXIoIkVycm9yIix7Y29kZTpiLlNFQ1VSSVRZX0VSUk9SLG1lc3NhZ2U6Yi50cmFuc2xhdGUoIlNlY3VyaXR5IGVycm9yLiIpLGZpbGU6a30pO3JldHVybn1BPUMuYm9keS5pbm5lckhUTUw7aWYoQSl7ay5zdGF0dXM9Yi5ET05FO2subG9hZGVkPTEwMjU7ay5wZXJjZW50PTEwMDtwLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIixrKTtwLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIsayx7cmVzcG9uc2U6QX0pfX0scC5pZCl9aWYocC5zZXR0aW5ncy5jb250YWluZXIpe2o9ZShwLnNldHRpbmdzLmNvbnRhaW5lcik7aWYoYi5nZXRTdHlsZShqLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpe2ouc3R5bGUucG9zaXRpb249InJlbGF0aXZlIn19cC5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbih5LEIpe3ZhciBDLEE7aWYoQi5zdGF0dXM9PWIuRE9ORXx8Qi5zdGF0dXM9PWIuRkFJTEVEfHx5LnN0YXRlPT1iLlNUT1BQRUQpe3JldHVybn1DPWUoImZvcm1fIitCLmlkKTtBPWUoImlucHV0XyIrQi5pZCk7QS5zZXRBdHRyaWJ1dGUoIm5hbWUiLHkuc2V0dGluZ3MuZmlsZV9kYXRhX25hbWUpO0Muc2V0QXR0cmlidXRlKCJhY3Rpb24iLHkuc2V0dGluZ3MudXJsKTtiLmVhY2goYi5leHRlbmQoe25hbWU6Qi50YXJnZXRfbmFtZXx8Qi5uYW1lfSx5LnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpLGZ1bmN0aW9uKEYsRCl7dmFyIEU9YS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2IuZXh0ZW5kKEUse3R5cGU6ImhpZGRlbiIsbmFtZTpELHZhbHVlOkZ9KTtDLmluc2VydEJlZm9yZShFLEMuZmlyc3RDaGlsZCl9KTtrPUI7ZSgiZm9ybV8iK3EpLnN0eWxlLnRvcD0tMTA0ODU3NSsicHgiO0Muc3VibWl0KCk7Qy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEMpfSk7cC5iaW5kKCJGaWxlVXBsb2FkZWQiLGZ1bmN0aW9uKHkpe3kucmVmcmVzaCgpfSk7cC5iaW5kKCJTdGF0ZUNoYW5nZWQiLGZ1bmN0aW9uKHkpe2lmKHkuc3RhdGU9PWIuU1RBUlRFRCl7dSgpfWlmKHkuc3RhdGU9PWIuU1RPUFBFRCl7ZC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5yZW1vdmVFdmVudChuLCJsb2FkIix5LmlkKTtpZihuLnBhcmVudE5vZGUpe24ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX19LDApfX0pO3AuYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24oQSl7dmFyIEcsQixDLEQseSxILEksRixFO0c9ZShBLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKEcpe3k9Yi5nZXRQb3MoRyxlKEEuc2V0dGluZ3MuY29udGFpbmVyKSk7SD1iLmdldFNpemUoRyk7ST1lKCJmb3JtXyIrcSk7Rj1lKCJpbnB1dF8iK3EpO2IuZXh0ZW5kKEkuc3R5bGUse3RvcDp5LnkrInB4IixsZWZ0OnkueCsicHgiLHdpZHRoOkgudysicHgiLGhlaWdodDpILmgrInB4In0pO2lmKEEuZmVhdHVyZXMudHJpZ2dlckRpYWxvZyl7aWYoYi5nZXRTdHlsZShHLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpe2IuZXh0ZW5kKEcuc3R5bGUse3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KX1FPXBhcnNlSW50KEcuc3R5bGUuekluZGV4LDEwKTtpZihpc05hTihFKSl7RT0wfWIuZXh0ZW5kKEcuc3R5bGUse3pJbmRleDpFfSk7Yi5leHRlbmQoSS5zdHlsZSx7ekluZGV4OkUtMX0pfUM9QS5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO0Q9QS5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2FjdGl2ZTtCPUEuZmVhdHVyZXMudHJpZ2dlckRpYWxvZz9HOkk7aWYoQyl7Yi5hZGRFdmVudChCLCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7Yi5hZGRDbGFzcyhHLEMpfSxBLmlkKTtiLmFkZEV2ZW50KEIsIm1vdXNlb3V0IixmdW5jdGlvbigpe2IucmVtb3ZlQ2xhc3MoRyxDKX0sQS5pZCl9aWYoRCl7Yi5hZGRFdmVudChCLCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7Yi5hZGRDbGFzcyhHLEQpfSxBLmlkKTtiLmFkZEV2ZW50KGEuYm9keSwibW91c2V1cCIsZnVuY3Rpb24oKXtiLnJlbW92ZUNsYXNzKEcsRCl9LEEuaWQpfX19KTtmLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24oeSxCKXt2YXIgQSxDO2ZvcihBPTA7QTxCLmxlbmd0aDtBKyspe0M9ZSgiZm9ybV8iK0JbQV0uaWQpO2lmKEMpe0MucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChDKX19fSk7Zi5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbih5LEIpe3ZhciBBPWEuZ2V0RWxlbWVudEJ5SWQoImlucHV0XyIrcSk7aWYoQSl7QS5kaXNhYmxlZD1CfX0pO2YuYmluZCgiRGVzdHJveSIsZnVuY3Rpb24oeSl7dmFyIEEsQixDLEQ9e2lucHV0Q29udGFpbmVyOiJmb3JtXyIrcSxpbnB1dEZpbGU6ImlucHV0XyIrcSxicm93c2VCdXR0b246eS5zZXR0aW5ncy5icm93c2VfYnV0dG9ufTtmb3IoQSBpbiBEKXtCPWUoRFtBXSk7aWYoQil7Yi5yZW1vdmVBbGxFdmVudHMoQix5LmlkKX19Yi5yZW1vdmVBbGxFdmVudHMoYS5ib2R5LHkuaWQpO2IuZWFjaCh6LGZ1bmN0aW9uKEYsRSl7Qz1lKCJmb3JtXyIrRik7aWYoQyl7ai5yZW1vdmVDaGlsZChDKX19KX0pO3YoKX0pO2coe3N1Y2Nlc3M6dHJ1ZX0pfX0pfSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.gears.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKCl7aWYod2luZG93Lmdvb2dsZSYmZ29vZ2xlLmdlYXJzKXtyZXR1cm59dmFyIGE9bnVsbDtpZih0eXBlb2YgR2VhcnNGYWN0b3J5IT0idW5kZWZpbmVkIil7YT1uZXcgR2VhcnNGYWN0b3J5KCl9ZWxzZXt0cnl7YT1uZXcgQWN0aXZlWE9iamVjdCgiR2VhcnMuRmFjdG9yeSIpO2lmKGEuZ2V0QnVpbGRJbmZvKCkuaW5kZXhPZigiaWVfbW9iaWxlIikhPS0xKXthLnByaXZhdGVTZXRHbG9iYWxPYmplY3QodGhpcyl9fWNhdGNoKGIpe2lmKCh0eXBlb2YgbmF2aWdhdG9yLm1pbWVUeXBlcyE9InVuZGVmaW5lZCIpJiZuYXZpZ2F0b3IubWltZVR5cGVzWyJhcHBsaWNhdGlvbi94LWdvb2dsZWdlYXJzIl0pe2E9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0Iik7YS5zdHlsZS5kaXNwbGF5PSJub25lIjthLndpZHRoPTA7YS5oZWlnaHQ9MDthLnR5cGU9ImFwcGxpY2F0aW9uL3gtZ29vZ2xlZ2VhcnMiO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChhKX19fWlmKCFhKXtyZXR1cm59aWYoIXdpbmRvdy5nb29nbGUpe3dpbmRvdy5nb29nbGU9e319aWYoIWdvb2dsZS5nZWFycyl7Z29vZ2xlLmdlYXJzPXtmYWN0b3J5OmF9fX0pKCk7KGZ1bmN0aW9uKGUsYixjLGQpe3ZhciBmPXt9O2Z1bmN0aW9uIGEoaCxqLGwpe3ZhciBnLGksayxuO2k9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmNhbnZhcyIpO3RyeXtpLmRlY29kZShoKTtpZighai53aWR0aCl7ai53aWR0aD1pLndpZHRofWlmKCFqLmhlaWdodCl7ai5oZWlnaHQ9aS5oZWlnaHR9bj1NYXRoLm1pbih3aWR0aC9pLndpZHRoLGhlaWdodC9pLmhlaWdodCk7aWYobjwxfHwobj09PTEmJmw9PT0iaW1hZ2UvanBlZyIpKXtpLnJlc2l6ZShNYXRoLnJvdW5kKGkud2lkdGgqbiksTWF0aC5yb3VuZChpLmhlaWdodCpuKSk7aWYoai5xdWFsaXR5KXtyZXR1cm4gaS5lbmNvZGUobCx7cXVhbGl0eTpqLnF1YWxpdHkvMTAwfSl9cmV0dXJuIGkuZW5jb2RlKGwpfX1jYXRjaChtKXt9cmV0dXJuIGh9Yy5ydW50aW1lcy5HZWFycz1jLmFkZFJ1bnRpbWUoImdlYXJzIix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57ZHJhZ2Ryb3A6dHJ1ZSxqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihrLG0pe3ZhciBsLGgsZz1mYWxzZTtpZighZS5nb29nbGV8fCFnb29nbGUuZ2VhcnMpe3JldHVybiBtKHtzdWNjZXNzOmZhbHNlfSl9dHJ5e2w9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmRlc2t0b3AiKX1jYXRjaChqKXtyZXR1cm4gbSh7c3VjY2VzczpmYWxzZX0pfWZ1bmN0aW9uIGkocCl7dmFyIG8sbixxPVtdLHI7Zm9yKG49MDtuPHAubGVuZ3RoO24rKyl7bz1wW25dO3I9Yy5ndWlkKCk7ZltyXT1vLmJsb2I7cS5wdXNoKG5ldyBjLkZpbGUocixvLm5hbWUsby5ibG9iLmxlbmd0aCkpfWsudHJpZ2dlcigiRmlsZXNBZGRlZCIscSl9ay5iaW5kKCJQb3N0SW5pdCIsZnVuY3Rpb24oKXt2YXIgbz1rLnNldHRpbmdzLG49Yi5nZXRFbGVtZW50QnlJZChvLmRyb3BfZWxlbWVudCk7aWYobil7Yy5hZGRFdmVudChuLCJkcmFnb3ZlciIsZnVuY3Rpb24ocCl7bC5zZXREcm9wRWZmZWN0KHAsImNvcHkiKTtwLnByZXZlbnREZWZhdWx0KCl9LGsuaWQpO2MuYWRkRXZlbnQobiwiZHJvcCIsZnVuY3Rpb24ocSl7dmFyIHA9bC5nZXREcmFnRGF0YShxLCJhcHBsaWNhdGlvbi94LWdlYXJzLWZpbGVzIik7aWYocCl7aShwLmZpbGVzKX1xLnByZXZlbnREZWZhdWx0KCl9LGsuaWQpO249MH1jLmFkZEV2ZW50KGIuZ2V0RWxlbWVudEJ5SWQoby5icm93c2VfYnV0dG9uKSwiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciBzPVtdLHEscCxyO3QucHJldmVudERlZmF1bHQoKTtpZihnKXtyZXR1cm59bm9fdHlwZV9yZXN0cmljdGlvbjpmb3IocT0wO3E8by5maWx0ZXJzLmxlbmd0aDtxKyspe3I9by5maWx0ZXJzW3FdLmV4dGVuc2lvbnMuc3BsaXQoIiwiKTtmb3IocD0wO3A8ci5sZW5ndGg7cCsrKXtpZihyW3BdPT09IioiKXtzPVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259cy5wdXNoKCIuIityW3BdKX19bC5vcGVuRmlsZXMoaSx7c2luZ2xlRmlsZTohby5tdWx0aV9zZWxlY3Rpb24sZmlsdGVyOnN9KX0say5pZCl9KTtrLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtpZihoLmFib3J0KXtoLmFib3J0KCl9fSk7ay5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbih0LHEpe3ZhciB2PTAsdSxyLHM9MCxwPXQuc2V0dGluZ3MucmVzaXplLG47aWYocCYmL1wuKHBuZ3xqcGd8anBlZykkL2kudGVzdChxLm5hbWUpKXtmW3EuaWRdPWEoZltxLmlkXSxwLC9cLnBuZyQvaS50ZXN0KHEubmFtZSk/ImltYWdlL3BuZyI6ImltYWdlL2pwZWciKX1xLnNpemU9ZltxLmlkXS5sZW5ndGg7cj10LnNldHRpbmdzLmNodW5rX3NpemU7bj1yPjA7dT1NYXRoLmNlaWwocS5zaXplL3IpO2lmKCFuKXtyPXEuc2l6ZTt1PTF9ZnVuY3Rpb24gbygpe3ZhciBCLHg9dC5zZXR0aW5ncy5tdWx0aXBhcnQsdz0wLEE9e25hbWU6cS50YXJnZXRfbmFtZXx8cS5uYW1lfSx5PXQuc2V0dGluZ3MudXJsO2Z1bmN0aW9uIHooRCl7dmFyIEMsST0iLS0tLXBsdXBsb2FkYm91bmRhcnkiK2MuZ3VpZCgpLEY9Ii0tIixIPSJcclxuIixFLEc7aWYoeCl7aC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iK0kpO0M9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmJsb2JidWlsZGVyIik7Yy5lYWNoKGMuZXh0ZW5kKEEsdC5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihLLEope0MuYXBwZW5kKEYrSStIKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IicrSisnIicrSCtIKTtDLmFwcGVuZChLK0gpfSk7Rz1jLm1pbWVUeXBlc1txLm5hbWUucmVwbGFjZSgvXi4rXC4oW14uXSspLywiJDEiKS50b0xvd2VyQ2FzZSgpXXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7Qy5hcHBlbmQoRitJK0grJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJyt0LnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKyciOyBmaWxlbmFtZT0iJytxLm5hbWUrJyInK0grIkNvbnRlbnQtVHlwZTogIitHK0grSCk7Qy5hcHBlbmQoRCk7Qy5hcHBlbmQoSCtGK0krRitIKTtFPUMuZ2V0QXNCbG9iKCk7dz1FLmxlbmd0aC1ELmxlbmd0aDtEPUV9aC5zZW5kKEQpfWlmKHEuc3RhdHVzPT1jLkRPTkV8fHEuc3RhdHVzPT1jLkZBSUxFRHx8dC5zdGF0ZT09Yy5TVE9QUEVEKXtyZXR1cm59aWYobil7QS5jaHVuaz12O0EuY2h1bmtzPXV9Qj1NYXRoLm1pbihyLHEuc2l6ZS0odipyKSk7aWYoIXgpe3k9Yy5idWlsZFVybCh0LnNldHRpbmdzLnVybCxBKX1oPWdvb2dsZS5nZWFycy5mYWN0b3J5LmNyZWF0ZSgiYmV0YS5odHRwcmVxdWVzdCIpO2gub3BlbigiUE9TVCIseSk7aWYoIXgpe2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbiIsJ2F0dGFjaG1lbnQ7IGZpbGVuYW1lPSInK3EubmFtZSsnIicpO2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIil9Yy5lYWNoKHQuc2V0dGluZ3MuaGVhZGVycyxmdW5jdGlvbihELEMpe2guc2V0UmVxdWVzdEhlYWRlcihDLEQpfSk7aC51cGxvYWQub25wcm9ncmVzcz1mdW5jdGlvbihDKXtxLmxvYWRlZD1zK0MubG9hZGVkLXc7dC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIscSl9O2gub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dmFyIEM7aWYoaC5yZWFkeVN0YXRlPT00JiZ0LnN0YXRlIT09Yy5TVE9QUEVEKXtpZihoLnN0YXR1cz09MjAwKXtDPXtjaHVuazp2LGNodW5rczp1LHJlc3BvbnNlOmgucmVzcG9uc2VUZXh0LHN0YXR1czpoLnN0YXR1c307dC50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIixxLEMpO2lmKEMuY2FuY2VsbGVkKXtxLnN0YXR1cz1jLkZBSUxFRDtyZXR1cm59cys9QjtpZigrK3Y+PXUpe3Euc3RhdHVzPWMuRE9ORTt0LnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIscSx7cmVzcG9uc2U6aC5yZXNwb25zZVRleHQsc3RhdHVzOmguc3RhdHVzfSl9ZWxzZXtvKCl9fWVsc2V7dC50cmlnZ2VyKCJFcnJvciIse2NvZGU6Yy5IVFRQX0VSUk9SLG1lc3NhZ2U6Yy50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTpxLGNodW5rOnYsY2h1bmtzOnUsc3RhdHVzOmguc3RhdHVzfSl9fX07aWYodjx1KXt6KGZbcS5pZF0uc2xpY2UodipyLEIpKX19bygpfSk7ay5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbihuLG8pe2c9b30pO2suYmluZCgiRGVzdHJveSIsZnVuY3Rpb24obil7dmFyIG8scCxxPXticm93c2VCdXR0b246bi5zZXR0aW5ncy5icm93c2VfYnV0dG9uLGRyb3BFbG06bi5zZXR0aW5ncy5kcm9wX2VsZW1lbnR9O2ZvcihvIGluIHEpe3A9Yi5nZXRFbGVtZW50QnlJZChxW29dKTtpZihwKXtjLnJlbW92ZUFsbEV2ZW50cyhwLG4uaWQpfX19KTttKHtzdWNjZXNzOnRydWV9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.html4.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGQsYSxiLGMpe2Z1bmN0aW9uIGUoZil7cmV0dXJuIGEuZ2V0RWxlbWVudEJ5SWQoZil9Yi5ydW50aW1lcy5IdG1sND1iLmFkZFJ1bnRpbWUoImh0bWw0Iix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57bXVsdGlwYXJ0OnRydWUsdHJpZ2dlckRpYWxvZzooYi51YS5nZWNrbyYmZC5Gb3JtRGF0YXx8Yi51YS53ZWJraXQpfX0saW5pdDpmdW5jdGlvbihmLGcpe2YuYmluZCgiSW5pdCIsZnVuY3Rpb24ocCl7dmFyIGo9YS5ib2R5LG4saD0iamF2YXNjcmlwdCIsayx4LHEsej1bXSxyPS9NU0lFLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHQ9W10sbT1wLnNldHRpbmdzLmZpbHRlcnMsbyxsLHMsdztub190eXBlX3Jlc3RyaWN0aW9uOmZvcihvPTA7bzxtLmxlbmd0aDtvKyspe2w9bVtvXS5leHRlbnNpb25zLnNwbGl0KC8sLyk7Zm9yKHc9MDt3PGwubGVuZ3RoO3crKyl7aWYobFt3XT09PSIqIil7dD1bXTticmVhayBub190eXBlX3Jlc3RyaWN0aW9ufXM9Yi5taW1lVHlwZXNbbFt3XV07aWYocyYmYi5pbkFycmF5KHMsdCk9PT0tMSl7dC5wdXNoKHMpfX19dD10LmpvaW4oIiwiKTtmdW5jdGlvbiB2KCl7dmFyIEIseSxpLEE7cT1iLmd1aWQoKTt6LnB1c2gocSk7Qj1hLmNyZWF0ZUVsZW1lbnQoImZvcm0iKTtCLnNldEF0dHJpYnV0ZSgiaWQiLCJmb3JtXyIrcSk7Qi5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsInBvc3QiKTtCLnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsIm11bHRpcGFydC9mb3JtLWRhdGEiKTtCLnNldEF0dHJpYnV0ZSgiZW5jb2RpbmciLCJtdWx0aXBhcnQvZm9ybS1kYXRhIik7Qi5zZXRBdHRyaWJ1dGUoInRhcmdldCIscC5pZCsiX2lmcmFtZSIpO0Iuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjt5PWEuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt5LnNldEF0dHJpYnV0ZSgiaWQiLCJpbnB1dF8iK3EpO3kuc2V0QXR0cmlidXRlKCJ0eXBlIiwiZmlsZSIpO3kuc2V0QXR0cmlidXRlKCJhY2NlcHQiLHQpO3kuc2V0QXR0cmlidXRlKCJzaXplIiwxKTtBPWUocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZihwLmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cmJkEpe2IuYWRkRXZlbnQoZShwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pLCJjbGljayIsZnVuY3Rpb24oQyl7aWYoIXkuZGlzYWJsZWQpe3kuY2xpY2soKX1DLnByZXZlbnREZWZhdWx0KCl9LHAuaWQpfWIuZXh0ZW5kKHkuc3R5bGUse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG9wYWNpdHk6MCxmb250U2l6ZToiOTlweCJ9KTtiLmV4dGVuZChCLnN0eWxlLHtvdmVyZmxvdzoiaGlkZGVuIn0pO2k9cC5zZXR0aW5ncy5zaGltX2JnY29sb3I7aWYoaSl7Qi5zdHlsZS5iYWNrZ3JvdW5kPWl9aWYocil7Yi5leHRlbmQoeS5zdHlsZSx7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTApIn0pfWIuYWRkRXZlbnQoeSwiY2hhbmdlIixmdW5jdGlvbihGKXt2YXIgRD1GLnRhcmdldCxDLEU9W10sRztpZihELnZhbHVlKXtlKCJmb3JtXyIrcSkuc3R5bGUudG9wPS0xMDQ4NTc1KyJweCI7Qz1ELnZhbHVlLnJlcGxhY2UoL1xcL2csIi8iKTtDPUMuc3Vic3RyaW5nKEMubGVuZ3RoLEMubGFzdEluZGV4T2YoIi8iKSsxKTtFLnB1c2gobmV3IGIuRmlsZShxLEMpKTtpZighcC5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtiLnJlbW92ZUFsbEV2ZW50cyhCLHAuaWQpfWVsc2V7Yi5yZW1vdmVFdmVudChBLCJjbGljayIscC5pZCl9Yi5yZW1vdmVFdmVudCh5LCJjaGFuZ2UiLHAuaWQpO3YoKTtpZihFLmxlbmd0aCl7Zi50cmlnZ2VyKCJGaWxlc0FkZGVkIixFKX19fSxwLmlkKTtCLmFwcGVuZENoaWxkKHkpO2ouYXBwZW5kQ2hpbGQoQik7cC5yZWZyZXNoKCl9ZnVuY3Rpb24gdSgpe3ZhciBpPWEuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5pbm5lckhUTUw9JzxpZnJhbWUgaWQ9IicrcC5pZCsnX2lmcmFtZSIgbmFtZT0iJytwLmlkKydfaWZyYW1lIiBzcmM9IicraCsnOiZxdW90OyZxdW90OyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+JztuPWkuZmlyc3RDaGlsZDtqLmFwcGVuZENoaWxkKG4pO2IuYWRkRXZlbnQobiwibG9hZCIsZnVuY3Rpb24oQyl7dmFyIEQ9Qy50YXJnZXQsQix5O2lmKCFrKXtyZXR1cm59dHJ5e0I9RC5jb250ZW50V2luZG93LmRvY3VtZW50fHxELmNvbnRlbnREb2N1bWVudHx8ZC5mcmFtZXNbRC5pZF0uZG9jdW1lbnR9Y2F0Y2goQSl7cC50cmlnZ2VyKCJFcnJvciIse2NvZGU6Yi5TRUNVUklUWV9FUlJPUixtZXNzYWdlOmIudHJhbnNsYXRlKCJTZWN1cml0eSBlcnJvci4iKSxmaWxlOmt9KTtyZXR1cm59eT1CLmJvZHkuaW5uZXJIVE1MO2lmKHkpe2suc3RhdHVzPWIuRE9ORTtrLmxvYWRlZD0xMDI1O2sucGVyY2VudD0xMDA7cC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsayk7cC50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLGsse3Jlc3BvbnNlOnl9KX19LHAuaWQpfWlmKHAuc2V0dGluZ3MuY29udGFpbmVyKXtqPWUocC5zZXR0aW5ncy5jb250YWluZXIpO2lmKGIuZ2V0U3R5bGUoaiwicG9zaXRpb24iKT09PSJzdGF0aWMiKXtqLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSJ9fXAuYmluZCgiVXBsb2FkRmlsZSIsZnVuY3Rpb24oaSxBKXt2YXIgQix5O2lmKEEuc3RhdHVzPT1iLkRPTkV8fEEuc3RhdHVzPT1iLkZBSUxFRHx8aS5zdGF0ZT09Yi5TVE9QUEVEKXtyZXR1cm59Qj1lKCJmb3JtXyIrQS5pZCk7eT1lKCJpbnB1dF8iK0EuaWQpO3kuc2V0QXR0cmlidXRlKCJuYW1lIixpLnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKTtCLnNldEF0dHJpYnV0ZSgiYWN0aW9uIixpLnNldHRpbmdzLnVybCk7Yi5lYWNoKGIuZXh0ZW5kKHtuYW1lOkEudGFyZ2V0X25hbWV8fEEubmFtZX0saS5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihFLEMpe3ZhciBEPWEuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtiLmV4dGVuZChELHt0eXBlOiJoaWRkZW4iLG5hbWU6Qyx2YWx1ZTpFfSk7Qi5pbnNlcnRCZWZvcmUoRCxCLmZpcnN0Q2hpbGQpfSk7az1BO2UoImZvcm1fIitxKS5zdHlsZS50b3A9LTEwNDg1NzUrInB4IjtCLnN1Ym1pdCgpO0IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChCKX0pO3AuYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihpKXtpLnJlZnJlc2goKX0pO3AuYmluZCgiU3RhdGVDaGFuZ2VkIixmdW5jdGlvbihpKXtpZihpLnN0YXRlPT1iLlNUQVJURUQpe3UoKX1pZihpLnN0YXRlPT1iLlNUT1BQRUQpe2Quc2V0VGltZW91dChmdW5jdGlvbigpe2IucmVtb3ZlRXZlbnQobiwibG9hZCIsaS5pZCk7aWYobi5wYXJlbnROb2RlKXtuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9fSwwKX19KTtwLmJpbmQoIlJlZnJlc2giLGZ1bmN0aW9uKHkpe3ZhciBGLEEsQixDLGksRyxILEUsRDtGPWUoeS5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZihGKXtpPWIuZ2V0UG9zKEYsZSh5LnNldHRpbmdzLmNvbnRhaW5lcikpO0c9Yi5nZXRTaXplKEYpO0g9ZSgiZm9ybV8iK3EpO0U9ZSgiaW5wdXRfIitxKTtiLmV4dGVuZChILnN0eWxlLHt0b3A6aS55KyJweCIsbGVmdDppLngrInB4Iix3aWR0aDpHLncrInB4IixoZWlnaHQ6Ry5oKyJweCJ9KTtpZih5LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2lmKGIuZ2V0U3R5bGUoRiwicG9zaXRpb24iKT09PSJzdGF0aWMiKXtiLmV4dGVuZChGLnN0eWxlLHtwb3NpdGlvbjoicmVsYXRpdmUifSl9RD1wYXJzZUludChGLnN0eWxlLnpJbmRleCwxMCk7aWYoaXNOYU4oRCkpe0Q9MH1iLmV4dGVuZChGLnN0eWxlLHt6SW5kZXg6RH0pO2IuZXh0ZW5kKEguc3R5bGUse3pJbmRleDpELTF9KX1CPXkuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcjtDPXkuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmU7QT15LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2c/RjpIO2lmKEIpe2IuYWRkRXZlbnQoQSwibW91c2VvdmVyIixmdW5jdGlvbigpe2IuYWRkQ2xhc3MoRixCKX0seS5pZCk7Yi5hZGRFdmVudChBLCJtb3VzZW91dCIsZnVuY3Rpb24oKXtiLnJlbW92ZUNsYXNzKEYsQil9LHkuaWQpfWlmKEMpe2IuYWRkRXZlbnQoQSwibW91c2Vkb3duIixmdW5jdGlvbigpe2IuYWRkQ2xhc3MoRixDKX0seS5pZCk7Yi5hZGRFdmVudChhLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7Yi5yZW1vdmVDbGFzcyhGLEMpfSx5LmlkKX19fSk7Zi5iaW5kKCJGaWxlc1JlbW92ZWQiLGZ1bmN0aW9uKHksQil7dmFyIEEsQztmb3IoQT0wO0E8Qi5sZW5ndGg7QSsrKXtDPWUoImZvcm1fIitCW0FdLmlkKTtpZihDKXtDLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoQyl9fX0pO2YuYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24oaSxBKXt2YXIgeT1hLmdldEVsZW1lbnRCeUlkKCJpbnB1dF8iK3EpO2lmKHkpe3kuZGlzYWJsZWQ9QX19KTtmLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKGkpe3ZhciB5LEEsQixDPXtpbnB1dENvbnRhaW5lcjoiZm9ybV8iK3EsaW5wdXRGaWxlOiJpbnB1dF8iK3EsYnJvd3NlQnV0dG9uOmkuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbn07Zm9yKHkgaW4gQyl7QT1lKENbeV0pO2lmKEEpe2IucmVtb3ZlQWxsRXZlbnRzKEEsaS5pZCl9fWIucmVtb3ZlQWxsRXZlbnRzKGEuYm9keSxpLmlkKTtiLmVhY2goeixmdW5jdGlvbihFLEQpe0I9ZSgiZm9ybV8iK0UpO2lmKEIpe2oucmVtb3ZlQ2hpbGQoQil9fSl9KTt2KCl9KTtnKHtzdWNjZXNzOnRydWV9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.html5.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGgsayxqLGUpe3ZhciBjPXt9LGc7ZnVuY3Rpb24gbShvLHApe3ZhciBuO2lmKCJGaWxlUmVhZGVyIiBpbiBoKXtuPW5ldyBGaWxlUmVhZGVyKCk7bi5yZWFkQXNEYXRhVVJMKG8pO24ub25sb2FkPWZ1bmN0aW9uKCl7cChuLnJlc3VsdCl9fWVsc2V7cmV0dXJuIHAoby5nZXRBc0RhdGFVUkwoKSl9fWZ1bmN0aW9uIGwobyxwKXt2YXIgbjtpZigiRmlsZVJlYWRlciIgaW4gaCl7bj1uZXcgRmlsZVJlYWRlcigpO24ucmVhZEFzQmluYXJ5U3RyaW5nKG8pO24ub25sb2FkPWZ1bmN0aW9uKCl7cChuLnJlc3VsdCl9fWVsc2V7cmV0dXJuIHAoby5nZXRBc0JpbmFyeSgpKX19ZnVuY3Rpb24gZChyLHAsbix2KXt2YXIgcSxvLHUscyx0PXRoaXM7bShjW3IuaWRdLGZ1bmN0aW9uKHcpe3E9ay5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtxLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2suYm9keS5hcHBlbmRDaGlsZChxKTtvPXEuZ2V0Q29udGV4dCgiMmQiKTt1PW5ldyBJbWFnZSgpO3Uub25lcnJvcj11Lm9uYWJvcnQ9ZnVuY3Rpb24oKXt2KHtzdWNjZXNzOmZhbHNlfSl9O3Uub25sb2FkPWZ1bmN0aW9uKCl7dmFyIEIseCx6LHksQTtpZighcC53aWR0aCl7cC53aWR0aD11LndpZHRofWlmKCFwLmhlaWdodCl7cC5oZWlnaHQ9dS5oZWlnaHR9cz1NYXRoLm1pbihwLndpZHRoL3Uud2lkdGgscC5oZWlnaHQvdS5oZWlnaHQpO2lmKHM8MXx8KHM9PT0xJiZuPT09ImltYWdlL2pwZWciKSl7Qj1NYXRoLnJvdW5kKHUud2lkdGgqcyk7eD1NYXRoLnJvdW5kKHUuaGVpZ2h0KnMpO3Eud2lkdGg9QjtxLmhlaWdodD14O28uZHJhd0ltYWdlKHUsMCwwLEIseCk7aWYobj09PSJpbWFnZS9qcGVnIil7eT1uZXcgZihhdG9iKHcuc3Vic3RyaW5nKHcuaW5kZXhPZigiYmFzZTY0LCIpKzcpKSk7aWYoeS5oZWFkZXJzJiZ5LmhlYWRlcnMubGVuZ3RoKXtBPW5ldyBhKCk7aWYoQS5pbml0KHkuZ2V0KCJleGlmIilbMF0pKXtBLnNldEV4aWYoIlBpeGVsWERpbWVuc2lvbiIsQik7QS5zZXRFeGlmKCJQaXhlbFlEaW1lbnNpb24iLHgpO3kuc2V0KCJleGlmIixBLmdldEJpbmFyeSgpKTtpZih0Lmhhc0V2ZW50TGlzdGVuZXIoIkV4aWZEYXRhIikpe3QudHJpZ2dlcigiRXhpZkRhdGEiLHIsQS5FWElGKCkpfWlmKHQuaGFzRXZlbnRMaXN0ZW5lcigiR3BzRGF0YSIpKXt0LnRyaWdnZXIoIkdwc0RhdGEiLHIsQS5HUFMoKSl9fX1pZihwLnF1YWxpdHkpe3RyeXt3PXEudG9EYXRhVVJMKG4scC5xdWFsaXR5LzEwMCl9Y2F0Y2goQyl7dz1xLnRvRGF0YVVSTChuKX19fWVsc2V7dz1xLnRvRGF0YVVSTChuKX13PXcuc3Vic3RyaW5nKHcuaW5kZXhPZigiYmFzZTY0LCIpKzcpO3c9YXRvYih3KTtpZih5JiZ5LmhlYWRlcnMmJnkuaGVhZGVycy5sZW5ndGgpe3c9eS5yZXN0b3JlKHcpO3kucHVyZ2UoKX1xLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocSk7dih7c3VjY2Vzczp0cnVlLGRhdGE6d30pfWVsc2V7dih7c3VjY2VzczpmYWxzZX0pfX07dS5zcmM9d30pfWoucnVudGltZXMuSHRtbDU9ai5hZGRSdW50aW1lKCJodG1sNSIse2dldEZlYXR1cmVzOmZ1bmN0aW9uKCl7dmFyIHMsbyxyLHEscCxuO289cj1wPW49ZmFsc2U7aWYoaC5YTUxIdHRwUmVxdWVzdCl7cz1uZXcgWE1MSHR0cFJlcXVlc3QoKTtyPSEhcy51cGxvYWQ7bz0hIShzLnNlbmRBc0JpbmFyeXx8cy51cGxvYWQpfWlmKG8pe3E9ISEocy5zZW5kQXNCaW5hcnl8fChoLlVpbnQ4QXJyYXkmJmguQXJyYXlCdWZmZXIpKTtwPSEhKEZpbGUmJihGaWxlLnByb3RvdHlwZS5nZXRBc0RhdGFVUkx8fGguRmlsZVJlYWRlcikmJnEpO249ISEoRmlsZSYmKEZpbGUucHJvdG90eXBlLm1velNsaWNlfHxGaWxlLnByb3RvdHlwZS53ZWJraXRTbGljZXx8RmlsZS5wcm90b3R5cGUuc2xpY2UpKX1nPWoudWEuc2FmYXJpJiZqLnVhLndpbmRvd3M7cmV0dXJue2h0bWw1Om8sZHJhZ2Ryb3A6KGZ1bmN0aW9uKCl7dmFyIHQ9ay5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4oImRyYWdnYWJsZSIgaW4gdCl8fCgib25kcmFnc3RhcnQiIGluIHQmJiJvbmRyb3AiIGluIHQpfSgpKSxqcGdyZXNpemU6cCxwbmdyZXNpemU6cCxtdWx0aXBhcnQ6cHx8ISFoLkZpbGVSZWFkZXJ8fCEhaC5Gb3JtRGF0YSxjYW5TZW5kQmluYXJ5OnEsY2FudFNlbmRCbG9iSW5Gb3JtRGF0YTohIShqLnVhLmdlY2tvJiZoLkZvcm1EYXRhJiZoLkZpbGVSZWFkZXImJiFGaWxlUmVhZGVyLnByb3RvdHlwZS5yZWFkQXNBcnJheUJ1ZmZlcikscHJvZ3Jlc3M6cixjaHVua3M6bixtdWx0aV9zZWxlY3Rpb246IShqLnVhLnNhZmFyaSYmai51YS53aW5kb3dzKSx0cmlnZ2VyRGlhbG9nOihqLnVhLmdlY2tvJiZoLkZvcm1EYXRhfHxqLnVhLndlYmtpdCl9fSxpbml0OmZ1bmN0aW9uKHAscil7dmFyIG4scTtmdW5jdGlvbiBvKHcpe3ZhciB1LHQsdj1bXSx4LHM9e307Zm9yKHQ9MDt0PHcubGVuZ3RoO3QrKyl7dT13W3RdO2lmKHNbdS5uYW1lXSl7Y29udGludWV9c1t1Lm5hbWVdPXRydWU7eD1qLmd1aWQoKTtjW3hdPXU7di5wdXNoKG5ldyBqLkZpbGUoeCx1LmZpbGVOYW1lfHx1Lm5hbWUsdS5maWxlU2l6ZXx8dS5zaXplKSl9aWYodi5sZW5ndGgpe3AudHJpZ2dlcigiRmlsZXNBZGRlZCIsdil9fW49dGhpcy5nZXRGZWF0dXJlcygpO2lmKCFuLmh0bWw1KXtyKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufXAuYmluZCgiSW5pdCIsZnVuY3Rpb24odyl7dmFyIEcsRixDPVtdLHYsRCx0PXcuc2V0dGluZ3MuZmlsdGVycyx1LEIscz1rLmJvZHksRTtHPWsuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ry5pZD13LmlkKyJfaHRtbDVfY29udGFpbmVyIjtqLmV4dGVuZChHLnN0eWxlLHtwb3NpdGlvbjoiYWJzb2x1dGUiLGJhY2tncm91bmQ6cC5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsd2lkdGg6IjEwMHB4IixoZWlnaHQ6IjEwMHB4IixvdmVyZmxvdzoiaGlkZGVuIix6SW5kZXg6OTk5OTksb3BhY2l0eTpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcj8iIjowfSk7Ry5jbGFzc05hbWU9InBsdXBsb2FkIGh0bWw1IjtpZihwLnNldHRpbmdzLmNvbnRhaW5lcil7cz1rLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuY29udGFpbmVyKTtpZihqLmdldFN0eWxlKHMsInBvc2l0aW9uIik9PT0ic3RhdGljIil7cy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1zLmFwcGVuZENoaWxkKEcpO25vX3R5cGVfcmVzdHJpY3Rpb246Zm9yKHY9MDt2PHQubGVuZ3RoO3YrKyl7dT10W3ZdLmV4dGVuc2lvbnMuc3BsaXQoLywvKTtmb3IoRD0wO0Q8dS5sZW5ndGg7RCsrKXtpZih1W0RdPT09IioiKXtDPVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259Qj1qLm1pbWVUeXBlc1t1W0RdXTtpZihCJiZqLmluQXJyYXkoQixDKT09PS0xKXtDLnB1c2goQil9fX1HLmlubmVySFRNTD0nPGlucHV0IGlkPSInK3AuaWQrJ19odG1sNSIgIHN0eWxlPSJmb250LXNpemU6OTk5cHgiIHR5cGU9ImZpbGUiIGFjY2VwdD0iJytDLmpvaW4oIiwiKSsnIiAnKyhwLnNldHRpbmdzLm11bHRpX3NlbGVjdGlvbiYmcC5mZWF0dXJlcy5tdWx0aV9zZWxlY3Rpb24/J211bHRpcGxlPSJtdWx0aXBsZSInOiIiKSsiIC8+IjtHLnNjcm9sbFRvcD0xMDA7RT1rLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9odG1sNSIpO2lmKHcuZmVhdHVyZXMudHJpZ2dlckRpYWxvZyl7ai5leHRlbmQoRS5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn0pfWVsc2V7ai5leHRlbmQoRS5zdHlsZSx7Y3NzRmxvYXQ6InJpZ2h0IixzdHlsZUZsb2F0OiJyaWdodCJ9KX1FLm9uY2hhbmdlPWZ1bmN0aW9uKCl7byh0aGlzLmZpbGVzKTt0aGlzLnZhbHVlPSIifTtGPWsuZ2V0RWxlbWVudEJ5SWQody5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZihGKXt2YXIgej13LnNldHRpbmdzLmJyb3dzZV9idXR0b25faG92ZXIsQT13LnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlLHg9dy5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nP0Y6RztpZih6KXtqLmFkZEV2ZW50KHgsIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXtqLmFkZENsYXNzKEYseil9LHcuaWQpO2ouYWRkRXZlbnQoeCwibW91c2VvdXQiLGZ1bmN0aW9uKCl7ai5yZW1vdmVDbGFzcyhGLHopfSx3LmlkKX1pZihBKXtqLmFkZEV2ZW50KHgsIm1vdXNlZG93biIsZnVuY3Rpb24oKXtqLmFkZENsYXNzKEYsQSl9LHcuaWQpO2ouYWRkRXZlbnQoay5ib2R5LCJtb3VzZXVwIixmdW5jdGlvbigpe2oucmVtb3ZlQ2xhc3MoRixBKX0sdy5pZCl9aWYody5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtqLmFkZEV2ZW50KEYsImNsaWNrIixmdW5jdGlvbihIKXt2YXIgeT1rLmdldEVsZW1lbnRCeUlkKHcuaWQrIl9odG1sNSIpO2lmKHkmJiF5LmRpc2FibGVkKXt5LmNsaWNrKCl9SC5wcmV2ZW50RGVmYXVsdCgpfSx3LmlkKX19fSk7cC5iaW5kKCJQb3N0SW5pdCIsZnVuY3Rpb24oKXt2YXIgcz1rLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuZHJvcF9lbGVtZW50KTtpZihzKXtpZihnKXtqLmFkZEV2ZW50KHMsImRyYWdlbnRlciIsZnVuY3Rpb24odyl7dmFyIHYsdCx1O3Y9ay5nZXRFbGVtZW50QnlJZChwLmlkKyJfZHJvcCIpO2lmKCF2KXt2PWsuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt2LnNldEF0dHJpYnV0ZSgidHlwZSIsImZpbGUiKTt2LnNldEF0dHJpYnV0ZSgiaWQiLHAuaWQrIl9kcm9wIik7di5zZXRBdHRyaWJ1dGUoIm11bHRpcGxlIiwibXVsdGlwbGUiKTtqLmFkZEV2ZW50KHYsImNoYW5nZSIsZnVuY3Rpb24oKXtvKHRoaXMuZmlsZXMpO2oucmVtb3ZlRXZlbnQodiwiY2hhbmdlIixwLmlkKTt2LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodil9LHAuaWQpO3MuYXBwZW5kQ2hpbGQodil9dD1qLmdldFBvcyhzLGsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5jb250YWluZXIpKTt1PWouZ2V0U2l6ZShzKTtpZihqLmdldFN0eWxlKHMsInBvc2l0aW9uIik9PT0ic3RhdGljIil7ai5leHRlbmQocy5zdHlsZSx7cG9zaXRpb246InJlbGF0aXZlIn0pfWouZXh0ZW5kKHYuc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDowLGxlZnQ6MCx3aWR0aDp1LncrInB4IixoZWlnaHQ6dS5oKyJweCIsb3BhY2l0eTowfSl9LHAuaWQpO3JldHVybn1qLmFkZEV2ZW50KHMsImRyYWdvdmVyIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9LHAuaWQpO2ouYWRkRXZlbnQocywiZHJvcCIsZnVuY3Rpb24odSl7dmFyIHQ9dS5kYXRhVHJhbnNmZXI7aWYodCYmdC5maWxlcyl7byh0LmZpbGVzKX11LnByZXZlbnREZWZhdWx0KCl9LHAuaWQpfX0pO3AuYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24ocyl7dmFyIHQsdSx2LHgsdzt0PWsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZih0KXt1PWouZ2V0UG9zKHQsay5nZXRFbGVtZW50QnlJZChzLnNldHRpbmdzLmNvbnRhaW5lcikpO3Y9ai5nZXRTaXplKHQpO3g9ay5nZXRFbGVtZW50QnlJZChwLmlkKyJfaHRtbDVfY29udGFpbmVyIik7ai5leHRlbmQoeC5zdHlsZSx7dG9wOnUueSsicHgiLGxlZnQ6dS54KyJweCIsd2lkdGg6di53KyJweCIsaGVpZ2h0OnYuaCsicHgifSk7aWYocC5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtpZihqLmdldFN0eWxlKHQsInBvc2l0aW9uIik9PT0ic3RhdGljIil7ai5leHRlbmQodC5zdHlsZSx7cG9zaXRpb246InJlbGF0aXZlIn0pfXc9cGFyc2VJbnQoai5nZXRTdHlsZSh0LCJ6LWluZGV4IiksMTApO2lmKGlzTmFOKHcpKXt3PTB9ai5leHRlbmQodC5zdHlsZSx7ekluZGV4Ond9KTtqLmV4dGVuZCh4LnN0eWxlLHt6SW5kZXg6dy0xfSl9fX0pO3AuYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24ocyx1KXt2YXIgdD1rLmdldEVsZW1lbnRCeUlkKHMuaWQrIl9odG1sNSIpO2lmKHQpe3QuZGlzYWJsZWQ9dX19KTtwLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtpZihxLmFib3J0KXtxLmFib3J0KCl9fSk7cC5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihzLHUpe3ZhciB2PXMuc2V0dGluZ3MseSx0O2Z1bmN0aW9uIHgoQSxELHope3ZhciBCO2lmKEZpbGUucHJvdG90eXBlLnNsaWNlKXt0cnl7QS5zbGljZSgpO3JldHVybiBBLnNsaWNlKEQseil9Y2F0Y2goQyl7cmV0dXJuIEEuc2xpY2UoRCx6LUQpfX1lbHNle2lmKEI9RmlsZS5wcm90b3R5cGUud2Via2l0U2xpY2V8fEZpbGUucHJvdG90eXBlLm1velNsaWNlKXtyZXR1cm4gQi5jYWxsKEEsRCx6KX1lbHNle3JldHVybiBudWxsfX19ZnVuY3Rpb24gdyhBKXt2YXIgRD0wLEM9MCx6PSgiRmlsZVJlYWRlciIgaW4gaCk/bmV3IEZpbGVSZWFkZXI6bnVsbDtmdW5jdGlvbiBCKCl7dmFyIEksTSxLLEwsSCxKLEYsRT1zLnNldHRpbmdzLnVybDtmdW5jdGlvbiBHKFYpe3ZhciBUPTAsTj0iLS0tLXBsdXBsb2FkYm91bmRhcnkiK2ouZ3VpZCgpLE8sUD0iLS0iLFU9IlxyXG4iLFI9IiI7cT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYocS51cGxvYWQpe3EudXBsb2FkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oVyl7dS5sb2FkZWQ9TWF0aC5taW4odS5zaXplLEMrVy5sb2FkZWQtVCk7cy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdSl9fXEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dmFyIFcsWTtpZihxLnJlYWR5U3RhdGU9PTQmJnMuc3RhdGUhPT1qLlNUT1BQRUQpe3RyeXtXPXEuc3RhdHVzfWNhdGNoKFgpe1c9MH1pZihXPj00MDApe3MudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmouSFRUUF9FUlJPUixtZXNzYWdlOmoudHJhbnNsYXRlKCJIVFRQIEVycm9yLiIpLGZpbGU6dSxzdGF0dXM6V30pfWVsc2V7aWYoSyl7WT17Y2h1bms6RCxjaHVua3M6SyxyZXNwb25zZTpxLnJlc3BvbnNlVGV4dCxzdGF0dXM6V307cy50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIix1LFkpO0MrPUo7aWYoWS5jYW5jZWxsZWQpe3Uuc3RhdHVzPWouRkFJTEVEO3JldHVybn11LmxvYWRlZD1NYXRoLm1pbih1LnNpemUsKEQrMSkqSCl9ZWxzZXt1LmxvYWRlZD11LnNpemV9cy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdSk7Vj1JPU89Uj1udWxsO2lmKCFLfHwrK0Q+PUspe3Uuc3RhdHVzPWouRE9ORTtzLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIsdSx7cmVzcG9uc2U6cS5yZXNwb25zZVRleHQsc3RhdHVzOld9KX1lbHNle0IoKX19fX07aWYocy5zZXR0aW5ncy5tdWx0aXBhcnQmJm4ubXVsdGlwYXJ0KXtMLm5hbWU9dS50YXJnZXRfbmFtZXx8dS5uYW1lO3Eub3BlbigicG9zdCIsRSx0cnVlKTtqLmVhY2gocy5zZXR0aW5ncy5oZWFkZXJzLGZ1bmN0aW9uKFgsVyl7cS5zZXRSZXF1ZXN0SGVhZGVyKFcsWCl9KTtpZih0eXBlb2YoVikhPT0ic3RyaW5nIiYmISFoLkZvcm1EYXRhKXtPPW5ldyBGb3JtRGF0YSgpO2ouZWFjaChqLmV4dGVuZChMLHMuc2V0dGluZ3MubXVsdGlwYXJ0X3BhcmFtcyksZnVuY3Rpb24oWCxXKXtPLmFwcGVuZChXLFgpfSk7Ty5hcHBlbmQocy5zZXR0aW5ncy5maWxlX2RhdGFfbmFtZSxWKTtxLnNlbmQoTyk7cmV0dXJufWlmKHR5cGVvZihWKT09PSJzdHJpbmciKXtxLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsIm11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSIrTik7ai5lYWNoKGouZXh0ZW5kKEwscy5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihYLFcpe1IrPVArTitVKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IicrVysnIicrVStVO1IrPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChYKSkrVX0pO0Y9ai5taW1lVHlwZXNbdS5uYW1lLnJlcGxhY2UoL14uK1wuKFteLl0rKS8sIiQxIikudG9Mb3dlckNhc2UoKV18fCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iO1IrPVArTitVKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9Iicrcy5zZXR0aW5ncy5maWxlX2RhdGFfbmFtZSsnIjsgZmlsZW5hbWU9IicrdW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHUubmFtZSkpKyciJytVKyJDb250ZW50LVR5cGU6ICIrRitVK1UrVitVK1ArTitQK1U7VD1SLmxlbmd0aC1WLmxlbmd0aDtWPVI7aWYocS5zZW5kQXNCaW5hcnkpe3Euc2VuZEFzQmluYXJ5KFYpfWVsc2V7aWYobi5jYW5TZW5kQmluYXJ5KXt2YXIgUz1uZXcgVWludDhBcnJheShWLmxlbmd0aCk7Zm9yKHZhciBRPTA7UTxWLmxlbmd0aDtRKyspe1NbUV09KFYuY2hhckNvZGVBdChRKSYyNTUpfXEuc2VuZChTLmJ1ZmZlcil9fXJldHVybn19RT1qLmJ1aWxkVXJsKHMuc2V0dGluZ3MudXJsLGouZXh0ZW5kKEwscy5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSk7cS5vcGVuKCJwb3N0IixFLHRydWUpO3Euc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7ai5lYWNoKHMuc2V0dGluZ3MuaGVhZGVycyxmdW5jdGlvbihYLFcpe3Euc2V0UmVxdWVzdEhlYWRlcihXLFgpfSk7cS5zZW5kKFYpfWlmKHUuc3RhdHVzPT1qLkRPTkV8fHUuc3RhdHVzPT1qLkZBSUxFRHx8cy5zdGF0ZT09ai5TVE9QUEVEKXtyZXR1cm59TD17bmFtZTp1LnRhcmdldF9uYW1lfHx1Lm5hbWV9O2lmKHYuY2h1bmtfc2l6ZSYmdS5zaXplPnYuY2h1bmtfc2l6ZSYmKG4uY2h1bmtzfHx0eXBlb2YoQSk9PSJzdHJpbmciKSl7SD12LmNodW5rX3NpemU7Sz1NYXRoLmNlaWwodS5zaXplL0gpO0o9TWF0aC5taW4oSCx1LnNpemUtKEQqSCkpO2lmKHR5cGVvZihBKT09InN0cmluZyIpe0k9QS5zdWJzdHJpbmcoRCpILEQqSCtKKX1lbHNle0k9eChBLEQqSCxEKkgrSil9TC5jaHVuaz1EO0wuY2h1bmtzPUt9ZWxzZXtKPXUuc2l6ZTtJPUF9aWYocy5zZXR0aW5ncy5tdWx0aXBhcnQmJm4ubXVsdGlwYXJ0JiZ0eXBlb2YoSSkhPT0ic3RyaW5nIiYmeiYmbi5jYW50U2VuZEJsb2JJbkZvcm1EYXRhJiZuLmNodW5rcyYmcy5zZXR0aW5ncy5jaHVua19zaXplKXt6Lm9ubG9hZD1mdW5jdGlvbigpe0coei5yZXN1bHQpfTt6LnJlYWRBc0JpbmFyeVN0cmluZyhJKX1lbHNle0coSSl9fUIoKX15PWNbdS5pZF07aWYobi5qcGdyZXNpemUmJnMuc2V0dGluZ3MucmVzaXplJiYvXC4ocG5nfGpwZ3xqcGVnKSQvaS50ZXN0KHUubmFtZSkpe2QuY2FsbChzLHUscy5zZXR0aW5ncy5yZXNpemUsL1wucG5nJC9pLnRlc3QodS5uYW1lKT8iaW1hZ2UvcG5nIjoiaW1hZ2UvanBlZyIsZnVuY3Rpb24oeil7aWYoei5zdWNjZXNzKXt1LnNpemU9ei5kYXRhLmxlbmd0aDt3KHouZGF0YSl9ZWxzZXtpZihuLmNodW5rcyl7dyh5KX1lbHNle2woeSx3KX19fSl9ZWxzZXtpZighbi5jaHVua3MmJm4uanBncmVzaXplKXtsKHksdyl9ZWxzZXt3KHkpfX19KTtwLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKHMpe3ZhciB1LHYsdD1rLmJvZHksdz17aW5wdXRDb250YWluZXI6cy5pZCsiX2h0bWw1X2NvbnRhaW5lciIsaW5wdXRGaWxlOnMuaWQrIl9odG1sNSIsYnJvd3NlQnV0dG9uOnMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbixkcm9wRWxtOnMuc2V0dGluZ3MuZHJvcF9lbGVtZW50fTtmb3IodSBpbiB3KXt2PWsuZ2V0RWxlbWVudEJ5SWQod1t1XSk7aWYodil7ai5yZW1vdmVBbGxFdmVudHModixzLmlkKX19ai5yZW1vdmVBbGxFdmVudHMoay5ib2R5LHMuaWQpO2lmKHMuc2V0dGluZ3MuY29udGFpbmVyKXt0PWsuZ2V0RWxlbWVudEJ5SWQocy5zZXR0aW5ncy5jb250YWluZXIpfXQucmVtb3ZlQ2hpbGQoay5nZXRFbGVtZW50QnlJZCh3LmlucHV0Q29udGFpbmVyKSl9KTtyKHtzdWNjZXNzOnRydWV9KX19KTtmdW5jdGlvbiBiKCl7dmFyIHE9ZmFsc2UsbztmdW5jdGlvbiByKHQsdil7dmFyIHM9cT8wOi04Kih2LTEpLHc9MCx1O2Zvcih1PTA7dTx2O3UrKyl7d3w9KG8uY2hhckNvZGVBdCh0K3UpPDxNYXRoLmFicyhzK3UqOCkpfXJldHVybiB3fWZ1bmN0aW9uIG4odSxzLHQpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg9PT0zP3Q6by5sZW5ndGgtcy0xO289by5zdWJzdHIoMCxzKSt1K28uc3Vic3RyKHQrcyl9ZnVuY3Rpb24gcCh0LHUsdyl7dmFyIHg9IiIscz1xPzA6LTgqKHctMSksdjtmb3Iodj0wO3Y8dzt2Kyspe3grPVN0cmluZy5mcm9tQ2hhckNvZGUoKHU+Pk1hdGguYWJzKHMrdio4KSkmMjU1KX1uKHgsdCx3KX1yZXR1cm57SUk6ZnVuY3Rpb24ocyl7aWYocz09PWUpe3JldHVybiBxfWVsc2V7cT1zfX0saW5pdDpmdW5jdGlvbihzKXtxPWZhbHNlO289c30sU0VHTUVOVDpmdW5jdGlvbihzLHUsdCl7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTpyZXR1cm4gby5zdWJzdHIocyxvLmxlbmd0aC1zLTEpO2Nhc2UgMjpyZXR1cm4gby5zdWJzdHIocyx1KTtjYXNlIDM6bih0LHMsdSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gb319LEJZVEU6ZnVuY3Rpb24ocyl7cmV0dXJuIHIocywxKX0sU0hPUlQ6ZnVuY3Rpb24ocyl7cmV0dXJuIHIocywyKX0sTE9ORzpmdW5jdGlvbihzLHQpe2lmKHQ9PT1lKXtyZXR1cm4gcihzLDQpfWVsc2V7cChzLHQsNCl9fSxTTE9ORzpmdW5jdGlvbihzKXt2YXIgdD1yKHMsNCk7cmV0dXJuKHQ+MjE0NzQ4MzY0Nz90LTQyOTQ5NjcyOTY6dCl9LFNUUklORzpmdW5jdGlvbihzLHQpe3ZhciB1PSIiO2Zvcih0Kz1zO3M8dDtzKyspe3UrPVN0cmluZy5mcm9tQ2hhckNvZGUocihzLDEpKX1yZXR1cm4gdX19fWZ1bmN0aW9uIGYocyl7dmFyIHU9ezY1NTA1OnthcHA6IkVYSUYiLG5hbWU6IkFQUDEiLHNpZ25hdHVyZToiRXhpZlwwIn0sNjU1MDY6e2FwcDoiSUNDIixuYW1lOiJBUFAyIixzaWduYXR1cmU6IklDQ19QUk9GSUxFXDAifSw2NTUxNzp7YXBwOiJJUFRDIixuYW1lOiJBUFAxMyIsc2lnbmF0dXJlOiJQaG90b3Nob3AgMy4wXDAifX0sdD1bXSxyLG4scD1lLHE9MCxvO3I9bmV3IGIoKTtyLmluaXQocyk7aWYoci5TSE9SVCgwKSE9PTY1NDk2KXtyZXR1cm59bj0yO289TWF0aC5taW4oMTA0ODU3NixzLmxlbmd0aCk7d2hpbGUobjw9byl7cD1yLlNIT1JUKG4pO2lmKHA+PTY1NDg4JiZwPD02NTQ5NSl7bis9Mjtjb250aW51ZX1pZihwPT09NjU0OTh8fHA9PT02NTQ5Nyl7YnJlYWt9cT1yLlNIT1JUKG4rMikrMjtpZih1W3BdJiZyLlNUUklORyhuKzQsdVtwXS5zaWduYXR1cmUubGVuZ3RoKT09PXVbcF0uc2lnbmF0dXJlKXt0LnB1c2goe2hleDpwLGFwcDp1W3BdLmFwcC50b1VwcGVyQ2FzZSgpLG5hbWU6dVtwXS5uYW1lLnRvVXBwZXJDYXNlKCksc3RhcnQ6bixsZW5ndGg6cSxzZWdtZW50OnIuU0VHTUVOVChuLHEpfSl9bis9cX1yLmluaXQobnVsbCk7cmV0dXJue2hlYWRlcnM6dCxyZXN0b3JlOmZ1bmN0aW9uKHkpe3IuaW5pdCh5KTt2YXIgdz1uZXcgZih5KTtpZighdy5oZWFkZXJzKXtyZXR1cm4gZmFsc2V9Zm9yKHZhciB4PXcuaGVhZGVycy5sZW5ndGg7eD4wO3gtLSl7dmFyIHo9dy5oZWFkZXJzW3gtMV07ci5TRUdNRU5UKHouc3RhcnQsei5sZW5ndGgsIiIpfXcucHVyZ2UoKTtuPXIuU0hPUlQoMik9PTY1NTA0PzQrci5TSE9SVCg0KToyO2Zvcih2YXIgeD0wLHY9dC5sZW5ndGg7eDx2O3grKyl7ci5TRUdNRU5UKG4sMCx0W3hdLnNlZ21lbnQpO24rPXRbeF0ubGVuZ3RofXJldHVybiByLlNFR01FTlQoKX0sZ2V0OmZ1bmN0aW9uKHgpe3ZhciB5PVtdO2Zvcih2YXIgdz0wLHY9dC5sZW5ndGg7dzx2O3crKyl7aWYodFt3XS5hcHA9PT14LnRvVXBwZXJDYXNlKCkpe3kucHVzaCh0W3ddLnNlZ21lbnQpfX1yZXR1cm4geX0sc2V0OmZ1bmN0aW9uKHkseCl7dmFyIHo9W107aWYodHlwZW9mKHgpPT09InN0cmluZyIpe3oucHVzaCh4KX1lbHNle3o9eH1mb3IodmFyIHc9aWk9MCx2PXQubGVuZ3RoO3c8djt3Kyspe2lmKHRbd10uYXBwPT09eS50b1VwcGVyQ2FzZSgpKXt0W3ddLnNlZ21lbnQ9eltpaV07dFt3XS5sZW5ndGg9eltpaV0ubGVuZ3RoO2lpKyt9aWYoaWk+PXoubGVuZ3RoKXticmVha319fSxwdXJnZTpmdW5jdGlvbigpe3Q9W107ci5pbml0KG51bGwpfX19ZnVuY3Rpb24gYSgpe3ZhciBxLG4sbz17fSx0O3E9bmV3IGIoKTtuPXt0aWZmOnsyNzQ6Ik9yaWVudGF0aW9uIiwzNDY2NToiRXhpZklGRFBvaW50ZXIiLDM0ODUzOiJHUFNJbmZvSUZEUG9pbnRlciJ9LGV4aWY6ezM2ODY0OiJFeGlmVmVyc2lvbiIsNDA5NjE6IkNvbG9yU3BhY2UiLDQwOTYyOiJQaXhlbFhEaW1lbnNpb24iLDQwOTYzOiJQaXhlbFlEaW1lbnNpb24iLDM2ODY3OiJEYXRlVGltZU9yaWdpbmFsIiwzMzQzNDoiRXhwb3N1cmVUaW1lIiwzMzQzNzoiRk51bWJlciIsMzQ4NTU6IklTT1NwZWVkUmF0aW5ncyIsMzczNzc6IlNodXR0ZXJTcGVlZFZhbHVlIiwzNzM3ODoiQXBlcnR1cmVWYWx1ZSIsMzczODM6Ik1ldGVyaW5nTW9kZSIsMzczODQ6IkxpZ2h0U291cmNlIiwzNzM4NToiRmxhc2giLDQxOTg2OiJFeHBvc3VyZU1vZGUiLDQxOTg3OiJXaGl0ZUJhbGFuY2UiLDQxOTkwOiJTY2VuZUNhcHR1cmVUeXBlIiw0MTk4ODoiRGlnaXRhbFpvb21SYXRpbyIsNDE5OTI6IkNvbnRyYXN0Iiw0MTk5MzoiU2F0dXJhdGlvbiIsNDE5OTQ6IlNoYXJwbmVzcyJ9LGdwczp7MDoiR1BTVmVyc2lvbklEIiwxOiJHUFNMYXRpdHVkZVJlZiIsMjoiR1BTTGF0aXR1ZGUiLDM6IkdQU0xvbmdpdHVkZVJlZiIsNDoiR1BTTG9uZ2l0dWRlIn19O3Q9e0NvbG9yU3BhY2U6ezE6InNSR0IiLDA6IlVuY2FsaWJyYXRlZCJ9LE1ldGVyaW5nTW9kZTp7MDoiVW5rbm93biIsMToiQXZlcmFnZSIsMjoiQ2VudGVyV2VpZ2h0ZWRBdmVyYWdlIiwzOiJTcG90Iiw0OiJNdWx0aVNwb3QiLDU6IlBhdHRlcm4iLDY6IlBhcnRpYWwiLDI1NToiT3RoZXIifSxMaWdodFNvdXJjZTp7MToiRGF5bGlnaHQiLDI6IkZsaW9yZXNjZW50IiwzOiJUdW5nc3RlbiIsNDoiRmxhc2giLDk6IkZpbmUgd2VhdGhlciIsMTA6IkNsb3VkeSB3ZWF0aGVyIiwxMToiU2hhZGUiLDEyOiJEYXlsaWdodCBmbHVvcmVzY2VudCAoRCA1NzAwIC0gNzEwMEspIiwxMzoiRGF5IHdoaXRlIGZsdW9yZXNjZW50IChOIDQ2MDAgLTU0MDBLKSIsMTQ6IkNvb2wgd2hpdGUgZmx1b3Jlc2NlbnQgKFcgMzkwMCAtIDQ1MDBLKSIsMTU6IldoaXRlIGZsdW9yZXNjZW50IChXVyAzMjAwIC0gMzcwMEspIiwxNzoiU3RhbmRhcmQgbGlnaHQgQSIsMTg6IlN0YW5kYXJkIGxpZ2h0IEIiLDE5OiJTdGFuZGFyZCBsaWdodCBDIiwyMDoiRDU1IiwyMToiRDY1IiwyMjoiRDc1IiwyMzoiRDUwIiwyNDoiSVNPIHN0dWRpbyB0dW5nc3RlbiIsMjU1OiJPdGhlciJ9LEZsYXNoOnswOiJGbGFzaCBkaWQgbm90IGZpcmUuIiwxOiJGbGFzaCBmaXJlZC4iLDU6IlN0cm9iZSByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkLiIsNzoiU3Ryb2JlIHJldHVybiBsaWdodCBkZXRlY3RlZC4iLDk6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUiLDEzOiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiwxNToiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiwxNjoiRmxhc2ggZGlkIG5vdCBmaXJlLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUiLDI0OiJGbGFzaCBkaWQgbm90IGZpcmUsIGF1dG8gbW9kZSIsMjU6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUiLDI5OiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiwzMToiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiwzMjoiTm8gZmxhc2ggZnVuY3Rpb24iLDY1OiJGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsNjk6IkZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiw3MToiRmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCIsNzM6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUiLDc3OiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiw3OToiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiw4OToiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsOTM6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUiLDk1OiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUifSxFeHBvc3VyZU1vZGU6ezA6IkF1dG8gZXhwb3N1cmUiLDE6Ik1hbnVhbCBleHBvc3VyZSIsMjoiQXV0byBicmFja2V0In0sV2hpdGVCYWxhbmNlOnswOiJBdXRvIHdoaXRlIGJhbGFuY2UiLDE6Ik1hbnVhbCB3aGl0ZSBiYWxhbmNlIn0sU2NlbmVDYXB0dXJlVHlwZTp7MDoiU3RhbmRhcmQiLDE6IkxhbmRzY2FwZSIsMjoiUG9ydHJhaXQiLDM6Ik5pZ2h0IHNjZW5lIn0sQ29udHJhc3Q6ezA6Ik5vcm1hbCIsMToiU29mdCIsMjoiSGFyZCJ9LFNhdHVyYXRpb246ezA6Ik5vcm1hbCIsMToiTG93IHNhdHVyYXRpb24iLDI6IkhpZ2ggc2F0dXJhdGlvbiJ9LFNoYXJwbmVzczp7MDoiTm9ybWFsIiwxOiJTb2Z0IiwyOiJIYXJkIn0sR1BTTGF0aXR1ZGVSZWY6e046Ik5vcnRoIGxhdGl0dWRlIixTOiJTb3V0aCBsYXRpdHVkZSJ9LEdQU0xvbmdpdHVkZVJlZjp7RToiRWFzdCBsb25naXR1ZGUiLFc6Ildlc3QgbG9uZ2l0dWRlIn19O2Z1bmN0aW9uIHAodSxDKXt2YXIgdz1xLlNIT1JUKHUpLHosRixHLEIsQSx2LHgsRCxFPVtdLHk9e307Zm9yKHo9MDt6PHc7eisrKXt4PXY9dSsxMip6KzI7Rz1DW3EuU0hPUlQoeCldO2lmKEc9PT1lKXtjb250aW51ZX1CPXEuU0hPUlQoeCs9Mik7QT1xLkxPTkcoeCs9Mik7eCs9NDtFPVtdO3N3aXRjaChCKXtjYXNlIDE6Y2FzZSA3OmlmKEE+NCl7eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyfWZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLkJZVEUoeCtGKX1icmVhaztjYXNlIDI6aWYoQT40KXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9eVtHXT1xLlNUUklORyh4LEEtMSk7Y29udGludWU7Y2FzZSAzOmlmKEE+Mil7eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyfWZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLlNIT1JUKHgrRioyKX1icmVhaztjYXNlIDQ6aWYoQT4xKXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuTE9ORyh4K0YqNCl9YnJlYWs7Y2FzZSA1Ong9cS5MT05HKHgpK28udGlmZkhlYWRlcjtmb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5MT05HKHgrRio0KS9xLkxPTkcoeCtGKjQrNCl9YnJlYWs7Y2FzZSA5Ong9cS5MT05HKHgpK28udGlmZkhlYWRlcjtmb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5TTE9ORyh4K0YqNCl9YnJlYWs7Y2FzZSAxMDp4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXI7Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuU0xPTkcoeCtGKjQpL3EuU0xPTkcoeCtGKjQrNCl9YnJlYWs7ZGVmYXVsdDpjb250aW51ZX1EPShBPT0xP0VbMF06RSk7aWYodC5oYXNPd25Qcm9wZXJ0eShHKSYmdHlwZW9mIEQhPSJvYmplY3QiKXt5W0ddPXRbR11bRF19ZWxzZXt5W0ddPUR9fXJldHVybiB5fWZ1bmN0aW9uIHMoKXt2YXIgdj1lLHU9by50aWZmSGVhZGVyO3EuSUkocS5TSE9SVCh1KT09MTg3NjEpO2lmKHEuU0hPUlQodSs9MikhPT00Mil7cmV0dXJuIGZhbHNlfW8uSUZEMD1vLnRpZmZIZWFkZXIrcS5MT05HKHUrPTIpO3Y9cChvLklGRDAsbi50aWZmKTtvLmV4aWZJRkQ9KCJFeGlmSUZEUG9pbnRlciIgaW4gdj9vLnRpZmZIZWFkZXIrdi5FeGlmSUZEUG9pbnRlcjplKTtvLmdwc0lGRD0oIkdQU0luZm9JRkRQb2ludGVyIiBpbiB2P28udGlmZkhlYWRlcit2LkdQU0luZm9JRkRQb2ludGVyOmUpO3JldHVybiB0cnVlfWZ1bmN0aW9uIHIodyx1LHope3ZhciBCLHkseCxBPTA7aWYodHlwZW9mKHUpPT09InN0cmluZyIpe3ZhciB2PW5bdy50b0xvd2VyQ2FzZSgpXTtmb3IoaGV4IGluIHYpe2lmKHZbaGV4XT09PXUpe3U9aGV4O2JyZWFrfX19Qj1vW3cudG9Mb3dlckNhc2UoKSsiSUZEIl07eT1xLlNIT1JUKEIpO2ZvcihpPTA7aTx5O2krKyl7eD1CKzEyKmkrMjtpZihxLlNIT1JUKHgpPT11KXtBPXgrODticmVha319aWYoIUEpe3JldHVybiBmYWxzZX1xLkxPTkcoQSx6KTtyZXR1cm4gdHJ1ZX1yZXR1cm57aW5pdDpmdW5jdGlvbih1KXtvPXt0aWZmSGVhZGVyOjEwfTtpZih1PT09ZXx8IXUubGVuZ3RoKXtyZXR1cm4gZmFsc2V9cS5pbml0KHUpO2lmKHEuU0hPUlQoMCk9PT02NTUwNSYmcS5TVFJJTkcoNCw1KS50b1VwcGVyQ2FzZSgpPT09IkVYSUZcMCIpe3JldHVybiBzKCl9cmV0dXJuIGZhbHNlfSxFWElGOmZ1bmN0aW9uKCl7dmFyIHY7dj1wKG8uZXhpZklGRCxuLmV4aWYpO2lmKHYuRXhpZlZlcnNpb24mJmoudHlwZU9mKHYuRXhpZlZlcnNpb24pPT09ImFycmF5Iil7Zm9yKHZhciB3PTAsdT0iIjt3PHYuRXhpZlZlcnNpb24ubGVuZ3RoO3crKyl7dSs9U3RyaW5nLmZyb21DaGFyQ29kZSh2LkV4aWZWZXJzaW9uW3ddKX12LkV4aWZWZXJzaW9uPXV9cmV0dXJuIHZ9LEdQUzpmdW5jdGlvbigpe3ZhciB1O3U9cChvLmdwc0lGRCxuLmdwcyk7aWYodS5HUFNWZXJzaW9uSUQpe3UuR1BTVmVyc2lvbklEPXUuR1BTVmVyc2lvbklELmpvaW4oIi4iKX1yZXR1cm4gdX0sc2V0RXhpZjpmdW5jdGlvbih1LHYpe2lmKHUhPT0iUGl4ZWxYRGltZW5zaW9uIiYmdSE9PSJQaXhlbFlEaW1lbnNpb24iKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHIoImV4aWYiLHUsdil9LGdldEJpbmFyeTpmdW5jdGlvbigpe3JldHVybiBxLlNFR01FTlQoKX19fX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoxLjUuMiovCihmdW5jdGlvbigpe3ZhciBmPTAsaz1bXSxtPXt9LGk9e30sYT17IjwiOiJsdCIsIj4iOiJndCIsIiYiOiJhbXAiLCciJzoicXVvdCIsIiciOiIjMzkifSxsPS9bPD4mXCJcJ10vZyxiLGM9d2luZG93LnNldFRpbWVvdXQsZD17fSxlO2Z1bmN0aW9uIGgoKXt0aGlzLnJldHVyblZhbHVlPWZhbHNlfWZ1bmN0aW9uIGooKXt0aGlzLmNhbmNlbEJ1YmJsZT10cnVlfShmdW5jdGlvbihuKXt2YXIgbz1uLnNwbGl0KC8sLykscCxyLHE7Zm9yKHA9MDtwPG8ubGVuZ3RoO3ArPTIpe3E9b1twKzFdLnNwbGl0KC8gLyk7Zm9yKHI9MDtyPHEubGVuZ3RoO3IrKyl7aVtxW3JdXT1vW3BdfX19KSgiYXBwbGljYXRpb24vbXN3b3JkLGRvYyBkb3QsYXBwbGljYXRpb24vcGRmLHBkZixhcHBsaWNhdGlvbi9wZ3Atc2lnbmF0dXJlLHBncCxhcHBsaWNhdGlvbi9wb3N0c2NyaXB0LHBzIGFpIGVwcyxhcHBsaWNhdGlvbi9ydGYscnRmLGFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCx4bHMgeGxiLGFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LHBwdCBwcHMgcG90LGFwcGxpY2F0aW9uL3ppcCx6aXAsYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gsc3dmIHN3ZmwsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQsZG9jeCxhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC50ZW1wbGF0ZSxkb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0LHhsc3gsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbixwcHR4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50ZW1wbGF0ZSxwb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXNob3cscHBzeCxhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQsanMsYXBwbGljYXRpb24vanNvbixqc29uLGF1ZGlvL21wZWcsbXBnYSBtcGVnYSBtcDIgbXAzLGF1ZGlvL3gtd2F2LHdhdixhdWRpby9tcDQsbTRhLGltYWdlL2JtcCxibXAsaW1hZ2UvZ2lmLGdpZixpbWFnZS9qcGVnLGpwZWcganBnIGpwZSxpbWFnZS9waG90b3Nob3AscHNkLGltYWdlL3BuZyxwbmcsaW1hZ2Uvc3ZnK3htbCxzdmcgc3ZneixpbWFnZS90aWZmLHRpZmYgdGlmLHRleHQvcGxhaW4sYXNjIHR4dCB0ZXh0IGRpZmYgbG9nLHRleHQvaHRtbCxodG0gaHRtbCB4aHRtbCx0ZXh0L2Nzcyxjc3MsdGV4dC9jc3YsY3N2LHRleHQvcnRmLHJ0Zix2aWRlby9tcGVnLG1wZWcgbXBnIG1wZSx2aWRlby9xdWlja3RpbWUscXQgbW92LHZpZGVvL21wNCxtcDQsdmlkZW8veC1tNHYsbTR2LHZpZGVvL3gtZmx2LGZsdix2aWRlby94LW1zLXdtdix3bXYsdmlkZW8vYXZpLGF2aSx2aWRlby93ZWJtLHdlYm0sdmlkZW8vdm5kLnJuLXJlYWx2aWRlbyxydixhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGEtdGVtcGxhdGUsb3RmLGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSxleGUiKTt2YXIgZz17VkVSU0lPTjoiMS41LjIiLFNUT1BQRUQ6MSxTVEFSVEVEOjIsUVVFVUVEOjEsVVBMT0FESU5HOjIsRkFJTEVEOjQsRE9ORTo1LEdFTkVSSUNfRVJST1I6LTEwMCxIVFRQX0VSUk9SOi0yMDAsSU9fRVJST1I6LTMwMCxTRUNVUklUWV9FUlJPUjotNDAwLElOSVRfRVJST1I6LTUwMCxGSUxFX1NJWkVfRVJST1I6LTYwMCxGSUxFX0VYVEVOU0lPTl9FUlJPUjotNjAxLElNQUdFX0ZPUk1BVF9FUlJPUjotNzAwLElNQUdFX01FTU9SWV9FUlJPUjotNzAxLElNQUdFX0RJTUVOU0lPTlNfRVJST1I6LTcwMixtaW1lVHlwZXM6aSx1YTooZnVuY3Rpb24oKXt2YXIgcj1uYXZpZ2F0b3IscT1yLnVzZXJBZ2VudCxzPXIudmVuZG9yLG8sbixwO289L1dlYktpdC8udGVzdChxKTtwPW8mJnMuaW5kZXhPZigiQXBwbGUiKSE9PS0xO249d2luZG93Lm9wZXJhJiZ3aW5kb3cub3BlcmEuYnVpbGROdW1iZXI7cmV0dXJue3dpbmRvd3M6bmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIldpbiIpIT09LTEsaWU6IW8mJiFuJiYoL01TSUUvZ2kpLnRlc3QocSkmJigvRXhwbG9yZXIvZ2kpLnRlc3Qoci5hcHBOYW1lKSx3ZWJraXQ6byxnZWNrbzohbyYmL0dlY2tvLy50ZXN0KHEpLHNhZmFyaTpwLG9wZXJhOiEhbn19KCkpLHR5cGVPZjpmdW5jdGlvbihuKXtyZXR1cm4oe30pLnRvU3RyaW5nLmNhbGwobikubWF0Y2goL1xzKFthLXp8QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKX0sZXh0ZW5kOmZ1bmN0aW9uKG4pe2cuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24obyxwKXtpZihwPjApe2cuZWFjaChvLGZ1bmN0aW9uKHIscSl7bltxXT1yfSl9fSk7cmV0dXJuIG59LGNsZWFuTmFtZTpmdW5jdGlvbihuKXt2YXIgbyxwO3A9Wy9bXDMwMC1cMzA2XS9nLCJBIiwvW1wzNDAtXDM0Nl0vZywiYSIsL1wzMDcvZywiQyIsL1wzNDcvZywiYyIsL1tcMzEwLVwzMTNdL2csIkUiLC9bXDM1MC1cMzUzXS9nLCJlIiwvW1wzMTQtXDMxN10vZywiSSIsL1tcMzU0LVwzNTddL2csImkiLC9cMzIxL2csIk4iLC9cMzYxL2csIm4iLC9bXDMyMi1cMzMwXS9nLCJPIiwvW1wzNjItXDM3MF0vZywibyIsL1tcMzMxLVwzMzRdL2csIlUiLC9bXDM3MS1cMzc0XS9nLCJ1Il07Zm9yKG89MDtvPHAubGVuZ3RoO28rPTIpe249bi5yZXBsYWNlKHBbb10scFtvKzFdKX1uPW4ucmVwbGFjZSgvXHMrL2csIl8iKTtuPW4ucmVwbGFjZSgvW15hLXowLTlfXC1cLl0rL2dpLCIiKTtyZXR1cm4gbn0sYWRkUnVudGltZTpmdW5jdGlvbihuLG8pe28ubmFtZT1uO2tbbl09bztrLnB1c2gobyk7cmV0dXJuIG99LGd1aWQ6ZnVuY3Rpb24oKXt2YXIgbj1uZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygzMiksbztmb3Iobz0wO288NTtvKyspe24rPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo2NTUzNSkudG9TdHJpbmcoMzIpfXJldHVybihnLmd1aWRQcmVmaXh8fCJwIikrbisoZisrKS50b1N0cmluZygzMil9LGJ1aWxkVXJsOmZ1bmN0aW9uKG8sbil7dmFyIHA9IiI7Zy5lYWNoKG4sZnVuY3Rpb24ocixxKXtwKz0ocD8iJiI6IiIpK2VuY29kZVVSSUNvbXBvbmVudChxKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHIpfSk7aWYocCl7bys9KG8uaW5kZXhPZigiPyIpPjA/IiYiOiI/IikrcH1yZXR1cm4gb30sZWFjaDpmdW5jdGlvbihxLHIpe3ZhciBwLG8sbjtpZihxKXtwPXEubGVuZ3RoO2lmKHA9PT1iKXtmb3IobyBpbiBxKXtpZihxLmhhc093blByb3BlcnR5KG8pKXtpZihyKHFbb10sbyk9PT1mYWxzZSl7cmV0dXJufX19fWVsc2V7Zm9yKG49MDtuPHA7bisrKXtpZihyKHFbbl0sbik9PT1mYWxzZSl7cmV0dXJufX19fX0sZm9ybWF0U2l6ZTpmdW5jdGlvbihuKXtpZihuPT09Ynx8L1xELy50ZXN0KG4pKXtyZXR1cm4gZy50cmFuc2xhdGUoIk4vQSIpfWlmKG4+MTA3Mzc0MTgyNCl7cmV0dXJuIE1hdGgucm91bmQobi8xMDczNzQxODI0LDEpKyIgR0IifWlmKG4+MTA0ODU3Nil7cmV0dXJuIE1hdGgucm91bmQobi8xMDQ4NTc2LDEpKyIgTUIifWlmKG4+MTAyNCl7cmV0dXJuIE1hdGgucm91bmQobi8xMDI0LDEpKyIgS0IifXJldHVybiBuKyIgYiJ9LGdldFBvczpmdW5jdGlvbihvLHMpe3ZhciB0PTAscj0wLHYsdT1kb2N1bWVudCxwLHE7bz1vO3M9c3x8dS5ib2R5O2Z1bmN0aW9uIG4oQil7dmFyIHosQSx3PTAsQz0wO2lmKEIpe0E9Qi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt6PXUuY29tcGF0TW9kZT09PSJDU1MxQ29tcGF0Ij91LmRvY3VtZW50RWxlbWVudDp1LmJvZHk7dz1BLmxlZnQrei5zY3JvbGxMZWZ0O0M9QS50b3Arei5zY3JvbGxUb3B9cmV0dXJue3g6dyx5OkN9fWlmKG8mJm8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiYobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIik+MCYmdS5kb2N1bWVudE1vZGUhPT04KSl7cD1uKG8pO3E9bihzKTtyZXR1cm57eDpwLngtcS54LHk6cC55LXEueX19dj1vO3doaWxlKHYmJnYhPXMmJnYubm9kZVR5cGUpe3QrPXYub2Zmc2V0TGVmdHx8MDtyKz12Lm9mZnNldFRvcHx8MDt2PXYub2Zmc2V0UGFyZW50fXY9by5wYXJlbnROb2RlO3doaWxlKHYmJnYhPXMmJnYubm9kZVR5cGUpe3QtPXYuc2Nyb2xsTGVmdHx8MDtyLT12LnNjcm9sbFRvcHx8MDt2PXYucGFyZW50Tm9kZX1yZXR1cm57eDp0LHk6cn19LGdldFNpemU6ZnVuY3Rpb24obil7cmV0dXJue3c6bi5vZmZzZXRXaWR0aHx8bi5jbGllbnRXaWR0aCxoOm4ub2Zmc2V0SGVpZ2h0fHxuLmNsaWVudEhlaWdodH19LHBhcnNlU2l6ZTpmdW5jdGlvbihuKXt2YXIgbztpZih0eXBlb2Yobik9PSJzdHJpbmciKXtuPS9eKFswLTldKykoW21na10/KSQvLmV4ZWMobi50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teMC05bWtnXS9nLCIiKSk7bz1uWzJdO249K25bMV07aWYobz09ImciKXtuKj0xMDczNzQxODI0fWlmKG89PSJtIil7bio9MTA0ODU3Nn1pZihvPT0iayIpe24qPTEwMjR9fXJldHVybiBufSx4bWxFbmNvZGU6ZnVuY3Rpb24obil7cmV0dXJuIG4/KCIiK24pLnJlcGxhY2UobCxmdW5jdGlvbihvKXtyZXR1cm4gYVtvXT8iJiIrYVtvXSsiOyI6b30pOm59LHRvQXJyYXk6ZnVuY3Rpb24ocCl7dmFyIG8sbj1bXTtmb3Iobz0wO288cC5sZW5ndGg7bysrKXtuW29dPXBbb119cmV0dXJuIG59LGluQXJyYXk6ZnVuY3Rpb24ocCxxKXtpZihxKXtpZihBcnJheS5wcm90b3R5cGUuaW5kZXhPZil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwocSxwKX1mb3IodmFyIG49MCxvPXEubGVuZ3RoO248bztuKyspe2lmKHFbbl09PT1wKXtyZXR1cm4gbn19fXJldHVybiAtMX0sYWRkSTE4bjpmdW5jdGlvbihuKXtyZXR1cm4gZy5leHRlbmQobSxuKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKG4pe3JldHVybiBtW25dfHxufSxpc0VtcHR5T2JqOmZ1bmN0aW9uKG4pe2lmKG49PT1iKXtyZXR1cm4gdHJ1ZX1mb3IodmFyIG8gaW4gbil7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfSxoYXNDbGFzczpmdW5jdGlvbihwLG8pe3ZhciBuO2lmKHAuY2xhc3NOYW1lPT0iIil7cmV0dXJuIGZhbHNlfW49bmV3IFJlZ0V4cCgiKF58XFxzKykiK28rIihcXHMrfCQpIik7cmV0dXJuIG4udGVzdChwLmNsYXNzTmFtZSl9LGFkZENsYXNzOmZ1bmN0aW9uKG8sbil7aWYoIWcuaGFzQ2xhc3MobyxuKSl7by5jbGFzc05hbWU9by5jbGFzc05hbWU9PSIiP246by5jbGFzc05hbWUucmVwbGFjZSgvXHMrJC8sIiIpKyIgIitufX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24ocCxvKXt2YXIgbj1uZXcgUmVnRXhwKCIoXnxcXHMrKSIrbysiKFxccyt8JCkiKTtwLmNsYXNzTmFtZT1wLmNsYXNzTmFtZS5yZXBsYWNlKG4sZnVuY3Rpb24ocixxLHMpe3JldHVybiBxPT09IiAiJiZzPT09IiAiPyIgIjoiIn0pfSxnZXRTdHlsZTpmdW5jdGlvbihvLG4pe2lmKG8uY3VycmVudFN0eWxlKXtyZXR1cm4gby5jdXJyZW50U3R5bGVbbl19ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8sbnVsbClbbl19fX0sYWRkRXZlbnQ6ZnVuY3Rpb24ocyxuLHQpe3ZhciByLHEscCxvO289YXJndW1lbnRzWzNdO249bi50b0xvd2VyQ2FzZSgpO2lmKGU9PT1iKXtlPSJQbHVwbG9hZF8iK2cuZ3VpZCgpfWlmKHMuYWRkRXZlbnRMaXN0ZW5lcil7cj10O3MuYWRkRXZlbnRMaXN0ZW5lcihuLHIsZmFsc2UpfWVsc2V7aWYocy5hdHRhY2hFdmVudCl7cj1mdW5jdGlvbigpe3ZhciB1PXdpbmRvdy5ldmVudDtpZighdS50YXJnZXQpe3UudGFyZ2V0PXUuc3JjRWxlbWVudH11LnByZXZlbnREZWZhdWx0PWg7dS5zdG9wUHJvcGFnYXRpb249ajt0KHUpfTtzLmF0dGFjaEV2ZW50KCJvbiIrbixyKX19aWYoc1tlXT09PWIpe3NbZV09Zy5ndWlkKCl9aWYoIWQuaGFzT3duUHJvcGVydHkoc1tlXSkpe2Rbc1tlXV09e319cT1kW3NbZV1dO2lmKCFxLmhhc093blByb3BlcnR5KG4pKXtxW25dPVtdfXFbbl0ucHVzaCh7ZnVuYzpyLG9yaWc6dCxrZXk6b30pfSxyZW1vdmVFdmVudDpmdW5jdGlvbihzLG4pe3ZhciBxLHQscDtpZih0eXBlb2YoYXJndW1lbnRzWzJdKT09ImZ1bmN0aW9uIil7dD1hcmd1bWVudHNbMl19ZWxzZXtwPWFyZ3VtZW50c1syXX1uPW4udG9Mb3dlckNhc2UoKTtpZihzW2VdJiZkW3NbZV1dJiZkW3NbZV1dW25dKXtxPWRbc1tlXV1bbl19ZWxzZXtyZXR1cm59Zm9yKHZhciBvPXEubGVuZ3RoLTE7bz49MDtvLS0pe2lmKHFbb10ua2V5PT09cHx8cVtvXS5vcmlnPT09dCl7aWYocy5kZXRhY2hFdmVudCl7cy5kZXRhY2hFdmVudCgib24iK24scVtvXS5mdW5jKX1lbHNle2lmKHMucmVtb3ZlRXZlbnRMaXN0ZW5lcil7cy5yZW1vdmVFdmVudExpc3RlbmVyKG4scVtvXS5mdW5jLGZhbHNlKX19cVtvXS5vcmlnPW51bGw7cVtvXS5mdW5jPW51bGw7cS5zcGxpY2UobywxKTtpZih0IT09Yil7YnJlYWt9fX1pZighcS5sZW5ndGgpe2RlbGV0ZSBkW3NbZV1dW25dfWlmKGcuaXNFbXB0eU9iaihkW3NbZV1dKSl7ZGVsZXRlIGRbc1tlXV07dHJ5e2RlbGV0ZSBzW2VdfWNhdGNoKHIpe3NbZV09Yn19fSxyZW1vdmVBbGxFdmVudHM6ZnVuY3Rpb24obyl7dmFyIG49YXJndW1lbnRzWzFdO2lmKG9bZV09PT1ifHwhb1tlXSl7cmV0dXJufWcuZWFjaChkW29bZV1dLGZ1bmN0aW9uKHEscCl7Zy5yZW1vdmVFdmVudChvLHAsbil9KX19O2cuVXBsb2FkZXI9ZnVuY3Rpb24ocil7dmFyIG89e30sdSx0PVtdLHEscD1mYWxzZTt1PW5ldyBnLlF1ZXVlUHJvZ3Jlc3MoKTtyPWcuZXh0ZW5kKHtjaHVua19zaXplOjAsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWUsZmlsZV9kYXRhX25hbWU6ImZpbGUiLGZpbHRlcnM6W119LHIpO2Z1bmN0aW9uIHMoKXt2YXIgdyx4PTAsdjtpZih0aGlzLnN0YXRlPT1nLlNUQVJURUQpe2Zvcih2PTA7djx0Lmxlbmd0aDt2Kyspe2lmKCF3JiZ0W3ZdLnN0YXR1cz09Zy5RVUVVRUQpe3c9dFt2XTt3LnN0YXR1cz1nLlVQTE9BRElORztpZih0aGlzLnRyaWdnZXIoIkJlZm9yZVVwbG9hZCIsdykpe3RoaXMudHJpZ2dlcigiVXBsb2FkRmlsZSIsdyl9fWVsc2V7eCsrfX1pZih4PT10Lmxlbmd0aCl7dGhpcy5zdG9wKCk7dGhpcy50cmlnZ2VyKCJVcGxvYWRDb21wbGV0ZSIsdCl9fX1mdW5jdGlvbiBuKCl7dmFyIHcsdjt1LnJlc2V0KCk7Zm9yKHc9MDt3PHQubGVuZ3RoO3crKyl7dj10W3ddO2lmKHYuc2l6ZSE9PWIpe3Uuc2l6ZSs9di5zaXplO3UubG9hZGVkKz12LmxvYWRlZH1lbHNle3Uuc2l6ZT1ifWlmKHYuc3RhdHVzPT1nLkRPTkUpe3UudXBsb2FkZWQrK31lbHNle2lmKHYuc3RhdHVzPT1nLkZBSUxFRCl7dS5mYWlsZWQrK31lbHNle3UucXVldWVkKyt9fX1pZih1LnNpemU9PT1iKXt1LnBlcmNlbnQ9dC5sZW5ndGg+MD9NYXRoLmNlaWwodS51cGxvYWRlZC90Lmxlbmd0aCoxMDApOjB9ZWxzZXt1LmJ5dGVzUGVyU2VjPU1hdGguY2VpbCh1LmxvYWRlZC8oKCtuZXcgRGF0ZSgpLXF8fDEpLzEwMDApKTt1LnBlcmNlbnQ9dS5zaXplPjA/TWF0aC5jZWlsKHUubG9hZGVkL3Uuc2l6ZSoxMDApOjB9fWcuZXh0ZW5kKHRoaXMse3N0YXRlOmcuU1RPUFBFRCxydW50aW1lOiIiLGZlYXR1cmVzOnt9LGZpbGVzOnQsc2V0dGluZ3M6cix0b3RhbDp1LGlkOmcuZ3VpZCgpLGluaXQ6ZnVuY3Rpb24oKXt2YXIgQT10aGlzLEIseCx3LHo9MCx5O2lmKHR5cGVvZihyLnByZWluaXQpPT0iZnVuY3Rpb24iKXtyLnByZWluaXQoQSl9ZWxzZXtnLmVhY2goci5wcmVpbml0LGZ1bmN0aW9uKEQsQyl7QS5iaW5kKEMsRCl9KX1yLnBhZ2VfdXJsPXIucGFnZV91cmx8fGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvW15cL10rJC9nLCIvIik7aWYoIS9eKFx3KzpcL1wvfFwvKS8udGVzdChyLnVybCkpe3IudXJsPXIucGFnZV91cmwrci51cmx9ci5jaHVua19zaXplPWcucGFyc2VTaXplKHIuY2h1bmtfc2l6ZSk7ci5tYXhfZmlsZV9zaXplPWcucGFyc2VTaXplKHIubWF4X2ZpbGVfc2l6ZSk7QS5iaW5kKCJGaWxlc0FkZGVkIixmdW5jdGlvbihDLEYpe3ZhciBFLEQsSD0wLEksRz1yLmZpbHRlcnM7aWYoRyYmRy5sZW5ndGgpe0k9W107Zy5lYWNoKEcsZnVuY3Rpb24oSil7Zy5lYWNoKEouZXh0ZW5zaW9ucy5zcGxpdCgvLC8pLGZ1bmN0aW9uKEspe2lmKC9eXHMqXCpccyokLy50ZXN0KEspKXtJLnB1c2goIlxcLioiKX1lbHNle0kucHVzaCgiXFwuIitLLnJlcGxhY2UobmV3IFJlZ0V4cCgiWyIrKCIvXiQuKis/fCgpW117fVxcIi5yZXBsYWNlKC8uL2csIlxcJCYiKSkrIl0iLCJnIiksIlxcJCYiKSl9fSl9KTtJPW5ldyBSZWdFeHAoSS5qb2luKCJ8IikrIiQiLCJpIil9Zm9yKEU9MDtFPEYubGVuZ3RoO0UrKyl7RD1GW0VdO0QubG9hZGVkPTA7RC5wZXJjZW50PTA7RC5zdGF0dXM9Zy5RVUVVRUQ7aWYoSSYmIUkudGVzdChELm5hbWUpKXtDLnRyaWdnZXIoIkVycm9yIix7Y29kZTpnLkZJTEVfRVhURU5TSU9OX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgZXh0ZW5zaW9uIGVycm9yLiIpLGZpbGU6RH0pO2NvbnRpbnVlfWlmKEQuc2l6ZSE9PWImJkQuc2l6ZT5yLm1heF9maWxlX3NpemUpe0MudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuRklMRV9TSVpFX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgc2l6ZSBlcnJvci4iKSxmaWxlOkR9KTtjb250aW51ZX10LnB1c2goRCk7SCsrfWlmKEgpe2MoZnVuY3Rpb24oKXtBLnRyaWdnZXIoIlF1ZXVlQ2hhbmdlZCIpO0EucmVmcmVzaCgpfSwxKX1lbHNle3JldHVybiBmYWxzZX19KTtpZihyLnVuaXF1ZV9uYW1lcyl7QS5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihDLEQpe3ZhciBGPUQubmFtZS5tYXRjaCgvXC4oW14uXSspJC8pLEU9InRtcCI7aWYoRil7RT1GWzFdfUQudGFyZ2V0X25hbWU9RC5pZCsiLiIrRX0pfUEuYmluZCgiVXBsb2FkUHJvZ3Jlc3MiLGZ1bmN0aW9uKEMsRCl7RC5wZXJjZW50PUQuc2l6ZT4wP01hdGguY2VpbChELmxvYWRlZC9ELnNpemUqMTAwKToxMDA7bigpfSk7QS5iaW5kKCJTdGF0ZUNoYW5nZWQiLGZ1bmN0aW9uKEMpe2lmKEMuc3RhdGU9PWcuU1RBUlRFRCl7cT0oK25ldyBEYXRlKCkpfWVsc2V7aWYoQy5zdGF0ZT09Zy5TVE9QUEVEKXtmb3IoQj1DLmZpbGVzLmxlbmd0aC0xO0I+PTA7Qi0tKXtpZihDLmZpbGVzW0JdLnN0YXR1cz09Zy5VUExPQURJTkcpe0MuZmlsZXNbQl0uc3RhdHVzPWcuUVVFVUVEO24oKX19fX19KTtBLmJpbmQoIlF1ZXVlQ2hhbmdlZCIsbik7QS5iaW5kKCJFcnJvciIsZnVuY3Rpb24oQyxEKXtpZihELmZpbGUpe0QuZmlsZS5zdGF0dXM9Zy5GQUlMRUQ7bigpO2lmKEMuc3RhdGU9PWcuU1RBUlRFRCl7YyhmdW5jdGlvbigpe3MuY2FsbChBKX0sMSl9fX0pO0EuYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihDLEQpe0Quc3RhdHVzPWcuRE9ORTtELmxvYWRlZD1ELnNpemU7Qy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsRCk7YyhmdW5jdGlvbigpe3MuY2FsbChBKX0sMSl9KTtpZihyLnJ1bnRpbWVzKXt4PVtdO3k9ci5ydW50aW1lcy5zcGxpdCgvXHM/LFxzPy8pO2ZvcihCPTA7Qjx5Lmxlbmd0aDtCKyspe2lmKGtbeVtCXV0pe3gucHVzaChrW3lbQl1dKX19fWVsc2V7eD1rfWZ1bmN0aW9uIHYoKXt2YXIgRj14W3orK10sRSxDLEQ7aWYoRil7RT1GLmdldEZlYXR1cmVzKCk7Qz1BLnNldHRpbmdzLnJlcXVpcmVkX2ZlYXR1cmVzO2lmKEMpe0M9Qy5zcGxpdCgiLCIpO2ZvcihEPTA7RDxDLmxlbmd0aDtEKyspe2lmKCFFW0NbRF1dKXt2KCk7cmV0dXJufX19Ri5pbml0KEEsZnVuY3Rpb24oRyl7aWYoRyYmRy5zdWNjZXNzKXtBLmZlYXR1cmVzPUU7QS5ydW50aW1lPUYubmFtZTtBLnRyaWdnZXIoIkluaXQiLHtydW50aW1lOkYubmFtZX0pO0EudHJpZ2dlcigiUG9zdEluaXQiKTtBLnJlZnJlc2goKX1lbHNle3YoKX19KX1lbHNle0EudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuSU5JVF9FUlJPUixtZXNzYWdlOmcudHJhbnNsYXRlKCJJbml0IGVycm9yLiIpfSl9fXYoKTtpZih0eXBlb2Yoci5pbml0KT09ImZ1bmN0aW9uIil7ci5pbml0KEEpfWVsc2V7Zy5lYWNoKHIuaW5pdCxmdW5jdGlvbihELEMpe0EuYmluZChDLEQpfSl9fSxyZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy50cmlnZ2VyKCJSZWZyZXNoIil9LHN0YXJ0OmZ1bmN0aW9uKCl7aWYodGhpcy5zdGF0ZSE9Zy5TVEFSVEVEKXt0aGlzLnN0YXRlPWcuU1RBUlRFRDt0aGlzLnRyaWdnZXIoIlN0YXRlQ2hhbmdlZCIpO3MuY2FsbCh0aGlzKX19LHN0b3A6ZnVuY3Rpb24oKXtpZih0aGlzLnN0YXRlIT1nLlNUT1BQRUQpe3RoaXMuc3RhdGU9Zy5TVE9QUEVEO3RoaXMudHJpZ2dlcigiQ2FuY2VsVXBsb2FkIik7dGhpcy50cmlnZ2VyKCJTdGF0ZUNoYW5nZWQiKX19LGRpc2FibGVCcm93c2U6ZnVuY3Rpb24oKXtwPWFyZ3VtZW50c1swXSE9PWI/YXJndW1lbnRzWzBdOnRydWU7dGhpcy50cmlnZ2VyKCJEaXNhYmxlQnJvd3NlIixwKX0sZ2V0RmlsZTpmdW5jdGlvbih3KXt2YXIgdjtmb3Iodj10Lmxlbmd0aC0xO3Y+PTA7di0tKXtpZih0W3ZdLmlkPT09dyl7cmV0dXJuIHRbdl19fX0scmVtb3ZlRmlsZTpmdW5jdGlvbih3KXt2YXIgdjtmb3Iodj10Lmxlbmd0aC0xO3Y+PTA7di0tKXtpZih0W3ZdLmlkPT09dy5pZCl7cmV0dXJuIHRoaXMuc3BsaWNlKHYsMSlbMF19fX0sc3BsaWNlOmZ1bmN0aW9uKHgsdil7dmFyIHc7dz10LnNwbGljZSh4PT09Yj8wOngsdj09PWI/dC5sZW5ndGg6dik7dGhpcy50cmlnZ2VyKCJGaWxlc1JlbW92ZWQiLHcpO3RoaXMudHJpZ2dlcigiUXVldWVDaGFuZ2VkIik7cmV0dXJuIHd9LHRyaWdnZXI6ZnVuY3Rpb24odyl7dmFyIHk9b1t3LnRvTG93ZXJDYXNlKCldLHgsdjtpZih5KXt2PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7dlswXT10aGlzO2Zvcih4PTA7eDx5Lmxlbmd0aDt4Kyspe2lmKHlbeF0uZnVuYy5hcHBseSh5W3hdLnNjb3BlLHYpPT09ZmFsc2Upe3JldHVybiBmYWxzZX19fXJldHVybiB0cnVlfSxoYXNFdmVudExpc3RlbmVyOmZ1bmN0aW9uKHYpe3JldHVybiAhIW9bdi50b0xvd2VyQ2FzZSgpXX0sYmluZDpmdW5jdGlvbih2LHgsdyl7dmFyIHk7dj12LnRvTG93ZXJDYXNlKCk7eT1vW3ZdfHxbXTt5LnB1c2goe2Z1bmM6eCxzY29wZTp3fHx0aGlzfSk7b1t2XT15fSx1bmJpbmQ6ZnVuY3Rpb24odil7dj12LnRvTG93ZXJDYXNlKCk7dmFyIHk9b1t2XSx3LHg9YXJndW1lbnRzWzFdO2lmKHkpe2lmKHghPT1iKXtmb3Iodz15Lmxlbmd0aC0xO3c+PTA7dy0tKXtpZih5W3ddLmZ1bmM9PT14KXt5LnNwbGljZSh3LDEpO2JyZWFrfX19ZWxzZXt5PVtdfWlmKCF5Lmxlbmd0aCl7ZGVsZXRlIG9bdl19fX0sdW5iaW5kQWxsOmZ1bmN0aW9uKCl7dmFyIHY9dGhpcztnLmVhY2gobyxmdW5jdGlvbih4LHcpe3YudW5iaW5kKHcpfSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLnRyaWdnZXIoIkRlc3Ryb3kiKTt0aGlzLnVuYmluZEFsbCgpfX0pfTtnLkZpbGU9ZnVuY3Rpb24ocSxvLHApe3ZhciBuPXRoaXM7bi5pZD1xO24ubmFtZT1vO24uc2l6ZT1wO24ubG9hZGVkPTA7bi5wZXJjZW50PTA7bi5zdGF0dXM9MH07Zy5SdW50aW1lPWZ1bmN0aW9uKCl7dGhpcy5nZXRGZWF0dXJlcz1mdW5jdGlvbigpe307dGhpcy5pbml0PWZ1bmN0aW9uKG4sbyl7fX07Zy5RdWV1ZVByb2dyZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcztuLnNpemU9MDtuLmxvYWRlZD0wO24udXBsb2FkZWQ9MDtuLmZhaWxlZD0wO24ucXVldWVkPTA7bi5wZXJjZW50PTA7bi5ieXRlc1BlclNlYz0wO24ucmVzZXQ9ZnVuY3Rpb24oKXtuLnNpemU9bi5sb2FkZWQ9bi51cGxvYWRlZD1uLmZhaWxlZD1uLnF1ZXVlZD1uLnBlcmNlbnQ9bi5ieXRlc1BlclNlYz0wfX07Zy5ydW50aW1lcz17fTt3aW5kb3cucGx1cGxvYWQ9Z30pKCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.silverlight.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGcsYixkLGUpe3ZhciBhPXt9LGg9e307ZnVuY3Rpb24gYyhvKXt2YXIgbixtPXR5cGVvZiBvLGosbCxrO2lmKG89PT1lfHxvPT09bnVsbCl7cmV0dXJuIm51bGwifWlmKG09PT0ic3RyaW5nIil7bj0iXGJiXHR0XG5uXGZmXHJyXCJcIicnXFxcXCI7cmV0dXJuJyInK28ucmVwbGFjZSgvKFtcdTAwODAtXHVGRkZGXHgwMC1ceDFmXCJdKS9nLGZ1bmN0aW9uKHEscCl7dmFyIGk9bi5pbmRleE9mKHApO2lmKGkrMSl7cmV0dXJuIlxcIituLmNoYXJBdChpKzEpfXE9cC5jaGFyQ29kZUF0KCkudG9TdHJpbmcoMTYpO3JldHVybiJcXHUiKyIwMDAwIi5zdWJzdHJpbmcocS5sZW5ndGgpK3F9KSsnIid9aWYobT09Im9iamVjdCIpe2o9by5sZW5ndGghPT1lO249IiI7aWYoail7Zm9yKGw9MDtsPG8ubGVuZ3RoO2wrKyl7aWYobil7bis9IiwifW4rPWMob1tsXSl9bj0iWyIrbisiXSJ9ZWxzZXtmb3IoayBpbiBvKXtpZihvLmhhc093blByb3BlcnR5KGspKXtpZihuKXtuKz0iLCJ9bis9YyhrKSsiOiIrYyhvW2tdKX19bj0ieyIrbisifSJ9cmV0dXJuIG59cmV0dXJuIiIrb31mdW5jdGlvbiBmKHIpe3ZhciB1PWZhbHNlLGk9bnVsbCxuPW51bGwsaixrLGwsdCxtLHA9MDt0cnl7dHJ5e249bmV3IEFjdGl2ZVhPYmplY3QoIkFnQ29udHJvbC5BZ0NvbnRyb2wiKTtpZihuLklzVmVyc2lvblN1cHBvcnRlZChyKSl7dT10cnVlfW49bnVsbH1jYXRjaChxKXt2YXIgbz1uYXZpZ2F0b3IucGx1Z2luc1siU2lsdmVybGlnaHQgUGx1Zy1JbiJdO2lmKG8pe2o9by5kZXNjcmlwdGlvbjtpZihqPT09IjEuMC4zMDIyNi4yIil7aj0iMi4wLjMwMjI2LjIifWs9ai5zcGxpdCgiLiIpO3doaWxlKGsubGVuZ3RoPjMpe2sucG9wKCl9d2hpbGUoay5sZW5ndGg8NCl7ay5wdXNoKDApfWw9ci5zcGxpdCgiLiIpO3doaWxlKGwubGVuZ3RoPjQpe2wucG9wKCl9ZG97dD1wYXJzZUludChsW3BdLDEwKTttPXBhcnNlSW50KGtbcF0sMTApO3ArK313aGlsZShwPGwubGVuZ3RoJiZ0PT09bSk7aWYodDw9bSYmIWlzTmFOKHQpKXt1PXRydWV9fX19Y2F0Y2gocyl7dT1mYWxzZX1yZXR1cm4gdX1kLnNpbHZlcmxpZ2h0PXt0cmlnZ2VyOmZ1bmN0aW9uKG4sayl7dmFyIG09YVtuXSxsLGo7aWYobSl7aj1kLnRvQXJyYXkoYXJndW1lbnRzKS5zbGljZSgxKTtqWzBdPSJTaWx2ZXJsaWdodDoiK2s7c2V0VGltZW91dChmdW5jdGlvbigpe20udHJpZ2dlci5hcHBseShtLGopfSwwKX19fTtkLnJ1bnRpbWVzLlNpbHZlcmxpZ2h0PWQuYWRkUnVudGltZSgic2lsdmVybGlnaHQiLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihwLHEpe3ZhciBvLG09IiIsbj1wLnNldHRpbmdzLmZpbHRlcnMsbCxrPWIuYm9keTtpZighZigiMi4wLjMxMDA1LjAiKXx8KGcub3BlcmEmJmcub3BlcmEuYnVpbGROdW1iZXIpKXtxKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWhbcC5pZF09ZmFsc2U7YVtwLmlkXT1wO289Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLmlkPXAuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiO2QuZXh0ZW5kKG8uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6cC5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDBweCIsaGVpZ2h0OiIxMDBweCIsb3ZlcmZsb3c6ImhpZGRlbiIsb3BhY2l0eTpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcnx8Yi5kb2N1bWVudE1vZGU+OD8iIjowLjAxfSk7by5jbGFzc05hbWU9InBsdXBsb2FkIHNpbHZlcmxpZ2h0IjtpZihwLnNldHRpbmdzLmNvbnRhaW5lcil7az1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGssInBvc2l0aW9uIik9PT0ic3RhdGljIil7ay5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1rLmFwcGVuZENoaWxkKG8pO2ZvcihsPTA7bDxuLmxlbmd0aDtsKyspe20rPShtIT0iIj8ifCI6IiIpK25bbF0udGl0bGUrIiB8ICouIituW2xdLmV4dGVuc2lvbnMucmVwbGFjZSgvLC9nLCI7Ki4iKX1vLmlubmVySFRNTD0nPG9iamVjdCBpZD0iJytwLmlkKydfc2lsdmVybGlnaHQiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodCwiIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2lsdmVybGlnaHQtMiIgc3R5bGU9Im91dGxpbmU6bm9uZTsiIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiPjxwYXJhbSBuYW1lPSJzb3VyY2UiIHZhbHVlPSInK3Auc2V0dGluZ3Muc2lsdmVybGlnaHRfeGFwX3VybCsnIi8+PHBhcmFtIG5hbWU9ImJhY2tncm91bmQiIHZhbHVlPSJUcmFuc3BhcmVudCIvPjxwYXJhbSBuYW1lPSJ3aW5kb3dsZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJlbmFibGVodG1sYWNjZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJpbml0UGFyYW1zIiB2YWx1ZT0iaWQ9JytwLmlkKyIsZmlsdGVyPSIrbSsiLG11bHRpc2VsZWN0PSIrcC5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24rJyIvPjwvb2JqZWN0Pic7ZnVuY3Rpb24gaigpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9zaWx2ZXJsaWdodCIpLmNvbnRlbnQuVXBsb2FkfXAuYmluZCgiU2lsdmVybGlnaHQ6SW5pdCIsZnVuY3Rpb24oKXt2YXIgaSxyPXt9O2lmKGhbcC5pZF0pe3JldHVybn1oW3AuaWRdPXRydWU7cC5iaW5kKCJTaWx2ZXJsaWdodDpTdGFydFNlbGVjdEZpbGVzIixmdW5jdGlvbihzKXtpPVtdfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpTZWxlY3RGaWxlIixmdW5jdGlvbihzLHYsdCx1KXt2YXIgdzt3PWQuZ3VpZCgpO3Jbd109djtyW3ZdPXc7aS5wdXNoKG5ldyBkLkZpbGUodyx0LHUpKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6U2VsZWN0U3VjY2Vzc2Z1bCIsZnVuY3Rpb24oKXtpZihpLmxlbmd0aCl7cC50cmlnZ2VyKCJGaWxlc0FkZGVkIixpKX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZENodW5rRXJyb3IiLGZ1bmN0aW9uKHMsdix0LHcsdSl7cC50cmlnZ2VyKCJFcnJvciIse2NvZGU6ZC5JT19FUlJPUixtZXNzYWdlOiJJTyBFcnJvci4iLGRldGFpbHM6dSxmaWxlOnMuZ2V0RmlsZShyW3ZdKX0pfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRGaWxlUHJvZ3Jlc3MiLGZ1bmN0aW9uKHMsdyx0LHYpe3ZhciB1PXMuZ2V0RmlsZShyW3ddKTtpZih1LnN0YXR1cyE9ZC5GQUlMRUQpe3Uuc2l6ZT12O3UubG9hZGVkPXQ7cy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdSl9fSk7cC5iaW5kKCJSZWZyZXNoIixmdW5jdGlvbihzKXt2YXIgdCx1LHY7dD1iLmdldEVsZW1lbnRCeUlkKHMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7aWYodCl7dT1kLmdldFBvcyh0LGIuZ2V0RWxlbWVudEJ5SWQocy5zZXR0aW5ncy5jb250YWluZXIpKTt2PWQuZ2V0U2l6ZSh0KTtkLmV4dGVuZChiLmdldEVsZW1lbnRCeUlkKHMuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiKS5zdHlsZSx7dG9wOnUueSsicHgiLGxlZnQ6dS54KyJweCIsd2lkdGg6di53KyJweCIsaGVpZ2h0OnYuaCsicHgifSl9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRDaHVua1N1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHMsdix0LHkseCl7dmFyIHcsdT1zLmdldEZpbGUoclt2XSk7dz17Y2h1bms6dCxjaHVua3M6eSxyZXNwb25zZTp4fTtzLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHUsdyk7aWYodS5zdGF0dXMhPWQuRkFJTEVEJiZzLnN0YXRlIT09ZC5TVE9QUEVEKXtqKCkuVXBsb2FkTmV4dENodW5rKCl9aWYodD09eS0xKXt1LnN0YXR1cz1kLkRPTkU7cy50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLHUse3Jlc3BvbnNlOnh9KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZFN1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHMsdix0KXt2YXIgdT1zLmdldEZpbGUoclt2XSk7dS5zdGF0dXM9ZC5ET05FO3MudHJpZ2dlcigiRmlsZVVwbG9hZGVkIix1LHtyZXNwb25zZTp0fSl9KTtwLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24ocyx1KXt2YXIgdDtmb3IodD0wO3Q8dS5sZW5ndGg7dCsrKXtqKCkuUmVtb3ZlRmlsZShyW3VbdF0uaWRdKX19KTtwLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHY9cy5zZXR0aW5ncyx0PXYucmVzaXplfHx7fTtqKCkuVXBsb2FkRmlsZShyW3UuaWRdLHMuc2V0dGluZ3MudXJsLGMoe25hbWU6dS50YXJnZXRfbmFtZXx8dS5uYW1lLG1pbWU6ZC5taW1lVHlwZXNbdS5uYW1lLnJlcGxhY2UoL14uK1wuKFteLl0rKS8sIiQxIikudG9Mb3dlckNhc2UoKV18fCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGNodW5rX3NpemU6di5jaHVua19zaXplLGltYWdlX3dpZHRoOnQud2lkdGgsaW1hZ2VfaGVpZ2h0OnQuaGVpZ2h0LGltYWdlX3F1YWxpdHk6dC5xdWFsaXR5fHw5MCxtdWx0aXBhcnQ6ISF2Lm11bHRpcGFydCxtdWx0aXBhcnRfcGFyYW1zOnYubXVsdGlwYXJ0X3BhcmFtc3x8e30sZmlsZV9kYXRhX25hbWU6di5maWxlX2RhdGFfbmFtZSxoZWFkZXJzOnYuaGVhZGVyc30pKX0pO3AuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2ooKS5DYW5jZWxVcGxvYWQoKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6TW91c2VFbnRlciIsZnVuY3Rpb24ocyl7dmFyIHQsdTt0PWIuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt1PXMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcjtpZih0JiZ1KXtkLmFkZENsYXNzKHQsdSl9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpNb3VzZUxlYXZlIixmdW5jdGlvbihzKXt2YXIgdCx1O3Q9Yi5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3U9cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHQmJnUpe2QucmVtb3ZlQ2xhc3ModCx1KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0Ok1vdXNlTGVmdEJ1dHRvbkRvd24iLGZ1bmN0aW9uKHMpe3ZhciB0LHU7dD1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dT1zLnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHQmJnUpe2QuYWRkQ2xhc3ModCx1KTtkLmFkZEV2ZW50KGIuYm9keSwibW91c2V1cCIsZnVuY3Rpb24oKXtkLnJlbW92ZUNsYXNzKHQsdSl9KX19KTtwLmJpbmQoIlNsaXZlcmxpZ2h0OlN0YXJ0U2VsZWN0RmlsZXMiLGZ1bmN0aW9uKHMpe3ZhciB0LHU7dD1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dT1zLnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHQmJnUpe2QucmVtb3ZlQ2xhc3ModCx1KX19KTtwLmJpbmQoIkRpc2FibGVCcm93c2UiLGZ1bmN0aW9uKHMsdCl7aigpLkRpc2FibGVCcm93c2UodCl9KTtwLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKHMpe3ZhciB0O2QucmVtb3ZlQWxsRXZlbnRzKGIuYm9keSxzLmlkKTtkZWxldGUgaFtzLmlkXTtkZWxldGUgYVtzLmlkXTt0PWIuZ2V0RWxlbWVudEJ5SWQocy5pZCsiX3NpbHZlcmxpZ2h0X2NvbnRhaW5lciIpO2lmKHQpe2sucmVtb3ZlQ2hpbGQodCl9fSk7cSh7c3VjY2Vzczp0cnVlfSl9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.silverlight.xap</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiB1cGxvYWQucGhwDQogKg0KICogQ29weXJpZ2h0IDIwMDksIE1veGllY29kZSBTeXN0ZW1zIEFCDQogKiBSZWxlYXNlZCB1bmRlciBHUEwgTGljZW5zZS4NCiAqDQogKiBMaWNlbnNlOiBodHRwOi8vd3d3LnBsdXBsb2FkLmNvbS9saWNlbnNlDQogKiBDb250cmlidXRpbmc6IGh0dHA6Ly93d3cucGx1cGxvYWQuY29tL2NvbnRyaWJ1dGluZw0KICovDQovLyBIVFRQIGhlYWRlcnMgZm9yIG5vIGNhY2hlIGV0Yw0KaGVhZGVyKCJFeHBpcmVzOiBNb24sIDI2IEp1bCAxOTk3IDA1OjAwOjAwIEdNVCIpOw0KaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiAiIC4gZ21kYXRlKCJELCBkIE0gWSBIOmk6cyIpIC4gIiBHTVQiKTsNCmhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUiKTsNCmhlYWRlcigiQ2FjaGUtQ29udHJvbDogcG9zdC1jaGVjaz0wLCBwcmUtY2hlY2s9MCIsIGZhbHNlKTsNCmhlYWRlcigiUHJhZ21hOiBuby1jYWNoZSIpOw0KDQppZiAoISRfR0VUWyJnYWxsZXJ5X3BhdGgiXSkNCiAgICByZXR1cm47DQoNCi8vIFNldHRpbmdzDQokdGFyZ2V0RGlyID0gdXJsZGVjb2RlKCRfR0VUWyJnYWxsZXJ5X3BhdGgiXSk7DQovLyR0YXJnZXREaXIgPSAndXBsb2Fkcyc7DQoNCiRjbGVhbnVwVGFyZ2V0RGlyID0gdHJ1ZTsgLy8gUmVtb3ZlIG9sZCBmaWxlcw0KJG1heEZpbGVBZ2UgPSA1ICogMzYwMDsgLy8gVGVtcCBmaWxlIGFnZSBpbiBzZWNvbmRzDQovLyA1IG1pbnV0ZXMgZXhlY3V0aW9uIHRpbWUNCkBzZXRfdGltZV9saW1pdCg1ICogNjApOw0KDQovLyBVbmNvbW1lbnQgdGhpcyBvbmUgdG8gZmFrZSB1cGxvYWQgdGltZQ0KLy8gdXNsZWVwKDUwMDApOw0KLy8gR2V0IHBhcmFtZXRlcnMNCiRjaHVuayA9IGlzc2V0KCRfUkVRVUVTVFsiY2h1bmsiXSkgPyBpbnR2YWwoJF9SRVFVRVNUWyJjaHVuayJdKSA6IDA7DQokY2h1bmtzID0gaXNzZXQoJF9SRVFVRVNUWyJjaHVua3MiXSkgPyBpbnR2YWwoJF9SRVFVRVNUWyJjaHVua3MiXSkgOiAwOw0KJGZpbGVOYW1lID0gaXNzZXQoJF9SRVFVRVNUWyJuYW1lIl0pID8gJF9SRVFVRVNUWyJuYW1lIl0gOiAnJzsNCg0KLy8gQ2xlYW4gdGhlIGZpbGVOYW1lIGZvciBzZWN1cml0eSByZWFzb25zDQokZmlsZU5hbWUgPSBzdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnL1teXHdcLl9dKy8nLCAnXycsICRmaWxlTmFtZSkpOw0KDQovLyBNYWtlIHN1cmUgdGhlIGZpbGVOYW1lIGlzIHVuaXF1ZSBidXQgb25seSBpZiBjaHVua2luZyBpcyBkaXNhYmxlZA0KaWYgKCRjaHVua3MgPCAyICYmIGZpbGVfZXhpc3RzKCR0YXJnZXREaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGVOYW1lKSkgew0KICAgICRleHQgPSBzdHJycG9zKCRmaWxlTmFtZSwgJy4nKTsNCiAgICAkZmlsZU5hbWVfYSA9IHN1YnN0cigkZmlsZU5hbWUsIDAsICRleHQpOw0KICAgICRmaWxlTmFtZV9iID0gc3Vic3RyKCRmaWxlTmFtZSwgJGV4dCk7DQoNCiAgICAkY291bnQgPSAxOw0KICAgIHdoaWxlIChmaWxlX2V4aXN0cygkdGFyZ2V0RGlyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlTmFtZV9hIC4gJ18nIC4gJGNvdW50IC4gJGZpbGVOYW1lX2IpKQ0KICAgICAgICAkY291bnQrKzsNCg0KICAgICRmaWxlTmFtZSA9ICRmaWxlTmFtZV9hIC4gJ18nIC4gJGNvdW50IC4gJGZpbGVOYW1lX2I7DQp9DQoNCiRmaWxlUGF0aCA9ICR0YXJnZXREaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGVOYW1lOw0KDQovLyBDcmVhdGUgdGFyZ2V0IGRpcg0KaWYgKCFmaWxlX2V4aXN0cygkdGFyZ2V0RGlyKSkNCiAgICBAbWtkaXIoJHRhcmdldERpcik7DQoNCi8vIFJlbW92ZSBvbGQgdGVtcCBmaWxlcwkNCmlmICgkY2xlYW51cFRhcmdldERpciAmJiBpc19kaXIoJHRhcmdldERpcikgJiYgKCRkaXIgPSBvcGVuZGlyKCR0YXJnZXREaXIpKSkgew0KICAgIHdoaWxlICgoJGZpbGUgPSByZWFkZGlyKCRkaXIpKSAhPT0gZmFsc2UpIHsNCiAgICAgICAgJHRtcGZpbGVQYXRoID0gJHRhcmdldERpciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZTsNCg0KICAgICAgICAvLyBSZW1vdmUgdGVtcCBmaWxlIGlmIGl0IGlzIG9sZGVyIHRoYW4gdGhlIG1heCBhZ2UgYW5kIGlzIG5vdCB0aGUgY3VycmVudCBmaWxlDQogICAgICAgIGlmIChwcmVnX21hdGNoKCcvXC5wYXJ0JC8nLCAkZmlsZSkgJiYgKGZpbGVtdGltZSgkdG1wZmlsZVBhdGgpIDwgdGltZSgpIC0gJG1heEZpbGVBZ2UpICYmICgkdG1wZmlsZVBhdGggIT0gInskZmlsZVBhdGh9LnBhcnQiKSkgew0KICAgICAgICAgICAgQHVubGluaygkdG1wZmlsZVBhdGgpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgY2xvc2VkaXIoJGRpcik7DQp9IGVsc2UNCiAgICBkaWUoJ3sianNvbnJwYyIgOiAiMi4wIiwgImVycm9yIiA6IHsiY29kZSI6IDEwMCwgIm1lc3NhZ2UiOiAiRmFpbGVkIHRvIG9wZW4gdGVtcCBkaXJlY3RvcnkuIn0sICJpZCIgOiAiaWQifScpOw0KDQoNCi8vIExvb2sgZm9yIHRoZSBjb250ZW50IHR5cGUgaGVhZGVyDQppZiAoaXNzZXQoJF9TRVJWRVJbIkhUVFBfQ09OVEVOVF9UWVBFIl0pKQ0KICAgICRjb250ZW50VHlwZSA9ICRfU0VSVkVSWyJIVFRQX0NPTlRFTlRfVFlQRSJdOw0KDQppZiAoaXNzZXQoJF9TRVJWRVJbIkNPTlRFTlRfVFlQRSJdKSkNCiAgICAkY29udGVudFR5cGUgPSAkX1NFUlZFUlsiQ09OVEVOVF9UWVBFIl07DQoNCi8vIEhhbmRsZSBub24gbXVsdGlwYXJ0IHVwbG9hZHMgb2xkZXIgV2ViS2l0IHZlcnNpb25zIGRpZG4ndCBzdXBwb3J0IG11bHRpcGFydCBpbiBIVE1MNQ0KaWYgKHN0cnBvcygkY29udGVudFR5cGUsICJtdWx0aXBhcnQiKSAhPT0gZmFsc2UpIHsNCiAgICBpZiAoaXNzZXQoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKSAmJiBpc191cGxvYWRlZF9maWxlKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSkpIHsNCiAgICAgICAgLy8gT3BlbiB0ZW1wIGZpbGUNCiAgICAgICAgJG91dCA9IGZvcGVuKCJ7JGZpbGVQYXRofS5wYXJ0IiwgJGNodW5rID09IDAgPyAid2IiIDogImFiIik7DQogICAgICAgIGlmICgkb3V0KSB7DQogICAgICAgICAgICAvLyBSZWFkIGJpbmFyeSBpbnB1dCBzdHJlYW0gYW5kIGFwcGVuZCBpdCB0byB0ZW1wIGZpbGUNCiAgICAgICAgICAgICRpbiA9IGZvcGVuKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgInJiIik7DQoNCiAgICAgICAgICAgIGlmICgkaW4pIHsNCiAgICAgICAgICAgICAgICB3aGlsZSAoJGJ1ZmYgPSBmcmVhZCgkaW4sIDQwOTYpKQ0KICAgICAgICAgICAgICAgICAgICBmd3JpdGUoJG91dCwgJGJ1ZmYpOw0KICAgICAgICAgICAgfSBlbHNlDQogICAgICAgICAgICAgICAgZGllKCd7Impzb25ycGMiIDogIjIuMCIsICJlcnJvciIgOiB7ImNvZGUiOiAxMDEsICJtZXNzYWdlIjogIkZhaWxlZCB0byBvcGVuIGlucHV0IHN0cmVhbS4ifSwgImlkIiA6ICJpZCJ9Jyk7DQogICAgICAgICAgICBmY2xvc2UoJGluKTsNCiAgICAgICAgICAgIGZjbG9zZSgkb3V0KTsNCiAgICAgICAgICAgIEB1bmxpbmsoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKTsNCiAgICAgICAgfSBlbHNlDQogICAgICAgICAgICBkaWUoJ3sianNvbnJwYyIgOiAiMi4wIiwgImVycm9yIiA6IHsiY29kZSI6IDEwMiwgIm1lc3NhZ2UiOiAiRmFpbGVkIHRvIG9wZW4gb3V0cHV0IHN0cmVhbS4ifSwgImlkIiA6ICJpZCJ9Jyk7DQogICAgfSBlbHNlDQogICAgICAgIGRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAiZXJyb3IiIDogeyJjb2RlIjogMTAzLCAibWVzc2FnZSI6ICJGYWlsZWQgdG8gbW92ZSB1cGxvYWRlZCBmaWxlLiJ9LCAiaWQiIDogImlkIn0nKTsNCn0gZWxzZSB7DQogICAgLy8gT3BlbiB0ZW1wIGZpbGUNCiAgICAkb3V0ID0gZm9wZW4oInskZmlsZVBhdGh9LnBhcnQiLCAkY2h1bmsgPT0gMCA/ICJ3YiIgOiAiYWIiKTsNCiAgICBpZiAoJG91dCkgew0KICAgICAgICAvLyBSZWFkIGJpbmFyeSBpbnB1dCBzdHJlYW0gYW5kIGFwcGVuZCBpdCB0byB0ZW1wIGZpbGUNCiAgICAgICAgJGluID0gZm9wZW4oInBocDovL2lucHV0IiwgInJiIik7DQoNCiAgICAgICAgaWYgKCRpbikgew0KICAgICAgICAgICAgd2hpbGUgKCRidWZmID0gZnJlYWQoJGluLCA0MDk2KSkNCiAgICAgICAgICAgICAgICBmd3JpdGUoJG91dCwgJGJ1ZmYpOw0KICAgICAgICB9IGVsc2UNCiAgICAgICAgICAgIGRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAiZXJyb3IiIDogeyJjb2RlIjogMTAxLCAibWVzc2FnZSI6ICJGYWlsZWQgdG8gb3BlbiBpbnB1dCBzdHJlYW0uIn0sICJpZCIgOiAiaWQifScpOw0KDQogICAgICAgIGZjbG9zZSgkaW4pOw0KICAgICAgICBmY2xvc2UoJG91dCk7DQogICAgfSBlbHNlDQogICAgICAgIGRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAiZXJyb3IiIDogeyJjb2RlIjogMTAyLCAibWVzc2FnZSI6ICJGYWlsZWQgdG8gb3BlbiBvdXRwdXQgc3RyZWFtLiJ9LCAiaWQiIDogImlkIn0nKTsNCn0NCg0KLy8gQ2hlY2sgaWYgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZA0KaWYgKCEkY2h1bmtzIHx8ICRjaHVuayA9PSAkY2h1bmtzIC0gMSkgew0KICAgIC8vIFN0cmlwIHRoZSB0ZW1wIC5wYXJ0IHN1ZmZpeCBvZmYgDQogICAgcmVuYW1lKCJ7JGZpbGVQYXRofS5wYXJ0IiwgJGZpbGVQYXRoKTsNCn0NCg0KDQovLyBSZXR1cm4gSlNPTi1SUEMgcmVzcG9uc2UNCmRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAicmVzdWx0IiA6IG51bGwsICJpZCIgOiAiaWQifScpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBHZW5lcmF0b3InOw0KJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlIEdlbmVyYXRvciB3YXMgc3VjY2Vzc2Z1bCBpbnN0YWxsZWQnOw0KJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bGUgR2VuZXJhdG9yIHdhcyBzdWNjZXNzZnVsIHVuaW5zdGFsbGVkJzsNCiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnUmVhbGx5PyBBcmUgeW91IHN1cmUNCnlvdSB3YW50IHRvIHVuc2luc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOw0KJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7DQokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7DQokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgZ2l2ZSBzb2x1dGlvbiBmb3IgY3JlYXRpbmcgY3VzdG9tIG1vZHVsZXMuJzsNCiRsYW5nWydpbmZvX3N1Y2Nlc3MnXSA9ICdTdWNjZXMnOw0KJGxhbmdbJ2luZm9fZXJyb3InXSA9ICdFcnJvcic7DQokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdPcHRpb25zIHVwZGF0ZWQnOw0KJGxhbmdbJ21vZHVsZV9taXNzaW5nJ10gPSAnUGxlYXNlLCBpbnN0YWwgbW9kdWxlICVzJzsNCiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlPyc7DQokbGFuZ1snbW9kdWxlX2Rpcl9wZXJtaXNzaW9uJ10gPSAnTW9kdWxlIGRpcmVjdG9yeSBuZWVkIHdyaXRlYWJsZSBwZXJtaXNzaW9uLiBQbGVhc2UgY2hhbmdlIHBlcm1pc3Npb24gZm9yIG1vZHVsZSBkaXJlY3RvcnkuJzsNCiRsYW5nWydwbGVhc2VfaW5zdGFsbF9pdCddID0gJ05vdGU6IGluc3RhbGwgdGhpcyBtb2R1bGUgdGhyb3VnaCAiRXh0ZW5zaW9ucyDCuyBNb2R1bGVzIic7DQokbGFuZ1snY3JlYXRlX21vZHVsZSddID0gJ0NyZWF0ZSBuZXcgbW9kdWxlJzsNCg0KJGxhbmdbJ2RldGFpbF9wYWdlJ10gPSAnRGV0YWlsIFBhZ2UnOw0KJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZSc7DQokbGFuZ1snd2FybmluZ19wcmV2aWV3J10gPSAnV2FybmluZzogVGhpcyBwcmV2aWV3IHBhbmVsIGJlaGF2ZXMgbXVjaCBsaWtlIGEgYnJvd3NlciB3aW5kb3cgYWxsb3dpbmcgeW91IHRvIG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgaW5pdGlhbGx5IHByZXZpZXdlZCBwYWdlLiBIb3dldmVyLCBpZiB5b3UgZG8gdGhhdCwgeW91IG1heSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLiAgTmF2aWdhdGluZyBhd2F5IGZyb20gdGhlIGluaXRpYWwgcGFnZSBhbmQgcmV0dXJuaW5nIHdpbGwgbm90IGdpdmUgdGhlIGV4cGVjdGVkIHJlc3VsdHMuPGJyLz48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBwcmV2aWV3IGRvZXMgbm90IHVwbG9hZCBmaWxlcyB5b3UgbWF5IGhhdmUgc2VsZWN0ZWQgZm9yIHVwbG9hZC4nOw0KJGxhbmdbJ2FydGljbGUnXSA9ICdBcnRpY2xlJzsNCiRsYW5nWydwcmV2aWV3J10gPSAnUHJldmlldyc7DQokbGFuZ1snaW5mb19kZXRhaWxfcmV0dXJuaWQnXSA9ICdUaGlzIHByZWZlcmVuY2UgaXMgdXNlZCB0byBkZXRlcm1pbmUgYSBwYWdlIChhbmQgdGhlcmVmb3JlIGEgdGVtcGxhdGUpIHRvIHVzZSB0byB2aWV3IGRldGFpbCBwYWdlcy4gIEluZGl2aWR1YWxpemVkIE5ld3MgRGV0YWlsIFVSTFMgd2lsbCBub3Qgd29yayBpZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc2V0IHRvIGEgdmFsaWQgcGFnZS4gIEFkZGl0aW9uYWxseSwgaWYgdGhpcyBwcmVmZXJlbmNlIGlzIHNldCwgYW5kIG5vIGRldGFpbHBhZ2UgcGFyYW1ldGVyIGlzIHByb3ZpZGVkIG9uIHRoZSBuZXdzIHRhZywgdGhlbiB0aGlzIHZhbHVlIHdpbGwgYmUgdXNlZCBmb3IgZGV0YWlsIGxpbmtzJzsNCiRsYW5nWyd0aXRsZV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdEZWZhdWx0IHBhZ2UgdG8gdXNlIGZvciBkZXRhaWwgdmlld3MnOw0KDQokbGFuZ1sndW5pbnN0YWxsJ10gPSAnVW5pbnN0YWxsJzsNCiRsYW5nWydpbnN0YWxsJ10gPSAnSW5zdGFsbCc7DQokbGFuZ1snY3JlYXRlX25ldyddID0gJ0NyZWF0ZSBuZXcgbW9kdWxlJzsNCiRsYW5nWydnZW5lcmF0b3InXSA9ICdHZW5lcmF0b3InOw0KJGxhbmdbJ3JlZ2VuZXJhdGUnXSA9ICdSZS1nZW5lcmF0ZSc7DQokbGFuZ1snbmFtZSddID0gJ05hbWUnOw0KJGxhbmdbJ2F0dGFjaCddID0gJ0F0dGFjaCc7DQokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOw0KJGxhbmdbJ2NyZWF0ZWRhdGUnXSA9ICdDcmVhdGUgZGF0ZSc7DQokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnTW9kaWZpZWQgZGF0ZSc7DQokbGFuZFsnYWRtaW5fdGl0bGUnXSA9ICdBZG1pbiBQYW5lbCc7DQokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJyc7DQokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZSBpbnN0YWxsZWQnOw0KJGxhbmdbJ2Vycm9yX3JlbmFtZV9kaXInXSA9ICdSZW5hbWUgZGlyIHdpdGhvdXQgc3VjY2VzcyAocGVybWlzc2lvbj8pJzsNCiRsYW5nWydlcnJvcl9yZXBsYWNlX2ZpbGVzJ10gPSAnTW9kdWxlIGNhbm5vdCBieSBlZGl0ZWQuIFBsZWFzZSBlZGl0IGl0IG1hbnVhbGx5Lic7DQokbGFuZ1snZXJyb3JfbW9kdWxlX2V4aXN0cyddID0gJ1RoaXMgbW9kdWxlIGV4aXN0cy4gRGVsZXRlIGRpciBvciByZS1nZW5lcmF0ZS4nOw0KJGxhbmdbJ2Vycm9yX3VuaWluc3RhbF9tb2R1bGUnXSA9ICdUaGlzIG1vZHVsZSBleGlzdHMuIFVuaWluc3RhbCBpdC4nOw0KDQovLyB0YWJzDQokbGFuZ1snaXRlbSddID0gJ0l0ZW0nOw0KJGxhbmdbJ2l0ZW1zJ10gPSAnSXRlbXMnOw0KJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmllbGQgRGVmaW5pdGlvbic7DQokbGFuZ1snZmllbGRkZWZzJ10gPSAnRmllbGQgRGVmaW5pdGlvbnMnOw0KJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOw0KJGxhbmdbJ3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyc7DQokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yeSc7DQokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOw0KJGxhbmdbJ29wdGlvbiddID0gJ09wdGlvbic7DQokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbnMnOw0KJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7DQokbGFuZ1sncHJldnBhZ2UnXSA9ICcmbHQ7JzsNCiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbCc7DQokbGFuZ1snZWRpdGluZyddID0gJ0VkaXRpbmcnOw0KJGxhbmdbJ3N0YXJ0J10gPSAnU3RhcnQgbm93JzsNCiRsYW5nWydub3RlJ10gPSAnTm90ZSc7DQoNCg0KLy8gaXRlbXMNCiRsYW5nWydpdGVtX3RpdGxlJ10gPSAnVGl0bGUnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAnSXRlbSB0aXRsZSc7DQokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7DQokbGFuZ1sndXJsJ10gPSAnVXJsJzsNCiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOw0KJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdJdGVtIHRpdGxlIGlzIGVtcHR5JzsNCiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1JlcXVpcmVkIGZpZWxkIGlzIGVtcHR5JzsNCiRsYW5nWyd0b29fbG9uZyddID0gJ0ZpZWxkIHZhbHVlIGV4Y2VlZHMgbWF4IGxlbmd0aCc7DQokbGFuZ1snYXBwcm92ZSddID0gJ1NldCBTdGF0dXMgdG8gXCdBY3RpdmVcJyc7DQokbGFuZ1sncmV2ZXJ0J10gPSAnU2V0IFN0YXR1cyB0byBcJ0luYWN0aXZlXCcnOw0KJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmd0OyZndDsnOw0KJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYXN0IE1vZGlmaWVkJzsNCiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7DQokbGFuZ1sncGFnZV9vZiddID0gJ1BhZ2UgJXMgb2YgJXMnOw0KJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdQYWdlIExpbWl0JzsNCiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmbHQ7Jmx0Oyc7DQokbGFuZ1snbmV4dHBhZ2UnXSA9ICcmZ3Q7JzsNCiRsYW5nWydpZCddID0gJ0lkJzsNCiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsNCiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVkZSBDaGlsZHJlbj8nOw0KJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoeSc7DQokbGFuZ1snc29ydF9ieSddID0gJ1NvcnQgQnknOw0KJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0IE9yZGVyJzsNCiRsYW5nWydkYXRlJ10gPSAnRGF0ZSc7DQokbGFuZ1snZGF0ZV9lbmQnXSA9ICdFbmQgZGF0ZSc7DQokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRlcnMnOw0KJGxhbmdbJ2FzY2VuZGluZyddID0gJ0FzY2VuZGluZyc7DQokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRpbmcnOw0KJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGwgY2F0ZWdvcmllcyc7DQokbGFuZ1snZnJvbSddID0gJ0Zyb20nOw0KJGxhbmdbJ3RvJ10gPSAnVG8nOw0KJGxhbmdbJ3Bvc2l0aW9uJ10gPSAnUG9zaXRpb24nOw0KJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnQ3JlYXRlZCBkYXRlJzsNCiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdNb2RpZmllZCBkYXRlJzsNCiRsYW5nWydzYXZlX29yZGVyJ10gPSAnU2F2ZSBvcmRlcic7DQoNCi8vIGZpZWxkIGRlZmluaXRpb25zDQokbGFuZ1snZWRpdGZpZWxkZGVmJ10gPSAnRWRpdCBGaWVsZCBEZWZpbml0aW9uJzsNCiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0FkZCBGaWVsZCBEZWZpbml0aW9uJzsNCiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmFtZSc7DQokbGFuZ1snZmllbGRkZWZfaGVscCddID0gJ0hlbHBmdWwgdGlwJzsNCiRsYW5nWydmaWVsZGRlZl90eXBlJ10gPSAnVHlwZSc7DQokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoJzsNCiRsYW5nWydmaWVsZGRlZl9yZXF1aXJlZCddID0gJ1JlcXVpcmVkJzsNCiRsYW5nWydmaWVsZGRlZl9mcm9udGVuZCddID0gJ0Zyb250IEVuZCc7DQokbGFuZ1snZmllbGRkZWZfZWRpdHZpZXcnXSA9ICdWaWV3IG9ubHkgaW4gZWRpdCc7DQokbGFuZ1snZmllbGRkZWZfZmlsdGVyX2Zyb250ZW5kJ10gPSAnQWRkIHRvIGZpbHRlciBpbiBmcm9udGVuZCc7DQokbGFuZ1snZmllbGRkZWZfZmlsdGVyX2FkbWluJ10gPSAnQWRkIHRvIGZpbHRlciBpbiBhZG1pbic7DQokbGFuZ1snZmllbGRkZWZfc2VhcmNoYWJsZSddID0gJ1NlYXJjaGFibGUnOw0KJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOw0KJGxhbmdbJ3NlY3Rpb24nXSA9ICdTZWN0aW9uJzsNCiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBJbnB1dCc7DQokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7DQokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOw0KJGxhbmdbJ3NlbGVjdF9kYXRlJ10gPSAnU2VsZWN0IERhdGUnOw0KJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnVXBsb2FkIEZpbGUnOw0KJGxhbmdbJ2ZpbGVfcGlja2VyJ10gPSAnRmlsZXBpY2tlcic7DQokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7DQokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlJzsNCiRsYW5nWydzZWxlY3RfZGVmYXVsdCddID0gJy0tIFNlbGVjdCAtLSc7DQokbGFuZ1snc2VsZWN0X2ZpbGUnXSA9ICdTZWxlY3QgRmlsZSc7DQokbGFuZ1snY29sb3JfcGlja2VyJ10gPSAnQ29sb3IgcGlja2VyJzsNCiRsYW5nWydtb2R1bGVfbGluayddID0gJ0xpbmsgdG8gbW9kdWxlJzsNCiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGlzIGVtcHR5JzsNCiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ0ZpZWxkIGRlZmluaXRpb24gbmFtZSBhbHJlYWR5IGV4aXN0cyc7DQokbGFuZ1snaW52YWxpZCddID0gJ0ZpZWxkIHZhbHVlIGlzIGludmFsaWQnOw0KJGxhbmdbJ3RhYiddID0gJ1RhYic7DQoNCg0KLy8gZmllbGQgZGVmaW5pdGlvbnMNCiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdFZGl0IEZpZWxkIERlZmluaXRpb24nOw0KJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnQWRkIEZpZWxkIERlZmluaXRpb24nOw0KJGxhbmdbJ2ZpZWxkZGVmX25hbWUnXSA9ICdOYW1lJzsNCiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnSGVscGZ1bCB0aXAnOw0KJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXBlJzsNCiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoJ10gPSAnTWF4aW11bSBsZW5ndGgnOw0KJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOw0KJGxhbmdbJ2ZpZWxkZGVmX2Zyb250ZW5kJ10gPSAnRnJvbnQgRW5kJzsNCiRsYW5nWydmaWVsZGRlZl9lZGl0dmlldyddID0gJ1ZpZXcgb25seSBpbiBlZGl0JzsNCiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdBZGQgdG8gZmlsdGVyIGluIGZyb250ZW5kJzsNCiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfYWRtaW4nXSA9ICdBZGQgdG8gZmlsdGVyIGluIGFkbWluIGFyZWEnOw0KJGxhbmdbJ2ZpZWxkZGVmX3NlYXJjaGFibGUnXSA9ICdTZWFyY2hhYmxlJzsNCiRsYW5nWydleHRyYSddID0gJ0V4dHJhJzsNCiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBJbnB1dCc7DQokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7DQokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOw0KJGxhbmdbJ3NlbGVjdF9kYXRlJ10gPSAnU2VsZWN0IERhdGUnOw0KJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnVXBsb2FkIEZpbGUnOw0KJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOw0KJGxhbmdbJ2Ryb3Bkb3duZnJvbW1vZHVsZSddID0gJ0Ryb3Bkb3duIGZyb20gbW9kdWxlJzsNCiRsYW5nWydzdGF0aWMnXSA9ICdTdGF0aWMnOw0KJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsZSc7DQokbGFuZ1snc2VsZWN0X2RlZmF1bHQnXSA9ICctLSBTZWxlY3QgLS0nOw0KJGxhbmdbJ3NlbGVjdF9maWxlJ10gPSAnU2VsZWN0IEZpbGUnOw0KJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZW1wdHknXSA9ICdGaWVsZCBkZWZpbml0aW9uIG5hbWUgaXMgZW1wdHknOw0KJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZXhpc3RzJ10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGFscmVhZHkgZXhpc3RzJzsNCiRsYW5nWydpbnZhbGlkJ10gPSAnRmllbGQgdmFsdWUgaXMgaW52YWxpZCc7DQoNCi8vIGZpbGUgaGFuZGxpbmcNCiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdQcm9ibGVtIG9jY3VycmVkIHVwbG9hZGluZyBhIGZpbGUnOw0KJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnQ291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnk6ICVzJzsNCiRsYW5nWydlcnJvcl9maWxlc2l6ZSddID0gJ0FuIHVwbG9hZGVkIGZpbGUgZXhjZWVkZWQgdGhlIG1heGltdW0gYWxsb3dlZCBzaXplJzsNCiRsYW5nWydlcnJvcl9pbnZhbGlkZmlsZXR5cGUnXSA9ICdDYW5ub3QgdXBsb2FkIHRoaXMgdHlwZSBvZiBmaWxlJzsNCiRsYW5nWydlcnJvcl9tb3ZlZmlsZSddID0gJ0NvdWxkIG5vdCBjcmVhdGUgZmlsZTogJXMnOw0KJGxhbmdbJ2ludmFsaWR1cmwnXSA9ICdVcmwgaXMgaW52YWxpZC4nOw0KDQovLyBjYXRlZ29yeQ0KJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsNCiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7DQokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0VkaXQgQ2F0ZWdvcnknOw0KJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnQWRkIENhdGVnb3J5JzsNCiRsYW5nWydjYXRlZ29yeV9uYW1lJ10gPSAnQ2F0ZWdvcnkgbmFtZSc7DQokbGFuZ1snY2F0ZWdvcnlfbmFtZV9lbXB0eSddID0gJ0NhdGVnb3J5IG5hbWUgaXMgZW1wdHknOw0KJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ0NhdGVnb3J5IHVwZGF0ZWQuJzsNCiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnQ2F0ZWdvcnkgYWRkZWQuJzsNCg0KLy8gdGVtcGxhdGVzDQokbGFuZ1snY2F0ZWdvcnlfdGVtcGxhdGUnXSA9ICdDYXRlZ29yeSBUZW1wbGF0ZXMnOw0KJGxhbmdbJ3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlcyc7DQokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7DQokbGFuZ1snZmlsdGVyX3RlbXBsYXRlJ10gPSAnRmlsdGVyIFRlbXBsYXRlcyc7DQokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7DQokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnRWRpdCBUZW1wbGF0ZSc7DQokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdBZGQgJXMgVGVtcGxhdGUnOw0KJGxhbmdbJ3RlbXBsYXRlX25hbWUnXSA9ICdUZW1wbGF0ZSBuYW1lJzsNCiRsYW5nWyd0ZW1wbGF0ZV9uYW1lX2VtcHR5J10gPSAnVGVtcGxhdGUgbmFtZSBpcyBlbXB0eSc7DQokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnQWRkL2VkaXQgc3VtbWFyeSB0ZW1wbGF0ZSc7DQokbGFuZ1snYWRkZWRpdF9maWx0ZXJfdGVtcGxhdGUnXSA9ICdBZGQvZWRpdCBmaWx0ZXIgdGVtcGxhdGUnOw0KJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWRkL2VkaXQgZGV0YWlsIHRlbXBsYXRlJzsNCiRsYW5nWydhZGRlZGl0X2NhdGVnb3J5X3RlbXBsYXRlJ10gPSAnQWRkL2VkaXQgY2F0ZWdvcnkgdGVtcGxhdGUnOw0KDQovLyBnbG9iYWwNCiRsYW5nWydnbG9iYWwnXSA9ICdHbG9iYWwnOw0KJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ1lvdXIgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHNhdmVkJzsNCiRsYW5nWydiYWNrJ10gPSAnQmFjayc7DQokbGFuZ1sndXAnXSA9ICdVcCc7DQokbGFuZ1snZG93biddID0gJ0Rvd24nOw0KJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsNCiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOw0KJGxhbmdbJ25vc3VjaGlkJ10gPSAnTm8gc3VjaCBJRCc7DQokbGFuZ1snZGVsZXRlZCddID0gJ1RoZSBlbnRyeSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZGVsZXRlZCc7DQokbGFuZ1snYWRkJ10gPSAnQWRkJzsNCiRsYW5nWydhbGlhcyddID0gJ0FsaWFzJzsNCiRsYW5nWydhbGlhc19pbnZhbGlkJ10gPSAnQWxpYXMgaXMgaW52YWxpZC4gSXQgbXVzdCBiZSBhIHZhbGlkIFBIUCB2YXJpYWJsZSBuYW1lJzsNCiRsYW5nWydlbXB0eV9wYXJhbSddID0gJ1RoZSBwYXJhbWV0ZXIgd2FzIGVtcHR5LiBUcnkgYWdhaW4uJzsNCiRsYW5nWydvcGVyYXRpb25fY2FuY2VsbGVkJ10gPSAnT3BlcmF0aW9uIENhbmNlbGxlZCc7DQokbGFuZ1snb3BlcmF0aW9uX2NvbXBsZXRlJ10gPSAnT3BlcmF0aW9uIENvbXBsZXRlJzsNCg0KIyMgZ2VuZXJhdG9yDQokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgSW5wdXQnOw0KJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOw0KJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dCBBcmVhJzsNCiRsYW5nWydzZWxlY3RfZGF0ZSddID0gJ1NlbGVjdCBEYXRlJzsNCiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ1VwbG9hZCBGaWxlJzsNCiRsYW5nWydkcm9wZG93biddID0gJ0Ryb3Bkb3duJzsNCiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bGUnOw0KJGxhbmdbJ3NlbGVjdF9kZWZhdWx0J10gPSAnLS0gU2VsZWN0IC0tJzsNCiRsYW5nWydzZWxlY3RfZmlsZSddID0gJ1NlbGVjdCBGaWxlJzsNCg0KI2l0ZW1zDQokbGFuZ1snaXRlbV90aXRsZSddID0gJ1RpdGxlJzsNCiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZSddID0gJ0l0ZW0gdGl0bGUnOw0KJGxhbmdbJ2FsaWFzJ10gPSAnQWxpYXMnOw0KJGxhbmdbJ3VybCddID0gJ1VybCc7DQokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsNCiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAnSXRlbSB0aXRsZSBpcyBlbXB0eSc7DQokbGFuZ1sncmVxdWlyZWRfZmllbGRfZW1wdHknXSA9ICdSZXF1aXJlZCBmaWVsZCBpcyBlbXB0eSc7DQokbGFuZ1sndG9vX2xvbmcnXSA9ICdGaWVsZCB2YWx1ZSBleGNlZWRzIG1heCBsZW5ndGgnOw0KJGxhbmdbJ2FwcHJvdmUnXSA9ICdTZXQgU3RhdHVzIHRvIFwnQWN0aXZlXCcnOw0KJGxhbmdbJ3JldmVydCddID0gJ1NldCBTdGF0dXMgdG8gXCdJbmFjdGl2ZVwnJzsNCiRsYW5nWydsYXN0cGFnZSddID0gJyZndDsmZ3Q7JzsNCiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFzdCBNb2RpZmllZCc7DQokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOw0KJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdQYWdlICVzIG9mICVzJzsNCiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnZSBMaW1pdCc7DQokbGFuZ1snZmlyc3RwYWdlJ10gPSAnJmx0OyZsdDsnOw0KJGxhbmdbJ25leHRwYWdlJ10gPSAnJmd0Oyc7DQokbGFuZ1snb2YnXSA9ICdvZic7DQokbGFuZ1snaWQnXSA9ICdJZCc7DQokbGFuZ1sndGl0bGUnXSA9ICdUaXRsZSc7DQokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0luY2x1ZGUgQ2hpbGRyZW4/JzsNCiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaHknOw0KJGxhbmdbJ2RhdGUnXSA9ICdEYXRlJzsNCiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVycyc7DQokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsNCiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnRGVzY2VuZGluZyc7DQokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ0FsbCBjYXRlZ29yaWVzJzsNCiRsYW5nWydmcm9tJ10gPSAnRnJvbSc7DQokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdCBBbGwnOw0KJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsNCiRsYW5nWydzZXRkcmFmdCddID0gJ1NldCBBcyBJbmFjdGl2ZSc7DQokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnU2V0IEFzIEFjdGl2ZSc7DQokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ1dpdGggU2VsZWN0ZWQnOw0KJGxhbmdbJ2dvJ10gPSAnR28nOw0KJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05vdGhpbmcgc2VsZWN0ZWQnOw0KDQoNCiNvcHRpb25zDQokbGFuZ1snaW1hZ2VzX3NpemVfYWRtaW4nXSA9ICdJbWFnZSBzaXplJzsNCiRsYW5nWydpbWFnZV9zaXplX2FkbWluX2luZm8nXSA9ICdFeGFtcGxlczogMjAweCAtIHdpZHRoLCB4MjAwIC0gaGVpZ2h0LCAyMDB4MjAwIC0gd2lkdGgvaGVpZ2h0JzsNCiRsYW5nWydhZG1pbl9hcmVhJ10gPSAnQWRtaW4gYXJlYSc7DQokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsNCiRsYW5nWydtb2RlJ10gPSAnTW9kZSc7DQokbGFuZ1snc2ltcGxlJ10gPSAnU2ltcGxlJzsNCiRsYW5nWydzaW1wbGVfbW9kZV9pbmZvJ10gPSAnU2ltcGxlIG1vZGUgaXMgaXRlbXMgbGlzdCB3aXRob3V0IHBhZ2luYXRpb24gd2l0aCBkcmFnJmRyb3AgY2hhbmdlIHBvc2l0aW9uLic7DQokbGFuZ1snYWR2YW5jZWQnXSA9ICdBZHZhbmNlZCc7DQokbGFuZ1snYWR2YW5jZWRfbW9kZV9pbmZvJ10gPSAnQWR2YW5jZWQgbW9kZSBpcyBleHRlbmRlZCBpdGVtcyBsaXN0ICB3aXRoIHBhZ2luYXRpb24gYW5kIG1hbnkgbW9yZSBvcHRpb24gbGlrZSBOZXdzIGFuZCBQcm9kdWN0cyBtb2R1bGUuJzsNCiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAnTW9kdWxlIGZyaWVuZGx5IG5hbWUnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX3Npbmd1bGFyJ10gPSAnSXRlbSBzaW5ndWxhcic7DQokbGFuZ1sncHJvbXB0X2l0ZW1fcGx1cmFsJ10gPSAnSXRlbSBwbHVyYWwnOw0KJGxhbmdbJ3Byb21wdF91cmxfcHJlZml4J10gPSAnVVJMIFByZWZpeCc7DQokbGFuZ1sncHJvbXB0X2RlZmF1bHRfYWN0aW9uX3BhcmFtcyddID0gJ0RlZmF1bHQgcGFyYW1zIGZvciBkZWZhdWx0IGFjdGlvbic7DQokbGFuZ1sncHJvbXB0X2RldGFpbF9hY3Rpb25fcGFyYW1zJ10gPSAnRGVmYXVsdCBwYXJhbXMgZm9yIGRldGFpbCBhY3Rpb24nOw0KJGxhbmdbJ3Byb21wdF90aXRsZV9wYXJhbV9mb3JfY2FjaGUnXSA9ICdUaXRsZSBwYXJhbSBmb3IgY2FjaGUgcmVzdWx0cyc7DQokbGFuZ1sncHJvbXB0X2Rpc3BsYXlfaW5saW5lJ10gPSAnRGlzcGxheSBkZXRhaWxzIGlubGluZSc7DQokbGFuZ1sncHJvbXB0X2xhenlsb2FkaW5nJ10gPSAnTGF6eSBsb2FkaW5nIChJZiB3ZSBkb25cJ3QgbmVlZCB1c2UgbW9kdWxlIHdpdGggZGV0YWlsIGxpbmsgb24gZnJvbnRlbmQuKSc7DQokbGFuZ1sncHJvbXB0X2hhc19hZG1pbiddID0gJ0hhcyBhZG1pbj8nOw0KJGxhbmdbJ2hhc19nYWxsZXJ5J10gPSAnSGFzIGdhbGxlcnk/JzsNCiRsYW5nWydnYWxsZXJ5J10gPSAnR2FsbGVyeSc7DQokbGFuZ1snZ2FsbGVyeV9zb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyIGZvciBnYWxsZXJ5JzsNCiRsYW5nWydmaWxlbmFtZSddID0gJ0ZpbGVuYW1lJzsNCiRsYW5nWydhZGRfZmlsZXMnXSA9ICdBZGQgIGZpbGVzJzsNCiRsYW5nWydwcmV2aWV3X2FkbWluJ10gPSAnUHJldmlldyBpbiBhZG1pbiBhcmVhPyc7DQokbGFuZ1snY29weV9hZG1pbiddID0gJ0FsbG93IGNvcHkgaXRlbT8nOw0KJGxhbmdbJ2NvcHlfYWRtaW5faW5mbyddID0gJ0FsbG93IGNvcHkgZXhpc3RpbmcgaXRlbSB3aXRob3V0IGNvcHlpbmcgaW1hZ2VzLCBmaWxlcyBhbmQgZ2FsbGVyeS4gJzsNCiRsYW5nWydwcm9tcHRfdXNlcmdyb3VwX2RlcGVuZGVuY2UnXSA9ICdVc2VyIGdyb3VwIGRlcGVuZGVuY2UnOw0KJGxhbmdbJ2luZm9fdXNlcmdyb3VwX2RlcGVuZGVuY2UnXSA9ICdVc2VyIHNlZSBjYXRlZ29yeSBhbmQgY2hpbGRyZW4gZm9yIGhpcyBhc3NvY2lhdGVkIHVzZXIgZ3JvdXAuJzsNCiRsYW5nWydwcm9tcHRfaXRlbV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdEZXRhaWwgcmV0dXJuIElEJzsNCiRsYW5nWydwcm9tcHRfaXRlbV9jYXRlZ29yeV9yZXR1cm5pZCddID0gJ0NhdGVnb3J5IHJldHVybiBJRCc7DQokbGFuZ1sncHJvbXB0X2N1c3RvbV9maWVsZHNfZGVmYXVsdF9hZG1pbiddID0gJ0RlZmF1bHQgY3VzdG9tIGZpZWxkcyBmb3IgYWRtaW4gaXRlbXMnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX2NhdGVnb3J5X2VkaXQnXSA9ICdFZGl0IGNhdGVnb3J5JzsNCiRsYW5nWydwcm9tcHRfcmVjdXJzaXZlJ10gPSAnRWRpdCByZWN1cnNpdmUnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX2RhdGVfZWRpdCddID0gJ0VkaXQgZGF0ZSBzdGFydCc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdCddID0gJ0VkaXQgZGF0ZSBlbmQnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnXSA9ICdFZGl0IGFsaWFzJzsNCiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZV9lZGl0J10gPSAnRWRpdCB0aXRsZSc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fdXJsX2VkaXQnXSA9ICdFZGl0IHVybCc7DQokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnRmlsdGVyIGRhdGUnOw0KJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3NvcnRvcmRlciddID0gJ1NvcnQgb3JkZXInOw0KJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3NvcnRpbmcnXSA9ICdTb3J0aW5nJzsNCiRsYW5nWydwcm9tcHRfc3VtbWFyeV9wYWdlbGltaXQnXSA9ICdQYWdlbGltaXQnOw0KJGxhbmdbJ3Byb21wdF9jYXRlZ29yeV9leHRyYV9sYWJlbCddID0gJ0NhdGVnb3J5IGV4dHJhIGxhYmVsJzsNCiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZV9lZGl0J10gPSAnRWRpdCB0aXRsZSc7DQokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnVmlld2FibGUgZmllbGRzJzsNCiRsYW5nWyd2aWV3J10gPSAnVmlldyc7DQokbGFuZ1sncmVvcmRlciddID0gJ1Jlb3JkZXInOw0KJGxhbmdbJ3RvJ10gPSAnVG8nOw0KJGxhbmdbJ3Bvc2l0aW9uJ10gPSAnUG9zaXRpb24nOw0KJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnQ3JlYXRlZCBkYXRlJzsNCiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdNb2RpZmllZCBkYXRlJzsNCiRsYW5nWydleGFtcGxlJ10gPSAnRXhhbXBsZSc7DQoNCiMjc2VhcmNoDQokbGFuZ1snc2VhcmNoJ10gPSAnU2VhcmNoJzsNCiRsYW5nWydyZWluZGV4J10gPSAnUmVpbmRleCc7DQokbGFuZ1sncHJvbXB0X3NlYXJjaGFibGUnXSA9ICdTZWFyY2hhYmxlJzsNCiRsYW5nWydwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJ10gPSAnRGF0ZSBlbmQgZm9yIHNlYXJjaCc7DQoNCiRsYW5nWydleHRyYSddID0gJ0V4dHJhJzsNCg0KJGxhbmdbJ3N1bmRheSddID0gJ1N1bmRheSc7DQokbGFuZ1snbW9uZGF5J10gPSAnTW9uZGF5JzsNCiRsYW5nWyd0dWVzZGF5J10gPSAnVHVlc2RheSc7DQokbGFuZ1snd2VkbmVzZGF5J10gPSAnV2VkbmVzZGF5JzsNCiRsYW5nWyd0aHVyc2RheSddID0gJ1RodXJzZGF5JzsNCiRsYW5nWydmcmlkYXknXSA9ICdGcmlkYXknOw0KJGxhbmdbJ3NhdHVyZGF5J10gPSAnU2F0dXJkYXknOw0KDQokbGFuZ1sncmVjdXJfcGVyaW9kJ10gPSAnUmVjdXIgcGVyaW9kJzsNCiRsYW5nWyd3ZWVrZGF5cyddID0gJ1dlZWtkYXlzJzsNCiRsYW5nWydubyddID0gJ05vbmUnOw0KJGxhbmdbJ2RhaWx5J10gPSAnRGFpbHknOw0KJGxhbmdbJ3BsdXJhbF9kYWlseSddID0gJ0RheXMnOw0KDQoNCi8vIGdsb2JhbA0KJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ1lvdXIgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHNhdmVkJzsNCiRsYW5nWydiYWNrJ10gPSAnQmFjayc7DQokbGFuZ1sndXAnXSA9ICdVcCc7DQokbGFuZ1snZG93biddID0gJ0Rvd24nOw0KJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsNCiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOw0KJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ0RlbGV0ZSBzZWxlY3RlZCc7DQokbGFuZ1snbm9zdWNoaWQnXSA9ICdObyBzdWNoIElEJzsNCiRsYW5nWydkZWxldGVkJ10gPSAnVGhlIGVudHJ5IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsNCiRsYW5nWydhZGQnXSA9ICdBZGQnOw0KJGxhbmdbJ2FsaWFzJ10gPSAnQWxpYXMnOw0KJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBpcyBpbnZhbGlkLiBJdCBtdXN0IGJlIGEgdmFsaWQgUEhQIHZhcmlhYmxlIG5hbWUnOw0KDQoNCiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAyLjIuMyBzZXB0ZW1iZXIsIDIwMTIgIC0gbm90aGluZyBjaGFuZ2UsIGJ1dCBmaXggeG1sIGluIHJlcG9zaXRhcnk8L2xpPg0KPGxpPlZlcnNpb24gMi4yLjIgYXVndXN0LCAyMDEyIA0KPGJyIC8+TW92ZWQgYW5kIHB1cmlmaWNhdGlvbiBvcHRpb24gdGFiLiANCjxiciAvPlJlbW92ZWQgZGVmYXVsdCBwYXJhbXMgZm9yIGRlZmF1bHQgYW5kIGRldGFpbCBhY2l0b24uIFVzZSBDR0V4dGVuc2lvbiBwbHVnaW4gY2dlX21vZHVsZV9oaW50IChzZWUgaGVscCk8L2xpPg0KPGxpPlZlcnNpb24gMi4wIDI3LiBmZWJydWFyLCAyMDEyIA0KPGJyIC8+YWRkIGdhbGxlcnkgLSBtdXRsaXVwbG9hZCwgc29ydGluZywgcmVzaXplDQo8L2xpPg0KPGxpPlZlcnNpb24gMS45IEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBjYXRlZ29yeSBjdXN0b20gZmllbGRzLCBtb3ZlZCB0byB0aGVpciBvd24gc2VjdGlvbi4NCjxiciAvPiB1cGdyYWRlIHNjcmlwdCBjb21wYXRpYmxlIHdpdGggMS44LjEgdmVyc2lvbg0KPGJyIC8+IGZpeCBzb21lIGlzc3Vlcw0KPC9saT4NCjxsaT5WZXJzaW9uIDEuOC4xIEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBvcHRpb24gZm9yIHByZXZpZXcgaW4gYWRtaW4NCjxiciAvPmFkZCBwcmV2aWV3IGljb24gaW4gYWRtaW4NCjxiciAvPmFkZCBvcHRpb24gZm9yIGNvcHkgaXRlbQ0KPGJyIC8+Zml4IGF1dGxvYWQgY2xhc3MgZ2VuZXJhdG9yX29wdHMgaW4gYWRtaW4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjggSmFudWFyLCAyMDExIC0gIGl0ZW0gcHJldmlldywgYnVnIGZpeGVzPC9saT4NCjxsaT5WZXJzaW9uIDEuNyBOb3ZlbWJlciwgMjAxMSAtICBpbml0IHJlbGVhc2U8L2xpPg0KPC91bD4nOw0KDQovLyBtb2R1bGUgaGVscA0KJGxhbmdbJ2hlbHAnXSA9ICcNCg0KPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5Nb2R1bGUgZ2VuZXJhdG9yIGxldHMgeW91IGNyZWF0ZSBhIGxpc3QgdGhlIG1vZHVsZXMgYXMgTmV3cywgUHJvZHVjdHMgYXRjLiBJbmRpdmlkdWFsIG1vZHVsZXMsIHlvdSBjYW4gbGluayBiZXR3ZWVuIHRoZW0uICBZb3UgY2FuIGNyZWF0ZSBhIG1vZHVsZSBQZW9wbGUsIEdlbmRlciBhbmQgVHlwZSBvZiBlbXBsb3ltZW50IGFuZCBsaW5rIGJldHdlbiB0aGVtLjwvcD4NCjxwPkVhY2ggbW9kdWxlIGluY2x1ZGVzIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZWQgY2F0ZWdvcmllcywgY3VzdG9tIGZpZWxkcyAgYW5kIGVkaXRlZCBhIG51bWJlciBvZiBzZXR0aW5ncy48L3A+DQo8cD5Zb3UgY2FuIHVzZSB0aGUgbGlzdCB0ZW1wbGF0ZXMsIGNhdGVnb3JpZXMgdGVtcGxhdGVzICwgZmlsdGVyIHRlbXBsYXRlcywgb3IgZGV0YWlsIHRlbXBsYXRlcyBhcyBpdCBhbHJlYWR5IGtub3duIG1vZHVsZXMgZnJvbSBOZXdzLCBQcm9kdWN0cyBldGMuPC9wPicgLiBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fZmlsZV9fKSAuICcvLi4vYXV0aG9yLmluYycpOw0KDQoNCiRsYW5nWydldmVudGRlc2MtSXRlbUFkZGVkJ10gPSAnU2VudCB3aGVuIGFuIGl0ZW0gaXMgYWRkZWQuJzsNCiRsYW5nWydldmVudGhlbHAtSXRlbUFkZGVkJ10gPSAnPHA+U2VudCB3aGVuIGFuIGl0ZW0gaXMgYWRkZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwiaXRlbV9pZFwiIC0gSWQgb2YgdGhlIGl0ZW0gaXRlbTwvbGk+DQo8bGk+XCJjYXRlZ29yeV9pZFwiIC0gSWQgb2YgdGhlIGNhdGVnb3J5IGZvciB0aGlzIGl0ZW08L2xpPg0KPGxpPlwidGl0bGVcIiAtIFRpdGxlIG9mIHRoZSBpdGVtPC9saT4NCjxsaT5cImFjdGl2ZSIgLSBTdGF0dXMgb2YgdGhlIGl0ZW0gKCIwIiBvciAiMSIpPC9saT4NCjxsaT5cIml0ZW1fZGF0ZSIgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdGFydCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPGxpPlwiaXRlbV9kYXRlX2VuZFwiIC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RvcCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPC91bD4NCic7DQokbGFuZ1snZXZlbnRkZXNjLUl0ZW1FZGl0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuJzsNCiRsYW5nWydldmVudGhlbHAtSXRlbUVkaXRlZCddID0gJzxwPlNlbnQgd2hlbiBhbiBpdGVtIGlzIGVkaXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCJpdGVtX2lkXCIgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjxsaT5cImNhdGVnb3J5X2lkXCIgLSBJZCBvZiB0aGUgY2F0ZWdvcnkgZm9yIHRoaXMgaXRlbTwvbGk+DQo8bGk+XCJ0aXRsZVwiIC0gVGl0bGUgb2YgdGhlIGl0ZW08L2xpPg0KPGxpPlwiYWN0aXZlIiAtIFN0YXR1cyBvZiB0aGUgaXRlbSAoIjAiIG9yICIxIik8L2xpPg0KPGxpPlwiaXRlbV9kYXRlIiAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0YXJ0IGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8bGk+XCJpdGVtX2RhdGVfZW5kXCIgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdG9wIGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8L3VsPg0KJzsNCiRsYW5nWydldmVudGRlc2MtSXRlbURlbGV0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLic7DQokbGFuZ1snZXZlbnRoZWxwLUl0ZW1EZWxldGVkJ10gPSAnPHA+U2VudCB3aGVuIGFuIGl0ZW0gaXMgZGVsZXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCJpdGVtX2lkXCIgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjwvdWw+DQonOw0KJGxhbmdbJ2V2ZW50ZGVzYy1DYXRlZ29yeUFkZGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgYWRkZWQuJzsNCiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlBZGRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cImNhdGVnb3J5X2lkXCIgLSBJZCBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCJuYW1lXCIgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOw0KJGxhbmdbJ2V2ZW50ZGVzYy1DYXRlZ29yeUVkaXRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGVkaXRlZC4nOw0KJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeUVkaXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGVkaXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCJjYXRlZ29yeV9pZFwiIC0gSWQgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPGxpPlwibmFtZVwiIC0gTmFtZSBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCJvcmlnbmFtZVwiIC0gVGhlIG9yaWdpbmFsIG5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7DQokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RGVsZXRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuJzsNCiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlEZWxldGVkJ10gPSAnPHA+U2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZGVsZXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCJjYXRlZ29yeV9pZFwiIC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cIm5hbWVcIiAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7DQokbGFuZ1snZXZlbnRkZXNjLUl0ZW1zUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGl0ZW1zIGFyZSByZW9yZGVyZWQuJzsNCiRsYW5nWydldmVudGhlbHAtSXRlbXNSZW9yZGVyZWQnXSA9ICc8cD5TZW50IHdoZW4gaXRlbXMgaXMgcmVvcmRlcmVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cImNhdGVnb3J5X2lkXCIgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwibmFtZVwiIC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsNCiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcmllc1Jlb3JkZXJlZCddID0gJ1NlbnQgd2hlbiBjYXRlZ29yaWVzIGFyZSByZW9yZGVyZWQuJzsNCiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcmllc1Jlb3JkZXJlZCddID0gJzxwPlNlbnQgd2hlbiBjYXRlZ29yaWVzIGFyZSByZW9yZGVyZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwiY2F0ZWdvcnlfaWRcIiAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCJuYW1lXCIgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBHZW5lcmF0b3InOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdQb3N0IEluc3RhbGwgTWVzc2FnZSwgKGUuZy4sIEJlIHN1cmUgdG8gc2V0ICZxdW90O21hbmFnZSBtbGVfY21zJnF1b3Q7IHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEpJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bGUgR2VuZXJhdG9yIHdhcyBzdWNjZXNzZnVsIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IEFyZSB5b3Ugc3VyZQ0KeW91IHdhbnQgdG8gdW5zaW5zdGFsbCB0aGlzIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFkZCBtdWx0aWxhbmd1YWdlIHNvbHV0aW9ucyB0byB5b3UgQ01TIE1hZGUgU2ltcGxlJzsKJGxhbmdbJ2luZm9fc3VjY2VzcyddID0gJ1N1Y2Nlcyc7CiRsYW5nWydpbmZvX2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdPcHRpb25zIHVwZGF0ZWQnOwokbGFuZ1snbW9kdWxlX21pc3NpbmcnXSA9ICdQbGVhc2UsIGluc3RhbCBtb2R1bGUgJXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JzsKJGxhbmdbJ21vZHVsZV9kaXJfcGVybWlzc2lvbiddID0gJ01vZHVsZSBkaXJlY290cnkgbmVlZCB3cml0ZWFibGUgcGVybWlzc2lvbi4gUGxlYXNlIGNoYW5nZSBwZXJtaXNzaW9uIGZvciBtb2R1bGUgZGlyZWN0b3J5Lic7CiRsYW5nWydwbGVhc2VfaW5zdGFsbF9pdCddID0gJ05vdGU6IGluc3RhbGwgdGhpcyBtb2R1bGUgdGhyb3VnaCAmcXVvdDtFeHRlbnNpb25zICZyYXF1bzsgTW9kdWxlcyZxdW90Oyc7CiRsYW5nWydjcmVhdGVfbW9kdWxlJ10gPSAnQ3JlYXRlIG5ldyBtb2R1bGUnOwokbGFuZ1snZGV0YWlsX3BhZ2UnXSA9ICdEZXRhaWwgUGFnZSc7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ3dhcm5pbmdfcHJldmlldyddID0gJ1dhcm5pbmc6IFRoaXMgcHJldmlldyBwYW5lbCBiZWhhdmVzIG11Y2ggbGlrZSBhIGJyb3dzZXIgd2luZG93IGFsbG93aW5nIHlvdSB0byBuYXZpZ2F0ZSBhd2F5IGZyb20gdGhlIGluaXRpYWxseSBwcmV2aWV3ZWQgcGFnZS4gSG93ZXZlciwgaWYgeW91IGRvIHRoYXQsIHlvdSBtYXkgZXhwZXJpZW5jZSB1bmV4cGVjdGVkIGJlaGF2aW91ci4gIE5hdmlnYXRpbmcgYXdheSBmcm9tIHRoZSBpbml0aWFsIHBhZ2UgYW5kIHJldHVybmluZyB3aWxsIG5vdCBnaXZlIHRoZSBleHBlY3RlZCByZXN1bHRzLjxici8+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgcHJldmlldyBkb2VzIG5vdCB1cGxvYWQgZmlsZXMgeW91IG1heSBoYXZlIHNlbGVjdGVkIGZvciB1cGxvYWQuJzsKJGxhbmdbJ2FydGljbGUnXSA9ICdBcnRpY2xlJzsKJGxhbmdbJ3ByZXZpZXcnXSA9ICdQcmV2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3JldHVybmlkJ10gPSAnVGhpcyBwcmVmZXJlbmNlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGEgcGFnZSAoYW5kIHRoZXJlZm9yZSBhIHRlbXBsYXRlKSB0byB1c2UgdG8gdmlldyBkZXRhaWwgcGFnZXMuICBJbmRpdmlkdWFsaXplZCBOZXdzIERldGFpbCBVUkxTIHdpbGwgbm90IHdvcmsgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNldCB0byBhIHZhbGlkIHBhZ2UuICBBZGRpdGlvbmFsbHksIGlmIHRoaXMgcHJlZmVyZW5jZSBpcyBzZXQsIGFuZCBubyBkZXRhaWxwYWdlIHBhcmFtZXRlciBpcyBwcm92aWRlZCBvbiB0aGUgbmV3cyB0YWcsIHRoZW4gdGhpcyB2YWx1ZSB3aWxsIGJlIHVzZWQgZm9yIGRldGFpbCBsaW5rcyc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdEZWZhdWx0IHBhZ2UgdG8gdXNlIGZvciBkZXRhaWwgdmlld3MnOwokbGFuZ1snZ2VuZXJhdG9yJ10gPSAnR2VuZXJhdG9yJzsKJGxhbmdbJ3JlZ2VuZXJhdGUnXSA9ICdSZS1nZW5lcmF0ZSc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydhdHRhY2gnXSA9ICdBdHRhY2gnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snY3JlYXRlZGF0ZSddID0gJ0NyZWF0ZSBkYXRlJzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ01vZGlmaWVkIGRhdGUnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3JfcmVuYW1lX2RpciddID0gJ1JlbmFtZSBkaXIgd2l0aG91dCBzdWNjZXNzIChwZXJtaXNzaW9uPyknOwokbGFuZ1snZXJyb3JfcmVwbGFjZV9maWxlcyddID0gJ01vZHVsZSBjYW5ub3QgYnkgZWRpdGVkLiBQbGVhc2UgZWRpdCBpdCBtYW51YWxseS4nOwokbGFuZ1snZXJyb3JfbW9kdWxlX2V4aXN0cyddID0gJ1RoaXMgbW9kdWxlIGV4aXN0cy4gRGVsZXRlIGRpciBvciByZS1nZW5lcmF0ZS4nOwokbGFuZ1snZXJyb3JfdW5paW5zdGFsX21vZHVsZSddID0gJ1RoaXMgbW9kdWxlIGV4aXN0cy4gVW5paW5zdGFsIGl0Lic7CiRsYW5nWydpdGVtJ10gPSAnSXRlbSc7CiRsYW5nWydpdGVtcyddID0gJ0l0ZW1zJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ29wdGlvbiddID0gJ09wdGlvbic7CiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdUaXRsZSc7CiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZSddID0gJ0l0ZW0gdGl0bGUnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7CiRsYW5nWyd1cmwnXSA9ICdVcmwnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsKJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdJdGVtIHRpdGxlIGlzIGVtcHR5JzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnUmVxdWlyZWQgZmllbGQgaXMgZW1wdHknOwokbGFuZ1sndG9vX2xvbmcnXSA9ICdGaWVsZCB2YWx1ZSBleGNlZWRzIG1heCBsZW5ndGgnOwokbGFuZ1snYXBwcm92ZSddID0gJ1NldCBTdGF0dXMgdG8gJiMwMzk7QWN0aXZlJiMwMzk7JzsKJGxhbmdbJ3JldmVydCddID0gJ1NldCBTdGF0dXMgdG8gJiMwMzk7SW5hY3RpdmUmIzAzOTsnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFzdCBNb2RpZmllZCc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnZSAlcyBvZiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnZSBMaW1pdCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmNsdWRlIENoaWxkcmVuPyc7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaHknOwokbGFuZ1snc29ydF9ieSddID0gJ1NvcnQgQnknOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NvcnQgT3JkZXInOwokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snZGF0ZV9lbmQnXSA9ICdFbmQgZGF0ZSc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVycyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRpbmcnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRpbmcnOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ0FsbCBjYXRlZ29yaWVzJzsKJGxhbmdbJ2Zyb20nXSA9ICdGcm9tJzsKJGxhbmdbJ3RvJ10gPSAnVG8nOwokbGFuZ1sncG9zaXRpb24nXSA9ICdQb3NpdGlvbic7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgZGF0ZSc7CiRsYW5nWydzYXZlX29yZGVyJ10gPSAnU2F2ZSBvcmRlcic7CiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdFZGl0IEZpZWxkIERlZmluaXRpb24nOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdBZGQgRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnSGVscGZ1bCB0aXAnOwokbGFuZ1snZmllbGRkZWZfdHlwZSddID0gJ1R5cGUnOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOwokbGFuZ1snZmllbGRkZWZfZnJvbnRlbmQnXSA9ICdGcm9udCBFbmQnOwokbGFuZ1snZmllbGRkZWZfZWRpdHZpZXcnXSA9ICdWaWV3IG9ubHkgaW4gZWRpdCc7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdBZGQgdG8gZmlsdGVyIGluIGZyb250ZW5kJzsKJGxhbmdbJ2ZpZWxkZGVmX2ZpbHRlcl9hZG1pbiddID0gJ0FkZCB0byBmaWx0ZXIgaW4gYWRtaW4gYXJlYSc7CiRsYW5nWydmaWVsZGRlZl9zZWFyY2hhYmxlJ10gPSAnU2VhcmNoYWJsZSc7CiRsYW5nWydleHRyYSddID0gJ0V4dHJhJzsKJGxhbmdbJ3NlY3Rpb24nXSA9ICdTZWN0aW9uJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0IElucHV0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdTZWxlY3QgRGF0ZSc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ1VwbG9hZCBGaWxlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlJzsKJGxhbmdbJ3NlbGVjdF9kZWZhdWx0J10gPSAnLS0gU2VsZWN0IC0tJzsKJGxhbmdbJ3NlbGVjdF9maWxlJ10gPSAnU2VsZWN0IEZpbGUnOwokbGFuZ1snY29sb3JfcGlja2VyJ10gPSAnQ29sb3IgcGlja2VyJzsKJGxhbmdbJ21vZHVsZV9saW5rJ10gPSAnTGluayB0byBtb2R1bGUnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9lbXB0eSddID0gJ0ZpZWxkIGRlZmluaXRpb24gbmFtZSBpcyBlbXB0eSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ0ZpZWxkIGRlZmluaXRpb24gbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydpbnZhbGlkJ10gPSAnRmllbGQgdmFsdWUgaXMgaW52YWxpZCc7CiRsYW5nWyd0YWInXSA9ICdUYWInOwokbGFuZ1snZHJvcGRvd25mcm9tbW9kdWxlJ10gPSAnRHJvcGRvd24gZnJvbSBtb2R1bGUnOwokbGFuZ1snc3RhdGljJ10gPSAnU3RhdGljJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ1Byb2JsZW0gb2NjdXJyZWQgdXBsb2FkaW5nIGEgZmlsZSc7CiRsYW5nWydlcnJvcl9ta2RpciddID0gJ0NvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5OiAlcyc7CiRsYW5nWydlcnJvcl9maWxlc2l6ZSddID0gJ0FuIHVwbG9hZGVkIGZpbGUgZXhjZWVkZWQgdGhlIG1heGltdW0gYWxsb3dlZCBzaXplJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxldHlwZSddID0gJ0Nhbm5vdCB1cGxvYWQgdGhpcyB0eXBlIG9mIGZpbGUnOwokbGFuZ1snZXJyb3JfbW92ZWZpbGUnXSA9ICdDb3VsZCBub3QgY3JlYXRlIGZpbGU6ICVzJzsKJGxhbmdbJ2ludmFsaWR1cmwnXSA9ICdVcmwgaXMgaW52YWxpZC4nOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0VkaXQgQ2F0ZWdvcnknOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBZGQgQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ0NhdGVnb3J5IG5hbWUnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZV9lbXB0eSddID0gJ0NhdGVnb3J5IG5hbWUgaXMgZW1wdHknOwokbGFuZ1snY2F0ZWdvcnl1cGRhdGVkJ10gPSAnQ2F0ZWdvcnkgdXBkYXRlZC4nOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0NhdGVnb3J5IGFkZGVkLic7CiRsYW5nWydjYXRlZ29yeV90ZW1wbGF0ZSddID0gJ0NhdGVnb3J5IFRlbXBsYXRlcyc7CiRsYW5nWydzdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1snZmlsdGVyX3RlbXBsYXRlJ10gPSAnRmlsdGVyIFRlbXBsYXRlcyc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ0RlZmF1bHQgVGVtcGxhdGVzJzsKJGxhbmdbJ2VkaXR0ZW1wbGF0ZSddID0gJ0VkaXQgVGVtcGxhdGUnOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdBZGQgJXMgVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ1RlbXBsYXRlIG5hbWUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ1RlbXBsYXRlIG5hbWUgaXMgZW1wdHknOwokbGFuZ1snZ2xvYmFsJ10gPSAnR2xvYmFsJzsKJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ1lvdXIgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHNhdmVkJzsKJGxhbmdbJ2JhY2snXSA9ICdCYWNrJzsKJGxhbmdbJ3VwJ10gPSAnVXAnOwokbGFuZ1snZG93biddID0gJ0Rvd24nOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ25vc3VjaGlkJ10gPSAnTm8gc3VjaCBJRCc7CiRsYW5nWydkZWxldGVkJ10gPSAnVGhlIGVudHJ5IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWydhbGlhc19pbnZhbGlkJ10gPSAnQWxpYXMgaXMgaW52YWxpZC4gSXQgbXVzdCBiZSBhIHZhbGlkIFBIUCB2YXJpYWJsZSBuYW1lJzsKJGxhbmdbJ2VtcHR5X3BhcmFtJ10gPSAnVGhlIHBhcmFtZXRlciB3YXMgZW1wdHkuIFRyeSBhZ2Fpbi4nOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ09wZXJhdGlvbiBDYW5jZWxsZWQnOwokbGFuZ1snb3BlcmF0aW9uX2NvbXBsZXRlJ10gPSAnT3BlcmF0aW9uIENvbXBsZXRlJzsKJGxhbmdbJ29mJ10gPSAnb2YnOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdCBBbGwnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdCBPbmUnOwokbGFuZ1snc2V0ZHJhZnQnXSA9ICdTZXQgQXMgSW5hY3RpdmUnOwokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnU2V0IEFzIEFjdGl2ZSc7CiRsYW5nWyd3aXRoX3NlbGVjdGVkJ10gPSAnV2l0aCBTZWxlY3RlZCc7CiRsYW5nWydnbyddID0gJ0dvJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05vdGhpbmcgc2VsZWN0ZWQnOwokbGFuZ1snaW1hZ2VzX3NpemVfYWRtaW4nXSA9ICdJbWFnZSBzaXplJzsKJGxhbmdbJ2ltYWdlX3NpemVfYWRtaW5faW5mbyddID0gJ0V4YW1wbGVzOiAyMDB4IC0gd2lkdGgsIHgyMDAgLSBoZWlnaHQsIDIwMHgyMDAgLSB3aWR0aC9oZWlnaHQnOwokbGFuZ1snYWRtaW5fYXJlYSddID0gJ0FkbWluIGFyZWEnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ21vZGUnXSA9ICdNb2RlJzsKJGxhbmdbJ3NpbXBsZSddID0gJ1NpbXBsZSc7CiRsYW5nWydhZHZhbmNlZCddID0gJ0FkdmFuY2VkJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdNb2R1bGUgZnJpZW5kbHkgbmFtZSc7CiRsYW5nWydwcm9tcHRfaXRlbV9zaW5ndWxhciddID0gJ0l0ZW0gc2luZ3VsYXInOwokbGFuZ1sncHJvbXB0X2l0ZW1fcGx1cmFsJ10gPSAnSXRlbSBwbHVyYWwnOwokbGFuZ1sncHJvbXB0X3VybF9wcmVmaXgnXSA9ICdVUkwgUHJlZml4JzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2FjdGlvbl9wYXJhbXMnXSA9ICdEZWZhdWx0IHBhcmFtcyBmb3IgZGVmYXVsdCBhY3Rpb24nOwokbGFuZ1sncHJvbXB0X2RldGFpbF9hY3Rpb25fcGFyYW1zJ10gPSAnRGVmYXVsdCBwYXJhbXMgZm9yIGRldGFpbCBhY3Rpb24nOwokbGFuZ1sncHJvbXB0X3RpdGxlX3BhcmFtX2Zvcl9jYWNoZSddID0gJ1RpdGxlIHBhcmFtIGZvciBjYWNoZSByZXN1bHRzJzsKJGxhbmdbJ3Byb21wdF9kaXNwbGF5X2lubGluZSddID0gJ0Rpc3BsYXkgZGV0YWlscyBpbmxpbmUnOwokbGFuZ1sncHJvbXB0X2xhenlsb2FkaW5nJ10gPSAnTGF6eSBsb2FkaW5nIChJZiB3ZSBkb24mIzAzOTt0IG5lZWQgdXNlIG1vZHVsZSB3aXRoIGRldGFpbCBsaW5rIG9uIGZyb250ZW5kLiknOwokbGFuZ1sncHJvbXB0X2hhc19hZG1pbiddID0gJ0hhcyBhZG1pbj8nOwokbGFuZ1snaGFzX2dhbGxlcnknXSA9ICdIYXMgZ2FsbGVyeT8nOwokbGFuZ1snZ2FsbGVyeSddID0gJ0dhbGxlcnknOwokbGFuZ1snZ2FsbGVyeV9zb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyIGZvciBnYWxsZXJ5JzsKJGxhbmdbJ2ZpbGVuYW1lJ10gPSAnRmlsZW5hbWUnOwokbGFuZ1snYWRkX2ZpbGVzJ10gPSAnQWRkICBmaWxlcyc7CiRsYW5nWydwcmV2aWV3X2FkbWluJ10gPSAnUHJldmlldyBpbiBhZG1pbiBhcmVhPyc7CiRsYW5nWydjb3B5X2FkbWluJ10gPSAnQWxsb3cgY29weSBpdGVtPyc7CiRsYW5nWydwcm9tcHRfdXNlcmdyb3VwX2RlcGVuZGVuY2UnXSA9ICdVc2VyIGdyb3VwIGRlcGVuZGVuY2UnOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGV0YWlsX3JldHVybmlkJ10gPSAnRGV0YWlsIHJldHVybiBJRCc7CiRsYW5nWydwcm9tcHRfaXRlbV9jYXRlZ29yeV9yZXR1cm5pZCddID0gJ0NhdGVnb3J5IHJldHVybiBJRCc7CiRsYW5nWydwcm9tcHRfY3VzdG9tX2ZpZWxkc19kZWZhdWx0X2FkbWluJ10gPSAnRGVmYXVsdCBjdXN0b20gZmllbGRzIGZvciBhZG1pbiBpdGVtcyc7CiRsYW5nWydwcm9tcHRfaXRlbV9jYXRlZ29yeV9lZGl0J10gPSAnRWRpdCBjYXRlZ29yeSc7CiRsYW5nWydwcm9tcHRfcmVjdXJzaXZlJ10gPSAnRWRpdCByZWN1cnNpdmUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0J10gPSAnRWRpdCBkYXRlJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2RhdGVfZW5kX2VkaXQnXSA9ICdFZGl0IGRhdGUgZW5kJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnXSA9ICdFZGl0IGFsaWFzJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlX2VkaXQnXSA9ICdFZGl0IHRpdGxlJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3VybF9lZGl0J10gPSAnRWRpdCB1cmwnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnRmlsdGVyIGRhdGUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJ10gPSAnU29ydGluZyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9wYWdlbGltaXQnXSA9ICdQYWdlbGltaXQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4dHJhX2xhYmVsJ10gPSAnQ2F0ZWdvcnkgZXh0cmEgbGFiZWwnOwokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnVmlld2FibGUgZmllbGRzJzsKJGxhbmdbJ3ZpZXcnXSA9ICdWaWV3JzsKJGxhbmdbJ3Jlb3JkZXInXSA9ICdSZW9yZGVyJzsKJGxhbmdbJ3NlYXJjaCddID0gJ1NlYXJjaCc7CiRsYW5nWydyZWluZGV4J10gPSAnUmVpbmRleCc7CiRsYW5nWydwcm9tcHRfc2VhcmNoYWJsZSddID0gJ1NlYXJjaGFibGUnOwokbGFuZ1sncHJvbXB0X3NlYXJjaF9kYXRlX2VuZCddID0gJ0RhdGUgZW5kIGZvciBzZWFyY2gnOwokbGFuZ1snc3VuZGF5J10gPSAnU3VuZGF5JzsKJGxhbmdbJ21vbmRheSddID0gJ01vbmRheSc7CiRsYW5nWyd0dWVzZGF5J10gPSAnVHVlc2RheSc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdXZWRuZXNkYXknOwokbGFuZ1sndGh1cnNkYXknXSA9ICdUaHVyc2RheSc7CiRsYW5nWydmcmlkYXknXSA9ICdGcmlkYXknOwokbGFuZ1snc2F0dXJkYXknXSA9ICdTYXR1cmRheSc7CiRsYW5nWydyZWN1cl9wZXJpb2QnXSA9ICdSZWN1ciBwZXJpb2QnOwokbGFuZ1snd2Vla2RheXMnXSA9ICdXZWVrZGF5cyc7CiRsYW5nWydubyddID0gJ05vbmUnOwokbGFuZ1snZGFpbHknXSA9ICdEYWlseSc7CiRsYW5nWydwbHVyYWxfZGFpbHknXSA9ICdEYXlzJzsKJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ0RlbGV0ZSBzZWxlY3RlZCc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiBOb3ZlbWJlciwgMjAxMSAtICBpbml0IHJlbGVhc2U8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPk1vZHVsZSBnZW5lcmF0b3IgbGV0cyB5b3UgY3JlYXRlIGEgbGlzdCB0aGUgbW9kdWxlcyBhcyBOZXdzLCBQcm9kdWN0cyBhdGMuIEluZGl2aWR1YWwgbW9kdWxlcywgeW91IGNhbiBsaW5rIGJldHdlZW4gdGhlbS4gIFlvdSBjYW4gY3JlYXRlIGEgbW9kdWxlIFBlb3BsZSwgR2VuZGVyIGFuZCBUeXBlIG9mIGVtcGxveW1lbnQgYW5kIGxpbmsgYmV0d2VuIHRoZW0uPC9wPg0KPHA+RWFjaCBtb2R1bGUgaW5jbHVkZXMgdGhlIGFiaWxpdHkgdG8gY3JlYXRlZCBjYXRlZ29yaWVzLCBjdXN0b20gZmllbGRzICBhbmQgZWRpdGVkIGEgbnVtYmVyIG9mIHNldHRpbmdzLjwvcD4NCjxwPllvdSBjYW4gdXNlIHRoZSBsaXN0IHRlbXBsYXRlcyAsIGNhdGVnb3JpZXMgdGVtcGxhdGVzICwgZmlsdGVyIHRlbXBsYXRlcywgb3IgZGV0YWlsIHRlbXBsYXRlcyBhcyBpdCBhbHJlYWR5IGtub3duIG1vZHVsZXMgZnJvbSBOZXdzLCBQcm9kdWN0cyBldGMuPC9wPic7CiRsYW5nWydldmVudGRlc2MtSXRlbUFkZGVkJ10gPSAnU2VudCB3aGVuIGFuIGl0ZW0gaXMgYWRkZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtQWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2l0ZW1faWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gaXRlbTwvbGk+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBjYXRlZ29yeSBmb3IgdGhpcyBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7dGl0bGVcJnF1b3Q7IC0gVGl0bGUgb2YgdGhlIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDthY3RpdmUmcXVvdDsgLSBTdGF0dXMgb2YgdGhlIGl0ZW0gKCZxdW90OzAmcXVvdDsgb3IgJnF1b3Q7MSZxdW90Oyk8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGUmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdGFydCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGVfZW5kXCZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0b3AgYmVpbmcgZGlzcGxheWVkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1FZGl0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtRWRpdGVkJ10gPSAnPHA+U2VudCB3aGVuIGFuIGl0ZW0gaXMgZWRpdGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGNhdGVnb3J5IGZvciB0aGlzIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDt0aXRsZVwmcXVvdDsgLSBUaXRsZSBvZiB0aGUgaXRlbTwvbGk+DQo8bGk+XCZxdW90O2FjdGl2ZSZxdW90OyAtIFN0YXR1cyBvZiB0aGUgaXRlbSAoJnF1b3Q7MCZxdW90OyBvciAmcXVvdDsxJnF1b3Q7KTwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZSZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0YXJ0IGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZV9lbmRcJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RvcCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbURlbGV0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLic7CiRsYW5nWydldmVudGhlbHAtSXRlbURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5QWRkZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBhZGRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5QWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RWRpdGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZWRpdGVkLic7CiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlFZGl0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBlZGl0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCZxdW90O29yaWduYW1lXCZxdW90OyAtIFRoZSBvcmlnaW5hbCBuYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RGVsZXRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1zUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGl0ZW1zIGFyZSByZW9yZGVyZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtc1Jlb3JkZXJlZCddID0gJzxwPlNlbnQgd2hlbiBpdGVtcyBpcyByZW9yZGVyZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcmllc1Jlb3JkZXJlZCddID0gJ1NlbnQgd2hlbiBjYXRlZ29yaWVzIGFyZSByZW9yZGVyZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTUzNjg0OTExNS0xMzA3OTgzNDk1MjEwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTk3ODA3OTg1Ni4xMzMwMTY3NTg3LjEzMzA0NjA4MDYuMTMzMDQ2Mjc1OS4xNyc7CiRsYW5nWyd1dG16J10gPSAnMS4xMzIxMzAyNzgyLjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4zLjEwLjEzMzA0NjI3NTknOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBHZW5lcmF0b3IgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQmVyaWNodCB2b29yYWZnYWFuZCBhYW4gZGUgaW5zdGFsbGF0aWUsIChiaWp2b29yYmVlbGQ6IGNvbnRyb2xlZXIgdXcgcmVjaHRlbiB2b29yIGhldCBnZWJydWlrIHZhbiBkZXplIG1vZHVsZSknOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsZSBHZW5lcmF0b3IgaXMgc3VjY2Vzdm9sIGdlZGUmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFY2h0PyBXZWV0IHUgaGV0IHpla2VyPw0Kd2lsdCB1IGRlemUgcHJhY2h0aWdlIG1vZHVsZSB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgZ2VkZSZpdW1sO25zdGFsbGVlcmQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaWUgJXMgZ2UmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBpcyBiaWpnZXdlcmt0IG5hYXIgdmVyc2llICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0RlemUgbW9kdWxlIHZvZWd0IGZ1bmN0aWVzIHZvb3IgbWVlcnRhbGxpZ2hlaWQgdG9lIGFhbiB1dyBpbnN0YWxsYXRpZSB2YW4gQ01TIE1hZGUgU2ltcGxlJzsKJGxhbmdbJ2luZm9fc3VjY2VzcyddID0gJ0dlc2xhYWdkJzsKJGxhbmdbJ2luZm9fZXJyb3InXSA9ICdGb3V0JzsKJGxhbmdbJ29wdGlvbnN1cGRhdGVkJ10gPSAnT3B0aWVzIGJpamdld2Vya3QnOwokbGFuZ1snbW9kdWxlX21pc3NpbmcnXSA9ICdWZXJ3aWpkZXIgYWxzdHVibGllZnQgZGUgbW9kdWxlICVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ21vZHVsZV9kaXJfcGVybWlzc2lvbiddID0gJ0RlIG1vZHVsZW1hcCBtb2V0IGJlc2NocmlqZmJhYXIgemlqbi4gVmVyYW5kZXIgZGUgcmVjaHRlbiB2b29yIGRlemUgbW9kdWxlLic7CiRsYW5nWydnZW5lcmF0b3InXSA9ICdHZW5lcmF0b3IgJzsKJGxhbmdbJ3JlZ2VuZXJhdGUnXSA9ICdPcG5pZXV3IGdlbmVyZXJlbic7CiRsYW5nWyduYW1lJ10gPSAnTmFhbSc7CiRsYW5nWydhdHRhY2gnXSA9ICdLb3BwZWxlbic7CiRsYW5nWydlcnJvciddID0gJ0ZvdXQhJzsKJGxhbmdbJ2NyZWF0ZWRhdGUnXSA9ICdBYW5tYWFrZGF0dW0nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnQmV3ZXJraW5nc2RhdHVtJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICcgJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1RvZWdhbmcgZ2V3ZWlnZXJkLCBjb250cm9sZWVyIHV3IHJlY2h0ZW4uJzsKJGxhbmdbJ2Vycm9yX3JlbmFtZV9kaXInXSA9ICdIZXJub2VtZW4gdmFuIGRlIG1hcCBuaWV0IG1vZ2VsaWprIChyZWNodGVucHJvYmxlZW0/KSc7CiRsYW5nWydlcnJvcl9yZXBsYWNlX2ZpbGVzJ10gPSAnTW9kdWxlIGthbiBuaWV0IHdvcmRlbiBiZXdlcmt0LiBCZXdlcmsgZGV6ZSBoYW5kbWF0aWcuJzsKJGxhbmdbJ2Vycm9yX21vZHVsZV9leGlzdHMnXSA9ICdEZXplIG1vZHVsZSBiZXN0YWF0LiBWZXJ3aWpkZXIgZGUgbWFwIG9mIG1hYWsgb3BuaWV1dyBhYW4uJzsKJGxhbmdbJ2Vycm9yX3VuaWluc3RhbF9tb2R1bGUnXSA9ICdEZXplIG1vZHVsZSBiZXN0YWF0LiBWZXJ3aWpkZXIgaGV0Lic7CiRsYW5nWydpdGVtJ10gPSAnSXRlbSAnOwokbGFuZ1snaXRlbXMnXSA9ICdJdGVtcyAnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdWZWxkZGVmZW5pdGllJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ1ZlbGRkZWZlbml0aWVzJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWUmZXVtbDtuJzsKJGxhbmdbJ29wdGlvbiddID0gJ09wdGllJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpZXMnOwokbGFuZ1snc3VibWl0J10gPSAnT3BzbGFhbic7CiRsYW5nWydwcmV2cGFnZSddID0gJzwgJzsKJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdUaXRlbCc7CiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZSddID0gJ0l0ZW0gdGl0ZWwnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyAnOwokbGFuZ1sndXJsJ10gPSAnVVJMJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGllZic7CiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAnSXRlbXRpdGVsIGlzIGxlZWdnZWxhdGVuJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnVmVyZWlzdCB2ZWxkIGlzIGxlZWdnZWxhdGVuJzsKJGxhbmdbJ3Rvb19sb25nJ10gPSAnVmVsZHdhYXJkZSBvdmVyc2NocmlqZHQgbWF4aW1hYWwgdG9lZ2VzdGFuZSBsZW5ndGUnOwokbGFuZ1snYXBwcm92ZSddID0gJ1N0ZWwgc3RhdHVzIGluIG9wICYjMDM5O0FjdGllZiYjMDM5Oyc7CiRsYW5nWydyZXZlcnQnXSA9ICdTdGVsIHN0YXR1cyBpbiBvcCAmIzAzOTtJbmFjdGllZiYjMDM5Oyc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+ICc7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFhdHN0IGJpamdld2Vya3QnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnaW5hICVzIHZhbiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnaW5hIGxpbWlldCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCAnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+ICc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ3RpdGxlJ10gPSAnVGl0ZWwnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0NoaWxkcmVuIHRvZXZvZWdlbj8nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpZSc7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydGVyZW4gYmlqJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0ZXJpbmdzdm9sZ29yZGUnOwokbGFuZ1snZGF0ZSddID0gJ0RhdHVtJzsKJGxhbmdbJ2RhdGVfZW5kJ10gPSAnRWluZGRhdHVtJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0ZXJzICc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRpbmcnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0FmbG9wZW5kJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIGNhdGVnb3JpZSZldW1sO24nOwokbGFuZ1snZnJvbSddID0gJ1Zhbic7CiRsYW5nWyd0byddID0gJ05hYXInOwokbGFuZ1sncG9zaXRpb24nXSA9ICdQb3NpdGllJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnQWFubWFha2RhdHVtJzsKJGxhbmdbJ3NhdmVfb3JkZXInXSA9ICdWb2xnb3JkZSBvcHNsYWFuJzsKJGxhbmdbJ2VkaXRmaWVsZGRlZiddID0gJ0Jld2VyayB2ZWxkZGVmZW5pdGllJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnVmVsZGRlZmVuaXRpZSB0b2V2b2VnZW4nOwokbGFuZ1snZmllbGRkZWZfbmFtZSddID0gJ05hYW0nOwokbGFuZ1snZmllbGRkZWZfaGVscCddID0gJ051dHRpZ2UgdGlwJzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXBlICc7CiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoJ10gPSAnTWF4aW1hbGUgbGVuZ3RlJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnVmVyZWlzdCc7CiRsYW5nWydmaWVsZGRlZl9mcm9udGVuZCddID0gJ0Zyb250IEVuZCAnOwokbGFuZ1snZmllbGRkZWZfZWRpdHZpZXcnXSA9ICdBbGxlZW4gd2VlcmdldmVuIGJpaiBiZXdlcmtlbic7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdWb2VnIGVlbiBmaWx0ZXIgdG9lIG9wIGRlIGZyb250ZW5kJzsKJGxhbmdbJ2ZpZWxkZGVmX2ZpbHRlcl9hZG1pbiddID0gJ1ZvZWcgaW4gZmlsdGVyIHRvZSBpbiBkZSBhZG1pbm9tZ2V2aW5nJzsKJGxhbmdbJ2ZpZWxkZGVmX3NlYXJjaGFibGUnXSA9ICdEb29yem9la2JhYXInOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSAnOwokbGFuZ1sndGV4dGJveCddID0gJ1Rla3N0aW52b2VyJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3ggJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3R2ZWxkJzsKJGxhbmdbJ3NlbGVjdF9kYXRlJ10gPSAnU2VsZWN0ZWVyIGRhdHVtJzsKJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnVXBsb2FkIGJlc3RhbmQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93biAnOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlICc7CiRsYW5nWydzZWxlY3RfZGVmYXVsdCddID0gJy0tIFNlbGVjdGVlciAtLSc7CiRsYW5nWydzZWxlY3RfZmlsZSddID0gJ1NlbGVjdGVlciBiZXN0YW5kJzsKJGxhbmdbJ2NvbG9yX3BpY2tlciddID0gJ0tsZXVyZW5raWV6ZXInOwokbGFuZ1snbW9kdWxlX2xpbmsnXSA9ICdLb3BwZWxpbmcgbWV0IG1vZHVsZSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnTmFhbSB2YW4gZGUgdmVsZGRlZmVuaXRpZSBpcyBuaWV0IG9wZ2VnZXZlbic7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ05hYW0gdmFuIGRlIHZlbGRkZWZlbml0aWUgYmVzdGFhdCBhbCByZWVkcyc7CiRsYW5nWydpbnZhbGlkJ10gPSAnVmVsZHdhYXJkZSBpcyBvbmdlbGRpZyc7CiRsYW5nWydkcm9wZG93bmZyb21tb2R1bGUnXSA9ICdEcm9wZG93biB2YW4gbW9kdWxlJzsKJGxhbmdbJ3N0YXRpYyddID0gJ1N0YXRpc2NoJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ1Byb2JsZWVtIG9udHN0YWFuIGJpaiBoZXQgdXBsb2FkZW4gdmFuIGhldCBiZXN0YW5kJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnS2FuIGRlIG1hcCAlcyBuaWV0IGFhbm1ha2VuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVzaXplJ10gPSAnRGUgdXBsb2FkIG92ZXJzY2hyaWpkdCBkZSBtYXhpbWFhbCB0b2VnZXN0YW5lIGdyb290dGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGV0eXBlJ10gPSAnS2FuIGRpdCBiZXN0YW5kc3R5cGUgbmlldCB1cGxvYWRlbic7CiRsYW5nWydlcnJvcl9tb3ZlZmlsZSddID0gJ0thbiBoZXQgYmVzdGFuZCAlcyBuaWV0IGFhbm1ha2VuJzsKJGxhbmdbJ2ludmFsaWR1cmwnXSA9ICdPbmdlbGRpZ2RlIFVSTC4nOwokbGFuZ1snbm9uZSddID0gJ0dlZW4nOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0Jld2VyayBjYXRlZ29yaWUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdWb2VnIGNhdGVnb3JpZSB0b2UnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ05hYW0gY2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5X25hbWVfZW1wdHknXSA9ICdOYWFtIHZhbiBkZSBjYXRlZ29yaWUgaXMgbGVlZyBnZWxhdGVuJzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ0NhdGVnb3JpZSBiaWpnZXdlcmt0Lic7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnQ2F0ZWdvcmllIHRvZWdldm9lZ2QuJzsKJGxhbmdbJ2NhdGVnb3J5X3RlbXBsYXRlJ10gPSAnQ2F0ZWdvcmllIHNqYWJsb25lbic7CiRsYW5nWydzdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU2FtZW52YXR0aW5nc2phYmxvbmVuJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCBzamFibG9uZW4nOwokbGFuZ1snZmlsdGVyX3RlbXBsYXRlJ10gPSAnRmlsdGVyIHNqYWJsb25lbic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYWFyZCBzamFibG9uZW4nOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnQmV3ZXJrIHNqYWJsb29uJzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnVm9lZyBzamFibG9vbiAlcyB0b2UnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ1NqYWJsb29ubmFhbSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lX2VtcHR5J10gPSAnRGUgc2phYmxvb25uYWFtIGlzIGxlZWcnOwokbGFuZ1snZ2xvYmFsJ10gPSAnR2xvYmFhbCc7CiRsYW5nWydjaGFuZ2Vzc2F2ZWQnXSA9ICdVdyB3aWp6aWdpbmdlbiB6aWpuIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLic7CiRsYW5nWydiYWNrJ10gPSAnVGVydWcnOwokbGFuZ1sndXAnXSA9ICdPbWhvb2cnOwokbGFuZ1snZG93biddID0gJ09tbGFhZyc7CiRsYW5nWydlZGl0J10gPSAnQmV3ZXJrZW4nOwokbGFuZ1snZGVsZXRlJ10gPSAnVmVyd2lqZGVyZW4nOwokbGFuZ1snbm9zdWNoaWQnXSA9ICdHZWVuIGdlbGRpZyBJRCc7CiRsYW5nWydkZWxldGVkJ10gPSAnRGUgaXRlbShzKSB6aWpuIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLic7CiRsYW5nWydhZGQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1snYWxpYXNfaW52YWxpZCddID0gJ0FsaWFzIGlzIG9uZ2VsZGlnLiBIZXQgbW9ldCBlZW4gbmFhbSB6aWpuIGRpZSBnZWxkaWcgaXMgYWxzIFBIUCB2YXJpYWJlbGUnOwokbGFuZ1snZW1wdHlfcGFyYW0nXSA9ICdEZSBwYXJhbWV0ZXIgd2FzIGxlZWcuIFByb2JlZXIgb3BuaWV1dy4nOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ09wZXJhdGllIGdlYW5udWxlZXJkJzsKJGxhbmdbJ29wZXJhdGlvbl9jb21wbGV0ZSddID0gJ09wZXJhdGllIHVpdGdldm9lcmQnOwokbGFuZ1snb2YnXSA9ICd2YW4nOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdGVlciBhbGxlcyc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZWN0ZWVyIGVlbic7CiRsYW5nWydzZXRkcmFmdCddID0gJ0luc3RlbGxlbiBhbHMgaW5hY3RpZWYnOwokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnSW5zdGVsbGVuIGFscyBhY3RpZWYnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ01ldCBnZXNlbGVjdGVlcmRlbic7CiRsYW5nWydnbyddID0gJ0dhYW4nOwokbGFuZ1snbm90aGluZ19zZWxlY3RkJ10gPSAnTmlldHMgZ2VzZWxlY3RlZXJkJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlciAnOwokbGFuZ1snbW9kZSddID0gJ01vZHVzJzsKJGxhbmdbJ3NpbXBsZSddID0gJ1NpbXBlbCc7CiRsYW5nWydhZHZhbmNlZCddID0gJ0dlYXZhbmNlZXJkJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdWcmllbmRlbGlqa2UgbmFhbSBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdFbmtlbHZvdWRpZyBpdGVtJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ01lZXJ2b3VkaWcgaXRlbSc7CiRsYW5nWydwcm9tcHRfdXJsX3ByZWZpeCddID0gJ1VSTCBQcmVmaXggJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2FjdGlvbl9wYXJhbXMnXSA9ICdTdGFuZGFhcmQgcGFyYW1ldGVycyB2b29yIHN0YW5kYWFyZCBhY3RpZSc7CiRsYW5nWydwcm9tcHRfZGV0YWlsX2FjdGlvbl9wYXJhbXMnXSA9ICdTdGFuZGFhcmQgcGFyYW1ldGVycyB2b29yIGRldGFpbCBhY3RpZSc7CiRsYW5nWydwcm9tcHRfdGl0bGVfcGFyYW1fZm9yX2NhY2hlJ10gPSAnVGl0ZWxwYXJhbWV0ZXIgdm9vciBoZXQgY2FjaGVuIHZhbiByZXN1bHRhdGVuJzsKJGxhbmdbJ3Byb21wdF9kaXNwbGF5X2lubGluZSddID0gJ0dlZWYgZGV0YWlscyBpbmxpbmUgd2Vlcic7CiRsYW5nWydwcm9tcHRfbGF6eWxvYWRpbmcnXSA9ICdMYXp5IGxvYWRpbmcgKGluZGllbiB3ZSBkZXplIG1vZHVsZSBuaWV0IG5vZGlnIGhlYmJlbiBtZXQgZWVuIGdlZGV0YWlsbGVlcmRlIGxpbmsgb3AgZGUgZnJvbnRlbmQpJzsKJGxhbmdbJ3Byb21wdF9oYXNfYWRtaW4nXSA9ICdIZWVmdCBhZG1pbj8nOwokbGFuZ1sncHJvbXB0X3VzZXJncm91cF9kZXBlbmRlbmNlJ10gPSAnR2VicnVpa2Vyc2dyb2VwIGFmaGFua2VsaWpraGVpZCc7CiRsYW5nWydwcm9tcHRfaXRlbV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdHZWRldGFpbGxlZXJkZSByZXR1cm4gSUQnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnXSA9ICdDYXRlZ29yaWUgcmV0dXJuIElEJzsKJGxhbmdbJ3Byb21wdF9jdXN0b21fZmllbGRzX2RlZmF1bHQnXSA9ICdTdGFuZGFhcmQgYWFuZ2VwYXN0ZSB2ZWxkZW4nOwokbGFuZ1sncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfZWRpdCddID0gJ0Jld2VyayBjYXRlZ29yaWUnOwokbGFuZ1sncHJvbXB0X3JlY3Vyc2l2ZSddID0gJ0Jld2VyayByZWN1cnNpdmUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0J10gPSAnQmV3ZXJrIGRhdHVtJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2RhdGVfZW5kX2VkaXQnXSA9ICdCZXdlcmsgZWluZGRhdHVtJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnXSA9ICdCZXdlcmsgYWxpYXMnOwokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGVfZWRpdCddID0gJ0Jld2VyayB0aXRlbCc7CiRsYW5nWydwcm9tcHRfaXRlbV91cmxfZWRpdCddID0gJ0Jld2VyayBVUkwnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnRmlsdGVyZGF0dW0nOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJ10gPSAnU29ydGVlcnZvbGdvcmRlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3NvcnRpbmcnXSA9ICdTb3J0ZXJlbic7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9wYWdlbGltaXQnXSA9ICdQYWdpbmFsaW1pZXQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4dHJhX2xhYmVsJ10gPSAnRXh0cmEgY2F0b2dvcmllIGxhYmVsJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1ppY2h0YmFyZSB2ZWxkZW4nOwokbGFuZ1sndmlldyddID0gJ1dlZXJnZXZlbic7CiRsYW5nWydyZW9yZGVyJ10gPSAnSGVyc2NoaWtrZW4nOwokbGFuZ1snc2VhcmNoJ10gPSAnWm9la2VuJzsKJGxhbmdbJ3JlaW5kZXgnXSA9ICdIZXJpbmRleGVlcic7CiRsYW5nWydwcm9tcHRfc2VhcmNoYWJsZSddID0gJ0Rvb3J6b2VrYmFhcic7CiRsYW5nWydwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJ10gPSAnRGF0dW0gZWluZGUgdm9vciB6b2VrZW4nOwokbGFuZ1snc3VuZGF5J10gPSAnWm9uZGFnJzsKJGxhbmdbJ21vbmRheSddID0gJ01hYW5kYWcnOwokbGFuZ1sndHVlc2RheSddID0gJ0RpbnNkYWcnOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnV29lbnNkYWcnOwokbGFuZ1sndGh1cnNkYXknXSA9ICdEb25kZXJkYWcnOwokbGFuZ1snZnJpZGF5J10gPSAnVnJpamRhZyc7CiRsYW5nWydzYXR1cmRheSddID0gJ1phdGVyZGFnJzsKJGxhbmdbJ3JlY3VyX3BlcmlvZCddID0gJ1JlY3VyIHBlcmlvZGUnOwokbGFuZ1snd2Vla2RheXMnXSA9ICdXZXJrZGFnZW4nOwokbGFuZ1snbm8nXSA9ICdHZWVuJzsKJGxhbmdbJ2RhaWx5J10gPSAnRGFnZWxpamtzJzsKJGxhbmdbJ3BsdXJhbF9kYWlseSddID0gJ0RhZ2VuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIE5vdmVtYmVyLCAyMDExIC0gIGluaXQgcmVsZWFzZTwvbGk+PC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+TW9kdWxlIGdlbmVyYXRvciBsZXRzIHlvdSBjcmVhdGUgYSBsaXN0IHRoZSBtb2R1bGVzIGFzIE5ld3MsIFByb2R1Y3RzIGF0Yy4gSW5kaXZpZHVhbCBtb2R1bGVzLCB5b3UgY2FuIGxpbmsgYmV0d2VlbiB0aGVtLiAgWW91IGNhbiBjcmVhdGUgYSBtb2R1bGUgUGVvcGxlLCBHZW5kZXIgYW5kIFR5cGUgb2YgZW1wbG95bWVudCBhbmQgbGluayBiZXR3ZW4gdGhlbS48L3A+DQo8cD5FYWNoIG1vZHVsZSBpbmNsdWRlcyB0aGUgYWJpbGl0eSB0byBjcmVhdGVkIGNhdGVnb3JpZXMsIGN1c3RvbSBmaWVsZHMgIGFuZCBlZGl0ZWQgYSBudW1iZXIgb2Ygc2V0dGluZ3MuPC9wPg0KPHA+WW91IGNhbiB1c2UgdGhlIGxpc3QgdGVtcGxhdGVzICwgY2F0ZWdvcmllcyB0ZW1wbGF0ZXMgLCBmaWx0ZXIgdGVtcGxhdGVzLCBvciBkZXRhaWwgdGVtcGxhdGVzIGFzIGl0IGFscmVhZHkga25vd24gbW9kdWxlcyBmcm9tIE5ld3MsIFByb2R1Y3RzIGV0Yy48L3A+JzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtQWRkZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1BZGRlZCddID0gJzxwPlNlbnQgd2hlbiBhbiBpdGVtIGlzIGFkZGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGNhdGVnb3J5IGZvciB0aGlzIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDt0aXRsZVwmcXVvdDsgLSBUaXRsZSBvZiB0aGUgaXRlbTwvbGk+DQo8bGk+XCZxdW90O2FjdGl2ZSZxdW90OyAtIFN0YXR1cyBvZiB0aGUgaXRlbSAoJnF1b3Q7MCZxdW90OyBvciAmcXVvdDsxJnF1b3Q7KTwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZSZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0YXJ0IGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZV9lbmRcJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RvcCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbUVkaXRlZCddID0gJ1NlbnQgd2hlbiBhbiBpdGVtIGlzIGVkaXRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1FZGl0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgY2F0ZWdvcnkgZm9yIHRoaXMgaXRlbTwvbGk+DQo8bGk+XCZxdW90O3RpdGxlXCZxdW90OyAtIFRpdGxlIG9mIHRoZSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7YWN0aXZlJnF1b3Q7IC0gU3RhdHVzIG9mIHRoZSBpdGVtICgmcXVvdDswJnF1b3Q7IG9yICZxdW90OzEmcXVvdDspPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RhcnQgYmVpbmcgZGlzcGxheWVkPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlX2VuZFwmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdG9wIGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtRGVsZXRlZCddID0gJ1NlbnQgd2hlbiBhbiBpdGVtIGlzIGRlbGV0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtRGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhbiBpdGVtIGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlBZGRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLic7CiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlBZGRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlFZGl0ZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBlZGl0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeUVkaXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGVkaXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7b3JpZ25hbWVcJnF1b3Q7IC0gVGhlIG9yaWdpbmFsIG5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlEZWxldGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZGVsZXRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5RGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbXNSZW9yZGVyZWQnXSA9ICdTZW50IHdoZW4gaXRlbXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1zUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGl0ZW1zIGlzIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3JpZXNSZW9yZGVyZWQnXSA9ICc8cD5TZW50IHdoZW4gY2F0ZWdvcmllcyBhcmUgcmVvcmRlcmVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNjkyMjY2OTc3LjEzMjEzODc3NDcuMTMyMTM4Nzc0Ny4xMzIxMzg3NzQ3LjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzIxMzg3NzQ3LjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnUDAtMTQwODkyNjY2MS0xMzA5NTI4NDc1MjU2JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dlbmVyJmFhY3V0ZTt0b3IgbW9kdWxvdic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsIG5haW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOy4gR3JhdHVsdWplbWUuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdHZW5lciZhYWN1dGU7dG9yIG1vZHVsb3Ygb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7JzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgdGVudG8gbW9kdWwgb2RzdHImYWFjdXRlO25pxaU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJ6aWEgJXMgbmFpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIGFrdHVhbGl6b3ZhbiZ5YWN1dGU7IG5hIHZlcnppdSAlcy4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCB1bW/Fvm51amUgZ2VuZXJvdmHFpSAmdWFjdXRlO3BsbmUgdmxhc3RuJmVhY3V0ZTsgbW9kdWx5JzsKJGxhbmdbJ2luZm9fc3VjY2VzcyddID0gJ1Ymc2Nhcm9uO2V0a28gdiBwb3JpYWRrdSc7CiRsYW5nWydpbmZvX2Vycm9yJ10gPSAnQ2h5YmEnOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdOYXN0YXZlbmlhIGFrdHVhbGl6b3ZhbiZlYWN1dGU7JzsKJGxhbmdbJ21vZHVsZV9taXNzaW5nJ10gPSAnUHJvcyZpYWN1dGU7bSwgbmFpbiZzY2Fyb247dGFsdWp0ZSBtb2R1bCAlcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7Pyc7CiRsYW5nWydtb2R1bGVfZGlyX3Blcm1pc3Npb24nXSA9ICdBZHJlcyZhYWN1dGU7ciBtb2R1bHUgbXVzJmlhY3V0ZTsgYnkgemFwaXNvdmF0ZcS+biZ5YWN1dGU7LCBwcm9zJmlhY3V0ZTttIG5hc3RhdnRlIGsgbmVtdSBwciZhYWN1dGU7dmEgbmEgemFwaXNvdmFuaWUuJzsKJGxhbmdbJ3BsZWFzZV9pbnN0YWxsX2l0J10gPSAnUG96biZhYWN1dGU7bWthOiBtb2R1bGUgdHJlYmEgbmFqcHIgbmFpbiZzY2Fyb247dGFsb3ZhxaUuICBQcm9zJmlhY3V0ZTttIHByZWpkaXRlIGRvIMSNYXN0aSBSb3omc2Nhcm9uOyZpYWN1dGU7cmVuaWEgPiBNb2R1bHknOwokbGFuZ1snY3JlYXRlX21vZHVsZSddID0gJ1Z5dHZvcmnFpSBub3YmeWFjdXRlOyBtb2R1bCc7CiRsYW5nWydkZXRhaWxfcGFnZSddID0gJ1N0ciZhYWN1dGU7bmthIGRldGFpbHUnOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIGRldGFpbHUnOwokbGFuZ1snd2FybmluZ19wcmV2aWV3J10gPSAnVXBvem9ybmVuaWU6IE4mYWFjdXRlO2jEvmFkIHNsJnVhY3V0ZTvFvmkgbmEgem9icmF6ZW5pZSBvYnNhaHUgYmV6IHRvaG8sIGFieSBzaSAgc3RlIG11c2VsaSBvZCZpYWN1dGU7c8WlIHogZWRpdG92YWNlaiBzdHImYWFjdXRlO25reS4gUG96b3IsIG9iciZhYWN1dGU7emt5IHNhIHByaSBuJmFhY3V0ZTtoxL5hZGUgYXV0b21hdGlja3kgbmVuYWhyJmFhY3V0ZTt2YWomdWFjdXRlOy4nOwokbGFuZ1snYXJ0aWNsZSddID0gJ8SMbGFub2snOwokbGFuZ1sncHJldmlldyddID0gJ04mYWFjdXRlO2jEvmFkJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3JldHVybmlkJ10gPSAnVG90byBuYXN0YXZlbmllIGplIHBvdcW+aXZhbiZlYWN1dGU7IHByZSBkZXRhaWwgc3RyJmFhY3V0ZTtub2suICc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyBzdHImYWFjdXRlO25rYSBwcmUgZGV0YWlsJzsKJGxhbmdbJ2dlbmVyYXRvciddID0gJ0dlbmVyJmFhY3V0ZTt0b3InOwokbGFuZ1sncmVnZW5lcmF0ZSddID0gJ1ByZWdlbmVyb3ZhxaUnOwokbGFuZ1snbmFtZSddID0gJ04mYWFjdXRlO3pvdic7CiRsYW5nWydhdHRhY2gnXSA9ICdQcmlwb2plbmlhJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ2NyZWF0ZWRhdGUnXSA9ICdEJmFhY3V0ZTt0dW0gdnl0dm9yZW5pYSc7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdEJmFhY3V0ZTt0dW0gJnVhY3V0ZTtwcmF2eSc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1ByJmlhY3V0ZTtzdHVwIHphbWlldG51dCZ5YWN1dGU7LCBwcm9zJmlhY3V0ZTttIHNrb250cm9sdWp0ZSB2YSZzY2Fyb247ZSBwciZpYWN1dGU7c3R1cG92JmVhY3V0ZTsgcHImYWFjdXRlO3ZhLic7CiRsYW5nWydlcnJvcl9yZW5hbWVfZGlyJ10gPSAnWm1lbmEgbiZhYWN1dGU7enZ1IGFkcmVzJmFhY3V0ZTtyYSBiZXomdWFjdXRlO3NwZcSNbmUgKHByJmFhY3V0ZTt2YT8pLic7CiRsYW5nWydlcnJvcl9yZXBsYWNlX2ZpbGVzJ10gPSAnTW9kdWwgbmVib2wgdXByYXZlbiZ5YWN1dGU7LiBQcm9zJmlhY3V0ZTttLCB1cHJhdnRlIGhvIG1hbnUmYWFjdXRlO2xuZSc7CiRsYW5nWydlcnJvcl9tb2R1bGVfZXhpc3RzJ10gPSAnTW9kdWxlIGV4aXN0dWplLiBQcm9zJmlhY3V0ZTttIHptYcW+dGUgaG8sIGFsZWJvIHByZWdlbmVydWp0ZS4nOwokbGFuZ1snZXJyb3JfdW5paW5zdGFsX21vZHVsZSddID0gJ01vZHVsIGV4aXN0dWplLCBwcm9zJmlhY3V0ZTttIG9kaW4mc2Nhcm9uO3RhbHVqdGUgaG8gbmFqcHJ2Lic7CiRsYW5nWydpdGVtJ10gPSAnUG9sb8W+a2EnOwokbGFuZ1snaXRlbXMnXSA9ICdQb2xvxb5reSc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0RlZmluJmlhY3V0ZTtjaWEgcG/EvmEnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRGVmaW4maWFjdXRlO2NpZSBwb2wmaWFjdXRlOyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bnknOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZyZvYWN1dGU7cmlhJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ29wdGlvbiddID0gJ05hc3RhdmVuaWUnOwokbGFuZ1snb3B0aW9ucyddID0gJ05hc3RhdmVuaWEnOwokbGFuZ1snc3VibWl0J10gPSAnT2Rvc2xhxaUnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdOJmFhY3V0ZTt6b3YnOwokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGUnXSA9ICdOJmFhY3V0ZTt6b3YgcG9sb8W+a3knOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7CiRsYW5nWyd1cmwnXSA9ICdVcmwgYWRyZXNhJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FrdCZpYWN1dGU7dm55JzsKJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdOJmFhY3V0ZTt6b3YgcG9sb8W+a3kgamUgcHImYWFjdXRlO3pkbmUnOwokbGFuZ1sncmVxdWlyZWRfZmllbGRfZW1wdHknXSA9ICdQb8W+YWRvdmFuJmVhY3V0ZTsgcG9saWEgcyZ1YWN1dGU7IHByJmFhY3V0ZTt6ZG5lJzsKJGxhbmdbJ3Rvb19sb25nJ10gPSAnSG9kbm90YSBwb8S+YSBwcmVrcm/EjWlsYSBtYXhpbSZhYWN1dGU7bG51IGTFiGzFvmt1Lic7CiRsYW5nWydhcHByb3ZlJ10gPSAnTmFzdGF2acWlIHN0YXYgIG5hIGFrdCZpYWN1dGU7dm55JzsKJGxhbmdbJ3JldmVydCddID0gJ05hc3RhdmnFpSBzdGF2IG5hIG5lYWt0JmlhY3V0ZTt2bnknOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnUG9zbGVkbiZhYWN1dGU7ICZ1YWN1dGU7cHJhdmEnOwokbGFuZ1sncGFnZSddID0gJ1N0ciZhYWN1dGU7bmthJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTdHJhbmEgJXMgeiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUG/EjWV0IG5hIHN0ciZhYWN1dGU7bmt1JzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ3RpdGxlJ10gPSAnTiZhYWN1dGU7em92JzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdWciZhYWN1dGU7dGFuZSBwb2RyYWRlbiZ5YWN1dGU7Y2gnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpYSc7CiRsYW5nWydzb3J0X2J5J10gPSAnWm9yYWRlbmllJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTcCZvY2lyYztzb2Igem9yYWRlbmlhJzsKJGxhbmdbJ2RhdGUnXSA9ICdEJmFhY3V0ZTt0dW0nOwokbGFuZ1snZGF0ZV9lbmQnXSA9ICdEJmFhY3V0ZTt0dW0ga29uY2EnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyZSc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICd2em9zdHVwbmUnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ2tsZXNhaiZ1YWN1dGU7Y2UnOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1Ymc2Nhcm9uO2V0a3kga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWydmcm9tJ10gPSAnWic7CiRsYW5nWyd0byddID0gJ0RvJzsKJGxhbmdbJ3Bvc2l0aW9uJ10gPSAnUG96JmlhY3V0ZTtjaWEnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdEJmFhY3V0ZTt0dW0gdnl0dm9yZW5pYSc7CiRsYW5nWydzYXZlX29yZGVyJ10gPSAnVWxvxb5pxaUgcG9yYWRpZSc7CiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdVcHJhdmnFpSBkZWZpbiZpYWN1dGU7Y3UgcG/EvmEnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdQcmlkYcWlIGRlZmluJmlhY3V0ZTtjdSBwb8S+YSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTiZhYWN1dGU7em92JzsKJGxhbmdbJ2ZpZWxkZGVmX2hlbHAnXSA9ICdQb21vY24meWFjdXRlOyB0ZXh0JzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXAnOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltJmFhY3V0ZTtsbmEgZGzFvmthJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnVnnFvmFkb3ZhbiZlYWN1dGU7IHBvbGUnOwokbGFuZ1snZmllbGRkZWZfZnJvbnRlbmQnXSA9ICdOYSBzdHImYWFjdXRlO25rZSc7CiRsYW5nWydmaWVsZGRlZl9lZGl0dmlldyddID0gJ1pvcmJhemnFpSBpYmEgcHJpIGVkaXQmYWFjdXRlO2NpaSc7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdQcmlkYcWlIGRvIGZpbHRyYSBuYSBzdHImYWFjdXRlO25rZSc7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfYWRtaW4nXSA9ICdQcmlkYcWlIGRvIGZpbHRyYSB2IGFkbWluaXN0ciZhYWN1dGU7Y2lpJzsKJGxhbmdbJ2ZpZWxkZGVmX3NlYXJjaGFibGUnXSA9ICdQcmVoxL5hZCZhYWN1dGU7dmF0ZcS+biZlYWN1dGU7JzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snc2VjdGlvbiddID0gJ1Nla2NpYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dG92JmVhY3V0ZTsgcG9sZSc7CiRsYW5nWydjaGVja2JveCddID0gJ1phJnNjYXJvbjtrcnQmYWFjdXRlO3ZhY2llIHBvbGUnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0b3YmYWFjdXRlOyBvYmxhc8WlJzsKJGxhbmdbJ3NlbGVjdF9kYXRlJ10gPSAnViZ5YWN1dGU7YmVyIGRhdHVtdSc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ05haHJhbmllIHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZmlsZV9waWNrZXInXSA9ICdGaWxlcGlja2VyJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnViZ5YWN1dGU7YmVyb3YmZWFjdXRlOyBwb2xlJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ3NlbGVjdF9kZWZhdWx0J10gPSAnLS0gdnlicmHFpSAtLSc7CiRsYW5nWydzZWxlY3RfZmlsZSddID0gJ1YmeWFjdXRlO2JlciBzJnVhY3V0ZTtib3J1JzsKJGxhbmdbJ2NvbG9yX3BpY2tlciddID0gJ1YmeWFjdXRlO2JlciBmYXJieSc7CiRsYW5nWydtb2R1bGVfbGluayddID0gJ0xpbmsgayBtb2R1bHUnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9lbXB0eSddID0gJ04mYWFjdXRlO3pvdiBwb2zEvmEgamUgcHImYWFjdXRlO3pkbmUnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9leGlzdHMnXSA9ICdOJmFhY3V0ZTt6b3YgcG/EvmEgdcW+IGV4aXN0dWplJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdIb2Rub3RhIHBvxL5hIGplIG5lc3ByJmFhY3V0ZTt2bmEnOwokbGFuZ1sndGFiJ10gPSAnWiZhYWN1dGU7bG/FvmthJzsKJGxhbmdbJ2Ryb3Bkb3duZnJvbW1vZHVsZSddID0gJ1YmeWFjdXRlO2Jlcm92ZSBwb8S+ZSB6IGluJmVhY3V0ZTtobyBtb2R1bHUnOwokbGFuZ1snc3RhdGljJ10gPSAnU3RhdGljayZ5YWN1dGU7IHRleHQnOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnUHJvYmwmZWFjdXRlO20gcHJpIG5haHImYWFjdXRlO3ZhbiZpYWN1dGU7IHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdOZW0mb2NpcmM7xb5lbSB2eXR2b3JpxaUgYWRyZXNhcjogJXMnOwokbGFuZ1snZXJyb3JfZmlsZXNpemUnXSA9ICdOYWhyJmFhY3V0ZTt2YW4meWFjdXRlOyBzJnVhY3V0ZTtib3IgcHJla3JvxI1pbCBwb3ZvbGVuJnVhY3V0ZTsgdmXEvmtvc8WlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxldHlwZSddID0gJ05lbSZvY2lyYzvFvmVtIG5haHJhxaUgdGVudG8gdHlwIHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZXJyb3JfbW92ZWZpbGUnXSA9ICdOaWUgamUgbW/Fvm4mZWFjdXRlOyB2eXR2b3JpxaUgcyZ1YWN1dGU7Ym9yOiAlcyc7CiRsYW5nWydpbnZhbGlkdXJsJ10gPSAnVXJsIGFkcmVzYSBqZSBuZXNwciZhYWN1dGU7dm5hJzsKJGxhbmdbJ25vbmUnXSA9ICfFvWlhZG5lJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdVcHJhdmnFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnUHJpZGHFpSBhdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ04mYWFjdXRlO3pvdiBrYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ2NhdGVnb3J5X25hbWVfZW1wdHknXSA9ICdOJmFhY3V0ZTt6b3Yga2F0ZWcmb2FjdXRlO3JpZSBqZSBwcmF6ZG55JzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ0thdGVnJm9hY3V0ZTtyaWEgYWt0dWFsaXpvdmFuJmFhY3V0ZTsnOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0thdGVnJm9hY3V0ZTtyaWEgcHJpZGFuJmFhY3V0ZTsnOwokbGFuZ1snY2F0ZWdvcnlfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bnkgcHJlIGthdGVnJm9hY3V0ZTtyaWUnOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSBwcmVoxL5hZHUnOwokbGFuZ1snZmlsdGVyX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO255IHByZSBmaWx0ZXInOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdQcmVkbmFzdGF2ZW4mZWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bnknOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnVXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO251JzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnUHJpZGHFpSAlcyAmc2Nhcm9uO2FibCZvYWN1dGU7bnUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ04mYWFjdXRlO3pvdiAmc2Nhcm9uO2FibCZvYWN1dGU7bnUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ04mYWFjdXRlO3pvdiAmc2Nhcm9uO2FibCZvYWN1dGU7bnkgamUgcHImYWFjdXRlO3pkbnknOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUHJpZGHFpS91cHJhdmnFpSAgJnNjYXJvbjthYmwmb2FjdXRlO251IHMmdWFjdXRlO2hybnUnOwokbGFuZ1snYWRkZWRpdF9maWx0ZXJfdGVtcGxhdGUnXSA9ICdQcmlkYcWlL3VwcmF2acWlICAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgcHJlIGZpbHRlcic7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1ByaWRhxaUvdXByYXZpxaUgICZzY2Fyb247YWJsJm9hY3V0ZTtudSBwcmUgZGV0YWlsJzsKJGxhbmdbJ2FkZGVkaXRfY2F0ZWdvcnlfdGVtcGxhdGUnXSA9ICdQcmlkYcWlL3VwcmF2acWlICAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgcHJlIGthdGVnJm9hY3V0ZTtyaWUnOwokbGFuZ1snZ2xvYmFsJ10gPSAnR2xvYiZhYWN1dGU7bG5lJzsKJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ05hc3RhdmVuaWEgYm9sdSBha3R1YWxpem92YW4mZWFjdXRlOy4nOwokbGFuZ1snYmFjayddID0gJ1NwJmF1bWw7xaUnOwokbGFuZ1sndXAnXSA9ICdIb3JlJzsKJGxhbmdbJ2Rvd24nXSA9ICdEb2xlJzsKJGxhbmdbJ2VkaXQnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWydkZWxldGUnXSA9ICdPZHN0ciZhYWN1dGU7bmnFpSc7CiRsYW5nWydub3N1Y2hpZCddID0gJ8W9aWFkbmUgSUQnOwokbGFuZ1snZGVsZXRlZCddID0gJ1BvbG/FvmthIGJvbGEgb2RzdHImYWFjdXRlO25lbiZhYWN1dGU7JzsKJGxhbmdbJ2FkZCddID0gJ1ByaWRhxaUnOwokbGFuZ1snYWxpYXNfaW52YWxpZCddID0gJ0FsaWFzIGplIG5lc3ByJmFhY3V0ZTt2bnksIG11cyZpYWN1dGU7IGJ5xaUgdiBzcHImYWFjdXRlO3Zub20gdHZhcmUgKGJleiBkaWFrcml0aWt5IGF0xI8uKSc7CiRsYW5nWydlbXB0eV9wYXJhbSddID0gJ1BhcmFtZXRlciBqZSBuZXNwciZhYWN1dGU7dm55LCBwcm9zJmlhY3V0ZTttIHNrJnVhY3V0ZTtzdGUgbmVzayZvY2lyYztyJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyJmFhY3V0ZTtjaWEgenJ1JnNjYXJvbjtlbiZhYWN1dGU7JzsKJGxhbmdbJ29wZXJhdGlvbl9jb21wbGV0ZSddID0gJ09wZXImYWFjdXRlO2NpYSBrb21wbGV0biZhYWN1dGU7JzsKJGxhbmdbJ29mJ10gPSAneic7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnVnlicmHFpSB2JnNjYXJvbjtldGt5JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWeWJyYcWlIGplZGVuJzsKJGxhbmdbJ3NldGRyYWZ0J10gPSAnTmFzdGF2acWlIGFrbyBuZWFrdCZpYWN1dGU7dm5lJzsKJGxhbmdbJ3NldHB1Ymxpc2hlZCddID0gJ05hc3RhdmnFpSBha28gYWt0JmlhY3V0ZTt2bmUgJzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdTIHZ5YnJhbiZ5YWN1dGU7bWknOwokbGFuZ1snZ28nXSA9ICdQcmVqc8WlJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05pxI0gdnlicmFuJmVhY3V0ZTsnOwokbGFuZ1snaW1hZ2VzX3NpemVfYWRtaW4nXSA9ICdSb3ptZXIgb2JyJmFhY3V0ZTt6b2tvdic7CiRsYW5nWydpbWFnZV9zaXplX2FkbWluX2luZm8nXSA9ICdQciZpYWN1dGU7a2xhZCB6YWRhbmlhOiAyMDB4IC0gJnNjYXJvbjvFlWthLCB4MjAwIC0gdiZ5YWN1dGU7JnNjYXJvbjtrYSwgMjAweDIwMCAtICZzY2Fyb247JmlhY3V0ZTtya2EvdiZ5YWN1dGU7JnNjYXJvbjtrYSc7CiRsYW5nWydhZG1pbl9hcmVhJ10gPSAnQWRtaW5pc3RyJmFhY3V0ZTtjaWEnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ21vZGUnXSA9ICdNJm9hY3V0ZTtkJzsKJGxhbmdbJ3NpbXBsZSddID0gJ0plZG5vZHVjaCZ5YWN1dGU7ICh2bGFzdG4mZWFjdXRlOyB6b3JhZGVuaWUgcHJldGlhaG51dCZpYWN1dGU7bSBwb2xvxb5pZWspJzsKJGxhbmdbJ2FkdmFuY2VkJ10gPSAnUm96JnNjYXJvbjtpcmVuJmVhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZGx5bmFtZSddID0gJ04mYWFjdXRlO3pvdiBtb2R1bHUgKG1vxb5lIGJ5xaUgcyBkaWFrcml0aWtvdSknOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdKZWRub3RuJmVhY3V0ZTsgxI0maWFjdXRlO3NsbyBwb2xvxb5reSc7CiRsYW5nWydwcm9tcHRfaXRlbV9wbHVyYWwnXSA9ICdNbm/Fvm4mZWFjdXRlOyDEjSZpYWN1dGU7c2xvIHBvbG/Fvmllayc7CiRsYW5nWydwcm9tcHRfdXJsX3ByZWZpeCddID0gJ1ByZWZpeCBwcmUgdXJsIGFkZXJzdSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9hY3Rpb25fcGFyYW1zJ10gPSAnUHJlZG5hc3RhdmVuZSBwYXJhbWV0cmUgcHJlIHMmdWFjdXRlO2hybic7CiRsYW5nWydwcm9tcHRfZGV0YWlsX2FjdGlvbl9wYXJhbXMnXSA9ICdQcmVkbmFzdGF2ZW5lIHBhcmFtZXRyZSBwcmUgZGV0YWlsJzsKJGxhbmdbJ3Byb21wdF90aXRsZV9wYXJhbV9mb3JfY2FjaGUnXSA9ICdQYXJhbWV0ZXIgcHJlIHphcCZpYWN1dGU7c2FuaWUgbmFkcGlzdSBwcmUga2Umc2Nhcm9uO292YW4mZWFjdXRlOyBwb2xvxb5reSc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdab2JyYXppxaUgZGV0YWlseSBpbmxpbmUnOwokbGFuZ1sncHJvbXB0X2xhenlsb2FkaW5nJ10gPSAnTGF6eSBsb2FkaW5nICh2IHByJmlhY3V0ZTtwYWRlLCDFvmUgbmVwb3RyZXVqZXRlIHBvdcW+acWlIG1vZHVsIG5hIHN0ciZhYWN1dGU7bmtlIHByaWFtbyknOwokbGFuZ1sncHJvbXB0X2hhc19hZG1pbiddID0gJ1pvYnJhemnFpSBha28gcG9sb8W+a3UgdiBhZG1pbmlzdHImYWFjdXRlO2NpaT8nOwokbGFuZ1snaGFzX2dhbGxlcnknXSA9ICdBa3Rpdm92YcWlIHomYWFjdXRlO2xvxb5rdSBnYWwmZWFjdXRlO3JpdT8nOwokbGFuZ1snZ2FsbGVyeSddID0gJ0dhbCZlYWN1dGU7cmlhJzsKJGxhbmdbJ2dhbGxlcnlfc29ydG9yZGVyJ10gPSAnWm9yYWRlbmllIG9iciZhYWN1dGU7emtvdiB2IGdhbCZlYWN1dGU7cmlpJzsKJGxhbmdbJ2ZpbGVuYW1lJ10gPSAnTiZhYWN1dGU7em92IHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snYWRkX2ZpbGVzJ10gPSAnUHJpZGHFpSBzJnVhY3V0ZTtib3J5JzsKJGxhbmdbJ3ByZXZpZXdfYWRtaW4nXSA9ICdOJmFhY3V0ZTtoxL5hZCB2IGFkbWluaXN0ciZhYWN1dGU7Y2lpJzsKJGxhbmdbJ2NvcHlfYWRtaW4nXSA9ICdQb3ZvbGnFpSBrb3AmaWFjdXRlO3JvdmFuaWUgcG9sb8W+a3knOwokbGFuZ1sncHJvbXB0X3VzZXJncm91cF9kZXBlbmRlbmNlJ10gPSAnWiZhYWN1dGU7dmlzbG/FpSBvZCB6YXJhZGVuaWUgdcW+JmlhY3V0ZTt2YXRlxL5hIHYgc2t1cGluZSc7CiRsYW5nWydwcm9tcHRfaXRlbV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdTdHImYWFjdXRlO25rYSBwcmUgZGV0YWlsJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2NhdGVnb3J5X3JldHVybmlkJ10gPSAnU3RyJmFhY3V0ZTtua2EgcHJlIGthdGVnb3JpZSc7CiRsYW5nWydwcm9tcHRfY3VzdG9tX2ZpZWxkc19kZWZhdWx0X2FkbWluJ10gPSAnUHJlZG5zdGF2ZW4mZWFjdXRlOyB2bGFzdG4mZWFjdXRlOyBwb2xpYSBwcmUgem9icmF6ZW5pZSBhZG1pbmlzdHImYWFjdXRlO2NpdSc7CiRsYW5nWydwcm9tcHRfaXRlbV9jYXRlZ29yeV9lZGl0J10gPSAnVXByYXZvdmHFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ3Byb21wdF9yZWN1cnNpdmUnXSA9ICdVcHJhdm92YcWlICByZWtydXomaWFjdXRlO3ZuZSBwb2xvxb5reSAodnnFvmFkdWplIGQmYWFjdXRlO3R1bSB6YcSNaWFrdSwgYSBrb25jYSknOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0J10gPSAnVXByYXZvdmHFpSBkJmFhY3V0ZTt0dW0nOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdCddID0gJ1VwcmF2b3ZhxaUgZCZhYWN1dGU7dHVtIGtvbmNhJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnXSA9ICdVcHJhdm92YcWlIGFsaWFzJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlX2VkaXQnXSA9ICdVcHJhdm92YcWlIG5hZHBpcyc7CiRsYW5nWydwcm9tcHRfaXRlbV91cmxfZWRpdCddID0gJ1VwcmF2b3ZhxaUgdXJsJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ0ZpbHRyb3ZhxaUgZCZhYWN1dGU7dHVtJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3NvcnRvcmRlciddID0gJ1NwJm9jaXJjO3NvYiB6b3JhZGVuaWUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfc29ydGluZyddID0gJ1pvdHJpZWRlbmllJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdCddID0gJ0xpbWkgbmEgc3RyJmFhY3V0ZTtua3UnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4dHJhX2xhYmVsJ10gPSAnRXh0cmEgcG9sb8W+a2EgcHJlIGthdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnWm9icmF6ZW4mZWFjdXRlOyBwb2xpYSc7CiRsYW5nWyd2aWV3J10gPSAnWm9icmF6acWlJzsKJGxhbmdbJ3Jlb3JkZXInXSA9ICdQcmV1c3BvcmlhZGHFpSc7CiRsYW5nWydzZWFyY2gnXSA9ICdWeWjEvmFkJmFhY3V0ZTt2YW5pZSc7CiRsYW5nWydyZWluZGV4J10gPSAnUHJlaW5kZXhvdmHFpSc7CiRsYW5nWydwcm9tcHRfc2VhcmNoYWJsZSddID0gJ1Z5aMS+YWQmYWFjdXRlO3ZhdGXEvm4mZWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJ10gPSAnUG92b2xpxaUgZCZhYWN1dGU7dHVtIGtvbmNhIHByZSB2eWjEvmFkJmFhY3V0ZTt2YW5pZSc7CiRsYW5nWydzdW5kYXknXSA9ICdOZWRlxL5hJzsKJGxhbmdbJ21vbmRheSddID0gJ1BvbmRlbG9rJzsKJGxhbmdbJ3R1ZXNkYXknXSA9ICdVdG9yb2snOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnU3RyZWRhJzsKJGxhbmdbJ3RodXJzZGF5J10gPSAnJlNjYXJvbjt0dnJ0b2snOwokbGFuZ1snZnJpZGF5J10gPSAnUGlhdG9rJzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnU29ib3RhJzsKJGxhbmdbJ3JlY3VyX3BlcmlvZCddID0gJ1Jla3VyeiZpYWN1dGU7dm5lJzsKJGxhbmdbJ3dlZWtkYXlzJ10gPSAnRG5pIHYgdCZ5YWN1dGU7xaVkbmknOwokbGFuZ1snbm8nXSA9ICfFvWlhZG5lJzsKJGxhbmdbJ2RhaWx5J10gPSAnRGVubmUnOwokbGFuZ1sncGx1cmFsX2RhaWx5J10gPSAnRG5pJzsKJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ1ptYXphxaUgdnlicmFuJmVhY3V0ZTsnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMi4wIDI3LiBmZWJydWFyLCAyMDEyIA0KPGJyIC8+YWRkIGdhbGxlcnkgLSBtdXRsaXVwbG9hZCwgc29ydGluZywgcmVzaXplDQo8L2xpPg0KPGxpPlZlcnNpb24gMS45IEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBjYXRlZ29yeSBjdXN0b20gZmllbGRzLCBtb3ZlZCB0byB0aGVpciBvd24gc2VjdGlvbi4NCjxiciAvPiB1cGdyYWRlIHNjcmlwdCBjb21wYXRpYmxlIHdpdGggMS44LjEgdmVyc2lvbg0KPGJyIC8+IGZpeCBzb21lIGlzc3Vlcw0KPC9saT4NCjxsaT5WZXJzaW9uIDEuOC4xIEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBvcHRpb24gZm9yIHByZXZpZXcgaW4gYWRtaW4NCjxiciAvPmFkZCBwcmV2aWV3IGljb24gaW4gYWRtaW4NCjxiciAvPmFkZCBvcHRpb24gZm9yIGNvcHkgaXRlbQ0KPGJyIC8+Zml4IGF1dGxvYWQgY2xhc3MgZ2VuZXJhdG9yX29wdHMgaW4gYWRtaW4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjggSmFudWFyLCAyMDExIC0gIGl0ZW0gcHJldmlldywgYnVnIGZpeGVzPC9saT4NCjxsaT5WZXJzaW9uIDEuNyBOb3ZlbWJlciwgMjAxMSAtICBpbml0IHJlbGVhc2U8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+TW9kdWxlIGdlbmVyYXRvciBsZXRzIHlvdSBjcmVhdGUgYSBsaXN0IHRoZSBtb2R1bGVzIGFzIE5ld3MsIFByb2R1Y3RzIGF0Yy4gSW5kaXZpZHVhbCBtb2R1bGVzLCB5b3UgY2FuIGxpbmsgYmV0d2VlbiB0aGVtLiAgWW91IGNhbiBjcmVhdGUgYSBtb2R1bGUgUGVvcGxlLCBHZW5kZXIgYW5kIFR5cGUgb2YgZW1wbG95bWVudCBhbmQgbGluayBiZXR3ZW4gdGhlbS48L3A+DQo8cD5FYWNoIG1vZHVsZSBpbmNsdWRlcyB0aGUgYWJpbGl0eSB0byBjcmVhdGVkIGNhdGVnb3JpZXMsIGN1c3RvbSBmaWVsZHMgIGFuZCBlZGl0ZWQgYSBudW1iZXIgb2Ygc2V0dGluZ3MuPC9wPg0KPHA+WW91IGNhbiB1c2UgdGhlIGxpc3QgdGVtcGxhdGVzICwgY2F0ZWdvcmllcyB0ZW1wbGF0ZXMgLCBmaWx0ZXIgdGVtcGxhdGVzLCBvciBkZXRhaWwgdGVtcGxhdGVzIGFzIGl0IGFscmVhZHkga25vd24gbW9kdWxlcyBmcm9tIE5ld3MsIFByb2R1Y3RzIGV0Yy48L3A+JzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtQWRkZWQnXSA9ICdPZG9zbGFuJmVhY3V0ZTsgcHJpIHByaWRhbiZpYWN1dGU7IG5vdmVqIHBvbG/Fvmt5JzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtQWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2l0ZW1faWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gaXRlbTwvbGk+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBjYXRlZ29yeSBmb3IgdGhpcyBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7dGl0bGVcJnF1b3Q7IC0gVGl0bGUgb2YgdGhlIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDthY3RpdmUmcXVvdDsgLSBTdGF0dXMgb2YgdGhlIGl0ZW0gKCZxdW90OzAmcXVvdDsgb3IgJnF1b3Q7MSZxdW90Oyk8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGUmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdGFydCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGVfZW5kXCZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0b3AgYmVpbmcgZGlzcGxheWVkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1FZGl0ZWQnXSA9ICdPZG9zbGFuJmVhY3V0ZTsgcHJpIGVkaXRvdmFuJmlhY3V0ZTsgcG9sb8W+a3knOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1FZGl0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgY2F0ZWdvcnkgZm9yIHRoaXMgaXRlbTwvbGk+DQo8bGk+XCZxdW90O3RpdGxlXCZxdW90OyAtIFRpdGxlIG9mIHRoZSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7YWN0aXZlJnF1b3Q7IC0gU3RhdHVzIG9mIHRoZSBpdGVtICgmcXVvdDswJnF1b3Q7IG9yICZxdW90OzEmcXVvdDspPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RhcnQgYmVpbmcgZGlzcGxheWVkPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlX2VuZFwmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdG9wIGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtRGVsZXRlZCddID0gJ09kb3NsYW4mZWFjdXRlOyBwcmkgb2RzdHImYWFjdXRlO25lbiZpYWN1dGU7IHBvbG/Fvmt5JzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtRGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhbiBpdGVtIGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlBZGRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLic7CiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlBZGRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlFZGl0ZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBlZGl0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeUVkaXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGVkaXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7b3JpZ25hbWVcJnF1b3Q7IC0gVGhlIG9yaWdpbmFsIG5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlEZWxldGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZGVsZXRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5RGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbXNSZW9yZGVyZWQnXSA9ICdTZW50IHdoZW4gaXRlbXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1zUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGl0ZW1zIGlzIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3JpZXNSZW9yZGVyZWQnXSA9ICc8cD5TZW50IHdoZW4gY2F0ZWdvcmllcyBhcmUgcmVvcmRlcmVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMjkzMTYyMTc1LjEzNDI1NTIxMTUuMTM0MjU1MjExNS4xMzQyNTUyMTE1LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNDI1NTIxMTUuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.generator_fields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9maWVsZHMgewoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKICAgICAgICAKICAgIH0gICAgCiAgICAKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkc19mb3JfZmlsdGVycygkbW9kLCAkYmxvY2t0eXBlcyA9IGFycmF5KCksICRzZWN0aW9uID0gJ2l0ZW1zJykgewogICAgICAgICRmaWVsZHMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZF9kZWZzKCRtb2QsIG51bGwsIG51bGwsIG51bGwsICRzZWN0aW9uKTsKICAgICAgICBpZiAoISRmaWVsZHMpCiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICRjdXN0b21fZmxkcyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJGZpZWxkcyBhcyAkcm93KSB7CiAgICAgICAgICAgIGlmIChpbl9hcnJheSgkcm93WyJ0eXBlIl0sICRibG9ja3R5cGVzKSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJHJvd1snZmllbGRkZWZfaWQnXV0gPSAkcm93OwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGN1c3RvbV9mbGRzOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkc192YWxzKCRtb2QsICRpdGVtX2lkID0gbnVsbCwgJHBhcmFtcyA9IGFycmF5KCkpIHsKCiAgICAgICAgLy8gcmV0dXJuIGVtcHR5IGFycmF5CiAgICAgICAgaWYgKCRpdGVtX2lkID09IG51bGwpCiAgICAgICAgICAgIHJldHVybiBhcnJheSgpOwoKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREQigpOwogICAgICAgICRmaWVsZHZhbHMgPSBhcnJheSgpOwogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8nOwogICAgICAgICRyZXN1bHQgPSAkZGItPkdldEFycmF5KCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQpKTsKICAgICAgICBpZiAoaXNfYXJyYXkoJHJlc3VsdCkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlc3VsdCBhcyAkcm93KSB7CiAgICAgICAgICAgICAgICAkZmllbGR2YWxzWyRyb3dbJ2ZpZWxkZGVmX2lkJ11dID0gJHJvd1sndmFsdWUnXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gcHJvY2NlcyB2YWx1ZXMgZnJvbSBwYXJhbXMKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAkZmllbGR2YWxzWyRmbGRpZF0gPSBpc19hcnJheSgkdmFsdWUpID8gZW1wdHkoJHZhbHVlKSA/ICcnIDogaW1wbG9kZSgnLCcsICR2YWx1ZSkgIDogJHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGZpZWxkdmFsczsKICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_filters.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9maWx0ZXJzIHsKCiAgICBwcml2YXRlICRfdHlwZTsKICAgIHByaXZhdGUgJF9tb2Q7CiAgICBwcml2YXRlICRfaWQ7CiAgICBwcml2YXRlICRfaW5zdGFuY2UgPSBudWxsOwogICAgcHVibGljICRjdXN0b21fZmllbGRzID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlkID0gbnVsbCwgJG1vZCwgJHR5cGUgPSAnYWRtaW4nKSB7CgogICAgICAgIGlmICgkdGhpcy0+X2luc3RhbmNlICE9IG51bGwgJiYgaXNfb2JqZWN0KCR0aGlzLT5faW5zdGFuY2UpKQogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9pbnN0YW5jZTsKCiAgICAgICAgJHRoaXMtPl9pZCA9ICRpZDsKICAgICAgICAkdGhpcy0+X3R5cGUgPSAkdHlwZTsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICAgICAgJHRoaXMtPl9pbnN0YW5jZSA9ICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzX2N1c3RvbV9maWVsZHMoJGJsb2NrdHlwZXMgPSBhcnJheSgpLCAkY3VzdG9tX2ZsZHMgPSBhcnJheSgpKSB7CgogICAgICAgIGlmIChpc19hcnJheSgkY3VzdG9tX2ZsZHMpICYmIGVtcHR5KCRjdXN0b21fZmxkcykpCiAgICAgICAgICAgICRjdXN0b21fZmxkcyA9IGdlbmVyYXRvcl9maWVsZHM6OmdldF9maWVsZHNfZm9yX2ZpbHRlcnMoJHRoaXMtPl9tb2QsICRibG9ja3R5cGVzKTsKCgoKICAgICAgICBpZiAoJGN1c3RvbV9mbGRzKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRjdXN0b21fZmxkcyBhcyAkY3VzdG9tX2ZsZCA9PiAkc2V0dGluZykgewogICAgICAgICAgICAgICAgLy8gZ2V0IGV4dHJhIGNvbW1hbmRzCiAgICAgICAgICAgICAgICAkaW5zdHJ1Y3Rpb25zID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmEoJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnZXh0cmEnXSwgJHRoaXMtPl9tb2QpOwoKICAgICAgICAgICAgICAgIHN3aXRjaCAoJHNldHRpbmdbJ3R5cGUnXSkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRib3gnOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydzaXplJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9zaXplKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydtYXhfbGVuZ3RoJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9tYXhfbGVuZ3RoKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZHJvcGRvd24nOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydvcHRpb25zJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9vcHRpb25zKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZHJvcGRvd25mcm9tbW9kdWxlJzoKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnb3B0aW9ucyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbW9kdWxlb3B0aW9ucygkaW5zdHJ1Y3Rpb25zLCAkbW9kKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ21vZHVsZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ3NlbGVjdF9kZWZhdWx0J10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9zZWxlY3RkZWZhdWx0KCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydtdWx0aXBsZSddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbXVsdGlwbGUoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ3BhcmFtcyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbW9kdWxlcGFyYW1zKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbW9kdWxlX2xpbmsnOgogICAgICAgICAgICAgICAgICAgICAgICAvLyRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ2xpbmsnXSA9ICRpbnN0cnVjdGlvbnNbMF07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdjb2xvcl9waWNrZXInOgogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAncGFnZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ29wdGlvbnMnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX3BhZ2UoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdzdGF0aWMnOgoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RhYic6CgogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY2hlY2tib3gnOgoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnY29scyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfY29scygkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsncm93cyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfcm93cygkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnbWF4X2xlbmd0aCddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbWF4X2xlbmd0aCgkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnd3lzaXd5ZyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfd3lzaXd5ZygkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NlbGVjdF9kYXRlJzoKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnc2l6ZSddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfc2l6ZSgkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnbWF4X2xlbmd0aCddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbWF4X2xlbmd0aCgkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnZGF0ZWZvcm1hdCddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfZGF0ZV9mb3JtYXQoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICd1cGxvYWRfZmlsZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ2FsbG93J10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9hbGxvdygkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2ZpbGVfcGlja2VyJzoKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsncGFyYW1zJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9tb2R1bGVwYXJhbXMoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdzZWxlY3RfZmlsZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ2FsbG93J10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9hbGxvdygkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnZGlyJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9kaXIoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ2V4Y2x1ZGVfcHJlZml4J10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9leGNsdWRlX3ByZWZpeCgkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPmN1c3RvbV9maWVsZHMgPSAkY3VzdG9tX2ZsZHM7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jdXN0b21fZmllbGRzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZSgkaXRlbV9pZCA9IG51bGwsICRwYXJhbXMgPSBhcnJheSgpLCAkZmllbGR2YWxzID0gYXJyYXkoKSwgJGZyb250ZW5kID0gbnVsbCkgewoKICAgICAgICBpZiAoISR0aGlzLT5jdXN0b21fZmllbGRzKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCiAgICAgICAgJGN1c3RvbV9mbGRzX29iaiA9IGFycmF5KCk7CgogICAgICAgICRpZCA9ICR0aGlzLT5faWQ7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiAoZW1wdHkoJGZpZWxkdmFscykpCiAgICAgICAgICAgICRmaWVsZHZhbHMgPSBnZW5lcmF0b3JfZmllbGRzOjpnZXRfZmllbGRzX3ZhbHMoJG1vZCwgJGl0ZW1faWQsICRwYXJhbXMpOwoKCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmN1c3RvbV9maWVsZHMgYXMgJGN1c3RvbV9mbGQpIHsKICAgICAgICAgICAgaWYgKCEkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAkb2JqID0gbmV3IFN0ZENsYXNzKCk7CiAgICAgICAgICAgICRuYW1lID0gJ2N1c3RvbWZpZWxkWycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICddJzsKICAgICAgICAgICAgJG9iai0+ZmllbGRkZWZfaWQgPSAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXTsKICAgICAgICAgICAgJG9iai0+cHJvbXB0ID0gKCRjdXN0b21fZmxkWydyZXF1aXJlZCddID8gJyonIDogJycpIC4gJGN1c3RvbV9mbGRbJ25hbWUnXTsKICAgICAgICAgICAgJG9iai0+bGFiZWwgPSAkY3VzdG9tX2ZsZFsnbmFtZSddOwogICAgICAgICAgICAkb2JqLT5hbGlhcyA9ICRjdXN0b21fZmxkWydhbGlhcyddOwogICAgICAgICAgICAkb2JqLT5lZGl0dmlldyA9ICRjdXN0b21fZmxkWydlZGl0dmlldyddOwogICAgICAgICAgICAkb2JqLT5uYW1lID0gJGlkIC4gJGN1c3RvbV9mbGRbJ2FsaWFzJ107CiAgICAgICAgICAgICRvYmotPnR5cGUgPSAkY3VzdG9tX2ZsZFsndHlwZSddOwogICAgICAgICAgICAkdmFsdWUgPSAoaXNzZXQoJGZpZWxkdmFsc1skY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXV0pID8gJGZpZWxkdmFsc1skY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXV0gOiAnJyk7CiAgICAgICAgICAgICRvYmotPml0ZW1faWQgPSAkaXRlbV9pZDsKICAgICAgICAgICAgJG9iai0+dmFsdWUgPSAkdmFsdWU7CiAgICAgICAgICAgICRvYmotPmhlbHAgPSAkY3VzdG9tX2ZsZFsnaGVscCddOwogICAgICAgICAgICAkb2JqLT5leHRyYSA9ICRjdXN0b21fZmxkWydleHRyYSddOwogICAgICAgICAgICAkb2JqLT5maWx0ZXIgPSAkaWQgLiAnZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfZXF1YWwnOwogICAgICAgICAgICBzd2l0Y2ggKCRjdXN0b21fZmxkWyd0eXBlJ10pIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRib3gnOgogICAgICAgICAgICAgICAgICAgICRzaXplID0gIWVtcHR5KCRjdXN0b21fZmxkWydzaXplJ10pID8gJGN1c3RvbV9mbGRbJ3NpemUnXSA6IDUwOwogICAgICAgICAgICAgICAgICAgICRmcm9udF9lbmRfdHlwZSA9ICdsaWtlJzsKICAgICAgICAgICAgICAgICAgICBpZiAoJGZyb250ZW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJ2ZpbHRlcl8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnXycgLiAkZnJvbnRfZW5kX3R5cGU7CiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IChpc3NldCgkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSkgPyAkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSA6ICcnKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJGN1c3RvbV9mbGRbJ21heF9sZW5ndGgnXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAkbmFtZSwgJHZhbHVlLCAkc2l6ZSwgJGN1c3RvbV9mbGRbJ21heF9sZW5ndGgnXSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAkbmFtZSwgJHZhbHVlLCAkc2l6ZSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdtb2R1bGUnOgoKICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgJGl0ZW1zID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGN1c3RvbV9mbGRbJ3BhcmFtcyddKSAmJiAhZW1wdHkoJGN1c3RvbV9mbGRbJ3BhcmFtcyddKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoKCRtb2QtPkdldE5hbWUoKSAhPSAkY3VzdG9tX2ZsZFsncGFyYW1zJ11bIm1vZHVsZSJdICYmICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJGN1c3RvbV9mbGRbJ3BhcmFtcyddWyJtb2R1bGUiXSkgT1IgKCRtb2QtPkdldE5hbWUoKSA9PSAkY3VzdG9tX2ZsZFsncGFyYW1zJ11bIm1vZHVsZSJdICYmICRtb2R1bGUgPSAkbW9kKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCRjdXN0b21fZmxkWydwYXJhbXMnXVsibW9kdWxlIl0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRbJ3BhcmFtcyddWyJpdGVtcyJdID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtb2R1bGUtPkRvQWN0aW9uKCdkZWZhdWx0JywgJGlkLCAkY3VzdG9tX2ZsZFsncGFyYW1zJ10sICRyZXR1cm5pZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXRlbXMgPSBnZW5lcmF0b3JfdG9vbHM6OiRpdGVtczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6b2JqZWN0X3RvX2hhc2goJGl0ZW1zLCAndGl0bGUnLCAnaXRlbV9pZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yX3Rvb2xzOjokaXRlbXMgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRbJ211bHRpcGxlJ10pICYmIGlzX2ludCgkY3VzdG9tX2ZsZFsnbXVsdGlwbGUnXSkgJiYgISRmcm9udGVuZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRbJ3NlbGVjdF9kZWZhdWx0J10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCRjdXN0b21fZmxkWydzZWxlY3RfZGVmYXVsdCddID0+ICcnKSArICRvcHRpb25zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAkbmFtZSAuICJbXSIsICRvcHRpb25zLCAoIWVtcHR5KCR2YWx1ZSkgPyBleHBsb2RlKCcsJywgJHZhbHVlKSA6IGFycmF5KDAgPT4gJycpKSwgJGN1c3RvbV9mbGRbJ211bHRpcGxlJ10pOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICRuYW1lIC4gIltdIiwgJycpIC4gJG1vZC0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJG5hbWUgLiAiW10iLCAkb3B0aW9ucywgKCFlbXB0eSgkdmFsdWUpID8gZXhwbG9kZSgnLCcsICR2YWx1ZSkgOiBhcnJheSgwID0+ICcnKSksICRjdXN0b21fZmxkWydtdWx0aXBsZSddKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoZ2VuZXJhdG9yKCktPkxhbmcoJ3NlbGVjdF9kZWZhdWx0JykgPT4gJycpICsgJG9wdGlvbnM7CgogICAgICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnZXF1YWwnOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRbJ211bHRpcGxlJ10pICYmIGlzX2ludCgkY3VzdG9tX2ZsZFsnbXVsdGlwbGUnXSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnaW5zZXQnOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRmcm9udGVuZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSAnZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IChpc3NldCgkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSkgPyAkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSA6ICcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpbHRlciA9ICRpZCAuICRuYW1lOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPnZhbHVlID0gJHZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5pdGVtcyA9ICRpdGVtczsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+b3B0aW9ucyA9ICRvcHRpb25zOwogICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJG9wdGlvbnMsIC0xLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnNbZ2VuZXJhdG9yKCktPkxhbmcoJ3NlbGVjdF9kZWZhdWx0JyldID0gJyc7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRjdXN0b21fZmxkWydvcHRpb25zJ10pICYmICFlbXB0eSgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9ICRvcHRpb25zICArIGFycmF5X2ZsaXAoJGN1c3RvbV9mbGRbJ29wdGlvbnMnXSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnZXF1YWwnOwoKICAgICAgICAgICAgICAgICAgICBpZiAoJGZyb250ZW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJ2ZpbHRlcl8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnXycgLiAkZnJvbnRfZW5kX3R5cGU7CiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IChpc3NldCgkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSkgPyAkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSA6ICcnKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRvYmotPm9wdGlvbnMgPSAkb3B0aW9uczsKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJG9wdGlvbnMsIC0xLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duZnJvbW1vZHVsZSc6CiAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgICRvcHRpb25zW2dlbmVyYXRvcigpLT5MYW5nKCdzZWxlY3RfZGVmYXVsdCcpXSA9ICdzZWxlY3RfZGVmYXVsdCc7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRjdXN0b21fZmxkWydvcHRpb25zJ10pICYmICFlbXB0eSgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5X21lcmdlKCRvcHRpb25zLCBhcnJheV9mbGlwKCRjdXN0b21fZmxkWydvcHRpb25zJ10pKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICRuYW1lLCAkb3B0aW9ucywgLTEsICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAncGFnZSc6CiAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgICRvcHRpb25zW2dlbmVyYXRvcigpLT5MYW5nKCdzZWxlY3RfZGVmYXVsdCcpXSA9ICdzZWxlY3RfZGVmYXVsdCc7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRjdXN0b21fZmxkWydvcHRpb25zJ10pICYmICFlbXB0eSgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5X21lcmdlKCRvcHRpb25zLCBhcnJheV9mbGlwKCRjdXN0b21fZmxkWydvcHRpb25zJ10pKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICRuYW1lLCAkb3B0aW9ucywgLTEsICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnY29sb3JfcGlja2VyJzoKICAgICAgICAgICAgICAgICAgICAkdHh0ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgJHRtcCA9ICc8aW5wdXQgdHlwZT0iY29sb3IiIGRhdGEtaGV4PSJ0cnVlIiBuYW1lPSIlcyIgdmFsdWU9IiVzIi8+JzsKICAgICAgICAgICAgICAgICAgICAkdHh0IC49IHNwcmludGYoJHRtcCwgJGlkIC4gJG5hbWUsICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkdHh0OwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ21vZHVsZV9saW5rJzoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRjdXN0b21fZmxkWydsaW5rJ107CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnY2hlY2tib3gnOgogICAgICAgICAgICAgICAgICAgICRmcm9udF9lbmRfdHlwZSA9ICdlcXVhbCc7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRmcm9udGVuZCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9ICdmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlOwogICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSAoaXNzZXQoJHBhcmFtc1snZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZV0pID8gJHBhcmFtc1snZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZV0gOiAnJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZC0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAkbmFtZSwgJzAnKSAuICRtb2QtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkbmFtZSwgJzEnLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZVRleHRBcmVhKCRjdXN0b21fZmxkWyd3eXNpd3lnJ10sICRpZCwgJHZhbHVlLCAkbmFtZSwgJycsICcnLCAnJywgJycsICRjdXN0b21fZmxkWydjb2xzJ10sICRjdXN0b21fZmxkWydyb3dzJ10pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ3N0YXRpYyc6CiAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICd0YWInOgogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnc2VsZWN0X2RhdGUnOgoKICAgICAgICAgICAgICAgICAgICAkc2l6ZSA9ICFlbXB0eSgkY3VzdG9tX2ZsZFsnc2l6ZSddKSA/ICRjdXN0b21fZmxkWydzaXplJ10gOiAyMDsKCiAgICAgICAgICAgICAgICAgICAgJHNlbGVjdG9yID0gJyMnIC4gJGlkIC4gc3RyX3JlcGxhY2UoYXJyYXkoJ1snLCAnXScpLCBhcnJheSgnXFxcWycsICdcXFxdJyksICRuYW1lKTsKICAgICAgICAgICAgICAgICAgICAkZGF0ZXBpY2tlciA9ICcKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpewogICAgJCgiJyAuICRzZWxlY3RvciAuICciKS5kYXRlcGlja2VyKHsnIC4gKCFlbXB0eSgkY3VzdG9tX2ZsZFsnZGF0ZWZvcm1hdCddKSA/ICdkYXRlRm9ybWF0OiBcJycgLiBodG1sZW50aXRpZXMoJGN1c3RvbV9mbGRbJ2RhdGVmb3JtYXQnXSkgLiAnXCcnIDogJycpIC4gJ30pOwp9KTsKPC9zY3JpcHQ+JzsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkY3VzdG9tX2ZsZFsnbWF4X2xlbmd0aCddKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRkYXRlcGlja2VyIC4gJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJG5hbWUsICR2YWx1ZSwgJHNpemUsICRjdXN0b21fZmxkWydtYXhfbGVuZ3RoJ10pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJGRhdGVwaWNrZXIgLiAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAkbmFtZSwgJHZhbHVlLCAkc2l6ZSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICd1cGxvYWRfZmlsZSc6CiAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSAnY3VzdG9tZmllbGRfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddOwoKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlICE9ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmRlbGV0ZV9maWxlID0gJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdkZWxldGVfY3VzdG9tZmllbGRbJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ10nLCAnZGVsZXRlJykgLiAnICcgLiBnZW5lcmF0b3IoKS0+TGFuZygnZGVsZXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpbGVfbG9jYXRpb24gPSBnZW5lcmF0b3JfdG9vbHM6OmZpbGVfbG9jYXRpb24oJG1vZCwgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpbGVwYXRoX2xvY2F0aW9uID0gZ2VuZXJhdG9yX3Rvb2xzOjpmaWxlcGF0aF9sb2NhdGlvbigkbW9kLCBhcnJheSgnaXRlbV9pZCcgPT4gJGl0ZW1faWQpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+aXNfaW1hZ2UgPSBnZXRJbWFnZVNpemUoY21zX2pvaW5fcGF0aChnZW5lcmF0b3JfdG9vbHM6OmZpbGVwYXRoX2xvY2F0aW9uKCRtb2QsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCkpLCAkdmFsdWUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmlsZW5hbWUgPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsICRuYW1lKTsKCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnc2VsZWN0X2ZpbGUnOgogICAgICAgICAgICAgICAgICAgICRwID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJGN1c3RvbV9mbGRbJ2RpciddKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc19kaXIoJHApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXMgPSBAbWtkaXIoJHApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJGltYWdlcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgJGltYWdlc1tnZW5lcmF0b3IoKS0+TGFuZygnc2VsZWN0X2RlZmF1bHQnKV0gPSAnc2VsZWN0X2RlZmF1bHQnOwoKICAgICAgICAgICAgICAgICAgICAkYWxsb3dlZCA9ICghZW1wdHkoJGN1c3RvbV9mbGRbJ2FsbG93J10pID8gJGN1c3RvbV9mbGRbJ2FsbG93J10gOiBhcnJheSgpKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRhbGxvd2VkKSA9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGhhbmRsZSA9IG9wZW5kaXIoJHApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGhhbmRsZSkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRmaWxlICE9ICcuJyAmJiAkZmlsZSAhPSAnLi4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhZ2VuZXJhdG9yX3Rvb2xzOjpoYXNfcHJlZml4KCRmaWxlLCAkY3VzdG9tX2ZsZFsnZXhjbHVkZV9wcmVmaXgnXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV4dCA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGUsICcuJyksIDEpKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbl9hcnJheSgkZXh0LCAkYWxsb3dlZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbWFnZXNbJGZpbGVdID0gJGZpbGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VkaXIoJGhhbmRsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICRuYW1lLCAkaW1hZ2VzLCAtMSwgJHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCgogICAgICAgICAgICAgICAgY2FzZSAnZmlsZV9waWNrZXInOgogICAgICAgICAgICAgICAgICAgICRjdXN0b21tb2R1bGVwYXJhbXMgPSAoIWVtcHR5KCRjdXN0b21fZmxkWydwYXJhbXMnXSkgPyAkY3VzdG9tX2ZsZFsncGFyYW1zJ10gOiBhcnJheSgpKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRjdXN0b21tb2R1bGVwYXJhbXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dCRmlsZVBpY2tlcicpOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tbW9kdWxlcGFyYW1zWyJkaXIiXSA9IGdlbmVyYXRvcl90b29sczo6ZmlsZXBpY2tlcl9sb2NhdGlvbigkbW9kKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbW1vZHVsZXBhcmFtc1sibW9kZSJdID0gJ2Jyb3dzZXInOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tbW9kdWxlcGFyYW1zWyJtZWRpYV90eXBlIl0gPSAnZmlsZSc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkY3VzdG9tbW9kdWxlcGFyYW1zWyJtb2R1bGUiXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCRjdXN0b21tb2R1bGVwYXJhbXNbIm1vZHVsZSJdKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy8nZGlyJyA9PiBnZW5lcmF0b3JfdG9vbHM6OmZpbGVwaWNrZXJfbG9jYXRpb24oJG1vZCkgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGlmICgkbW9kdWxlLT5HZXROYW1lKCkgPT0gJ0dCRmlsZVBpY2tlcicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kdWxlLT5DcmVhdGVGaWxlUGlja2VySW5wdXQoJG1vZCwgJGlkLCAkbmFtZSwgJHZhbHVlLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21tb2R1bGVwYXJhbXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGN1c3RvbV9mbGRzX29ialskb2JqLT5hbGlhc10gPSAkb2JqOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjdXN0b21fZmxkc19vYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHByb2Nlc3MoYXJyYXkgJiRjb3VudGpvaW5zLCBhcnJheSAmJGpvaW5zLCBhcnJheSAmJHdoZXJlLCBhcnJheSAmJHBhcmFtYXJyYXkpIHsKICAgICAgICAKICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_items.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9pdGVtcyB7CgogICAgcHJpdmF0ZSAkX21vZCA9IG51bGw7CiAgICBwcml2YXRlICRfcmF3ZGF0YSA9IGFycmF5KCk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRtb2QpIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldGRhdGEoJGtleSkgewogICAgICAgICRyZXMgPSBudWxsOwogICAgICAgIGlmIChpc3NldCgkdGhpcy0+X3Jhd2RhdGFbJGtleV0pKSB7CiAgICAgICAgICAgICRyZXMgPSAkdGhpcy0+X3Jhd2RhdGFbJGtleV07CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRkYXRhKCRrZXksICR2YWx1ZSkgewogICAgICAgICR0aGlzLT5fcmF3ZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3BhcmFtc19mcm9tX2FycmF5KCRyb3cpIHsKCiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgIGZvcmVhY2ggKCRyb3cgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyRrZXldID0gJHZhbHVlOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRfaXRlbV9wb3NpdGlvbigpIHsKCiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBtYXgocG9zaXRpb24pICsgMSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScpOwoKICAgICAgICBpZiAoJHBvc2l0aW9uID09IG51bGwpIHsKICAgICAgICAgICAgJHBvc2l0aW9uID0gMTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRwb3NpdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpIHsKCiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0pKSB7CiAgICAgICAgICAgIC8vIGZpbmQgcG9zaXRpb24gYmVmb3JlIGluc2VydGluZyBuZXcgaXRlbQogICAgICAgICAgICAkcG9zaXRpb24gPSAkdGhpcy0+X2dldF9pdGVtX3Bvc2l0aW9uKCk7CiAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsicG9zaXRpb24iXSA9ICRwb3NpdGlvbjsKCiAgICAgICAgICAgIC8vIGluc2VydCBpdGVtCiAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gKHRpdGxlLCBhbGlhcywgdXJsLCByZWN1cnNpdmUsIGNhdGVnb3J5X2lkLCBwb3NpdGlvbiwgYWN0aXZlLCBpdGVtX2RhdGUsIGl0ZW1fZGF0ZV9lbmQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlICkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/ICwgPywgPywgIE5PVygpLCBOT1coKSknOwogICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbInRpdGxlIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbImFsaWFzIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbInVybCJdLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJyZWN1cnNpdmUiXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsiY2F0ZWdvcnlfaWQiXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsicG9zaXRpb24iXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsiYWN0aXZlIl0sCiAgICAgICAgICAgICAgICB0cmltKCRkYi0+REJUaW1lU3RhbXAoJHRoaXMtPl9yYXdkYXRhWyJkYXRlIl0pLCAiJyIpLAogICAgICAgICAgICAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKCR0aGlzLT5fcmF3ZGF0YVsiZGF0ZV9lbmQiXSksICInIikpKTsKICAgICAgICAgICAgaWYgKCEkcmVzdWx0KQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CgogICAgICAgICAgICAvLyBwb3B1bGF0ZSAkaXRlbV9pZCBmb3IgbmV3bHkgaW5zZXJ0ZWQgaXRlbQogICAgICAgICAgICAkaXRlbV9pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CiAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsiaXRlbV9pZCJdID0gJGl0ZW1faWQ7CiAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsidXBkYXRlIl0gPSBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyB1cGRhdGUgaXRlbQogICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBTRVQgdGl0bGUgPSA/LCBhbGlhcyA9ID8sIHVybCA9ID8sIHJlY3Vyc2l2ZSA9ID8sIGNhdGVnb3J5X2lkID0gPywgYWN0aXZlID0gPywgaXRlbV9kYXRlPSA/LCBpdGVtX2RhdGVfZW5kPSA/IFdIRVJFIGl0ZW1faWQgPSA/JzsKICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJ0aXRsZSJdLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJhbGlhcyJdLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJ1cmwiXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsicmVjdXJzaXZlIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbImNhdGVnb3J5X2lkIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbImFjdGl2ZSJdLAogICAgICAgICAgICAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKCR0aGlzLT5fcmF3ZGF0YVsiZGF0ZSJdKSwgIiciKSwKICAgICAgICAgICAgICAgIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkdGhpcy0+X3Jhd2RhdGFbImRhdGVfZW5kIl0pLCAiJyIpLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0pKTsKICAgICAgICAgICAgaWYgKCEkcmVzdWx0KQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CgogICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbInVwZGF0ZSJdID0gdHJ1ZTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5fc2F2ZV9jdXN0b21fZmllbGRzKCk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBfc2F2ZV9jdXN0b21fZmllbGRzKCkgewoKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+X3Jhd2RhdGFbImN1c3RvbWZpZWxkIl0pIHx8ICFpc3NldCgkdGhpcy0+X3Jhd2RhdGFbIml0ZW1faWQiXSkpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAKCgogICAgICAgIGlmIChpc3NldCgkdGhpcy0+X3Jhd2RhdGFbImN1c3RvbWZpZWxkIl0pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5fcmF3ZGF0YVsiY3VzdG9tZmllbGQiXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7CgogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCR2YWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGltcGxvZGUoJywnLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gJyc7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgcm93IGV4aXN0cyB0byBkZXRlcm1pbmUgd2hldGhlciB0byBpbnNlcnQgb3IgdXBkYXRlCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIHZhbHVlIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsKICAgICAgICAgICAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCR0aGlzLT5fcmF3ZGF0YVsiaXRlbV9pZCJdLCAkZmxkaWQpKTsKCgogICAgICAgICAgICAgICAgLy8gcm93IGRvZXMgbm90IGV4aXN0CiAgICAgICAgICAgICAgICBpZiAoJHRtcCA9PSAiIikgewogICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaW5zZXJ0IHJvdyBpZiBmaWVsZCB2YWx1ZSBpcyBub3QgZW1wdHkKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlICE9ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIChpdGVtX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUpIFZBTFVFUyAoPywgPywgPyknOwogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0sICRmbGRpZCwgJHZhbHVlKSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvLyByb3cgYWxyZWFkeSBleGlzdHMKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgLy8gZGVsZXRlIHJvdyBpZiBmaWVsZCB2YWx1ZSBpcyBlbXB0eQogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gIiIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+X3Jhd2RhdGFbIml0ZW1faWQiXSwgJGZsZGlkKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSByb3cKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgU0VUIHZhbHVlID0gPyBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR2YWx1ZSwgJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0sICRmbGRpZCkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoISRyZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_item_gallery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KLyogQ1JFQVRFIFRBQkxFIGBjbXNfbW9kdWxlX2dhbGVyaWFfaW1hZ2VzYCAoCiAgYGltYWdlX2lkYCBJTlQoMTApIE5VTEwgQVVUT19JTkNSRU1FTlQsCiAgYGZpbGVuYW1lYCBWQVJDSEFSKDI1NSkgTlVMTCBERUZBVUxUIE5VTEwsCiAgYHBvc2lpdG9uYCBJTlQgTlVMTCBERUZBVUxUIE5VTEwsCiAgUFJJTUFSWSBLRVkgKGBpbWFnZV9pZGApCiAgKQogIENPTExBVEU9J3V0ZjhfZ2VuZXJhbF9jaScKICBFTkdJTkU9TXlJU0FNOyAqLwoKY2xhc3MgZ2VuZXJhdG9yX2l0ZW1fZ2FsbGVyeSB7CgogICAgcHJpdmF0ZSAkX2RpcjsKICAgIHByaXZhdGUgJF9tb2Q7CiAgICBwcml2YXRlICRfaXRlbV9pZDsKICAgIHByaXZhdGUgJF9kYjsKICAgIHByaXZhdGUgJF9zbWFydHk7CiAgICBwcml2YXRlICRfY29uZmlnOwogICAgcHJpdmF0ZSAkX2V4dGVuc2lvbnMgPSAnanBnLGdpZixwbmcnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbW9kLCAkaXRlbV9pZCkgewoKICAgICAgICAkdGhpcy0+X2RiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkdGhpcy0+X3NtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICR0aGlzLT5fY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5faXRlbV9pZCA9ICRpdGVtX2lkOwoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgogICAgICAgICR0aGlzLT5fZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHRoaXMtPl9tb2QtPl9HZXRNb2R1bGVBbGlhcygpLCAnaWQnIC4gJHRoaXMtPl9pdGVtX2lkLCAnZ2FsbGVyeScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkX2ZpbGVzKCkgewoKICAgICAgICAkdGhpcy0+X2NsZWFuX3VwKCk7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqICBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X21vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyBXSEVSRSBpdGVtX2lkID0gPyAgT1JERVIgQlkgcG9zaXRpb24gJy4gJHRoaXMtPl9tb2QtPkdldFByZWZlcmVuY2UoJ2dhbGxlcnlfc29ydG9yZGVyJyk7CiAgICAgICAgJGZpbGVzID0gJHRoaXMtPl9kYi0+R2V0QWxsKCRxdWVyeSwgYXJyYXkoJHRoaXMtPl9pdGVtX2lkKSk7CiAgICAgICAgaWYgKCRmaWxlcykgewogICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGtleSA9PiAkZmlsZSkgewogICAgICAgICAgICAgICAgJGZpbGVzWyRrZXldWyJmaWxlX2xvY2F0aW9uIl0gPSBnZW5lcmF0b3JfdG9vbHM6OmltYWdlX2xvY2F0aW9uKCR0aGlzLT5fbW9kLCAkZmlsZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRmaWxlczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlX2ltYWdlKCRpbWFnZV9pZCkgewogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgZmlsZW5hbWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9tb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pbWFnZXMgV0hFUkUgaW1hZ2VfaWQgPT8nOwogICAgICAgICRmaWxlbmFtZSA9ICR0aGlzLT5fZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRpbWFnZV9pZCkpOwogICAgICAgIGVjaG8gJ3Rlc3QnOwogICAgICAgIGlmICghJGZpbGVuYW1lKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgdW5saW5rKGNtc19qb2luX3BhdGgoJHRoaXMtPl9kaXIsICRmaWxlbmFtZSkpOwogICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9tb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pbWFnZXMgV0hFUkUgaW1hZ2VfaWQgPT8nOwogICAgICAgICR0aGlzLT5fZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaW1hZ2VfaWQpKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9jbGVhbl91cCgpIHsKCiAgICAgICAgY2dlX2Rpcjo6bWtkaXJyKCR0aGlzLT5fZGlyKTsKICAgICAgICAkZmlsZXMgPSBjZ2VfZGlyOjpnZXRfZmlsZV9saXN0KCR0aGlzLT5fZGlyLCAkdGhpcy0+X2V4dGVuc2lvbnMpOwoKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIE1BWChwb3NpdGlvbikgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9tb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pbWFnZXMgV0hFUkUgaXRlbV9pZCA9ID8nOwogICAgICAgICRtYXhfcG9zaXRpb24gPSAkdGhpcy0+X2RiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+X2l0ZW1faWQpKTsKICAgICAgICBpZiAoISRtYXhfcG9zaXRpb24pCiAgICAgICAgICAgICRtYXhfcG9zaXRpb24gPSAxOwoKICAgICAgICBpZiAoZW1wdHkoJGZpbGVzKSA9PSBmYWxzZSkgewogICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGVuYW1lKSB7CiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGZpbGVuYW1lIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaW1hZ2VzIFdIRVJFIGl0ZW1faWQgPSA/IGFuZCBmaWxlbmFtZSA9ID8nOwogICAgICAgICAgICAgICAgJGlzID0gJHRoaXMtPl9kYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJHRoaXMtPl9pdGVtX2lkLCAkZmlsZW5hbWUpKTsKICAgICAgICAgICAgICAgIGlmICgkaXMpCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7CgogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X21vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyAoaXRlbV9pZCwgZmlsZW5hbWUsIHBvc2l0aW9uKSBWQUxVRVMgKD8sPyw/KSc7CiAgICAgICAgICAgICAgICAkbWF4X3Bvc2l0aW9uKys7CiAgICAgICAgICAgICAgICAkdGhpcy0+X2RiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPl9pdGVtX2lkLCAkZmlsZW5hbWUsICRtYXhfcG9zaXRpb24pKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_opts.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9vcHRzIHsKCiAgICBwdWJsaWMgc3RhdGljICRmaWVsZGRlZnM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaW5pdF9hZG1pbigkbW9kKSB7CgogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICAkaW1hZ2VzX3NpemVfYWRtaW4gPSB0cmltKCRtb2QtPkdldFByZWZlcmVuY2UoJ2ltYWdlc19zaXplX2FkbWluJykpOwoKICAgICAgICBpZiAoc3RycG9zKCRpbWFnZXNfc2l6ZV9hZG1pbiwgJ3gnKSAhPT0gRkFMU0UpIHsKICAgICAgICAgICAgJGltYWdlc19zaXplX2FkbWluX2FycmF5ID0gZXhwbG9kZSgneCcsICRpbWFnZXNfc2l6ZV9hZG1pbik7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCcsICRpbWFnZXNfc2l6ZV9hZG1pbl9hcnJheVswXSk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHQnLCAkaW1hZ2VzX3NpemVfYWRtaW5fYXJyYXlbMV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCcsIDIwMCk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHQnLCAwKTsKICAgICAgICB9CiAgICAgICAgLy8gcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBjYWxsZWQgaW4gdGhlIG1vZHVsZSB0YWcKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsICdkZWZhdWx0JywgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9hY3Rpb24nKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeScsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2NhdGVnb3J5JykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignb3JkZXJieScsICdjcmVhdGVfZGF0ZScsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fb3JkZXJieScpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2RldGFpbHRlbXBsYXRlJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fZGV0YWlsdGVtcGxhdGUnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdzdW1tYXJ5dGVtcGxhdGUnLCAnJywgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeXRlbXBsYXRlJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fY2F0ZWdvcnl0ZW1wbGF0ZScpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcnRlbXBsYXRlJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fZmlsdGVydGVtcGxhdGUnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWxwYWdlJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fZGV0YWlscGFnZScpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2l0ZW1faWQnLCAwLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2l0ZW0nKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdwYWdlbGltaXQnLCAwLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX3BhZ2VsaW1pdCcpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnRvcmRlcicsICdkZXNjJywgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9zb3J0b3JkZXInKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdpbmxpbmUnLCAwLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2lubGluZScpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ29uZXJvdycsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX29uZXJvdycpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2FsbHJvdycsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2FsbHJvdycpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ29uZWNvdW50JywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fb25lY291bnQnKSk7CiAgICAgICAgLy8kbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2l0ZW1fZGF0ZV9mcm9tX3RvJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1faXRlbV9kYXRlX2Zyb21fdG8nKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdkYXRlX3N0YXJ0JywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fZGF0ZV9zdGFydCcpKTsKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2RhdGVfZW5kJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fZGF0ZV9lbmQnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fZmlsdGVyJykpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaW5pdCgkbW9kKSB7CgogICAgICAgICRtb2QtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAgICAgJG1vZC0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2UnLCBDTEVBTl9JTlQpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VsaW1pdCcsIENMRUFOX0lOVCk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnlfaWQnLCBDTEVBTl9JTlQpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2NhdGVnb3J5JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdvcmRlcmJ5JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0b3JkZXInLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRieScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnl0ZW1wbGF0ZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnc3VtbWFyeXRlbXBsYXRlJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXRhaWx0ZW1wbGF0ZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlscGFnZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnaXRlbV9pZCcsIENMRUFOX0lOVCk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnaW5saW5lJywgQ0xFQU5fSU5UKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdWJtaXQnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2p1bmsnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ29uZXJvdycsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnYWxscm93JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdvbmVjb3VudCcsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnaXRlbXMnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2l0ZW1fZGF0ZV9mcm9tX3RvJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdpdGVtbGlzdCcsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnZGF0ZV9zdGFydCcsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnZGF0ZV9lbmQnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2NkX29yaWdwYWdlJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2NhY2hlJywgQ0xFQU5fSU5UKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYWNoZV9rZXknLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ3ByZXZpZXcnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQIC4gJy9maWx0ZXJfKi8nLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQIC4gJy9kYXRlZnJvbSovJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUCAuICcvZGF0ZXRvKi8nLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQIC4gJy8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnXyovJywgQ0xFQU5fU1RSSU5HKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGluaXRfc3RhdGljX3JvdXRlcygkbW9kKSB7CgogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3VybF9lZGl0JykpIHsKICAgICAgICAgICAgLy8gY3VzdG9tIHVybCBzdXBwb3J0CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCx1cmwgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgYWN0aXZlID0gMSBBTkQgdXJsICE9IFwnXCcnOwogICAgICAgICAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHRtcCkpIHsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR0bXAgYXMgJG9uZSkgewogICAgICAgICAgICAgICAgICAgIHNlbGY6OnJlZ2lzdGVyX3N0YXRpY19yb3V0ZSgkbW9kLCAkb25lWyd1cmwnXSwgJG9uZVsnaXRlbV9pZCddKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGRlZmF1bHRfZGV0YWlscGFnZSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnKTsKCiAgICAgICAgJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRtb2QtPkdldE5hbWUoKSwgdHJ1ZSkpIC4gJ1wvW2NDXVwvKD9QPGNhdGVnb3J5X2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pXC8oP1A8Y2F0ZWdvcnl0ZW1wbGF0ZT5bMC05XSs/KSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpKTsKICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwogICAgICAgICRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnLycgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbW9kLT5HZXROYW1lKCksIHRydWUpKSAuICdcL1tjQ11cLyg/UDxjYXRlZ29yeV9pZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpKTsKICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwogICAgICAgICRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnLycgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbW9kLT5HZXROYW1lKCksIHRydWUpKSAuICdcL1tjQ11cLyg/UDxjYXRlZ29yeV9pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLCAkbW9kLT5HZXROYW1lKCksIGFycmF5KCdhY3Rpb24nID0+ICdkZWZhdWx0JywgJ3JldHVybmlkJyA9PiAkZGVmYXVsdF9kZXRhaWxwYWdlKSk7CiAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICAgICAgICAkcm91dGUgPSBuZXcgQ21zUm91dGUoJy8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsIG11bmdlX3N0cmluZ190b191cmwoJG1vZC0+R2V0TmFtZSgpLCB0cnVlKSkgLiAnXC9bY0NdXC8oP1A8Y2F0ZWdvcnlfaWQ+WzAtOV0rKSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcsICdyZXR1cm5pZCcgPT4gJGRlZmF1bHRfZGV0YWlscGFnZSkpOwogICAgICAgIGNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CgogICAgICAgICRkZWZhdWx0X2RldGFpbHBhZ2UgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RldGFpbF9yZXR1cm5pZCcpOwoKICAgICAgICAkcm91dGUgPSBuZXcgQ21zUm91dGUoJy8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsIG11bmdlX3N0cmluZ190b191cmwoJG1vZC0+R2V0TmFtZSgpLCB0cnVlKSkgLiAnXC8oP1A8aXRlbV9pZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KVwvKD9QPGRldGFpbHRlbXBsYXRlPlswLTldKz8pJC8nLCAkbW9kLT5HZXROYW1lKCksIGFycmF5KCdhY3Rpb24nID0+ICdkZXRhaWwnKSk7CiAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICAgICAgICAkcm91dGUgPSBuZXcgQ21zUm91dGUoJy8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsIG11bmdlX3N0cmluZ190b191cmwoJG1vZC0+R2V0TmFtZSgpLCB0cnVlKSkgLiAnXC8oP1A8aXRlbV9pZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJykpOwogICAgICAgIGNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CiAgICAgICAgJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRtb2QtPkdldE5hbWUoKSwgdHJ1ZSkpIC4gJ1wvKD9QPGl0ZW1faWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJywgJ3JldHVybmlkJyA9PiAkZGVmYXVsdF9kZXRhaWxwYWdlKSk7CiAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICAgICAgICAkcm91dGUgPSBuZXcgQ21zUm91dGUoJy8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsIG11bmdlX3N0cmluZ190b191cmwoJG1vZC0+R2V0TmFtZSgpLCB0cnVlKSkgLiAnXC8oP1A8aXRlbV9pZD5bMC05XSspJC8nLCAkbW9kLT5HZXROYW1lKCksIGFycmF5KCdhY3Rpb24nID0+ICdkZXRhaWwnLCAncmV0dXJuaWQnID0+ICRkZWZhdWx0X2RldGFpbHBhZ2UpKTsKICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVnaXN0ZXJfc3RhdGljX3JvdXRlKCRtb2QsICR1cmwsICRpdGVtX2lkKSB7CiAgICAgICAgLy8gYWRkIHN0YXRpYyB1cmwKICAgICAgICAkZGV0YWlscGFnZSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgLTEpOwogICAgICAgIGlmICgkZGV0YWlscGFnZSA9PSAtMSkgewogICAgICAgICAgICAkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAgICAgICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCk7CiAgICAgICAgfQogICAgICAgIGNtc19yb3V0ZV9tYW5hZ2VyOjpkZWxfc3RhdGljKCcnLCAkbW9kLT5HZXROYW1lKCksICRpdGVtX2lkKTsKICAgICAgICBpZiAoJHVybCAhPSAnJykgewogICAgICAgICAgICAkcGFybXMgPSBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJywgJ3JldHVybmlkJyA9PiAkZGV0YWlscGFnZSwKICAgICAgICAgICAgICAgICdpdGVtX2lkJyA9PiAkaXRlbV9pZCk7CiAgICAgICAgICAgICRyb3V0ZSA9IENtc1JvdXRlOjpuZXdfYnVpbGRlcigkdXJsLCAkbW9kLT5HZXROYW1lKCksICRpdGVtX2lkLCAkcGFybXMsIFRSVUUpOwogICAgICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9tb2R1bGUoJG5hbWUpIHsKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgIHJldHVybiAkZGItPkdldFJvdygnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9nZW5lcmF0b3IgV0hFUkUgbW9kdWxlX25hbWUgPSA/JywgYXJyYXkoJG5hbWUpKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZSgkbmFtZSkgewogICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ01vZHVsZUdlbmVyYXRvcicpOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgcmV0dXJuICRkYi0+RXhlY3V0ZSgnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZ2VuZXJhdG9yIFdIRVJFIG1vZHVsZV9uYW1lID0gPycsIGFycmF5KCRuYW1lKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB1cGRhdGVhdHRhY2goJG5hbWUsICRhdHRhY2gpIHsKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgIHJldHVybiAkZGItPkV4ZWN1dGUoJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9nZW5lcmF0b3IgU0VUIGF0dGFjaCA9ID8sIG1vZGlmaWVkX2RhdGUgPSBOT1coKSBXSEVSRSBtb2R1bGVfbmFtZSA9ID8nLCBhcnJheSgkYXR0YWNoLCAkbmFtZSkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdXBkYXRlZGF0ZSgkbmFtZSkgewogICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ01vZHVsZUdlbmVyYXRvcicpOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgcmV0dXJuICRkYi0+RXhlY3V0ZSgnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvciBTRVQgbW9kaWZpZWRfZGF0ZSA9IE5PVygpIFdIRVJFIG1vZHVsZV9uYW1lID0gPycsIGFycmF5KCRuYW1lKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbnNlcnQoJG5hbWUsICRhdHRhY2ggPSAnJykgewogICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ01vZHVsZUdlbmVyYXRvcicpOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgcmV0dXJuICRkYi0+RXhlY3V0ZSgnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZ2VuZXJhdG9yIChtb2R1bGVfbmFtZSxhdHRhY2gsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyxOT1coKSxOT1coKSknLCBhcnJheSgkbmFtZSwgJGF0dGFjaCkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X21vZHVsZXNfbGlzdCgpIHsKICAgICAgICByZXR1cm4gZXh0ZW5kZWRfdG9vbHNfb3B0czo6dG9faGFzaChzZWxmOjpnZXRfbW9kdWxlcygpLCAnbW9kdWxlX25hbWUnLCAnaWQnKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9tb2R1bGVzKCkgewogICAgICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnTW9kdWxlR2VuZXJhdG9yJyk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkaXRlbXMgPSAkZGItPkdldEFycmF5KCdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvcicpOwogICAgICAgIHJldHVybiAkaXRlbXM7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYXR0YWNoX21vZHVsZXMoJGF0dGFjaG1vZHVsZXMpIHsKICAgICAgICAkaXRlbXMgPSBhcnJheSgpOwogICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ01vZHVsZUdlbmVyYXRvcicpOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJGl0ZW1zID0gJGRiLT5HZXRBcnJheSgnU0VMRUNUIGlkLG1vZHVsZV9uYW1lIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZ2VuZXJhdG9yIFdIRVJFIEZJTkRfSU5fU0VUKGlkLD8pID4gMCcsIGFycmF5KCRhdHRhY2htb2R1bGVzKSk7CiAgICAgICAgaWYgKCEkaXRlbXMpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJGl0ZW1zID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6dG9faGFzaCgkaXRlbXMsICdtb2R1bGVfbmFtZScsICdpZCcpOwogICAgICAgICRtb2R1bGVzID0gYXJyYXlfa2V5cygkaXRlbXMpOwoKICAgICAgICByZXR1cm4gaW1wbG9kZSgnLCAnLCAkbW9kdWxlcyk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmaWxsX2l0ZW1fZnJvbV9mb3JtcGFyYW1zKCRtb2QsIGFycmF5ICYkcm93LCAkcGFyYW1zKSB7CiAgICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICBzd2l0Y2ggKCRrZXkpIHsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgJHJvd1ska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCgogICAgICAgIC8vIGdldCBjYXRlZ29yeSBwYXJhbXMKICAgICAgICAkY2F0ZWdvcnkgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jYXRlZ29yeSgkbW9kLCAkcm93WyJjYXRlZ29yeSJdKTsKICAgICAgICAkcm93WyJjYXRlZ29yeV9uYW1lIl0gPSAkY2F0ZWdvcnlbImNhdGVnb3J5X25hbWUiXTsKICAgICAgICAkcm93WyJjYXRlZ29yeV9hbGlhcyJdID0gJGNhdGVnb3J5WyJjYXRlZ29yeV9hbGlhcyJdOwoKICAgICAgICAvLyBnZXQgY3VzdG9tIGZpZWxkcwogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydjdXN0b21maWVsZCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydjdXN0b21maWVsZCddKSkgewogICAgICAgICAgICBzZWxmOjokZmllbGRkZWZzID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfY29zdHVtX2ZpZWxkX2RlZigkbW9kLCAkcm93WyJpdGVtX2lkIl0sIGZhbHNlKTsKICAgICAgICAgICAgZm9yZWFjaCAoc2VsZjo6JGZpZWxkZGVmcyBhcyAkZmllbGQpIHsKICAgICAgICAgICAgICAgIHNlbGY6OiRmaWVsZGRlZnNbJGZpZWxkWyJmaWVsZGRlZl9pZCJdXSA9ICRmaWVsZDsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydjdXN0b21maWVsZCddIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KHNlbGY6OiRmaWVsZGRlZnNbJGtleV0pKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICBzZWxmOjokZmllbGRkZWZzW3NlbGY6OiRmaWVsZGRlZnNbJGtleV1bImFsaWFzIl1dWyJ2YWx1ZSJdID0gaW1wbG9kZSgnLCcsICR2YWx1ZSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHNlbGY6OiRmaWVsZGRlZnNbc2VsZjo6JGZpZWxkZGVmc1ska2V5XVsiYWxpYXMiXV1bInZhbHVlIl0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1bnNldChzZWxmOjokZmllbGRkZWZzWyRrZXldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl90b29scyB7CgogICAgcHJpdmF0ZSBzdGF0aWMgJHNlYXJjaF9kYXRlX2VuZCA9IG51bGw7CiAgICBwdWJsaWMgc3RhdGljICRpdGVtcyA9IG51bGw7CiAgICBwdWJsaWMgc3RhdGljICRmaWVsZHNfYmxvY2tsaXN0ID0gYXJyYXkoJ2l0ZW1faWQnLCAnY2F0ZWdvcnlfaWQnLCAndGl0bGUnLCAnYWxpYXMnLCAndXJsJywgJ3Bvc2l0aW9uJywgJ2FjdGl2ZScsICdpdGVtX2RhdGUnLCAnY3JlYXRlX2RhdGUnLCAnbW9kaWZpZWRfZGF0ZScsICdjYXRlZ29yeV9pZCcsICdjYXRlZ29yeV9uYW1lJywgJ2NhdGVnb3J5X2FsaWFzJyk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkX2RlZnMoJG1vZCwgJHR5cGUgPSBudWxsLCAkZmlsdGVyX2Zyb250ZW5kID0gbnVsbCwgJGZpbHRlcl9hZG1pbiA9IG51bGwsICRzZWN0aW9uID0gJ2l0ZW1zJykgewogICAgICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBmaWVsZGRlZl9pZCwgbmFtZSwgYWxpYXMsIGhlbHAsIHR5cGUsIHBvc2l0aW9uLCByZXF1aXJlZCwgc2VhcmNoYWJsZSwgZXh0cmEsIGZyb250ZW5kLGVkaXR2aWV3LCBmaWx0ZXJfZnJvbnRlbmQsIGZpbHRlcl9hZG1pbiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnOwogICAgICAgICRxdWVyeSAuPSAiIFdIRVJFIHNlY3Rpb24gPSA/ICI7CiAgICAgICAgJHBhcm1zW10gPSAkc2VjdGlvbjsKCiAgICAgICAgaWYgKCR0eXBlKSB7CiAgICAgICAgICAgICRxdWVyeSAuPSAiIEFORCB0eXBlICA9ID8gICI7CiAgICAgICAgICAgICRwYXJtc1tdID0gJHR5cGU7CiAgICAgICAgfQogICAgICAgIGlmICgkZmlsdGVyX2Zyb250ZW5kKSB7CiAgICAgICAgICAgICRxdWVyeSAuPSAiIEFORCBmaWx0ZXJfZnJvbnRlbmQgID0gPyAgIjsKICAgICAgICAgICAgJHBhcm1zW10gPSAkZmlsdGVyX2Zyb250ZW5kOwogICAgICAgIH0KICAgICAgICBpZiAoJGZpbHRlcl9hZG1pbikgewogICAgICAgICAgICAkcXVlcnkgLj0gIiBBTkQgZmlsdGVyX2FkbWluICA9ID8gICI7CiAgICAgICAgICAgICRwYXJtc1tdID0gJGZpbHRlcl9hZG1pbjsKICAgICAgICB9CiAgICAgICAgJHF1ZXJ5IC49ICIgIE9SREVSIEJZIHBvc2l0aW9uIjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkdldEFsbCgkcXVlcnksICRwYXJtcyk7CiAgICAgICAgcmV0dXJuICRkYnJlc3VsdDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZF92YWwoJG1vZCwgJGl0ZW1faWQsICRmaWVsZF9hbGlhcykgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCB2YWx1ZSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsICc7CiAgICAgICAgJHF1ZXJ5IC49ICIgV0hFUkUgIGl0ZW1faWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8iOwogICAgICAgICR2YWx1ZSA9ICRkYi0+R2V0T25lKCRxdWVyeSwgJHBhcm1zKTsKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEKICAgICAqIEByZXR1cm4gdGltZXN0YW1wIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHByb2Nlc3NfZmlsdGVyX2RhdGUoJGRhdGUpIHsKICAgICAgICAkZGF0ZV9mcm9tID0gJyc7CiAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKCRkYXRlKSkgewogICAgICAgICAgICBjYXNlICJub3ciOgogICAgICAgICAgICAgICAgJGRhdGVfZnJvbSA9IHRpbWUoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJGRhdGVfYXJyYXkgPSBleHBsb2RlKCc6JywgJGRhdGUpOwogICAgICAgICAgICAgICAgaWYgKGNvdW50KCRkYXRlX2FycmF5KSA9PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgJGRhdGVfdGltZSA9IHN0cnRvdGltZSgiKyIgLiAkZGF0ZV9hcnJheVswXSAuICIgZGF5Iik7CiAgICAgICAgICAgICAgICAgICAgJGRhdGVfZnJvbSA9IG1rdGltZSgkZGF0ZV9hcnJheVsxXSwgMCwgMCwgZGF0ZSgibSIsICRkYXRlX3RpbWUpLCBkYXRlKCJkIiwgJGRhdGVfdGltZSksIGRhdGUoIlkiLCAkZGF0ZV90aW1lKSk7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoY291bnQoJGRhdGVfYXJyYXkpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0ZV9mcm9tID0gc3RydG90aW1lKCIrIiAuICRkYXRlX2FycmF5WzBdIC4gIiBob3VycyIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZGF0ZV9mcm9tOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEKICAgICAqIEByZXR1cm4gdGltZXN0YW1wIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHByb2Nlc3NfZmlsdGVyX2RhdGVfcmVjdXJzaXZlKCRkYXRlKSB7CiAgICAgICAgJGRhdGVfZnJvbSA9ICcnOwogICAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkZGF0ZSkpIHsKICAgICAgICAgICAgY2FzZSAibm93IjoKICAgICAgICAgICAgICAgICRkYXRlX2Zyb20gPSAiZS52YWx1ZSA9ID8gQU5EIGRhdGVfZm9ybWF0KGMuaXRlbV9kYXRlLCclSDolaTolcycpID4gPyI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICRkYXRlX2FycmF5ID0gZXhwbG9kZSgnOicsICRkYXRlKTsKICAgICAgICAgICAgICAgIGlmIChjb3VudCgkZGF0ZV9hcnJheSkgPT0gMikgewogICAgICAgICAgICAgICAgICAgICRkYXRlX3RpbWUgPSBzdHJ0b3RpbWUoIisiIC4gJGRhdGVfYXJyYXlbMF0gLiAiIGRheSIpOwogICAgICAgICAgICAgICAgICAgICRkYXRlX2Zyb20gPSBta3RpbWUoJGRhdGVfYXJyYXlbMV0sIDAsIDAsIGRhdGUoIm0iLCAkZGF0ZV90aW1lKSwgZGF0ZSgiZCIsICRkYXRlX3RpbWUpLCBkYXRlKCJZIiwgJGRhdGVfdGltZSkpOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKGNvdW50KCRkYXRlX2FycmF5KSA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgJGRhdGVfZnJvbSA9IHN0cnRvdGltZSgiKyIgLiAkZGF0ZV9hcnJheVswXSAuICIgaG91cnMiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGRhdGVfZnJvbTsKICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyAkX2NhdGVnb3JpZXMgPSBhcnJheSgpOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3J5KCRtb2QsICRjYXRlZ29yeV9pZCkgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgaWYgKCFpc3NldChzZWxmOjokX2NhdGVnb3JpZXNbJGNhdGVnb3J5X2lkXSkpIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyI7CiAgICAgICAgICAgICRjYXRlZ29yeSA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGNhdGVnb3J5X2lkKSk7CiAgICAgICAgICAgIHNlbGY6OiRfY2F0ZWdvcmllc1skY2F0ZWdvcnlbImNhdGVnb3J5X2lkIl1dID0gJGNhdGVnb3J5OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHNlbGY6OiRfY2F0ZWdvcmllc1skY2F0ZWdvcnlfaWRdOwogICAgfQoKICAgIC8qKgogICAgICogZ2V0IGNhdGVnb3J5IGxpc3QKICAgICAqIEBwYXJhbSBvYmplY3QgJG1vZAogICAgICogQHJldHVybiBhcnJheSAKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcnlfbGlzdCgkbW9kLCAkd2hlcmUgPSBhcnJheSgpLCAkcGFyYW1hcnJheSA9IGFycmF5KCksICRmaWVsZCA9ICdsb25nX25hbWUnKSB7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkY2F0ZWdvcnlsaXN0ID0gYXJyYXkoKTsKCiAgICAgICAgJGNhdGVnb3J5bGlzdFtnZW5lcmF0b3IoKS0+TGFuZygnYWxsY2F0ZWdvcmllcycpXSA9ICcnOwoKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgIjsKCiAgICAgICAgaWYgKGVtcHR5KCR3aGVyZSkgPT0gZmFsc2UpIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gJHF1ZXJ5IC4gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCAkd2hlcmUpOwogICAgICAgIH0KCiAgICAgICAgJHF1ZXJ5IC49IiBPUkRFUiBCWSBoaWVyYXJjaHlfcG9zaXRpb24iOwogICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICRwYXJhbWFycmF5KTsKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgaWYgKCRmaWVsZCA9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgJGNhdGVnb3J5bGlzdFtdID0gJHJvdzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRjYXRlZ29yeWxpc3RbJHJvd1skZmllbGRdXSA9ICRyb3dbJGZpZWxkXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJGNhdGVnb3J5bGlzdDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yaWVzKCRtb2QsICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCA9IC0xKSB7CgogICAgICAgICRnQ21zID0gY21zbXMoKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICRkZXB0aCA9IDE7CgogICAgICAgICRpbmxpbmUgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5X2lubGluZScsIGZhbHNlKTsKCiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSkKICAgICAgICAgICAgJGlubGluZSA9ICRwYXJhbXNbJ2lubGluZSddOwoKICAgICAgICAkZGVmYXVsdF9kZXRhaWxwYWdlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9jYXRlZ29yeV9yZXR1cm5pZCcsICcnKTsKICAgICAgICAkZGV0YWlscGFnZSA9ICRkZWZhdWx0X2RldGFpbHBhZ2U7CiAgICAgICAgJGRldGFpbHBhZ2UgPSBleHRlbmRlZF90b29sc19vcHRzOjpkZXRhaWxwYWdlKCRwYXJhbXMsICRkZXRhaWxwYWdlKTsKCi8vIHNvcnQgb3JkZXIKICAgICAgICAkc29ydG9yZGVyID0gJ0FTQyc7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3NvcnRvcmRlciddKSkgewogICAgICAgICAgICBzd2l0Y2ggKHN0cnRvbG93ZXIoJHBhcmFtc1snc29ydG9yZGVyJ10pKSB7CiAgICAgICAgICAgICAgICBjYXNlICdhc2MnOgogICAgICAgICAgICAgICAgY2FzZSAnZGVzYyc6CiAgICAgICAgICAgICAgICAgICAgJHNvcnRvcmRlciA9ICRwYXJhbXNbJ3NvcnRvcmRlciddOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkcXVlcnkgPSAnCgkJU0VMRUNUIGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGhpZXJhcmNoeSwgaGllcmFyY2h5X3Bvc2l0aW9uLCBsb25nX25hbWUKCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcyAKCQlXSEVSRSAxIAoJJzsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkgJiYgJHBhcmFtc1snY2F0ZWdvcnknXSAhPSAnJykgewogICAgICAgICAgICAkY2F0ZWdvcmllcyA9IGV4cGxvZGUoJywnLCAkcGFyYW1zWydjYXRlZ29yeSddKTsKICAgICAgICAgICAgJHF1ZXJ5IC49ICcgQU5EICgnOwogICAgICAgICAgICAkY291bnQgPSAwOwogICAgICAgICAgICBmb3JlYWNoICgkY2F0ZWdvcmllcyBhcyAkb25lY2F0KSB7CiAgICAgICAgICAgICAgICBpZiAoJGNvdW50ID4gMCkgewogICAgICAgICAgICAgICAgICAgICRxdWVyeSAuPSAnIE9SICc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoc3RycG9zKCRvbmVjYXQsICd8JykgIT09IEZBTFNFIHx8IHN0cnBvcygkb25lY2F0LCAnKicpICE9PSBGQUxTRSkKICAgICAgICAgICAgICAgICAgICAkcXVlcnkgLj0gInVwcGVyKGxvbmdfbmFtZSkgbGlrZSB1cHBlcignIiAuIHRyaW0oc3RyX3JlcGxhY2UoJyonLCAnJScsICRvbmVjYXQpKSAuICInKSI7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5IC49ICJjYXRlZ29yeV9uYW1lID0gJyIgLiB0cmltKCRvbmVjYXQpIC4gIiciOwogICAgICAgICAgICAgICAgJGNvdW50Kys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHF1ZXJ5IC49ICcpICc7CiAgICAgICAgfQogICAgICAgICRxdWVyeSAuPSAnIE9SREVSIGJ5IGhpZXJhcmNoeV9wb3NpdGlvbiAnIC4gJHNvcnRvcmRlcjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgICAkcm93Y291bnRlciA9IDA7CgogICAgICAgICRmaWVsZGVmcyA9ICcnOyB7CiAgICAgICAgICAgICR0bXAgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZHMoJG1vZCwgZmFsc2UsICdjYXRlZ29yaWVzJyk7CgogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHRtcCkpIHsKICAgICAgICAgICAgICAgICRmaWVsZGRlZnMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKyspIHsKICAgICAgICAgICAgICAgICAgICAkb2JqID0gJHRtcFskaV07CiAgICAgICAgICAgICAgICAgICAgJGZpZWxkZGVmc1skb2JqLT5hbGlhc10gPSAkb2JqOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgJHEyID0gIlNFTEVDVCBDT1VOVChpdGVtX2lkKSBhcyBjbnQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gV0hFUkUgY2F0ZWdvcnlfaWQ9PyI7CiAgICAgICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydzaG93YXJjaGl2ZSddKSAmJiAkcGFyYW1zWydzaG93YXJjaGl2ZSddID09IHRydWUpIHsKICAgICAgICAgICAgICAgICRxMiAuPSAiIEFORCAoaXRlbV9kYXRlIDwgIiAuICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSAuICIpICI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHEyIC49ICcgQU5EIGFjdGl2ZSA9IFwnMVwnJzsKCiAgICAgICAgICAgICRkYnJlczIgPSAkZGItPkV4ZWN1dGUoJHEyLCBhcnJheSgkcm93WydjYXRlZ29yeV9pZCddKSk7CiAgICAgICAgICAgICRjb3VudCA9ICRkYnJlczItPkZldGNoUm93KCk7CiAgICAgICAgICAgICRyb3dbJ2luZGV4J10gPSAkcm93Y291bnRlcisrOwogICAgICAgICAgICAkcm93Wydjb3VudCddID0gJGNvdW50WydjbnQnXTsKICAgICAgICAgICAgJHJvd1sncHJldmRlcHRoJ10gPSAkZGVwdGg7CiAgICAgICAgICAgICRkZXB0aCA9IGNvdW50KGV4cGxvZGUoJy4nLCAkcm93WydoaWVyYXJjaHlfcG9zaXRpb24nXSkpOwogICAgICAgICAgICAkcm93WydkZXB0aCddID0gJGRlcHRoOwoKCgogICAgICAgICAgICAkcHJldHR5dXJsID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJldHR5X3VybCgkdGhpcywgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJlZml4KCRtb2QpIC4gJy9jJywgJHJvd1snY2F0ZWdvcnlfaWQnXSwgJHJvd1snY2F0ZWdvcnlfYWxpYXMnXSwgKCRkZWZhdWx0X2RldGFpbHBhZ2UgPT0gLTEgJiYgIWlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6ICcnKSwgJGNhdGVnb3J5dGVtcGxhdGUpOwogICAgICAgICAgICAkcm93Wyd1cmwnXSA9ICRtb2QtPkNyZWF0ZUZyb250ZW5kTGluaygkaWQsICRyZXR1cm5pZCwgJ2RlZmF1bHQnLCAnJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddLCAnY2F0ZWdvcnl0ZW1wbGF0ZScgPT4gJGNhdGVnb3J5dGVtcGxhdGUpLCAnJywgdHJ1ZSwgaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pID8gMSA6IDAsICcnLCBmYWxzZSwgJHByZXR0eXVybCk7CiAgICAgICAgICAgICRyb3dbIml0ZW1faWQiXSA9ICRyb3dbImNhdGVnb3J5X2lkIl07CiAgICAgICAgICAgICRyb3dbJ2ZpbGVfbG9jYXRpb24nXSA9IGdlbmVyYXRvcl90b29sczo6ZmlsZV9sb2NhdGlvbigkbW9kLCAkcm93KTsKCiAgICAgICAgICAgIC8vIGFkZCBjdXN0b20gZmllbGRzCiAgICAgICAgICAgICRmaWVsZGRlZnMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jb3N0dW1fZmllbGRfZGVmKCRtb2QsICRyb3dbJ2NhdGVnb3J5X2lkJ10sIHRydWUsICdhbGlhcycsICdjYXRlZ29yaWVzJyk7CiAgICAgICAgICAgICRmaWVsZHMgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkZmllbGRkZWZzIGFzICRvbmVkZWYpIHsKICAgICAgICAgICAgICAgIGlmIChlbXB0eSgkb25lZGVmWyJhbGlhcyJdKSA9PSBmYWxzZSAmJiBpbl9hcnJheSgkb25lZGVmWyJhbGlhcyJdLCBnZW5lcmF0b3JfdG9vbHM6OiRmaWVsZHNfYmxvY2tsaXN0KSA9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICRyb3dbJG9uZWRlZlsiYWxpYXMiXV0gPSAkb25lZGVmWyJ2YWx1ZSJdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICRyb3dbJ2ZpZWxkcyddID0gJGZpZWxkZGVmczsKCgogICAgICAgICAgICAkaXRlbXNbXSA9ICRyb3c7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkaXRlbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBnZXQgaXRlbQogICAgICogQHBhcmFtIG9iamVjdCAkbW9kCiAgICAgKiBAcGFyYW0gaW50ICRpdGVtX2lkCiAgICAgKiBAcmV0dXJuIGFycmF5IAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9pdGVtcygkbW9kKSB7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkc29ydG9yZGVyID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyXycgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdtb2RlJyksICdkZXNjJyk7CiAgICAgICAgJHNvcnRieSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3NvcnRieV8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnbW9kZScpLCAncG9zaXRpb24nKTsKICAgICAgICAkaXRlbXMgPSAkZGItPkdldEFsbCgnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gT1JERVIgQlkgJyAuICRzb3J0b3JkZXIgLiAnICcgLiAkc29ydGJ5LCBhcnJheSgkaXRlbV9pZCkpOwogICAgICAgIHJldHVybiAkaXRlbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBnZXQgaXRlbQogICAgICogQHBhcmFtIG9iamVjdCAkbW9kCiAgICAgKiBAcGFyYW0gaW50ICRpdGVtX2lkCiAgICAgKiBAcmV0dXJuIGFycmF5IAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9pdGVtKCRtb2QsICRpdGVtX2lkKSB7CiAgICAgICAgJGRhdGEgPSBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YSgkbW9kLT5HZXROYW1lKCkgLiBfX0ZVTkNUSU9OX18gLiAkaXRlbV9pZCk7CiAgICAgICAgaWYgKCRkYXRhKQogICAgICAgICAgICByZXR1cm4gJGRhdGE7CgogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHZhbHVlID0gJGRiLT5HZXRSb3coJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFdIRVJFIGl0ZW1faWQgPSA/JywgYXJyYXkoJGl0ZW1faWQpKTsKICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YSgkbW9kLT5HZXROYW1lKCkgLiBfX0ZVTkNUSU9OX18gLiAkaXRlbV9pZCwgJHZhbHVlKTsKCiAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIGdldCBpdGVtCiAgICAgKiBAcGFyYW0gb2JqZWN0ICRtb2QKICAgICAqIEBwYXJhbSBpbnQgJGltYWdlX2lkCiAgICAgKiBAcmV0dXJuIGFycmF5IAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9pbWFnZSgkbW9kLCAkaW1hZ2VfaWQpIHsKICAgICAgICAkZGF0YSA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCRtb2QtPkdldE5hbWUoKSAuIF9fRlVOQ1RJT05fXyAuICRpbWFnZV9pZCk7CiAgICAgICAgaWYgKCRkYXRhKQogICAgICAgICAgICByZXR1cm4gJGRhdGE7CgogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHZhbHVlID0gJGRiLT5HZXRSb3coJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pbWFnZXMgV0hFUkUgaW1hZ2VfaWQgPSA/JywgYXJyYXkoJGltYWdlX2lkKSk7CiAgICAgICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoJG1vZC0+R2V0TmFtZSgpIC4gX19GVU5DVElPTl9fIC4gJGltYWdlX2lkLCAkdmFsdWUpOwoKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NlYXJjaGFibGVfZGF0ZV9lbmQoKSB7CiAgICAgICAgcmV0dXJuIHNlbGY6OiRzZWFyY2hfZGF0ZV9lbmQ7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc2VhcmNoYWJsZV90ZXh0KCRtb2QsICRpdGVtX2lkKSB7CgogICAgICAgICRyZXN1bHRzID0gYXJyYXkoKTsKCiAgICAgICAgJGl0ZW0gPSBzZWxmOjpnZXRfaXRlbSgkbW9kLCAkaXRlbV9pZCk7CgogICAgICAgIGlmICgkaXRlbVsnYWN0aXZlJ10gIT0gMSkKICAgICAgICAgICAgcmV0dXJuIGFycmF5KCk7CgogICAgICAgICRyZXN1bHRzW10gPSAkaXRlbVsndGl0bGUnXTsKICAgICAgICAkcmVzdWx0c1tdID0gJGl0ZW1bJ2FsaWFzJ107CgovLyBkYXRlIGVuZCBmb3Igc2VhcmNoIHJlc3VsdHMKICAgICAgICBzZWxmOjokc2VhcmNoX2RhdGVfZW5kID0gbnVsbDsKICAgICAgICBpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoX2RhdGVfZW5kJykpIHsKICAgICAgICAgICAgJGl0ZW0gPSBzZWxmOjpnZXRfaXRlbSgkbW9kLCAkaXRlbV9pZCk7CiAgICAgICAgICAgIHNlbGY6OiRzZWFyY2hfZGF0ZV9lbmQgPSBzdHJ0b3RpbWUoJGl0ZW1bIml0ZW1fZGF0ZV9lbmQiXSk7CiAgICAgICAgfQoKICAgICAgICAkZGVmcyA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2Nvc3R1bV9maWVsZF9kZWYoJG1vZCwgJGl0ZW1faWQpOwoKCiAgICAgICAgZm9yZWFjaCAoJGRlZnMgYXMgJG9uZWRlZikgewoKLy8gc2tpcAogICAgICAgICAgICBpZiAoISRvbmVkZWZbInNlYXJjaGFibGUiXSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKLy9zZXJhY2hhYmxlIC0gdGV4dGJveCwgdGV4dGFyZWEsIGRyb3Bkb3duCiAgICAgICAgICAgIHN3aXRjaCAoJG9uZWRlZlsidHlwZSJdKSB7CiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0Ym94JzoKICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJG9uZWRlZlsidmFsdWUiXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdHNbXSA9ICRvbmVkZWZbInZhbHVlIl07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBpbXBsb2RlKCcgJywgJHJlc3VsdHMpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2VhcmNoX3JlaW5kZXgoJG1vZCwgJG1vZHVsZSkgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSB3aGVyZSBhY3RpdmUgPSAxJzsKICAgICAgICAkaXRlbXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSwgYXJyYXkoKSk7CgogICAgICAgIGlmICghJGl0ZW1zKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRpdGVtcyBhcyAkaXRlbSkgewogICAgICAgICAgICAkbW9kdWxlLT5BZGRXb3JkcygkbW9kLT5HZXROYW1lKCksICRpdGVtWyJpdGVtX2lkIl0sICdpdGVtJywgc2VsZjo6Z2V0X3NlYXJjaGFibGVfdGV4dCgkbW9kLCAkaXRlbVsiaXRlbV9pZCJdKSwgc2VsZjo6Z2V0X3NlYXJjaGFibGVfZGF0ZV9lbmQoKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NlYXJjaF9yZXN1bHQoJG1vZCwgJHJldHVybmlkLCAkaXRlbV9pZCwgJGF0dHIgPSAnJykgewogICAgICAgICRyZXN1bHQgPSBhcnJheSgpOwoKICAgICAgICBpZiAoJGF0dHIgIT0gJ2l0ZW0nKQogICAgICAgICAgICByZXR1cm4gJHJlc3VsdDsKCiAgICAgICAgJGRldGFpbHRlbXBsYXRlID0gJyc7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbImRldGFpbHRlbXBsYXRlIl0pKQogICAgICAgICAgICAkZGV0YWlsdGVtcGFsdGUgPSAkcGFyYW1zWyJkZXRhaWx0ZW1wbGF0ZSJdOwoKICAgICAgICAkaW5saW5lID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCAwKTsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pKQogICAgICAgICAgICAkZGV0YWlsdGVtcGFsdGUgPSAkcGFyYW1zWyJpbmxpbmUiXTsKCiAgICAgICAgLyogaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgMCkpIHsKICAgICAgICAgICRyZXR1cm5pZCA9ICcnOwogICAgICAgICAgfSAqLwoKCiAgICAgICAgJHJvdyA9IHNlbGY6OmdldF9pdGVtKCRtb2QsICRpdGVtX2lkKTsKICAgICAgICBpZiAoJHJvdykgewoKLy8wIHBvc2l0aW9uIGlzIHRoZSBwcmVmaXggZGlzcGxheWVkIGluIHRoZSBsaXN0IHJlc3VsdHMuCiAgICAgICAgICAgICRyZXN1bHRbMF0gPSAkbW9kLT5HZXRGcmllbmRseU5hbWUoKTsKCi8vMSBwb3NpdGlvbiBpcyB0aGUgdGl0bGUKICAgICAgICAgICAgJHJlc3VsdFsxXSA9ICRyb3dbJ3RpdGxlJ107CgovLzIgcG9zaXRpb24gaXMgdGhlIFVSTCB0byB0aGUgdGl0bGUuCgogICAgICAgICAgICBpZiAoZW1wdHkoJHJvd1sidXJsIl0pID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkcHJldHR5dXJsID0gJHJvd1sidXJsIl07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcHJldHR5dXJsID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJldHR5X3VybCgkbW9kLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmVmaXgoJG1vZCksICRyb3dbJ2l0ZW1faWQnXSwgJHJvd1snYWxpYXMnXSwgaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSA/ICRkZXRhaWxwYWdlIDogJHJldHVybmlkLCAkZGV0YWlsdGVtcGxhdGUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcmVzdWx0WzJdID0gJG1vZC0+Q3JlYXRlRnJvbnRlbmRMaW5rKCdjbnRudDAxJywgJHJldHVybmlkLCAnZGV0YWlsJywgJycsIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10sICdkZXRhaWx0ZW1wbGF0ZScgPT4gJGRldGFpbHRlbXBsYXRlKSwgJycsIHRydWUsICRpbmxpbmUsICcnLCBmYWxzZSwgJHByZXR0eXVybCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJvdXRlKCRtb2QsICRmaWxlbmFtZSkgewogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJHBhdGhpbmZvID0gcGF0aGluZm8oJGZpbGVuYW1lKTsKICAgICAgICAkZmlsYW5lYW0gPSAkcGF0aGluZm9bImJhc2VuYW1lIl07CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdnZW5lcmF0b3JfdGVtcGxhdGVzJywgY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ01vZHVsZUxpYicsICd0ZW1wbGF0ZXMnKSk7CiAgICAgICAgcmV0dXJuIGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdNb2R1bGVMaWInLCAkcGF0aGluZm9bImJhc2VuYW1lIl0pOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGV0YWlscGFnZSgmJHBhcmFtcywgJGRldGFpbHBhZ2UpIHsKCiAgICAgICAgJGdjbXMgPSBjbXNtcygpOwogICAgICAgIHJldHVybiAkZGV0YWlscGFnZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZV9wYXJlbnRfZHJvcGRvd24oJG1vZCwgJGlkLCAkY2F0aWQgPSAtMSwgJHNlbGVjdGVkdmFsdWUgPSAtMSkgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgICRsb25nbmFtZSA9ICcnOwoKICAgICAgICAkaXRlbXNbJygnIC4gZ2VuZXJhdG9yKCktPkxhbmcoJ25vbmUnKSAuICcpJ10gPSAnLTEnOwoKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUIGhpZXJhcmNoeSwgbG9uZ19uYW1lIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyI7CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGlkKSk7CgogICAgICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewogICAgICAgICAgICAkbG9uZ25hbWUgPSAkcm93WydoaWVyYXJjaHknXSAuICclJzsKICAgICAgICB9CiAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCBjYXRlZ29yeV9pZCwgY2F0ZWdvcnlfbmFtZSwgaGllcmFyY2h5LCBsb25nX25hbWUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgV0hFUkUgaGllcmFyY2h5IG5vdCBsaWtlID8gT1JERVIgYnkgaGllcmFyY2h5IjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbG9uZ25hbWUpKTsKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgJGl0ZW1zWyRyb3dbJ2xvbmdfbmFtZSddXSA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CiAgICAgICAgfQogICAgICAgIHJldHVybiAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3BhcmVudCcsICRpdGVtcywgLTEsICRzZWxlY3RlZHZhbHVlKTsKICAgIH0KCiAgICAvKioKICAgICAqICAKICAgICAqIEBwYXJhbSBvYmplY3QgJG1vZCAKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB1cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygkbW9kKSB7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCBjYXRlZ29yeV9pZCwgY2F0ZWdvcnlfbmFtZSxwYXJlbnRfaWQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgT1JERVIgQlkgcG9zaXRpb24sIGNhdGVnb3J5X2lkIjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgICAkY291bnRlciA9IGFycmF5KCk7CiAgICAgICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CiAgICAgICAgICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9ICIiOwogICAgICAgICAgICAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24yID0gIiI7CiAgICAgICAgICAgICRwb3NpdGlvbiA9ICIiOwogICAgICAgICAgICAkY3VycmVudF9sb25nX25hbWUgPSAiIjsKICAgICAgICAgICAgJGNvbnRlbnRfaWQgPSAkcm93WydjYXRlZ29yeV9pZCddOwogICAgICAgICAgICAkY3VycmVudF9wYXJlbnRfaWQgPSAkcm93WydjYXRlZ29yeV9pZCddOwogICAgICAgICAgICAkY291bnQgPSAwOwogICAgICAgICAgICAkY291bnRlclskcm93WydwYXJlbnRfaWQnXV0rKzsKICAgICAgICAgICAgJHBvc2l0aW9uID0gJGNvdW50ZXJbJHJvd1sncGFyZW50X2lkJ11dOwoKICAgICAgICAgICAgd2hpbGUgKCRjdXJyZW50X3BhcmVudF9pZCA+IC0xKSB7CiAgICAgICAgICAgICAgICAkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIHBvc2l0aW9uIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyI7CiAgICAgICAgICAgICAgICAkcm93MiA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGN1cnJlbnRfcGFyZW50X2lkKSk7CiAgICAgICAgICAgICAgICBpZiAoJHJvdzIpIHsKICAgICAgICAgICAgICAgICAgICAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24gPSBzdHJfcGFkKCRyb3cyWydjYXRlZ29yeV9pZCddLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkgLiAiLiIgLiAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb247CiAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uMiA9IHN0cl9wYWQoJHJvdzJbJ3Bvc2l0aW9uJ10sIDUsICcwJywgU1RSX1BBRF9MRUZUKSAuICIuIiAuICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjI7CiAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRfbG9uZ19uYW1lID0gJHJvdzJbJ2NhdGVnb3J5X25hbWUnXSAuICcgfCAnIC4gJGN1cnJlbnRfbG9uZ19uYW1lOwogICAgICAgICAgICAgICAgICAgICRjdXJyZW50X3BhcmVudF9pZCA9ICRyb3cyWydwYXJlbnRfaWQnXTsKICAgICAgICAgICAgICAgICAgICAkY291bnQrKzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRfcGFyZW50X2lkID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKCgoKICAgICAgICAgICAgaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pID4gMCkgewogICAgICAgICAgICAgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3Vic3RyKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiwgMCwgc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbikgLSAxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24yKSA+IDApIHsKICAgICAgICAgICAgICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjIgPSBzdWJzdHIoJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uMiwgMCwgc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjIpIC0gMSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChzdHJsZW4oJGN1cnJlbnRfbG9uZ19uYW1lKSA+IDApIHsKICAgICAgICAgICAgICAgICRjdXJyZW50X2xvbmdfbmFtZSA9IHN1YnN0cigkY3VycmVudF9sb25nX25hbWUsIDAsIHN0cmxlbigkY3VycmVudF9sb25nX25hbWUpIC0gMyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIFNFVCBoaWVyYXJjaHkgPSA/LCBwb3NpdGlvbiA9ID8sIGhpZXJhcmNoeV9wb3NpdGlvbiA9ID8sIGxvbmdfbmFtZSA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKCiAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiwgJHBvc2l0aW9uLCAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24yLCAkY3VycmVudF9sb25nX25hbWUsICRjb250ZW50X2lkKSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogSGFuZGxlIHVwbG9hZAogICAgICogQHBhcmFtIG1peGVkICRpdGVtaWQgVGhlIGl0ZW0gSUQsIHVzZWQgdG8gZm9ybSB0aGUgdXBsb2FkIGRpcmVjdG9yeSBuYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWVsZG5hbWUgVGhlIHVwbG9hZCBmaWVsZCBuYW1lLCBmb3IgZXhhbXBsZSwgbTFfY3VzdG9tZmllbGRfMQogICAgICogQHBhcmFtIHN0cmluZyAmJGVycm9yIEhvbGRzIGFueSBlcnJvcnMgdGhhdCBtYXkgb2NjdXIKICAgICAqIEBwYXJhbSBhcnJheSAkYWxsb3cgQWxsb3dlZCBmaWxlIGV4dGVuc2lvbnMKICAgICAqIEByZXR1cm4gYm9vbHxzdHJpbmcgUmV0dXJucyBmaWxlbmFtZSBvbiBzdWNjZXNzZnVsIHVwbG9hZCBvciBmYWxzZSBvbiBmYWlsdXJlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaGFuZGxlX3VwbG9hZCgkbW9kLCAkaXRlbWlkLCAkZmllbGRuYW1lLCAmJGVycm9yLCAkYWxsb3cgPSBhcnJheSgpLCAkcm93ID0gYXJyYXkoKSkgewoKCiAgICAgICAgJGFsbG93ID0gKCFlbXB0eSgkYWxsb3cpID8gJGFsbG93IDogYXJyYXkoJ2pwZycsICdnaWYnLCAncG5nJykpOwogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkcCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpKTsKCiAgICAgICAgaWYgKCFpc19kaXIoJHApKSB7CiAgICAgICAgICAgICRyZXMgPSBAbWtkaXIoJHApOwoKICAgICAgICAgICAgaWYgKCRyZXMgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9ta2RpcicsICRwKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSwgJ2lkJyAuICRpdGVtaWQpOwoKICAgICAgICBpZiAoIWlzX2RpcigkcCkpIHsKICAgICAgICAgICAgaWYgKEBta2RpcigkcCkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9ta2RpcicsICRwKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRfRklMRVNbJGZpZWxkbmFtZV1bJ3NpemUnXSA+ICRjb25maWdbJ21heF91cGxvYWRfc2l6ZSddKSB7CiAgICAgICAgICAgICRlcnJvciA9ICRtb2QtPkxhbmcoJ2Vycm9yX2ZpbGVzaXplJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRfRklMRVNbJGZpZWxkbmFtZV1bJ25hbWUnXSk7CiAgICAgICAgJGRlc3QgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSwgJ2lkJyAuICRpdGVtaWQsICRmaWxlbmFtZSk7CiAgICAgICAgJGV4dCA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVuYW1lLCAnLicpLCAxKSk7CgogICAgICAgIGlmICghaW5fYXJyYXkoJGV4dCwgJGFsbG93KSkgewogICAgICAgICAgICAkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9pbnZhbGlkZmlsZXR5cGUnKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgaWYgKEBjbXNfbW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJGZpZWxkbmFtZV1bJ3RtcF9uYW1lJ10sICRkZXN0KSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbW92ZWZpbGUnLCAkZGVzdCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZmlsZW5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKgogICAgICogQHBhcmFtIHR5cGUgJGl0ZW1faWQKICAgICAqIEByZXR1cm4gc3RyaW5nIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jb3N0dW1fZmllbGRfZGVmKCRtb2QsICRpdGVtX2lkLCAkZnJvbnRlbmQgPSBmYWxzZSwgJGtleSA9ICdhbGlhcycsICRzZWN0aW9uID0gJ2l0ZW1zJykgewoKCgogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIEIuZmllbGRkZWZfaWQsQi5uYW1lLCBCLmFsaWFzLCBBLnZhbHVlLCBCLnR5cGUsIEIuZXh0cmEsIEIuc2VhcmNoYWJsZSwgQi5mcm9udGVuZAoJCUZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBBLCAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIEIKCQlXSEVSRSBBLmZpZWxkZGVmX2lkID0gQi5maWVsZGRlZl9pZCBBTkQgQS5pdGVtX2lkID0gPyAnOwogICAgICAgIGlmICgkZnJvbnRlbmQgPT0gdHJ1ZSkgewogICAgICAgICAgICAkcXVlcnkgLj0gJyBBTkQgQi5mcm9udGVuZCA9IDEgJzsKICAgICAgICB9CgogICAgICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAgICAgJHBhcm1zW10gPSAkaXRlbV9pZDsKCiAgICAgICAgJHF1ZXJ5IC49ICcgQU5EIEIuc2VjdGlvbiA9ID8gJzsKICAgICAgICAkcGFybXNbXSA9ICRzZWN0aW9uOwoKICAgICAgICAkcXVlcnkgLj0gJ09SREVSIEJZIEIucG9zaXRpb24gJzsKCiAgICAgICAgLy9jYWNoZQogICAgICAgICRyb3dzID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJG1vZC0+R2V0TmFtZSgpIC4gX19GVU5DVElPTl9fIC4gJGl0ZW1faWQgLiAkZnJvbnRlbmQgLiAka2V5IC4gJHNlY3Rpb24pOwogICAgICAgIGlmICghJHJvd3MpCiAgICAgICAgICAgICRyb3dzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksICRwYXJtcyk7CiAgICAgICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoJG1vZC0+R2V0TmFtZSgpIC4gX19GVU5DVElPTl9fIC4gJGl0ZW1faWQgLiAkZnJvbnRlbmQgLiAka2V5IC4gJHNlY3Rpb24sICRyb3dzKTsKICAgICAgICAvLyBlbmQgY2FjaGUKCiAgICAgICAgJGZpZWxkZGVmcyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHJvd3MgYXMgJHJvdykgewogICAgICAgICAgICAkZmllbGRkZWZzWyRyb3dbJGtleV1dID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnZmllbGRkZWZfaWQnID0+ICRyb3dbJ2ZpZWxkZGVmX2lkJ10sCiAgICAgICAgICAgICAgICAnbmFtZScgPT4gJHJvd1snbmFtZSddLAogICAgICAgICAgICAgICAgJ2FsaWFzJyA9PiAkcm93WydhbGlhcyddLAogICAgICAgICAgICAgICAgJ3ZhbHVlJyA9PiAkcm93Wyd2YWx1ZSddLAogICAgICAgICAgICAgICAgJ3NlYXJjaGFibGUnID0+ICRyb3dbJ3NlYXJjaGFibGUnXSwKICAgICAgICAgICAgICAgICdmcm9udGVuZCcgPT4gJHJvd1snZnJvbnRlbmQnXSwKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAkcm93Wyd0eXBlJ10KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmICgkcm93Wyd0eXBlJ10gPT0gJ3NlbGVjdF9maWxlJykgewogICAgICAgICAgICAgICAgJGV4dHJhX2NvbW1hbmRzID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmEoJHJvd1snZXh0cmEnXSk7CiAgICAgICAgICAgICAgICAkZGlyID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfZGlyKCRleHRyYV9jb21tYW5kcyk7CiAgICAgICAgICAgICAgICAkZmllbGRkZWZzWyRyb3dbJGtleV1dWydkaXInXSA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10gLiAoIWVtcHR5KCRkaXIpID8gJy8nIC4gJGRpciA6ICcnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCRyb3dbJ3R5cGUnXSA9PSAndXBsb2FkX2ZpbGUnKSB7CiAgICAgICAgICAgICAgICAkZmllbGRkZWZzWyRyb3dbJGtleV1dWydkaXInXSA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10gLiAnLycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICcvaWQnIC4gJGl0ZW1faWQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CgoKICAgICAgICByZXR1cm4gJGZpZWxkZGVmczsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcGFyYW0gb2JqZWN0ICRtb2R1bGUKICAgICAqIEBwYXJhbSBib29sZWFuICRmcm9udGVuZAogICAgICogQHJldHVybiB0eXBlIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZHMoJG1vZHVsZSwgJGZyb250ZW5kID0gdHJ1ZSwgJHNlY3Rpb24gPSAnaXRlbXMnKSB7CgogICAgICAgICRxdWVyeWFycmF5ID0gYXJyYXkoKTsKICAgICAgICAkcGFybXNhcnJheSA9IGFycmF5KCk7CgogICAgICAgICR2YWx1ZSA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCRtb2R1bGUtPkdldE5hbWUoKSAuIF9fRlVOQ1RJT05fXyk7CiAgICAgICAgaWYgKCR2YWx1ZSkKICAgICAgICAgICAgcmV0dXJuICR2YWx1ZTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZHVsZS0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJzsKCiAgICAgICAgJHF1ZXJ5YXJyYXlbXSA9ICcgc2VjdGlvbiA9ID8nOwogICAgICAgICRwYXJtc2FycmF5W10gPSAkc2VjdGlvbjsKCiAgICAgICAgaWYgKCRmcm9udGVuZCA9PSB0cnVlKSB7CiAgICAgICAgICAgICRxdWVyeWFycmF5W10gPSAnIGZyb250ZW5kID0gPyc7CiAgICAgICAgICAgICRwYXJtc2FycmF5W10gPSAxOwogICAgICAgIH0KLy8gV0hFUkUKICAgICAgICAkcXVlcnkgLj0gKCBlbXB0eSgkcXVlcnlhcnJheSkgPT0gZmFsc2UgPyAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICRxdWVyeWFycmF5KSA6ICcnICk7CgogICAgICAgICR2YWx1ZSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LCAkcGFybXNhcnJheSk7CiAgICAgICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoJG1vZHVsZS0+R2V0TmFtZSgpIC4gX19GVU5DVElPTl9fLCAkdmFsdWUpOwoKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaW1hZ2VfbG9jYXRpb24oJG1vZHVsZSwgJHJvdykgewoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJHJlbF9wYXRoID0gJG1vZHVsZS0+X0dldE1vZHVsZUFsaWFzKCkgLiAnL2lkJyAuICRyb3dbJ2l0ZW1faWQnXSAuICcvZ2FsbGVyeSc7CiAgICAgICAgY2dlX2Rpcjo6bWtkaXJyKGNtc19qb2luX3BhdGgoJGNvbmZpZ1sidXBsb2Fkc19wYXRoIl0sICRyZWxfcGF0aCkpOwogICAgICAgICR2YWx1ZSA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10gLiAnLycgLiAkcmVsX3BhdGg7CiAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGltYWdlcGF0aF9sb2NhdGlvbigkbW9kdWxlLCAkcm93KSB7CgogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkcmVsX3BhdGggPSBjbXNfam9pbl9wYXRoKCRtb2R1bGUtPl9HZXRNb2R1bGVBbGlhcygpLCAnaWQnIC4gJHJvd1snaXRlbV9pZCddLCAnZ2FsbGVyeScpOwogICAgICAgIGNnZV9kaXI6Om1rZGlycihjbXNfam9pbl9wYXRoKCRjb25maWdbInVwbG9hZHNfcGF0aCJdLCAkcmVsX3BhdGgpKTsKICAgICAgICAkdmFsdWUgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAkcmVsX3BhdGgpOwogICAgICAgIHJldHVybiAkdmFsdWU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmaWxlX2xvY2F0aW9uKCRtb2R1bGUsICRyb3cpIHsKCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgICAgICRyZWxfcGF0aCA9ICRtb2R1bGUtPl9HZXRNb2R1bGVBbGlhcygpIC4gJy9pZCcgLiAkcm93WydpdGVtX2lkJ107CiAgICAgICAgY2dlX2Rpcjo6bWtkaXJyKGNtc19qb2luX3BhdGgoJGNvbmZpZ1sidXBsb2Fkc19wYXRoIl0sICRyZWxfcGF0aCkpOwogICAgICAgICR2YWx1ZSA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10gLiAnLycgLiAkcmVsX3BhdGg7CiAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZpbGVwaWNrZXJfbG9jYXRpb24oJG1vZHVsZSkgewoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJHJlbF9wYXRoID0gJG1vZHVsZS0+X0dldE1vZHVsZUFsaWFzKCkgLiAnL2ZpbGVwaWNrZXIvJzsKICAgICAgICBjZ2VfZGlyOjpta2RpcnIoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJ1cGxvYWRzX3BhdGgiXSwgJHJlbF9wYXRoKSk7CiAgICAgICAgJHZhbHVlID0gJHJlbF9wYXRoOwogICAgICAgIHJldHVybiAkdmFsdWU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmaWxlcGF0aF9sb2NhdGlvbigkbW9kdWxlLCAkcm93KSB7CgogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkcmVsX3BhdGggPSBjbXNfam9pbl9wYXRoKCRtb2R1bGUtPl9HZXRNb2R1bGVBbGlhcygpLCAnaWQnIC4gJHJvd1snaXRlbV9pZCddKTsKICAgICAgICBjZ2VfZGlyOjpta2RpcnIoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJ1cGxvYWRzX3BhdGgiXSwgJHJlbF9wYXRoKSk7CiAgICAgICAgJHZhbHVlID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHJlbF9wYXRoKTsKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2hlY2tfcm93KCRtb2QsICRmaWVsZGlkLCAkZmllbGR2YWx1ZSkgewoKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBBLml0ZW1faWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gQSc7CiAgICAgICAgJHF1ZXJ5IC49ICcgTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBIE9OIEEuaXRlbV9pZCA9IEZWQS5pdGVtX2lkIEFORCBGVkEuZmllbGRkZWZfaWQgPSA/ICc7CiAgICAgICAgJHF1ZXJ5IC49ICcgV0hFUkUgQS5hY3RpdmUgPSAxIEFORCBGVkEudmFsdWUgPSA/ICc7CiAgICAgICAgcmV0dXJuICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGZpZWxkaWQsICRmaWVsZHZhbHVlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBIYXMgUHJlZml4CiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHJpbmcgVGhlIHN0cmluZyBpbiBxdWVzdGlvbgogICAgICogQHBhcmFtIGFycmF5ICRwcmVmaXggQXJyYXkgb2YgcHJlZml4ZXMgdG8gbWF0Y2ggYWdhaW5zdAogICAgICogQHJldHVybiBib29sIFJldHVybnMgdHJ1ZSBpZiBwcmVmaXggaXMgZm91bmQsIG9yIGZhbHNlIG90aGVyd2lzZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGhhc19wcmVmaXgoJHN0cmluZywgJHByZWZpeGVzKSB7CiAgICAgICAgaWYgKCFpc19zdHJpbmcoJHN0cmluZykpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICBpZiAoIWlzX2FycmF5KCRwcmVmaXhlcykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJHByZWZpeGVzIGFzICRwcmVmaXgpIHsKICAgICAgICAgICAgaWYgKHN0cnBvcygkc3RyaW5nLCAkcHJlZml4KSA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogRXhjbHVkZSBQcmVmaXgKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFycmF5IG9mIHByZWZpeGVzIHRvIGV4Y2x1ZGUgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX2V4Y2x1ZGVfcHJlZml4KCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIGRpclt0aHVtYl9dCi8vIGRpclt0aHVtYl8sbm90bWVdCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXmV4Y2x1ZGVfcHJlZml4XFsoW14sXSsoLFteLF0rKSopXF0kL2knLCAkaW5zdHJ1Y3Rpb24sICRtYXRjaGVzKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGV4cGxvZGUoJywnLCAkbWF0Y2hlc1sxXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IERpcmVjdG9yeQogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIHN0cmluZyBSZXR1cm5zIHRoZSBkaXJlY3RvcnkgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX2RpcigkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBkaXJbcGF0aC90by9kaXJdCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXmRpclxbKC4rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogQWxsb3dlZCBGaWxlIEV4dGVuc2lvbnMKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFsbG93ZWQgZmlsZSBleHRlbnNpb25zIGlmIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV9hbGxvdygkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuIGFycmF5KCk7CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIGFsbG93W3BkZixnaWYscG5nLGpwZWcsanBnXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15hbGxvd1xbKC4rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiBleHBsb2RlKCcsJywgJG1hdGNoZXNbMV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogRGF0ZSBGb3JtYXQKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyBkYXRlIGZvcm1hdCB0byBiZSB1c2VkIHdpdGggdGhlIGpxdWVyeQogICAgICogZGF0ZXBpY2tlciBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfZGF0ZV9mb3JtYXQoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gZGF0ZWZvcm1hdFtkZC9tbS95eV0KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9eZGF0ZWZvcm1hdFxbKC4rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogUm93CiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgbWF4aW11bSBsZW5ndGggaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX3Jvd3MoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIG1heF9sZW5ndGhbMjBdCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXnJvd3NcWyhbMC05XSspXF0kL2knLCAkaW5zdHJ1Y3Rpb24sICRtYXRjaGVzKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIChpbnQpICRtYXRjaGVzWzFdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IEV4dHJhOiBSb3cKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBpbnQgUmV0dXJucyBtYXhpbXVtIGxlbmd0aCBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfY29scygkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBtYXhfbGVuZ3RoWzIwXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15jb2xzXFsoWzAtOV0rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAoaW50KSAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogTWF4IExlbmd0aAogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIGludCBSZXR1cm5zIG1heGltdW0gbGVuZ3RoIGlmIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV9tYXhfbGVuZ3RoKCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIG1heF9sZW5ndGhbMjBdCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXm1heF9sZW5ndGhcWyhbMC05XSspXF0kL2knLCAkaW5zdHJ1Y3Rpb24sICRtYXRjaGVzKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIChpbnQpICRtYXRjaGVzWzFdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IEV4dHJhOiBTaXplCiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgc2l6ZSBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfc2l6ZSgkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBzaXplWzIwXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15zaXplXFsoWzAtOV0rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAoaW50KSAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogTXVsdGlwbGUKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBpbnQgUmV0dXJucyBzaXplIGlmIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV9tdWx0aXBsZSgkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBzaXplWzIwXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15tdWx0aXBsZVxbKFswLTldKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGludCkgJG1hdGNoZXNbMV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IFNlbGVjdCBkZWZhdWx0CiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgc2l6ZSBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfc2VsZWN0ZGVmYXVsdCgkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBzaXplWzIwXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15zZWxlY3RfZGVmYXVsdFxbKC4rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogV1lTSVdZRwogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyB0cnVlIGlmIFdZU0lXWUcgaXMgdG8gYmUgZW5hYmxlZCwgb3IgZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX3d5c2l3eWcoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gd3lzaXd5Z1sxXQovLyB3eXNpd3lnWzBdCi8vIHd5c2l3eWdbdHJ1ZV0KLy8gd3lzaXd5Z1tmYWxzZV0KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9ed3lzaXd5Z1xbKC4rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIGlmICgkbWF0Y2hlc1sxXSA9PSAndHJ1ZScgfHwgJG1hdGNoZXNbMV0gPT0gJzEnKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogTW9kdWxlIHBhcmFtcwogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2Ygb3B0aW9ucyBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfbW9kdWxlcGFyYW1zKCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBvcHRpb25zW2FwcGxlPUFwcGxlXQovLyBvcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXiguKylcWyhbXixdKz1bXixdKygsW14sXSs9W14sXSspKilcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CgogICAgICAgICAgICAgICAgJHBhcmFtc1sibW9kdWxlIl0gPSAkbWF0Y2hlc1sxXTsKCiAgICAgICAgICAgICAgICBmb3JlYWNoIChleHBsb2RlKCcsJywgJG1hdGNoZXNbMl0pIGFzICRwYWlyKSB7CiAgICAgICAgICAgICAgICAgICAgJGtleV92YWwgPSBleHBsb2RlKCc9JywgJHBhaXIpOwogICAgICAgICAgICAgICAgICAgICRwYXJhbXNbJGtleV92YWxbMF1dID0gJGtleV92YWxbMV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgoKICAgICAgICByZXR1cm4gJHBhcmFtczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogTW9kdWxlIE9wdGlvbnMKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIG9wdGlvbnMgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX21vZHVsZW9wdGlvbnMoJGluc3RydWN0aW9ucywgJG1vZCkgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIHtjbXNfbW9kdWxlfQogICAgICAgICAgICAkbW9kdWxlY29udGVudCA9ICRpbnN0cnVjdGlvbjsKICAgICAgICAgICAgZm9yZWFjaCAoZXhwbG9kZSgnLCcsICRtb2R1bGVjb250ZW50KSBhcyAkcGFpcikgewogICAgICAgICAgICAgICAgaWYgKCEkcGFpcikKICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICRrZXlfdmFsID0gZXhwbG9kZSgnPScsICRwYWlyKTsKICAgICAgICAgICAgICAgICRvcHRpb25zWyRrZXlfdmFsWzBdXSA9ICRrZXlfdmFsWzFdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghZW1wdHkoJG9wdGlvbnMpKQogICAgICAgICAgICByZXR1cm4gJG9wdGlvbnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IFBhZ2UKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIG9wdGlvbnMgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX3BhZ2UoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgICRzZXR0aW5ncyA9IGFycmF5KCk7CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIHtjbXNfbW9kdWxlfQogICAgICAgICAgICBmb3JlYWNoIChleHBsb2RlKCcsJywgJG1vZHVsZWNvbnRlbnQpIGFzICRwYWlyKSB7CiAgICAgICAgICAgICAgICAka2V5X3ZhbCA9IGV4cGxvZGUoJz0nLCAkcGFpcik7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKCRrZXlfdmFsWzBdKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiY2hpbGRyZW5vZiI6CiAgICAgICAgICAgICAgICAgICAgICAgICRzZXR0aW5nc1siY2hpbGRyZW5vZiJdID0gJGtleV92YWxbMV07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgInN0YXJ0X3BhZ2UiOgogICAgICAgICAgICAgICAgICAgICAgICAkc2V0dGluZ3NbInN0YXJ0X3BhZ2UiXSA9ICRrZXlfdmFsWzFdOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCgogICAgICAgICRwYWdlcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCktPkdldEFsbENvbnRlbnQoKTsKICAgICAgICAkYXJyYXkgPSBhcnJheSgpOwoKICAgICAgICBpZiAoaXNzZXQoJHNldHRpbmdzWydjaGlsZHJlbm9mJ10pKSB7CiAgICAgICAgICAgICRjaGlsZHJlbm9mID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6Z2V0X3BhZ2VfaWRfZnJvbV9hbGlhcygkc2V0dGluZ3NbJ2NoaWxkcmVub2YnXSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHNldHRpbmdzWydzdGFydF9wYWdlJ10pKSB7CiAgICAgICAgICAgICRzdGFydF9wYWdlID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6Z2V0X3BhZ2VfaWRfZnJvbV9hbGlhcygkc2V0dGluZ3NbJ3N0YXJ0X3BhZ2UnXSk7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkcGFnZXMgYXMgJHBhZ2UpIHsKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICghaXNzZXQoJHN0YXJ0X3BhZ2UpICYmICFpc3NldCgkY2hpbGRyZW5vZikpCiAgICAgICAgICAgICAgICAgICAgfHwKICAgICAgICAgICAgICAgICAgICAoaXNzZXQoJGNoaWxkcmVub2YpICYmICgkcGFnZS0+UGFyZW50SWQoKSA9PSAkY2hpbGRyZW5vZikpIC8vIExpc3Qgb2YgYWxsIGNoaWxkcmVucwogICAgICAgICAgICAgICAgICAgIHx8CiAgICAgICAgICAgICAgICAgICAgKGlzc2V0KCRzdGFydF9wYWdlKSAmJiAoc3RycG9zKCRwYWdlLT5JZEhpZXJhcmNoeSgpLCAkc3RhcnRfcGFnZSAuICcuJykgPT09IDApKSAvLyBMaXN0IG9mIGFsbCBkZXNjZW5kYW50cwogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICRvcHRpb25zWyRwYWdlLT5JZCgpXSA9ICRwYWdlLT5IaWVyYXJjaHkoKSAuICcuIC0gJyAuICRwYWdlLT5OYW1lKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgoKICAgICAgICBpZiAoIWVtcHR5KCRvcHRpb25zKSkKICAgICAgICAgICAgcmV0dXJuICRvcHRpb25zOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IEV4dHJhOiBPcHRpb25zCiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBvZiBvcHRpb25zIGlmIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV9vcHRpb25zKCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gb3B0aW9uc1thcHBsZT1BcHBsZV0KLy8gb3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15vcHRpb25zXFsoW14sXSs9W14sXSsoLFteLF0rPVteLF0rKSopXF0kL2knLCAkaW5zdHJ1Y3Rpb24sICRtYXRjaGVzKSkgewogICAgICAgICAgICAgICAgZm9yZWFjaCAoZXhwbG9kZSgnLCcsICRtYXRjaGVzWzFdKSBhcyAkcGFpcikgewogICAgICAgICAgICAgICAgICAgICRrZXlfdmFsID0gZXhwbG9kZSgnPScsICRwYWlyKTsKICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc1ska2V5X3ZhbFswXV0gPSAka2V5X3ZhbFsxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCFlbXB0eSgkb3B0aW9ucykpCiAgICAgICAgICAgIHJldHVybiAkb3B0aW9uczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYQogICAgICogQHBhcmFtIHN0cmluZyAkZXh0cmEKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBvZiBpbnN0cnVjdGlvbnMgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldF9leHRyYSgkZXh0cmEsICRtb2QgPSBudWxsKSB7CiAgICAgICAgaWYgKCFpc19zdHJpbmcoJGV4dHJhKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICAkZXh0cmEgPSB0cmltKCRleHRyYSk7CgogICAgICAgIGlmICgkbW9kICE9IG51bGwgJiYgaXNfb2JqZWN0KCRtb2QpKQogICAgICAgICAgICAkZXh0cmEgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkZXh0cmEpOwoKCiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICRpbnN0cnVjdGlvbnMgPSBleHBsb2RlKCc7JywgdHJpbSgkZXh0cmEsICc7JykpOwogICAgICAgIGlmICghZW1wdHkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybiAkaW5zdHJ1Y3Rpb25zOwogICAgfQoKICAgIC8qKgogICAgICogSXMgdmFsaWQgYWxpYXMKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCiAgICAgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyB0cnVlIGlmIHN0cmluZyBpbiBxdWVzdGlvbiBpcyBhIHZhbGlkIGFsaWFzLCBvcgogICAgICogZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfdmFsaWRfYWxpYXMoJGFsaWFzKSB7CiAgICAgICAgaWYgKCFpc19zdHJpbmcoJGFsaWFzKSkKICAgICAgICAgICAgcmV0dXJuOwoKLy8gY2hlY2sgYWxpYXMKLy8gaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9sYW5ndWFnZS52YXJpYWJsZXMuYmFzaWNzLnBocAogICAgICAgIGlmIChwcmVnX21hdGNoKCcvXlthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVowLTlfXHg3Zi1ceGZmXSokLycsICRhbGlhcykpIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGFsaWFzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIFRoZSBzdHJpbmcgdGhhdCB0aGUgYWxpYXMgd2lsbCBiZSBnZW5lcmF0ZWQgZnJvbQogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyB0aGUgYWxpYXMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZV9hbGlhcygkbmFtZSkgewogICAgICAgIGlmICghaXNfc3RyaW5nKCRuYW1lKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICAkYWxpYXMgPSAkbmFtZTsKCi8vIHJlcGxhY2UgbXVsdGlwbGUgc3BhY2VzIHdpdGggc2luZ2xlIHVuZGVyc2NvcmUKICAgICAgICAkYWxpYXMgPSBwcmVnX3JlcGxhY2UoJy8gKy8nLCAnXycsICRhbGlhcyk7CgovLyBsZWF2ZSBhbHBoYWJldGljIGNoYXJhY3RlcnMgYW5kIHVuc2NvcmVzLAovLyByZXBsYWNlIGV2ZXJ5dGhpbmcgZWxzZSB3aXRoIGFuIHVuZGVyc2NvcmUKICAgICAgICAkYWxpYXMgPSBwcmVnX3JlcGxhY2UoJy9bXmEtekEtWl9dLycsICdfJywgJGFsaWFzKTsKCi8vIHJlcGxhY2UgbXVsdGlwbGUgdW5kZXJzY29yZXMgd2l0aCBzaW5nbGUgdW5kZXJzY29yZQogICAgICAgICRhbGlhcyA9IHByZWdfcmVwbGFjZSgnL18rLycsICdfJywgJGFsaWFzKTsKCi8vIGNvbnZlcnQgdG8gbG93ZXJjYXNlCiAgICAgICAgJGFsaWFzID0gc3RydG9sb3dlcigkYWxpYXMpOwoKLy8gcmVtb3ZlIHVuZGVyc2NvcmUgZnJvbSBzdGFydCBhbmQgZW5kCiAgICAgICAgJGFsaWFzID0gdHJpbSgkYWxpYXMsICdfJyk7CgogICAgICAgIHJldHVybiAkYWxpYXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgZmllbGQgdHlwZXMKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBvZiBmaWVsZCB0eXBlcwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZF90eXBlcygpIHsKCiAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnTW9kdWxlR2VuZXJhdG9yJyk7CgogICAgICAgICR0eXBlcyA9IGFycmF5KAogICAgICAgICAgICAndGV4dGJveCcgPT4gJG1vZHVsZS0+TGFuZygndGV4dGJveCcpLAogICAgICAgICAgICAnY2hlY2tib3gnID0+ICRtb2R1bGUtPkxhbmcoJ2NoZWNrYm94JyksCiAgICAgICAgICAgICd0ZXh0YXJlYScgPT4gJG1vZHVsZS0+TGFuZygndGV4dGFyZWEnKSwKICAgICAgICAgICAgJ3NlbGVjdF9kYXRlJyA9PiAkbW9kdWxlLT5MYW5nKCdzZWxlY3RfZGF0ZScpLAogICAgICAgICAgICAndXBsb2FkX2ZpbGUnID0+ICRtb2R1bGUtPkxhbmcoJ3VwbG9hZF9maWxlJyksCiAgICAgICAgICAgICdzZWxlY3RfZmlsZScgPT4gJG1vZHVsZS0+TGFuZygnc2VsZWN0X2ZpbGUnKSwKICAgICAgICAgICAgJ2ZpbGVfcGlja2VyJyA9PiAkbW9kdWxlLT5MYW5nKCdmaWxlX3BpY2tlcicpLAogICAgICAgICAgICAnZHJvcGRvd24nID0+ICRtb2R1bGUtPkxhbmcoJ2Ryb3Bkb3duJyksCiAgICAgICAgICAgICdkcm9wZG93bmZyb21tb2R1bGUnID0+ICRtb2R1bGUtPkxhbmcoJ2Ryb3Bkb3duZnJvbW1vZHVsZScpLAogICAgICAgICAgICAnbW9kdWxlJyA9PiAkbW9kdWxlLT5MYW5nKCdtb2R1bGUnKSwKICAgICAgICAgICAgJ21vZHVsZV9saW5rJyA9PiAkbW9kdWxlLT5MYW5nKCdtb2R1bGVfbGluaycpLAogICAgICAgICAgICAncGFnZScgPT4gJG1vZHVsZS0+TGFuZygncGFnZScpLAogICAgICAgICAgICAnY29sb3JfcGlja2VyJyA9PiAkbW9kdWxlLT5MYW5nKCdjb2xvcl9waWNrZXInKSwKICAgICAgICAgICAgJ3N0YXRpYycgPT4gJG1vZHVsZS0+TGFuZygnc3RhdGljJyksCiAgICAgICAgICAgICd0YWInID0+ICRtb2R1bGUtPkxhbmcoJ3RhYicpCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICR0eXBlczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBmaWVsZCBzZWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIGZpZWxkIHNlY3Rpb25zCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkX3NlY3Rpb25zKCkgewoKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKCiAgICAgICAgJHNlY3Rpb25zID0gYXJyYXkoCiAgICAgICAgICAgICdpdGVtcycgPT4gJG1vZHVsZS0+TGFuZygnaXRlbXMnKSwKICAgICAgICAgICAgJ2NhdGVnb3JpZXMnID0+ICRtb2R1bGUtPkxhbmcoJ2NhdGVnb3JpZXMnKQogICAgICAgICk7CgogICAgICAgIHJldHVybiAkc2VjdGlvbnM7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcHJlZml4KCRtb2QpIHsKICAgICAgICByZXR1cm4gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsIG11bmdlX3N0cmluZ190b191cmwoJG1vZC0+R2V0TmFtZSgpLCB0cnVlKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcHJldHR5X3VybCgkbW9kLCAkcHJlZml4LCAkaXRlbV9pZCwgJGFsaWFzLCAkcmV0dXJuaWQgPSBudWxsLCAkZGV0YWlsdGVtcGxhdGUgPSBudWxsKSB7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgJHBhcm1zID0gYXJyYXkoKTsKCiAgICAgICAgJHBhcm1zW10gPSAkcHJlZml4OwogICAgICAgICRwYXJtc1tdID0gJGl0ZW1faWQ7CiAgICAgICAgaWYgKCRyZXR1cm5pZCkKICAgICAgICAgICAgJHBhcm1zW10gPSAkcmV0dXJuaWQ7CiAgICAgICAgaWYgKCRhbGlhcykKICAgICAgICAgICAgJHBhcm1zW10gPSAkYWxpYXM7CiAgICAgICAgaWYgKCRkZXRhaWx0ZW1wbGF0ZSAhPSBudWxsKQogICAgICAgICAgICAkcGFybXNbXSA9ICRkZXRhaWx0ZW1wbGF0ZTsKCiAgICAgICAgcmV0dXJuIGltcGxvZGUoJy8nLCAkcGFybXMpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3ByaXZhdGVfY2F0ZWdvcmllcygkbW9kKSB7CgogICAgICAgICRjYXRlZ29yeWxvbmduYW1lbGlzdCA9IGFycmF5KCk7CgogICAgICAgICRkYiA9IGNtc21zKCktPkdldERCKCk7CiAgICAgICAgJHVzZXJvcHMgPSBjbXNtcygpLT5HZXRVc2VyT3BlcmF0aW9ucygpOwoKICAgICAgICAkdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwogICAgICAgICR1c2VyX2lkID0gJHVzZXJpZDsKICAgICAgICAkYWRtaW51c2VyID0gKCR1c2Vyb3BzLT5Vc2VySW5Hcm91cCgkdXNlcmlkLCAxKSB8fCAkdXNlcmlkID09IDEpOwovL21sZSBzdXBwb3J0CiAgICAgICAgaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ3VzZXJncm91cF9kZXBlbmRlbmNlJykgJiYgISRtb2QtPkNoZWNrUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfYWxsX2NhdGVnb3J5X3Zpc2JpbGUnKSkgewoKICAgICAgICAgICAgaWYgKCRhZG1pbnVzZXIgIT0gMSkgewoKCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAiU0VMRUNUIGdyb3VwX2lkIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJ1c2VyX2dyb3VwcyB3aGVyZSB1c2VyX2lkPT8iOwogICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR1c2VyX2lkKSk7CiAgICAgICAgICAgICAgICBpZiAoJHJlc3VsdCkgewogICAgICAgICAgICAgICAgICAgICRncm91cHMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgICR3aGVyZXN0YXRlbWVudCA9IGFycmF5KCk7CgogICAgICAgICAgICAgICAgICAgIHdoaWxlICgkcmVzdWx0ICYmICRyb3cgPSAkcmVzdWx0LT5GZXRjaFJvdygpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZXN0YXRlbWVudCBbXSA9ICIgdXNlcmdyb3VwID0gPyAiOwogICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zYXJyYXlbXSA9ICRyb3dbImdyb3VwX2lkIl07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJyggJyAuIGltcGxvZGUoJyBPUiAnLCAkd2hlcmVzdGF0ZW1lbnQpIC4gJyknOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRjYXRlZ29yeWxpc3QgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jYXRlZ29yeV9saXN0KCRtb2QsICR3aGVyZSwgJHBhcmFtc2FycmF5KTsKICAgICAgICAgICAgICAgICRjYXRlZ29yeWxvbmduYW1lbGlzdCA9IGFycmF5X3NsaWNlKCRjYXRlZ29yeWxpc3QsIDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkY2F0ZWdvcnlsb25nbmFtZWxpc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGUgaXRlbQogICAgICogQHBhcmFtIG9iamVjdCAkbW9kCiAgICAgKiBAcGFyYW0gaW50ICRpdGVtX2lkIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9pdGVtKCRtb2QsICRpdGVtX2lkKSB7CgogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgovLyBnZXQgZGV0YWlscwogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBXSEVSRSBpdGVtX2lkID0gPyc7CiAgICAgICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQpKTsKICAgICAgICBpZiAoISRyb3cpCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgICAgJGRpciA9IHNlbGY6OmZpbGVwYXRoX2xvY2F0aW9uKCRtb2QsICRyb3cpOwogICAgICAgIGlmIChpc19kaXIoJGRpcikpIHsKICAgICAgICAgICAgY2dlX2Rpcjo6cmVjdXJzaXZlX3JtZGlyKCRkaXIpOwogICAgICAgIH0KCi8vIGRlbGV0ZSBpdGVtCiAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBXSEVSRSBpdGVtX2lkID0gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQpKTsKCi8vIGRlbGV0ZSBmaWVsZCB2YWx1ZXMKICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQpKTsKCi8vIGRlbGV0ZSBmaWVsZCB2YWx1ZXMKICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2V4dHJhIFdIRVJFIGl0ZW1faWQgPSA/JzsKICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCkpOwoKICAgICAgICAvL1VwZGF0ZSBzZWFyY2ggaW5kZXgKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdTZWFyY2gnKTsKICAgICAgICBpZiAoJG1vZHVsZSAhPSBGQUxTRSkgewogICAgICAgICAgICAkbW9kdWxlLT5EZWxldGVXb3JkcygkbW9kLT5HZXROYW1lKCksICRpdGVtX2lkLCAnaXRlbScpOwogICAgICAgIH0KICAgICAgICBAJG1vZC0+U2VuZEV2ZW50KCdJdGVtRGVsZXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCkpOwogICAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_upgrade_proccess.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cjw/cGhwCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogTW9kdWxlR2VuZXJhdG9yIGZvciBDTVMgTWFkZSBTaW1wbGUgKEBrdXptYW55KQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLyoqCiAqIERlc2NyaXB0aW9uIG9mIGNsYXNzCiAqCiAqIEBhdXRob3IgQGt1em1hbnkKICovCgpjbGFzcyBnZW5lcmF0b3JfdXBncmFkZV9wcm9jY2VzcyB7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY29weV9maWxlcygkbW9iamVjdCwgJGZpbGVzID0gYXJyYXkoKSwgJGluaXQgPSBmYWxzZSkgewoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgaWYgKGVtcHR5KCRmaWxlcykgPT0gZmFsc2UpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgICAgICAgICAkZnJvbSA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdNb2R1bGVMaWInLCAnc291cmNlJywgJ01vZHVsZUV4YW1wbGUnLCAkZmlsZSk7CiAgICAgICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRmaWxlKTsKICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCRpbml0ID09IHRydWUpIHsKICAgICAgICAgICAgJGZpbGUgPSAnTW9kdWxlRXhhbXBsZS5tb2R1bGUucGhwJzsKICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOwogICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRtb2JqZWN0LT5HZXROYW1lKCkgLiAnLm1vZHVsZS5waHAnKTsKICAgICAgICAgICAgY29weSgkZnJvbSwgJHRvKTsKCiAgICAgICAgICAgIC8vICByZXdyaXRlIG1vZHVsZSBjb250ZW50CiAgICAgICAgICAgICRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0byk7CiAgICAgICAgICAgIGlmICgkZGF0YSkgewogICAgICAgICAgICAgICAgJGRhdGEgPSBzdHJfcmVwbGFjZSgnTW9kdWxlRXhhbXBsZScsICRtb2JqZWN0LT5HZXROYW1lKCksICRkYXRhKTsKICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR0bywgJGRhdGEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZGllKCR0aGlzLT5MYW5nKCdlcnJvcl9yZXBsYWNlX3N0cmluZycpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL21lZGlhY2VudGVyLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCi8vIGNyZWF0ZSBpdGVtIHRhYmxlCgokZmllbGRzID0gJwogICAgaWQgSSBLRVkgQVVUTywKICAgIG1vZHVsZV9uYW1lIEMoMjU1KSwKCWF0dGFjaCBDKDI1NSksCiAgICBjcmVhdGVfZGF0ZSAnIC4gQ01TX0FET0RCX0RUIC4gJywKCW1vZGlmaWVkX2RhdGUgJyAuIENNU19BRE9EQl9EVCAuICcKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvcicsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgojIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbWVkaWFjZW50ZXIvDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCg0KJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KDQovLyBkcm9wIHRhYmxlcw0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvcicpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/PD9waHANCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOw0KJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KDQpzd2l0Y2ggKCRvbGR2ZXJzaW9uKSB7DQogICAgY2FzZSAnMS4wJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICdyZWN1cnNpdmUgQygyNTUpJyk7DQogICAgICAgICAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nLCAnaXRlbV9kYXRlX2VuZCAnIC4gQ01TX0FET0RCX0RUKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgICAgICAgICAgICAgICAkZmllbGRzID0gJw0KICAgIGl0ZW1faWQgSSBLRVkgTk9UIG51bGwsDQogICAgdmFsdWUgSSBLRVkgTk9UIG51bGwNCic7DQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9leHRyYScsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7DQogICAgICAgICAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMS4xJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcycsICd1c2VyZ3JvdXAgSScpOw0KICAgICAgICAgICAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiAgICAgICAgICAgICAgICAkbW9iamVjdC0+Q3JlYXRlUGVybWlzc2lvbigkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2FsbF9jYXRlZ29yeV92aXNiaWxlJywgJG1vYmplY3QtPkxhbmcoJ2FsbF9jYXRlZ29yeV92aXNiaWxlJykpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMS4yJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCg0KICAgICAgICAgICAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTChjbXNfZGJfcHJlZml4KCkgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3VybCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICd1cmwnKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjMnOg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KICAgICAgICAgICAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzJywgJ2V4dHJhMiBYJyk7DQogICAgICAgICAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5TZXRQcmVmZXJlbmNlKCdjYXRlZ29yeV9leHRyYTJfbGFiZWwnLCAkbW9iamVjdC0+TGFuZygnZXh0cmEnKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjQnOg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnSXRlbUFkZGVkJyk7DQogICAgICAgICAgICAgICAgJG1vYmplY3QtPkNyZWF0ZUV2ZW50KCdJdGVtRWRpdGVkJyk7DQogICAgICAgICAgICAgICAgJG1vYmplY3QtPkNyZWF0ZUV2ZW50KCdJdGVtRGVsZXRlZCcpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnQ2F0ZWdvcnlBZGRlZCcpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnQ2F0ZWdvcnlFZGl0ZWQnKTsNCiAgICAgICAgICAgICAgICAkbW9iamVjdC0+Q3JlYXRlRXZlbnQoJ0NhdGVnb3J5RGVsZXRlZCcpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnSXRlbXNSZW9yZGVyZWQnKTsNCiAgICAgICAgICAgICAgICAkbW9iamVjdC0+Q3JlYXRlRXZlbnQoJ0NhdGVnb3JpZXNSZW9yZGVyZWQnKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIGNhc2UgJzEuNSc6DQogICAgICAgICRtb2R1bGVzID0gZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGVzKCk7DQogICAgICAgIGZvcmVhY2ggKCRtb2R1bGVzIGFzICRtb2R1bGUpIHsNCiAgICAgICAgICAgICRtb2JqZWN0ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGVbIm1vZHVsZV9uYW1lIl0pOw0KICAgICAgICAgICAgaWYgKCRtb2JqZWN0KSB7DQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJywgJ2VkaXR2aWV3IEkoMSknKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjYnOg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KICAgICAgICAgICAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZicsICdmaWx0ZXJfZnJvbnRlbmQgSSgxKScpOw0KICAgICAgICAgICAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnLCAnZmlsdGVyX2FkbWluIEkoMSknKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjguMSc6DQogICAgICAgICRtb2R1bGVzID0gZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGVzKCk7DQoNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkcG9zaXRpb24gPSAwOw0KDQogICAgICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCdBTFRFUiBUQUJMRSBgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllc2AgIENIQU5HRSBDT0xVTU4gYGNhdGVnb3J5X2lkYCBgY2F0ZWdvcnlfaWRgIElOVCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQgRklSU1QnKTsNCg0KDQogICAgICAgICAgICAgICAgLy8gY29weSBuZXcgZmlsZXMNCiAgICAgICAgICAgICAgICAkZmlsZSA9ICdhY3Rpb24uYWRtaW5fZmllbGRzLnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGZpbGUpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQogICAgICAgICAgICAgICAgJGZpbGUgPSAnZnVuY3Rpb24uYWRtaW5fZmllbGRkZWZ0YWJfY2F0ZWdvcmllcy5waHAnOw0KICAgICAgICAgICAgICAgICRmcm9tID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ01vZHVsZUxpYicsICdzb3VyY2UnLCAnTW9kdWxlRXhhbXBsZScsICRmaWxlKTsNCiAgICAgICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRmaWxlKTsNCiAgICAgICAgICAgICAgICBjb3B5KCRmcm9tLCAkdG8pOw0KICAgICAgICAgICAgICAgICRmaWxlID0gJ2FjdGlvbi5hZG1pbl9vcmRlcmNhdGVnb3J5LnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGZpbGUpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQoNCiAgICAgICAgICAgICAgICAkZmlsZSA9ICdNb2R1bGVFeGFtcGxlLm1vZHVsZS5waHAnOw0KICAgICAgICAgICAgICAgICRmcm9tID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ01vZHVsZUxpYicsICdzb3VyY2UnLCAnTW9kdWxlRXhhbXBsZScsICRmaWxlKTsNCiAgICAgICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRtb2JqZWN0LT5HZXROYW1lKCkgLiAnLm1vZHVsZS5waHAnKTsNCiAgICAgICAgICAgICAgICBjb3B5KCRmcm9tLCAkdG8pOw0KDQogICAgICAgICAgICAgICAgLy8gIHJld3JpdGUgbW9kdWxlIGNvbnRlbnQNCiAgICAgICAgICAgICAgICAkZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkdG8pOw0KICAgICAgICAgICAgICAgIGlmICgkZGF0YSkgew0KICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN0cl9yZXBsYWNlKCdNb2R1bGVFeGFtcGxlJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGRhdGEpOw0KICAgICAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkdG8sICRkYXRhKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBkaWUoJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcGxhY2Vfc3RyaW5nJykpOw0KICAgICAgICAgICAgICAgIH0NCg0KDQoNCiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgZGF0YWJhc2UNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnLCAnc2VjdGlvbiAgQygxMCknKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBzZWN0aW9uID0gIml0ZW1zIiAnOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgpKTsNCg0KDQogICAgICAgICAgICAgICAgJGNhdGVnb3JpZXMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jYXRlZ29yeV9saXN0KCRtb2JqZWN0LCBhcnJheSgpLCBhcnJheSgpLCBmYWxzZSk7DQoNCiAgICAgICAgICAgICAgICBpZiAoZW1wdHkoJGNhdGVnb3JpZXMpID09IGZhbHNlKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgJGhlbHAgPSAnJzsNCiAgICAgICAgICAgICAgICAgICAgJHR5cGUgPSAndGV4dGJveCc7DQogICAgICAgICAgICAgICAgICAgICRyZXF1aXJlZCA9IDA7DQogICAgICAgICAgICAgICAgICAgICRlZGl0dmlldyA9IDA7DQogICAgICAgICAgICAgICAgICAgICRmcm9udGVuZCA9IDE7DQogICAgICAgICAgICAgICAgICAgICRmaWx0ZXJfZnJvbnRlbmQgPSAwOw0KICAgICAgICAgICAgICAgICAgICAkYWRtaW5fYWRtaW4gPSAwOw0KICAgICAgICAgICAgICAgICAgICAkc2VhcmNoYWJsZSA9IDA7DQogICAgICAgICAgICAgICAgICAgICRleHRyYSA9ICcnOw0KICAgICAgICAgICAgICAgICAgICAkc2VjdGlvbiA9ICdjYXRlZ29yaWVzJzsNCg0KDQoNCiAgICAgICAgICAgICAgICAgICAgJGV4dHJhMSA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAkZXh0cmEyID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRjYXRlZ29yaWVzIGFzICRjYXRlZ29yeSkgew0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGNhdGVnb3J5WyJleHRyYSJdKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGV4dHJhMSA9PSBmYWxzZSkgew0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJG1vYmplY3QtPkdldFByZWZlcmVuY2UoJ2NhdGVnb3J5X2V4dHJhX2xhYmVsJywgJG1vYmplY3QtPkxhbmcoJ2V4dHJhJykpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxpYXMgPSAnZXh0cmEnOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiAobmFtZSwgYWxpYXMsIGhlbHAsIHR5cGUsIHBvc2l0aW9uLCByZXF1aXJlZCwgZnJvbnRlbmQsIGVkaXR2aWV3LCBmaWx0ZXJfZnJvbnRlbmQsIGZpbHRlcl9hZG1pbiwgc2VhcmNoYWJsZSwgZXh0cmEsIHNlY3Rpb24pIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPyknOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5hbWUsICRhbGlhcywgJGhlbHAsICR0eXBlLCAkcG9zaXRpb24rKywgJHJlcXVpcmVkLCAkZnJvbnRlbmQsICRlZGl0dmlldywgJGZpbHRlcl9mcm9udGVuZCwgJGFkbWluX2FkbWluLCAkc2VhcmNoYWJsZSwgJGV4dHJhLCAkc2VjdGlvbikpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXh0cmExaWQgPSAkZGItPkluc2VydF9JRCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXh0cmExID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGVnb3J5WyJjYXRlZ29yeV9pZCJdLCAkZXh0cmExaWQsICRjYXRlZ29yeVsiZXh0cmEiXSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjYXRlZ29yeVsiZXh0cmEyIl0pIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXh0cmEyID09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJG1vYmplY3QtPkdldFByZWZlcmVuY2UoJ2NhdGVnb3J5X2V4dHJhMl9sYWJlbCcsICRtb2JqZWN0LT5MYW5nKCdleHRyYScpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsaWFzID0gJ2V4dHJhMic7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIChuYW1lLCBhbGlhcywgaGVscCwgdHlwZSwgcG9zaXRpb24sIHJlcXVpcmVkLCBmcm9udGVuZCwgZWRpdHZpZXcsIGZpbHRlcl9mcm9udGVuZCwgZmlsdGVyX2FkbWluLCBzZWFyY2hhYmxlLCBleHRyYSwgc2VjdGlvbikgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/KSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmFtZSwgJGFsaWFzLCAkaGVscCwgJHR5cGUsICRwb3NpdGlvbisrLCAkcmVxdWlyZWQsICRmcm9udGVuZCwgJGVkaXR2aWV3LCAkZmlsdGVyX2Zyb250ZW5kLCAkYWRtaW5fYWRtaW4sICRzZWFyY2hhYmxlLCAkZXh0cmEsICRzZWN0aW9uKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRleHRyYTJpZCA9ICRkYi0+SW5zZXJ0X0lEKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRleHRyYTIgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGVnb3J5WyJjYXRlZ29yeV9pZCJdLCAkZXh0cmEyaWQsICRjYXRlZ29yeVsiZXh0cmEyIl0pKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIGNhc2UgJzEuOS4yJzoNCg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KDQogICAgICAgIGZvcmVhY2ggKCRtb2R1bGVzIGFzICRtb2R1bGUpIHsNCiAgICAgICAgICAgICRtb2JqZWN0ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGVbIm1vZHVsZV9uYW1lIl0pOw0KICAgICAgICAgICAgaWYgKCRtb2JqZWN0KSB7DQoNCg0KICAgICAgICAgICAgICAgICRmaWVsZHMgPSAnDQogICAgIGBpbWFnZV9pZGAgaW50KDEwKSBJIEtFWSBBVVRPLA0KICBgaXRlbV9pZGAgaW50KDEwKSBERUZBVUxUIE5VTEwsDQogIGBmaWxlbmFtZWAgdmFyY2hhcigyNTUpIERFRkFVTFQgTlVMTCwNCiAgYHBvc2l0aW9uYCBpbnQoMTApIERFRkFVTFQNCic7DQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaW1hZ2VzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgICAgICAgICAgICAgICAvLyBjb3B5IG5ldyBmaWxlcw0KICAgICAgICAgICAgICAgICRmaWxlID0gJ2FjdGlvbi5hZG1pbl9pbWFnZXNidWxrYWN0aW9uLnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGZpbGUpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQogICAgICAgICAgICAgICAgJGZpbGUgPSAnYWN0aW9uLmFkbWluX21vdmVpbWFnZXMucGhwJzsNCiAgICAgICAgICAgICAgICAkZnJvbSA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdNb2R1bGVMaWInLCAnc291cmNlJywgJ01vZHVsZUV4YW1wbGUnLCAkZmlsZSk7DQogICAgICAgICAgICAgICAgJHRvID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAkbW9iamVjdC0+R2V0TmFtZSgpLCAkZmlsZSk7DQogICAgICAgICAgICAgICAgY29weSgkZnJvbSwgJHRvKTsNCg0KICAgICAgICAgICAgICAgICRmaWxlID0gJ01vZHVsZUV4YW1wbGUubW9kdWxlLnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJG1vYmplY3QtPkdldE5hbWUoKSAuICcubW9kdWxlLnBocCcpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQoNCiAgICAgICAgICAgICAgICAvLyAgcmV3cml0ZSBtb2R1bGUgY29udGVudA0KICAgICAgICAgICAgICAgICRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0byk7DQogICAgICAgICAgICAgICAgaWYgKCRkYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICRkYXRhID0gc3RyX3JlcGxhY2UoJ01vZHVsZUV4YW1wbGUnLCAkbW9iamVjdC0+R2V0TmFtZSgpLCAkZGF0YSk7DQogICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR0bywgJGRhdGEpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGRpZSgkdGhpcy0+TGFuZygnZXJyb3JfcmVwbGFjZV9zdHJpbmcnKSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMi4xJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCg0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KICAgICAgICAgICAgICAgICRmaWxlID0gJ01vZHVsZUV4YW1wbGUubW9kdWxlLnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJG1vYmplY3QtPkdldE5hbWUoKSAuICcubW9kdWxlLnBocCcpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQoNCiAgICAgICAgICAgICAgICAvLyAgcmV3cml0ZSBtb2R1bGUgY29udGVudA0KICAgICAgICAgICAgICAgICRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0byk7DQogICAgICAgICAgICAgICAgaWYgKCRkYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICRkYXRhID0gc3RyX3JlcGxhY2UoJ01vZHVsZUV4YW1wbGUnLCAkbW9iamVjdC0+R2V0TmFtZSgpLCAkZGF0YSk7DQogICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR0bywgJGRhdGEpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGRpZSgkdGhpcy0+TGFuZygnZXJyb3JfcmVwbGFjZV9zdHJpbmcnKSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMi4yLjEnOg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KDQogICAgICAgIGZvcmVhY2ggKCRtb2R1bGVzIGFzICRtb2R1bGUpIHsNCiAgICAgICAgICAgICRtb2JqZWN0ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGVbIm1vZHVsZV9uYW1lIl0pOw0KICAgICAgICAgICAgaWYgKCRtb2JqZWN0KSB7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICRmaWxlcyA9IGFycmF5KCk7DQogICAgICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ2FjdGlvbi5hZG1pbl9wcmVmcy5waHAnOw0KICAgICAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICdmdW5jdGlvbi5hZG1pbl9tb2RldGFiLnBocCc7DQogICAgICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ2Z1bmN0aW9uLmFkbWluX29wdGlvbmVkaXRpbmd0YWIucGhwJzsNCiAgICAgICAgICAgICAgICAgICAgJGZpbGVzW10gPSAnZnVuY3Rpb24uYWRtaW5fb3B0aW9uc2VhcmNodGFiLnBocCc7DQogICAgICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ2Z1bmN0aW9uLmFkbWluX29wdGlvbnNlYXJjaHRhYi5waHAnOw0KICAgICAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICdmdW5jdGlvbi5hZG1pbl9vcHRpb250YWIucGhwJzsNCiAgICAgICAgICAgICAgICAgICAgJGZpbGVzW10gPSAndGVtcGxhdGVzL29wdGlvbnNlYXJjaHRhYi50cGwnOw0KICAgICAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICd0ZW1wbGF0ZXMvb3B0aW9uZWRpdGluZ3RhYi50cGwnOw0KICAgICAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICd0ZW1wbGF0ZXMvbW9kZXRhYi50cGwnOw0KICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JfdXBncmFkZV9wcm9jY2Vzczo6Y29weV9maWxlcygkbW9iamVjdCwgJGZpbGVzLCB0cnVlKTsNCg0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICRjdXJyZW50X3ZlcnNpb24gPSAiMi4yLjIiOw0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleGenerator.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbWVkaWFjZW50ZXIvDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCi8qKg0KICogIGdlbmVyYXRvciANCiAqIEByZXR1cm4gb2JqZWN0IA0KICovDQppZiAoIWZ1bmN0aW9uX2V4aXN0cygnZ2VuZXJhdG9yJykpIHsNCg0KICAgIGZ1bmN0aW9uIGdlbmVyYXRvcigpIHsNCiAgICAgICAgcmV0dXJuIGNtc191dGlsczo6Z2V0X21vZHVsZSgnTW9kdWxlR2VuZXJhdG9yJyk7DQogICAgfQ0KDQp9DQoNCmNsYXNzIE1vZHVsZUdlbmVyYXRvciBleHRlbmRzIENHRXh0ZW5zaW9ucyB7DQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICBDb25zdHJ1Y3Rvcg0KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7DQogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsNCiAgICB9DQoNCiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgIFNldFBhcmFtZXRlcnMNCiAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpIHsNCiAgICAgICAgLy8gbm90aGluZw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkgew0KICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCAnMS4xMCcpIDwgMCkNCiAgICAgICAgICAgICR0aGlzLT5Jbml0aWFsaXplRnJvbnRlbmQoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKSB7DQogICAgICAgIC8vIG5vdGhpbmcNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gQWxsb3dTbWFydHlDYWNoaW5nKCkgew0KICAgICAgICByZXR1cm4gVFJVRTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgew0KICAgICAgICByZXR1cm4gVFJVRTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgew0KICAgICAgICByZXR1cm4gVFJVRTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpIHsNCiAgICAgICAgcmV0dXJuIGdldF9jbGFzcygpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7DQogICAgICAgIHJldHVybiAnMi4yLjMnOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9VcGdyYWRlKCkgew0KICAgICAgICByZXR1cm4gRkFMU0U7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3IoKSB7DQogICAgICAgIHJldHVybiAnQGt1em1hbnknOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsNCiAgICAgICAgcmV0dXJuICd6ZGVub0BrdXptYW55LmJpeic7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsNCiAgICAgICAgIHJldHVybiBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fZmlsZV9fKSAuICcvY2hhbmdlbG9nLmluYycpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7DQogICAgICAgIHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJyA9PiAnMS4yOScsICdFeHRlbmRlZFRvb2xzJyA9PiAnMS4zLjMnLCAnQ0dTbWFydEltYWdlJyA9PiAnMS45LjMnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7DQogICAgICAgIHJldHVybiAiMS4xMSI7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24oJGV2ZW50bmFtZSkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2luZm9fJyAuICRldmVudG5hbWUpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRFdmVudEhlbHAoJGV2ZW50bmFtZSkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJyAuICRldmVudG5hbWUpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gQ2hlY2tBY2Nlc3MoJHBlcm0gPSAnMScpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHBlcm0pOw0KICAgIH0NCg0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_approveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpDQogICAgcmV0dXJuOw0KDQppZiAoIWlzc2V0KCRwYXJhbXNbJ2FwcHJvdmUnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkpIHsNCiAgICBkaWUoJ21pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuJyk7DQp9DQoNCiRpdGVtX2lkID0gKGludCkgJHBhcmFtc1snaXRlbV9pZCddOw0KJGFjdGl2ZSA9IChib29sKSAkcGFyYW1zWydhcHByb3ZlJ107DQoNCiRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBhY3RpdmUgPSA/IFdIRVJFIGl0ZW1faWQgPSA/JzsNCiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhY3RpdmUsICRpdGVtX2lkKSk7DQoNCiRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7DQppZiAoaXNfb2JqZWN0KCRzZWFyY2gpKSB7DQogICAgaWYgKCRhY3RpdmUpIHsNCiAgICAgICAgJHNlYXJjaC0+RGVsZXRlV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkaXRlbV9pZCwgJ2l0ZW0nKTsNCiAgICB9IGVsc2Ugew0KDQogICAgICAkc2VhcmNoLT5BZGRXb3JkcygkbW9kLT5HZXROYW1lKCksICRpdGVtX2lkLCAnaXRlbScsIGdlbmVyYXRvcl90b29sczo6Z2V0X3NlYXJjaGFibGVfdGV4dCgkbW9kLCAkaXRlbV9pZCksIGdlbmVyYXRvcl90b29sczo6Z2V0X3NlYXJjaGFibGVfZGF0ZV9lbmQoKSk7DQogICAgfQ0KfQ0KDQpAJG1vZC0+U2VuZEV2ZW50KCdJdGVtRWRpdGVkJywgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkLCAnYWN0aXZlJyA9PiAkYWN0aXZlKSk7DQoNCi8vIGFsbCBkb25lDQokbW9kLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnaXRlbXRhYicpKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_bulkaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCmlmICghJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpKQogICAgcmV0dXJuOwoKJG1vZC0+U2V0Q3VycmVudFRhYignaXRlbXRhYicpOwoKCmlmIChpc3NldCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBjb3VudCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBpc3NldCgkcGFyYW1zWydidWxrYWN0aW9uJ10pKSB7CiAgICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKTsgJGkrKykgewogICAgICAgICRwYXJhbXNbJ211bHRpc2VsZWN0J11bJGldID0gKGludCkgJHBhcmFtc1snbXVsdGlzZWxlY3QnXVskaV07CiAgICB9CgogICAgc3dpdGNoICgkcGFyYW1zWydidWxrYWN0aW9uJ10pIHsKICAgICAgICBjYXNlICdkZWxldGUnOgogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydtdWx0aXNlbGVjdCddIGFzICRpdGVtX2lkKSB7CiAgICAgICAgICAgICAgICAkcmVzID0gZ2VuZXJhdG9yX3Rvb2xzOjpkZWxldGVfaXRlbSgkbW9kLCAoaW50KSAkaXRlbV9pZCk7CiAgICAgICAgICAgICAgICBAJG1vZC0+U2VuZEV2ZW50KCdJdGVtRGVsZXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ3NldGFjdGl2ZSc6IHsKICAgICAgICAgICAgICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBhY3RpdmUgPSA/LCBtb2RpZmllZF9kYXRlID0gTk9XKCkgV0hFUkUgaXRlbV9pZCBJTiAoJzsKICAgICAgICAgICAgICAgICRxdWVyeSAuPSBpbXBsb2RlKCcsJywgJHBhcmFtc1snbXVsdGlzZWxlY3QnXSkgLiAnKSc7CiAgICAgICAgICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoMSkpOwogICAgICAgICAgICAgICAgJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU2VhcmNoJyk7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydtdWx0aXNlbGVjdCddIGFzICRpdGVtX2lkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRzZWFyY2ggIT0gRkFMU0UpCiAgICAgICAgICAgICAgICAgICAgICAgICRzZWFyY2gtPkFkZFdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJGl0ZW1faWQsICdpdGVtJywgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfc2VhcmNoYWJsZV90ZXh0KCRtb2QsICRpdGVtX2lkKSwgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfc2VhcmNoYWJsZV9kYXRlX2VuZCgpKTsKICAgICAgICAgICAgICAgICAgICBAJG1vZC0+U2VuZEV2ZW50KCdJdGVtRWRpdGVkJywgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkLCAnYWN0aXZlJyA9PiAxKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnc2V0aW5hY3RpdmUnOiB7CiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBTRVQgYWN0aXZlID0gPywgbW9kaWZpZWRfZGF0ZSA9IE5PVygpIFdIRVJFIGl0ZW1faWQgSU4gKCc7CiAgICAgICAgICAgICAgICAkcXVlcnkgLj0gaW1wbG9kZSgnLCcsICRwYXJhbXNbJ211bHRpc2VsZWN0J10pIC4gJyknOwogICAgICAgICAgICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KDApKTsKICAgICAgICAgICAgICAgIC8vVXBkYXRlIHNlYXJjaCBpbmRleAogICAgICAgICAgICAgICAgJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU2VhcmNoJyk7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydtdWx0aXNlbGVjdCddIGFzICRpdGVtX2lkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRzZWFyY2ggIT0gRkFMU0UpCiAgICAgICAgICAgICAgICAgICAgICAgICRzZWFyY2gtPkRlbGV0ZVdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJGl0ZW1faWQsICdpdGVtJyk7CiAgICAgICAgICAgICAgICAgICAgQCRtb2QtPlNlbmRFdmVudCgnSXRlbUVkaXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCwgJ2FjdGl2ZScgPT4gMCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgfQp9CgokbW9kLT5TZXRtZXNzYWdlKCRtb2QtPkxhbmcoJ29wZXJhdGlvbl9jb21wbGV0ZScpKTsKJG1vZC0+UmVkaXJlY3RUb1RhYigkaWQpOwojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCmlmICghJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcmllcycpKQogICAgcmV0dXJuOwoKCiRjYXRpZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkpIHsKICAgICRjYXRpZCA9ICRwYXJhbXNbJ2NhdGlkJ107Cn0KCi8vIEdldCB0aGUgY2F0ZWdvcnkgZGV0YWlscwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nLiRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzCiAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGNhdGlkKSk7CgovL1Jlc2V0IGFsbCBjYXRlZ29yaWVzIHVzaW5nIHRoaXMgcGFyZW50IHRvIGhhdmUgbm8gcGFyZW50ICgtMSkKJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nLiRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzIFNFVCBwYXJlbnRfaWQ9PywgbW9kaWZpZWRfZGF0ZT0nIC4gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpIC4gJyBXSEVSRSBwYXJlbnRfaWQ9Pyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KC0xLCAkY2F0aWQpKTsKCi8vTm93IHJlbW92ZSB0aGUgY2F0ZWdvcnkKJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIuJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGlkKSk7CgovL0FuZCByZW1vdmUgaXQgZnJvbSBhbnkgYXJ0aWNsZXMKJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iLiRtb2QtPl9HZXRNb2R1bGVBbGlhcygpLiJfaXRlbSBTRVQgY2F0ZWdvcnlfaWQgPSAtMSBXSEVSRSBjYXRlZ29yeV9pZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCkAkbW9kLT5TZW5kRXZlbnQoJ0NhdGVnb3J5RGVsZXRlZCcsIGFycmF5KCdjYXRlZ29yeV9pZCcgPT4gJGNhdGlkLCAnbmFtZScgPT4gJHJvd1snY2F0ZWdvcnlfbmFtZSddKSk7CgpnZW5lcmF0b3JfdG9vbHM6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCRtb2QpOwoKJG1vZC0+UmVkaXJlY3RUb1RhYigkaWQsICdjYXRlZ29yeXRhYicsICRwYXJhbXMpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deletefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCiRmaWVsZGRlZl9pZCA9ICcnOw0KDQppZiAoaXNzZXQoJHBhcmFtc1snZmllbGRkZWZfaWQnXSkpIHsNCiAgICAkZmllbGRkZWZfaWQgPSAoaW50KSAkcGFyYW1zWydmaWVsZGRlZl9pZCddOw0KfQ0KDQppZiAoZW1wdHkoJGZpZWxkZGVmX2lkKSkgew0KICAgICRtb2QtPlNldEVycm9yKCRtb2QtPkxhbmcoJ2VtcHR5X3BhcmFtJykpOw0KICAgICRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAnJywgYXJyYXkoKSwgJ2FkbWluX2ZpZWxkcycpOw0KfQ0KDQovLyBnZXQgZGV0YWlscw0KJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOw0KJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGZpZWxkZGVmX2lkKSk7DQoNCi8vIGRlbGV0ZSBmaWVsZCBkZWZpbml0aW9ucw0KJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWVsZGRlZl9pZCkpOw0KDQovLyBkZWxldGUgZmllbGQgdmFsdWVzDQokcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOw0KJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpZWxkZGVmX2lkKSk7DQoNCg0KLy8gYWxsIGRvbmUNCiRtb2QtPlNldG1lc3NhZ2UoJG1vZC0+TGFuZygnZGVsZXRlZCcpKTsNCiRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAkcm93WyJzZWN0aW9uIl0sIGFycmF5KCksICdhZG1pbl9maWVsZHMnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deleteitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpDQogICAgcmV0dXJuOw0KDQokaXRlbV9pZCA9ICcnOw0KDQppZiAoaXNzZXQoJHBhcmFtc1snaXRlbV9pZCddKSkgew0KICAgICRpdGVtX2lkID0gKGludCkgJHBhcmFtc1snaXRlbV9pZCddOw0KfQ0KDQppZiAoZW1wdHkoJGl0ZW1faWQpKSB7DQogICAgJG1vZC0+U2V0RXJyb3IoJG1vZC0+TGFuZygnZW1wdHlfcGFyYW0nKSk7DQogICAgJG1vZC0+UmVkaXJlY3RUb1RhYigkaWQsICdkZWZhdWxhY3Rpb24nLCAkcGFyYW1zKTsNCn0NCg0KZ2VuZXJhdG9yX3Rvb2xzOjpkZWxldGVfaXRlbSgkbW9kLCAkaXRlbV9pZCk7DQoNCiRtb2QtPlNldG1lc3NhZ2UoJG1vZC0+TGFuZygnZGVsZXRlZCcpKTsNCiRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZGVmYXVsdGFkbWluJywgJHBhcmFtcyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsNCg0KJHRwbF9pZCA9ICcnOw0KDQppZiAoaXNzZXQoJHBhcmFtc1sndHBsX2lkJ10pKSB7DQoJJHRwbF9pZCA9IChpbnQpJHBhcmFtc1sndHBsX2lkJ107DQp9DQoNCi8vIGdldCBkZXRhaWxzDQokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3RlbXBsYXRlIFdIRVJFIHRwbF9pZCA9ID8nOw0KJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJHRwbF9pZCkpOw0KDQovLyBkZWxldGUgcmVjb3JkDQokcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ190ZW1wbGF0ZSBXSEVSRSB0cGxfaWQgPSA/JzsNCiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0cGxfaWQpKTsNCg0KLy8gYWxsIGRvbmUNCiRtb2QtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXRhYicsICdtZXNzYWdlJyA9PiAnZGVsZXRlZCcpKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCgppZiAoISRtb2QtPkNoZWNrUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3JpZXMnKSkKICAgIHJldHVybjsKCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKICAgICRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAnY2F0ZWdvcnl0YWInKTsKfQoKJGl0ZW1faWQgPSAkY2F0aWQgPSBudWxsOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkpIHsKICAgICRpdGVtX2lkID0gJGNhdGlkID0gJHBhcmFtc1snY2F0aWQnXTsKfQoKJHBhcmVudGlkID0gJy0xJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3BhcmVudCddKSkgewogICAgJHBhcmVudGlkID0gJHBhcmFtc1sncGFyZW50J107Cn0KCiRvcmlnbmFtZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snb3JpZ25hbWUnXSkpIHsKICAgICRvcmlnbmFtZSA9ICRwYXJhbXNbJ29yaWduYW1lJ107Cn0KCiRhbGlhcyA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snYWxpYXMnXSkpIHsKICAgICRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1snYWxpYXMnXSwgdHJ1ZSk7Cn0KCgokdXNlcmdyb3VwID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyd1c2VyZ3JvdXAnXSkpIHsKICAgICR1c2VyZ3JvdXAgPSAkcGFyYW1zWyd1c2VyZ3JvdXAnXTsKfQoKLy8gZ2V0IHRoZSBjdXN0b20gZmllbGRzCiRmaWx0ZXJzID0gbmV3IGdlbmVyYXRvcl9maWx0ZXJzKCRpZCwgJG1vZCwgJ2FkbWluJyk7CiR0bXAgPSBnZW5lcmF0b3JfZmllbGRzOjpnZXRfZmllbGRzX2Zvcl9maWx0ZXJzKCRtb2QsIGFycmF5KCksICdjYXRlZ29yaWVzJyk7CiRjdXN0b21fZmxkcyA9ICRmaWx0ZXJzLT5wcm9jZXNzX2N1c3RvbV9maWVsZHMoYXJyYXkoKSwgJHRtcCk7CgoKJG5hbWUgPSAnJzsKJGVycm9ycyA9IGFycmF5KCk7CmlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKSB7CiAgICAkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKICAgIGlmICgkbmFtZSA9PSAnJykgewogICAgICAgICRlcnJvcnNbXSA9ICRtb2QtPlNob3dFcnJvcnMoZ2VuZXJhdG9yKCktPkxhbmcoJ25vbmFtZWdpdmVuJykpOwogICAgfQoKICAgIGlmIChpc3NldCgkcGFyYW1zWydjdXN0b21maWVsZCddKSkgewogICAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10gYXMgJGZsZGlkID0+ICR2YWx1ZSkgewoKICAgICAgICAgICAgaWYgKCR2YWx1ZSA9PSAnc2VsZWN0X2RlZmF1bHQnKSB7CiAgICAgICAgICAgICAgICAkcGFyYW1zWydjdXN0b21maWVsZCddWyRmbGRpZF0gPSAnJzsKICAgICAgICAgICAgICAgICR2YWx1ZSA9ICcnOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyByZXF1aXJlZCBmaWVsZHMKICAgICAgICAgICAgaWYgKCR2YWx1ZSA9PSAnJyAmJiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsncmVxdWlyZWQnXSAmJiAoJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ2VkaXR2aWV3J10gJiYgaXNzZXQoJHBhcmFtc1siaXRlbV9pZCJdKSkpIHsKICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdyZXF1aXJlZF9maWVsZF9lbXB0eScpIC4gJyAoJyAuICRjdXN0b21fZmxkc1skZmxkaWRdWyduYW1lJ10gLiAnKSc7CiAgICAgICAgICAgICAgICBicmVhazsgLy8gb25seSBkaXNwbGF5IG9uZSBlcnJvciBtZXNzYWdlIGF0IGEgdGltZQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBtYXggbGVuZ3RoCiAgICAgICAgICAgIGlmIChpc3NldCgkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbWF4X2xlbmd0aCddKSAmJiBtYl9zdHJsZW4oJHZhbHVlKSA+ICRjdXN0b21fZmxkc1skZmxkaWRdWydtYXhfbGVuZ3RoJ10pIHsKICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCd0b29fbG9uZycpIC4gJyAoJyAuICRjdXN0b21fZmxkc1skZmxkaWRdWyduYW1lJ10gLiAnKSc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gb3B0aW9ucwogICAgICAgICAgICBpZiAoJHZhbHVlICE9ICcnICYmIGlzc2V0KCRjdXN0b21fZmxkc1skZmxkaWRdWydvcHRpb25zJ10pICYmICFhcnJheV9rZXlfZXhpc3RzKCR2YWx1ZSwgJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ29wdGlvbnMnXSkpIHsKICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdpbnZhbGlkJykgLiAnICgnIC4gJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ25hbWUnXSAuICcpJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8vIGRpc3BsYXkgZXJyb3JzIGlmIHRoZXJlIGFyZSBhbnkKICAgIGlmICghZW1wdHkoJGVycm9ycykpIHsKICAgICAgICBlY2hvICRtb2QtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICB9IGVsc2UgewoKICAgICAgICBpZiAoJGNhdGlkICE9IG51bGwpIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgU0VUIGNhdGVnb3J5X25hbWUgPSA/LGNhdGVnb3J5X2FsaWFzID0gPywgdXNlcmdyb3VwID0gPywgcGFyZW50X2lkID0gPywgbW9kaWZpZWRfZGF0ZSA9ICcgLiAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkgLiAnIFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiAgICAgICAgICAgICRwYXJtcyA9IGFycmF5KCRuYW1lLCAkYWxpYXMsICR1c2VyZ3JvdXAsICRwYXJlbnRpZCk7CiAgICAgICAgICAgICRwYXJtc1tdID0gJGNhdGlkOwogICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcGFybXMpOwogICAgICAgICAgICBAJG1vZC0+U2VuZEV2ZW50KCdDYXRlZ29yeUVkaXRlZCcsIGFycmF5KCdjYXRlZ29yeV9pZCcgPT4gJGNhdGlkLCAnbmFtZScgPT4gJG5hbWUpKTsKICAgICAgICAgICAgJHJwYXJtcyA9IGFycmF5KCd0YWJfbWVzc2FnZScgPT4gJ2NhdGVnb3J5dXBkYXRlZCcpOwogICAgICAgICAgICBnZW5lcmF0b3JfdG9vbHM6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCRtb2QpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aW1lID0gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpOwogICAgICAgICAgICAkcG9zaXRpb24gPSAkZGItPkdldE9uZSgnU0VMRUNUIE1BWChwb3NpdGlvbikgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgV0hFUkUgcGFyZW50X2lkID0gPycsIGFycmF5KGludHZhbCgkcGFyZW50aWQpKSk7ICAgICAgICAgICAgCiAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgKGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLCBjYXRlZ29yeV9hbGlhcywgdXNlcmdyb3VwLCBwYXJlbnRfaWQsIHBvc2l0aW9uLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPyw/LD8sPywnIC4gJHRpbWUgLiAnLCcgLiAkdGltZSAuICcpJzsKICAgICAgICAgICAgJHBhcm1zID0gYXJyYXkoJGNhdGlkLCAkbmFtZSwgJGFsaWFzLCAkdXNlcmdyb3VwLCBpbnR2YWwoJHBhcmVudGlkKSwgJHBvc2l0aW9uKTsKICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHBhcm1zKTsKICAgICAgICAgICAgJGNhdGlkID0gJGl0ZW1faWQgPSAkZGItPkluc2VydF9JRCgpOwogICAgICAgICAgICBAJG1vZC0+U2VuZEV2ZW50KCdDYXRlZ29yeUFkZGVkJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkY2F0aWQsICduYW1lJyA9PiAkbmFtZSkpOwogICAgICAgICAgICAkcnBhcm1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJyA9PiAnY2F0ZWdvcnlhZGRlZCcpOwogICAgICAgICAgICBnZW5lcmF0b3JfdG9vbHM6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCRtb2QpOwogICAgICAgICAgICBnZW5lcmF0b3JfdG9vbHM6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCRtb2QpOwogICAgICAgIH0KICAgICAgICAvLyBoYW5kbGUgdXBsb2FkaW5nIG9mIGZpbGUgZmllbGRzCiAgICAgICAgZm9yZWFjaCAoJGN1c3RvbV9mbGRzIGFzICRjdXN0b21fZmxkKSB7CiAgICAgICAgICAgIGlmICgkY3VzdG9tX2ZsZFsndHlwZSddICE9ICd1cGxvYWRfZmlsZScpCiAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgICRlbGVtID0gJGlkIC4gJ2N1c3RvbWZpZWxkXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXTsKICAgICAgICAgICAgLy8gJGVsZW0gbG9va3MgbGlrZSBtMV9jdXN0b21maWVsZF8xCiAgICAgICAgICAgIC8vIGNoZWNrIGlmIGZpbGUgd2FzIHVwbG9hZGVkIGZvciB0aGlzIGZpZWxkCiAgICAgICAgICAgIGlmIChpc3NldCgkX0ZJTEVTWyRlbGVtXSkgJiYgJF9GSUxFU1skZWxlbV1bJ25hbWUnXSAhPSAnJykgewoKICAgICAgICAgICAgICAgIGlmICgkX0ZJTEVTWyRlbGVtXVsnZXJyb3InXSAhPSAwIHx8ICRfRklMRVNbJGVsZW1dWyd0bXBfbmFtZSddID09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgJGVycm9yc1tdID0gZ2VuZXJhdG9yKCktPkxhbmcoJ2Vycm9yX3VwbG9hZCcpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSBnZW5lcmF0b3JfdG9vbHM6OmhhbmRsZV91cGxvYWQoJG1vZCwgJGl0ZW1faWQsICRlbGVtLCAkZXJyb3IsICRjdXN0b21fZmxkWydhbGxvdyddLCAkcm93KTsKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkZXJyb3I7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gcG9wdWxhdGUgJHBhcmFtc1snY3VzdG9tZmllbGQnXQogICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHdvdWxkIGhvbGQgdGhlIHVwbG9hZGVkIGZpbGVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgaW5zZXJ0ZWQgaW50byB0aGUgZGF0YWJhc2UgYmVsb3cKICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtc1snY3VzdG9tZmllbGQnXVskY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXV0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIGhhbmRsZSBpbnNlcnRpbmcgY3VzdG9tIGZpZWxkcyBpbnRvIGRhdGFiYXNlCiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10gYXMgJGZsZGlkID0+ICR2YWx1ZSkgewoKICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkdmFsdWUpKQogICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSBpbXBsb2RlKCcsJywgJHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9ICcnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHJvdyBleGlzdHMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gaW5zZXJ0IG9yIHVwZGF0ZQogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCB2YWx1ZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiAgICAgICAgICAgICAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZsZGlkKSk7CiAgICAgICAgICAgICAgICAvLyByb3cgZG9lcyBub3QgZXhpc3QKICAgICAgICAgICAgICAgIGlmICgkdG1wID09ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpbnNlcnQgcm93IGlmIGZpZWxkIHZhbHVlIGlzIG5vdCBlbXB0eQogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgIT0gIiIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgKGl0ZW1faWQsIGZpZWxkZGVmX2lkLCB2YWx1ZSkgVkFMVUVTICg/LCA/LCA/KSc7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZsZGlkLCAkdmFsdWUpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy8gcm93IGFscmVhZHkgZXhpc3RzCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIGRlbGV0ZSByb3cgaWYgZmllbGQgdmFsdWUgaXMgZW1wdHkKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlID09ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGl0ZW1faWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOwogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQsICRmbGRpZCkpOwogICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgcm93CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFNFVCB2YWx1ZSA9ID8gV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdmFsdWUsICRpdGVtX2lkLCAkZmxkaWQpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIGRlbGV0ZSB2YWx1ZSBmcm9tIGZpbGUgZmllbGQKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2RlbGV0ZV9jdXN0b21maWVsZCddKSkgewogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydkZWxldGVfY3VzdG9tZmllbGQnXSBhcyAkayA9PiAkdikgewogICAgICAgICAgICAgICAgaWYgKCR2ICE9ICdkZWxldGUnKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBza2lwIGlmIG5vdCBkZWxldGluZyBhbnl0aGluZwoKICAgICAgICAgICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGl0ZW1faWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOwogICAgICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQsICRrKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgoKICAgICAgICAkbW9kLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2NhdGVnb3J5dGFiJywgJHJwYXJtcyk7CiAgICB9Cn0gZWxzZSB7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjYXRpZCkpOwoKICAgIGlmICgkcm93KSB7CiAgICAgICAgJG5hbWUgPSAkcm93WydjYXRlZ29yeV9uYW1lJ107CiAgICAgICAgJGFsaWFzID0gJHJvd1snY2F0ZWdvcnlfYWxpYXMnXTsKICAgICAgICAkdXNlcmdyb3VwID0gJHJvd1sndXNlcmdyb3VwJ107CiAgICAgICAgJHBhcmVudGlkID0gJHJvd1sncGFyZW50X2lkJ107CiAgICB9Cn0KCgojRGlzcGxheSB0ZW1wbGF0ZQokbW9kLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJG1vZC0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkbW9kLT5DcmVhdGVGb3JtRW5kKCkpOwokbW9kLT5zbWFydHktPmFzc2lnbignbmFtZXRleHQnLCBnZW5lcmF0b3IoKS0+TGFuZygnbmFtZScpKTsKJG1vZC0+c21hcnR5LT5hc3NpZ24oJ2FsaWFzdGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdhbGlhcycpKTsKCiRtb2QtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCAyMCwgMjU1KSk7CiRtb2QtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGFsaWFzJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsaWFzJywgJGFsaWFzLCAyMCwgMjU1KSk7CgokZ3JvdXBvcHMgPSBjbXNtcygpLT5HZXRHcm91cE9wZXJhdGlvbnMoKTsKJGdyb3VwbGlzdCA9ICRncm91cG9wcy0+TG9hZEdyb3VwcygpOwokdXNlcmdyb3VwcyA9IGV4dGVuZGVkX3Rvb2xzX29wdHM6Om9iamVjdF90b19oYXNoKCRncm91cGxpc3QsICduYW1lJywgJ2lkJyk7CgokdXNlcmdyb3VwcyA9IGFycmF5X21lcmdlKGFycmF5KGxhbmcoJ25vbmUnKSA9PiAnJyksICR1c2VyZ3JvdXBzKTsKJG1vZC0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dXNlcmdyb3VwJywgJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd1c2VyZ3JvdXAnLCAkdXNlcmdyb3VwcywgLTEsICR1c2VyZ3JvdXApKTsKCiRtb2QtPnNtYXJ0eS0+YXNzaWduKCdwYXJlbnRkcm9wZG93bicsIGdlbmVyYXRvcl90b29sczo6Y3JlYXRlX3BhcmVudF9kcm9wZG93bigkdGhpcywgJGlkLCAkY2F0aWQsICRwYXJlbnRpZCkpOwokbW9kLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywgJG1vZC0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnY2F0aWQnLCAkY2F0aWQpIC4KICAgICAgICAkbW9kLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdvcmlnbmFtZScsICRuYW1lKSk7CiRtb2QtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokbW9kLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJG1vZC0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKJG1vZC0+c21hcnR5LT5hc3NpZ24oJ3BhcmVudHRleHQnLCBsYW5nKCdwYXJlbnQnKSk7CiRtb2QtPnNtYXJ0eS0+YXNzaWduKCd1c2VyZ3JvdXB0ZXh0JywgbGFuZygnZ3JvdXAnKSk7CgokY3VzdG9tX2ZsZHNfb2JqID0gJGZpbHRlcnMtPmdlbmVyYXRlKCRpdGVtX2lkLCAkcGFyYW1zKTsKaWYgKGlzc2V0KCRjdXN0b21fZmxkc19vYmopICYmIGNvdW50KCRjdXN0b21fZmxkc19vYmopID4gMCkgewogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXN0b21fZmllbGRkZWYnLCAkY3VzdG9tX2ZsZHNfb2JqKTsKfQoKCmVjaG8gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2F0ZWdvcnkudHBsJyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsNCiAgICAkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnRhYicpOw0KICAgICRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZmllbGRkZWZ0YWInKTsNCn0NCg0KJGRiID0gJG1vZC0+R2V0RGIoKTsNCiRmaWVsZGRlZl9pZCA9IG51bGw7DQokbmFtZSA9ICcnOw0KJGFsaWFzID0gJyc7DQokaGVscCA9ICcnOw0KJHR5cGUgPSAnJzsNCiRyZXF1aXJlZCA9IDA7DQokZnJvbnRlbmQgPSAxOw0KJGVkaXR2aWV3ID0gMDsNCiRmaWx0ZXJfZnJvbnRlbmQgPSAwOw0KJGZpbHRlcl9hZG1pbiA9IDA7DQokc2VhcmNoYWJsZSA9IDA7DQokZXh0cmEgPSAnJzsNCiRzZWN0aW9uPSAnaXRlbXMnOw0KJGVycm9ycyA9IGFycmF5KCk7DQoNCi8vIGlmICRwYXJhbXNbJ2ZpZWxkZGVmX2lkJ10gaXMgc3VwcGxpZWQgYW5kIGV4aXN0cywgcG9wdWxhdGUgd2l0aCB2YWx1ZXMgZnJvbSBkYXRhYmFzZQ0KDQppZiAoaXNzZXQoJHBhcmFtc1snZmllbGRkZWZfaWQnXSkpIHsNCiAgICAkZmllbGRkZWZfaWQgPSAoaW50KSAkcGFyYW1zWydmaWVsZGRlZl9pZCddOw0KICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkZmllbGRkZWZfaWQpKTsNCg0KICAgIGlmICgkcm93KSB7DQogICAgICAgICRuYW1lID0gJHJvd1snbmFtZSddOw0KICAgICAgICAkYWxpYXMgPSAkcm93WydhbGlhcyddOw0KICAgICAgICAkaGVscCA9ICRyb3dbJ2hlbHAnXTsNCiAgICAgICAgJHR5cGUgPSAkcm93Wyd0eXBlJ107DQogICAgICAgICRyZXF1aXJlZCA9ICRyb3dbJ3JlcXVpcmVkJ107DQogICAgICAgICRmcm9udGVuZCA9ICRyb3dbJ2Zyb250ZW5kJ107DQogICAgICAgICRlZGl0dmlldyA9ICRyb3dbJ2VkaXR2aWV3J107DQogICAgICAgICRmaWx0ZXJfZnJvbnRlbmQgPSAkcm93WydmaWx0ZXJfZnJvbnRlbmQnXTsNCiAgICAgICAgJGZpbHRlcl9hZG1pbiA9ICRyb3dbJ2ZpbHRlcl9hZG1pbiddOw0KICAgICAgICAkc2VhcmNoYWJsZSA9ICRyb3dbJ3NlYXJjaGFibGUnXTsNCiAgICAgICAgJGV4dHJhID0gJHJvd1snZXh0cmEnXTsNCiAgICAgICAgJHNlY3Rpb24gPSAkcm93WydzZWN0aW9uJ107DQogICAgfSBlbHNlIHsNCiAgICAgICAgJGZpZWxkZGVmX2lkID0gbnVsbDsNCiAgICB9DQp9DQoNCi8vIGhhbmRsZSBzdWJtaXQgb3IgYXBwbHkNCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkpIHsNCiAgICAkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsNCiAgICAkYWxpYXMgPSAkcGFyYW1zWydhbGlhcyddOw0KICAgICRoZWxwID0gJHBhcmFtc1snaGVscCddOw0KICAgICR0eXBlID0gJHBhcmFtc1sndHlwZSddOw0KICAgICRyZXF1aXJlZCA9IChpc3NldCgkcGFyYW1zWydyZXF1aXJlZCddKSA/IDEgOiAwKTsNCiAgICAkZnJvbnRlbmQgPSAoaXNzZXQoJHBhcmFtc1snZnJvbnRlbmQnXSkgPyAxIDogMCk7DQogICAgJGVkaXR2aWV3ID0gKGlzc2V0KCRwYXJhbXNbJ2VkaXR2aWV3J10pID8gMSA6IDApOw0KICAgICRmaWx0ZXJfZnJvbnRlbmQgPSAoaXNzZXQoJHBhcmFtc1snZmlsdGVyX2Zyb250ZW5kJ10pID8gMSA6IDApOw0KICAgICRmaWx0ZXJfYWRtaW4gPSAoaXNzZXQoJHBhcmFtc1snZmlsdGVyX2FkbWluJ10pID8gMSA6IDApOw0KICAgICRzZWFyY2hhYmxlID0gKGlzc2V0KCRwYXJhbXNbJ3NlYXJjaGFibGUnXSkgPyAxIDogMCk7DQogICAgJGV4dHJhID0gJHBhcmFtc1snZXh0cmEnXTsNCiAgICAkc2VjdGlvbiA9ICRwYXJhbXNbJ3NlY3Rpb24nXTsNCg0KICAgIC8vIGNoZWNrIG5hbWUNCiAgICBpZiAoJG5hbWUgPT0gJycpIHsNCiAgICAgICAgJGVycm9yc1tdID0gZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmX25hbWVfZW1wdHknKTsNCiAgICB9DQoNCiAgICBpZiAoaXNzZXQoJGZpZWxkZGVmX2lkKSkgew0KICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBXSEVSRSBuYW1lID0gPyBBTkQgZmllbGRkZWZfaWQgIT0gPyc7DQogICAgICAgICRleGlzdHMgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRuYW1lLCAkZmllbGRkZWZfaWQpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBXSEVSRSBuYW1lID0gPyc7DQogICAgICAgICRleGlzdHMgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRuYW1lKSk7DQogICAgfQ0KDQogICAgaWYgKCRleGlzdHMpIHsNCiAgICAgICAgJGVycm9yc1tdID0gZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmX25hbWVfZXhpc3RzJyk7DQogICAgfQ0KDQogICAgLy8gZ2VuZXJhdGUgYWxpYXMgaWYgbm90IHN1cHBsaWVkDQogICAgaWYgKCRhbGlhcyA9PSAnJykgew0KICAgICAgICAkYWxpYXMgPSBnZW5lcmF0b3JfdG9vbHM6OmdlbmVyYXRlX2FsaWFzKCRuYW1lKTsNCiAgICB9DQoNCiAgICAvLyBjaGVjayBhbGlhcw0KICAgIGlmICghZ2VuZXJhdG9yX3Rvb2xzOjppc192YWxpZF9hbGlhcygkYWxpYXMpKSB7DQogICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdhbGlhc19pbnZhbGlkJyk7DQogICAgfQ0KDQogICAgaWYgKGVtcHR5KCRlcnJvcnMpKSB7DQogICAgICAgIC8vIHVwZGF0ZQ0KICAgICAgICBpZiAoaXNzZXQoJGZpZWxkZGVmX2lkKSkgew0KICAgICAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBuYW1lID0gPywgYWxpYXMgPSA/LCBoZWxwID0gPywgdHlwZSA9ID8sIHJlcXVpcmVkID0gPywgZnJvbnRlbmQgPSA/LCBlZGl0dmlldyA9ID8sIGZpbHRlcl9mcm9udGVuZCA9ID8sIGZpbHRlcl9hZG1pbiA9ID8sIHNlYXJjaGFibGUgPSA/LCBleHRyYSA9ID8sIHNlY3Rpb24gPSA/IFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5hbWUsICRhbGlhcywgJGhlbHAsICR0eXBlLCAkcmVxdWlyZWQsICRmcm9udGVuZCwgJGVkaXR2aWV3LCAkZmlsdGVyX2Zyb250ZW5kLCAkZmlsdGVyX2FkbWluLCAkc2VhcmNoYWJsZSwgJGV4dHJhLCAkc2VjdGlvbiwgJGZpZWxkZGVmX2lkKSk7DQogICAgICAgICAgICBpZiAoISRyZXN1bHQpDQogICAgICAgICAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgICAgICAgICAgLy8gaW5zZXJ0DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkcG9zaXRpb24gPSAkZGItPkdldE9uZSgnU0VMRUNUIG1heChwb3NpdGlvbikgKyAxIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZicpOw0KDQogICAgICAgICAgICBpZiAoJHBvc2l0aW9uID09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAkcG9zaXRpb24gPSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiAobmFtZSwgYWxpYXMsIGhlbHAsIHR5cGUsIHBvc2l0aW9uLCByZXF1aXJlZCwgZnJvbnRlbmQsIGVkaXR2aWV3LCBmaWx0ZXJfZnJvbnRlbmQsIGZpbHRlcl9hZG1pbiwgc2VhcmNoYWJsZSwgZXh0cmEsIHNlY3Rpb24pIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPyknOw0KICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuYW1lLCAkYWxpYXMsICRoZWxwLCAkdHlwZSwgJHBvc2l0aW9uLCAkcmVxdWlyZWQsICRmcm9udGVuZCwgJGVkaXR2aWV3LCAkZmlsdGVyX2Zyb250ZW5kLCAkYWRtaW5fYWRtaW4sICRzZWFyY2hhYmxlLCAkZXh0cmEsICRzZWN0aW9uKSk7DQogICAgICAgICAgICBpZiAoISRyZXN1bHQpDQogICAgICAgICAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgICAgICAgICAgLy8gcG9wdWxhdGUgJGZpZWxkZGVmX2lkIGZvciBuZXdseSBpbnNlcnRlZCBpdGVtDQogICAgICAgICAgICAkZmllbGRkZWZfaWQgPSAkZGItPkluc2VydF9JRCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCFpc3NldCgkcGFyYW1zWydhcHBseSddKSkgew0KICAgICAgICAgICAgJG1vZC0+UmVkaXJlY3RUb1RhYigkaWQsICRzZWN0aW9uLCBhcnJheSgpLCAnYWRtaW5fZmllbGRzJyk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBlY2hvICRtb2QtPlNob3dNZXNzYWdlKGdlbmVyYXRvcigpLT5MYW5nKCdjaGFuZ2Vzc2F2ZWQnKSk7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCi8vIGRpc3BsYXkgZXJyb3JzIGlmIHRoZXJlIGFyZSBhbnkNCmlmICghZW1wdHkoJGVycm9ycykpIHsNCiAgICBlY2hvICRtb2QtPlNob3dFcnJvcnMoJGVycm9ycyk7DQp9DQoNCiRzbWFydHktPmFzc2lnbigndGl0bGUnLCAoaXNzZXQoJGZpZWxkZGVmX2lkKSA/IGdlbmVyYXRvcigpLT5MYW5nKCdlZGl0ZmllbGRkZWYnKSA6IGdlbmVyYXRvcigpLT5MYW5nKCdhZGRmaWVsZGRlZicpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICRtb2QtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICRtb2QtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiRzbWFydHktPmFzc2lnbignbmFtZXRleHQnLCBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMjAsIDI1NSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2FsaWFzJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2FsaWFzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGlhcycsICRtb2QtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbGlhcycsICRhbGlhcywgMjAsIDI1NSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2hlbHB0ZXh0JywgZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmX2hlbHAnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0aGVscCcsICRtb2QtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoZWxwJywgJGhlbHAsIDEwMCwgMjU1KSk7DQoNCiRzbWFydHktPmFzc2lnbigndHlwZXRleHQnLCBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfdHlwZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXR0eXBlJywgJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0eXBlJywgYXJyYXlfZmxpcChnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZF90eXBlcygkbW9kKSksIC0xLCAkdHlwZSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3VzZXJ2aWV3dGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9yZXF1aXJlZCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlcnZpZXcnLCAkbW9kLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ3JlcXVpcmVkJywgMSwgJHJlcXVpcmVkKSk7DQoNCiRzbWFydHktPmFzc2lnbignZnJvbnRlbmRfdGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9mcm9udGVuZCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZnJvbnRlbmQnLCAkbW9kLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ2Zyb250ZW5kJywgMSwgJGZyb250ZW5kKSk7DQoNCiRzbWFydHktPmFzc2lnbignZWRpdHZpZXdfdGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9lZGl0dmlldycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZWRpdHZpZXcnLCAkbW9kLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ2VkaXR2aWV3JywgMSwgJGVkaXR2aWV3KSk7DQoNCiRzbWFydHktPmFzc2lnbignZmlsdGVyX2Zyb250ZW5kX3RleHQnLCBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfZmlsdGVyX2Zyb250ZW5kJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWx0ZXJfZnJvbnRlbmQnLCAkbW9kLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ2ZpbHRlcl9mcm9udGVuZCcsIDEsICRmaWx0ZXJfZnJvbnRlbmQpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJfYWRtaW5fdGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9maWx0ZXJfYWRtaW4nKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9hZG1pbicsICRtb2QtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAnZmlsdGVyX2FkbWluJywgMSwgJGZpbHRlcl9hZG1pbikpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3NlYXJjaGFibGVfdGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9zZWFyY2hhYmxlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zZWFyY2hhYmxlJywgJG1vZC0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICdzZWFyY2hhYmxlJywgMSwgJHNlYXJjaGFibGUpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdleHRyYScsIGdlbmVyYXRvcigpLT5MYW5nKCdleHRyYScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZXh0cmEnLCAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZXh0cmEnLCAkZXh0cmEsIDEwMCwgMjU1KSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc2VjdGlvbicsICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnc2VjdGlvbicsIGFycmF5X2ZsaXAoZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfc2VjdGlvbnMoJG1vZCkpLCAtMSwgJHNlY3Rpb24pKTsNCg0KaWYgKGlzc2V0KCRmaWVsZGRlZl9pZCkpIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkZGVmX2lkJywgJG1vZC0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZmllbGRkZWZfaWQnLCAkZmllbGRkZWZfaWQpKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOw0KDQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGZpZWxkZGVmLnRwbCcpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_edititem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpDQogICAgcmV0dXJuOw0KDQoNCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsNCiAgICAkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpdGVtdGFiJyk7DQogICAgJG1vZC0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsNCn0NCg0KJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCg0KJGVycm9ycyA9IGFycmF5KCk7DQokaXRlbV9pZCA9IG51bGw7DQokdGl0bGUgPSAnJzsNCiRhbGlhcyA9ICcnOw0KJHVybCA9ICcnOw0KJGFjdGl2ZSA9IDE7DQokdXNlZGNhdGVnb3J5ID0gJyc7DQokZGF0ZSA9IHRpbWUoKTsNCiRkYXRlX2VuZCA9IG51bGw7DQokcmVjdXJfd2Vla2RheXMgPSBhcnJheSgpOw0KJHJlY3VyX3BlcmlvZCA9IG51bGw7DQokcmVjdXJzaXZlID0gJyc7DQokaW5saW5lID0gJyc7DQoNCg0KLy8gaWYgJHBhcmFtc1snaXRlbV9pZCddIGlzIHN1cHBsaWVkIGFuZCBleGlzdHMsIHBvcHVsYXRlIHdpdGggdmFsdWVzIGZyb20gZGF0YWJhc2UNCmlmIChpc3NldCgkcGFyYW1zWydpdGVtX2lkJ10pKSB7DQogICAgJGl0ZW1faWQgPSAoaW50KSAkcGFyYW1zWydpdGVtX2lkJ107DQogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFdIRVJFIGl0ZW1faWQgPSA/JzsNCiAgICAkcmVzdWx0ID0gJiAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCkpOw0KICAgIGlmICghJHJlc3VsdCkNCiAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgIGlmICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDApIHsNCiAgICAgICAgJGVycm9yc1tdID0gZ2VuZXJhdG9yKCktPkxhbmcoJ25vc3VjaGlkJywgYXJyYXkoJGl0ZW1faWQpKTsNCiAgICAgICAgJGl0ZW1faWQgPSBudWxsOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRyb3cgPSAkcmVzdWx0LT5GZXRjaFJvdygpOw0KICAgICAgICAkdGl0bGUgPSAkcm93Wyd0aXRsZSddOw0KICAgICAgICAkYWxpYXMgPSAkcm93WydhbGlhcyddOw0KICAgICAgICAkZGF0ZSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkcm93WydpdGVtX2RhdGUnXSk7DQogICAgICAgICRkYXRlX2VuZCA9ICRkYi0+VW5peFRpbWVTdGFtcCgkcm93WydpdGVtX2RhdGVfZW5kJ10pOw0KICAgICAgICAkdXJsID0gJHJvd1sndXJsJ107DQogICAgICAgICRyZWN1cnNpdmUgPSAkcm93WydyZWN1cnNpdmUnXTsNCiAgICAgICAgJGFjdGl2ZSA9ICRyb3dbJ2FjdGl2ZSddOw0KICAgICAgICAkdXNlZGNhdGVnb3J5ID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsNCg0KICAgICAgICAvL2V4dHJhIG9wdGlvbnMgbG9hZA0KICAgICAgICAkcmVjdXJfd2Vla2RheXMgPSAkcmVjdXJzaXZlX29wdGlvbiA9ICRkYi0+R2V0Q29sKCdTRUxFQ1QgdmFsdWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW1fZXh0cmEgV0hFUkUgaXRlbV9pZCA9ID8nLCBhcnJheSgkaXRlbV9pZCkpOw0KICAgIH0NCn0NCg0KLy8gZ2V0IGNhdGVnb3J5IGxpc3QNCiR3aGVyZSA9IGFycmF5KCk7DQokcGFyYW1zYXJyYXkgPSBhcnJheSgpOw0KJGNhdGVnb3J5bG9uZ25hbWVsaXN0ID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJpdmF0ZV9jYXRlZ29yaWVzKCRtb2QpOw0KaWYgKGVtcHR5KCRjYXRlZ29yeWxvbmduYW1lbGlzdCkgPT0gZmFsc2UpIHsNCg0KICAgICR3aGVyZXN0YXRlbWVudCA9IGFycmF5KCk7DQogICAgZm9yZWFjaCAoJGNhdGVnb3J5bG9uZ25hbWVsaXN0IGFzICRsb25uYW1lKSB7DQogICAgICAgICR3aGVyZXN0YXRlbWVudFtdID0gJ2xvbmdfbmFtZSBMSUtFICA/JzsNCiAgICAgICAgJHBhcmFtc2FycmF5W10gPSAkbG9ubmFtZSAuICclJzsNCiAgICB9DQogICAgJHdoZXJlW10gPSAnKCcgLiBpbXBsb2RlKCcgT1IgJywgJHdoZXJlc3RhdGVtZW50KSAuICcpJzsNCn0NCiRjYXRlZ29yeWxpc3QgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jYXRlZ29yeV9saXN0KCRtb2QsICR3aGVyZSwgJHBhcmFtc2FycmF5LCBmYWxzZSk7DQokY2F0ZWdvcnlsaXN0ID0gYXJyYXlfc2xpY2UoJGNhdGVnb3J5bGlzdCwgMSk7DQokY2F0ZWdvcnlsaXN0ID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6dG9faGFzaCgkY2F0ZWdvcnlsaXN0LCAnbG9uZ19uYW1lJywgJ2NhdGVnb3J5X2lkJyk7DQoNCi8vIGdldCB0aGUgY3VzdG9tIGZpZWxkcw0KJGZpbHRlcnMgPSBuZXcgZ2VuZXJhdG9yX2ZpbHRlcnMoJGlkLCAkbW9kLCAnYWRtaW4nKTsNCiRjdXN0b21fZmxkcyA9ICRmaWx0ZXJzLT5wcm9jZXNzX2N1c3RvbV9maWVsZHMoKTsNCg0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQovLyBoYW5kbGUgc3VibWl0IG9yIGFwcGx5DQppZiAoaXNzZXQoJHBhcmFtc1sncHJldmlldyddKSkgew0KICAgIC8vIHNhdmUgZGF0YSBmb3IgcHJldmlldy4NCiAgICB1bnNldCgkcGFyYW1zWydhcHBseSddKTsNCiAgICB1bnNldCgkcGFyYW1zWydwcmV2aWV3J10pOw0KICAgIHVuc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKTsNCiAgICB1bnNldCgkcGFyYW1zWydjYW5jZWwnXSk7DQogICAgdW5zZXQoJHBhcmFtc1snYWpheCddKTsNCiAgICB1bnNldCgkcGFyYW1zWydjb3B5J10pOw0KDQogICAgJHRtcGZuYW1lID0gdGVtcG5hbShUTVBfQ0FDSEVfTE9DQVRJT04sICR0aGlzLT5HZXROYW1lKCkgLiAnX3ByZXZpZXcnKTsNCiAgICBmaWxlX3B1dF9jb250ZW50cygkdG1wZm5hbWUsIHNlcmlhbGl6ZSgkcGFyYW1zKSk7DQoNCiAgICAkZGV0YWlsX3JldHVybmlkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgLTEpOw0KICAgIGlmICgkZGV0YWlsX3JldHVybmlkIDw9IDApIHsNCiAgICAgICAgLy8gbm93IGdldCB0aGUgZGVmYXVsdCBjb250ZW50IGlkLg0KICAgICAgICAkZGV0YWlsX3JldHVybmlkID0gQ29udGVudE9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5HZXREZWZhdWx0Q29udGVudCgpOw0KICAgIH0NCiAgICBpZiAoaXNzZXQoJHBhcmFtc1sncHJldmlld3BhZ2UnXSkgJiYgKGludCkgJHBhcmFtc1sncHJldmlld3BhZ2UnXSA+IDApIHsNCiAgICAgICAgJGRldGFpbF9yZXR1cm5pZCA9IChpbnQpICRwYXJhbXNbJ3ByZXZpZXdwYWdlJ107DQogICAgfQ0KDQogICAgJF9TRVNTSU9OWydpdGVtX3ByZXZpZXcnXSA9IGFycmF5KCdmbmFtZScgPT4gYmFzZW5hbWUoJHRtcGZuYW1lKSwgJ2NoZWNrc3VtJyA9PiBtZDVfZmlsZSgkdG1wZm5hbWUpKTsNCiAgICAkdHBhcm1zID0gYXJyYXkoJ3ByZXZpZXcnID0+IG1kNShzZXJpYWxpemUoJF9TRVNTSU9OWydpdGVtX3ByZXZpZXcnXSkpKTsNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkpIHsNCiAgICAgICAgJHRwYXJtc1snZGV0YWlsdGVtcGxhdGUnXSA9IHRyaW0oJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSk7DQogICAgfQ0KICAgICR1cmwgPSAkdGhpcy0+Y3JlYXRlX3VybCgnX3ByZXZpZXdfJywgJ2RldGFpbCcsICRkZXRhaWxfcmV0dXJuaWQsICR0cGFybXMsIFRSVUUpOw0KDQogICAgJHJlc3BvbnNlID0gJzw/eG1sIHZlcnNpb249IjEuMCI/Pic7DQogICAgJHJlc3BvbnNlIC49ICc8RWRpdEFydGljbGU+JzsNCiAgICBpZiAoaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gJycpIHsNCiAgICAgICAgJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+RXJyb3I8L1Jlc3BvbnNlPic7DQogICAgICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJyAuICRlcnJvciAuICddXT48L0RldGFpbHM+JzsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5TdWNjZXNzPC9SZXNwb25zZT4nOw0KICAgICAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycgLiAkdXJsIC4gJ11dPjwvRGV0YWlscz4nOw0KICAgIH0NCiAgICAkcmVzcG9uc2UgLj0gJzwvRWRpdEFydGljbGU+JzsNCg0KICAgICRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsNCiAgICBmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgew0KICAgICAgICBvYl9lbmRfY2xlYW4oKTsNCiAgICB9DQogICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQveG1sJyk7DQogICAgZWNobyAkcmVzcG9uc2U7DQogICAgZXhpdDsNCn0gZWxzZSBpZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2NvcHknXSkpIHsNCg0KICAgIGlmIChpc3NldCgkcGFyYW1zWyJjb3B5Il0pKSB7DQogICAgICAgICRpdGVtX2lkID0gbnVsbDsNCiAgICB9DQoNCiAgICAkdGl0bGUgPSAkcGFyYW1zWyd0aXRsZSddOw0KICAgIGlmIChpc3NldCgkcGFyYW1zWydkYXRlX01vbnRoJ10pKSB7DQogICAgICAgICRkYXRlID0gbWt0aW1lKCRwYXJhbXNbJ2RhdGVfSG91ciddLCAkcGFyYW1zWydkYXRlX01pbnV0ZSddLCAkcGFyYW1zWydkYXRlX1NlY29uZCddLCAkcGFyYW1zWydkYXRlX01vbnRoJ10sICRwYXJhbXNbJ2RhdGVfRGF5J10sICRwYXJhbXNbJ2RhdGVfWWVhciddKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGVfZW5kX01vbnRoJ10pKSB7DQogICAgICAgICRkYXRlX2VuZCA9IG1rdGltZSgkcGFyYW1zWydkYXRlX2VuZF9Ib3VyJ10sICRwYXJhbXNbJ2RhdGVfZW5kX01pbnV0ZSddLCAkcGFyYW1zWydkYXRlX2VuZF9TZWNvbmQnXSwgJHBhcmFtc1snZGF0ZV9lbmRfTW9udGgnXSwgJHBhcmFtc1snZGF0ZV9lbmRfRGF5J10sICRwYXJhbXNbJ2RhdGVfZW5kX1llYXInXSk7DQogICAgfQ0KDQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1sicmVjdXJfcGVyaW9kIl0pKSB7DQogICAgICAgICRyZWN1cnNpdmUgPSAkcGFyYW1zWyJyZWN1cl9wZXJpb2QiXTsNCiAgICB9DQoNCg0KICAgIC8qIGFsaWFzIGNyZWF0ZSAqLw0KICAgIGlmICghJGl0ZW1faWQgfHwgKCRpdGVtX2lkICYmICFpc3NldCgkcGFyYW1zWyJhbGlhcyJdKSkpDQogICAgICAgICRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1sndGl0bGUnXSwgdHJ1ZSk7DQogICAgZWxzZWlmICghaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgJiYgJGl0ZW1faWQpDQogICAgICAgICRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1sndGl0bGUnXSwgdHJ1ZSk7DQogICAgZWxzZWlmIChpc3NldCgkcGFyYW1zWyJhbGlhcyJdKSkNCiAgICAgICAgJGFsaWFzID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWydhbGlhcyddLCB0cnVlKTsNCiAgICBlbHNlDQogICAgICAgICRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1sndGl0bGUnXSwgdHJ1ZSk7DQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1sidXJsIl0pKQ0KICAgICAgICAkdXJsID0gJHBhcmFtc1sidXJsIl07DQoNCg0KICAgICRhY3RpdmUgPSAoaXNzZXQoJHBhcmFtc1snYWN0aXZlJ10pID8gMSA6IDApOw0KICAgICR1c2VkY2F0ZWdvcnkgPSAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkgPyAkcGFyYW1zWydjYXRlZ29yeSddIDogJycpOw0KDQogICAgLy8gY2hlY2sgdGl0bGUNCiAgICBpZiAoJHRpdGxlID09ICcnICYmICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGVfZWRpdCcpKSB7DQogICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdpdGVtX3RpdGxlX2VtcHR5Jyk7DQoNCiAgICAgICAgLy8gY2hlY2sgY3VzdG9tIGZpZWxkcy4uLiB0aGVzZSBsb29rIGxpa2UgbTFfY3VzdG9tZmllbGRbNV0NCiAgICB9IGVsc2VpZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsNCiAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7DQoNCiAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gJ3NlbGVjdF9kZWZhdWx0Jykgew0KICAgICAgICAgICAgICAgICRwYXJhbXNbJ2N1c3RvbWZpZWxkJ11bJGZsZGlkXSA9ICcnOw0KICAgICAgICAgICAgICAgICR2YWx1ZSA9ICcnOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyByZXF1aXJlZCBmaWVsZHMNCiAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gJycgJiYgJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ3JlcXVpcmVkJ10pIHsNCiAgICAgICAgICAgICAgICBpZiAoJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ2VkaXR2aWV3J10gJiYgIWlzc2V0KCRwYXJhbXNbIml0ZW1faWQiXSkpDQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdyZXF1aXJlZF9maWVsZF9lbXB0eScpIC4gJyAoJyAuICRjdXN0b21fZmxkc1skZmxkaWRdWyduYW1lJ10gLiAnKSc7DQogICAgICAgICAgICAgICAgYnJlYWs7IC8vIG9ubHkgZGlzcGxheSBvbmUgZXJyb3IgbWVzc2FnZSBhdCBhIHRpbWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gbWF4IGxlbmd0aA0KICAgICAgICAgICAgaWYgKGlzc2V0KCRjdXN0b21fZmxkc1skZmxkaWRdWydtYXhfbGVuZ3RoJ10pICYmIG1iX3N0cmxlbigkdmFsdWUpID4gJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ21heF9sZW5ndGgnXSkgew0KICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCd0b29fbG9uZycpIC4gJyAoJyAuICRjdXN0b21fZmxkc1skZmxkaWRdWyduYW1lJ10gLiAnKSc7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vIG9wdGlvbnMNCiAgICAgICAgICAgIGlmICgkdmFsdWUgIT0gJycgJiYgaXNzZXQoJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ29wdGlvbnMnXSkgJiYgIWFycmF5X2tleV9leGlzdHMoJHZhbHVlLCAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnb3B0aW9ucyddKSkgew0KICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdpbnZhbGlkJykgLiAnICgnIC4gJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ25hbWUnXSAuICcpJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGlmIChlbXB0eSgkZXJyb3JzKSAmJiAkdXJsICE9ICcnKSB7DQogICAgICAgIC8vIGNoZWNrIGZvciBzdGFydGluZyBvciBlbmRpbmcgc2xhc2hlcw0KICAgICAgICBpZiAoc3RhcnRzd2l0aCgkdXJsLCAnLycpIHx8IGVuZHN3aXRoKCR1cmwsICcvJykpIHsNCiAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdlcnJvcl9pbnZhbGlkdXJsJyk7DQogICAgICAgIH0NCg0KICAgICAgICAkdXJsID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdXJsLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIC8qaWYgKGVtcHR5KCRlcnJvcnMpKSB7DQogICAgICAgICAgICAvLyBjaGVjayBmb3IgaW52YWxpZCBjaGFycy4NCiAgICAgICAgICAgICR0cmFuc2xhdGVkID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdXJsLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgICAgICBpZiAoc3RydG9sb3dlcigkdHJhbnNsYXRlZCkgIT0gc3RydG9sb3dlcigkdXJsKSkgew0KICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCdlcnJvcl9pbnZhbGlkdXJsJyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0qLw0KICAgICAgICBpZiAoZW1wdHkoJGVycm9ycykpIHsNCiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGlzIHVybCBpc24ndCB0YWtlbi4NCiAgICAgICAgICAgICR1cmwgPSB0cmltKCR1cmwsICIgL1x0XHJcblwwXHgwOCIpOw0KICAgICAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmxvYWRfcm91dGVzKCk7DQogICAgICAgICAgICAkcm91dGUgPSBjbXNfcm91dGVfbWFuYWdlcjo6ZmluZF9tYXRjaCgkdXJsKTsNCiAgICAgICAgICAgIGlmICgkcm91dGUpIHsNCiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGl0ZW1faWQpKSB7DQogICAgICAgICAgICAgICAgICAgICRkZmx0cyA9ICRyb3V0ZS0+Z2V0X2RlZmF1bHRzKCk7DQogICAgICAgICAgICAgICAgICAgIGlmICgkcm91dGUtPmlzX2NvbnRlbnQoKSB8fA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb3V0ZS0+Z2V0X2Rlc3QoKSAhPSAkbW9kLT5HZXROYW1lKCkgfHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNzZXQoJGRmbHRzWydpdGVtX2lkJ10pIHx8DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRmbHRzWydpdGVtX2lkJ10gIT0gJGl0ZW1faWQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlJ3JlIGFkZGluZyBhbiBhcnRpY2xlLCBub3QgZWRpdGluZy4uLiBhbnkgbWF0Y2hpbmcgcm91dGUgaXMgYmFkLg0KICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9yc1tdID0gZ2VuZXJhdG9yKCktPkxhbmcoJ2Vycm9yX2ludmFsaWR1cmwnKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vJGVycm9yc1tdID0gZ2VuZXJhdG9yKCktPkxhbmcoJ2Vycm9yX2ludmFsaWR1cmwnKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIHRpdGxlIGFuZCByZXF1aXJlZCBmaWVsZHMgaGF2ZSB2YWx1ZXMsIGxldCdzIGNvbnRpbnVlDQogICAgaWYgKGVtcHR5KCRlcnJvcnMpKSB7DQogICAgICAgIC8vIGsgb3IgdXBkYXRlIHRhYmxlIGl0ZW1zDQogICAgICAgIGlmICghaXNzZXQoJGl0ZW1faWQpKSB7DQogICAgICAgICAgICAvLyBmaW5kIHBvc2l0aW9uIGJlZm9yZSBpbnNlcnRpbmcgbmV3IGl0ZW0NCiAgICAgICAgICAgICRwb3NpdGlvbiA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgbWF4KHBvc2l0aW9uKSArIDEgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nKTsNCg0KICAgICAgICAgICAgaWYgKCRwb3NpdGlvbiA9PSBudWxsKSB7DQogICAgICAgICAgICAgICAgJHBvc2l0aW9uID0gMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gaW5zZXJ0IGl0ZW0NCiAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gKHRpdGxlLCBhbGlhcywgdXJsLCByZWN1cnNpdmUsIGNhdGVnb3J5X2lkLCBwb3NpdGlvbiwgYWN0aXZlLCBpdGVtX2RhdGUsIGl0ZW1fZGF0ZV9lbmQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlICkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/ICwgPywgPywgIE5PVygpLCBOT1coKSknOw0KICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aXRsZSwgJGFsaWFzLCAkdXJsLCAkcmVjdXJzaXZlLCAkdXNlZGNhdGVnb3J5LCAkcG9zaXRpb24sICRhY3RpdmUsIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZSksICInIiksIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV9lbmQpLCAiJyIpKSk7DQogICAgICAgICAgICBpZiAoISRyZXN1bHQpDQogICAgICAgICAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgICAgICAgICAgLy8gcG9wdWxhdGUgJGl0ZW1faWQgZm9yIG5ld2x5IGluc2VydGVkIGl0ZW0NCiAgICAgICAgICAgICRpdGVtX2lkID0gJGRiLT5JbnNlcnRfSUQoKTsNCiAgICAgICAgICAgICR1cGRhdGUgPSBmYWxzZTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIC8vIHVwZGF0ZSBpdGVtDQogICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBTRVQgdGl0bGUgPSA/LCBhbGlhcyA9ID8sIHVybCA9ID8sIHJlY3Vyc2l2ZSA9ID8sIGNhdGVnb3J5X2lkID0gPywgYWN0aXZlID0gPywgaXRlbV9kYXRlPSA/LCBpdGVtX2RhdGVfZW5kPSA/IFdIRVJFIGl0ZW1faWQgPSA/JzsNCiAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGl0bGUsICRhbGlhcywgJHVybCwgJHJlY3Vyc2l2ZSwgJHVzZWRjYXRlZ29yeSwgJGFjdGl2ZSwgdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlKSwgIiciKSwgdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2VuZCksICInIiksICRpdGVtX2lkKSk7DQogICAgICAgICAgICBpZiAoISRyZXN1bHQpDQogICAgICAgICAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgICAgICAgICAgJHVwZGF0ZSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICAvLyBjcmVhdGUgcmVjdXJzaXZlIHNldHRpbmdzDQogICAgICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZWN1cnNpdmUnKSAmJiAkcmVjdXJzaXZlID09ICdkYWlseScpIHsNCiAgICAgICAgICAgIGlmIChpc3NldCgkcGFyYW1zWyJyZWN1cl93ZWVrZGF5cyJdKSAmJiBpc19hcnJheSgkcGFyYW1zWyJyZWN1cl93ZWVrZGF5cyJdKSkgew0KICAgICAgICAgICAgICAgICRyZWN1cl93ZWVrZGF5cyA9ICRwYXJhbXNbInJlY3VyX3dlZWtkYXlzIl07DQogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9leHRyYSBXSEVSRSBpdGVtX2lkID0gPyc7DQogICAgICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQpKTsNCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcmVjdXJfd2Vla2RheXMgYXMgJGRheSkgew0KICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2V4dHJhIChpdGVtX2lkLHZhbHVlKSBWQUxVRVMgKD8sPyknOw0KICAgICAgICAgICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGRheSkpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC8vIGhhbmRsZSB1cGxvYWRpbmcgb2YgZmlsZSBmaWVsZHMNCiAgICAgICAgaWYgKGVtcHR5KCRjdXN0b21fZmxkcykgPT0gZmFsc2UpIHsNCiAgICAgICAgICAgIGZvcmVhY2ggKCRjdXN0b21fZmxkcyBhcyAkY3VzdG9tX2ZsZCkgew0KICAgICAgICAgICAgICAgIGlmICgkY3VzdG9tX2ZsZFsndHlwZSddICE9ICd1cGxvYWRfZmlsZScpIHsNCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgICAgfQ0KDQoNCiAgICAgICAgICAgICAgICAkZWxlbSA9ICRpZCAuICdjdXN0b21maWVsZF8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ107DQogICAgICAgICAgICAgICAgLy8gJGVsZW0gbG9va3MgbGlrZSBtMV9jdXN0b21maWVsZF8xDQogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgZmlsZSB3YXMgdXBsb2FkZWQgZm9yIHRoaXMgZmllbGQNCiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJF9GSUxFU1skZWxlbV0pICYmICRfRklMRVNbJGVsZW1dWyduYW1lJ10gIT0gJycpIHsNCg0KICAgICAgICAgICAgICAgICAgICBpZiAoJF9GSUxFU1skZWxlbV1bJ2Vycm9yJ10gIT0gMCB8fCAkX0ZJTEVTWyRlbGVtXVsndG1wX25hbWUnXSA9PSAnJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9yc1tdID0gZ2VuZXJhdG9yKCktPkxhbmcoJ2Vycm9yX3VwbG9hZCcpOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gZ2VuZXJhdG9yX3Rvb2xzOjpoYW5kbGVfdXBsb2FkKCRtb2QsICRpdGVtX2lkLCAkZWxlbSwgJGVycm9yLCAkY3VzdG9tX2ZsZFsnYWxsb3cnXSwgJHJvdyk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9yc1tdID0gJGVycm9yOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3B1bGF0ZSAkcGFyYW1zWydjdXN0b21maWVsZCddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyB3b3VsZCBob2xkIHRoZSB1cGxvYWRlZCBmaWxlbmFtZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgaW5zZXJ0ZWQgaW50byB0aGUgZGF0YWJhc2UgYmVsb3cNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydjdXN0b21maWVsZCddWyRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddXSA9ICR2YWx1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC8vIGhhbmRsZSBpbnNlcnRpbmcgY3VzdG9tIGZpZWxkcyBpbnRvIGRhdGFiYXNlDQogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydjdXN0b21maWVsZCddKSkgew0KICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCR2YWx1ZSkpDQogICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSBpbXBsb2RlKCcsJywgJHZhbHVlKTsNCiAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gJyc7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgcm93IGV4aXN0cyB0byBkZXRlcm1pbmUgd2hldGhlciB0byBpbnNlcnQgb3IgdXBkYXRlDQogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCB2YWx1ZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQsICRmbGRpZCkpOw0KDQoNCiAgICAgICAgICAgICAgICAvLyByb3cgZG9lcyBub3QgZXhpc3QNCiAgICAgICAgICAgICAgICBpZiAoJHRtcCA9PSAiIikgew0KICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGluc2VydCByb3cgaWYgZmllbGQgdmFsdWUgaXMgbm90IGVtcHR5DQogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgIT0gIiIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIChpdGVtX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUpIFZBTFVFUyAoPywgPywgPyknOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkLCAkZmxkaWQsICR2YWx1ZSkpOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgLy8gcm93IGFscmVhZHkgZXhpc3RzDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gZGVsZXRlIHJvdyBpZiBmaWVsZCB2YWx1ZSBpcyBlbXB0eQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlID09ICIiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZsZGlkKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgcm93DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgU0VUIHZhbHVlID0gPyBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdmFsdWUsICRpdGVtX2lkLCAkZmxkaWQpKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmICghJHJlc3VsdCkNCiAgICAgICAgICAgICAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICAvLyBkZWxldGUgdmFsdWUgZnJvbSBmaWxlIGZpZWxkDQogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydkZWxldGVfY3VzdG9tZmllbGQnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ10pKSB7DQogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydkZWxldGVfY3VzdG9tZmllbGQnXSBhcyAkayA9PiAkdikgew0KICAgICAgICAgICAgICAgIGlmICgkdiAhPSAnZGVsZXRlJykNCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIHNraXAgaWYgbm90IGRlbGV0aW5nIGFueXRoaW5nDQoNCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGspKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC8vIGFkZGl0aW9uYWwgY2hlY2sgaXMgbmVlZGVkIHNpbmNlIGZpbGUgdXBsb2FkIGNvdWxkIGhhdmUgcHJvZHVjZWQgZXJyb3JzDQogICAgICAgIGlmIChlbXB0eSgkZXJyb3JzKSkgew0KICAgICAgICAgICAgLy8gc2hvdyBzYXZlZCBtZXNzYWdlDQoNCiAgICAgICAgICAgIGlmICgkdXBkYXRlKSB7DQogICAgICAgICAgICAgICAgQCRtb2QtPlNlbmRFdmVudCgnSXRlbUVkaXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCwgJ2NhdGVnb3J5X2lkJyA9PiAkdXNlZGNhdGVnb3J5LCAndGl0bGUnID0+ICR0aXRsZSwgJ2FjdGl2ZScgPT4gJGFjdGl2ZSwgJ2l0ZW1fZGF0ZScgPT4gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlKSwgIiciKSwgJ2l0ZW1fZGF0ZV9lbmQnID0+IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV9lbmQpKSwgJ3JlY3Vyc2l2ZScgPT4gJHJlY3Vyc2l2ZSkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBAJG1vZC0+U2VuZEV2ZW50KCdJdGVtQWRkZWQnLCBhcnJheSgnaXRlbV9pZCcgPT4gJGl0ZW1faWQsICdjYXRlZ29yeV9pZCcgPT4gJHVzZWRjYXRlZ29yeSwgJ3RpdGxlJyA9PiAkdGl0bGUsICdhY3RpdmUnID0+ICRhY3RpdmUsICdpdGVtX2RhdGUnID0+IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZSksICInIiksICdpdGVtX2RhdGVfZW5kJyA9PiB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfZW5kKSksICdyZWN1cnNpdmUnID0+ICRyZWN1cnNpdmUpKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gYWRkIHN0YXRpYyB1cmwNCiAgICAgICAgICAgIGdlbmVyYXRvcl9vcHRzOjpyZWdpc3Rlcl9zdGF0aWNfcm91dGUoJG1vZCwgJHVybCwgJGl0ZW1faWQpOw0KDQogICAgICAgICAgICBpZiAoIWlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKSB7DQogICAgICAgICAgICAgICAgJG1vZC0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2l0ZW10YWInLCAnbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgZWNobyAkbW9kLT5TaG93TWVzc2FnZShnZW5lcmF0b3IoKS0+TGFuZygnY2hhbmdlc3NhdmVkJykpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfc2VhcmNoX21vZHVsZSgpOw0KICAgICAgICAgICAgaWYgKGlzX29iamVjdCgkbW9kdWxlKSkgew0KICAgICAgICAgICAgICAgIGlmICgkYWN0aXZlICE9IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgJG1vZHVsZS0+RGVsZXRlV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkaXRlbV9pZCwgJ2l0ZW0nKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAkbW9kdWxlLT5BZGRXb3JkcygkbW9kLT5HZXROYW1lKCksICRpdGVtX2lkLCAnaXRlbScsIGdlbmVyYXRvcl90b29sczo6Z2V0X3NlYXJjaGFibGVfdGV4dCgkbW9kLCAkaXRlbV9pZCksIGdlbmVyYXRvcl90b29sczo6Z2V0X3NlYXJjaGFibGVfZGF0ZV9lbmQoKSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfSAvLyBlbmQgc3VibWl0IG9yIGFwcGx5DQoNCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQovLyBkaXNwbGF5IGVycm9ycyBpZiB0aGVyZSBhcmUgYW55DQppZiAoIWVtcHR5KCRlcnJvcnMpKSB7DQogICAgZWNobyAkbW9kLT5TaG93RXJyb3JzKCRlcnJvcnMpOw0KfQ0KDQovLyBoaWRkZW4gdmFsdWUgcmVxdWlyZWQgd2hlbiBlZGl0aW5nIGFuIGV4aXN0aW5nIGl0ZW0NCmlmIChpc3NldCgkaXRlbV9pZCkpIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1faWQnLCAkbW9kLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdpdGVtX2lkJywgJGl0ZW1faWQpKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsIChpc3NldCgkaXRlbV9pZCkgPyBnZW5lcmF0b3IoKS0+TGFuZygnZWRpdCcpIDogZ2VuZXJhdG9yKCktPkxhbmcoJ2FkZCcpKSAuICcgJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLCAnJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdmb3JtaWQnLCAkaWQpOw0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkbW9kLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkbW9kLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90aXRsZScsICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLCAnJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90aXRsZScsICRtb2QtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0aXRsZScsICR0aXRsZSwgNTApKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWxpYXMnLCBnZW5lcmF0b3IoKS0+TGFuZygnYWxpYXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsaWFzJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsaWFzJywgJGFsaWFzLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91cmwnLCBnZW5lcmF0b3IoKS0+TGFuZygndXJsJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91cmwnLCAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXJsJywgJHVybCwgNTApKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY2F0ZWdvcnknLCBnZW5lcmF0b3IoKS0+TGFuZygnY2F0ZWdvcnknKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5JywgJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjYXRlZ29yeScsICRjYXRlZ29yeWxpc3QsIC0xLCAkdXNlZGNhdGVnb3J5KSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2FjdGl2ZScsIGdlbmVyYXRvcigpLT5MYW5nKCdhY3RpdmUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FjdGl2ZScsICRtb2QtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAnYWN0aXZlJywgMSwgJGFjdGl2ZSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kYXRlJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2RhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RhdGUnLCAkZGF0ZSk7DQokc21hcnR5LT5hc3NpZ24oJ2RhdGVwcmVmaXgnLCAkaWQgLiAnZGF0ZV8nKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGF0ZV9lbmQnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignZGF0ZWVuZCcsICRkYXRlX2VuZCk7DQokc21hcnR5LT5hc3NpZ24oJ2RhdGVlbmRwcmVmaXgnLCAkaWQgLiAnZGF0ZV9lbmRfJyk7DQoNCiRzbWFydHktPmFzc2lnbigncmVjdXJzaXZlJywgJHJlY3Vyc2l2ZSk7DQokc21hcnR5LT5hc3NpZ24oJ3JlY3VyX29wdGlvbnMnLCBhcnJheSgNCiAgICAkbW9kLT5MYW5nKCdub25lJykgPT4gJycsDQogICAgJG1vZC0+TGFuZygnZGFpbHknKSA9PiAnZGFpbHknKSk7DQoNCiR3ZWVrZGF5cyA9IGFycmF5KCRtb2QtPkxhbmcoJ3N1bmRheScpID0+ICcwJywNCiAgICAkbW9kLT5MYW5nKCdtb25kYXknKSA9PiAnMScsDQogICAgJG1vZC0+TGFuZygndHVlc2RheScpID0+ICcyJywNCiAgICAkbW9kLT5MYW5nKCd3ZWRuZXNkYXknKSA9PiAnMycsDQogICAgJG1vZC0+TGFuZygndGh1cnNkYXknKSA9PiAnNCcsDQogICAgJG1vZC0+TGFuZygnZnJpZGF5JykgPT4gJzUnLA0KICAgICRtb2QtPkxhbmcoJ3NhdHVyZGF5JykgPT4gJzYnKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF93ZWVrZGF5cycsICRtb2QtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICdyZWN1cl93ZWVrZGF5c1tdJywgJHdlZWtkYXlzLCBlbXB0eSgkcmVjdXJfd2Vla2RheXMpID8gYXJyYXkoKSA6ICRyZWN1cl93ZWVrZGF5cywgNykpOw0KDQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOw0KaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ2NvcHlfYWRtaW4nKSkNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2NvcHknLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjb3B5JywgbGFuZygnY29weScpLCAnJywgJycsICRtb2QtPkxhbmcoJ2FyZXlvdXN1cmUnKSkpOw0KDQoNCg0KJGN1c3RvbV9mbGRzX29iaiA9ICRmaWx0ZXJzLT5nZW5lcmF0ZSgkaXRlbV9pZCwgJHBhcmFtcyk7DQoNCmlmIChpc3NldCgkY3VzdG9tX2ZsZHNfb2JqKSAmJiBjb3VudCgkY3VzdG9tX2ZsZHNfb2JqKSA+IDApIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9maWVsZGRlZicsICRjdXN0b21fZmxkc19vYmopOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ21vZCcsICRtb2QpOw0KDQoNCiRzbWFydHktPmFzc2lnbigndGFiaGVhZGVyX2FydGljbGUnLCAkbW9kLT5TZXRUYWJIZWFkZXIoJ2FydGljbGUnLCAkbW9kLT5MYW5nKCdhcnRpY2xlJykpKTsNCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2hlYWRlcnMnLCAkbW9kLT5TdGFydFRhYkhlYWRlcnMoKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfaGVhZGVycycsICRtb2QtPkVuZFRhYkhlYWRlcnMoKSk7DQoNCiRzbWFydHktPmFzc2lnbignZW5kX3RhYl9jb250ZW50JywgJG1vZC0+RW5kVGFiQ29udGVudCgpKTsNCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2NvbnRlbnQnLCAkbW9kLT5TdGFydFRhYkNvbnRlbnQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9hcnRpY2xlJywgJG1vZC0+U3RhcnRUYWIoJ2FydGljbGUnLCAkcGFyYW1zKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfYXJ0aWNsZScsICRtb2QtPkVuZFRhYigpKTsNCg0KLy8gdGFiIHN0dWZmLg0KaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ3ByZXZpZXdfYWRtaW4nKSkgew0KICAgICRzbWFydHktPmFzc2lnbigndGFiaGVhZGVyX3ByZXZpZXcnLCAkbW9kLT5TZXRUYWJIZWFkZXIoJ3ByZXZpZXcnLCAkbW9kLT5MYW5nKCdwcmV2aWV3JykpKTsNCg0KICAgICRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX3ByZXZpZXcnLCAkbW9kLT5TdGFydFRhYigncHJldmlldycsICRwYXJhbXMpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfcHJldmlldycsICRtb2QtPkVuZFRhYigpKTsNCg0KICAgICRzbWFydHktPmFzc2lnbignd2FybmluZ19wcmV2aWV3JywgJG1vZC0+TGFuZygnd2FybmluZ19wcmV2aWV3JykpOw0KICAgICRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZpZXdfcmV0dXJuaWQnLCAkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgLTEpLCAncHJldmlld19yZXR1cm5pZCcpKTsgew0KICAgICAgICAkdG1wID0gJG1vZC0+TGlzdFRlbXBsYXRlcygpOw0KICAgICAgICAkdG1wMiA9IGFycmF5KCk7DQogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrKSB7DQogICAgICAgICAgICBpZiAoc3RhcnRzd2l0aCgkdG1wWyRpXSwgJ2RldGFpbF90ZW1wbGF0ZScpKSB7DQogICAgICAgICAgICAgICAgJHggPSBzdWJzdHIoJHRtcFskaV0sIDE1KTsNCiAgICAgICAgICAgICAgICAkdG1wMlskeF0gPSAkeDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZXRhaWxfdGVtcGxhdGUnLCAkbW9kLT5MYW5nKCdkZXRhaWxfdGVtcGxhdGUnKSk7DQogICAgICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbF9wYWdlJywgJG1vZC0+TGFuZygnZGV0YWlsX3BhZ2UnKSk7DQogICAgICAgICRzbWFydHktPmFzc2lnbignZGV0YWlsX3RlbXBsYXRlcycsICR0bXAyKTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJfZGV0YWlsX3RlbXBsYXRlJywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9kZXRhaWxfdGVtcGxhdGUnKSk7DQogICAgfQ0KfQ0KDQokZGV0YWlsX3JldHVybmlkID0gJGRlZmF1bHRfZGV0YWlscGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RldGFpbF9yZXR1cm5pZCcsIC0xKTsNCiRkZXRhaWx0ZW1wbGF0ZSA9ICcnOw0KJGFkbWludGhlbWUgPSAkdGhlbWVPYmplY3QgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsNCg0KaWYgKGlzc2V0KCRyb3cpKSB7DQogICAgaWYgKGVtcHR5KCRyb3dbInVybCJdKSA9PSBmYWxzZSkgew0KICAgICAgICAkcHJldHR5dXJsID0gJHJvd1sidXJsIl07DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHByZXR0eXVybCA9IGdlbmVyYXRvcl90b29sczo6Z2V0X3ByZXR0eV91cmwoJHRoaXMsIGdlbmVyYXRvcl90b29sczo6Z2V0X3ByZWZpeCgkbW9kKSwgJHJvd1snaXRlbV9pZCddLCAkcm93WydhbGlhcyddLCAoJGRlZmF1bHRfZGV0YWlscGFnZSA9PSAtMSAmJiAhaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSA/ICRkZXRhaWxwYWdlIDogKGlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6ICcnICkpLCAkZGV0YWlsdGVtcGxhdGUpOw0KICAgIH0NCiAgICAkcHJldmlld19saW5rID0gJG1vZC0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJGRldGFpbF9yZXR1cm5pZCwgJ2RldGFpbCcsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdmlldy5naWYnKSwgYXJyYXkoJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXSwgJ2RldGFpbHRlbXBsYXRlJyA9PiAkZGV0YWlsdGVtcGxhdGUpLCAnJywgZmFsc2UsICRpbmxpbmUsICd0YXJnZXQ9Il9ibGFuayInLCBmYWxzZSwgJHByZXR0eXVybCk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2aWV3X3ZpZXcnLCAkcHJldmlld19saW5rKTsNCn0NCg0KaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ2hhc19nYWxsZXJ5JykpIHsNCiAgICAkcCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpLCAnaWQnIC4gJGl0ZW1faWQsICdnYWxsZXJ5Jyk7DQogICAgY2dlX2Rpcjo6bWtkaXJyKCRwKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2dhbGxlcnlfcGF0aCcsICRwKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3JlZGlyZWN0X3VybCcsICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICcnLCBhcnJheSgnY2dfYWN0aXZldGFiJyA9PiAnZ2FsbGVyeScsICdpdGVtX2lkJyA9PiAkaXRlbV9pZCksICcnLCB0cnVlKSk7DQoNCiAgICAkaXRlbV9nYWxsZXJ5ID0gbmV3IGdlbmVyYXRvcl9pdGVtX2dhbGxlcnkoJG1vZCwgJGl0ZW1faWQpOw0KICAgICRmaWxlcyA9ICRpdGVtX2dhbGxlcnktPmxvYWRfZmlsZXMoKTsNCiAgICBpZiAoZW1wdHkoJGZpbGVzKSA9PSBmYWxzZSkgew0KICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGtleSA9PiAkZmlsZSkgew0KICAgICAgICAgICAgJGZpbGVzWyRrZXldWyJpbWFnZV9sb2NhdGlvbiJdID0gZ2VuZXJhdG9yX3Rvb2xzOjppbWFnZV9sb2NhdGlvbigkbW9kLCAkcm93KTsNCiAgICAgICAgICAgICRmaWxlc1ska2V5XVsiaW1hZ2VwYXRoX2xvY2F0aW9uIl0gPSBnZW5lcmF0b3JfdG9vbHM6OmltYWdlcGF0aF9sb2NhdGlvbigkbW9kLCAkcm93KTsNCiAgICAgICAgICAgICRmaWxlc1ska2V5XVsiZGVsZXRlIl0gPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZWltYWdlJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsIGdlbmVyYXRvcigpLT5MYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddLCAnZmlsZW5hbWUnID0+ICRyb3dbImZpbGVuYW1lIl0pLCBnZW5lcmF0b3IoKS0+TGFuZygnYXJleW91c3VyZScpKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAkc21hcnR5LT5hc3NpZ24oJ2dhbGxlcnknLCAkZmlsZXMpOw0KfQ0KDQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGl0ZW0udHBsJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_editoption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCmlmICghaXNzZXQoJHBhcmFtc1sidGFiIl0pKSB7DQogICAgJG1vZC0+U2V0RXJyb3IoJG1vZC0+TGFuZygnZW1wdHlfcGFyYW0nKSk7DQogICAgJG1vZC0+UmVkaXJlY3RUb1RhYigkaWQsICcnLCBhcnJheSgpLCAnYWRtaW5fcHJlZnMnKTsNCn0NCg0KJG1vZC0+UmVtb3ZlUHJlZmVyZW5jZSgnY3VzdG9tX2ZpZWxkc19kZWZhdWx0Jyk7DQppZiAoaXNzZXQoJHBhcmFtc1siY3VzdG9tX2ZpZWxkc19kZWZhdWx0Il0pKQ0KICAgICRtb2QtPlNldFByZWZlcmVuY2UoJ2N1c3RvbV9maWVsZHNfZGVmYXVsdCcsIGltcGxvZGUoJywnLCAkcGFyYW1zWyJjdXN0b21fZmllbGRzX2RlZmF1bHQiXSkpOw0KDQoNCmlmICgkcGFyYW1zWyJ0YWIiXSA9PSAibW9kZSIpIHsNCg0KICAgICRwcmVmcyA9IGFycmF5KCk7DQoNCiAgICAkcHJlZnNbXSA9ICJzdW1tYXJ5X3BhZ2VsaW1pdCI7DQogICAgJHByZWZzW10gPSAibW9kZSI7DQoNCiAgICBpZiAoJHBhcmFtc1snbW9kZSddID09ICdhZHZhbmNlZCcpIHsNCiAgICAgICAgJHByZWZzW10gPSAic29ydG9yZGVyX2FkdmFuY2VkIjsNCiAgICAgICAgJHByZWZzW10gPSAic29ydGJ5X2FkdmFuY2VkIjsNCiAgICB9DQogICAgaWYgKCRwYXJhbXNbJ21vZGUnXSA9PSAnc2ltcGxlJykgew0KICAgICAgICAkcHJlZnNbXSA9ICJzb3J0b3JkZXJfc2ltcGxlIjsNCiAgICAgICAgJHByZWZzW10gPSAic29ydGJ5X3NpbXBsZSI7DQogICAgfQ0KDQogICAgZXh0ZW5kZWRfdG9vbHNfb3B0czo6c2V0X3ByZWZlcmVuY2VzKCRwcmVmcywgJHBhcmFtcywgJG1vZCk7DQp9IGVsc2UgaWYgKCRwYXJhbXNbInRhYiJdID09ICJvcHRpb25lZGl0aW5ndGFiIikgew0KDQogICAgJHByZWZzID0gYXJyYXkoKTsNCiAgICAkcHJlZnNbXSA9ICJoYXNfZ2FsbGVyeSI7DQogICAgJHByZWZzW10gPSAiZ2FsbGVyeV9zb3J0b3JkZXIiOw0KICAgICRwcmVmc1tdID0gInByZXZpZXdfYWRtaW4iOw0KICAgICRwcmVmc1tdID0gImNvcHlfYWRtaW4iOw0KICAgICRwcmVmc1tdID0gIml0ZW1fdGl0bGVfZWRpdCI7DQogICAgJHByZWZzW10gPSAiaXRlbV9kYXRlX2VkaXQiOw0KICAgICRwcmVmc1tdID0gIml0ZW1fZGF0ZV9lbmRfZWRpdCI7DQogICAgJHByZWZzW10gPSAiaXRlbV9jYXRlZ29yeV9lZGl0IjsNCiAgICAkcHJlZnNbXSA9ICJyZWN1cnNpdmUiOw0KICAgICRwcmVmc1tdID0gImZpbHRlcl9kYXRlIjsNCiAgICAkcHJlZnNbXSA9ICJpdGVtX2FsaWFzX2VkaXQiOw0KICAgICRwcmVmc1tdID0gIml0ZW1fdXJsX2VkaXQiOw0KDQogICAgZXh0ZW5kZWRfdG9vbHNfb3B0czo6c2V0X3ByZWZlcmVuY2VzKCRwcmVmcywgJHBhcmFtcywgJG1vZCk7DQp9IGVsc2UgaWYgKCRwYXJhbXNbInRhYiJdID09ICJvcHRpb25zZWFyY2h0YWIiKSB7DQoNCiAgICAkcHJlZnMgPSBhcnJheSgpOw0KICAgICRwcmVmc1tdID0gInNlYXJjaF9kYXRlX2VuZCI7DQogICAgJHByZWZzW10gPSAic2VhcmNoYWJsZSI7DQogICAgZXh0ZW5kZWRfdG9vbHNfb3B0czo6c2V0X3ByZWZlcmVuY2VzKCRwcmVmcywgJHBhcmFtcywgJG1vZCk7DQp9IGVsc2UgaWYgKCRwYXJhbXNbInRhYiJdID09ICJvcHRpb250YWIiKSB7DQoNCiAgICAkcHJlZnMgPSBhcnJheSgpOw0KICAgICRwcmVmc1tdID0gImZyaWVuZGx5bmFtZSI7DQogICAgJHByZWZzW10gPSAiaXRlbV90aXRsZSI7DQogICAgJHByZWZzW10gPSAiaXRlbV9zaW5ndWxhciI7DQogICAgJHByZWZzW10gPSAiaXRlbV9wbHVyYWwiOw0KICAgICRwcmVmc1tdID0gInVybF9wcmVmaXgiOw0KICAgICRwcmVmc1tdID0gImRpc3BsYXlfaW5saW5lIjsNCiAgICAkcHJlZnNbXSA9ICJ1c2VyZ3JvdXBfZGVwZW5kZW5jZSI7DQogICAgJHByZWZzW10gPSAiaXRlbV9kZXRhaWxfcmV0dXJuaWQiOw0KICAgICRwcmVmc1tdID0gIml0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQiOw0KICAgICRwcmVmc1tdID0gImltYWdlc19zaXplX2FkbWluIjsNCiAgICAkcHJlZnNbXSA9ICJoYXNfYWRtaW4iOw0KDQogICAgZXh0ZW5kZWRfdG9vbHNfb3B0czo6c2V0X3ByZWZlcmVuY2VzKCRwcmVmcywgJHBhcmFtcywgJG1vZCk7DQp9DQoNCiRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAkcGFyYW1zWyJ0YWIiXSwgYXJyYXkoKSwgJ2FkbWluX3ByZWZzJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpDQoJcmV0dXJuOw0KDQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7DQoJJHBhcmFtcyA9IGFycmF5KA0KCQknYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRldGFiJw0KCSk7DQoJJG1vZC0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsNCn0NCg0KJHRwbF9pZCAgICAgICA9IG51bGw7DQokdGVtcGxhdGVuYW1lID0gJyc7DQokdGVtcGxhdGV0ZXh0ID0gJyc7DQokZXJyb3JzICAgICAgID0gYXJyYXkoKTsNCg0KLy8gaWYgJHBhcmFtc1sndHBsX2lkJ10gaXMgc3VwcGxpZWQgYW5kIGV4aXN0cywgcG9wdWxhdGUgd2l0aCB2YWx1ZXMgZnJvbSBkYXRhYmFzZQ0KaWYgKGlzc2V0KCRwYXJhbXNbJ3RwbF9pZCddKSkgew0KCSR0cGxfaWQgPSAoaW50KSAkcGFyYW1zWyd0cGxfaWQnXTsNCgkkcXVlcnkgID0gJ1NFTEVDVCBuYW1lLCBjb250ZW50IEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ190ZW1wbGF0ZSBXSEVSRSB0cGxfaWQgPSA/JzsNCgkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoDQoJCSR0cGxfaWQNCgkpKTsNCgkNCglpZiAoJHJlc3VsdCAmJiAkcm93ID0gJHJlc3VsdC0+RmV0Y2hSb3coKSkgew0KCQkkdGVtcGxhdGVuYW1lID0gJHJvd1snbmFtZSddOw0KCQkkdGVtcGxhdGV0ZXh0ID0gJHJvd1snY29udGVudCddOw0KCX0NCn0NCg0KLy8gaGFuZGxlIHN1Ym1pdCBvciBhcHBseQ0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSkgew0KCSR0ZW1wbGF0ZW5hbWUgPSAkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ107DQoJJHRlbXBsYXRldGV4dCA9ICRwYXJhbXNbJ3RlbXBsYXRlX3RleHQnXTsNCglpZiAoIWlzc2V0KCR0cGxfaWQpKSB7DQoJCSR0ZW1wbGF0ZXR5cGUgPSAkcGFyYW1zWyd0ZW1wbGF0ZV90eXBlJ107DQoJfQ0KCQ0KCWlmICgkdGVtcGxhdGVuYW1lID09ICcnKSB7DQoJCSRlcnJvcnNbXSA9IGdlbmVyYXRvcigpLT5MYW5nKCd0ZW1wbGF0ZV9uYW1lX2VtcHR5Jyk7DQoJfQ0KCQ0KCWlmIChlbXB0eSgkZXJyb3JzKSkgew0KCQlpZiAoaXNzZXQoJHRwbF9pZCkpIHsNCgkJCSRxdWVyeSAgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUgU0VUIG5hbWUgPSA/LCBjb250ZW50PT8gV0hFUkUgdHBsX2lkID0gPyc7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoDQoJCQkJJHRlbXBsYXRlbmFtZSwNCgkJCQkkdGVtcGxhdGV0ZXh0LA0KCQkJCSR0cGxfaWQNCgkJCSkpOw0KCQkJaWYgKCEkcmVzdWx0KQ0KCQkJCWRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoJCX0gZWxzZSB7DQoJCQkkcXVlcnkgID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUgKG5hbWUsIGNvbnRlbnQsIHR5cGUpIFZBTFVFUyAoPywgPywgPyknOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KA0KCQkJCSR0ZW1wbGF0ZW5hbWUsDQoJCQkJJHRlbXBsYXRldGV4dCwNCgkJCQkkdGVtcGxhdGV0eXBlDQoJCQkpKTsNCgkJCWlmICghJHJlc3VsdCkNCgkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KCQkJDQoJCQkvLyBwb3B1bGF0ZSAkdHBsX2lkIGZvciBuZXdseSBpbnNlcnRlZCBpdGVtDQoJCQkkdHBsX2lkID0gJGRiLT5JbnNlcnRfSUQoKTsNCgkJfQ0KCQkNCgkJaWYgKCFpc3NldCgkcGFyYW1zWydhcHBseSddKSkgew0KCQkJJHBhcmFtcyA9IGFycmF5KA0KCQkJCSd0YWJfbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcsDQoJCQkJJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXRhYicNCgkJCSk7DQoJCQkkbW9kLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0gZWxzZSB7DQoJCQllY2hvICRtb2QtPlNob3dNZXNzYWdlKGdlbmVyYXRvcigpLT5MYW5nKCdjaGFuZ2Vzc2F2ZWQnKSk7DQoJCX0NCgl9DQp9DQoNCi8vIGRpc3BsYXkgZXJyb3JzIGlmIHRoZXJlIGFyZSBhbnkNCmlmICghZW1wdHkoJGVycm9ycykpIHsNCgllY2hvICRtb2QtPlNob3dFcnJvcnMoJGVycm9ycyk7DQp9DQoNCmlmIChpc3NldCgkdHBsX2lkKSkgew0KCSRzbWFydHktPmFzc2lnbignaWRmaWVsZCcsICRtb2QtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RwbF9pZCcsICR0cGxfaWQpKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsIChpc3NldCgkdHBsX2lkKSA/IGdlbmVyYXRvcigpLT5MYW5nKCdlZGl0dGVtcGxhdGUnKSA6IHNwcmludGYoZ2VuZXJhdG9yKCktPkxhbmcoJ2FkZHRlbXBsYXRlJyksIHVjZmlyc3QoJHBhcmFtc1sndHlwZSddKSkpKTsNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUnLCBnZW5lcmF0b3IoKS0+TGFuZygndGVtcGxhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlJywgJG1vZC0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHRlbXBsYXRldGV4dCwgJ3RlbXBsYXRlX3RleHQnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X25hbWUnLCBnZW5lcmF0b3IoKS0+TGFuZygndGVtcGxhdGVfbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsICRtb2QtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0ZW1wbGF0ZV9uYW1lJywgJHRlbXBsYXRlbmFtZSwgNDApKTsNCg0KaWYgKCFpc3NldCgkdHBsX2lkKSkgew0KCSRzbWFydHktPmFzc2lnbignaW5wdXRfdHlwZScsICRtb2QtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RlbXBsYXRlX3R5cGUnLCAkcGFyYW1zWyd0eXBlJ10pKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkbW9kLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOw0KDQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHRlbXBsYXRlLnRwbCcpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_fields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmVjaG8gJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+JyAuCiAkbW9kLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygnYmFjaycpLCAnaWNvbnMvc3lzdGVtL2JhY2suZ2lmJywgYXJyYXkoKSwgJycsICcnLCBmYWxzZSkgLiAnPC9kaXY+PGJyLz4nOwoKZWNobyAkbW9kLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYgKCRtb2QtPkNoZWNrUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSB7CiAgICBlY2hvICRtb2QtPlNldFRhYkhlYWRlcignaXRlbXMnLCBnZW5lcmF0b3IoKS0+TGFuZygnaXRlbXMnKSk7CiAgICBlY2hvICRtb2QtPlNldFRhYkhlYWRlcignY2F0ZWdvcmllcycsIGdlbmVyYXRvcigpLT5MYW5nKCdjYXRlZ29yaWVzJykpOwp9CmVjaG8gJG1vZC0+RW5kVGFiSGVhZGVycygpOwplY2hvICRtb2QtPlN0YXJ0VGFiQ29udGVudCgpOwppZiAoJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHsKICAgIGVjaG8gJG1vZC0+U3RhcnRUYWIoJ2l0ZW1zJywgJHBhcmFtcyk7CiAgICBpbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5hZG1pbl9maWVsZGRlZnRhYi5waHAnOwogICAgZWNobyAkbW9kLT5FbmRUYWIoKTsKICAgIGVjaG8gJG1vZC0+U3RhcnRUYWIoJ2NhdGVnb3JpZXMnLCAkcGFyYW1zKTsKICAgIGluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX2ZpZWxkZGVmdGFiX2NhdGVnb3JpZXMucGhwJzsKICAgIGVjaG8gJG1vZC0+RW5kVGFiKCk7Cn0KZWNobyAkbW9kLT5FbmRUYWJDb250ZW50KCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_imagesbulkaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCgppZiAoISRtb2QtPkNoZWNrUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkKICAgIHJldHVybjsKCiRtb2QtPlNldEN1cnJlbnRUYWIoJ2dhbGxlcnknKTsKCmlmICghaXNzZXQoJHBhcmFtc1siaXRlbV9pZCJdKSkKICAgIHJldHVybjsKCiRpdGVtX2lkID0gJHBhcmFtc1siaXRlbV9pZCJdOwoKJGl0ZW1fZ2FsbGVyeSA9IG5ldyBnZW5lcmF0b3JfaXRlbV9nYWxsZXJ5KCRtb2QsICRpdGVtX2lkKTsKCmlmIChpc3NldCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBjb3VudCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSkgewogICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHBhcmFtc1snbXVsdGlzZWxlY3QnXSk7ICRpKyspIHsKICAgICAgICAkcGFyYW1zWydtdWx0aXNlbGVjdCddWyRpXSA9IChpbnQpICRwYXJhbXNbJ211bHRpc2VsZWN0J11bJGldOwogICAgfQoKICAgIGZvcmVhY2ggKCRwYXJhbXNbJ211bHRpc2VsZWN0J10gYXMgJGltYWdlX2lkKSB7CiAgICAgICAgJHJlcyA9ICRpdGVtX2dhbGxlcnktPmRlbGV0ZV9pbWFnZSgkaW1hZ2VfaWQpOwogICAgICAgIAogICAgfQp9CiRtb2QtPlNldG1lc3NhZ2UoJG1vZC0+TGFuZygnb3BlcmF0aW9uX2NvbXBsZXRlJykpOwokbW9kLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2dhbGxlcnknLCBhcnJheSgnaXRlbV9pZCcgPT4gJGl0ZW1faWQpLCAnYWRtaW5fZWRpdGl0ZW0nKTsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_movefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCiRkYXRhID0gdHJpbSh0cmltKCRwYXJhbXNbJ3NlcmlhbGRhdGEnXSksICcsJyk7DQokZGF0YSA9IGV4cGxvZGUoJywnLCAkZGF0YSk7DQoNCiRzb3J0aW5nID0gMTsNCmZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKykgew0KICAgICRpdGVtX2lkID0gJGRhdGFbJGldOw0KICAgIGlmICghJGl0ZW1faWQpDQogICAgICAgIGNvbnRpbnVlOw0KICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBTRVQgcG9zaXRpb24gPSA/IFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHNvcnRpbmcrKywgJGl0ZW1faWQpKTsNCiAgICANCn0NCg0KJG1vZC0+UmVkaXJlY3RUb1RhYigkaWQsICRwYXJhbXNbInNlY3Rpb24iXSwgYXJyYXkoKSwgJ2FkbWluX2ZpZWxkcycpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_moveimages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpDQogICAgcmV0dXJuOw0KDQokZGF0YSA9IHRyaW0odHJpbSgkcGFyYW1zWydzZXJpYWxkYXRhJ10pLCAnLCcpOw0KaWYoJG1vZC0+R2V0UHJlZmVyZW5jZSgnZ2FsbGVyeV9zb3J0b3JkZXInKT09ICdkZXNjJyl7DQokZGF0YSA9IGFycmF5X3JldmVyc2UoZXhwbG9kZSgnLCcsICRkYXRhKSk7DQp9ZWxzZXsNCiRkYXRhID0gKGV4cGxvZGUoJywnLCAkZGF0YSkpOyAgICANCn0NCiRpdGVtcyA9IGFycmF5KCk7DQokc29ydGluZyA9IDA7DQpmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkZGF0YSk7ICRpKyspIHsNCiAgICAkaW1hZ2VfaWQgPSAkZGF0YVskaV07DQogICAgaWYgKCEkaW1hZ2VfaWQpDQogICAgICAgIGNvbnRpbnVlOw0KDQogICAgJHNvcnRpbmcrKzsNCg0KICAgICRpbWFnZV9pZF9vbGQgPSAkaXRlbXNbJHNvcnRpbmddOw0KDQogICAgaWYgKCRpbWFnZV9pZCA9PSAkaW1hZ2VfaWRfb2xkKQ0KICAgICAgICBjb250aW51ZTsNCg0KICAgICRpdGVtID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfaW1hZ2UoJG1vZCwgJGltYWdlX2lkKTsNCiAgICAkaXRlbXNbJGl0ZW1bInBvc2l0aW9uIl1dID0gJGl0ZW1bImltYWdlX2lkIl07DQp9DQoNCmtzb3J0KCRpdGVtcyk7DQokaXRlbXMyID0gYXJyYXkoKTsNCmZvcmVhY2ggKCRpdGVtcyBhcyAka2V5ID0+ICRpdGVtKSB7DQogICAgJGl0ZW1zMltdID0gJGtleTsNCn0NCg0KDQokaW5kZXggPSAwOw0KJG5ld19zb3J0aW5nID0gYXJyYXkoKTsNCmZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJGQpIHsNCiAgICAkbmV3X3NvcnRpbmdbJGl0ZW1zMlska2V5XV0gPSAkZDsNCn0NCg0KZm9yZWFjaCAoJG5ld19zb3J0aW5nIGFzICRrZXkgPT4gJGltYWdlX2lkKSB7DQogICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyBTRVQgcG9zaXRpb24gPSA/IFdIRVJFIGltYWdlX2lkID0gPyc7DQogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGtleSwgJGltYWdlX2lkKSk7DQp9DQoNCiRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZ2FsbGVyeScsIGFycmF5KCdpdGVtX2lkJyA9PiAkcGFyYW1zWyJpdGVtX2lkIl0pLCAnYWRtaW5fZWRpdGl0ZW0nKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_moveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpDQogICAgcmV0dXJuOw0KDQokZGF0YSA9IHRyaW0odHJpbSgkcGFyYW1zWydzZXJpYWxkYXRhJ10pLCAnLCcpOw0KaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ3NvcnRvcmRlcl9zaW1wbGUnLCAnZGVzYycpID09ICdkZXNjJykgew0KICAgICRkYXRhID0gYXJyYXlfcmV2ZXJzZShleHBsb2RlKCcsJywgJGRhdGEpKTsNCn0gZWxzZSB7DQogICAgJGRhdGEgPSAoZXhwbG9kZSgnLCcsICRkYXRhKSk7DQp9DQoNCg0KDQokaXRlbXMgPSBhcnJheSgpOw0KJHNvcnRpbmcgPSAxOw0KZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrKSB7DQogICAgJGl0ZW1faWQgPSAkZGF0YVskaV07DQogICAgaWYgKCEkaXRlbV9pZCkNCiAgICAgICAgY29udGludWU7DQoNCiAgICAkc29ydGluZysrOw0KDQogICAgJGl0ZW1faWRfb2xkID0gJGl0ZW1zWyRzb3J0aW5nXTsNCg0KICAgIGlmICgkaXRlbV9pZCA9PSAkaXRlbV9pZF9vbGQpDQogICAgICAgIGNvbnRpbnVlOw0KDQogICAgJGl0ZW0gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9pdGVtKCRtb2QsICRpdGVtX2lkKTsNCiAgICAkaXRlbXNbJGl0ZW1bInBvc2l0aW9uIl1dID0gJGl0ZW1bIml0ZW1faWQiXTsNCn0NCg0Ka3NvcnQoJGl0ZW1zKTsNCiRpdGVtczIgPSBhcnJheSgpOw0KZm9yZWFjaCAoJGl0ZW1zIGFzICRrZXkgPT4gJGl0ZW0pIHsNCiAgICAkaXRlbXMyW10gPSAka2V5Ow0KfQ0KDQoNCiRpbmRleCA9IDA7DQokbmV3X3NvcnRpbmcgPSBhcnJheSgpOw0KZm9yZWFjaCAoJGRhdGEgYXMgJGtleSA9PiAkZCkgew0KICAgICRuZXdfc29ydGluZ1skaXRlbXMyWyRrZXldXSA9ICRkOw0KfQ0KDQpmb3JlYWNoICgkbmV3X3NvcnRpbmcgYXMgJGtleSA9PiAkaXRlbV9pZCkgew0KICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgaXRlbV9pZCA9ID8nOw0KICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRrZXksICRpdGVtX2lkKSk7DQogICAgQCRtb2QtPlNlbmRFdmVudCgnSXRlbUVkaXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCkpOw0KfQ0KDQoNCg0KQCRtb2QtPlNlbmRFdmVudCgnSXRlbXNSZW9yZGVyZWQnLCBhcnJheSgpKTsNCiRtb2QtPlJlZGlyZWN0VG9UYWIoJGlkLCAnaXRlbXRhYicpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_ordercategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBVcGxvYWRzIC09IGFsbG93IHVzZXJzIHRvIHVwbG9hZCBzdHVmZiwgYSBwc2V1ZG8gZmlsZSBtYW5hZ2VyIiBtb2R1bGUKIyBBdXRob3I6IFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQokbW9kLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX29yZGVyY2F0ZWdvcnlfZG8nLCAkcmV0dXJuaWQpKTsKJG1vZC0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkbW9kLT5DcmVhdGVGb3JtRW5kKCkpOwoKCgokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgT1JERVIgQlkgaGllcmFyY2h5X3Bvc2l0aW9uIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgoKJHJvd2NsYXNzID0gJ3JvdzEnOwp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICRvbmVyb3cgPSBjZ2VfYXJyYXk6OnRvX29iamVjdCgkcm93KTsKICAgICRlbnRyeWFycmF5W10gPSAkb25lcm93Owp9CiRtb2QtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiRtb2QtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwoKZWNobyAkbW9kLT5Qcm9jZXNzVGVtcGxhdGUoJ29yZGVyY2F0ZWdvcnkudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_ordercategory_do.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBVcGxvYWRzIC09IGFsbG93IHVzZXJzIHRvIHVwbG9hZCBzdHVmZiwgYSBwc2V1ZG8gZmlsZSBtYW5hZ2VyIiBtb2R1bGUKIyBBdXRob3I6IFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpCiAgICBleGl0OwppZiAoISRtb2QtPkNoZWNrUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3JpZXMnKSkKICAgIHJldHVybjsKCgoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSB8fCAhaXNzZXQoJF9QT1NUWydkYXRhJ10pKSB7CiAgICAkbW9kLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2NhdGVnb3J5dGFiJyk7Cn0KCmlmIChpc3NldCgkX1BPU1RbJ2RhdGEnXSkpIHsKCiAgICBmdW5jdGlvbiBvcmRlcmNvbnRlbnRfZ2V0X25vZGVfcmVjKCRzdHIsICRwcmVmaXggPSAnY2F0ZWdvcnlfJykgewogICAgICAgICRnQ21zID0gY21zbXMoKTsKICAgICAgICAkdHJlZSA9ICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgogICAgICAgIGlmICghaXNfbnVtZXJpYygkc3RyKSAmJiBzdGFydHN3aXRoKCRzdHIsICRwcmVmaXgpKSB7CiAgICAgICAgICAgICRzdHIgPSBzdWJzdHIoJHN0ciwgc3RybGVuKCRwcmVmaXgpKTsKICAgICAgICB9CgogICAgICAgICRpZCA9IChpbnQpICRzdHI7CiAgICAgICAgJHRtcCA9ICR0cmVlLT5maW5kX2J5X3RhZygnaWQnLCAkaWQpOwogICAgICAgICRjb250ZW50ID0gJyc7CiAgICAgICAgaWYgKCR0bXApIHsKICAgICAgICAgICAgJGNvbnRlbnQgPSAkdG1wLT5nZXRDb250ZW50KCk7CiAgICAgICAgICAgIGlmICgkY29udGVudCkgewogICAgICAgICAgICAgICAgJHJlYyA9IGFyYXkoKTsKICAgICAgICAgICAgICAgICRyZWNbJ2lkJ10gPSAoaW50KSAkc3RyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIG9yZGVyY29udGVudF9jcmVhdGVfZmxhdGxpc3QoJHRyZWUsICRwYXJlbnRfaWQgPSAtMSkgewogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICAkb3JkZXIgPSAxOwogICAgICAgIGZvcmVhY2ggKCR0cmVlIGFzICYkbm9kZSkgewogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJG5vZGUpICYmIGNvdW50KCRub2RlKSA9PSAyKSB7CiAgICAgICAgICAgICAgICAkcGlkID0gc3Vic3RyKCRub2RlWzBdLCBzdHJsZW4oJ2NhdGVnb3J5XycpKTsKICAgICAgICAgICAgICAgICRkYXRhW10gPSBhcnJheSgnaWQnID0+ICRwaWQsICdwYXJlbnRfaWQnID0+ICRwYXJlbnRfaWQsICdvcmRlcicgPT4gJG9yZGVyKTsKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkbm9kZVsxXSkgJiYgaXNfYXJyYXkoJG5vZGVbMV0pKSB7CiAgICAgICAgICAgICAgICAgICAgJGRhdGEgPSBhcnJheV9tZXJnZSgkZGF0YSwgb3JkZXJjb250ZW50X2NyZWF0ZV9mbGF0bGlzdCgkbm9kZVsxXSwgJHBpZCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHBpZCA9IHN1YnN0cigkbm9kZSwgc3RybGVuKCdjYXRlZ29yeV8nKSk7CiAgICAgICAgICAgICAgICAkZGF0YVtdID0gYXJyYXkoJ2lkJyA9PiAkcGlkLCAncGFyZW50X2lkJyA9PiAkcGFyZW50X2lkLCAnb3JkZXInID0+ICRvcmRlcik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG9yZGVyKys7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAkZGF0YSA9IGpzb25fZGVjb2RlKCRfUE9TVFsnZGF0YSddKTsKCgogICAgLy8gc3RlcCAxLCBjcmVhdGUgYSBmbGF0IGxpc3Qgb2YgdGhlIGNvbnRlbnQgaXRlbXMsIGFuZCB0aGVpciBuZXcgb3JkZXJzLCBhbmQgbmV3IHBhcmVudHMuCiAgICAkZGF0YSA9IG9yZGVyY29udGVudF9jcmVhdGVfZmxhdGxpc3QoJGRhdGEpOwoKCgogICAgLy8gc3RlcCAyLiBtZXJnZSBpbiBvbGQgb3JkZXJzLCBhbmQgb2xkIHBhcmVudHMuCiAgICAkZ0NtcyA9IGNtc21zKCk7CiAgICAkZGF0YTIgPSBhcnJheSgpOwoKICAgIC8vIGFsbCBjYXRlZ29yaWVzCiAgICAkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLHBhcmVudF9pZCxwb3NpdGlvbiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHlfcG9zaXRpb24iOwogICAgJGNhdGVnb3JpZXMgPSAkZGItPkdldEFsbCgkcXVlcnkpOwogICAgJGNhdF9hcnJheSA9IGFycmF5KCk7CiAgICBmb3JlYWNoICgkY2F0ZWdvcmllcyBhcyAkY2F0ZWdvcnkpIHsKICAgICAgICAkY2F0X2FycmF5WyRjYXRlZ29yeVsiY2F0ZWdvcnlfaWQiXV0gPSBhcnJheSgkY2F0ZWdvcnlbInBhcmVudF9pZCJdLCRjYXRlZ29yeVsicG9zaXRpb24iXSk7CiAgICB9CgoKICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKykgewogICAgICAgICRyZWMgPSAmICRkYXRhWyRpXTsKICAgICAgICAkb2xkX2NhdGVnb3J5ID0gJGNhdF9hcnJheVskcmVjWydpZCddXTsKICAgICAgICBpZiAoJG9sZF9jYXRlZ29yeSkgewogICAgICAgICAgICAkcmVjWydvbGRfcGFyZW50J10gPSAkb2xkX2NhdGVnb3J5WzBdOwogICAgICAgICAgICAkcmVjWydvbGRfb3JkZXInXSA9ICRvbGRfY2F0ZWdvcnlbMV07CgogICAgICAgICAgICBpZiAoKCRyZWNbJ29sZF9wYXJlbnQnXSAhPSAkcmVjWydwYXJlbnRfaWQnXSkgfHwKICAgICAgICAgICAgICAgICAgICAkcmVjWydvbGRfb3JkZXInXSAhPSAkcmVjWydvcmRlciddKSB7CiAgICAgICAgICAgICAgICAkZGF0YTJbXSA9ICRyZWM7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgCiAgICAvLyBkbyB0aGUgdXBkYXRlcwogICAgaWYgKGNvdW50KCRkYXRhMikgPiAwKSB7CiAgICAgICAgJGRiID0gJGdDbXMtPkdldERiKCk7CiAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgY29udGVudCBTRVQgcG9zaXRpb24gPSA/LCBwYXJlbnRfaWQgPSA/IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEyKTsgJGkrKykgewogICAgICAgICAgICAkcmVjID0gJiAkZGF0YTJbJGldOwogICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcmVjWydvcmRlciddLCAkcmVjWydwYXJlbnRfaWQnXSwgJHJlY1snaWQnXSkpOwogICAgICAgICAgICBAJG1vZC0+U2VuZEV2ZW50KCdDYXRlZ29yeUVkaXRlZCcsIGFycmF5KCdjYXRlZ29yeV9pZCcgPT4gJHJlY1snaWQnXSkpOwogICAgICAgIH0KICAgICAgICBnZW5lcmF0b3JfdG9vbHM6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCRtb2QpOwogICAgICAgIEAkbW9kLT5TZW5kRXZlbnQoJ0NhdGVnb3J5UmVvcmRlcmVkJywgYXJyYXkoKSk7CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gbGFuZygnbm90aGluZ3RvZG8nKTsKICAgICAgICByZXR1cm47CiAgICB9Cn0KCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4nIC4NCiAkbW9kLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygnYmFjaycpLCAnaWNvbnMvc3lzdGVtL2JhY2suZ2lmJywgYXJyYXkoKSwgJycsICcnLCBmYWxzZSkgLiAnPC9kaXY+PGJyLz4nOw0KDQplY2hvICRtb2QtPlN0YXJ0VGFiSGVhZGVycygpOw0KDQppZiAoJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHsNCiAgICBlY2hvICRtb2QtPlNldFRhYkhlYWRlcignbW9kZScsIGdlbmVyYXRvcigpLT5MYW5nKCdtb2RlJykpOw0KICAgIGVjaG8gJG1vZC0+U2V0VGFiSGVhZGVyKCdvcHRpb250YWInLCBnZW5lcmF0b3IoKS0+TGFuZygnZ2VuZXJhbCcpKTsNCiAgICBlY2hvICRtb2QtPlNldFRhYkhlYWRlcignb3B0aW9uZWRpdGluZ3RhYicsIGdlbmVyYXRvcigpLT5MYW5nKCdlZGl0aW5nJykpOw0KICAgIGVjaG8gJG1vZC0+U2V0VGFiSGVhZGVyKCdvcHRpb25zZWFyY2h0YWInLCBnZW5lcmF0b3IoKS0+TGFuZygnc2VhcmNoJykpOw0KfQ0KDQplY2hvICRtb2QtPkVuZFRhYkhlYWRlcnMoKTsNCmVjaG8gJG1vZC0+U3RhcnRUYWJDb250ZW50KCk7DQoNCmlmICgkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgew0KDQogICAgZWNobyAkbW9kLT5TdGFydFRhYignbW9kZScsICRwYXJhbXMpOw0KICAgIGluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX21vZGV0YWIucGhwJzsNCiAgICBlY2hvICRtb2QtPkVuZFRhYigpOw0KICAgIGVjaG8gJG1vZC0+U3RhcnRUYWIoJ29wdGlvbnRhYicsICRwYXJhbXMpOw0KICAgIGluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX29wdGlvbnRhYi5waHAnOw0KICAgIGVjaG8gJG1vZC0+RW5kVGFiKCk7DQogICAgZWNobyAkbW9kLT5TdGFydFRhYignb3B0aW9uZWRpdGluZ3RhYicsICRwYXJhbXMpOw0KICAgIGluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX29wdGlvbmVkaXRpbmd0YWIucGhwJzsNCiAgICBlY2hvICRtb2QtPkVuZFRhYigpOw0KICAgIGVjaG8gJG1vZC0+U3RhcnRUYWIoJ29wdGlvbnNlYXJjaHRhYicsICRwYXJhbXMpOw0KICAgIGluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX29wdGlvbnNlYXJjaHRhYi5waHAnOw0KICAgIGVjaG8gJG1vZC0+RW5kVGFiKCk7DQp9DQoNCmVjaG8gJG1vZC0+RW5kVGFiQ29udGVudCgpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_search_reindex.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCiRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NlYXJjaCcpOw0KaWYgKCRzZWFyY2ggIT0gRkFMU0UpIHsNCiAgICAkbW9kLT5TZWFyY2hSZWluZGV4KCRzZWFyY2gpOw0KfQ0KDQokbW9kLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ29wdGlvbnRhYicpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBVcGxvYWRzIC09IGFsbG93IHVzZXJzIHRvIHVwbG9hZCBzdHVmZiwgYSBwc2V1ZG8gZmlsZSBtYW5hZ2VyIiBtb2R1bGUKIyBBdXRob3I6IFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4nIC4KICRtb2QtPkNyZWF0ZUltYWdlTGluaygkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGdlbmVyYXRvcigpLT5MYW5nKCdiYWNrJyksICdpY29ucy9zeXN0ZW0vYmFjay5naWYnLCBhcnJheSgpLCAnJywgJycsIGZhbHNlKSAuICc8L2Rpdj48YnIvPic7CgplY2hvICRtb2QtPlN0YXJ0VGFiSGVhZGVycygpOwppZiAoJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykpIHsKICAgIGVjaG8gJG1vZC0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yeV90ZW1wbGF0ZScsIGdlbmVyYXRvcigpLT5MYW5nKCdjYXRlZ29yeV90ZW1wbGF0ZScpKTsKICAgIGVjaG8gJG1vZC0+U2V0VGFiSGVhZGVyKCdzdW1tYXJ5X3RlbXBsYXRlJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3N1bW1hcnlfdGVtcGxhdGUnKSk7CiAgICBlY2hvICRtb2QtPlNldFRhYkhlYWRlcignZGV0YWlsX3RlbXBsYXRlJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2RldGFpbF90ZW1wbGF0ZScpKTsKICAgIGVjaG8gJG1vZC0+U2V0VGFiSGVhZGVyKCdmaWx0ZXJfdGVtcGxhdGUnLCBnZW5lcmF0b3IoKS0+TGFuZygnZmlsdGVyX3RlbXBsYXRlJykpOwogICAgLy9lY2hvICRtb2QtPlNldFRhYkhlYWRlcignZGVmYXVsdF90ZW1wbGF0ZXMnLCBnZW5lcmF0b3IoKS0+TGFuZygnZGVmYXVsdF90ZW1wbGF0ZXMnKSk7Cn0KZWNobyAkbW9kLT5FbmRUYWJIZWFkZXJzKCk7CmVjaG8gJG1vZC0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkbW9kLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSkgewogICAgLy8gdGhlIGNhdGVnb3J5IHRlbXBsYXRlIHRhYgogICAgZWNobyAkbW9kLT5TdGFydFRhYignY2F0ZWdvcnlfdGVtcGxhdGUnKTsKICAgIGVjaG8gJG1vZC0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsICRyZXR1cm5pZCwgJ2NhdGVnb3J5X3RlbXBsYXRlJywgJ2RlZmF1bHRfY2F0ZWdvcnlfdGVtcGxhdGUnLCAnY2F0ZWdvcnlfdGVtcGxhdGUnLCAnY3VycmVudF9jYXRlZ29yeV90ZW1wbGF0ZScsIGdlbmVyYXRvcigpLT5MYW5nKCdhZGRlZGl0X2NhdGVnb3J5X3RlbXBsYXRlJyksICdhZG1pbl90ZW1wbGF0ZXMnLCAnYWRtaW5fdGVtcGxhdGVzJyk7CiAgICBlY2hvICRtb2QtPkVuZFRhYigpOwoKICAgIC8vIHRoZSBzdW1tYXJ5IHRlbXBsYXRlIHRhYgogICAgZWNobyAkbW9kLT5TdGFydFRhYigic3VtbWFyeV90ZW1wbGF0ZSIpOwogICAgZWNobyAkbW9kLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwgJHJldHVybmlkLCAnc3VtbWFyeV90ZW1wbGF0ZScsICdkZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnLCAnc3VtbWFyeV90ZW1wbGF0ZScsICdjdXJyZW50X3N1bW1hcnlfdGVtcGxhdGUnLCBnZW5lcmF0b3IoKS0+TGFuZygnYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJyksICdhZG1pbl90ZW1wbGF0ZXMnLCAnYWRtaW5fdGVtcGxhdGVzJyk7CiAgICBlY2hvICRtb2QtPkVuZFRhYigpOwoKICAgIC8vIHRoZSBkZXRhaWwgdGVtcGxhdGUgdGFiCiAgICBlY2hvICRtb2QtPlN0YXJ0VGFiKCJkZXRhaWxfdGVtcGxhdGUiKTsKICAgIGVjaG8gJG1vZC0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsICRyZXR1cm5pZCwgJ2RldGFpbF90ZW1wbGF0ZScsICdkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScsICdkZXRhaWxfdGVtcGxhdGUnLCAnY3VycmVudF9kZXRhaWxfdGVtcGxhdGUnLCBnZW5lcmF0b3IoKS0+TGFuZygnYWRkZWRpdF9kZXRhaWxfdGVtcGxhdGUnKSwgJ2FkbWluX3RlbXBsYXRlcycsICdhZG1pbl90ZW1wbGF0ZXMnKTsKICAgIGVjaG8gJG1vZC0+RW5kVGFiKCk7CgogICAgLy8gdGhlIGZpbHRlciB0ZW1wbGF0ZSB0YWIKICAgIGVjaG8gJG1vZC0+U3RhcnRUYWIoImZpbHRlcl90ZW1wbGF0ZSIpOwogICAgZWNobyAkbW9kLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwgJHJldHVybmlkLCAnZmlsdGVyX3RlbXBsYXRlJywgJ2RlZmF1bHRfZmlsdGVyX3RlbXBsYXRlJywgJ2ZpbHRlcl90ZW1wbGF0ZScsICdjdXJyZW50X2ZpbHRlcl90ZW1wbGF0ZScsIGdlbmVyYXRvcigpLT5MYW5nKCdhZGRlZGl0X2ZpbHRlcl90ZW1wbGF0ZScpLCAnYWRtaW5fdGVtcGxhdGVzJywgJ2FkbWluX3RlbXBsYXRlcycpOwogICAgZWNobyAkbW9kLT5FbmRUYWIoKTsKCgogICAgLy8gdGhlIGRlZmF1bHQgdGVtcGxhdGVzIHRhYgogICAgLyogZWNobyAkbW9kLT5TdGFydFRhYignZGVmYXVsdF90ZW1wbGF0ZXMnKTsKCiAgICAgIGVjaG8gJG1vZC0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywgJGlkLCAkcmV0dXJuaWQsICdjYXRlZ29yeV9zeXNkZWZhdWx0JywgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsIGdlbmVyYXRvcigpLT5MYW5nKCd0aXRsZV9jYXRlZ29yeV9zeXNkZWZhdWx0JyksICdvcmlnX2NhdGVnb3J5X3RlbXBsYXRlLnRwbCcsIGdlbmVyYXRvcigpLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHQnKSk7CiAgICAgIGVjaG8gJG1vZC0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywgJGlkLCAkcmV0dXJuaWQsICdzdW1tYXJ5X3N5c2RlZmF1bHQnLCAnYWRtaW5fdGVtcGxhdGVzJywgJ2RlZmF1bHRfdGVtcGxhdGVzJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3RpdGxlX3N1bW1hcnlfc3lzZGVmYXVsdCcpLCAnb3JpZ19zdW1tYXJ5X3RlbXBsYXRlLnRwbCcsIGdlbmVyYXRvcigpLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHQnKSk7CiAgICAgIGVjaG8gJG1vZC0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywgJGlkLCAkcmV0dXJuaWQsICdkZXRhaWxfc3lzZGVmYXVsdCcsICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLCBnZW5lcmF0b3IoKS0+TGFuZygndGl0bGVfZGV0YWlsX3N5c2RlZmF1bHQnKSwgJ29yaWdfZGV0YWlsX3RlbXBsYXRlLnRwbCcsIGdlbmVyYXRvcigpLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHQnKSk7CgoKICAgICAgZWNobyAnPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDogODAlOyI+PC9kaXY+JzsKCiAgICAgIGVjaG8gJG1vZC0+RW5kVGFiKCk7ICovCn0KZWNobyAkbW9kLT5FbmRUYWJDb250ZW50KCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoKJGl0ZW1zID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfY2F0ZWdvcmllcygkbW9kLCAkaWQsJHBhcmFtcywkcmV0dXJuaWQpOwoKCiNEaXNwbGF5IHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbignY291bnQnLCBjb3VudCgkaXRlbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRzJywgJGl0ZW1zKTsKCiAgLy8gdGVtcGxhdGUKJHRoZXRlbXBsYXRlID0gJ2NhdGVnb3J5X3RlbXBsYXRlJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfY2F0ZWdvcnlfdGVtcGxhdGUnKTsKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5dGVtcGxhdGUnXSkpIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdjYXRlZ29yeV90ZW1wbGF0ZScgLiAkcGFyYW1zWydjYXRlZ29yeXRlbXBsYXRlJ107Cn0KZWNobyAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KI0JFR0lOX0xJQ0VOU0UNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogICBAa3V6bWFueSAoa3V6bWFueS5iaXopDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiNFTkRfTElDRU5TRQ0KaWYgKCFpc3NldCgkZ0NtcykpDQogICAgZXhpdDsNCg0KJGZpZWxkZGVmcyA9ICcnOw0KJHRtcCA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2ZpZWxkcygkbW9kLCBmYWxzZSk7DQoNCmlmIChpc19hcnJheSgkdG1wKSkgew0KICAgICRmaWVsZGRlZnMgPSBhcnJheSgpOw0KICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrKSB7DQogICAgICAgICRvYmogPSBjZ2VfYXJyYXk6OnRvX29iamVjdCgkdG1wWyRpXSk7DQogICAgICAgICRmaWVsZGRlZnNbJG9iai0+YWxpYXNdID0gJG9iajsNCiAgICB9DQp9DQoNCg0KJHF1ZXJ5ID0gJyc7DQokcXVlcnkyID0gJyc7DQokY291bnQgPSAnJzsNCiRwYWdlID0gJyc7DQokc3RhcnRlbGVtZW50ID0gJyc7DQokbGltaXQgPSA5OTk5OTsNCiRpdGVtbGlzdCA9ICcnOw0KJHNvcnR0eXBlID0gJyc7DQokY291bnRqb2lucyA9IGFycmF5KCk7DQokam9pbnMgPSBhcnJheSgpOw0KJHNvcnRmaWVsZCA9IDE7DQp1bnNldCgkcGFyYW1zWydhc3NpZ24nXSk7DQokaW5saW5lID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCBmYWxzZSk7DQokZGVmYXVsdF9kZXRhaWxwYWdlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kZXRhaWxfcmV0dXJuaWQnLCAnJyk7DQokZGV0YWlscGFnZSA9ICRkZWZhdWx0X2RldGFpbHBhZ2U7DQppZiAoIWlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgJiYgaXNzZXQoJHBhcmFtc1sicmV0dXJuaWQiXSkpDQogICAgJHBhcmFtc1siZGV0YWlscGFnZSJdID0gJHBhcmFtc1sicmV0dXJuaWQiXTsNCiRkZXRhaWxwYWdlID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6ZGV0YWlscGFnZSgkcGFyYW1zLCAkZGV0YWlscGFnZSk7DQppZiAoJGRldGFpbHBhZ2UgPT0gJGRlZmF1bHRfZGV0YWlscGFnZSkNCiAgICB1bnNldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOw0KDQoNCiRkZXRhaWx0ZW1wbGF0ZSA9ICcnOw0KJGZpbHRlcnMgPSBhcnJheSgpOw0KJGZpZWxkcyA9IGFycmF5KCk7DQokZmllbGRzMiA9IGFycmF5KCk7DQokZGF0ZV90byA9ICcnOw0KJGRhdGVfZnJvbSA9ICcnOw0KJGNhdGVnb3J5X2lkID0gLTE7DQokcGFyYW1hcnJheXRtcCA9IGFycmF5KCk7DQokZ3JvdXBieSA9ICcnOw0KDQoNCi8vIHRlbXBsYXRlDQokdGhldGVtcGxhdGUgPSAnc3VtbWFyeV90ZW1wbGF0ZScgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X3N1bW1hcnlfdGVtcGxhdGUnKTsNCmlmIChpc3NldCgkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXSkpIHsNCiAgICAkdGhldGVtcGxhdGUgPSAnc3VtbWFyeV90ZW1wbGF0ZScgLiAkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXTsNCn0NCg0KLy8gdGVtcGxhdGUNCmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSkgew0KICAgICRkZXRhaWx0ZW1wbGF0ZSA9ICRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ107DQp9DQoNCmlmIChpc3NldCgkcGFyYW1zWydpbmxpbmUnXSkpIHsNCiAgICAkaW5saW5lID0gJHBhcmFtc1snaW5saW5lJ107DQp9DQoNCg0KLy8gZGF0ZSBmcm9tDQppZiAoaXNzZXQoJHBhcmFtc1snZGF0ZWZyb20nXSkpIHsNCiAgICAkZGF0ZV9mcm9tID0gJHBhcmFtc1snZGF0ZWZyb20nXTsNCn0NCmlmIChpc3NldCgkcGFyYW1zWydkYXRlZnJvbU1vbnRoJ10pKSB7DQogICAgJGRhdGVfZnJvbSA9IG1rdGltZSgwLCAwLCAwLCAkcGFyYW1zWydkYXRlZnJvbU1vbnRoJ10sICRwYXJhbXNbJ2RhdGVmcm9tRGF5J10sICRwYXJhbXNbJ2RhdGVmcm9tWWVhciddKTsNCn0NCmlmIChpc3NldCgkcGFyYW1zWydkYXRldG8nXSkpIHsNCiAgICAkZGF0ZV90byA9ICRwYXJhbXNbJ2RhdGV0byddOw0KfQ0KaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGV0b01vbnRoJ10pKSB7DQogICAgJGRhdGVfdG8gPSBta3RpbWUoMjMsIDU5LCA1OSwgJHBhcmFtc1snZGF0ZXRvTW9udGgnXSwgJHBhcmFtc1snZGF0ZXRvRGF5J10sICRwYXJhbXNbJ2RhdGV0b1llYXInXSk7DQp9DQoNCmlmIChpc3NldCgkcGFyYW1zWydpdGVtX2RhdGVfZnJvbV90byddKSkgew0KICAgICRkYXRlX2Zyb21fdG8gPSBleHBsb2RlKCd8JywgJHBhcmFtc1snaXRlbV9kYXRlX2Zyb21fdG8nXSk7DQogICAgaWYgKGNvdW50KCRkYXRlX2Zyb21fdG8pID09IDIpIHsNCiAgICAgICAgJGRhdGVfZnJvbSA9IGdlbmVyYXRvcl90b29sczo6cHJvY2Vzc19maWx0ZXJfZGF0ZSgkZGF0ZV9mcm9tX3RvWzBdKTsNCiAgICAgICAgJGRhdGVfdG8gPSBnZW5lcmF0b3JfdG9vbHM6OnByb2Nlc3NfZmlsdGVyX2RhdGUoJGRhdGVfZnJvbV90b1sxXSk7DQogICAgfQ0KfQ0KDQovL2NhdGVnb3J5IGlkDQppZiAoaXNzZXQoJHBhcmFtc1siY2F0ZWdvcnlfaWQiXSkpIHsNCiAgICAkY2F0ZWdvcnlfaWQgPSBpbnR2YWwoJHBhcmFtc1siY2F0ZWdvcnlfaWQiXSk7DQp9DQoNCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2l0ZW1saXN0J10pKSB7DQogICAgJGl0ZW1saXN0ID0gJHBhcmFtc1snaXRlbWxpc3QnXTsNCiAgICB1bnNldCgkcGFyYW1zWydpdGVtbGlzdCddKTsNCiAgICBpZiAoIWlzX2FycmF5KCRpdGVtbGlzdCkpIHsNCiAgICAgICAgJGl0ZW1saXN0ID0gZXhwbG9kZSgnLCcsICRpdGVtbGlzdCk7DQogICAgfQ0KfQ0KaWYgKCEoaXNfYXJyYXkoJGl0ZW1saXN0KSAmJiBjb3VudCgkaXRlbWxpc3QpID4gMCkpIHsNCiAgICAvLyB3ZSBkb24ndCBoYXZlIGFuIGV4cGxpY2l0IHByb2R1Y3QgbGlzdCwgc28gZ290dGEgYnVpbGQgYSBxdWVyeQ0KICAgIC8vIGZyb20gb3RoZXIgcGFyYW1ldGVycw0KICAgICRzb3J0b3JkZXIgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXJfJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ21vZGUnKSwgJ2Rlc2MnKTsNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pKSB7DQogICAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkcGFyYW1zWydzb3J0b3JkZXInXSkpIHsNCiAgICAgICAgICAgIGNhc2UgJ2FzYyc6DQogICAgICAgICAgICBjYXNlICdkZXNjJzoNCiAgICAgICAgICAgICAgICAkc29ydG9yZGVyID0gJHBhcmFtc1snc29ydG9yZGVyJ107DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAkc29ydGJ5ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5XycgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdtb2RlJyksICdwb3NpdGlvbicpOw0KICAgIGlmIChpc3NldCgkcGFyYW1zWydzb3J0YnknXSkpIHsNCiAgICAgICAgJHRtcCA9IHN0cnRvbG93ZXIodHJpbSgkcGFyYW1zWydzb3J0YnknXSkpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICR0bXAgPSAkc29ydGJ5Ow0KICAgIH0NCiAgICBzd2l0Y2ggKCR0bXApIHsNCiAgICAgICAgY2FzZSAnaWQnOg0KICAgICAgICAgICAgJHNvcnRieSA9ICdpZCc7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnaXRlbV9kYXRlJzoNCiAgICAgICAgICAgICRzb3J0YnkgPSAnaXRlbV9kYXRlJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICdwb3NpdGlvbic6DQogICAgICAgICAgICAkc29ydGJ5ID0gJ3Bvc2l0aW9uJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICd0aXRsZSc6DQogICAgICAgICAgICAkc29ydGJ5ID0gJ3RpdGxlJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICdjcmVhdGVkJzoNCiAgICAgICAgICAgICRzb3J0YnkgPSAnY3JlYXRlX2RhdGUnOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ21vZGlmaWVkJzoNCiAgICAgICAgICAgICRzb3J0YnkgPSAnbW9kaWZpZWRfZGF0ZSc7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAncmFuZG9tJzoNCiAgICAgICAgICAgICRzb3J0YnkgPSAnUkFORCgpJzsNCiAgICAgICAgICAgICRzb3J0b3JkZXIgPSAnJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgaWYgKHN0YXJ0c3dpdGgoJHRtcCwgJ2Y6JykpIHsNCiAgICAgICAgICAgICAgICAkZmllbGRuYW1lID0gc3Vic3RyKCR0bXAsIHN0cmxlbignZjonKSk7DQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRmaWVsZGRlZnNbJGZpZWxkbmFtZV0pKSB7DQogICAgICAgICAgICAgICAgICAgICRmaWVsZGlkID0gJGZpZWxkZGVmc1skZmllbGRuYW1lXS0+ZmllbGRkZWZfaWQ7DQogICAgICAgICAgICAgICAgICAgICRhcyA9ICdGVicgLiAkc29ydGZpZWxkKys7DQogICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkdmFsIHskYXN9IE9OIGMuaXRlbV9pZCA9IHskYXN9Lml0ZW1faWQgQU5EICRhcy5maWVsZGRlZl9pZCA9ICd7JGZpZWxkaWR9JyI7DQogICAgICAgICAgICAgICAgICAgICRzb3J0YnkgPSAieyRhc30udmFsdWUiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGJyZWFrOw0KICAgIH0NCg0KICAgIGlmICgkc29ydGJ5ID09ICdyYW5kb20nKSB7DQogICAgICAgICRzb3J0YnkgPSAnUkFORCgpJzsNCiAgICAgICAgJHNvcnRvcmRlciA9ICcnOw0KICAgIH0NCg0KICAgIGlmIChpc3NldCgkcGFyYW1zWydzb3J0dHlwZSddKSkgew0KICAgICAgICAkdG1wID0gdHJpbSgkcGFyYW1zWydzb3J0dHlwZSddKTsNCiAgICAgICAgJHRtcCA9IHN0cnRvdXBwZXIoJHRtcCk7DQogICAgICAgIHN3aXRjaCAoJHRtcCkgew0KICAgICAgICAgICAgY2FzZSAnU1RSSU5HJzoNCiAgICAgICAgICAgICAgICAkc29ydHR5cGUgPSAnJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ1NJR05FRCc6DQogICAgICAgICAgICBjYXNlICdVTlNJR05FRCc6DQogICAgICAgICAgICAgICAgJHNvcnR0eXBlID0gJHRtcDsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAkbGltaXQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5X3BhZ2VsaW1pdF8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnbW9kZScpLCAxMDAwMCk7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSAmJiAkcGFyYW1zWydwYWdlbGltaXQnXSA+IDApIHsNCiAgICAgICAgJGxpbWl0ID0gKGludCkgJHBhcmFtc1sncGFnZWxpbWl0J107DQogICAgfQ0KDQogICAgJGxpbWl0ID0gbWF4KCRsaW1pdCwgMSk7DQogICAgJGxpbWl0ID0gbWluKCRsaW1pdCwgMTAwMDApOw0KDQoNCiAgICAkcGFnZSA9IDE7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3BhZ2UnXSkpIHsNCiAgICAgICAgJHBhZ2UgPSAoaW50KSAkcGFyYW1zWydwYWdlJ107DQogICAgICAgIGlmICgkcGFnZSA8IDEpDQogICAgICAgICAgICAkcGFnZSA9IDE7DQogICAgfQ0KICAgICRzdGFydGVsZW1lbnQgPSAoJHBhZ2UgLSAxKSAqICRsaW1pdDsNCg0KICAgICRjYXRlZ29yeSA9ICcnOw0KICAgIGlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSkgew0KICAgICAgICAkY2F0ZWdvcnkgPSB0cmltKCRwYXJhbXNbJ2NhdGVnb3J5J10pOw0KICAgIH0NCiAgICAkY2F0ZWdvcnlpZCA9IC0xMDA7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5aWQnXSkpIHsNCiAgICAgICAgJGNhdGVnb3J5aWQgPSAoaW50KSAkcGFyYW1zWydjYXRlZ29yeWlkJ107DQogICAgfQ0KDQogICAgJGZpZWxkaWQgPSAtMTAwOw0KICAgIGlmIChpc3NldCgkcGFyYW1zWydmaWVsZGlkJ10pKSB7DQogICAgICAgICRmaWVsZGlkID0gKGludCkgJHBhcmFtc1snZmllbGRpZCddOw0KICAgIH0NCiAgICAkZmllbGR2YWwgPSAnJzsNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snZmllbGR2YWwnXSkpIHsNCiAgICAgICAgJGZpZWxkdmFsID0gdHJpbSgkcGFyYW1zWydmaWVsZHZhbCddKTsNCiAgICB9DQoNCi8vDQovLyBCdWlsZCB0aGUgcXVlcmllcw0KLy8NCiAgICAkaXRlbXNhcnJheSA9IGFycmF5KCk7DQogICAgJGVudHJ5YXJyYXkgPSBhcnJheSgpOw0KICAgICRwYXJhbWFycmF5ID0gYXJyYXkoKTsNCiAgICAkcGFyYW1hcnJheTIgPSBhcnJheSgpOw0KICAgICR3aGVyZSA9IGFycmF5KCk7DQogICAgJHdoZXJlMiA9IGFycmF5KCk7DQogICAgJHF1ZXJ5ID0gIlNFTEVDVCBjLiosPEZJRUxEUz4gRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gYyI7DQogICAgJHF1ZXJ5MiA9ICJTRUxFQ1QgY291bnQoKikgYXMgY291bnQsPEZJRUxEUz4gRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gYyI7DQogICAgJHdoZXJlW10gPSAnYy5hY3RpdmUgPSA/JzsNCiAgICAkcGFyYW1hcnJheVtdID0gMTsNCg0KICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcyBjYSBPTiBjYS5jYXRlZ29yeV9pZCA9IGMuY2F0ZWdvcnlfaWQnOw0KICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgY2EgT04gY2EuY2F0ZWdvcnlfaWQgPSBjLmNhdGVnb3J5X2lkJzsNCiAgICAkZmllbGRzW10gPSAnY2EuY2F0ZWdvcnlfbmFtZSc7DQoNCg0KICAgIGlmICgkY2F0ZWdvcnlfaWQgPiAwKSB7DQogICAgICAgICR3aGVyZVtdID0gJ2NhLmNhdGVnb3J5X2lkID0gPyc7DQogICAgICAgICRwYXJhbWFycmF5W10gPSAkY2F0ZWdvcnlfaWQ7DQogICAgfSBlbHNlIGlmIChlbXB0eSgkY2F0ZWdvcnkpID09IGZhbHNlKSB7DQogICAgICAgICRjYXRlZ29yeSA9IGNtc19odG1sX2VudGl0eV9kZWNvZGUoJGNhdGVnb3J5KTsNCiAgICAgICAgJGNhdGVnb3JpZXMgPSBleHBsb2RlKCcsJywgJGNhdGVnb3J5KTsNCg0KDQoNCiAgICAgICAgJHF1ZXJ5dG1wID0gIiAoIjsNCiAgICAgICAgJGNvdW50ID0gMDsNCiAgICAgICAgZm9yZWFjaCAoJGNhdGVnb3JpZXMgYXMgJG9uZWNhdCkgew0KICAgICAgICAgICAgaWYgKCRjb3VudCA+IDApIHsNCiAgICAgICAgICAgICAgICAkcXVlcnl0bXAgLj0gJyBPUiAnOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHN0cnBvcygkb25lY2F0LCAnfCcpICE9PSBGQUxTRSB8fCBzdHJwb3MoJG9uZWNhdCwgJyonKSAhPT0gRkFMU0UpIHsNCiAgICAgICAgICAgICAgICAkdG1wID0gJGRiLT5xc3RyKHRyaW0oc3RyX3JlcGxhY2UoJyonLCAnJScsIHN0cl9yZXBsYWNlKCInIiwgJ18nLCAkb25lY2F0KSkpKTsNCiAgICAgICAgICAgICAgICAkcXVlcnl0bXAgLj0gInVwcGVyKGNhLmxvbmdfbmFtZSkgbGlrZSB1cHBlcih7JHRtcH0pIjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHRtcCA9ICRkYi0+cXN0cih0cmltKHN0cl9yZXBsYWNlKCInIiwgJ18nLCAkb25lY2F0KSkpOw0KICAgICAgICAgICAgICAgICRxdWVyeXRtcCAuPSAiY2EuY2F0ZWdvcnlfbmFtZSA9IHskdG1wfSI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkY291bnQrKzsNCiAgICAgICAgfQ0KICAgICAgICAkcXVlcnl0bXAgLj0gIikiOw0KDQogICAgICAgICR3aGVyZVtdID0gJHF1ZXJ5dG1wOw0KICAgIH0NCg0KDQoNCg0KLy8gZmlsdGVycw0KICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkcGFyYW0pIHsNCiAgICAgICAgaWYgKHN0YXJ0c3dpdGgoJGtleSwgJ2ZpbHRlcl8nKSkgew0KICAgICAgICAgICAgJGZpbHRlcl9rZXlzID0gZXhwbG9kZSgnXycsICRrZXkpOw0KICAgICAgICAgICAgaWYgKGNvdW50KCRmaWx0ZXJfa2V5cykgPT0gMykgew0KICAgICAgICAgICAgICAgICRmaWVsZGlkID0gJGZpbHRlcl9rZXlzWzFdOw0KICAgICAgICAgICAgICAgICRmaWx0ZXIgPSAkZmlsdGVyX2tleXNbMl07DQogICAgICAgICAgICAgICAgJGZpZWxkdmFsID0gJHBhcmFtOw0KICAgICAgICAgICAgICAgIGlmIChpc3NldCgkZmllbGRpZCkgJiYgaXNzZXQoJGZpZWxkdmFsKSAmJiAkZmllbGR2YWwgIT0gIiIpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGludHZhbCgkZmllbGRpZCkgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgZ2F0aGVyaW5nICcuJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkuJyB0aGF0IGhhdmUgYSBjZXJ0YWluIGZpZWxkIGlkLg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRmaWx0ZXIgPT0gJ251bGwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFuZGxlIGEgY2FzZSB3aGVuIGEgZmllbGQgaXMgbm90IHNldCBmb3IgYSBwcm9kdWN0Lg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJyhGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlIElTIE5VTEwpJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8kcGFyYW1hcnJheVtdID0gJGZpZWxkaWQ7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ25vdG51bGwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFuZGxlIGEgY2FzZSB3aGVuIGEgZmllbGQgaXMgbm90IHNldCBmb3IgYSBwcm9kdWN0Lg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJyhGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlICE9IFwnXCcpJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2luJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBhIGNhc2Ugd2hlbiBhIGZpZWxkIGlzIG5vdCBzZXQgZm9yIGEgcHJvZHVjdC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY291bnRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlIElOICgnIC4gJGRiLT5xc3RyKCRmaWVsZHZhbCkgLiAnKSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9ICRmaWVsZGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdpbnNldCcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgYSBjYXNlIHdoZW4gYSBmaWVsZCBpcyBub3Qgc2V0IGZvciBhIHByb2R1Y3QuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvdW50am9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnIEZJTkRfSU5fU0VUKCcgLiAkZGItPnFzdHIoJGZpZWxkdmFsKSAuICcsICBGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlKSA+IDAnOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnbGVzcycpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfbnVtZXJpYygkZmllbGRpZCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGltaXQgcmVzdWx0cyB0byBhbGwgb2YgdGhlIGl0ZW1zIHRoYXQgaGF2ZSB0aGlzIGZpZWxkIHZhbHVlLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY291bnRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ0ZWQScgLiAkZmllbGRpZCAuICcudmFsdWUgPCA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgJGZpZWxkaWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJyBjLicgLiAkZmllbGRpZCAuICcgIDwgPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHBhcmFtYXJyYXlbXSA9ICRmaWVsZGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2xlc3NlcXVhbCcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW1pdCByZXN1bHRzIHRvIGFsbCBvZiB0aGUgaXRlbXMgdGhhdCBoYXZlIHRoaXMgZmllbGQgdmFsdWUuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvdW50am9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnRlZBJyAuICRmaWVsZGlkIC4gJy52YWx1ZSA8ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyRwYXJhbWFycmF5W10gPSAkZmllbGRpZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdncmVhdGVyJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19udW1lcmljKCRmaWVsZGlkKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW1pdCByZXN1bHRzIHRvIGFsbCBvZiB0aGUgaXRlbXMgdGhhdCBoYXZlIHRoaXMgZmllbGQgdmFsdWUuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnRlZBJyAuICRmaWVsZGlkIC4gJy52YWx1ZSA8ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnIGMuJyAuICRmaWVsZGlkIC4gJyAgPiA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8kcGFyYW1hcnJheVtdID0gJGZpZWxkaWQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9ICRmaWVsZHZhbDsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnZ3JlYXRlcmVxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbWl0IHJlc3VsdHMgdG8gYWxsIG9mIHRoZSBpdGVtcyB0aGF0IGhhdmUgdGhpcyBmaWVsZCB2YWx1ZS4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY291bnRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlIDwgPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgJGZpZWxkaWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHBhcmFtYXJyYXlbXSA9ICRmaWVsZGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2xpa2UnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGltaXQgcmVzdWx0cyB0byBhbGwgb2YgdGhlIGl0ZW1zIHRoYXQgaGF2ZSB0aGlzIGZpZWxkIHZhbHVlLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ0ZWQScgLiAkZmllbGRpZCAuICcudmFsdWUgTElLRSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9ICclJyAuICRmaWVsZHZhbCAuICclJzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnbm90ZXF1YWwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGltaXQgcmVzdWx0cyB0byBhbGwgb2YgdGhlIGl0ZW1zIHRoYXQgaGF2ZSB0aGlzIGZpZWxkIHZhbHVlLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ0ZWQScgLiAkZmllbGRpZCAuICcudmFsdWUgIT0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgJGZpZWxkaWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHBhcmFtYXJyYXlbXSA9ICRmaWVsZGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2VxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbWl0IHJlc3VsdHMgdG8gYWxsIG9mIHRoZSBpdGVtcyB0aGF0IGhhdmUgdGhpcyBmaWVsZCB2YWx1ZS4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRjb3VudGpvaW5zLCBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkam9pbnMsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgJGZpZWxkaWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmIChpc19zdHJpbmcoJGZpZWxkaWQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZmllbGRpZCA9IHN0cl9pcmVwbGFjZShhcnJheSgnSWQnLCAnRGF0ZUVuZCcsICdEYXRlJyksIGFycmF5KCdfaWQnLCAnX2RhdGVfZW5kJywgJ19kYXRlJyksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZmlsdGVyID09ICdudWxsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ2MuJyAuICRmaWVsZGlkIC4gJyBJUyBOVUxMKSc7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ25vdG51bGwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnYy4nIC4gJGZpZWxkaWQgLiAnIElTIE5VTEwpJzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnaW4nKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0c3dpdGgoJGZpZWxkdmFsLCAnLCcpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZmllbGR2YWwgPSBzdWJzdHIoJGZpZWxkdmFsLCAxKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdjLicgLiAkZmllbGRpZCAuICcgSU4gKCcgLiAkZmllbGR2YWwgLiAnKSc7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2luc2V0Jykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydHN3aXRoKCRmaWVsZHZhbCwgJywnKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZpZWxkdmFsID0gc3Vic3RyKCRmaWVsZHZhbCwgMSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnIEZJTkRfSU5fU0VUKCcgLiAkZGItPnFzdHIoJGZpZWxkdmFsKSAuICcsIGMuJyAuICRmaWVsZGlkIC4gJykgPiAwJzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnbGlrZScpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICcgYy4nIC4gJGZpZWxkaWQgLiAnICBMSUtFICIlJyAuICRmaWVsZGlkIC4gJyUiJzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnbGVzcycpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdjLicgLiAkZmllbGRpZCAuICcgPCA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdsZXNzZXF1YWwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnYy4nIC4gJGZpZWxkaWQgLiAnIDw9ICA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdncmVhdGVyJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ2MuJyAuICRmaWVsZGlkIC4gJyA+ICA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdncmVhdGVyZXF1YWwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnYy4nIC4gJGZpZWxkaWQgLiAnID49ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2VxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ2MuJyAuICRmaWVsZGlkIC4gJyA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ25vdGVxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ2MuJyAuICRmaWVsZGlkIC4gJyAhPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQoNCi8vIHJlY3VyDQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2l0ZW1fZGF0ZV9mcm9tX3RvJ10pKSB7DQoNCiAgICAgICAgaWYgKCRkYXRlX2Zyb20gJiYgJGRhdGVfdG8pIHsNCg0KICAgICAgICAgICAgJGRheXMgPSByb3VuZCgoJGRhdGVfdG8gLSAkZGF0ZV9mcm9tKSAvICgzNjAwICogMjQpKTsNCg0KICAgICAgICAgICAgaWYgKCRkYXlzID4gNikgew0KICAgICAgICAgICAgICAgICR3aGVyZVtdID0gIigoYy5pdGVtX2RhdGUgID4gPyBBTkQgYy5pdGVtX2RhdGUgIDwgPyBBTkQgKGMucmVjdXJzaXZlID0gJycgT1IgYy5yZWN1cnNpdmUgSVMgTlVMTCkpDQpPUiAoYy5yZWN1cnNpdmUgPSAnZGFpbHknICkpIjsNCiAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2Zyb20pLCAiJyIpOw0KICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfdG8pLCAiJyIpOw0KICAgICAgICAgICAgICAgICRmaWVsZHNbXSA9ICJlLnZhbHVlIjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHdoZXJlW10gPSAiKChjLml0ZW1fZGF0ZSAgPiA/IEFORCBjLml0ZW1fZGF0ZSAgPCA/IEFORCAoYy5yZWN1cnNpdmUgPSAnJyBPUiBjLnJlY3Vyc2l2ZSBJUyBOVUxMKSkNCiAgICAgICAgICAgICAgICAgIE9SIChjLnJlY3Vyc2l2ZSA9ICdkYWlseScgIA0KQU5EICgoDQoNCklGKD8+PywNCklGKGUudmFsdWUgPj0gPyBPUiBlIC52YWx1ZSA8PSA/LDEsMCkNCixJRihlLnZhbHVlID49ID8gQU5EIGUgLnZhbHVlIDw9ID8sMSwwKQ0KKSANCg0KQU5EIElGKGUudmFsdWUgPSA/LCBJRihEQVRFX0ZPUk1BVChjLml0ZW1fZGF0ZSwnJUg6JWknKSA+ID8sMSwwKSwxKSANCkFORCBJRihlLnZhbHVlID0gPywgSUYoREFURV9GT1JNQVQoYy5pdGVtX2RhdGUsJyVIOiVpJykgPCA/LDEsMCksMSkpDQopICAgICAgICAgICAgICAgICAgDQopKSI7DQogICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV9mcm9tKSwgIiciKTsNCiAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX3RvKSwgIiciKTsNCg0KICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSBkYXRlKCd3JywgJGRhdGVfZnJvbSk7DQogICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ3cnLCAkZGF0ZV90byk7DQogICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ3cnLCAkZGF0ZV9mcm9tKTsNCiAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gZGF0ZSgndycsICRkYXRlX3RvKTsNCiAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gZGF0ZSgndycsICRkYXRlX2Zyb20pOw0KICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSBkYXRlKCd3JywgJGRhdGVfdG8pOw0KDQogICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ3cnLCAkZGF0ZV9mcm9tKTsNCiAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gZGF0ZSgnSDppJywgJGRhdGVfZnJvbSk7DQogICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ3cnLCAkZGF0ZV90byk7DQogICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ0g6aScsICRkYXRlX3RvKTsNCiAgICAgICAgICAgIH0NCg0KDQogICAgICAgICAgICAkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2V4dHJhIGUgT04gZS5pdGVtX2lkID0gYy5pdGVtX2lkJzsNCiAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9leHRyYSBlIE9OIGUuaXRlbV9pZCA9IGMuaXRlbV9pZCc7DQoNCiAgICAgICAgICAgIC8vJGZpZWxkc1tdID0gIklGKGMucmVjdXJzaXZlID0gJycgT1IgYy5yZWN1cnNpdmUgSVMgTlVMTCwgZGF0ZV9mb3JtYXQoYy5pdGVtX2RhdGUsICclWS0lbS0lZCAlSDolaScpLCBDT05DQVQoZGF0ZV9mb3JtYXQoTk9XKCkgKyBJTlRFUlZBTCAoZS52YWx1ZS0/KSBEQVksICclWS0lbS0lZCcpLCcgJyxkYXRlX2Zvcm1hdChjLml0ZW1fZGF0ZSwnJUg6JWknKSkpIEFTIGRhdGVfb3V0LCBlLnZhbHVlIjsNCiAgICAgICAgICAgIC8vYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgZGF0ZSgndycsIHRpbWUoKSkpOw0KICAgICAgICAgICAgJGZpZWxkc1tdID0gImUudmFsdWUsQ09OQ0FUKGRhdGVfZm9ybWF0KD8gKyBJTlRFUlZBTCBJRihlLnZhbHVlIDwgPywgKDctPykgKyBlLnZhbHVlLCBlLnZhbHVlLT8pIERBWSwnJVktJW0tJWQnKSwnICcsZGF0ZV9mb3JtYXQoYy5pdGVtX2RhdGUsJyVIOiVpJykpIGFzIGRhdGVfb3V0IjsNCg0KICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgZGF0ZSgndycsICRkYXRlX2Zyb20pKTsNCiAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksIGRhdGUoJ3cnLCAkZGF0ZV9mcm9tKSk7DQogICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCBkYXRlKCd3JywgJGRhdGVfZnJvbSkpOw0KICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2Zyb20pLCAiJyIpKTsNCg0KICAgICAgICAgICAgLyogJHdoZXJlMltdID0gJ2RhdGVfb3V0ICA+ID8gQU5EIGRhdGVfb3V0IDwgPyc7DQogICAgICAgICAgICAgICRwYXJhbWFycmF5MltdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2Zyb20pLCAiJyIpOw0KICAgICAgICAgICAgICAkcGFyYW1hcnJheTJbXSA9IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV90byksICInIik7ICovDQoNCiAgICAgICAgICAgICRzb3J0YnkgPSAnZGF0ZV9vdXQnOw0KICAgICAgICB9DQogICAgICAgICRncm91cGJ5ID0gJyBHUk9VUCBCWSBjLmFjdGl2ZSAnOw0KICAgIH0gZWxzZSB7DQoNCiAgICAgICAgaWYgKCRkYXRlX2Zyb20pIHsNCiAgICAgICAgICAgICR3aGVyZVtdID0gIiBjLml0ZW1fZGF0ZSAgPiA/IjsNCiAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfZnJvbSksICInIik7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoJGRhdGVfdG8pIHsNCiAgICAgICAgICAgICR3aGVyZVtdID0gIiBjLml0ZW1fZGF0ZSAgPCA/IjsNCiAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfdG8pLCAiJyIpOw0KICAgICAgICB9DQogICAgfQ0KDQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1siZGF0ZV9zdGFydCJdKSkgew0KDQogICAgICAgICR3aGVyZVtdID0gIiBjLml0ZW1fZGF0ZSA8IE5PVygpIjsNCiAgICB9DQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1siZGF0ZV9lbmQiXSkpIHsNCiAgICAgICAgJHdoZXJlW10gPSAiIGMuaXRlbV9kYXRlX2VuZCA+IE5PVygpIjsNCiAgICB9DQoNCg0KICAgICRxdWVyeSA9IHN0cl9yZXBsYWNlKCc8RklFTERTPicsIGltcGxvZGUoJywnLCAkZmllbGRzKSwgJHF1ZXJ5KTsNCiAgICAkcXVlcnkyID0gc3RyX3JlcGxhY2UoJzxGSUVMRFM+JywgaW1wbG9kZSgnLCcsICRmaWVsZHMpLCAkcXVlcnkyKTsNCg0KICAgIGlmIChjb3VudCgkam9pbnMpKSB7DQogICAgICAgICRxdWVyeSAuPSAnIExFRlQgSk9JTiAnIC4gaW1wbG9kZSgnIExFRlQgSk9JTiAnLCAkam9pbnMpOw0KICAgIH0NCiAgICBpZiAoY291bnQoJGNvdW50am9pbnMpKSB7DQogICAgICAgICRxdWVyeTIgLj0gJyBMRUZUIEpPSU4gJyAuIGltcGxvZGUoJyBMRUZUIEpPSU4gJywgJGNvdW50am9pbnMpOw0KICAgIH0NCiAgICAkcXVlcnkgPSAkcXVlcnkgLiAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZSk7DQogICAgJHF1ZXJ5MiA9ICRxdWVyeTIgLiAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZSk7DQoNCiAgICBpZiAoIWVtcHR5KCR3aGVyZTIpKSB7DQogICAgICAgICRxdWVyeSA9ICcgU0VMRUNUICogRlJPTSAoJyAuICRxdWVyeSAuICcpIHQnOw0KICAgICAgICAkcXVlcnkyID0gJyBTRUxFQ1QgKiBGUk9NICgnIC4gJHF1ZXJ5IC4gJykgdCc7DQogICAgICAgICRxdWVyeSA9ICRxdWVyeSAuICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJHdoZXJlMik7DQogICAgICAgICRxdWVyeTIgPSAkcXVlcnkyIC4gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCAkd2hlcmUyKTsNCiAgICB9DQoNCiAgICAkcGFyYW1hcnJheSA9IGFycmF5X21lcmdlKCRwYXJhbWFycmF5LCAkcGFyYW1hcnJheTIpOw0KDQoNCg0KDQogICAgaWYgKCRzb3J0dHlwZSA9PSAnJykgew0KICAgICAgICAkcXVlcnkgLj0gIiBPUkRFUiBCWSAiIC4gJHNvcnRieSAuICIgIiAuICRzb3J0b3JkZXI7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgQ0FTVCgnIC4gJHNvcnRieSAuICcgQVMgJyAuICRzb3J0dHlwZSAuICcpICcgLiAkc29ydG9yZGVyOw0KICAgIH0NCg0KDQovLyBFeGVjdXRlIHRoZSBRdWVyaWVzDQogICAgJHRtcF9pZCA9ICdjJyAuIG1kNSgkbW9kLT5HZXROYW1lKCkgLiAkcXVlcnkyIC4gc2VyaWFsaXplKCRwYXJhbXMpIC4gc2VyaWFsaXplKCRwYXJhbWFycmF5KSAuICRyZXR1cm5pZCk7DQogICAgJGNvdW50ID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJHRtcF9pZCk7DQogICAgaWYgKCEkY291bnQpIHsNCiAgICAgICAgaWYgKCRncm91cGJ5KQ0KICAgICAgICAgICAgJHF1ZXJ5MiAuPSAkZ3JvdXBieTsNCiAgICAgICAgJGNvdW50ID0gJGRiLT5HZXRPbmUoJHF1ZXJ5MiAuICcgR1JPVVAgQlkgY2EuY3JlYXRlX2RhdGUnLCAkcGFyYW1hcnJheSk7DQogICAgICAgIC8vZWNobyAkZGItPnNxbDsNCiAgICAgICAgLy8gcmV0dXJuIGZpcnN0IHJvdw0KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1sib25lY291bnQiXSkpIHsNCiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWyJvbmVjb3VudCJdLCAkY291bnQpOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoJHRtcF9pZCwgJGNvdW50KTsNCiAgICB9DQoNCi8vJHRtcF9pZCA9IG1kNSgkbW9kLT5HZXROYW1lKCkgLiBtZDUoJHF1ZXJ5KSAuIGltcGxvZGUoJ18nLCAkcGFyYW1hcnJheSkgLiBpbXBsb2RlKCdfJywgJHBhcmFtcykgLiAkbGltaXQgLiAkc3RhcnRlbGVtZW50IC4gJ3Jlc3VsdHMnKTsNCiAgICAkdG1wX2lkID0gJ20nIC4gbWQ1KCRtb2QtPkdldE5hbWUoKSAuICRxdWVyeSAuIHNlcmlhbGl6ZSgkcGFyYW1zKSAuIHNlcmlhbGl6ZSgkcGFyYW1hcnJheSkgLiAkcmV0dXJuaWQpOw0KICAgICRkYnJlc3VsdCA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCR0bXBfaWQpOw0KICAgIGlmICghJGRicmVzdWx0KSB7DQogICAgICAgICRwYXJhbWFycmF5ID0gYXJyYXlfbWVyZ2UoJHBhcmFtYXJyYXl0bXAsICRwYXJhbWFycmF5KTsNCiAgICAgICAgJHF1ZXJ5IC49ICcgTElNSVQgJyAuICRzdGFydGVsZW1lbnQgLiAnLCcgLiAkbGltaXQ7DQogICAgICAgICRkYnJlc3VsdCA9ICRkYi0+R2V0QWxsKCRxdWVyeSwgJHBhcmFtYXJyYXkpOw0KICAgICAgICAvL2VjaG8gJGRiLT5zcWw7DQogICAgICAgIGNtc191dGlsczo6c2V0X2FwcF9kYXRhKCR0bXBfaWQsICRkYnJlc3VsdCk7DQogICAgfQ0KfQ0KDQovLyBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBwYWdlcw0KJG5wYWdlcyA9IGludHZhbCgkY291bnQgLyAkbGltaXQpOw0KaWYgKCRjb3VudCAlICRsaW1pdCAhPSAwKQ0KICAgICRucGFnZXMrKzsNCg0KJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KDQppZiAoJGRicmVzdWx0KSB7DQogICAgZm9yZWFjaCAoJGRicmVzdWx0IGFzICRyb3cpIHsNCiAgICAgICAgJG9uZXJvdyA9IGNnZV9hcnJheTo6dG9fb2JqZWN0KCRyb3cpOw0KDQogICAgICAgICRkdHBhZ2UgPSAoJGRlZmF1bHRfZGV0YWlscGFnZSA9PSAtMSAmJiAhaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSA/ICRkZXRhaWxwYWdlIDogKGlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6ICcnICkpOw0KICAgICAgICBpZiAoZW1wdHkoJHJvd1sidXJsIl0pID09IGZhbHNlKSB7DQogICAgICAgICAgICAkcHJldHR5dXJsID0gJHJvd1sidXJsIl07DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkcHJldHR5dXJsID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJldHR5X3VybCgkdGhpcywgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJlZml4KCRtb2QpLCAkcm93WydpdGVtX2lkJ10sICRyb3dbJ2FsaWFzJ10sICRkdHBhZ2UsICRkZXRhaWx0ZW1wbGF0ZSk7DQogICAgICAgIH0NCg0KICAgICAgICAkb25lcm93LT51cmwgPSAkb25lcm93LT5saW5rID0gJG1vZC0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJGR0cGFnZSwgJ2RldGFpbCcsICcnLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddLCAnZGV0YWlsdGVtcGxhdGUnID0+ICRkZXRhaWx0ZW1wbGF0ZSksICcnLCB0cnVlLCAkaW5saW5lLCAnJywgZmFsc2UsICRwcmV0dHl1cmwpOw0KICAgICAgICAkb25lcm93LT5maWxlX2xvY2F0aW9uID0gZ2VuZXJhdG9yX3Rvb2xzOjpmaWxlX2xvY2F0aW9uKCR0aGlzLCAkcm93KTsNCg0KICAgICAgICAkaXRlbV9nYWxsZXJ5ID0gbmV3IGdlbmVyYXRvcl9pdGVtX2dhbGxlcnkoJG1vZCwgJHJvd1siaXRlbV9pZCJdKTsNCiAgICAgICAgJGltYWdlcyA9ICRpdGVtX2dhbGxlcnktPmxvYWRfZmlsZXMoKTsNCiAgICAgICAgJG9uZXJvdy0+aW1hZ2VzID0gJGltYWdlczsNCg0KDQogICAgICAgIC8vIGFkZCBjdXN0b20gZmllbGRzDQogICAgICAgICRmaWVsZGRlZnMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jb3N0dW1fZmllbGRfZGVmKCRtb2QsICRyb3dbJ2l0ZW1faWQnXSwgdHJ1ZSk7DQogICAgICAgICRmaWVsZHMgPSBhcnJheSgpOw0KICAgICAgICBmb3JlYWNoICgkZmllbGRkZWZzIGFzICRvbmVkZWYpIHsNCiAgICAgICAgICAgIGlmIChlbXB0eSgkb25lZGVmWyJhbGlhcyJdKSA9PSBmYWxzZSAmJiBpbl9hcnJheSgkb25lZGVmWyJhbGlhcyJdLCBnZW5lcmF0b3JfdG9vbHM6OiRmaWVsZHNfYmxvY2tsaXN0KSA9PSBmYWxzZSkgew0KICAgICAgICAgICAgICAgICRvbmVyb3ctPiRvbmVkZWZbImFsaWFzIl0gPSAkb25lZGVmWyJ2YWx1ZSJdOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICRvbmVyb3ctPmZpZWxkcyA9ICRmaWVsZGRlZnM7DQogICAgICAgICRlbnRyeWFycmF5W10gPSAkb25lcm93Ow0KICAgICAgICAkaXRlbXNhcnJheVtdID0gJHJvdzsNCiAgICB9DQp9DQoNCg0KDQovLyByZXR1cm4gZmlyc3Qgcm93DQppZiAoaXNzZXQoJHBhcmFtc1sib25lcm93Il0pKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbIm9uZXJvdyJdLCAoaXNzZXQoJGVudHJ5YXJyYXlbMF0pID8gJGVudHJ5YXJyYXlbMF0gOiAnJykpOw0KICAgIHJldHVybjsNCn0NCg0KLy9yZXR1cm4gIGFsbCByZXN1bHRzDQppZiAoaXNzZXQoJHBhcmFtc1siYWxscm93Il0pKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFsbHJvdyJdLCAkZW50cnlhcnJheSk7DQogICAgcmV0dXJuOw0KfQ0KDQovLyByZXR1cm4gaXRlbXMgZm9yIG1vZHVsZQ0KaWYgKGlzc2V0KCRwYXJhbXNbIml0ZW1zIl0pICYmICRwYXJhbXNbIml0ZW1zIl0gPT0gdHJ1ZSkgew0KICAgIGdlbmVyYXRvcl90b29sczo6JGl0ZW1zID0gJGVudHJ5YXJyYXk7DQogICAgcmV0dXJuOw0KfQ0KDQovLw0KLy8gR2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQ0KLy8NCg0KZm9yZWFjaCAoJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSkgew0KICAgIGlmICgka2V5ID09ICdtYWN0JyB8fCAka2V5ID09ICdhY3Rpb24nKQ0KICAgICAgICBjb250aW51ZTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3BhcmFtXycgLiAka2V5LCAkdmFsdWUpOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ21vZHVsZXVybCcsICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJ3Rlc3QnLCAkcGFyYW1zLCAnJywgdHJ1ZSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRlbnRyeWFycmF5KTsNCiRzbWFydHktPmFzc2lnbigndG90YWxjb3VudCcsICRjb3VudCk7DQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7DQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1vbnBhZ2UnLCAoKCRwYWdlIC0gMSkgKiAkbGltaXQpICsgY291bnQoJGVudHJ5YXJyYXkpKTsNCiRzbWFydHktPmFzc2lnbigncGFnZXRleHQnLCBnZW5lcmF0b3IoKS0+TGFuZygncGFnZScpKTsNCiRzbWFydHktPmFzc2lnbignb2Z0ZXh0JywgZ2VuZXJhdG9yKCktPkxhbmcoJ29mJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdwYWdlY291bnQnLCAkbnBhZ2VzKTsNCiRzbWFydHktPmFzc2lnbignY3VycGFnZScsICRwYWdlKTsNCiRzbWFydHktPmFzc2lnbigncGFnZW51bWJlcicsICRwYWdlKTsNCmlmICgkcGFnZSA9PSAxKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdGxpbmsnLCBnZW5lcmF0b3IoKS0+TGFuZygnZmlyc3RwYWdlJykpOw0KICAgICRzbWFydHktPmFzc2lnbigncHJldmxpbmsnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJldnBhZ2UnKSk7DQp9IGVsc2Ugew0KICAgICRwYXJtcyA9ICRwYXJhbXM7DQogICAgJHBhcm1zWydwYWdlJ10gPSAxOw0KICAgICRzbWFydHktPmFzc2lnbignZmlyc3RsaW5rJywgJG1vZC0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygnZmlyc3RwYWdlJyksICRwYXJtcywgJycsIGZhbHNlLCAkaW5saW5lKSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHVybCcsICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpcnN0cGFnZScpLCAkcGFybXMsICcnLCB0cnVlLCAkaW5saW5lKSk7DQogICAgJHBhcm1zWydwYWdlJ10gPSAkcGFnZSAtIDE7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2bGluaycsICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgZ2VuZXJhdG9yKCktPkxhbmcoJ3ByZXZwYWdlJyksICRwYXJtcywgJycsIGZhbHNlLCAkaW5saW5lKSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2dXJsJywgJG1vZC0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygncHJldnBhZ2UnKSwgJHBhcm1zLCAnJywgdHJ1ZSwgJGlubGluZSkpOw0KfQ0KaWYgKCRwYWdlID09ICRucGFnZXMpIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RsaW5rJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2xhc3RwYWdlJykpOw0KICAgICRzbWFydHktPmFzc2lnbignbmV4dGxpbmsnLCBnZW5lcmF0b3IoKS0+TGFuZygnbmV4dHBhZ2UnKSk7DQp9IGVsc2Ugew0KICAgICRwYXJtcyA9ICRwYXJhbXM7DQogICAgJHBhcm1zWydwYWdlJ10gPSAkbnBhZ2VzOw0KICAgICRzbWFydHktPmFzc2lnbignbGFzdGxpbmsnLCAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsIGdlbmVyYXRvcigpLT5MYW5nKCdsYXN0cGFnZScpLCAkcGFybXMsICcnLCBmYWxzZSwgJGlubGluZSkpOw0KICAgICRzbWFydHktPmFzc2lnbignbGFzdHVybCcsICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgZ2VuZXJhdG9yKCktPkxhbmcoJ2xhc3RwYWdlJyksICRwYXJtcywgJycsIHRydWUsICRpbmxpbmUpKTsNCiAgICAkcGFybXNbJ3BhZ2UnXSA9ICRwYWdlICsgMTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRsaW5rJywgJG1vZC0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygnbmV4dHBhZ2UnKSwgJHBhcm1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHR1cmwnLCAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsIGdlbmVyYXRvcigpLT5MYW5nKCduZXh0cGFnZScpLCAkcGFybXMsICcnLCB0cnVlLCAkaW5saW5lKSk7DQp9DQoNCi8vDQovLyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQ0KLy8NCg0KZWNobyAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsNCg0KIw0KIyBFT0YNCiMNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpDQogICAgcmV0dXJuOw0KLy8gdG9wIG5hdg0KZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IGZsb2F0OnJpZ2h0OyB3aWR0aDogNDAlOyI+JzsNCmlmICgkbW9kLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSkgew0KDQogICAgZWNobyAkbW9kLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCAnYWRtaW5fZmllbGRzJywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZzJyksICdpY29ucy90b3BmaWxlcy9zaXRlYWRtaW4uZ2lmJywgYXJyYXkoKSwgJycsICcnLCBmYWxzZSk7DQogICAgZWNobyAkbW9kLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCAnYWRtaW5fdGVtcGxhdGVzJywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygndGVtcGxhdGVzJyksICdpY29ucy90b3BmaWxlcy90ZW1wbGF0ZS5naWYnLCBhcnJheSgpLCAnJywgJycsIGZhbHNlKTsNCn0NCmlmICgkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgew0KICAgIGVjaG8gJG1vZC0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwgJ2FkbWluX3ByZWZzJywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygnb3B0aW9ucycpLCAnaWNvbnMvdG9wZmlsZXMvcHJlZmVyZW5jZXMuZ2lmJywgYXJyYXkoKSwgJycsICcnLCBmYWxzZSk7DQp9DQplY2hvICc8L2Rpdj4nOw0KDQokbW9kdWxlID0gZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGUoJG1vZC0+R2V0TmFtZSgpKTsNCiRhdHRhY2ggPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X2F0dGFjaF9tb2R1bGVzKCRtb2R1bGVbImF0dGFjaCJdKTsNCmlmICgkYXR0YWNoKSB7DQogICAgJGF0dGFjaG1vZHVsZXMgPSBleHBsb2RlKCcsJywgJGF0dGFjaCk7DQogICAgZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IGZsb2F0OmxlZnQ7IHdpZHRoOiA1MCU7Ij4nOw0KICAgIGZvcmVhY2ggKCRhdHRhY2htb2R1bGVzIGFzICRhdHRhY2htb2R1bGUpIHsNCiAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSh0cmltKCRhdHRhY2htb2R1bGUpKTsNCiAgICAgICAgaWYgKCRtb2R1bGUpIHsNCiAgICAgICAgICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJyksICdpY29ucy9zeXN0ZW0vZXhwYW5kLmdpZicsIGFycmF5KCksICcnLCAnJywgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KICAgIGVjaG8gJzwvZGl2Pic7DQp9DQoNCg0KZWNobyAnPGJyIHN0eWxlPSJjbGVhcjpib3RoIiAvPic7DQoNCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkpIHsNCiAgICBlY2hvICRtb2QtPlNob3dNZXNzYWdlKGdlbmVyYXRvcigpLT5MYW5nKCRwYXJhbXNbJ21lc3NhZ2UnXSkpOw0KfQ0KDQppZiAoaXNzZXQoJHBhcmFtc1snZXJyb3JzJ10pICYmIGNvdW50KCRwYXJhbXNbJ2Vycm9ycyddKSkgew0KICAgIGVjaG8gJG1vZC0+U2hvd0Vycm9ycygkcGFyYW1zWydlcnJvcnMnXSk7DQp9DQoNCg0KZWNobyAkbW9kLT5TdGFydFRhYkhlYWRlcnMoKTsNCmVjaG8gJG1vZC0+U2V0VGFiSGVhZGVyKCdpdGVtdGFiJywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9wbHVyYWwnLCAnJykpOw0KDQppZiAoJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcmllcycpKSB7DQogICAgZWNobyAkbW9kLT5TZXRUYWJIZWFkZXIoJ2NhdGVnb3J5dGFiJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2NhdGVnb3JpZXMnKSk7DQp9DQoNCmVjaG8gJG1vZC0+RW5kVGFiSGVhZGVycygpOw0KZWNobyAkbW9kLT5TdGFydFRhYkNvbnRlbnQoKTsNCg0KZWNobyAkbW9kLT5TdGFydFRhYignaXRlbXRhYicsICRwYXJhbXMpOw0KaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5faXRlbXRhYi5waHAnOw0KZWNobyAkbW9kLT5FbmRUYWIoKTsNCg0KaWYgKCRtb2QtPkNoZWNrUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3JpZXMnKSkgew0KICAgIGVjaG8gJG1vZC0+U3RhcnRUYWIoJ2NhdGVnb3J5dGFiJywgJHBhcmFtcyk7DQogICAgaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fY2F0ZWdvcnl0YWIucGhwJzsNCiAgICBlY2hvICRtb2QtPkVuZFRhYigpOw0KfQ0KDQplY2hvICRtb2QtPkVuZFRhYkNvbnRlbnQoKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRpdGVtID0gJyc7DQokaW5saW5lID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCBmYWxzZSk7DQoNCiRkZWZhdWx0X2RldGFpbHBhZ2UgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RldGFpbF9yZXR1cm5pZCcsICcnKTsNCiRkZXRhaWxwYWdlID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6ZGV0YWlscGFnZSgkcGFyYW1zLCAkZGVmYXVsdF9kZXRhaWxwYWdlKTsNCmlmICgkZGV0YWlscGFnZSA9PSAkZGVmYXVsdF9kZXRhaWxwYWdlKQ0KICAgIHVuc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSk7DQoNCg0KLy8gdGVtcGxhdGUNCiRkZXRhaWx0ZW1wbGF0ZSA9ICR0aGV0ZW1wbGF0ZSA9ICdkZXRhaWxfdGVtcGxhdGUnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9kZXRhaWxfdGVtcGxhdGUnKTsNCmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSAmJiAhZW1wdHkoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkpIHsNCiAgICAkZGV0YWlsdGVtcGxhdGUgPSAkdGhldGVtcGxhdGUgPSAnZGV0YWlsX3RlbXBsYXRlJyAuICRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ107DQp9DQoNCmlmIChpc3NldCgkcGFyYW1zWydpbmxpbmUnXSkpIHsNCiAgICAkaW5saW5lID0gJHBhcmFtc1snaW5saW5lJ107DQp9DQoNCmlmICgkaWQgPT0gJ19wcmV2aWV3XycgJiYgaXNzZXQoJF9TRVNTSU9OWydpdGVtX3ByZXZpZXcnXSkgJiYgaXNzZXQoJHBhcmFtc1sncHJldmlldyddKSkgew0KICAgIC8vIHNlZSBpZiBvdXIgZGF0YSBtYXRjaGVzLg0KICAgIGlmIChtZDUoc2VyaWFsaXplKCRfU0VTU0lPTlsnaXRlbV9wcmV2aWV3J10pKSA9PSAkcGFyYW1zWydwcmV2aWV3J10pIHsNCiAgICAgICAgJGZuYW1lID0gVE1QX0NBQ0hFX0xPQ0FUSU9OIC4gJy8nIC4gJF9TRVNTSU9OWydpdGVtX3ByZXZpZXcnXVsnZm5hbWUnXTsNCiAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRmbmFtZSkgJiYgKG1kNV9maWxlKCRmbmFtZSkgPT0gJF9TRVNTSU9OWydpdGVtX3ByZXZpZXcnXVsnY2hlY2tzdW0nXSkpIHsNCiAgICAgICAgICAgICRyb3cgPSAkcGFyYW1zID0gdW5zZXJpYWxpemUoZmlsZV9nZXRfY29udGVudHMoJGZuYW1lKSk7DQogICAgICAgICAgICAkdG1wX2lkID0gJ2QnIC4gbWQ1KCRtb2QtPkdldE5hbWUoKSAuIHNlcmlhbGl6ZSgkcGFyYW1zIC4gJHJvdykpOw0KICAgICAgICAgICAgJGl0ZW1zID0gZ2VuZXJhdG9yX29wdHM6OmZpbGxfaXRlbV9mcm9tX2Zvcm1wYXJhbXMoJG1vZCwgJHJvdywgJHBhcmFtcyk7DQogICAgICAgICAgICAkdG1wX2lkMiA9ICR0bXBfaWQgLiAnZCcgLiAkcm93WydpdGVtX2lkJ107DQogICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YSgkdG1wX2lkMiwgZ2VuZXJhdG9yX29wdHM6OiRmaWVsZGRlZnMpOw0KICAgICAgICB9DQogICAgfQ0KfSBlbHNlIHsNCg0KLy8gU0VMRUNUIEZST00NCiAgICAkcXVlcnkgPSAnU0VMRUNUIEEuKiwgQi5jYXRlZ29yeV9pZCwgQi5jYXRlZ29yeV9uYW1lLCBCLmNhdGVnb3J5X2FsaWFzIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIEEnOw0KLy8gTEVGVCBKT0lODQogICAgJHF1ZXJ5IC49ICcgTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcyBCIE9OIEEuY2F0ZWdvcnlfaWQgPSBCLmNhdGVnb3J5X2lkJzsNCi8vIFdIRVJFDQogICAgJHF1ZXJ5IC49ICcgV0hFUkUgQS5hY3RpdmUgPSAxIEFORCBpdGVtX2lkID0gPyBMSU1JVCAxJzsNCiAgICAkdG1wX2lkID0gJ2QnIC4gbWQ1KCRtb2QtPkdldE5hbWUoKSAuICRxdWVyeSAuIHNlcmlhbGl6ZSgkcGFyYW1zKSAuICRyZXR1cm5pZCk7DQogICAgJHJvdyA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCR0bXBfaWQpOw0KfQ0KDQppZiAoISRyb3cpIHsNCiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydpdGVtX2lkJ10pKTsNCiAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YSgkdG1wX2lkLCAkcm93KTsNCn0NCmlmICghJHJvdykgew0KICAgIGlmIChpc3NldCgkcGFyYW1zWyJvbmVyb3ciXSkpIHsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbIm9uZXJvdyJdLCAnJyk7DQogICAgfQ0KICAgIHJldHVybjsNCn0NCg0KJGl0ZW0gPSBjZ2VfYXJyYXk6OnRvX29iamVjdCgkcm93KTsNCiRpdGVtLT5maWxlX2xvY2F0aW9uID0gZ2VuZXJhdG9yX3Rvb2xzOjpmaWxlX2xvY2F0aW9uKCRtb2QsICRyb3cpOw0KDQovLyBpdGVtIGZpZWxkcw0KJGZpZWxkZGVmcyA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2Nvc3R1bV9maWVsZF9kZWYoJG1vZCwgJHJvd1snaXRlbV9pZCddLCB0cnVlKTsNCiRmaWVsZHMgPSBhcnJheSgpOw0KZm9yZWFjaCAoJGZpZWxkZGVmcyBhcyAka2V5ID0+ICRvbmVkZWYpIHsNCiAgICBpZiAoZW1wdHkoJG9uZWRlZlsiYWxpYXMiXSkgPT0gZmFsc2UgJiYgaW5fYXJyYXkoJG9uZWRlZlsiYWxpYXMiXSwgZ2VuZXJhdG9yX3Rvb2xzOjokZmllbGRzX2Jsb2NrbGlzdCkgPT0gZmFsc2UpIHsNCiAgICAgICAgJGl0ZW0tPiRvbmVkZWZbImFsaWFzIl0gPSAkb25lZGVmWyJ2YWx1ZSJdOw0KICAgIH0NCn0NCiRpdGVtLT5maWVsZHMgPSAkZmllbGRkZWZzOw0KJGl0ZW0tPmZpZWxkZGVmcyA9ICRmaWVsZGRlZnM7DQoNCi8vIGNhdGVnb3J5IGZpZWxkcw0KJGZpZWxkZGVmcyA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2Nvc3R1bV9maWVsZF9kZWYoJG1vZCwgJHJvd1snaXRlbV9pZCddLCB0cnVlLCAnYWxpYXMnLCAnY2F0ZWdvcnknKTsNCiRmaWVsZHMgPSBhcnJheSgpOw0KZm9yZWFjaCAoJGZpZWxkZGVmcyBhcyAka2V5ID0+ICRvbmVkZWYpIHsNCiAgICBpZiAoZW1wdHkoJG9uZWRlZlsiYWxpYXMiXSkgPT0gZmFsc2UgJiYgaW5fYXJyYXkoJG9uZWRlZlsiYWxpYXMiXSwgZ2VuZXJhdG9yX3Rvb2xzOjokZmllbGRzX2Jsb2NrbGlzdCkgPT0gZmFsc2UpIHsNCiAgICAgICAgJGl0ZW0tPiRvbmVkZWZbImFsaWFzIl0gPSAkb25lZGVmWyJ2YWx1ZSJdOw0KICAgIH0NCn0NCiRpdGVtLT5jYXRlZ29yeWZpZWxkcyA9ICRmaWVsZGRlZnM7DQokaXRlbS0+Y2F0ZWdvcnlmaWVsZGRlZnMgPSAkZmllbGRkZWZzOw0KDQokZHRwYWdlID0gKCRkZWZhdWx0X2RldGFpbHBhZ2UgPT0gLTEgJiYgIWlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6IChpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pID8gJGRldGFpbHBhZ2UgOiAnJyApKTsNCmlmIChlbXB0eSgkcm93WyJ1cmwiXSkgPT0gZmFsc2UpIHsNCiAgICAkcHJldHR5dXJsID0gJHJvd1sidXJsIl07DQp9IGVsc2Ugew0KICAgICRwcmV0dHl1cmwgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmV0dHlfdXJsKCR0aGlzLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmVmaXgoJG1vZCksICRyb3dbJ2l0ZW1faWQnXSwgJHJvd1snYWxpYXMnXSwgJGR0cGFnZSwgJGRldGFpbHRlbXBsYXRlKTsNCn0NCg0KJGl0ZW1fZ2FsbGVyeSA9IG5ldyBnZW5lcmF0b3JfaXRlbV9nYWxsZXJ5KCRtb2QsICRyb3dbIml0ZW1faWQiXSk7DQokaW1hZ2VzID0gJGl0ZW1fZ2FsbGVyeS0+bG9hZF9maWxlcygpOw0KJGl0ZW0tPmltYWdlcyA9ICRpbWFnZXM7DQoNCg0KJGl0ZW0tPnVybCA9ICRpdGVtLT5saW5rID0gJG1vZC0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJGR0cGFnZSwgJ2RldGFpbCcsICcnLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddLCAnZGV0YWlsdGVtcGxhdGUnID0+ICRkZXRhaWx0ZW1wbGF0ZSksICcnLCB0cnVlLCAkaW5saW5lLCAnJywgZmFsc2UsICRwcmV0dHl1cmwpOw0KDQokcHJldHR5dXJsID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJldHR5X3VybCgkdGhpcywgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJlZml4KCRtb2QpIC4gJy9jJywgJHJvd1snY2F0ZWdvcnlfaWQnXSwgJHJvd1snY2F0ZWdvcnlfYWxpYXMnXSwgKCRkZWZhdWx0X2RldGFpbHBhZ2UgPT0gLTEgJiYgIWlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6ICcnKSwgJGNhdGVnb3J5dGVtcGxhdGUpOw0KJGl0ZW0tPmNhdGVnb3J5X2xpbmsgPSAkaXRlbS0+Y2F0ZWdvcnlfdXJsID0gJG1vZC0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZGVmYXVsdCcsICcnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRyb3dbJ2NhdGVnb3J5X2lkJ10sICdjYXRlZ29yeXRlbXBsYXRlJyA9PiAkY2F0ZWdvcnl0ZW1wbGF0ZSksICcnLCB0cnVlLCBpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgPyAxIDogMCwgJycsIGZhbHNlLCAkcHJldHR5dXJsKTsNCg0KDQppZiAoaXNzZXQoJHBhcmFtc1sib25lcm93Il0pKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbIm9uZXJvdyJdLCAkaXRlbSk7DQogICAgcmV0dXJuOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW0nLCAkaXRlbSk7DQoNCi8vDQovLyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQ0KLy8NCg0KZWNobyAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsNCg0KLyoNCiAqIDwhLS10aXRsZV9wYXJhbTogeyR0aXRsZV9wYXJhbX0tLT4NCiAqLw0KaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ3RpdGxlX3BhcmFtX2Zvcl9jYWNoZScpKSB7DQogICAgJHNtYXJ0eV92YXJzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoKTsNCiAgICAkdGl0bGVzX2FycmF5ID0gZXhwbG9kZSgnLCcsICRtb2QtPkdldFByZWZlcmVuY2UoJ3RpdGxlX3BhcmFtX2Zvcl9jYWNoZScpKTsNCiAgICBmb3JlYWNoICgkdGl0bGVzX2FycmF5IGFzICR0aXRsZSkgew0KICAgICAgICAkdmFsdWUgPSAkc21hcnR5X3ZhcnNbJHRpdGxlXTsNCiAgICAgICAgaWYgKCR2YWx1ZSkgew0KICAgICAgICAgICAgZWNobyAiPCEtLSIgLiAkdGl0bGUgLiAiOiIgLiAkdmFsdWUgLiAiLS0+XG4iOw0KICAgICAgICB9DQogICAgfQ0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.fesubmit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Ci8vIG5vdGhpbmcKPz4K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLy8gU2V0dXANCi8vDQokcGFnZWxpbWl0cyA9IGFycmF5KCcyJyA9PiAyLCAnNScgPT4gNSwgJzI1JyA9PiAyNSwgJzEwMCcgPT4gMTAwLCAnNTAwJyA9PiA1MDApOw0KJHNvcnRpdGVtcyA9IGFycmF5KCk7DQokc29ydGl0ZW1zW2dlbmVyYXRvcigpLT5MYW5nKCdkYXRlJyldID0gJ2l0ZW1fZGF0ZSc7DQokc29ydGl0ZW1zW2dlbmVyYXRvcigpLT5MYW5nKCdjcmVhdGVkZGF0ZScpXSA9ICdjcmVhdGVfZGF0ZSc7DQokc29ydGl0ZW1zW2dlbmVyYXRvcigpLT5MYW5nKCdtb2RpZmllZGRhdGUnKV0gPSAnbW9kaWZpZWRfZGF0ZSc7DQokc29ydG9yZGVycyA9IGFycmF5KCk7DQokc29ydG9yZGVyc1tnZW5lcmF0b3IoKS0+TGFuZygnYXNjZW5kaW5nJyldID0gJ2FzYyc7DQokc29ydG9yZGVyc1tnZW5lcmF0b3IoKS0+TGFuZygnZGVzY2VuZGluZycpXSA9ICdkZXNjJzsNCiRpbmxpbmUgPSBpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgPyAkcGFyYW1zWyJpbmxpbmUiXSA6IDA7DQoNCiRoaWVyYXJjaHkgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19oaWVyYXJjaHknLCAnJyk7DQokY2hpbGRyZW4gPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jaGlsZHJlbicsIDApOw0KJHBhZ2VsaW1pdCA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3BhZ2VsaW1pdCcsIDI1KTsNCiRzb3J0YnkgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19zb3J0YnknLCAnaXRlbV9kYXRlJyk7DQokc29ydG9yZGVyID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfc29ydG9yZGVyJywgJ2Rlc2MnKTsNCiRkYXRlX2Zyb20gPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kYXRlX2Zyb20nLCB0aW1lKCkgLSAoMzYwMCAqIDI0ICogNykpOw0KJGRhdGVfdG8gPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kYXRlX3RvJywgdGltZSgpKTsNCg0KDQokY2F0ZWdvcnlsaXN0ID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfY2F0ZWdvcnlfbGlzdCgkbW9kKTsNCmlmICgkaW5saW5lKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkbW9kLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsICdmaWx0ZXInLCAkcmV0dXJuaWQsIGFycmF5KCksICRpbmxpbmUsICdHRVQnKSk7DQp9IGVsc2Ugew0KICAgICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJG1vZC0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgYXJyYXkoKSwgJGlubGluZSwgJ0dFVCcpKTsNCn0NCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsICRtb2QtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZXJhcmNoeScsICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnaW5wdXRfaGllcmFyY2h5JywgJGNhdGVnb3J5bGlzdCwgLTEsICRoaWVyYXJjaHkpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfY2hpbGRyZW4nLCAkbW9kLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCAnaW5wdXRfY2hpbGRyZW4nLCAkY2hpbGRyZW4pKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc29ydGJ5JywgJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpbnB1dF9zb3J0YnknLCAkc29ydGl0ZW1zLCAtMSwgJHNvcnRieSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0b3JkZXInLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X3NvcnRvcmRlcicsICRzb3J0b3JkZXJzLCAtMSwgJHNvcnRvcmRlcikpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X3BhZ2VsaW1pdCcsICRwYWdlbGltaXRzLCAtMSwgJHBhZ2VsaW1pdCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2RhdGVfZnJvbScsICRkYXRlX2Zyb20pOw0KJHNtYXJ0eS0+YXNzaWduKCdkYXRlX3RvJywgJGRhdGVfdG8pOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1Ym1pdCcsICRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICRtb2QtPkxhbmcoJ3N1Ym1pdCcpKSk7DQoNCi8vIGN1c3RvbSBmaWVsZHMNCiRmaWVsZHNfZm9yX2ZpbHRlciA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2ZpZWxkX2RlZnMoJG1vZCwgbnVsbCwgMSwgbnVsbCk7DQokY3VzdG9tX2ZsZHMgPSBhcnJheSgxKTsNCiRjdXN0b21fZmllbGRzX3ZhbHVlcyA9IGFycmF5KCk7DQpmb3JlYWNoICgkZmllbGRzX2Zvcl9maWx0ZXIgYXMgJHJvdykgew0KICAgICRjdXN0b21fZmxkc1skcm93WydmaWVsZGRlZl9pZCddXSA9ICRyb3c7DQogICAgJGN1c3RvbV9maWVsZHNfdmFsdWVzWyRyb3dbJ2ZpZWxkZGVmX2lkJ11dID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2N1c3RvbWZpZWxkcycgLiAkcm93WydmaWVsZGRlZl9pZCddLCAnJyk7DQp9DQoNCg0KLy8gZ2V0IHRoZSBjdXN0b20gZmllbGRzDQokZmlsdGVycyA9IG5ldyBnZW5lcmF0b3JfZmlsdGVycygkaWQsICRtb2QsICdhZG1pbicpOw0KJGN1c3RvbV9mbGRzID0gJGZpbHRlcnMtPnByb2Nlc3NfY3VzdG9tX2ZpZWxkcyhhcnJheSgpLCAkY3VzdG9tX2ZsZHMpOw0KJGN1c3RvbV9mbGRzX29iaiA9ICRmaWx0ZXJzLT5nZW5lcmF0ZSgkaXRlbV9pZCwgJHBhcmFtcywgJGN1c3RvbV9maWVsZHNfdmFsdWVzLCAxKTsNCmlmIChpc3NldCgkY3VzdG9tX2ZsZHNfb2JqKSAmJiBjb3VudCgkY3VzdG9tX2ZsZHNfb2JqKSA+IDApIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9maWVsZGRlZicsICRjdXN0b21fZmxkc19vYmopOw0KfQ0KDQovLyBzbWFydHkgcGFyYW1zDQpmb3JlYWNoICgkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlKSB7DQogICAgaWYgKCRrZXkgPT0gJ21hY3QnIHx8ICRrZXkgPT0gJ2FjdGlvbicpDQogICAgICAgIGNvbnRpbnVlOw0KICAgICRzbWFydHktPmFzc2lnbigncGFyYW1fJyAuICRrZXksICR2YWx1ZSk7DQp9DQoNCg0KLy8gdGVtcGxhdGUNCiR0aGV0ZW1wbGF0ZSA9ICdmaWx0ZXJfdGVtcGxhdGUnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9maWx0ZXJfdGVtcGxhdGUnKTsNCmlmIChpc3NldCgkcGFyYW1zWydmaWx0ZXJ0ZW1wbGF0ZSddKSkgew0KICAgICR0aGV0ZW1wbGF0ZSA9ICdmaWx0ZXJfdGVtcGxhdGUnIC4gJHBhcmFtc1snZmlsdGVydGVtcGxhdGUnXTsNCn0NCg0KLy8NCi8vIFByb2Nlc3MgdGhlIHRlbXBsYXRlDQovLw0KDQpvYl9zdGFydCgpOw0KJG1vZC0+RG9BY3Rpb24oJ2RlZmF1bHQnLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7DQokb3V0cHV0ID0gb2JfZ2V0X2NvbnRlbnRzKCk7DQpvYl9lbmRfY2xlYW4oKTsNCiRzbWFydHktPmFzc2lnbigncmVzdWx0cycsICRvdXRwdXQpOw0KDQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGhldGVtcGxhdGUpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_categorytab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCgojUHV0IHRvZ2V0aGVyIGEgbGlzdCBvZiBjdXJyZW50IGNhdGVnb3JpZXMuLi4KJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoKJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeV9wb3NpdGlvbiI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJHJvd2NsYXNzID0gJ3JvdzEnOwoKd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgogICAgJGRlcHRoID0gY291bnQocHJlZ19zcGxpdCgnL1wuLycsICRyb3dbJ2hpZXJhcmNoeSddKSk7CgogICAgJG9uZXJvdy0+aWQgPSAkcm93WydjYXRlZ29yeV9pZCddOwogICAgJG9uZXJvdy0+bmFtZSA9IHN0cl9yZXBlYXQoJyZuYnNwOyZndDsmbmJzcDsnLCAkZGVwdGggLSAxKSAuICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkcm93WydjYXRlZ29yeV9uYW1lJ10sIGFycmF5KCdjYXRpZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXSkpOwoKICAgICRvbmVyb3ctPmVkaXRsaW5rID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsIGNtc21zKCktPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGdlbmVyYXRvcigpLT5MYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NhdGlkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddKSk7CiAgICAkb25lcm93LT5kZWxldGVsaW5rID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9kZWxldGVjYXRlZ29yeScsICRyZXR1cm5pZCwgY21zbXMoKS0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBnZW5lcmF0b3IoKS0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NhdGlkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddKSwgZ2VuZXJhdG9yKCktPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CgogICAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgogICAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwp9CgokbW9kLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokbW9kLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCiNTZXR1cCBsaW5rcwokbW9kLT5zbWFydHktPmFzc2lnbignYWRkbGluaycsICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygnYWRkY2F0ZWdvcnknKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiRtb2QtPnNtYXJ0eS0+YXNzaWduKCdyZW9yZGVyJywgJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9vcmRlcmNhdGVnb3J5JywgJHJldHVybmlkLCBnZW5lcmF0b3IoKS0+TGFuZygncmVvcmRlcicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCiRtb2QtPnNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeXRleHQnLCBnZW5lcmF0b3IoKS0+TGFuZygnY2F0ZWdvcnknKSk7CgojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnY2F0ZWdvcnlsaXN0LnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_fielddeftab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgcmV0dXJuOw0KJGFkbWludGhlbWUgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsNCg0KDQovLyBnZXQgZmllbGQgZGVmaW5pdGlvbnMgaW4gdXNlDQokdG1wID0gJGRiLT5HZXRBcnJheSgnU0VMRUNUIERJU1RJTkNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCcpOw0KJHVzZWRmaWVsZGRlZnMgPSBhcnJheSgpOw0KDQppZiAoaXNfYXJyYXkoJHRtcCkpIHsNCiAgICBmb3JlYWNoICgkdG1wIGFzICRyb3cpIHsNCiAgICAgICAgJHVzZWRmaWVsZGRlZnNbXSA9ICRyb3dbJ2ZpZWxkZGVmX2lkJ107DQogICAgfQ0KfQ0KDQovLyRwb3NpdGlvbiA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgbWF4KHBvc2l0aW9uKSBhcyBtYXhfcG9zaXRpb24gRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJyk7DQokZmllbGRzID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfZGVmcygkbW9kKTsNCiRyb3djbGFzcyA9ICdyb3cxJzsNCiRlbnRyeWFycmF5ID0gYXJyYXkoKTsNCg0KZm9yZWFjaCAoJGZpZWxkcyBhcyAkcm93KSB7DQogICAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOw0KICAgICRvbmVyb3ctPmlkID0gJHJvd1snZmllbGRkZWZfaWQnXTsNCiAgICAkb25lcm93LT5uYW1lID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiRyb3dbJ2ZpZWxkZGVmX2lkJ10pKTsNCiAgICAkb25lcm93LT5hbGlhcyA9ICRyb3dbJ2FsaWFzJ107DQogICAgJG9uZXJvdy0+dHlwZSA9IGdlbmVyYXRvcigpLT5MYW5nKCRyb3dbJ3R5cGUnXSk7DQogICAgJG9uZXJvdy0+cmVxdWlyZWQgPSAkcm93WydyZXF1aXJlZCddOw0KICAgICRvbmVyb3ctPmZyb250ZW5kID0gJHJvd1snZnJvbnRlbmQnXTsNCiAgICAkb25lcm93LT5lZGl0dmlldyA9ICRyb3dbJ2VkaXR2aWV3J107DQogICAgJG9uZXJvdy0+ZmlsdGVyX2Zyb250ZW5kID0gJHJvd1snZmlsdGVyX2Zyb250ZW5kJ107DQogICAgJG9uZXJvdy0+ZmlsdGVyX2FkbWluID0gJHJvd1snZmlsdGVyX2FkbWluJ107DQogICAgJG9uZXJvdy0+c2VhcmNoYWJsZSA9ICRyb3dbJ3NlYXJjaGFibGUnXTsNCiAgICAkb25lcm93LT5wb3NpdGlvbiA9ICRyb3dbJ3Bvc2l0aW9uJ107DQoNCiAgICAvLyBtb3ZlIHVwDQogICAgaWYgKCRvbmVyb3ctPnBvc2l0aW9uID4gMSkgew0KICAgICAgICAkb25lcm93LT51cGxpbmsgPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX21vdmVmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2Fycm93LXUuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3VwJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiRyb3dbJ2ZpZWxkZGVmX2lkJ10sICdkaXInID0+J3VwJykpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRvbmVyb3ctPnVwbGluayA9ICcnOw0KICAgIH0NCg0KICAgIC8vIG1vdmUgZG93bg0KICAgLyogaWYgKCRwb3NpdGlvbiA+ICRvbmVyb3ctPnBvc2l0aW9uKSB7DQogICAgICAgICRvbmVyb3ctPmRvd25saW5rID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9tb3ZlZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZicsIGdlbmVyYXRvcigpLT5MYW5nKCdkb3duJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiRyb3dbJ2ZpZWxkZGVmX2lkJ10sICdkaXInID0+J2Rvd24nKSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJG9uZXJvdy0+ZG93bmxpbmsgPSAnJzsNCiAgICB9Ki8NCg0KICAgICRvbmVyb3ctPmVkaXRsaW5rID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGdlbmVyYXRvcigpLT5MYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiRyb3dbJ2ZpZWxkZGVmX2lkJ10pKTsNCg0KICAgIC8vIG9ubHkgZGlzcGxheSBkZWxldGUgZmllbGQgZGVmaW5pdGlvbiBsaW5rIGlmIGZpZWxkIGRlZmluaXRpb24gaXMgbm90IGluIHVzZQ0KICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAnJzsNCiAgICBpZiAoIWluX2FycmF5KCRyb3dbJ2ZpZWxkZGVmX2lkJ10sICR1c2VkZmllbGRkZWZzKSkgew0KICAgICAgICAkb25lcm93LT5kZWxldGVsaW5rID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9kZWxldGVmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBnZW5lcmF0b3IoKS0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiRyb3dbJ2ZpZWxkZGVmX2lkJ10pLCBnZW5lcmF0b3IoKS0+TGFuZygnYXJleW91c3VyZScpKTsNCiAgICB9DQoNCiAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsNCiAgICAkcm93Y2xhc3MgPSAoJHJvd2NsYXNzID09ICdyb3cxJyA/ICdyb3cyJyA6ICdyb3cxJyk7DQp9DQoNCiRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgICRlbnRyeWFycmF5KTsNCiRzbWFydHktPmFzc2lnbignYWxpYXMnLCAgICAgZ2VuZXJhdG9yKCktPkxhbmcoJ2FsaWFzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCAgICAgY291bnQoJGVudHJ5YXJyYXkpKTsNCiRzbWFydHktPmFzc2lnbignYWRkbGluaycsICAgICAgICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsIGdlbmVyYXRvcigpLT5MYW5nKCdhZGRmaWVsZGRlZicpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiAnICcgLiBnZW5lcmF0b3IoKS0+TGFuZygnYWRkZmllbGRkZWYnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHRleHQnLCAgICAgZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0eXBldGV4dCcsICAgICAgZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmX3R5cGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ21heGxlbmd0aHRleHQnLCBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfbWF4X2xlbmd0aCcpKTsNCiRzbWFydHktPmFzc2lnbigncmVxdWlyZWR0ZXh0JywgIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9yZXF1aXJlZCcpKTsNCiRzbWFydHktPmFzc2lnbignc2VhcmNoYWJsZXRleHQnLCAgZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmX3NlYXJjaGFibGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zyb250ZW5kdGV4dCcsICBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfZnJvbnRlbmQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VkaXR2aWV3dGV4dCcsICBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfZWRpdHZpZXcnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9mcm9udGVuZHRleHQnLCAgZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmX2ZpbHRlcl9mcm9udGVuZCcpKTsNCiRzbWFydHktPmFzc2lnbignZmlsdGVyX2FkbWludGV4dCcsICBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfZmlsdGVyX2FkbWluJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdzZWN0aW9uJywgICdpdGVtcycpOw0KDQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnZmllbGRkZWZ0YWIudHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_fielddeftab_categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgcmV0dXJuOw0KJGFkbWludGhlbWUgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsNCg0KDQovLyBnZXQgZmllbGQgZGVmaW5pdGlvbnMgaW4gdXNlDQokdG1wID0gJGRiLT5HZXRBcnJheSgnU0VMRUNUIERJU1RJTkNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCcpOw0KJHVzZWRmaWVsZGRlZnMgPSBhcnJheSgpOw0KDQppZiAoaXNfYXJyYXkoJHRtcCkpIHsNCiAgICBmb3JlYWNoICgkdG1wIGFzICRyb3cpIHsNCiAgICAgICAgJHVzZWRmaWVsZGRlZnNbXSA9ICRyb3dbJ2ZpZWxkZGVmX2lkJ107DQogICAgfQ0KfQ0KDQovLyRwb3NpdGlvbiA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgbWF4KHBvc2l0aW9uKSBhcyBtYXhfcG9zaXRpb24gRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJyk7DQokZmllbGRzID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfZGVmcygkbW9kLCBudWxsLCBudWxsLCBudWxsLCAnY2F0ZWdvcmllcycpOw0KJHJvd2NsYXNzID0gJ3JvdzEnOw0KJGVudHJ5YXJyYXkgPSBhcnJheSgpOw0KDQpmb3JlYWNoICgkZmllbGRzIGFzICRyb3cpIHsNCiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7DQogICAgJG9uZXJvdy0+aWQgPSAkcm93WydmaWVsZGRlZl9pZCddOw0KICAgICRvbmVyb3ctPm5hbWUgPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLCBhcnJheSgnZmllbGRkZWZfaWQnID0+JHJvd1snZmllbGRkZWZfaWQnXSkpOw0KICAgICRvbmVyb3ctPmFsaWFzID0gJHJvd1snYWxpYXMnXTsNCiAgICAkb25lcm93LT50eXBlID0gZ2VuZXJhdG9yKCktPkxhbmcoJHJvd1sndHlwZSddKTsNCiAgICAkb25lcm93LT5yZXF1aXJlZCA9ICRyb3dbJ3JlcXVpcmVkJ107DQogICAgJG9uZXJvdy0+ZnJvbnRlbmQgPSAkcm93Wydmcm9udGVuZCddOw0KICAgICRvbmVyb3ctPmVkaXR2aWV3ID0gJHJvd1snZWRpdHZpZXcnXTsNCiAgICAkb25lcm93LT5maWx0ZXJfZnJvbnRlbmQgPSAkcm93WydmaWx0ZXJfZnJvbnRlbmQnXTsNCiAgICAkb25lcm93LT5maWx0ZXJfYWRtaW4gPSAkcm93WydmaWx0ZXJfYWRtaW4nXTsNCiAgICAkb25lcm93LT5zZWFyY2hhYmxlID0gJHJvd1snc2VhcmNoYWJsZSddOw0KICAgICRvbmVyb3ctPnBvc2l0aW9uID0gJHJvd1sncG9zaXRpb24nXTsNCg0KICAgIC8vIG1vdmUgdXANCiAgICBpZiAoJG9uZXJvdy0+cG9zaXRpb24gPiAxKSB7DQogICAgICAgICRvbmVyb3ctPnVwbGluayA9ICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fbW92ZWZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYnLCBnZW5lcmF0b3IoKS0+TGFuZygndXAnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+JHJvd1snZmllbGRkZWZfaWQnXSwgJ2RpcicgPT4ndXAnKSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJG9uZXJvdy0+dXBsaW5rID0gJyc7DQogICAgfQ0KDQogICAgLy8gbW92ZSBkb3duDQogICAvKiBpZiAoJHBvc2l0aW9uID4gJG9uZXJvdy0+cG9zaXRpb24pIHsNCiAgICAgICAgJG9uZXJvdy0+ZG93bmxpbmsgPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX21vdmVmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2Fycm93LWQuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2Rvd24nKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+JHJvd1snZmllbGRkZWZfaWQnXSwgJ2RpcicgPT4nZG93bicpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkb25lcm93LT5kb3dubGluayA9ICcnOw0KICAgIH0qLw0KDQogICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+JHJvd1snZmllbGRkZWZfaWQnXSkpOw0KDQogICAgLy8gb25seSBkaXNwbGF5IGRlbGV0ZSBmaWVsZCBkZWZpbml0aW9uIGxpbmsgaWYgZmllbGQgZGVmaW5pdGlvbiBpcyBub3QgaW4gdXNlDQogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICcnOw0KICAgIGlmICghaW5fYXJyYXkoJHJvd1snZmllbGRkZWZfaWQnXSwgJHVzZWRmaWVsZGRlZnMpKSB7DQogICAgICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZWZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsIGdlbmVyYXRvcigpLT5MYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+JHJvd1snZmllbGRkZWZfaWQnXSksIGdlbmVyYXRvcigpLT5MYW5nKCdhcmV5b3VzdXJlJykpOw0KICAgIH0NCg0KICAgICRlbnRyeWFycmF5W10gPSAkb25lcm93Ow0KICAgICRyb3djbGFzcyA9ICgkcm93Y2xhc3MgPT0gJ3JvdzEnID8gJ3JvdzInIDogJ3JvdzEnKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAgJGVudHJ5YXJyYXkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhbGlhcycsICAgICBnZW5lcmF0b3IoKS0+TGFuZygnYWxpYXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsICAgICBjb3VudCgkZW50cnlhcnJheSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgICAgICAgJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2FkZGZpZWxkZGVmJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuICcgJyAuIGdlbmVyYXRvcigpLT5MYW5nKCdhZGRmaWVsZGRlZicpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkdGV4dCcsICAgICBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWYnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3R5cGV0ZXh0JywgICAgICBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfdHlwZScpKTsNCiRzbWFydHktPmFzc2lnbignbWF4bGVuZ3RodGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9tYXhfbGVuZ3RoJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdyZXF1aXJlZHRleHQnLCAgZ2VuZXJhdG9yKCktPkxhbmcoJ2ZpZWxkZGVmX3JlcXVpcmVkJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdzZWFyY2hhYmxldGV4dCcsICBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfc2VhcmNoYWJsZScpKTsNCiRzbWFydHktPmFzc2lnbignZnJvbnRlbmR0ZXh0JywgIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9mcm9udGVuZCcpKTsNCiRzbWFydHktPmFzc2lnbignZWRpdHZpZXd0ZXh0JywgIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9lZGl0dmlldycpKTsNCiRzbWFydHktPmFzc2lnbignZmlsdGVyX2Zyb250ZW5kdGV4dCcsICBnZW5lcmF0b3IoKS0+TGFuZygnZmllbGRkZWZfZmlsdGVyX2Zyb250ZW5kJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJfYWRtaW50ZXh0JywgIGdlbmVyYXRvcigpLT5MYW5nKCdmaWVsZGRlZl9maWx0ZXJfYWRtaW4nKSk7DQokc21hcnR5LT5hc3NpZ24oJ3NlY3Rpb24nLCAgJ2NhdGVnb3JpZXMnKTsNCg0KZWNobyAkbW9kLT5Qcm9jZXNzVGVtcGxhdGUoJ2ZpZWxkZGVmdGFiLnRwbCcpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_itemtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpDQogICAgcmV0dXJuOw0KDQokd2hlcmUgPSBhcnJheSgpOw0KJGNhdGVnb3J5bG9uZ25hbWVsaXN0ID0gYXJyYXkoKTsNCiRwYXJhbXNhcnJheSA9IGFycmF5KCk7DQokYWRtaW50aGVtZSA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOw0KDQokc21hcnR5LT5hc3NpZ24oJ21vZHVsZScsICRtb2QpOw0KDQokc3RhcnRfY2F0ZWdvcnkgPSAnJzsNCg0KJGNhdGVnb3J5bG9uZ25hbWVsaXN0ID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJpdmF0ZV9jYXRlZ29yaWVzKCRtb2QpOw0KDQovLw0KLy8gU2V0dXANCi8vDQokcGFnZWxpbWl0cyA9IGFycmF5KCcyJyA9PiAyLCAnNScgPT4gNSwgJzI1JyA9PiAyNSwgJzEwMCcgPT4gMTAwLCAnNTAwJyA9PiA1MDApOw0KJHNvcnRpdGVtcyA9IGFycmF5KCk7DQokc29ydGl0ZW1zW2dlbmVyYXRvcigpLT5MYW5nKCdkYXRlJyldID0gJ2l0ZW1fZGF0ZSc7DQokc29ydGl0ZW1zW2dlbmVyYXRvcigpLT5MYW5nKCdjcmVhdGVkZGF0ZScpXSA9ICdjcmVhdGVfZGF0ZSc7DQokc29ydGl0ZW1zW2dlbmVyYXRvcigpLT5MYW5nKCdtb2RpZmllZGRhdGUnKV0gPSAnbW9kaWZpZWRfZGF0ZSc7DQokc29ydG9yZGVycyA9IGFycmF5KCk7DQokc29ydG9yZGVyc1tnZW5lcmF0b3IoKS0+TGFuZygnYXNjZW5kaW5nJyldID0gJ2FzYyc7DQokc29ydG9yZGVyc1tnZW5lcmF0b3IoKS0+TGFuZygnZGVzY2VuZGluZycpXSA9ICdkZXNjJzsNCiR1aWQgPSBnZXRfdXNlcmlkKGZhbHNlKTsNCiRoaWVyYXJjaHkgPSAnJzsNCiRjaGlsZHJlbiA9IDA7DQokcGFnZWxpbWl0ID0gMjU7DQokc29ydGJ5ID0gJ2NyZWF0ZV9kYXRlJzsNCiRzb3J0b3JkZXIgPSAnZGVzYyc7DQokcGFnZW51bWJlciA9IDE7DQokZmllbGRzX3ZpZXdhYmxlID0gYXJyYXkoKTsNCiRmaWVsZF9uYW1lcyA9IGFycmF5KCk7DQokZmllbGRfbW9kdWxlcyA9IGFycmF5KCk7DQokZmllbGRfaW1hZ2VzID0gYXJyYXkoKTsNCiRjdXN0b21fZmllbGRzID0gJyc7DQokZGF0ZV90byA9IHRpbWUoKTsNCg0KaWYgKCEkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZWRpdCcpKQ0KICAgIHVuc2V0KCRzb3J0aXRlbXNbZ2VuZXJhdG9yKCktPkxhbmcoJ2RhdGUnKV0pOw0KDQoNCi8vIGN1c3RvbSBmaWVsZHMNCiRmaWVsZHNfZm9yX2ZpbHRlciA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2ZpZWxkX2RlZnMoJG1vZCwgbnVsbCwgbnVsbCwgbnVsbCk7DQokY3VzdG9tX2ZsZHMgPSBhcnJheSgxKTsNCiRjdXN0b21fZmllbGRzX3ZhbHVlcyA9IGFycmF5KCk7DQokZmllbGRkZWZzID0gYXJyYXkoKTsNCmlmIChlbXB0eSgkZmllbGRzX2Zvcl9maWx0ZXIpID09IGZhbHNlKSB7DQogICAgZm9yZWFjaCAoJGZpZWxkc19mb3JfZmlsdGVyIGFzICRyb3cpIHsNCiAgICAgICAgaWYgKCRyb3dbImZpbHRlcl9hZG1pbiJdKSB7DQogICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJHJvd1snZmllbGRkZWZfaWQnXV0gPSAkcm93Ow0KICAgICAgICAgICAgJGN1c3RvbV9maWVsZHNfdmFsdWVzWyRyb3dbJ2ZpZWxkZGVmX2lkJ11dID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2N1c3RvbWZpZWxkcycgLiAkcm93WydmaWVsZGRlZl9pZCddLCAnJyk7DQogICAgICAgIH0NCiAgICAgICAgJGZpZWxkZGVmc1skcm93WydhbGlhcyddXSA9IGNnZV9hcnJheTo6dG9fb2JqZWN0KCRyb3cpOw0KICAgICAgICAkc29ydGl0ZW1zWyRyb3dbJ25hbWUnXV0gPSAnZjonIC4gJHJvd1snYWxpYXMnXTsNCiAgICB9DQp9DQoNCg0KLy8NCi8vIEdldCBwcmVmZXJlbmNlcw0KLy8NCiRoaWVyYXJjaHkgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaGllcmFyY2h5JywgJycpOw0KJGNoaWxkcmVuID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NoaWxkcmVuJywgMCk7DQokcGFnZWxpbWl0ID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3BhZ2VsaW1pdCcsIDI1KTsNCiRzb3J0YnkgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfc29ydGJ5JywgJ2l0ZW1fZGF0ZScpOw0KJHNvcnRvcmRlciA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19zb3J0b3JkZXInLCAnZGVzYycpOw0KJGRhdGVfZnJvbSA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kYXRlX2Zyb20nLCB0aW1lKCkgLSAoMzYwMCAqIDI0ICogNykpOw0KJGRhdGVfdG8gPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGF0ZV90bycsIHRpbWUoKSArICgzNjAwICogMjQgKiA3KSk7DQoNCg0KDQppZiAoZW1wdHkoJHRtcCkpDQogICAgJHRtcCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2N1c3RvbV9maWVsZHNfZGVmYXVsdCcpOw0KaWYgKCFlbXB0eSgkdG1wKSkNCiAgICAkY3VzdG9tX2ZpZWxkcyA9IGV4cGxvZGUoJywnLCAkdG1wKTsNCg0KLy8NCi8vIEhhbmRsZSBHZXQgcGFyYW1ldGVycw0KLy8NCmlmIChpc3NldCgkcGFyYW1zWydwYWdlbnVtYmVyJ10pKSB7DQogICAgJHBhZ2VudW1iZXIgPSAoaW50KSAkcGFyYW1zWydwYWdlbnVtYmVyJ107DQp9DQoNCg0KLy8NCi8vIEhhbmRsZSBmb3JtIHN1Ym1pdA0KLy8NCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIHsNCg0KICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdtb2RlJykgIT0gInNpbXBsZSIgfHwgaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsNCg0KICAgICAgICBpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnbW9kZScpICE9ICJzaW1wbGUiKSB7DQogICAgICAgICAgICAkY2hpbGRyZW4gPSAoaW50KSAkcGFyYW1zWydpbnB1dF9jaGlsZHJlbiddOw0KICAgICAgICAgICAgJHBhZ2VsaW1pdCA9IChpbnQpICRwYXJhbXNbJ2lucHV0X3BhZ2VsaW1pdCddOw0KICAgICAgICAgICAgJHNvcnRieSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfc29ydGJ5J10pOw0KICAgICAgICAgICAgJGhpZXJhcmNoeSA9IHRyaW0oJHBhcmFtc1snaGllcmFyY2h5J10pOw0KICAgICAgICAgICAgJHNvcnRvcmRlciA9IHRyaW0oJHBhcmFtc1snaW5wdXRfc29ydG9yZGVyJ10pOw0KICAgICAgICAgICAgJGRhdGVfZnJvbSA9IG1rdGltZSgwLCAwLCAwLCAkcGFyYW1zWydkYXRlZnJvbU1vbnRoJ10sICRwYXJhbXNbJ2RhdGVmcm9tRGF5J10sICRwYXJhbXNbJ2RhdGVmcm9tWWVhciddKTsNCiAgICAgICAgICAgICRkYXRlX3RvID0gbWt0aW1lKDIzLCA1OSwgNTksICRwYXJhbXNbJ2RhdGV0b01vbnRoJ10sICRwYXJhbXNbJ2RhdGV0b0RheSddLCAkcGFyYW1zWydkYXRldG9ZZWFyJ10pOw0KDQoNCiAgICAgICAgICAgIC8vIHN0b3JlIHRoZW0gYXMgdXNlciBwcmVmZXJlbmNlcw0KICAgICAgICAgICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2hpZXJhcmNoeScsICRoaWVyYXJjaHkpOw0KICAgICAgICAgICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NoaWxkcmVuJywgJGNoaWxkcmVuKTsNCiAgICAgICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19wYWdlbGltaXQnLCAkcGFnZWxpbWl0KTsNCiAgICAgICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19zb3J0YnknLCAkc29ydGJ5KTsNCiAgICAgICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19zb3J0b3JkZXInLCAkc29ydG9yZGVyKTsNCiAgICAgICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kYXRlX2Zyb20nLCAkZGF0ZV9mcm9tKTsNCiAgICAgICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kYXRlX3RvJywgJGRhdGVfdG8pOw0KICAgICAgICAgICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2N1c3RvbV9maWVsZHMnLCBpbXBsb2RlKCcsJywgJGN1c3RvbV9maWVsZHMpKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydjdXN0b21maWVsZCddKSkgew0KICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7DQogICAgICAgICAgICAgICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwgJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2N1c3RvbWZpZWxkcycgLiAkZmxkaWQsICR2YWx1ZSk7DQogICAgICAgICAgICAgICAgJGN1c3RvbV9maWVsZHNfdmFsdWVzWyRmbGRpZF0gPSAkdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQp9DQoNCg0KLy8gaWYgc2ltcGxlIG1vZGUsIHJlc2V0IGFsbCBwcmVmcw0KaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ21vZGUnKSA9PSAic2ltcGxlIikgew0KICAgICRzb3J0b3JkZXIgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXJfc2ltcGxlJywgJ2Rlc2MnKTsNCiAgICAkc29ydGJ5ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5X3NpbXBsZScsICdwb3NpdGlvbicpOw0KICAgICRwYWdlbGltaXQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdwYWdlbGltaXRfc2ltcGxlJywgMTAwMCk7DQp9DQoNCi8vIGdldCBjYXRlZ29yeSBsaXN0DQokd2hlcmUgPSBhcnJheSgpOw0KJHBhcmFtc2FycmF5ID0gYXJyYXkoKTsNCmlmIChlbXB0eSgkY2F0ZWdvcnlsb25nbmFtZWxpc3QpID09IGZhbHNlKSB7DQoNCiAgICAkd2hlcmVzdGF0ZW1lbnQgPSBhcnJheSgpOw0KICAgIGZvcmVhY2ggKCRjYXRlZ29yeWxvbmduYW1lbGlzdCBhcyAkbG9ubmFtZSkgew0KICAgICAgICAkd2hlcmVzdGF0ZW1lbnRbXSA9ICdsb25nX25hbWUgTElLRSAgPyc7DQogICAgICAgICRwYXJhbXNhcnJheVtdID0gJGxvbm5hbWUgLiAnICUnOw0KICAgIH0NCiAgICAkd2hlcmVbXSA9ICcoJyAuIGltcGxvZGUoJyBPUiAnLCAkd2hlcmVzdGF0ZW1lbnQpIC4gJyknOw0KfQ0KJGNhdGVnb3J5bGlzdCA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2NhdGVnb3J5X2xpc3QoJG1vZCwgJHdoZXJlLCAkcGFyYW1zYXJyYXkpOw0KDQovLyBmaWVsZHMgdmlldw0KJGFsbF9maWVsZHMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZHMoJG1vZCwgZmFsc2UpOw0KDQoNCmlmIChpc19hcnJheSgkYWxsX2ZpZWxkcykpIHsNCiAgICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkYWxsX2ZpZWxkcyk7ICRpKyspIHsNCiAgICAgICAgc3dpdGNoICgkYWxsX2ZpZWxkc1skaV1bJ3R5cGUnXSkgew0KICAgICAgICAgICAgY2FzZSAndGV4dGFyZWEnOg0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAnc3RhdGljJzoNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ3RhYic6DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICRmaWVsZHNfdmlld2FibGVbJGFsbF9maWVsZHNbJGldWydmaWVsZGRlZl9pZCddXSA9ICRhbGxfZmllbGRzWyRpXVsnbmFtZSddOw0KICAgICAgICAgICAgICAgICRmaWVsZF9uYW1lc1skYWxsX2ZpZWxkc1skaV1bJ2ZpZWxkZGVmX2lkJ11dID0gJGFsbF9maWVsZHNbJGldWydhbGlhcyddOw0KDQogICAgICAgICAgICAgICAgLy8gaWYgbW9kdWxlLCBnZXQgbW9kdWxlIGZ1bmMNCiAgICAgICAgICAgICAgICBpZiAoJGFsbF9maWVsZHNbJGldWyd0eXBlJ10gPT0gIm1vZHVsZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgJGluc3RydWN0aW9ucyA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhKCRhbGxfZmllbGRzWyRpXVsnZXh0cmEnXSk7DQogICAgICAgICAgICAgICAgICAgICRjdXN0b21tb2R1bGVwYXJhbXMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9tb2R1bGVwYXJhbXMoJGluc3RydWN0aW9ucyk7DQogICAgICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkY3VzdG9tbW9kdWxlcGFyYW1zKSAmJiAhZW1wdHkoJGN1c3RvbW1vZHVsZXBhcmFtcykgJiYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRjdXN0b21tb2R1bGVwYXJhbXNbIm1vZHVsZSJdKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGZpZWxkX21vZHVsZXNbJGFsbF9maWVsZHNbJGldWydmaWVsZGRlZl9pZCddXSA9ICRjdXN0b21tb2R1bGVwYXJhbXNbIm1vZHVsZSJdOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIC8vIGlmIG1vZHVsZSwgZ2V0IG1vZHVsZSBmdW5jDQogICAgICAgICAgICAgICAgaWYgKCRhbGxfZmllbGRzWyRpXVsndHlwZSddID09ICJ1cGxvYWRfZmlsZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgJGZpZWxkX2ltYWdlc1skYWxsX2ZpZWxkc1skaV1bJ2ZpZWxkZGVmX2lkJ11dID0gMTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKGNvdW50KCRmaWVsZHNfdmlld2FibGUpICYmIGlzX2FycmF5KCRjdXN0b21fZmllbGRzKSkgew0KICAgICAgICAvLyBub3cgdHJpbSBkb3duIHRoZSBjdXN0b20gZmllbGRzDQogICAgICAgIC8vIHRvIG1ha2Ugc3VyZSB0aGF0IHNvbWV0aGluZyBoYXNuJ3QgYmVlbiBkZWxldGVkLg0KICAgICAgICAkdG1wID0gYXJyYXkoKTsNCiAgICAgICAgZm9yZWFjaCAoJGN1c3RvbV9maWVsZHMgYXMgJGZpZCkgew0KICAgICAgICAgICAgaWYgKGluX2FycmF5KCRmaWQsIGFycmF5X2tleXMoJGZpZWxkc192aWV3YWJsZSkpKSB7DQogICAgICAgICAgICAgICAgJHRtcFtdID0gJGZpZDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICAkY3VzdG9tX2ZpZWxkcyA9ICR0bXA7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJGN1c3RvbV9maWVsZHMgPSBhcnJheSgpOw0KICAgIH0NCn0NCiRhbGxfZmllbGRzID0gY2dlX2FycmF5Ojp0b19oYXNoKCRhbGxfZmllbGRzLCAnbmFtZScpOw0KaWYgKGNvdW50KCRmaWVsZHNfdmlld2FibGUpKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHNfdmlld2FibGUnLCAkZmllbGRzX3ZpZXdhYmxlKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkX25hbWVzJywgJGZpZWxkX25hbWVzKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkX21vZHVsZXMnLCAkZmllbGRfbW9kdWxlcyk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZF9pbWFnZXMnLCAkZmllbGRfaW1hZ2VzKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdjdXN0b21fZmllbGRzJywgJGN1c3RvbV9maWVsZHMpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICRtb2QtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdkZWZhdWx0YWRtaW4nKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkbW9kLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9oaWVyYXJjaHknLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2hpZXJhcmNoeScsICRjYXRlZ29yeWxpc3QsIC0xLCAkaGllcmFyY2h5KSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfY2hpbGRyZW4nLCAkbW9kLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCAnaW5wdXRfY2hpbGRyZW4nLCAkY2hpbGRyZW4pKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc29ydGJ5JywgJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpbnB1dF9zb3J0YnknLCAkc29ydGl0ZW1zLCAtMSwgJHNvcnRieSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0b3JkZXInLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X3NvcnRvcmRlcicsICRzb3J0b3JkZXJzLCAtMSwgJHNvcnRvcmRlcikpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X3BhZ2VsaW1pdCcsICRwYWdlbGltaXRzLCAtMSwgJHBhZ2VsaW1pdCkpOw0KDQovLw0KLy8gQnVpbGQgdGhlIHF1ZXJ5DQovLw0KJGZpZWxkcyA9IGFycmF5KCk7DQokZmllbGRzW10gPSAnQS4qJzsNCiRmaWVsZHNbXSA9ICdCLmxvbmdfbmFtZSc7DQokcHJlZml4MSA9ICJTRUxFQ1QgPEZJRUxEUz4gRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gQSAiOw0KJHByZWZpeDIgPSAiU0VMRUNUIENPVU5UKEEuaXRlbV9pZCkgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gQSAiOw0KJHdoZXJlID0gYXJyYXkoKTsNCiRqb2lucyA9IGFycmF5KCk7DQokcXBhcm1zID0gYXJyYXkoKTsNCg0KaWYgKGlzX2FycmF5KCRjdXN0b21fZmllbGRzKSAmJiBjb3VudCgkY3VzdG9tX2ZpZWxkcykgJiYgY291bnQoJGZpZWxkc192aWV3YWJsZSkpIHsNCiAgICBmb3IgKCRqID0gMDsgJGogPCBjb3VudCgkY3VzdG9tX2ZpZWxkcyk7ICRqKyspIHsNCiAgICAgICAgJGZpZCA9ICRjdXN0b21fZmllbGRzWyRqXTsNCiAgICAgICAgJGZpZWxkc1tdID0gIkZ2eyRqfS52YWx1ZSBBUyAnRmxkX197JGZpZWxkX25hbWVzWyRmaWRdfSciOw0KICAgICAgICAkam9pbnNbXSA9ICdMRUZUIE9VVEVSIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZHZhbCBGdnskan0NCiAgICAgICAgICAgICAgICAgICAgT04gRnZ7JGp9Lml0ZW1faWQgPSBBLml0ZW1faWQgQU5EIEZ2eyRqfS5maWVsZGRlZl9pZCA9ID8iOw0KICAgICAgICAkcXBhcm1zW10gPSAkY3VzdG9tX2ZpZWxkc1skal07DQogICAgfQ0KfQ0KDQoNCiRqb2luc1tdID0gJ0xFRlQgSk9JTiAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgQiANCiAgICAgICAgICAgICAgICAgIE9OIEEuY2F0ZWdvcnlfaWQgPSBCLmNhdGVnb3J5X2lkJzsNCg0KaWYgKCFlbXB0eSgkaGllcmFyY2h5KSkgew0KDQogICAgJHdoZXJlW10gPSAnQi5sb25nX25hbWUgTElLRSA/JzsNCiAgICBpZiAoJGNoaWxkcmVuKSB7DQogICAgICAgICRxcGFybXNbXSA9ICRoaWVyYXJjaHkgLiAnJSc7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHFwYXJtc1tdID0gJGhpZXJhcmNoeTsNCiAgICB9DQp9IGVsc2VpZiAoZW1wdHkoJGNhdGVnb3J5bG9uZ25hbWVsaXN0KSA9PSBmYWxzZSkgew0KICAgIGZvcmVhY2ggKCRjYXRlZ29yeWxvbmduYW1lbGlzdCBhcyAkbG9uZ25hbWUpIHsNCiAgICAgICAgJHdoZXJlW10gPSAnQi5sb25nX25hbWUgTElLRSA/JzsNCiAgICAgICAgJHFwYXJtc1tdID0gJGxvbmduYW1lIC4gJyUnOw0KICAgIH0NCn0NCg0KaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ2ZpbHRlcl9kYXRlJykgJiYgJGRhdGVfZnJvbSAmJiAkZGF0ZV90bykgew0KICAgICR3aGVyZVtdID0gIiBBLml0ZW1fZGF0ZSAgPiA/IGFuZCBBLml0ZW1fZGF0ZSAgPCA/ICI7DQogICAgJHFwYXJtc1tdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2Zyb20pLCAiJyIpOw0KICAgICRxcGFybXNbXSA9IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV90byksICInIik7DQp9DQoNCi8vIHByb2NjZXMgdmFsdWVzIGZyb20gcGFyYW1zDQppZiAoJGN1c3RvbV9maWVsZHNfdmFsdWVzKSB7DQogICAgZm9yZWFjaCAoJGN1c3RvbV9maWVsZHNfdmFsdWVzIGFzICRmbGRpZCA9PiAkdmFsdWUpIHsNCiAgICAgICAgaWYgKGVtcHR5KCR2YWx1ZSkpDQogICAgICAgICAgICBjb250aW51ZTsNCg0KICAgICAgICAkaiA9ICdjJyAuICRmbGRpZDsNCiAgICAgICAgJGpvaW5zW10gPSAnTEVGVCBPVVRFUiBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfZmllbGR2YWwgRnZ7JGp9DQogICAgICAgICAgICAgICAgICAgIE9OIEZ2eyRqfS5pdGVtX2lkID0gQS5pdGVtX2lkIEFORCBGdnskan0uZmllbGRkZWZfaWQgPSA/IjsNCiAgICAgICAgLy9hcnJheV91bnNoaWZ0KCRxcGFybXMsICRmbGRpZCk7DQogICAgICAgICRxcGFybXNbXSA9ICRmbGRpZDsNCiAgICAgICAgJHdoZXJlW10gPSAnIEZ2JyAuICRqIC4gJy52YWx1ZSAgPSA/JzsNCiAgICAgICAgJHFwYXJtc1tdID0gJHZhbHVlOw0KICAgIH0NCn0NCg0KDQovLyBoYW5kbGUgZnVua3kgY3VzdG9tIGZpZWxkIHNvcnQgb3JkZXJzDQppZiAoc3RhcnRzd2l0aCgkc29ydGJ5LCAnZjonKSkgew0KICAgICRmaWVsZG5hbWUgPSBzdWJzdHIoJHNvcnRieSwgc3RybGVuKCdmOicpKTsNCiAgICBpZiAoaXNzZXQoJGZpZWxkZGVmc1skZmllbGRuYW1lXSkpIHsNCiAgICAgICAgJGZpZCA9ICRmaWVsZGRlZnNbJGZpZWxkbmFtZV0tPmZpZWxkZGVmX2lkOw0KICAgICAgICAkam9pbnNbXSA9ICdMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBmdg0KICAgICAgICAgICAgICAgICAgT04gZnYuaXRlbV9pZCA9IEEuaXRlbV9pZCc7DQogICAgICAgICR3aGVyZVtdID0gJ2Z2LmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICRxcGFybXNbXSA9ICRmaWQ7DQogICAgICAgICRvcmRlciA9ICIgT1JERVIgQlkgZnYudmFsdWUgJHNvcnRvcmRlciI7DQogICAgfQ0KfSBlbHNlIHsNCiAgICAkb3JkZXIgPSAiIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7DQp9DQoNCiRzdHIgPSBpbXBsb2RlKCcgJywgJGpvaW5zKTsNCmlmIChjb3VudCgkd2hlcmUpKSB7DQogICAgJHN0ciAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZSk7DQp9DQokcXVlcnkxID0gc3RyX3JlcGxhY2UoJzxGSUVMRFM+JywgaW1wbG9kZSgnLCcsICRmaWVsZHMpLCAkcHJlZml4MSkgLiAkc3RyIC4gJG9yZGVyOw0KJHF1ZXJ5MiA9ICRwcmVmaXgyIC4gJHN0cjsNCg0KLy8NCi8vIFNldHVwIHN0YXJ0IGVsZW1lbnQsIGFuZCBjb3VudCBwYWdlcw0KLy8NCiR0b3RhbGNvdW50ID0gJGRiLT5HZXRPbmUoJHF1ZXJ5MiwgJHFwYXJtcyk7DQokcGFnZWNvdW50ID0gKGludCkgKCR0b3RhbGNvdW50IC8gJHBhZ2VsaW1pdCk7DQppZiAoKCR0b3RhbGNvdW50ICUgJHBhZ2VsaW1pdCkgIT0gMCkNCiAgICAkcGFnZWNvdW50Kys7DQokc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyIC0gMSkgKiAkcGFnZWxpbWl0Ow0KDQovLw0KLy8gQmVnaW4gdGhlIG91dHB1dA0KLy8NCiRzbWFydHktPmFzc2lnbigncGFnZW51bWJlcicsICRwYWdlbnVtYmVyKTsNCiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywgJHBhZ2Vjb3VudCk7DQokc21hcnR5LT5hc3NpZ24oJ3RvdGFscm93cycsICR0b3RhbGNvdW50KTsNCmlmICgkcGFnZW51bWJlciA+IDEpIHsNCiAgICAkcGFybXMgPSBhcnJheSgncGFnZW51bWJlcicgPT4gMSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywgJG1vZC0+Q3JlYXRlVVJMKCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFybXMpKTsNCiAgICAkcGFybXMgPSBhcnJheSgncGFnZW51bWJlcicgPT4gJHBhZ2VudW1iZXIgLSAxKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsICRtb2QtPkNyZWF0ZVVSTCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcm1zKSk7DQp9DQppZiAoJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50KSB7DQogICAgJHBhcm1zID0gYXJyYXkoJ3BhZ2VudW1iZXInID0+ICRwYWdlbnVtYmVyICsgMSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZV91cmwnLCAkbW9kLT5DcmVhdGVVUkwoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJtcykpOw0KICAgICRwYXJtcyA9IGFycmF5KCdwYWdlbnVtYmVyJyA9PiAkcGFnZWNvdW50KTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlX3VybCcsICRtb2QtPkNyZWF0ZVVSTCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcm1zKSk7DQp9DQoNCiRwb3NpdGlvbiA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgbWF4KHBvc2l0aW9uKSBhcyBtYXhfcG9zaXRpb24gRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJyk7DQoNCiRlbnRyeWFycmF5ID0gYXJyYXkoKTsNCiRkYnJlc3VsdCA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5MSwgJHBhZ2VsaW1pdCwgJHN0YXJ0ZWxlbWVudCwgJHFwYXJtcyk7DQovL2VjaG8gJGRiLT5zcWw7DQp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsNCiAgICAkb25lcm93ID0gY2dlX2FycmF5Ojp0b19vYmplY3QoJHJvdyk7DQoNCiAgICAvLyBtb3ZlIHVwDQogICAgaWYgKCRyb3dbJ3Bvc2l0aW9uJ10gPiAxKSB7DQogICAgICAgICRvbmVyb3ctPnVwbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX21vdmVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYnLCBnZW5lcmF0b3IoKS0+TGFuZygndXAnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddLCAnZGlyJyA9PiAndXAnKSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJG9uZXJvdy0+dXBsaW5rID0gJyc7DQogICAgfQ0KDQogICAgLy8gbW92ZSBkb3duDQogICAgaWYgKCRwb3NpdGlvbiA+ICRyb3dbJ3Bvc2l0aW9uJ10pIHsNCiAgICAgICAgJG9uZXJvdy0+ZG93bmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9tb3ZlaXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2Fycm93LWQuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2Rvd24nKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddLCAnZGlyJyA9PiAnZG93bicpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkb25lcm93LT5kb3dubGluayA9ICcnOw0KICAgIH0NCg0KICAgIC8vIGFwcHJvdmUNCiAgICBpZiAoJHJvd1snYWN0aXZlJ10pIHsNCiAgICAgICAgJG9uZXJvdy0+YXBwcm92ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TGFuZygncmV2ZXJ0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2FwcHJvdmUnID0+IDAsICdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10pKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkb25lcm93LT5hcHByb3ZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fYXBwcm92ZWl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TGFuZygnYXBwcm92ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdhcHByb3ZlJyA9PiAxLCAnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddKSk7DQogICAgfQ0KDQogICAgJG9uZXJvdy0+ZWRpdF91cmwgPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRpdGVtJywgJHJldHVybmlkLCAkcm93Wyd0aXRsZSddLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddKSwgJycsIHRydWUpOw0KICAgICRvbmVyb3ctPmVkaXRsaW5rID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddKSk7DQogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRlaXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBnZW5lcmF0b3IoKS0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXSksIGdlbmVyYXRvcigpLT5MYW5nKCdhcmV5b3VzdXJlJykpOw0KICAgICRvbmVyb3ctPmZpbGVfbG9jYXRpb24gPSBnZW5lcmF0b3JfdG9vbHM6OmZpbGVfbG9jYXRpb24oJG1vZCwgJHJvdyk7DQogICAgJG9uZXJvdy0+ZmlsZXBhdGhfbG9jYXRpb24gPSBnZW5lcmF0b3JfdG9vbHM6OmZpbGVwYXRoX2xvY2F0aW9uKCRtb2QsICRyb3cpOw0KDQogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7DQp9DQoNCiRtb2QtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7DQokbW9kLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdkYXRlX2Zyb20nLCAkZGF0ZV9mcm9tKTsNCiRzbWFydHktPmFzc2lnbignZGF0ZV90bycsICRkYXRlX3RvKTsNCg0KDQokbW9kLT5zbWFydHktPmFzc2lnbignYWRkbGluaycsICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2FkZCcpIC4gJyAnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4gJyAnIC4gZ2VuZXJhdG9yKCktPkxhbmcoJ2FkZCcpIC4gJyAnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKSkpOw0KJG1vZC0+c21hcnR5LT5hc3NpZ24oJ2lkdGV4dCcsIGdlbmVyYXRvcigpLT5MYW5nKCdpZCcpKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydDInLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2J1bGthY3Rpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZDInLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRidWxrYWN0aW9ucyA9IGFycmF5KCk7DQokYnVsa2FjdGlvbnNbJ2RlbGV0ZSddID0gJHRoaXMtPkxhbmcoJ2RlbGV0ZScpOw0KJGJ1bGthY3Rpb25zWydzZXRpbmFjdGl2ZSddID0gJHRoaXMtPkxhbmcoJ3NldGRyYWZ0Jyk7DQokYnVsa2FjdGlvbnNbJ3NldGFjdGl2ZSddID0gJHRoaXMtPkxhbmcoJ3NldHB1Ymxpc2hlZCcpOw0KJHNtYXJ0eS0+YXNzaWduKCdidWxrYWN0aW9ucycsICRidWxrYWN0aW9ucyk7DQoNCi8vIGdldCB0aGUgY3VzdG9tIGZpZWxkcw0KJGZpbHRlcnMgPSBuZXcgZ2VuZXJhdG9yX2ZpbHRlcnMoJGlkLCAkbW9kLCAnYWRtaW4nKTsNCiRjdXN0b21fZmxkcyA9ICRmaWx0ZXJzLT5wcm9jZXNzX2N1c3RvbV9maWVsZHMoYXJyYXkoKSwgJGN1c3RvbV9mbGRzKTsNCiRjdXN0b21fZmxkc19vYmogPSAkZmlsdGVycy0+Z2VuZXJhdGUobnVsbCwgJHBhcmFtcywgJGN1c3RvbV9maWVsZHNfdmFsdWVzKTsNCmlmIChpc3NldCgkY3VzdG9tX2ZsZHNfb2JqKSAmJiBjb3VudCgkY3VzdG9tX2ZsZHNfb2JqKSA+IDApIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9maWVsZGRlZicsICRjdXN0b21fZmxkc19vYmopOw0KfQ0KDQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnaXRlbXRhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_modetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCg0KLy8kc29ydGl0ZW1zID0gYXJyYXkoKTsNCiRzb3J0aXRlbXMgPSBhcnJheSgpOw0KJHNvcnRpdGVtc1skbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJyldID0gJ3RpdGxlJzsNCiRzb3J0aXRlbXNbZ2VuZXJhdG9yKCktPkxhbmcoJ2RhdGUnKV0gPSAnaXRlbV9kYXRlJzsNCiRzb3J0aXRlbXNbZ2VuZXJhdG9yKCktPkxhbmcoJ2NyZWF0ZWRkYXRlJyldID0gJ2NyZWF0ZV9kYXRlJzsNCiRzb3J0aXRlbXNbZ2VuZXJhdG9yKCktPkxhbmcoJ21vZGlmaWVkZGF0ZScpXSA9ICdtb2RpZmllZF9kYXRlJzsNCg0KLy8gY3VzdG9tIGZpZWxkcw0KJGZpZWxkc19mb3JfZmlsdGVyID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfZGVmcygkbW9kLCBudWxsLCBudWxsLCBudWxsKTsNCiRjdXN0b21fZmxkcyA9IGFycmF5KCk7DQokY3VzdG9tX2ZpZWxkc192YWx1ZXMgPSBhcnJheSgpOw0KJGZpZWxkZGVmcyA9IGFycmF5KCk7DQppZiAoZW1wdHkoJGZpZWxkc19mb3JfZmlsdGVyKSA9PSBmYWxzZSkgew0KICAgIGZvcmVhY2ggKCRmaWVsZHNfZm9yX2ZpbHRlciBhcyAkcm93KSB7DQogICAgICAgICRzb3J0aXRlbXNbJHJvd1snbmFtZSddXSA9ICdmOicgLiAkcm93WydhbGlhcyddOw0KICAgIH0NCn0NCg0KDQokc29ydG9yZGVycyA9IGFycmF5KCk7DQokc29ydG9yZGVyc1tnZW5lcmF0b3IoKS0+TGFuZygnYXNjZW5kaW5nJyldID0gJ2FzYyc7DQokc29ydG9yZGVyc1tnZW5lcmF0b3IoKS0+TGFuZygnZGVzY2VuZGluZycpXSA9ICdkZXNjJzsNCiRtb2RlcyA9IGFycmF5KCk7DQokbW9kZXNbZ2VuZXJhdG9yKCktPkxhbmcoJ3NpbXBsZScpXSA9ICdzaW1wbGUnOw0KJG1vZGVzW2dlbmVyYXRvcigpLT5MYW5nKCdhZHZhbmNlZCcpXSA9ICdhZHZhbmNlZCc7DQoNCiRzb3J0b3JkZXJfYWR2YW5jZWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXJfYWR2YW5jZWQnLCAnZGVzYycpOw0KJHNvcnRieV9hZHZhbmNlZCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3NvcnRieV9hZHZhbmNlZCcsICdjcmVhdGVfZGF0ZScpOw0KDQokc29ydG9yZGVyX3NpbXBsZSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3NvcnRvcmRlcl9zaW1wbGUnLCAnZGVzYycpOw0KJHNvcnRieV9zaW1wbGUgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzb3J0Ynlfc2ltcGxlJywgJ3Bvc2l0aW9uJyk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkbW9kLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdG9wdGlvbicsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJG1vZC0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9tb2RlJywgZ2VuZXJhdG9yKCktPkxhbmcoJ21vZGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hZHZhbmNlZCcsIGdlbmVyYXRvcigpLT5MYW5nKCdhZHZhbmNlZCcpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NpbXBsZScsIGdlbmVyYXRvcigpLT5MYW5nKCdzaW1wbGUnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfc29ydGluZycsIGdlbmVyYXRvcigpLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdW1tYXJ5X3NvcnRpbmdfYWR2YW5jZWQnLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3NvcnRieV9hZHZhbmNlZCcsICRzb3J0aXRlbXMsIC0xLCAkc29ydGJ5X2FkdmFuY2VkKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3NvcnRvcmRlcicpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeV9zb3J0b3JkZXJfYWR2YW5jZWQnLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3NvcnRvcmRlcl9hZHZhbmNlZCcsICRzb3J0b3JkZXJzLCAtMSwgJHNvcnRvcmRlcl9hZHZhbmNlZCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdCcsIGdlbmVyYXRvcigpLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9wYWdlbGltaXQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1bW1hcnlfcGFnZWxpbWl0X2FkdmFuY2VkJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3N1bW1hcnlfcGFnZWxpbWl0X2FkdmFuY2VkJywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeV9wYWdlbGltaXRfYWR2YW5jZWQnLCAyNSksIDUsIDUpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3NvcnRpbmcnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1bW1hcnlfc29ydGluZ19zaW1wbGUnLCAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc29ydGJ5X3NpbXBsZScsICdwb3NpdGlvbicsIDUwLCAyNTUsICdkaXNhYmxlZD0iZGlzYWJsZWQiJykNCik7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3NvcnRvcmRlcicpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdW1tYXJ5X3NvcnRvcmRlcl9zaW1wbGUnLCAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3NvcnRvcmRlcl9zaW1wbGUnLCAkc29ydG9yZGVycywgLTEsICRzb3J0b3JkZXJfc2ltcGxlKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfcGFnZWxpbWl0JywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeV9wYWdlbGltaXRfc2ltcGxlJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3N1bW1hcnlfcGFnZWxpbWl0X3NpbXBsZScsICRtb2QtPkdldFByZWZlcmVuY2UoJ3N1bW1hcnlfcGFnZWxpbWl0X3NpbXBsZScsIDI1KSwgNSwgNSwgJ2Rpc2FibGVkPSJkaXNhYmxlZCInKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfbW9kZScsICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnbW9kZScsICRtb2RlcywgLTEsICRtb2QtPkdldFByZWZlcmVuY2UoJ21vZGUnLCAnYWR2YW5jZWQnKSkpOw0KDQoNCmVjaG8gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlKCdtb2RldGFiLnRwbCcpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_optioneditingtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICRtb2QtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZWZhdWx0X2FjdGlvbl9wYXJhbXMnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2RlZmF1bHRfYWN0aW9uX3BhcmFtcycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZGVmYXVsdF9hY3Rpb25fcGFyYW1zJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2RlZmF1bHRfYWN0aW9uX3BhcmFtcycsICRtb2QtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfYWN0aW9uX3BhcmFtcycsICcnKSwgNTApKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX3RpdGxlX2VkaXQnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2l0ZW1fdGl0bGVfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV90aXRsZV9lZGl0JywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtX3RpdGxlX2VkaXQnLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlX2VkaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2l0ZW1fYWxpYXNfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9hbGlhc19lZGl0JywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtX2FsaWFzX2VkaXQnLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2FsaWFzX2VkaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX3VybF9lZGl0JywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9pdGVtX3VybF9lZGl0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX3VybF9lZGl0JywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtX3VybF9lZGl0JywgMSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV91cmxfZWRpdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0JywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9pdGVtX2RhdGVfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9kYXRlX2VkaXQnLCAkbW9kLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2l0ZW1fZGF0ZV9lZGl0JywgMSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kYXRlX2VkaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX2RhdGVfZW5kX2VkaXQnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9kYXRlX2VuZF9lZGl0JywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtX2RhdGVfZW5kX2VkaXQnLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZW5kX2VkaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX2NhdGVnb3J5X2VkaXQnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9jYXRlZ29yeV9lZGl0JywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtX2NhdGVnb3J5X2VkaXQnLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X2VkaXQnLCAwKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9yZWN1cnNpdmUnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X3JlY3Vyc2l2ZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVjdXJzaXZlJywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdyZWN1cnNpdmUnLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZWN1cnNpdmUnLCAwKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9maWx0ZXJfZGF0ZScsIGdlbmVyYXRvcigpLT5MYW5nKCdwcm9tcHRfZmlsdGVyX2RhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9kYXRlJywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdmaWx0ZXJfZGF0ZScsIDEsICRtb2QtPkdldFByZWZlcmVuY2UoJ2ZpbHRlcl9kYXRlJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9oYXNfZ2FsbGVyeScsICRtb2QtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaGFzX2dhbGxlcnknLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdoYXNfZ2FsbGVyeScpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2dhbGxlcnlfc29ydG9yZGVyJywgJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdnYWxsZXJ5X3NvcnRvcmRlcicsICRzb3J0b3JkZXJzLCAtMSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnZ2FsbGVyeV9zb3J0b3JkZXInLCdkZXNjJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcmV2aWV3X2FkbWluJywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdwcmV2aWV3X2FkbWluJywgMSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgncHJldmlld19hZG1pbicpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NvcHlfYWRtaW4nLCAkbW9kLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NvcHlfYWRtaW4nLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjb3B5X2FkbWluJykpKTsNCg0KJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOw0KDQplY2hvICRtb2QtPlByb2Nlc3NUZW1wbGF0ZSgnb3B0aW9uZWRpdGluZ3RhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_optionsearchtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICRtb2QtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NlYXJjaGFibGUnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X3NlYXJjaGFibGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlYXJjaGFibGUnLCAkbW9kLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3NlYXJjaGFibGUnLCAxLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzZWFyY2hhYmxlJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzZWFyY2hhYmxlJywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoYWJsZScpKTsNCiRzbWFydHktPmFzc2lnbignc2VhcmNoYWJsZV9saW5rJywgJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9zZWFyY2hfcmVpbmRleCcsICRyZXR1cm5pZCwgJycsIGFycmF5KCksICcnLCB0cnVlKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NlYXJjaF9kYXRlX2VuZCcsIGdlbmVyYXRvcigpLT5MYW5nKCdwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zZWFyY2hfZGF0ZV9lbmQnLCAkbW9kLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3NlYXJjaF9kYXRlX2VuZCcsIDEsICRtb2QtPkdldFByZWZlcmVuY2UoJ3NlYXJjaF9kYXRlX2VuZCcpKSk7DQoNCmVjaG8gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlKCdvcHRpb25zZWFyY2h0YWIudHBsJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_optiontab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJG1vZC0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICRtb2QtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICRtb2QtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ZyaWVuZGx5bmFtZScsIGdlbmVyYXRvcigpLT5MYW5nKCdwcm9tcHRfZnJpZW5kbHluYW1lJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mcmllbmRseW5hbWUnLCAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZnJpZW5kbHluYW1lJywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJywgJycpLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX3RpdGxlJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9pdGVtX3RpdGxlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX3RpdGxlJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2l0ZW1fdGl0bGUnLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJywgJycpLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX3Npbmd1bGFyJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9pdGVtX3Npbmd1bGFyJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX3Npbmd1bGFyJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2l0ZW1fc2luZ3VsYXInLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJywgJycpLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX3BsdXJhbCcsIGdlbmVyYXRvcigpLT5MYW5nKCdwcm9tcHRfaXRlbV9wbHVyYWwnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fcGx1cmFsJywgJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2l0ZW1fcGx1cmFsJywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9wbHVyYWwnLCAnJyksIDUwKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VybF9wcmVmaXgnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X3VybF9wcmVmaXgnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VybF9wcmVmaXgnLCAkbW9kLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXJsX3ByZWZpeCcsICRtb2QtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCAnJyksIDUwKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Rpc3BsYXlfaW5saW5lJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9kaXNwbGF5X2lubGluZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZGlzcGxheV9pbmxpbmUnLCAkbW9kLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2Rpc3BsYXlfaW5saW5lJywgMSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VyZ3JvdXBfZGVwZW5kZW5jZScsIGdlbmVyYXRvcigpLT5MYW5nKCdwcm9tcHRfdXNlcmdyb3VwX2RlcGVuZGVuY2UnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJncm91cF9kZXBlbmRlbmNlJywgJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd1c2VyZ3JvdXBfZGVwZW5kZW5jZScsIDEsICRtb2QtPkdldFByZWZlcmVuY2UoJ3VzZXJncm91cF9kZXBlbmRlbmNlJykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaGFzX2FkbWluJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9oYXNfYWRtaW4nKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hhc19hZG1pbicsICRtb2QtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaGFzX2FkbWluJywgMSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaGFzX2FkbWluJykpKTsNCg0KDQokY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2l0ZW1fZGV0YWlsX3JldHVybmlkJywgZ2VuZXJhdG9yKCktPkxhbmcoJ3Byb21wdF9pdGVtX2RldGFpbF9yZXR1cm5pZCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9kZXRhaWxfcmV0dXJuaWQnLCAkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgLTEpLCAkaWQgLiAnaXRlbV9kZXRhaWxfcmV0dXJuaWQnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnLCAkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnLCAtMSksICRpZCAuICdpdGVtX2NhdGVnb3J5X3JldHVybmlkJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jdXN0b21fZmllbGRzX2RlZmF1bHQnLCBnZW5lcmF0b3IoKS0+TGFuZygncHJvbXB0X2N1c3RvbV9maWVsZHNfZGVmYXVsdF9hZG1pbicpKTsNCiRzbWFydHktPmFzc2lnbignY3VzdG9tX2ZpZWxkc19kZWZhdWx0JywgZXhwbG9kZSgnLCcsICRtb2QtPkdldFByZWZlcmVuY2UoJ2N1c3RvbV9maWVsZHNfZGVmYXVsdCcpKSk7DQoNCmVjaG8gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlKCdvcHRpb250YWIudHBsJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_templatetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkbW9kLT5DaGVja1Blcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCiAgICByZXR1cm47DQokYWRtaW50aGVtZSA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOw0KDQokcXVlcnkgPSAnU0VMRUNUIHRwbF9pZCwgbmFtZSwgY29udGVudCwgdHlwZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUnOw0KJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KJGl0ZW1zID0gQXJyYXkoKTsNCiRyb3djbGFzcyA9ICdyb3cxJzsNCg0Kd2hpbGUgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsNCiAgICAkdG1wID0gbmV3IFN0ZENsYXNzKCk7DQogICAgJHRtcC0+bGluayA9ICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCAkcm93WyduYW1lJ10sIGFycmF5KCd0cGxfaWQnID0+ICRyb3dbJ3RwbF9pZCddKSk7DQogICAgJHRtcC0+ZGVsZXRlID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9kZWxldGV0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBnZW5lcmF0b3IoKS0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3RwbF9pZCcgPT4gJHJvd1sndHBsX2lkJ10pLCBnZW5lcmF0b3IoKS0+TGFuZygnYXJleW91c3VyZScpKTsNCiAgICAkdG1wLT5lZGl0ID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGdlbmVyYXRvcigpLT5MYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3RwbF9pZCcgPT4gJHJvd1sndHBsX2lkJ10pKTsNCiAgICAkdG1wLT5yb3djbGFzcyA9ICRyb3djbGFzczsNCg0KICAgICRpID0gaXNzZXQoJGl0ZW1zWyRyb3dbJ3R5cGUnXV0pID8gY291bnQoJGl0ZW1zWyRyb3dbJ3R5cGUnXV0pIDogMDsNCiAgICAkaXRlbXNbJHJvd1sndHlwZSddXVskaV0gPSAkdG1wOw0KDQogICAgJHJvd2NsYXNzID0gKCRyb3djbGFzcyA9PSAncm93MScgPyAncm93MicgOiAncm93MScpOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRpdGVtcykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRpdGVtcyk7DQokc21hcnR5LT5hc3NpZ24oJ2RldGFpbHRlbXBsYXRlcycsIGdlbmVyYXRvcigpLT5MYW5nKCdkZXRhaWx0ZW1wbGF0ZXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1bW1hcnl0ZW1wbGF0ZXMnLCBnZW5lcmF0b3IoKS0+TGFuZygnc3VtbWFyeXRlbXBsYXRlcycpKTsNCiRzbWFydHktPmFzc2lnbignaGVhZGVyX25hbWUnLCBnZW5lcmF0b3IoKS0+TGFuZygndGVtcGxhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2FkZGRldGFpbGxpbmsnLCAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCBnZW5lcmF0b3IoKS0+TGFuZygnYWRkdGVtcGxhdGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4gJyAnIC4gc3ByaW50ZihnZW5lcmF0b3IoKS0+TGFuZygnYWRkdGVtcGxhdGUnKSwgJ0RldGFpbCcpLCBhcnJheSgndHlwZScgPT4gJ2RldGFpbCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2FkZHN1bW1hcnlsaW5rJywgJG1vZC0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2FkZHRlbXBsYXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuICcgJyAuIHNwcmludGYoZ2VuZXJhdG9yKCktPkxhbmcoJ2FkZHRlbXBsYXRlJyksICdTdW1tYXJ5JyksIGFycmF5KCd0eXBlJyA9PiAnc3VtbWFyeScpKSk7DQoNCmVjaG8gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZXRhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KJGRpciA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgZGlybmFtZShfX0ZJTEVfXykpOw0KJGRlZmF1bHRfbGFuZyA9IHN0cl9yZXBsYWNlKCdNb2R1bGVMaWInIC4gRElSRUNUT1JZX1NFUEFSQVRPUiwgJycsIF9fRklMRV9fKTsNCiRjdXJyX2xhbmcgPSBzdHJfcmVwbGFjZSgnZW5fVVMucGhwJywgJ2V4dCcgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gY21zX2N1cnJlbnRfbGFuZ3VhZ2UoKSAuICcucGhwJywgJGRlZmF1bHRfbGFuZyk7DQppbmNsdWRlKCRkZWZhdWx0X2xhbmcpOw0KaWYgKGZpbGVfZXhpc3RzKCRjdXJyX2xhbmcpKSB7DQogICAgaW5jbHVkZSgkY3Vycl9sYW5nICk7DQp9DQoNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJG1vZHVsZV9uYW1lIC4gJyBoYXMgc3VjY2Vzc2Z1bGx5IGJlZW4gaW5zdGFsbGVkJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAkbW9kdWxlX25hbWUgLiAnIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiB1bmluc3RhbGxlZCc7DQokbGFuZ1skbW9kdWxlX2FsaWFzIC4gJ19tb2RpZnlfaXRlbSddID0gJG1vZHVsZV9uYW1lIC4gJzogTW9kaWZ5IEl0ZW1zJzsNCiRsYW5nWyRtb2R1bGVfYWxpYXMgLiAnX21vZGlmeV9jYXRlZ29yaWVzJ10gPSAkbW9kdWxlX25hbWUgLiAnOiBNb2RpZnkgQ2F0ZWdvcmllcyc7DQokbGFuZ1skbW9kdWxlX2FsaWFzIC4gJ19tb2RpZnlfb3B0aW9uJ10gPSAkbW9kdWxlX25hbWUgLiAnOiBNb2RpZnkgT3B0aW9ucyc7DQokbGFuZ1skbW9kdWxlX2FsaWFzIC4gJ19hbGxfY2F0ZWdvcnlfdmlzYmlsZSddID0gJG1vZHVsZV9uYW1lIC4gJzogYWxsIGNhdGVnb3J5IHZpc2libGUnOw0KJGxhbmdbJ2NoYW5nZWxvZyddID0gJyAnOw0KDQojIyBwZXJtcw0KJGxhbmdbJ21vZGlmeV9pdGVtJ10gPSAkbW9kdWxlX25hbWUgLiAnOiBtb2RpZnkgaXRlbSc7DQokbGFuZ1snbW9kaWZ5X29wdGlvbiddID0gJG1vZHVsZV9uYW1lIC4gJzogbW9kaWZ5IG9wdGlvbic7DQokbGFuZ1snbW9kaWZ5X2NhdGVnb3JpZXMnXSA9ICRtb2R1bGVfbmFtZSAuICc6IG1vZGlmeSBjYXRlZ29yaWVzJzsNCiRsYW5nWydhbGxfY2F0ZWdvcnlfdmlzYmlsZSddID0gJG1vZHVsZV9uYW1lIC4gJzogYWxsIGNhdGVnb3J5IHZpc2libGUnOw0KDQoNCi8vIG1vZHVsZSBoZWxwDQokbGFuZ1snaGVscCddID0gPDw8RU9UDQo8ZGl2IGlkPSJwYWdlX3RhYnMiPiAgICAgDQogIDxkaXYgaWQ9ImdlbmVyYWwiPg0KICAgIEdlbmVyYWwgSW5mbyAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJ1c2FnZSI+DQogICAgVXNhZ2UgICANCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0icGVybWlzc2lvbnMiPg0KICAgIFBlcm1pc3Npb25zICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9ImZpZWxkIj4NCiAgICBGaWVsZCBEZWZpbml0aW9ucyAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJjYXRlZ29yaWVzIj4NCiAgICBDYXRlZ29yaWVzICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9ImV4YW1wbGVzIj4NCiAgICBFeGFtcGxlcyAgIA0KICA8L2Rpdj4gICAgIA0KPC9kaXY+ICAgDQo8ZGl2IGNsYXNzPSJjbGVhcmIiPiAgDQo8L2Rpdj4NCjxkaXYgaWQ9InBhZ2VfY29udGVudCI+ICANCiAgPGRpdiBpZD0iZ2VuZXJhbF9jIj4JDQoNCjxoMz5HZW5lcmFsIEluZm88L2gzPgkJDQogICAgPHA+U2ltcGx5IHB1dCwgTW9kdWxlICBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4gWW91IGNvdWxkIG1ha2UgYSBzaW1wbGUgRkFRIG9yIFRlc3RpbW9uaWFscyBmZWF0dXJlIHdpdGggdGhpcyBtb2R1bGUuIFRoZSB3ZWIgZGV2ZWxvcGVyIGRlZmluZXMgZmllbGRzIHRvIGNvbnN0cmFpbiB3aGF0IGRhdGEgdGhlIGNsaWVudCBjYW4gZW50ZXIuIEEgbnVtYmVyIG9mIGZpZWxkIHR5cGVzIGNhbiBiZSBzcGVjaWZpZWQgLSB0ZXh0IGlucHV0LCBjaGVja2JveCwgdGV4dCBhcmVhLCBzZWxlY3QgZGF0ZSwgdXBsb2FkIGZpbGUsIHNlbGVjdCBmaWxlLCBkcm9wZG93biAtIGFuZCBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBjYW4gYmUgc2V0IGZvciBlYWNoIHR5cGUsIGZvciBleGFtcGxlLCBpbnB1dCBmaWVsZCBzaXplLCBtYXggbGVuZ3RoLCBXWVNJV1lHIGVkaXRvciwgcG9zc2libGUgZHJvcCBkb3duIHZhbHVlcywgcG9zc2libGUgZmlsZSBleHRlbnNpb25zLCBkaXJlY3RvcnkgcGF0aHMgZm9yIGZpbGUgc2VsZWN0aW9ucywgZGF0ZSBmb3JtYXRzLCBldGMuDQogICAgPC9wPg0KDQoNCjxoMz5BYm91dCBBdXRob3I8L2gzPg0KPHA+WmRlbm8gS3V6bWFueTxiciAvPiA8YnIgLz4NCiAgICA8c3Ryb25nPlBlcnNvbmFsOjwvc3Ryb25nPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8va3V6bWFueS5iaXovP3V0bV9zb3VyY2U9Y21zbXMlMkJtb2R1bGUmdXRtX21lZGl1bT1saW5rJnV0bV9jYW1wYWlnbj11cmx3YXRjaGRvZyI+a3V6bWFueS5iaXo8L2E+PGJyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9tYWRlc2ltcGxlLnNrLz91dG1fc291cmNlPWNtc21zJTJCbW9kdWxlJnV0bV9tZWRpdW09bGluayZ1dG1fY2FtcGFpZ249dXJsd2F0Y2hkb2ciPm1hZGVzaW1wbGUuc2s8L2E+PGJyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9rdXptYW55Ij50d2l0dGVyPC9hPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vYWJvdXQubWUva3V6bWFueSI+YWJvdXQubWU8L2E+PGJyPjxiciAvPg0KPHN0cm9uZz5EbyBuaWNlIHRoaW5nIHdpdGggbWU8L3N0cm9uZz48YnIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vY21zbWFkZXNpbXBsZS5zay9vdXRzb3VyY2luZy8/dXRtX3NvdXJjZT1jbXNtcyUyQm1vZHVsZSZ1dG1fbWVkaXVtPWxpbmsmdXRtX2NhbXBhaWduPXVybHdhdGNoZG9nIj5DTVMgTWFkZSBTaW1wbGUgb3V0c291cmNpbmc8L2E+PGJyPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgPC9kaXY+CQ0KICA8ZGl2IGlkPSJ1c2FnZV9jIj4JCQ0KICAgIDxoMz5Vc2FnZTwvaDM+CQkJDQogICAgICA8cD5Zb3UgY2FuIGNvbmZpZ3VyZSB7JG1vZHVsZV9uYW1lfSBoZXJlOiBDb250ZW50ID4geyRtb2R1bGVfbmFtZX0NCiAgICAgIDwvcD4JCQkNCiAgICA8cD5QbGFjZSB0aGlzIHRhZyBpbiB5b3VyIHBhZ2U6PGJyIC8+CQ0KICAgIHt7JG1vZHVsZV9uYW1lfX0NCiAgICA8L3A+CQkNCiAgICA8ZGl2PgkJCQ0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPg0KICAgICAgICBBZnRlciBpbnN0YWxsaW5nIHRoZSBtb2R1bGUgdGhlIG5leHQgdGhpbmcgdG8gZG8gaXMgc2V0IHRoZSBvcHRpb25zLiAgCQkJCQ0KICAgICAgICA8b2w+CQkJCQkNCiAgICAgICAgICA8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgaW4gdGhlIG1lbnUgY2hhbmdlIHRoZSAnTW9kdWxlIEZyaWVuZGx5IE5hbWUnLg0KICAgICAgICAgIDwvbGk+CQkJCQkNCiAgICAgICAgICA8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBpdGVtIHRhYiBjaGFuZ2UgdGhlICdJdGVtIFBsdXJhbCcuDQogICAgICAgICAgPC9saT4JCQkJDQogICAgICAgIDwvb2w+CQkNCiAgICAgIDwvZGl2Pg0KICAgICAgPGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4JCQ0KICAgIDwvZGl2PgkJDQogICAgPGRpdj4NCiAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4NCiAgICAgICAgTmV4dCAtIHNldCB0aGUgRmllbGQgRGVmaW5pdGlvbnMuIA0KICAgICAgICA8b2w+DQogICAgICAgICAgPGxpPkNob29zZSBmcm9tICdUZXh0IElucHV0JywgJ0NoZWNrYm94JywgJ1RleHQgQXJlYScsICdTZWxlY3QgRGF0ZScsICdVcGxvYWQgRmlsZScsICdTZWxlY3QgRmlsZScgJiAnRHJvcGRvd24nLg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpPkZvciBlYWNoIGZpZWxkIGRlZmluaXRpb24sIHlvdSBjYW4gc3BlY2lmeSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBpbiB0aGUgJ2V4dHJhJyBmaWVsZC4gU2VlIHRoZSAnRmllbGQgRGVmaW5pdGlvbnMnIHRhYiBmb3IgYSBsaXN0Lg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpPkVhY2ggaXRlbSBpbiBlYWNoIGxpc3QgaGFzIHRocmVlIGRlZmF1bHQgZmllbGRzLiBBbGwgRmllbGQgRGVmaW5pdGlvbnMgc2V0IGhlcmUgYXJlIGFkZGl0aW9uYWwgdG8gdGhlbS4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICA8L29sPg0KICAgICAgPC9kaXY+PGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4NCiAgICA8L2Rpdj4NCiAgICAgICAgPGRpdj4NCiAgICAgIA0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPg0KICAgICAgICBOb3cgd2UgbW92ZSBvbiB0byB0aGUgSXRlbSBsaXN0IGl0c2VsZi4gSW4gdGhpcyBleGFtcGxlIGl0IHNheXMgJ0FkZCBCb3gnLCB0aGlzIHdhcyByZW5hbWVkIGluIHRoZSAnT3B0aW9ucycgdGFiLiANCiAgICAgICAgPG9sPg0KICAgICAgICAgIDxsaT5UaGUgZmlyc3QgZmllbGQgaXMgdGhlIGRlZmF1bHQgJ1RpdGxlJyBmaWVsZC4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT5UaGUgJ0NhdGVnb3J5JyBkcm9wZG93biBpcyBhbHNvIGEgZGVmYXVsdCBmaWVsZCwgYW5kIGlmIHVuY2hhbmdlZCwgd2lsbCBiZSBzZXQgdG8gJ0dlbmVyYWwnLg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpPlRoZSB0aGlyZCBkZWZhdWx0IGZpZWxkIGlzIHRoZSBjaGVja2JveCBjYWxsZWQgJ0FjdGl2ZScuIFRoaXMgYWxsb3dzIHlvdSB0byB0b2dnbGUgYSBsaXN0IGVudHJ5IHdpdGhvdXQgZGVsZXRpbmcgaXQuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgPC9vbD4NCiAgICAgIDwvZGl2PjxiciBzdHlsZT0iY2xlYXI6Ym90aDsiIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDsiIC8+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJwZXJtaXNzaW9uc19jIj48aDM+UGVybWlzc2lvbnM8L2gzPg0KICAgIDxwPllvdSBjYW4gc3BlY2lmeSB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zIHVuZGVyIFVzZXJzICYgR3JvdXBzID4gR3JvdXAgUGVybWlzc2lvbnMNCiAgICA8L3A+DQogICAgPHVsPg0KICAgICAgPGxpPnskbW9kdWxlX25hbWV9OiBtb2RpZnkgSXRlbXMNCiAgICAgIDwvbGk+DQogICAgICA8bGk+eyRtb2R1bGVfbmFtZX06IG1vZGlmeSBDYXRlZ29yaWVzDQogICAgICA8L2xpPg0KICAgICAgPGxpPnskbW9kdWxlX25hbWV9OiBtb2RpZnkgT3B0aW9ucw0KICAgICAgPC9saT4NCiAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogYWxsIGNhdGVnb3J5IHZpc2libGUNCiAgICAgIDwvbGk+DQogICAgPC91bD4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImZpZWxkX2MiPjxoMz5GaWVsZCBEZWZpbml0aW9uczwvaDM+DQogICAgPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgY29uZmlndXJlIGFyZSB5b3VyIGZpZWxkIGRlZmluaXRpb25zLg0KICAgIDwvcD4NCiAgICA8cD5Gb3IgZWFjaCBmaWVsZCBkZWZpbml0aW9uLCB5b3UgY2FuIHNwZWNpZnkgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgaW4gdGhlICJleHRyYSIgZmllbGQuDQogICAgPC9wPg0KICAgIDx1bD4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+c2l6ZVsyMF0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFRleHQgSW5wdXQsIFNlbGVjdCBEYXRlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+bWF4X2xlbmd0aFsyMF0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFRleHQgSW5wdXQsIFRleHQgQXJlYSwgU2VsZWN0IERhdGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+d3lzaXd5Z1sxXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFRleHQgQXJlYQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPm9wdGlvbnNbYXBwbGU9QXBwbGUsYmFuYW5hPUJhbmFuYV0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZToga2V5PXZhbHVlLC4uLiBvciB7Y21zX21vZHVsZX0gdGFnIHdpdGggc2ltaWxhciBvdXRwdXQgZXRjLiB7Y21zX2dhbGxlcnkgbW9kdWxlPUdhbGxlcnkgdGVtcGxhdGU9c2VsZWN0ZWJveH08YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0byBmaWVsZCB0eXBlOiBEcm9wZG93bg0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPk1vZHVsZW5hbWVbYWN0aW9uPWRlZmF1bHQsc29ydGJ5PXRpdGxlLHNvcnRvcmRlcj1kZXNjXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBldmVyeXRoaW5nIHlvdSB1c2VkIGluIDxtb2R1bGUgY2xhc3M9ImJyIj48L21vZHVsZT4NCiAgICAgICAgQXBwbGljYWJsZSB0byBmaWVsZCB0eXBlOiBNb2R1bGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5tdWx0aXBsZVs1XQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBpbnRlZ2VyPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogTW9kdWxlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPkdCRmlsZVBpY2tlclttb2RlPWJyb3dzZXIsZGlyPWltYWdlcyxhbGxvdz1qcGcsZ2lmXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+ICAgICAgICANCiAgICAgICAgQXBwbGljYWJsZSB0byBmaWVsZCB0eXBlOiBmaWxlcGlja2VyIChuZWVkIEdCRmlsZVBpY2tlciBtb2R1bGUgaW5zdGFsbGVkKQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5hbGxvd1twZGYsZ2lmLHBuZyxqcGVnLGpwZ10NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogZXh0ZW5zaW9uLC4uLiAoa2VlcCBsb3dlcmNhc2UpPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogVXBsb2FkIEZpbGUsIFNlbGVjdCBGaWxlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+ZGlyWy9wYXRoL3RvL2Rpcl0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGlyZWN0b3J5IHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIA0KICAgICAgICA8Y29kZT5cJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10NCiAgICAgICAgPC9jb2RlPi4gTm8gc2xhc2ggYXQgdGhlIGVuZC48YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0byBmaWVsZCB0eXBlOiBTZWxlY3QgRmlsZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPmV4Y2x1ZGVfcHJlZml4W3RodW1iXyxmb29fXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBwcmVmaXgsLi4uPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5kYXRlZm9ybWF0W2RkL21tL3l5XQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiBEYXRlIGZvcm1hdCB1c2VkIGJ5IHRoZSBqcXVlcnkgZGF0ZXBpY2tlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFRleHQgQXJlYQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+DQogICAgPC91bD4NCiAgICA8cD5Zb3UgY2FuIHNwZWNpZnkgbXVsdGlwbGUgaW5zdHJ1Y3Rpb25zIHNlcGFyYXRlZCBieSBhIHNlbWljb2xvbiAoIA0KICAgICAgPGNvZGU+Ow0KICAgICAgPC9jb2RlPiApLCBmb3IgZXhhbXBsZToNCiAgICA8L3A+DQogICAgPHA+DQogICAgICA8Y29kZT5hbGxvd1twZGZdO2RpclsvZG9jcy9wZGZdDQogICAgICA8L2NvZGU+DQogICAgPC9wPg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iY2F0ZWdvcmllc19jIj4NCiAgICA8aDM+Q2F0ZWdvcmllczwvaDM+DQogICAgPHA+WW91IGNhbiB1c2UgaGllcmFyY2h5IGNhdGVnb3JpZXMgd2l0aCBlYWNoIGl0ZW0uDQogICAgPC9wPg0KICAgIDxwPkV4YW1wbGU6IHtNb2R1bGVOYW1lIGNhdGVnb3J5PSJDYXRzKiJ9IC0gdmlldyBlYWNoIGl0ZW0gZnJvbSBjYXRlZ29yeSBDYXRzIGFuZCBoaXMgY2hpbGRyZW48L3A+DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJleGFtcGxlc19jIj4NCiAgICA8aDM+RXhhbXBsZXM8L2gzPg0KICAgIDxwPntNb2R1bGVOYW1lIGZpbHRlcl8xX2VxdWFsPTEgZGF0ZV9zdGFydD0xIGRhdGVfZW5kPTF9PC9wPg0KICAgIDx1bD4NCiAgICA8bGk+dmFsdWUgZnJvbSBjdXN0b20gZmllbGRpZCB3aXRoIGlkIDEgPSAxPC9saT4NCiAgICA8bGk+ZGF0ZSBzdGFydCAgPCBOT1c8L2xpPg0KICAgIDxsaT5lbmQgZGF0ZSAgPiBOT1c8L2xpPg0KICAgIDwvdWw+DQogICAgPGJyIC8+DQogICAgPHA+e01vZHVsZU5hbWUgZmlsdGVyX2l0ZW1JZF9pbnNldD0nMSwyLDMnfTwvcD4NCiAgICA8dWw+DQogICAgPGxpPml0ZW1faWQgaXMgaW4gc2V0ICgxLDIsMyk8L2xpPg0KICAgIDwvdWw+DQogICAgPGJyIC8+DQogICAgPHA+e01vZHVsZU5hbWUgIGFsbHJvdz0iaXRlbXMifTwvcD4NCiAgICA8dWw+DQogICAgPGxpPnNldCBhbGwgcmVzdWx0IHRvIHNtYXJ0eSB2YXIgXCRpdGVtczwvbGk+ICAgIA0KICAgIDwvdWw+DQogICAgPGJyIC8+DQogICAgPHA+e01vZHVsZU5hbWUgYWN0aW9uPSJkZXRhaWwiIGl0ZW1faWQ9MSAgb25lcm93PSJpdGVtIn08L3A+DQogICAgPHVsPg0KICAgIDxsaT5kZXRhaWwgZnJvbSBpdGVtIHdpdGggaWQgMTwvbGk+ICAgIA0KICAgIDxsaT5zZXQgcmVzdWx0IHRvIHNtYXJ0eSB2YXIgXCRpdGVtPC9saT4gICAgDQogICAgPC91bD4NCiAgICA8cD57TW9kdWxlTmFtZSBpdGVtX2RhdGVfZnJvbV90bz0ibm93fDYiIGRhdGVfc3RhcnQ9MX08L3A+DQogICAgPHVsPg0KICAgIDxsaT52aWV3IGZvciByZWN1cnNpdmUgaXRlbXMgbGlrZSBldmVudHMsIGNhbGVuZGFycyBldGMuPC9saT4NCiAgICA8bGk+bmVlZCBhbGxvd2VkIHN0YXJ0X2RhdGUgYW5kIHJlY3Vyc2l2ZSBmcm9tIGVkaXRpbmcgb3B0aW9uIHRhYjwvbGk+ICAgIA0KICAgIDxsaT5pdGVtX2RhdGVfZnJvbV90byBjb250YWlucyAyIHBhcmFtZXRlcnMgd2l0aCB8IHNlcGFyYXRvciA8YnIgLz4NCiAgICBmaXJzdCBpcyAgZGF0ZV9zdGFydCA8YnIgLz4NCiAgICBzZWNvbmQgaXMgIGRhdGVfc3RhcnQgPGJyIC8+DQogICAgYm90aCBwYXJhbWV0ZXIgY2FuIGhhcyB2YWx1ZXM6IG5vdywgaW50ZWdlciAobm93ICsgeCBkYXlzKSBvciAyIHZhbHVlcyB3aXRoIDogc2VwYXJhdG9yIChub3cgKyAzIGRheXMgKyA0IGhvdXIpIA0KPC9saT4gICAgDQogICAgPGxpPnNldCByZXN1bHQgdG8gc21hcnR5IHZhciBcJGl0ZW08L2xpPiAgICANCiAgICA8L3VsPg0KICA8L2Rpdj4NCjwvZGl2Pg0KRU9UOw0KJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSA8PDxFT1QNCidPdmVycmlkZSB0aGUgZGVmYXVsdCBhY3Rpb24uIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQo8bGk+JnF1b3Q7ZGVmYXVsdCZxdW90OyAtIHRvIGRpc3BsYXkgdGhlIHN1bW1hcnkgdmlldy48L2xpPg0KPGxpPiZxdW90O2RldGFpbCZxdW90OyAtIHRvIGRpc3BsYXkgYSBzcGVjaWZpZWQgZW50cnkgaW4gZGV0YWlsIG1vZGUuPC9saT4NCjxsaT4mcXVvdDtjYXRlZ29yaWVzJnF1b3Q7IC0gdG8gZGlzcGxheSB0aGUgY2F0ZWdvcmllczwvbGk+DQo8bGk+JnF1b3Q7ZmlsdGVyJnF1b3Q7IC0gZmlsdGVyIGZvciBpdGVtczwvbGk+DQo8L3VsPg0KRU9UOw0KJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnlfaWQnXSA9ICdTcGVjaWZ5IHRoZSBjYXRlZ29yeSBpZCB0byBkaXNwbGF5IGl0ZW1zIG9ubHkgZnJvbSB0aGlzIGNhdGVnb3J5Lic7DQokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeSddID0gJ1NwZWNpZnkgdGhlIGNhdGVnb3J5IGFsaWFzIHRvIGRpc3BsYXkgaXRlbXMgb25seSBmcm9tIHRoaXMgY2F0ZWdvcnkuJzsNCiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhlIGRldGFpbCB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsNCiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoZSBzdW1tYXJ5IHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSc7DQokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeXRlbXBsYXRlJ10gPSAnVGhlIGNhdGVnb3J5IHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSc7DQokbGFuZ1snaGVscF9wYXJhbV9maWx0ZXJ0ZW1wbGF0ZSddID0gJ1RoZSBmaWx0ZXIgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlJzsNCiRsYW5nWydoZWxwX3BhcmFtX29yZGVyYnknXSA9ICdZb3UgY2FuIG9yZGVyIGJ5IGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IGl0ZW1faWQsIHRpdGxlLCBpdGVtX2RhdGUsIG1vZGlmaWVkLCByYW5kb20sIGY6ZmllbGRhbGlhcy4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnUGFnZSBsaW1pdCBmb3IgcGFnaW5hdGlvbic7DQokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdPcmRlciBmbyAgZGVmYXVsdCBhY3Rpb24nOw0KJGxhbmdbJ2hlbHBfcGFyYW1faW5saW5lJ10gPSAnSW5saW5lJzsNCiRsYW5nWydoZWxwX3BhcmFtX29uZXJvdyddID0gJ1NldCByZXN1bHQgYXJyYXkgdG8gc21hcnR5LiBGb3IgZGVmYXVsdCBhbmQgZGV0YWlsIGFjdGlvbic7DQokbGFuZ1snaGVscF9wYXJhbV9hbGxyb3cnXSA9ICdTZXQgcmVzdWx0cyBhcnJheSB0byBzbWFydHkuIEZvciBkZWZhdWx0IGFjdGlvbic7DQokbGFuZ1snaGVscF9wYXJhbV9vbmVjb3VudCddID0gJ1NldCBjb3VudCByZXN1bHQgdG8gc21hcnR5LiBGb3IgZGVmYXVsdCBhY3Rpb24nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fZGF0ZV9zdGFydCddID0gJ0FsbG93IHVzaW5nIGRhdGVfZW5kIGZvciBwdWJsaWMgaXRlbXMnOw0KJGxhbmdbJ2hlbHBfcGFyYW1fZGF0ZV9lbmQnXSA9ICdJdGVtcyBleHBpcmF0aW9uJzsNCiRsYW5nWydoZWxwX3BhcmFtX2ZpbHRlciddID0gJ0ZpbHRlciBmb3IgcmVzdWx0cy4gWW91IGNhbiB1c2UgZmlsdGVyX0ZJRUxESURfQ09ORElUSU9OIGZvciBmaWVsZHMgb3IgZmlsdGVyX1BSRUZfQ09ORElUSU9OIGZvciBpdGVtIGNvbHMuPGJyIC8+DQpDb25kaXRpb24gZm9yIEZJRUxEUyAoZXRjOiBmaWVsZF8xX2VxdWFsPVwnYXBwbGVcJyk6PGJyICAvPg0KPHVsPg0KPGxpPm51bGw8L2xpPg0KPGxpPm5vdG51bGw8L2xpPg0KPGxpPmluPC9saT4NCjxsaT5pbnNldDwvbGk+DQo8bGk+aW5zZXQ8L2xpPg0KPGxpPmxlc3M8L2xpPg0KPGxpPmxlc3NlcXVhbDwvbGk+DQo8bGk+Z3JlYXRlcjwvbGk+DQo8bGk+Z3JlYXRlcmVxdWFsPC9saT4NCjxsaT5saWtlPC9saT4NCjxsaT5ub3RlcXVhbDwvbGk+DQo8bGk+ZXF1YWw8L2xpPg0KPC91bD4NCkNvbmRpdGlvbiBmb3IgaXRlbSBjb2xzIC0gaXRlbUlkLCBpdGVtRGF0ZUVuZCwgaXRlbURhdGUsIGFsaWFzLCB1cmwgICAoZXRjOiBmaWVsZF9pdGVtRGF0ZUVuZF9lcXVhbD1cJzIwMTEtMDEtMDEgMDA6MDA6MDBcJyk6PGJyICAvPg0KPHVsPg0KPGxpPm51bGw8L2xpPg0KPGxpPm5vdG51bGw8L2xpPg0KPGxpPmluPC9saT4NCjxsaT5pbnNldDwvbGk+DQo8bGk+bGlrZTwvbGk+DQo8bGk+bGVzczwvbGk+DQo8bGk+bGVzc2VxdWFsPC9saT4NCjxsaT5ncmVhdGVyPC9saT4NCjxsaT5ncmVhdGVyZXF1YWw8L2xpPg0KPGxpPm5vdGVxdWFsPC9saT4NCjxsaT5lcXVhbDwvbGk+DQo8L3VsPg0KJzsNCg0KJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1BhZ2UgdG8gZGlzcGxheSBpdGVtIGRldGFpbHMgaW4uIE11c3QgYmUgYSBwYWdlIGFsaWFzLiBVc2VkIHRvIGFsbG93IGRldGFpbHMgdG8gYmUgZGlzcGxheWVkIGluIGEgZGlmZmVyZW50IHBhZ2UgdGhhbiBzdW1tYXJ5Lic7DQokbGFuZ1snaGVscF9wYXJhbV9pdGVtJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBhcHBsaWNhYmxlIHRvIHRoZSBkZXRhaWwgdmlldy4gSXQgYWxsb3dzIHNwZWNpZnlpbmcgd2hpY2ggaXRlbSB0byBkaXNwbGF5IGluIGRldGFpbCBtb2RlLiBNdXN0IGJlIGFuIGl0ZW0gYWxpYXMuJzsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7DQoNCg0KLy8gY3JlYXRlIGl0ZW0gdGFibGUNCg0KJGZpZWxkcyA9ICcNCiAgICBpdGVtX2lkIEkgS0VZIEFVVE8sDQoJY2F0ZWdvcnlfaWQgSSwNCiAgICB0aXRsZSBDKDI1NSksDQoJYWxpYXMgQygyNTUpLA0KCXVybCBDKDI1NSksDQoJcmVjdXJzaXZlIEMoNTApLA0KICAgIHBvc2l0aW9uIEksDQogICAgYWN0aXZlIEkoMSksDQogICAgaXRlbV9kYXRlICcgLiBDTVNfQURPREJfRFQgLiAnLA0KICAgIGl0ZW1fZGF0ZV9lbmQgJyAuIENNU19BRE9EQl9EVCAuICcsDQogICAgY3JlYXRlX2RhdGUgJyAuIENNU19BRE9EQl9EVCAuICcsDQoJbW9kaWZpZWRfZGF0ZSAnIC4gQ01TX0FET0RCX0RUIC4gJw0KJzsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKGNtc19kYl9wcmVmaXgoKSAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ191cmwnLCBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICd1cmwnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTChjbXNfZGJfcHJlZml4KCkgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnlfaWQnLCBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICdjYXRlZ29yeV9pZCcpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQoNCi8vIGNyZWF0ZSBjYXRlZ29yeSB0YWJsZQ0KJGZpZWxkcyA9ICINCgljYXRlZ29yeV9pZCBJIEtFWSBBVVRPLA0KCWNhdGVnb3J5X25hbWUgQygyNTUpLA0KCWNhdGVnb3J5X2FsaWFzIEMoMjU1KSwNCglwYXJlbnRfaWQgSSwNCgloaWVyYXJjaHkgQygyNTUpLA0KICAgICAgICBwb3NpdGlvbiBJLA0KICAgICAgICBoaWVyYXJjaHlfcG9zaXRpb24gQygyNTUpLA0KCWxvbmdfbmFtZSBYLA0KICAgICAgICB1c2VyZ3JvdXAgSSwNCgljcmVhdGVfZGF0ZSBULA0KCW1vZGlmaWVkX2RhdGUgVA0KIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KDQovLyBjcmVhdGUgZmllbGRkZWYgdGFibGUNCg0KJGZpZWxkcyA9ICcNCiAgICBmaWVsZGRlZl9pZCBJIEtFWSBBVVRPLA0KICAgIG5hbWUgQygyNTUpLA0KICAgIGFsaWFzIEMoMjU1KSwNCiAgICBoZWxwIEMoMjU1KSwNCiAgICB0eXBlIEMoNTApLA0KICAgIHNlY3Rpb24gQygxMCksDQogICAgcG9zaXRpb24gSSwNCiAgICByZXF1aXJlZCBJKDEpLA0KICAgIGZyb250ZW5kIEkoMSksDQogICAgZWRpdHZpZXcgSSgxKSwNCiAgICBmaWx0ZXJfZnJvbnRlbmQgSSgxKSwNCiAgICBmaWx0ZXJfYWRtaW4gSSgxKSwNCiAgICBzZWFyY2hhYmxlIEkoMSksDQogICAgZXh0cmEgQygyNTUpDQonOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gY3JlYXRlIGZpZWxkdmFsIHRhYmxlDQoNCiRmaWVsZHMgPSAnDQogICAgaXRlbV9pZCBJIEtFWSBOT1QgbnVsbCwNCiAgICBmaWVsZGRlZl9pZCBJIEtFWSBOT1QgbnVsbCwNCiAgICB2YWx1ZSBYDQonOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gY3JlYXRlIGl0ZW0gZXh0cmEgdGFibGUNCg0KJGZpZWxkcyA9ICcNCiAgICBpdGVtX2lkIEkgS0VZIE5PVCBudWxsLA0KICAgIHZhbHVlIEkgS0VZIE5PVCBudWxsLA0KJzsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2V4dHJhJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KJGZpZWxkcyA9ICcNCiAgICBgaW1hZ2VfaWRgIGludCgxMCkgSSBLRVkgQVVUTywNCiAgYGl0ZW1faWRgIGludCgxMCkgREVGQVVMVCBOVUxMLA0KICBgZmlsZW5hbWVgIHZhcmNoYXIoMjU1KSBERUZBVUxUIE5VTEwsDQogIGBwb3NpdGlvbmAgaW50KDEwKSBERUZBVUxUIE5VTEwNCic7DQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcycsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIGNhdGVnb3J5IHRlbXBsYXRlDQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAndGVtcGxhdGVzJywgJ29yaWdfY2F0ZWdvcnlfdGVtcGxhdGUudHBsJyk7DQppZiAoZmlsZV9leGlzdHMoJGZuKSkgew0KICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQogICAgJG1vZC0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jYXRlZ29yeV90ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7DQogICAgJG1vZC0+U2V0VGVtcGxhdGUoJ2NhdGVnb3J5X3RlbXBsYXRlU2FtcGxlJywgJHRlbXBsYXRlKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2NhdGVnb3J5X3RlbXBsYXRlJywgJ1NhbXBsZScpOw0KfQ0KDQovLyBzdW1tYXJ5IHRlbXBsYXRlDQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAndGVtcGxhdGVzJywgJ29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnKTsNCmlmIChmaWxlX2V4aXN0cygkZm4pKSB7DQogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnLCAkdGVtcGxhdGUpOw0KICAgICRtb2QtPlNldFRlbXBsYXRlKCdzdW1tYXJ5X3RlbXBsYXRlU2FtcGxlJywgJHRlbXBsYXRlKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X3N1bW1hcnlfdGVtcGxhdGUnLCAnU2FtcGxlJyk7DQp9DQoNCi8vIGRldGFpbCB0ZW1wbGF0ZQ0KJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwgJ3RlbXBsYXRlcycsICdvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnKTsNCmlmIChmaWxlX2V4aXN0cygkZm4pKSB7DQogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7DQogICAgJG1vZC0+U2V0VGVtcGxhdGUoJ2RldGFpbF90ZW1wbGF0ZVNhbXBsZScsICR0ZW1wbGF0ZSk7DQogICAgJG1vZC0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9kZXRhaWxfdGVtcGxhdGUnLCAnU2FtcGxlJyk7DQp9DQoNCi8vIGZpbHRlciB0ZW1wbGF0ZQ0KJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwgJ3RlbXBsYXRlcycsICdvcmlnX2ZpbHRlcl90ZW1wbGF0ZS50cGwnKTsNCmlmIChmaWxlX2V4aXN0cygkZm4pKSB7DQogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2ZpbHRlcl90ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7DQogICAgJG1vZC0+U2V0VGVtcGxhdGUoJ2ZpbHRlcl90ZW1wbGF0ZVNhbXBsZScsICR0ZW1wbGF0ZSk7DQogICAgJG1vZC0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9maWx0ZXJfdGVtcGxhdGUnLCAnU2FtcGxlJyk7DQp9DQoNCg0KLy8gc2V0IHByZWZlcmVuY2VzDQokbW9kLT5TZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbW9kLT5HZXROYW1lKCksIHRydWUpKTsNCiRtb2QtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsICRtb2QtPkdldE5hbWUoKSk7DQokbW9kLT5TZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJywgZ2VuZXJhdG9yKCktPkxhbmcoJ2l0ZW0nKSk7DQokbW9kLT5TZXRQcmVmZXJlbmNlKCdpdGVtX3BsdXJhbCcsIGdlbmVyYXRvcigpLT5MYW5nKCdpdGVtcycpKTsNCiRtb2QtPlNldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLCBnZW5lcmF0b3IoKS0+TGFuZygnaXRlbV90aXRsZScpKTsNCiRtb2QtPlNldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGVfZWRpdCcsIDEpOw0KJG1vZC0+U2V0UHJlZmVyZW5jZSgnaXRlbV9jYXRlZ29yeV9lZGl0JywgMSk7DQokbW9kLT5TZXRQcmVmZXJlbmNlKCdyZWN1cnNpdmUnLCAwKTsNCg0KJG1vZC0+U2V0UHJlZmVyZW5jZSgnbW9kZScsICdhZHZhbmNlZCcpOw0KJG1vZC0+U2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyX2FkdmFuY2VkJywgJ2Rlc2MnKTsNCiRtb2QtPlNldFByZWZlcmVuY2UoJ3NvcnRieV9hZHZhbmNlZCcsICdjcmVhdGVfZGF0ZScpOw0KJG1vZC0+U2V0UHJlZmVyZW5jZSgnc3VtbWFyeV9wYWdlbGltaXRfYWR2YW5jZWQnLCAyNSk7DQoNCiRtb2QtPlNldFByZWZlcmVuY2UoJ3NvcnRvcmRlcl9zaW1wbGUnLCAnZGVzYycpOw0KJG1vZC0+U2V0UHJlZmVyZW5jZSgnc29ydGJ5X3NpbXBsZScsICdwb3NpdGlvbicpOw0KJG1vZC0+U2V0UHJlZmVyZW5jZSgnc3VtbWFyeV9wYWdlbGltaXRfc2ltcGxlJywgMTAwMDApOw0KDQokbW9kLT5TZXRQcmVmZXJlbmNlKCdoYXNfYWRtaW4nLCAxKTsNCiRtb2QtPlNldFByZWZlcmVuY2UoJ3NlYXJjaGFibGUnLCAxKTsNCiRtb2QtPlNldFByZWZlcmVuY2UoJ2ltYWdlc19zaXplX2FkbWluJywgJzIwMHgnKTsNCg0KJHRoaXMtPkNyZWF0ZUV2ZW50KCdJdGVtQWRkZWQnKTsNCiR0aGlzLT5DcmVhdGVFdmVudCgnSXRlbUVkaXRlZCcpOw0KJHRoaXMtPkNyZWF0ZUV2ZW50KCdJdGVtRGVsZXRlZCcpOw0KJHRoaXMtPkNyZWF0ZUV2ZW50KCdDYXRlZ29yeUFkZGVkJyk7DQokdGhpcy0+Q3JlYXRlRXZlbnQoJ0NhdGVnb3J5RWRpdGVkJyk7DQokdGhpcy0+Q3JlYXRlRXZlbnQoJ0NhdGVnb3J5RGVsZXRlZCcpOw0KJHRoaXMtPkNyZWF0ZUV2ZW50KCdJdGVtc1Jlb3JkZXJlZCcpOw0KJHRoaXMtPkNyZWF0ZUV2ZW50KCdDYXRlZ29yaWVzUmVvcmRlcmVkJyk7DQoNCi8vIHNldCBwZXJtaXNzaW9ucw0KJG1vZC0+Q3JlYXRlUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nLCAkbW9kLT5MYW5nKCdtb2RpZnlfaXRlbScpKTsNCiRtb2QtPkNyZWF0ZVBlcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yaWVzJywgJG1vZC0+TGFuZygnbW9kaWZ5X2NhdGVnb3JpZXMnKSk7DQokbW9kLT5DcmVhdGVQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hbGxfY2F0ZWdvcnlfdmlzYmlsZScsICRtb2QtPkxhbmcoJ2FsbF9jYXRlZ29yeV92aXNiaWxlJykpOw0KJG1vZC0+Q3JlYXRlUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicsICRtb2QtPkxhbmcoJ21vZGlmeV9vcHRpb24nKSk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQoNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0KLy8gZHJvcCB0YWJsZXMNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknKTsgLy8gdGhlIG9ubHkgZ29vZCBjYXQgaXMgYSBkZWFkIGNhdA0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCcpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pbWFnZXMnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gcmVtb3ZlIHByZWZlcmVuY2VzDQokbW9kLT5SZW1vdmVQcmVmZXJlbmNlKCk7DQoNCi8vIHJlbW92ZSBwZXJtaXNzaW9ucw0KJG1vZC0+UmVtb3ZlUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKTsNCiRtb2QtPlJlbW92ZVBlcm1pc3Npb24oJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yaWVzJyk7DQokbW9kLT5SZW1vdmVQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hbGxfY2F0ZWdvcnlfdmlzYmlsZScpOw0KJG1vZC0+UmVtb3ZlUGVybWlzc2lvbigkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/PD9waHANCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOw0KJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KDQpzd2l0Y2ggKCRvbGR2ZXJzaW9uKSB7DQogICAgY2FzZSAnMS4wJzoNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_addcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_approveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_bulkaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_deletefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_deleteitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_edititem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJG1vZCA9ICR0aGlzOw0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_editoption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_fields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_imagesbulkaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_movecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_movefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_moveimages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_moveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_ordercategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_ordercategory_do.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_search_reindex.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.admin_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJG1vZCA9ICR0aGlzOw0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJG1vZCA9ICR0aGlzOw0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJG1vZCA9ICR0aGlzOw0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJG1vZCA9ICR0aGlzOw0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/action.filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJG1vZCA9ICR0aGlzOw0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_categorytab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJG1vZCA9ICR0aGlzOwppbmNsdWRlKGdlbmVyYXRvcl90b29sczo6cm91dGUoJHRoaXMsIF9fRklMRV9fKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_fielddeftab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_fielddeftab_categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_itemtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_modetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_optioneditingtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_optionsearchtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_optiontab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/function.admin_templatetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaW5jbHVkZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyogLS0tIGRvIG5vdCBlZGl0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLyogVG8gbWFrZSB0aGlzIG1vZHVsZSBlYXN5IHRvIGR1cGxpY2F0ZSwgdGhlIG1vZHVsZSBuYW1lIGFuZCBtb2R1bGUgYWxpYXMNCiAqIGlzIHRha2VuIGZyb20gdGhlIG1vZHVsZSBkaXJlY3RvcnkgbmFtZSB0aGF0IHRoaXMgbGFuZyBmaWxlIGlzIGNvbnRhaW5lZC4NCiAqIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGUgbW9kdWxlIG9iamVjdCBjYW5ub3QgYmUgYWNjZXNzZWQgd2l0aG91dA0KICogVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBtb2R1bGUgb2JqZWN0IGNhbm5vdCBiZSBhY2Nlc3NlZCB3aXRob3V0DQogKiBrbm93aW5nIGl0cyBuYW1lLg0KICovDQokY29uZmlnPWNtc21zKCktPkdldENvbmZpZygpOw0KJGRpciA9IHN0cl9yZXBsYWNlKCdcXCcgLCAnLycsIGRpcm5hbWUoX19GSUxFX18pKTsNCnByZWdfbWF0Y2goJy9cL21vZHVsZXNcLyguKylcLy8nLCAkZGlyLCAkbWF0Y2hlcyk7DQokbW9kdWxlX25hbWUgPSAkbWF0Y2hlc1sxXTsNCiRtb2R1bGVfYWxpYXMgPSBzdHJ0b2xvd2VyKCRtYXRjaGVzWzFdKTsNCiRyb290dXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXTsNCmluY2x1ZGUoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwnbW9kdWxlcycsJ01vZHVsZUdlbmVyYXRvcicsJ01vZHVsZUxpYicsJ2xhbmcnLCdlbl9VUy5waHAnKSk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGUoZ2VuZXJhdG9yX3Rvb2xzOjpyb3V0ZSgkdGhpcywgX19GSUxFX18pKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/PD9waHANCiRtb2QgPSAkdGhpczsNCmluY2x1ZGVfb25jZShnZW5lcmF0b3JfdG9vbHM6OnJvdXRlKCR0aGlzLCBfX0ZJTEVfXykpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/ModuleExample.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiAgZ2VuZXJhdG9yICAtIHVnbHksIGJ1dCB3b3JrcyA6KQ0KICogQHJldHVybiBvYmplY3QgDQogKi8NCmlmICghZnVuY3Rpb25fZXhpc3RzKCdnZW5lcmF0b3InKSkgew0KDQogICAgZnVuY3Rpb24gZ2VuZXJhdG9yKCkgew0KICAgICAgICByZXR1cm4gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsNCiAgICB9DQoNCn0NCg0KLyoNCg0KICBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQogIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQogIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KICBDby1NYWludGFpbmVyOiBKb25hdGhhbiBTY2htaWQsIDxoaUBqb25hdGhhbnNjaG1pZC5kZT4NCg0KICBMaXN0SXQgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUNCiAgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQ0KICBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4NCg0KICBXaGVuIGR1cGxpY2F0aW5nIHRoaXMgbW9kdWxlIGNoYW5nZSB0aGUgJ0xpc3RJdCcgYmVsb3cgdG8gdGhlIG5ldyBtb2R1bGUNCiAgbmFtZSwgZS5nLiBOZXdOYW1lLiBGb2xsb3cgdGhlIENNU01TIG1vZHVsZSBuYW1pbmcgY29udmVudGlvbnMsIGEteiB3aXRoIG5vDQogIHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgb3Igc3BhY2VzLiBBbHNvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGlzIGZpbGUgdG8gbWF0Y2gNCiAgLSBOZXdOYW1lLm1vZHVsZS5waHAuIEZpbmFsbHkgY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBMaXN0SXQgZm9sZGVyIHRvIHRoZQ0KICBzYW1lIE5ld05hbWUNCg0KICovDQoNCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiRjZ2V4dGVuc2lvbnMgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAnbW9kdWxlcycsICdDR0V4dGVuc2lvbnMnLCAnQ0dFeHRlbnNpb25zLm1vZHVsZS5waHAnKTsNCmlmICghaXNfcmVhZGFibGUoJGNnZXh0ZW5zaW9ucykpIHsNCiAgICBlY2hvICc8aDE+PGZvbnQgY29sb3I9InJlZCI+RVJST1I6IFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC48L2ZvbnQ+PC9oMT4nOw0KICAgIHJldHVybjsNCn0NCnJlcXVpcmVfb25jZSgkY2dleHRlbnNpb25zKTsNCg0KY2xhc3MgTW9kdWxlRXhhbXBsZSBleHRlbmRzIENHRXh0ZW5zaW9ucyB7DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7DQogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpIHsNCiAgICAgICAgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgew0KICAgICAgICByZXR1cm4gJzEuMCc7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3IoKSB7DQogICAgICAgIHJldHVybiAnQGt1em1hbnknOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsNCiAgICAgICAgcmV0dXJuICd6ZGVub0BrdXptYW55LmJpeic7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsNCg0KICAgICAgICAkdGhpcy0+SW5pdGlhbGl6ZUFkbWluKCk7DQogICAgICAgICR0aGlzLT5Jbml0aWFsaXplRnJvbnRlbmQoKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsNCiAgICAgICAgcmV0dXJuIEZBTFNFOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKSB7DQoNCiAgICAgICAgLy8gYXV0byBsb2FkIGZvciBnZW5lcmF0b3Jfb3B0cw0KICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQogICAgICAgICRnZW5lcmF0b3Jfb3B0cyA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdsaWInLCAnY2xhc3MuZ2VuZXJhdG9yX29wdHMucGhwJyk7DQogICAgICAgIHJlcXVpcmVfb25jZSgkZ2VuZXJhdG9yX29wdHMpOw0KDQogICAgICAgIGdlbmVyYXRvcl9vcHRzOjppbml0X2FkbWluKCR0aGlzKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkgew0KDQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAgICAgJGdlbmVyYXRvcl9vcHRzID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ2xpYicsICdjbGFzcy5nZW5lcmF0b3Jfb3B0cy5waHAnKTsNCiAgICAgICAgcmVxdWlyZV9vbmNlKCRnZW5lcmF0b3Jfb3B0cyk7DQoNCiAgICAgICAgZ2VuZXJhdG9yX29wdHM6OmluaXQoJHRoaXMpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBBbGxvd1NtYXJ0eUNhY2hpbmcoKSB7DQogICAgICAgIHJldHVybiBUUlVFOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgew0KICAgICAgICByZXR1cm4gVFJVRTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsNCiAgICAgICAgcmV0dXJuIFRSVUU7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24oJGV2ZW50bmFtZSkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPmxhbmcoJ2V2ZW50ZGVzYy0nIC4gJGV2ZW50bmFtZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBEb0FjdGlvbiAtIGRlZmF1bHQgYWRkIGRlZmF1bHQgcGFyYW1zDQogICAgICogQHBhcmFtIHR5cGUgJG5hbWUNCiAgICAgKiBAcGFyYW0gdHlwZSAkaWQNCiAgICAgKiBAcGFyYW0gdHlwZSAkcGFyYW1zDQogICAgICogQHBhcmFtIHR5cGUgJHJldHVybmlkIA0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBEb0FjdGlvbigkbmFtZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgPSAnJykgew0KICAgICAgICBnbG9iYWwgJENNU19BRE1JTl9QQUdFOw0KICAgICAgICBzd2l0Y2ggKCRuYW1lKSB7DQogICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgIC8vIGZpeCA0IHNtYXJ0eSBzZWN1cml0eSB3aWR0aCB0ZW1wbGF0ZXMgZm9sZGVyDQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRDTVNfQURNSU5fUEFHRSkgJiYgJENNU19BRE1JTl9QQUdFID09IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgICAgICAgICAgICAgICAgICAkdGVtcGxhdGVkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJyk7DQoNCiAgICAgICAgICAgICAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KICAgICAgICAgICAgICAgICAgICAkc21hcnR5LT5zZXRUZW1wbGF0ZURpcigkdGVtcGxhdGVkaXIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHBhcmVudDo6RG9BY3Rpb24oJG5hbWUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gSGFzQWRtaW4oKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGFzX2FkbWluJywgZmFsc2UpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7DQogICAgICAgIHJldHVybiAnY29udGVudCc7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsNCiAgICAgICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnID0+ICcxLjI2JywgJ01vZHVsZUdlbmVyYXRvcicgPT4gJzEuMCcsICdFeHRlbmRlZFRvb2xzJyA9PiAnMS4wJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgew0KICAgICAgICByZXR1cm4gJzEuOSc7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqICBnZXQgbW9kdWxlIGFsaWFzDQogICAgICogQHJldHVybiB0eXBlIA0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBfR2V0TW9kdWxlQWxpYXMoKSB7DQogICAgICAgICR2YWx1ZSA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKGdldF9jbGFzcygpIC4gX19GVU5DVElPTl9fKTsNCiAgICAgICAgaWYgKCR2YWx1ZSkNCiAgICAgICAgICAgIHJldHVybiAkdmFsdWU7DQoNCiAgICAgICAgJHZhbHVlID0gc3RydG9sb3dlcigkdGhpcy0+R2V0TmFtZSgpKTsNCiAgICAgICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoZ2V0X2NsYXNzKCkgLiBfX0ZVTkNUSU9OX18sICR2YWx1ZSk7DQogICAgICAgIHJldHVybiAkdmFsdWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogIGdldCBjb3N0dW0gZmllbGQgZGVmcw0KICAgICAqIEBwYXJhbSBJTlQgJGl0ZW1faWQNCiAgICAgKiBAcmV0dXJuIGFycmF5DQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIEdldENvc3R1bUZpZWxkRGVmcygkaXRlbV9pZCkgew0KICAgICAgICByZXR1cm4gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfY29zdHVtX2ZpZWxkX2RlZigkdGhpcywgJGl0ZW1faWQpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIdG1sKCkgew0KICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsNCiAgICAgICAgJG91dHB1dCA9ICc8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJyAuICRtb2R1bGUtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvanMvbUNvbG9yUGlja2VyLm1pbi5qcyI+PC9zY3JpcHQ+JzsNCg0KICAgICAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2hhc19nYWxsZXJ5JykpIHsNCiAgICAgICAgICAgICRvdXRwdXQgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9icC55YWhvb2FwaXMuY29tLzIuNC4yMS9icm93c2VycGx1cy1taW4uanMiPjwvc2NyaXB0Pic7DQogICAgICAgICAgICAkcGx1cGxvYWRfbGlicyA9IGFycmF5KCdwbHVwbG9hZC5qcycsICdwbHVwbG9hZC5nZWFycy5qcycsICdwbHVwbG9hZC5zaWx2ZXJsaWdodC5qcycsICdwbHVwbG9hZC5mbGFzaC5qcycsICdwbHVwbG9hZC5icm93c2VycGx1cy5qcycsICdwbHVwbG9hZC5odG1sNC5qcycsICdwbHVwbG9hZC5odG1sNS5qcycpOw0KICAgICAgICAgICAgZm9yZWFjaCAoJHBsdXBsb2FkX2xpYnMgYXMgJHBsdXBsb2FkX2xpYikgew0KICAgICAgICAgICAgICAgICRmbiA9ICRtb2R1bGUtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvanMvcGx1cGxvYWQvJyAuICRwbHVwbG9hZF9saWI7DQogICAgICAgICAgICAgICAgJG91dHB1dCAuPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJyAuICRmbiAuICciPjwvc2NyaXB0PicgLiAiXG4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJG91dHB1dCAuPSAnPCEtLSA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgIHNyYz0iaHR0cDovL2dldGZpcmVidWcuY29tL3JlbGVhc2VzL2xpdGUvMS4yL2ZpcmVidWctbGl0ZS1jb21wcmVzc2VkLmpzIj48L3NjcmlwdD4gLS0+JzsNCiAgICAgICAgfQ0KDQogICAgICAgICRmbiA9ICRtb2R1bGUtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvanMvanF1ZXJ5LnRhYmxlZG5kXzBfNS5qcyc7DQogICAgICAgICRvdXRwdXQgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicgLiAkZm4gLiAnIj48L3NjcmlwdD4nIC4gIlxuIjsNCg0KICAgICAgICByZXR1cm4gJG91dHB1dDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gU2VhcmNoUmVzdWx0V2l0aFBhcmFtcygkcmV0dXJuaWQsICRpdGVtX2lkLCAkYXR0ciA9ICcnLCAkcGFyYW1zID0gJycpIHsNCiAgICAgICAgaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoYWJsZScpKQ0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICByZXR1cm4gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfc2VhcmNoX3Jlc3VsdCgkdGhpcywgJHJldHVybmlkLCAkaXRlbV9pZCwgJGF0dHIsICRwYXJhbXMpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCRtb2R1bGUpIHsNCiAgICAgICAgaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoYWJsZScpKQ0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICByZXR1cm4gZ2VuZXJhdG9yX3Rvb2xzOjpzZWFyY2hfcmVpbmRleCgkdGhpcywgJG1vZHVsZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIENyZWF0ZVN0YXRpY1JvdXRlcygpIHsNCg0KICAgICAgICAvLyBhdXRvIGxvYWQgZm9yIGdlbmVyYXRvcl9vcHRzDQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAgICAgJGdlbmVyYXRvcl9vcHRzID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ2xpYicsICdjbGFzcy5nZW5lcmF0b3Jfb3B0cy5waHAnKTsNCiAgICAgICAgcmVxdWlyZV9vbmNlKCRnZW5lcmF0b3Jfb3B0cyk7DQogICAgICAgIGdlbmVyYXRvcl9vcHRzOjppbml0X3N0YXRpY19yb3V0ZXMoJHRoaXMpOw0KICAgIH0NCg0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/categorylist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQp7Y2FwdHVyZSBhc3NpZ249Iml0ZW1wbGF0ZSJ9eyRnZW5lcmF0b3JfdGVtcGxhdGVzfS97JHRlbXBsYXRlX2FycmF5LjF9ey9jYXB0dXJlfQp7aW5jbHVkZSBmaWxlPSRpdGVtcGxhdGV9]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/categorytab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQp7Y2FwdHVyZSBhc3NpZ249Iml0ZW1wbGF0ZSJ9eyRnZW5lcmF0b3JfdGVtcGxhdGVzfS97JHRlbXBsYXRlX2FycmF5LjF9ey9jYXB0dXJlfQp7aW5jbHVkZSBmaWxlPSRpdGVtcGxhdGV9]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/editcategory_old.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/edititem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/fielddeftab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/filter.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/itemtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/modetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/optioneditingtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/optionsearchtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/ordercategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQp7Y2FwdHVyZSBhc3NpZ249Iml0ZW1wbGF0ZSJ9eyRnZW5lcmF0b3JfdGVtcGxhdGVzfS97JHRlbXBsYXRlX2FycmF5LjF9ey9jYXB0dXJlfQp7aW5jbHVkZSBmaWxlPSRpdGVtcGxhdGV9]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/orig_category_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/orig_filter_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/templates/templatetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRlbXBsYXRlX2FycmF5IiB2YWx1ZT0iOyJ8ZXhwbG9kZTokc21hcnR5LnRlbXBsYXRlfQ0Ke2NhcHR1cmUgYXNzaWduPSJpdGVtcGxhdGUifXskZ2VuZXJhdG9yX3RlbXBsYXRlc30veyR0ZW1wbGF0ZV9hcnJheS4xfXsvY2FwdHVyZX0NCntpbmNsdWRlIGZpbGU9JGl0ZW1wbGF0ZX0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/templates/categorylist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJPHRoZWFkPgoJCTx0cj4KCQkJPHRoPnskY2F0ZWdvcnl0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua317aWYgJGl0ZW1jb3VudCA+IDB9IC8geyRyZW9yZGVyfXsvaWZ9PC9wPjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/categorytab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCiAgICA8dGhlYWQ+DQogICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0aD57JHRpdGxlfTwvdGg+DQogICAgICAgICAgICA8dGg+eyRhbGlhc308L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgPC90cj4NCiAgICA8L3RoZWFkPg0KICAgIDx0Ym9keT4NCntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9DQogICAgICAgIDx0ciBjbGFzcz0ieyRlbnRyeS5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS5yb3djbGFzc30nOyI+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5saW5rfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5hbGlhc308L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnkudXBsaW5rfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5kb3dubGlua308L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnkuZWRpdGxpbmt9PC90ZD4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5LmRlbGV0ZX08L3RkPg0KICAgICAgICA8L3RyPg0Key9mb3JlYWNofQ0KICAgIDwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0NCg0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L2Rpdj4NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Im1vZHVsZSIgdmFsdWU9JG1vZH0KCnskc3RhcnRmb3JtfQoKeyRtb2R1bGUtPlN0YXJ0VGFiSGVhZGVycygpfQp7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yeScsICRtb2R1bGUtPkxhbmcoJ2NhdGVnb3J5JykpfQoKe2lmIGlzc2V0KCRjdXN0b21fZmllbGRkZWYpfQogICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkZGVmIGl0ZW09J2ZpZWxkJ30KICAgICAgICB7aWYgJGZpZWxkLT50eXBlID09ICd0YWInfQogICAgICAgICAgICB7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCRmaWVsZC0+YWxpYXMsICRmaWVsZC0+bGFiZWwpfQogICAgICAgIHsvaWZ9ICAgICAgICAgICAgCiAgICB7L2ZvcmVhY2h9ICAgICAgICAgICAgCnsvaWZ9ICAgICAgICAgICAgCnskbW9kdWxlLT5FbmRUYWJIZWFkZXJzKCl9Cgp7JG1vZHVsZS0+U3RhcnRUYWJDb250ZW50KCl9CnskbW9kdWxlLT5TdGFydFRhYignY2F0ZWdvcnknKX0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG5hbWV0ZXh0fTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzdGV4dH06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGFsaWFzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcGFyZW50dGV4dH06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwYXJlbnRkcm9wZG93bn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHVzZXJncm91cHRleHR9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR1c2VyZ3JvdXB9PC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkY3VzdG9tX2ZpZWxkZGVmKX0KICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZGRlZiBpdGVtPSdmaWVsZCd9CiAgICAgICAge2lmICRmaWVsZC0+dHlwZSA9PSAndGFiJ30KICAgICAgICAgICAgeyRtb2R1bGUtPkVuZFRhYigpfQogICAgICAgICAgICB7JG1vZHVsZS0+U3RhcnRUYWIoJGZpZWxkLT5hbGlhcyl9IAogICAgICAgIHtlbHNlaWYgKCFpc3NldCgkaXRlbV9pZCkgJiYgISRmaWVsZC0+ZWRpdHZpZXcpIHx8IGlzc2V0KCRpdGVtX2lkKX0KICAgICAgICAgICAge2lmICRmaWVsZC0+ZmllbGR9CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZC0+cHJvbXB0fTo8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgICAgICAgICAge2lmICFlbXB0eSgkZmllbGQtPmhlbHApfSh7JGZpZWxkLT5oZWxwfSk8YnIgLz57L2lmfQogICAgICAgICAgICAgICAgICAgIHskZmllbGQtPmZpZWxkfQogICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZmllbGQtPmZpbGVuYW1lKX08YnIgLz4KICAgICAgICAgICAgICAgICAgICB7Y2FwdHVyZSBhc3NpZ249InNyYyJ9eyRmaWVsZC0+ZmlsZV9sb2NhdGlvbn0veyRmaWVsZC0+ZmlsZW5hbWV9ey9jYXB0dXJlfSAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAge2NhcHR1cmUgYXNzaWduPSJzcmNwYXRoIn17JGZpZWxkLT5maWxlcGF0aF9sb2NhdGlvbn0veyRmaWVsZC0+ZmlsZW5hbWV9ey9jYXB0dXJlfSAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAge2lmICRmaWVsZC0+aXNfaW1hZ2V9CiAgICAgICAgICAgICAgICAgICAge2lmICRpbWFnZV9zaXplX2FkbWluX3dpZHRoICYmICRpbWFnZV9zaXplX2FkbWluX2hlaWdodH0KICAgICAgICAgICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aHxyZXBsYWNlOiJgJHJvb3RfdXJsYCI6JycgYWx0PSRmaWxlLT5maWxlbmFtZSBmaWx0ZXJfY3JvcHRvZml0PSJgJGltYWdlX3NpemVfYWRtaW5fd2lkdGhgLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIAogICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5fd2lkdGh9CiAgICAgICAgICAgICAgICAgICAgICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGh8cmVwbGFjZToiYCRyb290X3VybGAiOicnIGFsdD0kZmlsZS0+ZmlsZW5hbWUgZmlsdGVyX3Jlc2l6ZT0idyxgJGltYWdlX3NpemVfYWRtaW5fd2lkdGhgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIAogICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0fQogICAgICAgICAgICAgICAgICAgICAgICB7Y21zX21vZHVsZSBtb2R1bGU9IkNHU21hcnRJbWFnZSIgc3JjPSRzcmNwYXRofHJlcGxhY2U6ImAkcm9vdF91cmxgIjonJyBhbHQ9JGZpbGUtPmZpbGVuYW1lIGZpbHRlcl9yZXNpemU9ImgsYCRpbWFnZV9zaXplX2FkbWluX2hlaWdodGAiIHN0eWxlPSJtYXJnaW46NXB4IDA7In0gICAgCiAgICAgICAgICAgICAgICAgICAgey9pZn0KICAgICAgICAgICAgICAgIHsvaWZ9CiAgICAgICAgICAgICAgICA8YnIgLz4KICAgICAgICAgICAgICAgIHskZmllbGQtPmRlbGV0ZV9maWxlfSB7JGZpZWxkLT5maWxlbmFtZX08YnIgLz4KICAgICAgICAgICAgey9pZn0KICAgICAgICA8L3A+CiAgICA8L2Rpdj4KCntlbHNlfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH08L3A+CiAgICAgICAge2lmICRmaWVsZC0+ZXh0cmF9CiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgeyRmaWVsZC0+ZXh0cmF9CiAgICAgICAgICAgIDwvcD4KICAgICAgICB7L2lmfQogICAgPC9kaXY+CnsvaWZ9CnsvaWZ9CnsvZm9yZWFjaH0Key9pZn0KeyRtb2R1bGUtPkVuZFRhYigpfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRoaWRkZW59eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtfQoK]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGV9PC9oMz4NCnskc3RhcnRmb3JtfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG5hbWV0ZXh0fTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRhbGlhc306PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxpYXN9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRoZWxwdGV4dH06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRoZWxwfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdHlwZXRleHR9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dHlwZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHVzZXJ2aWV3dGV4dH06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXNlcnZpZXd9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmcm9udGVuZF90ZXh0fTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mcm9udGVuZH08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGVkaXR2aWV3X3RleHR9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2VkaXR2aWV3fTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmlsdGVyX2Zyb250ZW5kX3RleHR9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbHRlcl9mcm9udGVuZH08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpbHRlcl9hZG1pbl90ZXh0fTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWx0ZXJfYWRtaW59PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRzZWFyY2hhYmxlX3RleHR9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NlYXJjaGFibGV9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRleHRyYX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZXh0cmF9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3NlY3Rpb24nKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2VjdGlvbn08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQo8cCBjbGFzcz0icGFnZWlucHV0Ij57aWYgaXNzZXQoJGZpZWxkZGVmX2lkKX17JGZpZWxkZGVmX2lkfXsvaWZ9eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX08L3A+DQo8L2Rpdj4NCnskZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/edititem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Im1vZHVsZSIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJvbGRhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQoNCntsaXRlcmFsfQ0KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAgICAgIC5zY3JvbGxhYmxlIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgICAgICAgICB3aWR0aDogOTAlOw0KICAgICAgICB9DQoNCiAgICA8L3N0eWxlPg0KDQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAkLmZuLm1Db2xvclBpY2tlci5pbml0LnJlcGxhY2UgPSBmYWxzZTsNCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KDQogICAgICAgICAgJCgnI2l0ZW1saXN0JykudGFibGVEbkQoKTsNCiAgICAgICQoJzpzdWJtaXQuc2F2ZV9pdGVtcycpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgICAgIHZhciBkYXRhID0gbmV3IEFycmF5Ow0KICAgICAgICAkKCd0YWJsZSNpdGVtbGlzdCB0cicpLmVhY2goZnVuY3Rpb24oaSx0cil7DQogICAgICAgICAgZGF0YS5wdXNoKCQodHIpLmF0dHIoJ2lkJykpOw0KICAgICAgICB9KTsNCiAgICAgICAgZGF0YSA9IGRhdGEuam9pbignLCcpOw0KICAgICAgICAkKCcjc2VyaWFsZGF0YScpLnZhbChkYXRhKTsNCiAgICAgIH0pOw0KICANCiAgIA0KICAgJCgnaW5wdXRbdHlwZT1jb2xvcl0nKS5tQ29sb3JQaWNrZXIoe2ltYWdlRm9sZGVyOicuLi9tb2R1bGVzL01vZHVsZUdlbmVyYXRvci9pbWFnZXMvJ30pOw0KICAgIH0pOw0KDQogICAgPC9zY3JpcHQ+DQp7L2xpdGVyYWx9DQoNCg0Ke2xpdGVyYWx9DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIGZ1bmN0aW9uIHRvZ2dsZURpc3BsYXkoZWxlbSkNCiAgICB7DQogICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtKTsNCiAgICAgIHZhciB0eHQgPSBlbC5zdHlsZS5kaXNwbGF5Ow0KICAgICAgaWYoIHR4dCA9PSAnbm9uZScgKQ0KICAgICAgICB7DQogICAgICAgICAgdHh0ID0gJ2Jsb2NrJzsNCiAgICAgICAgfQ0KICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgdHh0ID0gJ25vbmUnOw0KICAgICAgICB9DQogICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gdHh0Ow0KICAgIH0NCg0KICAgIDwvc2NyaXB0Pg0Key9saXRlcmFsfQ0KDQo8aDM+eyR0aXRsZX08L2gzPg0KeyRzdGFydGZvcm19DQoNCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aWYgaXNzZXQoJGl0ZW1faWQpfXskaXRlbV9pZH17L2lmfXskc3VibWl0fXskY2FuY2VsfXskYXBwbHl9IHtpZiBpc3NldCgkY29weSl9eyRjb3B5fXsvaWZ9e2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3ByZXZpZXdfYWRtaW4nKX08c3BhbiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHRvcDo1cHg7Ij57JHByZXZpZXdfdmlld308L3NwYW4+ey9pZn08L3A+DQo8L2Rpdj4NCg0KDQp7JG1vZHVsZS0+U3RhcnRUYWJIZWFkZXJzKCl9DQp7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCdhcnRpY2xlJywgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicpKX0NCntpZiBpc3NldCgkY3VzdG9tX2ZpZWxkZGVmKX0NCiAgICB7Zm9yZWFjaCBmcm9tPSRjdXN0b21fZmllbGRkZWYgaXRlbT0nZmllbGQnfQ0KICAgICAgICB7aWYgJGZpZWxkLT50eXBlID09ICd0YWInfQ0KICAgICAgICAgICAgeyRtb2R1bGUtPlNldFRhYkhlYWRlcigkZmllbGQtPmFsaWFzLCAkZmllbGQtPmxhYmVsKX0NCiAgICAgICAgey9pZn0gICAgICAgICAgICANCiAgICB7L2ZvcmVhY2h9ICAgICAgICAgICAgDQp7L2lmfSAgICAgICANCntpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdoYXNfZ2FsbGVyeScpICYmIGlzc2V0KCRpdGVtX2lkKX17JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCdnYWxsZXJ5JywgJG1vZHVsZS0+TGFuZygnZ2FsbGVyeScpKX17L2lmfQ0Ke2lmIGlzc2V0KCR0YWJoZWFkZXJfcHJldmlldyl9eyR0YWJoZWFkZXJfcHJldmlld317L2lmfQ0KeyRtb2R1bGUtPkVuZFRhYkhlYWRlcnMoKX0NCg0KeyRtb2R1bGUtPlN0YXJ0VGFiQ29udGVudCgpfQ0KeyRtb2R1bGUtPlN0YXJ0VGFiKCdhcnRpY2xlJyl9DQoNCg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfYWN0aXZlfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hY3RpdmV9PC9wPg0KPC9kaXY+DQoNCg0Ke2lmICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGVfZWRpdCcpfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskcHJvbXB0X3RpdGxlfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGl0bGV9PC9wPg0KICAgIDwvZGl2Pg0Key9pZn0NCg0Ke2lmICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fYWxpYXNfZWRpdCcpfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfYWxpYXN9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGlhc308L3A+DQogICAgPC9kaXY+DQp7L2lmfQ0KDQp7aWYgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV91cmxfZWRpdCcpfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXJsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXJsfTwvcD4NCiAgICA8L2Rpdj4NCnsvaWZ9DQoNCntpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X2VkaXQnKX0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2NhdGVnb3J5fTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcnl9PC9wPg0KICAgIDwvZGl2Pg0Key9pZn0NCg0Ke2lmICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGF0ZV9lZGl0Jyl9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9kYXRlfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kZGF0ZXByZWZpeCB0aW1lPSRkYXRlIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisxNSJ9IHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kZGF0ZXByZWZpeCB0aW1lPSRkYXRlfTwvcD4NCiAgICA8L2Rpdj4NCnsvaWZ9DQoNCntpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZW5kX2VkaXQnKX0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2RhdGVfZW5kfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kZGF0ZWVuZHByZWZpeCB0aW1lPSRkYXRlZW5kIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisxNSJ9IHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kZGF0ZWVuZHByZWZpeCB0aW1lPSRkYXRlZW5kfTwvcD4NCiAgICA8L2Rpdj4NCnsvaWZ9DQoNCntpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZWN1cnNpdmUnKX0NCg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3JlY3VyX3BlcmlvZCcpfTo8L3A+DQogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9ZXZlbnRfcmVjdXJfcGVyaW9key9jYXB0dXJlfQ0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICA8c2VsZWN0IGlkPSJyZWN1cnBlcmlvZCIgc3RhcnRfdGFiX2hlYWRlcnN0YWFjdGl2ZT0ieyRhY3Rpb25pZH1yZWN1cl9wZXJpb2QiIG9uY2xpY2s9ImhhbmRsZURyb3Bkb3duKCk7Ij4NCiAgICAgICAgICAgIHtmb3JlYWNoIGZyb209JHJlY3VyX29wdGlvbnMga2V5PWtleSBpdGVtPXZhbHVlfQ0KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InskdmFsdWV9IiB7aWYgJHZhbHVlID09ICRyZWN1cnNpdmV9c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9Pnska2V5fTwvb3B0aW9uPiAgIA0KICAgICAgICAgICAgey9mb3JlYWNofQ0KICAgICAgICA8L3NlbGVjdD4NCiAgICA8L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBpZD0icmVjdXJfd2Vla2x5Ij4gIA0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3dlZWtkYXlzJyl9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3dlZWtkYXlzfTwvcD4NCjwvZGl2Pg0KDQp7L2lmfQ0KDQp7aWYgaXNzZXQoJGN1c3RvbV9maWVsZGRlZil9DQogICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkZGVmIGl0ZW09J2ZpZWxkJ30NCiAgICAgICAge2lmICRmaWVsZC0+dHlwZSA9PSAndGFiJ30NCiAgICAgICAgICAgIHskbW9kdWxlLT5FbmRUYWIoKX0NCiAgICAgICAgICAgIHskbW9kdWxlLT5TdGFydFRhYigkZmllbGQtPmFsaWFzKX0gICAgICAgICAgICAgICAgDQogICAgICAgIHtlbHNlaWYgKCFpc3NldCgkaXRlbV9pZCkgJiYgISRmaWVsZC0+ZWRpdHZpZXcpIHx8IGlzc2V0KCRpdGVtX2lkKX0NCiAgICAgICAgICAgIHtpZiAkZmllbGQtPmZpZWxkfQ0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZC0+cHJvbXB0fTo8L3A+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgICAgICAgICAgICB7aWYgIWVtcHR5KCRmaWVsZC0+aGVscCl9KHskZmllbGQtPmhlbHB9KTxiciAvPnsvaWZ9DQogICAgICAgICAgICAgICAgICAgIHskZmllbGQtPmZpZWxkfQ0KICAgICAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGZpZWxkLT5maWxlbmFtZSl9PGJyIC8+DQogICAgICAgICAgICAgICAgICAgIHtjYXB0dXJlIGFzc2lnbj0ic3JjIn17JGZpZWxkLT5maWxlX2xvY2F0aW9ufS97JGZpZWxkLT5maWxlbmFtZX17L2NhcHR1cmV9ICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAge2NhcHR1cmUgYXNzaWduPSJzcmNwYXRoIn17JGZpZWxkLT5maWxlcGF0aF9sb2NhdGlvbn0veyRmaWVsZC0+ZmlsZW5hbWV9ey9jYXB0dXJlfSAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIHtpZiAkZmllbGQtPmlzX2ltYWdlfQ0KICAgICAgICAgICAgICAgICAgICB7aWYgJGltYWdlX3NpemVfYWRtaW5fd2lkdGggJiYgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0fQ0KICAgICAgICAgICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aHxyZXBsYWNlOiJgJHJvb3RfdXJsYCI6JycgYWx0PSRmaWxlLT5maWxlbmFtZSBmaWx0ZXJfY3JvcHRvZml0PSJgJGltYWdlX3NpemVfYWRtaW5fd2lkdGhgLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIA0KICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmICRpbWFnZV9zaXplX2FkbWluX3dpZHRofQ0KICAgICAgICAgICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aHxyZXBsYWNlOiJgJHJvb3RfdXJsYCI6JycgYWx0PSRmaWxlLT5maWxlbmFtZSBmaWx0ZXJfcmVzaXplPSJ3LGAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aGAiIHN0eWxlPSJtYXJnaW46NXB4IDA7In0gICAgDQogICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0fQ0KICAgICAgICAgICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aHxyZXBsYWNlOiJgJHJvb3RfdXJsYCI6JycgYWx0PSRmaWxlLT5maWxlbmFtZSBmaWx0ZXJfcmVzaXplPSJoLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIA0KICAgICAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICAgICAgPGJyIC8+DQogICAgICAgICAgICAgICAgeyRmaWVsZC0+ZGVsZXRlX2ZpbGV9IHskZmllbGQtPmZpbGVuYW1lfTxiciAvPg0KICAgICAgICAgICAgey9pZn0NCiAgICAgICAgPC9wPg0KICAgIDwvZGl2Pg0Ke2Vsc2V9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkLT5wcm9tcHR9PC9wPg0KICAgICAgICB7aWYgJGZpZWxkLT5leHRyYX0NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIHskZmllbGQtPmV4dHJhfQ0KICAgICAgICAgICAgPC9wPg0KICAgICAgICB7L2lmfQ0KICAgIDwvZGl2Pg0Key9pZn0NCnsvaWZ9DQp7L2ZvcmVhY2h9DQp7L2lmfQ0Keyo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQo8cCBjbGFzcz0icGFnZWlucHV0Ij57aWYgaXNzZXQoJGl0ZW1faWQpfXskaXRlbV9pZH17L2lmfXskc3VibWl0fXskY2FuY2VsfXskYXBwbHl9IHtpZiBpc3NldCgkY29weSl9eyRjb3B5fXsvaWZ9e2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3ByZXZpZXdfYWRtaW4nKX08c3BhbiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHRvcDo1cHg7Ij57JHByZXZpZXdfdmlld308L3NwYW4+ey9pZn08L3A+DQo8L2Rpdj4qfQ0KeyRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKX0NCnskbW9kdWxlLT5FbmRUYWIoKX0NCg0Ke2lmIGlzc2V0KCRzdGFydF90YWJfcHJldmlldyl9DQoNCiAgICB7JHN0YXJ0X3RhYl9wcmV2aWV3fQ0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij57bGl0ZXJhbH0NCiAgICBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQogICAgLyogIGpRdWVyeSgnaW5wdXRbbmFtZT1tMV9hcHBseV0nKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgICBpZiggdHlwZW9mIHRpbnlNQ0UgIT0gJ3VuZGVmaW5lZCcpIHRpbnlNQ0UudHJpZ2dlclNhdmUoKTsNCiAgICAgICAgdmFyIGRhdGEgPSBqUXVlcnkoJ2Zvcm0nKS5maW5kKCdpbnB1dDpub3QoW3R5cGU9c3VibWl0XSksIHNlbGVjdCwgdGV4dGFyZWEnKS5zZXJpYWxpemVBcnJheSgpOw0KICAgICAgICBkYXRhLnB1c2goeyduYW1lJzogJ20xX2FqYXgnLCAndmFsdWUnOiAxfSk7DQogICAgICAgIGRhdGEucHVzaCh7J25hbWUnOiAnbTFfYXBwbHknLCAndmFsdWUnOiAxfSk7DQogICAgICAgIGRhdGEucHVzaCh7J25hbWUnOiAnc2hvd3RlbXBsYXRlJywgJ3ZhbHVlJzogJ2ZhbHNlJ30pOw0KICAgICAgICB2YXIgdXJsID0galF1ZXJ5KCdmb3JtJykuYXR0cignYWN0aW9uJyk7DQogICAgICAgIGpRdWVyeS5wb3N0KHVybCxkYXRhLGZ1bmN0aW9uKHJlc3VsdGRhdGEsdGV4dCl7DQogICAgICAgICAgdmFyIHJlc3AgPSBqUXVlcnkocmVzdWx0ZGF0YSkuZmluZCgnUmVzcG9uc2UnKS50ZXh0KCk7DQogICAgICAgICAgdmFyIGRldGFpbHMgPSBqUXVlcnkocmVzdWx0ZGF0YSkuZmluZCgnRGV0YWlscycpLnRleHQoKTsNCiAgICAgICAgICB2YXIgaHRtbFNob3cgPSAnJzsNCiAgICAgICAgICBpZiggcmVzcCA9PSAnU3VjY2VzcycgJiYgZGV0YWlscyAhPSAnJyApDQogICAgICAgICAgew0KICAgICAgICAgICAgIGh0bWxTaG93ID0gJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicrZGV0YWlscysnPFwvcD48XC9kaXY+JzsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgICBodG1sU2hvdyA9ICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPjx1bCBjbGFzcz0icGFnZWVycm9yIj4nOw0KICAgICAgICAgICAgIGh0bWxTaG93ICs9IGRldGFpbHM7DQogICAgICAgICAgICAgaHRtbFNob3cgKz0gJzxcL3VsPjxcL2Rpdj4nOw0KICAgICAgICAgIH0NCiAgICAgICAgICBqUXVlcnkoJyNlZGl0YXJ0aWNsZV9yZXN1bHQnKS5odG1sKGh0bWxTaG93KTsNCiAgICAgICAgfSwneG1sJyk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0pOyovDQoNCiAgICAgIGZ1bmN0aW9uIG5ld3NfZG9wcmV2aWV3KCkNCiAgICAgIHsNCiAgICAgICAgaWYoIHR5cGVvZiB0aW55TUNFICE9ICd1bmRlZmluZWQnKSB0aW55TUNFLnRyaWdnZXJTYXZlKCk7DQogICAgICAgIHZhciBkYXRhID0galF1ZXJ5KCdmb3JtOmZpcnN0JykuZmluZCgnaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLCBpbnB1dDpjaGVja2JveCwgaW5wdXQ6cmFkaW8sIHNlbGVjdCwgdGV4dGFyZWEnKS5zZXJpYWxpemVBcnJheSgpOw0KICAgICAgICBkYXRhLnB1c2goeyduYW1lJzogJ20xX2FqYXgnLCAndmFsdWUnOiAxfSk7DQogICAgICAgIGRhdGEucHVzaCh7J25hbWUnOiAnbTFfcHJldmlldycsICd2YWx1ZSc6IDF9KTsNCiAgICAgICAgZGF0YS5wdXNoKHsnbmFtZSc6ICdzaG93dGVtcGxhdGUnLCAndmFsdWUnOiAnZmFsc2UnfSk7DQogICAgICAgIGRhdGEucHVzaCh7J25hbWUnOiAnbTFfcHJldmlld3BhZ2UnLCAndmFsdWUnOiBqUXVlcnkoJyNwcmV2aWV3X3JldHVybmlkJykudmFsKCl9KTsNCiAgICAgICAgZGF0YS5wdXNoKHsnbmFtZSc6ICdtMV9kZXRhaWx0ZW1wbGF0ZScsICd2YWx1ZSc6IGpRdWVyeSgnI3ByZXZpZXdfdGVtcGxhdGUnKS52YWwoKX0pOw0KICAgICAgICB2YXIgdXJsID0galF1ZXJ5KCdmb3JtJykuYXR0cignYWN0aW9uJyk7DQogICAgICAgIGpRdWVyeS5wb3N0KHVybCxkYXRhLGZ1bmN0aW9uKHJlc3VsdGRhdGEsdGV4dCl7DQogICAgICAgICAgdmFyIHJlc3AgPSBqUXVlcnkocmVzdWx0ZGF0YSkuZmluZCgnUmVzcG9uc2UnKS50ZXh0KCk7DQogICAgICAgICAgdmFyIGRldGFpbHMgPSBqUXVlcnkocmVzdWx0ZGF0YSkuZmluZCgnRGV0YWlscycpLnRleHQoKTsNCiAgICAgICAgICB2YXIgaHRtbFNob3cgPSAnJzsNCiAgICAgICAgICBpZiggcmVzcCA9PSAnU3VjY2VzcycgJiYgZGV0YWlscyAhPSAnJyApDQogICAgICAgICAgew0KICAgICAgICAgICAgIC8vIHByZXZpZXcgd29ya2VkLi4uIG5vdyB0aGUgZGV0YWlscyBzaG91bGQgY29udGFpbiB0aGUgdXJsDQogICAgICAgICAgICAgZGV0YWlscyA9IGRldGFpbHMucmVwbGFjZSgvYW1wOy9nLCcnKTsNCiAgICAgICAgICAgICBqUXVlcnkoJyNwcmV2aWV3ZnJhbWUnKS5hdHRyKCdzcmMnLGRldGFpbHMpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlDQogICAgICAgICAgew0KICAgICAgICAgICAgIGlmKCBkZXRhaWxzID09ICcnICkgZGV0YWlscyA9ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJzsNCg0KICAgICAgICAgICAgIC8vIHByZXZpZXcgc2F2ZSBkaWQgbm90IHdvcmsuDQogICAgICAgICAgICAgaHRtbFNob3cgPSAnPGRpdiBjbGFzcz0icGFnZWVycm9yY29udGFpbmVyIj48dWwgY2xhc3M9InBhZ2VlcnJvciI+JzsNCiAgICAgICAgICAgICBodG1sU2hvdyArPSBkZXRhaWxzOw0KICAgICAgICAgICAgIGh0bWxTaG93ICs9ICc8XC91bD48XC9kaXY+JzsNCiAgICAgICAgICAgICBqUXVlcnkoJyNlZGl0YXJ0aWNsZV9yZXN1bHQnKS5odG1sKGh0bWxTaG93KTsNCiAgICAgICAgICB9DQogICAgICAgIH0sJ3htbCcpOw0KICAgICAgfQ0KDQogICAgICBqUXVlcnkoJyNwcmV2aWV3JykuY2xpY2soZnVuY3Rpb24oKXsNCiAgICAgICAgICBuZXdzX2RvcHJldmlldygpDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0pOw0KDQogICAgICBqUXVlcnkoJyNwcmV2aWV3X3JldHVybmlkLCNwcmV2aWV3X3RlbXBsYXRlJykuY2hhbmdlKGZ1bmN0aW9uKCl7DQogICAgICAgIG5ld3NfZG9wcmV2aWV3KCk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0pOw0KICAgIH0pOw0KICAgICAgICB7L2xpdGVyYWx9PC9zY3JpcHQ+DQoNCiAgICAgICAgeyogZGlzcGxheSBhIHdhcm5pbmcgKn0NCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZXdhcm5pbmciPnskd2FybmluZ19wcmV2aWV3fTwvZGl2Pg0KICAgICAgICA8ZmllbGRzZXQ+DQoNCiAgICAgICAgICAgIDxsYWJlbCBmb3I9InByZXZpZXdfdGVtcGxhdGUiPnskcHJvbXB0X2RldGFpbF90ZW1wbGF0ZX06PC9sYWJlbD4mbmJzcDsNCiAgICAgICAgICAgIDxzZWxlY3QgaWQ9InByZXZpZXdfdGVtcGxhdGUiIG5hbWU9InByZXZpZXdfdGVtcGxhdGUiPg0KICAgICAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZGV0YWlsX3RlbXBsYXRlcyBzZWxlY3RlZD0kY3VyX2RldGFpbF90ZW1wbGF0ZX0NCiAgICAgICAgICAgIDwvc2VsZWN0PiZuYnNwOw0KDQogICAgICAgICAgICA8bGFiZWwgZm9yPSJwcmV2aWV3X3JldHVybmlkIj57JHByb21wdF9kZXRhaWxfcGFnZX06PC9sYWJlbD4mbmJzcDsNCiAgICAgICAgICAgIHskcHJldmlld19yZXR1cm5pZH0NCiAgICAgICAgPC9maWVsZHNldD4NCiAgICAgICAgPGJyLz4NCiAgICAgICAgPGlmcmFtZSBpZD0icHJldmlld2ZyYW1lIiBzdHlsZT0iaGVpZ2h0OiA4MDBweDsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBvdmVyZmxvdzogYXV0bzsiIHNyYz0iIj48L2lmcmFtZT4NCiAgICAgICAgeyRlbmRfdGFiX3ByZXZpZXd9DQogICAgICAgIHsvaWZ9DQoNCiAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdoYXNfZ2FsbGVyeScpICYmIGlzc2V0KCRpdGVtX2lkKX0NCg0KICAgICAgICAgICAgICAgIHskbW9kdWxlLT5TdGFydFRhYignZ2FsbGVyeScpfSAgICAgICAgICAgICAgDQoNCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmaWxlbGlzdCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxhIGlkPSJwaWNrZmlsZXMiIGhyZWY9ImphdmFzY3JpcHQ6OyI+eyRtb2R1bGUtPkxhbmcoJ2FkZF9maWxlcycpfTwvYT4gDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgIHtsaXRlcmFsfQ0KDQogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAkKGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgdXBsb2FkZXIgPSBuZXcgcGx1cGxvYWQuVXBsb2FkZXIoew0KICAgICAgICAgICAgICAgIHJ1bnRpbWVzIDogJ2dlYXJzLGh0bWw1LGZsYXNoLHNpbHZlcmxpZ2h0LGJyb3dzZXJwbHVzJywNCiAgICAgICAgICAgICAgICBicm93c2VfYnV0dG9uIDogJ3BpY2tmaWxlcycsDQogICAgICAgICAgICAgICAgY29udGFpbmVyIDogJ2NvbnRhaW5lcicsDQogICAgICAgICAgICAgICAgbWF4X2ZpbGVfc2l6ZSA6ICcxMG1iJywNCiAgICAgICAgICAgICAgICB1cmwgOiAnLi4vbW9kdWxlcy9Nb2R1bGVHZW5lcmF0b3IvanMvcGx1cGxvYWQvdXBsb2FkLnBocD9nYWxsZXJ5X3BhdGg9ey9saXRlcmFsfXskZ2FsbGVyeV9wYXRofHVybGVuY29kZX17bGl0ZXJhbH0nLA0KICAgICAgICAgICAgICAgIGZsYXNoX3N3Zl91cmwgOiAnLi4vbW9kdWxlcy9Nb2R1bGVHZW5lcmF0b3IvanMvcGx1cGxvYWQvcGx1cGxvYWQuZmxhc2guc3dmJywNCiAgICAgICAgICAgICAgICBzaWx2ZXJsaWdodF94YXBfdXJsIDogJy4uL21vZHVsZXMvTW9kdWxlR2VuZXJhdG9yL2pzL3BsdXBsb2FkL3BsdXBsb2FkLnNpbHZlcmxpZ2h0LnhhcCcsDQogICAgICAgICAgICAgICAgZmlsdGVycyA6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZSA6ICJJbWFnZSBmaWxlcyIsIGV4dGVuc2lvbnMgOiAianBnLGdpZixwbmcifQ0KICAgICAgICAgICAgICAgIF0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdXBsb2FkZXIuYmluZCgnSW5pdCcsIGZ1bmN0aW9uKHVwLCBwYXJhbXMpIHsNCiAgICAgICAgICAgICAgICAvLyQoJyNmaWxlbGlzdCcpLmh0bWwoIjxkaXY+Q3VycmVudCBydW50aW1lOiAiICsgcGFyYW1zLnJ1bnRpbWUgKyAiPC9kaXY+Iik7DQogICAgICAgIH0pOw0KDQogICAgICAgICQoJyN1cGxvYWRmaWxlcycpLmNsaWNrKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB1cGxvYWRlci5zdGFydCgpOw0KICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdXBsb2FkZXIuaW5pdCgpOw0KDQogICAgICAgIHVwbG9hZGVyLmJpbmQoJ0ZpbGVzQWRkZWQnLCBmdW5jdGlvbih1cCwgZmlsZXMpIHsNCiAgICAgICAgICAgICAgICAkLmVhY2goZmlsZXMsIGZ1bmN0aW9uKGksIGZpbGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNmaWxlbGlzdCcpLmFwcGVuZCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgaWQ9IicgKyBmaWxlLmlkICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSArICcgKCcgKyBwbHVwbG9hZC5mb3JtYXRTaXplKGZpbGUuc2l6ZSkgKyAnKSA8Yj48L2I+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+Jyk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIHVwLnJlZnJlc2goKTsgLy8gUmVwb3NpdGlvbiBGbGFzaC9TaWx2ZXJsaWdodA0KICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZGVyLnN0YXJ0KCk7DQogICAgICAgIH0pOw0KDQogICAgICAgIHVwbG9hZGVyLmJpbmQoJ1VwbG9hZFByb2dyZXNzJywgZnVuY3Rpb24odXAsIGZpbGUpIHsNCiAgICAgICAgICAgICAgICAkKCcjJyArIGZpbGUuaWQgKyAiIGIiKS5odG1sKGZpbGUucGVyY2VudCArICIlIik7DQogICAgICAgIH0pOw0KDQogICAgICAgIHVwbG9hZGVyLmJpbmQoJ0Vycm9yJywgZnVuY3Rpb24odXAsIGVycikgew0KICAgICAgICAgICAgICAgICQoJyNmaWxlbGlzdCcpLmFwcGVuZCgiPGRpdj5FcnJvcjogIiArIGVyci5jb2RlICsNCiAgICAgICAgICAgICAgICAgICAgICAgICIsIE1lc3NhZ2U6ICIgKyBlcnIubWVzc2FnZSArDQogICAgICAgICAgICAgICAgICAgICAgICAoZXJyLmZpbGUgPyAiLCBGaWxlOiAiICsgZXJyLmZpbGUubmFtZSA6ICIiKSArDQogICAgICAgICAgICAgICAgICAgICAgICAiPC9kaXY+Ig0KICAgICAgICAgICAgICAgICk7DQoNCiAgICAgICAgICAgICAgICB1cC5yZWZyZXNoKCk7IC8vIFJlcG9zaXRpb24gRmxhc2gvU2lsdmVybGlnaHQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdXBsb2FkZXIuYmluZCgnRmlsZVVwbG9hZGVkJywgZnVuY3Rpb24odXAsIGZpbGUpIHsNCiAgICAgICAgICAgICAgICAkKCcjJyArIGZpbGUuaWQgKyAiIGIiKS5odG1sKCIxMDAlIik7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICBpZiggKHVwbG9hZGVyLnRvdGFsLnVwbG9hZGVkICkgPT0gdXBsb2FkZXIuZmlsZXMubGVuZ3RoKQ0KICAgICAgICAgew0KICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAney9saXRlcmFsfXskcmVkaXJlY3RfdXJsfHJlcGxhY2U6JyZhbXA7JzonJid9e2xpdGVyYWx9JzsNCiAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICANCiAgICAgICAgICAgIA0KfSk7DQogICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgIHsvbGl0ZXJhbH0NCiAgICAgICAgICAgICAgICB7JGVuZGZvcm19DQoNCiAgICAgICAgICAgICAgICB7aWYgJGdhbGxlcnl8QGNvdW50fQ0KDQoNCg0KICAgICAgICAgICAgICAgICAgICB7JG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0KCRvbGRhY3Rpb25pZCwgJ2FkbWluX21vdmVpbWFnZXMnKX0NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJzZXJpYWxkYXRhIiB0eXBlPSJoaWRkZW4iIG5hbWU9Inskb2xkYWN0aW9uaWR9c2VyaWFsZGF0YSIgdmFsdWU9IiIvPg0KICAgICAgICAgICAgICAgICAgICB7JGl0ZW1faWR9DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0ic2F2ZV9pdGVtcyIgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JG9sZGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kdWxlLT5MYW5nKCdzYXZlX29yZGVyJyl9Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICB7JG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpfQ0KICAgICAgICAgICAgICAgIHsvaWZ9DQoNCiAgICAgICAgICAgICAgICB7aWYgJGdhbGxlcnl8QGNvdW50fQ0KICAgICAgICAgICAgICAgICAgICB7JG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0KCRvbGRhY3Rpb25pZCwgJ2FkbWluX2ltYWdlc2J1bGthY3Rpb24nKX0NCiAgICAgICAgICAgICAgICAgICAgeyRpdGVtX2lkfQ0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogNDAlOyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1ib3R0b206IDFlbTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9ImJ1bGthY3Rpb25fc3VibWl0IiBuYW1lPSJ7JG9sZGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kdWxlLT5MYW5nKCdkZWxldGVfc2VsZWN0ZWQnKX0iLz4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiIGlkPSJpdGVtbGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZHVsZS0+TGFuZygnZmlsZW5hbWUnKX08L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4gICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kZ2FsbGVyeSBpdGVtPSdnYWwnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgIGlkPSJ7JGdhbC5pbWFnZV9pZH0iIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57JGdhbC5maWxlbmFtZX08L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwdHVyZSBhc3NpZ249InNyYyJ9eyRnYWwuaW1hZ2VfbG9jYXRpb259L3skZ2FsLmZpbGVuYW1lfXsvY2FwdHVyZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NhcHR1cmUgYXNzaWduPSJzcmNwYXRoIn17JGdhbC5pbWFnZXBhdGhfbG9jYXRpb259L3skZ2FsLmZpbGVuYW1lfXsvY2FwdHVyZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lmICRzcmNwYXRofEBnZXRpbWFnZXNpemV9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aWYgJGltYWdlX3NpemVfYWRtaW5fd2lkdGggJiYgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGggIHN0eWxlPSJtYXJnaW46NXB4IDA7IiBmaWx0ZXJfY3JvcHRvZml0PSJgJGltYWdlX3NpemVfYWRtaW5fd2lkdGhgLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIn0gICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmICRpbWFnZV9zaXplX2FkbWluX3dpZHRofQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGggIHN0eWxlPSJtYXJnaW46NXB4IDA7IiBmaWx0ZXJfcmVzaXplPSJ3LGAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aGAifSAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGggIHN0eWxlPSJtYXJnaW46NXB4IDA7IiBmaWx0ZXJfcmVzaXplPSJoLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIn0gICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsqPGEgaHJlZj0ieyRlbnRyeS0+ZmlsZV9sb2NhdGlvbn0veyRlbnRyeS0+JHRtcH0iPnskZW50cnktPiR0bXB9PC9hPip9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ibXVsdGlzZWxlY3QiIG5hbWU9Inskb2xkYWN0aW9uaWR9bXVsdGlzZWxlY3RbXSIgdmFsdWU9InskZ2FsLmltYWdlX2lkfSI+PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICAgIHsvZm9yZWFjaH0gICAgDQogICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgIDwvdGFibGU+DQogICAgICAgICAgICB7JG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpfQ0KICAgICAgICB7L2lmfQ0KICAgICAgICB7JG1vZHVsZS0+RW5kVGFiKCl9DQogICAge2Vsc2V9DQoNCg0KICAgICAgICB7JG1vZHVsZS0+RW5kVGFiKCl9DQoNCg0KDQoNCiAgICB7L2lmfQ0KDQogICAgeyRtb2R1bGUtPkVuZFRhYkNvbnRlbnQoKX0NCg0KDQoNCg0KDQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGV9PC9oMz4NCnskc3RhcnRmb3JtfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiogeyRwcm9tcHRfbmFtZX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbmFtZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntpZiBpc3NldCgkaWRmaWVsZCl9eyRpZGZpZWxkfXsvaWZ9eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX08L3A+DQo8L2Rpdj4NCnskaW5wdXRfdHlwZX0NCnskZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/fielddeftab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9DQogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCiAgICAgICAgLnNjcm9sbGFibGUgew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICAgICAgICAgIHdpZHRoOiA5MCU7DQogICAgICAgIH0NCg0KICAgIDwvc3R5bGU+DQoNCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCg0KICAgICAgICAkKCcjZmllbGRsaXN0ey9saXRlcmFsfXskc2VjdGlvbn17bGl0ZXJhbH0nKS50YWJsZURuRCgpOw0KICAgICAgJCgnOnN1Ym1pdC5zYXZlX2ZpZWxkc3svbGl0ZXJhbH17JHNlY3Rpb259e2xpdGVyYWx9JykuY2xpY2soZnVuY3Rpb24oKXsNCiAgICAgICAgdmFyIGRhdGEgPSBuZXcgQXJyYXk7DQogICAgICAgICQoJ3RhYmxlI2ZpZWxkbGlzdHsvbGl0ZXJhbH17JHNlY3Rpb259e2xpdGVyYWx9IHRyJykuZWFjaChmdW5jdGlvbihpLHRyKXsNCiAgICAgICAgICBkYXRhLnB1c2goJCh0cikuYXR0cignaWQnKSk7DQogICAgICAgIH0pOw0KICAgICAgICBkYXRhID0gZGF0YS5qb2luKCcsJyk7DQogICAgICAgICQoJyNmc2VyaWFsZGF0YXsvbGl0ZXJhbH17JHNlY3Rpb259e2xpdGVyYWx9JykudmFsKGRhdGEpOw0KICAgICAgfSk7DQogIA0KICAgIH0pOw0KDQogICAgPC9zY3JpcHQ+DQp7L2xpdGVyYWx9DQoNCg0KDQp7aWYgJGl0ZW1jb3VudCA+IDB9DQogICAgPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlciIgaWQ9ImZpZWxkbGlzdHskc2VjdGlvbn0iPg0KICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRoPjwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskZmllbGR0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskYWxpYXN9PC90aD4NCiAgICAgICAgICAgICAgICA8dGg+eyR0eXBldGV4dH08L3RoPg0KICAgICAgICAgICAgICAgIDx0aD57JHJlcXVpcmVkdGV4dH08L3RoPg0KICAgICAgICAgICAgICAgIDx0aD57JHNlYXJjaGFibGV0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskZnJvbnRlbmR0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskZWRpdHZpZXd0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskZmlsdGVyX2Zyb250ZW5kdGV4dH08L3RoPg0KICAgICAgICAgICAgICAgIDx0aD57JGZpbHRlcl9hZG1pbnRleHR9PC90aD4NCiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8L3RyPg0KICAgICAgICA8L3RoZWFkPg0KICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICB7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQ0KICAgICAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9DQogICAgICAgICAgICAgICAgPHRyIGlkPSJ7JGVudHJ5LT5pZH0iIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmlkfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5hbGlhc308L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+dHlwZX08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+cmVxdWlyZWR8dHJ1ZWZhbHNlfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5zZWFyY2hhYmxlfHRydWVmYWxzZX08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZnJvbnRlbmR8dHJ1ZWZhbHNlfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5lZGl0dmlld3x0cnVlZmFsc2V9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmZpbHRlcl9mcm9udGVuZHx0cnVlZmFsc2V9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmZpbHRlcl9hZG1pbnx0cnVlZmFsc2V9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+DQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIHsvZm9yZWFjaH0NCiAgICAgICAgPC90Ym9keT4NCiAgICA8L3RhYmxlPg0KDQogICAgeyRtb2QtPkNyZWF0ZUZvcm1TdGFydCgkYWN0aW9uaWQsICdhZG1pbl9tb3ZlZmllbGRkZWYnKX0NCiAgICA8aW5wdXQgaWQ9ImZzZXJpYWxkYXRheyRzZWN0aW9ufSIgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXNlcmlhbGRhdGEiIHZhbHVlPSIiLz4NCiAgICA8aW5wdXQgaWQ9InNlY3Rpb24iIHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1zZWN0aW9uIiB2YWx1ZT0ieyRzZWN0aW9ufSIvPg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0ic2F2ZV9maWVsZHN7JHNlY3Rpb259IiB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3NhdmVfb3JkZXInKX0iLz4NCiAgICAgICAgPC9wPg0KICAgIDwvZGl2PiAgICAgICAgDQogICAgeyRtb2QtPkNyZWF0ZUZvcm1FbmQoKX0NCg0Key9pZn0NCg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvZGl2Pg0K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/filter.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyo8ZGl2Pg0KeyRmb3Jtc3RhcnR9DQo8ZmllbGRzZXQgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjQ5JTsiPg0KPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsdGVycycpfTombmJzcDs8L2xlZ2VuZD4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2hpZXJhcmNoeScpfTo8L3A+DQogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGllcmFyY2h5fSZuYnNwO3skbW9kLT5MYW5nKCdpbmNsdWRlX2NoaWxkcmVuJyl9IHskaW5wdXRfY2hpbGRyZW59PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJyl9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb3J0Ynl9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0b3JkZXInKX06PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NvcnRvcmRlcn08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3BhZ2VfbGltaXQnKX06PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3BhZ2VsaW1pdH08L3A+DQo8L2Rpdj4NCntpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZWRpdCcpfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGF0ZScpfTwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+ICAJDQogIHskbW9kLT5MYW5nKCdmcm9tJyl9DQogIHtjYXB0dXJlIGFzc2lnbj0iaWRmcm9tZGF0ZSJ9eyRtb2QtPkdldEFjdGlvbklkKCl9ZGF0ZWZyb217L2NhcHR1cmV9DQogIHtodG1sX3NlbGVjdF9kYXRlIGZpZWxkX29yZGVyPURNWSBwcmVmaXg9JGlkZnJvbWRhdGUgdGltZT0kZGF0ZV9mcm9tIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisxIn0NCiAgJm5ic3A7DQogIHskbW9kLT5MYW5nKCd0bycpfQ0KICB7Y2FwdHVyZSBhc3NpZ249ImlkdG9kYXRlIn17JG1vZC0+R2V0QWN0aW9uSWQoKX1kYXRldG97L2NhcHR1cmV9DQogIHtodG1sX3NlbGVjdF9kYXRlIGZpZWxkX29yZGVyPURNWSBwcmVmaXg9JGlkdG9kYXRlIHRpbWU9JGRhdGVfdG8gc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzEifQ0KICA8L3A+DQo8L2Rpdj4NCnsvaWZ9DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JG1vZC0+R2V0QWN0aW9uSWQoKX1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ij48L3A+DQo8L2Rpdj4NCg0KPC9maWVsZHNldD4NCg0KeyRmb3JtZW5kfQ0KPC9kaXY+Kn0NCg0KDQoNCg0KPGRpdiBjbGFzcz0iY29udGVudCBkZXN0aW5hdGlvbnMiPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB7JGZvcm1zdGFydH0NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGVnZW5kPkZpbHRlcjwvbGVnZW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RfY29sdW1uIj48c2VsZWN0PjxvcHRpb24+S3JhamluYTwvb3B0aW9uPjxvcHRpb24+MTwvb3B0aW9uPjxvcHRpb24+Mjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RfY29sdW1uIj48c2VsZWN0PjxvcHRpb24+RGVzdGluw6FjaWE8L29wdGlvbj48b3B0aW9uPjE8L29wdGlvbj48b3B0aW9uPjI8L29wdGlvbj48L3NlbGVjdD48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0X2NvbHVtbiI+PHNlbGVjdD48b3B0aW9uPkNoYXJha3RlcmlzdGlrYTwvb3B0aW9uPjxvcHRpb24+MTwvb3B0aW9uPjxvcHRpb24+Mjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+DQogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaHJfZnVsbCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxoMz5ab3puYW0gZGVzdGluw6FjacOtPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzdF9jb2x1bW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkVVUsOTUEE8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgU29vcmksIEJhbGk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVWx1d2F0dSwgQ2F0YW1hcmFuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+TWFuZ2lzLCBUYWl3YW48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQ+QUZSSUtBPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzLCBUYWl3YW48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBVbHV3YXR1LCBDYXRhbWFyYW48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RfY29sdW1uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoND5BTUVSSUtBPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzIFNvb3JpLCBCYWxpPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzIFRhaXdhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPkFsaWxhIFVsdXdhdHUsIENhdGFtYXJhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPk1hbmdpcywgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzIFRhaXdhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPkFsaWxhIFVsdXdhdHUsIENhdGFtYXJhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPk1hbmdpcywgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpYWxpPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0X2NvbHVtbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQ+w4FaSUE8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgU29vcmksIEJhbGk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVWx1d2F0dSwgQ2F0YW1hcmFuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkFVU1RSw4FMSUE8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgU29vcmksIEJhbGk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICB7JGZvcm1lbmR9DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/itemtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Im9sZGFjdGlvbmlkIiB2YWx1ZT0kYWN0aW9uaWR9DQoNCntpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtb2RlJykgPT0gInNpbXBsZSJ9DQogICAge2xpdGVyYWx9DQogICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAgICAgICAgICAuc2Nyb2xsYWJsZSB7DQogICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICAgICAgICAgICAgICB3aWR0aDogOTAlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIDwvc3R5bGU+DQoNCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KDQoNCiAgICAgICAgICAgICAgJCgnI2l0ZW1saXN0JykudGFibGVEbkQoKTsNCiAgICAgICAgICAkKCcjc29ydF9pdGVtcyBmb3JtJykuc3VibWl0KGZ1bmN0aW9uKCl7DQogICAgICAgICAgICB2YXIgZGF0YSA9IG5ldyBBcnJheTsNCiAgICAgICAgICAgICQoJ3RhYmxlI2l0ZW1saXN0IHRyJykuZWFjaChmdW5jdGlvbihpLHRyKXsNCiAgICAgICAgICAgICAgZGF0YS5wdXNoKCQodHIpLmF0dHIoJ2lkJykpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBkYXRhID0gZGF0YS5qb2luKCcsJyk7DQogICAgICAgICAgICAkKCcjc2VyaWFsZGF0YScpLnZhbChkYXRhKTsNCiAgICAgICAgICB9KTsNCiAgDQogICAgICAgIH0pOw0KDQogICAgICAgIDwvc2NyaXB0Pg0KICAgIHsvbGl0ZXJhbH0NCnsvaWZ9DQoNCg0KPGRpdiBjbGFzcz0iZm9ybSI+DQogICAgeyRmb3Jtc3RhcnR9DQogICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ21vZGUnKSAhPSAic2ltcGxlIn0NCiAgICAgICAgPGZpZWxkc2V0Pg0KICAgICAgICAgICAgPGxlZ2VuZD57JG1vZHVsZS0+TGFuZygnZmlsdGVycycpfTombmJzcDs8L2xlZ2VuZD4NCiAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtb2RlJykgIT0gInNpbXBsZSJ9DQogICAgICAgICAgICAgICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1fY2F0ZWdvcnlfZWRpdCcsIDApfQ0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZHVsZS0+TGFuZygnaGllcmFyY2h5Jyl9OjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGllcmFyY2h5fSZuYnNwO3skbW9kdWxlLT5MYW5nKCdpbmNsdWRlX2NoaWxkcmVuJyl9IHskaW5wdXRfY2hpbGRyZW59PC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2R1bGUtPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3NvcnRpbmcnKX06PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NvcnRieX08L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZHVsZS0+TGFuZygncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJyl9OjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb3J0b3JkZXJ9PC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2R1bGUtPkxhbmcoJ3BhZ2VfbGltaXQnKX06PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3BhZ2VsaW1pdH08L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2ZpbHRlcl9kYXRlJyl9DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kdWxlLT5MYW5nKCdkYXRlJyl9PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+ICAJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyRtb2R1bGUtPkxhbmcoJ2Zyb20nKX0NCiAgICAgICAgICAgICAgICAgICAgICAgIHtjYXB0dXJlIGFzc2lnbj0iaWRmcm9tZGF0ZSJ9eyRtb2R1bGUtPkdldEFjdGlvbklkKCl9ZGF0ZWZyb217L2NhcHR1cmV9DQogICAgICAgICAgICAgICAgICAgICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBmaWVsZF9vcmRlcj1ETVkgcHJlZml4PSRpZGZyb21kYXRlIHRpbWU9JGRhdGVfZnJvbSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMSJ9DQogICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHskbW9kdWxlLT5MYW5nKCd0bycpfQ0KICAgICAgICAgICAgICAgICAgICB7Y2FwdHVyZSBhc3NpZ249ImlkdG9kYXRlIn17JG1vZHVsZS0+R2V0QWN0aW9uSWQoKX1kYXRldG97L2NhcHR1cmV9DQogICAgICAgICAgICAgICAgICAgIHtodG1sX3NlbGVjdF9kYXRlIGZpZWxkX29yZGVyPURNWSBwcmVmaXg9JGlkdG9kYXRlIHRpbWU9JGRhdGVfdG8gc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzEifQ0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICB7L2lmfQ0KICAgIHsvaWZ9DQoNCiAgICB7aWYgaXNzZXQoJGN1c3RvbV9maWVsZGRlZil9DQogICAgICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZGRlZiBpdGVtPSdmaWVsZCd9DQogICAgICAgICAgICB7aWYgJGZpZWxkLT5maWVsZH0NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH06PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgICAgICAgICAgICAgICAge2lmICFlbXB0eSgkZmllbGQtPmhlbHApfSh7JGZpZWxkLT5oZWxwfSk8YnIgLz57L2lmfQ0KICAgICAgICAgICAgICAgICAgICB7JGZpZWxkLT5maWVsZH0NCiAgICAgICAgICAgICAgICAgICAge2lmIGlzc2V0KCRmaWVsZC0+ZmlsZW5hbWUpfTxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+DQogICAgICAgICAgICAgICAgICAgICAgICB7JGZpZWxkLT5kZWxldGVfZmlsZX0geyRmaWVsZC0+ZmlsZW5hbWV9PGJyIC8+DQogICAgICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAge2Vsc2V9DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZC0+cHJvbXB0fTwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICB7L2lmfQ0KICAgIHsvZm9yZWFjaH0NCnsvaWZ9DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRtb2R1bGUtPkdldEFjdGlvbklkKCl9c3VibWl0IiB2YWx1ZT0ieyRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpfSI+PC9wPg0KPC9kaXY+DQoNCjwvZmllbGRzZXQ+DQp7L2lmfQ0KeyRmb3JtZW5kfQ0KPC9kaXY+DQoNCg0KPGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4NCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L3A+PC9kaXY+DQp7aWYgJGl0ZW1jb3VudCA+IDB9DQoNCiAgICA8ZGl2IGlkPSJwcm9kdWN0bGlzdCI+DQogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij57bGl0ZXJhbH0NCiAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCiAgICAgICAgICAkKCcjc2VsZWN0X2FsbF9pdGVtcycpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICB2YXIgY2hlY2tlZCA9ICQodGhpcykuYXR0cignY2hlY2tlZCcpOw0KICAgICAgICAgICAgJCgnLm11bHRpc2VsZWN0JykuYXR0cignY2hlY2tlZCcsY2hlY2tlZCA9PSB1bmRlZmluZWQgPyBmYWxzZSA6IGNoZWNrZWQpOyANCiAgICAgICAgICB9KTsNCiAgICAgICAgICAkKCcjYnVsa2FjdGlvbl9zdWJtaXQnKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgICAgICAgdmFyIGxlbiA9ICQoJyNpdGVtbGlzdCB0Ym9keSBpbnB1dDpjaGVja2JveDpjaGVja2VkJykubGVuZ3RoOw0KICAgICAgICAgICAgaWYoIGxlbiA9PSAwICkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgYWxlcnQoJ3svbGl0ZXJhbH17JG1vZHVsZS0+TGFuZygnbm90aGluZ19zZWxlY3RlZCcpfXtsaXRlcmFsfScpOw0KICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgICAgICB7L2xpdGVyYWx9PC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgeyRmb3Jtc3RhcnQyfQ0KICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZmlyc3RwYWdlX3VybCl9DQogICAgICAgICAgICAgICAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kdWxlLT5MYW5nKCdmaXJzdHBhZ2UnKX0iPnskbW9kdWxlLT5MYW5nKCdmaXJzdHBhZ2UnKX08L2E+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0ieyRwcmV2cGFnZV91cmx9IiB0aXRsZT0ieyRtb2R1bGUtPkxhbmcoJ3ByZXZwYWdlJyl9Ij57JG1vZHVsZS0+TGFuZygncHJldnBhZ2UnKX08L2E+DQogICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAge2lmIGlzc2V0KCRmaXJzdHBhZ2VfdXJsKSB8fCBpc3NldCgkbGFzdHBhZ2VfdXJsKX0NCiAgICAgICAgICAgICAgICB7JG1vZHVsZS0+TGFuZygncGFnZV9vZicsJHBhZ2VudW1iZXIsJHBhZ2Vjb3VudCl9DQogICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAge2lmIGlzc2V0KCRsYXN0cGFnZV91cmwpfQ0KICAgICAgICAgICAgICAgIDxhIGhyZWY9InskbmV4dHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kdWxlLT5MYW5nKCduZXh0cGFnZScpfSI+eyRtb2R1bGUtPkxhbmcoJ25leHRwYWdlJyl9PC9hPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9InskbGFzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kdWxlLT5MYW5nKCdsYXN0cGFnZScpfSI+eyRtb2R1bGUtPkxhbmcoJ2xhc3RwYWdlJyl9PC9hPg0KICAgICAgICAgICAgey9pZn0NCg0KDQogICAgICAgICAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUgY21zX3NvcnRhYmxlIHRhYmxlc29ydGVyIiBpZD0iaXRlbWxpc3QiPg0KICAgICAgICAgICAgICAgIDx0aGVhZD4NCiAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnskaWR0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICB7aWYgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbV90aXRsZV9lZGl0Jyl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnskbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJyl9PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZWRpdCcsIDApfTx0aD57JG1vZHVsZS0+TGFuZygnZGF0ZScpfTwvdGg+ey9pZn0NCiAgICAgICAgICAgICAgICB7aWYgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kYXRlX2VuZF9lZGl0JywgMCl9PHRoPnskbW9kdWxlLT5MYW5nKCdkYXRlX2VuZCcpfTwvdGg+ey9pZn0NCiAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X2VkaXQnLCAwKX08dGg+eyRtb2R1bGUtPkxhbmcoJ2NhdGVnb3J5Jyl9PC90aD57L2lmfQ0KDQogICAgICAgICAgICB7aWYgaXNzZXQoJGN1c3RvbV9maWVsZHMpfQ0KICAgICAgICAgICAgICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZHMgaXRlbT0nZmlkJ30NCiAgICAgICAgICAgICAgICAgICAgPHRoPnskZmllbGRzX3ZpZXdhYmxlLiRmaWR9PC90aD4NCiAgICAgICAgICAgICAgICB7L2ZvcmVhY2h9DQogICAgICAgICAgICB7L2lmfQ0KDQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KDQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgdGl0bGU9InskbW9kdWxlLT5MYW5nKCdzZWxlY3RfYWxsJyl9IiB2YWx1ZT0iMSIgbmFtZT0ic2VsZWN0X2FsbCIgaWQ9InNlbGVjdF9hbGxfaXRlbXMiPjwvdGg+DQogICAgICAgIDwvdHI+DQogICAgPC90aGVhZD4NCiAgICA8dGJvZHk+DQogICAgICAgIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9DQogICAgICAgICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQ0KICAgICAgICAgICAgeyo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPip9DQogICAgICAgICAgICA8dHIgaWQ9InskZW50cnktPml0ZW1faWR9Ij4NCiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aXRlbV9pZH08L3RkPg0KICAgICAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlX2VkaXQnKX08dGQ+PGEgaHJlZj0ieyRlbnRyeS0+ZWRpdF91cmx9IiB0aXRsZT0ieyRtb2R1bGUtPkxhbmcoJ2VkaXQnKX0iPnskZW50cnktPnRpdGxlfTwvYT48L3RkPg0KICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICB7aWYgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kYXRlX2VkaXQnLCAwKX0JICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5pdGVtX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+ey9pZn0NCiAgICAgICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGF0ZV9lbmRfZWRpdCcsIDApfQkgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPml0ZW1fZGF0ZV9lbmR8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+ey9pZn0NCiAgICB7aWYgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbV9jYXRlZ29yeV9lZGl0JywgMCl9CSAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+bG9uZ19uYW1lfTwvdGQ+ey9pZn0NCiAgICB7aWYgaXNzZXQoJGN1c3RvbV9maWVsZHMpfQ0KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRjdXN0b21fZmllbGRzIGl0ZW09J2ZpZCd9DQogICAgICAgICAgICA8dGQ+DQogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXtsaXRlcmFsfXt7L2xpdGVyYWx9JGVudHJ5LT5GbGRfX3skZmllbGRfbmFtZXMuJGZpZH17bGl0ZXJhbH19ey9saXRlcmFsfXsvY2FwdHVyZX0NCiAgICB7ZXZhbCB2YXI9JHRtcCBhc3NpZ249InRtcHJlcyJ9DQogICAge2lmIGlzc2V0KCRmaWVsZF9tb2R1bGVzLiRmaWQpfQ0KICAgICAgICB7aWYgaXNzZXQoJHRtcHJlcyl9DQp7Y2FwdHVyZSBhc3NpZ249InRtcG1vZHVsZSJ9e2xpdGVyYWx9e2Ntc19tb2R1bGV7L2xpdGVyYWx9IG1vZHVsZT0ieyRmaWVsZF9tb2R1bGVzLiRmaWR9IiAgYWxscm93PSJ0bXByb3dzIiBmaWx0ZXJfaXRlbUlkX2luPSJ7JHRtcHJlc30ie2xpdGVyYWx9fXsvbGl0ZXJhbH17L2NhcHR1cmV9DQp7L2lmfQ0Ke2lmIGlzc2V0KCR0bXBtb2R1bGUpfSAgICAgICAgDQogICAge2V2YWwgdmFyPSR0bXBtb2R1bGV9DQp7L2lmfQ0Ke2lmICR0bXByb3dzfQ0KICAgIHtmb3JlYWNoIGZyb209JHRtcHJvd3MgaXRlbT0ndG1wcm93JyBuYW1lPSJtb2R1bGUifQ0KICAgIHskdG1wcm93LT50aXRsZX17aWYgJHNtYXJ0eS5mb3JlYWNoLm1vZHVsZS5sYXN0PT1mYWxzZX0sey9pZn0NCnsvZm9yZWFjaH0NCnsvaWZ9DQp7YXNzaWduIHZhcj0idG1wcm93cyIgdmFsdWU9IiJ9DQp7YXNzaWduIHZhcj0idG1wbW9kdWxlIiB2YWx1ZT0iIn0NCntlbHNlaWYgaXNzZXQoJGZpZWxkX2ltYWdlcy4kZmlkKSAmJiAkdG1wcmVzfQ0Ke2NhcHR1cmUgYXNzaWduPSJzcmMifXskZW50cnktPmZpbGVfbG9jYXRpb259L3skdG1wcmVzfXsvY2FwdHVyZX0NCntjYXB0dXJlIGFzc2lnbj0ic3JjcGF0aCJ9eyRlbnRyeS0+ZmlsZXBhdGhfbG9jYXRpb259L3skdG1wcmVzfXsvY2FwdHVyZX0NCntpZiAkc3JjcGF0aHxAZ2V0aW1hZ2VzaXplfQ0KICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGggIGZpbHRlcl9yZXNpemU9ImgsNTAiIHN0eWxlPSJtYXJnaW46NXB4IDA7In0gICAgDQp7ZWxzZX0NCiAgICA8YSBocmVmPSJ7JGVudHJ5LT5maWxlX2xvY2F0aW9ufS97JHRtcHJlc30iPnskdG1wcmVzfTwvYT4NCnsvaWZ9DQp7ZWxzZX0NCiAgICB7JHRtcHJlc30NCnsvaWZ9DQo8L3RkPg0Key9mb3JlYWNofQ0Key9pZn0NCg0KPHRkPnskZW50cnktPmFwcHJvdmV9PC90ZD4NCg0KPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+DQo8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPg0KPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9Im11bHRpc2VsZWN0IiBuYW1lPSJ7JG9sZGFjdGlvbmlkfW11bHRpc2VsZWN0W10iIHZhbHVlPSJ7JGVudHJ5LT5pdGVtX2lkfSI+PC90ZD4NCjwvdHI+DQp7L2ZvcmVhY2h9DQo8L3Rib2R5Pg0KPC90YWJsZT4NCg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPjwvZGl2Pg0Ke2lmICRpdGVtY291bnQgZ3QgMH0NCiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDQwJTsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tdG9wOiAwLjVlbTsiPg0KICAgICAgICB7JG1vZHVsZS0+TGFuZygnd2l0aF9zZWxlY3RlZCcpfToNCiAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JG9sZGFjdGlvbmlkfWJ1bGthY3Rpb24iPntodG1sX29wdGlvbnMgb3B0aW9ucz0kYnVsa2FjdGlvbnN9PC9zZWxlY3Q+DQogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJidWxrYWN0aW9uX3N1Ym1pdCIgbmFtZT0ieyRvbGRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZHVsZS0+TGFuZygnZ28nKX0iLz4NCiAgICA8L2Rpdj4NCnsvaWZ9DQp7JGZvcm1lbmQyfTwvZGl2Pg0Key9pZn0NCg0Ke2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ21vZGUnKSA9PSAic2ltcGxlIn0NCiAgICANCiAgICA8ZGl2IGlkPSJzb3J0X2l0ZW1zIj57JG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0KCRvbGRhY3Rpb25pZCwgJ2FkbWluX21vdmVpdGVtJyl9DQogICAgICAgIDxpbnB1dCBpZD0ic2VyaWFsZGF0YSIgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JG9sZGFjdGlvbmlkfXNlcmlhbGRhdGEiIHZhbHVlPSIiLz4NCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJzYXZlX2l0ZW1zIiB0eXBlPSJzdWJtaXQiIG5hbWU9Inskb2xkYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2R1bGUtPkxhbmcoJ3NhdmVfb3JkZXInKX0iLz4NCiAgICAgICAgICAgIDwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIHskbW9kdWxlLT5DcmVhdGVGb3JtRW5kKCl9PC9kaXY+DQp7L2lmfQ0KDQoNCjxiciBzdHlsZT0iY2xlYXI6Ym90aCIgLz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/modetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQoNCntsaXRlcmFsfQ0KICAgIDxzY3JpcHQgdHlsZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KICAgICQoIiNhZHZhbmNlZCwjc2ltcGxlIikuaGlkZSgpOw0KICAgICQoIiMiKyQoIiNtb2RlIHNlbGVjdCIpLnZhbCgpKS5mYWRlSW4oKTs7DQoNCiAgICAkKCIjbW9kZSBzZWxlY3QiKS5jaGFuZ2UoZnVuY3Rpb24oKXsNCiAgICAkKCIjYWR2YW5jZWQsI3NpbXBsZSIpLmhpZGUoKTsNCiAgICAkKCIjIiskKHRoaXMpLnZhbCgpKS5mYWRlSW4oKTs7DQogICAgfSkNCiAgICB9KQ0KICAgIDwvc2NyaXB0Pg0Key9saXRlcmFsfQ0KDQp7JHN0YXJ0Zm9ybX0NCg0KPGZpZWxkc2V0Pg0KICAgIDxoMz57JHByb21wdF9tb2RlfTwvaDM+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCIgaWQ9Im1vZGUiPnskaW5wdXRfbW9kZX08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0iYWR2YW5jZWQiPg0KICAgICAgICA8cD57JG1vZC0+TGFuZygnYWR2YW5jZWRfbW9kZV9pbmZvJyl9PC9wPg0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zdW1tYXJ5X3NvcnRpbmd9OjwvcD4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc3VtbWFyeV9zb3J0aW5nX2FkdmFuY2VkfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyfTo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlfc29ydG9yZGVyX2FkdmFuY2VkfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfcGFnZWxpbWl0fTo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlfcGFnZWxpbWl0X2FkdmFuY2VkfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0ic2ltcGxlIj4NCiAgICAgICAgPHA+eyRtb2QtPkxhbmcoJ3NpbXBsZV9tb2RlX2luZm8nKX08L3A+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfc29ydGluZ306PC9wPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5X3NvcnRpbmdfc2ltcGxlfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyfTo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlfc29ydG9yZGVyX3NpbXBsZX08L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdH06PC9wPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5X3BhZ2VsaW1pdF9zaW1wbGV9PC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyR0bXBhY3Rpb25pZH10YWIiIHZhbHVlPSJtb2RlIiAvPg0KPC9maWVsZHNldD4JDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4NCjwvZGl2PiAgICANCnskZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/optioneditingtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQp7JHN0YXJ0Zm9ybX0NCjxmaWVsZHNldD4NCiAgICA8aDM+eyRtb2QtPkxhbmcoJ2l0ZW1zJyl9PC9oMz4NCg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NvcHlfYWRtaW4nKX06IDwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jb3B5X2FkbWlufSAqeyRtb2QtPkxhbmcoJ25vdGUnKX06IHskbW9kLT5MYW5nKCdjb3B5X2FkbWluX2luZm8nKX08L3A+DQogICAgPC9kaXY+DQoNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcmV2aWV3X2FkbWluJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wcmV2aWV3X2FkbWlufTwvcD4NCiAgICA8L2Rpdj4NCjwvZmllbGRzZXQ+DQo8ZmllbGRzZXQ+DQogICAgPGgzPnskbW9kLT5MYW5nKCdnYWxsZXJ5Jyl9PC9oMz4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdoYXNfZ2FsbGVyeScpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGFzX2dhbGxlcnl9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2dhbGxlcnlfc29ydG9yZGVyJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9nYWxsZXJ5X3NvcnRvcmRlcn08L3A+DQogICAgPC9kaXY+DQo8L2ZpZWxkc2V0Pg0KDQo8ZmllbGRzZXQ+DQogICAgPGgzPnskbW9kLT5MYW5nKCdlZGl0aW5nJyl9PC9oMz4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fdGl0bGVfZWRpdH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fdGl0bGVfZWRpdH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pdGVtX2FsaWFzX2VkaXR9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX2FsaWFzX2VkaXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV91cmxfZWRpdH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fdXJsX2VkaXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV9jYXRlZ29yeV9lZGl0fTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV9jYXRlZ29yeV9lZGl0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fZGF0ZV9lZGl0fTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV9kYXRlX2VkaXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcmVjdXJzaXZlfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVjdXJzaXZlfTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fZGF0ZV9lbmRfZWRpdH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9maWx0ZXJfZGF0ZX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbHRlcl9kYXRlfTwvcD4NCiAgICA8L2Rpdj4gICANCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JHRtcGFjdGlvbmlkfXRhYiIgdmFsdWU9Im9wdGlvbmVkaXRpbmd0YWIiIC8+DQo8L2ZpZWxkc2V0Pg0KPGJyIC8+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4NCjwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/optionsearchtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQp7JHN0YXJ0Zm9ybX0NCg0KPGgzPnskbW9kLT5MYW5nKCdzZWFyY2gnKX08L2gzPg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3NlYXJjaGFibGV9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NlYXJjaGFibGV9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc2VhcmNoX2RhdGVfZW5kfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zZWFyY2hfZGF0ZV9lbmR9PC9wPg0KPC9kaXY+DQp7aWYgJHNlYXJjaGFibGV9DQogICAgPGZpZWxkc2V0Pg0KICAgICAgICA8aDM+eyRtb2QtPkxhbmcoJ3JlaW5kZXgnKX08L2gzPg0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0ieyRzZWFyY2hhYmxlX2xpbmt9Ij57JG1vZC0+TGFuZygnc3RhcnQnKX08L2E+DQogICAgICAgICAgICA8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZmllbGRzZXQ+DQp7L2lmfQ0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyR0bXBhY3Rpb25pZH10YWIiIHZhbHVlPSJvcHRpb25zZWFyY2h0YWIiIC8+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4NCjwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQp7JHN0YXJ0Zm9ybX0NCjxmaWVsZHNldD4NCiAgICA8aDM+eyRtb2QtPkxhbmcoJ2dsb2JhbCcpfTwvaDM+DQoNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3VybF9wcmVmaXh9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91cmxfcHJlZml4fTwvcD4NCiAgICA8L2Rpdj4NCiAgICB7KjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9kZWZhdWx0X2FjdGlvbl9wYXJhbXN9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2RlZmF1bHRfYWN0aW9uX3BhcmFtc30NCiAgICA8c3Bhbj57JG1vZC0+TGFuZygnZXhhbXBsZScpfTogbm9jYWNoZT0xLGFub3RoZXJwYXJhbT12YWx1ZTwvc3Bhbj4NCiAgICA8L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2RldGFpbF9hY3Rpb25fcGFyYW1zfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXRhaWxfYWN0aW9uX3BhcmFtc30NCiAgICA8c3Bhbj57JG1vZC0+TGFuZygnZXhhbXBsZScpfTogbm9jYWNoZT0xLGFub3RoZXJwYXJhbT12YWx1ZTwvc3Bhbj4NCg0KICAgIDwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGl0bGVfcGFyYW1fZm9yX2NhY2hlfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90aXRsZV9wYXJhbV9mb3JfY2FjaGV9PC9wPg0KICAgIDwvZGl2Pip9DQoNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fZGV0YWlsX3JldHVybmlkfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV9kZXRhaWxfcmV0dXJuaWR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV9jYXRlZ29yeV9yZXR1cm5pZH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZGlzcGxheV9pbmxpbmV9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kaXNwbGF5X2lubGluZX08L3A+DQogICAgPC9kaXY+DQo8L2ZpZWxkc2V0Pg0KPGZpZWxkc2V0Pg0KICAgIDxoMz57JG1vZC0+TGFuZygnYWRtaW5fYXJlYScpfTwvaDM+DQoNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2hhc19hZG1pbn06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2hhc19hZG1pbn08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnaW1hZ2VzX3NpemVfYWRtaW4nKX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9InskbW9kLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXNfc2l6ZV9hZG1pbicpfSIgbmFtZT0ieyRhY3Rpb25pZH1pbWFnZXNfc2l6ZV9hZG1pbiIgLz4NCiAgICAgICAgICAgIDxzcGFuPiAqeyRtb2QtPkxhbmcoJ2ltYWdlX3NpemVfYWRtaW5faW5mbycpfTwvc3Bhbj4NCiAgICAgICAgPC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZnJpZW5kbHluYW1lfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZnJpZW5kbHluYW1lfTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fdGl0bGV9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX3RpdGxlfTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fc2luZ3VsYXJ9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX3Npbmd1bGFyfTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fcGx1cmFsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV9wbHVyYWx9PC9wPg0KICAgIDwvZGl2Pg0KDQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91c2VyZ3JvdXBfZGVwZW5kZW5jZX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VzZXJncm91cF9kZXBlbmRlbmNlfSAqeyR0bXBtb2QtPkxhbmcoJ2luZm9fdXNlcmdyb3VwX2RlcGVuZGVuY2UnKX08L3A+DQogICAgPC9kaXY+DQoNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2N1c3RvbV9maWVsZHNfZGVmYXVsdH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21fZmllbGRzX2RlZmF1bHRbXSIgc2l6ZT0iNiIgbXVsdGlwbGU9Im11bHRpcGxlIj4NCiAgICAgICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkc192aWV3YWJsZSBzZWxlY3RlZD0kY3VzdG9tX2ZpZWxkc19kZWZhdWx0fQ0KICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgIDwvcD4NCiAgICA8L2Rpdj4NCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JHRtcGFjdGlvbmlkfXRhYiIgdmFsdWU9Im9wdGlvbnRhYiIgLz4NCjwvZmllbGRzZXQ+ICAgICAgICAgICAgDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4NCjwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/ordercategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZWNvbnRhaW5lciI+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgogICAgICAgIHtsaXRlcmFsfQogICAgZnVuY3Rpb24gcGFyc2VUcmVlKHVsKXsKICAgICAgICAgICAgdmFyIHRhZ3MgPSBbXTsKICAgICAgICAgICAgdWwuY2hpbGRyZW4oImxpIikuZWFjaChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgIHZhciBzdWJ0cmVlID0JJCh0aGlzKS5jaGlsZHJlbigidWwiKTsKICAgICAgICAgICAgICAgICAgICBpZihzdWJ0cmVlLnNpemUoKSA+IDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzLnB1c2goWyQodGhpcykuYXR0cigiaWQiKSwgcGFyc2VUcmVlKHN1YnRyZWUpXSk7CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFncy5wdXNoKCQodGhpcykuYXR0cigiaWQiKSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gdGFnczsKICAgIH0KCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoKICAgIHZhciBhamF4X3VybCA9ICQoJ2Zvcm0nKS5hdHRyKCdhY3Rpb24nKSsiPyI7CiAgICAkKCdmb3JtIGlucHV0OmhpZGRlbixmb3JtIGlucHV0OnRleHQsZm9ybSBpbnB1dDpzdWJtaXQ6Zmlyc3QnKS5lYWNoKGZ1bmN0aW9uKCl7CiAgICBhamF4X3VybCs9IiYiKyQodGhpcykuYXR0cignbmFtZScpKyI9IiskKHRoaXMpLmF0dHIoJ3ZhbHVlJyk7CiAgICB9KQoKICAgICQoJ3VsLnNvcnRhYmxlJykubmVzdGVkU29ydGFibGUoewkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlTmVzdGluZzogJ25vLW5lc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0VHlwZTogJ3VsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZVBsYWNlaG9sZGVyU2l6ZTogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU6ICdkaXYnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAnbGknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYlNpemU6IDI1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvbGVyYW5jZTogJ3BvaW50ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvbGVyYW5jZUVsZW1lbnQ6ICc+IGRpdicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgIAogICAgJCgiLnJlb3JkZXItcGFnZXMgZm9ybSIpLnN1Ym1pdChmdW5jdGlvbigpewogICAgICAgIHZhciB0cmVlID0gJC50b0pTT04ocGFyc2VUcmVlKCQoJ3VsLnNvcnRhYmxlJykpKTsKICAgICAgICB2YXIgYWpheF9yZXMgPSBmYWxzZTsKICAgICAgICAkLmFqYXgoewogICAgICAgICAgdHlwZTogJ1BPU1QnLAogICAgICAgICAgdXJsOiAgYWpheF91cmwsCiAgICAgICAgICBkYXRhOiB7ZGF0YTogdHJlZX0sCiAgICAgICAgICBjYWNoZTogZmFsc2UsCiAgICAgICAgICBhc3luYzogZmFsc2UsCiAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKICAgICAgICAgICAgIGFqYXhfcmVzID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gYWpheF9yZXM7CiAgICB9KTsvL2VuZCBzYXZlCgogICAgfSk7Ly9lbmQgcmVhZHkKICAgICAgICB7L2xpdGVyYWx9CiAgICA8L3NjcmlwdD4KICAgIDxkaXYgY2xhc3M9InJlb3JkZXItcGFnZXMiPgogICAgeyRzdGFydGZvcm19CiAgICAgICAgPHVsIGNsYXNzPSJzb3J0YWJsZUxpc3Qgc29ydGFibGUiPgoKICAgICAgICAgICAge2lmICRpdGVtY291bnQgPiAwfQogICAgICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeSBuYW1lPSJjYXRlZ29yeWxpc3QifQoKICAgICAgICAgICAgICAgICAgICB7YXNzaWduIHZhcj0iaGllcmFyY2h5Y291bnQiIHZhbHVlPSIuInxleHBsb2RlOiRoaWVyYXJjaHl9CiAgICAgICAgICAgICAgICAgICAge2Fzc2lnbiB2YXI9ImhpZXJhcmNoeWN1cnJlbnRjb3VudCIgdmFsdWU9Ii4ifGV4cGxvZGU6JGVudHJ5LT5oaWVyYXJjaHlfcG9zaXRpb259CiAgICAgICAgICAgICAgICAgICAge2lmICRzbWFydHkuZm9yZWFjaC5jYXRlZ29yeWxpc3QuZmlyc3Q9PWZhbHNlICYmICRwYXJlbnRfaWQhPSRlbnRyeS0+cGFyZW50X2lkICYmICRoaWVyYXJjaHljb3VudHxAY291bnQgPD0gICRoaWVyYXJjaHljdXJyZW50Y291bnR8QGNvdW50fQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjx1bD4KICAgICAgICAgICAgICAgICAgICAgICAge2Vsc2VpZiAkc21hcnR5LmZvcmVhY2guY2F0ZWdvcnlsaXN0LmZpcnN0PT1mYWxzZSAmJiAkcGFyZW50X2lkIT0kZW50cnktPnBhcmVudF9pZH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHttYXRoIGVxdWF0aW9uPSJ4IC0geSIgeD0kaGllcmFyY2h5Y291bnR8QGNvdW50IHk9JGhpZXJhcmNoeWN1cnJlbnRjb3VudHxAY291bnQgYXNzaWduPSJkZXB0aCJ9CiAgICAgICAgICAgICAgICAgICAgICAgIHtyZXBlYXQgc3RyaW5nPSI8L2xpPjwvdWw+IiB0aW1lcz0kZGVwdGh9e2Vsc2V9PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgey9pZn0KCgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImNhdGVnb3J5X3skZW50cnktPmNhdGVnb3J5X2lkfSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCI+PHNwYW4+Jm5ic3A7PC9zcGFuPnskZW50cnktPmNhdGVnb3J5X2lkfTombmJzcDt7JGVudHJ5LT5jYXRlZ29yeV9uYW1lfTxlbT57JGVudHJ5LT5oaWVyYXJjaHl9PC9lbT48L2Rpdj4KCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthc3NpZ24gdmFyPSJoaWVyYXJjaHkiIHZhbHVlPSRlbnRyeS0+aGllcmFyY2h5X3Bvc2l0aW9ufQogICAgICAgICAgICAgICAgICAgICAgICAgICAge2Fzc2lnbiB2YXI9InBhcmVudF9pZCIgdmFsdWU9JGVudHJ5LT5wYXJlbnRfaWR9CiAgICAgICAgICAgICAgICAgICAgICAgIHsvZm9yZWFjaH0KICAgICAgICAgICAgICAgICAgICB7L2lmfQoKICAgICAgICAgICAgPC91bD4KCiAgICA8ZGl2IGNsYXNzPSJwYWdvZXZlcmZsb3ciPgogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiBjbGFzcz0iYnV0dG9uIHNhdmUiIHZhbHVlPSJ7J3N1Ym1pdCd8bGFuZ30iLz4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InsnY2FuY2VsJ3xsYW5nfSIvPgogICAgPC9kaXY+CiAgICB7JGVuZGZvcm19CiAgICA8L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_category_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRjb3VudCA+IDB9DQo8dWw+DQp7Zm9yZWFjaCBmcm9tPSRjYXRzIGl0ZW09bm9kZX0NCntpZiAkbm9kZS5kZXB0aCA+ICRub2RlLnByZXZkZXB0aH0NCntyZXBlYXQgc3RyaW5nPSI8dWw+IiB0aW1lcz0kbm9kZS5kZXB0aC0kbm9kZS5wcmV2ZGVwdGh9DQp7ZWxzZWlmICRub2RlLmRlcHRoIDwgJG5vZGUucHJldmRlcHRofQ0Ke3JlcGVhdCBzdHJpbmc9IjwvbGk+PC91bD4iIHRpbWVzPSRub2RlLnByZXZkZXB0aC0kbm9kZS5kZXB0aH0NCjwvbGk+DQp7ZWxzZWlmICRub2RlLmluZGV4ID4gMH08L2xpPg0Key9pZn0NCjxsaT4NCntpZiAkbm9kZS5jb3VudCA+IDB9DQoJPGEgaHJlZj0ieyRub2RlLnVybH0iPnskbm9kZS5jYXRlZ29yeV9uYW1lfTwvYT4gKHskbm9kZS5jb3VudH0pe2Vsc2V9PHNwYW4+eyRub2RlLmNhdGVnb3J5X25hbWV9ICgwKTwvc3Bhbj57L2lmfQ0Key9mb3JlYWNofQ0Ke3JlcGVhdCBzdHJpbmc9IjwvbGk+PC91bD4iIHRpbWVzPSRub2RlLmRlcHRoLTF9PC9saT4NCjwvdWw+DQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0iaXRlbSI+DQo8aDIgY2xhc3M9Iml0ZW0tdGl0bGUiPnskaXRlbS0+dGl0bGV8Y21zX2VzY2FwZX08L2gyPg0KPGRpdiBjbGFzcz0iaXRlbS1jYXRlZ29yeSI+Q2F0ZWdvcnk6IHskaXRlbS0+Y2F0ZWdvcnlfbmFtZXxjbXNfZXNjYXBlfTwvZGl2Pg0Ke2lmICFlbXB0eSgkaXRlbS0+ZmllbGRkZWZzKX0NCiAgICA8ZGl2IGNsYXNzPSJpdGVtLXByb3BlcnRpZXMiPg0KICAgIHtmb3JlYWNoIGZyb209JGl0ZW0tPmZpZWxkZGVmcyBpdGVtPWZpZWxkZGVmfQ0KICAgICAgICB7aWYgJGZpZWxkZGVmLnR5cGUgPT0gJ3VwbG9hZF9maWxlJyB8fCAkZmllbGRkZWYudHlwZSA9PSAnc2VsZWN0X2ZpbGUnfQ0KICAgICAgICAgICAgeyRmaWVsZGRlZi5uYW1lfGNtc19lc2NhcGV9OiA8YSBocmVmPSJ7JGZpZWxkZGVmLmRpcnxjbXNfZXNjYXBlfS97JGZpZWxkZGVmLnZhbHVlfGNtc19lc2NhcGV9Ij57JGZpZWxkZGVmLnZhbHVlfGNtc19lc2NhcGV9PC9hPjxiciAvPg0KICAgICAgICB7ZWxzZX0NCiAgICAgICAgICAgIHskZmllbGRkZWYubmFtZXxjbXNfZXNjYXBlfTogeyRmaWVsZGRlZi52YWx1ZXxjbXNfZXNjYXBlfTxiciAvPg0KICAgICAgICB7L2lmfQ0KICAgIHsvZm9yZWFjaH0NCiAgICA8L2Rpdj4NCnsvaWZ9DQo8L2Rpdj48IS0tIGl0ZW0gLS0+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_filter_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0iZmlsdGVyIj4gICAgICAgICAgICAgICAgICAgIA0KICAgIHskZm9ybXN0YXJ0fQ0KICAgIDxmaWVsZHNldD4NCiAgICAgICAgICAge2lmIGlzc2V0KCRjdXN0b21fZmllbGRkZWYpfQ0KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRjdXN0b21fZmllbGRkZWYgaXRlbT0nZmllbGQnfQ0KICAgICAgICAgICAge2lmICRmaWVsZC0+ZmllbGR9DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkLT5wcm9tcHR9OjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgICAgICAgICAgICAgIHtpZiAhZW1wdHkoJGZpZWxkLT5oZWxwKX0oeyRmaWVsZC0+aGVscH0pPGJyIC8+ey9pZn0NCiAgICAgICAgICAgICAgICAgICAgeyRmaWVsZC0+ZmllbGR9DQogICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZmllbGQtPmZpbGVuYW1lKX08YnIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgeyRmaWVsZC0+ZGVsZXRlX2ZpbGV9IHskZmllbGQtPmZpbGVuYW1lfTxiciAvPg0KICAgICAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgIHtlbHNlfQ0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH08L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgey9pZn0NCiAgICB7L2ZvcmVhY2h9DQogICAgey9pZn0NCiAgICA8L2ZpZWxkc2V0Pg0KICAgIHskaW5wdXRfc3VibWl0fQ0KICAgIHskZm9ybWVuZH0NCiAgICAgICANCjwvZGl2Pg0KDQp7aWYgaXNzZXQoJHJlc3VsdHMpfQ0KeyRyZXN1bHRzfQ0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtfQ0KPGgyPnskaXRlbS0+dGl0bGV8Y21zX2VzY2FwZX08L2gyPg0KPHA+eyRpdGVtLT5pdGVtX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4NCntpZiAkaXRlbS0+Y2F0ZWdvcnlfbmFtZX08cD57JGl0ZW0tPmNhdGVnb3J5X25hbWV8Y21zX2VzY2FwZX08cD57L2lmfQ0Ke2lmICFlbXB0eSgkaXRlbS0+ZmllbGRzKX0NCiAgICA8ZGl2IGNsYXNzPSJpdGVtLXByb3BlcnRpZXMiPg0KICAgIHtmb3JlYWNoIGZyb209JGl0ZW0tPmZpZWxkcyBpdGVtPWZpZWxkZGVmfQ0KICAgICAgICB7aWYgJGZpZWxkZGVmLnR5cGUgPT0gJ3VwbG9hZF9maWxlJyB8fCAkZmllbGRkZWYudHlwZSA9PSAnc2VsZWN0X2ZpbGUnfQ0KICAgICAgICAgICAgeyRmaWVsZGRlZi5uYW1lfGNtc19lc2NhcGV9OiA8YSBocmVmPSJ7JGZpZWxkZGVmLmRpcnxjbXNfZXNjYXBlfS97JGZpZWxkZGVmLnZhbHVlfGNtc19lc2NhcGV9Ij57JGZpZWxkZGVmLnZhbHVlfGNtc19lc2NhcGV9PC9hPjxiciAvPg0KICAgICAgICB7ZWxzZX0NCiAgICAgICAgICAgIHskZmllbGRkZWYubmFtZXxjbXNfZXNjYXBlfTogeyRmaWVsZGRlZi52YWx1ZX08YnIgLz4NCiAgICAgICAgey9pZn0NCiAgICB7L2ZvcmVhY2h9DQogICAgPC9kaXY+DQp7L2lmfQ0KPGEgaHJlZj0ieyRpdGVtLT5saW5rfSI+eyRpdGVtLT5saW5rfTwvYT4NCnsvZm9yZWFjaH0NCg0Ke2lmIGlzc2V0KCRwYWdlY291bnQpICYmICRwYWdlY291bnQgZ3QgMX0NCjxwPg0KICAgICAgICB7aWYgJHByZXZ1cmx9PGEgaHJlZj0ieyRwcmV2dXJsfSIgY2xhc3M9InByZXYiPsKrPC9hPiZuYnNwO3svaWZ9DQogICAgICAgIDxlbT57JHBhZ2VudW1iZXJ9IC8geyRwYWdlY291bnR9PC9lbT4NCiAgICAgICAge2lmICRuZXh0dXJsfTxhIGhyZWY9InskbmV4dHVybH0iIGNsYXNzPSJuZXh0Ij7CuzwvYT4mbmJzcDt7L2lmfQ0KICAgIDwvcD4NCnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/templatetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/e2lmICRpdGVtY291bnQgPiAwfQ0KPGgzPnskc3VtbWFyeXRlbXBsYXRlc308L2gzPg0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCiAgICA8dGhlYWQ+DQogICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0aD57JGhlYWRlcl9uYW1lfTwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgPC90cj4NCiAgICA8L3RoZWFkPg0KICAgIDx0Ym9keT4NCntmb3JlYWNoIGZyb209JGl0ZW1zLnN1bW1hcnkgaXRlbT1lbnRyeX0NCiAgICAgICAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5saW5rfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZWRpdH08L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnktPmRlbGV0ZX08L3RkPg0KICAgICAgICA8L3RyPg0Key9mb3JlYWNofQ0KICAgIDwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0NCg0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkc3VtbWFyeWxpbmt9PC9kaXY+DQoNCg0Ke2lmICRpdGVtY291bnQgPiAwfQ0KPGgzPnskZGV0YWlsdGVtcGxhdGVzfTwvaDM+DQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPg0KICAgIDx0aGVhZD4NCiAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRoPnskaGVhZGVyX25hbWV9PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICA8L3RyPg0KICAgIDwvdGhlYWQ+DQogICAgPHRib2R5Pg0Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMuZGV0YWlsIGl0ZW09ZW50cnl9DQogICAgICAgIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS0+bGlua308L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnktPmVkaXR9PC90ZD4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5kZWxldGV9PC90ZD4NCiAgICAgICAgPC90cj4NCnsvZm9yZWFjaH0NCiAgICA8L3Rib2R5Pg0KPC90YWJsZT4NCnsvaWZ9DQoNCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGRldGFpbGxpbmt9PC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/editmodule.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19IA0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8ZGl2IGNsYXNzPSJwYWdldGV4dCI+DQo8aDM+eyRtb2R1bGVuYW1lfTwvaDM+DQp7JG1vZC0+TGFuZygnYXR0YWNoJyl9OjwvZGl2Pg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KCXskYXR0YWNofQ0KICAgIDwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4NCjwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/generator.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiPg0KICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4NCiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2F0dGFjaCcpfTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdjcmVhdGVkYXRlJyl9PC90aD4NCiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ21vZGlmaWVkZGF0ZScpfTwvdGg+DQoNCiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8L3RyPg0KICAgICAgICA8L3RoZWFkPg0KICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICB7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQ0KICAgICAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9DQogICAgICAgICAgICAgICAgeyo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPip9DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aWR9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZW50cnktPm1vZHVsZWxpbmspICYmICRlbnRyeS0+bW9kdWxlbGlua317JGVudHJ5LT5tb2R1bGVsaW5rfXtlbHNlfTxzdHJvbmc+eyRlbnRyeS0+bW9kdWxlX25hbWV9PC9zdHJvbmc+ey9pZn0NCiAgICAgICAgICAgIDwvdGQ+DQoNCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmF0dGFjaG1vZHVsZXN9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmNyZWF0ZV9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+bW9kaWZpZWRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5yZWdlbmVyYXRlbGlua308L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+e2lmIGlzc2V0KCRlbnRyeS0+bW9kdWxlbGluaykgJiYgJGVudHJ5LT5tb2R1bGVsaW5rfXtlbHNlfXskZW50cnktPmRlbGV0ZWxpbmt9ey9pZn08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGVudHJ5LT5pbnN0YWxsbGluayl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyRlbnRyeS0+aW5zdGFsbGxpbmt9DQogICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmIGlzc2V0KCRlbnRyeS0+dW5pbnN0YWxsbGluayl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyRlbnRyeS0+dW5pbnN0YWxsbGlua30NCiAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIHsvZm9yZWFjaH0NCiAgICAgICAgPC90Ym9keT4NCiAgICA8L3RhYmxlPg0Key9pZn0gDQo=]]></data>
	</file>
	<file>
	  <filename>/templates/generator_new.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQoNCnskc3RhcnRmb3JtfSANCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPGgzIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NyZWF0ZV9tb2R1bGUnKX08L2gzPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ25hbWUnKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KCXskbmFtZX0NCiAgICA8L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXR0YWNoJyl9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCgl7JGF0dGFjaH0NCiAgICA8L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+DQo8L2Rpdj4NCg0KeyRlbmRmb3JtfQ0K]]></data>
	</file>
</module>
